Communication architecture and communication method based on time-sensitive network

Through the communication architecture and data distribution services of the time-sensitive network, the deterministic and real-time problems of network transmission are solved, and efficient deterministic transmission between containers is achieved, which is suitable for environments such as Kubernetes.

CN120729945APending Publication Date: 2025-09-30KYLAND TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410378919.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2025-09-30

AI Technical Summary

Technical Problem

Existing network transmission cannot guarantee the determinism and real-time nature of data packets, resulting in immeasurable losses in fields such as industry and automobiles.

Method used

A communication architecture based on time-sensitive networking is adopted. By combining data forwarding services, data forwarding monitoring services, and data distribution services, deterministic transmission in containerized communication clusters is achieved. Switches are used to connect message publishing and subscription nodes, and time-sensitive networking is configured through shared memory and data distribution middleware technologies.

Benefits of technology

It ensures the determinism and real-time nature of network communication, improves the quality of network transmission, and is suitable for inter-container communication environments such as Kubernetes, Docker Swarm, Apache Mesos, and HashiCorp Nomad.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120729945A_ABST
    Figure CN120729945A_ABST
Patent Text Reader

Abstract

The invention relates to a communication architecture and a communication method based on a time sensitive network, the communication architecture runs in a containerized cluster, the communication architecture comprises a message publishing node, a first container is used for bearing an application program, and the application program integrates a first data forwarding service; the second container is used for bearing a first data forwarding and monitoring service and a first data distribution node, and the first data forwarding and monitoring service communicates with the first data distribution node; the message subscription node comprises a third container used for bearing an application program, and the application program is integrated with a second data forwarding service; the fourth container is used for bearing a second data forwarding and monitoring service and a second data distribution node, the second data forwarding and monitoring service communicates with the second data distribution node, the data forwarding service communicates with the data forwarding and monitoring service, and the first data distribution node communicates with the second data distribution node through a time-sensitive network. The communication architecture provided by the invention is a structure with communication certainty, so that the communication quality is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular to a communication architecture and a communication method based on a time-sensitive network. Background Art

[0002] With the rapid development of industries such as industry and automobiles, the requirements for the determinism of network transmission are becoming increasingly higher. If network transmission cannot guarantee that a set of data packets must arrive at the destination complete, real-time, and certain, it will cause immeasurable losses.

[0003] Therefore, it is urgent to propose a deterministic network transmission structure. Summary of the Invention

[0004] In view of the above problems in the prior art, the present application provides a communication architecture and a communication method based on a time-sensitive network to ensure the certainty of network transmission, thereby ensuring the quality of network transmission.

[0005] To achieve the above-mentioned objectives, the first aspect of the present application provides a communication architecture based on a time-sensitive network, which runs in a containerized communication cluster, and the communication architecture includes: a message publishing node, which includes a first container and a second container; the first container is used to carry an application, and the application is integrated with a first data forwarding service; the second container is used to carry a first data forwarding listening service and a first data distribution node, and the first data forwarding listening service is communicatively connected to the first data distribution node, and the first data forwarding service and the first data forwarding listening service are communicatively connected; a message subscription node, which includes a third container and a fourth container; the third container is used to carry an application, and the application is integrated with a second data forwarding service; the fourth container is used to carry a second data forwarding listening service and a second data distribution node, and the second data forwarding listening service is communicatively connected to the second data distribution node, and the second data forwarding service and the second data forwarding listening service are communicatively connected; wherein, the first data distribution node and the second data distribution node are communicatively connected via a time-sensitive network.

[0006] As shown above, through the combination of data forwarding service, data forwarding monitoring service and data distribution service, time-sensitive network can be applied to high-level network communications, so that time-sensitive network can take advantage of its deterministic transmission and directly apply deterministic transmission to application programs, ensuring the network quality of real-time transmission.

[0007] As an implementation method of the first aspect, the message publishing node and the message subscription node communicate through a time-sensitive network, including: a switch is connected between the second container of the message publishing node and the fourth container of the message subscription node through a time-sensitive network to achieve communication between the message publishing node and the message subscription node.

[0008] As mentioned above, the message publishing node and the message subscribing node are connected through the switch, providing them with data forwarding, bandwidth management, network isolation and other functions.

