Data transmission method and apparatus, communication node, and storage medium

By adding a first identifier to the message to indicate insensitivity to out-of-order transmission, the second node performs packet-by-packet load sharing or backup path transmission, and the third node performs sorting or re-sorting, the problem of network load imbalance in FASP is solved and the data transmission efficiency and fairness are improved.

WO2025195328A1PCT designated stage Publication Date: 2025-09-25CHINA MOBILE COMM LTD RES INST +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/082936
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-22
Filing Date
2025-03-17
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

The existing Fast and Secure Transport Protocol (FASP) has inherent fairness issues in the network, resulting in unbalanced network load and failing to effectively improve fairness and transmission efficiency among traffic flows.

Method used

Adding a first identifier to the message indicates that the message is insensitive to disorder and is sent through the first node. The second node performs packet-by-packet load sharing or backup path transmission based on the identifier. The third node sorts or re-sorts the disordered messages to achieve special processing.

Benefits of technology

By performing special processing on messages that are not sensitive to out-of-order transmission, the load imbalance problem in the network is solved, and the efficiency and fairness of data transmission are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025082936_25092025_PF_FP_ABST
    Figure CN2025082936_25092025_PF_FP_ABST
Patent Text Reader

Abstract

The embodiments of the present application disclose a data transmission method and apparatus, a communication node, and a storage medium. The method comprises: a first node sending a first message, the first message comprising a first identifier, and the first identifier indicating that a message is order-insensitive.
Need to check novelty before this filing date? Find Prior Art

Description

Data transmission method, device, communication node and storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application is based on the Chinese patent application with application number 202410339572.6 and application date of March 22, 2024, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby incorporated into this application by introduction. Technical Field

[0003] The present application relates to the field of communication technology, and in particular to a data transmission method, device, communication node and storage medium. Background Art

[0004] As data delivery services grow in the future, traffic with behavior similar to the Fast and Secure Protocol (FASP) will increase. FASP decouples flow control from network packet loss, enabling high-speed file forwarding on the Internet. FASP lacks network-side integration, and the network currently treats all data equally (preserving order as much as possible by default). The increasing volume of this type of traffic will pose challenges to network forwarding. Because FASP inherently presents fairness issues, improving fairness across traffic while considering transmission performance and achieving better network load balancing is a pressing issue. Summary of the Invention

[0005] Embodiments of the present application provide a data transmission method, device, communication node, and storage medium.

[0006] The technical solution of the embodiment of the present application is implemented as follows:

[0007] In a first aspect, an embodiment of the present application provides a data transmission method, which is applied to a first node and includes: the first node sends a first message, the first message includes a first identifier, and the first identifier indicates that the message is insensitive to disorder.

[0008] In some optional embodiments of the present application, the first identifier also represents the service category (TOS, Type of Service), service level (CoS, Class of Service) or communication category (TC, Traffic Class) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0009] In some optional embodiments of the present application, the service class (TOS), service level (CoS) or communication class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0010] In some optional embodiments of the present application, before the first node sends the first message, the method further includes: the first node identifying the first message, adding the first identifier to the first message, or adding the first identifier and the second identifier to the first message.

[0011] In some optional embodiments of the present application, before the first node sends the first message, the method also includes: the first node sends first information to a third node serving as a receiving end, and / or the first node receives second information sent by the third node; the first information includes capability information of the first node, and the second information includes capability information of the third node; the capability information includes at least the capability to support out-of-order insensitive message transmission.

[0012] In a second aspect, an embodiment of the present application further provides a data transmission method, which is applied to a second node and includes: the second node receiving a first message;

[0013] When the first message includes a first identifier, the second node processes the first message according to packet-by-packet load balancing, or transmits the first message using a backup path; wherein the first identifier indicates that the message is insensitive to disorder.

[0014] In some optional embodiments of the present application, the first identifier also represents the service category (TOS), service level (CoS) or communication category (TC) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0015] In some optional embodiments of the present application, the service class (TOS), service level (CoS) or communication class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0016] In some optional embodiments of the present application, the method further includes: when the primary path is congested, the second node activates the backup path.

[0017] In some optional embodiments of the present application, the method further includes: when the first message does not include the first identifier, the second node processes the first message according to flow-by-flow load balancing, or transmits the first message using a primary path.

[0018] In some optional embodiments of the present application, the method further includes: the second node determining a discarding priority according to the first identifier of the first message, and performing congestion management according to the discarding priority.

[0019] In some optional embodiments of the present application, the method also includes: the second node adds a third identifier to the first message according to the discard priority; when the first message includes the first identifier, the value of the third identifier is a first numerical value, and the first numerical value indicates that the discard priority is the lowest, or indicates that the probability of the message being discarded is the highest.

[0020] In a third aspect, an embodiment of the present application further provides a data transmission method, which is applied to a third node, and includes: the third node receiving a first message;

[0021] When the first message includes a first identifier, the third node sorts or re-sorts the first message according to the message sequence number of the first message; the first identifier indicates that the message is insensitive to disorder.

[0022] In some optional embodiments of the present application, the first identifier also represents the service category (TOS), service level (CoS) or communication category (TC) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0023] In some optional embodiments of the present application, the service class (TOS), service level (CoS) or communication class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0024] In some optional embodiments of the present application, the method further includes: the third node determining a message sequence number of the lost message, and initiating a retransmission request for the lost message.

[0025] In a fourth aspect, an embodiment of the present application further provides a data transmission device, which is applied to a first node, and includes: a first communication unit, configured to send a first message, the first message including a first identifier, and the first identifier indicating that the message is insensitive to disorder.

[0026] In a fifth aspect, an embodiment of the present application further provides a data transmission device, which is applied to a second node and includes: a second communication unit and a second processing unit; wherein,

[0027] The second communication unit is configured to receive a first message;

