A service quality control method for data distribution service communication middleware
Through the introduction of service quality control methods in the data distribution service communication middleware, the personalized control of the data delivery of the application layer's delivery of data is realized, and the problem of unable to effectively realize the service quality strategy in the existing technology has been solved. Sex and controllability.
Patent Information
- Application Number
- CN202310273574.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-20
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2043-03-20
AI Technical Summary
Existing communication middleware cannot effectively implement the role of service quality policy in data distribution services, especially in the application layer's delivery data process, which lacks flexible control over data transmission.
The service quality control method is introduced in the data distribution service communication middleware, including the release of fine particle size control during the subscription phase and the data transmission stage. Specific measures include physical matching, resource restrictions, data life cycle management, active monitoring, deadline for deadlines, target order control, persistent services, historical transmission priority, delay budget, reliability control, time filtering, ownership management and presentation Strategy.
The personalized control of the application layer delivery data is realized. Through resource restrictions and physical monitoring modules, the use of system resource use of the physical internal system, delete the expired data, and monitor physical activity. At the same time, through the data transmission module, control the sample data sorting, control the priority of transmission of different data writers, filter redundant sample data, and determine the subscriber to accept the sample object.
Smart Images

Figure CN116489225B_ABST
Abstract
Description
Technical Field
[0001] The patent of this invention relates to communication middleware technology, which is a data distribution service technology in software-based communication middleware. Background Art
[0002] Data distribution services have been recognized and put into use in many fields. The data distribution service under the publish-subscribe model can bring the advantages of real-time, flexibility and scalability to the system, and the distributed design based on this can also bring consistency and high availability to the system. The pluggable transport layer of the data distribution service also brings certain conveniences to the implementation of the custom protocol of the communication layer. With the continuous development of the Internet, the number of devices and bandwidth in the network have increased significantly every year, and new transmission protocols are constantly emerging in this context. As the core part of many applications, communication middleware plays an important role in simplifying system design, reducing maintenance costs, improving development efficiency, and ensuring system reliability and real-time performance. In order to solve the problem that the data distribution service of the distributed system needs reliable performance, in this case, a highly configurable middleware is needed to provide developers with a wide range of attributes to control the end-to-end service quality strategy of the application.
[0003] The existing communication middleware implementation scheme is as follows:
[0004] 1) The invention patent with publication number CN115150454A proposes a cross-operating system centralized publish-subscribe communication middleware, designs the publish-subscribe layer, the communication link layer, and the operating system adaptation layer, realizes the entity matching and data transmission of the data distribution service, and realizes the cross-operating system adaptation of the communication middleware on this basis. This method realizes the data distribution service communication middleware, focusing on realizing the cross-operating system function of the communication middleware, without the communication data control function within the node, and cannot realize the flexible control of data during the data communication process.
[0005] 2) The invention patent with publication number CN111698217B proposes a software-based radar communication middleware, which is designed through a hierarchical architecture, and designs a publish-subscribe interface layer, a real-time information exchange layer, and a transmission control layer to support communication between different components in the radar system and distributed communication between different computing nodes. This method focuses on implementing the publish-subscribe function of the data distribution service and encapsulates the commonly used communication protocol interface, but cannot control the data in the internal process of the data distribution service.
[0006] 3) The invention patent with publication number CN111400228A proposes a method and system for integrating RapidIO transmission with DDS communication middleware, and implements the description model of RapidIO based on the DDS-RTPS protocol. This method combines UDP supported by the DDS-RTPS protocol with RapidIO, and realizes data transmission based on RapidIO and UDP protocols in the DDS communication middleware. The DDS communication middleware in this method is based on the RTPS protocol, which verifies that the communication efficiency can be improved under RapidIO and UDP protocols, but the communication middleware system only realizes data transmission in the transport layer, and does not realize the control of the transmission data within the middleware. Summary of the invention
[0007] The technical problem to be solved by the present invention is a method for implementing a service quality strategy in a data distribution service communication middleware, and a method for implementing various service quality strategies in a data delivery process at the application layer.
[0008] The present invention is to solve the above technical solution, which is a service quality control method of data distribution service communication middleware, comprising the steps of:
[0009] (I) Service quality control in the data distribution service publishing and subscription phase: used to control entity matching of the data distribution service communication middleware. Entity matching includes completing information parsing and exchange, realizing node registration, new node discovery and matching; Service quality control in the data distribution service publishing and subscription phase specifically includes: service quality control of group data, topic data, user data and partitions;
[0010] (ii) The service quality control in the data transmission phase is used for publisher-subscriber data transmission. Publisher data transmission includes entity data matching and identity authentication when the publisher creates a data writer for data transmission communication. Subscriber data transmission includes entity data matching and identity authentication when the subscriber creates a data reader for data transmission communication. The service quality control in the data transmission phase specifically includes: entity factory, resource constraints, reader data life cycle, writer data life cycle, activity, lifespan, deadline, target order, persistence and persistence service, historical transmission priority and delay budget, reliability, time-based filtering, ownership and ownership strength, and presentation.
[0011] Specifically, the data distribution service entities of the communication middleware include domain participants, publishers, subscribers, data writers, data readers and topics.
[0012] Data distribution services are data-centric.
[0013] The operating system is Linux and the programming language is C++.
[0014] Supported communication methods include: Transmission Control Protocol TCP, User Datagram Protocol UDP, and other extended transport layer communication protocols.
[0015] The beneficial effects of the present invention are:
[0016] The service quality control of the publish-subscribe module can achieve more fine-grained matching rules and identity authentication.
[0017] The service quality control of the data transmission module can realize personalized control of the data delivered by the application layer. Through the resource restriction and entity monitoring module, the use of internal system resources of the entity can be limited, expired data can be deleted, and the activity of the entity can be monitored. Through the data transmission module, different methods are used to control the sorting of sample data, control the transmission priority of different data writers, filter redundant sample data, and determine the sample objects accepted by the subscriber. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 The overall flow chart of publishing, subscribing and data transmission of the data distribution service communication middleware of the present invention;
[0019] Figure 2 This is a flow chart of an embodiment of a data transmission module sending side of the present invention;
[0020] Figure 3 This is a flow chart of an embodiment of a data transmission module receiving side of the present invention;
[0021] Figure 4 It is the qos configuration diagram of the present invention;
[0022] Figure 5 This is a diagram of experimental results of the information base of the present invention;
[0023] Figure 6 This is a diagram of experimental results published by the publisher of the present invention. DETAILED DESCRIPTION
[0024] The service quality control method of data distribution service communication middleware comprises the steps of:
[0025] (I) Service quality control in the data distribution service publishing and subscription phase: used to control entity matching of the data distribution service communication middleware. Entity matching includes completing information parsing and exchange, realizing node registration, new node discovery and matching; Service quality control in the data distribution service publishing and subscription phase specifically includes: service quality control of group data, topic data, user data and partitions;
[0026] in:
[0027] The service quality control of user data is used to provide the identity information of the entity, perform identity authentication, and enforce publish-subscribe permissions;
[0028] The service quality control of subject data is used to provide the subject and subject information of entities for matching; only entities with the same subject data can be matched;
[0029] Partitioned quality of service control is used to logically separate topics within a domain. Publishers and subscribers only accept entity objects with the same partition string.
[0030] (ii) The service quality control in the data transmission phase is used for publisher-subscriber data transmission. The publisher data transmission includes entity data matching and identity authentication when the publisher creates a data writer for data transmission communication. The subscriber data transmission includes entity data matching and identity authentication when the subscriber creates a data reader for data transmission communication. The service quality control in the data transmission phase specifically includes: entity factory, resource constraints, reader data life cycle, writer data life cycle, activity, lifespan, deadline, target order, persistence and persistence service, historical transmission priority and delay budget, reliability, time-based filtering, ownership and ownership strength, and presentation.
[0031] in,
[0032] The service quality control of the entity factory is used to create entities, and the control entity is automatically enabled when it is created;
[0033] Resource-limited quality of service controls are used to control how much local storage is available to the DDS infrastructure, and to control the maximum number of instances, data samples, and data samples per instance;
[0034] The service quality control of the reader data life cycle is used by the subscriber to control the persistence of the data of the corresponding data writer in the buffer queue. If the corresponding data writer is deregistered, the sample data of the corresponding data writer in the queue is deleted;
[0035] The service quality control of the writer data lifecycle is used to control the data lifecycle of different application layer components. Component cancellation deletes the data delivered by the corresponding application layer in the queue.
[0036] The service quality control of lifespan is used to control the survival time of data samples in all queues of the entity. Sample data that exceeds the survival time will be discarded;
[0037] Active quality of service control is used to monitor the activity of the corresponding entity. If the corresponding entity becomes inactive, the ownership strength will be changed and data sending and receiving will be stopped;
[0038] The deadline service quality control is used to monitor the status of the corresponding entity. If the deadline of the corresponding entity is exceeded, the ownership strength will be changed and the application layer entity deadline will be notified;
[0039] The target order quality of service control is used to control the reception of samples sent in different orders. By adding the source timestamp on the sender and the receiving timestamp on the receiver, the subscriber sets the sorting data structure and sorts the sample data according to different rules;
[0040] Persistence and quality of service control of persistence services are used to control the communication middleware to apply previously available data samples to new data readers in the system, and store them in different levels of storage structures according to different strategies;
[0041] Historical QoS control is used to determine the number of historical data samples that can be sent in a persistent QoS policy;
[0042] The quality of service control of transmission priority and delay budget is used to distinguish the data readers / subscribers with different urgency levels, the order of sample data transmission with different priorities, and the thread priority order under the condition of limited resources;
[0043] Reliability service quality control is used to resend data at the application layer, ensuring the reliability of data transmission and providing reliable communication even in unreliable communication;
[0044] The service quality control based on time filtering is used to provide a minimum interval time filtering method for data readers, and filter the sample data according to the minimum time interval;
[0045] The service quality control of ownership and ownership strength is used when multiple data writers write data to a data reader in a subscriber. The subscriber can filter the sample data according to the object weight, and only the data of the data writer with the highest weight will be received; the data writer weight will also change with the entity object activity and deadline service quality policy;
[0046] The quality of service control of presentation is used when a subscriber has a set of data readers associated with it, presenting sample data to the application layer component in different orders.
[0047] The present invention will be further described below in conjunction with the accompanying drawings.
[0048] The data distribution service communication middleware flow chart is as follows Figure 1 As shown in the figure, it is divided into the publish-subscribe phase and the data transmission phase. The publish-subscribe phase realizes the decoupling and pluggable characteristics between entities. The data transmission phase realizes the control of the transmission data by a variety of user-settable service quality policies to meet the transmission needs of different user layers. The publish-subscribe process is executed first, and the data transmission process is executed after the match is successful.
[0049] The characteristic of data distribution service is that it is data-centric. Its publish-subscribe process is that the publisher sends the topic and topic data type it wants to send to the global data space, and the subscriber sends the topic and topic data type it wants to receive to the global data space. The data processing process in the global data space is to monitor the topic - topic matching - feedback the successful matching topic information.
[0050] The steps required for topic matching are shown in the figure below: Figure 2 As shown, including:
[0051] Step S1, the publishing topic data and subscription topic data of the publisher and subscriber are placed in the publishing data structure and subscription data structure of the global data space respectively. When the publisher data arrives, it matches all subscription topics, and when the subscriber arrives, it matches all subscription topics.
[0052] Step S2, perform UserData (user data) verification. UserDataQOS is user identity verification, which depends on the user data table of the global data space. Only publishers and subscribers (users) in the user data table can communicate with each other.
[0053] Step S3, during the matching process, TopicData (topic data) matching is first performed. TopicDataQOS contains the topic name field and the topic data field, and the topic name and the topic data must be completely consistent. If the match is successful, PARTITION verification is performed.
[0054] Step S4, after the topic data is matched, focus on Partion verification within the domain. The method of logically separating topics is set in PartitionQOS. The value is a string. If the publisher and the subscriber set the same string, the match is successful and GROUPDATA verification is performed.
[0055] Step S5, after the topic data is matched, the GroupData verification is focused on publishers and subscribers, and GroupData QOS further uses additional segments between topics to perform information filtering.
[0056] After successfully matching data in the publish-subscribe phase, the data writer starts the data transmission phase to the data reader. In the data transmission phase, data control functions for data transmission can be performed. By setting different QOS parameters to control the data control behavior of different QOS modules, data control can be achieved in the data transmission phase.
[0057] With data as the center, the data transmission process is as follows: Figure 2 , Figure 3 As shown, the specific steps include:
[0058] Step S1, the communication middleware is initialized, the entity factory module creates entities, the resource limit module is initialized, and the maximum number of instances, data samples, and data samples per instance is determined. After the application layer starts delivering data, the life cycle module, lifespan module, and entity monitoring module are enabled. The historical ring queue depth is set according to historical parameters.
[0059] Step S2, the application layer component starts delivering data. After the data sample enters the middleware, the target sequence module is executed to add a source timestamp to the sample data. The obtained data passes through the persistence module, copies the sample data to the historical ring queue, and sends the data to all created data writers. If there is a new data writer, all the data in the historical ring queue will be sent to the new data writer.
[0060] Step S3, the data is delivered to the sending buffer, and the thread priority of the data writer thread is determined according to the transmission priority module. In case of emergency, the SCHED_RR real-time thread priority can be used. The data is passed to the reliability module, and data is transmitted according to the data transmission mode selected by the application layer. If the RUDP mode is selected, data is packetized and a protocol header is added in the reliable protocol module, and the data enters the communication link.
[0061] Step S4, the data passes through the communication link and enters the data reader in the receiver, executes the reliable protocol module, and feeds back ACK and remote window size. The received data is filtered according to the time filter module, only one sample is received for a period of time, and the target sequence module is executed on the received data. The sample is placed in the receiving buffer. The sample data is transmitted to the subscriber in sequence.
[0062] Step S5: After the service quality policy processing in the data reader, different data readers need to be judged by the ownership module. The ownership module only receives sample data from the data reader with the highest ownership strength. The activity and deadline parameters of the corresponding data writer in the data reader are judged by the entity monitoring module, and the ownership strength changes dynamically.
[0063] Step S6, the data is stored in the data structure of the target sequence module, sorted from small to large according to the timestamp, and after sorting, delivered to the application layer component using the presentation module.
[0064] The data distribution service QoS action method provided by the present invention is now experimentally verified to verify that the above-mentioned service quality strategy action process and steps can use a variety of QoS modules to control data differently during the communication process, thereby providing developers with highly configurable middleware that can control the effects of the corresponding communication process through a wide range of data.
[0065] Experimental verification:
[0066] Verification plan: Configure 3 general-purpose PCs, connect them with Ethernet links, and run the Ubuntu 20.04 Linux system on the PCs. Start the publisher program, subscriber program, and information library program on the three nodes respectively, and configure the QOS parameter list in XML format as follows: Figure 4 shown.
[0067] Experimental process: The information library program in the information library node is continuously opened, the publisher and subscriber are monitored, the QOS parameters in different nodes are set respectively, different functional module modes are set, and the functional implementation during the transmission process is observed. In the experimental results, the information library node is as follows Figure 5 The publisher node is as shown in Figure 6 shown.
[0068] Experimental results analysis:
[0069] like Figure 5 As shown, first, the information library node is initialized when entering the information library node, and the publisher and subscriber requests are continuously listened to in the information library. After node1 enters the information library node, it is identified as a publisher and added to the publisher table, and then goes to the subscriber table to match the subscriber node. Every two nodes are matched by the entity matching module. Currently, there is no subscription node in the subscriber table, and the match is unsuccessful. The information library continues to monitor. After a period of time, node3 enters the information library node, is identified as a subscriber node, added to the subscriber node table, and matches the publisher node in the publisher table. After matching by the entity matching module, the match is successful, and the IP addresses and port numbers of both parties are fed back. The results in the figure verify the role of the information library process and the entity matching module.
[0070] like Figure 6 As shown in the figure, first, the publisher entity initializes the publisher node and each functional module, and then enters the data transmission process after the publish-subscribe phase. At the beginning, there are two subscribers, node1 and node2, in the connection. After the middleware layer receives the application layer data, the sample data passes through the target sequence target module to add the source timestamp, and passes through the persistence and history modules to join the historical circular queue. Then, it is delivered to the data writer, and the sample data in the data writer is placed in the sending buffer. The transmission priority module determines the thread order of sending. Finally, the reliable protocol module determines which transmission protocol to use, and transmits it to the subscriber node1 and node2 through Ethernet. After a period of time, a new subscriber joins the connection, triggering the historical service quality policy to send historical samples, and the historical sample data in the circular queue is sent to the newly joined subscriber. The experiment implements various service quality policy functions of the publisher and verifies the control process of data transmission using the service quality policy of the publisher.
[0071] The publisher entity initializes the publisher node and each functional module, and enters the data transmission process after the publish-subscribe phase. At the beginning, there are three publishers, node1, node2, and node3, in connection. First, for each data reader, the sample data is transmitted to the data reader through Ethernet, and the data reliability is guaranteed by the reliable protocol module, and the data is confirmed and retransmitted. The sample data is filtered out by the time-based filtering module for redundant data, and the target sequence module sorts the data. Secondly, the sample data is delivered to the subscriber through the data reader, and the ownership module determines the receiving data reader object. As can be seen in the figure, the ownership strength value of node2 is 8 at the beginning, with the highest ownership strength, and the only receiving entity is node2. After a period of time, the node2 node state changes and is marked as inactive by the subscriber. The entity with the highest ownership strength is re-determined to be node1, whose ownership strength is 6, and the current only receiving entity is node1. Finally, it is delivered to the application layer by the presentation module. The experiment implements various service quality policy functions of the subscriber and verifies the control process of data transmission using service quality policy by the subscriber.
Claims
1. A method for controlling the quality of service of a data distribution service communication middleware, characterized in that: Includes steps: The service quality control in the data distribution service publishing and subscription phase: used to control the entity matching of the data distribution service communication middleware. Entity matching includes completing the parsing and exchange of information, realizing node registration, new node discovery and matching; the service quality control in the data distribution service publishing and subscription phase specifically includes: service quality control of group data, topic data, user data and partitions; The service quality control in the data transmission phase is used for publisher-subscriber data transmission. The publisher data transmission includes entity data matching and identity authentication when the publisher creates a data writer for data transmission communication. The subscriber data transmission includes entity data matching and identity authentication when the subscriber creates a data reader for data transmission communication. The service quality control in the data transmission phase specifically includes: entity factory, resource constraints, reader data life cycle, writer data life cycle, activity, lifespan, deadline, target order, persistence and persistence service, historical transmission priority and delay budget, reliability, time-based filtering, ownership and ownership strength, and presentation. During the data transmission phase: The service quality control of the entity factory is used to create entities, and the control entity is automatically enabled when it is created; Resource-limited quality of service controls are used to control how much local storage is available to the DDS infrastructure, and to control the maximum number of instances, data samples, and data samples per instance; The service quality control of the reader data life cycle is used by the subscriber to control the persistence of the data of the corresponding data writer in the buffer queue. If the corresponding data writer is deregistered, the sample data of the corresponding data writer in the queue is deleted; The service quality control of the writer data lifecycle is used to control the data lifecycle of different application layer components. Component cancellation deletes the data delivered by the corresponding application layer in the queue. The service quality control of lifespan is used to control the survival time of data samples in all queues of the entity. Sample data that exceeds the survival time will be discarded; Active quality of service control is used to monitor the activity of the corresponding entity. If the corresponding entity becomes inactive, the ownership strength will be changed and data sending and receiving will be stopped; The deadline service quality control is used to monitor the status of the corresponding entity. If the deadline of the corresponding entity is exceeded, the ownership strength will be changed and the application layer entity deadline will be notified; The target order quality of service control is used to control the reception of samples sent in different orders. By adding the source timestamp on the sender and the receiving timestamp on the receiver, the subscriber sets the sorting data structure and sorts the sample data according to different rules; Persistence and quality of service control of persistence services are used to control the communication middleware to apply previously available data samples to new data readers in the system, and store them in different levels of storage structures according to different strategies; Historical QoS control is used to determine the number of historical data samples that can be sent in a persistent QoS policy; The quality of service control of transmission priority and delay budget is used to distinguish the data readers / subscribers with different urgency levels, the order of sample data transmission with different priorities, and the thread priority order under the condition of limited resources; Reliability service quality control is used to resend data at the application layer, ensuring the reliability of data transmission and providing reliable communication even in unreliable communication; The service quality control based on time filtering is used to provide a minimum interval time filtering method for data readers, and filter the sample data according to the minimum time interval; The service quality control of ownership and ownership strength is used when multiple data writers write data to a data reader in a subscriber. The subscriber can filter the sample data according to the object weight, and only the data of the data writer with the highest weight will be received; the data writer weight will also change with the entity object activity and deadline service quality policy; The quality of service control of presentation is used when a subscriber has a set of data readers associated with it, presenting sample data to the application layer component in different orders.
2. The method according to claim 1, characterized in that: In the data distribution service publishing and subscription phase: The service quality control of user data is used to provide the identity information of the entity, perform identity authentication, and enforce publish-subscribe permissions; The service quality control of subject data is used to provide the subject and subject information of entities for matching; only entities with the same subject data can be matched; Partitioned quality of service control is used to logically separate topics within a domain, and publishers and subscribers only accept entity objects with the same partition string.
Citation Information
Patent Citations
Method and system for integrating RapidIO transmission by DDS communication middleware
CN111400228A
A software-based general-purpose radar communication middleware
CN111698217B
Cross-operating-system centralized publish-subscribe communication middleware
CN115150454A
Real-time data distribution system with distributed network architecture and working method thereof
CN101848236A
Method of adopting quality of transmission service in robot operating system
CN106452841A