Congestion window determination method and device in network transmission, equipment and storage medium

By combining the round-trip delay sampling value and out-of-order depth value in network transmission, the congestion window is dynamically adjusted, which solves the problem of small congestion window value in transmission out-of-order scenarios, and improves data transmission capability and user experience.

CN119629128APending Publication Date: 2025-03-14BIGO TECH PTE LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411763227.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

In network transmission, the congestion window value calculated based on bandwidth delay product is likely to be small, resulting in limited packet transmission, low link utilization, and poor user experience, especially in the case of out-of-order transmission.

Method used

When receiving the confirmation message from the data receiving end, the round-trip delay sampling value is determined based on the transmission time parameters of the received data packet corresponding to the transmission sequence number, and the target out-of-order depth value is determined based on the historical delay smoothing value, the historical delay standard deviation smoothing value and the maximum retransmission delay. Then, check whether the historical round trip delay queue meets the uptrend condition. If not, compensate the current congestion window value based on the maximum bandwidth sample value and the out-of-order depth value to determine the target congestion window.

Benefits of technology

It effectively improves the data sending ability of the data sending end in out-of-order scenarios, improves the utilization rate of network transmission resources, optimizes the fluency of media transmission data, and improves the user's product experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119629128A_ABST
    Figure CN119629128A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a congestion window determination method and device in network transmission, equipment and a storage medium. The method comprises the following steps: determining a round-trip delay sampling value based on a transmission time parameter of a received data packet corresponding to a transmission sequence number in an acknowledgement message; determining the maximum retransmission delay according to the at least one first target data packet; determining a target out-of-order depth value according to the recorded historical time delay smooth value, the historical time delay standard deviation smooth value, the round-trip time delay sampling value and the maximum retransmission delay; detecting whether the historical round-trip delay queue meets a rising trend condition or not, and compensating the current congestion window value based on the recorded maximum bandwidth sample value and the disorder depth value to determine a corresponding target congestion window when it is detected that the historical round-trip delay queue does not meet the rising trend condition, and sending the data packet based on the target congestion window. According to the scheme, the congestion window is reasonably determined, so that the data sending capability of the data sending end in an out-of-order scene is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of communication technology, and in particular, to a method, apparatus, device and storage medium for determining a congestion window in network transmission. Background Art

[0002] With the increasing richness of network applications, users' demand for network bandwidth continues to grow. When the amount of data that needs to be transmitted in the network is too much, the link bandwidth resources will be limited, resulting in a decrease in network transmission performance and network congestion. When congestion occurs in the network, problems such as data packet loss, increased latency, and decreased network throughput will occur, affecting the user's network experience. In order to improve the transmission quality, congestion control algorithms are used in related technologies to control data transmission. Among them, the congestion window is a key parameter of the congestion control algorithm. The congestion window is the number of data packets that have been sent but have not received confirmation messages allowed in the transmission link based on the congestion control algorithm's estimation of the network status. It is used to limit the maximum number of data packets that can be sent by the data sender. By adjusting the size of the congestion window, the packet sending window can be adjusted, and then the data sending rate can be adjusted to avoid network congestion.

[0003] During network transmission, due to routing path changes, link cache congestion, network equipment processing and other reasons, transmission disorder is prone to occur, that is, the data packets sent by the data sender in normal order do not arrive at the data receiver in the original order, and transmission disorder will lead to misjudgment of packet loss detection, inaccurate round-trip delay estimation and other problems. The related technology uses the maximum bandwidth sampling sample and the minimum round-trip delay sampling sample within the set time range to calculate the bandwidth delay product, and calculates the congestion window value based on the bandwidth delay product. However, in the transmission disorder scenario, there is a large deviation between the minimum round-trip delay sampling sample and the expected value of the round-trip delay when the actual link is idle, which will make the congestion window value calculated based on the bandwidth delay product smaller, resulting in limited data packet transmission, resulting in low link utilization, and users playing media content jams, which in turn affects the user experience. Summary of the invention

[0004] The embodiments of the present application provide a method, apparatus, device and storage medium for determining a congestion window in network transmission, which solves the problem in the related art that the congestion window value calculated based on the bandwidth-delay product is too small, resulting in limited data packet transmission, low link utilization, and user experience is affected by freezes in media content playback by users. By reasonably determining the congestion window, the data transmission capability of the data sender in disordered scenarios is improved, the utilization rate of network transmission resources is improved, the smoothness of media transmission data is optimized, and the user's product experience is improved.

[0005] In a first aspect, an embodiment of the present application provides a method for determining a congestion window in network transmission, the method comprising:

[0006] When receiving a confirmation message of a sent data packet sent by a data receiving end, determine a round-trip delay sampling value based on a transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and add the round-trip delay sampling value to a historical round-trip delay queue;

[0007] In a case where it is detected that at least one first target data packet that satisfies an invalid retransmission condition exists in the received data packets, determining a maximum retransmission delay according to the at least one first target data packet;

[0008] Determine a target out-of-order depth value according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay;

[0009] Detect whether the historical round-trip delay queue meets an upward trend condition. If it is detected that the historical round-trip delay queue does not meet the upward trend condition, compensate the current congestion window value based on the recorded maximum bandwidth sample value and the out-of-order depth value to determine a corresponding target congestion window, and send a data packet based on the target congestion window.

[0010] In a second aspect, an embodiment of the present application further provides a device for determining a congestion window in network transmission, the device comprising:

[0011] A round trip delay sampling module is configured to determine a round trip delay sampling value based on a transmission time parameter of a received data packet corresponding to a transmission sequence number in the confirmation message when receiving a confirmation message of a sent data packet sent by a data receiving end, and add the round trip delay sampling value to a historical round trip delay queue;

[0012] a retransmission delay determination module, configured to determine a maximum retransmission delay according to the at least one first target data packet when detecting that there is at least one first target data packet satisfying an invalid retransmission condition in the received data packets;

[0013] An out-of-order depth determination module is configured to determine a target out-of-order depth value according to a recorded historical delay smoothing value, a historical delay standard deviation smoothing value, the round-trip delay sampling value, and the maximum retransmission delay;

[0014] The congestion window compensation module is configured to detect whether the historical round-trip delay queue meets the upward trend condition. When it is detected that the historical round-trip delay queue does not meet the upward trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and the out-of-order depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window.

[0015] In a third aspect, an embodiment of the present application further provides a congestion window determination device in network transmission, the device comprising:

[0016] one or more processors;

[0017] a storage device configured to store one or more programs,

[0018] When the one or more programs are executed by the one or more processors, the one or more processors implement the congestion window determination method in network transmission described in the embodiment of the present application.

[0019] In a fourth aspect, an embodiment of the present application further provides a non-volatile storage medium storing computer executable instructions, wherein the computer executable instructions, when executed by a computer processor, are configured to execute the congestion window determination method in network transmission described in the embodiment of the present application.

[0020] In a fifth aspect, an embodiment of the present application further provides a computer program product, which includes a computer program stored in a computer-readable storage medium, and at least one processor of the device reads and executes the computer program from the computer-readable storage medium, so that the device executes the congestion window determination method in network transmission described in the embodiment of the present application.

[0021] In an embodiment of the present application, when a confirmation message of a sent data packet sent by a data receiving end is received, a round-trip delay sampling value is determined based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and the round-trip delay sampling value is added to a historical round-trip delay queue; when it is detected that there is at least one first target data packet that meets the invalid retransmission condition in the received data packet, a maximum retransmission delay is determined according to the at least one first target data packet; a target out-of-order depth value is determined according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay; whether the historical round-trip delay queue meets the rising trend condition is detected, and when it is detected that the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and the out-of-order depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window. In the above scheme, by determining the target out-of-order depth value based on the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay, the out-of-order evaluation of the current transmission scenario can be effectively performed in combination with the sampling data of the round-trip delay and the invalid retransmission feedback, and the out-of-order upper limit of the transmission link can be accurately estimated; by detecting whether the historical round-trip delay queue meets the rising trend condition, the congestion aggravation scenario where the round-trip delay is in an increasing state can be effectively identified and avoided. Only when the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and out-of-order depth value, and the congestion window is reasonably determined to avoid increasing data transmission when the transmission link is congested, resulting in worsening congestion, thereby improving the data sending capability of the data sender in the out-of-order scenario, improving the utilization rate of network transmission resources, optimizing the smoothness of media transmission data, and improving the user's product experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 A flowchart of a method for determining a congestion window in network transmission provided in an embodiment of the present application;

[0023] Figure 2 A schematic diagram of a process for transmitting streaming media data using a method for determining a congestion window in network transmission provided by an embodiment of the present application;

[0024] Figure 3 A flowchart of a congestion window determination method including a process of determining a target out-of-order depth value provided in an embodiment of the present application;

[0025] Figure 4 A flowchart of a congestion window determination method including a process of detecting whether a historical round-trip delay queue meets an upward trend condition provided in an embodiment of the present application;

[0026] Figure 5A flowchart of a congestion window determination method including a process of judging an upward trend in combination with the number of elements in a historical round-trip delay queue provided in an embodiment of the present application;

[0027] Figure 6 A flowchart of a congestion window determination method including a process of compensating a current congestion window value provided in an embodiment of the present application;

[0028] Figure 7 A flowchart of a congestion window determination method including a process of determining a round-trip delay sampling value provided in an embodiment of the present application;

[0029] Figure 8 A structural block diagram of a device for determining a congestion window in network transmission provided in an embodiment of the present application;

[0030] Fig. 9 A structural diagram of a congestion window determination device in network transmission provided in an embodiment of the present application. DETAILED DESCRIPTION

[0031] The embodiments of the present application are further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the embodiments of the present application, rather than to limit the embodiments of the present application. It should also be noted that, for ease of description, only parts related to the embodiments of the present application are shown in the accompanying drawings, rather than all structures.

[0032] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0033] The congestion window determination method in network transmission provided in the embodiment of the present application can be used for the data sending end to compensate for the congestion window value in the disordered scenario and improve the data sending capability. The method can be applied to the uplink and downlink transmission scenarios of live streaming media, and the relevant application scenarios include web page live broadcast, conference live broadcast, video live broadcast, etc. The several application scenarios listed above are only exemplary and explanatory. In actual applications, the congestion window determination method in network transmission can also be used in data transmission in other scenarios, and the embodiment of the present application does not limit this.

[0034] In the method for determining the congestion window in network transmission provided in the embodiment of the present application, the executor of each step can be a computer device, which refers to any electronic device with data calculation, processing and storage capabilities, such as mobile phones, PCs (Personal Computers), tablet computers and other terminal devices, and can also be servers and other devices, which are not limited in the embodiment of the present application.

[0035] Figure 1 A flowchart of a method for determining a congestion window in network transmission provided by an embodiment of the present application. The method for determining a congestion window in network transmission is applied to a data sending end, such as Figure 1 As shown, the following steps are included:

[0036] Step S101: upon receiving a confirmation message of a sent data packet from a data receiving end, determine a round trip delay sampling value based on a transmission time parameter of the received data packet corresponding to a transmission sequence number in the confirmation message, and add the round trip delay sampling value to a historical round trip delay queue.

[0037] Among them, the uplink and downlink transmission scenarios of live broadcasting are taken as an example. In the uplink transmission scenario, the data sending end is the anchor end, and the data receiving end is the media server; in the downlink transmission scenario, the data sending end is the media server, and the audience client is the data receiving end. In this embodiment, the data sending end is described as the execution subject. The data packet sent by the data sending end to the data receiving end carries a transmission sequence number, which is used to identify the order in which the data sending end transmits the data packet to the transmission link. For example, the larger the transmission sequence number, the later the transmission time is, and the transmission sequence number of each data packet is unique. Correspondingly, after the data receiving end successfully receives the data packet, it can feedback a confirmation message to the data sending end. The confirmation message carries the transmission sequence number of the received data packet and the confirmation message delay, wherein the transmission sequence number in the confirmation message can be used to confirm to the data sending end that the sent data packet corresponding to the transmission sequence number has been successfully transmitted, and the confirmation message delay is the difference between the sending time of the confirmation message and the time when the data packet is received.

[0038] In one embodiment, the data transmitting end stores the transmission time of the data packet corresponding to each transmission sequence number. If a data packet is retransmitted, the retransmission time corresponding to the data packet is also stored, wherein the transmission time is the time when the data packet is pushed to the transmission link, and the retransmission time is the time when the data packet is judged to be lost and retransmitted. Optionally, the transmission time and the retransmission time can be stored in the form of a local timestamp, and the accuracy can be in milliseconds. In one embodiment, the transmission time parameter may include the transmission time, and the round-trip delay can be obtained by calculating the difference between the current system time of receiving the confirmation message and the transmission time of the received data packet. In one embodiment, the transmission time parameter may include the transmission time and the confirmation message delay, and the round-trip delay can be obtained by subtracting the transmission time and the confirmation message delay of the received data packet from the current system time of receiving the confirmation message in sequence. In one embodiment, the confirmation message received by the data transmitting end may be an aggregated confirmation message, and each confirmation message can be used to reply to the reception status of multiple received data packets. Optionally, the round-trip delay sampling value corresponding to the reception of the confirmation message can be obtained by averaging the round-trip delays calculated by selecting multiple received data packets. Optionally, the round-trip delay calculated for the received data packet with the largest transmission sequence number can be used as the round-trip delay sampling value corresponding to the confirmation message received this time. The round-trip delay sampling value can be used as reference information for measuring the degree of congestion of the transmission link. In addition, the calculated round-trip delay sampling value can be added to a historical round-trip delay queue, which can be used to record the round-trip delay sampling value calculated each time a confirmation message is received. Optionally, the historical round-trip delay queue can be set with a fixed queue length. If the number of elements when storing the round-trip delay sampling value in the historical round-trip delay queue is greater than the fixed queue length, the queue head element can be deleted.

[0039] Step S102: when it is detected that there is at least one first target data packet satisfying the invalid retransmission condition in the received data packets, a maximum retransmission delay is determined according to the at least one first target data packet.

