Event processing method and system

By deploying an event management unit in the event processing module, processing multiple events based on arbitration rules and determining priority, the problem of a single event distribution method in the prior art is solved, and the flexible distribution and processing of events between multiple applications is realized. , improves user experience and system stability.

CN119292736APending Publication Date: 2025-01-10Z-ONE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411539732.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

In the prior art, the event distribution method is too single and cannot effectively handle events sent by multiple input devices, affecting the user experience, especially in intelligent vehicle cockpit operations and other electronic devices, resulting in poor user experience.

Method used

The event management unit is deployed in the event processing module, arbitrate multiple events based on preset event processing arbitration rules, generate synthetic messages, and determine the target application based on the application's priority information to achieve flexible dispatch and processing of events.

Benefits of technology

Through the arbitration processing of the event management unit, multiple input device events are achieved flexibly distributed among multiple applications, improving user experience, avoiding conflicts and timeout events, and improving system stability and response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292736A_ABST
    Figure CN119292736A_ABST
Patent Text Reader

Abstract

The invention discloses an event processing method and system, the system comprises an event processing module and a plurality of input devices, the event processing module comprises an event management unit and a plurality of applications, and the method comprises the following steps: the event management unit receives a plurality of events sent by the plurality of input devices, performing arbitration processing on the event based on a preset event processing arbitration rule to obtain a composite message corresponding to the event, determining priority information of an application corresponding to the event, determining a target application corresponding to the event according to the priority information, and sending the composite message of the event to the corresponding target application; and under the condition that the target application receives the synthetic message, performing corresponding processing on the event according to the synthetic message. Therefore, the plurality of events are arbitrated based on the event processing arbitration rule, so that the events sent by the plurality of input devices can be flexibly arbitrated and distributed among the plurality of applications, the event processing and event distribution modes are more flexible, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of event processing, and in particular to an event processing method and system. Background Art

[0002] Taking vehicles as an example, as users' demand for intelligent operation of vehicle cockpits increases, there are more and more input devices such as square control buttons, cockpit remote controls, game controllers, and rear shortcut buttons. Various input devices are connected to the cockpit event processing module through different ports, and the cockpit event processing module responds to corresponding functions based on the events sent by the input devices.

[0003] In the prior art, for multiple events sent by the input device, the cockpit event processing module sends the events to the corresponding application for processing in sequence based on the first-come-first-served rule. This event distribution method based on the first-come-first-served rule is too simple and cannot provide users with corresponding services well, affecting the user experience.

[0004] In addition, for electronic devices such as mobile phones and computers, there is also the problem that the event distribution method is too simple, which cannot provide users with corresponding services well and affects the user experience. Summary of the invention

[0005] The present application provides an event processing method and system for solving the problem in the prior art that the event distribution method is too simple and cannot provide corresponding services to users well, thus affecting the user experience.

[0006] Among them, by deploying an event management unit, when the event management unit receives multiple events sent by an input device, it can arbitrate the events based on the preset event processing arbitration rules, generate a composite message of the event, and determine the target application according to the priority information of the application corresponding to the event, and send the composite message to the target application corresponding to the event, so that the target application can process the event accordingly according to the composite message. In this way, by arbitrating multiple events based on the event processing arbitration rules, the events sent by multiple input devices can be flexibly arbitrated and distributed among multiple applications, so that the application can process the event based on the received composite message more flexibly, thereby improving the user experience.

[0007] To solve the above technical problems, in the first aspect, the implementation method of the present application discloses an event processing method, which is applied to an event processing system, wherein the event processing system includes an event processing module and multiple input devices, the event processing module includes an event management unit and multiple applications, and the event processing module establishes a communication connection with each input device. The method includes: when the event management unit receives multiple events sent by multiple input devices, the event management unit arbitrates the events based on preset event processing arbitration rules to obtain a composite message corresponding to the event, determines the priority information of the application corresponding to the event, determines the target application corresponding to the event according to the priority information, and sends the composite message of the event to the corresponding target application; when the target application receives the composite message, it performs corresponding processing on the event according to the composite message.

[0008] The event processing method provided by the implementation of the present application deploys an event management unit so that when the event management unit receives multiple events sent by an input device, it can arbitrate the events based on a preset event processing arbitration rule, generate a composite message of the event, and determine the priority information of the application corresponding to each event, determine the target application according to the priority information of the application corresponding to the event, and send the composite message to the target application corresponding to the event, so that the target application performs corresponding processing on the first event according to the composite message. In this way, by arbitrating multiple events based on the event processing arbitration rule, the events sent by multiple input devices can be flexibly arbitrated and distributed among multiple applications, so that the application can process the events based on the received composite message more flexibly, and improve the user experience. In addition, the target application is determined according to the priority information of the application corresponding to the event, and the composite message is sent to the target application corresponding to the event, so that the target application performs corresponding processing on the first event according to the composite message, so that the event distribution can be sent to different applications based on the priority information of the application corresponding to the event, and the flexible distribution of events between different applications is realized.

[0009] According to another specific implementation of the present application, the event processing method disclosed in the implementation of the present application, multiple input devices include multiple first input devices and multiple second input devices, the event processing module includes a first event processing sub-module and at least one second event processing sub-module, the first event processing sub-module includes an event management unit and multiple first applications, the second event processing sub-module includes multiple second applications, the first event processing sub-module establishes a communication connection with the first input device through the first port, the second event processing sub-module establishes a communication connection with the second input device through the second port, and the target application is at least one first application and / or at least one second application.

[0010] By adopting the above technical solution, for events of input devices corresponding to multiple event processing sub-modules, the event management unit can realize event arbitration processing of input devices across event processing sub-modules, and can realize message dispatching corresponding to events across event processing sub-modules, thus making event processing more flexible.

[0011] According to another specific implementation of the present application, the event processing method disclosed in the implementation of the present application, multiple events include a first event and a second event, and the event management unit arbitrates the events based on a preset event processing arbitration rule to generate a synthetic message corresponding to the event, including: the event management unit determines whether there is a conflict between the first event and the second event based on the event processing arbitration rule; if there is a conflict, an event interrupt message of the first event is generated as a synthetic message of the first event, and an event start message of the second event is generated as a synthetic message of the second event; if there is no conflict, based on the event processing arbitration rule, it is determined whether the first event responds to a timeout, and whether the second event responds to a timeout; if the first event responds to a timeout, an event timeout message of the first event and an ignore event end message are generated as a synthetic message of the first event; if the first event does not respond to a timeout, an event start message and an event end message of the first event are generated as a synthetic message of the first event; if the second event responds to a timeout, an event timeout message and an ignore event end message of the second event are generated as a synthetic message of the second event; if the second event responds to a timeout, an event timeout message and an ignore event end message of the second event are generated as a synthetic message of the second event; if the second event does not respond to a timeout, an event start message and an event end message of the second event are generated as a synthetic message of the second event.

