Cross-system inter-process communication method and communication system
By using preset hardware communication transfer interface call information between the QNX system and the second system, the security risks caused by the inter-process communication dependence network in the prior art are solved, and more stable and reliable cross-system inter-process communication is achieved.
Patent Information
- Application Number
- CN202411538639.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-02-07
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In the prior art, inter-process communication relies on network communication, resulting in safety hazards in vehicle and computer systems, especially in the case of unstable networks, which may lead to communication failure or failure.
Preset hardware communication is used to transmit interface call information between the QNX system and the second system, ensuring that the communication process across the system does not depend on the network environment, thereby reducing communication failures caused by network instability.
Through preset hardware communication, the stability and reliability of cross-system communications are improved, the safety risks of the vehicle and machine system are reduced, and the system flexibility is enhanced.
Smart Images

Figure CN119396607A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of automobile intelligent cockpits, and in particular to a cross-system inter-process communication method and a communication system. Background Art
[0002] With the development of automobile intelligence and the widespread application of smart cockpit systems, the complexity of automobile software systems is increasing. Correspondingly, the stable communication between processes in smart cockpit control systems has received extensive attention in the industry. In the prior art, sockets are often used for high-frequency inter-process communication and cross-system communication.
[0003] However, since the socket in the prior art relies on network communication, the instability of the network may cause communication failure or communication failure between processes, resulting in security risks in the vehicle system. A better solution is needed. Summary of the invention
[0004] In view of this, the present invention provides a cross-system inter-process communication method and a communication system to solve the problem of potential security risks in the vehicle system caused by the inter-process communication relying on network communication.
[0005] On the one hand, the present disclosure provides a cross-system process communication method, which is applied to a communication system, wherein the communication system includes: a QNX system and a second system, and the method includes: the QNX system, based on preset hardware communication, receives interface call information of an external process from a front-end communication module in the second system, wherein the interface call information is generated when an external process in the second system calls an interface; the QNX system, determines the type of interface in the interface call information, and performs an operation corresponding to the type on the internal process.
[0006] On the other hand, the present disclosure also provides a communication system, which includes a QNX system and a second system, wherein: the second system is used to use a front-end communication module to send interface call information of an external process to the QNX system based on preset hardware communication, wherein the interface call information is generated when an external process in the second system calls an interface; the QNX system is used to receive the interface call information, determine the type of interface in the interface call information, and perform operations corresponding to the type on the internal process.
[0007] On the other hand, the present disclosure further provides a computer-readable storage medium, on which computer instructions are stored, and the computer instructions are used to enable a computer to implement the above-mentioned cross-system inter-process communication method.
[0008] On the other hand, the present disclosure further provides a computer program product, including computer instructions, where the computer instructions are used to enable a computer to execute the above-mentioned cross-system inter-process communication method.
[0009] Through the cross-system inter-process communication method and communication system of the above-mentioned embodiments of the present invention, preset hardware communication is used to transmit interface call information between the QNX system and the second system, which can ensure that the cross-system communication process does not rely on the network environment, thereby reducing communication failures caused by network instability, reducing the safety hazards of the vehicle system, and improving the reliability and stability of the system; the QNX system dynamically determines and executes corresponding operations according to the type of interface in the interface call information, thereby enhancing the flexibility of the system.
[0010] The cross-system inter-process communication method and communication system provided by the embodiments of the present disclosure are particularly suitable for solving the problem of network dependence when cross-system communication in a smart cockpit system uses sockets. There is no need to use sockets for inter-process communication, nor is there any need to rely on a network environment, thereby improving the stability of cross-process communication and increasing the reliability of the smart cockpit system. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0012] Figure 1a An exemplary schematic diagram showing the architecture of a communication system to which a cross-system inter-process communication method according to an embodiment of the present disclosure is applied;
[0013] Figure 1b It is a flowchart of a cross-system inter-process communication method provided by an embodiment of the present disclosure;
[0014] Figure 2a An exemplary schematic diagram showing the architecture of another communication system to which a cross-system inter-process communication method according to an embodiment of the present disclosure is applied;
[0015] Figure 2b It is a flowchart of a cross-system inter-process communication method provided by an embodiment of the present disclosure;
[0016] Figure 3 is a structural diagram of a communication system provided by an embodiment of the present disclosure;
[0017] Figure 4 It is a structural diagram of another communication system provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0018] With the development of automobile intelligence and the widespread application of smart cockpit systems, the complexity of software systems in automobiles is increasing. Correspondingly, the stable communication between processes in smart cockpit control systems has received widespread attention in the industry. Currently, dual-system architectures such as QNX system + Android system are used in chip platforms such as Qualcomm 8155 and Qualcomm 8295 to meet the needs of modern automobile intelligence. This architecture makes full use of the high reliability and low latency performance of the QNX real-time operating system, and is suitable for in-vehicle control and safety-critical tasks that require real-time response. At the same time, the Android system provides users with a rich application ecosystem and a friendly user interface, supporting multimedia entertainment, navigation, smart assistants and other functions. In these dual-system architectures, existing technologies often use socket technology for inter-process communication and inter-system communication. Since sockets rely on network connections, the following problems may exist:
[0019] 1. The socket used in the vehicle system may cause communication interruption or delay due to poor reliability and stability of network connection, which poses a major risk to the vehicle control system that requires real-time response and reduces the reliability of the vehicle system;
[0020] 2. In-vehicle applications often need to process and respond to various sensors and user inputs in real time, but network-based communication methods may cause delays and fail to meet real-time requirements;
[0021] 3. Network communications are vulnerable to various attacks and interferences. As a highly integrated intelligent platform, the in-vehicle system affects the security of the system.
[0022] To solve the above problems, various embodiments of the present disclosure provide a cross-system inter-process communication method, which is applied to a communication system, wherein the communication system includes: a QNX system and a second system, and the method includes: the QNX system, based on preset hardware communication, receives interface call information of an external process from a front-end communication module in the second system, wherein the interface call information is generated when an external process in the second system calls an interface; the QNX system, determines the type of interface in the interface call information, and performs an operation corresponding to the type on the internal process.
[0023] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0024] Please refer to Figure 1a , Figure 1aAn exemplary schematic diagram of the architecture of a communication system applied by a cross-system inter-process communication method according to an embodiment of the present disclosure is shown. Figure 1a As shown, the communication system may include: a QNX system and a second system.
[0025] The QNX system can be a commercial real-time operating system. By adopting a microkernel design, most services are run in user space and have good real-time performance. It can be used to handle high real-time tasks. For example, the tasks may include at least one of the following: vehicle power system control, safety system control, sensor data processing, etc.
[0026] The second system may be another operating system running in the chip platform in addition to the main QNX system. The second system may provide additional functions and / or services. For example, the second system may include at least one of the following: Android system, Linux system, and real-time operating system (RTOS).
[0027] Here, the chip platform may refer to the hardware foundation used to support system functions in the smart cockpit system. The chip platform may include a chip system (System on Chip, SoC) and other peripherals that meet the system operation. For example, other peripherals may include but are not limited to: sensors, displays, input devices, video processing units, etc.
[0028] like Figure 1a As shown, the front-end communication module is deployed in the second system, and the front-end communication module sends interface call information of the external process to the QNX system. The front-end communication module in the second system may refer to a module in the second system for processing communication with other processes or QNX systems.
[0029] Further references Figure 1b , Figure 1b is a flow chart of a cross-system inter-process communication method provided by an embodiment of the present disclosure, which is applied to the above Figure 1a The communication system shown in , the process of the method may include the following steps:
[0030] Step S101, the QNX system receives interface call information of an external process from a front-end communication module in a second system based on preset hardware communication, wherein the interface call information is generated when the external process in the second system calls an interface.
[0031] In this embodiment, the preset hardware communication may refer to the Hardware Abstraction Bus (HAB) provided by the Qualcomm chip platform. HAB may be a transmission mechanism that is independent of the network and can allow direct, low-latency communication between different hardware devices (such as the QNX system and the second system) by defining standardized protocols and interfaces.
[0032] The external process in the second system may refer to an independent program or task running in the second system. For example, when the second system is an Android system, the external process may include but is not limited to: user applications, system service programs, background service programs, and voice assistant programs.
[0033] An internal process in a QNX system may refer to an independent program or task running in a QNX real-time operating system. Each internal process may have its own memory space and resources in a QNX system. For example, an internal process may include but is not limited to: a system service process, a sensor management process, and a data storage and management process.
[0034] In a possible implementation, the embodiment may further include: a front-end communication module that provides an interface to other processes in the second system, and when other processes call the interface, captures the calling action of other processes and generates interface calling information of the external process.
[0035] Here, the interface provided by the front-end communication module may refer to an application programming interface (Application Programming Interface, API), which may refer to a set of preset rules and specifications that define the interface between software processes and can enable interaction and communication between different processes. The front-end communication module may capture the calling actions of other processes in a manner including, but not limited to: using an interception mechanism to intercept the call, and using a hook function technology to obtain the calling information.
[0036] Furthermore, the API interface provided by the front-end communication module to the external process can be oriented to the interaction between the user interface and the application layer, which can improve the user experience and realize the application functions.
[0037] Step S102: The QNX system determines the type of the interface in the interface call information and performs an operation corresponding to the type on the internal process.
[0038] In this embodiment, the interface call information of the external process calling the API interface may include but is not limited to: interface type, data to be sent, target to be sent, call timestamp, etc. The interface type of the API interface may include but is not limited to: registration interface, sending interface, receiving interface, authentication interface, update interface, etc. When the interface type is a registration interface, the interface call information includes the registration information of the external process to be registered, and when the interface type is a sending interface, the interface call information also includes the data to be sent and the target to be sent, wherein the QNX system forwards the data to be sent based on the target to be sent.
[0039] The QNX system, based on the HAB mechanism, receives the interface call information sent by the front-end communication module, determines the type of the interface in the interface call information, and performs operations corresponding to the type on the internal process.
[0040] As an example, the QNX system determines the type of the interface in the interface call information and performs an operation corresponding to the type on the internal process, which may include:
[0041] The QNX system, when the interface call information represents the registration of an external process, stores the registration information of the external process in the internal storage space.
[0042] The QNX system, when the interface call information represents that the external process sends data to the internal process, obtains the data to be sent and the target to be sent in the interface call information, determines the target internal process in the internal process based on the target to be sent, and forwards the data to be sent to the target internal process.
[0043] The QNX system, when the interface call information indicates that the external process receives data from the internal process, determines the internal process that uses the external process as the target to be sent, and sends the data to be sent of the internal process to the front-end communication module, so that the front-end communication module forwards the data to be sent to the external process.
[0044] Furthermore, the method may also include: the QNX system, when the interface call information indicates that the internal process calls the registration interface for registration, stores the registration information of the internal process in an internal storage space.
[0045] The QNX system obtains the data to be sent and the target to be sent in the interface call information when the interface call information indicates that the first internal process calls the sending interface to send data to the second internal process, determines the second internal process in the internal process based on the target to be sent, and forwards the data to be sent to the second internal process.
[0046] The QNX system determines the second internal process that uses the first internal process as a target to be sent when the interface call information indicates that the first internal process receives data from the second internal process, and forwards the data to be sent of the second internal process to the first internal process.
[0047] According to the above example, the interface call information when the QNX system performs type-corresponding operations on the internal process can come from the external process or the internal process.
[0048] In the cross-system inter-process communication method and communication system of the above-mentioned embodiments of the present disclosure, preset hardware communication is used to transmit interface call information between the QNX system and the second system, which can ensure that the cross-system communication process does not rely on the network environment, and there is no need to consider whether there is network fluctuation or network connection status, thereby improving the reliability and stability of cross-system data transmission, improving the stability of the automobile cockpit system, and reducing the risk of automobile operation; the QNX system dynamically determines and executes the corresponding operation according to the type of interface in the interface call information, thereby enhancing the flexibility of the system, thereby reducing the delay of the cockpit system and improving the real-time performance of the system.
[0049] For further information, please refer to Figure 2a , Figure 2a FIG. 1 is an exemplary schematic diagram showing the architecture of another communication system to which a cross-system inter-process communication method according to an embodiment of the present disclosure is applied. Figure 2a As shown, the communication system may include: the communication system includes a QNX system and a second system, and the QNX system includes a server module and a backend communication module connected to the server module.
[0050] The server module may be a process in the QNX system responsible for providing core functions and services, and the backend communication module may be a submodule in the QNX system, serving as a bridge between the server module and the second system to communicate with the second system.
[0051] The functions of the server module may include but are not limited to: interface management, request processing of the second system, and data distribution; the functions of the backend communication module may include but are not limited to: interface call information reception, data conversion, and communication protocol management.
[0052] Figure 2b is a flow chart of a cross-system inter-process communication method provided by an embodiment of the present disclosure, which is applied to the above Figure 2a The communication system shown in Figure 2b As shown, the process of the method includes:
[0053] Step S201, the back-end communication module receives the interface call information of the external process from the front-end communication module based on the preset hardware communication, and sends the interface call information to the server module as an internal process, wherein the interface is provided by the server module; and
[0054] Step S202, the server module obtains the interface call information of the internal process, determines the type of the interface call information, and performs an operation corresponding to the type on the internal process; the interface types in the interface call information include: registration interface, sending interface and receiving interface.
[0055] In this embodiment, interface call information of an external process is received from a front-end communication module, and the interface call information is sent to a server module as an internal process, including: a back-end communication module, which receives interface call information of an external process from the front-end communication module, calls the interface of the server module as an internal process based on the interface call information of the external process, and sends the interface call information to the server module.
[0056] Here, the backend communication module can receive the interface call information from the frontend communication module based on the HAB mechanism, call the interface provided by the server module as an internal process, and send the interface call information to the server module.
[0057] Here, the front-end communication module provides an interface to the external process in the second system, and the server module provides an interface to the internal process in the QNX system, wherein the internal process also includes the back-end communication module.
[0058] Furthermore, the front-end communication module can provide an interface to the external process in the second system only after calling the registration interface of the server module for registration; the back-end communication module can receive the interface call information sent by the front-end module only after calling the registration interface of the server module for registration.
[0059] As an example, the server module provides a registration interface to the internal process. When the back-end communication module calls the registration interface, the server module registers the back-end communication module so that the back-end communication module has the authority to obtain the interface call information of the external process. When the front-end communication module registers, it sends its own registration information to the back-end communication module. The back-end communication module again calls the registration interface as an internal process and sends the registration information of the front-end communication module to the server module. The server module registers based on the registration information of the front-end communication module. At this time, the registration of the front-end communication module is completed.
[0060] In the above-mentioned embodiment of the present disclosure, the interface call information from the front-end communication module is received by the back-end communication module, and forwarded to the server module, thereby ensuring the accurate transmission and efficient management of the interface call information; the back-end communication module can receive the interface call information from the front-end communication module, and use it as an internal process to call the server module. This two-way communication capability enhances the interactivity and flexibility between the QNX system and the second system, and ensures the efficiency of cross-system communication; by modularizing the functions of the front-end communication module, the back-end communication module and the server module, the system architecture is clearer, which is convenient for subsequent maintenance and expansion.
[0061] In some optional implementations of this embodiment, the server module obtains the interface call information of the internal process, determines the type of the interface call information, and performs an operation corresponding to the type on the internal process, which may include:
[0062] The server module, when the type of the interface in the acquired interface call information is a registration interface, stores the category information of the corresponding internal process in the memory space; the category information is used to determine the type of data that the internal process is concerned about;
[0063] The server module, when the type of interface in the acquired interface call information is a sending interface, stores the data to be sent in the interface call information into the memory space, determines the target category information in the interface call information, and based on the target category information, searches the memory space for the target internal process corresponding to the target category information, and forwards the data to be sent to the target internal process.
[0064] In this embodiment, when the server module starts its own process, it uses the memory management function provided by the QNX system to apply for a continuous memory space in the QNX system. The memory space can be used to store registration information of other processes and data to be sent.
[0065] The server module, when the type of the interface in the acquired interface call information is a registration interface, stores the category information of the corresponding internal process into the memory space, which may include:
[0066] The server module, after acquiring the interface call information corresponding to the registration interface, stores the registration information of the process that calls the registration interface into the memory space, and the registration information may include category information (TOPIC). TOPIC can be used to characterize the message type that the process is concerned about, and here, the TOPIC in the process may include at least one.
[0067] Here, the process may include an external process and an internal process. When the process is an external process, the external process calls the registration interface provided by the front-end communication module, the front-end communication module obtains the registration information of the external process, and sends the registration information to the back-end communication module. The back-end communication module regards the registration information of the external process as the registration information of the internal process, and the back-end communication module, as an internal process, calls the registration interface of the server module so that the server module stores the registration information of the external process in the memory space. When the process is an internal process, the internal process calls the registration interface provided by the server module, the server module obtains the registration information of the internal process, and stores the registration information in the memory space.
[0068] In a possible implementation of the above embodiment, the server module, when the type of the interface in the acquired interface call information is a registration interface, stores the category information of the corresponding internal process into the memory space, and may further include:
[0069] The server module, when the type of the interface in the acquired interface call information is a registration interface, if there are multiple types of category information of the internal process corresponding to the interface call information, stores the multiple types of category information in the memory space.
[0070] In this embodiment, the server module can support registration of multiple types of information at the same time, and can also support registration of multiple different processes at the same time.
[0071] The server module searches for the target internal process corresponding to the target category information in the memory space based on the target category information, and forwards the data to be sent to the target internal process, which may include:
[0072] The server module searches the memory space for an internal process whose category information is the target category information, takes the internal process as the target internal process, and forwards the data to be sent to the target internal process.
[0073] As an example, the first process and the second process call the registration interface, the category information of the first process and the second process are both backlight, and the server module stores the category information of the two processes in the memory space. The third process calls the sending interface, and the target category information in the interface call information of the third process is backlight. The server module forwards the data to be sent by the third process to the first process and the second process.
[0074] In the above-mentioned embodiments of the present disclosure, the server module is used to support the registration of external and internal processes, so that various processes can seamlessly participate in inter-process communication, thereby improving the flexibility of cross-system communication; according to the category information, the data to be sent is effectively forwarded to all processes registered for the corresponding category to ensure the accurate transmission of information; allowing multiple processes to register the same category information and multiple different process registrations can promote collaboration between different processes and improve the communication efficiency of the system.
[0075] In some optional implementations of this embodiment, the server module forwards the data to be sent to the target internal process, which may include: the server module adopts a shared memory method to forward the data to be sent in the memory space to the internal process.
[0076] In this embodiment, shared memory is used to directly forward the data to be sent to the internal process, and the data does not need to be copied multiple times in you, thereby achieving zero copy. Among them, shared memory can be an inter-process communication mechanism that allows multiple processes to access the same memory area.
[0077] In the above-mentioned embodiments of the present disclosure, the shared memory is used to transmit the data to be sent, which can significantly improve the efficiency and response speed of inter-process communication, thereby improving the flexibility of the cockpit control system.
[0078] In some optional implementations of this embodiment, the method also includes: a server-side module, when the category information of the target internal process in the interface call information of the first process that calls the sending interface is the same as the category information in the interface call information of the second process that calls the receiving interface, based on a preset data protocol, the data to be sent of the first process is forwarded to the second process through shared memory, and the preset data protocol is customized by the first process and the second process.
[0079] In this embodiment, a data protocol can be customized between a process calling a sending interface and a process calling a receiving interface having the same category information.
[0080] As an example, when multiple processes register the same category information, it can be represented that the message topics that the multiple processes are concerned about are the same. For example, multiple processes simultaneously register the category information representing backlight control.
[0081] A custom data protocol can represent that multiple processes can freely define how to package and parse messages when sending and receiving data, wherein the custom data protocol can include but is not limited to data format, field meaning, and data type.
[0082] As an example, the first process sends composite data including temperature and humidity, and the second process only focuses on the temperature data. At this time, the first process and the second process can customize the data protocol of how to parse the information, so that the first process sends the composite data, and the second process only parses the temperature data of interest in the composite data.
[0083] In the above embodiments of the present disclosure, by customizing the data protocol, the specific requirements of different processes can be effectively met, thereby improving the overall performance and maintainability of the system.
[0084] Furthermore, a process can register multiple types of information of interest, and multiple processes can register the same type of information.
[0085] As an example, a process can register multiple categories of information of interest. For example, a process can simultaneously register category information of temperature control, volume adjustment, and navigation instructions. Multiple processes can register the same category information. For example, if multiple processes are interested in temperature control, when temperature control-related control instructions are sent, all processes registered for temperature control can receive the information.
[0086] Here, by supporting a process to register multiple categories of information of interest, the system can improve its information processing capabilities while maintaining flexibility; and allowing multiple processes to register the same category information can effectively enhance the communication efficiency and scalability of the system.
[0087] In one embodiment, a communication system 30 is provided, which corresponds one-to-one to the cross-system process communication method in the above embodiment. Figure 3 As shown, the communication system 30 includes a second system 31 and a QNX system 32, wherein each functional module is described in detail as follows:
[0088] The second system 31 is used to use the front-end communication module 311 to send the interface call information of the external process to the QNX system based on the preset hardware communication, wherein the interface call information is generated when the external process in the second system 31 calls the interface;
[0089] The QNX system 32 is used to receive the interface call information, determine the type of the interface in the interface call information, and perform an operation corresponding to the type on the internal process.
[0090] In one embodiment, if Figure 3 As shown, the QNX system 32 includes a server module 321 and a backend communication module 322, wherein each functional module is described in detail as follows:
[0091] The back-end communication module 322 is used to receive the interface call information of the external process from the front-end communication module 311 based on the preset hardware communication, and send the interface call information to the server module 321 as an internal process, wherein the interface is provided by the server module 321;
[0092] The server module 321 is used to obtain the interface call information of the internal process, determine the type of the interface call information, and perform operations corresponding to the type on the internal process; the types of interfaces in the interface call information include: registration interface, sending interface and receiving interface.
[0093] In one embodiment, the backend communication module 322 is specifically used to receive interface call information of an external process from the frontend communication module 311, and based on the interface call information of the external process, it serves as an interface for the internal process to call the server module 321 and send the interface call information to the server module 321.
[0094] In one embodiment, the server module 321 is specifically used to: when the type of interface in the acquired interface call information is a registration interface, store the category information of the corresponding internal process in the memory space; the category information is used to determine the type of data that the internal process is concerned about; when the type of interface in the acquired interface call information is a sending interface, store the data to be sent in the interface call information in the memory space, determine the target category information in the interface call information, and based on the target category information, search the memory space for the target internal process corresponding to the target category information, and forward the data to be sent to the target internal process.
[0095] In one embodiment, the server module 321 is specifically used for: when the type of the interface in the acquired interface call information is a registration interface, if there are multiple types of internal process information corresponding to the interface call information, then the multiple types of information are stored in the memory space.
[0096] In one embodiment, the server module 321 is specifically used to forward the data to be sent in the memory space to the internal process by using a shared memory method.
[0097] In one embodiment, the server module 321 is also used for: when the category information of the target internal process in the interface call information of the first process that calls the sending interface is the same as the category information in the interface call information of the second process that calls the receiving interface, based on the preset data protocol, forwarding the data to be sent of the first process to the second process through shared memory, and the preset data protocol is customized by the first process and the second process.
[0098] It should be noted that: when the communication system provided in the above embodiment implements the corresponding cross-system process communication method, only the division of the above program modules is used as an example. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the above system can be divided into different program modules to complete all or part of the above-described processing. Figure 1b The embodiments of the method shown belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.
[0099] The present disclosure also provides a computer device having the above Figure 3 The communication system shown.
[0100] See also Figure 4 , Figure 4 is a schematic diagram of the structure of another communication system provided by an embodiment of the present disclosure, such as Figure 4As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 4 A processor 10 is taken as an example.
[0101] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0102] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0103] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0104] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0105] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 4 The example of connecting through bus is taken in the following.
[0106] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.
[0107] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0108] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0109] A part of the present disclosure may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present disclosure through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0110] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A cross-system process communication method, characterized in that: Applied to a communication system, the communication system includes: a QNX system and a second system, and the method includes: The QNX system receives interface call information of an external process from a front-end communication module in the second system based on preset hardware communication, wherein the interface call information is generated when the external process in the second system calls an interface; The QNX system determines the type of the interface in the interface call information, and performs an operation corresponding to the type on the internal process.
2. The method according to claim 1, characterized in that The QNX system includes: a server module, a backend communication module connected to the server module; and The QNX system receives interface call information of an external process from a front-end communication module in the second system based on preset hardware communication, including: the back-end communication module receives the interface call information of the external process from the front-end communication module based on preset hardware communication, and sends the interface call information to the server module as an internal process, wherein the interface is provided by the server module; and The QNX system determines the type of interface in the interface call information and performs an operation corresponding to the type on the internal process, including: the server module obtains the interface call information of the internal process, determines the type of the interface call information, and performs an operation corresponding to the type on the internal process; the types of interfaces in the interface call information include: a registration interface, a sending interface, and a receiving interface.
3. The method according to claim 2, characterized in that The back-end communication module receives the interface calling information of the external process from the front-end communication module, and sends the interface calling information to the server module as an internal process, including: the back-end communication module receives the interface calling information of the external process from the front-end communication module, calls the interface of the server module as an internal process based on the interface calling information of the external process, and sends the interface calling information to the server module.
4. The method according to claim 3, characterized in that The server module obtains the interface call information of the internal process, determines the type of the interface call information, and performs an operation corresponding to the type on the internal process, including: The server module, when the type of the interface in the acquired interface call information is a registration interface, stores the category information of the corresponding internal process in the memory space; the category information is used to determine the type of data that the internal process is concerned about; The server-side module, when the type of interface in the acquired interface call information is a sending interface, stores the data to be sent in the interface call information into the memory space, determines the target category information in the interface call information, searches the memory space for the target internal process corresponding to the target category information based on the target category information, and forwards the data to be sent to the target internal process.
5. The method according to claim 4, characterized in that The server module, when the type of the interface in the acquired interface call information is a registration interface, stores the category information of the corresponding internal process into the memory space, including: The server module, when the type of the interface in the acquired interface call information is a registration interface, if there are multiple types of information of the internal process corresponding to the interface call information, stores the multiple types of information in the memory space.
6. The method according to claim 4, characterized in that The server module forwards the data to be sent to the target internal process, including: The server module adopts a shared memory method to forward the data to be sent in the memory space to the internal process.
7. The method according to claim 6, characterized in that The method also includes: a server-side module, when the category information of the target internal process in the interface call information of the first process that calls the sending interface is the same as the category information in the interface call information of the second process that calls the receiving interface, based on a preset data protocol, forwarding the data to be sent of the first process to the second process through shared memory, and the preset data protocol is customized by the first process and the second process.
8. A communication system, characterized in that: The communication system includes a QNX system and a second system, wherein: The second system is used to use a front-end communication module to send interface call information of an external process to the QNX system based on preset hardware communication, wherein the interface call information is generated when the external process in the second system calls an interface; The QNX system is used to receive the interface call information, determine the type of interface in the interface call information, and perform an operation corresponding to the type on an internal process.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the cross-system inter-process communication method according to any one of claims 1 to 7.
10. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the cross-system inter-process communication method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Dual-system multi-channel memory sharing method for vehicle-mounted cabin entertainment system
CN115809158A
Communication method and device, domain controller and readable storage medium
CN117473481A
Remote virtual machine monitoring in-vehicle infotainment method and device, electronic equipment and storage medium
CN118152209A
Middleware communication system and method, vehicle-mounted terminal and storage medium
CN118796504A