[0040] Among them, the data sending end can judge that the data packet is lost and needs to be retransmitted based on the selection retransmission or timeout retransmission method, and can set the retransmission flag of the data packet to a true value. In addition, after the data packet is judged to be lost and retransmitted, the corresponding recorded retransmission time is not zero. Among them, the selection retransmission can be detected and judged by the data sending end based on the transmission sequence number fed back by the confirmation message. For example, for a data packet with sequence number n, if the confirmation message feeds back that the data packet with sequence number n+k is successfully transmitted, it can be regarded as the data packet with sequence number n is lost, and the data packet is requested to be retransmitted. In addition, the timeout retransmission can judge the packet loss by estimating the retransmission timeout time of the link. For example, if the sent data packet still does not receive the confirmation message after the retransmission timeout time, it can be regarded as the data packet lost, and the data packet is requested to be retransmitted. Therefore, if the transmission is out of order, the data sending end may receive the confirmation message of a data packet after judging that a data packet is lost and retransmitting it, resulting in the transmission of redundant data packets. In one embodiment, the data transmitting end can determine the received data packets that have successfully completed the transmission from the transmission sequence number in the confirmation message. If it is detected that one of the received data packets is judged to be lost and retransmitted, it can be determined that the retransmitted data packet is a redundant data packet, and the received data packet has been invalidly retransmitted. In one embodiment, an invalid retransmission condition can be set. By detecting whether the received data packet corresponding to the transmission sequence number in the confirmation message meets the invalid retransmission condition, it can be effectively determined whether the data transmitting end has performed an invalid retransmission. Optionally, at least one first target data packet that meets the invalid retransmission condition includes: at least one data packet that meets the retransmission flag as a true value, or at least one data packet whose retransmission time is not zero. Optionally, the data transmitting end can also record the number of transmissions of data packets with the same content. Accordingly, the first target data packet that meets the invalid retransmission condition can also be that the corresponding number of transmissions is greater than 1. Of course, the invalid retransmission condition can also be set according to other invalid retransmission judgment criteria, which is not limited in this application. In addition, for the first target data packet that meets the invalid retransmission condition, its retransmission delay can be obtained by subtracting the retransmission time from the transmission time. In one embodiment, if it is detected that there is only one first target data packet that meets the invalid retransmission condition in the received data packets, the retransmission delay of the first target data packet is determined as the maximum retransmission delay corresponding to the confirmation message received this time. In one embodiment, if it is detected that there are multiple first target data packets that meet the invalid retransmission condition in the received data packets, the maximum retransmission delay is determined from the multiple retransmission delays obtained by calculation, and the specific process is as follows: the retransmission time corresponding to each first target data packet is subtracted from the sending time to obtain the retransmission delay, and the retransmission delay is statistically determined to determine the maximum retransmission delay.Among them, due to the change in the degree of transmission disorder in the actual network environment, the retransmission delays of different first target data packets may be the same or different. Among them, the greater the degree of transmission disorder, the greater the retransmission delay of invalid retransmission. Therefore, the maximum retransmission delay can be used as reference information for measuring the disorder degree of the transmission link. In one embodiment, if the first target data packet that meets the invalid retransmission condition is not detected in the received data packet, the maximum retransmission delay is set to zero.

[0041] Step S103: Determine a target out-of-order depth value according to the recorded historical delay smoothing value, historical delay standard deviation smoothing value, round-trip delay sampling value and maximum retransmission delay.

[0042] Among them, the historical delay smoothing value and the historical delay standard deviation smoothing value can be calculated based on the historical round-trip delay sampling value calculated based on the received data packet corresponding to the previously received confirmation message. Optionally, the weighted moving average, exponential moving average or Gaussian filtering algorithm can be used to calculate the historical delay smoothing value and the historical delay standard deviation smoothing value, which is not limited in this application. Among them, the historical delay smoothing value, the historical delay standard deviation smoothing value and the round-trip delay sampling value can be used to calculate the delay smoothing value and the delay standard deviation smoothing value corresponding to the current confirmation message received. Among them, the delay smoothing value can be used to characterize the average delay experienced by the data sending end from sending a data packet to receiving a confirmation message sent by the data receiving end, and the delay standard deviation smoothing value can be used to characterize the degree of dispersion of the round-trip delay sampling value relative to the round-trip delay average value, which can be used to measure the stability of the round-trip delay. It is worth noting that the greater the disorder of the network transmission, the greater the fluctuation of the round-trip delay, and relatively, the delay standard deviation smoothing value will be higher, so the delay standard deviation smoothing value can also be used as a reference information for measuring the disorder of the transmission link. In one embodiment, when the maximum retransmission delay is not zero, the maximum retransmission delay can be subtracted from the delay smoothing value to obtain a candidate out-of-order depth value, and the candidate out-of-order depth value and the delay standard deviation smoothing value are weighted averaged to obtain a target out-of-order depth value. The specific weights can be adaptively set by the developer according to the transmission characteristics and empirical data of the actual application scenario, and this application does not limit this. In one embodiment, the maximum retransmission delay can be subtracted from the delay smoothing value to obtain a candidate out-of-order depth value, and the larger value of the candidate out-of-order depth value and the delay standard deviation smoothing value is used as the target out-of-order depth value. The target out-of-order depth value can be used to characterize the degree of disorder of the current transmission link.

[0043] Step S104: Detect whether the historical round-trip delay queue meets the rising trend condition. If it is detected that the historical round-trip delay queue does not meet the rising trend condition, compensate the current congestion window value based on the recorded maximum bandwidth sample value and out-of-order depth value to determine the corresponding target congestion window, and send the data packet based on the target congestion window.

[0044] Among them, satisfying the rising trend condition can be that the historical round-trip delay sampling values ​​in the historical round-trip delay queue are in a state of gradually increasing. In one embodiment, the difference or ratio of adjacent historical round-trip delay sampling values ​​in the historical round-trip delay queue can be calculated, and by counting the proportion of data with a difference greater than 0 or a ratio greater than 1, and comparing it with the set threshold, it can be determined whether the historical round-trip delay queue meets the rising trend condition. In one embodiment, the historical round-trip delay queue can be fitted with data based on a set linear model or nonlinear model to determine whether the historical round-trip delay queue meets the rising trend condition, for example, a first-order linear model, a polynomial model, an exponential model, etc., by comparing the fitting effects and model parameters of different linear models and nonlinear models, it can be determined whether the historical round-trip delay sampling values ​​meet the rising trend and the rising pattern. Of course, other statistical methods can also be used to detect whether the historical round-trip delay queue meets the rising trend condition, which is not limited in this application. Among them, the current congestion window value can be the basic congestion window size calculated by the congestion control algorithm based on the bandwidth delay product. In one embodiment, the current maximum bandwidth sample value collected and the round-trip delay sample value can be multiplied to obtain the current congestion window value. In one embodiment, the delay smoothing value can be calculated based on the round-trip delay sample value and the historical delay smoothing value, and the maximum bandwidth sample value and the delay smoothing value are multiplied to obtain the current congestion window value. Of course, there are other methods for calculating the current congestion window value based on the congestion control algorithm, which are not limited in this application. If it is detected that the historical round-trip delay queue meets the rising trend condition, it means that the current transmission link congestion program is increasing, and compensating the current congestion window value may cause congestion to increase. Therefore, keeping the current congestion window value unchanged, the current congestion window value is the basic congestion window size estimated based on the congestion control algorithm. If it is detected that the historical round-trip delay queue does not meet the rising trend condition, it means that the current transmission link is not congested, or the congestion level is relatively mild, and the current congestion window value can be appropriately compensated to improve the data transmission capacity. In one embodiment, the recorded maximum bandwidth sample value and the out-of-order depth value may be multiplied to obtain a window compensation value, and the window compensation value may be added to the current congestion window value for compensation. In one embodiment, the calculated out-of-order depth value and the previously calculated out-of-order depth value may be weighted averaged to obtain a target out-of-order depth value, the recorded maximum bandwidth sample value and the target out-of-order depth value may be multiplied to obtain a window compensation value, and the window compensation value may be added to the current congestion window value for compensation.