[0028] The second processing unit is configured to process the first message according to packet-by-packet load balancing when the first message includes a first identifier, or to transmit the first message using a backup path; wherein the first identifier indicates that the message is insensitive to disorder.

[0029] In a sixth aspect, an embodiment of the present application further provides a data transmission device, which is applied to a third node and includes: a third communication unit and a third processing unit; wherein,

[0030] The third communication unit is configured to receive the first message;

[0031] The third processing unit is configured to, when the first message includes the first identifier, sort or re-sort the first message according to the message sequence number of the first message.

[0032] In the seventh aspect, the embodiments of the present application further provide a computer-readable storage medium on which a computer program is stored, which, when executed by a processor, implements the steps of the data transmission method described in the first aspect, the second aspect or the third aspect of the embodiments of the present application.

[0033] In the eighth aspect, an embodiment of the present application also provides a communication node, including a memory, a processor, and a computer program stored in the memory and runnable on the processor, wherein when the processor executes the program, the steps of the data transmission method described in the first aspect, the second aspect, or the third aspect of the embodiment of the present application are implemented.

[0034] In the ninth aspect, an embodiment of the present application further provides a computer program product, comprising computer program instructions, which enable a computer device to execute the steps of the data transmission method described in the first aspect, second aspect or third aspect of the embodiment of the present application.

[0035] The data transmission method, device, communication node and storage medium provided in the embodiment of the present application are as follows: a first message is sent through a first node, the first message includes a first identifier, and the first identifier indicates that the message is not sensitive to disorder; a second node receives the first message; when the first message includes the first identifier, the second node processes the first message according to packet-by-packet load sharing, or transmits the first message using a backup path; wherein the first identifier indicates that the message is not sensitive to disorder; the third node receives the first message; when the first message includes the first identifier, the third node sorts or re-sorts the first message according to the message sequence number of the first message. Using the technical solution of the embodiment of the present application, for messages that are not sensitive to disorder or messages that do not require strict order preservation, a first identifier is added to the message (recorded as the first message) to indicate through the first identifier that the message is not sensitive to disorder or does not require strict order preservation. Then, other nodes perform special processing after receiving these messages carrying the first identifier (for example, no longer trying to maintain order in transmission, performing packet-by-packet load sharing or backup path switching, etc.) to compensate for the fairness of traffic, and it is helpful to solve the problem of load imbalance in the network and improve data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] FIG1 is a flowchart of a data transmission method according to an embodiment of the present application;

[0037] FIG2 is a schematic diagram of the format of a message in the data transmission method according to an embodiment of the present application;

[0038] FIG3 is a second flow chart of the data transmission method according to an embodiment of the present application;

[0039] 4a and 4b are schematic diagrams of a message processing process in a data transmission method according to an embodiment of the present application;

[0040] FIG5 a is a schematic diagram of flow-by-flow load sharing in a data transmission method according to an embodiment of the present application;

[0041] FIG5 b is a schematic diagram of packet-by-packet load sharing in the data transmission method according to an embodiment of the present application;

[0042] FIG6 is a third flow chart of the data transmission method according to an embodiment of the present application;

[0043] FIG7 is a schematic diagram of an interactive process of a data transmission method according to an embodiment of the present application;

[0044] FIG8 is a first schematic diagram of the structure of a data transmission device according to an embodiment of the present application;

[0045] FIG9 is a second schematic diagram of the structure of the data transmission device according to an embodiment of the present application;

[0046] FIG10 is a third schematic diagram of the structure of the data transmission device according to an embodiment of the present application;

[0047] FIG11 is a schematic diagram of the hardware composition structure of the communication node according to an embodiment of the present application. DETAILED DESCRIPTION

[0048] The present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0049] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as: Global System of Mobile Communication (GSM) system, Long Term Evolution (LTE) system or 5G system. Optionally, the 5G system or 5G network can also be referred to as a New Radio (NR) system or NR network.

[0050] Exemplarily, the communication system applied in the embodiments of the present application may include a network device and a terminal device (also referred to as a terminal, a communication terminal, etc.); the network device may be a device that communicates with the terminal device. Among them, the network device can provide communication coverage within a certain area and can communicate with terminals located in the area. Optionally, the network device can be a base station in each communication system, such as an evolved base station (eNB, Evolutional Node B) in an LTE system, or a base station (gNB) in a 5G system or an NR system.

[0051] It should be understood that in the embodiments of the present application, devices having communication functions in the network / system may be referred to as communication devices. Communication devices may include network devices and terminals having communication functions. The network devices and terminal devices may be the specific devices described above and will not be described in detail here. Communication devices may also include other devices in the communication system, such as network controllers, mobility management entities, and other network entities, which are not limited in the embodiments of the present application.

[0052] It should be understood that the terms "system" and "network" are often used interchangeably herein. The term "and / or" is simply a description of an association between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " generally indicates that the related objects are in an "or" relationship.

[0053] The terms "first", "second" etc. in the specification and claims of the present application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable in appropriate circumstances, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "comprise" and "have" and any of their variations are intended to cover non-exclusive inclusions, for example, the process, method, system, product or equipment comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or that are inherent to these processes, methods, products or equipment.

[0054] Before describing the embodiments of the present application in detail, a brief description of the data transmission technology of the traditional technical solution is first given.

[0055] With the development of new internet scenarios and technologies such as high-definition video, cloud computing, big data, artificial intelligence, and large models, users often need to transmit large amounts of data across wide area networks (WANs). WAN environments are full of uncertainties. Microburst congestion, coupled with carrier traffic shaping policies, can lead to packet loss rates reaching as high as one in a thousand over long distances. Traditional congestion control algorithms use packet loss as a congestion signal and are unable to fully utilize bandwidth at even a one in a thousand packet loss rate.

