Vehicle-mounted screen event distribution method based on Hypervisor

By assigning values ​​to screen events and the transmission channel of each operating system and distributing data packets to the corresponding operating system domain, the compatibility and maintenance difficulty of screen event data distribution in on-board systems are solved, and the distribution effect of high compatibility and simplified operations is achieved.

CN119883676APending Publication Date: 2025-04-25BEI DOU ZHI LIAN KE JI YOU XIAN GONG SI +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411944622.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In the intelligent on-board system of automobiles, screen event data needs to be distributed to multiple operating systems, resulting in poor compatibility, redundant operational processes and difficult maintenance.

Method used

By assigning values ​​to screen events and each transmission channel of each operating system, screen event data is filled into the data packet, and the domain corresponding to the operating system is determined based on all transmission channels of the operating system, and the data packet is distributed to the operating system in the domain.

Benefits of technology

The distribution of multi-screen events and multi-channels is realized, which improves distribution compatibility, simplifies operational processes and reduces maintenance difficulties.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883676A_ABST
    Figure CN119883676A_ABST
Patent Text Reader

Abstract

The invention provides a vehicle-mounted screen event distribution method based on Hypervisor, and the method comprises the steps: carrying out the assignment of a corresponding screen event according to the event type of each screen event for a plurality of screen events, carrying out the assignment of each transmission channel of each operation system for a plurality of operation systems in the Hypervisor, obtaining a preset data package, and transmitting the preset data package to a server; and in response to the received screen event data corresponding to the screen event, filling the screen event data into a data packet, determining a domain corresponding to the operating system based on all transmission channels of the operating system, and distributing the data packet to the operating system in the domain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle computer technology, and in particular to a method for distributing vehicle screen events based on a Hypervisor. Background Art

[0002] With the continuous development of automobile intelligence, the car screen has more and more functions, and at the same time, there are high requirements for the stability and safety of the screen. For the safety and entertainment of the car, the screen has a variety of screen event data that needs to be transmitted to the host's soc (system on chip), such as touch data, brightness data, screen temperature data, gesture recognition data, etc.

[0003] At present, in the intelligent vehicle-mounted system, Hypervisor and multiple operating systems are often involved. Therefore, screen event data needs to be distributed and transmitted to different operating systems.

[0004] However, for in-vehicle application scenarios with diverse screen event data and diverse system targets for distribution and transmission, the compatibility is poor, as each type of screen event data needs to be processed separately and distributed to each in-vehicle system target separately. At the same time, the operating process is redundant and maintenance is difficult. Summary of the invention

[0005] In view of this, the purpose of this application is to provide a vehicle-mounted screen event distribution method based on Hypervisor, by assigning values ​​to screen events and each transmission channel of each operating system, filling screen event data into data packets, determining the domain corresponding to the operating system based on all transmission channels of the operating system, and distributing the data packets to the operating systems in the domain. It can simultaneously support the distribution of multiple screen events and multiple channels, improve the compatibility of distribution, and at the same time, simplify the operation process by dynamically controlling the distribution of screen events, thereby reducing the difficulty of maintenance.

[0006] In a first aspect, an embodiment of the present application provides a method for distributing in-vehicle screen events based on a Hypervisor, the method comprising:

[0007] For multiple screen events, assign values ​​to corresponding screen events according to the event type of each screen event; wherein different types of screen events correspond to different values;

[0008] For multiple operating systems in the Hypervisor, assign a value to each transmission channel of each operating system; different transmission channels correspond to different assignments; one transmission channel can only correspond to one operating system, and one operating system has at least one transmission channel;

[0009] Obtaining a preset data packet, and in response to receiving screen event data corresponding to the screen event, filling the screen event data into the data packet; wherein the data packet is used to generally describe the definition of all supported types of data; and one screen event corresponds to at least one data packet;

[0010] A domain corresponding to the operating system is determined based on all transmission channels of the operating system, and the data packet is distributed to the operating system in the domain.

[0011] In a possible implementation, distributing the data packet to an operating system in a corresponding domain includes:

[0012] Acquire a preset mapping table for managing the use of the transmission channel; wherein the mapping table represents the distribution relationship between the screen event and the transmission channel;

[0013] The data packet is controlled to be sent to the operating system in the domain based on the mapping table.

[0014] In a possible implementation manner, controlling the data packet to be sent to the operating system in the domain based on the mapping table includes:

[0015] For the screen event, a corresponding target transmission channel is found in the mapping table; wherein the target transmission channel indicates the transmission channel to which the screen event should be sent;

[0016] The data packet is sent to the target transmission channel, and the data packet is sent to an operating system in a domain where the target transmission channel is located through the target transmission channel.

[0017] In a possible implementation, the method further includes:

[0018] Based on a plurality of array items in a preset array, a mapping of each screen event is stored respectively; wherein each array item corresponds to a screen event;

[0019] Among them, the storage length of the array item is 64 bits, and from the low bit 0 to the high bit 63, each bit corresponds to a transmission channel; the value of each bit represents the switch state of the corresponding transmission channel; a value of 0 indicates that the corresponding transmission channel is closed, and a value of 1 indicates that the corresponding transmission channel is open and available.

[0020] In a possible implementation manner, searching the corresponding target transmission channel in the mapping table includes:

[0021] According to the event type of the screen event data, searching for a corresponding array item in the mapping table;

[0022] The values ​​of the data bits are queried in sequence starting from the first data bit of the array item, and a target transmission channel is determined based on the values ​​of the data bits.

[0023] In a possible implementation manner, determining a target transmission channel based on the value of the data bit includes:

[0024] In response to the value of the data bit being 0, determining that the transmission channel corresponding to the data bit is closed, and then continuing to detect the value of the next data bit;

[0025] In response to the value of the data bit being 1, determining that the transmission channel corresponding to the data bit is open and available, and checking whether the domain corresponding to the transmission channel has been sent screen event data;

[0026] If the domain corresponding to the transmission channel has not been sent screen event data, the transmission channel is determined as the target transmission channel, and the detection of the value of the next data bit is stopped;

[0027] If the domain corresponding to the transmission channel has sent screen event data, the value of the next data bit is queried.

[0028] In a possible implementation, the method further includes:

[0029] In response to the screen event data being successfully sent through the target transmission channel, marking the domain corresponding to the target transmission channel based on a first mark, and continuing to query the value of the next data bit; wherein the first mark indicates that the screen event data has been sent to the corresponding operating system through the target transmission channel of the domain;

[0030] In response to failure in sending the screen event data through the target transmission channel, the value of the next data bit is continuously queried.

[0031] In a second aspect, an embodiment of the present application further provides a hypervisor-based vehicle screen event distribution device, the device comprising:

[0032] A first value assignment module is used to assign values ​​to corresponding screen events according to the event type of each screen event for a plurality of screen events; wherein different types of screen events correspond to different values;

[0033] The second assignment module is used to assign a value to each transmission channel of each operating system for multiple operating systems in the Hypervisor; different transmission channels correspond to different assignments; one transmission channel can only correspond to one operating system, and one operating system has at least one transmission channel;

[0034] A filling module, used for obtaining a preset data packet, and in response to receiving the screen event data corresponding to the screen event, filling the screen event data into the data packet; wherein the data packet is used to generally describe the definition of all supported types of data; one screen event corresponds to at least one data packet;

[0035] The distribution module is used to determine the domain corresponding to the operating system based on all transmission channels of the operating system, and distribute the data packet to the operating system in the domain.

[0036] In a possible implementation manner, the distribution module is specifically configured to:

[0037] Acquire a preset mapping table for managing the use of the transmission channel; wherein the mapping table represents the distribution relationship between the screen event and the transmission channel;

[0038] The data packet is controlled to be sent to the operating system in the domain based on the mapping table.

[0039] In a possible implementation manner, the distribution module is specifically configured to:

[0040] For the screen event, a corresponding target transmission channel is found in the mapping table; wherein the target transmission channel indicates the transmission channel to which the screen event should be sent;

[0041] The data packet is sent to the target transmission channel, and the data packet is sent to an operating system in a domain where the target transmission channel is located through the target transmission channel.

[0042] In a possible implementation manner, the Hypervisor-based vehicle screen event distribution device further includes:

[0043] A storage module, used to store mappings of each screen event based on a plurality of array items in a preset array, wherein each array item corresponds to a screen event;

[0044] Among them, the storage length of the array item is 64 bits, and from the low bit 0 to the high bit 63, each bit corresponds to a transmission channel; the value of each bit represents the switch state of the corresponding transmission channel; a value of 0 indicates that the corresponding transmission channel is closed, and a value of 1 indicates that the corresponding transmission channel is open and available.

[0045] In a possible implementation manner, the distribution module is specifically configured to:

[0046] According to the event type of the screen event data, searching for a corresponding array item in the mapping table;

[0047] The values ​​of the data bits are queried in sequence starting from the first data bit of the array item, and a target transmission channel is determined based on the values ​​of the data bits.

[0048] In a possible implementation manner, the distribution module is specifically configured to:

[0049] In response to the value of the data bit being 0, determining that the transmission channel corresponding to the data bit is closed, and then continuing to detect the value of the next data bit;

[0050] In response to the value of the data bit being 1, determining that the transmission channel corresponding to the data bit is open and available, and checking whether the domain corresponding to the transmission channel has been sent screen event data;

[0051] If the domain corresponding to the transmission channel has not been sent screen event data, the transmission channel is determined as the target transmission channel, and the detection of the value of the next data bit is stopped;

[0052] If the domain corresponding to the transmission channel has sent screen event data, the value of the next data bit is queried.

[0053] In a possible implementation manner, the Hypervisor-based vehicle screen event distribution device further includes:

[0054] a first query module, configured to, in response to the screen event data being successfully sent through the target transmission channel, mark the domain corresponding to the target transmission channel based on a first mark, and continue to query the value of the next data bit; wherein the first mark indicates that the screen event data has been sent to the corresponding operating system through the target transmission channel of the domain;

[0055] The second query module is used for continuing to query the value of the next data bit in response to failure in sending the screen event data through the target transmission channel.

[0056] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor, a storage medium and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium through the bus, and the processor executes the machine-readable instructions to perform the steps of the hypervisor-based in-vehicle screen event distribution method as described in any one of the first aspects.

[0057] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the hypervisor-based vehicle screen event distribution method described in any one of the first aspects are executed.

[0058] The embodiment of the present application provides a method for distributing in-vehicle screen events based on a hypervisor. For multiple screen events, a value is assigned to the corresponding screen event according to the event type of each screen event. For multiple operating systems in the hypervisor, a value is assigned to each transmission channel of each operating system, a preset data packet is obtained, and in response to receiving screen event data corresponding to the screen event, the screen event data is filled into the data packet, the domain corresponding to the operating system is determined based on all transmission channels of the operating system, and the data packet is distributed to the operating system in the domain. The present application can support the distribution of multiple screen events and multiple channels at the same time by assigning values ​​to screen events and each transmission channel of each operating system, filling the screen event data into the data packet, determining the domain corresponding to the operating system based on all transmission channels of the operating system, and distributing the data packet to the operating system in the domain, thereby improving the compatibility of the distribution, and simplifying the operation process by dynamically controlling the distribution of screen events, thereby reducing the difficulty of maintenance.

[0059] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0061] Figure 1 is a flow chart of a hypervisor-based vehicle screen event distribution method according to an embodiment of the present application;

[0062] Figure 2 It is a schematic diagram of the transmission channel of the operating system to determine the corresponding domain;

[0063] Figure 3 is a schematic diagram of the mapping table;

[0064] Figure 4 It is a schematic diagram of the control framework for the distribution of in-vehicle screen events;

[0065] Figure 5 is a structural diagram of a vehicle-mounted screen event distribution device based on a Hypervisor provided according to an embodiment of the present application;

[0066] Figure 6 It is a structural schematic diagram of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION

[0067] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the drawings in the present application only serve the purpose of explanation and description and are not used to limit the scope of protection of the present application. In addition, it should be understood that the schematic drawings are not drawn in real proportion. The flowchart used in this application shows the operations implemented according to some embodiments of the present application. It should be understood that the operations of the flowchart can be implemented out of sequence, and the steps without logical context can be reversed in order or implemented simultaneously. In addition, those skilled in the art can add one or more other operations to the flowchart under the guidance of the content of the present application, or remove one or more operations from the flowchart.

[0068] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0069] It should be noted that the term "comprising" will be used in the embodiments of the present application to indicate the existence of the features declared thereafter, but does not exclude the addition of other features.

[0070] As the car becomes more intelligent, the car screen has more and more functions, and the screen stability and safety are also very high. For the safety and entertainment of the car, the screen has a variety of screen event data that needs to be transmitted to the host's soc (system on chip), such as touch data, brightness data, screen temperature data, gesture recognition data, etc.

[0071] At present, in the intelligent vehicle systems, hypervisors and multiple operating systems are often involved, so screen event data needs to be distributed and transmitted to different operating systems. However, for vehicle application scenarios with diverse screen event data and diverse system targets for distribution and transmission, since each type of screen event data needs to be processed separately and distributed separately to each vehicle system target, compatibility is poor, and the operation process is redundant and maintenance is difficult.