[0012] By adopting the above technical solution, events are arbitrated based on event processing arbitration rules to avoid system failure caused by applications processing conflicting events at the same time, and timeout events are filtered to avoid applications processing invalid events and wasting resources.

[0013] According to another specific implementation of the present application, the event processing method disclosed in the implementation of the present application, the event management unit determines the priority information of the application corresponding to the event, determines the target application corresponding to the event based on the priority information, and sends the synthesized message of the event to the corresponding target application, including: when the event management unit determines that there is an application listening event, the event management unit determines the priority information of the application corresponding to the event, determines the target application corresponding to the event based on the priority information, and sends the synthesized message to the corresponding target application.

[0014] By adopting the above technical solution, when there is an application listening event, the event is sent to the target application based on the application priority information, so that different applications can process the same event, making the event response faster and better meeting the event processing needs.

[0015] According to another specific implementation of the present application, the implementation of the present application discloses an event processing method, in which an event management unit determines a target application corresponding to an event according to priority information, and sends a synthesized message of the event to the corresponding target application, including: when the event management unit determines according to the priority information that there are multiple applications of the first priority, the event management unit uses the application of the first priority as the target application, and sends the synthesized message to the target application based on a broadcast manner; when the event management unit determines according to the priority information that there is one application of the first priority, the event management unit uses the application of the first priority as the target application, sends the synthesized message to the target application, and when it is determined that the target application does not respond to the synthesized message, the event management unit determines according to the priority information that an application of the next priority is the target application, and sends the synthesized message to the target application.

[0016] By adopting the above technical solution, events are arbitrated based on event processing arbitration rules, which can realize flexible distribution of events of different input devices to different applications, and distribute events based on application priority, so that more important applications can respond to events first.

[0017] According to another specific implementation of the present application, the event processing method disclosed in the implementation of the present application, each event processing sub-module includes an input device event receiving unit and an application docking interface management unit, each input device corresponding to the event processing sub-module establishes a communication connection with the input device event receiving unit included in the corresponding event processing sub-module, and the application corresponding to the event processing module establishes a communication connection with the application docking interface management unit included in the corresponding event processing sub-module according to the event monitoring requirements. When the input device event receiving unit acts as the first client, the event management unit acts as the server, and the application docking interface management unit acts as the second client, the method also includes: the input device event receiving unit receives the event sent by the input device corresponding to the event processing module, and sends the event to the event management unit; the event management unit receives the event sent by each input device event receiving unit, and sends the synthesized message corresponding to the event to the application docking interface management unit; the application docking interface management unit receives the synthesized message sent by the event management unit, and sends the synthesized message to the target application corresponding to the event.

[0018] According to another specific implementation of the present application, in the event processing method disclosed in the implementation of the present application, each first client establishes a communication connection with the event management unit based on fdbus, and the event management unit establishes a communication connection with each second client based on fdbus.

[0019] By adopting the above-mentioned technical scheme, the input device event receiving unit corresponding to each event processing module is connected to the corresponding input device, and the application docking interface management unit is connected to the corresponding application, so that the event management unit can realize event arbitration processing of input devices across event processing sub-modules, and can realize message dispatching of events corresponding to applications across event processing sub-modules.

[0020] According to another specific implementation of the present application, the event processing method disclosed in the implementation of the present application also includes: when the application is in the target scene, based on the application docking interface management unit corresponding to the application, a registration event listening request is sent to the event management unit, and the priority information of the application is sent to the event management unit; when the application exits the target scene, based on the application docking interface management unit corresponding to the application, a deregistration event listening request is sent to the event management unit.

[0021] By adopting the above technical solution, the application can choose to monitor the corresponding events or cancel the monitoring according to the scene requirements, making the application function response more flexible.

[0022] According to another specific implementation of the present application, in the event processing method disclosed in the implementation of the present application, the first event processing submodule is a QNX operating system, and the second event processing submodule is an Android operating system.

[0023] By adopting the above solution, the event management unit is deployed on the QNX operating system which starts faster and is more stable, so that event processing is more stable and the event processing efficiency is accelerated.

[0024] On the second aspect, the implementation method of the present application also discloses an event processing system, including: an event processing module and multiple input devices, the event processing module includes an event management unit and multiple applications, the event processing module establishes a communication connection with each input device, wherein the event management unit is used to arbitrate the events based on preset event processing arbitration rules when receiving multiple events sent by multiple input devices, obtain a composite message corresponding to the event, and determine the priority information of the application corresponding to the event, determine the target application corresponding to the event according to the priority information, and send the composite message of the event to the corresponding target application; the target application is used to perform corresponding processing on the event according to the composite message when receiving the composite message.

[0025] In a third aspect, an implementation method of the present application further discloses a vehicle, including an event handling system as provided in the second aspect above.

[0026] In a fourth aspect, the implementation method of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, it is used to implement the event processing method provided by any implementation method of the first aspect above.

[0027] In a fifth aspect, an implementation of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements an event processing method as provided in any one of the implementations of the first aspect above.

[0028] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can also be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 It is a structural diagram of an event processing system provided in an embodiment of the present application;

[0030] Figure 2 is a structural diagram of another event processing system provided in an embodiment of the present application;

[0031] Figure 3 is a schematic diagram of the structure of an event processing system including a single event processing module provided in an embodiment of the present application;

[0032] Figure 4 is a structural diagram of an event processing system including two event processing modules provided in an embodiment of the present application;

[0033] Figure 5 is a schematic diagram of the structure of an event processing system including multiple event processing modules provided in an embodiment of the present application;

[0034] Figure 6 It is a flowchart of an event processing method provided in an embodiment of the present application;

[0035] Figure 7 It is a schematic diagram of a flow chart of a synthetic message of an event generated by an event management unit provided in an embodiment of the present application;

[0036] Figure 8 It is a flowchart of another event processing method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0037] As mentioned above, taking vehicles as an example, as users' demand for multi-screen intelligent operation in vehicle cockpits increases, various types of input devices such as square control buttons, cockpit remote controls, game controllers, and rear shortcut buttons are also increasing. At the same time, there are more and more scenarios where different ports are connected to the vehicle cockpit system and the vehicle cockpit system responds to different functions.

[0038] In the prior art, for multiple events sent by input devices, when the traditional vehicle cockpit system processes events, it can only send the events sent by the input devices of the ports managed by the single cockpit operating system (i.e., event processing module) to the corresponding applications for specific processing based on the first-come-first-served rule. This event distribution method based on the first-come-first-served rule is too simple, and often has problems such as failure to handle events of high user concern in a timely manner, affecting user experience.

[0039] Moreover, the events sent by this input device can only be distributed according to the foreground reception order of the cockpit system or a single rule of the specific function of the corresponding application. It cannot meet the flexible arbitration distribution of input events for applications on different screens or between different foreground and background applications, and has poor functional reusability.