[0056] The Transmission Control Protocol (TCP) was designed to decouple the transport layer from the application layer, meaning that all applications use the same TCP protocol. This greatly improves the versatility of TCP / IP, but its performance is limited, especially in large file transfer scenarios. To accommodate all services, TCP provides strict sequence forwarding, which is important for services requiring fast response times but not required by some applications, such as large file message forwarding.

[0057] The concept of FASP (such as Aspera software) is to decouple packet loss from flow control. The core technology lies in the design of the retransmission mechanism, which uses NACK (feedback of not received packets), while TCP uses feedback of received packets.

[0058] The main contents of FASP retransmission and flow control mechanism include:

[0059] Prerequisite: The receiving end continuously measures RTT N ,RTT P The former is used to sense network congestion, while the latter adds the processing delay of the sending end (that is, it considers both network delay and end-side delay of the sending end).

[0060] Retransmission: Once the receiving end detects packet loss, it does not immediately request retransmission, but waits for an RTTP time, then request retransmission, if still not received, wait for RTT P Request again until the lost message is received.

[0061] In terms of flow control, a message carrying RTT is sent every once in a while, for example, 10ms. N FASP uses packets to determine network conditions and decide whether to adjust the sending rate (packet loss does not trigger rate control). The specific flow control mechanism is very flexible, supporting externally configured rates, configurable fairness levels, and switching flow control policies based on network thresholds. However, FASP inherently requires greater aggressiveness than TCP (TCP packet loss triggers a significant rate reduction) to achieve higher throughput, which inherently poses fairness issues.

[0062] The FASP solution does not have any linkage with the network side. Currently, the network side treats all data equally (and tries to preserve order by default). Now that this type of traffic is increasing, it will pose a challenge to network forwarding.

[0063] At least based on this, the following embodiments of this application are proposed.

[0064] The embodiment of the present application provides a data transmission method. FIG1 is a flow chart of the data transmission method according to the embodiment of the present application; as shown in FIG1 , the method includes:

[0065] Step 101: A first node sends a first message, where the first message includes a first identifier, indicating that the message is insensitive to disorder.

[0066] In this embodiment, the first node is a sending end. In the data transmission system of the embodiment of the present application, a message may be sent by the first node, forwarded by one or more second nodes, and then arrive at a third node. In some optional embodiments, the first node may be referred to as a source node, etc.; the third node may be referred to as a target (or destination) node, etc. The second node may be referred to as an entry node, a head node, a tunnel source node, an intermediate node, a forwarding node, a routing node, an egress node, a tail node, a tunnel target (or destination) node, etc.

[0067] In this embodiment, considering that there may be a lot of traffic or messages with low real-time requirements in the network, a first identifier is added to the message (referred to as the first message) for messages that are not sensitive to out-of-order transmission or do not require strict order preservation. The first identifier indicates that the message is not sensitive to out-of-order transmission or does not require strict order preservation. Other nodes then perform special processing (such as no longer trying to preserve order when transmitting) after receiving these messages carrying the first identifier to compensate for traffic fairness issues, and help solve the problem of load imbalance in the network and improve data transmission efficiency.

[0068] In some optional embodiments, the first identifier also represents the service category (ToS, Type of Service), service level (CoS, Class of Service) or communication category (TC, Traffic Class) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0069] In some optional embodiments, the service class (TOS), service level (TOS) or communication class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0070] In this embodiment, a BE type message can be indicated by the message's service class, service level, or communication class. As one embodiment, the first identifier indicating insensitivity to out-of-order conditions and the identifier indicating the BE type can be combined into a single identifier. This single identifier (i.e., the first identifier) ​​can both indicate that the message is insensitive to out-of-order conditions and indicate the service class, service level, or communication class. As another embodiment, the first identifier indicating insensitivity to out-of-order conditions and the identifier indicating the BE type can be set separately, with the first identifier indicating that the message is insensitive to out-of-order conditions and the second identifier indicating the service class, service level, or communication class. For example, the second identifier can be represented by 000 in the message header, and a special bit can be used to represent the first identifier. The first and second identifiers can each occupy a bit in the message header. Taking the IP message header format shown in Figure 2 as an example, the flags field has three bits, characterized by bit 0 being a reserved bit and must be 0; bit 1 indicating whether fragmentation is permitted, with 0 indicating fragmentation is permitted and 1 indicating fragmentation is not permitted; and bit 2 indicating whether the message is the last fragment, with 0 indicating the last fragment and 1 indicating that more fragments are to come. In this example, bit 0 of the flags field can be used to identify the first identifier, indicating that strict order preservation is not required or the message is not sensitive to out-of-order transmission. For example, bit 0 being 1 indicates that strict order preservation is not required or the message is not sensitive to out-of-order transmission. As another example, a special User Datagram Protocol (UDP) destination port number can be used to represent the first identifier.

[0071] In some optional embodiments, before the first node sends the first message, the method further includes: the first node identifying the first message, adding the first identifier to the first message, or adding the first identifier and the second identifier to the first message.

[0072] In this embodiment, the first node may identify the message based on the application layer information to determine whether the message is sensitive to out-of-order transmission or whether strict order preservation is required. For example, the first node may determine whether the message is sensitive to out-of-order transmission or whether strict order preservation is required based on the service type to which the message belongs or the type of the message, and then add the first identifier to the first message, or add the first identifier and the second identifier to the first message, based on the identification result.

[0073] In some optional embodiments of the present application, before the first node sends the first message, the method also includes: the first node sends first information to a third node serving as a receiving end, and / or the first node receives second information sent by the third node; the first information includes capability information of the first node, and the second information includes capability information of the third node; the capability information includes at least the capability to support out-of-order insensitive message transmission.

