Data Transmission Method, Device, Electronic Device and Storage Medium
By building a time-sensitive network encoding network, combining encoding nodes and decoding nodes, determining the gated list and configuring the switch, the deterministic transmission problem of TSN under the bottleneck link is solved, and the compression and deterministic transmission of data flow are realized.
Patent Information
- Application Number
- CN202211305443.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-24
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2042-10-24
AI Technical Summary
The existing time-sensitive network (TSN) cannot meet the deterministic transmission requirements of time-sensitive services when there are multicast services with bottleneck links, especially when the load exceeds the link bandwidth.
By building a time-sensitive network encoding network, combining encoding nodes and decoding nodes, a gated list is determined, and the switch is configured based on the gated list to control the transmission of data flow to achieve deterministic data transmission.
It reduces the difficulty of data flow planning and scheduling, improves the transmission capacity of time-sensitive networks, and ensures the deterministic transmission of data in the network.
Smart Images

Figure CN115883015B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communication technologies, and in particular, to a data transmission method, apparatus, electronic device, and storage medium. Background Art
[0002] Time Sensitive Networking (TSN) is a set of protocol standards being developed by the TSN task group in the IEEE 802.1 working group. This standard defines a time-sensitive mechanism for Ethernet data transmission, adding determinism and reliability to standard Ethernet to ensure that Ethernet can provide a stable and consistent service level for the transmission of critical data. A set of data link layer protocol specifications developed by TSN is used to build a more reliable, low-latency, and low-jitter Ethernet.
[0003] Existing TSN mainly uses a gating mechanism to achieve deterministic transmission of data streams. However, when there is multicast traffic on a bottleneck link in a network system, the existing method cannot meet the transmission requirements of time-sensitive services. For example, when the load exceeds the link bandwidth, time-sensitive services cannot be transmitted on time.
[0004] Therefore, how to ensure the deterministic transmission of time-sensitive services has become an urgent problem to be solved in the industry. Summary of the Invention
[0005] In view of the problems existing in the prior art, the present invention provides a data transmission method, apparatus, electronic device, and storage medium.
[0006] In a first aspect, the present invention provides a data transmission method, including:
[0007] Constructing a time-sensitive network coding network based on encoding nodes and decoding nodes in a multicast data stream to be transmitted;
[0008] Determining a gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network;
[0009] Configuring a switch based on the gating list for the switch to control the transmission of the multicast data stream to be transmitted according to the gating list;
[0010] The constructing a time-sensitive network coding network based on encoding nodes and decoding nodes in a multicast data stream to be transmitted includes:
[0011] Determining a set of encodable data streams based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted;
[0012] Performing an encoding operation on input data streams corresponding to encoding nodes included in each data stream in the set of encodable data streams;
[0013] Perform a decoding operation on the input data streams corresponding to each decoding node included in each data stream in the set of encodable data streams.
[0014] Optionally, according to a data transmission method provided by the present invention, the performing an encoding operation on the input data streams corresponding to each encoding node included in each data stream in the set of encodable data streams includes:
[0015] Traverse the set of encodable data streams, determine the first input data streams respectively corresponding to each encoding node in the target data stream, and perform an encoding operation on the first input data streams respectively corresponding to each encoding node in the target data stream;
[0016] The performing a decoding operation on the input data streams corresponding to each decoding node included in each data stream in the set of encodable data streams includes:
[0017] Traverse the set of encodable data streams, determine the second input data streams respectively corresponding to each decoding node in the target data stream, and perform a decoding operation on the second input data streams respectively corresponding to each decoding node in the target data stream;
[0018] Wherein, the target data stream is the data stream currently traversed in the set of encodable data streams.
[0019] Optionally, according to a data transmission method provided by the present invention, the performing an encoding operation on the first input data streams respectively corresponding to each encoding node in the target data stream includes:
[0020] Traverse each encoding node in the target data stream, and perform an encoding operation on the first input data streams with the same period corresponding to the target encoding node among the currently traversed encoding nodes based on the encoding matrix corresponding to the target encoding node;
[0021] The performing a decoding operation on the second input data streams respectively corresponding to each decoding node in the target data stream includes:
[0022] Traverse each decoding node in the target data stream, and perform a decoding operation on the second input data streams with the same period corresponding to the target decoding node among the currently traversed decoding nodes based on the decoding matrix corresponding to the target decoding node.
[0023] Optionally, according to a data transmission method provided by the present invention, the determining the gating list corresponding to the multicast data stream based on the time-sensitive network coding network includes:
[0024] Establish constraint conditions for all data streams included in the time-sensitive network coding network;
[0025] Determine the gating list based on the constraint conditions.
[0026] Optionally, according to a data transmission method provided by the present invention, the constraint conditions include any one or more of the following:
[0027] The transmission time offset of any one data packet included in all the data streams is within the target time range;
[0028] The packet lengths of the encoded data packets included in the data streams with the same period are the same;
[0029] The sum of the transmission time, propagation delay, and synchronization accuracy of any one first data packet included in all the data streams is less than or equal to the transmission time offset of the second data packet, where the second data packet is the next data packet transmitted after the transmission of the first data packet;
[0030] The maximum time difference between the encoded data packets included in the data streams with the same period reaching the target node is less than the first preset duration;
[0031] The transmission times of the encoded data packets included in the data streams with the same period do not overlap on multiple output data streams after encoding;
[0032] The transmission times of the data packets included in the data streams with different periods do not overlap;
[0033] The transmission times of the data packets included in the same data stream do not overlap;
[0034] The end-to-end delay of the same data stream is less than the second preset duration;
[0035] The transmission times of the data packets included in different data streams in the same queue do not overlap.
[0036] Optionally, according to a data transmission method provided by the present invention, the configuring the switch based on the gating list for the switch to control the transmission of the data streams to be multicast according to the gating list includes:
[0037] When it is determined that the switch receives the target data packet to be transmitted in the data streams to be multicast, control the switch to determine the encoding / decoding flag of the target data packet;
[0038] Control the switch to determine the type of the target data packet based on the encoding / decoding flag;
[0039] Control the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list.
[0040] Optionally, according to a data transmission method provided by the present invention, controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes:
[0041] When the switch determines that the type of the target data packet is an ordinary data packet, controlling the switch to determine the gating time slot corresponding to the target data packet based on the gating list;
[0042] Controlling the switch to output the target data packet within the gating time slot;
[0043] Wherein, the ordinary data packet is other data packets except the encoded data packet and the decoded data packet.
[0044] Optionally, according to a data transmission method provided by the present invention, controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes:
[0045] When the switch determines that the type of the target data packet is an encoded data packet, controlling the switch to linearly encode the target data packet with the encoded data packet corresponding to the data stream in the same period based on the gating list to obtain an encoded result data packet;
[0046] Controlling the switch to output the encoded result data packet.
[0047] Optionally, according to a data transmission method provided by the present invention, controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes:
[0048] When the switch determines that the type of the target data packet is a decoded data packet, controlling the switch to decode the target data packet based on the gating list and the received decoded data packet in the same period to obtain a decoded result data packet.
[0049] In a second aspect, the present invention further provides a data transmission device, including:
[0050] A construction module, configured to construct a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted;
[0051] A determination module, configured to determine the gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network;
[0052] A configuration module for configuring a switch based on the gating list, so that the switch controls the transmission of the multicast data stream to be transmitted according to the gating list;
[0053] Specifically, the construction module is used for:
[0054] Determining a set of encodable data streams based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted;
[0055] Performing an encoding operation on the input data streams corresponding to the encoding nodes included in each data stream in the set of encodable data streams;
[0056] Performing a decoding operation on the input data streams corresponding to the decoding nodes included in each data stream in the set of encodable data streams.
[0057] In a third aspect, the present invention further provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the data transmission method described in the first aspect is implemented.
[0058] In a fourth aspect, the present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the data transmission method described in the first aspect is implemented.
[0059] In a fifth aspect, the present invention further provides a computer program product, including a computer program. When the computer program is executed by a processor, the data transmission method described in the first aspect is implemented.
[0060] The data transmission method, device, electronic device, and storage medium provided by the present invention construct a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, that is, combine the time-sensitive network and network coding to obtain a time-sensitive network coding network. Since network coding is introduced into the time-sensitive network coding network, the time-sensitive network coding network can compress the amount of data transmitted by the multicast data stream, reduce the difficulty of data stream planning and scheduling, and at the same time determine the gating list corresponding to the multicast data stream based on the time-sensitive network coding network, and configure the switch based on the gating list, so that the switch controls the transmission of the multicast data stream according to the gating list, and uses the gating mechanism to ensure the deterministic transmission of data in the network. Description of the Drawings
[0061] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0062] Figure 1 It is a schematic flow chart of the data transmission method provided by the present invention;
[0063] Figure 2 It is a schematic structural diagram of the data transmission device provided by the present invention;
[0064] Figure 3 It is a schematic physical structure diagram of the electronic device provided by the present invention. Detailed implementation manners
[0065] To make the objectives, technical solutions and advantages of the present invention clearer, the technical solutions in the present invention will be clearly and completely described below with reference to the accompanying drawings in the present invention. Apparently, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present invention without making creative efforts shall fall within the protection scope of the present invention.
[0066] To facilitate a clearer understanding of the embodiments of the present invention, some relevant background knowledge is introduced as follows.
[0067] The network coding theory proposes to replace routers with encoders and send evidence about the messages instead of the entire messages themselves. The receiver reconstructs and restores the messages after receiving the evidence. The traditional way of transmitting data in a communication network is store-and-forward, that is, nodes other than the data sending node and the receiving node are only responsible for routing and do not perform any processing on the data content. Intermediate nodes act as forwarders.
[0068] Network coding is an information exchange technology that combines routing and coding. Its core idea is to perform linear or non-linear processing on the information received on each channel at each node in the network and then forward it to downstream nodes. Intermediate nodes act as encoders or signal processors. According to the maximum flow-minimum cut theorem in graph theory, the maximum rate of communication between the data sender and the receiver cannot exceed the maximum flow value or the minimum cut value between the two. If the traditional multicast routing method is used, this upper bound is usually not achievable, while through network coding, the maximum flow value of multicast routing transmission can be achieved, improving the information transmission efficiency.
[0069] The following will be combined with Figures 1 - 3 Describe the data transmission method, device, electronic device and storage medium provided by the present invention.
[0070] Figure 1 It is a schematic flow chart of the data transmission method provided by the present invention. As Figure 1 shown, the method includes:
[0071] Step 100: Construct a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted.
[0072] Step 110: Determine the gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network.
[0073] Step 120: Configure a switch based on the gating list, so that the switch controls the transmission of the multicast data stream to be transmitted according to the gating list.
[0074] Specifically, in order to overcome the defect that the existing technology cannot meet the transmission requirements of time-sensitive services when there are bottleneck links in multicast services, the present invention constructs a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, that is, combines the time-sensitive network and network coding to obtain a time-sensitive network coding network. Since network coding is introduced into the time-sensitive network coding network, the time-sensitive network coding network can compress the amount of data transmitted by the multicast data stream, reduce the difficulty of data stream planning and scheduling. At the same time, based on the time-sensitive network coding network, determine the gating list corresponding to the multicast data stream to be transmitted, and configure the switch based on the gating list, so that the switch controls the transmission of the multicast data stream to be transmitted according to the gating list, and uses the gating mechanism to ensure the deterministic transmission of data in the network.
[0075] Optionally, in the embodiments of the present invention, the encoding nodes and decoding nodes in the multicast data stream to be transmitted can be determined first, and then based on the encoding nodes and decoding nodes, a time-sensitive network coding network is constructed by combining the time-sensitive network and network coding.
[0076] It can be understood that since network coding can compress the amount of transmitted data, and the time-sensitive network can control the deterministic transmission of data streams through the gating mechanism, and the time-sensitive network coding network is obtained by combining the time-sensitive network and network coding, the time-sensitive network coding network can, on the one hand, improve the transmission capacity of the time-sensitive network, and on the other hand, control the encoding and decoding time of network coding based on the gating mechanism, which provides effective deterministic control for network coding; that is to say, the time-sensitive network coding network combines the advantages of the time-sensitive network and network coding, and can not only compress the amount of data transmitted by the multicast data stream, improve the transmission capacity of the time-sensitive network, but also ensure the deterministic transmission of data in the network.
[0077] It can be understood that by configuring the gating list to the switch, the switch controls the opening or closing of each output queue according to the gating list, so as to achieve the deterministic transmission of the multicast data stream to be transmitted.
[0078] The data transmission method provided by the present invention constructs a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, that is, combines the time-sensitive network and network coding to obtain a time-sensitive network coding network. Since network coding is introduced into the time-sensitive network coding network, the time-sensitive network coding network can compress the amount of data transmitted in the multicast data stream to be transmitted, reduce the difficulty of data stream planning and scheduling, and at the same time determine the gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network, and configure the switch based on the gating list, so that the switch controls the transmission of the multicast data stream to be transmitted according to the gating list, and uses the gating mechanism to ensure the deterministic transmission of data in the network.
[0079] Step 100 specifically includes:
[0080] Based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, determine the set of encodable data streams;
[0081] Perform encoding operations on the input data streams corresponding to the encoding nodes included in each data stream in the set of encodable data streams;
[0082] Perform decoding operations on the input data streams corresponding to the decoding nodes included in each data stream in the set of encodable data streams.
[0083] Optionally, the performing encoding operations on the input data streams corresponding to the encoding nodes included in each data stream in the set of encodable data streams includes:
[0084] Traverse the set of encodable data streams, determine the first input data streams respectively corresponding to the encoding nodes in the target data stream, and perform encoding operations on the first input data streams respectively corresponding to the encoding nodes in the target data stream;
[0085] The performing decoding operations on the input data streams corresponding to the decoding nodes included in each data stream in the set of encodable data streams includes:
[0086] Traverse the set of encodable data streams, determine the second input data streams respectively corresponding to the decoding nodes in the target data stream, and perform decoding operations on the second input data streams respectively corresponding to the decoding nodes in the target data stream;
[0087] Wherein, the target data stream is the data stream currently traversed in the set of encodable data streams.
[0088] Specifically, in the embodiments of the present invention, all encodable data streams included in the multicast data stream to be transmitted can be determined based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted. All these encodable data streams form an encodable data stream set. Then, the encodable data stream set is traversed to determine the target data stream in the traversed encodable data stream set, and the first input data streams respectively corresponding to the encoding nodes in the target data stream and the second input data streams respectively corresponding to the decoding nodes in the target data stream are determined. Further, encoding operations are performed on the first input data streams respectively corresponding to the encoding nodes in the target data stream, and decoding operations are performed on the second input data streams respectively corresponding to the decoding nodes in the target data stream, so as to complete the construction of the time-sensitive network coding network.
[0089] It can be understood that each data stream in the encodable data stream set can be subjected to an encoding operation.
[0090] The data transmission method provided by the present invention determines an encodable data stream set based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, performs encoding operations on the input data streams corresponding to the encoding nodes included in each data stream in the encodable data stream set, and performs decoding operations on the input data streams corresponding to the decoding nodes, thereby completing the construction of the time-sensitive network coding network. The time-sensitive network coding network can compress the transmission data volume of the multicast data stream, reduce the difficulty of data stream planning and scheduling, and ensure the deterministic transmission of data in the network.
[0091] Optionally, the performing encoding operations on the first input data streams respectively corresponding to the encoding nodes in the target data stream includes:
[0092] Traverse the encoding nodes in the target data stream, and perform encoding operations on the first input data streams with the same period corresponding to the target encoding node among the currently traversed encoding nodes based on the encoding matrix corresponding to the target encoding node.
[0093] The performing decoding operations on the second input data streams respectively corresponding to the decoding nodes in the target data stream includes:
[0094] Traverse the decoding nodes in the target data stream, and perform decoding operations on the second input data streams with the same period corresponding to the target decoding node among the currently traversed decoding nodes based on the decoding matrix corresponding to the target decoding node.
[0095] Specifically, in an embodiment of the present invention, all codable data streams included in the data stream to be multicast can be first determined based on the encoding nodes and decoding nodes in the data stream to be multicast, and all the codable data streams constitute a codable data stream set; then the codable data stream set is traversed to determine the target data stream in the traversed codable data stream set, and the first input data stream corresponding to each encoding node in the target data stream and the second input data stream corresponding to each decoding node in the target data stream are determined; further, each encoding node in the target data stream is traversed, and based on the encoding matrix corresponding to the target encoding node in each encoding node currently traversed, the first input data stream with the same period corresponding to the target encoding node is encoded; at the same time, each decoding node in the target data stream is traversed, and based on the decoding matrix corresponding to the target decoding node in each decoding node currently traversed, the second input data stream with the same period corresponding to the target decoding node is decoded, thereby completing the construction of the time-sensitive network coding network.
[0096] For example, the set of encodable data streams is , ,in Representation Node To Node data flow, assuming that This data stream includes 5 encoding nodes and 5 decoding nodes , traverse each encoding node and each decoding node respectively, assuming that the currently traversed encoding node is ,and The corresponding encoding matrix is , The corresponding first input data stream set is ,Will Divided by period, it can be divided into sets ,in The cycle is The data stream set is based on Can Perform encoding operation, that is ,in is based on Confirmed, that is, reserved The coefficients of the corresponding positions involved in the encoding are set to 0, and the coefficients of the corresponding positions not involved in the encoding are set to 0. Correspondingly, at the receiving node (assuming it is a decoding node ) decodes the corresponding coded stream, , similarly It is a decodable matrix corresponding to the data stream of the same period.
[0097] The data transmission method provided by the present invention determines a set of encodable data streams based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, and performs encoding operations on the input data streams with the same period corresponding to each encoding node included in each data stream in the set of encodable data streams, and performs decoding operations on the input data streams with the same period corresponding to each decoding node, so as to complete the construction of a time-sensitive network coding network. The time-sensitive network coding network can compress the amount of data transmitted by the multicast data stream to be transmitted, reduce the difficulty of data stream planning and scheduling, and can ensure the deterministic transmission of data in the network.
[0098] Optionally, determining a gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network includes:
[0099] Establishing constraint conditions for all data streams included in the time-sensitive network coding network;
[0100] Determining the gating list based on the constraint conditions.
[0101] Specifically, in the embodiments of the present invention, all data streams included in the time-sensitive network coding network can be first determined, and constraint conditions are established for all data streams, and then a gating list is generated based on the constraint conditions.
[0102] Optionally, the constraint conditions may include any one or more of the following:
[0103] (1) The transmission time offset of any packet included in all the data streams is within the target time range;
[0104] It can be understood that the transmission time offset of a packet is the offset of the packet in a period. Since the starting position of the packet should be within the period corresponding to the packet, the offset of the packet in a period should be greater than or equal to 0 and less than or equal to the difference between the period corresponding to the packet and the duration of the packet transmission, where the duration of the packet transmission is the survival time of the packet in the network.
[0105] (2) The packet lengths of the encoded packets included in the data streams with the same period are the same;
[0106] It can be understood that according to the linear coding rule, when encoding two or more packets, it is necessary to ensure that the longest packet is used as the encoding packet length, and the shorter packets are supplemented with padding data 0, so as to make the packet lengths of the packets the same.
[0107] (3)The sum of the transmission time, propagation delay, and synchronization accuracy of any one of the first data packets included in all the data streams described above is less than or equal to the transmission time offset of the second data packet, where the second data packet is the next data packet to be transmitted after the transmission of the first data packet;
[0108] It can be understood that during the data stream transmission process, it is necessary to ensure the in-order delivery along the routing path, that is, to ensure that a data packet can be forwarded and encoded only after it is completely received. Therefore, it is required that the sum of the transmission time, propagation delay, and synchronization accuracy of the complete data packets passing through a link is less than or equal to the start time of the subsequently received data packets.
[0109] (4)The maximum time difference between the encoded data packets included in the data streams with the same period arriving at the target node is less than the first preset duration;
[0110] Specifically, for any target node in the network, for the data packets that need to be encoded included in the data streams with the same period corresponding to it, they need to arrive at this node within a specified time range, then it can be restricted that the maximum time difference between the encoded data packets arriving at the target node is less than the first preset duration, where the first preset duration can be greater than or equal to 0 and less than or equal to the packet length of an encoded data packet. That is to say, the time difference of the encoded data packets arriving at the target node is restricted not to exceed the packet length of an encoded data packet.
[0111] (5)The transmission times of the encoded data packets included in the data streams with the same period do not overlap on multiple output data streams after encoding;
[0112] Specifically, in the case where the output stream of the encoded data packet includes multiple output data streams, the transmission times of the encoded data packet on these multiple output data streams do not overlap.
[0113] (6)The transmission times of the data packets included in the data streams with different periods do not overlap;
[0114] Specifically, the transmission times of the data packets in two data streams on a link cannot overlap.
[0115] (7)The transmission times of the data packets included in the same data stream do not overlap;
[0116] Specifically, the data packets within a data stream also need to meet the in-order delivery requirement. It can be understood that in-order delivery means that for the same sender and the same receiver, it is ensured that the data packet first sent by the sender to the physical link must be received by the receiver before the later sent data packet. Therefore, for the data packets from the same data stream entering the same node, they need to reach this node in sequence and there cannot be an overlap in time.
[0117] (8)The end-to-end delay of the same data stream is less than the second preset duration;
[0118] Specifically, the propagation delay of the same data stream from the sending end to the receiving end is constrained, that is, the propagation delay of the same data stream from the sending end to the receiving end is less than the second preset duration. Herein, the second preset duration can be adaptively set based on actual applications, and the embodiments of the present invention do not make specific limitations thereto.
[0119] (9) The transmission times of the data packets included in different data streams of the same queue do not overlap;
[0120] It can be understood that the non - overlapping of the transmission times of the data packets included in different data streams of the same queue can achieve the isolation of the data packets, and further enable different data streams to enter the same queue.
[0121] It can be understood that in the embodiments of the present invention, by constraining the sending time offset and the length of each data packet in the data stream, a gating list is generated. Furthermore, the switch can be enabled to control the encoding and decoding times of the data packets based on the gating list, overcoming the uncertainties of the existing time - sensitive network coding and the defect of buffer overhead, and reducing the engineering application difficulty of network coding.
[0122] Optionally, configuring the switch based on the gating list for the switch to control the transmission of the data stream to be multicast according to the gating list includes:
[0123] When it is determined that the switch receives the target data packet to be transmitted in the data stream to be multicast, controlling the switch to determine the encoding / decoding flag of the target data packet;
[0124] Controlling the switch to determine the type of the target data packet based on the encoding / decoding flag;
[0125] Controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list.
[0126] Specifically, when the switch receives the target data packet to be transmitted in the data stream to be multicast, it can determine the type of the target data packet based on the encoding / decoding flag carried by the target data packet, and then perform a transmission operation corresponding to its type on the target data packet based on the type of the target data packet and the gating list.
[0127] Optionally, in the embodiments of the present invention, the type of the target data packet may include: ordinary data packet, encoded data packet, and decoded data packet. Among them, the switch can perform different transmission operations for different types of data packets.
[0128] It is understandable that when the type of the target data packet is an ordinary data packet, the switch can control the output of the target data packet.
[0129] It is understandable that when the type of the target data packet is an encoded data packet, the switch can control the encoding time of the target data packet.
[0130] It is understandable that when the type of the target data packet is a decoded data packet, the switch can control the decoding time of the target data packet.
[0131] Therefore, the present invention can not only control the transmission of data packets in the multicast data stream to be transmitted through the gating list, but also control the encoding and decoding time of the data packets, so as to achieve the purpose of deterministic control of the network.
[0132] Optionally, the controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes:
[0133] When the switch determines that the type of the target data packet is an ordinary data packet, controlling the switch to determine the gating time slot corresponding to the target data packet based on the gating list;
[0134] Controlling the switch to output the target data packet within the gating time slot;
[0135] Wherein, the ordinary data packet is other data packets except the encoded data packet and the decoded data packet.
[0136] Specifically, when the switch determines that the type of the target data packet is an ordinary data packet, the switch determines the gating time slot corresponding to the target data packet based on the gating list, and transmits the target data packet within the gating time slot, so as to achieve the deterministic transmission of the ordinary data packet in the multicast data stream to be transmitted.
[0137] Optionally, when the switch determines that the type of the target data packet is an ordinary data packet, the switch can first put the target data packet into the corresponding queue according to the priority, and then transmit the target data packet within the corresponding gating time slot based on the traditional method.
[0138] Optionally, the controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes:
[0139] When the switch determines that the type of the target data packet is an encoded data packet, controlling the switch to linearly encode the target data packet with the encoded data packet corresponding to the data stream of the same period based on the gating list to obtain an encoded result data packet;
[0140] Control the switch to output the encoded result data packet.
[0141] Specifically, when the switch determines that the type of the target data packet is an encoded data packet, the switch controls the target data packet to perform linear encoding with the encoded data packet corresponding to the data stream in the same period, and obtains the encoded result data packet; then outputs the encoded result data packet to implement the deterministic encoding and transmission of the encoded data packet in the multicast data stream to be processed.
[0142] Optionally, after obtaining the encoded result data packet, the switch can put the encoded result data packet into the corresponding queue according to the priority, and then transmit the encoded result data packet based on the queue.
[0143] Optionally, after obtaining the encoded result data packet, the switch can create a new queue, and then transmit the encoded result data packet based on the newly created queue.
[0144] Optionally, the control of the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes:
[0145] When the switch determines that the type of the target data packet is a decoded data packet, control the switch to decode the target data packet based on the gating list and the received decoded data packet in the same period to obtain the decoded result data packet.
[0146] Specifically, when the switch determines that the type of the target data packet is a decoded data packet, indicating that the target data packet has been transmitted to the destination node, the switch only needs to decode the target data packet based on the gating list and the received decoded data packet in the same period to obtain the decoded result data packet, so as to implement the deterministic decoding of the decoded data packet in the multicast data stream to be processed.
[0147] The data transmission method provided by the present invention constructs a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be processed, that is, combines the time-sensitive network and network coding to obtain the time-sensitive network coding network. Since network coding is introduced into the time-sensitive network coding network, the time-sensitive network coding network can compress the transmission data volume of the multicast data stream to be processed, reduce the difficulty of data stream planning and scheduling, and at the same time determine the gating list corresponding to the multicast data stream to be processed based on the time-sensitive network coding network, and configure the switch based on the gating list, so that the switch controls the transmission of the multicast data stream to be processed according to the gating list, and uses the gating mechanism to ensure the deterministic transmission of data in the network.
[0148] The following details the data transmission method provided by the present invention through a specific embodiment, including:
[0149] Step 1, determine the directed network topology of network coding , where is the set of network nodes, is the set of network links.
[0150] Among them, the set of network nodes includes the set of source nodes , the set of intermediate nodes and the set of destination nodes , and includes the set of coding nodes and the set of non-coding nodes , that is , .
[0151] Step 2, define the multicast data stream from the source node to the set of destination nodes as , where represents the data stream from node to node , and this data stream passes through the intermediate node , represents the path from node to node . The tuple respectively represents the maximum allowable delay, data size, and data period of the data stream . Define the set of packets that make up the data stream as , where any packet in the set of packets is . Define the tuple to represent the time offset , period , and the transmission duration of a packet . Define the communication time slot as the greatest common divisor (gcd) of the data periods corresponding to all multicast data streams, that is:
[0152]
[0153] Step 3, define the set constituted by all data streams, that is . Count the data streams flowing through each node , where represents the set of data streams flowing into node , represents the set of data streams flowing out of node . and are both subsets of, if , then ; if , then , where the symbol represents the empty set.
[0154] Determine the encoding nodes and decoding nodes in all data streams, and construct a time-sensitive network coding network based on the encoding nodes and decoding nodes. Among them, the encoding matrix corresponding to each encoding node is , with a dimension of , , , , ; the decoding matrix of the decoding node . At the same time, there is a one-to-one correspondence between the data stream and the link, and characterize the relationship between the input edge set and the output edge set, ensuring that the data stream can obtain the data stream set after the following encoding operations:
[0155]
[0156] Among them, , , , , the symbol represents dot product. Finally, the decoding node can obtain the finally received data stream:
[0157]
[0158] Among them, is a subset of, represents the link connecting nodes and . For the same link, the output of node is the input of node .
[0159] Step 4, divide the data stream into non-overlapping subsets according to the period of the data stream. Let represent the data stream set with a period of , where . If , then . For the encoding node , its input data stream set is , further divided into sets according to the period , where . Determine the set of encodable data streams in combination with the encoding nodes and decoding nodes determined in step 3, that is, for the encoding nodes , its input data stream set is , further divided into sets according to the period , where . Then perform encoding operations on the input data streams of the same period, , where is based on determined, that is, retain the coefficients corresponding to the positions participating in the encoding, and set the coefficients corresponding to the positions not participating in the encoding to 0. Correspondingly, perform decoding on the corresponding encoded stream at the receiving node, , similarly is the decodable matrix corresponding to the data stream of the same period.
[0160] Step 5, establish the constraints of all data streams according to the above description of the data stream, and then obtain the gating list according to the constraint conditions or the transmission time offset of each data stream and each data packet corresponding to each node , and the data packet length.
[0161] Among them, the specific constraints on the data stream include:
[0162] (1) Constraints on data packets: The offset range of each data packet in a period, that is, the starting position of the packet within its period is greater than or equal to 0 and less than or equal to the period minus the duration of the data packet. The formula is as follows:
[0163]
[0164] (2) Constraints on encoded data packets: For the node , the set of output data streams after encoding the set of input data streams of the same period is . According to the rules of linear encoding, encoding two or more data packets requires ensuring that the longest data packet is used as the encoding packet length, and shorter data packets are supplemented by padding with data 0.
[0165] If represents the number of the node connecting the nodes is i , then:
[0166]
[0167] ,
[0168]
[0169] (3) Constraints on data stream transmission: During the stream transmission, the order must be preserved according to the routing path, ensuring that a data packet can only be forwarded and encoded after being completely received. The following formula indicates that the sum of the transmission time, propagation delay, and synchronization accuracy of a complete data packet passing through a link is less than or equal to the start time of the subsequently received data packet, where is the synchronization accuracy:
[0170]
[0171]
[0172]
[0173] (4) Constraints on the input of the encoded stream: For the data packets that need to be encoded in , they need to reach the node within the specified time range. Therefore, it requires a time boundary for reaching the node to constrain it:
[0174]
[0175] Among them, is preferably valued between 0 and , that is, the time difference between the received data packets is constrained not to exceed the length of a data packet.
[0176] (5) Constraints on the output of the encoded stream: Since , the total number of data streams decreases, and the total constraint variables of the encoded stream link will decrease accordingly. If , then:
[0177]
[0178] Among them, represents two different source data streams, represents the source data stream set with a period of .
[0179] If , it means that when the number of encoded data streams is greater than or equal to 2, when in the same period are encoded and output from the same link, they need to satisfy that the transmission times of their respective data packets do not overlap, that is:
[0180]
[0181] It is understandable that since the encoded data packets still need to be multicast to the destination nodes, it is simplest to have only one stream for the output of the encoded data packets for a certain link, that is .
[0182] (6) Constraints on data flow links: The role of network coding is to encode the overlapping data on the link, so as to save the bandwidth of the current link, and finally use the link or data redundancy to decode the data to achieve the purpose of real-time transmission. Define the least common multiple (lcm) of different flow periods as the super period . For data flows with different periods, it still adopts a non-overlapping transmission scheme, that is, the data packets in two data flows included in one link cannot overlap in time:
[0183]
[0184] (7) Order-preserving constraints on data packets: The data packets within a data flow need to meet the order-preserving requirements. For the data packets from the same data flow entering the same node, they need to reach the node in sequence and there cannot be an overlapping phenomenon in time:
[0185]
[0186] (8) End-to-end delay constraints of data flows: It represents the delay constraints of a data flow from the sending end to the receiving end, and the transmission time of the last data packet needs to be considered:
[0187]
[0188] (9) Isolation constraints on data packets: There is no time overlap between the data packets of different data flows in the same queue, and the data flow scheduled out of the queue at the same time is also unique. Packet isolation allows different data flows to enter the same queue. If represents the next-hop node connected to the output of node , then:
[0189]
[0190] Step 6, configure the switch according to the obtained gating list. The switch reads the period, size, and encoding / decoding flag of each incoming data packet and performs the following operations:
[0191] (1) If the encoding / decoding flag indicates that the incoming data packet is an ordinary data packet, put it into the corresponding queue according to the priority, and forward the data packet in the corresponding gating time slot in the traditional way;
[0192] (2) If the encoding / decoding flag indicates that the incoming data packet is an encoded data packet, linearly encode it with the data packets corresponding to the encoding stream set in the same period, and then put the encoding result into the corresponding queue.
[0193] (3) If the encoding / decoding flag indicates that the incoming data packet is a decoded data packet, which means the data packet has reached the destination node, then decode it according to the received packets in the same period to obtain the final data.
[0194] It can be understood that the above embodiments provide a method for time-sensitive network coding, which makes full use of the mutual promotion between time-sensitive networks and network coding. By constructing a time-sensitive network coding network, a first-order logic constraint model (constraint conditions of data streams), and solving the gating list based on the first-order logic constraint model, data stream planning and scheduling are finally realized through coding and gating. On the one hand, when the bottleneck link causes the data stream to be unschedulable, time-sensitive network coding (TSNC) can encode and decode the data streams in the same period to achieve the purpose of compressing the data bandwidth and reducing the scheduling difficulty. On the other hand, by using the gating mechanism to control the deterministic transmission and encoding / decoding moments of data in the network, TSNC can eliminate the uncertainty of encoding and control the cache overhead, reducing the engineering application difficulty of network coding.
[0195] The data transmission device provided by the present invention will be described below. The data transmission device described below can be correspondingly referred to the data transmission method described above.
[0196] Figure 2 is a schematic structural diagram of the data transmission device provided by the present invention, as Figure 2 shown, the device includes: a construction module 210, a determination module 220, and a configuration module 230; where:
[0197] The construction module 210 is used to construct a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted.
[0198] The determination module 220 is used to determine the gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network.
[0199] The configuration module 230 is used to configure the switch based on the gating list, so that the switch controls the transmission of the multicast data stream to be transmitted according to the gating list.
[0200] The construction module 210 is specifically used for:
[0201] Determine the encodable data stream set based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted.
[0202] Perform an encoding operation on the input data stream corresponding to each encoding node included in each data stream in the set of encodable data streams;
[0203] Perform a decoding operation on the input data stream corresponding to each decoding node included in each data stream in the set of encodable data streams.
[0204] The data transmission device provided by the present invention constructs a time-sensitive network coding network based on the encoding nodes and decoding nodes in the data stream to be multicast, that is, combines the time-sensitive network and network coding to obtain a time-sensitive network coding network. Since network coding is introduced into the time-sensitive network coding network, the time-sensitive network coding network can compress the amount of data transmitted by the data stream to be multicast, reduce the difficulty of data stream planning and scheduling, and at the same time determine the gating list corresponding to the data stream to be multicast based on the time-sensitive network coding network, and configure the switch based on the gating list, so that the switch controls the transmission of the data stream to be multicast according to the gating list, and uses the gating mechanism to ensure the deterministic transmission of data in the network.
[0205] Optionally, the construction module is specifically configured to:
[0206] Traverse the set of encodable data streams, determine the first input data stream corresponding to each encoding node in the target data stream, and perform an encoding operation on the first input data stream corresponding to each encoding node in the target data stream;
[0207] Traverse the set of encodable data streams, determine the second input data stream corresponding to each decoding node in the target data stream, and perform a decoding operation on the second input data stream corresponding to each decoding node in the target data stream;
[0208] Wherein, the target data stream is the data stream currently traversed in the set of encodable data streams.
[0209] Optionally, the construction module is further specifically configured to:
[0210] Traverse each encoding node in the target data stream, and perform an encoding operation on the first input data stream with the same period corresponding to the target encoding node based on the encoding matrix corresponding to the target encoding node among the currently traversed encoding nodes;
[0211] Traverse each decoding node in the target data stream, and perform a decoding operation on the second input data stream with the same period corresponding to the target decoding node based on the decoding matrix corresponding to the target decoding node among the currently traversed decoding nodes.
[0212] Optionally, the determination module is specifically configured to:
[0213] Establish constraint conditions for all data streams included in the time-sensitive network coding network;
[0214] Based on the constraint conditions, determine the gating list.
[0215] Optionally, the constraint conditions include any one or more of the following:
[0216] The transmission time offset of any packet included in all the data streams is within the target time range;
[0217] The packet lengths of the encoded packets included in data streams with the same period are consistent;
[0218] The sum of the transmission time, propagation delay, and synchronization accuracy of any first packet included in all the data streams is less than or equal to the transmission time offset of the second packet, where the second packet is the next packet to be transmitted after the first packet is transmitted;
[0219] The maximum time difference between the arrival times of the encoded packets included in data streams with the same period at the target node is less than the first preset duration;
[0220] The transmission times of the encoded packets included in data streams with the same period do not overlap on multiple output data streams after encoding;
[0221] The transmission times of the packets included in data streams with different periods do not overlap;
[0222] The transmission times of the packets included in the same data stream do not overlap;
[0223] The end-to-end delay of the same data stream is less than the second preset duration;
[0224] The transmission times of the packets included in different data streams in the same queue do not overlap.
[0225] Optionally, the configuration module is specifically configured to:
[0226] When it is determined that the switch receives the target packet to be transmitted in the multicast data stream to be transmitted, control the switch to determine the encoding / decoding flag of the target packet;
[0227] Control the switch to determine the type of the target packet based on the encoding / decoding flag;
[0228] Control the switch to perform a transmission operation corresponding to the type on the target packet based on the type of the target packet and the gating list.
[0229] Optionally, the configuration module is further configured to:
[0230] When the switch determines that the type of the target data packet is a normal data packet, control the switch to determine the gating time slot corresponding to the target data packet based on the gating list;
[0231] Control the switch to output the target data packet within the gating time slot;
[0232] Wherein, the normal data packet is other data packets except the encoded data packet and the decoded data packet.
[0233] Optionally, the configuration module is further configured to:
[0234] When the switch determines that the type of the target data packet is an encoded data packet, control the switch to perform linear encoding on the target data packet and the encoded data packet corresponding to the data stream in the same period based on the gating list to obtain an encoded result data packet;
[0235] Control the switch to output the encoded result data packet.
[0236] Optionally, the configuration module is further configured to:
[0237] When the switch determines that the type of the target data packet is a decoded data packet, control the switch to decode the target data packet based on the gating list and the received decoded data packet in the same period to obtain a decoded result data packet.
[0238] The data transmission device provided by the present invention constructs a time-sensitive network coding network based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, that is, combines the time-sensitive network and network coding to obtain a time-sensitive network coding network. Since network coding is introduced in the time-sensitive network coding network, the time-sensitive network coding network can compress the transmission data volume of the multicast data stream to be transmitted, reduce the difficulty of data stream planning and scheduling, and at the same time determine the gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network, and configure the switch based on the gating list, so that the switch controls the transmission of the multicast data stream to be transmitted according to the gating list, and uses the gating mechanism to ensure the deterministic transmission of data in the network.
[0239] It should be noted here that the above data transmission device provided by the embodiments of the present invention can implement all the method steps implemented by the above data transmission method embodiments, and can achieve the same technical effects. The same parts and beneficial effects as those in the method embodiments will not be specifically described in this embodiment.
[0240] Figure 3 is a schematic diagram of the physical structure of the electronic device provided by the present invention, as Figure 3As shown in the figure, the electronic device may include: a processor 310, a communications interface 320, a memory 330, and a communication bus 340. Among them, the processor 310, the communications interface 320, and the memory 330 communicate with each other through the communication bus 340. The processor 310 may call the logical instructions in the memory 330 to execute the data transmission method provided by each of the above methods. The method includes:
[0241] Based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, construct a time-sensitive network coding network;
[0242] Based on the time-sensitive network coding network, determine the gating list corresponding to the multicast data stream to be transmitted;
[0243] Configure a switch based on the gating list for the switch to control the transmission of the multicast data stream to be transmitted according to the gating list.
[0244] In addition, when the logical instructions in the above-mentioned memory 330 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 invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.
[0245] On the other hand, the present invention also provides a computer program product. The computer program product includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the data transmission method provided by each of the above methods. The method includes:
[0246] Based on the encoding nodes and decoding nodes in the multicast data stream to be transmitted, construct a time-sensitive network coding network;
[0247] Based on the time-sensitive network coding network, determine the gating list corresponding to the multicast data stream to be transmitted;
[0248] Configure a switch based on the gating list for the switch to control the transmission of the multicast data stream to be transmitted according to the gating list.
[0249] In another aspect, the present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it is configured to execute the data transmission methods provided above. The method includes:
[0250] Construct a time-sensitive network coding network based on the coding nodes and decoding nodes in the multicast data stream to be transmitted;
[0251] Determine a gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network;
[0252] Configure a switch based on the gating list for the switch to control the transmission of the multicast data stream to be transmitted according to the gating list.
[0253] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative efforts.
[0254] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the prior art can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disc, etc., and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0255] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A data transmission method, characterized in that, including: Construct a time-sensitive network coding network based on the coding nodes and decoding nodes in the multicast data stream to be transmitted; Determine a gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network; Configure a switch based on the gating list for the switch to control the transmission of the multicast data stream to be transmitted according to the gating list; The constructing a time-sensitive network coding network based on the coding nodes and decoding nodes in the multicast data stream to be transmitted includes: Determine a set of encodable data streams based on the coding nodes and decoding nodes in the multicast data stream to be transmitted; Perform an encoding operation on the input data streams corresponding to the respective coding nodes included in each data stream in the set of encodable data streams; Perform a decoding operation on the input data streams corresponding to the respective decoding nodes included in each data stream in the set of encodable data streams.
2. The data transmission method according to claim 1, wherein The performing an encoding operation on the input data streams corresponding to the respective coding nodes included in each data stream in the set of encodable data streams includes: Traverse the set of encodable data streams to determine the first input data streams respectively corresponding to the respective coding nodes in the target data stream, and perform an encoding operation on the first input data streams respectively corresponding to the respective coding nodes in the target data stream; The performing a decoding operation on the input data streams corresponding to the respective decoding nodes included in each data stream in the set of encodable data streams includes: Traverse the set of encodable data streams to determine the second input data streams respectively corresponding to the respective decoding nodes in the target data stream, and perform a decoding operation on the second input data streams respectively corresponding to the respective decoding nodes in the target data stream; wherein, the target data stream is the data stream currently traversed in the set of encodable data streams.
3. The data transmission method according to claim 2, wherein The performing an encoding operation on the first input data streams respectively corresponding to the respective coding nodes in the target data stream includes: Traverse the respective coding nodes in the target data stream, and perform an encoding operation on the first input data stream with the same period corresponding to the target coding node based on the coding matrix corresponding to the target coding node among the respective coding nodes currently traversed; The performing a decoding operation on the second input data streams respectively corresponding to the respective decoding nodes in the target data stream includes: Traverse the respective decoding nodes in the target data stream, and perform a decoding operation on the second input data stream with the same period corresponding to the target decoding node based on the decoding matrix corresponding to the target decoding node among the respective decoding nodes currently traversed.
4. The data transmission method according to claim 1, wherein The determining a gating list corresponding to the multicast data stream to be transmitted based on the time-sensitive network coding network includes: Establish constraint conditions for all data streams included in the time-sensitive network coding network; Determine the gating list based on the constraint conditions.
5. The data transmission method according to claim 4, characterized in that The constraint conditions include any one or more of the following: The transmission time offset of any one data packet included in all the data streams is within a target time range; The packet lengths of the encoded data packets included in the data streams with the same period are the same; The sum of the transmission time, propagation delay, and synchronization accuracy of any one of the first data packets included in all the data streams is less than or equal to the transmission time offset of the second data packet, where the second data packet is the next data packet transmitted after the transmission of the first data packet; The maximum time difference between the encoded data packets included in data streams with the same period arriving at the target node is less than a first preset duration; The transmission times of the encoded data packets included in data streams with the same period do not overlap on multiple output data streams after encoding; The transmission times of the data packets included in data streams with different periods do not overlap; The transmission times of the data packets included in the same data stream do not overlap; The end-to-end delay of the same data stream is less than a second preset duration; The transmission times of the data packets included in different data streams of the same queue do not overlap.
6. The data transmission method according to any one of claims 1-5, characterized in that, Configuring the switch based on the gating list for the switch to control the transmission of the data stream to be multicast according to the gating list includes: When it is determined that the switch receives the target data packet to be transmitted in the data stream to be multicast, controlling the switch to determine the encoding / decoding flag of the target data packet; Controlling the switch to determine the type of the target data packet based on the encoding / decoding flag; Controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list.
7. The data transmission method according to claim 6, wherein The controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes: When the switch determines that the type of the target data packet is an ordinary data packet, controlling the switch to determine the gating time slot corresponding to the target data packet based on the gating list; Controlling the switch to output the target data packet within the gating time slot; Wherein, the ordinary data packet is other data packets except the encoded data packet and the decoded data packet.
8. The data transmission method according to claim 6, characterized in that The controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes: When the switch determines that the type of the target data packet is an encoded data packet, controlling the switch to perform linear encoding on the target data packet and the encoded data packets corresponding to the data streams with the same period based on the gating list to obtain an encoded result data packet; Controlling the switch to output the encoded result data packet.
9. The data transmission method according to claim 6, characterized in that, The controlling the switch to perform a transmission operation corresponding to the type on the target data packet based on the type of the target data packet and the gating list includes: When the switch determines that the type of the target data packet is a decoded data packet, controlling the switch to decode the target data packet based on the gating list and the received decoded data packets with the same period to obtain a decoded result data packet.
10. A data transmission device, characterized in that, Includes: A construction module for constructing a time-sensitive network coding network based on the encoding nodes and decoding nodes in the data stream to be multicast; A determination module, configured to determine a gating list corresponding to the data stream to be multicast based on the time-sensitive network coding network; A configuration module, configured to configure a switch based on the gating list, so that the switch controls the transmission of the data stream to be multicast according to the gating list; The construction module is specifically configured to: Determine a set of encodable data streams based on the encoding nodes and decoding nodes in the data stream to be multicast; Perform an encoding operation on the input data streams corresponding to the encoding nodes included in each data stream in the set of encodable data streams; Perform a decoding operation on the input data streams corresponding to the decoding nodes included in each data stream in the set of encodable data streams.
11. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the program, the data transmission method according to any one of claims 1 to 9 is implemented.
12. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the data transmission method according to any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
Flexible configuration method and system for time-sensitive network
CN112702282A
Configuration method and device of time sensitive network and computer readable storage medium
CN114513404A