[0040] Furthermore, because different input devices have different processing links, if there is a conflict between events, the first received event will be sent to the corresponding application, and then the conflicting event received later will be sent to the corresponding application, so that the application will execute the conflicting events simultaneously or successively. Therefore, it is impossible to arbitrate in advance the conflicting input events sent by input devices with two different ports (for example, the keyboard (as an example of an input device) presses the volume +, and the remote control (as an example of another input device) presses the volume -), resulting in the two input events being sent to the corresponding application successively, resulting in confusion in the application function response.

[0041] In addition, if there are multiple cockpit operating systems (i.e., multiple event processing modules), different cockpit operating systems have different input event dispatching methods and arbitration logic for different ports, and because input devices can only be mounted on the port of one cockpit event processing module, the input devices can only send events to the event processing module (i.e., cockpit operating system) on which they are mounted, and it is impossible to achieve flexible event information transmission across cockpit operating systems, and it is also impossible to achieve other cockpit operating systems to respond to events sent by input devices, which is not conducive to the functional realization of the vehicle's intelligent cockpit. As a result, different cockpit operating systems cannot flexibly process input events corresponding to other cockpit operating systems, resulting in poor versatility of the cockpit operating system platform, and arbitration rules and event processing are developed for each cockpit operating system, resulting in high development costs.

[0042] In addition, for electronic devices such as mobile phones and computers, the event distribution method is too simple, and there are often problems such as failure to handle events that users pay close attention to in a timely manner. There is also the problem that input devices can only send events to the operating system on which they are mounted, and cannot achieve flexible event information transmission across operating systems, and cannot achieve other event processing modules to respond to events sent by input devices, which is not conducive to function realization.

[0043] Based on this, the implementation of the present application proposes an event processing method and system, which deploys an event management unit in an event processing module (i.e., a cockpit operating system) so that when the event management unit receives multiple events sent by multiple input devices, it can arbitrate the events based on preset event processing arbitration rules, generate a composite message of the event, and determine the target application based on the priority information of the application corresponding to the event, and send the composite message to the target application corresponding to the event, so that the target application can process the event accordingly according to the composite message. In this way, by arbitrating multiple events based on event processing arbitration rules, events sent by multiple input devices can be flexibly arbitrated and distributed between multiple applications, so that the application can process events based on the received composite message more flexibly, thereby improving the user experience.

[0044] See also Figure 1 The event processing system provided by the implementation of the present application includes an event processing module and multiple input devices, the event processing module includes an event management unit and multiple applications, and the event processing module establishes a communication connection with each input device. The event processing module and each input device can establish a wired communication connection or a wireless communication connection.

[0045] The event management unit is used to arbitrate the events based on preset event processing arbitration rules when receiving multiple events sent from multiple input devices, obtain a composite message corresponding to the event, determine the priority information of the application corresponding to the event, determine the target application corresponding to the event based on the priority information, and send the composite message of the event to the corresponding target application.

[0046] The target application is used to process the event accordingly according to the synthesized message when receiving the synthesized message.

[0047] Exemplarily, taking a case where there is only one event processing module (i.e., a single cockpit operating system), multiple input devices send corresponding events to an event management unit included in the event processing module. The event management unit arbitrates each event based on a preset event processing arbitration rule, generates a composite message corresponding to each event, determines the application corresponding to each event, and determines the priority information of the application. The target application corresponding to each event is obtained according to the priority information, and the composite message of each event is sent to the target application corresponding to each event, so that the target application that receives the composite message of the event performs corresponding processing on the event according to the composite message.

[0048] In the implementation of the present application, the input device can specifically be a steering wheel control button (also known as a square control button), a cockpit remote control, a game controller, a cockpit screen soft key, a front cabin hard key, a voice input device, a rear shortcut key, a background display soft key, etc.

[0049] The events can specifically be turning on the air conditioning based on the front cabin hard button, turning on the music based on the square control button, increasing the volume based on the cockpit screen soft button, decreasing the volume based on the cockpit screen soft button, turning on the navigation based on the voice input device, turning on the cruise control mode based on the square control button, etc.

[0050] Furthermore, in the implementation of the present application, the vehicle's event processing system includes multiple event processing modules (ie, multiple cockpit operating systems).

[0051] like Figure 2 As shown, the event processing module includes a first event processing sub-module and at least one second event processing sub-module, the first event processing sub-module includes an event management unit and multiple first applications, the second event processing sub-module includes multiple second applications, and the multiple input devices include multiple first input devices and multiple second input devices.

[0052] Among them, the first event processing submodule establishes a communication connection with the first input device through the first port, and the second event processing submodule establishes a communication connection with the second input device through the second port, and the target application is at least one first application and / or at least one second application.

[0053] That is, in the implementation method of the present application, if it is a vehicle with multiple event processing modules (that is, multiple cockpit operating systems), the event management unit is deployed only in the first event processing sub-module. In this way, the event management unit can receive events sent by input devices corresponding to each event processing module, and perform comprehensive arbitration processing on the events to obtain a composite message of each event, and send the composite message to applications included in different event processing modules (for example, the first application or the second application or the first application and the second application) to implement arbitration processing of input events of multiple input devices across cockpit operating systems, and implement flexible arbitration and dispatch of events between target applications on different screens included in different operating systems or different foreground and background applications included in different operating systems, which can expand the functional design of multiple reuse functions of input devices in different applications of different cockpit operating systems.

[0054] Furthermore, if Figure 2 As shown, each event processing submodule (that is, each cockpit operating system) includes an input device event receiving unit and an application docking interface management unit. Each input device corresponding to the event processing submodule establishes a communication connection with the input device event receiving unit included in the corresponding event processing module. The application corresponding to the event processing submodule establishes a communication connection with the application docking interface management unit included in the corresponding event processing submodule according to the event monitoring requirement. The input device event receiving unit serves as a first client, and is used to receive events sent by the input device corresponding to the event processing module, and send the events to the event management unit. The event management unit serves as a server, and is used to receive events sent by each first client, and send the synthesized message corresponding to the event to the application docking interface management unit. The application docking interface management unit serves as a second client, and is used to receive the synthesized message sent by the event management unit, and send the synthesized message to the target application corresponding to the event.

[0055] Exemplarily, a first input device establishes a communication connection with an input device event receiving unit included in a first event processing submodule (i.e., a first input device event receiving unit), a first application corresponding to the first event processing submodule establishes a communication connection with an application docking interface management unit included in the first event processing submodule (i.e., a first application docking interface management unit) according to event monitoring requirements, a second input device establishes a communication connection with an input device event receiving unit included in a second event processing submodule (i.e., a second input device event receiving unit), and a second application corresponding to the second event processing submodule establishes a communication connection with an application docking interface management unit included in the second event processing submodule (i.e., a second application docking interface management unit) according to event monitoring requirements.

[0056] Furthermore, after each input device event receiving unit receives the events of the input devices corresponding to each event processing module as a client (i.e., the first client), it sends the events to the event management unit of the first event processing sub-module. The event management unit arbitrates the events as a server to obtain a composite message of each event, determines the target application corresponding to each event, and sends the events to the corresponding application docking interface management unit. The application docking interface management unit sends the events to the corresponding target application as a client (i.e., the second client).

