Data transmission method and device, computer program product, and electronic device

By processing the data size of the data to be transmitted, determining the traffic type and adjusting the display congestion notification value, the network efficiency reduction caused by limited cache space of the switch is solved, and efficient data transmission and network load balancing are achieved.

CN119052181BActive Publication Date: 2025-03-04CHINA TELECOM CORP LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411523742.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-29
Publication Date
2025-03-04
Estimated Expiration
2044-10-29

AI Technical Summary

Technical Problem

In large-scale high-performance lossless networks, switches cannot cache full flow information due to memory limitations, resulting in mixed buffering of large and small traffic of the same priority. Delay-sensitive small streams and bandwidth-sensitive large streams interact with each other, frequently generating congestion signals, resulting in a decrease in bandwidth utilization and an increase in data transmission delay.

Method used

By obtaining the data size of the data to be transmitted, assigning the reserved bits in the protocol according to the data size, determining the traffic type and setting the display congestion notification value, sending the connection request and display congestion notification value to the switch based on the modified protocol, so that the switch can modify the display congestion notification value according to these protocols, obtaining the target display congestion notification value, and adjusting the transmission rate according to this value.

Benefits of technology

The multiplexing of existing transmission protocols is achieved, avoiding the problem of efficiency reduction caused by limited cache space of switches, reducing pressure on switches, improving network transmission efficiency, ensuring network load balancing, and improving the performance and reliability of the overall network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119052181B_ABST
    Figure CN119052181B_ABST
Patent Text Reader

Abstract

The present disclosure is about a data transmission method and device, a computer program product, and an electronic device, and relates to the field of computer technology. The method includes: obtaining the data size of the data to be transmitted, assigning the reserved bits in the first protocol to obtain the third protocol according to the data size, and assigning the reserved bits in the second protocol to obtain the fourth protocol; determining the traffic type corresponding to the data to be transmitted according to the data size, and setting the display congestion notification value according to the traffic type; sending the connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain the target display congestion notification value; receiving the target display congestion notification value, and adjusting the transmission rate of the data to be transmitted according to the target display congestion notification value. The present disclosure reduces the data transmission delay.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] In large-scale, high-performance, lossless networks, traffic control and PFC (Priority Flow Control) priority configurations are used to manage different types of traffic differently. These mechanisms ensure that critical applications can obtain sufficient bandwidth and low latency when the network is congested, thereby ensuring quality of service.

[0003] However, since the switch is limited by its memory size and cannot cache the full flow information, and cannot use complex logic to determine the size and type of the flow based on the data transmission delay requirements, the switch can only cache large and small flows of the same priority level together. The delay-sensitive small flows and bandwidth-sensitive large flows interact with each other, causing congestion signals to be generated more frequently. The data sender will reduce the data transmission rate based on the congestion signal, resulting in a decrease in bandwidth utilization and an increase in data transmission delay.

[0004] Therefore, a new data transmission method needs to be provided.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0006] The purpose of the present disclosure is to provide a data transmission method, a data transmission device, a computer program product and an electronic device, thereby overcoming the problems of decreased bandwidth utilization and increased data transmission delay caused by the limitations and defects of related technologies, at least to a certain extent.

[0007] According to one aspect of the present disclosure, a data transmission method is provided, including:

[0008] Acquire the data size of the data to be transmitted, and assign values ​​to the reserved bits in the first protocol to obtain the third protocol according to the data size, and assign values ​​to the reserved bits in the second protocol to obtain the fourth protocol;

[0009] Determine a traffic type corresponding to the data to be transmitted according to the data size, and set a display congestion notification value according to the traffic type;

[0010] sending a connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value;

[0011] The target display congestion notification value is received, and a transmission rate of the to-be-transmitted data is adjusted according to the target display congestion notification value.

[0012] In an exemplary embodiment of the present disclosure, assigning a reserved bit in the first protocol according to the data size to obtain a third protocol includes:

[0013] The reserved bit of the IP protocol used for data transmission is assigned a value according to the data size, and the value of the reserved bit is set to 1 to obtain the third protocol.

[0014] In an exemplary embodiment of the present disclosure, assigning a value to a reserved bit in the second protocol to obtain a fourth protocol includes:

[0015] When the data size is greater than a preset value, the data size is modified to the preset value, and a reserved bit in a basic transmission header of the RDMA protocol stack is assigned a value according to the preset value to obtain the fourth protocol; wherein the value of the reserved bit is equal to the preset value;

[0016] When the data size is not greater than the preset value, a reserved bit in a basic transmission header of the RDMA protocol stack is assigned a value according to the data size to obtain the fourth protocol; wherein the value of the reserved bit is equal to the data size.

[0017] In an exemplary embodiment of the present disclosure, determining the traffic type corresponding to the to-be-transmitted data according to the data size, and setting a display congestion notification value according to the traffic type includes:

[0018] Determine a data center corresponding to the data to be transmitted, and determine a traffic type corresponding to the data to be transmitted according to the data flow distribution of the data center; wherein the traffic type is a first traffic type or a second traffic type;

[0019] The method further comprises: setting a display congestion notification value according to the first traffic type or the second traffic type. In an exemplary embodiment of the present disclosure, extracting a reserved bit in a third protocol corresponding to sending the connection request comprises:

[0020] Obtaining a destination port number in a user datagram protocol, and determining whether a flow for transmitting the data to be transmitted is a flow based on RDMA according to the destination port number;

[0021] If yes, extract the reserved bits in the third protocol and the reserved bits in the fourth protocol;

[0022] If not, the explicit congestion notification value is sent to the receiving end, so that the receiving end returns the explicit congestion notification value to the sending end, and the sending end adjusts the transmission rate according to the explicit congestion notification value.

[0023] In an exemplary embodiment of the present disclosure, extracting the reserved bits in the fourth protocol and parsing the reserved bits in the fourth protocol to obtain the data size of the data to be transmitted includes:

[0024] When the reserved bit in the third protocol is 1, extracting the reserved bit in the fourth protocol;

[0025] The value of the reserved bit in the fourth protocol is converted, and the converted value is determined as the data size of the data to be transmitted.

[0026] In an exemplary embodiment of the present disclosure, obtaining a display congestion notification configuration value, and modifying the display congestion notification value according to the data size and the display congestion notification configuration value to obtain a target display congestion notification value includes:

[0027] Get buffer depth and display congestion notification configuration values;

[0028] The display congestion notification value is modified according to the data size, the buffer depth, and the display congestion notification configuration value to obtain the target display congestion notification value.

[0029] According to one aspect of the present disclosure, a data transmission method is provided, including:

[0030] receiving a connection request and a display congestion notification value sent by a sending end, and extracting a reserved bit in a third protocol corresponding to sending the connection request;

[0031] When the reserved bits in the third protocol meet the requirements, extracting the reserved bits in the fourth protocol, and parsing the reserved bits in the fourth protocol to obtain the data size of the data to be transmitted;

[0032] Obtain a display congestion notification configuration value, modify the display congestion notification value according to the data size and the display congestion notification configuration value, obtain a target display congestion notification value, and send the target display congestion notification value to a receiving end, so that the receiving end returns the target display congestion notification value to the sending end, and the sending end adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0033] According to one aspect of the present disclosure, there is provided a data transmission device, comprising:

[0034] A protocol assignment module, used for obtaining the data size of the data to be transmitted, assigning the reserved bits in the first protocol to obtain the third protocol according to the data size, and assigning the reserved bits in the second protocol to obtain the fourth protocol;

[0035] A congestion notification setting module, used to determine the traffic type corresponding to the data to be transmitted according to the data size, and set a display congestion notification value according to the traffic type;

[0036] a congestion notification modification module, configured to send a connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value;

[0037] The transmission rate adjustment module is used to receive the target display congestion notification value and adjust the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0038] According to one aspect of the present disclosure, there is provided a data transmission device, comprising:

[0039] A reserved bit extraction module, configured to receive a connection request and a display congestion notification value sent by a sending end, and extract a reserved bit in a third protocol corresponding to sending the connection request;

[0040] A data size determination module, configured to extract the reserved bits in the fourth protocol when the reserved bits in the third protocol meet the requirements, and parse the reserved bits in the fourth protocol to obtain the data size of the data to be transmitted;

[0041] A congestion notification sending module is used to obtain a display congestion notification configuration value, modify the display congestion notification value according to the data size and the display congestion notification configuration value to obtain a target display congestion notification value, and send the target display congestion notification value to a receiving end, so that the receiving end returns the target display congestion notification value to the sending end, and the sending end adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0042] According to one aspect of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the data transmission method described in any of the above exemplary embodiments is implemented.

[0043] According to one aspect of the present disclosure, there is provided an electronic device, including:

[0044] A processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the data transmission method described in any of the above exemplary embodiments by executing the executable instructions.

[0045] A data transmission method provided by an embodiment of the present disclosure includes obtaining a data size of data to be transmitted, assigning a reserved bit in a first protocol to obtain a third protocol according to the data size, and assigning a reserved bit in a second protocol to obtain a fourth protocol; determining a traffic type corresponding to the data to be transmitted according to the data size, and setting a display congestion notification value according to the traffic type; sending a connection request corresponding to the data to be transmitted and the display congestion notification value to a switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value; receiving the target display congestion notification value, and adjusting the transmission rate of the data to be transmitted according to the target display congestion notification value. First, the data size of the data to be transmitted is obtained, and the reserved bits in the first protocol are assigned according to the size of the data to be transmitted to obtain the third protocol, and the reserved bits in the second protocol are assigned to obtain the fourth protocol. The data to be transmitted is transmitted based on the third protocol and the fourth protocol, thereby realizing the reuse of the existing transmission protocols, and there is no cost and price for use and deployment; second, after determining the data size of the data to be transmitted, the traffic type corresponding to the data packet of the data to be transmitted is determined according to the data size, and a display congestion notification value is set according to the traffic type, and the display congestion notification value is sent to the switch, and the traffic is labeled by displaying the congestion notification. Therefore, the switch does not need to use The additional memory space records the traffic and traffic type, avoiding the problem of decreased efficiency due to limited switch cache space; thirdly, after the switch receives the display congestion notification value, the display congestion notification value can be modified to obtain the target display congestion notification value, wherein the switch judges the display congestion notification value and then modifies it, so that the switch CPU and memory spend the least time, greatly reducing the pressure on the switch and improving network transmission efficiency; fourthly, the target display congestion notification is received, and the transmission rate of the data to be transmitted is differentially controlled according to the target display congestion notification value, ensuring load balancing in the network and improving the performance and reliability of the overall network.

[0046] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.

[0048] Figure 1 The following schematically shows a flow chart of a data transmission method according to an exemplary embodiment of the present disclosure.

[0049] Figure 2 A flowchart of a method for assigning values ​​to reserved bits in a second protocol to obtain a fourth protocol according to an exemplary embodiment of the present disclosure is schematically shown.

[0050] Figure 3 A flowchart of a method for determining a traffic type corresponding to data to be transmitted according to data size and setting a display congestion notification value according to the traffic type according to an exemplary embodiment of the present disclosure is schematically shown.

[0051] Figure 4 The following schematically shows a flow chart of a data transmission method according to an exemplary embodiment of the present disclosure.

[0052] Figure 5 A flowchart of a method for extracting a reserved bit in a third protocol corresponding to sending the connection request according to an exemplary embodiment of the present disclosure is schematically shown.

[0053] Figure 6 A flowchart of a method for extracting reserved bits in a fourth protocol and parsing the reserved bits in the fourth protocol to obtain the data size of data to be transmitted according to an exemplary embodiment of the present disclosure is schematically shown.

[0054] Figure 7 A flowchart of a method for modifying a display congestion notification value according to data size and a display congestion notification configuration value according to an exemplary embodiment of the present disclosure is schematically shown.

[0055] Figure 8 A block diagram schematically shows a data transmission device according to an exemplary embodiment of the present disclosure.

[0056] Fig. 9 A block diagram schematically shows a data transmission device according to an exemplary embodiment of the present disclosure.

[0057] Fig.10 An electronic device for implementing the above data transmission method according to an exemplary embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0058] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein; on the contrary, these embodiments are provided so that the present disclosure will be more comprehensive and complete, and the concepts of the example embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.

[0059] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.

[0060] In large-scale, high-performance, lossless networks, traffic control and PFC priority configurations are used to manage different types of traffic. These mechanisms ensure that critical applications, such as real-time data transmission or high-priority transactions, can obtain sufficient bandwidth and low latency when the network is congested, thereby ensuring quality of service. However, for traffic of the same priority, the switch does not classify traffic based on the size of the traffic.

[0061] The switch does not classify the size of traffic at the same priority because the switch is limited by the memory size and cannot cache the full flow information. It cannot use complex logic to determine the size and type of traffic based on the data transmission delay requirements. Therefore, the switch can only cache large and small traffic together. The interaction between delay-sensitive small flows and bandwidth-sensitive large flows will cause congestion signals to be generated more frequently. The congestion control algorithm based on network load signals will be interfered by this phenomenon and control the flow rate more aggressively, which will eventually lead to increased latency and reduced bandwidth utilization.

[0062] Based on one or more of the above problems, this exemplary embodiment first provides a data transmission method, which can be run on a terminal device; of course, those skilled in the art can also run the method of the present invention on other platforms as required, and this exemplary embodiment does not specifically limit this. Figure 1 As shown, the data transmission method may include steps S110 to S140:

[0063] Step S110. Obtain the data size of the data to be transmitted, assign the reserved bit in the first protocol to obtain the third protocol according to the data size, and assign the reserved bit in the second protocol to obtain the fourth protocol;

[0064] Step S120. Determine the traffic type corresponding to the data to be transmitted according to the data size, and set the display congestion notification value according to the traffic type;

[0065] Step S130. Based on the third protocol and the fourth protocol, the connection request corresponding to the data to be transmitted and the display congestion notification value are sent to the switch, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value;

[0066] Step S140: Receive the target display congestion notification value, and adjust the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0067] The data transmission method obtains the data size of the data to be transmitted, assigns the reserved bits in the first protocol to obtain the third protocol according to the data size, and assigns the reserved bits in the second protocol to obtain the fourth protocol; determines the traffic type corresponding to the data to be transmitted according to the data size, and sets the display congestion notification value according to the traffic type; sends the connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain the target display congestion notification value; receives the target display congestion notification value, and adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value. First, the data size of the data to be transmitted is obtained, and the reserved bits in the first protocol are assigned according to the size of the data to be transmitted to obtain the third protocol, and the reserved bits in the second protocol are assigned to obtain the fourth protocol. The data to be transmitted is transmitted based on the third protocol and the fourth protocol, thereby realizing the reuse of the existing transmission protocols, and there is no cost and price for use and deployment; second, after determining the data size of the data to be transmitted, the traffic type corresponding to the data packet of the data to be transmitted is determined according to the data size, and a display congestion notification value is set according to the traffic type, and the display congestion notification value is sent to the switch, and the traffic is labeled by displaying the congestion notification. Therefore, the switch does not need to use The additional memory space records the traffic and traffic type, avoiding the problem of decreased efficiency due to limited switch cache space; thirdly, after the switch receives the display congestion notification value, the display congestion notification value can be modified to obtain the target display congestion notification value, wherein the switch judges the display congestion notification value and then modifies it, so that the switch CPU and memory spend the least time, greatly reducing the pressure on the switch and improving network transmission efficiency; fourthly, the target display congestion notification is received, and the transmission rate of the data to be transmitted is differentially controlled according to the target display congestion notification value, ensuring load balancing in the network and improving the performance and reliability of the overall network.

[0068] In the following, each step involved in the data transmission method according to the exemplary embodiment of the present disclosure is explained and illustrated in detail.

[0069] First, the application scenarios and purposes of the exemplary embodiments of the present disclosure are explained and illustrated. Specifically, the exemplary embodiments of the present disclosure can be applied to terminal devices to adjust the transmission rate of data to be transmitted, and mainly study how to classify the traffic size according to the traffic distribution of the data center and the capabilities of the switch itself, and then perform differentiated operations and configurations for different types of traffic, ensure load balancing in the network, and improve the overall performance and reliability of the network.

[0070] The present disclosure is based on a CLOS network architecture, which uses a combination of multi-level switches to achieve high redundancy and scalability through a hierarchical connection method. The switches are directly connected using optical fibers or copper wires for normal communication; high-performance data transmission and communication are achieved on Ethernet through RoCE (RDMA over Converged Ethernet). Based on the data size of the data to be transmitted, the sending end modifies the first protocol and the second protocol according to the data size to obtain the third protocol and the fourth protocol respectively, and at the same time determines the traffic type corresponding to the data to be transmitted according to the data size, and sets the display congestion notification value according to the traffic type, and sends the connection request and the display congestion notification value corresponding to the data to be transmitted to the switch based on the third protocol and the fourth protocol. After the switch receives the display congestion notification value, it modifies the display congestion notification value according to its own capability to obtain the target display congestion notification value, and sends the data to be transmitted and the target display congestion notification value to the receiving end. After the receiving end receives the target display congestion notification value, it transmits the target display congestion notification value back to the sending end, and the sending end adjusts the data transmission rate of the data to be transmitted according to the target display congestion notification value.

[0071] Next, steps S110 to S140 are explained and illustrated in detail.

[0072] In step S110, the data size of the data to be transmitted is obtained, and according to the data size, the reserved bits in the first protocol are assigned values ​​to obtain the third protocol, and the reserved bits in the second protocol are assigned values ​​to obtain the fourth protocol.

[0073] Among them, the sending end application layer prepares the data to be transmitted and obtains the data size of the data to be transmitted, and the unit of the data size is kb. After obtaining the data size of the data to be transmitted, the sending end prepares a connection request data packet according to the data to be transmitted according to the RDMA connection establishment standard. The first protocol can be the IP protocol, which is a network protocol used to identify and locate computer devices on the Internet; the second protocol can be the RDMA BTH (Remote Direct Memory Access BaseTransport Header) protocol, which is used for the basic transmission header in the RDMA (Remote Direct Memory Access) protocol stack to control and manage remote memory access operations. Bits are reserved in the IP protocol header, and the reserved bits are reserved bits, which are used for future protocol expansion or to achieve specific needs.

[0074] In this example embodiment, the reserved bits of the existing IP protocol and the BTH protocol are reused, and there is no need to modify the protocol or adapt the protocol, and there is no cost and price for use and deployment. In addition, the applied technology belongs to kernel bypass, which does not involve the kernel state, does not require system modification, and there is no cost and price for system modification.

[0075] In this example embodiment, assigning a reserved bit in the first protocol according to the data size to obtain a third protocol includes:

[0076] The reserved bit of the IP protocol used for data transmission is assigned a value according to the data size, and the value of the reserved bit is set to 1 to obtain the third protocol.

[0077] Specifically, after the sender obtains the data size of the data to be sent, it assigns a value to the reserved bit of the IP protocol used to transmit the data according to the data size, where the reserved bit is the 48th bit, and sets the value of the reserved bit to 1 to obtain the third protocol.

[0078] refer to Figure 2 As shown, the assigning of values ​​to the reserved bits in the second protocol to obtain the fourth protocol includes:

[0079] Step S210. When the data size is greater than a preset value, the data size is modified to the preset value, and a reserved bit in the basic transmission header of the RDMA protocol stack is assigned a value according to the preset value to obtain the fourth protocol; wherein the value of the reserved bit is equal to the preset value;

[0080] Step S220. When the data size is not greater than the preset value, assign a value to a reserved bit in a basic transmission header of the RDMA protocol stack according to the data size to obtain the fourth protocol; wherein the value of the reserved bit is equal to the data size.

[0081] In the following, step S210 and step S220 will be further explained and illustrated. Specifically, the 23rd to 47th bits in the BTH protocol are reserved bits, a total of 8 bits, and the maximum value that can be carried is 255. Therefore, it is necessary to determine whether the data size of the data to be transmitted exceeds the preset value. The preset value can be 255. When the data size of the data to be transmitted is greater than the preset value, the size of the data to be transmitted is set to the preset value, and the 23rd to 47th bits in the basic transmission header of the RDMA BTH protocol are assigned according to the preset value to obtain the fourth protocol; when the data size of the data to be transmitted is less than or equal to the preset value, the 23rd to 47th bits in the basic transmission header of the RDMA BTH protocol are assigned according to the size of the data to be transmitted to obtain the fourth protocol. When assigning values, the value of the reserved bit is equal to the size of the data to be transmitted.

[0082] In step S120, a traffic type corresponding to the to-be-transmitted data is determined according to the data size, and a display congestion notification value is set according to the traffic type.

[0083] In this example embodiment, the traffic type corresponding to the data to be transmitted is determined according to the traffic distribution of the data size of the data to be transmitted in the data center.

[0084] refer to Figure 3 As shown, determining the traffic type corresponding to the to-be-transmitted data according to the data size, and setting a display congestion notification value according to the traffic type, includes:

[0085] Step S310. Determine the data center corresponding to the data to be transmitted, and determine the traffic type corresponding to the data to be transmitted according to the data flow distribution of the data center; wherein the traffic type is the first traffic type or the second traffic type;

[0086] Step S320. Set a display congestion notification value according to the first traffic type or the second traffic type.

[0087] In the following, step S310 and step S320 will be further explained and illustrated. Specifically, first, determine the data center corresponding to the data to be transmitted, wherein the data center can be a Google data center or a Facebook data center, which is not specifically limited in this example embodiment. Obtain the traffic distribution in the data center, and determine the traffic type corresponding to the data to be transmitted according to the data size of the data to be transmitted and the traffic distribution of the data center, wherein the traffic type can be a large traffic or a small traffic, and the first traffic type can be a large traffic or a small traffic, which is not specifically limited in this example embodiment. After determining the traffic type corresponding to the data to be transmitted according to the traffic distribution of the data center, set the explicit congestion notification value according to the traffic type of the data to be transmitted, that is, set the ECN (Explicit Congestion Notification) value. ECN is a network congestion relief technology. After the network device finds congestion, the network device sends a message carrying a congestion mark to the receiving end server, and the receiving end server notifies the sending end server to reduce the rate of sending the message, thereby alleviating congestion. When setting the congestion notification value, when the traffic type is heavy traffic, set the congestion notification value to 10, and when it is light traffic, set the congestion notification value to 01.

[0088] In the related RDMA technology, only the ECN tag is used to notify the switch to use the ECN function, and 01 and 10 in the ECN protocol are equivalent to the network card and the switch. In this example embodiment, by reusing the 01 and 10 equivalent mechanism of the ECN protocol, the traffic classification capability is increased without changing the original function of ECN, so that the switch can identify different types of traffic.

[0089] In step S130, a connection request corresponding to the data to be transmitted and the display congestion notification value are sent to a switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value.

[0090] After the sending end sets the display congestion notification value, it generates a connection request corresponding to the data to be transmitted. The sending end sends the connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol. After the switch receives the connection request, it parses the protocol to obtain the data size of the data to be transmitted, and modifies the received display congestion notification value according to the parsed data size and the switch's own capabilities, that is, it determines whether the flow corresponding to the data to be transmitted is a large flow according to its own capabilities. When it is a large flow, the received display congestion notification value is modified to 10, and when it is a small flow, the display congestion notification value is not modified to obtain the target display congestion notification value. After obtaining the target display congestion notification value, the switch sends the target display congestion notification value and the connection request corresponding to the data to be transmitted to the receiving end. After receiving the connection request, the receiving end returns the target display congestion notification value to the sending end.

[0091] In this example embodiment, the use of ECN tags allows the traffic itself to carry traffic type tags, so the switch does not need to use additional memory space to record traffic and its type, avoiding the problem of reduced efficiency due to limited switch cache space. In addition, the switch determines the traffic type by judging the ECN tag, which minimizes the time spent on the switch CPU and memory, greatly reducing the pressure on the switch and improving network transmission efficiency.

[0092] In step S140, the target display congestion notification value is received, and the transmission rate of the to-be-transmitted data is adjusted according to the target display congestion notification value.

[0093] The target display congestion notification value is received, and the transmission rate of the data to be transmitted is adjusted according to the returned target display congestion notification value. When the received target display congestion notification value represents a large flow, the transmission rate of the data to be transmitted is reduced, and when the received target display congestion notification value represents a small flow, the transmission rate of the data to be transmitted is not processed.

[0094] The present disclosure also provides a data transmission method, referring to Figure 4 As shown, the data transmission method includes:

[0095] Step S410. Receiving a connection request sent by the sending end and displaying a congestion notification value, extracting a reserved bit in the third protocol corresponding to sending the connection request;

[0096] In this example embodiment, the number of switches may be one or more, and the number of switches is not specifically limited in this example embodiment. When the switch receives the connection request sent by the sender, it first determines whether the traffic corresponding to the connection request is RDMA traffic. Figure 5 As shown, extracting the reserved bit in the third protocol corresponding to sending the connection request includes:

[0097] Step S510 obtains the destination port number in the User Datagram Protocol, and determines whether the flow of transmitting the data to be transmitted is based on RDMA according to the destination port number;

[0098] Step S520. When yes, extracting the reserved bit in the third protocol;

[0099] Step S530: If not, the DCN value is sent to the receiving end, so that the receiving end transmits the DCN value back to the sending end, and the sending end adjusts the transmission rate according to the DCN value.

[0100] In the following, step S510 to step S530 will be further explained and illustrated. Specifically, after the switch receives the connection request, since RoCE integrates the Ethernet network layer and the UDP transport layer, the destination port number in the UDP protocol can be judged to determine whether the traffic for transmitting the data to be transmitted is RDMA-based traffic. When the traffic is RDMA-based traffic, the reserved bit in the third protocol is extracted; when it is not RDMA-based traffic, the received display congestion notification value is sent to the receiving end, and the receiving end returns the display congestion notification value to the sending end. After the sending end receives the display congestion notification value, the transmission rate of the data to be transmitted is adjusted according to the display congestion notification value.

[0101] Step S420: When the reserved bits in the third protocol meet the requirements, extract the reserved bits in the fourth protocol, and parse the reserved bits in the fourth protocol to obtain the data size of the data to be transmitted.

[0102] After extracting the reserved bit of the third protocol, it is necessary to judge the reserved bit. Figure 6 As shown, extracting the reserved bits in the fourth protocol and parsing the reserved bits in the fourth protocol to obtain the data size of the data to be transmitted includes:

[0103] Step S610. When the reserved bit in the third protocol is 1, extracting the reserved bit in the fourth protocol;

[0104] Step S620: Convert the value of the reserved bit in the fourth protocol, and determine the converted value as the data size of the data to be transmitted.

[0105] In the following, step S610 and step S620 will be further explained and illustrated. Specifically, after extracting the reserved bit of the third protocol, the reserved bit of the third protocol is judged. When the value of the reserved bit is 1, it is determined that the received request is a connection request. When the received request is a connection request, the values ​​of the 23rd to 47th bits in the fourth protocol are extracted, and the extracted values ​​are determined as the data size of the data to be transmitted. When the value of the reserved bit is not 1, it is determined that the received request is not a connection request. When the request received by the switch is not a connection request, a display congestion notification value is obtained, and the display congestion notification value is sent to the receiving end. The receiving end transmits the display congestion notification value back to the sending end, and the sending end controls the data transmission rate according to the received display congestion notification value.

[0106] Step S430. Obtain a display congestion notification configuration value, modify the display congestion notification value according to the data size and the display congestion notification configuration value, obtain a target display congestion notification value, and send the target display congestion notification value to the receiving end, so that the receiving end returns the target display congestion notification value to the sending end, and the sending end adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0107] In this exemplary embodiment, after the data size of the data to be transmitted is obtained, the display congestion notification configuration value set in the switch can also be obtained, and the received display congestion configuration value is modified according to the display congestion configuration value. Figure 7 As shown, obtaining a display congestion notification configuration value, modifying the display congestion notification value according to the data size and the display congestion notification configuration value, and obtaining a target display congestion notification value, includes:

[0108] Step S710. Obtaining the buffer depth and displaying the congestion notification configuration value;

[0109] Step S720: Modify the display congestion notification value according to the data size, the buffer depth and the display congestion notification configuration value to obtain the target display congestion notification value.

[0110] In the following, step S710 and step S720 will be further explained and illustrated. Specifically, a display congestion notification configuration value and a buffer depth are obtained, wherein the display congestion notification configuration value is a display congestion notification value configured in the switch, and the buffer depth is the depth of the buffer in the switch; the received display congestion notification is modified according to the obtained buffer depth, the display congestion notification configuration value, and the data size of the extracted data to be transmitted to obtain a target display congestion notification value. That is, when it is determined that the flow corresponding to the data to be transmitted is a large flow according to the buffer depth and the display congestion notification configuration value, the received display congestion notification value is modified to 10; when it is determined that the flow corresponding to the data to be transmitted is a small flow according to the buffer depth and the display congestion notification configuration value, the received display congestion notification value is not processed.

[0111] After obtaining the target display congestion notification value, the target display congestion notification value and the connection request of the sender are sent to the receiving end, and the receiving end returns the target display congestion notification value to the sending end, and the sending end adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value. When the target display notification value received by the sending end is 10, the transmission rate of the data to be transmitted is limited, and when the target display congestion notification value received is 01, the transmission rate of the data to be transmitted is not adjusted.

[0112] The data transmission device provided by the example embodiment of the present disclosure has at least the following advantages: first, the data size of the data to be transmitted is obtained, and the reserved bits in the first protocol are assigned according to the size of the data to be transmitted to obtain the third protocol, and the reserved bits in the second protocol are assigned to obtain the fourth protocol. The data to be transmitted is transmitted based on the third protocol and the fourth protocol, thereby realizing the reuse of the existing transmission protocol, and there is no cost and price for use and deployment; second, after determining the data size of the data to be transmitted, the traffic type corresponding to the data to be transmitted is determined according to the data size, and a display congestion notification value is set according to the traffic type, and the display congestion notification value is sent to the switch, and the traffic is labeled by displaying the congestion notification, so that The switch does not need to use additional memory space to record traffic and traffic type, avoiding the problem of decreased efficiency due to limited switch cache space; thirdly, after the switch receives the display congestion notification value, it can modify the display congestion notification value according to its own capabilities to obtain a target display congestion notification value, wherein the switch judges the display congestion notification value and then modifies it, so that the switch CPU and memory spend the least time, greatly reducing the pressure on the switch and improving network transmission efficiency; fourthly, the target display congestion notification is received, and the transmission rate of the data to be transmitted is differentially controlled according to the target display congestion notification value, ensuring load balancing in the network and improving the performance and reliability of the overall network.

[0113] The exemplary embodiment of the present disclosure also provides a data transmission device, referring to Figure 8 As shown, it may include: a protocol value assignment module 810, a congestion notification setting module 820, a congestion notification modification module 830 and a transmission rate adjustment module 840. Among them:

[0114] The protocol assignment module 810 is used to obtain the data size of the data to be transmitted, and assign the reserved bits in the first protocol to obtain the third protocol according to the data size, and assign the reserved bits in the second protocol to obtain the fourth protocol;

[0115] A congestion notification setting module 820, configured to determine a traffic type corresponding to the data to be transmitted according to the data size, and to set a display congestion notification value according to the traffic type;

[0116] a congestion notification modification module 830, configured to send a connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value;

[0117] The transmission rate adjustment module 840 is configured to receive the target display congestion notification value and adjust the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0118] The exemplary embodiment of the present disclosure also provides a data transmission device, referring to Fig. 9 As shown, it may include: a reserved bit extraction module 910, a data size determination module 920 and a congestion notification sending module 930. Among them:

[0119] A reserved bit extraction module 910, configured to receive a connection request and a display congestion notification value sent by a sending end, and extract a reserved bit in a third protocol corresponding to sending the connection request;

[0120] A data size determination module 920, configured to extract the reserved bits in the fourth protocol when the reserved bits in the third protocol meet the requirements, and parse the reserved bits in the fourth protocol to obtain the data size of the data to be transmitted;

[0121] The congestion notification sending module 930 is used to obtain a display congestion notification configuration value, modify the display congestion notification value according to the data size and the display congestion notification configuration value, obtain a target display congestion notification value, and send the target display congestion notification value to the receiving end, so that the receiving end returns the target display congestion notification value to the sending end, and the sending end adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0122] The specific details of each module in the above data transmission device have been described in detail in the corresponding data transmission method, so they will not be repeated here.

[0123] In an exemplary embodiment of the present disclosure, assigning a reserved bit in the first protocol according to the data size to obtain a third protocol includes:

[0124] The reserved bit of the IP protocol used for data transmission is assigned a value according to the data size, and the value of the reserved bit is set to 1 to obtain the third protocol.

[0125] In an exemplary embodiment of the present disclosure, assigning a value to a reserved bit in the second protocol to obtain a fourth protocol includes:

[0126] When the data size is greater than a preset value, the data size is modified to the preset value, and a reserved bit in a basic transmission header of the RDMA protocol stack is assigned a value according to the preset value to obtain the fourth protocol; wherein the value of the reserved bit is equal to the preset value;

[0127] When the data size is not greater than the preset value, a reserved bit in a basic transmission header of the RDMA protocol stack is assigned a value according to the data size to obtain the fourth protocol; wherein the value of the reserved bit is equal to the data size.

[0128] In an exemplary embodiment of the present disclosure, determining the traffic type corresponding to the to-be-transmitted data according to the data size, and setting a display congestion notification value according to the traffic type includes:

[0129] Determine a data center corresponding to the data to be transmitted, and determine a traffic type corresponding to the data to be transmitted according to the data flow distribution of the data center; wherein the traffic type is a first traffic type or a second traffic type;

[0130] The method further comprises: setting a display congestion notification value according to the first traffic type or the second traffic type. In an exemplary embodiment of the present disclosure, extracting a reserved bit in a third protocol corresponding to sending the connection request comprises:

[0131] Obtaining a destination port number in a user datagram protocol, and determining whether a flow for transmitting the data to be transmitted is a flow based on RDMA according to the destination port number;

[0132] If yes, extract the reserved bits in the third protocol and the reserved bits in the fourth protocol;

[0133] If not, the explicit congestion notification value is sent to the receiving end, so that the receiving end returns the explicit congestion notification value to the sending end, and the sending end adjusts the transmission rate according to the explicit congestion notification value.

[0134] In an exemplary embodiment of the present disclosure, extracting the reserved bits in the fourth protocol and parsing the reserved bits in the fourth protocol to obtain the data size of the data to be transmitted includes:

[0135] When the reserved bit in the third protocol is 1, extracting the reserved bit in the fourth protocol;

[0136] The value of the reserved bit in the fourth protocol is converted, and the converted value is determined as the data size of the data to be transmitted.

[0137] In an exemplary embodiment of the present disclosure, obtaining a display congestion notification configuration value, and modifying the display congestion notification value according to the data size and the display congestion notification configuration value to obtain a target display congestion notification value includes:

[0138] Get buffer depth and display congestion notification configuration values;

[0139] The display congestion notification value is modified according to the data size, the buffer depth, and the display congestion notification configuration value to obtain the target display congestion notification value.

[0140] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0141] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.

[0142] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.

[0143] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as "circuits", "modules" or "systems".

[0144] Refer to the following Fig.10 The electronic device 1000 according to this embodiment of the present disclosure is described. Fig.10 The electronic device 1000 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0145] like Fig.10 As shown, the electronic device 1000 is in the form of a general computing device. The components of the electronic device 1000 may include but are not limited to: at least one processing unit 1010, at least one storage unit 1020, a bus 1030 connecting different system components (including the storage unit 1020 and the processing unit 1010), and a display unit 1040.

[0146] The storage unit stores program codes, which can be executed by the processing unit 1010, so that the processing unit 1010 performs the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processing unit 1010 can perform the following steps: Figure 1 The steps S110 shown in the figure are as follows: obtaining the data size of the data to be transmitted, assigning the reserved bits in the first protocol to obtain the third protocol according to the data size, and assigning the reserved bits in the second protocol to obtain the fourth protocol; S120: determining the traffic type corresponding to the data to be transmitted according to the data size, and setting the display congestion notification value according to the traffic type; S130: sending the connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value; S140: receiving the target display congestion notification value, and adjusting the transmission rate of the data to be transmitted according to the target display congestion notification value.

[0147] The storage unit 1020 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 10201 and / or a cache storage unit 10202 , and may further include a read-only storage unit (ROM) 10203 .

[0148] The storage unit 1020 may also include a program / utility 10204 having a set (at least one) of program modules 10205, such program modules 10205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0149] Bus 1030 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0150] The electronic device 1000 may also communicate with one or more external devices 1100 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1000, and / or may communicate with any device that enables the electronic device 1000 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface 1050. In addition, the electronic device 1000 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) through a network adapter 1060. As shown, the network adapter 1060 communicates with other modules of the electronic device 1000 through a bus 1030. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1000, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0151] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0152] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary implementations of the present disclosure described in the above "Exemplary Method" section of the present specification.

[0153] According to the program product for implementing the above method in the embodiment of the present disclosure, it can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

[0154] The program product may be any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0155] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0156] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0157] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).

[0158] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.

[0159] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not disclosed in the present disclosure. The specification and examples are to be considered as exemplary only, and the true scope and spirit of the present disclosure are indicated by the claims.

Claims

1. A data transmission method, characterized in that: include: Obtain the data size of the data to be transmitted, assign a value to the reserved bit of the IP protocol used for data transmission according to the data size, set the value of the reserved bit to 1, and obtain a third protocol; when the data size is greater than a preset value, modify the data size to the preset value, assign a value to the reserved bit in the basic transmission header of the RDMA protocol stack according to the preset value, and obtain a fourth protocol; wherein the value of the reserved bit is equal to the preset value; when the data size is not greater than the preset value, assign a value to the reserved bit in the basic transmission header of the RDMA protocol stack according to the data size, and obtain the fourth protocol; wherein the value of the reserved bit is equal to the data size; Determine a traffic type corresponding to the data to be transmitted according to the data size, and set a display congestion notification value according to the traffic type; sending a connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value; The target display congestion notification value is received, and a transmission rate of the to-be-transmitted data is adjusted according to the target display congestion notification value.

2. The method according to claim 1, characterized in that: The determining, according to the data size, a traffic type corresponding to the to-be-transmitted data, and setting a display congestion notification value according to the traffic type, includes: Determine a data center corresponding to the data to be transmitted, and determine a traffic type corresponding to the data to be transmitted according to the data flow distribution of the data center; wherein the traffic type is a first traffic type or a second traffic type; A display congestion notification value is set according to the first traffic type or the second traffic type.

3. A data transmission method, characterized in that: include: Receive a connection request and a display congestion notification value sent by a sending end, and extract a reserved bit in a third protocol corresponding to sending the connection request; wherein the third protocol is a protocol obtained by assigning a value to a reserved bit of an IP protocol used for data transmission according to a data size of data to be transmitted; When the reserved bit in the third protocol is 1, extract the reserved bit in the fourth protocol; convert the value of the reserved bit in the fourth protocol, and determine the converted value as the data size of the data to be transmitted; wherein the fourth protocol is a protocol obtained by assigning a value to the reserved bit in the basic transmission header of the RDMA protocol stack according to the data size; Obtain a display congestion notification configuration value, modify the display congestion notification value according to the data size and the display congestion notification configuration value, obtain a target display congestion notification value, and send the target display congestion notification value to a receiving end, so that the receiving end returns the target display congestion notification value to the sending end, and the sending end adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value.

4. The method according to claim 3, characterized in that Extracting a reserved bit in a third protocol corresponding to sending the connection request includes: Obtaining a destination port number in a user datagram protocol, and determining whether a flow for transmitting the data to be transmitted is a flow based on RDMA according to the destination port number; If yes, extract the reserved bits in the third protocol and the reserved bits in the fourth protocol; If not, the explicit congestion notification value is sent to the receiving end, so that the receiving end returns the explicit congestion notification value to the sending end, and the sending end adjusts the transmission rate according to the explicit congestion notification value.

5. The method according to claim 3, characterized in that: Acquiring a display congestion notification configuration value, and modifying the display congestion notification value according to the data size and the display congestion notification configuration value to obtain a target display congestion notification value, including: Get buffer depth and display congestion notification configuration values; The display congestion notification value is modified according to the data size, the buffer depth, and the display congestion notification configuration value to obtain the target display congestion notification value.

6. A data transmission device, characterized in that: include: A protocol assignment module, used to obtain the data size of the data to be transmitted, assign a value to the reserved bit of the IP protocol used for data transmission according to the data size, set the value of the reserved bit to 1, and obtain a third protocol; when the data size is greater than a preset value, modify the data size to the preset value, assign a value to the reserved bit in the basic transmission header of the RDMA protocol stack according to the preset value, and obtain a fourth protocol; wherein the value of the reserved bit is equal to the preset value; when the data size is not greater than the preset value, assign a value to the reserved bit in the basic transmission header of the RDMA protocol stack according to the data size, and obtain the fourth protocol; wherein the value of the reserved bit is equal to the data size; A congestion notification setting module, used to determine the traffic type corresponding to the data to be transmitted according to the data size, and set a display congestion notification value according to the traffic type; a congestion notification modification module, configured to send a connection request corresponding to the data to be transmitted and the display congestion notification value to the switch based on the third protocol and the fourth protocol, so that the switch modifies the display congestion notification value according to the third protocol and the fourth protocol to obtain a target display congestion notification value; The transmission rate adjustment module is used to receive the target display congestion notification value and adjust the transmission rate of the data to be transmitted according to the target display congestion notification value.

7. A data transmission device, characterized in that: include: A reserved bit extraction module, used for receiving a connection request and a display congestion notification value sent by a sending end, and extracting a reserved bit in a third protocol corresponding to sending the connection request; wherein the third protocol is a protocol obtained by assigning a value to a reserved bit of an IP protocol used for data transmission according to a data size of data to be transmitted; A data size determination module, configured to extract a reserved bit in a fourth protocol when the reserved bit in the third protocol is 1; convert the value of the reserved bit in the fourth protocol, and determine the converted value as the data size of the data to be transmitted; wherein the fourth protocol is a protocol obtained by assigning a value to the reserved bit in the basic transmission header of the RDMA protocol stack according to the data size; A congestion notification sending module is used to obtain a display congestion notification configuration value, modify the display congestion notification value according to the data size and the display congestion notification configuration value to obtain a target display congestion notification value, and send the target display congestion notification value to a receiving end, so that the receiving end returns the target display congestion notification value to the sending end, and the sending end adjusts the transmission rate of the data to be transmitted according to the target display congestion notification value.

8. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

9. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to perform the method of any one of claims 1 to 5 by executing the executable instructions.

Citation Information

Patent Citations

  • Network congestion control method and device

    CN111817977A

  • Network congestion notification method and device and storage medium

    CN117354253A