[0009] As an implementation method of the first aspect, the first data forwarding service and the first data forwarding monitoring service are communicated and connected, including: the first data forwarding service and the first data forwarding monitoring service communicate through shared memory; the second data forwarding service and the second data forwarding monitoring service are communicated and connected, including: the second data forwarding service and the second data forwarding monitoring service communicate through shared memory.

[0010] As shown above, the data forwarding service and the data forwarding listening service communicate through shared memory, allowing different containers in the same node to communicate with each other.

[0011] As an implementation of the first aspect, the first data distribution node and the second data distribution node are connected via a time-sensitive network communication, including: automatically configuring the time-sensitive network between the first data distribution node and the second data distribution node through data distribution middleware technology.

[0012] As an implementation of the first aspect, the communication architecture is established based on Kubernetes.

[0013] As an implementation of the first aspect, the first data forwarding listening service is deployed in the second container as a daemon process; and the second data forwarding listening service is deployed in the fourth container as a daemon process.

[0014] The second aspect of the present application provides a communication method, including: an application deployed in a first container of a message publishing node receives first data, and writes the first data into a first shared memory through a data forwarding service in the first container, where the first shared memory is located at the message publishing node; when a data forwarding monitoring service deployed in a second container of the message publishing node monitors that the first shared memory is written with the first data, the data forwarding monitoring service in the second container forwards the first data to a data distribution service.

[0015] As an implementation of the second aspect, the method further includes: adjusting the structure of the data distribution service according to changes in network information of the data distribution service.

[0016] As an implementation method of the second aspect, adjusting the structure of the data distribution service according to changes in the network information of the data distribution service includes: utilizing a control application of a data distribution service resource to monitor changes in the network information of the data distribution service, and issuing instructions to adjust the system structure of the data distribution service according to the changes in the network information; the control application of the data distribution service resource is predefined; utilizing an operation application of the data distribution service resource to execute the adjustment operation of the instruction to achieve adjustment of the data distribution service structure; the operation application of the data distribution service resource is predefined.

[0017] As an implementation manner of the second aspect, the network information change includes at least one of the following: joining or leaving of a node, change in node load, change in bandwidth, and / or adjustment of a distribution strategy.

[0018] The beneficial effects of this aspect can also be found in the description of the beneficial effects of each part of the first aspect above.

[0019] A third aspect of the present application provides a communication method, comprising:

[0020] After the data forwarding monitoring service deployed on the message subscription node monitors the push message about the first data, the data forwarding monitoring service deployed in the fourth container forwards the first data to the second shared memory, which is located on the message subscription node. The push message is pushed to the message subscription node by the data distribution service; the data forwarding service deployed in the third container of the message subscription node reads the first data located in the second shared memory.

[0021] As an implementation of the third aspect, the method further includes: adjusting the structure of the data distribution service according to changes in network information of the data distribution service.

[0022] As an implementation method of the third aspect, adjusting the structure of the data distribution service according to changes in the network information of the data distribution service includes: utilizing a control application of a data distribution service resource to monitor changes in the network information of the data distribution service, and issuing instructions for adjusting the system structure of the data distribution service according to the changes in the network information; the control application of the data distribution service resource is predefined; utilizing an operation application of the data distribution service resource to execute the adjustment operation of the instruction to achieve adjustment of the data distribution service structure; the operation application of the data distribution service resource is predefined.

[0023] As an implementation manner of the third aspect, the network information change includes at least one of the following: joining or leaving of a node, change in node load, change in bandwidth, and / or adjustment of a distribution strategy.

[0024] The beneficial effects of this aspect can also be found in the description of the beneficial effects of each part of the first aspect above.

[0025] In a fourth aspect, the present application provides a computing device comprising: at least one processor; and at least one memory connected to the processor and storing program instructions, wherein when the program instructions are executed by the at least one processor, the at least one processor executes the communication method described in any one of the second aspect or the communication method described in any one of the third aspect.

[0026] The beneficial effects of this aspect can also be found in the description of the beneficial effects of each part of the first aspect above.

[0027] The fifth aspect of the present application provides a computer-readable storage medium having program instructions stored thereon. When the program instructions are executed by a computer, the computer executes the communication method described in any one of the second aspect or the communication method described in any one of the third aspect.

[0028] The beneficial effects of this aspect can also be found in the description of the beneficial effects of each part of the first aspect above. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The following further illustrates the various technical features of the present application and the relationships between them with reference to the accompanying drawings. The accompanying drawings are exemplary, and some technical features are not shown in actual proportion. In addition, some drawings may omit technical features that are commonly used in the technical field to which the present application belongs and are not essential for understanding and implementing the present application, or additional technical features that are not essential for understanding and implementing the present application may be shown. In other words, the combination of the various technical features shown in the accompanying drawings is not intended to limit the present application. In addition, throughout the present application, the same figure numbers refer to the same content. The specific description of the drawings is as follows:

[0030] Figure 1 A schematic diagram of a time-sensitive network-based communication architecture provided in an embodiment of the present application;

[0031] Figure 2 A flow chart of a communication method based on a time-sensitive network communication architecture provided in an embodiment of the present application;

[0032] Figure 3 A structural diagram of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0033] The technical solution provided by this application is further described below with reference to the accompanying drawings and examples. It should be understood that the system structure and business scenarios provided in the examples of this application are mainly for illustrating possible implementation methods of the technical solution of this application and should not be interpreted as the sole limitation of the technical solution of this application. It is known to those skilled in the art that with the evolution of the system structure and the emergence of new business scenarios, the technical solution provided by this application is also applicable to similar technical problems.

[0034] It should be understood that the embodiments of the present application provide a communication solution based on a time-sensitive network. Since these technical solutions solve the same or similar problems, some repetitions may not be repeated in the following specific embodiments. However, these specific embodiments should be considered as having referenced each other and can be combined with each other.

[0035] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. In the event of any inconsistency, the meanings described in this specification or the meanings derived from the contents recorded in this specification shall prevail. In addition, the terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application. In order to accurately describe the technical content in this application and to accurately understand the present invention, the following explanations or definitions are given for the terms used in this specification before describing the specific embodiments:

[0036] 1) Time-Sensitive Networking (TSN): TSN is a network that ensures that data transmission on Ethernet is predictable, reliable, and has strict time constraints.

[0037] 2) Kubernetes (k8s for short): is an open source platform for automating the deployment, scaling, and management of containerized applications.

[0038] 3) Data Distribution Service (DDS): This service is used to transmit data from a single source to multiple destinations. It is commonly used in scenarios such as broadcast messaging, publish-subscribe systems, and data synchronization. The main functions of a data distribution service include receiving data, managing the distribution and transmission of data, and transmitting data to multiple recipients.

[0039] The communication solution based on the time-sensitive network provided in the embodiment of the present application is mainly used for communication between containers, such as communication between containers in kubernetes, or communication between containers in Docker Swarm, or communication between containers in Apache Mesos, or communication between containers in HashiCorp Nomad, etc. Specifically: based on the time-sensitive network, the containers located at different nodes are connected using a data distribution service. Since the time-sensitive network is a deterministic network, the time-sensitive network (low-level network, such as layer 1 and layer 2) is connected to the high-level (such as layer 3-6) service through the data distribution service, thereby ensuring the determinism of network communication. The quality of network communication is guaranteed.

[0040] The following is a detailed introduction to a communication architecture based on a time-sensitive network provided by the first embodiment of this application. The communication architecture of this embodiment is described by taking the establishment based on kubernetes as an example. Figure 1 The figure shows a schematic diagram of the structure of a communication architecture 10 based on a time-sensitive network. The communication architecture 10 includes: a message publishing node 100, a message subscription node 200 and a data distribution service 300. The data distribution service 300 includes a first data distribution node (DDS node-1) and a second data distribution node (DDS node-2). It should be understood that this embodiment is described by taking the communication architecture as an example including a message publishing node and a message subscription node. In other embodiments, the communication architecture may include multiple message publishing nodes and multiple message subscription nodes according to the actual topology structure. These nodes communicate with each other through a time-sensitive network. When multiple nodes are included, a corresponding DDS node is deployed on each node, and these DDS nodes constitute the data distribution service 300.

[0041] Next, we will introduce each node in detail.

[0042] Message publishing node 100 includes a first container Container-1 and a second container Container-2. The first container Container-1 is used to host an application Application-1, which is integrated with a data forwarding service AgentClient-1. The second container Container-2 is used to host a data forwarding listening service DDSAgent-1 and a DDS node-1 (i.e., a first data distribution node). The data forwarding listening service DDSAgent-1 is communicatively connected to the DDS node-1 (i.e., the data forwarding listening service DDSAgent-1 is connected to the data distribution service 300). In message publishing node 100, the data forwarding service AgentClient-1 in the first container Container-1 and the data forwarding listening service DDSAgent-1 in the second container Container-2 are communicatively connected, thereby enabling communication between the first container Container-1 and the second container Container-2. Specifically, when the data forwarding service AgentClient-1 in the first container Container-1 writes data to the shared memory located in the message publishing node 100 (referred to as the first shared memory in the following description of this application), the data forwarding monitoring service DDSAgent-1 in the second container Container-2 detects that the data in the first shared memory has changed, and takes out the data and writes it to the locally deployed DDS node-1, thereby completing the data transfer from the message publishing node 100 to the data distribution service.

[0043] It should be understood that the application Application-1 in the first container Container-1 has a data writing function DataWriter.

[0044] It should be understood that the data forwarding service AgentClient-1 in the first container Container-1 and the data forwarding monitoring service DDSAgent-1 in the second container Container-2 are both pre-defined services, and the data forwarding monitoring service DDSAgent-1 in the second container Container-2 is deployed in the second container Container-2 as a daemon process.

[0045] It should be understood that the data distribution service 300 is also pre-defined in Kubernetes.

[0046] The message subscription node 200 includes a third container Container-3 and a fourth container Container-4. The third container Container-3 is similar to the first container Container-1 and is also used to carry the application Application-2. The application Application-2 is integrated with the data forwarding service AgentClient-2. The fourth container Container-4 is similar to the second container Container-2 and is also used to carry the data forwarding monitoring service DDSAgent-2 and DDS node-2 (i.e., the second data distribution node). The data forwarding monitoring service DDSAgent-2 is communicatively connected to the DDS node-2 (i.e., the data forwarding monitoring service DDSAgent-2 is connected to the data distribution service 300). In the message subscription node 200, the data forwarding service AgentClient-2 in the third container Container-3 and the data forwarding monitoring service DDSAgent-2 in the fourth container Container-4 are communicatively connected, thereby realizing communication between the third container Container-3 and the fourth container Container-4. Specifically, when the data forwarding monitoring service DDSAgent-2 in the fourth container Container-4 monitors a change in the subscription message, the changed subscription message is forwarded to the shared memory (referred to as the second shared memory in the following description of this application) located in the message subscription node 200 through the data forwarding service AgentClient-2 in the third container Container-3, and the subscription message is read out through the data forwarding service AgentClient-2 in the third container Container-3, thereby completing the distribution of data from the data distribution service to the message subscription node 200.

[0047] It should be understood that the application Application-1 in the first container Container-1 has a data reading function DataReader.

[0048] It should be understood that the data forwarding service AgentClient-2 in the third container Container-3 and the data forwarding monitoring service DDSAgent-2 in the fourth container Container-4 are both pre-defined services, and the data forwarding monitoring service DDSAgent-2 in the fourth container Container-4 is deployed in the fourth container Container-4 as a daemon process.

[0049] In this embodiment, the first data distribution node DDS Node-1 and the second data distribution node DDS Node-2 are connected via a time-sensitive network communication, thereby realizing communication between the message publishing node and the message subscription node.

[0050] Then, a connection method between the message publishing node 100 and the message subscription node 200 is introduced in detail.

[0051] The second container, Container-2, of message publishing node 100 includes network interface eth0, which is connected to a virtual switch, Virtual Switch. This virtual switch is also connected to the external connection interface NIC of message publishing node 100, and can also communicate with other nodes through this external connection interface NIC. Similarly, the fourth container, Container-4, of message subscription node 200 includes network interface eth0, which is connected to a virtual switch, Virtual Switch. This virtual switch is also connected to the external connection interface NIC of message subscription node 200, and can also communicate with other nodes through this external connection interface NIC of message subscription node 200. In this embodiment, the external connection interface NIC of message publishing node 100 and the external connection interface NIC of message subscription node 200 are connected via a physical switch, Switch, thereby enabling communication between message publishing node 100 and message subscription node 200. It should be understood that the virtual switch Virtual Switch located at each node and the physical switch Switch located between the two nodes are both selectively connectable devices.

[0052] The communication architecture provided in this embodiment combines the time-sensitive network technology of the lower layers (Layer 1 (physical layer) and Layer 2 (data link layer)) with the network of higher layers (Layer 3 (network layer), Layer 4 (transport layer), Layer 5 (session layer), and Layer 6 (presentation layer)) through the data distribution service 300, so that the time-sensitive network can give full play to its deterministic transmission advantages, and then directly apply deterministic transmission to applications, thereby ensuring the network quality of real-time transmission.

[0053] The second embodiment of the present application provides a communication method, which is applied to the communication architecture 10 of the first embodiment. In the second embodiment, the communication method is introduced by taking the application program as a brake service as an example. Figure 1 and Figure 2 The communication method provided in this embodiment is introduced in detail.

[0054] A. Initialization step: initializing the data distribution service in the communication architecture and initializing the subscription information of the message subscription nodes in the communication architecture.

[0055] First, we will introduce the initialization of the data distribution service in the communication architecture:

[0056] In this embodiment, the data distribution service 300 must first be initialized. Specifically, the data distribution service structure is adjusted based on changes in the data distribution service's network information. Network information changes may include, but are not limited to, bandwidth changes, node failures, distribution strategy adjustments, load changes, etc. Adjustments to the data distribution service structure include, but are not limited to, adjustments to quality of service, load balancing strategies, redundancy and fault tolerance mechanisms, and security measures.

[0057] In this embodiment, a custom resource definition controller (DdsModify-CRD-Controller) for controlling data distribution service resources can be predefined in Kubernetes. This controller is used to issue instructions for adjusting the data distribution service system structure based on changes in the data distribution service's network information. In this embodiment, a custom resource definition operator (DdsModify-CRD-Operator) for operating data distribution service resources is also predefined in Kubernetes. This operator is used to adjust the data distribution service system structure based on instructions issued by the DdsModify-CRD-Controller.

[0058] Through the synergy of DdsModify-CRD-Controller and DdsModify-CRD-Operator, the data distribution service in the communication architecture can be initialized.

[0059] Next, we will introduce how to initialize the subscription information of the message subscription node in the communication architecture:

[0060] like Figure 2 The initialization process shown here represents the process of initializing the subscription information of a message subscription node. Specifically, the data forwarding service AgentClient-2 in the message subscription node first initializes a process to monitor changes in the second shared memory data. It then communicates with the data forwarding listening service DDSAgent-2 in the message subscription node via HTTP(S). DDSAgent-2 then initializes the subscription information to the data distribution service 300, completing the initialization of the subscription information for the message subscription node.

[0061] B. Work steps. This work step includes the work steps on the message publishing node and the work steps on the message subscription node. B-1 to B-2 are the work steps on the message publishing node, B-4 to B-5 are the work steps on the message subscription node, and B-3 is the process of data distribution service pushing messages. Figure 2 The whole process of the working steps is described in detail by the working stages in the text.

[0062] B-1. An application in a first container deployed on a message publishing node receives first data and writes the first data into a first shared memory through a data forwarding service in the first container. The first shared memory is located on the message publishing node.

[0063] In this step, the first data is a video stream acquired by a video capture device, and the operation instructions are obtained by processing the video stream. Specifically, after receiving the video stream data, Application-1, deployed in the first container of the message publishing node, analyzes and processes it. The data forwarding service AgentClient-1 in the first container then writes the analyzed and processed operation instructions to the first shared memory. For example, in a braking application, the operation instruction is a braking command if the captured video stream data is analyzed and processed to determine that a braking operation should be executed.

[0064] B-2. When the data forwarding monitoring service in the second container deployed in the message publishing node monitors that the first shared memory writes the first data, the data forwarding monitoring service in the second container forwards the first data to the data distribution service.

[0065] In this step, after the data forwarding monitoring service DDSAgent-1 monitors the operation instruction, the data forwarding monitoring service DDSAgent-1 forwards the operation instruction to the data distribution service 300 by asynchronously writing data.

[0066] B-3. ​​The data distribution service pushes the first data to the message subscription node.

[0067] In this step, the distribution service 300 pushes the video stream data to the message subscription node.