[0057] In one implementation of the present application, each first client (that is, each input device event receiving unit) establishes a communication connection with the event management unit based on fdbus, and the event management unit establishes a communication connection with each second client (that is, each application docking interface management unit) based on fdbus. Of course, each input device event receiving unit can also establish a communication connection with the event management unit based on other distributed communication protocols, and each application docking interface management unit can also establish a communication connection with the event management unit based on other distributed communication protocols.

[0058] fdbus (Fast Distributed Bus) is an efficient distributed message bus for communication between different processes and devices.

[0059] Furthermore, in the implementation method of the present application, when the application enters the target scene, the application sends a registration event listening request to the event management unit based on the application docking interface management unit corresponding to the application, and sends the priority information of the application to the event management unit. When the application exits the target scene, the application sends a deregistration event listening request to the event management unit based on the application docking interface management unit corresponding to the application.

[0060] Exemplarily, the target scenario may specifically be a scenario such as an application that has been started or an application that has been closed. When the application has been started, the application docks with the corresponding application docking interface management unit, and based on the application docking interface management unit, sends a registration event monitoring request to the event management unit (i.e., the server) through the fdbus cross-process or cross-cockpit operating system to register and monitor the specified input event, and sends the scenario priority (i.e., priority information) of the application pre-defined by the product to the event management unit, so that the event management unit determines the monitoring priority of each application for the specified input event based on the priority information. When the application needs to be closed, it is determined that the target scenario needs to be exited, and the application sends a deregistration event monitoring request to the event management unit through the fdbus cross-process or cross-cockpit operating system based on the application docking interface management unit to exit the monitoring of the specified input event. In this way, the application can determine whether to dock with the application docking interface management unit based on the corresponding event monitoring requirements to monitor the input events.

[0061] The event monitoring requirement can be determined based on the functional characteristics of the application itself, or can be set according to the monitoring requirements of the application by the user. For example, if the application is an audio playback application, the application is set to connect to the application docking interface management unit when it is determined that audio control is required.

[0062] In the implementation of the present application, the event processing module is also a cockpit operating system deployed in the vehicle cockpit. The cockpit operating system can specifically be an Android operating system, a QNX operating system, or other OS operating systems.

[0063] like Figure 3 As shown, taking an event processing module as an example, the event processing module is an Android operating system, the input devices include device 1 and device 2 (as an example of multiple input devices), and the input device signal receiving unit (as an example of an input device event receiving unit) included in the Android operating system is connected to each input device through a port as a first client (Client) to receive events sent by the input device. The input event synthesis and dispatch arbitration service (as an example of an event management unit) included in the Android operating system is connected to the input device signal receiving unit as a service end (Service) based on the fdbus communication mode, receives events sent by the input device signal receiving unit, arbitrates the events based on the preset event processing arbitration rules, and obtains the synthesis message corresponding to the event. The event monitoring interface library (as an application docking interface management unit) included in the Android operating system is connected to the input event synthesis and dispatch arbitration service as a second client (Client) based on the fdbus communication method, and is connected to the applications (such as application 1 and application 2) included in the Android operating system. When the application is in the target scene, it docks with the event monitoring interface library, sends a registration event monitoring request to the input event synthesis and dispatch arbitration service based on the event monitoring interface library, and sends pre-defined priority information to the input event synthesis and dispatch arbitration service. The input event synthesis and dispatch arbitration service determines the application corresponding to the event, and determines the target application based on the priority information of the application, and sends the synthesized message of the event to the target application based on the event monitoring interface library, so that the target application performs corresponding processing on the event according to the synthesized message.

[0064] Furthermore, if Figure 4As shown, taking two event processing modules as an example, the first event processing submodule is the QNX operating system, and the second event processing submodule is the Android operating system, wherein the input event synthesis and dispatch arbitration service is deployed in the QNX operating system, the QNX operating system is connected to device 1 and device 2 (as an example of multiple first input devices), and the Android operating system is connected to device 3 and device 4 (as an example of multiple second input devices). The QNX operating system also includes a corresponding input device signal receiving unit 1 and an event monitoring interface library 1, as well as corresponding applications 1 and 2 (as an example of multiple first applications), and the Android operating system also includes a corresponding input device signal receiving unit 2 and an event monitoring interface library 2, as well as corresponding applications 3 and 4 (as an example of multiple second applications). Application 1 and application 2 are applications of screen 1, application 3 is an application of screen 2, and application 4 is an application of background 1.

[0065] Device 1 and device 2 are connected in communication with input device signal receiving unit 1, device 3 and device 4 are connected in communication with input device signal receiving unit 2, application 1 and application 2 are connected in communication with event monitoring interface library 1, and application 3 and application 4 are connected in communication with event monitoring interface library 2. Input device signal receiving unit 1 and input device signal receiving unit 2 are connected in communication with input event synthesis and dispatch arbitration service included in QNX operating system based on fdbus communication mode, and event monitoring interface library 1 and event monitoring interface library 2 are connected in communication with input event synthesis and dispatch arbitration service based on fdbus communication mode.

[0066] In this way, when each application needs to monitor an event, it connects to the event monitoring interface library, sends a registration event monitoring request to the input event synthesis and dispatch arbitration service based on the event monitoring interface library, and sends the predefined priority information to the input event synthesis and dispatch arbitration service. When the input device signal receiving unit 1 and the input device signal receiving unit 2 receive an event sent by the corresponding input device, both send the event to the input event synthesis and dispatch arbitration service, and the input event synthesis and dispatch arbitration service arbitrates the event based on the preset event processing arbitration rules to obtain the synthesized message corresponding to the event. The application corresponding to the event is determined, and the target application is determined based on the priority information of the application. The synthesized message of the event is sent to the target application based on the event monitoring interface library, so that the target application performs corresponding processing on the event according to the synthesized message.

[0067] In this way, the events sent by input devices of different operating systems can be arbitrated by the input event synthesis and dispatch arbitration service in the QNX operating system based on the preset event processing arbitration rules, and the synthesized message corresponding to each event can be obtained, and the synthesized message can be sent to the foreground and background applications of different operating systems corresponding to the event. It can realize that the input events of multiple input devices can be quickly dispatched across operating systems, and the foreground and background applications of different operating systems can be connected to different input devices at the same time, so that application functions can be implemented across operating systems, and the event processing for input devices is more convenient and the event response is faster.

[0068] Furthermore, if Figure 5 As shown, taking multiple event processing modules as an example, the event processing modules include OS1 operating system (as an example of a first event processing submodule), OS2 operating system, ..., OSX operating system (as an example of at least one second event processing submodule).