[0045] In one embodiment, Figure 2 A schematic diagram of a process of performing streaming media data transmission using a congestion window determination method in network transmission provided by an embodiment of the present application, such as Figure 2 As shown, the data transmitting end 101 includes a congestion control module 1011, a sending window module 1012, an out-of-order depth estimation module 1013, a round-trip delay sampling module 1014, a confirmation message processing module 1015 and an invalid retransmission detection module 1016, and the data receiving end 102 includes a receiving queue module 1021 and a confirmation message sending module 1022. The data receiving end 102 stores the received data packets in the receiving queue module 1021, and sends the receiving information to the confirmation message sending module 1022, and the confirmation message sending module 1022 sends the confirmation message of the received data packet to the data transmitting end 101 according to the receiving information. The data transmitting end 101 receives the confirmation message through the confirmation message processing module 1015, and transmits the relevant transmission information of the received data packet corresponding to the transmission sequence number in the confirmation message to the round-trip delay sampling module 1014 and the invalid retransmission detection module 1016 respectively. The round-trip delay sampling module determines the round-trip delay sampling value according to the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and passes the round-trip delay sampling value to the out-of-order depth estimation module 1013. The invalid retransmission detection module 1016 determines the maximum retransmission delay according to at least one first target data packet that meets the invalid retransmission condition, and passes the maximum retransmission delay to the out-of-order depth estimation module 1013. The out-of-order depth estimation module 1013 determines the target out-of-order depth value according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay, and passes the target out-of-order depth value to the congestion control module 1011. When the historical round-trip delay queue meets the rising trend condition, the congestion control module 1011 compensates the current congestion window value according to the target out-of-order depth value and the recorded maximum bandwidth sample value to determine the corresponding target congestion window, and passes the target congestion window to the sending window module 1012. The sending window module 1012 sends the data packet based on the target congestion window.

[0046] In the above, when a confirmation message of a sent data packet sent by a data receiving end is received, a round-trip delay sampling value is determined based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and the round-trip delay sampling value is added to the historical round-trip delay queue; when it is detected that there is at least one first target data packet that meets the invalid retransmission condition in the received data packet, the maximum retransmission delay is determined according to the at least one first target data packet; the target disorder depth value is determined according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay; whether the historical round-trip delay queue meets the rising trend condition is detected, and when it is detected that the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and disorder depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window. In the above scheme, by determining the target out-of-order depth value based on the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay, the out-of-order evaluation of the current transmission scenario can be effectively performed in combination with the sampling data of the round-trip delay and the invalid retransmission feedback, and the out-of-order upper limit of the transmission link can be accurately estimated; by detecting whether the historical round-trip delay queue meets the rising trend condition, the congestion aggravation scenario where the round-trip delay is in an increasing state can be effectively identified and avoided. Only when the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and out-of-order depth value, and the congestion window is reasonably determined to avoid increasing data transmission when the transmission link is congested, resulting in worsening congestion, thereby improving the data sending capability of the data sender in the out-of-order scenario, improving the utilization rate of network transmission resources, optimizing the smoothness of media transmission data, and improving the user's product experience.

[0047] Figure 3 A flowchart of a congestion window determination method including a process of determining a target out-of-order depth value is provided in an embodiment of the present application. Figure 3 As shown, the following steps are included:

[0048] Step S201: upon receiving a confirmation message of a sent data packet from a data receiving end, determine a round trip delay sampling value based on a transmission time parameter of the received data packet corresponding to a transmission sequence number in the confirmation message, and add the round trip delay sampling value to a historical round trip delay queue.

[0049] Step S202: When it is detected that at least one first target data packet that meets the invalid retransmission condition exists in the received data packets, a maximum retransmission delay is determined according to the at least one first target data packet.

[0050] Step S203: Calculate the delay smoothing value and the delay standard deviation smoothing value according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value and the round-trip delay sampling value.

[0051] Among them, the delay smoothing value and the delay standard deviation smoothing value can be calculated by using algorithms such as weighted moving average, exponential moving average or Gaussian filtering. Taking the exponential moving average as an example, the specific calculation formula is as follows:

[0052] rttDelta t =β*|rtt t -srtt t-1 |+(1-β)*rttDelta t-1 ,

[0053] srtt t =α*rtt t +(1-α)*srtt t-1 ,

[0054] Among them, rttDelta t is the smoothed value of the delay standard deviation, srtt t is the delay smoothing value, srtt t-1 rttDelta is the historical delay smoothing value calculated when the confirmation message was received at the previous moment. t-1 is the smoothed value of the historical delay standard deviation calculated when the confirmation message was received at the previous moment, rtt t is the round-trip delay sampling value, α and β are reference index values, for example, β = 0.25, α = 0.125. In addition, if the current moment is the first time to receive the confirmation message, the specific calculation formula is as follows:

[0055] rttDelta0=rtt0 / 2,

[0056] srtt0=rtt0,

[0057] Among them, rttDelta0 is the smoothed value of the delay standard deviation when the confirmation message is received for the first time, srtt0 is the smoothed value of the delay when the confirmation message is received for the first time, and rtt0 is the round-trip delay sampling value when the confirmation message is received for the first time.

[0058] Step S204: subtract the maximum retransmission delay from the delay smoothing value to obtain a first candidate out-of-order depth value, and multiply the delay standard deviation smoothing value by a preset gain coefficient to obtain a second candidate out-of-order depth value.

[0059] Among them, since the maximum retransmission delay can be used as reference information to measure the disorder degree of the transmission link, the delay smoothing value can be used to characterize the average delay experienced by the data transmitter from sending a data packet to receiving a confirmation message sent by the data receiver. Therefore, subtracting the maximum retransmission delay from the delay smoothing value can eliminate the effect of the message transmission delay, and the first candidate disorder depth value obtained can be used to characterize the disorder degree of the transmission link. In addition, the delay standard deviation smoothing value can also be used as reference information to measure the disorder degree of the transmission link. In order to more accurately characterize the disorder degree of the transmission link, the delay standard deviation smoothing value can be multiplied by a preset gain coefficient, which is a Gaussian-based standard deviation gain coefficient. For example, the preset gain coefficient is 2.