[0072] To address this problem, the present application provides a hypervisor-based in-vehicle screen event distribution method, which assigns values ​​to screen events and each transmission channel of each operating system, fills screen event data into a data packet, determines the domain corresponding to the operating system based on all transmission channels of the operating system, and distributes the data packet to the operating system in the domain. It can simultaneously support the distribution of multiple screen events and multiple channels, improve the compatibility of distribution, and at the same time, simplify the operation process by dynamically controlling the distribution of screen events, thereby reducing the difficulty of maintenance.

[0073] Figure 1 FIG. 1 is a flow chart of a method for distributing vehicle screen events based on a Hypervisor according to an embodiment of the present application. Figure 1 As shown, the in-vehicle screen event distribution method based on Hypervisor in the embodiment of the present application may specifically include:

[0074] S101 . For a plurality of screen events, assign a value to a corresponding screen event according to an event type of each screen event.

[0075] S102: For multiple operating systems in the Hypervisor, assign a value to each transmission channel of each operating system.

[0076] S103: Obtain a preset data packet, and in response to receiving screen event data corresponding to the screen event, fill the screen event data into the data packet.

[0077] S104: Determine a domain corresponding to the operating system based on all transmission channels of the operating system, and distribute the data packet to the operating system in the domain.

[0078] In the above-mentioned hypervisor-based in-vehicle screen event distribution method, by assigning values ​​to screen events and each transmission channel of each operating system, the screen event data is filled into the data packet, the domain corresponding to the operating system is determined based on all transmission channels of the operating system, and the data packet is distributed to the operating system in the domain. It can simultaneously support the distribution of multiple screen events and multiple channels, improve the compatibility of distribution, and at the same time, by dynamically controlling the distribution of screen events, simplify the operation process, thereby reducing the difficulty of maintenance.

[0079] The above exemplary steps of the embodiment of the present application are described below with reference to specific examples:

[0080] S101 , for a plurality of screen events, assigning a value to a corresponding screen event according to an event type of each screen event.

[0081] It is understandable that the present application is applied in a Hypervisor (virtual machine monitor), in which there are two or even more operating systems.

[0082] In the embodiment of the present application, multiple screen events include but are not limited to touch events, key events, sensor events and gesture events. Different types of screen events correspond to different assignments. According to the event type of each screen event, a corresponding number is assigned to the corresponding screen event to distinguish it from other types of screen events. If a new event type is developed later, it will continue to be expanded in the definition. For example, as shown in Table 1 below:

[0083] Table 1

[0084]

[0085]

[0086] S102: For multiple operating systems in the Hypervisor, assign a value to each transmission channel of each operating system.

[0087] In the embodiments of the present application, each operating system can send and receive screen data through a variety of methods (channels). The transmission channel is the channel through which the operating system receives screen events, including but not limited to a shared memory channel (share memory), a virtual IO channel (virtio), and a host process transmission channel (host ipc). An operating system has at least one transmission channel. The transmission channel and the operating system are in a one-to-one relationship. A transmission channel can only correspond to one operating system. An operating system has at least one transmission channel, that is, an operating system can have multiple transmission channels. Different transmission channels correspond to different assignments. For multiple operating systems in the Hypervisor, each transmission channel of each operating system is assigned a value for subsequent processing. If there are new transmission channels later, continue to expand the definition. For example, as shown in Table 2 below:

[0088] Table 2

[0089]

[0090] S103, obtaining a preset data packet, and in response to receiving screen event data corresponding to the screen event, filling the screen event data into the data packet.

[0091] In the embodiment of the present application, the data packet is a pre-set data packet that can universally describe the definitions of all supported types of data, that is, the data packet is used to universally describe the definitions of all supported types of data, and the data packet includes hardware port information, identification value, data status, threshold, amplitude, vector, X coordinate and Y coordinate, for example, as shown in Table 3 below; one screen event corresponds to at least one data packet, that is, one screen event can fill multiple data packets; when screen event data corresponding to the screen event is received, the screen event data (that is, screen data) is filled into the data packet for subsequent processing.

[0092] Table 3

[0093] describe meaning port From which hardware port does the data come? id Identification value, which can be used to identify the touch ID when touching data status The status of the data. area Domain value, which can be used to describe the type of data. amplitude Amplitude vector vector xpos X coordinate ypos Y coordinate

[0094] Optionally, when filling the screen event data into the data packet, the data types supported by all the screen events are determined according to the event types of all the screen events; and the screen event data are filled into the data packet based on the data types.

[0095] S104, determining a domain corresponding to the operating system based on all transmission channels of the operating system, and distributing the data packet to the operating system in the domain.

