CN114553980A - Message service method for decoupling control flow and data flow - Google Patents
Message service method for decoupling control flow and data flow Download PDFInfo
- Publication number
- CN114553980A CN114553980A CN202111663280.0A CN202111663280A CN114553980A CN 114553980 A CN114553980 A CN 114553980A CN 202111663280 A CN202111663280 A CN 202111663280A CN 114553980 A CN114553980 A CN 114553980A
- Authority
- CN
- China
- Prior art keywords
- client
- data
- special channel
- channel
- transmission protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 59
- 230000003044 adaptive effect Effects 0.000 claims abstract description 6
- 239000003795 chemical substances by application Substances 0.000 claims description 44
- 239000000872 buffer Substances 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 23
- 230000006870 function Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007123 defense Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A message service method for decoupling control flow and data flow, when a client A sends a publishing request to a proxy end and a client B sends a subscribing request to the proxy end, the proxy end controls the client A, B to establish a data special channel from the client A to the client B; the client A and the client B adopt a data special channel to carry out point-to-point data transmission, and a transmission protocol between the client A and the client B carries out adaptive replacement according to different client devices. The invention only controls the client end to dynamically establish the data special channel by the agent end to carry out real point-to-point data transmission, effectively reduces data delay, improves real-time performance, has 128-byte data packet delay about three tenths of the data packet delay, is about 3 times faster than Micro-DDS communication middleware, and provides portability.
Description
Technical Field
The invention belongs to the field of communication middleware design, mainly relates to a new scheme of data exchange service with low time delay and portability as targets, and particularly relates to a message service method for decoupling a control flow and a data flow.
Background
In recent years, with rapid development in the field of aviation, the requirements for spacecraft applications have been increasing. The application development of satellite loads faces to an open system architecture, and the trends of hardware generalization and reconfiguration, software reloadable hardware functions and the like are increasingly obvious. The software-defined satellite load technology with the typical characteristics of definable requirements, reconfigurable hardware, reconfigurable software, reconfigurable functions and the like enables a satellite load system to flexibly respond to various different space tasks, so that the reconfiguration of effective loads, computing resources, exchange resources and storage resources can be dynamically configured according to specific tasks, different application programs are executed, various application scenes such as communication, navigation, remote sensing, scientific detection and the like are met, various functions are provided, and various tasks are completed. The satellite load function for processing different task requirements needs to perform function support through different hardware entities to complete corresponding work content, namely, the distribution of hardware resources, task scheduling, control and coordination of concurrent work under different tasks are required to be completed. The system can dynamically reconstruct in real time by supporting flexible deployment of application component functions, further dynamically support radar detection, electronic reconnaissance, communication and other functions, and is suitable for the requirement of software-based system application variation.
Currently, software-defined satellite loading platforms can load different software components on different satellite loading hardware components to quickly reconstruct different application functions. In addition, the platforms are located in a layer of relatively independent system software platform between the space load bottom hardware equipment and the embedded operation system and the upper-level application, and a universal and consistent framework is provided to abstract an application entity from the platform hardware so as to support the application program, namely the waveform and the service, to be reused across heterogeneous SDR platforms. On the other hand, in the hardware of the software defined satellite loading platform, the software defined satellite loading platform is composed of a general-purpose processor responsible for control and command transmission and a plurality of special-purpose processors responsible for executing data calculation functions. The core framework of the platforms runs on a general-purpose processor and is responsible for the deployment, configuration and management of components in the whole system; devices that perform functions such as data calculation or radar detection use dedicated processors. The software-defined satellite loading platform core framework realizes system function switching by dynamically loading the running codes and logic arrays on the special processor in real time or modifying the parameters of the special processor.
However, the software defined satellite platform hardware consists of a general purpose processor responsible for control and command transfer and a plurality of special purpose processors responsible for performing data computing functions. That is, the core framework of these platforms runs on a general purpose processor, and is responsible for the deployment, configuration, and management of components in the overall system; devices that perform functions such as data calculation or radar detection use dedicated processors. The challenge is that in the hardware of the software-defined satellite loading platform, embedded hardware devices deployed by functional components such as radar detection, digital computation and the like and generalized hardware devices deployed by a core framework of the platform are heterogeneous, and a decoupled communication mode is required to enable message interaction to be transparent and standardized, which is very challenging. Therefore, how to meet the communication requirements of real-time, generalization and dynamicization among the satellite load platforms becomes one of the core technical problems of the research of the software-defined satellite load platform.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the method overcomes the defects of the prior art, provides a message service method for decoupling control flow and data flow, is about three times faster than communication middleware of a classical means, and reduces the use degree of an agent in data transmission. In addition, the special data channel can dynamically select the transmission protocol during operation according to different devices, and has better portability.
The technical solution of the invention is as follows:
a message service method for decoupling control flow and data flow includes the following steps:
when the client a sends a publishing request to the agent and the client B sends a subscribing request to the agent, the agent controls the client A, B to establish a data dedicated channel from the client a to the client B;
the client A and the client B adopt a data special channel to carry out point-to-point data transmission, and a transmission protocol between the client A and the client B carries out adaptive replacement according to different client devices;
when the client A sends a request of canceling release to the agent end or the client B sends a request of canceling subscription to the agent end, the agent end informs the client A and the client B to close a data special channel from the client A to the client B.
The one-way data special channel entrance and the corresponding client end establish one-to-one or one-to-many relationship, and the one-way data special channel exit and the corresponding client end establish one-to-one or one-to-many relationship, which is determined by the transmission protocol.
The transmission protocol is encapsulated into a transmission protocol plug-in module, and adaptive calling is carried out according to different client devices.
The establishment of the data special channel is realized by instantiation of the data special channel, and the instantiation steps of the data special channel are as follows:
s1, initializing a buffer area;
s2, selecting a transmission protocol;
when the data special channel is instantiated, a certain transmission protocol is selected, namely, the packaging file of the plug-in module of the transmission protocol is called, and a handle is returned and held by the instance of the data special channel;
s3, selecting a connector;
calling the corresponding connector according to the selected transmission protocol;
and S4, configuring parameters, and establishing connection between the inlet and the outlet of the data special channel.
The data special channel comprises a connector management module, and the connector management module comprises a plurality of connectors required by data transmission.
The instance of the data-specific channel configured with the parameters generates a handle to itself, which is held by the publishing client, the subscribing client, or the connector management module.
Compared with the prior art, the invention has the advantages that:
the existing communication middleware usually occupies too much computing resources, has the defects of low real-time performance, poor portability and the like, so that the existing communication middleware is difficult to apply in the fields of national defense, civil aviation, industrial control and the like. Although the simplified lightweight message middleware has essential basic functions for communication and very low memory and performance overhead, the lightweight message middleware does not have portability on devices with limited resources, such as Field Programmable Gate Arrays (FPGAs), Digital Signal Processing (DSP), and the like. The invention provides a message service method for decoupling control flow and data flow, which has the following substantial improvements compared with the prior art: a data special channel mechanism is designed and used for separating control and data flow and customizing a protocol. The agent only controls the client to dynamically establish a data special channel to carry out real point-to-point data transmission, effectively reduces data delay and improves instantaneity. The data exchange service data layer and the transport layer are then designed to be decoupled in conjunction with this mechanism, so that the transport protocol (carrier) can be adaptively replaced (pluggable) depending on the device.
Drawings
FIG. 1 is a functional block diagram of a message service method with control flow and data flow decoupled;
FIG. 2 is a diagram of publish/subscribe roles versus data-specific channels;
FIG. 3 is a functional block diagram of an example generation of a data-specific channel management module;
figure 4 is a block diagram of a transport protocol (carrier) dynamic pluggable configuration;
fig. 5 is a schematic diagram of an improvement of the present invention over the conventional general architecture.
Detailed Description
The invention is described in detail below with reference to the figures and specific embodiments.
The invention provides a message service method for decoupling control flow and data flow by taking a distributed data transmission and publish/subscribe model as a core characteristic and optimizing agent (Broker) centralized control mode. In particular, the publish/subscribe model typically uses a broker as an intermediary in the implementation to request, process, and control the direction of message flow for publisher and subscriber relationships. The data stream of the general architecture is merged with the traffic stream and flows with the traffic stream. The clients in distributed deployment have no direct connection relation and are only connected with the agent end, and the connection mode shields the behavior logic between the clients so that the clients do not influence each other, and the method has the advantage of greatly reducing the system coupling.
Message-Oriented Middleware (MOM) and Real-time system Data Distribution Services (DDS) are standardized tools for solving the problem of distributed network communication, and the DDS is a standard specification for communication of different software and hardware platforms in an embedded heterogeneous network and is responsible for maintenance by the international Object Management Group (OMG). However, the embedded heterogeneous software and hardware system interacts, and the system in the aerospace field has a very high requirement on message real-time performance, and the time delay of data transmission needs to be very low. Therefore, the present invention builds a new architecture implementation publish/subscribe model. The core of the method is a data special channel mechanism which separates data flow and control (service) flow, and the essence is dynamic point-to-point connection. This new architecture is a concrete implementation in redefining the publish/subscribe model.
As shown in fig. 1 and 5, the generic architecture emphasizes that the proxy is a functional core, the client A, B, C sends a publish/subscribe request to the proxy, and establishes an abstract topic domain control message flow in the proxy, and then the message published by the client a is first transmitted to the proxy and then controlled by the proxy to be sent to the client B, C. In the process of forwarding a message, the logical processing of receiving a message, acknowledging a destination, and sending a message at the proxy end can introduce a high amount of delay.
The invention weakens the function of the agent end, maps many-to-many complex relations in the subject domain of the agent end into simple relations of a plurality of points to points: that is, when a plurality of clients send publish and subscribe requests to the agent, the agent will distribute commands to control the establishment of data dedicated channels between different clients. If the client cancels the issue of the theme or cancels the subscription of the theme, after the request is sent to the agent end, the agent end informs the client to close the corresponding data special channel. This not only satisfies the dynamic messaging relationships emphasized by the publish/subscribe model, but also uses point-to-point data transmission, greatly reducing latency.
Although the transmission delay of the underlying data of message delivery is low, the cost of establishing the publish/subscribe relationship is increased: the logic processing flow required by the establishment of the data dedicated channel is more complex and time-consuming. However, the embedded heterogeneous software and hardware system interacts, and the publish/subscribe relationship is sparse and stable (the relationship changes infrequently). Only after the data transmission relation is established, the data volume is high and the time delay requirement is strict.
The invention takes a distributed data transmission and publish/subscribe model as core characteristics, optimizes a Broker (Broker) centralized control mode, and mainly comprises two core mechanisms of a data special channel of a data exchange service and a dynamic pluggable transport layer protocol (carrier). The invention designs and uses a data special channel, separates control and data flow, self-defines a protocol, effectively reduces data delay and improves real-time property. In addition, the data layer and the transmission layer of the data exchange service are decoupled by matching with a data special channel mechanism, so that the transmission protocol can be adaptively replaced according to different devices, and various distributed real-time communication application requirements can be met.
The concrete implementation is as follows: when the client sends a publishing request and a subscribing request to the agent, the agent controls the establishment of a data dedicated channel between the clients.
The clients establishing the connection adopt a data dedicated channel to carry out point-to-point data transmission, and the transmission protocol carries out adaptive replacement according to different client devices.
When the client sends a request for canceling release or a request for canceling subscription to the agent, the agent informs the corresponding client to close the dedicated data channel.
The establishment of the data special channel is realized by instantiation of the data special channel, and the instantiation steps of the data special channel are as follows:
s1, initializing a buffer area;
s2, selecting a transmission protocol;
when the data dedicated channel is instantiated, a certain transmission protocol is selected.
S3, selecting a connector;
calling the corresponding connector according to the selected transmission protocol;
and S4, configuring parameters, and establishing connection between the inlet and the outlet of the data special channel.
The data special channel comprises a connector management module, and the connector management module comprises a plurality of connectors required by data transmission. The instance of the data-specific channel configured with the parameters generates a handle to itself, which is held by the publishing client, the subscribing client, or the connector management module.
In particular, client design manages data-specific channels using publisher, subscriber as participant role abstractions. The publisher and the subscriber are tools for mapping the topic and the message, and are handles for calling the messages in the published and subscribed topics from the upper layer, and are handles for delivering data to a data dedicated channel managed by the lower layer, as shown in fig. 2.
The establishment of data-specific channel (unidirectional) ingress and egress may result in a one-to-one or one-to-many relationship, which is determined by the way the transport layer protocol (bearer) operates:
the data is transmitted by using a TCP/IP protocol, and the connector selects a communication link tool and works based on the connection of a server (communication link server) and a plurality of clients (communication link clients).
The output one-to-one data relation is multiplexed in a time-sharing mode at the agent end, the one-to-one data relation is maintained between the instant of data receiving and sending and the client, and the special channel (one-way) inlet and the special channel (one-way) outlet of the data are respectively the function encapsulation of the agent end and the client.
By using a transmission carrier of a component in a software and hardware system of the shared memory, the writing and reading operations of data writers and readers are mutually exclusive, so that only one data writer can establish a memory area to hold a handle and only have writing authority, and then the other data reader holds the same handle and reading authority.
Data transmitted at high speed by using a Serial RapidIO (SRIO) protocol is also a one-to-one point-to-point data transmission mode, one end uses a RapidIO sending interface to write messages, and the other end uses a RapidIO receiving interface to read messages.
Secondly, the channel mechanism special for data is a core mechanism for realizing the novel architecture of the publish/subscribe model. It corresponds to the data-specific channel management module and the data-specific channel instantiation process of the client. Fig. 3 shows the internal implementation, example generation process, type and usage of the data exchange service data dedicated channel module. The instantiation process of the data dedicated channel refers to that the data dedicated channel is established at the time of operation, and the buffer area needs to be initialized, the transmission protocol (carrier) is selected, and the parameters are configured and established:
(1) the initialization buffer is established in an instantiation program, and the selection of a transmission protocol and the configuration of establishment parameters are respectively completed by a transmission protocol (carrier) plug-in module and a connector management module;
(2) and (3) generating a handle pointing to the instance of the data special channel with the configured parameters, which is output in the step (1). The publisher, subscriber role or point-to-point connection management module calls the data-specific channel module, passes in configuration parameters, and finally holds the handle;
(3) the pointer output in the step (2) is submitted to a publisher or subscriber object, and the publisher or subscriber holds and manages the data special channel;
the pointer of the returned object output in the step (2) can also be programmed in an SYS/BIOS system of the DSP device and an IP soft core of the FPGA device, and the publisher and the subscriber use a structure body to store configuration information and a data special channel handle.
The package file calling the transport protocol (carrier) will return a handle, which is stored in different data structure (class or structure) implementations and held by the instance of the data dedicated channel, taking the TCP/IP protocol as an example, the implementation is as follows:
(1) the communication link library of the TCP/IP protocol returns an 8-bit file descriptor as a handle and stores the handle in a shared memory;
(2) the shared memory converts the 8-bit file descriptor into a digital (Linux, Key _ t) parameter, calls an initialization function, and returns a shared memory identifier as a unique handle;
(3) data-specific channel entries, data-specific channel exits, and data-specific channels, both of which are used in publish/subscribe mode, while data-specific channels (bi-directional) are used in peer-to-peer mode.
The bottom layer realizes the transmission data service of a multi-version transmission protocol or a carrier, and provides more choices for the upper layer. The design problem is how to uniformly manage the multi-version transmission service and provide an interface for an upper layer. The interfaces of the transmission protocol or the carrier plug-in module in different software and hardware systems are different:
the sharing has different realization modes on an RT-Linux system with ARM equipment and an SYS/BIOS system with DSP equipment;
the SRIO protocol has different interfaces on an SYS/BIOS system of the DSP equipment and an IP soft core of the FPGA equipment;
the transport protocol plug module is encapsulated at the transport layer interface, and the receiving of configuration parameters, loading of data to the data-specific channel instance and the establishing of the connector are done in the transport protocol (bearer) plug module and the connector management module.
The transport protocol plug-in module only needs to input parameters to generate and identify different connection establishers to return to the data special channel instance.
The traditional communication middleware usually occupies too many computing resources, has the defects of low instantaneity, poor transportability and the like, so that the traditional communication middleware is difficult to be applied in the fields of national defense, civil aviation, industrial control and the like. The invention provides a message service method for decoupling control flow and data flow, which designs and uses a special data channel mechanism to separate control and data flow and self-define a protocol. The agent only controls the client to dynamically establish a data special channel to carry out real point-to-point data transmission, effectively reduces data delay and improves instantaneity. The data exchange service data layer and the transport layer are then designed to be decoupled in conjunction with this mechanism, so that the transport protocol (carrier) can be adaptively replaced (pluggable) depending on the device.
Example (b):
a specific implementation case of a message service method for decoupling a control stream and a data stream is provided, which is implemented specifically according to the following steps, as shown in fig. 5:
the general architecture emphasizes that the proxy is a functional core, one client sends a publishing request to the proxy, other clients send subscription requests to the proxy, the proxy can establish abstract theme domain control message flow, and then messages published by the publisher client are transmitted to the proxy and then controlled by the proxy to be sent to the subscriber client.
In the process of forwarding the message, the logical processing of receiving the message, confirming the destination, and sending the message at the proxy end causes a high delay addition.
The invention transmits the many-to-many complex relation and data transmission in the agent end theme domain to the client: when the client sends a publishing and subscribing request to the agent, the agent returns a command to control different clients to establish a data special channel;
the client cancels the issue or the subscription of the theme, and after sending the request to the agent end, the client also receives a command to control the client to close the data special channel. This not only satisfies the dynamic messaging relationships emphasized by the publish/subscribe model, but also uses point-to-point data transmission, greatly reducing latency.
As shown in fig. 3, the data-specific channel mechanism is a core mechanism of the new architecture implementation of the publish/subscribe model. The method corresponds to a data special channel management module and a data special channel instantiation process of a client, and the internal implementation, the instance generation process, the type and the application of a data exchange service data special channel module. The instantiation process of the data-specific channel refers to the establishment of the data-specific channel at run-time, which requires the initialization of buffers, the selection of transport protocols (bearers) and the configuration of setup parameters. After the parameters are configured, the handles returned by the data-specific channel and the transport layer protocol library file are held by the instance of the data-specific channel.
As shown in fig. 4, the transport protocol (bearer) dynamic pluggable mechanism is realized by configuring the transport protocol (bearer) in the data-dedicated channel in publish/subscribe mode to establish a connection. And the transport protocol (carrier) plug-in module encapsulates the supported transport protocol or carrier. The operation logic is to select the transmission protocol or carrier configured in the control command when actually performing data transmission and establishing a data dedicated channel instance.
The implementation case is only a specific implementation mode of the invention, and can be deployed and used in RT-Linux, SYS/BIOS systems and IP soft cores of ARM, DSP and FPGA devices according to the requirements of system function indexes.
The general architecture emphasizes that the agent is a functional core, a publisher sends a publishing request to the agent end, a subscriber sends a subscribing request to the agent end, then abstract theme domain control message flow is established in the agent end, messages published by the publisher end are transmitted to the agent end firstly, and then the messages are controlled by the agent end to be sent to the subscriber end. The process of forwarding the message includes, in addition to the physical transmission time, the high delay addition caused by the logic processing flows of receiving the message, confirming the destination and sending the message at the agent end.
The novel framework weakens the effect of the agent end, and maps many-to-many complex relations in the subject domain of the agent end into simple relations of a plurality of points to points. And transferring the many-to-many relationship management and message forwarding functions of the agent end theme domain to the client end for realization. Although the transmission delay of the bottom data of the message transmission is low, the cost for establishing the publish/subscribe relationship is increased, and the publish/subscribe relationship is sparse and stable due to the interaction of the embedded heterogeneous software and hardware systems. The data flow and the control (service) flow are separated, the data flow adopts a special channel, and the delay can be effectively reduced when large data is transmitted in an embedded environment. The nature is a dynamic point-to-point connection.
The invention avoids the defects that the existing communication middleware usually occupies too much computing resources, has low real-time performance, poor transportability and the like, so that the communication middleware is difficult to be applied in the fields of national defense, civil aviation, industrial control and the like. Although the simplified lightweight message middleware has essential basic functions for communication and very low memory and performance overhead, the middleware does not have portability on devices with limited resources, such as Field Programmable Gate Arrays (FPGAs), Digital Signal Processing (DSP), and the like. The invention only controls the client end to dynamically establish the data special channel by the agent end to carry out real point-to-point data transmission, effectively reduces data delay, improves real-time performance, has 128-byte data packet delay about three tenths of the data packet delay, is about 3 times faster than Micro-DDS communication middleware, and provides portability.
Those skilled in the art will appreciate that those matters not described in detail in the present specification are well known in the art.
Claims (6)
1. A message service method for decoupling control flow and data flow is characterized by comprising the following steps:
when the client a sends a publishing request to the agent and the client B sends a subscribing request to the agent, the agent controls the client A, B to establish a data dedicated channel from the client a to the client B;
the client A and the client B adopt a data special channel to carry out point-to-point data transmission, and a transmission protocol between the client A and the client B carries out adaptive replacement according to different client devices;
when the client A sends a request of canceling release to the agent end or the client B sends a request of canceling subscription to the agent end, the agent end informs the client A and the client B to close a data special channel from the client A to the client B.
2. A message service method of controlling flow decoupling from data flow according to claim 1, characterized by: the one-way data special channel entrance and the corresponding client end establish one-to-one or one-to-many relationship, and the one-way data special channel exit and the corresponding client end establish one-to-one or one-to-many relationship, which is determined by the transmission protocol.
3. A message service method of controlling flow decoupling from data flow according to claim 1, characterized by: the transmission protocol is encapsulated into a transmission protocol plug-in module, and adaptive calling is carried out according to different client devices.
4. A message service method of controlling flow decoupling from data flow according to claim 3, characterized by: the establishment of the data special channel is realized by instantiation of the data special channel, and the instantiation steps of the data special channel are as follows:
s1, initializing a buffer area;
s2, selecting a transmission protocol;
when the data special channel is instantiated, a certain transmission protocol is selected, namely, the packaging file of the plug-in module of the transmission protocol is called, and a handle is returned and held by the instance of the data special channel;
s3, selecting a connector;
calling the corresponding connector according to the selected transmission protocol;
and S4, configuring parameters, and establishing connection between the inlet and the outlet of the data special channel.
5. A message service method of controlling flow decoupling from data flow according to claim 4, characterized by: the data special channel comprises a connector management module, and the connector management module comprises a plurality of connectors required by data transmission.
6. A message service method of controlling flow decoupling from data flow according to claim 4, characterized in that: the instance of the data-specific channel configured with the parameters generates a handle pointing to itself, which is held by the publishing client, the subscribing client or the connector management module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111663280.0A CN114553980B (en) | 2021-12-31 | 2021-12-31 | Message service method for decoupling control flow and data flow |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111663280.0A CN114553980B (en) | 2021-12-31 | 2021-12-31 | Message service method for decoupling control flow and data flow |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553980A true CN114553980A (en) | 2022-05-27 |
CN114553980B CN114553980B (en) | 2023-11-10 |
Family
ID=81669804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111663280.0A Active CN114553980B (en) | 2021-12-31 | 2021-12-31 | Message service method for decoupling control flow and data flow |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553980B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706376A (en) * | 2022-06-06 | 2022-07-05 | 南京宏泰半导体科技有限公司 | Hardware control device and method based on software decoupling |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848236A (en) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | Real-time data distribution system with distributed network architecture and working method thereof |
CN102158344A (en) * | 2011-05-20 | 2011-08-17 | 苏州安源汇信软件有限公司 | Parallel multicasting network file system |
CN102710798A (en) * | 2012-06-29 | 2012-10-03 | 百度在线网络技术(北京)有限公司 | Browser expanding service supporting system and method based on real-time communication |
CN104113827A (en) * | 2013-04-16 | 2014-10-22 | 华为技术有限公司 | Multicast controller, wireless access device, multicast system and multicast creation method |
WO2015191119A1 (en) * | 2014-06-11 | 2015-12-17 | Oracle International Corporation | Providing a subscription for a service using an existing subscription |
CN105472042A (en) * | 2016-01-15 | 2016-04-06 | 中煤电气有限公司 | WEB terminal controlled message middleware system and data transmission method thereof |
KR20160112845A (en) * | 2015-03-20 | 2016-09-28 | 주식회사 뉴론웍스 | Method of data enterchange between standrd/non-standard application protocol and Middleware with dynamic control from user-defined condition |
CN106411972A (en) * | 2015-07-29 | 2017-02-15 | 中国科学院沈阳自动化研究所 | Real-time data distribution system and method based on Openflow protocol |
US20170171220A1 (en) * | 2014-06-06 | 2017-06-15 | Bae Systems Plc | Secured network bridge |
CN107124405A (en) * | 2017-04-21 | 2017-09-01 | 杭州知物数据科技有限公司 | Industrial Fieldbus protocols conversion method and device are realized based on FPGA |
CN108712417A (en) * | 2018-05-18 | 2018-10-26 | 广州讯鸿网络技术有限公司 | The double registration implementation methods of RCS client multi-chips compatible with single, apparatus and system |
CN210781063U (en) * | 2019-12-12 | 2020-06-16 | 深圳市绿联科技有限公司 | Multifunctional matrix switcher based on USB TYPE-C interface |
CN113435012A (en) * | 2021-06-02 | 2021-09-24 | 上海华穗电子科技有限公司 | Distributed aircraft simulation method and device and electronic equipment |
CN113472784A (en) * | 2021-06-30 | 2021-10-01 | 奥特酷智能科技(南京)有限公司 | Separated DDS protocol stack architecture based on data distribution service |
CN113704171A (en) * | 2021-08-20 | 2021-11-26 | 北京计算机技术及应用研究所 | Software-defined data storage system |
-
2021
- 2021-12-31 CN CN202111663280.0A patent/CN114553980B/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848236A (en) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | Real-time data distribution system with distributed network architecture and working method thereof |
CN102158344A (en) * | 2011-05-20 | 2011-08-17 | 苏州安源汇信软件有限公司 | Parallel multicasting network file system |
CN102710798A (en) * | 2012-06-29 | 2012-10-03 | 百度在线网络技术(北京)有限公司 | Browser expanding service supporting system and method based on real-time communication |
CN104113827A (en) * | 2013-04-16 | 2014-10-22 | 华为技术有限公司 | Multicast controller, wireless access device, multicast system and multicast creation method |
US20170171220A1 (en) * | 2014-06-06 | 2017-06-15 | Bae Systems Plc | Secured network bridge |
WO2015191119A1 (en) * | 2014-06-11 | 2015-12-17 | Oracle International Corporation | Providing a subscription for a service using an existing subscription |
KR20160112845A (en) * | 2015-03-20 | 2016-09-28 | 주식회사 뉴론웍스 | Method of data enterchange between standrd/non-standard application protocol and Middleware with dynamic control from user-defined condition |
CN106411972A (en) * | 2015-07-29 | 2017-02-15 | 中国科学院沈阳自动化研究所 | Real-time data distribution system and method based on Openflow protocol |
CN105472042A (en) * | 2016-01-15 | 2016-04-06 | 中煤电气有限公司 | WEB terminal controlled message middleware system and data transmission method thereof |
CN107124405A (en) * | 2017-04-21 | 2017-09-01 | 杭州知物数据科技有限公司 | Industrial Fieldbus protocols conversion method and device are realized based on FPGA |
CN108712417A (en) * | 2018-05-18 | 2018-10-26 | 广州讯鸿网络技术有限公司 | The double registration implementation methods of RCS client multi-chips compatible with single, apparatus and system |
CN210781063U (en) * | 2019-12-12 | 2020-06-16 | 深圳市绿联科技有限公司 | Multifunctional matrix switcher based on USB TYPE-C interface |
CN113435012A (en) * | 2021-06-02 | 2021-09-24 | 上海华穗电子科技有限公司 | Distributed aircraft simulation method and device and electronic equipment |
CN113472784A (en) * | 2021-06-30 | 2021-10-01 | 奥特酷智能科技(南京)有限公司 | Separated DDS protocol stack architecture based on data distribution service |
CN113704171A (en) * | 2021-08-20 | 2021-11-26 | 北京计算机技术及应用研究所 | Software-defined data storage system |
Non-Patent Citations (3)
Title |
---|
D.KIM, H. -S. OH AND S. W. HWANG: "A DDS-based distributed simulation for anti-air missile systems", 2016 6TH INTERNATIONAL CONFERENCE ON SIMULATION AND MODELING METHODOLOGIES * |
刘剑, 卫翔, 田立业: "异构系统一体化仿真中间件系统实现研究", 火力与指挥控制 * |
胡静;宋雪雁;孙济洲;: "航行通告分发服务中间件的研究与设计", 计算机应用与软件, no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706376A (en) * | 2022-06-06 | 2022-07-05 | 南京宏泰半导体科技有限公司 | Hardware control device and method based on software decoupling |
CN114706376B (en) * | 2022-06-06 | 2022-08-26 | 南京宏泰半导体科技有限公司 | Hardware control device and method based on software decoupling |
Also Published As
Publication number | Publication date |
---|---|
CN114553980B (en) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8407376B2 (en) | Recording a communication pattern and replaying messages in a parallel computing system | |
EP3837604B1 (en) | In situ triggered function as a service within a service mesh | |
CN110716744A (en) | Data stream processing method, system and computer readable storage medium | |
US6697876B1 (en) | Distributed kernel operating system | |
US7805546B2 (en) | Chaining direct memory access data transfer operations for compute nodes in a parallel computer | |
US20090031001A1 (en) | Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer | |
CN113572815B (en) | Cross-heterogeneous-platform communication technical method, system and medium | |
US10609125B2 (en) | Method and system for transmitting communication data | |
CN108897591B (en) | Combined test platform middleware plug-in device and test resource information interaction method thereof | |
CN111400000A (en) | Network request processing method, device, equipment and storage medium | |
CN106686021B (en) | Service calling method and gateway | |
WO2023246398A1 (en) | Cloud service implementation method and apparatus | |
CN115150454A (en) | Cross-operating-system centralized publishing and subscribing communication middleware | |
EP2551771A1 (en) | Communication abstraction among partitions in integrated modular avionics | |
US20050132327A1 (en) | Software development environment | |
EP2743830A1 (en) | Flexible data communication among partitions in integrated modular avionics | |
CN114553980B (en) | Message service method for decoupling control flow and data flow | |
Yang et al. | Performance improvement of apache storm using InfiniBand RDMA | |
CN107872527B (en) | LVC integrated remote cloud service system and method | |
US20230041130A1 (en) | Overlay layer for network of processor cores | |
CN113542415B (en) | Heterogeneous data resource scheduling system and method based on configurable subscription chain | |
CN115167985A (en) | Virtualized computing power providing method and system | |
CN109669793B (en) | Object calling method in middleware process | |
CN113849449A (en) | Communication system and information interaction method, device and medium | |
CN111416872A (en) | High-speed cache file system communication method and system based on MP and RDMA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |