Data transmission method and device, computer equipment and storage medium

By using intermediate nodes to determine the transmission path based on the source address, destination address, and protocol type of data packets, and employing partition keys and queue numbering, the data congestion problem in RDMA communication is solved, and efficient data transmission path load balancing is achieved.

CN120880981APending Publication Date: 2025-10-31CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510996910.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-18
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

When the network scales up, data congestion during data transmission via RDMA communication technology can increase the burden on the transmission path and affect the overall data transmission efficiency.

Method used

The intermediate node receives data packets to be transmitted from the source node. Based on the source address, destination address, and protocol type encapsulated in the data packet, it determines the transmission path and transmits the data packet to the destination node through the path. It uses partition keys and queue numbers to identify application layer information, thereby achieving data type differentiation and load balancing.

Benefits of technology

It improves data transmission efficiency, prevents data transmission congestion caused by increased data volume, and achieves load balancing of the transmission path.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120880981A_ABST
    Figure CN120880981A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of network technology communication, in particular to a data transmission method and device, computer equipment and a storage medium. The method comprises the following steps: receiving a to-be-transmitted data packet sent by a source node; determining a transmission path corresponding to the to-be-transmitted data packet according to a source address, a destination address and a protocol type packaged in the to-be-transmitted data packet under the condition that the to-be-transmitted data packet is determined to be the target traffic type; wherein the source address is determined according to the partition key and the queue pair number corresponding to the data packet to be transmitted; and transmitting the data packet to be transmitted to the destination node through the transmission path. According to the invention, the load balancing of the transmission path is realized, the transmission efficiency of data transmission is improved, and the congestion of data transmission caused by the increase of the data volume is prevented.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of network technology and communication technology, and in particular to a data transmission method, apparatus, computer equipment, and storage medium. Background Technology

[0002] RDMA (Remote Direct Memory Access) is a high-performance network communication technology that allows computers to directly access remote memory without CPU intervention, significantly reducing latency, increasing throughput, and reducing host CPU processor overhead.

[0003] However, as the network scale continues to expand, when transmitting data through RDMA communication technology, data congestion will increase the burden on the transmission path, affecting the overall data transmission efficiency. Summary of the Invention

[0004] Therefore, it is necessary to provide a data transmission method, apparatus, computer equipment, and storage medium that can efficiently transmit data, addressing the aforementioned technical problems.

[0005] In a first aspect, this application provides a data transmission method applied to an intermediate node, the method comprising:

[0006] Receive the data packets to be transmitted sent by the source node;

[0007] If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the source address is determined according to the partition key and queue pair number corresponding to the data packet to be transmitted.

[0008] The data packet to be transmitted is transmitted to the destination node through the transmission path.

[0009] In one embodiment, determining the transmission path corresponding to the data packet to be transmitted based on the source address, destination address, and protocol type encapsulated in the data packet includes:

[0010] Based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, determine the path identifier corresponding to the transmission path;

[0011] Based on the path identifier, the transmission path corresponding to the data packet to be transmitted is selected from at least one candidate path.

[0012] In one embodiment, determining the path identifier corresponding to the transmission path based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted includes:

[0013] Perform a triplet hash operation on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value;

[0014] Based on the correspondence between candidate hash values ​​and candidate identifiers, the path identifier corresponding to the transmission path is determined based on the triplet hash value.

[0015] In one embodiment, determining the path identifier corresponding to the transmission path based on the triple hash value according to the correspondence between candidate hash values ​​and candidate identifiers includes:

[0016] Select a reference hash value that is the same as the triple hash value from the candidate hash values ​​recorded in the correspondence relationship;

[0017] The candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

[0018] In one embodiment, the source address is generated by the source node based on the destination node's IPv6 destination prefix identifier, the partition key, the queue pair number, and the source node's IPv6 source prefix identifier.

[0019] In one embodiment, determining that the data packet to be transmitted is a target traffic type includes:

[0020] Obtain the protocol type corresponding to the data packet to be transmitted;

[0021] Based on the protocol type, the data packet to be transmitted is determined to be the target traffic type.

[0022] Secondly, this application also provides a data transmission device configured at an intermediate node, the device comprising:

[0023] The receiving module is used to receive data packets to be transmitted sent by the source node;

[0024] The determination module is used to determine the transmission path corresponding to the data packet to be transmitted based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, when it is determined that the data packet to be transmitted is a target traffic type; wherein, the source address is determined based on the partition key and queue pair number corresponding to the data packet to be transmitted;