[0096] It should be noted that this application sets up the concept of domain for the case where an operating system can correspond to multiple transmission channels, that is, the set of all transmission channels corresponding to an operating system and the operating system corresponding to the domain is a domain. The domain name can be determined according to the name of the operating system. For example, Figure 2 As shown, the host process transmission channel host ipc and the virtio virtual IO channel correspond to a domain, which is named host domain, representing an operating system; the host process transmission channel host ipc and the shared memory channel share memory correspond to a domain, which is named guest1 domain, representing an operating system.

[0097] In the embodiment of the present application, all transmission channels of the root operating system determine the domain corresponding to the operating system and distribute the data packets to the operating system in the domain.

[0098] As a possible implementation, when distributing data packets to the operating system in the corresponding domain, a preset mapping table for managing the use of transmission channels is obtained; based on the mapping table, the data packets are controlled to be sent to the operating system in the domain. The mapping table represents the distribution relationship between screen events and transmission channels, that is, which transmission channel various types of screen events should be sent to is controlled by the mapping table. It should be noted that the mapping table has a default distribution relationship set by the developer.

[0099] For example, Figure 3 As shown in the figure, sh represents shared memory channel, and the mapping table includes the following mappings: touch events (touch) correspond to shared memory channels, virtual IO channels, and host inter-process transmission channels; key events (key) correspond to virtual IO channels and host inter-process transmission channels; sensor events (lsensor) correspond to shared memory channels and virtual IO channels; gesture events (gesture) correspond to virtual IO channels.

[0100] It should be noted that the mapping table includes the mapping of each screen event, and the mapping of each screen event is stored based on multiple array items in a preset array. Each array item corresponds to a screen event. For example, the touch event uses the first item of the array, and the key uses the second item of the array. The storage length of the array item is 64 bits, and from the low bit 0 to the high bit 63, each bit corresponds to a transmission channel; the value of each bit indicates the switch state of the corresponding transmission channel. Optionally, bit 0 corresponds to the transmission channel between host processes, bit 1 corresponds to the virtual IO channel, and bit 2 corresponds to the shared memory channel; a value of 0 indicates that the corresponding transmission channel is closed, and a value of 1 indicates that the corresponding transmission channel is open and available.

[0101] Optionally, when controlling the data packet to be sent to the operating system in the domain based on the mapping table, for the screen event, the corresponding target transmission channel is found in the mapping table; the data packet is sent to the target transmission channel, and the data packet is sent to the operating system in the domain where the target transmission channel is located through the target transmission channel. Specifically, the target transmission channel corresponding to the data packet of the screen event is found in the mapping table, and the data packet is sent to the target transmission channel, and then transmitted to the corresponding operating system through the target transmission channel to complete the entire transmission process. Furthermore, the above "finding the corresponding target transmission channel in the mapping table" includes the following steps:

[0102] Step a. According to the event type of the screen event data, find the corresponding array item in the mapping table.

[0103] In the embodiment of the present application, the corresponding array item is found in the mapping table according to the event type of the screen event data for subsequent processing.

[0104] Step b. Starting from the first data bit of the array item, query the values ​​of the data bits in sequence, and determine the target transmission channel based on the values ​​of the data bits.

[0105] In the embodiment of the present application, the values ​​of the data bits are queried in sequence starting from the first data bit, i.e., bit 0, of the array item found in step a, and the target transmission channel is determined based on the values ​​of the data bits.

[0106] Optionally, when determining the target transmission channel based on the value of the data bit, in response to the data bit value being 0, it is determined that the transmission channel corresponding to the data bit is closed, and the value of the next data bit continues to be detected; in response to the data bit value being 1, it is determined that the transmission channel corresponding to the data bit is open and available, and a check is made as to whether the domain corresponding to the transmission channel has been sent screen event data; if the domain corresponding to the transmission channel has not been sent screen event data, the transmission channel is determined as the target transmission channel, and detection of the value of the next data bit is stopped; if the domain corresponding to the transmission channel has been sent screen event data, the value of the next data bit is queried.