[0069] The OS1 operating system includes an input device signal receiving unit 1 that is communicatively connected to device 1 and device 2, an input event synthesis and dispatch arbitration service, and an event monitoring interface library 1 that interfaces with application 1 and application 2 of screen 1. The OS2 operating system includes an input device signal receiving unit 2 that is communicatively connected to device 2 and device 3, an event monitoring interface library 2 that interfaces with application 3 of screen 2 and application 4 of background 1. The OSX operating system includes an input device signal receiving unit X that is communicatively connected to device X, and an event monitoring interface library X that interfaces with application X of screen X and application X+1 of background X. The input device signal receiving unit included in each operating system is communicatively connected to the input event synthesis and dispatch arbitration service included in the OS1 operating system based on the fdbus communication mode, and the event monitoring interface library included in each operating system is communicatively connected to the input event synthesis and dispatch arbitration service based on the fdbus communication mode.

[0070] In this way, when each application needs to monitor events, it connects to the event monitoring interface library, sends a registration event monitoring request to the input event synthesis and dispatch arbitration service based on the event monitoring interface library, and sends the pre-defined priority information to the input event synthesis and dispatch arbitration service. When each input device signal receiving unit receives an event sent by the corresponding input device, it sends the event to the input event synthesis and dispatch arbitration service. The input event synthesis and dispatch arbitration service arbitrates the event based on the preset event processing arbitration rules, obtains the synthesized message corresponding to the event, and determines the application corresponding to the event. The target application is determined based on the priority information of the application, and the synthesized message of the event is sent to the target application of the corresponding operating system based on the event monitoring interface library of the corresponding operating system, so that the target application performs corresponding processing on the event according to the synthesized message.

[0071] In the implementation of this application, a unified input event synthesis and dispatch arbitration service for each input device is deployed in the cockpit main system. For example, if Figure 3 As shown in the single Android operating system, the input event synthesis and dispatch arbitration service is directly deployed in the Android operating system. Figure 4 In the QNX operating system + Android operating system shown in the figure, the input event synthesis and dispatch arbitration service is deployed on the QNX operating system that is started earliest.

[0072] A first client (i.e., an input device signal receiving unit) connected to the corresponding input device is deployed in each operating system. Each input event is aggregated to a server (i.e., an input event synthesis and dispatch arbitration service) across processes or systems based on the first client via fdbus.

[0073] In addition, an event monitoring interface library (i.e., the second client) is deployed in each operating system, and applications that need to monitor input events for functional response are connected to the corresponding event monitoring interface library according to their own scene requirements. In addition, the scene priority of each application is pre-defined (for example, the priority in a certain scene is 1, where the smaller the number, the higher the priority of the event corresponding to the scene). When each application determines that it has entered the target scene, it can send a registration event monitoring request to the input event synthesis and dispatch arbitration service through fdbus across processes or systems based on the event monitoring interface library according to the pre-defined priority to monitor the specified input event. When exiting the target scene, the event monitoring interface library sends a deregistration event monitoring request to the input event synthesis and dispatch arbitration service through fdbus across processes or systems.

[0074] The server performs event arbitration for input events sent by different input devices according to the common interface principle and based on the event processing arbitration rules, and generates event synthesis messages, such as event start messages, event end messages, event interruption messages, event timeout messages and other event messages of the same type. For each event, based on the application currently listening to the corresponding event, the priority information of each application corresponding to each event is obtained according to the registration priority of the application, and the synthesized message is dispatched according to the priority. In this way, by deploying the input event synthesis and dispatch arbitration service to arbitrate the input events of input devices corresponding to different ports of different operating systems in advance, the events can be processed in a limited manner based on the importance, avoiding the confusion of application functions caused by the simultaneous processing of conflicting events by applications.

[0075] Moreover, in the implementation of the present application, input devices with multiple operating systems and multiple ports all perform event synthesis message dispatch based on the dispatch interface of a unified input event synthesis and dispatch arbitration service, which can realize flexible deployment of single operating system and multiple operating systems, has strong platform reusability, and reduces development costs.

[0076] Furthermore, the implementation of the present application also provides an event processing method, which is applied to an event processing system, such as Figure 6 As shown, the specific steps include the following steps.

[0077] S100, when the event management unit receives multiple events sent from multiple input devices, it arbitrates the events based on the preset event processing arbitration rules, obtains the composite message corresponding to the event, determines the priority information of the application corresponding to the event, determines the target application corresponding to the event according to the priority information, and sends the composite message of the event to the corresponding target application.

[0078] S200: When receiving the composite message, the target application processes the event accordingly according to the composite message.

[0079] The event processing method provided by the implementation of the present application is to deploy an event management unit (i.e., input event synthesis and dispatch arbitration service) in an event processing module (e.g., a cockpit operating system) so that when the event management unit receives multiple events sent by the input device, it can arbitrate the events based on the preset event processing arbitration rules, generate a synthetic message of the event, and determine the priority information of the application corresponding to each event, determine the target application according to the priority information of the application corresponding to the event, and send the synthetic message to the target application corresponding to the event, so that the target application performs corresponding processing on the first event according to the synthetic message. In this way, by arbitrating multiple events based on the event processing arbitration rules, the events sent by multiple input devices can be flexibly arbitrated and dispatched between multiple applications, so that the application can process the events based on the received synthetic message more flexibly, and improve the user experience. In addition, the target application is determined according to the priority information of the application corresponding to the event, and the synthetic message is sent to the target application corresponding to the event, so that the target application performs corresponding processing on the first event according to the synthetic message, so that the event dispatch can be sent to different applications based on the priority information of the application corresponding to the event, thereby realizing the flexible dispatch of events between different applications.

[0080] In the implementation of the present application, the event processing arbitration rules are configured by the user according to the event processing requirements.

[0081] Furthermore, in one implementation of the present application, the input device event receiving unit receives events sent by the input device corresponding to the event processing module, and sends the events to the event management unit; the event management unit receives events sent by each input device event receiving unit, and sends the synthesized message corresponding to the event to the application docking interface management unit; the application docking interface management unit receives the synthesized message sent by the event management unit, and sends the synthesized message to the target application corresponding to the event.

[0082] That is, for an event processing system including multiple event processing submodules (i.e., multiple cockpit operating systems), an event management unit (i.e., input event synthesis and dispatch arbitration service) is deployed only in the first event processing submodule (i.e., the first cockpit operating system, such as the aforementioned QNX operating system), and all events sent by input devices (e.g., device 3, device 4, ..., device x) connected to other event processing submodules (i.e., other cockpit operating systems) are transmitted to the event management unit in the first event processing submodule based on their respective input device event receiving units, and the event management unit arbitrates the events received by each event processing submodule to obtain a composite message of each event, and then sends the composite message to the corresponding target application (e.g., application 1, application 2, application 3, application 4, ..., application x, application x+1) based on the application docking interface management unit included in the corresponding different event processing submodules. In this way, event processing of input devices across operating systems and message sending of events of different applications across operating systems can be realized based on one event management unit, making event processing and dispatch more flexible, making event processing more timely, improving the event processing capability of the vehicle cockpit system, and improving the user's car experience.

[0083] See also Figure 7 The multiple events include a first event and a second event. The first event and the second event may be events that are successively received but not yet dispatched by the event management unit, or one event that has been dispatched but not yet processed and the other event that has just been received.

