[go: up one dir, main page]

CN112235210A - A method and device for data communication of multi-domain controller virtual machine based on in-vehicle Ethernet - Google Patents

A method and device for data communication of multi-domain controller virtual machine based on in-vehicle Ethernet Download PDF

Info

Publication number
CN112235210A
CN112235210A CN202010877738.1A CN202010877738A CN112235210A CN 112235210 A CN112235210 A CN 112235210A CN 202010877738 A CN202010877738 A CN 202010877738A CN 112235210 A CN112235210 A CN 112235210A
Authority
CN
China
Prior art keywords
virtual machine
data
shared memory
domain
domain controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010877738.1A
Other languages
Chinese (zh)
Other versions
CN112235210B (en
Inventor
肖文平
何敖东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heqian Automotive Technology (Shenzhen) Co.,Ltd.
Original Assignee
Shanghai Hinge Electronic Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Hinge Electronic Technologies Co Ltd filed Critical Shanghai Hinge Electronic Technologies Co Ltd
Priority to CN202010877738.1A priority Critical patent/CN112235210B/en
Publication of CN112235210A publication Critical patent/CN112235210A/en
Application granted granted Critical
Publication of CN112235210B publication Critical patent/CN112235210B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

The invention provides a data communication method and a device of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet, which comprises the following steps: the system comprises a first multi-domain controller and a second multi-domain controller, wherein the multi-domain controller comprises a hardware platform and a virtual machine manager positioned on the hardware platform, and a virtual machine runs on the virtual machine manager; the method comprises the following steps that a first multi-domain controller obtains data from a chassis domain and a power domain and analyzes and processes the data through a plurality of virtual machines; the second multi-domain controller obtains data from an intelligent driving domain, an information entertainment domain and a vehicle body domain, and carries out analysis processing through a plurality of virtual machines, and the virtual machines on the multi-domain controller communicate in a shared memory mode of a dynamic adjustable storage space. The invention has the advantages of independent operation and safe isolation of data between domains, efficiency improvement and cost reduction.

Description

Multi-domain controller virtual machine data communication method and device based on vehicle-mounted Ethernet
Technical Field
The invention relates to the field of automobiles, in particular to a data communication method and a data communication device for multiple virtual machines under a multi-domain controller of a vehicle-mounted Ethernet.
Background
With the increasing functional demands of automobiles on comfort, informatization and intelligence, Electronic and Electrical systems of automobiles become more and more complex and huge, and Electronic and Electrical Architectures (EEAs) are in force. Meanwhile, the continuous development of the automobile electronic and electrical technology puts forward the requirements on EEA development such as platformization, modularization, evaluation, modification and the like. At present, the network architecture of the automobile is still based on a distributed architecture scheme mainly based on CAN bus communication, under the architecture, functional characteristics are distributed to functional modules of a plurality of ECUs, and a large number of ECUs CAN work in a mutual cooperation mode to meet various functional requirements of a driver. However, as the electronic and electrical functions of the automobile become more and more complex and the requirements of customers are greatly improved, the distributed architecture scheme only becomes more and more complex, and a large amount of functional interaction may cause functional coupling and fault coupling. With the application of domain distribution, cloud computing and big data, compared with a distributed architecture scheme, a centralized architecture scheme integrates a plurality of functional modules into a domain controller, the scheme of the current mature domain system is to divide the whole automobile into five functional domains, namely a power assembly domain, a chassis domain, a body domain, an infotainment domain and an auxiliary/automatic driving domain, the middle-layer computing and controlling comprises seven elements of main control, Ethernet communication and wireless communication of the five domains, for example, although the system logics are mutually independent from a plurality of domains, the realization of control logics is convenient and fast, meanwhile, the function management is convenient, for example, the construction of safety level, the design of communication method and the like, but if the plurality of domains greatly increase the cost, because the domain controller is newly added cost, under the premise that the cost is reduced because of the standardized actuators and sensor controllers at the bottom layer are not standardized through standardization, the material cost of the whole vehicle electronic and electric system is increased, and the scheme is difficult to popularize in all whole vehicle enterprises at the present stage. How to reduce the cost and simultaneously give consideration to the management of safety, high efficiency and reliability becomes the challenge of domain controller research and development in the prior art, some solutions exist in the prior art, namely different domains are fused, but because different domains have different characteristics, how to make the problem of domain fusion such as automobile reliability, real-time performance, safety and data communication become a great challenge of automobile domain fusion.
In addition, how to safely and efficiently share data among the ECUs with more automobiles is still a major problem facing the use of the central computing platform. At present, although some data sharing technologies for solving multiple virtual machines exist, for example, patent CN200910080933.5, which provides a method for sharing a memory between a computer and an operating system, and a method for sharing a memory is adopted for data communication between users on the system, the method only provides address mapping of the technology, and has the problem of how to transmit and integrity user data, and cannot be applied to a vehicle-mounted central computing platform. CN 109684042a provides a method for dynamic adjustment of virtual machine memory in a virtualization platform, wherein the adjustment relates to memory adjustment of allocation among virtual machines, and is not shared memory adjustment among virtual machines. Memory allocation adjustment between virtual machines is more convenient due to the limited number of virtual machines involved and the simplicity of scheduling. However, since the shared memory between the virtual machines relates to data communication between the multiple virtual machines and each virtual machine has several processes, the transient data processing capacity and frequency of each process are different, and it is obvious that the requirement cannot be met by simply allocating the remaining memory. Such as patents CN103838633A, CN 109684042A, CN 106598697a, etc., still cannot solve the problem.
Based on the defects of the prior art, the invention provides a method for data communication between virtual machines after better domain control fusion.
Disclosure of Invention
In order to solve the technical defects in the prior art, the invention provides a data communication method for a multi-domain controller virtual machine based on a vehicle-mounted Ethernet, which comprises the following steps: the system comprises a first multi-domain controller and a second multi-domain controller, wherein the first multi-domain controller is connected with the second multi-domain controller through a vehicle-mounted Ethernet gateway; the multi-domain controller comprises a hardware platform and a virtual machine manager positioned on the hardware platform, wherein the virtual machine runs on the virtual machine manager;
the communication among a plurality of virtual machines in the same multi-domain controller at least comprises a shared memory, and the size of the space of the shared memory is dynamically adjusted according to the workload or the requirement of a process or a thread running in the virtual machine;
when a virtual machine of a sender sends a data packet to a virtual machine of a receiver in a shared memory mode, loading a dynamic variable priority through a priority layer, and sending the data packet to a created shared memory channel after encapsulation processing is carried out through a transmission layer; the memory blocks of the shared memory channel adopt a circular link list and are controlled and managed through unit data of shared memory management.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that a first multi-domain controller obtains data from a chassis domain and a power domain and analyzes and processes the data through a plurality of virtual machines; the second multi-domain controller acquires data from an intelligent driving domain, an infotainment domain and a vehicle body domain and performs analysis processing through a plurality of virtual machines;
the first multi-domain controller comprises a first virtual machine and a second virtual machine which are provided with real-time operating systems and are respectively used for processing data of a chassis domain and a power domain; the first virtual machine and the second virtual machine run based on an Autosar architecture;
and the second multi-domain controller is provided with a fourth virtual machine of a real-time operating system and a fifth virtual machine of a non-real-time operating system, the fourth virtual machine acquires and processes data of the intelligent driving domain, and the fifth virtual machine acquires and processes data of the infotainment domain and the vehicle body domain.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that a fourth virtual machine adopts an Rtlinux operating system, and a fifth virtual machine adopts one of Android, window, carpaly and linux;
the Rtliux operating system comprises the following components from top to bottom: the system comprises an application layer, a system layer and a base layer, wherein the layers are connected through a data I/O interface and a software defined interface;
the base layer comprises a hardware driver;
the system layer comprises an automatic driving system with a fusion perception layer, a decision-making layer and a control layer;
the fusion perception layer includes: the system comprises a data processing layer and a fusion positioning module, wherein the data processing layer is used for target detection, traffic sign identification, pedestrian identification and barrier identification based on deep learning;
the decision layer makes a decision to judge the vehicle execution action according to the data of the fusion sensing layer;
and the control layer issues an instruction to a corresponding ECU to execute a corresponding action according to the decision layer.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that when a priority virtual machine with a high security level in a multi-domain controller carries out remote communication, a data packet is sent to a local credible low-priority virtual machine in a mode of establishing a shared memory, and then the data packet is remotely communicated through a kernel protocol stack through the low-priority virtual machine;
when the high-priority virtual machine with the high security level of the multi-domain controller receives remote data, the trusted local low-priority virtual machine receives the remote data through the kernel protocol stack, and sends a data packet to the high-priority virtual machine in a mode of creating a shared memory.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that the size of a shared memory space is dynamically adjusted according to the workload or the requirement of a process or a thread running in the virtual machine; the virtual machine of the sending party needs to establish a shared memory channel and send a data packet to the virtual machine of the receiving party through the shared memory channel;
each virtual machine puts the sending data packet into a shared memory channel of the virtual machine, and obtains receiving data from the shared memory channel of the corresponding virtual machine; the memory blocks belonging to each shared memory channel use a circular linked list.
A data communication method for a multi-domain controller virtual machine based on a vehicle-mounted Ethernet, further comprising the following steps of: idle data identification data, channel identification data, cell block maintenance data;
the idle data identification data is used as global metadata, is positioned at the initial position of the shared memory and is accessed by all virtual machines using a shared memory channel; the channel identification data is used for recording the channel of each memory; the cell block maintenance data is for maintaining a single memory block;
the virtual machine obtains the reference of the position of a new data packet in the shared memory by reading the channel identification data, and the channel identification data is used for maintaining the real-time utilization rate of the shared memory pipeline so as to carry out dynamic allocation/de-allocation;
the cell block maintenance data is used to store location references in each memory block that point to the beginning and end of the available data and to maintain pointers to the next block in the same shared memory pipeline.
The data communication method of the multi-domain controller virtual machine based on the vehicle-mounted Ethernet is further characterized in that the channel identification data comprise a first pair of pointers and a second pair of pointers, wherein the first pair of pointers are used for pointing to the starting position and the ending position of a shared memory area occupied by a data packet; the second pair of pointers are used for designating two memory blocks before and after separation;
the cell block maintenance data includes a third pair of pointers by which different memory blocks are linked to the circular linked list.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that an operating system runs on the virtual machine, a shared memory core component is arranged in the operating system, and the shared memory core component is used for controlling and managing a shared memory;
the shared memory core component comprises: the system comprises a data judger, an event manager and a dynamic shared memory controller.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further provided, wherein a data judger is used for intercepting a data packet sent by a virtual machine of a sender, analyzing a destination address of the data packet and judging whether the destination address is a local terminal or not, if the destination address is the local terminal, the data packet is transmitted through a shared memory core component, and if the destination address is a non-local terminal, the data packet is transmitted through a default kernel path;
the event manager passes an interrupt notification between the sender virtual machine and the receiver virtual machine; and the event manager informs the receiving virtual machine of being ready to acquire data from the shared memory, and after the data is successfully moved from the shared memory to the kernel buffer of the receiving virtual machine, the corresponding shared memory space is released.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that a dynamic shared memory controller is responsible for workload perception and demand-driven shared memory allocation and revocation; the dynamic shared memory controller dynamically adjusts channel capacity by monitoring the utilization of each shared memory channel.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that when a data packet is judged, intercepted and identified to be communicated through a shared memory, a shared memory core component informs a sending party of the virtual machine to adopt a socket redirection strategy, and the socket redirection strategy comprises that socket buffering is established and is directly transferred to a shared memory space from an application layer;
the socket redirection policy is for the sender virtual machine and not for the receiver virtual machine.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that a dynamic priority layer adds and dynamically adjusts the priority of a data packet according to one or more of a process identifier, an address identifier, a processor running load and a trigger identifier.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that when a plurality of processes or threads exist in the virtual machine and need to communicate through a shared memory, a virtual CPU interrupts responses in sequence according to a priority sequence;
the high priority process preferentially obtains the processing right of the virtual CPU and is not interrupted by the low priority CPU.
A data communication method for a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that when a sending party virtual machine sends a data packet to a receiving party virtual machine in a shared memory mode, if the receiving party virtual machine has a plurality of real-time processes and needs to obtain the data packet, the sending party virtual machine simultaneously creates shared memory channels with the same number as the number of the processes needing the data packet in the receiving party virtual machine, and respectively sends the data packet to the created shared memory channels, and the shared memory channels are released after the receiving party virtual machine obtains the data packet.
A data communication method of a multi-domain controller virtual machine based on a vehicle-mounted Ethernet is further characterized in that a global storage space for sharing memory exchange is managed and distributed through the virtual machine, the address of the global storage space is mapped to a virtual space, and the storage space is divided into a plurality of elastic areas with adjustable capacity and distributed to the corresponding virtual machine;
monitoring the utilization rate of each shared elastic pool through a dynamic shared memory manager, and dynamically adjusting the size of an elastic area according to the memory exchange flow from the virtual machine;
if the virtual machine uses all the memory tiles in the elastic region and there are no memory tiles available in the globally allocated global memory space region, then the swap traffic will be automatically transferred to the non-volatile memory disk partition.
A multi-domain controller virtual machine data communication device based on an on-board Ethernet comprises: the system comprises a first multi-domain controller and a second multi-domain controller, wherein the first multi-domain controller is connected with the second multi-domain controller through a vehicle-mounted Ethernet gateway; the multi-domain controller comprises a hardware platform and a virtual machine manager positioned on the hardware platform, wherein the virtual machine runs on the virtual machine manager;
the communication among a plurality of virtual machines in the same multi-domain controller at least comprises a shared memory;
the operating system runs on the virtual machine, a shared memory core component is arranged in the operating system, and the shared memory core component is used for controlling and managing a shared memory;
the shared memory core component comprises: the system comprises a data judger, an event manager and a dynamic shared memory controller; the dynamic shared memory controller is responsible for workload aware and demand driven shared memory allocation and retraction.
An in-vehicle ethernet-based multi-domain controller virtual machine data communication device, preferably, comprising: the data judger is used for intercepting a data packet sent by a virtual machine of a sender, analyzing a destination address of the data packet and judging whether the destination address is a local terminal or not, if the destination address is the local terminal, transmitting the data packet through a shared memory core component, and if the destination address is a non-local terminal, transmitting the data packet through a default kernel path;
the event manager passes an interrupt notification between the sender virtual machine and the receiver virtual machine; and the event manager informs the receiving virtual machine of being ready to acquire data from the shared memory, and after the data is successfully moved from the shared memory to the kernel buffer of the receiving virtual machine, the corresponding shared memory space is released.
Has the advantages that:
1. in the technical scheme provided by the invention, the priority is set on the encryption layer and the transmission layer and the dynamic variable priority is loaded, so that the priority setting on the application layer is avoided, and different suppliers can set different priorities under the condition that the APPs with the same function exist during the development of the APPs. The problem that the APP occupies system resources out of order and in the host is caused. By setting the same priority level on the priority level, the problem of priority level does not need to be considered in the development of APP functions by suppliers, because the set priority levels of different manufacturers possibly have contradictions in different scenes, and the problem can be solved by uniformly setting the priority levels on the priority level. In addition, when the priority is set, the priority of the same process is not fixed, and when the priority is set, the priority of the process is dynamically set by considering various factors such as process identification, address identification, processor running load and trigger identification, so that the process scheduling or data communication is flexible, and the self-adaptive adjustment can be realized.
2. In the technical scheme provided by the invention, the virtual machines in the vehicle-mounted central computing platform adopt the dynamic shared memory for communication by adopting a dynamic memory sharing mode, and in the running process, the size of the shared memory of each virtual machine is dynamically shared according to the workload of a process or a thread. The unit data used for management is arranged in the shared memory, and the three pairs of pointers are arranged through the unit data, so that a plurality of memory blocks can be managed efficiently, a discontinuous memory address space can be used, and storage fragments are reduced.
3. In the technical scheme provided by the invention, the communication mode of the high-priority virtual machine in the multi-domain controller is not directly communicated with the low-priority virtual machine through the kernel protocol stack of the multi-domain controller, but is communicated with the outside through the kernel protocol stack of the low-priority virtual machine in a mode of establishing a shared memory. By adopting the method, when the data packet is hijacked by the virus in the transmission process, the virus starts to enter the virtual machine with low priority, and is easy to be found by a security module, a firewall and the like in the virtual machine with low priority when the data packet is transmitted and attacked, so that the virus is intercepted or cleared in time. Even if the high-priority process causes the CPU to be interrupted or traps the current security module process to unnecessarily clear or kill viruses so as to cause the low-priority virtual machine to be infected, the execution security module performs virus killing or clearing again after the CPU is interrupted or traps the current security module process, and the low-priority virtual machine cannot be dangerous to the high-priority security virtual machine even if infected in this period of time.
4. The invention fuses five domains of the automobile into two domains, namely the first multi-domain controller and the second multi-domain controller, and adopts a plurality of virtual machines to independently operate, analyze and process data from different domains, thereby achieving safety isolation and mutual independence, and being capable of improving efficiency and reducing cost. In addition, the first multi-domain controller also receives data of the intelligent driving domain from the second multi-domain controller, the data are calculated by the third virtual machine and serve as backup data of the fourth virtual machine, and when the fourth virtual machine breaks down, data input of the third virtual machine can be adopted in time, so that the safe running of the automobile is ensured.
5. In the technical scheme provided by the invention, when the virtual machine of the sending party sends the data packet to the virtual machine of the receiving party in a memory sharing mode, if the virtual machine of the receiving party has a plurality of real-time processes and needs to acquire the data packet, the plurality of processes can be simultaneously read and written by establishing a plurality of memory sharing channels, so that the real-time requirement of an automobile is met, and the defect that a larger memory space needs to be occupied is that the data packet is not required to be transmitted to the virtual machine of the receiving party.
6. In the technical scheme provided by the invention, the virtual machine manages and allocates the global storage space for sharing memory exchange, maps the address of the global storage space into the virtual machine, and divides the storage space into a plurality of elastic areas with adjustable capacity to be allocated to the corresponding virtual machine; monitoring the utilization rate of each shared elastic pool through a dynamic shared memory manager, and dynamically adjusting the size of an elastic area according to the memory exchange flow from the virtual machine; if the virtual machine uses all the memory tiles in the elastic region and there are no memory tiles available in the globally allocated global memory space region, then the swap traffic will be automatically transferred to the non-volatile memory disk partition. By the technical scheme, the technical problems that the data exchange performance is reduced and the system operation efficiency is seriously reduced due to the fact that the shared memory possibly overflows when the space of the shared memory is insufficient due to the sharing of large-capacity data or the shared memory reaches the upper limit can be solved.
Drawings
The following drawings are only schematic illustrations and explanations of the present invention, and do not limit the scope of the present invention.
Fig. 1 is a schematic diagram of an automotive network architecture based on a vehicle ethernet according to an embodiment of the present invention.
Fig. 2 is a schematic structural diagram of a first multi-domain controller according to an embodiment of the present invention.
Fig. 3 is a schematic structural diagram of a second multi-domain controller according to an embodiment of the present invention.
FIG. 4 shows a unit data according to an embodiment of the present invention, including: and the idle data identification data, the channel identification data and the cell block maintenance data are in the schematic diagram of the shared memory block.
Fig. 5 is a schematic diagram of a protocol stack framework for sharing memory according to an embodiment of the present invention.
Fig. 6 is a schematic diagram of an Rtlinux system architecture based on an intelligent driver in a fourth virtual machine according to an embodiment of the present invention.
Detailed Description
For a more clear understanding of the technical features, objects, and effects herein, embodiments of the present invention will now be described with reference to the accompanying drawings, in which like reference numerals refer to like parts throughout. For the sake of simplicity, the drawings are schematic representations of relevant parts of the invention and are not intended to represent actual structures as products. In addition, for simplicity and clarity of understanding, only one of the components having the same structure or function is schematically illustrated or labeled in some of the drawings.
As for the control system, the functional module, application program (APP), is well known to those skilled in the art, and may take any suitable form, either hardware or software, and may be a plurality of functional modules arranged discretely, or a plurality of functional units integrated into one piece of hardware. In its simplest form, the control system may be a controller, such as a combinational logic controller, a micro-programmed controller, or the like, so long as the operations described herein are enabled. Of course, the control system may also be integrated as a different module into one physical device without departing from the basic principle and scope of the invention.
The term "connected" in the present invention may include direct connection, indirect connection, communication connection, and electrical connection, unless otherwise specified.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, values, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, values, steps, operations, elements, components, and/or groups thereof. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items
It should be understood that the term "vehicle" or "vehicular" or other similar terms as used herein generally includes motor vehicles such as passenger automobiles including Sport Utility Vehicles (SUVs), buses, trucks, various commercial vehicles, watercraft including a variety of boats, ships, aircraft, and the like, and includes hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, hydrogen-powered vehicles, and other alternative fuel vehicles (e.g., fuels derived from non-petroleum sources). As referred to herein, a hybrid vehicle is a vehicle having two or more power sources, such as both gasoline-powered and electric-powered vehicles.
Specifically, the multi-domain controller virtual machine data communication apparatus provided by this embodiment, as shown in fig. 1 to 3, specifically includes: the system comprises a first multi-domain controller and a second multi-domain controller, wherein the first multi-domain controller is connected with the second multi-domain controller through a vehicle-mounted Ethernet gateway; the multi-domain controller comprises a hardware platform and a virtual machine manager positioned on the hardware platform, wherein the virtual machine runs on the virtual machine manager;
specifically, the embodiment provides an automobile network EE architecture based on a vehicle-mounted ethernet, and the integration of domain controllers is performed on a chassis domain, a power domain, an intelligent driving domain, an infotainment domain and an automobile body domain related to a traditional automobile, so that the use of the domain controllers is reduced. Specifically, the chassis domain comprises the ECU of a drive train, a running train, a steering train and a braking train, the power domain comprises the ECU of an engine, a clutch and a gearbox, the ECU of the chassis domain transmits data to a first multi-domain controller, the ECU of the power domain transmits data to the first multi-domain controller, since the two domains are relatively independent functional domains, considering the underlying safety and implementation reliability related to automobiles, the requirement of meeting the ASIL automobile safety level is to fuse the chassis domain and the power domain, but the chassis domain and the power domain need to be isolated independently, so the implementation designs a first multi-domain controller, and a first virtual machine and a second virtual machine are arranged in the multi-domain controller, the first virtual machine is used for calculating data of the chassis domain, the second virtual machine calculates the power domain, and a dynamic memory sharing mode is adopted for communication between the first virtual machine and the second virtual machine. The first multi-domain controller comprises a first virtual machine and a second virtual machine which are provided with real-time operating systems and are respectively used for processing data of a chassis domain and a power domain; the first virtual machine and the second virtual machine operate based on an Autosar architecture.
Because the intelligent driving domain and the information entertainment domain relate to a CPU and a GPU with high computational power, the set hardware platform is different from a chassis domain and a power domain, and in addition, the safety level is different, so the implementation adopts a second multi-domain controller, the intelligent driving domain, the information entertainment domain and a vehicle body domain are fused into the second multi-domain controller, the second multi-domain control adopts a fourth virtual machine and a fifth virtual machine, the fourth virtual machine is responsible for processing the data of the intelligent driving domain, the fifth virtual machine is responsible for processing the data of the information entertainment domain and the vehicle body domain, in addition, the information exchange among the intelligent driving domain, the information entertainment domain and the vehicle body domain is frequent, such as a camera, the intelligent driving domain needs to call a camera image to identify pedestrians or identify lanes, the information entertainment domain calls the camera for photographing, face identification and the like, and the intelligent driving domain obtains the vehicle door of the vehicle body domain, Information such as windows is used for controlling and managing the vehicle. However, because the real-time performance and the safety level of the intelligent driving domain are different from those of the infotainment domain and the vehicle body domain, the intelligent driving domain and the infotainment domain are in charge of two independent virtual machines which are independent from each other and do not interfere with each other. And the second multi-domain controller is provided with a fourth virtual machine of a real-time operating system and a fifth virtual machine of a non-real-time operating system, the fourth virtual machine acquires and processes data of the intelligent driving domain, and the fifth virtual machine acquires and processes data of the infotainment domain and the vehicle body domain.
The fourth virtual machine adopts an Rtlinux operating system and is used for an intelligent driving domain, and the fifth virtual machine adopts one of Android, window, carpaly and linux;
as shown in fig. 6, in the Rtlinux operating system adopted in the intelligent driving area, the system includes, from top to bottom: the system comprises an application layer, a system layer and a base layer, wherein the layers are connected through a data I/O interface and a software defined interface;
the base layer comprises a hardware driver;
the system layer comprises an automatic driving system with a fusion perception layer, a decision-making layer and a control layer;
the fusion perception layer includes: the system comprises a data processing layer and a fusion positioning module, wherein the data processing layer is used for target detection, traffic sign identification, pedestrian identification and barrier identification based on deep learning;
the decision layer makes a decision to judge the vehicle execution action according to the data of the fusion sensing layer;
and the control layer issues an instruction to a corresponding ECU to execute a corresponding action according to the decision layer.
The vehicle-mounted Ethernet bus is used for high-speed transmission rate and real-time performance, and data transmission among the multi-domain controllers is carried out through the vehicle-mounted Ethernet bus.
The virtual machines comprise local virtual machine communication and remote communication, when the local virtual machines are communicated with each other, the communication among a plurality of virtual machines in the same multi-domain controller at least comprises a shared memory, and the size of the space of the shared memory is dynamically adjusted according to the workload or the requirement of a process or a thread running in the virtual machine;
when a virtual machine of a sender sends a data packet to a virtual machine of a receiver in a shared memory mode, loading a dynamic variable priority through a priority layer, and sending the data packet to a created shared memory channel after encapsulation processing is carried out through a transmission layer; the memory blocks of the shared memory channel adopt a circular link list and are controlled and managed through unit data of shared memory management.
The hardware layer comprises chips such as a processor, a memory, a hard disk, a display card and the like, and the chips form the hardware layer and are responsible for data operation and decision making of the whole automobile;
for example: the hardware layer comprises an English Webida Tegra K1 processor, an EyeQ3 chip of Mobileye and a Cyclone 5FPGA chip of Altera;
the hardware layer still is equipped with multiple different communication interface, includes: the vehicle-mounted Ethernet interface (100base-T1,1000base-T1), the Ethernet interface, the USB interface, the CAN interface, the LIN interface, the HDMI, the VGA and the LVDS interface;
the virtual machine manager runs on a hardware layer, is distributed with privileged instructions and sensitive instructions, and can directly operate hardware in the hardware layer, such as calling a processor, distributing storage space, memory space and the like;
the implementation adopts a domain fusion mode, the safety level and the reliability level related to different domains are different, after the domains are fused, different virtual machines are adopted to independently operate, for example, a fourth virtual machine in a second domain control domain is used for an intelligent driving domain, a fifth virtual machine is used for an infotainment domain and a vehicle body domain, obviously, the safety level and the reliability of the intelligent driving domain are higher than those of the infotainment domain and the vehicle body domain, in order to increase the safety and the reliability, a safety module, a credible module and a data packet encryption are added in the traditional communication mode, then the data packet is sent or received through a kernel protocol stack to communicate with the outside, but the data packet can be hijacked and monitored, so as to enter the virtual machine, a safety module is arranged in the virtual machine with the high safety level in time, and the safety module usually finds the existence of viruses when the viruses initiate attack, if the processing is not timely or the CPU is interrupted by the high-priority process or the current security module process is trapped, the virus is not cleared or killed urgently, so that the high-priority virtual machine is infected. In order to reduce the risk, the implementation provides that a data packet sent by a high-security-level virtual machine is sent to a low-priority-level data packet to a low-priority-level virtual machine in a shared memory mode, then the data packet is sent through a kernel protocol stack of a bottom-line priority-level virtual machine for remote communication, otherwise, the data packet is received through the kernel protocol stack of the low-priority-level virtual machine, and then the data packet is sent to the high-priority-level virtual machine in a shared memory mode established by the low-priority-level virtual machine.
By adopting the method, when the data packet is hijacked by the virus in the transmission process, the virus starts to enter the virtual machine with low priority, and is easy to be found by a security module, a firewall and the like in the virtual machine with low priority when the data packet is transmitted and attacked, so that the virus is intercepted or cleared in time. The low-priority virtual machine is infected by the fact that the high-priority process enables the CPU to be interrupted or traps the current security module process to remove or kill viruses urgently, but the low-priority virtual machine is infected or removed by virus checking and killing after the CPU is interrupted or traps the current security module process for recovery, and the low-priority virtual machine is infected in time and is not dangerous to the high-priority security virtual machine.
Specifically, when a priority virtual machine with a high security level in the multi-domain controller carries out remote communication, a data packet is sent to a local trusted low-priority virtual machine in a shared memory creating mode when data is sent, and then the data packet is subjected to remote communication through a kernel protocol stack by the low-priority virtual machine;
when the high-priority virtual machine with the high security level of the multi-domain controller receives remote data, the trusted local low-priority virtual machine receives the remote data through the kernel protocol stack, and sends a data packet to the high-priority virtual machine in a mode of creating a shared memory.
In order to ensure the safety and reliability of the system, particularly the intelligent driving domain, if the virtual machine of the intelligent driving domain breaks down, an accident may happen. In order to reduce the occurrence of such a situation, in the prior art, a controller with weak performance is separately added for backup operation, a redundancy mechanism of a domain controller needs to be designed, and two independent operation units are set in the domain controller, but this way may cause cost increase.
In the multi-domain controller, a plurality of virtual machines run on a virtual machine manager, an operating system is installed on each virtual machine, if any virtual machine is provided with a real-time operating system, some virtual machines are provided with non-real-time operating systems, and in the operating system of the virtual machines, an operating system kernel accesses the virtual machine manager through a virtual I/O interface so as to realize the calling of hardware. The real-time operating system VxWorks, RT-Thread, uCOS, QNX, WinCE and the non-real-time operating system comprise: android, carplay, etc.
The implementation provides a data communication method of a multi-domain controller virtual machine based on an on-board Ethernet, which runs on a multi-domain controller.
The virtual machine communication at least comprises a shared memory; the size of the shared memory space is dynamically adjusted according to the workload or the requirement of the process or the thread running in the virtual machine;
the operating system is arranged on the virtual machine, a shared memory core component is arranged in the operating system, and the shared memory core component is used for controlling and managing a shared memory;
the channel identification data comprises a first pair of pointers and a second pair of pointers, wherein the first pair of pointers are used for pointing to the starting position and the ending position of the shared memory area occupied by the data packet; the second pair of pointers are used for designating two memory blocks before and after separation; the cell block maintenance data includes a third pair of pointers by which different memory blocks are linked to the circular linked list.
The shared memory core component comprises: the system comprises a data judger, an event manager and a dynamic shared memory controller;
the data judger intercepts the outgoing data packet of each sender virtual machine and checks whether the data packet is moving to the local virtual machine at the same position, if so, the data packet is transmitted by using a preset shared memory transmission path; otherwise, sending the data packet through a default kernel path;
the event manager passes an interrupt notification between the sender virtual machine and the receiver virtual machine; the dynamic shared memory controller is responsible for workload aware and demand driven shared memory allocation and retraction. When a certain data packet is intercepted by the data packet analyzer and identified as to be sent to the local virtual machine, the shared memory core component informs the virtual machine core to allocate a socket buffer area, the data packet is obtained from the shared memory instead of the default core buffer area, and the data packet is directly copied from the user-level application program buffer area to the shared memory. The event manager notifies the recipient virtual machine that it is ready to retrieve data from the shared memory. After successfully moving the data from the shared memory to the kernel buffer of the recipient virtual machine, the corresponding shared memory space is released and the recipient virtual machine passes the data packet to its application through the default kernel path.
The data judger is positioned in the operating system of each virtual machine to intercept and analyze the data packets sent by the virtual machines. In the prior art, data packets are usually intercepted at an application layer and then directly put into a shared memory, so that the communication path is shortest and the realizable performance is better. Also by doing at the socket-level caching layer, packet interception can be achieved by modifying the socket APIs, but the application needs to be rewritten to incorporate these APIs, resulting in poor user-level transparency. In addition, if a packet is intercepted at the socket level, the kernel network stack will be skipped, and problems are likely to occur when data integrity needs to be guaranteed.
However, in the vehicle-mounted central computing platform, due to the real-time performance, reliability and safety of the vehicle, the safety and reliability are the first, and the transmitted data packets need to be guaranteed to be correct and reliable in the shared memory. Therefore, in this embodiment, the data determinator selects to block the data packet below the transport layer. The data packet is intercepted at the transmission layer by selecting, so as to ensure the correctness of data packet transmission under an unpredictable network environment.
As shown in fig. 5, the present implementation provides a protocol stack for performing communication by sharing a memory, which specifically includes: the system comprises an application layer, a byte buffer layer, an encryption layer, a priority layer and a transmission layer, wherein below the byte buffer layer, the encryption layer and the priority layer are unnecessary channels according to message information of a data packet, only the data packet with a local target address and needing to be transmitted through a shared memory passes through the two layers, and the rest of the data packet are communicated through a kernel protocol stack which is defaulted by the system;
intercepting a data packet of a shared memory into two steps, wherein the first step of intercepting is performed after a socket buffer layer, the purpose of the intercepting is not to place the data packet into the shared memory, but to judge whether the destination address of the data packet is a local virtual machine, if the destination address of the data packet is the local virtual machine, a data packet analyzer places the data packet into a shared memory processing path for processing, and performs second intercepting on the processed data packet under a transmission layer;
intercepting for the second time under a transmission layer, and directly putting the intercepted data packet into a shared memory channel established by a virtual machine of a sender at the moment;
the shared memory processing path comprises an encryption layer and a priority layer, wherein the encryption layer is used for encrypting the data packet, and the priority layer is used for adding priority to the data packet.
In the prior art, the encryption of the data packet is performed at the application layer. However, considering the special factors of automobiles, different applications of the automobile are mostly from different tier1 manufacturers, and if encryption is performed at an application layer, the encryption method and the encryption mode of each APP are different, so that decryption between virtual machines needs to consume a large amount of resources. Therefore, an encryption layer is added independently to encrypt the data packets needing to pass through the shared memory, so that application programs of different manufacturers do not need to set an encryption method independently, in addition, the universality and the safety of the programs are ensured, and the link that a tier1 supplier needs to add encryption during application and development is saved. The encryption mode of adding the encryption layer is flexible, and the modification and the operation can be easily carried out.
And the dynamic priority layer adds and dynamically adjusts the priority of the data packet according to one or more of the process identifier, the address identifier, the processor running load and the trigger identifier.
Specifically, the conventional priority is set in an application layer, and when different providers develop APPs, different priority problems may be set in the case of APPs with the same function, so that a problem that a system resource is preempted by a key process in a host out of order may occur. By setting the priority level to set the priority level uniformly, the supplier concentrates on developing the function realized by the APP without considering the priority problem. Since the set priorities of different manufacturers may be contradictory in different scenarios, the problem can be solved by uniformly setting the priorities in the priority layer. In addition, when the priority is set, the priority of the same process is not fixed, and when the priority is set, the priority of the process is dynamically set by considering various factors such as process identification, address identification, processor running load and trigger identification, so that the process scheduling or data communication is flexible, and the self-adaptive adjustment can be realized. Such as: setting priorities including process priorities and virtual machine priorities; the trigger identifier comprises manual or periodic calling of a system scheduler, and when the process is caused to run manually, the priority added by the priority layer is greater than the priority added under the condition that the system scheduler is periodically called.
When a plurality of processes or threads exist in the virtual machine and need to communicate through the shared memory at the same time, the virtual CPU interrupts the response in sequence according to the priority order;
the high-priority process preferentially obtains the processing authority of the virtual CPU and is not interrupted by the low-priority CPU;
and if the transmitted address is not the local virtual machine, the data packet is not sent through the shared memory path, but the data packet is sent through a default kernel path to communicate with the remote end. At this time, the data judger does not have to perform a second interception.
The memory of the traditional virtual machine is in a virtualization platform such as a Grant table mechanism, so that memory pages are shared among virtual machines running on the same physical computer. In Xen, each virtual machine is initialized with a set of pages shared with the hypervisor, and the authorization table for each virtual machine is located in these shared pages. The entry in the grant table is used to locate a shared memory page between the two virtual machines. The authorization table mechanism provides a common interface for convenient memory sharing between virtual machines, but it suffers from a number of limitations. For example, shared memory is statically allocated. Thus, allocating a large shared memory region may waste memory resources needed by other applications running on the same guest VM. On the other hand, if the allocated shared memory region is insufficient to meet the workload demands, performance may be degraded.
In this embodiment, shared memory allocation is completed by PCI I/O memory remapping, and a shared memory allocator is provided in the virtual machine manager, and configures a memory region by a privilege instruction and returns an address of the memory region, and other processes can map the address into their own address spaces, and at the same time, a virtual PCI IO interface is created and allocated to a virtual machine.
With the rapid development of automobile electronic systems, they are becoming important parts of automobiles. In the process that the automobile adopts a distributed architecture to a centralized architecture, information processing of the ECUs needs to be processed on a central computing platform, so that a plurality of processes exist in a virtual machine, a plurality of threads exist in each process, different ECUs can belong to different domains according to functions of the ECUs and run on different virtual machines, and a great problem exists in the current vehicle-mounted central computing platform when how to manage a plurality of processes to communicate by using a shared memory.
In order to design a shared memory space for special design, in the implementation, specifically, a memory block of a shared memory channel adopts a circular link list, and is controlled and managed through unit data managed by a shared memory; the unit data includes: idle data identification data, channel identification data, cell block maintenance data; as shown in fig. 4, the number of the cell blocks allocated to the shared memory by the virtual machine manager is 12, wherein 1,4,8, and 11 are in idle states, and the idle blocks are connected by a list; the virtual machine 1 uses 6,7,8, wherein the channel identification data in the number 6 records the block number adopted by the shared memory channel, and each block has unit block maintenance data. Similarly, the virtual machine 2 adopts 2,3,5,9 and 10. And recording the block number adopted by the shared memory channel in the memory block with the starting number of 2, wherein each block has unit block maintenance data.
The idle data identification data is global metadata which is positioned at the beginning of the shared memory and is accessed by all virtual machines using the shared memory channel; channel identification data records each shared memory channel. The key attribute is two pairs of pointers, the first pair being a front and back pointer, pointing to the beginning and end of the region where the data packet is stored, the values of the front and back pointers depending on the offset in the globally allocated shared memory region. Given that the shared memory regions are organized in memory blocks, it is likely that the packet size will not match the block size. Thus, the second pair of pointers, the front and back pointers, is used to specify the two memory blocks in which the front and back are located, respectively. A block of cells maintains data that maintains metadata for each individual block of memory. It contains a front and back pointer, a pointer linking different memory blocks to a list. Each shared memory channel is initialized using a single memory block. Depending on workload requirements, each virtual machine may need to allocate more shared memory blocks for its shared memory channel. Thus, the size of different shared memory channels may vary according to the workload requirements of each virtual machine;
specifically, a separate thread is created to implement this dynamic allocation, such as a dynamic shared memory controller, which monitors the utilization of each shared memory channel and dynamically adjusts the channel capacity. The process of setting up the shared memory channel involves three handshakes, which specifically includes: when the virtual machine of the sending party needs to send the data packet to the virtual machine of the receiving party, the channel creating message is generated by the virtual machine of the sending party and is sent to the virtual machine of the receiving party;
after receiving the channel creation message, the virtual machine of the receiving party initializes the shared memory channel from the memory area allocated by the host machine, and then sends an ACK message containing the newly initialized shared memory channel back to the virtual machine of the sending party;
after the sending virtual machine receives the ACK message, the VM1 extracts the shared memory channel information from the ACK message and connects itself to the channel, and the sending virtual machine sends the created FIN message to the receiving virtual machine.
Through three-way handshake, it is confirmed that the shared memory channel is successfully connected, so that the problem in the creating process is avoided, the creating failure is avoided, the sending end or the receiving end does not know the problem of the creating failure, and the reliability can be improved through the three-way handshake.
When a certain data packet is intercepted by the data judger and is identified to be communicated through the shared memory, the shared memory core component informs a virtual machine of a sender to adopt a socket redirection strategy;
creating a shared memory by a byte redirection strategy comprising byte buffering;
the socket redirection policy is for the sender virtual machine and not for the receiver virtual machine;
specifically, the traditional set of byte buffers is created by creating a set of byte buffers in the kernel of the virtual machine, while the present implementation creates a set of byte buffers in the shared kernel and only used in the sending virtual machine.
Thus, data replication costs can be saved by socket redirection. Additionally, the application of socket redirection only to the sender virtual machine may provide efficiency. Because, if socket redirection is also applied at the receiver, packets containing a valid packet in the shared memory buffer cannot be released directly, it needs to wait for the packet to be successfully delivered to the application layer before it can be released. In addition, socket redirection can reduce risk compared to existing approaches by mapping the entire memory address space to the recipient. Socket redirection only allows packets to be placed from the user layer into virtual machine memory instead of the kernel.
Because the vehicle-mounted central computing platform has more involved processes and a large number of processes, such as pictures shot by a camera, three-dimensional data obtained by a laser radar, millimeter wave radar collected data and data transmission among intelligent automobiles, the data volume is very large.
In order to deal with the situation that large-capacity data is shared and overflow is possible after the shared memory is exceeded or the data exchange performance is reduced because the shared memory reaches a bottleneck, the implementation provides an exchange mode of the shared memory, specifically:
the method comprises the steps that a virtual machine manager allocates a global storage space for shared memory exchange, the storage space is divided into a plurality of elastic areas capable of adjusting the size of the storage space, each virtual machine has a corresponding elastic area of the shared memory, and each elastic area is composed of a plurality of small storage blocks; mapping the address of the global storage space into the virtual machine;
the small storage blocks belonging to the same elastic area form a linked list, and the virtual memory ID and the virtual machine address are recorded through a Hash table; the virtual machine obtains exchangeable storage small blocks by looking up the hash table; monitoring the utilization rate of each shared elastic pool through a dynamic shared memory manager, and dynamically adjusting the size of an elastic area according to the memory exchange flow from the virtual machine; if the virtual machine uses all the storage small blocks in the elastic region and no available storage small blocks exist in the globally allocated global storage space region, the exchange traffic is automatically transferred to the non-volatile storage disk partition;
or applying for distributing redundant shared memory space to the virtual machine manager, judging the use condition of all virtual machine memories on the whole hardware platform by the virtual machine manager, and when the use ratio of all the virtual machine memories is smaller than a preset threshold value, distributing redundant memory space by the virtual machine according to the requirement to meet the shared memory exchange requirement of the virtual machine, otherwise, automatically transferring the exchange flow to the disk partition of the nonvolatile memory.
In the prior art, a balloon area is adopted to dynamically adjust the internal use condition between virtual machines, but the balloon driving technology still has more problems, more and more memories are recycled by utilizing the balloon driving technology, and the performance is gradually reduced. If the balloon drives cause swapping at a high frequency, the performance of the entire virtual machine may be reduced. By the management method provided by the implementation, the size of the elastic region of the available shared memory is dynamically adjusted, and when the load is exceeded, data exchange is transferred to the nonvolatile memory for exchange, so that the system memory is prevented from being reduced due to high-frequency exchange.
In the intelligent automobile, a great number of ECUs are involved, the movement of the automobile is a coordinated operation, a plurality of units are required for matching, and therefore the problem of communication among a plurality of real-time processes can exist in a domain controller, for example: the method has the advantages that one process sends data through the shared memory, the situation that a plurality of memories read data at the same time can exist, and only one process is allowed to read data or write data at one time in the traditional mode through mutual exclusion locking. In order to solve this problem, the present implementation proposes a solution, specifically as follows:
when the virtual machine of the sending party sends the data packet to the virtual machine of the receiving party in a shared memory mode, if the virtual machine of the receiving party has a plurality of real-time processes to acquire the data packet, the virtual machine of the sending party simultaneously creates shared memory channels with the same number as the processes needing the data packet in the virtual machine of the receiving party, and respectively sends the data packet to the created shared memory channels, and the shared memory channels are released after the virtual machine of the receiving party acquires the data packet.
By creating a plurality of shared memory channels, a plurality of processes can read and write simultaneously, the requirement of real-time performance of the automobile is met, and the defect is that a larger memory space is required to be occupied.
What has been described above is only a preferred embodiment of the present invention, and the present invention is not limited to the above examples. It is clear to those skilled in the art that the form in this embodiment is not limited thereto, and the adjustable manner is not limited thereto. It is to be understood that other modifications and variations, which may be directly derived or suggested to one skilled in the art without departing from the basic concept of the invention, are to be considered as included within the scope of the invention.

Claims (16)

1.一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,包括:第一多域控制器、第二多域控制器,其中,第一多域控制器与第二多域控制器通过车载以太网网关进行连接;多域控制器包括硬件平台,位于硬件平台的虚拟机管理器,虚拟机在虚拟机管理器上运行;1. A multi-domain controller virtual machine data communication method based on in-vehicle Ethernet, comprising: a first multi-domain controller and a second multi-domain controller, wherein the first multi-domain controller and the second The multi-domain controller is connected through the vehicle Ethernet gateway; the multi-domain controller includes a hardware platform, a virtual machine manager located on the hardware platform, and the virtual machine runs on the virtual machine manager; 位于相同的多域控制器中的多个虚拟机之间的通信至少包括共享内存,共享内存空间的大小根据运行在虚拟机中进程或线程的工作负荷或需求进行动态调整;The communication between multiple virtual machines located in the same multi-domain controller includes at least shared memory, and the size of the shared memory space is dynamically adjusted according to the workload or demand of the process or thread running in the virtual machine; 发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,通过优先级层加载动态可变优先级,在通过传输层进行封装处理后发送到创建的共享内存通道中;共享内存通道的内存块采用循环链接列表,并通过共享内存管理的单元数据进行控制与管理。When the sender virtual machine sends data packets to the receiver virtual machine through shared memory, the dynamic variable priority is loaded through the priority layer, and then sent to the created shared memory channel after encapsulation through the transport layer; The memory block adopts a circular linked list and is controlled and managed through the unit data of shared memory management. 2.如权利要求1所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,第一多域控制器获取来自底盘域、动力域的数据并通过多个虚拟机对数据进行分析处理;第二多域控制器获取来自智能驾驶域、信息娱乐域、车身域的数据并通过多个虚拟机进行分析处理;2. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 1, is characterized in that, the first multi-domain controller obtains the data from chassis domain, dynamic domain and passes through multiple virtual machines Analyze and process the data; the second multi-domain controller obtains data from the intelligent driving domain, infotainment domain, and body domain, and analyzes and processes it through multiple virtual machines; 第一多域控制器包括安装有实时操作系统的第一虚拟机和第二虚拟机并分别用于处理底盘域和动力域的数据;第一虚拟机和第二虚拟机基于Autosar架构运行;The first multi-domain controller includes a first virtual machine and a second virtual machine installed with a real-time operating system and are respectively used to process the data of the chassis domain and the power domain; the first virtual machine and the second virtual machine are run based on the Autosar architecture; 第二多域控制器安装实时操作系统的第四虚拟机和非实时操作系统的第五虚拟机,第四虚拟机获取智能驾驶域的数据并进行处理,第五虚拟机获取信息娱乐域和车身域的数据并进行处理。The second multi-domain controller installs a fourth virtual machine of a real-time operating system and a fifth virtual machine of a non-real-time operating system, the fourth virtual machine obtains and processes the data of the intelligent driving domain, and the fifth virtual machine obtains the infotainment domain and the body domain data and process it. 3.如权利要求2所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,第四虚拟机采用Rtlinux操作系统,第五虚拟机采用Android、window、carpaly、linux中的一种;3. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 2, is characterized in that, the 4th virtual machine adopts Rtlinux operating system, and the 5th virtual machine adopts Android, window, carpaly, linux one of the Rtlinux操作系统中从上至下包括:应用层、系统层、基础层,层与层之间通过数据I/O接口、软件定义接口相连接;The Rtlinux operating system includes from top to bottom: application layer, system layer, and base layer. The layers are connected through data I/O interfaces and software-defined interfaces; 基础层包括硬件驱动;The base layer includes hardware drivers; 系统层包括具有融合感知层、决策层、控制层的自动驾驶系统;The system layer includes an autonomous driving system with a fusion perception layer, decision-making layer, and control layer; 融合感知层包括:基于深度学习的目标检测、交通标示识别、行人识别、障碍物识别的数据处理层、融合定位模块;The fusion perception layer includes: data processing layer based on deep learning target detection, traffic sign recognition, pedestrian recognition, obstacle recognition, and fusion positioning module; 决策层根据融合感知层的数据进行决策判断车辆执行动作;The decision-making layer makes decisions and judges vehicle execution actions according to the data of the fusion perception layer; 控制层根据决策层下发指令至相应ECU执行相应动作。The control layer sends instructions to the corresponding ECU to perform corresponding actions according to the decision-making layer. 4.如权利要求1所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,多域控制器中安全级别高的优先级虚拟机进行远程通信时发送数据时,通过创建共享内存的方式发送数据包给本地的可信低优先级虚拟机,然后通过低优先级虚拟机将数据包通过内核协议栈进行远程通信;4. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 1, is characterized in that, when the priority virtual machine with high security level in the multi-domain controller sends data when carrying out remote communication, Send the data packet to the local trusted low-priority virtual machine by creating a shared memory, and then use the low-priority virtual machine to remotely communicate the data packet through the kernel protocol stack; 多域控制器安全级别高的优先级虚拟机接收远程数据时,可信本地的低优先级虚拟机通过内核协议栈接收远程数据,通过创建共享内存的方式发送数据包给高的优先级虚拟机。When a multi-domain controller high-priority virtual machine receives remote data, the trusted local low-priority virtual machine receives remote data through the kernel protocol stack, and sends data packets to the high-priority virtual machine by creating a shared memory. . 5.如权利要求1所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,共享内存空间的大小根据运行在虚拟机中进程或线程的工作负荷或需求进行动态调整;发送方虚拟机需要建立共享内存通道并通过共享内存通道发送数据包给接收方虚拟机;5. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 1 is characterized in that, the size of the shared memory space is dynamically carried out according to the workload or the demand of the process or thread running in the virtual machine. Adjustment; the sender virtual machine needs to establish a shared memory channel and send data packets to the receiver virtual machine through the shared memory channel; 每个虚拟机将其发送数据包放入自己的共享内存通道中,从对应的虚拟机的共享内存通道中获取接收数据;属于每个共享内存通道的内存块采用循环链接列表。Each virtual machine puts its sending data packets into its own shared memory channel, and obtains and receives data from the shared memory channel of the corresponding virtual machine; the memory blocks belonging to each shared memory channel use a circular link list. 6.如权利要求1所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,单元数据包括:空闲数据标识数据、通道标识数据、单元块维护数据;6. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 1, is characterized in that, unit data comprises: idle data identification data, channel identification data, unit block maintenance data; 所述空闲数据标识数据作为全局元数据,位于共享内存的最开始位置,并由使用共享内存通道的所有虚拟机进行访问;所述通道标识数据用于记录每个内存的通道;所述单元块维护数据用于维护单个内存块;The idle data identification data is used as global metadata, located at the beginning of the shared memory, and accessed by all virtual machines using the shared memory channel; the channel identification data is used to record the channel of each memory; the unit block Maintenance data is used to maintain a single memory block; 虚拟机通过读取通道标识数据以获得对将新来的数据包放在共享内存中的位置的引用,通道标识数据用于维护共享内存管道的实时利用率以进行动态分配/取消分配;The virtual machine obtains a reference to where to put incoming packets in shared memory by reading the channel identification data, which is used to maintain real-time utilization of the shared memory pipeline for dynamic allocation/deallocation; 单元块维护数据用于在每个内存块中存储指向可用数据的开始和结束的位置引用,并在同一共享内存管道中维护指向下一个块的指针。Cell block maintenance data is used to store location references to the start and end of available data in each memory block, and to maintain a pointer to the next block in the same shared memory pipeline. 7.如权利要求6所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,所述通道标识数据包括第一对指针和第二对指针,第一对指针用于指向数据包占用共享内存区域的开始位置和结束位置;第二对指针用于指定分离前和后的两个内存块;7. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 6, is characterized in that, described channel identification data comprises the first pair of pointers and the second pair of pointers, and the first pair of pointers uses It points to the start position and end position of the shared memory area occupied by the data packet; the second pair of pointers is used to specify the two memory blocks before and after separation; 所述单元块维护数据包括第三对指针,通过第三对指针将不同内存块链接到循环链接列表。The unit block maintenance data includes a third pair of pointers through which different memory blocks are linked to a circular linked list. 8.如权利要求1所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,操作系统运行在虚拟机之上,操作系统中设有共享内存核心组件,共享内存核心组件用于对共享内存进行控制与管理;8. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 1, is characterized in that, operating system runs on the virtual machine, is provided with shared memory core component in operating system, shared memory The core components are used to control and manage shared memory; 共享内存核心组件包括:数据判断器,事件管理器和动态共享内存控制器。Shared memory core components include: data judge, event manager and dynamic shared memory controller. 9.如权利要求8所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,数据判断器用于拦截发送方的虚拟机发送的数据包并解析出数据包的目的地址并判断目的地址是否为本地终端,若为本地终端,则通过共享内存核心组件来传输数据包,若为非本地终端,则通过默认的内核路径来传递数据包;9. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 8, is characterized in that, the data judging device is used to intercept the data packet that the virtual machine of the sender sends and parse out the purpose of the data packet address and determine whether the destination address is a local terminal. If it is a local terminal, the data packet is transmitted through the shared memory core component, and if it is a non-local terminal, the data packet is transmitted through the default kernel path; 事件管理器在发送方虚拟机和接收方虚拟机之间传递中断通知;事件管理器通知接收方虚拟机准备好从共享内存中获取数据,在将数据从共享内存成功移动到接收方虚拟机的内核缓冲区之后,相应的共享内存空间被释放。The event manager passes interrupt notifications between the sender virtual machine and the receiver virtual machine; the event manager notifies the receiver virtual machine that it is ready to get data from the shared memory, and after the data is successfully moved from the shared memory to the receiver virtual machine. After the kernel buffer, the corresponding shared memory space is freed. 10.如权利要求8所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,动态共享内存控制器负责工作负荷感知以及需求驱动的共享内存分配和撤销;动态共享内存控制器通过监视每个共享内存通道的利用率并动态调整通道容量。10. A multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 8, wherein the dynamic shared memory controller is responsible for workload perception and demand-driven shared memory allocation and cancellation; dynamic shared memory The memory controller monitors the utilization of each shared memory channel and dynamically adjusts the channel capacity. 11.如权利要求8所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,当数据包被数据判断拦截并标识为要通过共享内存通信时,共享内存核心组件通知发送方虚拟机采用套字节重定向策略,套字节重定向策略包括套字节缓冲的创建从应用层直接到共享内存空间;11. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 8, is characterized in that, when the data packet is intercepted by data judgment and is identified as to communicate through shared memory, the shared memory core component Notify the sender virtual machine to adopt a set of byte redirection strategy, and the set of byte redirection strategy includes the creation of a set of byte buffers from the application layer directly to the shared memory space; 套字节重定向策略用于发送方虚拟机而不用于接收方虚拟机。A set of byte redirection policies is used for the sender virtual machine and not for the receiver virtual machine. 12.如权利要求1所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,动态优先级层根据进程标识、地址标识、处理器运行负荷、触发标识中的一种或多种对数据包的优先级进行添加并动态调整。12. a kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 1, is characterized in that, dynamic priority layer is based on one of process identification, address identification, processor operating load, trigger identification. One or more of the priorities of the data packets are added and dynamically adjusted. 13.如权利要求12所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,当虚拟机中存在多个进程或线程同时需要通过共享内存进行通信时,虚拟CPU按照优先级顺序,依次中断响应;13. A kind of multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 12, it is characterized in that, when there are multiple processes or threads in the virtual machine and need to communicate through shared memory at the same time, the virtual CPU According to the priority order, the interrupt response is in turn; 高优先级进程优先获得虚拟CPU的处理权限并不被低优先级CPU中断。The high-priority process has priority to obtain the processing privilege of the virtual CPU and is not interrupted by the low-priority CPU. 14.如权利要求1所述一种基于车载以太网的多域控制器虚拟机数据通信方法,其特征在于,发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,若接收方虚拟机存在多个实时进程需要获取数据包,则发送方虚拟机同时创建与接收方虚拟机中需要数据包的进程数量相同的共享内存通道,并将数据包分别发送至创建的共享内存通道,待接收方虚拟机获取数据包后释放共享内存通道。14. A multi-domain controller virtual machine data communication method based on in-vehicle Ethernet as claimed in claim 1, wherein when the sender virtual machine sends a data packet to the receiver virtual machine by a shared memory mode, if the receiver virtual machine If there are multiple real-time processes in the virtual machine that need to obtain data packets, the sender virtual machine simultaneously creates the same number of shared memory channels as the processes in the receiver virtual machine that need data packets, and sends the data packets to the created shared memory channels respectively. Release the shared memory channel after the receiver virtual machine acquires the data packet. 15.一种基于车载以太网的多域控制器虚拟机数据通信装置,其特征在于,包括:第一多域控制器、第二多域控制器,其中,第一多域控制器与第二多域控制器通过车载以太网网关进行连接;多域控制器包括硬件平台,位于硬件平台的虚拟机管理器,虚拟机在虚拟机管理器上运行;15. A multi-domain controller virtual machine data communication device based on in-vehicle Ethernet, characterized by comprising: a first multi-domain controller and a second multi-domain controller, wherein the first multi-domain controller and the second multi-domain controller The multi-domain controller is connected through the vehicle Ethernet gateway; the multi-domain controller includes a hardware platform, a virtual machine manager located on the hardware platform, and the virtual machine runs on the virtual machine manager; 位于相同的多域控制器中的多个虚拟机之间的通信至少包括共享内存;Communication between multiple virtual machines located in the same multi-domain controller includes at least shared memory; 操作系统运行在虚拟机之上,操作系统中设有共享内存核心组件,共享内存核心组件用于对共享内存进行控制与管理;The operating system runs on the virtual machine, and there is a shared memory core component in the operating system, and the shared memory core component is used to control and manage the shared memory; 共享内存核心组件包括:数据判断器,事件管理器和动态共享内存控制器;动态共享内存控制器用于负责工作负荷感知以及需求驱动的共享内存分配和撤销。Shared memory core components include: data judge, event manager, and dynamic shared memory controller; the dynamic shared memory controller is responsible for workload awareness and demand-driven shared memory allocation and cancellation. 16.如权利要求15所述的一种基于车载以太网的多域控制器虚拟机数据通信装置,其特征在于,数据判断器用于拦截发送方的虚拟机发送的数据包并解析出数据包的目的地址并判断目的地址是否为本地终端,若为本地终端,则通过共享内存核心组件来传输数据包,若为非本地终端,则通过默认的内核路径来传递数据包;16. The vehicle-mounted Ethernet-based multi-domain controller virtual machine data communication device according to claim 15, wherein the data judging device is used to intercept the data packets sent by the virtual machine of the sender and parse out the data packets. The destination address and determine whether the destination address is a local terminal. If it is a local terminal, the data packet is transmitted through the shared memory core component, and if it is a non-local terminal, the data packet is transmitted through the default kernel path; 事件管理器在发送方虚拟机和接收方虚拟机之间传递中断通知;事件管理器通知接收方虚拟机准备好从共享内存中获取数据,在将数据从共享内存成功移动到接收方虚拟机的内核缓冲区之后,相应的共享内存空间被释放。The event manager passes interrupt notifications between the sender virtual machine and the receiver virtual machine; the event manager notifies the receiver virtual machine that it is ready to get data from the shared memory, and after the data is successfully moved from the shared memory to the receiver virtual machine. After the kernel buffer, the corresponding shared memory space is freed.
CN202010877738.1A 2020-08-27 2020-08-27 Multi-domain controller virtual machine data communication method and device based on vehicle-mounted Ethernet Active CN112235210B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010877738.1A CN112235210B (en) 2020-08-27 2020-08-27 Multi-domain controller virtual machine data communication method and device based on vehicle-mounted Ethernet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010877738.1A CN112235210B (en) 2020-08-27 2020-08-27 Multi-domain controller virtual machine data communication method and device based on vehicle-mounted Ethernet

Publications (2)

Publication Number Publication Date
CN112235210A true CN112235210A (en) 2021-01-15
CN112235210B CN112235210B (en) 2023-01-10

Family

ID=74117176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010877738.1A Active CN112235210B (en) 2020-08-27 2020-08-27 Multi-domain controller virtual machine data communication method and device based on vehicle-mounted Ethernet

Country Status (1)

Country Link
CN (1) CN112235210B (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860249A (en) * 2021-03-10 2021-05-28 上海交通大学 Modular implementation system of intelligent driving domain controller software
CN113022478A (en) * 2021-03-23 2021-06-25 阿尔特汽车技术股份有限公司 Design method of domain controller for vehicle, domain controller and vehicle
CN113734072A (en) * 2021-09-15 2021-12-03 重庆长安汽车股份有限公司 Open interface control system of automobile body area and vehicle
CN114285693A (en) * 2021-12-23 2022-04-05 延锋伟世通电子科技(上海)有限公司 Implementation method and system for flexray hardware buffer multiplexing of Autosar network
CN114578776A (en) * 2022-03-09 2022-06-03 武汉理工大学 Topological structure and system of electronic and electrical architecture of remote control system for inland ships
CN114629773A (en) * 2022-03-17 2022-06-14 奥特酷智能科技(南京)有限公司 Domain-controlled vehicle-mounted network communication architecture based on virtualization layer
CN114884907A (en) * 2022-04-19 2022-08-09 中汽创智科技有限公司 Communication method, device, system, equipment and medium based on automatic driving
CN114924916A (en) * 2022-05-09 2022-08-19 广州小鹏汽车科技有限公司 System architecture, vehicle, control method, and storage medium
CN114954305A (en) * 2022-06-01 2022-08-30 浙江极氪智能科技有限公司 Vehicle domain controller system, decoupling method and medium
CN114968475A (en) * 2022-04-11 2022-08-30 奥特酷智能科技(南京)有限公司 Vehicle-mounted domain control system redundancy design architecture based on virtualization live migration
CN115051778A (en) * 2022-06-07 2022-09-13 西安微电子技术研究所 Linux modular PRP protocol stack system
CN115220417A (en) * 2021-12-08 2022-10-21 广州汽车集团股份有限公司 A vehicle flow collection method and device, and a vehicle flow collection terminal
CN115309715A (en) * 2022-10-12 2022-11-08 亿咖通(湖北)技术有限公司 Inter-domain data access method, vehicle-mounted system, processing equipment and storage medium
CN115412394A (en) * 2022-08-22 2022-11-29 奥特酷智能科技(南京)有限公司 Heterogeneous domain controller inter-core communication method based on AutoSar
CN115848287A (en) * 2022-12-30 2023-03-28 三一电动车科技有限公司 Electrical Architecture and Vehicle
CN117527263A (en) * 2023-12-21 2024-02-06 中国电信股份有限公司技术创新中心 Secure communication method, device, equipment and storage medium between virtual machines
WO2025036222A1 (en) * 2023-08-11 2025-02-20 深圳引望智能技术有限公司 Security protection method, apparatus and system, and intelligent driving device

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005278215A (en) * 2005-04-28 2005-10-06 Hitachi Ltd Communication system and communication method
CN101088260A (en) * 2004-12-28 2007-12-12 松下电器产业株式会社 Communication device, storage medium, integrated circuit, and communication system
US8429675B1 (en) * 2008-06-13 2013-04-23 Netapp, Inc. Virtual machine communication
US9311133B1 (en) * 2014-10-09 2016-04-12 Cisco Technology, Inc. Touchless multi-domain VLAN based orchestration in a network environment
CN106844007A (en) * 2016-12-29 2017-06-13 中国科学院计算技术研究所 A kind of virtual method and system based on spatial reuse
CN107783821A (en) * 2017-01-25 2018-03-09 问众智能信息科技(北京)有限公司 Vehicle-mounted integral virtual method and device
CN108965437A (en) * 2018-07-21 2018-12-07 北京理工大学 Domain framework vehicle netbios, domain cooperative processing method and the domain control device of electric car
CN109515351A (en) * 2018-11-15 2019-03-26 上海赫千电子科技有限公司 Distributed state machine and vehicle-carrying distribution system
CN109800050A (en) * 2018-11-22 2019-05-24 海光信息技术有限公司 A kind of EMS memory management process of virtual machine, device, relevant device and system
US20190361736A1 (en) * 2018-05-25 2019-11-28 Tttech Auto Ag Method, device, and real-time network for highly integrated automotive systems
CN110891023A (en) * 2019-10-31 2020-03-17 上海赫千电子科技有限公司 Signal routing conversion method and device based on priority strategy
US20200125858A1 (en) * 2018-06-29 2020-04-23 Aptiv Technologies Limited Power and Data Center (PDC) for Automotive Applications
CN111216660A (en) * 2020-01-10 2020-06-02 上海掇联电子科技有限公司 Universal electronic and electric framework for new energy automobile
CN111427669A (en) * 2020-04-27 2020-07-17 安谋科技(中国)有限公司 Method, apparatus, medium, and system for managing virtual machines on computer device

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101088260A (en) * 2004-12-28 2007-12-12 松下电器产业株式会社 Communication device, storage medium, integrated circuit, and communication system
JP2005278215A (en) * 2005-04-28 2005-10-06 Hitachi Ltd Communication system and communication method
US8429675B1 (en) * 2008-06-13 2013-04-23 Netapp, Inc. Virtual machine communication
US9311133B1 (en) * 2014-10-09 2016-04-12 Cisco Technology, Inc. Touchless multi-domain VLAN based orchestration in a network environment
CN106844007A (en) * 2016-12-29 2017-06-13 中国科学院计算技术研究所 A kind of virtual method and system based on spatial reuse
CN107783821A (en) * 2017-01-25 2018-03-09 问众智能信息科技(北京)有限公司 Vehicle-mounted integral virtual method and device
US20190361736A1 (en) * 2018-05-25 2019-11-28 Tttech Auto Ag Method, device, and real-time network for highly integrated automotive systems
US20200125858A1 (en) * 2018-06-29 2020-04-23 Aptiv Technologies Limited Power and Data Center (PDC) for Automotive Applications
CN108965437A (en) * 2018-07-21 2018-12-07 北京理工大学 Domain framework vehicle netbios, domain cooperative processing method and the domain control device of electric car
CN109515351A (en) * 2018-11-15 2019-03-26 上海赫千电子科技有限公司 Distributed state machine and vehicle-carrying distribution system
CN109800050A (en) * 2018-11-22 2019-05-24 海光信息技术有限公司 A kind of EMS memory management process of virtual machine, device, relevant device and system
CN110891023A (en) * 2019-10-31 2020-03-17 上海赫千电子科技有限公司 Signal routing conversion method and device based on priority strategy
CN111216660A (en) * 2020-01-10 2020-06-02 上海掇联电子科技有限公司 Universal electronic and electric framework for new energy automobile
CN111427669A (en) * 2020-04-27 2020-07-17 安谋科技(中国)有限公司 Method, apparatus, medium, and system for managing virtual machines on computer device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANG CONGFENG,WAN JIAN , WU HONGYUAN: "Optimized Inter-domain Communications Among Multiple Virtual Machines Based on Shared Memory", 《2015 IEEE 17TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS》 *
李龙飞等: "硬件支持的多虚拟机数据交换及动态带宽分配方法", 《微电子学与计算机》 *
肖文平;杨斌: "基于Android的车载导航系统的研究与设计", 《单片机与嵌入式系统应用》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860249A (en) * 2021-03-10 2021-05-28 上海交通大学 Modular implementation system of intelligent driving domain controller software
CN113022478B (en) * 2021-03-23 2022-07-01 阿尔特汽车技术股份有限公司 Design method of domain controller for vehicle, domain controller and vehicle
CN113022478A (en) * 2021-03-23 2021-06-25 阿尔特汽车技术股份有限公司 Design method of domain controller for vehicle, domain controller and vehicle
CN113734072A (en) * 2021-09-15 2021-12-03 重庆长安汽车股份有限公司 Open interface control system of automobile body area and vehicle
CN113734072B (en) * 2021-09-15 2024-04-09 重庆长安汽车股份有限公司 Vehicle body domain open interface control system and vehicle
CN115220417A (en) * 2021-12-08 2022-10-21 广州汽车集团股份有限公司 A vehicle flow collection method and device, and a vehicle flow collection terminal
CN115220417B (en) * 2021-12-08 2024-01-30 广州汽车集团股份有限公司 A vehicle flow collection method and device, and a vehicle flow collection terminal
CN114285693A (en) * 2021-12-23 2022-04-05 延锋伟世通电子科技(上海)有限公司 Implementation method and system for flexray hardware buffer multiplexing of Autosar network
CN114285693B (en) * 2021-12-23 2023-04-21 延锋伟世通电子科技(上海)有限公司 Implementation method and system for automatic sar network flexray hardware buffer multiplexing
CN114578776B (en) * 2022-03-09 2023-06-20 武汉理工大学 Electronic and Electrical Architecture Topology and System of Remote Control System for Inland Waterships
CN114578776A (en) * 2022-03-09 2022-06-03 武汉理工大学 Topological structure and system of electronic and electrical architecture of remote control system for inland ships
CN114629773A (en) * 2022-03-17 2022-06-14 奥特酷智能科技(南京)有限公司 Domain-controlled vehicle-mounted network communication architecture based on virtualization layer
CN114968475A (en) * 2022-04-11 2022-08-30 奥特酷智能科技(南京)有限公司 Vehicle-mounted domain control system redundancy design architecture based on virtualization live migration
CN114884907A (en) * 2022-04-19 2022-08-09 中汽创智科技有限公司 Communication method, device, system, equipment and medium based on automatic driving
CN114884907B (en) * 2022-04-19 2023-07-25 中汽创智科技有限公司 Communication method, device, system, equipment and medium based on automatic driving
CN114924916A (en) * 2022-05-09 2022-08-19 广州小鹏汽车科技有限公司 System architecture, vehicle, control method, and storage medium
CN114954305A (en) * 2022-06-01 2022-08-30 浙江极氪智能科技有限公司 Vehicle domain controller system, decoupling method and medium
CN115051778B (en) * 2022-06-07 2023-06-27 西安微电子技术研究所 Linux modularized PRP protocol stack system
CN115051778A (en) * 2022-06-07 2022-09-13 西安微电子技术研究所 Linux modular PRP protocol stack system
CN115412394A (en) * 2022-08-22 2022-11-29 奥特酷智能科技(南京)有限公司 Heterogeneous domain controller inter-core communication method based on AutoSar
CN115412394B (en) * 2022-08-22 2023-08-18 奥特酷智能科技(南京)有限公司 Heterogeneous domain controller inter-core communication method based on AutoSar
CN115309715A (en) * 2022-10-12 2022-11-08 亿咖通(湖北)技术有限公司 Inter-domain data access method, vehicle-mounted system, processing equipment and storage medium
CN115848287A (en) * 2022-12-30 2023-03-28 三一电动车科技有限公司 Electrical Architecture and Vehicle
WO2025036222A1 (en) * 2023-08-11 2025-02-20 深圳引望智能技术有限公司 Security protection method, apparatus and system, and intelligent driving device
CN117527263A (en) * 2023-12-21 2024-02-06 中国电信股份有限公司技术创新中心 Secure communication method, device, equipment and storage medium between virtual machines

Also Published As

Publication number Publication date
CN112235210B (en) 2023-01-10

Similar Documents

Publication Publication Date Title
CN112235210B (en) Multi-domain controller virtual machine data communication method and device based on vehicle-mounted Ethernet
CN112153116B (en) Data sharing method for multiple virtual machines of central computing platform based on vehicle-mounted Ethernet
US10127071B2 (en) Virtual switch for multi-compartment mixed critical network communications
EP3748510A1 (en) Network interface for data transport in heterogeneous computing environments
EP3074865B1 (en) Hardware virtualization module for exclusive controlled access to cpu
EP3461086B1 (en) Communication apparatus, communication method and computer-readable medium
EP4160399B1 (en) Method and apparatus for running process
US11836475B2 (en) Electronic control unit, software update method, software update program product and electronic control system
WO2024074090A1 (en) Smart cockpit implementation method, smart cockpit, and computer readable medium
CN111666133A (en) Vehicle-mounted infrastructure for automatically driving vehicle
CN116803067A (en) Communication method and system supporting multiple protocol stacks
US20250028552A1 (en) Inter-application communication method and apparatus, storage medium, and program product
CN111791886A (en) Real-time control system for vehicle and method for performing vehicle control via real-time control system
CN115473811A (en) Network performance optimization method, device, equipment and medium
CN113609494A (en) Software and hardware systems and architecture methods for trusted computing in high-performance scenarios
US20200278897A1 (en) Method and apparatus to provide an improved fail-safe system
CN117407187A (en) Data transmission method and device, multi-core processor and storage medium
US20220269546A1 (en) Control device, method, program, and vehicle
US11580060B2 (en) Policy driven latency control applied to a vehicular real time network apparatus
CN116527745A (en) Multi-virtual machine communication method for automotive centralized EE architecture
US20240411915A1 (en) Vehicle control system, access control device, and access control method
US20250039180A1 (en) Mobility service provision system, in-vehicle system, management server, access control method, and access control program
US20240303103A1 (en) Vehicle-mounted computer, computer execution method, and computer program
US20240101054A1 (en) In-vehicle device and method for starting the same
CN119248697B (en) PCIE SWITCH-based heterogeneous computing system equipment sharing device and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 403, block a, 1018 dongsanliqiao Road, Pudong New Area, Shanghai 200125

Patentee after: Heqian Automotive Technology (Shenzhen) Co.,Ltd.

Country or region after: China

Address before: Room 403, block a, 1018 dongsanliqiao Road, Pudong New Area, Shanghai 200125

Patentee before: SHANGHAI HINGE ELECTRONIC TECHNOLOGIES Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address