[0074] In this embodiment, when a first node needs to send data (such as a large file), a connection is established between the sending and receiving ends. Specifically, the first and third nodes establish a connection. Capability information is exchanged between the first and third nodes to confirm that both nodes support out-of-order insensitive message transmission. It should be noted that enabling this capability requires both nodes (the first and third nodes) to support FASP or a similar mechanism.

[0075] Based on the above embodiments, the present invention provides a data transmission method. FIG3 is a second flow chart of the data transmission method according to the present invention. As shown in FIG3 , the method includes:

[0076] Step 201: The second node receives the first message;

[0077] Step 202: When the first message includes a first identifier, the second node processes the first message according to packet-by-packet load balancing, or transmits the first message using a backup path; wherein the first identifier indicates that the message is insensitive to disorder.

[0078] In this embodiment, the second node serves as an intermediate node and may receive the first message sent by the first node, or may receive the first message sent by other second nodes.

[0079] In this embodiment, the first message received by the second node may be insensitive to message out-of-order transmission. In this case, the first node identifies the first message and adds a first identifier to the first message. In other optional implementations, the first message may also be sensitive to message out-of-order transmission. In this case, the first message does not include the first identifier. After receiving the first message, the second node recognizes that the first message carries the first identifier, which triggers the second node to perform special processing, namely, processing the first message according to packet-by-packet load balancing, or transmitting the first message using an alternate path.

[0080] In some optional embodiments, the first identifier also represents the service category (TOS), service level (CoS) or communication category (TC) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0081] In some optional embodiments, the class of service (TOS), grade of service (CoS) or traffic class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0082] In this embodiment, a BE type message can be indicated by the message's service class, service level, or communication class. As one embodiment, the first identifier indicating insensitivity to out-of-order conditions and the identifier indicating the BE type can be combined into a single identifier. This single identifier (i.e., the first identifier) ​​can both indicate that the message is insensitive to out-of-order conditions and indicate the service class, service level, or communication class. As another embodiment, the first identifier indicating insensitivity to out-of-order conditions and the identifier indicating the BE type can be set separately, with the first identifier indicating that the message is insensitive to out-of-order conditions and the second identifier indicating the service class, service level, or communication class. For example, the second identifier can be represented by 000 in the message header, and a special bit can be used to represent the first identifier. The first and second identifiers can each occupy a bit in the message header. Taking the IP message header format shown in Figure 2 as an example, the flags field has three bits, characterized by bit 0 being a reserved bit and must be 0; bit 1 indicating whether fragmentation is permitted, with 0 indicating fragmentation is permitted and 1 indicating fragmentation is not permitted; and bit 2 indicating whether the message is the last fragment, with 0 indicating the last fragment and 1 indicating that more fragments are to come. In this example, bit 0 of the flags field can be used to identify the first identifier, indicating that strict order preservation is not required or that the message is not sensitive to out-of-order transmission. For example, bit 0 being 1 indicates that strict order preservation is not required or that the message is not sensitive to out-of-order transmission. As another example, a special UDP destination port number can be used to represent the first identifier.

[0083] In some optional embodiments, the method further includes: when the primary path is congested, the second node activates the backup path.

[0084] In this embodiment, after receiving the first message carrying the first identifier, if the primary path is congested, the second node activates the backup path and transmits the first message through the backup path.

[0085] In some optional embodiments of the present application, the method further includes: when the first message does not include the first identifier, the second node processes the first message according to flow-by-flow load balancing, or transmits the first message using a primary path.

[0086] In this embodiment, when the first message does not carry the first identifier, it indicates that the first message is sensitive to out-of-order transmission or requires strict order preservation. The second node processes the first message in a conventional manner, that is, processes the first message according to flow-by-flow load balancing, or transmits the first message using the primary path.

[0087] Figures 4a and 4b are schematic diagrams of the message processing process in the data transmission method of an embodiment of the present application; Figure 4a is for a load balancing (LB) forwarding scenario. In this scenario, when a message arrives at a forwarding device (such as a second node) to decide on an outbound interface, if there are equal-cost paths or links, it is determined whether the message carries a first identifier. If the message carries the first identifier, it indicates that the message is not sensitive to out-of-order or does not require strict order preservation, and can be carried out according to packet-by-packet load balancing; if the message does not carry the first identifier, it indicates that the message is sensitive to out-of-order or requires strict order preservation, and needs to be carried out according to flow-by-flow load balancing.

[0088] As shown in Figure 5a, packets arriving at node R3 may include packets from P2, P3, and P5, while packets arriving at node R4 may include packets from P1, P4, and P6. Using per-flow load balancing, packets arriving at node R3 and R4 are transmitted over different links. This ensures that packets are not out of order, but may result in poor load balancing.

[0089] As shown in Figure 5b, the messages arriving at node R3 also include P2, P3, and P5, and the messages arriving at node R4 also include P1, P4, and P6. If per-packet load balancing is used, load balancing is performed according to the data packet. This may result in messages with different destinations being transmitted on the same link, as shown in Figure 5b. For example, P1, P3, and P5 are transmitted via Link A, while P2, P4, and P6 are transmitted via Link B. In this case, messages may be out of order. For example, R1 may first send P1 via Link A and then P2 via Link B. If Link A is of poor quality, P4 may have already started transmitting after P2 has finished sending. It is even possible that R2 may receive P4 before P1, resulting in out of order messages.

[0090] Based on this, packets carrying the first identifier are processed using packet-by-packet load balancing (packet-by-packet load balancing), which may result in packet out-of-order conditions, as shown in Figure 5b. If packets do not carry the first identifier, indicating that the packets are sensitive to out-of-order conditions or require strict order preservation, flow-by-flow load balancing, as shown in Figure 5a, is still used to ensure that packets are not out-of-order.

[0091] Figure 4b illustrates a Tactical Traffic Engineering (TTE) forwarding scenario. In this scenario, when a message arrives at a forwarding device (such as a second node) to determine the outbound interface, a TTE-activated backup path is used to determine whether the message carries a first identifier. If the message carries the first identifier, it indicates that the message is not sensitive to out-of-order transmission or does not require strict order preservation. In this case, the message can be forwarded along the TTE-activated backup path. This may cause different messages in the same flow to be transmitted along different paths, potentially causing out-of-order transmission. If the message does not carry the first identifier, it indicates that the message is sensitive to out-of-order transmission or requires strict order preservation. In this case, the message will continue to be forwarded along the primary path to ensure that the message is not out-of-order.

[0092] In some optional embodiments of the present application, the method further includes: the second node determining a discarding priority according to the first identifier of the first message, and performing congestion management according to the discarding priority.

[0093] In traditional implementations, there are currently three drop priority levels, marked as red, yellow, and green. Green has the highest drop probability, followed by yellow, and red has the lowest drop probability. In the embodiment of the present application, the drop priority is determined based on the first identifier of the first message. The drop priority associated with the first identifier may specifically be the drop priority with the highest drop probability.

[0094] As an example, based on the three existing discard priorities, a new color can be added to correspond to the discard priority, such as blue, which represents the discard priority with the highest discard probability. The message marked with the blue discard priority is the message with the highest discard probability, or the message most easily discarded.

[0095] As another example, based on the three existing discard priorities, the discard priority corresponding to the first identifier in the embodiment of the present application is adjusted to green, indicating the discard priority with the highest discard probability. The message marked with the green discard priority is the message with the highest discard probability, or the message that is most easily discarded; the traditional green and yellow discard priorities are unified into a yellow discard priority, and the three discard priorities are still maintained overall.

[0096] In some optional embodiments, the method also includes: the second node adds a third identifier to the first message according to the discard priority; when the first message includes the first identifier, the value of the third identifier is a first numerical value, and the first numerical value indicates that the discard priority is the lowest, or indicates that the probability of the message being discarded is the highest.

[0097] In this embodiment, in the first embodiment described above, i.e., with four drop priority levels, the third flag is set to the first value, which may indicate a blue drop priority level, i.e., the drop priority level with the highest drop probability. In the second embodiment described above, i.e., with three drop priority levels, the third flag is set to the first value, which may indicate a green drop priority level, i.e., the drop priority level with the highest drop probability.

[0098] In this embodiment, the second node performs congestion avoidance based on the value of the third identifier in the first message (such as the first value or color). For example, if congestion occurs, the message with the third identifier set to the first value may be appropriately discarded to avoid congestion.

[0099] In some optional embodiments, the method further includes: the second node mapping a Quality of Service (QoS) priority of the first message to a Service Class; and performing congestion management according to the Service Class. In other optional embodiments, the second node further maps the Service Class to a QoS priority, so that subsequent nodes can provide corresponding Quality of Service based on the QoS priority.

[0100] In this embodiment, different messages may correspond to different QoS priorities. For example, VLAN messages use 802.1p, IP messages use DSCP, and MPLS messages use EXP or CoS (Class of Service). In order to ensure the quality of service of different messages, when the message enters the second node, the second node needs to uniformly map the QoS priority carried by the message to the service class (or scheduling priority PHB) inside the device, and determine the discard priority (or color) based on the first identifier carried by the message. Inside the device, congestion management is performed based on the service class of the message, and congestion avoidance is performed based on the color of the message. When the message leaves the device, the internal service class and color need to be mapped to the QoS priority so that subsequent network devices can provide corresponding service quality based on the QoS priority.

[0101] Based on the above embodiments, the present invention provides a data transmission method. FIG6 is a flow chart of the data transmission method according to the present invention; as shown in FIG6 , the method includes:

[0102] Step 301: The third node receives the first message;

[0103] Step 302: When the first message includes a first identifier, the third node sorts or re-sorts the first message according to the message sequence number of the first message; the first identifier indicates that the message is insensitive to disorder.

[0104] In this embodiment, a third node, acting as a receiving node, receives a first message sent by a second node. If the first message carries a first identifier, the second node may employ per-packet load balancing or transmit the first message via a backup path when processing the first message. Consequently, the first message received by the third node may be out of order. Upon receiving the first message carrying the first identifier, the third node sorts or reorders the first message according to its sequence number.

[0105] In some optional embodiments, the first identifier also represents the service category (TOS), service level (CoS) or communication category (TC) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0106] In some optional embodiments, the class of service (TOS), grade of service (CoS) or traffic class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0107] In this embodiment, a BE type message can be indicated by the message's service class, service level, or communication class. As one embodiment, the first identifier indicating insensitivity to out-of-order conditions and the identifier indicating the BE type can be combined into a single identifier. This single identifier (i.e., the first identifier) ​​can both indicate that the message is insensitive to out-of-order conditions and indicate the service class, service level, or communication class. As another embodiment, the first identifier indicating insensitivity to out-of-order conditions and the identifier indicating the BE type can be set separately, with the first identifier indicating that the message is insensitive to out-of-order conditions and the second identifier indicating the service class, service level, or communication class. For example, the second identifier can be represented by 000 in the message header, and a special bit can be used to represent the first identifier. The first and second identifiers can each occupy a bit in the message header. Taking the IP message header format shown in Figure 2 as an example, the flags field has three bits, characterized by bit 0 being a reserved bit and must be 0; bit 1 indicating whether fragmentation is permitted, with 0 indicating fragmentation is permitted and 1 indicating fragmentation is not permitted; and bit 2 indicating whether the message is the last fragment, with 0 indicating the last fragment and 1 indicating that more fragments are to come. In this example, bit 0 of the flags field can be used to identify the first identifier, indicating that strict order preservation is not required or that the message is not sensitive to out-of-order transmission. For example, bit 0 being 1 indicates that strict order preservation is not required or that the message is not sensitive to out-of-order transmission. As another example, a special UDP destination port number can be used to represent the first identifier.

[0108] In some optional embodiments of the present application, before the third node receives the first message, the method also includes: the third node receives the first information sent by the first node as the sending end, and / or the third node sends the second information to the first node; the first information includes the capability information of the first node, and the second information includes the capability information of the third node; the capability information at least includes the capability to support out-of-order insensitive message transmission.

[0109] In this embodiment, when a first node needs to send data (such as a large file), a connection is established between the sending and receiving ends. Specifically, the first and third nodes establish a connection. Capability information is exchanged between the first and third nodes to confirm that both nodes support out-of-order insensitive message transmission. It should be noted that enabling this capability requires both nodes (the first and third nodes) to support FASP or a similar mechanism.

[0110] In some optional embodiments of the present application, the method further includes: the third node determining a message sequence number of the lost message, and initiating a retransmission request for the lost message.

[0111] FIG7 is a schematic diagram of an interactive flow of a data transmission method according to an embodiment of the present application. As shown in FIG7 , the method includes:

[0112] Step 401: a first node as a transmitting end and a third node as a receiving end exchange capability information, wherein the capability information at least includes a capability of supporting out-of-order insensitive message transmission.

[0113] Here, the first node sends its capability information to the third node, and the third node sends its capability information to the first node, thereby confirming that both nodes support out-of-order insensitive message transmission. It should be noted that both nodes (the first and third nodes) must support FASP or similar mechanisms to enable the relevant capabilities.

[0114] Step 402: The first node adds a first identifier to a first message and sends the first message; the first identifier indicates that the message is not sensitive to disorder.

[0115] Here, in some optional embodiments, the first identifier further represents the service category (TOS), service level (CoS) or communication category (TC) of the message. In other optional embodiments, the first node may further add a second identifier to the first message, wherein the second identifier further represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0116] Here, exemplarily, when the first node determines that there is a data express service to transmit a large file, the first node starts the UDP protocol and sends a UDP message (i.e., the first message) of the large file at a negotiated rate or a preconfigured rate; wherein the message carries a sequence number for identifying the order of the messages.

[0117] Step 403: The second node receives the first message; if the first message carries a first identifier, the first message is processed according to packet-by-packet load sharing, or the first message is transmitted using a backup path; wherein the first identifier indicates that the message is insensitive to disorder.

[0118] Here, the first message received by the second node may be insensitive to message out-of-order transmission or sensitive to message out-of-order transmission. The second node then identifies the first message and, if it determines that the first message carries the first identifier, determines that the message is insensitive to message out-of-order transmission. This triggers the second node to perform special processing, namely, processing the first message according to packet-by-packet load balancing or transmitting the first message using a backup path.

[0119] In other optional embodiments, when the first message does not carry the first identifier, indicating that the first message is sensitive to out-of-order transmission or requires strict order preservation, the second node processes the first message in a conventional manner, i.e., processes the first message according to flow-by-flow load balancing, or transmits the first message using the primary path.

[0120] It should be noted that this example and the figure use one second node as an example for description. In actual application, there may be multiple second nodes, and each second node can be processed in the manner of step 403, which will not be repeated here.

[0121] Step 404: The third node receives the first message, and when the first message includes the first identifier, sorts or re-sorts the first message according to the message sequence number of the first message.

[0122] Here, the third node, acting as a receiving node, receives the first message sent by the second node. If the first message carries the first identifier, the second node may employ per-packet load balancing or transmit the first message via a backup path when processing the first message. Consequently, the first message received by the third node may be out of order. Upon receiving the first message carrying the first identifier, the third node sorts or reorders the first message according to its sequence number.

[0123] In other optional embodiments, the method further includes: the third node determining a message sequence number of the lost message, and initiating a retransmission request for the lost message.

[0124] Adopting the technical solution of the embodiment of the present application, on the one hand, by marking the messages that are not sensitive to disorder (adding the first identifier), the second node performs special processing on the messages carrying the first identifier, such as no longer trying to maintain order transmission, performing operations such as packet-by-packet load sharing or backup path switching, or marking a specific drop priority, which is relatively more likely to be lost, to make up for the fairness problem of traffic. On the other hand, according to the traditional flow-by-flow load balancing processing, elephant flows sometimes enter the same link, which will cause load imbalance; and adopting the technical solution of the embodiment of the present application, for the messages carrying the first identifier, triggering packet-by-packet load sharing, can alleviate the problem of elephant flows being inseparable and load imbalance to a certain extent. On the third hand, according to the traditional mechanism, turning on TTE in the network requires adjusting the path of the flow, which may cause poor application experience due to disorder, or not enabling TTE leads to local congestion in the network, while other links may still have bandwidth remaining; and adopting the technical solution of the embodiment of the present application, for the messages carrying the first identifier, a backup link switching can be adopted, which will not cause the above problems to a certain extent.

[0125] Based on the above embodiments, embodiments of the present application further provide a data transmission device, which is applied to a first node. Figure 8 is a schematic diagram of the first structure of the data transmission device according to an embodiment of the present application. As shown in Figure 8, the device includes: a first communication unit 11 configured to send a first message, wherein the first message includes a first identifier, which indicates that the message is not sensitive to out-of-order transmission.

[0126] In some optional embodiments of the present application, the first identifier also represents the service category (ToS), service level (CoS) or communication category (TC) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0127] In some optional embodiments of the present application, the service class (TOS), service level (CoS) or communication class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0128] In some optional embodiments of the present application, the apparatus further includes a first processing unit 12 configured to identify the first message, add the first identifier to the first message, or add the first identifier and the second identifier to the first message.

[0129] In some optional embodiments of the present application, the first communication unit 11 is further configured to send first information to a third node serving as a receiving end, and / or receive second information sent by the third node; the first information includes capability information of the first node, and the second information includes capability information of the third node; the capability information at least includes the capability to support out-of-order insensitive message transmission.

[0130] In an embodiment of the present application, the first processing unit 12 in the device can be implemented by a central processing unit (CPU), a digital signal processor (DSP), a microcontroller unit (MCU) or a programmable gate array (FPGA) in actual applications; the first communication unit 11 in the device can be implemented by a communication module (including: basic communication kit, operating system, communication module, standardized interface and protocol, etc.) and a transceiver antenna in actual applications.

[0131] The embodiment of the present application also provides a data transmission device, which is applied to a second node. FIG9 is a second structural diagram of the data transmission device of the embodiment of the present application; As shown in FIG9 , the device includes: the device includes: a second communication unit 21 and a second processing unit 22; wherein,

[0132] The second communication unit 21 is configured to receive a first message;

[0133] The second processing unit 22 is configured to process the first message according to packet-by-packet load balancing when the first message includes a first identifier, or to transmit the first message using a backup path; wherein the first identifier indicates that the message is insensitive to disorder.

[0134] In some optional embodiments of the present application, the first identifier also represents the service category (ToS), service level (CoS) or communication category (TC) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0135] In some optional embodiments of the present application, the service class (TOS), service level (CoS) or communication class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0136] In some optional embodiments of the present application, the second processing unit 22 is further configured to activate the backup path when the primary path is congested.

[0137] In some optional embodiments of the present application, the second processing unit 22 is further configured to process the first message according to flow-by-flow load balancing when the first message does not include the first identifier, or to transmit the first message using the primary path.

[0138] In some optional embodiments of the present application, the second processing unit 22 is further configured to determine a discarding priority according to the first identifier of the first message, and perform congestion management according to the discarding priority.

[0139] In some optional embodiments of the present application, the second processing unit 22 is further configured to add a third identifier to the first message according to the discard priority; when the first message includes the first identifier, the value of the third identifier is a first numerical value, and the first numerical value indicates that the discard priority is the lowest, or indicates that the probability of the message being discarded is the highest.

[0140] In an embodiment of the present application, the second processing unit 22 in the device can be implemented by a CPU, DSP, MCU or FPGA in actual applications; the second communication unit 21 in the device can be implemented by a communication module (including: basic communication kit, operating system, communication module, standardized interface and protocol, etc.) and a transceiver antenna in actual applications.

[0141] The embodiment of the present application also provides a data transmission device, which is applied to a third node. Figure 10 is a schematic diagram of the third structure of the data transmission device of the embodiment of the present application; As shown in Figure 10, the device includes: the device includes: a third communication unit 31 and a third processing unit 32; wherein,

[0142] The third communication unit 31 is configured to receive a first message;

[0143] The third processing unit 32 is configured to sort or re-sort the first messages according to the message sequence numbers of the first messages when the first messages include the first identifier.

[0144] In some optional embodiments of the present application, the first identifier also represents the service category (ToS), service level (CoS) or communication category (TC) of the message; or, the first message also includes a second identifier, and the second identifier represents the service category (TOS), service level (CoS) or communication category (TC) of the message.

[0145] In some optional embodiments of the present application, the service class (TOS), service level (CoS) or communication class (TC) of the message is used to indicate that the type of the message is a best effort (BE) type message.

[0146] In some optional embodiments of the present application, the third processing unit 32 is further configured to determine a message sequence number of a lost message and initiate a retransmission request for the lost message.

[0147] In an embodiment of the present application, the third processing unit 32 in the device can be implemented by a CPU, DSP, MCU or FPGA in actual applications; the third communication unit 31 in the device can be implemented by a communication module (including: basic communication kit, operating system, communication module, standardized interface and protocol, etc.) and a transceiver antenna in actual applications.

[0148] It should be noted that the data transmission device provided in the above embodiment is only illustrated by the division of the above-mentioned program modules when performing data transmission. In actual applications, the above-mentioned processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the above-mentioned processing. In addition, the data transmission device provided in the above embodiment and the data transmission method embodiment are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0149] The present application also provides a communication node, which is a first node, a second node, or a third node. Figure 11 is a schematic diagram of the hardware structure of the communication node of the present application embodiment. As shown in Figure 11, the communication node includes a memory 42, a processor 41, and a computer program stored in the memory 42 and executable on the processor 41. When the processor 41 executes the program, the steps of the data transmission method applied to the first node, the second node, or the third node in the present application embodiment are implemented.

[0150] Optionally, the communication node may further include at least one network interface 43. The various components within the communication node are coupled together via a bus system 44. It will be appreciated that bus system 44 is used to enable connectivity and communication between these components. In addition to a data bus, bus system 44 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in FIG11 , all of these buses are labeled as bus system 44.

[0151] It is understood that the memory 42 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a magnetic disk memory or a magnetic tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus random access memory (DRRAM).The memory 42 described in the embodiments of the present application is intended to include, but is not limited to, these and any other suitable types of memory.

[0152] The methods disclosed in the above embodiments of the present application can be applied to or implemented by the processor 41. The processor 41 may be an integrated circuit chip with signal processing capabilities. During implementation, the steps of the above methods can be completed by hardware integrated logic circuits in the processor 41 or by instructions in the form of software. The above processor 41 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 41 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of the present application can be directly implemented as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the memory 42. The processor 41 reads the information in the memory 42 and completes the steps of the above methods in combination with its hardware.

[0153] In an exemplary embodiment, the communication node may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), FPGAs, general-purpose processors, controllers, MCUs, microprocessors, or other electronic components to perform the aforementioned method.

[0154] In an exemplary embodiment, the present application also provides a computer-readable storage medium, such as a memory 42 including a computer program. The computer program can be executed by a processor 41 of a communication node to perform the steps of the aforementioned method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface mount storage, optical disk, or CD-ROM; or various devices including any one or any combination of the aforementioned memories.