[0060] Step S205: Determine a larger value between the first candidate out-of-order depth value and the second candidate out-of-order depth value as a target out-of-order depth value.

[0061] Among them, since the first candidate out-of-order depth value and the second candidate out-of-order depth value can both be used to characterize the degree of out-of-orderness of the transmission link, the larger value can be selected as the final target out-of-order depth value, and the subsequent congestion window compensation can be performed based on the maximum out-of-order evaluation result of the transmission link.

[0062] Step S206: Detect whether the historical round-trip delay queue meets the rising trend condition. If it is detected that the historical round-trip delay queue does not meet the rising trend condition, compensate the current congestion window value based on the recorded maximum bandwidth sample value and out-of-order depth value to determine the corresponding target congestion window, and send the data packet based on the target congestion window.

[0063] As mentioned above, by subtracting the maximum retransmission delay from the delay smoothing value to obtain the first candidate out-of-order depth value, and multiplying the delay standard deviation smoothing value by the preset gain coefficient to obtain the second candidate out-of-order depth value, the candidate value that characterizes the degree of disorder of the transmission link can be effectively calculated, and by determining the larger value of the first candidate out-of-order depth value and the second candidate out-of-order depth value as the target out-of-order depth value, the maximum degree of disorder of the transmission link can be accurately evaluated, which is conducive to the subsequent reasonable congestion window compensation.

[0064] Figure 4 A flowchart of a congestion window determination method including a process of detecting whether a historical round-trip delay queue meets an upward trend condition is provided in an embodiment of the present application. Figure 4 As shown, the following steps are included:

[0065] Step S301: upon receiving a confirmation message of a sent data packet from a data receiving end, determine a round trip delay sampling value based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and add the round trip delay sampling value to a historical round trip delay queue.

[0066] Step S302: when it is detected that there is at least one first target data packet satisfying the invalid retransmission condition in the received data packets, a maximum retransmission delay is determined according to the at least one first target data packet.

[0067] Step S303: Determine a target out-of-order depth value according to the recorded historical delay smoothing value, historical delay standard deviation smoothing value, round-trip delay sampling value and maximum retransmission delay.

[0068] Step S304: Calculate the sum of the absolute values ​​of the differences between adjacent historical round-trip delay sampling values ​​in the historical round-trip delay queue, and divide the difference between the historical round-trip delay sampling values ​​at the head and the tail of the historical round-trip delay queue by the sum of the absolute values ​​to obtain a first proportion.

[0069] Among them, if the number of elements in the historical round-trip delay queue is j, rtt i is the element in the historical round-trip delay queue, i∈[0,j-1], rtt0 is the element at the head of the historical round-trip delay queue, rtt j-1 is the element at the end of the historical round-trip delay queue, the calculation formula for the sum of the absolute values ​​is as follows:

[0070]

[0071] Among them, diffSum is the sum of the absolute values, rtt i and rtt i-1 is the adjacent historical round-trip delay sampling value, where rtt i The sampling time is later than rtt i-1 The sampling time.

[0072] In addition, the calculation formula of the first proportion is as follows:

[0073] diffSumDelta=(rtt j-1 -rtt0) / diffSum,

[0074] Among them, diffSumDelta is the first proportion, rtt j-1 is the element at the end of the historical round-trip delay queue, rtt0 is the element at the head of the historical round-trip delay queue, and diffSum is the sum of the absolute values. The first proportion can be used to characterize the difference between the round-trip delay sampling values ​​obtained by the last sampling and the first sampling, respectively. Relative to the sum of the absolute values, if the first proportion is larger, it means that the overall upward (or downward) trend and the upward (or downward) amplitude match more highly, if the first proportion is smaller, it means that the overall upward (or downward) trend and the upward (or downward) amplitude match less highly.

[0075] Step S305: Count the number of positive differences between adjacent historical round-trip delay sampling values ​​in the historical round-trip delay queue, and divide the counted number by the total number of element pairs in the historical round-trip delay queue to obtain a second proportion.

[0076] The statistical expression of the count quantity is as follows:

[0077]

[0078] Among them, diffUpNum is the count number. If rtt i Greater than rtt i-1 , then the count is accumulated by 1, if rtt i Less than or equal to rtt i-1 Therefore, the counted number is equivalent to the sum of the number of round-trip delay sampling values ​​at the next moment increased relative to the round-trip delay sampling values ​​at the previous moment.

[0079] In addition, the calculation formula of the second proportion is as follows:

[0080] diffUpNumDelta=diffUpNum / (j-1),

[0081] Among them, diffUpNumDelta is the second proportion, diffUpNum is the count number, and j-1 is the total number of element pairs in the historical round-trip delay queue, which is equivalent to the statistical number of paired adjacent elements in the historical round-trip delay queue. The second proportion can be used to characterize the element pairs whose round-trip delay sampling values ​​at the latter moment are increased relative to the round-trip delay sampling values ​​at the previous moment, and the proportion relative to the total number of element pairs. If the second proportion is larger, it means that the round-trip delay sampling values ​​in the historical round-trip delay queue are more likely to increase as a whole. If the second proportion is smaller, it means that the round-trip delay sampling values ​​in the historical round-trip delay queue are more likely to decrease as a whole.

[0082] Step S306: When the first proportion is greater than the first proportion threshold and the second proportion is greater than the second proportion threshold, it is determined that the historical round-trip delay queue meets the rising trend condition.

[0083] Among them, if the first proportion is greater than the first proportion threshold, and the second proportion is greater than the second proportion threshold, it means that the round-trip delay sampling value in the historical round-trip delay queue is likely to continue to rise, and the historical round-trip delay queue meets the rising trend condition. Among them, the first proportion threshold and the second proportion threshold can be adaptively set by the developer according to the online test data of the actual application scenario, and this application is not limited here. For example, the first proportion threshold is 0.45, and the second proportion threshold is 0.66. For another example, the first proportion threshold is 0.55, and the second proportion threshold is 0.54.

[0084] Step S307: When the first proportion is less than or equal to the first proportion threshold, or the second proportion is less than or equal to the second proportion threshold, it is determined that the historical round-trip delay queue does not meet the rising trend condition.

[0085] Among them, if the first proportion is less than or equal to the first proportion threshold, or the second proportion is less than or equal to the second proportion threshold, it means that the round-trip delay sampling values ​​in the historical round-trip delay queue are unlikely to continue to rise, and the historical round-trip delay queue does not meet the rising trend condition.

[0086] Step S308: When it is detected that the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and out-of-order depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window.

[0087] As described above, by calculating the first proportion, the degree of match between the overall upward trend and the upward amplitude can be accurately measured. By calculating the second proportion, the possibility that the round-trip delay sampling value in the historical round-trip delay queue is in a continuously rising state can be accurately measured. By combining the first proportion and the second proportion, it is possible to effectively determine whether the historical round-trip delay queue meets the upward trend condition, and accurately identify whether the transmission link is in a state of increased delay or aggravated congestion, which is conducive to subsequent avoidance of congestion window compensation when the historical round-trip delay queue meets the upward trend condition, and ensure low transmission delay to avoid aggravating the link congestion.

[0088] Figure 5 A flowchart of a congestion window determination method provided by an embodiment of the present application, including a process of judging an upward trend by combining the number of elements in a historical round-trip delay queue. Figure 5 As shown, the following steps are included:

[0089] Step S401: upon receiving a confirmation message of a sent data packet from a data receiving end, determine a round trip delay sampling value based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and add the round trip delay sampling value to a historical round trip delay queue.

[0090] Step S402: When it is detected that at least one first target data packet that meets the invalid retransmission condition exists in the received data packets, a maximum retransmission delay is determined according to the at least one first target data packet.

[0091] Step S403: Determine a target out-of-order depth value according to the recorded historical delay smoothing value, historical delay standard deviation smoothing value, round-trip delay sampling value and maximum retransmission delay.

[0092] Step S404: Count the number of elements in the historical round-trip delay queue.

[0093] Step S405: When the number of elements is less than the preset number threshold, it is determined that the historical round-trip delay queue does not meet the rising trend condition.

[0094] Among them, the preset number threshold can be used to control the number of samples in the historical round-trip delay queue. If the number of elements is less than the preset number threshold, it can be regarded that the current number of samples in the historical round-trip delay queue is too small. At the same time, the transmission link is in the early stage of data transmission. It is easy to make errors in judging whether the historical round-trip delay queue meets the upward trend condition. Therefore, it can be set that the historical round-trip delay queue does not meet the upward trend condition, and the current congestion window value is appropriately compensated until a sufficient number of samples are accumulated in the historical round-trip delay queue.

[0095] Step S406: When the number of elements is greater than or equal to the preset number threshold, detect whether the historical round-trip delay queue meets the rising trend condition.

[0096] Among them, if the number of elements is greater than or equal to the preset number threshold, it can be regarded that the current number of samples in the historical round-trip delay queue is sufficient, and it can be effectively judged whether the historical round-trip delay queue meets the upward trend condition.

[0097] Step S407: When it is detected that the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and out-of-order depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window.

[0098] As described above, by adding statistics on the number of elements in the historical round-trip delay queue, it is possible to effectively determine whether the number of elements in the historical round-trip delay queue is sufficient. By detecting whether the historical round-trip delay queue meets the upward trend condition when the number of elements is greater than or equal to the preset number threshold, the accuracy of detection is improved, and the congestion scenario in which the round-trip delay sampling value is in a continuously rising state is effectively identified.

[0099] Figure 6 A flowchart of a congestion window determination method including a process of compensating the current congestion window value is provided in an embodiment of the present application. Figure 6 As shown, the following steps are included:

[0100] Step S501: upon receiving a confirmation message of a sent data packet sent by a data receiving end, determining a round trip delay sampling value based on a transmission time parameter of the received data packet corresponding to a transmission sequence number in the confirmation message, and adding the round trip delay sampling value to a historical round trip delay queue;

[0101] Step S502: when it is detected that there is at least one first target data packet satisfying the invalid retransmission condition in the received data packets, determining a maximum retransmission delay according to the at least one first target data packet;

[0102] Step S503: Determine a target out-of-order depth value according to the recorded historical delay smoothing value, historical delay standard deviation smoothing value, round-trip delay sampling value, and maximum retransmission delay;

[0103] Step S504: Detect whether the historical round-trip delay queue meets the rising trend condition. If it is detected that the historical round-trip delay queue does not meet the rising trend condition, multiply the recorded maximum bandwidth sample value by the out-of-order depth value to obtain a window compensation value, add the window compensation value to the current congestion window value to obtain a target congestion window value corresponding to the target congestion window, and send a data packet based on the target congestion window.

[0104] Among them, if it is detected that the historical round-trip delay queue meets the upward trend condition, the current congestion window value is maintained unchanged. If it is detected that the historical round-trip delay queue does not meet the upward trend condition, since the out-of-order depth value can be used to characterize the degree of out-of-order of the current transmission link, the congestion window calculation method of the congestion control algorithm can be referred to. The maximum bandwidth sample value can be multiplied by the out-of-order depth value to obtain a reasonable window compensation value.

[0105] As described above, by multiplying the recorded maximum bandwidth sample value with the out-of-order depth value to obtain the window compensation value, the window compensation value that matches the out-of-order degree of the current transmission link can be reasonably calculated, and by adding the window compensation value to the current congestion window value to obtain the target congestion window value corresponding to the target congestion window, the data sending capability of the data sender in the out-of-order scenario can be effectively improved.

[0106] Figure 7 A flowchart of a congestion window determination method including a process of determining a round-trip delay sampling value is provided in an embodiment of the present application. Figure 7 As shown, the following steps are included:

[0107] Step S601: When a confirmation message of a sent data packet is received from a data receiving end, a second target data packet that meets the largest transmission sequence number is selected from the received data packets corresponding to the transmission sequence number in the confirmation message, and the current system time is subtracted from the sending time corresponding to the second target data packet to obtain the intermediate transmission time, and the intermediate transmission time is subtracted from the confirmation message delay corresponding to the second target data packet to obtain the round-trip delay sampling value, and the round-trip delay sampling value is added to the historical round-trip delay queue.

[0108] Among them, the confirmation message can be aggregated, that is, each confirmation message feeds back the reception information of multiple received data packets. The second target data packet with the largest transmission sequence number can be the data packet most recently received by the data receiving end. The current system time can be the time when the data sending end receives the confirmation message. The round-trip delay sampling value can be obtained by subtracting the sending time and the confirmation message delay from the current system time, that is, the total delay experienced by the data sending end from sending the data packet to the data receiving end receiving the data packet and returning the confirmation message, and the data sending end receiving the confirmation message again.

[0109] Step S602: when it is detected that there is at least one first target data packet satisfying the invalid retransmission condition in the received data packets, a maximum retransmission delay is determined according to the at least one first target data packet;

[0110] Step S603: Determine a target out-of-order depth value according to the recorded historical delay smoothing value, historical delay standard deviation smoothing value, round-trip delay sampling value, and maximum retransmission delay;

[0111] Step S604: Detect whether the historical round-trip delay queue meets the rising trend condition. If it is detected that the historical round-trip delay queue does not meet the rising trend condition, compensate the current congestion window value based on the recorded maximum bandwidth sample value and out-of-order depth value to determine the corresponding target congestion window, and send the data packet based on the target congestion window.

[0112] As described above, by screening out the second target data packet with the largest transmission sequence number, the most recently received data packet corresponding to the confirmation message can be determined, thereby improving the accuracy of the round-trip delay sampling value calculated. By calculating the round-trip delay sampling value in combination with the sending time of the second target data packet and the confirmation message delay, the round-trip delay sampling value can be accurately calculated, providing reliable reference information for the subsequent evaluation of the disorder degree of the transmission link.

[0113] Figure 8 This is a structural block diagram of a device for determining a congestion window in network transmission provided in an embodiment of the present application. The device is configured to execute the method for determining a congestion window in network transmission provided in the above embodiment, and has functional modules and beneficial effects corresponding to the execution method. Figure 8 As shown, the device comprises:

[0114] The round-trip delay sampling module 201 is configured to determine the round-trip delay sampling value based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message when receiving the confirmation message of the sent data packet sent by the data receiving end, and add the round-trip delay sampling value to the historical round-trip delay queue;

[0115] The retransmission delay determination module 202 is configured to determine a maximum retransmission delay according to the at least one first target data packet when it is detected that there is at least one first target data packet satisfying an invalid retransmission condition in the received data packets;

[0116] The out-of-order depth determination module 203 is configured to determine a target out-of-order depth value according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay;

[0117] The congestion window compensation module 204 is configured to detect whether the historical round-trip delay queue meets the upward trend condition. When it is detected that the historical round-trip delay queue does not meet the upward trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and out-of-order depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window.

[0118] In the above, when a confirmation message of a sent data packet sent by a data receiving end is received, a round-trip delay sampling value is determined based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and the round-trip delay sampling value is added to the historical round-trip delay queue; when it is detected that there is at least one first target data packet that meets the invalid retransmission condition in the received data packet, the maximum retransmission delay is determined according to the at least one first target data packet; the target disorder depth value is determined according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay; whether the historical round-trip delay queue meets the rising trend condition is detected, and when it is detected that the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and disorder depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window. In the above scheme, by determining the target out-of-order depth value based on the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay, the out-of-order evaluation of the current transmission scenario can be effectively performed in combination with the sampling data of the round-trip delay and the invalid retransmission feedback, and the out-of-order upper limit of the transmission link can be accurately estimated; by detecting whether the historical round-trip delay queue meets the rising trend condition, the congestion aggravation scenario where the round-trip delay is in an increasing state can be effectively identified and avoided. Only when the historical round-trip delay queue does not meet the rising trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and out-of-order depth value, and the congestion window is reasonably determined to avoid increasing data transmission when the transmission link is congested, resulting in worsening congestion, thereby improving the data sending capability of the data sender in the out-of-order scenario, improving the utilization rate of network transmission resources, optimizing the smoothness of media transmission data, and improving the user's product experience.

[0119] In a possible embodiment, the out-of-order depth determination module 203 is further configured to:

[0120] The delay smoothing value and the delay standard deviation smoothing value are calculated based on the recorded historical delay smoothing value, the historical delay standard deviation smoothing value and the round-trip delay sampling value;

[0121] Subtracting the maximum retransmission delay from the delay smoothing value to obtain a first candidate out-of-order depth value, and multiplying the delay standard deviation smoothing value by a preset gain coefficient to obtain a second candidate out-of-order depth value;

[0122] A larger value of the first candidate out-of-order depth value and the second candidate out-of-order depth value is determined as a target out-of-order depth value.

[0123] In a possible embodiment, the congestion window compensation module 204 is further configured to:

[0124] The sum of the absolute values ​​of the differences between adjacent historical round-trip delay sampling values ​​in the historical round-trip delay queue is calculated, and the difference between the historical round-trip delay sampling values ​​at the head and the tail of the historical round-trip delay queue is divided by the sum of the absolute values ​​to obtain a first proportion;

[0125] Counting the number of positive differences between adjacent historical round-trip delay sampling values ​​in the historical round-trip delay queue, and dividing the number of counts by the total number of element pairs in the historical round-trip delay queue to obtain a second proportion;

[0126] When the first proportion is greater than the first proportion threshold and the second proportion is greater than the second proportion threshold, it is determined that the historical round-trip delay queue meets the rising trend condition;

[0127] When the first proportion is less than or equal to the first proportion threshold, or the second proportion is less than or equal to the second proportion threshold, it is determined that the historical round-trip delay queue does not meet the rising trend condition.

[0128] In a possible embodiment, it further includes an upward trend judgment module configured as follows:

[0129] Count the number of elements in the historical round-trip delay queue;

[0130] When the number of elements is less than a preset number threshold, it is determined that the historical round-trip delay queue does not meet the rising trend condition;

[0131] The congestion window compensation module 204 is further configured to:

[0132] When the number of elements is greater than or equal to a preset number threshold, it is detected whether the historical round-trip delay queue meets an upward trend condition.

[0133] In a possible embodiment, the congestion window compensation module 204 is further configured to:

[0134] The window compensation value is obtained by multiplying the recorded maximum bandwidth sample value by the out-of-order depth value;

[0135] The window compensation value is added to the current congestion window value to obtain a target congestion window value corresponding to the target congestion window.

[0136] In a possible embodiment, the transmission time parameter includes the sending time and the confirmation message delay, and the round-trip delay sampling module 201 is further configured as follows:

[0137] A second target data packet having the largest transmission sequence number is selected from the received data packets corresponding to the transmission sequence number in the confirmation message;

[0138] Subtract the current system time from the sending time corresponding to the second target data packet to obtain the intermediate transmission time; subtract the intermediate transmission time from the confirmation message delay corresponding to the second target data packet to obtain the round-trip delay sampling value.

[0139] In a possible embodiment, the retransmission delay determination module 202 is further configured to:

[0140] Subtracting the retransmission time corresponding to each first target data packet from the sending time to obtain a retransmission delay;

[0141] The retransmission delay is counted to determine the maximum retransmission delay.

[0142] In a possible embodiment, at least one first target data packet that meets the invalid retransmission condition includes:

[0143] At least one data packet whose retransmission flag is true, or at least one data packet whose retransmission time is not zero.

[0144] Fig. 9 A schematic diagram of the structure of a congestion window determination device in network transmission provided by an embodiment of the present application, such as Fig. 9 As shown, the device includes a processor 301, a memory 302, an input device 303 and an output device 304; the number of processors 301 in the device can be one or more. Fig. 9 A processor 301 is taken as an example; the processor 301, memory 302, input device 303 and output device 304 in the device can be connected by a bus or other means. Fig. 9The example of connecting through a bus is taken. The memory 302, as a computer-readable storage medium, can be configured to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the method for determining the congestion window in network transmission in the embodiment of the present application. The processor 301 executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory 302, that is, implements the above-mentioned method for determining the congestion window in network transmission. The input device 303 can be configured to receive input digital or character information, and generate key signal input related to user settings and function control of the device. The output device 304 may include a display device such as a display screen.

[0145] The embodiment of the present application also provides a non-volatile storage medium containing computer executable instructions, which are configured to execute a congestion window determination method in network transmission described in the above embodiment when executed by a computer processor, including: in the case of receiving a confirmation message of a sent data packet sent by a data receiving end, determining a round-trip delay sampling value based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and adding the round-trip delay sampling value to a historical round-trip delay queue; in the case of detecting that there is at least one first target data packet that meets the invalid retransmission condition in the received data packet, determining a maximum retransmission delay based on the at least one first target data packet; determining a target out-of-order depth value based on the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay; detecting whether the historical round-trip delay queue meets the rising trend condition, and in the case of detecting that the historical round-trip delay queue does not meet the rising trend condition, compensating the current congestion window value based on the recorded maximum bandwidth sample value and out-of-order depth value to determine the corresponding target congestion window, and sending the data packet based on the target congestion window.