[0084] In which, taking the first event as the first received event and the second event as the later received event as an example, the event management unit arbitrates each event based on the preset event processing arbitration rule and generates a synthetic message corresponding to each event, including:

[0085] S110: The event management unit determines whether there is a conflict between the first event and the second event based on an event processing arbitration rule.

[0086] For example, determine whether there are two different operations on the same function, such as the first event is to control the volume to decrease, and the second event is to control the volume to increase.

[0087] S120: If there is a conflict, an event interrupt message of the first event is generated as a composite message of the first event, and an event start message of the second event is generated as a composite message of the second event.

[0088] Exemplarily, the implementation of the present application generates an event interrupt message for two conflicting events according to the last-win competition principle to interrupt the processing flow of the previous event, and generates an event start message for the next event to dispatch a new event.

[0089] S130: If there is no conflict, determine whether the first event has a response timeout based on an event processing arbitration rule, and determine whether the second event has a response timeout.

[0090] Exemplarily, if there is no conflict between the two events, it is determined whether the first event has exceeded the response time or whether it no longer needs to be processed, and it is determined whether the second event has exceeded the response time or whether it no longer needs to be processed.

[0091] S140: If the first event response times out, an event timeout message of the first event and an ignore event end message are generated as a composite message of the first event.

[0092] Exemplarily, if the first event response times out, an event timeout message of the first event and an ignore event end message are generated to indicate that the first event has timed out and no response is required, and if the input device sends an end message of the first event, the event end message of the first event is also ignored.

[0093] S150: If the first event does not respond to the timeout, an event start message and an event end message of the first event are generated as a composite message of the first event.

[0094] Exemplarily, if the first event is still within the processing time, an event start message and an event end message of the first event are generated to indicate that the event needs to start processing and an event end message needs to be fed back.

[0095] S160: If the second event response times out, an event timeout message of the second event and an ignore event end message are generated as a composite message of the second event.

[0096] Exemplarily, if the second event response times out, an event timeout message for the second event and an ignore event end message are generated to indicate that the second event has timed out and no response is required, and if the input device sends an end message for the second event, the event end message for the second event is also ignored.

[0097] S170: If the second event does not respond to the timeout, generate an event start message and an event end message of the second event as a composite message of the second event.

[0098] Exemplarily, if the second event is still within the processing time, an event start message and an event end message of the second event are generated to indicate that the event needs to start processing and an end message of the event needs to be fed back.

[0099] It should be noted that step S140 and step S150 can be executed synchronously, and step S160 and step S170 can be executed synchronously.

[0100] Thus, in the implementation of the present application, if the event management unit as the server determines that different events conflict, then according to the principle of last-come-last competition, an event interrupt message of the previous event is generated, and is dispatched to the application that has received the corresponding event start message through fdbus across processes or systems, so that the application interrupts the processing of the message, and sends an ignore event end message, so that the application ignores the event end message corresponding to the event when receiving the event end message of the event. If it is determined that there is a scenario in which the event has not been released (that is, it is determined that there is an event timeout), an event timeout message is generated and sent to the corresponding target application to notify the application that the dispatch process will be terminated, or for the message that has sent the event start message, it is dispatched to the application that has received the corresponding event start message through fdbus across processes or systems, so that the application ends the processing of the message, and sends an ignore event end message, so that the application ignores the event end message corresponding to the event when receiving the event end message of the event. In this way, arbitration is performed for each event to avoid conflicts in event processing by applications. Moreover, for events that have not been dispatched but no longer need to be processed (such as conflicts or timeouts), corresponding messages are also notified to the application to inform the application.

[0101] Furthermore, in the implementation of the present application, when the application is in the target scenario, the application docking interface management unit corresponding to the application sends a registration event monitoring request to the event management unit, and sends the priority information of the application to the event management unit.

[0102] Among them, the event management unit determines the priority information of the application corresponding to the event, determines the target application corresponding to the event according to the priority information, and sends the synthesized message of the event to the corresponding target application, including: when the event management unit determines that there is an application listening event, it determines the priority information of the application corresponding to the event, determines the target application corresponding to the event according to the priority information, and sends the synthesized message to the corresponding target application.

[0103] In the implementation of the present application, different applications can monitor different events, that is, there is a correspondence between events and applications. After the application sends a registration event monitoring request, the correspondence between events and applications is obtained by the event management unit based on the application information and the registered event information in the registration event monitoring request.

[0104] After receiving the corresponding event and arbitrating the corresponding event to generate a composite message, the event management unit determines the application corresponding to the event, and when it is determined that there is an application listening to the event, it determines the priority information of each application, determines the target application corresponding to the event based on the priority information, and sends the composite message to the corresponding target application.

[0105] Furthermore, in the implementation method of the present application, the event management unit determines the target application corresponding to the event based on the priority information, and sends the synthesized message of the event to the corresponding target application, including: when the event management unit determines that there are multiple applications of the first priority based on the priority information, the application of the first priority is taken as the target application, and the synthesized message is sent to the target application based on broadcast.

[0106] Exemplarily, if it is determined that there are multiple applications listening to the event, and if it is determined based on the priority information of each application that there are multiple applications with the highest priority (as an example of the first priority), then the composite message is distributed to applications at the same priority using broadcast sharing.

[0107] Furthermore, when the event management unit determines that there is an application of the first priority based on the priority information, the application of the first priority is used as the target application and sends the synthesized message to the target application. When it is determined that the target application does not respond to the synthesized message, the event management unit determines that the application of the next priority is used as the target application based on the priority information and sends the synthesized message to the target application.

[0108] For example, if it is determined that there are multiple applications listening to the event, and it is determined that there is only one application with the highest priority based on the priority information of each application, the composite message of the event is first sent to the target application with the highest priority. If the application does not respond to the composite message, the composite message of the event is sent to the application with the next priority until an application responds to the composite message. If all applications of the event do not respond to the composite message corresponding to the event, an alarm process can be performed.

[0109] Furthermore, after the application receives the composite message of the event, it processes the event accordingly according to the composite message.

[0110] For example, if an event start message and an event end message are received, a function corresponding to the event is responded to.

[0111] If an event interrupt message or an event timeout message is received, the event is interrupted or not processed and the event is directly ignored.

[0112] Furthermore, when the application exits the target scene, the application docking interface management unit corresponding to the application sends a deregistration event monitoring request to the event management unit to disconnect from the application docking interface management unit and end the monitoring operation of the corresponding event.

[0113] Furthermore, in the implementation of this application, if Figure 8 As shown, event processing specifically includes the following steps.

[0114] S310, the sensor corresponding to the input device performs electrical signal detection, and if an electrical signal is detected, step S320 is executed.

[0115] Exemplarily, the input device performs electrical signal detection based on a corresponding sensor, and if an electrical signal is detected, it indicates that an input event exists.

[0116] S320, the input device converts the electrical signal into event data and sends it to the client (input device signal receiving unit) of the corresponding cockpit host.