[0025] The transmission module is used to transmit the data packet to be transmitted to the destination node through the transmission path.

[0026] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0027] Receive the data packets to be transmitted sent by the source node;

[0028] If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the source address is determined according to the partition key and queue pair number corresponding to the data packet to be transmitted.

[0029] The data packet to be transmitted is transmitted to the destination node through the transmission path.

[0030] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0031] Receive the data packets to be transmitted sent by the source node;

[0032] If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the source address is determined according to the partition key and queue pair number corresponding to the data packet to be transmitted.

[0033] The data packet to be transmitted is transmitted to the destination node through the transmission path.

[0034] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:

[0035] Receive the data packets to be transmitted sent by the source node;

[0036] If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the source address is determined according to the partition key and queue pair number corresponding to the data packet to be transmitted.

[0037] The data packet to be transmitted is transmitted to the destination node through the transmission path.

[0038] The aforementioned data transmission method, apparatus, computer equipment, and storage medium allow intermediate nodes to receive data packets to be transmitted from source nodes. Upon determining that the data packet to be transmitted is a target traffic type, the intermediate node determines the corresponding transmission path based on the source address, destination address, and protocol type encapsulated in the data packet. Then, the data packet is transmitted to the destination node via the transmission path. As can be seen from the above, the source address in this application is determined by the source node based on the partition key and queue pair number corresponding to the data packet to be transmitted. Therefore, when determining the transmission path corresponding to the data packet to be transmitted, this application combines the partition key and queue pair number, thereby enabling the identification of application layer information corresponding to the data packet based on the partition key and queue pair number. This allows for better differentiation of different data packet data types based on the application layer information, allocation of appropriate transmission paths for different data packet data types, load balancing of transmission paths, improved data transmission efficiency, and prevention of data transmission congestion due to increased data volume. Attached Figure Description

[0039] Figure 1 An application environment diagram of a data transmission method provided in this application embodiment;

[0040] Figure 2 A flowchart illustrating the first data transmission method provided in this application embodiment;

[0041] Figure 3 A flowchart illustrating the second data transmission method provided in this application embodiment;

[0042] Figure 4 A flowchart illustrating the third data transmission method provided in this application embodiment;

[0043] Figure 5 A flowchart illustrating the fourth data transmission method provided in this application embodiment;

[0044] Figure 6 This is a structural block diagram of a first data transmission device provided in an embodiment of this application;

[0045] Figure 7 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0046] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0047] The data transmission method provided in this application embodiment can be applied to, for example... Figure 1 In the application environment shown, intermediate node 102 communicates with source node 103 and destination node 104 via a network. The intermediate node receives data packets to be transmitted from the source node. If the data packet is determined to be of the target traffic type, the intermediate node determines the corresponding transmission path based on the source address, destination address, and protocol type encapsulated in the data packet, and then transmits the data packet to the destination node through the transmission path.

[0048] In one embodiment, such as Figure 2 As shown, a data transmission method is provided, which is applied to... Figure 1 Taking intermediate node 102 as an example, the explanation includes the following steps:

[0049] S201, Receive the data packet to be transmitted sent by the source node.

[0050] It should be noted that before transmitting the data packets to be transmitted, an IB traffic "tunnel" based on the IPv6 network needs to be created. Specifically, the source node IPv6 source prefix identifier can be configured on the source node in advance, and the destination node IPv6 destination prefix identifier can be configured on the destination node. This indicates that the source node and the destination node support the data transmission method provided in this application. The source node and the destination node communicate with each other through the extended BGP protocol IPv6 destination prefix identifier and IPv6 source prefix identifier.

[0051] To further explain, to ensure the smooth transmission of data packets, the source node can determine whether the data to be transmitted is the target traffic type and whether the destination prefix of the data to be transmitted is an IPv6 destination prefix identifier before sending the data packet. If so, the data to be transmitted is the target traffic type and the destination prefix of the data to be transmitted is an IPv6 destination prefix identifier. Then, the source node generates a destination address based on the destination node's IPv6 destination prefix identifier, the partition key, the queue pair number, and the source node's IPv6 source prefix identifier, and generates a source address based on the source node's IPv6 source prefix identifier. The source node then encapsulates the data to be transmitted with the source address and destination address to obtain the data packet to be transmitted, and then sends the data packet to be transmitted to the intermediate node.

[0052] The target traffic type can be IB traffic type.

[0053] Specifically, the source address consists of the source node's IPv6 source prefix identifier and the last 64 bits of the address. The IPv6 source prefix identifier is less than or equal to 64 bits. When the IPv6 source prefix identifier is less than 64 bits, the remaining bits are typically padded with zeros to make it equal to 64 bits. The destination address consists of the IPv6 destination prefix identifier, the partition key, and the queue pair number, ordered in the above order. The IPv6 destination prefix identifier is less than or equal to 64 bits. When the IPv6 destination prefix identifier is less than 64 bits, the remaining bits are typically padded with zeros to make it equal to 64 bits. The partition key is 16 bits, and the queue pair number is 24 bits. Data packets to be transmitted from the source site are encapsulated using the aforementioned IPv6 source and destination addresses.

[0054] S202, if it is determined that the data packet to be transmitted is a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted.

[0055] The destination address is determined by the source node based on the partition key and queue pair number corresponding to the data packet to be transmitted.

[0056] It should be noted that the protocol type corresponding to the data packet to be transmitted can be used to determine whether the data packet to be transmitted is the target traffic type.

[0057] It should be noted that when it is necessary to determine the transmission path corresponding to the data packet to be transmitted based on the source address, destination address and protocol type encapsulated in the data packet to be transmitted, the following may be included: determining the path identifier corresponding to the transmission path based on the source address, destination address and protocol type encapsulated in the data packet to be transmitted; and selecting the transmission path corresponding to the data packet to be transmitted from at least one candidate path based on the path identifier.

[0058] S203, the data packet to be transmitted is transmitted to the destination node through the transmission path.

[0059] It should be noted that when the destination node receives the data packet to be transmitted, it can extract the NextHeader field of the data packet to be transmitted and determine whether the NextHeader field is equal to the protocol identifier corresponding to the target traffic type. If they are the same, the data packet to be transmitted is determined to be a data packet of the target traffic type; otherwise, it is processed according to other protocols.

[0060] Furthermore, after determining that the data packet to be transmitted is a data packet of the target traffic type, it can be determined whether the IPv6 destination prefix identifier contained in the data packet to be transmitted is the IPv6 destination prefix identifier exchanged with the source node in advance. If so, the IPv6 header is stripped, and the original data to be transmitted in the data packet to be transmitted is extracted and delivered to the upper layer. If not, the data packet to be transmitted is deleted.

[0061] In the aforementioned data transmission method, the intermediate node receives the data packet to be transmitted from the source node. Upon determining that the data packet is of the target traffic type, it determines the corresponding transmission path based on the source address, destination address, and protocol type encapsulated in the data packet. Then, it transmits the data packet to the destination node through the transmission path. As can be seen from the above, the source address in this application is determined by the source node based on the partition key and queue pair number corresponding to the data packet to be transmitted. Therefore, when determining the transmission path corresponding to the data packet to be transmitted, this application combines the partition key and queue pair number, thereby enabling the identification of the application layer information corresponding to the data packet based on the partition key and queue pair number. This allows for better differentiation of different data packet data types based on the application layer information, allocating suitable transmission paths for different data packet data types, achieving load balancing of transmission paths, improving data transmission efficiency, and preventing data transmission congestion due to increased data volume.

[0062] In one embodiment, such as Figure 3 As shown, when it is necessary to determine the transmission path corresponding to the data packet to be transmitted based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, the following may be included:

[0063] S301, determine the path identifier corresponding to the transmission path based on the source address, destination address and protocol type encapsulated in the data packet to be transmitted.

[0064] It should be noted that when it is necessary to determine the path identifier corresponding to the transmission path based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, the following may be included: performing a triplet hash operation on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value; and determining the path identifier corresponding to the transmission path based on the triplet hash value according to the correspondence between candidate hash values ​​and candidate identifiers.

[0065] Specifically, based on the correspondence between candidate hash values ​​and candidate identifiers, and using the triplet hash value, a reference hash value that is the same as the triplet hash value can be selected from the candidate hash values ​​recorded in the correspondence; then, the candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

[0066] To further explain, if the data packet to be transmitted is determined to be the target traffic type, a triplet hash operation can be performed on the source address, destination address, and protocol type contained in the data packet. If it is determined that the data packet to be transmitted is not the target traffic type, a quintuple-based hash operation is used to determine the quintuple hash value. The quintuple also includes the port number of the source node and the port number of the destination node.

[0067] S302, based on the path identifier, select the transmission path corresponding to the data packet to be transmitted from at least one candidate path.

[0068] In one embodiment of this application, a candidate identifier corresponding to each candidate path can be predetermined. Then, after determining the path identifier, the candidate path with the same candidate identifier and path identifier is used as the transmission path corresponding to the data packet to be transmitted.

[0069] The above data transmission method maps the partition key (PK) and queue pair number (QPN) fields of the BTH to the IPv6 header and encapsulates them, thereby achieving a semantic extension of the IPv6 address of the data packet to be transmitted from "location identifier" to "functional identifier". This allows the target QP to be directly resolved from the IPv6 address, eliminating the negotiation process of traditional RDMA. The network interface card (NIC) can directly identify the QP through the address field, thus accelerating data transmission.

[0070] In one embodiment, such as Figure 4 As shown, when it is necessary to determine that the data packet to be transmitted is a target traffic type, the following may be included:

[0071] S401, Obtain the protocol type corresponding to the data packet to be transmitted.

[0072] It should be noted that when it is necessary to obtain the protocol type corresponding to the data packet to be transmitted, the protocol type can be read according to the position of the field corresponding to the protocol type in the data packet to be transmitted, and the protocol type corresponding to the data packet to be transmitted can be determined according to the value of the corresponding field position.

[0073] In one embodiment of this application, when it is necessary to obtain the protocol type corresponding to the data packet to be transmitted, the following may be included: reading the start position of the IP header; locating the offset of the protocol type field according to the IP version number (i.e., IPv6), and then extracting the field value and mapping it to the protocol type table to obtain the protocol type corresponding to the data packet to be transmitted.

[0074] S402, Based on the protocol type, determine that the data packet to be transmitted is a target traffic type.

[0075] In one embodiment of this application, when it is necessary to determine that the data packet to be transmitted is a target traffic type, a mapping relationship between protocol type and traffic type can be preset. Therefore, after determining the protocol type, the data packet to be transmitted can be determined to be a target traffic type according to the mapping relationship.

[0076] The above data transmission method determines the target traffic type of the data packet to be transmitted by identifying the protocol type corresponding to the data packet to be transmitted, thus providing a foundation for the smooth progress of subsequent processes. This improves the transmission efficiency of data transmission and prevents data transmission congestion caused by the increase in data volume.

[0077] In one embodiment, such as Figure 5 As shown, when data transmission of the data packet to be transmitted is required, the following may be included:

[0078] S501 receives the data packet to be transmitted sent by the source node.

[0079] S502, Obtain the protocol type corresponding to the data packet to be transmitted.

[0080] S503, Based on the protocol type, determine that the data packet to be transmitted is a target traffic type.

[0081] S504, perform a triplet hash operation on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value.

[0082] S505, Select a reference hash value that is the same as the hash value of the triplet from the candidate hash values ​​recorded in the correspondence relationship.

[0083] S506, the candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

[0084] S507, based on the path identifier, select the transmission path corresponding to the data packet to be transmitted from at least one candidate path; wherein, the destination address is determined by the source node based on the partition key and queue pair number corresponding to the data packet to be transmitted.

[0085] S508, the data packet to be transmitted is transmitted to the destination node through the transmission path.

[0086] In the aforementioned data transmission method, the intermediate node receives the data packet to be transmitted from the source node. Upon determining that the data packet is of the target traffic type, it determines the corresponding transmission path based on the source address, destination address, and protocol type encapsulated in the data packet. Then, it transmits the data packet to the destination node through the transmission path. As can be seen from the above, the source address in this application is determined by the source node based on the partition key and queue pair number corresponding to the data packet to be transmitted. Therefore, when determining the transmission path corresponding to the data packet to be transmitted, this application combines the partition key and queue pair number, thereby enabling the identification of the application layer information corresponding to the data packet based on the partition key and queue pair number. This allows for better differentiation of different data packet data types based on the application layer information, allocating suitable transmission paths for different data packet data types, achieving load balancing of transmission paths, improving data transmission efficiency, and preventing data transmission congestion due to increased data volume.

[0087] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0088] Based on the same inventive concept, this application also provides a data transmission apparatus for implementing the data transmission method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, specific limitations in one or more data transmission apparatus embodiments provided below can be found in the limitations of the data transmission method described above, and will not be repeated here.