[0146] It is worth noting that in the embodiment of the congestion window determination device in the above-mentioned network transmission, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not configured to limit the protection scope of the embodiments of the present application.

[0147] In some possible implementations, various aspects of the method provided in the present application may also be implemented in the form of a program product, which includes a program code. When the program product is run on a computer device, the program code is configured to enable the computer device to execute the steps of the method according to various exemplary embodiments of the present application described above in this specification. For example, the computer device may execute the congestion window determination method in network transmission recorded in the embodiment of the present application. The program product may be implemented in any combination of one or more readable media.

Claims

1. A method for determining a congestion window in network transmission, characterized in that: include: When receiving a confirmation message of a sent data packet sent by a data receiving end, determine a round-trip delay sampling value based on a transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, and add the round-trip delay sampling value to a historical round-trip delay queue; In a case where it is detected that at least one first target data packet that satisfies an invalid retransmission condition exists in the received data packets, determining a maximum retransmission delay according to the at least one first target data packet; Determine a target out-of-order depth value according to the recorded historical delay smoothing value, the historical delay standard deviation smoothing value, the round-trip delay sampling value and the maximum retransmission delay; Detect whether the historical round-trip delay queue meets an upward trend condition. If it is detected that the historical round-trip delay queue does not meet the upward trend condition, compensate the current congestion window value based on the recorded maximum bandwidth sample value and the out-of-order depth value to determine a corresponding target congestion window, and send a data packet based on the target congestion window.

2. The method for determining the congestion window in network transmission according to claim 1, characterized in that: The determining a target out-of-order depth value according to the recorded historical delay smoothed value, the historical delay standard deviation smoothed value, the round-trip delay sampling value and the maximum retransmission delay includes: The delay smoothing value and the delay standard deviation smoothing value are calculated based on the recorded historical delay smoothing value, the historical delay standard deviation smoothing value and the round-trip delay sampling value; Subtracting the maximum retransmission delay from the delay smoothing value to obtain a first candidate out-of-order depth value, and multiplying the delay standard deviation smoothing value by a preset gain coefficient to obtain a second candidate out-of-order depth value; A larger value of the first candidate out-of-order depth value and the second candidate out-of-order depth value is determined as a target out-of-order depth value.

3. The method for determining the congestion window in network transmission according to claim 1, characterized in that: The detecting whether the historical round-trip delay queue meets an upward trend condition includes: Calculating the sum of absolute values ​​of differences between adjacent historical round-trip delay sampling values ​​in the historical round-trip delay queue, and dividing the difference between the historical round-trip delay sampling values ​​at the head and the tail of the historical round-trip delay queue by the sum of the absolute values ​​to obtain a first proportion; Counting the number of positive differences between adjacent historical round-trip delay sampling values ​​in the historical round-trip delay queue, and dividing the counted number by the total number of element pairs in the historical round-trip delay queue to obtain a second proportion; When the first proportion is greater than a first proportion threshold, and the second proportion is greater than a second proportion threshold, determining that the historical round-trip delay queue meets an upward trend condition; When the first proportion is less than or equal to a first proportion threshold, or the second proportion is less than or equal to a second proportion threshold, it is determined that the historical round-trip delay queue does not meet an upward trend condition.

4. The method for determining the congestion window in network transmission according to claim 1, characterized in that: Before detecting whether the historical round-trip delay queue meets the rising trend condition, the method further includes: Counting the number of elements in the historical round-trip delay queue; When the number of elements is less than a preset number threshold, determining that the historical round-trip delay queue does not meet an upward trend condition; Accordingly, the detecting whether the historical round-trip delay queue meets the rising trend condition includes: When the number of elements is greater than or equal to the preset number threshold, it is detected whether the historical round-trip delay queue meets an upward trend condition.

5. The method for determining the congestion window in network transmission according to claim 1, characterized in that: The compensating the current congestion window value based on the recorded maximum bandwidth sample value and the out-of-order depth value to determine the corresponding target congestion window includes: Multiplying the recorded maximum bandwidth sample value by the out-of-order depth value to obtain a window compensation value; The window compensation value is added to the current congestion window value to obtain a target congestion window value corresponding to the target congestion window.

6. The method for determining the congestion window in network transmission according to claim 1, characterized in that: The transmission time parameter includes a sending time and a confirmation message delay, and the round-trip delay sampling value is determined based on the transmission time parameter of the received data packet corresponding to the transmission sequence number in the confirmation message, including: A second target data packet having the largest transmission sequence number is selected from the received data packets corresponding to the transmission sequence number in the confirmation message; Subtracting the current system time from the sending time corresponding to the second target data packet to obtain an intermediate transmission time; The intermediate transmission time is subtracted from the confirmation message delay corresponding to the second target data packet to obtain a round-trip delay sampling value.

7. The method for determining the congestion window in network transmission according to claim 1, characterized in that: The determining the maximum retransmission delay according to the at least one first target data packet comprises: Subtracting the retransmission time corresponding to each first target data packet from the sending time to obtain a retransmission delay; The retransmission delay is counted to determine a maximum retransmission delay.

8. The method for determining the congestion window in network transmission according to any one of claims 1 to 7, characterized in that: The at least one first target data packet that meets the invalid retransmission condition includes: At least one data packet whose retransmission flag is true, or at least one data packet whose retransmission time is not zero.

9. A device for determining a congestion window in network transmission, characterized in that: include: A round trip delay sampling module is configured to determine a round trip delay sampling value based on a transmission time parameter of a received data packet corresponding to a transmission sequence number in the confirmation message when receiving a confirmation message of a sent data packet sent by a data receiving end, and add the round trip delay sampling value to a historical round trip delay queue; a retransmission delay determination module, configured to determine a maximum retransmission delay according to the at least one first target data packet when detecting that there is at least one first target data packet satisfying an invalid retransmission condition in the received data packets; An out-of-order depth determination module is configured to determine a target out-of-order depth value according to a recorded historical delay smoothing value, a historical delay standard deviation smoothing value, the round-trip delay sampling value, and the maximum retransmission delay; The congestion window compensation module is configured to detect whether the historical round-trip delay queue meets the upward trend condition. When it is detected that the historical round-trip delay queue does not meet the upward trend condition, the current congestion window value is compensated based on the recorded maximum bandwidth sample value and the out-of-order depth value to determine the corresponding target congestion window, and the data packet is sent based on the target congestion window.

10. A congestion window determination device in network transmission, the device comprising: one or more processors; A storage device configured to store one or more programs, when the one or more programs are executed by the one or more processors, enables the one or more processors to implement the congestion window determination method in network transmission according to any one of claims 1-8.

11. A non-volatile storage medium storing computer executable instructions, wherein the computer executable instructions are configured to execute the method for determining a congestion window in network transmission according to any one of claims 1 to 8 when executed by a computer processor.

12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method for determining a congestion window in network transmission according to any one of claims 1 to 8 is implemented.

Citation Information

Cited By

  • A data processing method, system, device, medium and product

    CN122554418A

  • A data processing method, system, device, medium and product

    CN122554418B