[0107] The in-vehicle screen event distribution method based on Hypervisor provided in the embodiment of the present application, for multiple screen events, assigns a value to the corresponding screen event according to the event type of each screen event, for multiple operating systems in the Hypervisor, assigns a value to each transmission channel of each operating system, obtains a preset data packet, and fills the screen event data into the data packet in response to receiving the screen event data corresponding to the screen event, determines the domain corresponding to the operating system based on all transmission channels of the operating system, and distributes the data packet to the operating system in the domain. The in-vehicle screen event distribution method based on Hypervisor of the present application, by assigning a value to the screen event and each transmission channel of each operating system, fills the screen event data into the data packet, determines the domain corresponding to the operating system based on all transmission channels of the operating system, and distributes the data packet to the operating system in the domain, can simultaneously support the distribution of multiple screen events and multiple channels, improves the compatibility of the distribution, and simplifies the operation process by dynamically controlling the distribution of screen events, thereby reducing the difficulty of maintenance.

[0108] Further, in response to the screen event data being sent successfully through the target transmission channel, the domain corresponding to the target transmission channel is marked based on the first mark, and the value of the next data bit is continuously queried; in response to the screen event data being sent unsuccessfully through the target transmission channel, the value of the next data bit is continuously queried. The first mark indicates that the screen event data has been sent to the corresponding operating system through the target transmission channel of the domain.

[0109] It should be noted that the domain is marked to ensure that an event is sent to only one target system once. When a target system has multiple channels, if one channel fails to send data, the next channel will be queried to ensure that other channels in the domain will continue to send data. This design ensures the reliability of successful data transmission. At the same time, by distinguishing different domains, it can ensure that an event can be distributed to different target systems at the same time.

[0110] Further, in response to receiving the target control command, the developer dynamically updates the mapping table according to the target control command to control the distribution of screen event data in real time according to the mapping table. The target control command is represented by a string format. For example, the control command can be represented by a string format, that is, event channel, such as touch virtio means that the touch event is distributed to the virtio channel.

[0111] Therefore, this application implements a management framework to achieve unified management of different protocols of multiple screens and multiple car manufacturers, which can be reused in multiple projects, shorten the development cycle, and reduce maintenance costs. Specifically, it can support multiple screens, multiple screen events, and multiple channels at the same time, with better compatibility. At the same time, it can dynamically control event distribution and facilitate control.

[0112] To better describe the Hypervisor-based vehicle screen event distribution method of the present application, the following is combined with Figure 4 Further description.

[0113] like Figure 4 As shown, the control framework or control management unit for the distribution of in-vehicle screen events is characterized. After receiving the screen event data (usually multiple screen event data), the screen event data is parsed into various categories, and the data is filled into data packets according to the categories. After the data is encapsulated into data packets, the filled data packets are sent to the distributor. The distributor finds the corresponding array item in the map table (i.e., mapping table) according to the event type of the data, and then starts from the 0th bit of the data item to query the value of the bit. 0 means that the channel corresponding to the bit is closed, and then the detection of the next bit continues. 1 means that the channel corresponding to the bit is open and available.

[0114] To continue, when the channel is available, check whether the domain corresponding to the channel has sent data. If it has, continue to query the value of the next bit. Otherwise, send data through the channel. If the sending is successful, mark the domain corresponding to the channel to indicate that the channel has been sent, and continue to query the value of the next bit; if the sending fails, continue to query the value of the next bit.

[0115] It should also be added that when Figure 4 When the entire control framework shown is started, the user can preset the map table to set a default distribution state. When the framework is running, the user can dynamically update the map table in the form of commands to control the distribution in real time.

[0116] Figure 5 is a structural diagram of a vehicle-mounted screen event distribution device based on a Hypervisor provided in an embodiment of the present application; Figure 5As shown, the vehicle-mounted screen event distribution device 500 based on Hypervisor of the embodiment of the present application may specifically include:

[0117] The first value assignment module 501 is used to assign values ​​to corresponding screen events according to the event type of each screen event for a plurality of screen events; different types of screen events correspond to different values.

[0118] The second assignment module 502 is used to assign a value to each transmission channel of each operating system for multiple operating systems in the Hypervisor; different transmission channels correspond to different assignments; one transmission channel can only correspond to one operating system, and one operating system has at least one transmission channel.

[0119] Filling module 503 is used to obtain a preset data packet, and in response to receiving screen event data corresponding to a screen event, fill the screen event data into the data packet; wherein the data packet is used to generally describe the definition of all supported types of data; and one screen event corresponds to at least one data packet.

[0120] The distribution module 504 is used to determine the domain corresponding to the operating system based on all transmission channels of the operating system, and distribute the data packet to the operating system in the domain.

[0121] In a possible implementation, the distribution module is specifically configured to:

[0122] Obtaining a preset mapping table for managing the use of transmission channels; wherein the mapping table represents the distribution relationship between screen events and transmission channels;

[0123] Controls the sending of data packets to the operating systems in the domain based on the mapping table.

