CN117714378A - Data transmission method, device, node and system - Google Patents
Data transmission method, device, node and system Download PDFInfo
- Publication number
- CN117714378A CN117714378A CN202211099715.8A CN202211099715A CN117714378A CN 117714378 A CN117714378 A CN 117714378A CN 202211099715 A CN202211099715 A CN 202211099715A CN 117714378 A CN117714378 A CN 117714378A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- node
- data transmission
- intermediate node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 286
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000004891 communication Methods 0.000 claims abstract description 65
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 241000238633 Odonata Species 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present invention relates to the field of communications technologies, and in particular, to a data transmission method, device, node, and system. The method comprises the following steps: the source node sends a first data stream to the intermediate node, wherein the first data stream comprises a first message set and a second message set; the first message set comprises at least one first data message which is adjacent in sequence, and the second message set comprises at least one second data message which is adjacent in sequence; wherein, the data volume of the first message set is smaller than the data volume of the second message set; the intermediate node sends a first message set to a target node according to a first data transmission method; the intermediate node sends a second message set to the target node according to a second data transmission method; the load balancing strategy of the first data transmission mode is different from the load balancing strategy of the second data transmission mode, or the transmission path of the first data transmission mode is different from the transmission path of the second data transmission mode. The method can avoid or reduce congestion.
Description
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data transmission method, device, node, and system.
Background
In the field of data communication, load balancing refers to that a communication device distributes data to a certain output port according to the data amount of the data received by an input port, and sends the data downstream through the output port. The purpose of load balancing is to balance the load of the individual data transmission paths to avoid or reduce the occurrence of congestion.
Currently, the load balancing schemes mainly include flow-by-flow load balancing with data flow (flow) as granularity, flow-by-flow load balancing with sub-flow (flow) as granularity, and packet-by-packet load balancing with data packet (packet) as granularity.
As described above, when load balancing is performed, the communication device distributes data received by the input port to one of the output ports according to the data amount of the data. For the schemes of stream-by-stream load balancing and sub-stream load balancing, the communication device selects an output port according to the data amount of a previous data message in the stream or sub-stream, and a subsequent data message follows the previous data message and is transmitted downstream from the selected output port. If the data amount of the data message in front of the flow or the sub-flow is smaller, the output port selected by the communication device for the flow or the sub-flow may be suitable for only the data message with smaller data amount, but not suitable for the data message with larger data amount. In this way, unnecessary congestion may occur in the case where the data amount of the data packet preceding the flow or sub-flow is small and the data amount of the data packet following the flow is large.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a data transmission device, a data transmission node and a data transmission system, which can avoid or reduce congestion.
In a first aspect, a data transmission method is provided, applied to a network system, where the network system includes a source node, an intermediate node, and a target node, and the method includes: the source node sends a first data stream to the intermediate node, wherein the first data stream comprises a first message set and a second message set; the first message set comprises at least one first data message which is adjacent in sequence, and the second message set comprises at least one second data message which is adjacent in sequence; wherein, the data volume of the first message set is smaller than the data volume of the second message set; the intermediate node sends a first message set to a target node according to a first data transmission method; the intermediate node sends a second message set to the target node according to a second data transmission method; the load balancing strategy of the first data transmission mode is different from the load balancing strategy of the second data transmission mode, or the transmission path of the first data transmission mode is different from the transmission path of the second data transmission mode.
The method can transmit the message segments (i.e. message sets) with different data volumes in the same data stream according to different data transmission modes, so that the message segments with large data volumes can be distributed to transmission paths with strong transmission capacity or more balanced load, and unnecessary congestion caused by selecting the transmission paths of the message segments with large data volumes based on the message segments with small data volumes is avoided.
In one possible implementation manner, the sum of the data amounts of the data carried by the second message set is greater than a preset threshold, and the data carried by the first message set is used for describing the characteristics of the data carried by the second message set; the source node sending the first data stream to the intermediate node comprises: the source node sends the first message set to the intermediate node and then sends the second message set to the intermediate node, so that the intermediate node sends the first message set to the target node before sending the second message set to the target node. Wherein the data carried by the second message set is a large message
In this embodiment, the description information of the large message and the large message may be sent to the target node first, so that the target node may prepare for receiving the large message in advance, thereby improving the efficiency of receiving the large message.
In one possible implementation, the source node sending the first data stream to the intermediate node includes: the source node associates a first identifier for a first datagram Wen Guanlian and a second identifier for a second datagram; the intermediate node sends a first message set to the target node according to a first data transmission method, wherein the first message set comprises the following steps: the intermediate node sends a data message associated with a first identifier to a target node according to a first data transmission mode; the intermediate node sends a second message set to the target node according to a second data transmission method, wherein the second message set comprises the following steps: and the intermediate node sends the data message associated with the second identifier to the target node according to the second data transmission mode.
In this embodiment, the source node may associate different identifiers with different data packets, so that the intermediate node may distinguish between different data packets, and further transmit the data packets in different data transmission manners.
In one possible implementation, the first identifier is located in a reserved field of an IP header of the first data packet, and the second identifier is located in a reserved field of an IP header of the second data packet.
In this implementation, the reserved field of the IP header may be extended to carry the identification, so that the message format of the data message need not be changed.
In one possible implementation, the load balancing policy of the first data transmission mode is stream-by-stream load balancing, and the load balancing policy of the second data transmission mode is sub-stream load balancing or packet-by-packet load balancing.
In the implementation mode, the gradual flow load balancing is adopted for the data message set with less data quantity so as to ensure the order of the messages in the data message set. And sub-stream load balancing or packet-by-packet load balancing is adopted for the data message set with larger data volume so as to ensure the transmission efficiency of the data message set.
In one possible embodiment, the bandwidth of the transmission path of the first data transmission mode is greater than the bandwidth of the transmission path of the second data output mode.
In the implementation manner, the data message with large data volume in the data stream can be transmitted through the transmission path with large bandwidth, so that the congestion caused by the message with large data volume can be avoided or reduced.
In one possible embodiment, the intermediate nodes comprise a first intermediate node and a second intermediate node, wherein the bandwidth of the transmission path between the first intermediate node and the target node is smaller than the bandwidth of the transmission path between the second intermediate node and the target node; the source node sending the first data stream to the intermediate node comprises: the source node sends the first message set to the first intermediate node so as to send the first message set to the target node through the first intermediate node; the source node sends the second set of messages to the second intermediate node to send the first set of messages to the target node through the second intermediate node.
In a second aspect, a data transmission method is provided, applied to a source node in a network system, where the network system further includes an intermediate node and a target node, and the method includes: the source node sends a first data stream to the intermediate node, wherein the first data stream comprises a first message set and a second message set; wherein the first set of messages comprises at least one first data message and the second set of messages comprises at least one second data message; wherein, the data volume of the first message set is smaller than the data volume of the second message set; the intermediate node is used for sending a first message set to the target node according to a first data transmission method; the intermediate node is used for sending a second message set to the target node according to a second data transmission method; the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
In one possible implementation manner, the sum of the data amounts of the data carried by the second message set is greater than a preset threshold, and the data carried by the first message set is used for describing the characteristics of the data carried by the second message set; the source node sending the first data stream to the intermediate node comprises: the source node sends the first message set to the intermediate node and then sends the second message set to the intermediate node, so that the intermediate node sends the first message set to the target node before sending the second message set to the target node.
In a third aspect, a data transmission method is provided, applied to an intermediate node in a network system, where the network system further includes a source node and a target node, and the method includes: the intermediate node receives a first data stream from the source node, the first data stream comprising a first set of messages and a second set of messages; wherein the first set of messages comprises at least one first data message and the second set of messages comprises at least one second data message; wherein, the data volume of the first message set is smaller than the data volume of the second message set; the intermediate node sends a first message set to a target node according to a first data transmission method; the intermediate node sends a second message set to the target node according to a second data transmission method; the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
In one possible implementation, the first data message is associated with a first identifier and the second data message is associated with a second identifier; the intermediate node sends a first message set to the target node according to a first data transmission method, wherein the first message set comprises the following steps: the intermediate node sends a data message associated with a first identifier to a target node according to a first data transmission mode; the intermediate node sends a second message set to the target node according to a second data transmission method, wherein the second message set comprises the following steps: and the intermediate node sends the data message associated with the second identifier to the target node according to the second data transmission mode.
In a fourth aspect, a data transmission apparatus is provided, configured as a source node in a network system, where the network system further includes an intermediate node and a target node, the apparatus including: the communication unit is used for sending a first data stream to the intermediate node, wherein the first data stream comprises a first message set and a second message set; wherein the first set of messages comprises at least one first data message and the second set of messages comprises at least one second data message; wherein, the data volume of the first message set is smaller than the data volume of the second message set; the intermediate node is used for sending a first message set to the target node according to a first data transmission method; the intermediate node is used for sending a second message set to the target node according to a second data transmission method; the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
In a fifth aspect, there is provided a data transmission apparatus configured as an intermediate node in a network system, the network system further including a source node and a target node, the apparatus comprising: a communication unit, configured to receive a first data stream from a source node, where the first data stream includes a first packet set and a second packet set; wherein the first set of messages comprises at least one first data message and the second set of messages comprises at least one second data message; wherein, the data volume of the first message set is smaller than the data volume of the second message set; the communication unit is further used for sending a first message set to the target node according to the first data transmission method; the communication unit is further used for sending a second message set to the target node according to a second data transmission method; the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
In a sixth aspect, there is provided a network node comprising: memory, processor, and transceiver; wherein the memory is used for storing computer instructions; the processor is configured to execute the computer instructions stored in the memory to implement the method provided in the second aspect or the method provided in the third aspect.
In a seventh aspect, a chip is provided for performing the method provided by the second aspect or the method provided by the third aspect.
In an eighth aspect, there is provided a computer storage medium comprising computer instructions which, when run on a network node, cause the network node to perform the method provided in the second aspect or the method provided in the third aspect.
In a ninth aspect, a computer program product is provided comprising program code which, when executed by a processor in a network node, implements the method of the second aspect or the method of the third aspect.
In a tenth aspect, a network system is provided, including a source node, an intermediate node, and a target node, where the source node is configured to send a first data flow to the intermediate node, the first data flow including a first packet set and a second packet set; the first message set comprises at least one first data message which is adjacent in sequence, and the second message set comprises at least one second data message which is adjacent in sequence; wherein, the data volume of the first message set is smaller than the data volume of the second message set; the intermediate node is used for sending a first message set to the target node according to a first data transmission method; the intermediate node is used for sending a second message set to the target node according to a second data transmission method; the load balancing strategy of the first data transmission mode is different from the load balancing strategy of the second data transmission mode, or the transmission path of the first data transmission mode is different from the transmission path of the second data transmission mode.
According to the data transmission method, device, node and system provided by the embodiment of the invention, message segments (namely message sets) with different data volumes in the same data stream can be transmitted according to different data transmission modes, so that the message segments with large data volumes can be distributed to transmission paths with strong transmission capacity, and unnecessary congestion caused by selecting the transmission paths of the message segments with large data volumes based on the message segments with small data volumes is avoided.
Drawings
Fig. 1 is a schematic structural diagram of a network system according to an embodiment of the present application;
fig. 2 is a flowchart of a data transmission scheme according to an embodiment of the present application;
fig. 3A is a schematic diagram of a data transmission scheme according to an embodiment of the present application;
fig. 3B is a flowchart of a data transmission scheme according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a network system according to an embodiment of the present application;
fig. 5 is a schematic diagram of a data transmission scheme according to an embodiment of the present application;
fig. 6 is a flowchart of a data transmission method according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
Fig. 9 is a schematic structural diagram of a network node according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings. It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present application. In the embodiments of the present application, "plurality" means at least two.
Currently, the main stream load balancing schemes include stream-by-stream load balancing with data stream as granularity, sub-stream load balancing with sub-stream (flowlet) as granularity, and packet-by-packet load balancing with data packet as granularity.
Wherein, a data flow refers to a message segment composed of a plurality of data messages of a flow identifier (the flow identifier is usually five-tuple and comprises a source IP address, a destination IP address, a protocol number, a source port and a destination port). That is, the communication device may split the data message into different data streams according to the five-tuple of the data message. That is, the data messages with the same five-tuple belong to the same data stream, and the data messages with different five-tuple belong to different data streams. A substream is an burst of segments in the data stream followed by an idle gap. The free gap represents the boundary between different substreams. The communication device may split the data stream into multiple sub-streams according to the time interval between the preceding and following data packets in the same data stream and/or the route aging time.
And performing flow-by-flow load balancing by taking the data flow as granularity, and performing routing. That is, data packets of the same data stream are transmitted through the same transmission path. The flow-by-flow load balancing can ensure the path consistency of front and back messages in the same data flow, and can realize the message order preservation. However, the dynamic load balancing is difficult to realize by-stream load, so that the traffic collision is easy to occur, and the congestion is caused.
And carrying out sub-stream load balancing by taking sub-streams as granularity, and carrying out routing. That is, the data packets of the same sub-stream are transmitted through the same transmission path. Compared with the progressive load balancing, the sub-stream load balancing has smaller balancing granularity, certain dynamic load balancing capability and lower message disorder degree. And the packet-by-packet load balancing takes the data message as granularity to carry out routing. That is, in packet-by-packet load balancing, different data packets may be transmitted over different transmission paths. Therefore, packet-by-packet load balancing has the strongest dynamic load balancing capability compared to stream-by-stream load balancing and sub-stream load balancing. However, packet-by-packet load balancing cannot guarantee that a receiving end can receive messages in a data stream in sequence, so that the messages in the data stream are out of order. This requires the receiving end to have message out-of-order reception (out of order receiving, OOR) capability.
The route may be selected based on an internet protocol (internet protocol, IP) route forwarding mechanism. IP routing forwarding mechanism generally refers to a mechanism that implements routing forwarding by using a routing algorithm (such as a hash algorithm) based on information (such as a destination IP address, etc.) of a packet. The mainstream internet protocol (internet protocol, IP) route forwarding mechanism includes (equal cost multipath, ECMP) mechanism and Adaptive Routing (AR), etc.
The ECMP is a routing forwarding strategy capable of realizing equal-cost multipath load balancing and link backup. ECMP supports stream-by-stream load balancing and packet-by-packet load balancing. For flow-by-flow load balancing, a communication device, such as a switch, performs a hash operation using a flow identifier of a message, and then selects an egress port of a next hop from a plurality of equivalent routes according to a result of the hash operation. The flow identification of the same data flow is the same and therefore the end-to-end transmission paths of the different data messages in the same data flow are also the same. Therefore, the flow-by-flow load balancing can ensure the path consistency of the messages before and after the single flow, and the message order preservation can be realized. Packet-by-packet load balancing, i.e. selecting the next hop exit randomly or in rotation from a plurality of equivalent routes, can make the load more balanced, but has the problem of message disorder.
Fat tree (fat-tree) topology networking typically employs a load balancing scheme of ECMP collocating with stream-by-stream load balancing.
Adaptive routing a routing forwarding strategy dynamically selects a next hop egress from a plurality of selectable routes (including equivalent routes and non-equivalent routes) according to the current load state of the network (including a local load state and a full network load state). Adaptive routing supports per-flow load balancing, per-packet load balancing, and sub-flow load balancing. The adaptive routing can be applied to dragonfly (dragonfly) and dragonfly+ topology networking, and can also be applied to fat tree topology networking.
High performance computing (high performance computing, HPC) clusters, artificial intelligence (artificial intelligence, al) respectively train network communications between devices of the clusters, typically based on a messaging interface (message passing interface, MPI) and a unified communications framework (unified communication X, UCX). In the MPI and UCX based communication mode, when a sender sends a large message, metadata (which may also be referred to as description information) describing characteristics of the large message is generated first. Then, the metadata is sent to the receiving end, so that the receiving end can obtain the characteristics of the upcoming large message through the metadata, and thus, targeted receiving preparation can be made. For example, the characteristics of the large message described by the metadata include the data amount of the large message, which may allow the receiving end to be ready in advance for storing the memory space of the large message.
The large message refers to a message with the data volume larger than a preset threshold value. In one example, the preset threshold may be 64k, 128k, 256k, or the like, and the magnitude of the threshold may be set as desired. The data size of the metadata is much smaller than that of the large message. In general, the data amount of metadata may be less than 1k, and may be only several tens of bytes. Therefore, the data volume of the data message carrying the data volume of the metadata is smaller than the data volume of the data message carrying the large message. Even if the data volume of the large message exceeds the maximum data volume that can be carried by one data message and the data of the large message is divided into a plurality of data messages, the data volume of each data message carrying the large message data is larger than the data volume of the data message carrying the metadata. Wherein, the large message data or the data of the large message refers to the data of the large message itself.
The stream identification of the data message carrying metadata is the same as that of the data message carrying the data of the big message, namely, the data message and the data message belong to the same data stream. In the data stream, the data message carrying metadata is located before the data message carrying the data of the big message itself, so as to send the metadata to the receiving end in advance of the big message. When transmitting the data stream, if the stream-by-stream load balancing or the sub-stream load balancing is adopted, the communication equipment selects a transmission path suitable for the data message according to the data quantity of the data message positioned at the front end of the data stream. Because the data message carrying metadata is located at the front end of the data stream, the selected transmission path is suitable for carrying the data message of the metadata. The data volume of the data message carrying the metadata is smaller, and the transmission path meeting the transmission requirement of the data message carrying the metadata does not need strong data transmission capability. And the data message carrying the large message data is larger than the data message carrying the metadata, and the transmission capacity requirement of the data message carrying the large message on the transmission path is higher than that of the data message carrying the metadata. Therefore, a transmission path of a data packet adapted to carry metadata is not necessarily adapted to carry a data packet of large message data, and thus may cause unnecessary congestion.
The embodiment of the application provides a data transmission scheme, which can transmit message segments with different data volumes in the same data stream according to different data transmission modes, so that the message segments with large data volumes can be distributed to a transmission path with strong transmission capacity, and unnecessary congestion caused by selecting the transmission path of the message segments with large data volumes based on the message segments with small data volumes is avoided.
In this embodiment of the present application, the message segment may also be referred to as a message set, and is composed of at least one data message that is adjacent in sequence in the data stream.
Next, an example description will be given of a data transmission scheme provided in the embodiment of the present application.
The embodiment of the application provides a network system. As shown in fig. 1, the network system may include at least one source node, a plurality of intermediate nodes, and at least one target node. By way of example, the network system may include a plurality of source nodes, such as source node 110, source node 120, source node 130, source node 140, and the like. The network system may also include a plurality of target nodes, such as target node 310, target node 320, target node 330, target node 340, and the like. The plurality of intermediate nodes in the network system may include intermediate node 210, intermediate node 220, intermediate node 230, intermediate node 240, intermediate node 250, intermediate node 260, and the like.
The plurality of intermediate nodes, at least one source node and at least one target node can be networked according to a certain networking architecture. In some embodiments, the network system shown in FIG. 1 may employ a Fat Tree (Fat-Tree) networking architecture. In some embodiments, the network system shown in FIG. 1 may employ a layer 2 (L2) Clos networking architecture. In some embodiments, the network system shown in fig. 1 may employ a layer 3 (L3) Clos networking architecture. In other embodiments, the network system shown in fig. 1 may also employ other network architectures, which are not described herein.
In the following description, when a source node, an intermediate node, and a target node are not particularly distinguished, they may be simply referred to as nodes.
In the embodiment of the present application, a node may also be referred to as a communication node, a network node, a communication device, or a network device, and refers to a physical device or a virtual device having data processing and data transceiving functions. In some embodiments, the node may be a server, a server cluster formed by a plurality of servers, or one or more chip circuits. In some embodiments, the node may be a Virtual Machine (VM). The embodiment of the application does not specifically limit the specific implementation form of the node.
In embodiments of the present application, a node may support a network interface controller (network interface controller, NIC) through which information or data streams are sent and/or received.
In some embodiments, the intermediate node may also be referred to as a forwarding node. Wherein the forwarding node may be a physical switch or a virtual switch. Wherein the access nodes (source side access nodes and/or target side access nodes) may be leaf nodes. Illustratively, the leaf node may be a top of rack (ToR) switch. The core node may be a backbone (spine) node.
In the embodiment of the application, the source node and the target node divide the nodes only from the angle of data flow. The source node refers to a data sending end, and the target node refers to a data receiving end. It will be appreciated that a node may be able to both transmit and receive data. Then the node is the source node from the perspective of the transmitted data. From the perspective of receiving data, the node is the target node. When a node transmits data and receives data simultaneously, the node is both a source node and a destination node.
Next, taking the node 110 as a source node and the node 310 as a target node as an example, an exemplary scheme provided in the embodiment of the present application will be described. Wherein node 110 may also be referred to as source node 110 and node 310 may also be referred to as target node 310.
Source node 110 may generate a data stream destined for destination node 310. Source node 110 may send the data stream to destination node 310 via intermediate node 200. I.e., the source node 110 may send the data stream to the intermediate node 200, and the intermediate node 200 then forwards the received data stream to the target node 310. The intermediate node 200 may perform load balancing when forwarding the data stream to select a preferred transmission path, and send the data stream to the target node 310. For example, the source node 110 may send a data stream to the intermediate node 210, the intermediate node 210 may perform load balancing, and select a preferred transmission path from a plurality of alternative transmission paths (e.g., a path between the intermediate node 210 and the intermediate node 230, a path between the intermediate node 210 and the intermediate node 240, etc.) to transmit the data stream or one or more data messages in the data stream to the target node 310.
Next, the data transmission scheme provided in the embodiment of the present application will be described by way of example with the source node 110, the target node 310, and the intermediate node in the network system shown in fig. 1.
Source node 110 may generate data stream a destined for destination node 310. The data flow a may include a message set A1 and a message set A2. The message set A1 includes at least one data message A1 that is adjacent in sequence, and the message set A2 includes at least one data message A2 that is adjacent in sequence. The data messages that are adjacent in sequence refer to the messages that are adjacent in sequence in the data stream a. The data volume of the message set A1 is smaller than the data volume of the message set A2. The data size of the message set refers to the sum of the data sizes of all the data messages in the message set.
In some embodiments, the data packet a2 may be a packet carrying data of a large message, and the data packet a1 may be a packet carrying metadata of the large message.
Wherein, the data message A2 in the message set A2 carries all or part of the data of the large message. Specifically, when there is only one data packet A2 in the packet set A2, the data packet a carries all or part of the data of the large message. When there are multiple data messages A2 in the message set A2, different data messages A2 bear different data in the large message, and the data borne by the multiple data messages form all or part of the data of the large message.
The data message A1 in the message set A1 may carry all the data of the metadata. Specifically, when there is only one data packet A1 in the packet set A1, the data packet a carries all the data of the metadata. When there are multiple data messages A1 in the message set A1, different data messages A1 bear different data in the metadata, and the data borne by the multiple data messages constitute all data of the metadata.
Referring to fig. 2, source node 110 may send data stream a to an intermediate node via step 201. In some embodiments, the source node 110 may send the message set A1 to the intermediate node first, and then send the message set A2 to the intermediate node, so that the intermediate node sends the message set A1 to the target node 310 first, and then sends the message set A2 to the target node 310, that is, so that the intermediate node sends the message set A1 to the target node before sending the message set A2 to the target node 310.
After receiving the data stream a, the intermediate node sends a message set A1 and a message set A2 to the target node 310 according to different data transmission modes. Specifically, the intermediate node may perform step 202, and send the packet set A1 to the target node 310 according to the data transmission mode B1. The intermediate node may perform step 203 to send the set of messages A2 to the target node 310 according to the data transmission mode B2. The data transmission method B1 and the data transmission method B2 are different data transmission methods.
The different data transmission modes can be different in load balancing strategies or different in transmission paths. That is, the load balancing policy adopted by the data transmission scheme B1 is different from the load balancing policy adopted by the data transmission scheme B2. Alternatively, the data transmission path used by the data transmission scheme B1 is different from the data transmission path used by the data transmission scheme B2.
In some embodiments, the load balancing policy adopted by the data transmission mode B1 may be stream-by-stream load balancing, and the load balancing policy adopted by the data transmission mode B2 may be sub-stream load balancing. In some embodiments, the load balancing policy adopted by the data transmission mode B1 may be flow-by-flow load balancing, and the load balancing policy adopted by the data transmission mode B2 may be packet-by-packet load balancing. In some embodiments, the load balancing policy adopted by the data transmission mode B1 may be sub-stream load balancing, and the load balancing policy adopted by the data transmission mode B2 may be packet-by-packet load balancing. In some embodiments, the load balancing policy adopted by the data transmission mode B1 may be packet-by-packet load balancing, and the load balancing policy adopted by the data transmission mode B2 may be stream-by-stream load balancing or sub-stream load balancing.
In some embodiments, the bandwidth of the data transmission path employed by data transmission scheme B1 is different from the bandwidth of the data transmission path employed by data transmission scheme B2. In one example, the bandwidth of the data transmission path employed by data transmission scheme B1 is greater than the bandwidth of the data transmission path employed by data transmission scheme B2. In one example, the intermediate nodes include a first intermediate node and a second intermediate node, wherein the bandwidth of the transmission path between the first intermediate node and the target node 310 is less than the bandwidth of the transmission path between the second intermediate node and the target node 310. In step 201, the source node 110 sends a data message in the message set A1 to the first intermediate node. The first intermediate node sends the data message in the message set A1 to the target node 310. The source node 110 sends the data message in the message set A2 to the second intermediate node. The second intermediate node sends the data message in the message set A2 to the target node 310.
In some embodiments, the source node 110 may associate different identifiers for the data messages in different message sets, so that the intermediate node may distinguish the data messages in different message sets according to the identifiers. Specifically, the source node 110 may associate the identifier C1 with the data packet a1, and associate the identifier C2 with the data packet a. The intermediate node, upon receiving the data message from the source node 110, may identify the identity with which the data message is associated. If the identifier associated with the data packet is the identifier C1, the intermediate node transmits the data packet to the target node 310 according to the data transmission mode B1. If the identifier associated with the data packet is the identifier C2, the intermediate node transmits the data packet to the target node 310 according to the data transmission mode B2.
In one illustrative example of this embodiment, the identity associated with the data message may be located in a reserved field of the IP header of the data message, i.e., identity C1 is located in a reserved field of the IP header of data message a1 and identity C2 is located in a reserved field of the IP header of data message a 2. Specifically, when generating a data packet, the source node 110 may extend a reserved field in an IP header of the data packet, so that the reserved field carries or records an identifier.
In some embodiments, the identification may be represented by a value of one or more bits. For example, the identifier may be represented by a value of one bit, where the value of the bit is "0", and then represents the identifier C1; the value on this bit takes a "1" and then indicates the identity C2. Etc. The indication mode of the mark can be freely set, and is not repeated here.
In some embodiments, as shown in fig. 3A and 3B, source node 110 may access the network system shown in fig. 1 through intermediate node 210. The software layers of source node 110 may include Applications (APP) and communication middleware. Illustratively, the communication middleware may include MPI and UCX.
As shown in fig. 3B, the application may generate a large message and pass the large message to the communication middleware at step 301. For example, the application may notify the communication middleware of the memory address where the large message is located, from which the communication middleware may read the large message.
The communication middleware may perform step 302a, generate metadata for the large message, and identify C1 for metadata association. Wherein the metadata is used to describe characteristics of the large message, such as the data volume of the large message, the destination address of the large message, or the source address of the large message, etc. The data association identifier is understood to be attribute information of the data, wherein the identifier is added to the data.
The communication middleware may perform step 303a, transmitting metadata associated with the identification C1 to the communication interface. The communication interface may be a network interface card (network interface card, NIC), among others. The network interface card may be simply referred to as a network card. In one example, the network card may be a remote direct memory access (remote direct memory access, RDMA) based network card, such as an ethernet-converged RDMA (RDMA over converged ethernet, roCE) network card. In one example, the network card may be a Unified Bus (UB) network card. In one example, the network card may be an ethernet network card. Etc., the embodiments of the present application do not specifically limit the implementation form of the network.
The communication interface may perform step 304a of encapsulating the metadata into data messages in the message set A1 and associating the identity C1. Specifically, the communication interface may encapsulate data associated with the identifier C1, i.e., metadata, into the data packet a1. The identifier C1 is associated with the data message a1, so that in a subsequent step, the network card can distinguish different data messages. For example, the reserved field of the IP header of the data packet a1 may be extended, where the extended reserved field carries or records the identifier C1.
The communication interface may perform step 201a sending the set of messages A1 to the intermediate node 210. Step 201a is a sub-step of step 202 shown in fig. 2. Intermediate node 210 may perform step 202 to send message set A1 according to data transmission mode B1.
The communication middleware may perform step 302b, identifying C2 for the data association of the large message. Then, the data associated with the large message identifying C2 is sent to the communication interface, via step 303 b. The communication interface may perform step 304b of encapsulating the data of the large message into a data message in the message set A2 and associating the identity C2. In particular, the communication interface may encapsulate data associated with the identification C2, i.e. data of the large message, into a data message a2. The identifier C2 is associated with the data message a2, so that in a subsequent step, the network card can distinguish different data messages. For example, the reserved field of the IP header of the data packet a2 may be extended, where the extended reserved field carries or records the identifier C2.
The communication interface may perform step 201b sending the set of messages A2 to the intermediate node 210. Step 201b is a sub-step of step 202 shown in fig. 2. The intermediate node 210 may perform step 203 to send the set of messages A2 according to the data transmission mode B2.
In some embodiments, referring to fig. 4, the data transmission plane of the network system in which the source node 110 is located may be divided into a ticket data transmission plane and a high-speed data transmission plane. Illustratively, intermediate node 210, intermediate node 220, intermediate node 230, intermediate node 240, intermediate node 250, intermediate node 260, and the like constitute a common data transfer plane. Intermediate node 270, intermediate node 280a, intermediate node 280b, intermediate node 290, etc. constitute a high-speed data transmission plane.
The bandwidth of the high-speed data transmission plane is greater than that of the normal data plane. That is, the rate at which the high-speed data plane transmits data is greater than the rate at which the normal data plane transmits data.
As shown in fig. 4, the source node 110 may connect the normal data plane and the high-speed data plane at the same time, and the target node 310 may connect the normal data plane and the high-speed data plane at the same time.
Referring to fig. 5, the source node 110 may have a normal communication interface and a high-speed communication interface. Wherein the bandwidth of the normal communication interface is smaller than the bandwidth of the high-speed communication interface. That is, the rate at which the normal communication interface transmits data is smaller than the rate at which the high-speed communication interface transmits data. In one example, the normal communication interface may be a RoCE network card and the high-speed communication interface may be a UB network card.
Wherein the generic communication interface is used to connect to the generic data plane, e.g. the generic communication interface connects to the intermediate node 210 in the generic data plane and thus to the generic data plane. The high-speed communication interface is used to connect the high-speed data plane, e.g. the high-speed communication interface connects the intermediate node 270 in the high-speed data plane, and thus to the high-speed data plane.
Referring to fig. 5, the communication middleware may transmit metadata to a general communication interface. The normal communication interface encapsulates the metadata into data messages and sends the data messages carrying the metadata to the intermediate node 210. The intermediate node 210 may send data messages carrying metadata to the target node 310 via a common data plane, i.e. send metadata to the target node 310.
The communication middleware may send data of the large message to the high-speed communication interface. The high speed communication interface encapsulates the data of the large message into data messages and sends the data messages carrying the data of the large message to the intermediate node 270. The intermediate node 210 may send data messages carrying data of large messages to the target node 310, i.e. to the target node 310, via a high speed data plane.
The generation of large messages and metadata in the embodiment shown in fig. 5 and the manner of transfer between applications and communication middleware may be referred to above in the description of the embodiment shown in fig. 3B. Unlike the embodiment shown in fig. 3B, in the embodiment shown in fig. 5, the association identifier C1 is not required for metadata and a data packet carrying metadata (i.e., the data packet a 1), and the association identifier C2 is not required for data of a large message and a data packet carrying data of a large message (i.e., the data packet a 2).
In the data transmission scheme of the embodiment of the application, the data message with large data volume in the data stream can be transmitted through the transmission path with large bandwidth, so that congestion caused by the large data volume message can be avoided or reduced.
In the data transmission scheme provided by the embodiment of the application, the message segments (i.e. the message sets) with different data volumes in the same data stream can be transmitted according to different data transmission modes, so that the message segments with large data volumes can be distributed to the transmission paths with strong transmission capacity, and unnecessary congestion caused by selecting the transmission paths of the message segments with large data volumes based on the message segments with small data volumes is avoided.
Based on the data transmission scheme, the embodiment of the application provides a data transmission method. The method may be applied to a network system comprising a source node, an intermediate node and a target node. As shown in fig. 6, the method includes the following steps.
Step 601, the source node sends a first data stream to the intermediate node, where the first data stream includes a first packet set and a second packet set; the first message set comprises at least one first data message which is adjacent in sequence, and the second message set comprises at least one second data message which is adjacent in sequence; the data volume of the first message set is smaller than the data volume of the second message set. The implementation of step 201 in fig. 2 may be referred to above, and will not be described herein.
Step 602, the intermediate node sends the first message set to the target node according to a first data transmission method. The implementation of step 202 in fig. 2 may be referred to above, and will not be described herein.
Step 603, the intermediate node sends the second message set to the target node according to a second data transmission method. The implementation of step 203 in fig. 2 may be referred to above, and will not be described herein.
The load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the transmission path of the first data transmission mode is different from the transmission path of the second data transmission mode.
In some embodiments, the sum of the data amounts of the data carried by the second message set is greater than a preset threshold, and the data carried by the first message set is used for describing the characteristics of the data carried by the second message set; the source node sending a first data stream to the intermediate node comprises: the source node sends the first message set to the intermediate node, and then sends the second message set to the intermediate node, so that the intermediate node sends the first message set to the target node before sending the second message set to the target node. Reference is made in particular to the above description of steps 302a, 303a, 304a, 201a and steps 302B, 303B, 304B, 201B in fig. 3B.
In some embodiments, the source node sending the first data stream to the intermediate node comprises: the source node associates a first identifier for the first datagram Wen Guanlian and a second identifier for the second datagram; the intermediate node sending the first message set to the target node according to a first data transmission method includes: the intermediate node sends a data message associated with the first identifier to the target node according to the first data transmission mode; the intermediate node sending the second message set to the target node according to a second data transmission method includes: and the intermediate node sends the data message associated with the second identifier to the target node according to the second data transmission mode.
Reference is made in particular to the implementation of the above description of steps 304a, 304B, 202, 203 in fig. 3B.
In one example of this embodiment, the first identifier is located in a reserved field of an IP header of the first data message and the second identifier is located in a reserved field of an IP header of the second data message.
In some embodiments, the load balancing policy of the first data transmission mode is stream-by-stream load balancing, and the load balancing policy of the second data transmission mode is sub-stream load balancing or packet-by-packet load balancing.
In some embodiments, the bandwidth of the transmission path of the first data transmission mode is greater than the bandwidth of the transmission path of the second data output mode.
In one example of this embodiment, the intermediate nodes include a first intermediate node and a second intermediate node, wherein a bandwidth of a transmission path between the first intermediate node and the target node is smaller than a bandwidth of a transmission path between the second intermediate node and the target node; the source node sending a first data stream to the intermediate node comprises: the source node sends the first message set to the first intermediate node so as to send the first message set to the target node through the first intermediate node; the source node sends the second set of messages to the second intermediate node to send the first set of messages to the target node through the second intermediate node. Reference is made in particular to the implementations described above with respect to fig. 4 and 5.
According to the data transmission method provided by the embodiment of the invention, the message segments (namely the message sets) with different data volumes in the same data stream can be transmitted according to different data transmission modes, so that the message segments with large data volumes can be distributed to the transmission paths with strong transmission capacity, and unnecessary congestion caused by selecting the transmission paths of the message segments with large data volumes based on the message segments with small data volumes is avoided.
Referring to fig. 7, an embodiment of the present application provides a data transmission apparatus 700. The apparatus 700 is configured at a source node in a network system that also includes an intermediate node and a target node.
As shown in fig. 7, the apparatus 700 includes: a communication unit 710, configured to send a first data stream to the intermediate node, where the first data stream includes a first packet set and a second packet set; wherein the first set of messages includes at least one first data message and the second set of messages includes at least one second data message; the data volume of the first message set is smaller than the data volume of the second message set;
the intermediate node is configured to send the first packet set to the target node according to a first data transmission method; the intermediate node is used for sending the second message set to the target node according to a second data transmission method; the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
The functions of the functional units of the apparatus 700 may be implemented by referring to the description of the operations performed by a source node (such as the source node 110 or the source node in the embodiment shown in fig. 6) above, and will not be described herein.
Referring to fig. 8, an embodiment of the present application provides a data transmission apparatus 800. The apparatus 800 is configured at an intermediate node in a network system that also includes a source node and a target node.
As shown in fig. 8, the apparatus 800 includes: a communication unit 810, configured to receive a first data stream from the source node, where the first data stream includes a first set of packets and a second set of packets; wherein the first set of messages includes at least one first data message and the second set of messages includes at least one second data message; the data volume of the first message set is smaller than the data volume of the second message set;
the communication unit 810 is further configured to send the first set of packets to the target node according to a first data transmission method;
the communication unit 810 is further configured to send the second set of packets to the target node according to a second data transmission method;
the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
The functions of the functional units of the apparatus 800 may be implemented by referring to the description of the operations performed by the intermediate node (e.g., the intermediate node 210 or the intermediate node in the embodiment shown in fig. 6) above, and will not be described herein.
The embodiment of the application provides a network node. Referring to fig. 9, the network node may include a memory 910, a processor 920, and a transceiver 930; wherein the memory 910 is used to store computer instructions; the processor 920 is configured to execute the computer instructions stored in the memory, so that the network node may perform the operations performed by the source node 110 in the embodiment shown in fig. 2 or fig. 3B, or perform the operations of the source node in the embodiment shown in fig. 6.
The embodiment of the application provides a network node. With continued reference to fig. 9, the network node may include a memory 910, a processor 920, and a transceiver 930; wherein the memory 910 is used to store computer instructions; the processor 920 is configured to execute the computer instructions stored in the memory, so that the network node may perform operations performed by the intermediate node in the embodiment shown in fig. 2 or fig. 3B, or perform operations performed by the intermediate node in the embodiment shown in fig. 6.
It is to be appreciated that the processor 920 may be a central processing unit (central processing unit, CPU), other general purpose processor, digital signal processor (digital signal processor, DSP), application specific integrated circuit (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic device, transistor logic device, hardware components, or any combination thereof. The general purpose processor may be a microprocessor, but in the alternative, it may be any conventional processor.
Embodiments of the present application also provide a chip for performing the above-described method, for example, performing the operations performed by the source node 110 or an intermediate node (e.g., the intermediate node 210), and further, for example, performing the operations performed by the source node or the intermediate node in the embodiment shown in fig. 6.
The method steps in the embodiments of the present application may be implemented by hardware, or may be implemented by a processor executing software instructions. The software instructions may be comprised of corresponding software modules that may be stored in random access memory (random access memory, RAM), flash memory, read-only memory (ROM), programmable ROM (PROM), erasable programmable PROM (EPROM), electrically erasable programmable EPROM (EEPROM), registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted across a computer-readable storage medium. The computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
It will be appreciated that the various numerical numbers referred to in the embodiments of the present application are merely for ease of description and are not intended to limit the scope of the embodiments of the present application.
Claims (17)
1. A data transmission method, characterized by being applied to a network system, the network system including a source node, an intermediate node, and a target node, the method comprising:
the source node sends a first data stream to the intermediate node, wherein the first data stream comprises a first message set and a second message set; the first message set comprises at least one first data message which is adjacent in sequence, and the second message set comprises at least one second data message which is adjacent in sequence; the data volume of the first message set is smaller than the data volume of the second message set;
the intermediate node sends the first message set to the target node according to a first data transmission method;
the intermediate node sends the second message set to the target node according to a second data transmission method;
the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the transmission path of the first data transmission mode is different from the transmission path of the second data transmission mode.
2. The method of claim 1, wherein a sum of data amounts of data carried by the second set of messages is greater than a preset threshold, and the data carried by the first set of messages is used to describe characteristics of the data carried by the second set of messages;
the source node sending a first data stream to the intermediate node comprises:
the source node sends the first message set to the intermediate node, and then sends the second message set to the intermediate node, so that the intermediate node sends the first message set to the target node before sending the second message set to the target node.
3. The method of claim 1, wherein the source node sending a first data stream to the intermediate node comprises: the source node associates a first identifier for the first datagram Wen Guanlian and a second identifier for the second datagram;
the intermediate node sending the first message set to the target node according to a first data transmission method includes: the intermediate node sends a data message associated with the first identifier to the target node according to the first data transmission mode;
The intermediate node sending the second message set to the target node according to a second data transmission method includes: and the intermediate node sends the data message associated with the second identifier to the target node according to the second data transmission mode.
4. A method according to claim 3, wherein the first identity is located in a reserved field of an IP header of the first data message and the second identity is located in a reserved field of an IP header of the second data message.
5. The method according to any of claims 1-4, wherein the load balancing policy of the first data transmission mode is stream-by-stream load balancing and the load balancing policy of the second data transmission mode is sub-stream load balancing or packet-by-packet load balancing.
6. The method according to any of claims 1-4, wherein the bandwidth of the transmission path of the first data transmission scheme is greater than the bandwidth of the transmission path of the second data output scheme.
7. The method of claim 6, wherein the intermediate nodes comprise a first intermediate node and a second intermediate node, wherein a bandwidth of a transmission path between the first intermediate node and the target node is less than a bandwidth of a transmission path between the second intermediate node and the target node;
The source node sending a first data stream to the intermediate node comprises:
the source node sends the first message set to the first intermediate node so as to send the first message set to the target node through the first intermediate node;
the source node sends the second set of messages to the second intermediate node to send the first set of messages to the target node through the second intermediate node.
8. A data transmission method, applied to a source node in a network system, the network system further comprising an intermediate node and a target node, the method comprising:
the source node sends a first data stream to the intermediate node, wherein the first data stream comprises a first message set and a second message set; wherein the first set of messages includes at least one first data message and the second set of messages includes at least one second data message; the data volume of the first message set is smaller than the data volume of the second message set;
the intermediate node is configured to send the first packet set to the target node according to a first data transmission method; the intermediate node is used for sending the second message set to the target node according to a second data transmission method; the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
9. The method of claim 8, wherein the sum of the data amounts of the data carried by the second set of messages is greater than a preset threshold, and the data carried by the first set of messages is used to describe a characteristic t of the data carried by the second set of messages
The source node sending a first data stream to the intermediate node comprises:
the source node sends the first message set to the intermediate node, and then sends the second message set to the intermediate node, so that the intermediate node sends the first message set to the target node before sending the second message set to the target node.
10. A data transmission method, applied to an intermediate node in a network system, the network system further comprising a source node and a target node, the method comprising:
the intermediate node receives a first data stream from the source node, the first data stream comprising a first set of messages and a second set of messages; wherein the first set of messages includes at least one first data message and the second set of messages includes at least one second data message; the data volume of the first message set is smaller than the data volume of the second message set;
The intermediate node sends the first message set to the target node according to a first data transmission method;
the intermediate node sends the second message set to the target node according to a second data transmission method;
the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
11. The method of claim 10, wherein the first data message is associated with a first identifier and a second identifier is associated with the second data message;
the intermediate node sending the first message set to the target node according to a first data transmission method includes: the intermediate node sends a data message t associated with the first identifier to the target node according to the first data transmission mode
The intermediate node sending the second message set to the target node according to a second data transmission method includes: and the intermediate node sends the data message associated with the second identifier to the target node according to the second data transmission mode.
12. A data transmission apparatus, characterized by a source node configured in a network system, the network system further comprising an intermediate node and a target node, the apparatus comprising:
the communication unit is used for sending a first data stream to the intermediate node, wherein the first data stream comprises a first message set and a second message set; wherein the first set of messages includes at least one first data message and the second set of messages includes at least one second data message; the data volume of the first message set is smaller than the data volume of the second message set;
the intermediate node is configured to send the first packet set to the target node according to a first data transmission method; the intermediate node is configured to send, according to a second data transmission method, the second packet set t to the target node, where the load balancing policy of the first data transmission mode and the load balancing policy of the second data transmission mode are different, or the bandwidth of the transmission path of the first data transmission mode and the bandwidth of the transmission path of the second data transmission mode are different.
13. A data transmission apparatus, characterized by an intermediate node configured in a network system, the network system further comprising a source node and a target node, the apparatus comprising:
A communication unit, configured to receive a first data stream from the source node, where the first data stream includes a first packet set and a second packet set; wherein the first set of messages includes at least one first data message and the second set of messages includes at least one second data message; the data volume of the first message set is smaller than the data volume of the second message set;
the communication unit is further configured to send the first packet set to the target node according to a first data transmission method;
the communication unit is further configured to send the second packet set to the target node according to a second data transmission method;
the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the bandwidth of the transmission path of the first data transmission mode is different from the bandwidth of the transmission path of the second data transmission mode.
14. A network node, comprising: memory, processor, and transceiver; wherein,
the memory is used for storing computer instructions; the processor being operative to execute the computer instructions stored in the memory to implement the method of any one of claims 8-9 or the method of any one of claims 10-11.
15. A network system comprising a source node, an intermediate node, and a target node, wherein,
the source node is configured to send a first data stream to the intermediate node, where the first data stream includes a first packet set and a second packet set; the first message set comprises at least one first data message which is adjacent in sequence, and the second message set comprises at least one second data message which is adjacent in sequence; the data volume of the first message set is smaller than the data volume of the second message set;
the intermediate node is used for sending the first message set to the target node according to a first data transmission method;
the intermediate node is used for sending the second message set to the target node according to a second data transmission method;
the load balancing policy of the first data transmission mode is different from the load balancing policy of the second data transmission mode, or the transmission path of the first data transmission mode is different from the transmission path of the second data transmission mode.
16. A chip for performing the method of any one of claims 8-9 or the method of any one of claims 10-11.
17. A computer storage medium comprising computer instructions which, when run on a network node, cause the network node to perform the method of any of claims 8-9 or the method of any of claims 10-11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211099715.8A CN117714378A (en) | 2022-09-09 | 2022-09-09 | Data transmission method, device, node and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211099715.8A CN117714378A (en) | 2022-09-09 | 2022-09-09 | Data transmission method, device, node and system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714378A true CN117714378A (en) | 2024-03-15 |
Family
ID=90143012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211099715.8A Pending CN117714378A (en) | 2022-09-09 | 2022-09-09 | Data transmission method, device, node and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714378A (en) |
-
2022
- 2022-09-09 CN CN202211099715.8A patent/CN117714378A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735323B2 (en) | Service traffic allocation method and apparatus | |
US9813339B2 (en) | Filtering and route lookup in a switching device | |
US6977932B1 (en) | System and method for network tunneling utilizing micro-flow state information | |
US7190695B2 (en) | Flexible application of mapping algorithms within a packet distributor | |
US9614755B2 (en) | Combined hardware/software forwarding mechanism and method | |
US7986629B1 (en) | Filtering and route lookup in a switching device | |
US7599360B2 (en) | Methods and apparatus for encapsulating a frame for transmission in a storage area network | |
US8553684B2 (en) | Network switching system having variable headers and addresses | |
US20040057437A1 (en) | Methods and systems for providing differentiated quality of service in a communications system | |
Aweya | On the design of IP routers Part 1: Router architectures | |
CN101789949B (en) | Method and router equipment for realizing load sharing | |
US20150138986A1 (en) | Load balancing in a link aggregation | |
US20200162388A1 (en) | Data communication method and data communications network | |
CN108965121A (en) | Transmit method, host and the interchanger of data | |
US8422504B2 (en) | Network switch port aggregation | |
CN116319535A (en) | Path switching method, path switching device, network equipment and network system | |
US20240275716A1 (en) | Fault Handling Method, Related Device, and System | |
CN113612698A (en) | Data packet sending method and device | |
WO2015039616A1 (en) | Method and device for packet processing | |
US20240267324A1 (en) | Packet forwarding method and apparatus | |
CN114095448A (en) | Method and equipment for processing congestion flow | |
WO2023116611A1 (en) | Queue control method and apparatus | |
CN117714378A (en) | Data transmission method, device, node and system | |
WO2022179451A1 (en) | Load sharing method and apparatus, and chip | |
US20210281524A1 (en) | Congestion Control Processing Method, Packet Forwarding Apparatus, and Packet Receiving Apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |