Data processing method and system, vehicle machine and storage medium
By configuring virtual network card drivers and shared memory between operating systems, the complexity and security problems of data transmission between operating systems in the prior art are solved, efficient and secure data transmission is achieved, and software complexity and maintenance costs are reduced.
Patent Information
- Application Number
- CN202411839591.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-04-11
AI Technical Summary
In the prior art, when the display data of the application of the operating system A needs to be switched from the on-board physical screen A to the on-board physical screen B associated with the operating system B, it is necessary to configure the hardware network card driver and physical hardware transmission channels at the core layers of each operating system of the vehicle. The configuration process is complex, the labor cost is high, and the data transmission security is low.
A data processing method is provided, by configuring the first virtual network card driver and the second virtual network card driver respectively in the first operating system and the second operating system, and data transmission is transmitted using shared memory, thereby avoiding dependence on the hardware network card driver and the physical hardware transmission channel.
It reduces software complexity and maintenance costs, improves the security and efficiency of data transmission, avoids frequent process context switching, improves operational efficiency and saves performance overhead.
Smart Images

Figure CN119806863A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent vehicle technology, and in particular to a data processing method, system, vehicle computer and storage medium. Background Art
[0002] With the development of science and technology, the functions of automobiles are showing a trend of diversification. For example, a physical screen can be installed in the main driver's seat, the co-driver's seat and the back row of the car. The physical screen installed in the main driver's seat can display navigation information of the navigation application, instrument information of the instrument application, control information of the intelligent control application (such as window adjustment buttons, sunroof adjustment buttons, etc.), music information of the music application, web page information of the browser application, etc.; the physical screen installed in the co-driver's seat or the back row can display web page information of the browser application, music information of the music application, control information of the intelligent control application, etc. Usually, due to the large number of applications installed in the car computer, more computing resources are required. In order to avoid the car computer from crashing during operation, multiple operating systems can be run on the virtual machine / virtual machine monitor of the car computer, and different operating systems are used to run different applications.
[0003] At present, when the data of the application program of operating system A needs to be transferred to operating system B for processing, the data transmission can be performed based on the Virtio-net driver. However, the current method of using the Virtio-net driver for data transmission has the following problems: the use of the virtio-net driver for data transmission requires the virtualization platform to support the virtio standard. For example, taking the Linux operating system as an example, it is necessary to enable the Virtio-related configuration macros in the kernel configuration file, and the virtualization monitor (Hypervisor) needs to support the Virtio transmission protocol (Virtio-MMIO, Virtio-PCI), etc., which makes the software design complex. In addition, since the Virtio standard defines a set of complex I / O communication protocols for transmitting data between VMs, while the Virtio protocol bridges the differences between different virtual devices, it will bring certain performance overhead. Furthermore, Virtio-net relies on the simulation program in the back-end user state, that is, when the user state service program needs to be run to receive the request of the front-end virtual device, the software complexity and performance overhead are further increased. Summary of the invention
[0004] The present application provides a data processing method, system, vehicle computer and storage medium, which are used to solve the problem in the prior art that when the display data of an application program of operating system A needs to be switched from a vehicle-mounted physical screen A to a vehicle-mounted physical screen B that is displaying associated data of operating system B, it is necessary to configure a hardware network card driver and a configuration file corresponding to a physical hardware transmission channel at the kernel layer of each operating system of the vehicle computer, and the configuration process is complicated and cumbersome, the labor cost is high, and the data transmission security is low.
[0005] In a first aspect, the present application provides a data processing method, which is applied to a data processing system, wherein the data processing system includes a first operating system and a second operating system, wherein the first operating system is configured with a first virtual network card driver, and the second operating system is configured with a second virtual network card driver. The method provided by the present application includes:
[0006] In response to a first data processing request for a first application in a first operating system, the first virtual network card driver writes the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory, wherein the first data processing request is associated with the second operating system;
[0007] In the second operating system, the second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the first storage address;
[0008] The second operating system performs data processing on the to-be-transmitted data associated with the first data processing request.
[0009] In some implementations, the first virtual network card driver writes the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory; and in the second operating system, the second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the first storage address, including:
[0010] The first operating system writes the data to be transmitted into a first storage address of a preset first shared memory through a first virtual network card driver;
[0011] The virtual machine monitor captures an abnormal signal generated by the first operating system;
[0012] The second operating system receives a target notification message generated by the virtual machine monitor parsing the abnormal signal, where the target notification message is used to indicate that the data to be transmitted has been written into the first storage address;
[0013] In response to the target notification message, the second operating system triggers the second virtual network card driver to read the data to be transmitted from the first storage address to the second operating system.
[0014] In some implementations, the first virtual network card driver writes the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory, including:
[0015] In the first operating system, according to the pre-stored identifier of the first virtual network card driver and the first mapping relationship, a first storage address of the preset first shared memory is found;
[0016] The first virtual network card driver writes the data to be transmitted associated with the first data processing request into the found first storage address;
[0017] In the second operating system, the second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the first storage address, including:
[0018] In the second operating system, according to the pre-stored identifier of the second virtual network card driver and the second mapping relationship, a first storage address of the preset first shared memory is found;
[0019] The second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the found first storage address into the second operating system.
[0020] In some implementations, before or after the second operating system processes the data to be transmitted associated with the first data processing request, the method further includes:
[0021] In response to a second data processing request for a second application in the second operating system, the second virtual network card driver writes the to-be-transmitted data associated with the second data processing request into a second storage address of a second storage space of the shared memory, wherein the second data processing request is associated with the second operating system;
[0022] In the first operating system, the first virtual network card driver reads the to-be-transmitted data associated with the second data processing request from the second storage address;
[0023] The first operating system performs data processing on the to-be-transmitted data associated with the second data processing request.
[0024] In some embodiments, the data processing system further includes a third operating system, the third operating system is configured with a third virtual network card driver, and after the second operating system performs data processing on the data to be transmitted associated with the first data processing request, the method further includes:
[0025] In response to a third data processing request for a third application in the first operating system, the first virtual network card driver writes the to-be-transmitted data associated with the third data processing request into a third storage address of the first storage space of the preset second shared memory, wherein the third data processing request is associated with the third operating system;
[0026] In the third operating system, the third virtual network card driver reads the to-be-transmitted data associated with the third data processing request from the third storage address;
[0027] The third operating system performs data processing on the to-be-transmitted data associated with the third data processing request.
[0028] In some implementations, the second operating system performing data processing on the data to be transmitted associated with the first data processing request includes:
[0029] In the second operating system, unpacking the data packet to be transmitted according to the network protocol stack of the second operating system to obtain unpacked data to be processed;
[0030] The unpacked data to be processed is transferred to the application associated with the first data processing request in the second operating system for processing.
[0031] In some implementations, the first data processing request is triggered by a user clicking a target control in a target operation interface of the first application, or is received from an external terminal.
[0032] In a second aspect, the present application further provides a data processing system, including a first operating system and a second operating system, wherein the first operating system is configured with a first virtual network card driver, and the second operating system is configured with a second virtual network card driver, wherein:
[0033] The first operating system is used to trigger the first virtual network card driver to write the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory in response to a first data processing request for a first application in the first operating system, wherein the first data processing request is associated with the second operating system;
[0034] The second operating system is used to trigger the second virtual network card driver to read the to-be-transmitted data associated with the first data processing request from the first storage address; and perform data processing on the to-be-transmitted data associated with the first data processing request.
[0035] In a third aspect, the present application provides a vehicle computer, including:
[0036] processor;
[0037] a memory for storing processor-executable instructions;
[0038] Among them, the processor is configured to execute instructions to implement the data processing method provided in the first aspect of this application.
[0039] In a fourth aspect, the present application also provides a storage medium. When the instructions in the storage medium are executed by the processor of the vehicle computer, the vehicle computer can execute the data processing method provided in the first aspect of the present application.
[0040] The present application provides a data processing method, system, vehicle computer and storage medium, which can respond to a first data processing request for a first application in a first operating system, and the first virtual network card driver writes the data to be transmitted associated with the first data processing request into the first storage address of the first storage space of the preset first shared memory, wherein the first data processing request is associated with the second operating system; in the second operating system, the second virtual network card driver reads the data to be transmitted associated with the first data processing request from the first storage address; the second operating system performs data processing on the data to be transmitted associated with the first data processing request. It can be seen that the above-mentioned data transmission process is based on the transmission of the first virtual network card driver and the second virtual network card driver, and only requires one network card driver, so it does not rely on any open protocol, so there is no need to configure redundant configuration files and bridge the differences between different virtual devices, which greatly reduces the complexity of the software and the maintenance cost of the software. In addition, the first virtual network card driver and the second virtual network card driver are the same, so there is no need to distinguish between the front and back ends between the first operating system and the second operating system, nor is it necessary to rely on the user-mode service processes in the first operating system and the second operating system, which avoids frequent process context switching, greatly improves the operating efficiency and saves performance overhead. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0042] Figure 1 A software architecture block diagram of a cockpit control chip of a vehicle computer provided in an embodiment of the present application;
[0043] Figure 2 One of the flow charts of the data processing method provided in the embodiment of the present application;
[0044] Figure 3 A schematic diagram of the distribution of the first storage space of the shared memory provided in an embodiment of the present application;
[0045] Figure 4The second flowchart of the data processing method provided in the embodiment of the present application;
[0046] Figure 5 Flowchart 3 of the data processing method provided in the embodiment of the present application;
[0047] Figure 6 Flow chart 4 of the data processing method provided in the embodiment of the present application;
[0048] Figure 7 A functional module block diagram of a data processing device provided in an embodiment of the present application;
[0049] Figure 8 A block diagram of the functional modules of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0050] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0051] Various structural schematic diagrams according to embodiments of the present disclosure are shown in the accompanying drawings. These figures are not drawn to scale, and some details are magnified and some details may be omitted for the purpose of clear expression. The shapes of various regions and layers shown in the figures and the relative sizes and positional relationships therebetween are only exemplary, and may deviate in practice due to manufacturing tolerances or technical limitations, and those skilled in the art may further design regions / layers with different shapes, sizes, and relative positions according to actual needs.
[0052] In the context of the present disclosure, when a layer / element is referred to as being "on" another layer / element, the layer / element may be directly on the other layer / element or an intervening layer / element may exist therebetween. In addition, if a layer / element is "on" another layer / element in one orientation, the layer / element may be "below" the other layer / element when the orientation is reversed.
[0053] First, the terms involved in this application are explained:
[0054] The host virtual machine (HVM) runs on the virtual machine / virtual machine monitor, and most of the vehicle's hardware resources are allocated to the host operating system. The host operating system is used to install applications related to driving functions (such as navigation applications, instrument applications, and intelligent control applications).
[0055] The guest virtual machine (GVM) runs on a virtual machine / virtual machine monitor, and a small portion of the vehicle's hardware resources are allocated to the main operating system. The guest operating system is used to install applications related to entertainment functions (such as music applications, browser applications, etc.).
[0056] The following is a detailed description of the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0057] An embodiment of the present application provides a data processing method, which is applied to a data processing system, and the data processing system includes a first operating system and a second operating system. The first operating system and the second operating system are loaded on the cockpit control chip of the vehicle computer. The cockpit control chip of the vehicle computer is respectively connected to the first vehicle-mounted physical screen, the second vehicle-mounted physical screen and the shared memory 301, and the cockpit control chip of the vehicle computer is installed with the first operating system and the second operating system. The first vehicle-mounted physical screen displays the data to be transmitted of the first application running on the first operating system. For example, the data to be transmitted may be display data associated with the instrument application, and the second display data may be but is not limited to data associated with the navigation application. The second vehicle-mounted physical screen displays the second display data associated with the second operating system. The first operating system may be but is not limited to a client operating system, and the second operating system may be but is not limited to a main operating system.
[0058] The main operating system and the client operating system are divided into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the main operating system can be divided into four layers, namely, application layer (applications), framework layer (application framework), hardware abstract layer (HAL) and kernel layer (kernel).
[0059] Among them, Figure 1As shown, the application layer of the main operating system is installed with multiple applications associated with driving functions (such as navigation applications, instrument applications, and intelligent control applications). For example, the navigation application can be used to display road condition information, vehicle driving path information, etc., the instrument application can be used to display vehicle speed information, fuel information, vehicle acceleration information, etc., and the intelligent control application can be used to display window control buttons, door control buttons, seat control buttons, etc. The framework layer of the main operating system includes a graphics synthesizer, which is used to synthesize display data of different applications. For example, when the client operating system is an Android operating system, the graphics synthesizer is weston; the kernel layer of the main operating system includes a first virtual network card driver.
[0060] Still Figure 1 As shown, the application layer of the client operating system is used to install applications associated with entertainment functions (such as music applications, browser applications, etc.), and the framework layer of the client operating system includes a graphics synthesizer, which is used to synthesize the data to be displayed from each application in the application layer. For example, when the client operating system is an Android operating system, the graphics synthesizer is SurfaceFlinger, and the kernel layer of the client operating system includes a second virtual network card driver.
[0061] Specifically, Figure 2 As shown, the data processing method provided in the embodiment of the present application includes:
[0062] S201: In response to a first data processing request for a first application in a first operating system, a first virtual network card driver writes to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory.
[0063] The first data processing request is associated with the second operating system. It should be noted that, exemplarily, the first data processing request may be triggered by a user clicking a target control in a target operation interface of the first application, or may be received from an external terminal, etc., which is not limited here.
[0064] S202: In the second operating system, the second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the first storage address.
[0065] Specifically, in some implementations, the above S201-S202 may be specifically implemented as follows:
[0066] The first operating system writes the data to be transmitted into a first storage address of a preset first shared memory through a first virtual network card driver; the virtual machine monitor captures an abnormal signal generated by the first operating system; the second operating system receives a target notification message generated by the virtual machine monitor parsing the abnormal signal, and the target notification message is used to indicate that the data to be transmitted has been written into the first storage address; and the second operating system responds to the target notification message to trigger the second virtual network card driver to read the data to be transmitted from the first storage address to the second operating system.
[0067] Specifically, in some other embodiments, the above-mentioned S201-S202 can also be specifically implemented as follows: in the first operating system, according to the pre-stored identifier of the first virtual network card driver and the first mapping relationship, the first storage address of the preset first shared memory is found; the first virtual network card driver writes the data to be transmitted associated with the first data processing request into the found first storage address; in the second operating system, according to the pre-stored identifier of the second virtual network card driver and the second mapping relationship, the first storage address of the preset first shared memory is found; the second virtual network card driver reads the data to be transmitted associated with the first data processing request from the found first storage address to the second operating system.
[0068] It should be noted that if Figure 3 As shown, the first storage space of the shared memory 301 is specifically used for the first operating system and the second operating system to transmit data. The first storage address is specifically used for data written into the first operating system. In this way, the probability of leakage of the data to be transmitted in the first operating system written into the first storage address can be low and the security is high. Specifically, the size of the first storage space occupied by the first storage address is 0×7F000, which shows that the first storage address occupies 58K of the first storage space.
[0069] Still Figure 3 As shown, the second storage address is specifically used for data written into the second operating system. In this way, the probability of data leakage in the second operating system written into the second storage address can be low and the security is high. Specifically, the size occupied by the second storage address in the first storage space can be 0×7F000, that is, the second storage address occupies 58K of the first storage space.
[0070] In addition, the shared memory 301 further includes a fourth storage address, which is used to record the status of the first storage address and the second storage address. The size of the first storage space occupied by the fourth storage address may be 0×1000.
[0071] S203: The second operating system processes the data to be transmitted associated with the first data processing request.
[0072] Specifically, in the second operating system, the data packet is unpacked for transmission according to the network protocol stack of the second operating system to obtain unpacked data to be processed; the unpacked data to be processed is passed to the application associated with the first data processing request in the second operating system for processing.
[0073] A data processing method provided by an embodiment of the present application can respond to a first data processing request for a first application in a first operating system, and the first virtual network card driver writes the data to be transmitted associated with the first data processing request into the first storage address of the first storage space of the preset first shared memory, wherein the first data processing request is associated with the second operating system; in the second operating system, the second virtual network card driver reads the data to be transmitted associated with the first data processing request from the first storage address; the second operating system performs data processing on the data to be transmitted associated with the first data processing request. It can be seen that the above-mentioned data transmission process is based on the transmission of the first virtual network card driver and the second virtual network card driver, and only requires one network card driver, so it does not rely on any open protocol, so there is no need to configure redundant configuration files and bridge the differences between different virtual devices, which greatly reduces the complexity of the software and the maintenance cost of the software. In addition, the first virtual network card driver and the second virtual network card driver are the same, so there is no need to distinguish between the front and back ends between the first operating system and the second operating system, nor is it necessary to rely on the user-mode service processes in the first operating system and the second operating system, which avoids frequent process context switching, greatly improves the operating efficiency and saves performance overhead.
[0074] Further, before or after S203, the method provided by the embodiment of the present application may also include: in response to a second data processing request for a second application in a second operating system, the second virtual network card driver writes the data to be transmitted associated with the second data processing request to a second storage address of a second storage space of the shared memory, wherein the second data processing request is associated with the second operating system; in the first operating system, the first virtual network card driver reads the data to be transmitted associated with the second data processing request from the second storage address; and the first operating system performs data processing on the data to be transmitted associated with the second data processing request.
[0075] Similar to the technical solutions and technical effects of S201 to S203 described above, data in the second operating system can also be transferred to the first operating system.
[0076] In addition, the cockpit control chip of the vehicle computer is also loaded with a third operating system, and the third operating system is configured with a third virtual network card driver. After S203, the method provided in the embodiment of the present application may also include: in response to a third data processing request for a third application in the first operating system, the first virtual network card driver writes the data to be transmitted associated with the third data processing request into a third storage address of the first storage space of the preset second shared memory, wherein the third data processing request is associated with the third operating system; in the third operating system, the third virtual network card driver reads the data to be transmitted associated with the third data processing request from the third storage address; the third operating system performs data processing on the data to be transmitted associated with the third data processing request.
[0077] Similar to the technical solutions and technical effects of S201-S203 above, when the cockpit control chip of the vehicle computer is also equipped with a third operating system, data in the first operating system can also be transferred to the third operating system. In addition, when data needs to be transferred between the second operating system and the third operating system, an additional third shared memory needs to be added for data transmission.
[0078] In the following, the data to be transmitted is the display data of the first vehicle display screen as an example, and combined with Figure 4 The specific implementation process of an example of the technical solution of this application is described. Figure 4 As shown, the method provided in the embodiment of the present application includes:
[0079] S401 : In response to a first screen switching instruction input by a user for data to be transmitted, a first virtual network card driver writes the data to be transmitted into a first storage address of a first storage space of a preset first shared memory 301 .
[0080] Exemplarily, the first screen switching instruction is triggered after receiving a user input on the first vehicle-mounted physical screen to drag the data to be transmitted in the direction of the second vehicle-mounted physical screen; or, the first screen switching instruction is triggered after receiving a user input for instructing to switch the data to be transmitted to the second vehicle-mounted physical screen for display.
[0081] Furthermore, in the first operating system, the first storage address of the preset first shared memory 301 can be found according to the pre-stored identifier of the first virtual network card driver and the first mapping relationship, and the data to be transmitted can be written into the found first storage address.
[0082] S402: The second virtual network card driver reads the data to be transmitted from the first storage address to the second operating system.
[0083] Furthermore, in the second operating system, the first storage address of the preset first shared memory 301 can be found according to the pre-stored identifier of the second virtual network card driver and the second mapping relationship, and the data to be transmitted can be read from the found first storage address into the second operating system.
[0084] It can be understood that based on the above S401-S402, the data to be transmitted in the first operating system can be transferred to the second operating system.
[0085] S403: In the second operating system, first fused data to be displayed is generated according to the data to be transmitted and the second display data.
[0086] Specifically, the data to be transmitted are at least associated with a display position, a display size, a display color, and a stacking relationship with other data to be displayed. Furthermore, according to the display position, display size, display color, and stacking relationship associated with the data to be transmitted, the data to be transmitted and the second display data can be synthesized using a graphics synthesizer of the second operating system.
[0087] For example, the data to be transmitted may be navigation data of a navigation application, and the second display data may be instrument data of an instrument application. The navigation data carries display position 1, display size 1, and display color 1; the instrument data carries display position 2, display size 2, and display color 2; the overlapping relationship between the navigation data and the instrument data is that the navigation data is suspended above the instrument data.
[0088] S404: The second operating system transmits the first fused data to be displayed to the second vehicle-mounted physical screen for display.
[0089] In this way, the user can also browse the first fused data to be displayed including the data to be transmitted on the second vehicle-mounted physical screen, which is convenient and quick.
[0090] In addition, similarly, in some embodiments, the second vehicle-mounted physical screen also displays third display data of the second application running on the second operating system, and the first vehicle-mounted physical screen also displays fourth display data associated with the second operating system. For example, the third display data may be lyrics data of a music application, and the fourth display data may be web page data of a browser. After S404, if Figure 5 As shown, the method provided in the embodiment of the present application may also include:
[0091] S501 : In response to a second screen switching instruction input by a user for third display data, a second virtual network card driver writes the third display data into a second storage address of a first storage space of a preset first shared memory 301 .
[0092] The second screen switching instruction is used to instruct to switch the third display data to the first vehicle-mounted physical screen for display.
[0093] S502: The first virtual network card driver reads the third display data from the second storage address into the first operating system.
[0094] It should be noted that the second storage address is also used specifically for the first operating system to read display data. In this way, the probability of leakage of the third display data located in the second storage address read by the first operating system is low and the security is high.
[0095] S503: In the first operating system, second fused data to be displayed is generated according to the third display data and the fourth display data.
[0096] S504: The first operating system transmits the second fused data to be displayed to the first vehicle-mounted physical screen for display.
[0097] It should be noted that the principle of the above S503 - S504 is the same as the principle of the above S203 , and will not be elaborated here.
[0098] It can be understood that based on the above S501-S504, it can be achieved that the third display data in the second operating system is safely and real-timely transmitted to the first operating system, which is convenient and fast.
[0099] In addition, similarly, in some other embodiments, the cockpit control chip of the vehicle computer is also communicatively connected to a third vehicle-mounted physical screen, the cockpit control chip of the vehicle computer is also loaded with a third operating system, the first vehicle-mounted physical screen also displays fifth display data of a third application program running on the first operating system, and the third vehicle-mounted physical screen also displays sixth display data associated with the third operating system. Figure 6 As shown, the method provided in the embodiment of the present application also includes:
[0100] S601: In response to a third screen switching instruction input by the user for the fifth display data, the first virtual network card driver writes the fifth display data into a third storage address of the second storage space of the preset first shared memory 301, wherein the third screen switching instruction is used to instruct to switch the fifth display data to the third vehicle-mounted physical screen display.
[0101] It should be noted that the principle of S601 is the same as that of the above-mentioned S501, which will not be described in detail here.
[0102] S602: The third virtual network card driver of the third operating system reads the fifth display data from the third storage address into the third operating system.
[0103] It should be noted that the principle of S602 is the same as that of the above-mentioned S502, which will not be described in detail here.
[0104] S603: In the third operating system, generate third fused data to be displayed according to the fifth display data and the sixth display data.
[0105] It should be noted that the principle of S603 is the same as that of the above-mentioned S503, which will not be described in detail here.
[0106] S604: The third operating system transmits the third fused data to be displayed to the third vehicle-mounted physical screen for display.
[0107] It should be noted that the principle of S604 is the same as that of the above-mentioned S504, which will not be described in detail here.
[0108] In addition, an embodiment of the present application further provides a data processing system, including a first operating system and a second operating system, wherein the first operating system is configured with a first virtual network card driver, and the second operating system is configured with a second virtual network card driver, wherein:
[0109] The first operating system is used to trigger the first virtual network card driver to write the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory in response to a first data processing request for a first application in the first operating system, wherein the first data processing request is associated with the second operating system;
[0110] The second operating system is used to trigger the second virtual network card driver to read the to-be-transmitted data associated with the first data processing request from the first storage address; and perform data processing on the to-be-transmitted data associated with the first data processing request.
[0111] See also Figure 7 The embodiment of the present application also provides a data processing device 700, which is configured in the cockpit control chip of the vehicle computer. The cockpit control chip of the vehicle computer is respectively connected to the first vehicle-mounted physical screen, the second vehicle-mounted physical screen and the shared memory. The cockpit control chip of the vehicle computer is loaded with the first operating system and the second operating system that carry the data processing device 700. The first operating system is configured with a first virtual network card driver, and the second operating system is configured with a second virtual network card driver. The device 700 provided in the embodiment of the present application includes a data writing unit 701, a data reading unit 702 and a data processing unit 703, wherein,
[0112] The data writing unit 701 is used to respond to a first data processing request for a first application in a first operating system, and write the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory based on a first virtual network card driver, wherein the first data processing request is associated with a second operating system.
[0113] Specifically, the first data processing request is triggered by a user clicking a target control in a target operation interface of the first application, or is received from a peripheral terminal.
[0114] The data reading unit 702 is used to read the to-be-transmitted data associated with the first data processing request from the first storage address based on the second virtual network card driver in the second operating system;
[0115] The data processing unit 703 is configured to process the to-be-transmitted data associated with the first data processing request based on the second operating system.
[0116] In a possible implementation, the data writing unit 701 is specifically used to write the data to be transmitted into the first storage address of the preset first shared memory through the first virtual network card driver based on the first operating system; and to capture the abnormal signal generated by the first operating system based on the virtual machine monitor. The data reading unit 702 is specifically used to receive the target notification message generated by the virtual machine monitor parsing the abnormal signal based on the second operating system, and the target notification message is used to indicate that the data to be transmitted has been written into the first storage address; and the second operating system responds to the target notification message and reads the data to be transmitted from the first storage address to the second operating system based on the second virtual network card driver.
[0117] In a possible implementation, the data writing unit 701 is specifically used to find the first storage address of the preset first shared memory in the first operating system according to the pre-stored identifier of the first virtual network card driver and the first mapping relationship; based on the first virtual network card driver, the data to be transmitted associated with the first data processing request is written into the found first storage address.
[0118] In another possible implementation, the data reading unit 702 is specifically used to find the first storage address of the preset first shared memory in the second operating system according to the pre-stored identifier of the second virtual network card driver and the second mapping relationship; and read the data to be transmitted associated with the first data processing request from the found first storage address to the second operating system based on the second virtual network card driver.
[0119] In a possible implementation, the data writing unit 701 is further used to respond to a second data processing request for a second application in a second operating system, and write the to-be-transmitted data associated with the second data processing request to a second storage address of a second storage space of a shared memory based on a second virtual network card driver, wherein the second data processing request is associated with the second operating system. The data reading unit 702 is further used to read the to-be-transmitted data associated with the second data processing request from the second storage address based on the first virtual network card driver in the first operating system. The data processing unit 703 is further used to perform data processing on the to-be-transmitted data associated with the second data processing request based on the first operating system.
[0120] In a possible implementation, the cockpit control chip of the vehicle computer is also installed with a third operating system, and the third operating system is configured with a third virtual network card driver.
[0121] The data writing unit 701 is further used to respond to a third data processing request for a third application in the first operating system, and write the to-be-transmitted data associated with the third data processing request to a third storage address of the first storage space of the preset first shared memory based on the first virtual network card driver, wherein the third data processing request is associated with the third operating system. The data reading unit 702 is further used to read the to-be-transmitted data associated with the third data processing request from the third storage address based on the third virtual network card driver in the third operating system. The data processing unit 703 is further used to perform data processing on the to-be-transmitted data associated with the third data processing request based on the third operating system.
[0122] In a possible implementation, the data processing unit 703 is specifically configured to unpack the data packet to be transmitted according to the network protocol stack of the second operating system in the second operating system to obtain the unpacked data to be processed;
[0123] The unpacked data to be processed is transferred to the application associated with the first data processing request in the second operating system for processing.
[0124] Figure 7 8 is a block diagram of a vehicle computer according to an exemplary embodiment. The vehicle computer may include one or more of the following components: a cabin control chip 802 of the vehicle computer, a memory 804, a power component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.
[0125] The cockpit control chip 802 of the vehicle machine generally controls the overall operation of the device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The cockpit control chip 802 of the vehicle machine may include one or more processors 920 to execute instructions to complete all or part of the steps of the above method. For example, the cockpit control chip of the vehicle machine may include a central processing unit CPU, a graphics processing unit GPU, and a display processor DPU. In addition, the cockpit control chip 802 of the vehicle machine may include one or more modules (such as a physical transmission channel) to facilitate the interaction between the cockpit control chip 802 of the vehicle machine and other components. For example, the cockpit control chip 802 of the vehicle machine may include a multimedia module to facilitate the interaction between the multimedia component 808 and the cockpit control chip 802 of the vehicle machine.
[0126] The memory 804 is configured to store various types of data to support operations on the device 800. Examples of such data include instructions for any application or method operating on the device 800, data to be displayed, messages, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0127] The power supply component 806 provides power to the various components of the device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 800.
[0128] The multimedia component 808 includes a screen that provides an output interface between the device 800 and the user. In an embodiment of the present application, the screen includes multiple in-vehicle physical screens. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor can not only sense the boundaries of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.
[0129] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the device 800 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.
[0130] The I / O interface 812 provides an interface between the cabin control chip 802 of the vehicle and the peripheral interface module, which may be a keyboard, a click wheel, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0131] The sensor assembly 814 includes one or more sensors for providing various aspects of the status assessment of the device 800. For example, the sensor assembly 814 can detect the open / closed state of the device 800, the relative positioning of components, such as the display and keypad of the device 800, the sensor assembly 814 can also detect the position change of the device 800 or a component of the device 800, the presence or absence of user contact with the device 800, the orientation or acceleration / deceleration of the device 800, and the temperature change of the device 800.
[0132] The communication component 816 is configured to facilitate wired or wireless communication between the apparatus 800 and other devices. The apparatus 800 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel.
[0133] In an exemplary embodiment, the apparatus 800 may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the above method.
[0134] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by a cabin control chip 802 of a vehicle computer of the apparatus 800 to complete the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a tape, a floppy disk, and an optical data storage device. When the instructions in the non-transitory computer-readable storage medium are executed by a processor of the vehicle computer, the vehicle computer can execute Figure 2The data processing method shown.
[0135] The present application also provides a computer program product, including a computer program, which, when executed by a processor, Figure 2 The data processing method shown.
[0136] In the above description, the technical details such as the patterning of each layer are not described in detail. However, those skilled in the art should understand that various technical means can be used to form layers, regions, etc. of desired shapes. In addition, in order to form the same structure, those skilled in the art can also design methods that are not completely the same as the methods described above. In addition, although the various embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage.
[0137] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0138] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A data processing method, characterized in that: Applied to a data processing system, the data processing system includes a first operating system and a second operating system, the first operating system is configured with a first virtual network card driver, and the second operating system is configured with a second virtual network card driver, the method includes: In response to a first data processing request for a first application in the first operating system, the first virtual network card driver writes the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory, wherein the first data processing request is associated with the second operating system; In the second operating system, the second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the first storage address; The second operating system performs data processing on the to-be-transmitted data associated with the first data processing request.
2. The method according to claim 1, characterized in that The first virtual network card driver writes the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory; In the second operating system, the second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the first storage address, including: The first operating system writes the data to be transmitted into a first storage address of a preset first shared memory through the first virtual network card driver; The virtual machine monitor captures an abnormal signal generated by the first operating system; The second operating system receives a target notification message generated by the virtual machine monitor parsing the abnormal signal, where the target notification message is used to indicate that the data to be transmitted has been written into the first storage address; The second virtual network card driver reads the data to be transmitted from the first storage address to the second operating system in response to the target notification message.
3. The method according to claim 1, characterized in that The first virtual network card driver writes the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory, including: In the first operating system, according to the pre-stored identifier of the first virtual network card driver and the first mapping relationship, a first storage address of the preset first shared memory is found; The first virtual network card driver writes the data to be transmitted associated with the first data processing request into the found first storage address; The second virtual network card driver, in the second operating system, reads the to-be-transmitted data associated with the first data processing request from the first storage address, including: In the second operating system, according to the pre-stored identifier of the second virtual network card driver and the second mapping relationship, searching for the first storage address of the preset first shared memory; The second virtual network card driver reads the to-be-transmitted data associated with the first data processing request from the found first storage address into the second operating system.
4. The method according to claim 1, characterized in that: Before or after the second operating system processes the to-be-transmitted data associated with the first data processing request, the method further includes: In response to a second data processing request for a second application in the second operating system, the second virtual network card driver writes the to-be-transmitted data associated with the second data processing request into a second storage address of a second storage space of the shared memory, wherein the second data processing request is associated with the second operating system; In the first operating system, the first virtual network card driver reads the to-be-transmitted data associated with the second data processing request from the second storage address; The first operating system performs data processing on the to-be-transmitted data associated with the second data processing request.
5. The method according to claim 1, characterized in that The data processing system further includes a third operating system, the third operating system is configured with a third virtual network card driver, and after the second operating system processes the data to be transmitted associated with the first data processing request, the method further includes: In response to a third data processing request for a third application in the first operating system, the first virtual network card driver writes the to-be-transmitted data associated with the third data processing request into a third storage address of a first storage space of a preset second shared memory, wherein the third data processing request is associated with the third operating system; In the third operating system, the third virtual network card driver reads the to-be-transmitted data associated with the third data processing request from the third storage address; The third operating system performs data processing on the to-be-transmitted data associated with the third data processing request.
6. The method according to any one of claims 1 to 5, characterized in that: The second operating system performs data processing on the to-be-transmitted data associated with the first data processing request, including: In the second operating system, unpacking the data packet to be transmitted according to the network protocol stack of the second operating system to obtain unpacked data to be processed; The unpacked data to be processed is transferred to an application associated with the first data processing request in the second operating system for processing.
7. The method according to any one of claims 1 to 5, characterized in that: The first data processing request is triggered by a user clicking a target control in a target operation interface of the first application, or is received from an external terminal.
8. A data processing system, characterized in that: It includes a first operating system and a second operating system, wherein the first operating system is configured with a first virtual network card driver, and the second operating system is configured with a second virtual network card driver, wherein: The first operating system is used to trigger the first virtual network card driver to write the to-be-transmitted data associated with the first data processing request into a first storage address of a first storage space of a preset first shared memory in response to a first data processing request for a first application in the first operating system, wherein the first data processing request is associated with the second operating system; The second operating system is used to trigger the second virtual network card driver to read the data to be transmitted associated with the first data processing request from the first storage address; and perform data processing on the data to be transmitted associated with the first data processing request.
9. A vehicle computer, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the data processing method according to any one of claims 1 to 7. 10 . A storage medium, when instructions in the storage medium are executed by a processor of a vehicle computer, the vehicle computer is enabled to execute the data processing method according to any one of claims 1 to 7.