Inter-process communication system and method based on fusion of visual model and DDS
By combining the publish-subscribe mechanism of visualization model and DDS, the data flow path of inter-process communication is optimized, and the problem of difficulty in combining DDS with visualization model in the prior art is solved, and an efficient, flexible and reliable inter-process communication system is realized.
Patent Information
- Application Number
- CN202510206291.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2045-02-24
AI Technical Summary
It is difficult for the prior art to effectively combine data distribution services (DDS) with visual models to optimize data flow and system management of inter-process communication.
By building a visual model representing inter-process communication, defining the data structure for data transmission, and configuring the relationship between data publisher and subscriber based on the DDS standard, the process nodes and the communication interface of DDS are mapped to realize real-time data transmission and state tracking, and adjusting the transmission rate and size of the data packet according to the data transmission status.
The data flow path is optimized, data transmission delay is reduced, the overall efficiency of inter-process communication is improved, the system flexibility and reliability is enhanced, the integration of heterogeneous systems is supported, and the user experience is improved.
Smart Images

Figure CN120045356A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of computer system engineering, and particularly relates to an inter-process communication system and method based on the fusion of a visualization model and DDS. Background Art
[0002] With the rapid development of information technology, especially in the fields of Internet of Things (IoT), autonomous driving, intelligent manufacturing, etc., the demand for inter-process communication is increasing day by day. Inter-Process Communication (IPC) refers to the process of exchanging data and information between multiple processes in a computer system. Effective inter-process communication can not only improve the overall performance of the system, but also enhance the flexibility and scalability of the system.
[0003] Traditional inter-process communication methods mainly include shared memory, message queue, pipe, and socket, etc. These methods have their own advantages and disadvantages. For example, shared memory provides fast data access, but developers need to manage synchronization and consistency issues; the message queue simplifies inter-process communication, but may cause data transmission delays. Therefore, in complex systems, it is crucial to select an appropriate inter-process communication method.
[0004] To address the limitations of traditional communication methods, Data Distribution Service (DDS) emerged as the times require. DDS is a communication middleware standard for real-time, distributed systems, and is widely used in fields such as aerospace, military, medical, and industrial automation. DDS provides an efficient and reliable data transmission mechanism, supporting various QoS (Quality of Service) policies, such as reliability, latency, bandwidth, etc., to ensure the efficient transmission of data in different network environments.
[0005] The core concept of DDS is the "publish-subscribe" model. In this model, data producers (publishers) publish data to specific topics, and data consumers (subscribers) obtain data from these topics. This loosely coupled architecture enables the system to be flexibly extended, and new publishers or subscribers do not need to make major changes to the existing system. In addition, DDS also supports a dynamic discovery mechanism, which can automatically identify and connect new publishers and subscribers at runtime, improving the flexibility and adaptability of the system.
[0006] However, despite the powerful communication capabilities provided by DDS, how to effectively integrate it with the visualization model remains an urgent problem to be solved. The visualization model displays the system architecture and its dynamic behavior in a graphical way, helping developers understand and manage complex systems. Combining the visualization model with DDS can clarify the communication relationships between processes at the design stage, optimize data flow, and improve the manageability of the system. Summary of the Invention
[0007] In view of the defects existing in the above-mentioned prior art, the present invention provides an inter-process communication method based on the integration of a visualization model and DDS, including the following steps:
[0008] Step S101, construct a first visualization model representing inter-process communication, where the first visualization model includes process nodes, data flow directions, event trigger conditions, and state changes;
[0009] Step S103, define a data structure for data transmission in the first visualization model;
[0010] Step S105, configure the relationship between data publishers and subscribers based on the DDS standard;
[0011] Step S107, map the process nodes in the first visualization model to the communication interfaces of DDS;
[0012] Step S109, perform real-time data transmission based on DDS, real-time track the data transmission status, and perform integrity verification based on the data structure;
[0013] Step S1011, adjust the transmission rate and size of data packets in real time based on the data transmission status to improve the overall communication performance.
[0014] Among them, the data structure defined for data transmission in step S103 includes:
[0015] Clarify the data type, size, and format of data packets;
[0016] Formulate a life cycle management strategy.
[0017] Among them, formulating the life cycle management strategy specifically includes using corresponding management functions in the creation, transmission, and destruction stages.
[0018] Among them, step S105 specifically includes:
[0019] Determine the data type to be transmitted and define a corresponding topic in DDS;
[0020] Create one or more publisher instances for the corresponding topic and configure their attributes;
[0021] Create a subscriber instance for the corresponding topic and configure the data processing method and QoS policy it receives.
[0022] Among them, the step S107 includes:
[0023] In the visualization model, analyze the data flow between each process node and identify the data publishers and subscribers;
[0024] Define corresponding DDS topics for each process node;
[0025] Configure the attributes of each interface for mapping.
[0026] Among them, the step S109 includes performing integrity verification based on the checksum or hash value defined in the data structure.
[0027] Among them, the step S1011 specifically includes:
[0028] Based on the data transmission status, calculate the first priority of the data packet;
[0029] Adjust the transmission rate of the data packet based on the calculated first priority.
[0030] Among them, the following formula is used to calculate the priority of the data packet:
[0031]
[0032] , where P i represents the i-th data packet transmitted; P dynamic represents the dynamic priority of the i-th data packet; α is the influence coefficient of latency on priority; β is the influence coefficient of data packet size on priority; γ is the influence coefficient of importance on priority; Latency(P i ) represents the current network latency of the data packet P i ; PacketSize(P i ) represents the size of the data packet Pi; Importance(P i ) represents the importance level of the data packet P i ; τ is a time constant used to control the attenuation rate of latency on priority; T is the time interval of inter-process communication considered.
[0033] Among them, adjusting the transmission rate of the data packet based on the calculated first priority includes adjusting the transmission rate of the data packet using the following formula:
[0034] Among them, R asjusted (P i) is the adjusted transmission rate; BaseRate is the basic transmission rate; k is the influence factor of priority on the transmission rate; δ is the adjustment factor, representing the influence of packet loss rate on the transmission rate; PacketLossRate(P i ) represents the data packet P i 's packet loss rate.
[0035] The present invention also proposes an inter - process communication system based on the fusion of a visualization model and DDS, including:
[0036] A visualization model construction module, which is used to construct a first visualization model representing inter - process communication. The first visualization model includes process nodes, data flow directions, event trigger conditions, and state changes;
[0037] A data structure definition module, which is used to define the data structure for data transmission in the first visualization model;
[0038] A DDS configuration module, which is used to configure the relationship between data publishers and subscribers based on the DDS standard;
[0039] An interface mapping module, which is used to map the process nodes in the first visualization model to the communication interfaces of DDS;
[0040] An implementation transmission module, which is used to perform real - time data transmission based on DDS, track the data transmission status in real time, and perform integrity verification based on the data structure;
[0041] A data packet adjustment module, which is used to adjust the transmission rate and size of data packets in real time based on the data transmission status to improve the overall communication performance.
[0042] Compared with the prior art, the present invention has the following advantages:
[0043] By combining the visualization model with the publish - subscribe mechanism of DDS, this method optimizes the data flow path, reduces the data transmission delay, and thus significantly improves the overall efficiency of inter - process communication.
[0044] The visualization model makes the system architecture more intuitive, and developers can easily identify and adjust the communication relationships between processes. This flexibility allows the system to dynamically add or delete processes during operation without major modifications to the overall architecture.
[0045] This method utilizes the dynamic discovery mechanism of DDS to automatically identify new publishers and subscribers during operation, ensuring the continuity and reliability of data transmission. This adaptive feature enables the system to maintain efficient data interaction in the face of changing network environments.
[0046] By introducing QoS policies, the system can dynamically adjust the priority and transmission rate of data packets according to the real-time monitored network conditions and data stream characteristics. This flexible resource management method ensures that the system can still maintain good performance under different load conditions.
[0047] The reliability policy provided by DDS ensures the integrity and accuracy of data during transmission. Combined with the design of the visualization model, it helps to identify potential communication bottlenecks and data loss risks, further enhancing the reliability of the system.
[0048] The visualization model provides a clear view for the design and maintenance of the system, enabling developers to quickly understand and adjust the system architecture. Such a visual representation reduces the design complexity and potential errors.
[0049] The standardization feature of DDS enables seamless communication between different platforms and programming languages. Combined with the visualization model, this method can promote the compatibility between different system components and support the integration of heterogeneous systems.
[0050] Through more efficient and reliable communication, end-users can obtain better system response time and data processing capabilities. This improvement directly enhances the user experience, especially in application scenarios with high real-time requirements.
[0051] Through real-time monitoring and feedback mechanisms, the system can dynamically adjust according to the performance metrics of data transmission, helping enterprises make more accurate business decisions and improve operational efficiency. Brief Description of the Drawings
[0052] By referring to the following detailed description with reference to the drawings, the above and other objects, features, and advantages of the exemplary embodiments of the present disclosure will become readily understood. In the drawings, several embodiments of the present disclosure are shown in an exemplary rather than restrictive manner, and the same or corresponding reference numerals represent the same or corresponding parts, where:
[0053] Figure 1 is a flowchart showing an inter-process communication method based on the fusion of a visualization model and DDS according to an embodiment of the present invention. Detailed Embodiments
[0054] In order to make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the scope of protection of the present invention.
[0055] The terms used in the embodiments of the present invention are for the purpose of describing specific embodiments only and are not intended to limit the present invention. The singular forms "a", "said", and "the" used in the embodiments of the present invention and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. "Plural" generally includes at least two.
[0056] It should be understood that although the terms first, second, third, etc. may be used in the embodiments of the present invention to describe..., these... should not be limited to these terms. These terms are only used to distinguish.... For example, without departing from the scope of the embodiments of the present invention, the first... may also be referred to as the second..., and similarly, the second... may also be referred to as the first....
[0057] It should be understood that the term "and / or" used herein is only a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " herein generally represents an "or" relationship between the associated objects before and after.
[0058] Depending on the context, the words "if", "when" as used herein may be interpreted as "when...", "when...", "in response to determining", or "in response to detecting". Similarly, depending on the context, the phrase "if determined" or "if detecting (stated condition or event)" may be interpreted as "when determined", "in response to determining", "when detecting (stated condition or event)", or "in response to detecting (stated condition or event)".
[0059] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a commodity or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such commodity or device. Without further limitation, the element defined by the statement "including one..." does not exclude the existence of additional identical elements in the commodity or device including the said element.
[0060] The optional embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0061] Embodiment 1
[0062] As Figure 1 shown, the present invention discloses an inter-process communication evaluation method based on the fusion of a visualization model and DDS, including the following steps:
[0063] Step S101: Construct a first visualization model representing inter - process communication. The first visualization model includes process nodes, data flow directions, event trigger conditions, and state changes.
[0064] Step S103: In the first visualization model, define a data structure for data transmission.
[0065] Step S105: Based on the DDS standard, configure the relationship between data publishers and subscribers.
[0066] Step S107: Map the process nodes in the first visualization model to the communication interfaces of DDS.
[0067] Step S109: Based on DDS, perform real - time data transmission, track the data transmission status in real time, and perform integrity verification based on the data structure.
[0068] Step S1011: Based on the data transmission status, adjust the transmission rate and size of data packets in real time to improve the overall communication performance.
[0069] DDS provides a standardized way to implement inter - process message passing and data sharing, supporting efficient and reliable data exchange. By configuring QoS policies, DDS can optimize the reliability and latency of data transmission according to application requirements.
[0070] In the visualization model, process nodes can be regarded as data publishers and subscribers of DDS. By establishing clear mapping relationships, the model can show how data flows between different processes, ensuring that each component can perform effective message exchange through the DDS framework.
[0071] The visualization model can reflect the dynamic discovery mechanism of DDS. When processes or nodes in the system change, the model can be updated in real time to show new communication relationships. This dynamic nature ensures the flexibility and adaptability of the system during operation.
[0072] The visualization model can integrate the monitoring function of data transmission, and display the data flow status, latency, and packet loss rate in real time.
[0073] Based on the visualization model, combined with the feedback mechanism of DDS, the priority of data packets can be calculated dynamically, and the transmission strategy can be adjusted in real time. In this way, the model can not only show the static structure but also reflect the dynamic behavior of the system during operation.
[0074] Embodiment 2
[0075] A method for inter - process communication based on the integration of a visualization model and DDS proposed by the present invention includes the following steps:
[0076] Step S101: Construct a first visualization model representing inter - process communication. The first visualization model includes process nodes, data flow directions, event trigger conditions, and state changes.
[0077] Step S103: In the first visualization model, define a data structure for data transmission.
[0078] Step S105: Based on the DDS standard, configure the relationship between data publishers and subscribers.
[0079] Step S107: Map the process nodes in the first visualization model to the communication interfaces of DDS.
[0080] Step S109: Based on DDS, perform real - time data transmission, track the data transmission status in real - time, and perform integrity verification based on the data structure.
[0081] Step S1011: Based on the data transmission status, adjust the transmission rate and size of data packets in real - time to improve the overall communication performance.
[0082] The data structure defined in the visualization model is not only a static description but a core component of the entire inter - process communication. Its specific functions include:
[0083] By specifying data types, ensure the format consistency of data transmission. For example, define data types such as integers, floating - point numbers, and strings to ensure that both the sender and receiver can correctly process the data.
[0084] Set the size of each data type (for example, an integer is 4 bytes and a floating - point number is 8 bytes), which helps with effective memory management and bandwidth control during transmission. The format (such as JSON, XML, binary, etc.) ensures the correct parsing and serialization of data.
[0085] Through lifecycle management, define the state of data during creation, transmission, use, and destruction. This ensures that data is properly handled throughout the communication process, avoiding memory leaks or data conflicts. For example, the data's expiration date, whether it needs to be persistently stored, etc., can be defined.
[0086] The data structure can also include mechanisms such as checksums and hash values to ensure the integrity of data during transmission. This helps detect data corruption or tampering and enhances the reliability of the system.
[0087] The data structure can define the data interaction rules between different processes, including request - response patterns, packet priorities, etc. These rules can be graphically represented in the visualization model for easy understanding and maintenance.
[0088] In a visualization model, the definition of a data structure can be materialized in the following ways:
[0089] In the model, graphical elements (such as rectangles, circles, etc.) are used to represent different types of data and their attributes, facilitating developers and maintainers to understand data flow and processing logic.
[0090] The direction of data flow between processes is represented by arrows or lines, which, combined with the definition of the data structure, form a clear data transmission path.
[0091] The life cycle state of data (such as creation, transmission, processing, destruction, etc.) is displayed in the model to help developers identify potential problems and optimize the data processing flow.
[0092] Among them, the data structure defined for data transmission in step S103 includes:
[0093] Specify the data type, size, and format of the data packet;
[0094] Formulate a life cycle management strategy. By defining the states of data creation, transmission, processing, and destruction, ensure the effective management of data between processes and avoid data loss or memory leaks.
[0095] Among them, the formulation of the life cycle management strategy specifically includes using corresponding management functions in the creation, transmission, and destruction phases.
[0096] In the visualization model, graphical elements are used to represent the defined data structure, making the data flow direction and state changes clearly visible.
[0097] The flow path of data between different processes is represented by arrows, which, combined with the definition of the data structure, form a clear data transmission logic.
[0098] Among them, step S105 specifically includes:
[0099] Determine the data type to be transmitted and define the corresponding topic in DDS;
[0100] Create one or more publisher instances for the corresponding topic and configure their properties;
[0101] Create subscriber instances for the corresponding topic and configure the data processing method and QoS policy they receive.
[0102] Among them, step S107 includes:
[0103] In the visualization model, analyze the data flow direction between each process node, and identify the publishers and subscribers of the data;
[0104] Define the corresponding DDS topics for each process node;
[0105] Configure the attributes of each interface for mapping.
[0106] In the first visualization model, process nodes represent individual processing units or functional modules in the system. Each process node needs to clearly describe its function, input and output data types, and its role in the system. For example, assume there is a process node A responsible for data acquisition and a process node B responsible for data processing.
[0107] Each process node needs to be associated with a communication interface of DDS. These interfaces define how the node interacts with DDS for data, including the ways of data publication and subscription. The communication interfaces usually include the following:
[0108] Topic: Each process node needs to define one or more topics for publishing and receiving data.
[0109] Data type: Specify the data structure associated with the topic to ensure that data can be correctly parsed between different nodes.
[0110] QoS policy: Configure appropriate QoS policies for each communication interface to meet transmission requirements (such as reliability, latency, etc.).
[0111] Map process nodes to DDS interfaces:
[0112] The specific mapping steps are as follows:
[0113] Identify data flow: In the visualization model, analyze the data flow between each process node to identify data producers (publishers) and consumers (subscribers). For example, process node A may need to publish the acquired data to the topic "SensorData", while process node B subscribes to data from this topic.
[0114] Establish topic relationships: Define corresponding DDS topics for each process node. For example, the output data of process node A can be mapped to the topic "SensorData", and the input of process node B subscribes to this topic.
[0115] Configure interface attributes: During the mapping process, configure the attributes of each interface, such as data type, QoS policy, etc. Ensure that the publisher of process node A is set to the "reliable" mode, and the subscriber of process node B has an appropriate latency tolerance.
[0116] Use a visualization modeling tool or programming interface to implement the mapping relationship. The specific steps may include:
[0117] Select a modeling tool that supports DDS and use its graphical interface for mapping operations.
[0118] In some cases, the corresponding DDS configuration code can be automatically generated according to the visualization model, simplifying the implementation process.
[0119] Ensure that all mapping relationships are well-documented, including the functions of each process node, the topic relationships, and their QoS settings.
[0120] After the mapping is completed, verification is required to ensure the correctness and effectiveness of data flow:
[0121] Simulation test: Check whether the data is sent and received as expected by simulating the data transfer between test process nodes.
[0122] Performance evaluation: Monitor performance metrics such as data transmission latency and packet loss rate to ensure the effective implementation of the QoS policy.
[0123] Example
[0124] Suppose in a smart home system, there are the following process nodes:
[0125] Process node A: Temperature sensor data acquisition.
[0126] Process node B: Temperature control system.
[0127] Mapping process:
[0128] Define the topic: Create the topic "TemperatureData" for transmitting temperature data.
[0129] Process node A:
[0130] Publisher: Configure the topic "TemperatureData" with a floating-point data type and a "reliable" QoS setting.
[0131] Process node B:
[0132] Subscriber: Subscribe to the topic "TemperatureData" and set the latency tolerance to 100 ms.
[0133] Through the above steps, process nodes A and B are successfully mapped to the DDS communication interface, realizing the effective transmission and processing of data.
[0134] Among them, the step S109 includes integrity verification based on the checksum or hash value defined in the data structure. During data transmission, the checksum or hash value defined in the data structure is used to ensure the integrity and reliability of the data.
[0135] Among them, the step S1011 specifically includes:
[0136] Calculate the first priority of the data packet based on the data transmission status;
[0137] Adjust the transmission rate of the data packet based on the calculated first priority.
[0138] Among them, the priority of the data packet is calculated using the following formula:
[0139]
[0140] , where P i represents the i-th data packet transmitted; P dynamic represents the dynamic priority of the i-th data packet; α is the influence coefficient of latency on priority; β is the influence coefficient of data packet size on priority; γ is the influence coefficient of importance on priority; Latency(P i ) represents the current network latency of the data packet P i ; PacketSize(P i ) represents the size of the data packet P i ; Importance(P i ) represents the importance level of the data packet P i ; τ is a time constant used to control the attenuation rate of latency on priority; T is the time interval of inter-process communication considered.
[0141] Among them, Latency(P i ) uses network monitoring tools (such as Wireshark, Ping, Traceroute, etc.) to monitor the transmission latency of the data packet in real time. For protocols such as TCP / IP, PacketSize(P i ) can be obtained through packet capture tools. Importance(P i)The importance of each data packet can be determined according to business requirements, usually defined by user settings or system rules. For example: critical data packets: importance level 3, general data packets: importance level 2, low-priority data packets: importance level 1. Perform regression analysis based on historical data. Collect the relationship between the latency of a large number of data packets and their priorities, and use linear regression or other regression models to determine the optimal value of α; or under different network conditions, measure the impact of latency on priority and adjust α until the desired performance is obtained. β can be measured by experiments on the transmission performance of data packets of different sizes, observing the relationship between the transmission rate and the packet size, or similarly, regression analysis can be used to determine the impact of packet size on priority to obtain β. γ can determine the impact of different importance levels on priority through user feedback and business requirement analysis, and it can be set with empirical values. k evaluates the actual impact of increased priority on the transmission rate by analyzing historical transmission data. The value of k can be obtained by testing the transmission effects of data packets with different priorities, or under different load conditions, testing the actual transmission rate of data packets, recording the impact of priority changes on the rate, and calculating k. δ can optimize performance by collecting packet loss rate data of the system under different network conditions, analyzing the impact of packet loss rate on the transmission rate, or by establishing a model to observe the impact of changes in packet loss rate on the transmission rate and adjusting δ.
[0142] Among them, adjusting the transmission rate of the first-priority data packet based on calculation includes adjusting the transmission rate of the data packet using the following formula:
[0143] Among them, R adjusted (P i ) is the adjusted transmission rate; BaseRate is the base transmission rate; k is the impact factor of priority on the transmission rate; δ is the adjustment factor, the impact of packet loss rate on the transmission rate; PacketLossRate(P i ) represents the packet loss rate of data packet P i .
[0144] Set QoS parameters such as reliability, latency, and bandwidth according to the definition of the data structure to ensure the efficiency of data transmission.
[0145] In DDS, the relationship between the publisher and the subscriber is managed through a topic. Each topic represents a specific data type. The publisher publishes data to a specific topic, and the subscriber receives data from that topic. Configuring the relationship between the publisher and the subscriber includes the following steps:
[0146] First, determine the data type to be transmitted and define the corresponding topic in DDS. For example, define a topic named "SensorData" to transmit sensor data.
[0147] Create one or more publisher instances for a specific topic and configure their properties such as data sending rate, data persistence, etc.
[0148] Create subscriber instances for the corresponding topic and configure the data processing methods and policies they receive.
[0149] QoS policies are used to control the characteristics of data transmission to meet the requirements of different applications. The main policies include:
[0150] Reliability, configure the publisher and subscriber to ensure reliable data transmission, and you can choose the "reliable" or "best effort" mode. The reliable mode ensures that all data is confirmed received, while the best effort mode does not guarantee data transmission.
[0151] Latency, set the data transmission latency requirements, and you can reduce latency by configuring the data sending priority or selecting an appropriate network protocol. For example, choose a faster transmission path or give priority to sending important data.
[0152] Bandwidth Control, by restricting the data sending rate or using bandwidth allocation policies, ensure a certain transmission quality can still be maintained during network congestion. For example, you can set the maximum sending rate of the publisher to prevent network overload.
[0153] By combining the above QoS policies, optimize the efficiency and reliability of data transmission:
[0154] Dynamically adjust the QoS settings according to the real-time network status and data traffic. For example, during network congestion, you can temporarily reduce the data sending rate or switch to the best effort mode.
[0155] Use the monitoring mechanism to collect performance metrics of data transmission (such as latency, packet loss rate, etc.) and adjust the QoS policy according to the feedback to adapt to the changing network conditions.
[0156] Set different QoS policies for different types of data streams. For example, use high-reliability and low-latency policies for important data streams, and use looser standards for non-critical data streams.
[0157] Suppose DDS is used for data transmission in an autonomous driving vehicle system, and the specific steps are as follows:
[0158] Define the topic: Create the topic "VehicleStatus" for transmitting vehicle status information.
[0159] Create a publisher: Configure a publisher, set the maximum sending rate to 10 Hz, and ensure that the data reliability is in the "reliable" mode.
[0160] Create a subscriber: Configure a subscriber to ensure that it can process the received data in real time and set the latency tolerance to 50 ms.
[0161] Set the QoS policy:
[0162] Reliability: Select the "reliable" mode.
[0163] Latency: Ensure that important status updates are sent immediately by adjusting the priority.
[0164] Bandwidth control: Limit the bandwidth of the publisher to 500 kbps to prevent network congestion.
[0165] Example 3
[0166] The present invention also provides an inter - process communication system based on the fusion of a visualization model and DDS, including
[0167] A visualization model construction module, which is used to construct a first visualization model representing inter - process communication. The first visualization model includes process nodes, data flow directions, event trigger conditions, and state changes;
[0168] A data structure definition module, which is used to define the data structure for data transmission in the first visualization model;
[0169] A DDS configuration module, which is used to configure the relationship between data publishers and subscribers based on the DDS standard;
[0170] An interface mapping module, which is used to map the process nodes in the first visualization model to the communication interfaces of DDS;
[0171] An implementation transmission module, which is used to perform real - time data transmission based on DDS, track the data transmission status in real time, and perform integrity verification based on the data structure;
[0172] A data packet adjustment module, which is used to adjust the transmission rate and size of data packets in real time based on the data transmission status to improve the overall communication performance.
[0173] Example 5
[0174] The embodiments of the present disclosure provide a non - volatile computer storage medium, which stores computer - executable instructions that can execute the method steps described in the above embodiments.
[0175] It should be noted that the computer-readable medium described above can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of a computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer 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. In the present disclosure, a computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, and this computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on a computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0176] The above computer-readable medium can be included in the above electronic device; or it can exist separately without being assembled into the electronic device.
[0177] The computer program code for performing the operations of the present disclosure can be written in one or more programming languages or combinations thereof. The above programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (for example, by using an Internet service provider to connect through the Internet).
[0178] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions denoted in the blocks may occur in an order different from that denoted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0179] The units involved in the embodiments described in the present disclosure can be implemented in software or in hardware. Among them, the name of the unit does not, in some cases, constitute a limitation on the unit itself.
[0180] The preferred embodiments of the present invention are described above to make the spirit of the present invention clearer and easier to understand, and are not intended to limit the present invention. Any modifications, substitutions, and improvements made within the spirit and principles of the present invention shall be included within the protection scope defined by the appended claims of the present invention.
Claims
1. An inter-process communication method based on the integration of visualization model and DDS, characterized in that: The following steps are involved: Step S101: construct a first visualization model representing inter-process communication, wherein the first visualization model includes process nodes, data flow, event triggering conditions, and state changes; Step S103: defining a data structure for data transmission in the first visualization model; Step S105: Based on the DDS standard, configure the relationship between data publishers and subscribers; Step S107: Mapping the process nodes in the first visualization model with the communication interface of the DDS; Step S109: performing real-time data transmission based on DDS, tracking the data transmission status in real time, and performing integrity verification based on the data structure; Step S1011: Based on the data transmission status, adjust the transmission rate and size of the data packet in real time to improve the overall communication performance.
2. The method according to claim 1, characterized in that: The data structure defined in step S103 for data transmission includes: Specify the data type, size, and format of the data packet; Develop a lifecycle management strategy.
3. The method according to claim 2, characterized in that: The formulation of the lifecycle management strategy specifically includes using corresponding management functions in the creation, transmission and destruction stages.
4. The method according to claim 1, characterized in that: The step S105 specifically includes: Determine the type of data to be transferred and define the corresponding topics in DDS; Create one or more publisher instances for the corresponding topics and configure their properties; Create a subscriber instance for the corresponding topic and configure the data processing method and QoS policy for it.
5. The method according to claim 1, characterized in that: The step S107 includes: In the visual model, analyze the data flow between each process node and identify the publishers and subscribers of the data; Define a corresponding DDS topic for each process node; Configure the properties of each interface for mapping.
6. The method according to claim 5, characterized in that The step S109 includes performing integrity verification based on a checksum or hash value defined in the data structure.
7. The method according to claim 1, characterized in that: The step S1011 specifically includes: Based on the data transmission status, calculating a first priority of the data packet; The transmission rate of the data packet is adjusted based on the calculated first priority.
8. The method according to claim 1, characterized in that: The priority of a data packet is calculated using the following formula: , where P i represents the i-th data packet transmitted; P dynamic represents the dynamic priority of the ith data packet; α is the influence coefficient of delay on priority; β is the influence coefficient of data packet size on priority; γ is the influence coefficient of importance on priority; Latency(P i ) indicates data packet P i The current network delay; PacketSize(P i ) indicates data packet P i Importance(P i ) indicates data packet P i is the importance level of the process; τ is the time constant used to control the decay rate of delay to priority; T is the time interval of inter-process communication considered.
9. The method according to claim 7, characterized in that: Adjusting the transmission rate of the data packet based on the calculated first priority includes adjusting the transmission rate of the data packet using the following formula: Among them, R adjusted (P i ) is the adjusted transmission rate; BaseRate is the basic transmission rate; k is the impact factor of priority on the transmission rate; δ is the adjustment factor, the impact of packet loss rate on the transmission rate; PacketLossRate(P i ) indicates data packet P i The packet loss rate.
10. An inter-process communication system based on the integration of visualization model and DDS, comprising: A visualization model building module, which is used to build a first visualization model representing inter-process communication, wherein the first visualization model includes process nodes, data flow, event triggering conditions, and state changes; A data structure definition module, used to define a data structure for data transmission in the first visualization model; DDS configuration module, which is used to configure the relationship between data publishers and subscribers based on the DDS standard; An interface mapping module, which is used to map the process nodes in the first visualization model with the communication interface of the DDS; Implementing a transmission module, which is used to perform real-time data transmission based on DDS, track data transmission status in real time, and perform integrity verification based on the data structure; The data packet adjustment module is used to adjust the transmission rate and size of the data packet in real time based on the data transmission status to improve the overall communication performance.
Citation Information
Patent Citations
Distributed industrial data distribution method based on DDS
CN109547529A
Method for realizing distributed communication in automatic driving based on DDS protocol
CN110086891A
Visualization method and device of domain controller DDS communication network architecture and vehicle
CN116684312A
Automatic test tool chain and test method based on TSN and DDS
CN117439933A
Intelligent device RMS evaluation method and performance evaluation system
CN118210693A