[0117] S330, the input device signal receiving unit of the cockpit host monitors the port, and if event data transmission is detected on the port, the event data is sent to the cockpit host server (input event synthesis and dispatch arbitration service).

[0118] S340, the cockpit host server aggregates the input events and arbitrates the events based on preset event processing arbitration rules.

[0119] S350, the cockpit host server determines whether there is a conflict event, if so, executes step S360, if not, executes step S370.

[0120] Exemplarily, the event management unit determines whether there is a conflict between the first event and the second event based on the arbitration rule.

[0121] S360, the cockpit host server synthesizes an event interrupt message for the previous event (as an example of a synthesized message of the first event), and synthesizes an event start message for the next event (as an example of a synthesized message of the second event).

[0122] Exemplarily, if the event management unit determines that there is a conflict, it generates an event interrupt message of the first event as a composite message of the first event, and generates an event start message of the second event as a composite message of the second event.

[0123] S370, the cockpit host server determines whether the event has timed out, if so, executes step S380, if not, executes step S390.

[0124] Exemplarily, if there is no conflict between the two events, the event management unit determines whether the first event has exceeded the response time or no longer needs to be processed, and determines whether the second event has exceeded the response time or no longer needs to be processed.

[0125] S380, the cockpit host server synthesizes an event timeout message and an event ignore end message (as an example of a synthesized message of the first event or the second event).

[0126] Exemplarily, if the response to the first event times out, the event management unit generates an event timeout message and an ignore event end message of the first event to indicate that the first event has timed out and no response is required, and if the input device sends an end message of the first event, the event end message of the first event is also ignored. If the response to the second event times out, the event management unit generates an event timeout message and an ignore event end message of the second event to indicate that the second event has timed out and no response is required, and if the input device sends an end message of the second event, the event end message of the second event is also ignored.

[0127] S390, the cockpit host server synthesizes the input events into an event start message and an event end message of the same type (as another example of a synthesized message of the first event or the second event).

[0128] Exemplarily, if the first event is still within the processing time, the event management unit generates an event start message and an event end message of the first event to indicate that the event needs to be processed and an end message of the event needs to be fed back. If the second event is still within the processing time, the event management unit generates an event start message and an event end message of the second event to indicate that the event needs to be processed and an end message of the event needs to be fed back.

[0129] S410, the cockpit host server determines whether there is a client (application) registered for the current event message. If so, execute step S420, if not, execute step S440.

[0130] Exemplarily, the event management unit determines an application corresponding to the event, and determines whether there is an application monitoring the event.

[0131] S420, the cockpit host server traverses the client and dispatches according to the priority.

[0132] Exemplarily, if the event management unit determines that there is an application listening to the event, it determines the priority information of the application corresponding to the event, determines the target application corresponding to the event according to the priority information, and sends the synthesized message to the corresponding target application.

[0133] S430, applying a response action.

[0134] For example, if the application receives an event start message and an event end message, it responds to the function corresponding to the event. If the application receives an event interrupt message or an event timeout message, it interrupts the event or does not process it and directly ignores the event.

[0135] S440, discard the event.

[0136] Exemplarily, if the event management unit determines that there is no application listening to the event, the event is discarded.

[0137] The event processing method provided by the implementation of the present application is combined with the local network card and local area network of the cockpit system, and the fdbus communication network is deployed in the cockpit system. A unified input event synthesis and dispatch arbitration service is designed and deployed as a server that can implement the fdubs communication protocol, and two types of clients that communicate based on the fdb communication listening protocol are designed to communicate with the server. One type of client (input device signal receiving unit) is connected to the input device event, and the other type of client (event monitoring interface library) is connected to the application's registration monitoring event request and cancellation monitoring event request, and events are dispatched based on the docking interface. The input device signal receiving unit adapts to the port of the corresponding operating system to communicate with the input device based on the port, and after monitoring the input event, it is aggregated to the server through fdbus across processes or systems.

[0138] The client basic interface library (also known as the event listening interface library) used for event listening registration of docking applications can continue to adapt the encapsulation interface upward according to the characteristics of different operating systems. For example, QNX maintains the C++ library interface, and Android additionally adapts the JAVA layer Jar package interface to dock with different applications corresponding to each operating system.

[0139] The application product party predefines the scenario priority of the application. When each application determines that it has entered the target scenario, it can send a registration event monitoring request to the input event synthesis and dispatch arbitration service through fdbus across processes or systems based on the event monitoring interface library according to the pre-defined priority to monitor the specified input events. When exiting the target scenario, it can send a cancellation event monitoring request to the input event synthesis and dispatch arbitration service through fdbus across processes or systems based on the event monitoring interface library.

[0140] The server performs event arbitration for input events sent by different input devices based on the event processing arbitration rules in accordance with the common interface principle, and generates synthetic event messages, such as event start messages, event end messages, event interruption messages, event timeout messages and other event messages of the same type. For each event, based on the application currently listening to the corresponding event, the messages are distributed in sequence according to the principle of application registration priority. For applications at the same priority, the synthetic message is distributed in a broadcast sharing manner. For applications at different priorities, the message is first distributed to the application with the highest priority. If the application does not respond to the synthetic message, the message is distributed to the application with the next priority until an application responds to the synthetic message.

[0141] Furthermore, during the event dispatch process, if there is a scenario where the event has not been released (that is, it is judged that the event has timed out), an event timeout message is generated and sent to the corresponding target application to notify the application that the dispatch process will end. If conflicting events are input at the same time and the response has not yet ended, an event interrupt message of the previous event is generated according to the last-win competition principle to interrupt the dispatch process of the previous event. For events that time out or are interrupted by the last-win principle, an event timeout message or an event interrupt message is generated and dispatched across processes or systems through fdbus to the application that has received the corresponding event start message, and an ignore event end message is generated to ignore the event end message corresponding to the event.

[0142] In this way, by deploying an event management unit for event arbitration processing across operating systems, it can be applied to interactive scenarios in which multiple input devices connected to different ports in the smart car cockpit respond to user operations at the same time. It is implemented in the standard C++ development language and is based on the fdbus distributed communication network that can be deployed across domains. It is suitable for common operating systems in car cockpits such as single Android, single QNX, single Linux, Android+QNX, Linux+QNX, and can also be expanded to scenarios where other multi-channel input devices outside the car cockpit are used for event input.

[0143] The implementation of the present application also provides a vehicle, which includes the event processing system provided by the above implementation, and is used to execute the event processing method provided by the above embodiment.

[0144] The event processing method provided by the implementation of the present application can also be applied to other electronic devices for receiving multiple events to perform corresponding event processing.

[0145] An embodiment of the present application also provides a chip for running instructions, which is used to execute the technical solution of the event processing method provided in the above embodiment.

[0146] An embodiment of the present application also provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a processor of an electronic device, the processor of the electronic device executes the technical solution of the event processing method provided in the above embodiment.