[0155] The computer-readable storage medium provided in the embodiment of the present application stores a computer program thereon, which, when executed by a processor, implements the steps of the data transmission method applied in the first node, the second node or the third node in the embodiment of the present application.

[0156] An embodiment of the present application further provides a computer program product, including a computer program, which can be executed by a communication node (such as the processor 41 of the communication node) to complete the steps of any of the aforementioned data transmission methods.

[0157] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0158] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0159] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0160] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. 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 can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0161] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0162] In addition, all functional units in the embodiments of the present application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the above-mentioned integrated units can be implemented in the form of hardware or in the form of hardware plus software functional units.

[0163] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: mobile storage devices, ROM, RAM, disks or optical disks, etc. Various media that can store program codes.

[0164] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, magnetic disks or optical disks.

[0165] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A data transmission method, applied to a first node, comprising: The first node sends a first message, where the first message includes a first identifier, and the first identifier indicates that the message is insensitive to disorder.

2. The method according to claim 1, wherein The first identifier further indicates the service category TOS, service level CoS or communication category TC of the message; or, The first message also includes a second identifier, which indicates the service category TOS, service level CoS or communication category TC of the message.

3. The method according to claim 2, wherein: The service category TOS, service level CoS or communication category TC of the message is used to indicate that the type of the message is a best effort BE type message.

4. The method according to claim 2, wherein: Before the first node sends the first message, the method further includes: The first node identifies the first message, and adds the first identifier to the first message, or adds the first identifier and the second identifier to the first message.

5. The method according to claim 1, wherein Before the first node sends the first message, the method further includes: The first node sends first information to a third node serving as a receiving end, and / or the first node receives second information sent by the third node; the first information includes capability information of the first node, and the second information includes capability information of the third node; the capability information at least includes the capability to support out-of-order insensitive message transmission.

6. A data transmission method, applied to a second node, comprising: The second node receives the first message; When the first message includes a first identifier, the second node processes the first message according to packet-by-packet load balancing, or transmits the first message using a backup path; wherein the first identifier indicates that the message is insensitive to disorder.

7. The method according to claim 6, wherein: The first identifier further indicates the service category TOS, service level CoS or communication category TC of the message; or, The first message also includes a second identifier, which indicates the service category TOS, service level CoS or communication category TC of the message.

8. The method according to claim 7, wherein: The service category TOS, service level CoS or communication category TC of the message is used to indicate that the type of the message is a best effort BE type message.

9. The method according to claim 6, wherein: The method further comprises: The second node activates the backup path when the primary path is congested.

10. The method according to claim 6, wherein: The method further comprises: When the first message does not include the first identifier, the second node processes the first message according to flow-by-flow load balancing, or transmits the first message using a primary path.

11. The method according to claim 6, wherein: The method further comprises: The second node determines a discarding priority according to the first identifier of the first message, and performs congestion management according to the discarding priority.

12. The method according to claim 11, wherein The method further comprises: The second node adds a third identifier to the first message according to the discard priority; when the first message includes the first identifier, the value of the third identifier is a first numerical value, and the first numerical value indicates that the discard priority is the lowest, or indicates that the probability of the message being discarded is the highest.

13. A data transmission method, applied to a third node, comprising: The third node receives the first message; When the first message includes a first identifier, the third node sorts or re-sorts the first message according to the message sequence number of the first message; the first identifier indicates that the message is insensitive to disorder.

14. The method according to claim 13, wherein The first identifier further indicates the service category TOS, service level CoS or communication category TC of the message; or, The first message also includes a second identifier, which indicates the service category TOS, service level CoS or communication category TC of the message.

15. The method according to claim 14, wherein The service category TOS, service level CoS or communication category TC of the message is used to indicate that the type of the message is a best effort BE type message.

16. The method according to claim 13, wherein: The method further comprises: The third node determines the message sequence number of the lost message and initiates a retransmission request for the lost message.

17. A data transmission device, applied to a first node, comprising: The first communication unit is configured to send a first message, where the first message includes a first identifier, and the first identifier indicates that the message is insensitive to disorder.

18. A data transmission device, applied to a second node, comprising: A second communication unit and a second processing unit; wherein, The second communication unit is configured to receive a first message; The second processing unit is configured to process the first message according to packet-by-packet load balancing when the first message includes a first identifier, or to transmit the first message using a backup path; wherein the first identifier indicates that the message is insensitive to disorder.

19. A data transmission device, applied to a third node, comprising: The third communication unit and the second processing unit; wherein, The third communication unit is configured to receive the first message; The third processing unit is configured to, when the first message includes the first identifier, sort or re-sort the first message according to the message sequence number of the first message.

20. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 5; or When the program is executed by a processor, the steps of the method according to any one of claims 6 to 12 are implemented; or When the program is executed by a processor, the steps of the method according to any one of claims 13 to 16 are implemented.

21. A communication node comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of the method according to any one of claims 1 to 5 are implemented; or When the processor executes the program, the steps of the method according to any one of claims 6 to 12 are implemented; or When the processor executes the program, the steps of the method according to any one of claims 13 to 16 are implemented.

22. A computer program product comprising computer program instructions, the computer program instructions causing a computer device to execute the steps of the method according to any one of claims 1 to 5; or The computer program instructions cause the communication device to execute the steps of the method according to any one of claims 6 to 12; or The computer program instructions cause the communication device to execute the steps of the method according to any one of claims 13 to 16.

Citation Information

Patent Citations

  • Dynamically changed transmission message processing method and device

    CN104618253A

  • Message forwarding method and device

    CN110798400A

  • Method and device for load balancing and message reordering in network

    CN112753198A

  • Data transmission method and device, communication node and storage medium

    CN118827534A

  • Data transmission method and apparatus

    WO2022052882A1