[0068] B-4. After the data forwarding monitoring service deployed on the message subscription node monitors the push, the data forwarding monitoring service deployed in the fourth container forwards the first data to the second shared memory, where the second shared memory is located on the message subscription node.

[0069] In this step, after the data forwarding monitoring service DDSAgent-2 of the message subscription node monitors the pushed operation instruction, the data forwarding monitoring service DDSAgent-2 forwards the operation instruction to the second shared memory.

[0070] B-5. The data forwarding service deployed in the third container of the message subscription node reads the first data located in the second shared memory.

[0071] In this step, the data forwarding service AgentClient-2 reads the operation instruction data and performs corresponding operations based on the operation instruction as required.

[0072] Thus, the transmission of the data stream in the communication architecture is completed.

[0073] It should be understood that the above-mentioned message publishing node and message subscription node operate independently, that is, when the message subscription node is not working, the message publishing node can work alone; similarly, when the message publishing node is not working, the message subscription node can also work alone.

[0074] Among them, the specific implementation methods of each functional module of the communication architecture in this embodiment can be found in the introduction of the above-mentioned first embodiment, and will not be repeated in this embodiment.

[0075] Figure 3 900 is a schematic structural diagram of a computing device provided in an embodiment of the present application. The computing device can execute each optional embodiment of the above communication method. The computing device can be a terminal, or a chip or chip system inside the terminal. Figure 3 As shown, the computing device 900 includes: a processor 910 , a memory 920 , and a communication interface 930 .

[0076] It should be understood that Figure 3 The communication interface 930 in the computing device 900 shown may be used to communicate with other devices, and may specifically include one or more transceiver circuits or interface circuits.

[0077] The processor 910 may be connected to a memory 920. The memory 920 may be used to store the program code and data. Therefore, the memory 920 may be a storage unit within the processor 910, an external storage unit independent of the processor 910, or a component including both a storage unit within the processor 910 and an external storage unit independent of the processor 910.

[0078] Optionally, the computing device 900 may further include a bus. The memory 920 and the communication interface 930 may be connected to the processor 910 via a bus. The bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 A line without an arrow is used to represent the bus, but this does not mean that there is only one bus or one type of bus.

[0079] It should be understood that in the embodiment of the present application, the processor 910 can adopt a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. Alternatively, the processor 910 adopts one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiments of the present application.

[0080] The memory 920 may include a read-only memory and a random access memory, and provides instructions and data to the processor 910. A portion of the processor 910 may also include a non-volatile random access memory. For example, the processor 910 may also store information about the device type.

[0081] When the computing device 900 is running, the processor 910 executes the computer-executable instructions in the memory 920 to perform any operation step of the above method and any optional embodiment thereof.

[0082] It should be understood that the computing device 900 according to the embodiment of the present application can correspond to the corresponding subject in executing the method according to each embodiment of the present application, and the above-mentioned and other operations and / or functions of each module in the computing device 900 are respectively for implementing the corresponding processes of each method of the present embodiment. For the sake of brevity, they will not be repeated here.

[0083] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0084] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0085] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0086] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0087] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0088] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0089] An embodiment of the present application also provides a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, the program is used to execute the above method, which includes at least one of the solutions described in the above embodiments.

[0090] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer-readable media.Computer-readable media can be computer-readable signal media or computer-readable storage media.Computer-readable storage media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or components, or any combination thereof.More specific examples (non-exhaustive list) of computer-readable storage media include: electrical connection with one or more wires, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination thereof.In this document, computer-readable storage media can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.

[0091] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0092] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0093] The computer program code for performing the operations of the present application can be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0094] In addition, the words "first, second, third, etc." or module A, module B, module C and other similar terms in the specification and claims are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that the specific order or sequence can be interchanged where permitted so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0095] In the above description, the numbers representing the steps, such as S110, S120, etc., do not necessarily mean that the steps must be executed in this manner. If permitted, the order of the steps can be interchanged or they can be executed simultaneously.

[0096] The term "comprising" as used in the specification and claims should not be construed as limiting to what is listed thereafter; it does not exclude other elements or steps. Thus, it should be interpreted as specifying the presence of the features, integers, steps, or components mentioned, but not excluding the presence or addition of one or more other features, integers, steps, or components, or groups thereof. Thus, the expression "a device comprising means A and B" should not be limited to a device consisting solely of components A and B.