[0147] In some possible implementations, various aspects of the method provided in the present application can also be implemented in the form of a program product, which includes program code. When the program product runs on a processor of an electronic device, the program code is used to enable the processor of the electronic device to execute the steps of the method described above in this specification according to various exemplary implementations of the present application. For example, the electronic device can execute the technical solution of the event processing method provided in the embodiments of the present application.

[0148] The program product may employ any combination of one or more readable media. The readable medium may be a readable data medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0149] The implementation method of the present application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium. When at least one processor executes the computer program, the technical solution of the event processing method provided in the above embodiment can be implemented.

[0150] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices and computer program products according to the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable information processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable information processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0151] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable information processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0152] These computer program instructions can also be loaded onto a computer or other programmable information processing device so that a series of operation steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0153] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary technical means in the art that are not disclosed in the present application.

[0154] It should be noted that, in addition to the implementation of the present application described in the above-mentioned specific embodiments, those skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in this specification. Although the description of the present application is introduced in conjunction with the preferred embodiment, this does not mean that the features of this invention are limited to the implementation. On the contrary, the purpose of introducing the invention in conjunction with the implementation is to cover other options or modifications that may extend based on the claims of the present application. In order to provide an in-depth understanding of the present application, the above description contains many specific details, and the present application may also be implemented without using these details. In addition, in order to avoid confusion or blurring the focus of the present application, some specific details will be omitted in the description. It should be noted that, in the absence of conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.

[0155] It should be noted that in this specification, similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings.

[0156] Although the present application has been illustrated and described by referring to certain preferred implementations of the present application, it should be understood by those skilled in the art that the above contents are further detailed descriptions of the present application in combination with specific implementations, and it cannot be determined that the specific implementation of the present application is limited to these descriptions. Those skilled in the art may make various changes in form and details, including making several simple deductions or substitutions, without departing from the spirit and scope of the present application.

Claims

1. An event processing method, characterized in that: Applied to an event processing system, the event processing system includes an event processing module and multiple input devices, the event processing module includes an event management unit and multiple applications, the event processing module establishes a communication connection with each of the input devices, and the method includes: When receiving multiple events sent by the multiple input devices, the event management unit arbitrates the events based on a preset event processing arbitration rule to obtain a composite message corresponding to the event, determines priority information of the application corresponding to the event, determines a target application corresponding to the event according to the priority information, and sends the composite message of the event to the corresponding target application; When the target application receives the synthesized message, it processes the event accordingly according to the synthesized message.

2. The event processing method according to claim 1, characterized in that: The multiple input devices include multiple first input devices and multiple second input devices, the event processing module includes a first event processing sub-module and at least one second event processing sub-module, the first event processing sub-module includes the event management unit and multiple first applications, the second event processing sub-module includes multiple second applications, the first event processing sub-module establishes a communication connection with the first input device through a first port, the second event processing sub-module establishes a communication connection with the second input device through a second port, and the target application is at least one of the first applications and / or at least one of the second applications.

3. The event processing method according to claim 2, characterized in that: The multiple events include a first event and a second event, and the event management unit performs arbitration processing on the events based on a preset event processing arbitration rule to generate a synthetic message corresponding to the event, including: The event management unit determines whether the first event conflicts with the second event based on the event processing arbitration rule; If there is a conflict, an event interrupt message of the first event is generated as a composite message of the first event, and an event start message of the second event is generated as a composite message of the second event; If there is no conflict, determining whether the first event has a response timeout based on the event processing arbitration rule, and determining whether the second event has a response timeout; If the first event response times out, generating an event timeout message of the first event and an ignore event end message as a composite message of the first event; If the first event does not respond to the timeout, generating an event start message and an event end message of the first event as a composite message of the first event; If the second event response times out, generating an event timeout message of the second event and an ignore event end message as a composite message of the second event; If the second event does not respond to the timeout, an event start message and an event end message of the second event are generated as a composite message of the second event.

4. The event processing method according to claim 3, characterized in that: The event management unit determines priority information of the application corresponding to the event, determines a target application corresponding to the event according to the priority information, and sends the synthesized message of the event to the corresponding target application, including: When determining that there is an application listening to the event, the event management unit determines the priority information of the application corresponding to the event, determines the target application corresponding to the event according to the priority information, and sends the synthesized message to the corresponding target application.

5. The event processing method according to claim 4, characterized in that: The event management unit determines a target application corresponding to the event according to the priority information, and sends the synthesized message of the event to the corresponding target application, including: When the event management unit determines that there are multiple applications with the first priority according to the priority information, the application with the first priority is used as the target application, and the composite message is sent to the target application in a broadcasting manner; When the event management unit determines that there is an application of the first priority according to the priority information, the event management unit uses the application of the first priority as the target application and sends the synthesized message to the target application. When it is determined that the target application does not respond to the synthesized message, the event management unit determines that the application of the next priority is the target application according to the priority information and sends the synthesized message to the target application.

6. The event processing method according to any one of claims 2 to 5, characterized in that: Each event processing submodule includes an input device event receiving unit and an application docking interface management unit. Each input device corresponding to the event processing submodule establishes a communication connection with the input device event receiving unit included in the corresponding event processing submodule. The application corresponding to the event processing submodule establishes a communication connection with the application docking interface management unit included in the corresponding event processing submodule according to the event monitoring requirement. In the case where the input device event receiving unit serves as the first client, the event management unit serves as the server, and the application docking interface management unit serves as the second client, the method further includes: The input device event receiving unit receives an event sent by the input device corresponding to the event processing submodule, and sends the event to the event management unit; The event management unit receives the events sent by each of the input device event receiving units, and sends the synthesized message corresponding to the event to the application docking interface management unit; The application docking interface management unit receives the synthesized message sent by the event management unit, and sends the synthesized message to the target application corresponding to the event.

7. The event processing method according to claim 6, characterized in that: The first client establishes a communication connection with the event management unit based on fdbus, and the event management unit establishes a communication connection with the second client based on fdbus.

8. The event processing method according to claim 6 or 7, characterized in that: The method further comprises: When the application is in the target scenario, the application docking interface management unit corresponding to the application sends a registration event monitoring request to the event management unit, and sends the priority information of the application to the event management unit; When the application exits the target scene, the application docking interface management unit corresponding to the application sends a logout event monitoring request to the event management unit.

9. The event processing method according to any one of claims 2 to 8, characterized in that: The first event processing module is a QNX operating system, and the second event processing module is an Android operating system.

10. An event processing system, characterized in that: The event processing system includes an event processing module and multiple input devices. The event processing module includes an event management unit and multiple applications. The event processing module establishes a communication connection with each of the input devices. The event management unit is used for, when receiving multiple events sent by the multiple input devices, arbitrating the events based on a preset event processing arbitration rule, obtaining a composite message corresponding to the event, determining priority information of the application corresponding to the event, determining a target application corresponding to the event according to the priority information, and sending the composite message of the event to the corresponding target application; The target application is used for, when receiving the synthesized message, performing corresponding processing on the event according to the synthesized message.

11. A vehicle, characterized in that: The vehicle comprises the event handling system of claim 10 .