[go: up one dir, main page]

CN119402435A - Data congestion processing method, device, equipment, storage medium and program product - Google Patents

Data congestion processing method, device, equipment, storage medium and program product Download PDF

Info

Publication number
CN119402435A
CN119402435A CN202411970119.1A CN202411970119A CN119402435A CN 119402435 A CN119402435 A CN 119402435A CN 202411970119 A CN202411970119 A CN 202411970119A CN 119402435 A CN119402435 A CN 119402435A
Authority
CN
China
Prior art keywords
data
delay
transmission
sending
round trip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202411970119.1A
Other languages
Chinese (zh)
Other versions
CN119402435B (en
Inventor
刘亚东
谭雨晨
缪葱葱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202411970119.1A priority Critical patent/CN119402435B/en
Publication of CN119402435A publication Critical patent/CN119402435A/en
Application granted granted Critical
Publication of CN119402435B publication Critical patent/CN119402435B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a data congestion processing method, a device, equipment, a storage medium and a program product, and relates to the technical field of computers. The method comprises the steps of receiving a feedback message sent by data receiving equipment in the process of sending the data packet to the data receiving equipment by using a first data sending strategy, responding to the received congestion notification message, determining round trip delay between the data sending equipment and the data receiving equipment based on the feedback message, and sending the data packet to the data receiving equipment by using a second data sending strategy under the condition that the round trip delay meets the preset delay condition. The process enriches the network congestion state information acquisition dimension, and improves the change reaction speed of the data transmission process, improves the data packet transmission efficiency and ensures the transmission accuracy of the data packet by more efficiently acquiring the congestion notification message and the round trip delay. The method and the device can be applied to various scenes such as multimedia data transmission scenes, internet of things scenes and the like.

Description

Data congestion processing method, device, equipment, storage medium and program product
Technical Field
Embodiments of the present application relate to the field of computer technologies, and in particular, to a method, an apparatus, a device, a storage medium, and a program product for processing data congestion.
Background
Data packet transmission is a core technology of computer network communication, and data exchange in data center networks, internets and local area networks all depend on a data packet transmission mechanism.
In the related art, during the data transmission process of forwarding a data packet sent by a sending end to a receiving end through a switch, the switch inserts metadata for the data packet, wherein the metadata is used for representing information, such as a timestamp, a transmission byte and the like, when the data packet leaves an outlet port of the switch, the receiving end copies the metadata in an acknowledgement character (Acknowledge Character, ACK) and feeds back the acknowledgement character to the sending end, and the sending end reduces a data sending window for sending the data packet according to the metadata in the acknowledgement character so as to achieve the purpose of reducing the data transmission quantity.
The above process relies excessively on the metadata inserted by the switch to solve the data congestion problem, however, there may be delay in the process of inserting the metadata by the switch, which may cause the decision time of the transmitting end for reducing the data transmission window to be delayed, and may not be able to effectively and timely cope with the data congestion problem.
Disclosure of Invention
The embodiment of the application provides a data congestion processing method, a device, equipment, a storage medium and a program product, which can enrich the acquisition dimension of network congestion state information, improve the change reaction speed of a data transmission process, improve the transmission efficiency of data packets and ensure the transmission accuracy of the data packets by more efficiently acquiring congestion notification messages and round trip delay. The technical scheme is as follows.
In one aspect, a method for processing data congestion is provided, the method comprising:
receiving a feedback message sent by data receiving equipment in the process of sending a data packet to the data receiving equipment by using a first data sending strategy, wherein the feedback message is information fed back to the data sending equipment by the data receiving equipment based on the received data packet;
determining round trip delay between the data sending device and the data receiving device based on the feedback message in response to receiving a congestion notification message, wherein the congestion notification message is used for representing that data congestion exists in the process that the data sending device sends a data packet to the data receiving device;
And under the condition that the round trip delay accords with a preset delay condition, adopting a second data transmission strategy to transmit data packets to the data receiving equipment, wherein the number of the first data packets transmitted in a unit time period under the first data transmission strategy is larger than the number of the second data packets transmitted in the unit time period under the second data transmission strategy.
In another aspect, there is provided a data congestion processing apparatus, the apparatus comprising:
The receiving module is used for receiving a feedback message sent by the data receiving equipment in the process of sending a data packet to the data receiving equipment by using a first data sending strategy, wherein the feedback message is information fed back to the data sending equipment by the data receiving equipment based on the received data packet;
a determining module, configured to determine a round trip delay between the data sending device and the data receiving device based on the feedback packet in response to receiving a congestion notification packet, where the congestion notification packet is used to characterize that there is data congestion in a process that the data sending device sends a data packet to the data receiving device;
and the sending module is used for sending data packets to the data receiving equipment by adopting a second data sending strategy under the condition that the round trip delay accords with a preset delay condition, wherein the number of the first data packets transmitted in a unit time period under the first data sending strategy is larger than the number of the second data packets transmitted in the unit time period under the second data sending strategy.
In another aspect, a computer device is provided, where the computer device includes a processor and a memory, where the memory stores at least one instruction, at least one program, a code set, or an instruction set, where the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement a data congestion processing method according to any one of the embodiments of the present application.
In another aspect, a computer readable storage medium is provided, where at least one instruction, at least one program, a set of codes, or a set of instructions is stored, where the at least one instruction, the at least one program, the set of codes, or the set of instructions are loaded and executed by a processor to implement a method for handling data congestion according to any one of the embodiments of the present application.
In another aspect, a computer program product or computer program is provided, the computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the data congestion processing method described in any of the above embodiments.
The technical scheme provided by the embodiment of the application has the beneficial effects that at least:
If the data sending device receives the congestion notification message, determining the round trip delay between the data sending device and the data receiving device according to the feedback message, so that under the condition that the round trip delay accords with the preset delay condition, a second data sending strategy with fewer data packets transmitted in a unit time period is adopted to send the data packets to the data receiving device. The problem of data congestion can be solved without depending on inserting metadata into the data packet through a switch, the data packet sending process is not directly regulated by depending on the congestion notification message, the round trip delay between the data sending device and the data receiving device is continuously analyzed on the basis of receiving the congestion notification message, so that the number of data packets transmitted in unit time can be reduced under the condition that two conditions are met, the problem that the data congestion cannot be effectively and timely handled by a mode of inserting metadata is avoided while the network congestion state information acquiring dimension is enriched, the change reaction speed of the data transmission process is improved through the congestion notification message and the round trip delay which are more efficiently acquired, the data packet transmission efficiency is improved, and the data packet transmission accuracy is ensured.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a processing system provided in an exemplary embodiment of the present application;
fig. 2 is a flow chart of a data congestion handling method provided by an exemplary embodiment of the present application;
fig. 3 is a flowchart of a data congestion processing method provided by another exemplary embodiment of the present application;
fig. 4 is a flowchart of a data congestion processing method provided by yet another exemplary embodiment of the present application;
Fig. 5 is a flowchart of a data congestion processing method provided by yet another exemplary embodiment of the present application;
Fig. 6 is a schematic diagram of an architecture for implementing a data congestion processing procedure through a network card according to an exemplary embodiment of the present application;
Fig. 7 is a schematic diagram comparing a data congestion processing method according to an exemplary embodiment of the present application with a processing result of a related art;
Fig. 8 is a schematic diagram comparing a data congestion processing method according to another exemplary embodiment of the present application with a processing result of a related art;
Fig. 9 is a block diagram of a data congestion processing apparatus according to an exemplary embodiment of the present application;
fig. 10 is a block diagram of an electronic device according to an exemplary embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail with reference to the accompanying drawings.
In the related art, during the data transmission process of forwarding a data packet sent by a sending end to a receiving end through a switch, the switch inserts metadata for the data packet, wherein the metadata is used for representing information, such as a timestamp, a transmission byte and the like, when the data packet leaves an outlet port of the switch, the receiving end copies the metadata in an ACK and feeds back the ACK to the sending end, and the sending end reduces a data sending window for sending the data packet according to the metadata in a confirmation character so as to achieve the purpose of reducing the data transmission quantity. The above process relies excessively on the metadata inserted by the switch to solve the data congestion problem, however, there may be delay in the process of inserting the metadata by the switch, which may cause the decision time of the transmitting end for reducing the data transmission window to be delayed, and may not be able to effectively and timely cope with the data congestion problem.
In the embodiment of the application, a data congestion processing method is introduced, and based on the received congestion notification message, the round trip delay between the data sending device and the data receiving device is determined based on the feedback message, so that a second data sending strategy for transmitting fewer data packets in a unit time period is adopted to send the data packets under the condition that the round trip delay accords with a preset delay condition. The method can enrich the network congestion state information acquisition dimension, and simultaneously improve the change reaction speed of the data transmission process, improve the data packet transmission efficiency and ensure the transmission accuracy of the data packets by more efficiently acquiring the congestion notification message and the round trip delay. The data congestion processing method provided by the embodiment of the application can be applied to various large data transmission analysis scenes such as a multimedia data transmission scene, a game data transmission scene, a data center analysis scene, a real-time data flow management scene, an internet of things scene, a satellite data communication scene and the like, and is not limited herein.
It should be noted that, the information (including but not limited to user equipment information, user personal information, etc.), data (including but not limited to data for analysis, stored data, displayed data, etc.) and signals related to the present application are all authorized by the user or are fully authorized by the parties, and the collection, use and processing of the related data need to comply with the relevant laws and regulations and standards of the relevant region. For example, the content of the data packet, the feedback message, the congestion notification message and the like related to the application are all acquired under the condition of full authorization.
The processing system related to the embodiment of the present application is described, and the data congestion processing method provided in the embodiment of the present application may be implemented by at least two terminals through data interaction, or may be implemented by at least two servers through data interaction, or may be implemented by at least two terminals and other devices through data interaction. Alternatively, the data congestion processing method performed by at least two terminals and communication apparatuses is described as an example.
Referring to fig. 1 schematically, the processing system includes at least two terminals, the at least two terminals including a data transmitting device 111 and a data receiving device 112, the data transmitting device 111 being a transmitting end and the data receiving device 112 being a receiving end, and further includes a communication device 120 for communicating between the data transmitting device 111 and the data receiving device 112, the communication device 120 such as a server, a switch, etc., not being limited herein.
In some embodiments, the data transmitting device 111 receives the feedback message sent by the data receiving device 112 during the process of sending the data packet to the data receiving device 112 with the first data sending policy.
The feedback message is information that the data receiving apparatus 112 feeds back to the data transmitting apparatus 111 based on the received data packet.
Illustratively, the data transmitting device 111 is configured to transmit data packets, such as at least one of a plurality of forms of multimedia data packets, voice data packets, mail data packets, file transfer data packets, wireless communication data packets, transmission control protocol/network protocol (Transmission Control Protocol/Internet Protocol, TCP/IP) data packets, and the like, to the data receiving device 112. The first data transmission policy is a policy adopted when the data transmission device 111 transmits a data packet, such as transmitting the data packet using an a-sized transmission window and a B-transmission rate. For example, the data transmitting device 111 transmits the data packet to the data receiving device 112 via the communication device 120 with the first data transmission policy.
Illustratively, the data receiving device 112 sends a feedback message to the data sending device 111 based on the packet reception, alternatively, the feedback message indicates that the data receiving device 112 receives the packet or does not receive the packet, etc.
In some embodiments, the data transmitting device 111 determines a round trip delay between the data transmitting device 111 and the data receiving device 112 based on the feedback message in response to receiving the congestion notification message.
The congestion notification message is used to characterize that there is data congestion in the process that the data sending device 111 sends a data packet to the data receiving device 112.
Alternatively, the congestion notification message is a message sent by the communication device 120 to the data transmission device 111, or the congestion notification message is a message sent by the data reception device 112 to the data transmission device 111 through the communication device 120, or the congestion notification message is a message sent by the data reception device 112 to the data transmission device 111 based on the communication device 120, or the like.
Illustratively, the congestion notification message is a message protocol for notifying the data transmitting apparatus 111 that there is currently data congestion during data transmission of a transmission data packet. Alternatively, when congestion occurs in the communication device 120 (such as a router, a switch, or the like) or the transmission path, the data transmission device 111 is required to reduce the transmission amount of the data packet by transmission of the congestion notification message to relieve network congestion, avoiding network collapse or excessive delay.
Alternatively, the data transmission device 111 determines a round trip delay between the data transmission device 111 and the data reception device 112 based on the transmission time of the data and the reception time of the feedback message, and the round trip delay is used to characterize the total time period that the data packet is transmitted from the data transmission device 111 to the data reception device 112 and the feedback (feedback message) is received by the data transmission device 111.
In some embodiments, the data transmitting device 111 transmits the data packet to the data receiving device 112 using the second data transmission policy in the case that the round trip delay meets the preset delay condition.
The number of the first data packets transmitted in the unit time period under the first data transmission strategy is larger than the number of the second data packets transmitted in the unit time period under the second data transmission strategy.
Illustratively, the data transmission device 111 compares the round trip delay with a preset delay condition, and when the round trip delay meets the preset delay condition, the data transmission device reduces the number of data packets transmitted in a unit time period, so as to replace the first data transmission policy with the second data transmission policy and transmit the data packets. For example, the data sending device 111 adopts the second data sending policy to send data packets to the data receiving device 112 through the communication device 120 when the round trip delay meets the preset delay condition, so as to avoid the problem of aggravating data congestion caused by excessive continuous sending quantity of the data packets, and also determines the adjustment condition of the sending policy in a targeted manner by the constraint mode that two conditions are met simultaneously (the congestion notification message is received and the round trip delay meets the preset delay condition).
It should be noted that the above-mentioned terminals include, but are not limited to, mobile terminals such as mobile phones, tablet computers, portable laptop computers, intelligent voice interaction devices, intelligent home appliances, vehicle-mounted terminals, and the like, and may also be implemented as desktop computers, where the above-mentioned servers may be independent physical servers, server clusters or distributed systems formed by multiple physical servers, and cloud servers.
In combination with the noun introduction and the application scenario, the method for processing data congestion provided by the present application is described, and the method is applied to a data sending device as an example, as shown in fig. 2, and the method includes the following steps 210 to 230.
Step 210, in the process of sending a data packet to the data receiving device according to the first data sending policy, receiving a feedback message sent by the data receiving device.
The first data transmission policy is a preset policy for transmitting data packets to the data receiving device through the data transmitting device in a unit time period, optionally, the first data transmission policy corresponds to at least one of a first data transmission rate and a first transmission window, the first data transmission rate is a speed for transmitting the data packets, the first transmission window is a window size for transmitting the data packets, that is, the first data transmission policy indicates that the data packets are transmitted through the first transmission window in the unit time period, and/or the first data transmission policy indicates that the data packets are transmitted through the first data transmission rate in the unit time period, and the like.
Optionally, the data receiving device sends a feedback packet to the data sending device, where the feedback packet is generally used to characterize a receiving condition of the data packet sent by the data receiving device, where the receiving condition includes at least one of a plurality of information such as whether the data packet is successfully received, a receiving sequence of the data packet, a transmission state of the data packet (e.g. whether the lost data packet is retransmitted).
The feedback message is information fed back to the data sending device by the data receiving device based on the received data packet.
In some embodiments, taking an example of implementing a data transmission process between a data transmitting device and a data receiving device based on a transmission control protocol (Transmission Control Protocol, TCP), based on exchanging data between the data transmitting device and the data receiving device through the TCP protocol, a feedback message sent by the data receiving device to the data transmitting device includes at least one of an Acknowledgement (ACK) and a negative acknowledgement (Negative Acknowledgment, NACK), the ACK is used to notify the data transmitting device that current data has been successfully received by the data receiving device, and the NACK is used to notify the data transmitting device that current data has not been successfully received by the data receiving device, and when the data receiving device finds that a data packet is lost, damaged, or has a sequence error, the NACK message is sent to the data transmitting device to notify the data transmitting device that a certain data packet needs to be retransmitted.
In some embodiments, a response message sent by the data receiving device to the data sending device is used as a feedback message. The response message is a message generated after the data receiving device confirms and processes the request data packet, and generally contains more information, such as success, error, status code and the like. For example, the data receiving device is a server, and the server processes and feeds back a hypertext transfer protocol (Hyper Text Transfer Protocol, HTTP) response message based on a request data packet sent by the data sending device (such as a terminal), where the request data packet includes a status code (such as 200, 404, etc.) and a result (such as web page content, error information, etc.).
In some embodiments, a response message of response delay sent by the data receiving device to the data sending device is used as a feedback message. Illustratively, the network delay from the data transmitting device to the data receiving device is also measured by sending a ping command during the transmission of the data packet by the data transmitting device to the data receiving device. For example, the data transmitting device sends an internet control message protocol (Internet Control Message Protocol, ICMP) Echo (Echo) request message to the data receiving device, and the data receiving device returns an ICMP Echo response message after receiving the ICMP Echo request message, informing the data receiving device that the request message has been received and confirming the content thereof, where the Echo response message generally carries response time in addition to confirming that the request message is received, and the response time is the time elapsed from the data transmitting device sending the request message to the data receiving device.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
Step 220, in response to receiving the congestion notification message, determining a round trip delay between the data transmitting device and the data receiving device based on the feedback message.
The congestion notification message is used for characterizing that data congestion exists in the process that the data sending device sends the data packet to the data receiving device. Optionally, in a case where the data transmission apparatus and the data reception apparatus each have a congestion control protocol, when there is a problem of data congestion in data transmission between the data transmission apparatus and the data reception apparatus, the data transmission apparatus receives the congestion notification message so as to adjust the data transmission situation.
In some embodiments, the congestion notification message is a message sent by the data receiving device to the data sending device.
Optionally, the data receiving device sends the congestion notification message to the data sending device in an implicit manner.
Illustratively, when the data buffer of the data receiving device is about to reach the preset buffer threshold, the data receiving device may adjust the size of the receiving window, and write the adjusted receiving window into the feedback message (for example, the window field exists in the feedback message and is used for writing the information of the receiving window), that is, the congestion notification message prompts the data sending device in a manner of implicitly showing the congestion notification message in the feedback message.
Optionally, the data receiving device sends the congestion notification message to the data sending device in an explicit manner.
Illustratively, when the data intermediate device detects that the number of data packets waiting to be forwarded at a data packet queuing sequence is greater than a preset queuing threshold value when forwarding the data packets to the data receiving device, the data intermediate device randomly tags the data packets needing to be forwarded to the data receiving device, the tags are usually implemented as explicit congestion notification (Explicit Congestion Notification, ECN) tags, and the data receiving device generates a congestion notification message based on the data packets with the tags and sends the congestion notification message to the data receiving device (such as directly sending the data to the data sending device or forwarding the data packets to the data sending device through the data intermediate device).
In some embodiments, the congestion notification message is a message sent by a data intermediate device between the data receiving device and the data sending device to the data sending device.
Illustratively, the data intermediate device detects that the number of data packets waiting to be forwarded at a data packet queuing sequence is greater than a preset queuing threshold, marks the data packets needing to be forwarded to the data receiving device at random, generates a congestion notification message based on the data packets with the marks, and sends the congestion notification message to the data sending device.
In some embodiments, the data sending device determines the round trip delay through the feedback message after receiving the congestion notification message, and when the data sending device does not receive the congestion notification message, the data sending device receives the feedback message but may not determine the round trip delay so as to reduce the data analysis amount.
Optionally, the data transmission device records a transmission Time of the transmission packet when transmitting the data packet, and then determines a reception Time of the feedback packet when receiving the feedback packet, and uses a difference between the reception Time and the transmission Time as a Round Trip Time (RTT).
The method comprises the steps of receiving a feedback message corresponding to a plurality of data packets respectively, recording the receiving time to obtain the receiving time corresponding to the data packets respectively, and normally recording the sending time and the receiving time corresponding to the packet identifications corresponding to the data packets respectively, so that the sending time and the receiving time corresponding to the data packets one by one can be determined based on the packet identifications, and round trip delay corresponding to the data packets respectively can be determined. Or alternatively
Optionally, the round trip delay from the data sending device to the data receiving device is accurately measured by Network card (Network INTERFACE CARD, NIC) timestamp.
Illustratively, when the data transmitting device transmits a data packet, the network card of the data transmitting device executes a data transmitting process, the network card automatically adds a transmitting timestamp 1 to the header or metadata of the data packet, the transmitting timestamp 1 records the transmitting time of the data packet (the timestamp precision of the network card can reach nanosecond level generally), when the data packet arrives at the data receiving device, the network card of the data receiving device records the receiving timestamp 1 when the data packet arrives, then the network card of the data receiving device records the transmitting timestamp 2 of the transmitting feedback message in the same way and transmits the feedback message to the data transmitting device, and the network card of the data transmitting device records the receiving timestamp 2 of the receiving feedback message, thereby acquiring the round trip delay between the data transmitting device and the data receiving device based on the receiving timestamp 2 and the transmitting timestamp 1.
And step 230, transmitting the data packet to the data receiving equipment by adopting a second data transmission strategy under the condition that the round trip delay meets the preset delay condition.
Illustratively, the data transmitting device compares the round trip delay determined by analysis with a preset delay condition, adjusts a first data transmitting strategy of a current data packet to be transmitted when the round trip time accords with the preset delay condition, and transmits the data packet to the data receiving device by using a second data transmitting strategy.
The number of the first data packets transmitted in the unit time period under the first data transmission strategy is larger than the number of the second data packets transmitted in the unit time period under the second data transmission strategy.
Illustratively, if the data transmission device receives the congestion notification message, it represents that there is a congestion problem in the current data transmission process, so it is required to reduce the transmission amount of the data packet in the unit time period. In the process, the reduction process of the number of the data packets to be transmitted is not directly realized based on the congestion notification message, but the influence of the round trip delay on the number of the data packets to be transmitted is additionally considered, the round trip delay is compared with a preset delay condition, and the data packets are transmitted to the data receiving equipment by adopting a second data transmission strategy only when the round trip delay meets the preset delay condition.
Optionally, under the condition that the round trip delay meets the preset delay condition, determining a second data sending strategy based on the preset delay condition, and sending the data packet to the data receiving device through the second data sending strategy.
Illustratively, the preset delay condition is a preset delay condition. For example, the preset time delay condition is a preset threshold value, or the preset time delay condition is a preset numerical interval, etc.
Optionally, if the round trip delay meets a preset delay condition, determining a second data sending policy for transmitting the data packet according to the preset delay condition. For example, the preset threshold corresponding to the preset delay condition is used as a policy parameter for determining the second data transmission policy, or the difference between the preset threshold corresponding to the preset delay condition and the round trip delay is used as a policy parameter for determining the second data transmission policy, which is not limited herein.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
In summary, the problem of data congestion can be solved without relying on inserting metadata into a data packet through a switch, and the data packet sending process is not directly regulated by relying on congestion notification messages, but the round trip delay between data sending equipment and data receiving equipment is continuously analyzed on the basis of receiving the congestion notification messages, so that the number of data packets transmitted in unit time can be reduced under the condition that two conditions are met, the problem that the data congestion cannot be effectively and timely handled by a mode of inserting metadata is avoided while the dimension of network congestion state information acquisition is enriched, the change reaction speed of the data transmission process is improved through the congestion notification messages and the round trip delay which are more efficiently acquired, the data packet transmission efficiency is improved, and the transmission accuracy of the data packets is ensured.
In an alternative embodiment, the round trip delay is compared with a preset delay condition, when the round trip delay meets the preset delay condition, the data packet is sent by adopting a second data sending strategy, when the round trip delay does not meet the preset delay condition, the data packet is sent by adopting a third data sending strategy, and although the second data sending strategy and the third data sending strategy are both used for reducing the sending quantity of the data packet, the preset delay condition provides a more flexible stepwise adjustment mode. Illustratively, as shown in FIG. 3, the step 220 shown in FIG. 2 described above may be followed by the following step 310 or step 320.
Step 310, in case that the round trip delay meets the preset delay condition, the second data sending policy is adopted to send the data packet to the data receiving device.
Illustratively, after receiving the congestion notification message and determining the round trip delay, the round trip delay is compared with a preset delay condition, and step 310 is performed to send the data packet to the data receiving device using the second data sending policy if the round trip delay meets the preset delay condition.
The number of the first data packets transmitted in the unit time period under the first data transmission strategy is larger than the number of the second data packets transmitted in the unit time period under the second data transmission strategy.
The unit time period is a period for measuring a time interval, for example, the unit time period is 1 second, or the unit time period is 1ms, etc., the first number of packets is the number of data packets transmitted by the data transmission device using the first data transmission policy, and the second number of packets is the number of data packets transmitted by the data transmission device using the second data transmission policy.
In an alternative embodiment, the second data transmission strategy is used to transmit data packets to the data receiving device in case the round trip delay reaches a delay threshold.
The preset time delay condition comprises a time delay threshold value.
Optionally, the delay threshold is a preset numerical condition, the round trip delay is compared with a preset delay threshold, and the first data transmission policy is changed to the second data transmission policy when the round trip delay reaches the delay threshold.
Optionally, the delay threshold is a numerical condition determined periodically based on the packet transmission process, and the analysis period is a preset period, such as1 second, 50ms, etc., which is not limited herein. Illustratively, the periodic transmission state of the data packet is analyzed at intervals of an analysis period in the data packet transmission process, so that a time delay threshold is determined according to the periodic transmission state, and the time delay threshold is used as a better evaluation standard for measuring the round trip delay.
Optionally, the delay threshold is a numerical condition determined in real time based on the packet transmission process. Illustratively, the real-time transmission state of the data packet is analyzed in the data packet transmission process, so that the time delay threshold is determined according to the real-time transmission state, and the time delay threshold is used as a better and more timely evaluation standard for measuring the round trip delay.
In some embodiments, the threshold parameter is obtained by analyzing the real-time transmission state of the data packet, so that the delay threshold obtained by obtaining the threshold parameter is described below as an example, and the threshold parameter includes at least two of a reference delay threshold, a data queuing delay and a maximum queuing delay.
In some embodiments, a reference latency threshold, a data queuing latency, and a maximum queuing latency are obtained.
The reference delay threshold is used for representing the minimum round trip time of the data sending device and the data receiving device in the data transmission process.
Illustratively, the reference delay threshold may also be referred to as a reference round trip delay (Base Round Trip Time, base RTT), which is generally dependent on the physical characteristics of the network link between the data transmitting device and the data receiving device, and refers to the minimum delay for transmitting data packets from the data transmitting device to the data receiving device without data congestion, and may also be understood as the minimum round trip delay measured through the network link between the data transmitting device and the data receiving device in an ideal state.
Alternatively, the reference delay threshold is estimated using equation one below.
Equation one:
base RTT (round trip time) approximately equal to 2 times propagation delay and transmission delay
The propagation delay (Propagation Delay) refers to the time required for a signal to propagate on a network link, depends on the propagation speed and physical distance of the signal, is generally implemented as a quotient of the physical distance and the propagation speed, the propagation speed depends on a transmission medium (such as an optical fiber, a cable, a wireless link, etc.), and the propagation delay (Transmission Delay) refers to the time required for a data packet to be transmitted from a network card of a data transmitting device to a network card of a data receiving device, and is related to the size of the data packet and the bandwidth of the link, and is generally implemented as a quotient of the size of the data packet and the bandwidth of the link.
In addition, the reference Delay threshold may also be affected by the Processing Delay and queuing Delay (Queueing Delay), i.e., the above equation one may also be affected by the Processing Delay and queuing Delay. The processing delay is the time required by the data intermediate device (such as routing device and switch) when forwarding the data packet (including operations of checking the data packet, routing calculation, queue management and the like), and is relatively small, the queuing delay is the time for waiting for the data packet to be forwarded in the queue of the data intermediate device, and when the network load is high, the queuing delay may be significantly increased, but the reference delay threshold is determined on the premise that no network congestion exists, so when the reference delay threshold is calculated, the queuing delay is negligible in an ideal case.
The data queuing delay is used for representing the duration of waiting to be processed in the processing sequence of the data packet under the condition of data congestion.
Illustratively, the data queuing delay can also be called as a queuing delay caused by burst, which is a delay determined under the influence of network traffic conditions, wherein the network traffic conditions are generally related to the number of data packet transmissions, when the network traffic is suddenly increased (the data packet transmission capacity is suddenly increased), the data packets can be queued in a queue of a data intermediate device, thereby causing additional delay, and the data queuing delay is dynamic and can be influenced by factors such as network load, link state, scheduling strategy and the like in real time. Alternatively, to measure the data queuing delay in real time, the round trip delay and the queue queuing condition may be measured periodically by a network detection tool (e.g., ping, traceroute or traffic detection, etc.) to determine the data queuing delay.
Alternatively, even if the network bandwidth has been ideally allocated (representing equal traffic ingress and egress rates at the network bottleneck), instantaneous congestion queuing may still occur microscopically due to burstiness, and thus data queuing delays need to be considered. Illustratively, studies have demonstrated that as the number of concurrent streams N increases, the average length of the burst queue becomesGrowing, the number N of concurrent streams represents the number of concurrent operations, tasks or data streams which are performed simultaneously, the average length isThe increase represents that as the number of concurrent flows increases, the average number of tasks to be processed in the queue increases slower, as a square root,Representing the length of the switch queue, optionally, obtaining the transmission rate of the switch when the application switch forwards the data packets transmitted by the data transmission device to the data receiving deviceTransmission rateAssociated with port bandwidth of a switch, if the switch is used to forward multiple data streams, each data stream including at least one data packet, transmission rateCharacterizing bandwidth allocated to a data stream to be analyzed, wherein if a plurality of data streams are in one-to-one correspondence with a plurality of data transmission devices, the data stream to be analyzed can be understood as a data stream transmitted between the data transmission device and the data receiving device to be analyzed at presentAnd transmission rateThe quotient is used as a data queuing delay, etc., and is not limited herein.
The maximum queuing delay is used for representing the maximum allowable duration of the data packet waiting to be processed in the processing sequence.
Illustratively, the maximum queuing delay is the longest time that a data packet waits in a queue, and is used to describe the longest waiting time that a data packet may experience in the process of sending the data packet to a data receiving device by a data sending device. Optionally, the maximum queuing delay is predicted based on the time when the data packet is transmitted most densely.
In some embodiments, the latency threshold is determined based on at least two of a reference latency threshold, a data queuing latency, and a maximum queuing latency.
Optionally, the sum of the reference delay threshold, the data queuing delay and the maximum queuing delay is taken as a delay threshold, namely the delay threshold can be realized as a total delay, or the sum of the reference delay threshold and the data queuing delay is taken as a delay threshold, or the sum of the reference delay threshold and the maximum queuing delay is taken as a delay threshold, or the sum of the data queuing delay and the maximum queuing delay is taken as a delay threshold, and the like.
Optionally, a weighted summation is performed on the reference delay threshold, the data queuing delay and the maximum queuing delay to obtain a delay threshold, wherein the weighted summation is a process of performing summation after distributing preset weights to three parameters.
Illustratively, the reference latency threshold corresponds to a first weight, the data queuing latency corresponds to a second weight, and the maximum queuing latency corresponds to a third weight. The time delay threshold is obtained by summing the product of the reference time delay threshold and the first weight, the product of the data queuing time delay and the second weight and the product of the maximum queuing time delay and the third weight, or the time delay threshold is obtained by summing the product of the reference time delay threshold and the first weight and the product of the data queuing time delay and the second weight, or the time delay threshold is obtained by summing the product of the reference time delay threshold and the first weight and the product of the maximum queuing time delay and the third weight, or the time delay threshold is obtained by summing the product of the data queuing time delay and the second weight and the product of the maximum queuing time delay and the third weight.
Optionally, taking the average value of the reference delay threshold, the data queuing delay and the maximum queuing delay as a delay threshold, taking the average value of the reference delay threshold and the data queuing delay as a delay threshold, taking the average value of the reference delay threshold and the maximum queuing delay as a delay threshold, taking the average value of the data queuing delay and the maximum queuing delay as a delay threshold, and the like.
Optionally, a weighted average is performed on the reference delay threshold, the data queuing delay and the maximum queuing delay to obtain a delay threshold.
Illustratively, weighted averaging is a process of taking an average after assigning a preset weight to at least two of the three parameters and then weighted summing.
Optionally, the reference delay threshold corresponds to a first weight, the data queuing delay corresponds to a second weight, and the maximum queuing delay corresponds to a third weight. The method comprises the steps of summing products of a reference delay threshold and a first weight and products of data queuing delay and a second weight to obtain a delay threshold, or summing products of the reference delay threshold and the first weight and products of maximum queuing delay and a third weight to obtain a delay threshold, or summing products of the data queuing delay and the second weight and products of the maximum queuing delay and the third weight to obtain a delay threshold, or summing products of the reference delay threshold and the first weight, products of the data queuing delay and the second weight and products of the maximum queuing delay and the third weight to obtain a delay threshold, and the like.
After the delay threshold is determined based on at least two of the reference delay threshold, the data queuing delay and the maximum queuing delay, the delay threshold is relatively large, and the delay condition can be reflected by a relatively high standard.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
In some embodiments, after determining the delay threshold as the preset delay condition based on the above manner, if the round trip delay meets the preset delay condition, it represents that the data sending device not only receives the congestion notification packet, but also represents that the round trip delay is larger, so that it is required to send the data packet to the data receiving device with a second data sending policy with a larger reduction amplitude under the condition of reducing the number of the sent data packets.
In some embodiments, when there are a plurality of data transmission apparatuses transmitting data packets to one data reception apparatus, the plurality of data transmission apparatuses may transmit data packets to the data reception apparatus using different data transmission policies, or may transmit data packets to the data reception apparatus using the same data transmission policy, for example, the number of data packets transmitted to the data reception apparatus by the plurality of data transmission apparatuses in a unit time period is the same.
Optionally, taking any one of the plurality of data sending devices as an execution body of the data congestion processing method as an example, the plurality of data sending devices respectively receive feedback messages from the data receiving devices based on a data packet sending process, so that round trip delay determined by the plurality of data sending devices based on the respectively received feedback messages also corresponds to the data sending devices.
In addition, it may be that, based on the packet transmission process, the plurality of data transmission apparatuses each receive the congestion notification message, or that the plurality of data transmission apparatuses each do not receive the congestion notification message, or that some data transmission apparatuses receive the congestion notification message, or that the rest of data transmission apparatuses do not receive the congestion notification message, or the like. The congestion notification message characterizes the round trip delay between the data sending device and the data receiving device based on the congestion notification message, so that the data sending device receiving the congestion notification message characterizes congestion in the data packet transmission process between the data sending device and the data receiving device. For example, when a plurality of data transmission apparatuses transmit data packets to a data reception apparatus, the data transmission apparatus 1 receives a congestion notification message, which indicates that there is data congestion in the data packet transmission process between the data transmission apparatus 1 and the data reception apparatus, and the data transmission apparatus 2 does not receive a congestion notification message, which indicates that there is no data congestion in the data packet transmission process between the data transmission apparatus 2 and the data reception apparatus, and the like, which is not limited herein.
In addition, the preset delay condition as compared with the round trip delay may also be in one-to-one correspondence with a plurality of data transmission apparatuses. For example, the data transmission device 1 corresponds to a preset time delay condition a, and the data transmission device 2 corresponds to a preset time delay condition B. If the round trip delay is compared with the preset delay condition based on the receiving of the congestion notification message, the round trip delay determined by the data sending equipment receiving the congestion notification message is compared with the corresponding preset delay condition to determine a comparison result. For example, when the data sending device 1 receives the congestion notification message, it represents that there is data congestion between the data sending device 1 and the data receiving device, so that the round trip delay determined by the data sending device 1 is compared with the preset delay condition a to determine whether the comparison result, that is, the round trip delay corresponding to the data sending device 1 accords with the preset delay condition a.
In some embodiments, when there are multiple data sending devices sending data packets to at least two data receiving devices, the multiple data sending devices may send data packets to different data receiving devices by using different data sending policies, or may send data packets to different data receiving devices by using the same data sending policies, and when analyzing the congestion situation of the data based on the data sending devices, the determination is still based on a one-to-one data packet transmission relationship between the data sending devices and the data receiving devices, which is not described herein.
And 320, transmitting the data packet to the data receiving device by adopting a third data transmission strategy under the condition that the round trip time delay does not meet the preset time delay condition.
Illustratively, after receiving the congestion notification message and determining the round trip delay, the round trip delay is compared with a preset delay condition, and step 320 is performed to send the data packet to the data receiving device using the third data sending policy if the round trip delay does not meet the preset delay condition.
In some embodiments, in the event that the round trip delay does not reach the delay threshold, a third data transmission policy is employed to transmit data packets to the data receiving device.
The delay threshold is determined based on at least two of a reference delay threshold, a data queuing delay and a maximum queuing delay, so the delay threshold is a constraint condition determined by a higher standard, congestion is represented in a data packet sending process when the data sending device receives a congestion notification message, the number of data packets sent by the data sending device needs to be reduced, but the reducing mode is not clear, a comparison process of the delay threshold is introduced, if the round trip delay does not reach the delay threshold, the round trip delay is not too large, and therefore the data packets can be sent in a mode of reducing a smaller number of data packets, namely, the data packets are sent to the data receiving device by adopting a third data sending strategy.
The number of third data packets transmitted in a unit time period under the third data transmission strategy is smaller than the number of the first data packets, and the number of the third data packets is larger than the number of the second data packets.
Illustratively, the third data packet number is the number of data packets transmitted in a unit time period under the third data transmission policy, the third data packet number is smaller than the first data packet number corresponding to the first data transmission policy, and the third data packet number is larger than the second data packet number corresponding to the second data transmission policy.
For example, the first data transmission policy may be that the data transmission device transmits 1000 data packets (the number of the first data packets is 1000) to the data receiving device in a unit time period, if the data transmission device receives the congestion notification message and the round trip delay reaches the delay threshold, the data transmission device transmits the data packets of the number of the second data packets with a reduced number by using the second data transmission policy, the data transmission device transmits 500 data packets (the number of the second data packets is 500, compared with 1000, which is 500 in the unit time period) to the data receiving device in the unit time period, and if the data transmission device receives the congestion notification message and the round trip delay does not reach the delay threshold, the data transmission device transmits the data packets of the number of the second data packets with a reduced number by using the third data transmission policy (the number of the third data packets is 800, compared with 1000, which is 200 in the unit time period) to the data receiving device in the unit time period, and so on.
That is, in the case where the data transmission apparatus receives the congestion notification message, the data packet reduction is not directly based on the first data packet number transmitted in the congestion notification message reduction unit time period, but the comparison relation between the round trip delay and the delay threshold is synthesized, wherein when the round trip delay reaches the delay threshold, the state representing data congestion is more obvious, so that the data packet number is reduced in a manner of reducing the larger amplitude, the second data packet number transmitted under the second data transmission policy is smaller than the first data packet number, and the phase difference amplitude is larger (i.e., the number of reducing the transmitted number of packets is larger), when the round trip delay does not reach the delay threshold, the data packet number is not obvious, so that the data packet number is reduced in a manner of reducing the smaller amplitude, and the third data packet number transmitted under the third data transmission policy is larger than the second data packet number, namely, the third data packet number is less different from the first data packet number by the smaller amplitude (i.e., the number of reducing the transmitted number of packets is smaller), etc.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
In summary, the round trip delay between the data sending device and the data receiving device is continuously analyzed on the basis of receiving the congestion notification message, so that the number of data packets transmitted in unit time is reduced under the condition that two conditions are met, the problem that the data congestion cannot be effectively and timely handled in a manner of inserting metadata is avoided while the network congestion state information acquisition dimension is enriched, the change reaction speed of the data transmission process is improved through the congestion notification message and the round trip delay which are more effectively acquired, the data packet transmission efficiency is improved, and the transmission accuracy of the data packets is ensured.
In the embodiment of the application, the content of sending the data packet by adopting different data sending strategies under the condition that the round trip delay accords with the preset delay condition or does not accord with the preset delay condition is introduced. Even if the congestion notification message is received to reduce the sending number of the data packets, the relation between the round trip delay and the preset delay condition is additionally considered, so that the data packets are transmitted in the second data packet number smaller in number under the condition of conforming to the preset delay condition, the data congestion problem is relieved in time, the data packets are also transmitted in the third data packet number smaller in number but higher than the second data packet number under the condition of not conforming to the preset delay condition, the problem that the data packet transmission efficiency is reduced and uncomfortable due to too few data packets is avoided, the relation between the data congestion problem and the problem that the transmission efficiency is lower is balanced, and the data packet transmission efficiency is guaranteed while the data congestion problem is solved.
In an alternative embodiment, the second data transmission policy after the adjustment of the first data transmission policy is determined according to a relationship between the round trip delay and a delay threshold that is a preset delay condition. Illustratively, as shown in FIG. 4, the above-mentioned step 230 shown in FIG. 2 or the above-mentioned step 310 shown in FIG. 3 may be implemented as the following steps 411 to 412, and in addition, the above-mentioned step 320 shown in FIG. 3 may be implemented as the following steps 421 to 422.
In step 411, in the case that the round trip delay reaches the delay threshold, a delay difference between the round trip delay and the delay threshold is obtained.
Wherein the delay threshold is a preset delay condition. Alternatively, the delay threshold is a predetermined numerical condition, or the delay threshold is a numerical condition determined in real time, or the delay threshold is a numerical condition determined periodically, or the like.
Optionally, when the round-trip delay reaches a delay threshold as a preset delay condition, the round-trip delay is larger than or equal to the delay threshold, so that a difference value between the round-trip delay and the delay threshold is obtained, namely, the delay difference value reflects the degree that the round-trip delay is larger than the delay threshold and reflects the congestion degree of the current data congestion, namely, the larger the delay difference value is, the larger the congestion degree of the current data congestion is represented, and the smaller the delay difference value is, the smaller the congestion degree of the current data congestion is represented.
In an alternative embodiment, the first delay difference value between the first round trip delay and the first delay threshold is obtained when the first round trip delay corresponding to the first data sending device reaches the first delay threshold corresponding to the first data sending device.
Optionally, when there are multiple data sending devices sending data packets to one data receiving device, the multiple data sending devices respectively determine a round trip delay at a current time, the first data sending device is any one of the multiple data sending devices, and the first round trip delay is the round trip delay of the first data sending device at the current time.
Optionally, the plurality of data transmission devices also respectively correspond to a delay threshold, for example, the first data transmission device corresponds to a first delay threshold, and the round trip delay is compared with the corresponding delay threshold to determine that the delay difference is obtained when the round trip delay reaches the delay threshold, for example, the first round trip delay is compared with the first delay threshold.
If the plurality of data sending devices all receive the congestion notification message and the respective round trip delays meet the corresponding delay thresholds, the plurality of data sending devices respectively acquire the corresponding delay differences to perform subsequent adjustment, and at this time, the delay differences respectively corresponding to the plurality of data sending devices are usually different, so that the subsequent adjustment results are also usually different.
In step 412, a second data transmission policy is determined for the first transmission reduction ratio using the delay difference, and the data packet is transmitted to the data receiving device using the second data transmission policy.
Illustratively, the second data transmission policy of the data transmission device for transmitting the data packet to the data receiving device is determined by the delay difference and the first data transmission policy, where the delay difference may be regarded as an adjustment parameter for adjusting the first data transmission policy.
In some embodiments, the delay difference is represented by a time stamp difference, the round trip delay is information determined based on a transmit time stamp and a receive time stamp corresponding to the data transmission device, and the delay threshold is information determined based on the time stamp as a measure, so the delay difference determined based on the round trip delay and the delay threshold is also represented by a time stamp difference.
Optionally, the first data transmission policy is used for representing that 1000 data packets are transmitted in a unit time period, the delay difference is taken as a first transmission reduction ratio, so that the number of the data packets transmitted in the unit time period is reduced based on the first data transmission policy, if the delay difference is 2, the first data transmission policy is adjusted by taking the delay difference as the first transmission reduction ratio, and a second data packet transmission policy is obtained and used for representing that 500 data packets are transmitted in the unit time period, wherein the number of the first data packets is 1000, and the number of the second data packets is 500.
In an alternative embodiment, the second transmission window is determined based on the first transmission window and the delay difference.
Wherein the second transmission window is smaller than the first transmission window.
Optionally, the delay difference is used as a parameter for adjusting the window size of the first transmission window. Illustratively, a quotient of the first transmission window and the delay difference is taken as a window size of the second transmission window, so that the second transmission window smaller than the first transmission window is determined.
In an alternative embodiment, the second data transmission rate is determined based on the first data transmission rate and the delay difference.
Wherein the second data transmission rate is less than the first data transmission rate.
Optionally, the delay difference is used as a parameter for adjusting the first data transmission rate. Illustratively, a quotient of the first data transmission rate and the delay difference is taken as the second data transmission rate, thereby determining a second data transmission rate that is less than the first data transmission rate.
In an alternative embodiment, the data packets are transmitted to the data receiving device using at least one of the second transmission window and the second data transmission rate.
In some embodiments, data packets are transmitted to the data receiving device at the second transmission window and the first data transmission rate.
The data transmission device is used for transmitting data packets to the data receiving device by adopting a second transmission window, wherein the window size of the second transmission window is reduced relative to that of the first transmission window, so that the number of second data packets for transmitting the data packets at the second transmission window and the first data transmission rate is smaller than the number of first data packets for transmitting the data packets at the first transmission window and the first data transmission rate.
In some embodiments, data packets are transmitted to a data receiving device at a first transmission window and a second data transmission rate.
Illustratively, when the data transmitting device transmits the data packets to the data receiving device, the data transmitting device keeps the first transmission window unchanged, and transmits the data packets to the data receiving device at a second data transmission rate, wherein the second data transmission rate is reduced relative to the first data transmission rate, so that the number of the second data packets transmitted at the first transmission window and the second data transmission rate is smaller than the number of the first data packets transmitted at the first transmission window and the first data transmission rate.
In some embodiments, the data packets are transmitted to the data receiving device in a second transmission window and a second data transmission policy.
The data transmission device transmits data packets to the data receiving device by adopting an adjusted second transmission window and an adjusted second data transmission rate, wherein the second data transmission rate is reduced relative to the first data transmission rate, and the window size of the second transmission window is reduced relative to the first transmission window, so that the number of the second data packets transmitted by the second transmission window and the second data transmission rate is smaller than the number of the first data packets transmitted by the first transmission window and the first data transmission rate.
In an alternative embodiment, the first delay difference is used as a first transmission reduction ratio to determine a second data transmission strategy corresponding to the first data transmission device, and the second data transmission strategy is used to transmit the data packet to the data receiving device.
The first delay difference value is a delay difference value determined by the first data sending device when a plurality of data sending devices send data packets to the data receiving device, and the first delay difference value is used as a first sending reduction proportion to determine a second data sending strategy corresponding to the first data sending device, so that the first data sending device sends the data packets by adopting the second data sending strategy determined based on the first delay difference value.
In step 421, a first adjustment ratio is obtained when the round trip delay does not meet the preset delay condition.
In some embodiments, the first adjustment ratio is obtained if the round trip delay does not reach a delay threshold, which is a preset delay condition.
Optionally, when the round trip delay does not reach the delay threshold, which is a preset delay condition, the round trip delay is smaller than the delay threshold, so that although congestion exists in the data packet transmission process based on the congestion notification message, the current congestion degree is smaller, so that the number of data packet transmissions of the data transmission device needs to be reduced, but no great adjustment is needed.
Optionally, the first adjustment ratio is preset for small reduction of the data of the first packet number. Illustratively, the first adjustment ratio is a fraction slightly less than 1, such as the first adjustment ratio is 0.9, 0.95, etc., where the first adjustment ratio may be adjusted by a product, etc., or the first adjustment ratio is a value greater than 1, such as the first adjustment ratio is 1.2, 1.5, 2, etc., where the first adjustment ratio may be adjusted by a division, etc.
In an alternative embodiment, the first adjustment ratio obtained by the first data sending device is the same as the adjustment ratio obtained by the second data sending device when the second round trip delay does not meet the preset delay condition.
The second data sending device is a data sending device for sending a data packet to the data receiving device, namely, the second data sending device is another data sending device different from the first data sending device in the plurality of data sending devices, the second data sending device corresponds to a second round-trip delay or can correspond to a second delay threshold, and if the second round-trip delay does not reach the second round-trip delay, the first data sending strategy is adjusted through the first adjustment proportion, so that the second data sending strategy corresponding to the second data sending device is obtained.
The method comprises the steps that when a plurality of data sending devices send data packets to one data receiving device, time delay thresholds corresponding to the plurality of data sending devices are determined based on the data packet transmission process between the plurality of data sending devices and the data receiving device, and the plurality of data sending devices can respectively correspond to the same first adjustment proportion so as to adjust the data packet sending condition in an equal proportion in a fairness deceleration mode.
In step 422, a third data transmission policy is determined for the second transmission reduction ratio according to the first adjustment ratio, and the data packet is transmitted to the data receiving apparatus by using the third data transmission policy.
Illustratively, the third data transmission policy for the data transmission device to transmit the data packet to the data reception device is determined by the first adjustment ratio and the first data transmission policy, wherein the first adjustment ratio may be regarded as an adjustment parameter for adjusting the first data transmission policy.
In some embodiments, the first adjustment ratio is expressed by a fraction smaller than 1, and a product of the number of the first data packets transmitted in the unit time period under the first data transmission policy and the first adjustment ratio is used as a third number of data packets transmitted by the data transmission device to the data receiving device under the third data transmission policy.
Optionally, the first data transmission policy is used for representing that 1000 data packets are transmitted in a unit time period, the first adjustment proportion is taken as a second transmission reduction proportion, so that the number of the data packets transmitted in the unit time period is reduced based on the first data transmission policy, if the first adjustment proportion is 0.9, the first data transmission policy is adjusted by taking the first adjustment proportion as the second transmission reduction proportion, and a third data packet transmission policy is obtained and used for representing that 900 data packets are transmitted in the unit time period, wherein the number of the first data packets is 1000, and the number of the third data packets is 900.
In some embodiments, the first adjustment ratio is represented by a value (integer or decimal) greater than 1, and the quotient of the number of the first data packets transmitted in the unit time period under the first data transmission policy and the first adjustment ratio is used as the third number of the data packets transmitted by the data transmission device to the data receiving device under the third data transmission policy, and the like, which is not limited herein.
In an alternative embodiment, the third transmission window is determined based on the first transmission window and the first adjustment ratio.
The third sending window is smaller than the first sending window and larger than the second sending window.
Optionally, the first adjustment ratio is used as a parameter for adjusting the window size of the first transmission window. Illustratively, taking the first adjustment ratio as a decimal fraction smaller than 1 as an example, taking the product of the first transmission window and the first adjustment ratio as the window size of the third transmission window, thereby determining the third transmission window smaller than the first transmission window and larger than the second transmission window.
In an alternative embodiment, the third data transmission rate is determined based on the first data transmission rate and the first adjustment ratio.
Wherein the third data transmission rate is less than the first data transmission rate and greater than the second data transmission rate.
Optionally, the first adjustment ratio is used as a parameter for adjusting the first data transmission rate. Illustratively, a quotient of the first data transmission rate and the first adjustment ratio is taken as a third data transmission rate, thereby determining a third data transmission rate that is less than the first data transmission rate and greater than the second data transmission rate.
In an alternative embodiment, the data packets are transmitted to the data receiving device using at least one of a third transmission window and a third data transmission rate.
In some embodiments, the data packets are transmitted to the data receiving device at the third transmission window and the first data transmission rate.
Illustratively, when the data transmitting device transmits the data packets to the data receiving device, the data transmitting device keeps the first data transmission rate unchanged, transmits the data packets to the data receiving device by adopting a third transmission window, and transmits the third data packets of the data packets at the third transmission window and the first data transmission rate, wherein the number of the third data packets is smaller than the number of the first data packets for determining to transmit the data packets at the first transmission window and the first data transmission rate.
In some embodiments, data packets are transmitted to a data receiving device at a first transmission window and a third data transmission rate.
Illustratively, when the data transmitting device transmits the data packets to the data receiving device, the data transmitting device keeps the first transmitting window unchanged, transmits the data packets to the data receiving device at a third data transmitting rate, and transmits the data packets at the first transmitting window and the third data transmitting rate by a smaller number of third data packets than the first data packets for determining to transmit the data packets at the first transmitting window and the first data transmitting rate.
In some embodiments, the data packets are transmitted to the data receiving device in a third transmission window and a third data transmission policy.
Illustratively, when the data transmitting device transmits the data packets to the data receiving device, the data transmitting device transmits the data packets to the data receiving device by adopting the adjusted third transmission window and the adjusted third data transmission rate, and the number of the third data packets of the data packets transmitted at the third transmission window and the third data transmission rate is smaller than the number of the first data packets for determining the data packets transmitted at the first transmission window and the first data transmission rate.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
In summary, the problem of data congestion can be solved without relying on inserting metadata into a data packet through a switch, and the data packet sending process is not directly regulated by relying on congestion notification messages, but the round trip delay between data sending equipment and data receiving equipment is continuously analyzed on the basis of receiving the congestion notification messages, so that the number of data packets transmitted in unit time can be reduced under the condition that two conditions are met, the problem that the data congestion cannot be effectively and timely handled by a mode of inserting metadata is avoided while the dimension of network congestion state information acquisition is enriched, the change reaction speed of the data transmission process is improved through the congestion notification messages and the round trip delay which are more efficiently acquired, the data packet transmission efficiency is improved, and the transmission accuracy of the data packets is ensured.
In the embodiment of the application, a method for determining a second data transmission strategy and a third data transmission strategy when the round trip delay reaches a delay threshold or does not reach the delay threshold is introduced, if the round trip delay reaches the delay threshold which is a preset delay condition, the number of first data packets can be reduced in a targeted and large-amplitude adjustment mode through the delay difference value, the number of the second data packets is adopted to transmit the data packets, the method is also beneficial to targeted adjustment of the corresponding first data transmission strategy through the delay difference value respectively corresponding to different data transmission devices, so that a plurality of data transmission devices transmit the data packets to the data receiving devices through the more proper number of the second data packets, if the round trip delay does not reach the delay threshold, the number of the first data packets can be reduced in a preset and small-amplitude adjustment mode, and the number of the third data packets corresponding to the third data transmission strategy is adopted to transmit the data packets, the method is also beneficial to targeted and adjustment of the corresponding first data transmission strategy through the first adjustment parameters of the fairness is adopted by different data transmission devices, and the staged data packet transmission logic is convenient to more targeted and more reasonably adjust the data packet transmission condition.
In an alternative embodiment, if the congestion notification message is not received within the first duration, the data packet is sent to the data receiving device by using a fourth data sending policy for transmitting a greater number of data packets. Illustratively, as shown in FIG. 5, the step 210 shown in FIG. 2 described above may be followed by the following step 510 or step 520.
In response to receiving the congestion notification message within the first time period, a round trip delay between the data transmitting device and the data receiving device is determined based on the feedback message, step 510.
The congestion notification message is used for characterizing that data congestion exists in the process that the data sending device sends the data packet to the data receiving device.
Illustratively, the first time period is a predetermined time period threshold. Optionally, counting the accumulation duration at any time, if the accumulation duration does not reach the first time, the data sending device receives the congestion notification message, which represents that there is data congestion between the data sending device and the data receiving device in the preset first time, so that the round trip delay is determined based on the feedback message fed back by the data receiving device.
And step 520, in response to not receiving the congestion notification message within the first duration, transmitting the data packet to the data receiving device by adopting a fourth data transmission policy.
The number of the fourth data packets transmitted under the fourth data transmission strategy is larger than the number of the first data packets transmitted under the first data transmission strategy.
In some embodiments, the first time period is a preset time period threshold value for increasing the number of data packets sent by the data sending device to the data transmission device, if the data sending device does not receive the congestion notification message in the first time period, the first time period is that no data congestion is detected between the data sending device and the data receiving device in the first time period, and at this time, the number of the first data packets sent by the first data sending policy does not burden network transmission, so that the number of data packets sent can be increased timely, so as to increase the data packet transmission efficiency.
In an alternative embodiment, the second adjustment ratio is obtained in response to not receiving the congestion notification message for the first time period.
Illustratively, the second adjustment ratio is a ratio for increasing the number of data packets transmitted by the data transmission apparatus. Illustratively, the second adjustment ratio is a fraction slightly less than 1, where the adjustment may be performed by division or the like based on the first adjustment ratio, or the first adjustment ratio is a value greater than 1, where the adjustment may be performed by multiplication or the like based on the first adjustment ratio, which is not limited herein.
In an alternative embodiment, the fourth data transmission policy is determined by using the second adjustment ratio as the third data packet transmission reduction ratio, and the data packet is transmitted to the data receiving device using the fourth data transmission policy.
Illustratively, a fourth data transmission policy for the data transmission device to transmit the data packet to the data reception device is determined by the second adjustment ratio and the first data transmission policy, wherein the second adjustment ratio may be regarded as an adjustment parameter for adjusting the first data transmission policy.
In some embodiments, the second adjustment ratio is expressed by a fraction smaller than 1, and a quotient of the number of the first data packets transmitted in the unit time period under the first data transmission policy and the first adjustment ratio is used as a fourth number of data packets transmitted by the data transmission device to the data receiving device under the fourth data transmission policy.
In some embodiments, the second adjustment ratio is represented by a value (integer or decimal) greater than 1, and the product of the number of the first data packets transmitted in the unit time period under the first data transmission policy and the second adjustment ratio is used as the fourth number of data packets transmitted by the data transmission device to the data receiving device under the fourth data transmission policy, which is not limited herein.
In an alternative embodiment, the fourth transmission window is determined based on the first transmission window and the second adjustment ratio.
Wherein the fourth transmission window is larger than the first transmission window.
Optionally, the second adjustment ratio is used as a parameter for adjusting the window size of the second transmission window. Illustratively, taking the second adjustment ratio as a fraction smaller than 1 as an example, the quotient of the first transmission window and the second adjustment ratio is taken as the window size of the fourth transmission window.
In an alternative embodiment, the fourth data transmission rate is determined based on the first data transmission rate and the second adjustment ratio.
Wherein the fourth data transmission policy is less than the first data transmission rate and greater than the second data transmission rate.
Optionally, the second adjustment ratio is used as a parameter for adjusting the first data transmission rate. Illustratively, the quotient of the first data transmission rate and the second adjustment ratio is taken as a fourth data transmission rate.
In an alternative embodiment, the data packets are transmitted to the data receiving device using at least one of a fourth transmission window and a fourth data transmission rate.
In some embodiments, the data packets are transmitted to the data receiving device at the fourth transmission window and the first data transmission rate.
Illustratively, when the data transmitting device transmits the data packets to the data receiving device, the data transmitting device keeps the first data transmission rate unchanged, transmits the data packets to the data receiving device by adopting a fourth transmission window, and determines the fourth data packet quantity for transmitting the data packets according to the fourth transmission window and the first data transmission rate.
In some embodiments, data packets are transmitted to a data receiving device at a first transmission window and a fourth data transmission rate.
Illustratively, when the data transmitting device transmits the data packets to the data receiving device, the data transmitting device keeps the first transmitting window unchanged, transmits the data packets to the data receiving device at a fourth data transmitting rate, and determines the fourth data packet number for transmitting the data packets at the first transmitting window and the fourth data transmitting rate.
In some embodiments, the data packets are transmitted to the data receiving device in a fourth transmission window and a fourth data transmission policy.
Illustratively, when the data transmitting device transmits the data packets to the data receiving device, the data transmitting device transmits the data packets to the data receiving device by adopting the adjusted fourth transmission window and the adjusted fourth data transmission rate, and determines the fourth data packet quantity for transmitting the data packets according to the fourth transmission window and the fourth data transmission rate.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
In an alternative embodiment, in response to not receiving the congestion notification message within a second time period after the first time period, and the round trip delay corresponding to the termination time corresponding to the second time period does not meet the preset delay condition, a fifth data sending policy is adopted to send the data packet to the data receiving device.
Illustratively, the second time period is a preset time period, and the second time period may be equal to the first time period or may be different from the first time period, which is not limited herein.
Optionally, the second duration is determined based on a delay threshold that is a preset delay condition. For example, the second duration is a delay threshold of a preset multiple, such as a delay threshold of 3 times the second duration, or a delay threshold of 1 time the second duration (i.e., the second duration is a delay threshold), etc., which are not limited herein.
In some embodiments, if the congestion notification message is not received within a first time period and the congestion notification message is not received within a second time period after the first time period, analyzing a round trip delay at a termination time corresponding to the second time period, and comparing the round trip delay at the termination time with a preset delay condition.
Optionally, the round trip delay is a delay condition determined based on the data packet, and if the congestion notification message is still not received within the second duration, at least one round trip delay counted at the termination time and the termination time corresponding to the second duration is determined. Illustratively, the most recent round-trip delay at the termination time is compared with a predetermined delay condition, or the round-trip delay average of at least one round-trip delay at the termination time is compared with a predetermined delay condition.
Optionally, taking a preset delay condition as an example of a delay threshold, if the round trip delay counted at the termination time does not reach the delay threshold, the transmission condition of the current data packet is good, so that the number of data packets can be continuously increased, that is, the data packets can be sent to the data receiving device by adopting a fifth data sending strategy.
The number of the fifth data packets transmitted under the fifth data transmission strategy is larger than the number of the fourth data packets transmitted under the fourth data transmission strategy.
In some embodiments, the transmission window and/or the data transmission rate is increased rapidly in a multiplicative ramp-up manner. Optionally, determining a fifth sending window based on the fourth sending window under the fourth data sending policy by adopting a multiplication speed-up mode, determining a fifth sending rate based on the fourth sending rate under the fourth data sending policy by adopting a multiplication speed-up mode, and sending the data packet by adopting the fifth sending window and/or the fifth sending policy.
Illustratively, the multiplication ramp-up (Multiplicative Increase) is a method of rapidly increasing the number of packets transmitted to maximize bandwidth utilization when network conditions are good, and the number of packets transmitted at each "non-congested" stage is increased by a constant multiple, typically by a multiple of the number of packets each time a period of time has elapsed or after acknowledgement has been received.
Illustratively, in response to the congestion notification message not being received within a second time period after the first time period, and the round trip delay corresponding to the termination time corresponding to the second time period not reaching the delay threshold, multiplying the number of data packets sent by a preset multiple (e.g., a preset multiple of 2) after each time of receiving the feedback message of a preset number after the second time period, thereby realizing rapid bandwidth utilization. For example, after the second duration, each time 50 feedback packets are received, the number of data packets to be transmitted is multiplied by a preset multiple (e.g., a preset multiple of 2), for example, the number of data packets to be currently transmitted 50 is multiplied by a preset multiple of 2, so that 100 data packets are transmitted under the fifth data transmission policy, which is not limited herein.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
In summary, the problem of data congestion can be solved without relying on inserting metadata into a data packet through a switch, and the data packet sending process is not directly regulated by relying on congestion notification messages, but the round trip delay between data sending equipment and data receiving equipment is continuously analyzed on the basis of receiving the congestion notification messages, so that the number of data packets transmitted in unit time can be reduced under the condition that two conditions are met, the problem that the data congestion cannot be effectively and timely handled by a mode of inserting metadata is avoided while the dimension of network congestion state information acquisition is enriched, the change reaction speed of the data transmission process is improved through the congestion notification messages and the round trip delay which are more efficiently acquired, the data packet transmission efficiency is improved, and the transmission accuracy of the data packets is ensured.
In the embodiment of the application, the content of increasing the number of data packets sent on the condition of the first duration is introduced. If the congestion notification message is not received in the first time period, the congestion notification message indicates that the data congestion problem does not exist between the data sending device and the data receiving device, so that more fourth data packets can be adopted to send the data packets between the data sending device and the data receiving device on the basis of the first data packets, and in addition, if the congestion notification message is not received in the second time period after the first time period, more fifth data packets can be adopted to send the data packets between the data sending device and the data receiving device, the flexible sending purpose of the data packets is realized, and the purpose of data transmission can be realized fully and efficiently by using the current network environment more conveniently.
In an alternative embodiment, the above-mentioned data congestion processing method is referred to as a congestion control algorithm design method of a programmable congestion control framework (Programmable Congestion Control, PCC) based on an intelligent network card, and when the data sending device and the data receiving device perform data packet transmission, the data packet forwarded by the data sending device to the data receiving device is forwarded by the switch. The data transmitting device realizes the data packet transmitting process through the transmitting end network card, the data receiving device receives the data packet through the receiving end network card, and the exchanger can assist in determining the congestion condition in the data packet transmitting process. Schematically, as shown in fig. 6, an architecture diagram of the flow control mechanism is shown.
The PCC is configured to dynamically adjust network traffic in a programmable manner to address network congestion issues and thereby ensure network performance, and illustratively, as shown in fig. 6, a congestion control algorithm is designed under a programmable congestion framework and written into an algorithm code 610.
Alternatively, congestion control algorithms typically involve two part problems, the way congestion is detected and the way congestion is addressed, respectively.
Illustratively, two congestion feedback signals, namely, an ECN mark triggered CNP message (congestion notification message) and RTT delay (round trip delay), are mainly relied on in the process of solving the two problems. In addition, the NACK message or the timeout signal may also decrease the traffic rate (i.e., decrease the number of packets that the data transmission device transmits the packets), and the congestion control algorithm may be enabled by the congestion control algorithm to operate on a lossy ethernet network, where the lossy ethernet network is a case where the packets are lost or damaged due to network environment, equipment failure, interference, or other reasons.
The ECN mark triggered CNP message may also be referred to as an ECN signal, which indicates that when the queuing queue in the switch exceeds a certain threshold (i.e., the number of data packets in the queuing queue exceeds a preset number threshold), the switch marks the data packets with a certain probability on the egress queue, and when the data receiving device receives the message with the ECN mark, the data receiving device returns the CNP message to the data sending device.
The round trip delay may be referred to as RTT signal, and may accurately measure, through NIC timestamp, the time required from sending a data packet from a data sending device to receiving a feedback packet (ACK) corresponding to the data packet, that is, end-to-end round trip delay, where the data packet and the feedback packet may be implemented in a one-to-one relationship, or may be implemented in a many-to-one relationship, for example, when a plurality of data packets are sent and then one feedback packet is received, where the feedback packet generally includes an RTT signal, and when a plurality of data packets correspond to one feedback packet, the feedback packet may include RTT signals corresponding to a plurality of data packets respectively, which is not limited herein.
Optionally, the congestion condition of the network can be more accurately judged by comparing the measured dynamic RTT with the magnitude of the delay threshold (TARGET RTT). The ECN signal or the RTT signal is not independently selected, but is combined, the ECN signal is used as a switch signal of each hop, congestion can be fed back more timely to effectively prevent packet loss (namely, the congestion notification message is used as a premise of triggering to reduce the sending quantity of the data packets), the RTT signal is used as a congestion signal with more accurate and fine granularity, the congestion condition can be estimated more accurately, the end-to-end queuing delay is controlled, the RTT signal is not influenced by randomness in the determination of the ECN signal (the content of the ECN mark is marked on the random of the characterization), and the fairness of an algorithm is improved.
In comparing the round trip delay with a delay threshold, the setting of the delay threshold is critical because it determines the utilization of the network bandwidth. Optionally, the latency threshold is composed of BaseRTT, the queuing delay caused by the burst, and the maximum queuing delay allowed. The queuing delay caused by the burst is considered because even if the network bandwidth is ideally allocated, transient congestion queuing can still be caused by the burst on a microscopic scale. The delay threshold value consisting of BaseRTT queuing delay caused by burst and allowed maximum queuing delay can reflect the delay state more comprehensively, so that the problem of limitation possibly caused by analyzing the delay condition only by a single factor is avoided.
In some embodiments, the data transmitting device transmits the data packet through the transmitting pipe 621, the data transmitting device implements the data packet transmitting process through the deployed transmitting network card, the transmitting pipe 621 refers to the transmitting network card, the transmitting pipe 621 has a Rate Database (Rate DB) for managing the transmitting condition of the data packet, the device receiving device transmits the data packet through the receiving pipe 622, the data receiving device implements the data packet receiving process through the deployed receiving network card, the receiving pipe 622 refers to the receiving network card, and the transmitting network card and the receiving network card are respectively provided with a PCC frame, in which the flow Rate control logic of each event can be defined.
Optionally, all signals in the PCC framework may be abstracted into a series of events (events), which are the basis for the algorithm to make decisions such as state update, flow control, congestion management, etc., so as to make more accurate adjustments according to the real-time state of the network.
As shown in fig. 6, each time a Transmission pipe 621 transmits a certain number of packets, a Transmission event (TX) signal is delivered to an event sequence 630 to be converted into an event, thereby delivering a corresponding Transmission event to an algorithm code 610 for characterizing that the data Transmission device has transmitted a certain number of packets or completed Transmission of a certain number of packets, so as to be used as feedback in a congestion control algorithm for policy adjustment.
In addition, the receiving pipe 622 may also send CNP messages, ACK messages, NACK messages, RTT signals, or the like to the event sequence 630, thereby delivering the corresponding event to the algorithm code 610. Typically, event processing is performed by a transport layer protocol stack or congestion control algorithm, for example, a receiving network card is responsible for receiving these messages and delivering them to an upper layer of the protocol stack (such as TCP, qic or other congestion control mechanism), and then generating corresponding events based on these information, so as to trigger subsequent congestion control algorithm adjustment.
For the algorithm code 610, the sending rate of the sending end network card is adjusted by calling different event processing functions in the algorithm, namely, the number of sent data packets is adjusted, and the algorithm code 610 can be deployed at a server outside the data sending device and the data receiving device, can be deployed at the data sending device, can be deployed at the data receiving device, and is not limited herein. The algorithm code 610 is described below for event handling situations in different situations.
Optionally, based on the CNP message, a CNP event is triggered to indicate that congestion occurs in the current network, and the CNP event is sent to the algorithm code 610, and the receiving network card may record the timestamp at this time to determine the round trip delay, and send the round trip delay to the algorithm code 610, so as to implement speed reduction in combination with the round trip delay.
Schematically, if the round trip delay is also greater than the delay threshold, it indicates that the network congestion is serious, and the multi-bit information (multi-bit information refers to information carried by a plurality of data bits or a plurality of data packets and corresponding RTT measurement results thereof in the network transmission process) of the RTT at this time may be utilized, and a multiplicative speed reduction manner is adopted, so that the sending window and the data sending rate are quickly reduced in proportion to the difference between the dynamic round trip delay and the delay threshold, so as to reduce the network queuing delay.
Schematically, if the round trip delay is smaller than the delay threshold, the network is just started to generate congestion, and the transmission window and the data transmission rate are slowly reduced in a fairness speed-reducing mode, so that the high throughput of the network is ensured.
Schematically, if the receiving network card does not generate and send the CNP message for a certain time, the speed is increased. When the speed is just started to rise, a fairness speed rising mode can be adopted to slowly increase the transmission window and the data transmission rate, so that the congestion is prevented.
Schematically, when no CNP message is received within the second duration of the three continuous delay thresholds and the newly recorded round trip threshold is smaller than the delay threshold, the network is indicated to have an underthroughput condition, and the transmission window and the data transmission rate are rapidly increased by adopting a multiplication speed-up mode, so that the high throughput of the network is ensured.
As shown in fig. 6, the algorithm code 610 receives a communication event sent by the event sequence 630, and, taking an example that the algorithm code is deployed in a cluster formed by a plurality of processor cores, the cluster formed by a plurality of processor cores may interact with a Context data repository (Context Database) to acquire or store Context information related to policy adjustment (such as time information of a current moment, device state information of a data sending device and/or a data receiving device, etc.), and then may adjust the first data sending policy to another data sending policy (such as a second data sending policy, a third data sending policy, a fourth data sending policy, a fifth data sending policy) based on the above analysis process, and send the adjusted other data sending policy to the data sending device (such as a sending pipe 621 of a sending network card), so that the data sending device updates a transmission rate based on the other data sending policy, to achieve the purpose of adjusting a sending amount of a data packet.
It is worth noting that the algorithm selects to perform congestion control in a mode of combining based on the rate and based on the window, maintains the window value to prevent the situation that network congestion is aggravated due to delay of congestion feedback signals, can achieve finer granularity adjustment and faster convergence, and can guarantee concurrent flow fairness under the condition that a plurality of data sending devices exist.
In an alternative embodiment, as shown in fig. 7, a schematic diagram of a test for multiple transmission in a simple topology is shown, where the multiple transmission is a test mode for measuring round trip delay of multiple data packets (multi-bit information) and observing performance of the network under high load, and the multiple transmission is a process for transmitting multiple transmission ends to one receiving end, for example, the two transmission is a process for representing two transmission ends to one receiving end.
Thanks to the accurate determination and rapid response to the congestion status of the network, the method 710 provided by the embodiment of the present application has shown the performance of implementing congestion control algorithms (e.g. congestion management methods (DATA CENTER Quantized Congestion Notification, DCQCN) under a data center network, data center congestion control protocols (Swift Congestion Control, swift)) beyond the related art, and the bandwidth utilization is always close to 100%, while ultra-low latency can be obtained.
In an alternative embodiment, as shown in fig. 8, in a long-distance communication scenario, the method 810 provided by the embodiment of the present application also shows performance superior to that of the related art implementing the congestion control algorithm (e.g. DCQCN), and bandwidth utilization is improved by 10% -30%. While bandwidth utilization is improved, lower latency can also be maintained.
It should be noted that the above is only an illustrative example, and the embodiments of the present application are not limited thereto.
In summary, the problem of data congestion can be solved without relying on inserting metadata into a data packet through a switch, and the data packet sending process is not directly regulated by relying on congestion notification messages, but the round trip delay between data sending equipment and data receiving equipment is continuously analyzed on the basis of receiving the congestion notification messages, so that the number of data packets transmitted in unit time can be reduced under the condition that two conditions are met, the problem that the data congestion cannot be effectively and timely handled by a mode of inserting metadata is avoided while the dimension of network congestion state information acquisition is enriched, the change reaction speed of the data transmission process is improved through the congestion notification messages and the round trip delay which are more efficiently acquired, the data packet transmission efficiency is improved, and the transmission accuracy of the data packets is ensured.
In the embodiment of the application, besides ECN signals, RTT signals are additionally introduced to acquire more abundant network congestion state information, the rate control is changed into window control, the data which can be infused into the network by the network card of the transmitting end is limited even if the congestion signals are fed back slowly, in addition, the fixed period adjustment is optimized once to be adjusted for each feedback message, and the small-step fast running mode can lead the change response to the network state to be quicker.
Fig. 9 is a block diagram of a data congestion processing apparatus according to an exemplary embodiment of the present application, as shown in fig. 9, the apparatus includes:
a receiving module 910, configured to receive, in a process of sending a data packet to a data receiving device according to a first data sending policy, a feedback packet sent by the data receiving device, where the feedback packet is information that the data receiving device feeds back to the data sending device based on the received data packet;
A determining module 920, configured to determine a round trip delay between the data sending device and the data receiving device based on the feedback packet in response to receiving a congestion notification packet, where the congestion notification packet is used to characterize that there is data congestion in a process that the data sending device sends a data packet to the data receiving device;
and a sending module 930, configured to send data packets to the data receiving device by using a second data sending policy when the round trip delay meets a preset delay condition, where the number of first data packets transmitted in a unit time period under the first data sending policy is greater than the number of second data packets transmitted in the unit time period under the second data sending policy.
In an optional embodiment, the sending module 930 is further configured to send data packets to the data receiving device by using a third data sending policy if the round trip delay does not meet a preset delay condition, where the number of third data packets transmitted in the unit time period under the third data sending policy is smaller than the number of first data packets, and the number of third data packets is greater than the number of second data packets.
In an optional embodiment, the sending module 930 is further configured to send a data packet to the data receiving device using the second data sending policy if the round trip delay reaches a delay threshold, where the preset delay condition includes the delay threshold.
In an alternative embodiment, the sending module 930 is further configured to obtain a reference delay threshold, a data queuing delay, and a maximum queuing delay, where the reference delay threshold is used to characterize a minimum round trip time length of the data sending device and the data receiving device in a data transmission process, the data queuing delay is used to characterize a time length of waiting to be processed in a processing sequence for a data packet in the presence of data congestion, the maximum queuing delay is used to characterize a maximum allowable time length of waiting to be processed in the processing sequence for the data packet, and the delay threshold is determined based on at least two of the reference delay threshold, the data queuing delay, and the maximum queuing delay.
In an alternative embodiment, the sending module 930 is further configured to use the sum of the reference delay threshold, the data queuing delay and the maximum queuing delay as the delay threshold, or perform weighted summation on the reference delay threshold, the data queuing delay and the maximum queuing delay to obtain the delay threshold.
In an alternative embodiment, the sending module 930 is further configured to obtain a delay difference between the round trip delay and the delay threshold when the round trip delay reaches a delay threshold, where the delay threshold is the preset delay condition, determine the second data sending policy with the delay difference as a first sending reduction ratio, and send a data packet to the data receiving device with the second data sending policy.
In an alternative embodiment, the first data packet transmission policy corresponds to a first transmission window and a first data transmission rate;
The sending module 930 is further configured to determine a second sending window based on the first sending window and the delay difference, where the second sending window is smaller than the first sending window, determine a second data sending rate based on the first data sending rate and the delay difference, where the second data sending rate is smaller than the first data sending rate, and send a data packet to the data receiving device using at least one of the second sending window and the second data sending rate.
In an alternative embodiment, the sending module 930 is further configured to send data packets to the data receiving device at the second sending window and the first data sending rate, send data packets to the data receiving device at the first sending window and the second data sending rate, or send data packets to the data receiving device at the second sending window and the second data sending rate.
In an optional embodiment, the sending module 930 is further configured to obtain a first delay value between the first round trip delay and the first delay threshold when the first round trip delay corresponding to the first data sending device reaches the first delay threshold corresponding to the first data sending device, determine a second data sending policy corresponding to the first data sending device according to the first delay value as a first sending reduction ratio, and send a data packet to the data receiving device by adopting the second data sending policy.
In an alternative embodiment, the sending module 930 is further configured to obtain a first adjustment ratio when the round trip delay does not meet the preset delay condition, determine the third data sending policy with the first adjustment ratio as a second sending reduction ratio, and send a data packet to a data receiving device by using the third data sending policy.
In an alternative embodiment, the first adjustment ratio obtained by the first data sending device is the same as the adjustment ratio obtained by the second data sending device when the second round trip delay does not meet the preset delay condition, and the second data sending device is used for sending the data packet to the data receiving device.
In an optional embodiment, the sending module 930 is further configured to send, in response to not receiving the congestion notification packet within a first duration, a data packet to the data receiving device using a fourth data sending policy, where a number of fourth data packets transmitted under the fourth data sending policy is greater than the number of first data packets transmitted under the first data sending policy.
In an alternative embodiment, the sending module 930 is further configured to obtain a second adjustment ratio in response to not receiving the congestion notification packet during the first duration, determine a fourth sending window based on the first sending window and the second adjustment ratio, where the fourth sending window is greater than the first sending window, determine a fourth sending rate based on a first sending rate of data and the second adjustment ratio, where the fourth sending rate of data is greater than the first sending rate of data, where the first sending policy of data corresponds to the first sending window and the first sending rate of data, and send data packets to the data receiving device using at least one of the fourth sending window and the fourth sending rate of data.
In an optional embodiment, the sending module 930 is further configured to send, in response to not receiving the congestion notification packet within a second time period after the first time period, where a round trip delay corresponding to a termination time of the second time period does not meet the preset delay condition, a data packet to the data receiving device by using a fifth data sending policy, where the number of fifth data packets transmitted under the fifth data sending policy is greater than the number of fourth data packets transmitted under the fourth data sending policy.
In summary, the round trip delay between the data sending device and the data receiving device is continuously analyzed on the basis of receiving the congestion notification message, so that the number of data packets transmitted in unit time is reduced under the condition that two conditions are met, the problem that the data congestion cannot be effectively and timely handled in a manner of inserting metadata is avoided while the network congestion state information acquisition dimension is enriched, the change reaction speed of the data transmission process is improved through the congestion notification message and the round trip delay which are more effectively acquired, the data packet transmission efficiency is improved, and the transmission accuracy of the data packets is ensured.
It should be noted that, in the data congestion processing apparatus provided in the foregoing embodiment, only the division of the foregoing functional modules is used as an example, in practical application, the foregoing functional allocation may be performed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the data congestion processing apparatus and the data congestion processing method embodiment provided in the foregoing embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiment, and are not repeated herein.
Fig. 10 shows a block diagram of an electronic device 1000 according to an exemplary embodiment of the application. The electronic device 1000 may be a portable mobile terminal such as a smart phone, a car-mounted terminal, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, MPEG 3), an MP4 (Moving Picture Experts Group Audio Layer IV, MPEG 4) player, a notebook computer, or a desktop computer. Electronic device 1000 may also be referred to by other names of user devices, portable terminals, laptop terminals, desktop terminals, and the like.
In general, the electronic device 1000 includes a processor 1001 and a memory 1002.
The processor 1001 may include one or more processing cores. The processor 1001 may also include a main processor and a coprocessor.
Memory 1002 may include one or more computer-readable storage media, which may be non-transitory. Memory 1002 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 1002 is configured to store at least one instruction for execution by processor 1001 to implement the data congestion handling method provided by the method embodiments of the present application.
In some embodiments, the electronic device 1000 also includes one or more sensors. The one or more sensors include, but are not limited to, proximity sensors, gyroscopic sensors, pressure sensors.
In some embodiments, electronic device 1000 also includes other component parts, and those skilled in the art will appreciate that the structure shown in FIG. 10 is not limiting of electronic device 1000 and may include more or fewer components than shown, or may combine certain components, or may employ a different arrangement of components.
The embodiment of the application also provides a computer device which can be implemented as a terminal or a server as shown in fig. 1. The computer device includes a processor and a memory, where at least one instruction, at least one program, a code set, or an instruction set is stored, where at least one instruction, at least one program, a code set, or an instruction set is loaded and executed by the processor to implement the data congestion processing method provided by the foregoing method embodiments.
Embodiments of the present application also provide a computer readable storage medium having at least one instruction, at least one program, a code set, or an instruction set stored thereon, where the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the data congestion processing method provided by the foregoing method embodiments.
Embodiments of the present application also provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the data congestion processing method described in any of the above embodiments.
Alternatively, the computer readable storage medium may include a Read Only Memory (ROM), a random access Memory (RAM, random Access Memory), a Solid state disk (SSD, solid STATE DRIVES), an optical disk, or the like. The random access memory may include resistive random access memory (ReRAM, RESISTANCE RANDOM ACCESS MEMORY) and dynamic random access memory (DRAM, dynamic Random Access Memory), among others. The foregoing embodiment numbers of the present application are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc. The foregoing description of the preferred embodiments of the present application is not intended to limit the application, but rather, the application is to be construed as limited to the appended claims.