[0097] References in this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Therefore, the phrases "in one embodiment" or "in an embodiment" appearing throughout this specification do not necessarily refer to the same embodiment, but may refer to the same embodiment. Furthermore, in one or more embodiments, the particular features, structures, or characteristics can be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure.

[0098] Note that the above are only preferred embodiments of the present application and the technical principles employed. Those skilled in the art will understand that the present application is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, and substitutions can be made by those skilled in the art without departing from the scope of protection of the present application. Therefore, although the present application has been described in more detail through the above embodiments, the present application is not limited to the above embodiments and may include many other equivalent embodiments without departing from the scope of protection of the present application, all of which fall within the scope of protection of the present application.

Claims

1. A communication architecture based on a time-sensitive network, characterized in that: The communication architecture runs in a containerized communication cluster and includes: A message publishing node, the message publishing node comprising a first container and a second container; the first container is used to carry an application, the application being integrated with a first data forwarding service; the second container is used to carry a first data forwarding monitoring service and a first data distribution node, the first data forwarding monitoring service being communicatively connected to the first data distribution node, and the first data forwarding service being communicatively connected to the first data forwarding monitoring service; A message subscription node, the message subscription node including a third container and a fourth container; the third container is used to carry an application, the application is integrated with a second data forwarding service; the fourth container is used to carry a second data forwarding monitoring service and a second data distribution node, the second data forwarding monitoring service is communicatively connected to the second data distribution node, and the second data forwarding service is communicatively connected to the second data forwarding monitoring service; The first data distribution node and the second data distribution node are connected via a time-sensitive network communication.

2. The communication architecture according to claim 1, wherein: The first data forwarding service and the first data forwarding monitoring service are in communication connection, including: The first data forwarding service and the first data forwarding monitoring service communicate via shared memory; The second data forwarding service is communicatively connected to the second data forwarding monitoring service, including: The second data forwarding service and the second data forwarding listening service communicate through shared memory.

3. The communication architecture according to claim 1, wherein: The first data distribution node and the second data distribution node are connected to each other via a time-sensitive network communication, including: A time-sensitive network between the first data distribution node and the second data distribution node is automatically configured by using data distribution middleware technology.

4. The communication architecture according to claim 1, wherein: The first data forwarding monitoring service is deployed in the second container in the form of a daemon process; and The second data forwarding monitoring service is deployed in the fourth container in the form of a daemon process.

5. A communication method based on the communication architecture according to any one of claims 1 to 4, characterized in that: include: An application deployed in a first container of a message publishing node receives first data and writes the first data into a first shared memory through a data forwarding service in the first container, where the first shared memory is located in the message publishing node; When the data forwarding monitoring service in the second container deployed in the message publishing node monitors that the first shared memory writes the first data, the data forwarding monitoring service in the second container forwards the first data to the data distribution service.

6. A communication method based on the communication architecture according to any one of claims 1 to 4, characterized in that: include: After the data forwarding monitoring service deployed on the message subscription node monitors the push message about the first data, the data forwarding monitoring service deployed in the fourth container forwards the first data to the second shared memory, which is located on the message subscription node. The push message is pushed to the message subscription node by the data distribution service. The data forwarding service deployed in the third container of the message subscription node reads the first data located in the second shared memory.

7. The method according to claim 5 or 6, characterized in that Also includes: The structure of the data distribution service is adjusted according to changes in the network information of the data distribution service.

8. The method according to claim 7, characterized in that The adjusting the structure of the data distribution service according to the change of the network information of the data distribution service includes: Using a control application of a data distribution service resource to monitor changes in network information of the data distribution service, and issuing instructions to adjust a system structure of the data distribution service according to the changes in the network information; the control application of the data distribution service resource is predefined; The adjustment operation of the instruction is executed by utilizing the operation application of the data distribution service resource to achieve the adjustment of the data distribution service structure; the operation application of the data distribution service resource is predefined.

9. The method according to claim 8, characterized in that The network information change includes at least one of the following: The addition or departure of nodes, changes in node load, changes in bandwidth, and / or adjustments to distribution strategies.

10. A computing device, characterized in that include: at least one processor; and at least one memory connected to the processor and storing program instructions, wherein when the program instructions are executed by the at least one processor, the at least one processor executes the communication method according to any one of claims 5 to 9.