CN114553980B - 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
- CN114553980B CN114553980B CN202111663280.0A CN202111663280A CN114553980B CN 114553980 B CN114553980 B CN 114553980B CN 202111663280 A CN202111663280 A CN 202111663280A CN 114553980 B CN114553980 B CN 114553980B
- Authority
- CN
- China
- Prior art keywords
- data
- client
- proxy
- channel
- transmission
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 59
- 230000003044 adaptive effect Effects 0.000 claims abstract description 3
- 239000000872 buffer Substances 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 23
- 230000006870 function Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000007123 defense Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 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
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
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
Abstract
A message service method for decoupling control flow and data flow includes that when a client A sends a release request to a proxy and a client B sends a subscription request to the proxy, the proxy controls a 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. The proxy end only controls the client end to dynamically establish the data special channel to carry out real point-to-point data transmission, so that the data delay is effectively reduced, the instantaneity is improved, the data packet delay of 128 bytes is only about three tenths of the data packet delay, and the data packet delay is about 3 times faster than that of the Micro-DDS communication middleware and provides portability.
Description
Technical Field
The invention belongs to the field of communication middleware design, and mainly relates to a new scheme of data exchange service with low time delay and portability as targets, in particular to a message service method for decoupling control flow and data flow.
Background
In recent years, as the aviation field has grown rapidly, the requirements for spacecraft applications have increased. The application development of satellite load is towards an open architecture, and the trends of hardware generalization and reconfiguration, software reloadability and hardware functions are increasingly obvious. The software-defined satellite loading technology with typical characteristics of definable requirements, reconfigurable hardware, reconfigurable software, reconfigurable functions and the like enables a satellite loading system to flexibly respond to a plurality of different space tasks, so that the recombination of effective loads, computing resources, switching resources and storage resources can be dynamically configured according to specific tasks, and different application programs are executed to simultaneously meet various application scenes such as communication, navigation, remote sensing, scientific detection and the like, provide various functions and complete various tasks. The satellite load function facing to different task demands needs to be functionally supported by different hardware entities so as to complete corresponding work content, namely, the task scheduling, control and coordination concurrent work under different tasks are required to be completed. The system can dynamically reconstruct in real time by supporting flexible deployment of the functions of application components, further dynamically supports the functions of radar detection, electronic reconnaissance, communication and the like, and meets the application variable requirements of a software system.
Currently, software-defined satellite payload platforms may load different software components on different satellite payload 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 device and the upper layer high-level application in the embedded operating system, and provide a framework with universality and consistency to abstract application entities from platform hardware so as to support the reuse of application programs, namely waveforms and services, across heterogeneous SDR platforms. On the other hand, in the hardware of the software-defined satellite loading platform, the software-defined satellite loading platform consists of a general processor responsible for control and command transmission and a plurality of special processors responsible for executing data calculation functions. The core frames of the platforms run on a general processor and are responsible for deployment, configuration and management of components in the whole system; the data calculation or radar detection function uses a special processor. The software defined satellite loading platform core framework realizes system function switching by loading running codes and logic arrays on special-purpose processors or modifying parameters thereof in real time and dynamically.
However, the software-defined satellite payload platform hardware consists of a general purpose processor responsible for control and command transmission and a plurality of special purpose processors responsible for performing data computation functions. That is, the core framework of these platforms runs on a general purpose processor, responsible for deployment, configuration, and management of components in the overall system; the data calculation or radar detection function uses a special processor. The challenge is that in the hardware of the software-defined satellite loading platform, the embedded hardware devices deployed by the functional components such as radar detection and digital computation and the generalized hardware devices deployed by the core framework of the platform are heterogeneous, and the message interaction is made transparent and standardized by a decoupling communication mode, which is very challenging. As such, how to meet the communication requirements of real-time, generalization and dynamics between them becomes one of the core technical problems of software-defined satellite loading platform research.
Disclosure of Invention
The technical solution of the invention is as follows: the method for message service of decoupling control flow and data flow is provided, which is about three times faster than the traditional means communication middleware, and reduces the use degree of agent in data transmission. In addition, the data special channel can dynamically select the transmission protocol according to different devices in the running process, so that the data special channel has better portability.
The technical scheme of the invention is as follows:
a message service method for decoupling a control flow from a data flow, comprising the steps of:
when the client a sends a publishing request to the proxy and the client B sends a subscribing request to the proxy, the proxy 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 cancel-publish request to the proxy or the client B sends a cancel-subscribe request to the proxy, the proxy will notify the client a and the client B to close the data dedicated channel from the client a to the client B.
The unidirectional data-dedicated channel entry establishes a one-to-one or one-to-many relationship with the corresponding client, and the unidirectional data-dedicated channel exit establishes a one-to-one or one-to-many relationship with the corresponding client, as determined by the transport protocol.
The transmission protocol is packaged into a transmission protocol plug module, and the suitability call is carried out according to different client devices.
The establishment of the data-dedicated channel is realized through the instantiation of the data-dedicated channel, and the instantiation steps of the data-dedicated 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 package file of the transmission protocol plug-in module is called, and a handle is returned and held by the instance of the data special channel;
s3, selecting a connector;
calling a corresponding connector according to the selected transmission protocol;
s4, configuring parameters, and establishing connection between an inlet and an outlet of the data special channel.
The data special channel comprises a connector management module, and the connector management module comprises connectors required by various data transmission.
Instances of the data-specific channel configured with the parameters will generate handles to themselves, which the publishing client, subscribing client or connector management module holds.
Compared with the prior art, the invention has the advantages that:
the existing communication middleware generally occupies too many computing resources, has the defects of insufficient real-time performance, poor portability and the like, so that the communication middleware is difficult to apply in the fields of national defense, civil aviation, industrial control and the like. The simplified lightweight message middleware has the essential function of communication and very low memory and performance cost, but has no portability on the field programmable gate array (Field Programmable Gate Array, FPGA) and digital signal processing (Digital Signal Processing, DSP) and other devices with limited resources. The invention provides a message service method for decoupling control flow and data flow, which is substantially improved as follows compared with the prior art: and designing and using a data special channel mechanism, separating control and data flow and customizing a protocol. The proxy end only controls the client end to dynamically establish a data special channel to carry out real point-to-point data transmission, thereby effectively reducing the data time delay and improving the instantaneity. The data exchange service data layer and the transport layer are then designed to be decoupled in coordination with this mechanism so that the transport protocol (carrier) can be adaptively replaced (pluggable) according to the device.
Drawings
FIG. 1 is a schematic block diagram of a message service method for decoupling control and data flows;
FIG. 2 is a diagram of a publish/subscriber role versus data specific channel;
FIG. 3 is a schematic block diagram of an example generation of a data-specific channel management module;
fig. 4 is a block diagram of a transport protocol (carrier) dynamic pluggable configuration;
fig. 5 is a schematic representation of an improvement of the present invention over a conventional generic architecture.
Detailed Description
The invention will now be described in detail with reference to the drawings and specific examples.
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 feature and adopting a mode of optimizing proxy (Broker) centralized control. In particular, the publish/subscribe model typically uses a proxy as an intermediary in implementation to request, process, and control message flow direction for publisher and subscriber relationships. The data stream of the general architecture blends with the traffic stream and flows with the traffic stream. The distributed deployment clients have no direct connection relationship, and are only connected with the proxy, and the connection mode shields the behavior logic between the clients so that the clients do not affect each other, and the advantage is that the system coupling is greatly reduced.
Message middleware (Message Oriented Middleware, MOM) and real-time system data distribution services (Data Distribution Service for Real-time Systems, DDS) are standardized tools for solving the problem of distributed network communication, wherein the latter 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 organization (Object Management Group, OMG). However, the embedded heterogeneous software and hardware system interaction has extremely high requirements on the real-time performance of the information in the aerospace field, and the time delay of data transmission is extremely low. Thus, the present invention builds a novel architecture implementation publish/subscribe model. The core is a data-specific channel mechanism, separating data flow and control (service) flow, essentially, i.e. dynamically point-to-point connection. This new architecture is a specific implementation in redefining the publish/subscribe model.
As shown in fig. 1 and fig. 5, the generic architecture emphasizes that the proxy is a functional core, and the client A, B, C sends a request for publishing and subscribing to the proxy, establishes an abstract topic domain control message flow in the proxy, and then the message published by the client a is delivered to the proxy first and then is sent to the client B, C under the control of the proxy. In the process of forwarding the message, the logic processing of receiving the message, confirming the destination and sending the message by the proxy end can bring high-latency addition.
The invention weakens the function of the proxy end and maps the many-to-many complex relationship in the theme domain of the proxy end into a plurality of point-to-point simple relationships: when a plurality of clients send a publishing and subscribing request to the proxy, the proxy can distribute commands to control the establishment of data dedicated channels between different clients. If the client cancels the publishing of the theme or unsubscribes from the theme, the proxy side notifies the client side to close the corresponding data special channel after sending a request to the proxy side. This satisfies both the dynamic messaging relationship emphasized by the publish/subscribe model and the use of point-to-point data transmission, greatly reducing latency.
The lower data transmission delay of message delivery is lower, but the cost of establishing the publish/subscribe relationship is increased: the logic processing flow required for establishing the data special channel is more complex and consumes more time. However, the embedded heterogeneous software and hardware system interacts, and the publish/subscribe relationship is sparse and stable (the relationship is not frequently changed). Only after the data transmission relation is established, the data volume is high, and the time delay requirement is strict.
The invention uses the distributed data transmission and the publish/subscribe model as the core feature, and the optimization proxy (Broker) centralized control mode mainly comprises two core mechanisms of a data special channel and a transmission layer protocol (carrier) dynamic pluggable of the data exchange service. The invention designs and uses the special data channel, separates control and data flow, and self-defines protocol, thereby effectively reducing data delay and improving instantaneity. 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 specific implementation is as follows: when the client sends a publishing request and a subscribing request to the proxy, the proxy controls the client to establish a data special channel.
And adopting a data special channel to perform point-to-point data transmission between the clients establishing the connection, and adaptively replacing a transmission protocol according to different client devices.
When the client sends a cancel release request or a cancel subscription request to the proxy, the proxy notifies the corresponding client to close the data dedicated channel.
The establishment of the data-dedicated channel is realized through the instantiation of the data-dedicated channel, and the instantiation steps of the data-dedicated channel are as follows:
s1, initializing a buffer area;
s2, selecting a transmission protocol;
when the data-specific channel is instantiated, a certain transmission protocol is selected.
S3, selecting a connector;
calling a corresponding connector according to the selected transmission protocol;
s4, configuring parameters, and establishing connection between an inlet and an outlet of the data special channel.
The data special channel comprises a connector management module, and the connector management module comprises connectors required by various data transmission. Instances of the data-specific channel configured with the parameters will generate handles to themselves, which the publishing client, subscribing client or connector management module holds.
Specifically, the client design manages data-specific channels using publishers, subscribers as participant role abstractions. Publishers and subscribers are tools for mapping topics and messages, and are handles for higher layers to call messages in the topics for publishing and subscribing, and handles for data-specific channels for submitting data to lower layers, as shown in fig. 2.
The data-specific channel (unidirectional) ingress and egress establishment may produce a one-to-one or one-to-many relationship, which is determined by the manner in which the transport layer protocol (bearer) operates:
the data is transmitted using the TCP/IP protocol, and the connector selects the communication link tool in a manner based on the connection of one server (communication link server) and a plurality of clients (communication link clients).
The output one-to-one data relationship is multiplexed in a time-sharing manner at the proxy end, the instant of receiving and transmitting data and the client end keep one-to-one data relationship, and the data special channel (unidirectional) inlet and outlet are respectively the functional packages of the proxy end and the client end.
By using the transmission carrier of the components in the software and hardware system of the shared memory, the operations of writing and reading data of the data writers and the readers are mutually exclusive, only one data writer can establish a memory area to hold a handle and only has writing authority, and then the other data reader holds the same handle and reading authority.
The data which is transmitted at high speed by using a Serial RapidIO (SRIO) protocol is also a one-to-one and point-to-point data transmission mode, one end uses a rapidIO sending interface to write in a message, and the other end uses a rapidIO receiving interface to read the message.
Second, the data-specific channel mechanism is the core mechanism for the novel architecture implementation of the publish/subscribe model. It corresponds to the data-specific channel management module and data-specific channel instantiation process of the client. The internal implementation, instance generation process, type and use of the data exchange service data specific channel module is shown in fig. 3. The instantiation process of the data-specific channel refers to the establishment of the data-specific channel at runtime, requiring initialization of buffers, selection of transport protocols (bearers) and configuration of setup parameters:
(1) The initialization buffer area is established in an instantiation program, and the transmission protocol and configuration establishment parameters are selected to respectively complete corresponding functions by a transmission protocol (carrier) plug module and a connector management module;
(2) The instance of the parameter-configured data-specific channel output from step (1) will generate a handle to it. The publisher, subscriber role or point-to-point connection management module invokes the data-specific channel module, the incoming configuration parameters, and finally holds the handle;
(3) The pointer output in the step (2) is submitted to the object of the publisher or subscriber, and then 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 the SYS/BIOS system of the DSP device and the IP soft core of the FPGA device, and the publisher and the subscriber use the structure body to store configuration information and a data special channel handle.
The encapsulated file that invokes the transport protocol (bearer) will return a handle that is stored in a different data structure (class or fabric) implementation, held by an instance of the data-specific channel, for example the TCP/IP protocol, specifically implemented as follows:
(1) The communication link library of the TCP/IP protocol returns an 8-bit file descriptor as a handle, and the 8-bit file descriptor exists 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) A data-specific channel inlet, a data-specific channel outlet and a data-specific channel, the former two being used in a publish/subscribe mode and the data-specific channel (bi-directional) being used in a point-to-point mode.
The bottom layer realizes the transmission data service of the multi-version transmission protocol or the 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 the upper layer. Interfaces of the transmission protocol or carrier plug module in different software and hardware systems are realized differently:
the implementation modes on the RT-Linux system sharing ARM equipment and the SYS/BIOS system sharing DSP equipment are different;
the SRIO protocol has different interfaces on the SYS/BIOS system of the DSP device and the IP soft core of the FPGA device;
the transport protocol plug module is encapsulated at the transport layer interface, and receiving configuration parameters, loading data to the data specific channel instance and establishing the connector are done in the transport protocol (carrier) plug module and the connector management module.
The transmission protocol plug-in module only needs to transmit in parameters to generate and identify different connection establishments to return to the data special channel instance.
The traditional communication middleware generally occupies too many computing resources, has the defects of insufficient real-time performance, poor portability and the like, so that the traditional communication middleware is difficult to apply 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 data special channel mechanism to separate control and data flow and self-define protocol. The proxy end only controls the client end to dynamically establish a data special channel to carry out real point-to-point data transmission, thereby effectively reducing the data time delay and improving the instantaneity. The data exchange service data layer and the transport layer are then designed to be decoupled in coordination with this mechanism so that the transport protocol (carrier) can be adaptively replaced (pluggable) according to the device.
Examples:
a specific embodiment of a message service method for decoupling a control flow from a data flow is provided, which is implemented 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 subscribing requests to the proxy, the proxy establishes abstract topic domain control message flow, and then messages published by the publisher clients are firstly transmitted to the proxy and then controlled by the proxy to be sent to the subscriber clients.
In the process of forwarding the message, the logic processing of receiving the message, confirming the destination and sending the message by the proxy end can bring high-latency addition.
The invention transmits the many-to-many complex relationship and data transmission in the proxy theme domain to the client: when the client sends a publishing and subscribing request to the proxy, the proxy returns a command to control different clients to establish a data special channel;
the client side cancels the publishing or unsubscribing of the theme, and after sending the request to the proxy side, the client side also receives a command to control the client side to close the data special channel. This satisfies both the dynamic messaging relationship emphasized by the publish/subscribe model and the use of point-to-point data transmission, greatly reducing latency.
As shown in fig. 3, the data-specific channel mechanism is the core mechanism for the novel architecture implementation of the publish/subscribe model. The method corresponds to the data-specific channel management module and the data-specific channel instantiation process of the client, and the internal implementation, the instance generation process, the type and the application of the data-specific channel module of the data exchange service. The instantiation process of the data-specific channel refers to the data-specific channel being established at run-time, requiring initialization of buffers, selection of transport protocols (bearers) and 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 instances of the data-specific channel.
As shown in fig. 4, the transport protocol (bearer) dynamic pluggable mechanism is implemented by configuring a transport protocol (bearer) connection establishment procedure in a data-specific channel in a publish/subscribe mode. The transport protocol (carrier) plug 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 the data transmission is actually performed and the data special channel instance is established.
The embodiment is only one specific implementation mode of the invention, and can be deployed and used in the RT-Linux, SYS/BIOS and IP soft cores of ARM, DSP, FPGA equipment according to the requirement of system function indexes.
The general architecture emphasizes that the proxy is a functional core, a publisher sends a publishing request to the proxy, a subscriber sends a subscribing request to the proxy, then abstract topic domain control message flow is established in the proxy, and the message published by the publisher is firstly transmitted to the proxy and then controlled by the proxy to be sent to the subscribing terminal. The process of forwarding the message includes the addition of high delay caused by the logic processing flow of receiving the message, confirming the destination and sending the message by the proxy end besides the physical transmission time.
The novel framework weakens the function of the proxy end and maps the many-to-many complex relationship in the theme domain of the proxy end into a plurality of point-to-point simple relationships. And the functions of the multi-to-multi relation management and the message forwarding of the proxy theme zone are lowered to the client for implementation. The transmission delay of the underlying data of the message transmission is low, but the cost of establishing the publish/subscribe relationship is increased, and the embedded heterogeneous software and hardware system is interacted, so that the publish/subscribe relationship is sparse and stable. And 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. Essentially, point-to-point connections are dynamic.
The invention avoids the defects of excessive occupied computing resources, insufficient real-time performance, poor portability and the like of the existing communication middleware, so that the communication middleware is difficult to apply in the fields of national defense, civil aviation, industrial control and the like. The simplified lightweight message middleware has the essential function of communication and very low memory and performance cost, but has no portability on the field programmable gate array (Field Programmable Gate Array, FPGA) and digital signal processing (Digital Signal Processing, DSP) and other devices with limited resources. The proxy end only controls the client end to dynamically establish the data special channel to carry out real point-to-point data transmission, so that the data delay is effectively reduced, the instantaneity is improved, the data packet delay of 128 bytes is only about three tenths of the data packet delay, and the data packet delay is about 3 times faster than that of the Micro-DDS communication middleware and provides portability.
What is not described in detail in the present specification is a well known technology to those skilled in the art.
Claims (3)
1. A message service method for decoupling a control flow from a data flow, comprising the steps of:
when the client a sends a publishing request to the proxy and the client B sends a subscribing request to the proxy, the proxy 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 cancel release request to the proxy or the client B sends a cancel subscription request to the proxy, the proxy informs the client A and the client B to close a data dedicated channel from the client A to the client B;
the transmission protocol is packaged into a transmission protocol plug module, and the suitability call is carried out according to the different client devices;
the establishment of the data-dedicated channel is realized through the instantiation of the data-dedicated channel, and the instantiation steps of the data-dedicated 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 package file of the transmission protocol plug-in module is called, and a handle is returned and held by the instance of the data special channel;
s3, selecting a connector;
calling a corresponding connector according to the selected transmission protocol;
s4, configuring parameters, and establishing connection between an inlet and an outlet of the data special channel;
the data special channel comprises a connector management module, and the connector management module comprises connectors required by various data transmission.
2. A method of message service for decoupling a control flow from a data flow as claimed in claim 1, wherein: the unidirectional data-dedicated channel entry establishes a one-to-one or one-to-many relationship with the corresponding client, and the unidirectional data-dedicated channel exit establishes a one-to-one or one-to-many relationship with the corresponding client, as determined by the transport protocol.
3. A method of message service for decoupling a control flow from a data flow as claimed in claim 1, wherein: instances of the data-specific channel configured with the parameters will generate handles to themselves, which the publishing client, subscribing client or connector management module holds.
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 CN114553980A (en) | 2022-05-27 |
CN114553980B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706376B (en) * | 2022-06-06 | 2022-08-26 | 南京宏泰半导体科技有限公司 | Hardware control device and method based on software decoupling |
Citations (14)
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 |
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 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201410089D0 (en) * | 2014-06-06 | 2014-07-23 | Bae Systems Plc | Secured network bridge |
-
2021
- 2021-12-31 CN CN202111663280.0A patent/CN114553980B/en active Active
Patent Citations (14)
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 |
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 |
---|
A DDS-based distributed simulation for anti-air missile systems;D.Kim, H. -S. Oh and S. W. Hwang;2016 6th International Conference on Simulation and Modeling Methodologies;全文 * |
刘剑,卫翔,田立业.异构系统一体化仿真中间件系统实现研究.火力与指挥控制.2021,全文. * |
航行通告分发服务中间件的研究与设计;胡静;宋雪雁;孙济洲;;计算机应用与软件(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114553980A (en) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105472042B (en) | The message-oriented middleware system and its data transferring method of WEB terminal control | |
US8189612B2 (en) | System on chip with interface and processing unit configurations provided by a configuration server | |
US6697876B1 (en) | Distributed kernel operating system | |
US9524197B2 (en) | Multicasting of event notifications using extended socket for inter-process communication | |
CN110716744A (en) | Data stream processing method, system and computer readable storage medium | |
Schmidt | A family of design patterns for applications-level gateways | |
CN106452563A (en) | Unmanned aerial vehicle (UAV) data link universal access system based on communication satellites | |
CN102520936A (en) | Method for realizing sharing of Socket communication service on Android platform | |
US9069592B2 (en) | Generic transport layer mechanism for firmware communication | |
CN114553980B (en) | Message service method for decoupling control flow and data flow | |
US11467846B2 (en) | Overlay layer for network of processor cores | |
EP2551771A1 (en) | Communication abstraction among partitions in integrated modular avionics | |
US11042413B1 (en) | Dynamic allocation of FPGA resources | |
CN116132511A (en) | Proxy-based sensor equipment cross-bus and cross-protocol access DDS network system | |
EP2743830A1 (en) | Flexible data communication among partitions in integrated modular avionics | |
US20230041130A1 (en) | Overlay layer for network of processor cores | |
CN115167985A (en) | Virtualized computing power providing method and system | |
CN113608861A (en) | Software load computing resource virtualization distribution method and device | |
CN109669793B (en) | Object calling method in middleware process | |
CN102681881B (en) | Across machine dispatching method and system thereof | |
CN112099769B (en) | Software radar device with unified data transmission interface | |
CN115277419B (en) | Acceleration network starting method in service-free calculation | |
CN115033399B (en) | Lightweight event service method and system based on CORBA middleware | |
CN113157251B (en) | Resource servitization and customization method for man-machine-object fusion application | |
CN110704027B (en) | Satellite-borne software load software and hardware decoupling method |
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 |