Claims (18)

1. A method of data congestion handling, the method comprising:
receiving a feedback message sent by data receiving equipment in the process of sending a data packet to the data receiving equipment by using a first data sending strategy, wherein the feedback message is information fed back to the data sending equipment by the data receiving equipment based on the received data packet;
determining round trip delay between the data sending device and the data receiving device based on the feedback message in response to receiving a congestion notification message, wherein the congestion notification message is used for representing that data congestion exists in the process that the data sending device sends a data packet to the data receiving device;
And under the condition that the round trip delay accords with a preset delay condition, adopting a second data transmission strategy to transmit data packets to the data receiving equipment, wherein the number of the first data packets transmitted in a unit time period under the first data transmission strategy is larger than the number of the second data packets transmitted in the unit time period under the second data transmission strategy.
2. The method according to claim 1, wherein the method further comprises:
And under the condition that the round trip delay does not meet the preset delay condition, adopting a third data transmission strategy to transmit data packets to the data receiving equipment, wherein the number of the third data packets transmitted in the unit time period under the third data transmission strategy is smaller than the number of the first data packets, and the number of the third data packets is larger than the number of the second data packets.
3. The method according to claim 1 or 2, wherein, in the case that the round trip delay meets a preset delay condition, transmitting a data packet to the data receiving device by using a second data transmission policy includes:
And under the condition that the round trip delay reaches a delay threshold, adopting the second data sending strategy to send a data packet to the data receiving equipment, wherein the preset delay condition comprises the delay threshold.
4. A method according to claim 3, characterized in that the method further comprises:
Acquiring a reference delay threshold, a data queuing delay and a maximum queuing delay, wherein the reference delay threshold is used for representing the minimum round trip time of the data sending equipment and the data receiving equipment in the data transmission process;
The latency threshold is determined based on at least two of the reference latency threshold, the data queuing latency, and the maximum queuing latency.
5. The method of claim 4, wherein the determining the latency threshold based on at least two of the reference latency threshold, a data queuing latency, and a maximum queuing latency comprises:
Taking the sum of the reference delay threshold, the data queuing delay and the maximum queuing delay as the delay threshold, or
And performing weighted summation on the reference delay threshold, the data queuing delay and the maximum queuing delay to obtain the delay threshold.
6. The method according to claim 1 or 2, wherein, in the case that the round trip delay meets a preset delay condition, transmitting a data packet to the data receiving device by using a second data transmission policy includes:
Acquiring a delay difference value between the round trip delay and a delay threshold value under the condition that the round trip delay reaches the delay threshold value, wherein the delay threshold value is the preset delay condition;
and determining the second data transmission strategy by taking the delay difference value as a first transmission reduction ratio, and transmitting a data packet to the data receiving equipment by adopting the second data transmission strategy.
7. The method of claim 6, wherein the first data packet transmission policy corresponds to a first transmission window and a first data transmission rate;
the determining the second data transmission strategy by taking the delay difference value as a first transmission reduction ratio, and transmitting a data packet to the data receiving device by adopting the second data transmission strategy, including:
Determining a second transmission window based on the first transmission window and the delay difference, the second transmission window being smaller than the first transmission window;
determining a second data transmission rate based on the first data transmission rate and the delay difference, the second data transmission rate being less than the first data transmission rate;
and transmitting a data packet to the data receiving device by adopting at least one of the second transmission window and the second data transmission rate.
8. The method of claim 7, wherein said transmitting data packets to said data receiving device using at least one of said second transmission window and said second data transmission rate comprises:
Transmitting data packets to the data receiving device at the second transmission window and the first data transmission rate, or
Transmitting data packets to the data receiving device at the first transmission window and the second data transmission rate, or
And transmitting data packets to the data receiving device at the second transmission window and the second data transmission rate.
9. The method of claim 6, wherein the method is performed by a first data transmission device;
And under the condition that the round trip delay reaches a delay threshold, acquiring a delay difference value between the round trip delay and the delay threshold, wherein the step of acquiring comprises the following steps:
Acquiring a first delay difference value between the first round trip delay and a first delay threshold value under the condition that the first round trip delay corresponding to the first data sending equipment reaches the first delay threshold value corresponding to the first data sending equipment;
the determining the second data transmission strategy by taking the delay difference value as a first transmission reduction ratio, and transmitting a data packet to the data receiving device by adopting the second data transmission strategy, including:
And determining a second data transmission strategy corresponding to the first data transmission equipment by taking the first delay difference value as a first transmission reduction ratio, and transmitting a data packet to the data receiving equipment by adopting the second data transmission strategy.
10. The method according to claim 2, wherein, in the case that the round trip delay does not meet a preset delay condition, transmitting the data packet to the data receiving device by using a third data transmission policy includes:
acquiring a first adjustment proportion under the condition that the round trip delay does not accord with the preset delay condition;
And determining the third data transmission strategy by taking the first adjustment proportion as a second transmission reduction proportion, and transmitting a data packet to data receiving equipment by adopting the third data transmission strategy.
11. The method of claim 10, wherein the method is performed by a first data transmission device;
The first adjustment proportion acquired by the first data transmitting device is the same as the adjustment proportion acquired by the second data transmitting device when the second round trip delay does not accord with the preset delay condition, and the second data transmitting device is used for transmitting data packets to the data receiving device.
12. The method according to claim 1 or 2, characterized in that the method further comprises:
and transmitting data packets to the data receiving equipment by adopting a fourth data transmission strategy in response to the fact that the congestion notification message is not received within a first duration, wherein the number of the fourth data packets transmitted under the fourth data transmission strategy is larger than the number of the first data packets transmitted under the first data transmission strategy.
13. The method of claim 12, wherein the transmitting the data packet to the data receiving device using a fourth data transmission policy in response to not receiving the congestion notification message within a first time period comprises:
Acquiring a second adjustment proportion in response to the congestion notification message not being received in the first duration;
determining a fourth transmission window based on the first transmission window and the second adjustment ratio, the fourth transmission window being larger than the first transmission window;
Determining a fourth data transmission rate based on a first data transmission rate and the second adjustment ratio, wherein the fourth data transmission rate is larger than the first data transmission rate, and the first data packet transmission strategy corresponds to the first transmission window and the first data transmission rate;
And transmitting a data packet to the data receiving device by adopting at least one of the fourth transmission window and the fourth data transmission rate.
14. The method of claim 12, wherein after transmitting a data packet to the data receiving device using a fourth data transmission policy in response to not receiving the congestion notification message within a first time period, further comprising:
Transmitting a data packet to the data receiving device by adopting a fifth data transmission strategy in response to that the congestion notification message is not received in a second time period after the first time period and the round trip delay corresponding to the termination time of the second time period does not meet the preset delay condition;
The number of the fifth data packets transmitted under the fifth data transmission strategy is greater than the number of the fourth data packets transmitted under the fourth data transmission strategy.
15. A data congestion handling apparatus, the apparatus comprising:
The receiving module is used for receiving a feedback message sent by the data receiving equipment in the process of sending a data packet to the data receiving equipment by using a first data sending strategy, wherein the feedback message is information fed back to the data sending equipment by the data receiving equipment based on the received data packet;
a determining module, configured to determine a round trip delay between the data sending device and the data receiving device based on the feedback packet in response to receiving a congestion notification packet, where the congestion notification packet is used to characterize that there is data congestion in a process that the data sending device sends a data packet to the data receiving device;
and the sending module is used for sending data packets to the data receiving equipment by adopting a second data sending strategy under the condition that the round trip delay accords with a preset delay condition, wherein the number of the first data packets transmitted in a unit time period under the first data sending strategy is larger than the number of the second data packets transmitted in the unit time period under the second data sending strategy.
16. A computer device comprising a processor and a memory, wherein the memory has stored therein at least one program that is loaded and executed by the processor to implement a data congestion handling method according to any of claims 1 to 14.
17. A computer readable storage medium having stored therein at least one program loaded and executed by a processor to implement a data congestion handling method according to any one of claims 1 to 14.
18. A computer program product comprising computer instructions which, when executed by a processor, implement a data congestion handling method according to any of claims 1 to 14.
CN202411970119.1A 2024-12-30 2024-12-30 Data congestion processing method, device, equipment, storage medium and program product Active CN119402435B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411970119.1A CN119402435B (en) 2024-12-30 2024-12-30 Data congestion processing method, device, equipment, storage medium and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411970119.1A CN119402435B (en) 2024-12-30 2024-12-30 Data congestion processing method, device, equipment, storage medium and program product