[0124] In a possible implementation, the distribution module is specifically configured to:

[0125] For a screen event, a corresponding target transmission channel is found in a mapping table; wherein the target transmission channel indicates the transmission channel to which the screen event should be sent;

[0126] The data packet is sent to a target transmission channel, and the data packet is sent to an operating system in a domain where the target transmission channel is located through the target transmission channel.

[0127] In a possible implementation manner, the hypervisor-based vehicle screen event distribution device further includes:

[0128] A storage module, used to store mappings of each screen event based on a plurality of array items in a preset array, wherein each array item corresponds to a screen event;

[0129] Among them, the storage length of the array item is 64 bits, and from the low bit 0 to the high bit 63, each bit corresponds to a transmission channel; the value of each bit indicates the switch state of the corresponding transmission channel; a value of 0 indicates that the corresponding transmission channel is closed, and a value of 1 indicates that the corresponding transmission channel is open and available.

[0130] In a possible implementation, the distribution module is specifically configured to:

[0131] According to the event type of the screen event data, the corresponding array item is found in the mapping table;

[0132] The values ​​of the data bits are queried sequentially starting from the first data bit of the array item, and the target transmission channel is determined based on the values ​​of the data bits.

[0133] In a possible implementation, the distribution module is specifically configured to:

[0134] In response to the value of the data bit being 0, it is determined that the transmission channel corresponding to the data bit is closed, and then the value of the next data bit is continuously detected;

[0135] In response to the value of the data bit being 1, it is determined that the transmission channel corresponding to the data bit is open and available, and it is checked whether the domain corresponding to the transmission channel has been sent screen event data;

[0136] If the domain corresponding to the transmission channel has not been sent screen event data, the transmission channel is determined as the target transmission channel, and the detection of the value of the next data bit is stopped;

[0137] If the domain corresponding to the transmission channel has sent screen event data, query the value of the next data bit.

[0138] In a possible implementation manner, the hypervisor-based vehicle screen event distribution device further includes:

[0139] A first query module is used for marking a domain corresponding to the target transmission channel based on a first mark in response to the screen event data being successfully sent through the target transmission channel, and continuing to query the value of the next data bit; wherein the first mark indicates that the screen event data has been sent to the corresponding operating system through the target transmission channel of the domain;

[0140] The second query module is used to continue to query the value of the next data bit in response to failure in sending the screen event data through the target transmission channel.

[0141] The in-vehicle screen event distribution device based on Hypervisor provided in the embodiment of the present application, for multiple screen events, assigns a value to the corresponding screen event according to the event type of each screen event, for multiple operating systems in the Hypervisor, assigns a value to each transmission channel of each operating system, obtains a preset data packet, and fills the screen event data into the data packet in response to receiving the screen event data corresponding to the screen event, determines the domain corresponding to the operating system based on all transmission channels of the operating system, and distributes the data packet to the operating system in the domain. The in-vehicle screen event distribution device based on Hypervisor of the present application, by assigning a value to the screen event and each transmission channel of each operating system, fills the screen event data into the data packet, determines the domain corresponding to the operating system based on all transmission channels of the operating system, and distributes the data packet to the operating system in the domain, can simultaneously support the distribution of multiple screen events and multiple channels, improves the compatibility of the distribution, and simplifies the operation process by dynamically controlling the distribution of screen events, thereby reducing the difficulty of maintenance.

[0142] like Figure 6 As shown, an electronic device 600 provided in an embodiment of the present application includes: a processor 601, a memory 602 and a bus, wherein the memory 602 stores machine-readable instructions executable by the processor 601. When the electronic device is running, the processor 601 communicates with the memory 602 through the bus, and the processor 601 executes the machine-readable instructions to perform the steps of the above-mentioned hypervisor-based vehicle screen event distribution method.

[0143] Specifically, the above-mentioned memory 602 and processor 601 can be general-purpose memories and processors, which are not specifically limited here. When the processor 601 runs the computer program stored in the memory 602, the above-mentioned Hypervisor-based vehicle screen event distribution method can be executed.

[0144] Corresponding to the above-mentioned hypervisor-based in-vehicle screen event distribution method, an embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned hypervisor-based in-vehicle screen event distribution method are executed.

[0145] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the system and device described above can refer to the corresponding process in the method embodiment, and will not be repeated in this application. In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0146] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0147] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0148] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the deployment method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks, or optical disks.

[0149] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for distributing vehicle screen events based on Hypervisor, characterized in that: The method comprises: For multiple screen events, assign values ​​to corresponding screen events according to the event type of each screen event; wherein different types of screen events correspond to different values; For multiple operating systems in the Hypervisor, assign a value to each transmission channel of each operating system; different transmission channels correspond to different assignments; one transmission channel can only correspond to one operating system, and one operating system has at least one transmission channel; Obtaining a preset data packet, and in response to receiving screen event data corresponding to the screen event, filling the screen event data into the data packet; wherein the data packet is used to generally describe the definition of all supported types of data; and one screen event corresponds to at least one data packet; A domain corresponding to the operating system is determined based on all transmission channels of the operating system, and the data packet is distributed to the operating system in the domain.

2. The method according to claim 1, characterized in that The step of distributing the data packet to an operating system in a corresponding domain includes: Acquire a preset mapping table for managing the use of the transmission channel; wherein the mapping table represents the distribution relationship between the screen event and the transmission channel; The data packet is controlled to be sent to the operating system in the domain based on the mapping table.

3. The method according to claim 2, characterized in that The step of controlling the data packet to be sent to the operating system in the domain based on the mapping table includes: For the screen event, a corresponding target transmission channel is found in the mapping table; wherein the target transmission channel indicates the transmission channel to which the screen event should be sent; The data packet is sent to the target transmission channel, and the data packet is sent to an operating system in a domain where the target transmission channel is located through the target transmission channel.

4. The method according to claim 3, characterized in that The method further comprises: Based on a plurality of array items in a preset array, a mapping of each screen event is stored respectively; wherein each array item corresponds to a screen event; Among them, the storage length of the array item is 64 bits, and from the low bit 0 to the high bit 63, each bit corresponds to a transmission channel; the value of each bit represents the switch state of the corresponding transmission channel; a value of 0 indicates that the corresponding transmission channel is closed, and a value of 1 indicates that the corresponding transmission channel is open and available.

5. The method according to claim 4, characterized in that The searching for the corresponding target transmission channel in the mapping table includes: According to the event type of the screen event data, searching for a corresponding array item in the mapping table; The values ​​of the data bits are queried in sequence starting from the first data bit of the array item, and a target transmission channel is determined based on the values ​​of the data bits.

6. The method according to claim 5, characterized in that The determining of the target transmission channel based on the value of the data bit comprises: In response to the value of the data bit being 0, determining that the transmission channel corresponding to the data bit is closed, and then continuing to detect the value of the next data bit; In response to the value of the data bit being 1, determining that the transmission channel corresponding to the data bit is open and available, and checking whether the domain corresponding to the transmission channel has been sent screen event data; If the domain corresponding to the transmission channel has not been sent screen event data, the transmission channel is determined as the target transmission channel, and the detection of the value of the next data bit is stopped; If the domain corresponding to the transmission channel has sent screen event data, the value of the next data bit is queried.

7. The method according to claim 6, characterized in that The method further comprises: In response to the screen event data being successfully sent through the target transmission channel, marking the domain corresponding to the target transmission channel based on a first mark, and continuing to query the value of the next data bit; wherein the first mark indicates that the screen event data has been sent to the corresponding operating system through the target transmission channel of the domain; In response to failure in sending the screen event data through the target transmission channel, the value of the next data bit is continuously queried.

8. A vehicle-mounted screen event distribution device based on Hypervisor, characterized in that: The device comprises: A first value assignment module is used to assign values ​​to corresponding screen events according to the event type of each screen event for a plurality of screen events; wherein different types of screen events correspond to different values; The second assignment module is used to assign a value to each transmission channel of each operating system for multiple operating systems in the Hypervisor; different transmission channels correspond to different assignments; one transmission channel can only correspond to one operating system, and one operating system has at least one transmission channel; A filling module, used for obtaining a preset data packet, and in response to receiving the screen event data corresponding to the screen event, filling the screen event data into the data packet; wherein the data packet is used to generally describe the definition of all supported types of data; one screen event corresponds to at least one data packet; The distribution module is used to determine the domain corresponding to the operating system based on all transmission channels of the operating system, and distribute the data packet to the operating system in the domain.

9. An electronic device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate through the bus, and when the machine-readable instructions are executed by the processor, the steps of the hypervisor-based vehicle screen event distribution method as described in any one of claims 1 to 7 are performed.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which, when executed by a processor, executes the steps of the hypervisor-based vehicle screen event distribution method as described in any one of claims 1 to 7.

Citation Information

Cited By

  • Cross-system touch screen data processing method, system and equipment based on HAB mechanism

    CN120743136A