[0089] In one embodiment, such as Figure 6 As shown, a data transmission device is provided, comprising: a receiving module 10, a determining module 20, and a transmitting module 30, wherein:

[0090] The receiving module 10 is used to receive the data packet to be transmitted sent by the source node;

[0091] The determining module 20 is used to determine the transmission path corresponding to the data packet to be transmitted based on the source address, destination address and protocol type encapsulated in the data packet to be transmitted when it is determined that the data packet to be transmitted is a target traffic type; wherein, the destination address is determined based on the partition key and queue pair number corresponding to the data packet to be transmitted;

[0092] The transmission module 30 is used to transmit the data packet to be transmitted to the destination node through the transmission path.

[0093] In one embodiment, the path identifier corresponding to the transmission path is determined based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted;

[0094] Based on the path identifier, the transmission path corresponding to the data packet to be transmitted is selected from at least one candidate path.

[0095] In one embodiment, a triplet hash operation is performed on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value;

[0096] Based on the correspondence between candidate hash values ​​and candidate identifiers, the path identifier corresponding to the transmission path is determined based on the triplet hash value.

[0097] In one embodiment, a reference hash value that is the same as the triple hash value is selected from the candidate hash values ​​recorded in the correspondence relationship;

[0098] The candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

[0099] In one embodiment, the destination address is generated by the source node based on the destination node's IPv6 destination prefix identifier, the partition key, the queue pair number, and the source node's IPv6 source prefix identifier.

[0100] In one embodiment, the protocol type corresponding to the data packet to be transmitted is obtained;

[0101] Based on the protocol type, the data packet to be transmitted is determined to be the target traffic type.

[0102] In the aforementioned data transmission device, intermediate nodes receive data packets to be transmitted from source nodes. Upon determining that the data packet represents a target traffic type, the intermediate nodes determine the corresponding transmission path based on the source address, destination address, and protocol type encapsulated within the data packet. Then, the data packet is transmitted to the destination node via this transmission path. As can be seen from the above, the source address in this application is determined by the source node based on the partition key and queue pair number corresponding to the data packet. Therefore, when determining the transmission path for the data packet, this application combines the partition key and queue pair number, thereby enabling the identification of application layer information corresponding to the data packet based on the partition key and queue pair number. This allows for better differentiation of different data packet data types based on the application layer information, allocation of appropriate transmission paths for different data types, load balancing of transmission paths, improved data transmission efficiency, and prevention of data congestion due to increased data volume.

[0103] Each module in the aforementioned data transmission device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0104] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 7As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a data transmission method. The display unit is used to form a visually visible image and can be a display screen, projection device, or virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.

[0105] Those skilled in the art will understand that Figure 7 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0106] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0107] Receive the data packets to be transmitted sent by the source node;

[0108] If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the destination address is determined by the source node according to the partition key and queue pair number corresponding to the data packet to be transmitted;

[0109] The data packet to be transmitted is transmitted to the destination node through the transmission path.

[0110] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0111] Based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, determine the path identifier corresponding to the transmission path;

[0112] Based on the path identifier, the transmission path corresponding to the data packet to be transmitted is selected from at least one candidate path.

[0113] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0114] Perform a triplet hash operation on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value;

[0115] Based on the correspondence between candidate hash values ​​and candidate identifiers, the path identifier corresponding to the transmission path is determined based on the triplet hash value.

[0116] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0117] Select a reference hash value that is the same as the triple hash value from the candidate hash values ​​recorded in the correspondence relationship;

[0118] The candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

[0119] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0120] The destination address is generated by the source node based on the destination node's IPv6 destination prefix identifier, the partition key, the queue pair number, and the source node's IPv6 source prefix identifier.

[0121] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0122] Obtain the protocol type corresponding to the data packet to be transmitted;

[0123] Based on the protocol type, the data packet to be transmitted is determined to be the target traffic type.

[0124] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0125] Receive the data packets to be transmitted sent by the source node;

[0126] If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the destination address is determined by the source node according to the partition key and queue pair number corresponding to the data packet to be transmitted;

[0127] The data packet to be transmitted is transmitted to the destination node through the transmission path.

[0128] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0129] Based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, determine the path identifier corresponding to the transmission path;

[0130] Based on the path identifier, the transmission path corresponding to the data packet to be transmitted is selected from at least one candidate path.

[0131] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0132] Perform a triplet hash operation on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value;

[0133] Based on the correspondence between candidate hash values ​​and candidate identifiers, the path identifier corresponding to the transmission path is determined based on the triplet hash value.

[0134] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0135] Select a reference hash value that is the same as the triple hash value from the candidate hash values ​​recorded in the correspondence relationship;

[0136] The candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

[0137] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0138] The destination address is generated by the source node based on the destination node's IPv6 destination prefix identifier, the partition key, the queue pair number, and the source node's IPv6 source prefix identifier.

[0139] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0140] Obtain the protocol type corresponding to the data packet to be transmitted;

[0141] Based on the protocol type, the data packet to be transmitted is determined to be the target traffic type.

[0142] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0143] Receive the data packets to be transmitted sent by the source node;

[0144] If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the destination address is determined by the source node according to the partition key and queue pair number corresponding to the data packet to be transmitted;

[0145] The data packet to be transmitted is transmitted to the destination node through the transmission path.

[0146] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0147] Based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, determine the path identifier corresponding to the transmission path;

[0148] Based on the path identifier, the transmission path corresponding to the data packet to be transmitted is selected from at least one candidate path.

[0149] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0150] Perform a triplet hash operation on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value;

[0151] Based on the correspondence between candidate hash values ​​and candidate identifiers, the path identifier corresponding to the transmission path is determined based on the triplet hash value.

[0152] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0153] Select a reference hash value that is the same as the triple hash value from the candidate hash values ​​recorded in the correspondence relationship;

[0154] The candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

[0155] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0156] The destination address is generated by the source node based on the destination node's IPv6 destination prefix identifier, the partition key, the queue pair number, and the source node's IPv6 source prefix identifier.

[0157] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0158] Obtain the protocol type corresponding to the data packet to be transmitted;

[0159] Based on the protocol type, the data packet to be transmitted is determined to be the target traffic type.

[0160] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0161] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0162] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0163] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A data transmission method, characterized in that, Applied to intermediate nodes, the method includes: Receive the data packets to be transmitted sent by the source node; If the data packet to be transmitted is determined to be a target traffic type, the transmission path corresponding to the data packet to be transmitted is determined according to the source address, destination address and protocol type encapsulated in the data packet to be transmitted; wherein, the destination address is determined by the source node according to the partition key and queue pair number corresponding to the data packet to be transmitted; The data packet to be transmitted is transmitted to the destination node through the transmission path.

2. The method according to claim 1, characterized in that, The step of determining the transmission path corresponding to the data packet to be transmitted based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted includes: Based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, determine the path identifier corresponding to the transmission path; Based on the path identifier, the transmission path corresponding to the data packet to be transmitted is selected from at least one candidate path.

3. The method according to claim 2, characterized in that, The step of determining the path identifier corresponding to the transmission path based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted includes: Perform a triplet hash operation on the source address, destination address, and protocol type contained in the data packet to be transmitted to obtain a triplet hash value; Based on the correspondence between candidate hash values ​​and candidate identifiers, the path identifier corresponding to the transmission path is determined based on the triplet hash value.

4. The method according to claim 3, characterized in that, The step of determining the path identifier corresponding to the transmission path based on the triple hash value, according to the correspondence between candidate hash values ​​and candidate identifiers, includes: Select a reference hash value that is the same as the triple hash value from the candidate hash values ​​recorded in the correspondence relationship; The candidate identifier corresponding to the reference hash value in the correspondence is used as the path identifier corresponding to the transmission path.

5. The method according to claim 1, characterized in that, The destination address is generated by the source node based on the destination node's IPv6 destination prefix identifier, the partition key, the queue pair number, and the source node's IPv6 source prefix identifier.

6. The method according to claim 1, characterized in that, Determining that the data packet to be transmitted is the target traffic type includes: Obtain the protocol type corresponding to the data packet to be transmitted; Based on the protocol type, the data packet to be transmitted is determined to be the target traffic type.

7. A data transmission device, characterized in that, The device, configured at an intermediate node, includes: The receiving module is used to receive data packets to be transmitted sent by the source node; The determination module is used to determine the transmission path corresponding to the data packet to be transmitted based on the source address, destination address, and protocol type encapsulated in the data packet to be transmitted, when it is determined that the data packet to be transmitted is a target traffic type; wherein, the destination address is determined based on the partition key and queue pair number corresponding to the data packet to be transmitted; The transmission module is used to transmit the data packet to be transmitted to the destination node through the transmission path.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.