Publications (2)

Publication Number Publication Date
CN119402435A true CN119402435A (en) 2025-02-07
CN119402435B CN119402435B (en) 2025-04-15

Family

ID=94424658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411970119.1A Active CN119402435B (en) 2024-12-30 2024-12-30 Data congestion processing method, device, equipment, storage medium and program product

Country Status (1)

Country Link
CN (1) CN119402435B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369498B1 (en) * 1999-12-13 2008-05-06 Nokia Corporation Congestion control method for a packet-switched network
JP2015002397A (en) * 2013-06-14 2015-01-05 株式会社日立製作所 Communication device, communication system, and communication method
CN108306827A (en) * 2017-01-12 2018-07-20 华为技术有限公司 The method and server of transmission data
CA3055843A1 (en) * 2018-10-04 2020-04-04 Sandvine Corporation Method and system for application aware congestion management
CN114938354A (en) * 2022-06-24 2022-08-23 北京有竹居网络技术有限公司 Method, apparatus, device and storage medium for congestion control
CN116886622A (en) * 2023-09-08 2023-10-13 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) Network congestion control method, device, equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369498B1 (en) * 1999-12-13 2008-05-06 Nokia Corporation Congestion control method for a packet-switched network
JP2015002397A (en) * 2013-06-14 2015-01-05 株式会社日立製作所 Communication device, communication system, and communication method
CN108306827A (en) * 2017-01-12 2018-07-20 华为技术有限公司 The method and server of transmission data
CA3055843A1 (en) * 2018-10-04 2020-04-04 Sandvine Corporation Method and system for application aware congestion management
CN114938354A (en) * 2022-06-24 2022-08-23 北京有竹居网络技术有限公司 Method, apparatus, device and storage medium for congestion control
CN116886622A (en) * 2023-09-08 2023-10-13 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) Network congestion control method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN119402435B (en) 2025-04-15

Similar Documents

Publication Publication Date Title
US11558302B2 (en) Data transmission method and apparatus
US8873385B2 (en) Incast congestion control in a network
WO2022121469A1 (en) Flow control method, apparatus, and device, and readable storage medium
US8072886B2 (en) Method and system for transmission control protocol (TCP) traffic smoothing
US20070226375A1 (en) Plug-in architecture for a network stack in an operating system
EP3120521A1 (en) Transport accelerator implementing request manager and connection manager functionality
US20070226347A1 (en) Method and apparatus for dynamically changing the TCP behavior of a network connection
CN113141314B (en) A congestion control method and device
EP4020892A1 (en) Network parameter configuration method and apparatus
Lu et al. Dynamic ECN marking threshold algorithm for TCP congestion control in data center networks
CN115460156B (en) A data center lossless network congestion control method, device, equipment and medium
CN103428104A (en) Content-center network-based congestion control method
CN117692396B (en) TCP unilateral acceleration method and device in complex network environment
CN119402435B (en) Data congestion processing method, device, equipment, storage medium and program product
CN116980342B (en) Method and system for transmitting data in multi-link aggregation mode
Song et al. Exploring rate-based congestion control in NDN
CN118842756A (en) Data transmission method, device, electronic equipment and computer readable storage medium
US10652159B2 (en) Mobile packet data rate control based on radio load and other measures
CN120075136B (en) Active congestion control method based on credit mechanism, electronic equipment and storage medium
US10833999B2 (en) Active request management apparatus in stateful forwarding networks and method thereof
CN118524065B (en) Congestion control method and device, storage medium and electronic equipment
CN113949670B (en) Method, device, system, equipment and storage medium for allocating bandwidth of uplink channel
Gong et al. How to Adapt RDMA Congestion Control Algorithm Based on Local Conditions
Guduru et al. Reliable Session Initiation Protocol (RSIP) signaling with UDP transport using piggybacking method
CN120200978A (en) System and method for congestion and flow control in a network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant