Data Transmission Method and Device

By dividing short windows and long windows in the BBR algorithm and dynamically selecting the minimum round-trip delay, the problem that the BBR algorithm cannot optimize the transmission throughput during network jitter is solved, and efficient data transmission in different network environments is achieved.

CN116346723BActive Publication Date: 2025-07-04BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310372365.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-10
Publication Date
2025-07-04
Estimated Expiration
2043-04-10

AI Technical Summary

Technical Problem

The existing BBR algorithm cannot follow up on time changes during network jitter, resulting in a low minimum RTT of statistics, resulting in an inability to achieve optimal transmission throughput.

Method used

By determining multiple sending intervals before the current time, dividing short windows and long windows, selecting the minimum round trip delay for short windows and long windows, and dynamically selecting the target minimum round trip delay for packet transmission, avoiding the error of the minimum round trip delay in a fixed time.

Benefits of technology

In network jitter and non-jitter scenarios, the minimum round-trip delay is dynamically selected to ensure that the transmission throughput is optimal and avoid the problems of weak link resource possession and excessive queue delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116346723B_ABST
    Figure CN116346723B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data transmission method and apparatus. The data transmission method includes: determining a plurality of transmission intervals before the current moment, wherein the end moment of each transmission interval is the moment when the first predetermined confirmation message within the present transmission interval arrives, the predetermined confirmation message is a confirmation message indicating that the data packet started to be transmitted within the present transmission interval is successfully received, and the start moment of each transmission interval is the end moment of the corresponding previous transmission interval; determining a short window and a long window corresponding to the current moment based on the plurality of transmission intervals, wherein the short window includes a first predetermined number of transmission intervals before the current moment, the long window includes a second predetermined number of transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number; selecting a target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window; and transmitting a data packet at the current moment based on the target minimum round-trip delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing, and in particular, to a data transmission method and apparatus. Background Art

[0002] Network congestion is a phenomenon that occurs during network transmission. In the Internet, it usually refers to a situation where the number of data packets transmitted in the network is too large, and the network transmission performance decreases due to the limited resources of the store-and-forward nodes. The method to solve network congestion is to perform congestion control. The purpose of congestion control is to prevent too many data packets from being injected into the network, so that the routers or links in the network will not be overloaded.

[0003] Currently, the method of statistically calculating the minimum round-trip delay (RTT) in the Bottleneck Bandwidth and Round-trip propagation time (BBR) algorithm is recognized as a relatively good method for statistically calculating the minimum RTT in the industry. However, when there is network jitter, the minimum RTT calculated in the BBR algorithm cannot keep up with the time change in a timely manner, often resulting in a relatively low calculated minimum RTT. Summary of the Invention

[0004] The present disclosure provides a data transmission method and apparatus to at least solve the problem that the related art cannot ensure that the transmission throughput reaches the optimum.

[0005] According to a first aspect of an embodiment of the present disclosure, there is provided a data transmission method, including: determining a plurality of transmission intervals before the current moment, where the end moment of each transmission interval is the moment when the first predetermined confirmation message within the current transmission interval arrives, and the predetermined confirmation message is a confirmation message indicating that the data packet started to be transmitted within the current transmission interval has been successfully received, and the start moment of each transmission interval is the end moment of the corresponding previous transmission interval; determining a short window and a long window corresponding to the current moment based on the plurality of transmission intervals, where the short window includes a first predetermined number of transmission intervals before the current moment, and the long window includes a second predetermined number of transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number; selecting a target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window; and transmitting a data packet at the current moment based on the target minimum round-trip delay.

[0006] Optionally, selecting a target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window includes: obtaining relevant information of the data packets transmitted before the current moment; and selecting a target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window based on the relevant information.

[0007] Optionally, based on relevant information, select the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window, including: when the relevant information meets the first preset condition, select the first minimum round-trip delay as the target minimum round-trip delay, where the first preset condition indicates that the amount of data transmitted within the first predetermined time period before the current moment is less than the first preset value; when the relevant information meets the second preset condition, select the second minimum round-trip delay as the target minimum round-trip delay, where the second preset condition indicates that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value.

[0008] Optionally, the relevant information includes the round-trip delay corresponding to the determination message closest to the current moment, and / or the number of transmission intervals between the transmission interval where the second minimum round-trip delay is located and the current moment, and / or whether the entire Mth transmission interval before the current moment has transmitted data packets, where M is a positive integer. The first preset condition indicates that the amount of data transmitted within the first predetermined time period before the current moment is less than the first preset value through any of the following conditions: the first sub-condition: a partial interval of the Mth transmission interval before the current moment has transmitted data packets, or the number of transmission intervals between the transmission interval where the second minimum round-trip delay is located and the current moment is less than M; the second sub-condition: other conditions other than the second preset condition and the first sub-condition. The second preset condition indicates that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value through any of the following conditions: when the relevant information does not meet the first sub-condition, the round-trip delay corresponding to the determination message closest to the current moment is greater than the first preset threshold; when the relevant information does not meet the first sub-condition, the round-trip delay corresponding to the determination message closest to the current moment is greater than the second preset threshold and less than or equal to the first preset threshold, and the number of transmission intervals between the transmission interval where the second minimum round-trip delay is located and the current moment is greater than the first predetermined number.

[0009] Optionally, when there is an out-of-order phenomenon in any of the third predetermined number of transmission intervals before the current moment, the end time of the transmission interval where the current moment is located is the time when the Nth determination message arrives after the start time of the transmission interval where the current moment is located, where N is an integer greater than 2.

[0010] Optionally, when the time difference between the current moment and the end time of the corresponding previous transmission interval exceeds the third preset threshold, use the current moment as the end time of the transmission interval where the current moment is located.

[0011] Optionally, before selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window, it further includes: obtaining the minimum round-trip delay of each of the first predetermined number of transmission intervals before the current moment, and obtaining the first minimum round-trip delay of the short window based on the minimum round-trip delays of the first predetermined number; obtaining the minimum round-trip delay of each of the second predetermined number of transmission intervals before the current moment, and obtaining the second minimum round-trip delay of the long window based on the minimum round-trip delays of the second predetermined number.

[0012] Optionally, at the current moment, sending a data packet based on the target minimum round-trip delay includes: multiplying the target minimum round-trip delay by an estimated bandwidth to obtain a congestion window; at the current moment, sending a data packet based on the congestion window.

[0013] According to a second aspect of the embodiments of the present disclosure, there is provided a data transmission device, including: a transmission interval obtaining unit configured to determine a plurality of transmission intervals before the current moment, where the end moment of each transmission interval is the moment when the first predetermined determination message within this transmission interval arrives, the predetermined determination message is a determination message indicating that the data packet started to be sent within this transmission interval has been successfully received, and the start moment of each transmission interval is the end moment of the corresponding previous transmission interval; a window determination unit configured to determine a short window and a long window corresponding to the current moment based on the plurality of transmission intervals, where the short window includes the first predetermined number of transmission intervals before the current moment, the long window includes the second predetermined number of transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number; a selection unit configured to select the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window; and a transmission unit configured to send a data packet at the current moment based on the target minimum round-trip delay.

[0014] Optionally, the selection unit is further configured to obtain relevant information of the data packet transmitted before the current moment; and select the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window based on the relevant information.

[0015] Optionally, the selection unit is further configured to select the first minimum round-trip delay as the target minimum round-trip delay when the relevant information satisfies a first preset condition, where the first preset condition indicates that the data volume transmitted within the first predetermined time period before the current moment is less than a first preset value; and select the second minimum round-trip delay as the target minimum round-trip delay when the relevant information satisfies a second preset condition, where the second preset condition indicates that the data volume transmitted within the second predetermined time before the current moment is greater than a second preset value.

[0016] Optionally, the relevant information includes the round-trip delay corresponding to the determination message closest to the current moment, and / or the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment, and / or whether the entire interval of the Mth transmission interval before the current moment has transmitted data packets, where M is a positive integer. The first preset condition indicates that the amount of data transmitted within the first predetermined time period before the current moment is less than the first preset value through any of the following conditions: the first sub-condition: a partial interval of the Mth transmission interval before the current moment has transmitted data packets, or the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment is less than M; the second sub-condition: other conditions other than the second preset condition and the first sub-condition; the second preset condition indicates that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value through any of the following conditions: when the relevant information does not meet the first sub-condition, the round-trip delay corresponding to the determination message closest to the current moment is greater than the first preset threshold; when the relevant information does not meet the first sub-condition, the round-trip delay corresponding to the determination message closest to the current moment is greater than the second preset threshold and less than or equal to the first preset threshold, and the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment is greater than the first predetermined number.

[0017] Optionally, in the case where there is an out-of-order phenomenon in any of the third predetermined number of transmission intervals before the current moment, the end time of the transmission interval where the current moment is located is the time when the Nth determination message arrives after the start time of the transmission interval where the current moment is located, where N is an integer greater than 2.

[0018] Optionally, in the case where the time difference between the current moment and the end time of the corresponding previous transmission interval exceeds the third preset threshold, the current moment is used as the end time of the transmission interval where the current moment is located.

[0019] Optionally, the selection unit is further configured to, before selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window, obtain the minimum round-trip delay of each of the first predetermined number of transmission intervals before the current moment, and obtain the first minimum round-trip delay of the short window based on the first predetermined number of minimum round-trip delays; obtain the minimum round-trip delay of each of the second predetermined number of transmission intervals before the current moment, and obtain the second minimum round-trip delay of the long window based on the second predetermined number of minimum round-trip delays.

[0020] Optionally, the transmission unit is further configured to multiply the target minimum round-trip delay by the estimated bandwidth to obtain a congestion window; and transmit data packets based on the congestion window at the current moment.

[0021] According to a third aspect of the embodiments of the present disclosure, an electronic device is provided, including: a processor; a memory for storing instructions executable by the processor; wherein, the processor is configured to execute the instructions to implement the data transmission method according to the present disclosure.

[0022] According to a fourth aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided. When the instructions in the computer-readable storage medium are run by at least one processor, at least one processor is caused to execute the data transmission method according to the present disclosure as described above.

[0023] According to a fifth aspect of the embodiments of the present disclosure, a computer program product is provided, including computer instructions that implement the data transmission method according to the present disclosure when executed by a processor.

[0024] The technical solutions provided by the embodiments of the present disclosure at least bring the following beneficial effects:

[0025] According to the data transmission method and apparatus of the present disclosure, through the long window and short window corresponding to the current moment, the minimum round-trip delay of different time spans can be statistically calculated, and then the target minimum round-trip delay to be used at the current moment is selected from the minimum round-trip delays of different time spans, that is, the first minimum round-trip delay of the long window and the second minimum round-trip delay of the short window, so that the corresponding target minimum round-trip delay can be selected according to needs, thereby avoiding the problem that the transmission throughput cannot reach the optimum caused by using the minimum round-trip delay within a fixed time during network jitter, and also avoiding the problem of weak link resource occupancy ability. Therefore, the present disclosure solves the problem that the related art cannot ensure that the transmission throughput reaches the optimum.

[0026] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure and do not constitute an improper limitation of the present disclosure.

[0028] Figure 1 is a schematic diagram of an implementation scenario of a data transmission method showing an exemplary embodiment according to the present disclosure;

[0029] Figure 2 is a flowchart of a data transmission method shown according to an exemplary embodiment;

[0030] Figure 3 is a schematic diagram of a transmission interval shown according to an exemplary embodiment;

[0031] Figure 4It is a block diagram of a data transmission device shown according to an exemplary embodiment;

[0032] Figure 5 It is a block diagram of an electronic device 500 according to an embodiment of the present disclosure. Detailed implementation manners

[0033] In order to enable those of ordinary skill in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.

[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present disclosure described here can be implemented in an order other than those illustrated or described here. The implementation manners described in the following embodiments do not represent all implementation manners consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0035] It should be noted here that "at least one of several items" in the present disclosure all represents the three types of parallel situations including "any one of the several items", "any combination of any multiple of the several items", and "the whole of the several items". For example, "including at least one of A and B" includes the following three parallel situations: (1) including A; (2) including B; (3) including A and B. Another example is "performing at least one of step one and step two", which means the following three parallel situations: (1) performing step one; (2) performing step two; (3) performing step one and step two.

[0036] The reasons for network congestion are briefly introduced below: When the sender sends data into the network, after the receiver receives each data packet, it will feedback an acknowledgment message to inform the sender that the corresponding data packet has been received; Theoretically, the amount of data sent by the sender at the same time must be less than or equal to the network capacity. However, the sender cannot objectively perceive the network, that is, it cannot accurately know the network capacity. Therefore, when the amount of data sent by the sender at the same time is much larger than the link bandwidth in the network, forming a bandwidth bottleneck, data packets will queue in the network. The buffer space on the intermediate nodes of the network provides certain protection for the data packets waiting for service. However, if this situation persists for some time, when the buffer space is exhausted, the router has to discard the queued data packets that cannot be stored in the buffer. At this time, the network performance will decline sharply. The ideal situation is to estimate the number of data packets that can be accommodated on the current network link. When there is data to send, send one data packet after receiving an Ack message, that is, always keep a fixed number of data packets flowing in the network. On the one hand, it reaches the maximum throughput and occupies the bottleneck bandwidth of the network link. On the other hand, it reaches the minimum round-trip delay and ensures that there is no buffer queue in the network link.

[0037] The statistics and use of the minimum round-trip delay are an important part of the network congestion algorithm. On the one hand, the network congestion algorithm compares the statistical minimum round-trip delay with the current latest round-trip delay to determine whether there is a network congestion phenomenon during its own sending process. If the latest round-trip delay is greater than the minimum round-trip delay, it means that network congestion has occurred, and then the subsequent transmission and sending strategy is controlled; On the other hand, in recent years, the network congestion algorithms designed by academia and industry have used the minimum round-trip delay to calculate the BDP (Bandwidth-Delay Product, that is, the product of bandwidth and delay), and use the BDP to guide the size of the congestion window used by the algorithm, and control the start and stop state of the current sending progress through this congestion window. It should be noted that in the current BBR algorithm and its derivative algorithms, the congestion window is twice the BDP, where the congestion window is the total amount of data that the network link can transmit in the sending window.

[0038] Since the congestion algorithm cannot accurately obtain the status of the current network link, there is usually an error between the minimum round-trip delay obtained by statistics and the actual minimum round-trip delay in the physical network. When the minimum round-trip delay obtained by statistics is greater than the actual minimum round-trip delay, it has a strong ability to occupy the bandwidth resources of the link, but the overall queuing delay of the data packets may be large, which is likely to cause network congestion; when the minimum round-trip delay obtained by statistics is less than the actual minimum round-trip delay, the end-to-end transmission delay is small, but the congestion window is also small, so the total amount of data that the network link can transmit at the same time is also small, and thus the throughput usually cannot reach full load operation. Therefore, the statistical method and usage method of the minimum round-trip delay by the congestion algorithm directly affect the performance of the network congestion algorithm.

[0039] For example, the method of statistically obtaining the minimum round-trip delay in the current BBR algorithm is a method that is generally recognized in the industry as a better method for statistically obtaining the minimum round-trip delay, that is, observing the round-trip delay (RTT) of each data packet and recording the minimum RTT in the most recent x seconds (for example, x is 10 seconds in BBR v1 and x is 2.5 seconds in BBR v2). If the recorded minimum RTT does not change within the subsequent time period of x seconds, it is considered that the recorded minimum RTT has expired and needs to be updated. During network jitter, the recorded minimum RTT cannot keep up with the time change in a timely manner, often resulting in a lower statistically obtained minimum RTT. For example, when the jitter amplitude of the round-trip delay is greater than 2 times, the congestion window obtained by the BBR algorithm based on 2 times BDP (the product of the minimum RTT and the estimated bandwidth) is often too small, resulting in the transmission throughput not reaching the optimum. For example, assuming that the round-trip delay jitters from 100 ms to 300 ms, and the minimum RTT at this time is 100 ms. When using 2 times BDP, that is, it may only consider the minimum delay between 100 ms and 200 ms, and may not consider the round-trip delay between 200 ms and 300 ms, making part of the bandwidth idle, thus resulting in the transmission throughput not reaching the optimum.

[0040] In view of the above problems, the present disclosure provides a data transmission method that can ensure better transmission throughput. For example, the following takes the scenario of transmitting N data packets as an example for illustration.

[0041] Figure 1 is a schematic diagram of an implementation scenario of a data transmission method according to an exemplary embodiment of the present disclosure. As Figure 1 described, the implementation scenario includes a server 100, a user terminal 110, and a user terminal 120. Among them, the number of user terminals is not limited to 2, including but not limited to devices such as mobile phones and personal computers. The user terminal can install an application program for sending and receiving data packets. The server can be a single server, or a server cluster composed of several servers, or a cloud computing platform or a virtualization center.

[0042] Suppose user terminal 110 sends N data packets to user terminal 120. Considering the bandwidth limitation of the network link, the N data packets are not sent simultaneously. For the convenience of understanding the present disclosure, in this embodiment, the moment after a part of the N data packets are sent is taken as the current moment to illustrate the data transmission method of the present disclosure. At this time, user terminal 110 determines multiple transmission intervals before the current moment, where the end moment of each transmission interval is the moment when the first predetermined confirmation message in this transmission interval arrives. The predetermined confirmation message is a confirmation message indicating that the data packet started to be sent in this transmission interval has been successfully received. The start moment of each transmission interval is the end moment of the corresponding previous transmission interval; based on the multiple transmission intervals, the short window and the long window corresponding to the current moment are determined, where the short window includes the first predetermined number of transmission intervals before the current moment, and the long window includes the second predetermined number of transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number; from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window, the target minimum round-trip delay at the current moment is selected; at the current moment, a data packet is sent to server 100 based on the target minimum round-trip delay, that is, the congestion window is determined based on the minimum round-trip delay, and the start and stop of data packet transmission and the number of data packets to be sent, that is, the data volume size, are determined according to the determined congestion window, so that the data volume of the data packets flowing in the network approaches the congestion window, and server 100 forwards the data packet to user terminal 120.

[0043] It should be noted that the target minimum round-trip delay needs to be determined at each moment during the transmission of the N data packets, and thus data packets are sent according to the corresponding target minimum round-trip delay at each moment. In addition, the data transmission method of the present disclosure generally starts to calculate the minimum round-trip delay at each moment in the next transmission interval at the end moment of each transmission interval, so as to accurately transmit data packets.

[0044] Next, the data transmission method and apparatus according to the exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

[0045] Figure 2 is a flowchart of a data transmission method shown according to an exemplary embodiment, as Figure 2 shown, the data transmission method includes the following steps:

[0046] In step S201, a plurality of transmission intervals before the current moment are determined. Among them, the end moment of each transmission interval is the moment when the first predetermined confirmation message within this transmission interval arrives. The predetermined confirmation message is a confirmation message indicating that the data packet started to be transmitted within this transmission interval has been successfully received. The start moment of each transmission interval is the end moment of the corresponding previous transmission interval. It should be noted that the start moment of each transmission interval is both the end moment of the previous interval and has nothing to do with whether a data packet is transmitted within this transmission interval. The above confirmation message can be an ACK (Acknowledgement) message, a NACK (Negative Acknowledgement), or an FACK (forward acknowledgement), a TACK (Tame Acknowledgement). As long as it can inform the sender which data packets have arrived at the receiver, the present disclosure does not make any limitations.

[0047] For example, taking a transmission interval (i.e., this transmission interval) as an example, Figure 3 is a schematic diagram of a transmission interval shown according to an exemplary embodiment. As Figure 3 shown, the end moment of the previous transmission interval is the start moment of this transmission interval. After the start moment of this transmission interval, a part of the data packets will start to be transmitted. For these data packets, there will be corresponding confirmation messages returned to the sender, that is, messages indicating that the data packets have been successfully received. The first confirmation message among the confirmation messages corresponding to these data packets that is returned to the sender is the above-mentioned predetermined confirmation message. The moment when the predetermined confirmation message is returned to the sender is the end moment of this transmission interval. It should be noted that other confirmation messages among the confirmation messages corresponding to these data packets can be returned to the sender in a subsequent transmission interval, and this transmission interval does not include other confirmation messages. In addition, the start moment of the first transmission interval is the moment when the first data packet starts to be transmitted, and each subsequent transmission interval is determined in sequence.

[0048] In some weak network scenarios, there is a possibility that the data packets sent cannot receive the corresponding confirmation messages as scheduled. Therefore, some adjustments need to be made to the end moment of the transmission interval. The following will be described separately from the scenarios where the transmission intervals are out of order and the scenarios where no confirmation messages are returned for a long time:

[0049] According to an exemplary embodiment of the present disclosure, when there is an out-of-order phenomenon in any one of the third predetermined number of transmission intervals before the current moment, the end moment of the transmission interval where the current moment is located is the moment when the Nth acknowledgement message arrives after the start moment of the transmission interval where the current moment is located, where N is an integer greater than 2. According to this embodiment, it can be ensured that there are enough acknowledgement messages in the transmission interval where the current moment is located, so that a relatively accurate minimum round-trip delay can be determined based on these acknowledgement messages. Because in the case of out-of-order, it is very likely that when the first predetermined acknowledgement message in the transmission interval where the current moment is located arrives, there is no other acknowledgement message arriving between the start moment of the transmission interval where the current moment is located and the arrival moment of the first predetermined acknowledgement message. If the arrival moment of the first predetermined acknowledgement message is used as the end moment of the transmission interval where the current moment is located, only the first predetermined acknowledgement message is included in the transmission interval where the current moment is located, and the number of acknowledgement messages included is too small to accurately determine the minimum round-trip delay of the transmission interval where the current moment is located.

[0050] Specifically, the above-mentioned out-of-order means that the return order of the acknowledgement messages is inconsistent with the transmission order of the corresponding data packets, that is, the acknowledgement message of the data packet sent first returns later, and the acknowledgement message of the data packet sent later returns first. Since the end moment of the transmission interval where the current moment is located has not been determined, it is difficult to determine whether there is an out-of-order phenomenon. Therefore, it is determined whether the transmission interval where the current moment is located is out-of-order by whether there is an out-of-order phenomenon in any one of the third predetermined number of transmission intervals before the current moment. That is, if there is an out-of-order phenomenon in any one of the third predetermined number of transmission intervals before the current moment, it is determined that the transmission interval where the current moment is located has an out-of-order phenomenon. The above N can be set as needed, and the present disclosure does not limit it.

[0051] For example, when there is an out-of-order phenomenon in any one of the third predetermined number of transmission intervals before the current moment, it is determined that the transmission interval where the current moment is located also has an out-of-order phenomenon. At this time, in order to avoid that when the first predetermined acknowledgement message in the transmission interval where the current moment is located arrives, there is no other acknowledgement message arriving between the start moment of the transmission interval where the current moment is located and the arrival moment of the first predetermined acknowledgement message, that is, in order to avoid that the number of acknowledgement messages included in the transmission interval where the current moment is located is too small, in this embodiment, the end moment of the transmission interval where the current moment is located may not be the arrival moment of the first predetermined acknowledgement message, but the arrival moment of the Nth acknowledgement message in the transmission interval where the current moment is located is used as the end moment. The Nth acknowledgement message is not limited to the acknowledgement message corresponding to the data packet sent in the transmission interval where the current moment is located, and may be the acknowledgement message corresponding to the data packet sent in the previous transmission interval. In this way, it can be ensured that the number of acknowledgement messages included in the transmission interval where the current moment is located is not too small.

[0052] According to an exemplary embodiment of the present disclosure, when the time difference between the current moment and the end moment of the corresponding previous transmission interval exceeds a third preset threshold, the current moment is taken as the end moment of the transmission interval where the current moment is located. According to this embodiment, if a predetermined confirmation message within the transmission interval where the current moment is located cannot be received for a long time, waiting for the predetermined confirmation message all the time will cause the duration of the transmission interval where the current moment is located to be relatively long. In this case, the minimum round-trip delay obtained is often not the latest minimum round-trip delay. For example, if the arrival time of the predetermined confirmation time of the transmission interval where the current moment is located is very long, when using this arrival time as the end moment, the minimum round-trip delay at the first time close to this end moment may adopt the minimum round-trip delay of the previous transmission interval. However, the duration of the transmission interval where the current moment is located is relatively long, resulting in a relatively long time distance between the time corresponding to the minimum round-trip delay used and the first time, thus causing the adopted minimum round-trip delay to be inaccurate.

[0053] It should be noted that it may be only the round-trip delay of the first predetermined confirmation message within the transmission interval where the current moment is located that is relatively large, and the round-trip delay of the data packet sent in the next transmission interval or the next data packet is not necessarily large. Therefore, if the first predetermined confirmation message within the transmission interval where the current moment is located has not been received for a long time within the transmission interval where the current moment is located, then according to the third preset threshold the end moment of the transmission interval where the current moment is located is determined, that is, the distance between the start moment and the end moment of the transmission interval where the current moment is located does not exceed the third preset threshold. If it exceeds the third preset threshold, the determination of the next transmission interval continues, and the first predetermined confirmation message within the next transmission interval will not continue to be not received. Therefore, when the time difference between the current moment and the end moment of the corresponding previous transmission interval exceeds the third preset threshold, the current moment is taken as the end moment of the transmission interval where the current moment is located. At this time, the total length of this transmission interval is so as to prevent the duration of the transmission interval where the current moment is located from being too long. The above-mentioned third preset threshold can be set as needed, and the present disclosure does not limit it.

[0054] Return Figure 2 , in step S202, based on multiple transmission intervals, a short window and a long window corresponding to the current moment are determined, where the short window includes the first predetermined number of previous transmission intervals before the current moment, and the long window includes the second predetermined number of previous transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number. For example, the above-mentioned first predetermined number and second predetermined number can be set as needed, and the present disclosure does not limit them. For example, assume that the first predetermined number is T short , and the second predetermined number is T long , T short and Tlong Indicates the time span of the window, in the number of transmission intervals.

[0055] Return Figure 2 , in step S203, select the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window. The present disclosure can count the minimum round-trip delays under different windows through different window spans. For example, in this step, the minimum round-trip delays under two windows are counted, namely the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window and then select one of the two minimum round-trip delays as the target minimum round-trip delay.

[0056] According to an exemplary embodiment of the present disclosure, selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window may include: obtaining relevant information of the data packet transmitted before the current moment; based on the relevant information, selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window. According to this embodiment, through the relevant information of the data packet transmitted at the current moment, it is relatively convenient to select a suitable minimum round-trip delay from the first minimum round-trip delay and the second minimum round-trip delay as the target minimum round-trip delay.

[0057] Specifically, the relevant information of the above-mentioned transmitted data packet is not limited in the present disclosure. It may represent the amount of data transmitted within a certain time, or other information related to the data volume, as long as it can help determine which minimum round-trip delay to select as the target minimum round-trip delay.

[0058] According to an exemplary embodiment of the present disclosure, based on the relevant information, selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window may include: when the relevant information satisfies the first preset condition, selecting the first minimum round-trip delay as the target minimum round-trip delay, where the first preset condition indicates that the amount of data transmitted within the first predetermined time period before the current moment is less than the first preset value; when the relevant information satisfies the second preset condition, selecting the second minimum round-trip delay as the target minimum round-trip delay, where the second preset condition indicates that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value. According to this embodiment, through the relevant information, the first preset condition and the second preset condition, it is convenient to know the situation of the amount of data transmitted before the current moment, so as to know whether to adopt a relatively large minimum round-trip delay (the first minimum round-trip delay) or a relatively small minimum round-trip delay (the second minimum round-trip delay), so as to avoid the problem that the transmission throughput cannot reach the optimum or the link resource occupancy ability is weak.

[0059] For example, it is possible to use that there are transmission data packets in a partial interval within a predetermined transmission interval before the current moment to indicate that the amount of data transmitted within the first predetermined time period before the current moment is less than the first preset value; it is possible to use that the round-trip delay corresponding to the nearest confirmation message to the current moment is greater than the first preset threshold to indicate that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value; it is also possible to use that the round-trip delay corresponding to the nearest confirmation message to the current moment is greater than the second preset threshold and less than or equal to the first preset threshold, and the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment is greater than the first predetermined number to indicate that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value. The present disclosure does not limit this.

[0060] According to an exemplary embodiment of the present disclosure, the relevant information may include the round-trip delay corresponding to the nearest confirmation message to the current moment, and / or, the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment, and / or, whether the entire interval of the Mth transmission interval before the current moment has transmission data packets, where M is a positive integer. The first preset condition may indicate that the amount of data transmitted within the first predetermined time period before the current moment is less than the first preset value through any of the following conditions: the first sub-condition: there are transmission data packets in a partial interval of the Mth transmission interval before the current moment, or, the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment is less than M; the second sub-condition: other conditions other than the second preset condition and the first sub-condition; the second preset condition may indicate that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value through any of the following conditions: when the relevant information does not satisfy the first sub-condition, the round-trip delay corresponding to the nearest confirmation message to the current moment is greater than the first preset threshold; when the relevant information does not satisfy the first sub-condition, the round-trip delay corresponding to the nearest confirmation message to the current moment is greater than the second preset threshold and less than or equal to the first preset threshold, and the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment is greater than the first predetermined number.

[0061] According to this embodiment, through relevant information such as the round-trip delay corresponding to the nearest confirmation message to the current moment, the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment, and whether the entire interval of the Mth transmission interval before the current moment has transmission data packets, it is possible to relatively accurately know the situation of the amount of data transmitted before the current moment, so that a relatively accurate target minimum round-trip delay that matches the situation can be selected.

[0062] For example, assume that the RTT t is the round-trip delay corresponding to the nearest confirmation message to the current moment. is the second minimum round-trip delay of the long window, in ms is the first minimum round-trip delay of the short window, in ms, t is the sending interval where the current moment is located, and the unit can be the serial number of the sending interval, t app_limited is the sending interval with transmitted data packets in the previous part of the current moment, that is, the sending interval where the most recent moment with insufficient data volume is located, and the unit can be the serial number of the sending interval is the sending interval where the second minimum round-trip delay of the long window is located, and the unit can be the serial number of the sending interval, RTT Th1 is the first preset threshold, in ms, RTT Th2 is the second preset threshold, in ms, M is equal to 2. It should be noted that the value of M can be set as needed and is not necessarily 2. This embodiment only takes M equal to 2 as an example for illustration. At this time, the target minimum round-trip delay at the current moment can be selected from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window through the following method:

[0063] 1. If t app_limited +2≥t, or then select the first minimum round-trip delay of the short window

[0064] 2. If RTT t >RTT Th1 then select the second minimum round-trip delay of the long window

[0065] 3. If RTT Th1 ≥RTT t >RTT Th2 and then select the second minimum round-trip delay of the long window

[0066] 4. In other cases except the above, select the second minimum round-trip delay of the long window

[0067] According to an exemplary embodiment of the present disclosure, before selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window, it is also possible to obtain the minimum round-trip delay of each transmission interval among the first predetermined number of transmission intervals before the current moment, and based on the minimum round-trip delays of the first predetermined number, obtain the first minimum round-trip delay of the short window; obtain the minimum round-trip delay of each transmission interval among the second predetermined number of transmission intervals before the current moment, and based on the minimum round-trip delays of the second predetermined number, obtain the second minimum round-trip delay of the long window. According to this embodiment, first determine the minimum round-trip delay of each transmission interval, and then determine the minimum round-trip delay of the corresponding window according to the minimum of the minimum round-trip delays of the transmission intervals included in each window, which can improve the accuracy of the minimum round-trip delay of each window.

[0068] Specifically, each window contains several transmission intervals. For each transmission interval, it is possible to count the round-trip delay corresponding to the determined message received within this transmission interval, and then determine the minimum round-trip delay of this transmission interval. After determining the minimum round-trip delay of each transmission interval, it is possible to count the minimum round-trip delays with different time spans according to the window. For example, for the short window, it is possible to count the minimum of the minimum round-trip delays of the transmission intervals included in the short window as the minimum round-trip delay of the short window.

[0069] In step S204, at the current moment, send a data packet based on the target minimum round-trip delay. Generally, the congestion window is determined through the target minimum round-trip delay, and then the data packet is sent according to the determined congestion window. For example, the commonly used congestion window is obtained through 2 times BDP (the product of the target minimum round-trip delay and the estimated bandwidth). However, in a non-jitter scenario, this often leads to a certain amount of over-sending congestion, and thus a larger queuing delay problem.

[0070] According to an exemplary embodiment of the present disclosure, sending a data packet based on the target minimum round-trip delay at the current moment may include: multiplying the target minimum round-trip delay by the estimated bandwidth to obtain the congestion window; at the current moment, sending a data packet based on the congestion window. According to this embodiment, it is possible to avoid the problem of a certain amount of over-sending congestion caused by the congestion window obtained through 2 times BDP in a non-jitter scenario, and thus a larger queuing delay.

[0071] Specifically, during the execution of the congestion algorithm, the algorithm uses the above first preset condition and second preset condition to select the target minimum round-trip delay to be used, and multiplies it by the estimated bandwidth to obtain the congestion window (abbreviated as CWND). The congestion algorithm can, through any operation (such as starting and stopping the operation of sending data packets), make the in-flight data volume approach the congestion window CWND. It should be noted that the above in-flight data volume refers to the data volume flowing in the network, and in actual operation of the congestion algorithm, it is not necessary to limit the in-flight data volume to be exactly equal to the value of the congestion window CWND, but it can be controlled within a range, such as within the range of CWND±α or CWND*(1±β), and the present disclosure does not make any limitation in this regard.

[0072] In summary, the present disclosure is equivalent to disclosing a method for statistically obtaining and using the minimum round-trip delay for a congestion algorithm. Specifically, the total duration of network transmission is divided into several independent transmission intervals, and a minimum round-trip delay is generated within each transmission interval. Then, the minimum round-trip delays of multiple transmission intervals are statistically obtained through windowing means, that is, the minimum round-trip delays corresponding to the short window and the long window are obtained, so as to select the minimum round-trip delay finally used by the congestion algorithm from the minimum round-trip delays corresponding to the two windows.

[0073] Since the present disclosure statistically obtains the minimum round-trip delays of different time spans through sampling means of long-term and short-term windows and switches between the minimum round-trip delays of the two windows according to different situations, different delay results can be adopted in different scenarios. Therefore, the minimum round-trip delay of the present disclosure is not fixed but is flexibly selected, so that during the network transmission process, it can not only maintain a strong ability to occupy link resources (using the minimum round-trip delay of the short window), but also maintain a low queuing degree (using the minimum round-trip delay of the long window), thereby reducing the possibility of network congestion. Therefore, in a complex and changeable network environment, the present disclosure can meet the requirements in both delay jitter / non-jitter scenarios, improving the network transmission performance.

[0074] Figure 4 It is a block diagram of a data transmission device shown according to an exemplary embodiment. Referring to Figure 4 , the device includes a transmission interval acquisition unit 40, a window determination unit 42, a selection unit 44, and a transmission unit 46.

[0075] A transmission interval acquisition unit 40 is configured to determine a plurality of transmission intervals before the current moment, where the end moment of each transmission interval is the moment when the first predetermined determination message within the current transmission interval arrives, the predetermined determination message is a determination message indicating that the data packet started to be transmitted within the current transmission interval has been successfully received, and the start moment of each transmission interval is the end moment of the corresponding previous transmission interval; a window determination unit 42 is configured to determine a short window and a long window corresponding to the current moment based on the plurality of transmission intervals, where the short window includes the first predetermined number of transmission intervals before the current moment, the long window includes the second predetermined number of transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number; a selection unit 44 is configured to select a target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window; a transmission unit 46 is configured to transmit a data packet at the current moment based on the target minimum round-trip delay.

[0076] According to an exemplary embodiment of the present disclosure, the selection unit 44 is further configured to obtain relevant information of the data packet transmitted before the current moment; based on the relevant information, select a target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window.

[0077] According to an exemplary embodiment of the present disclosure, the selection unit 44 is further configured to select the first minimum round-trip delay as the target minimum round-trip delay when the relevant information meets the first preset condition, where the first preset condition indicates that the data volume transmitted within the first predetermined time period before the current moment is less than the first preset value; select the second minimum round-trip delay as the target minimum round-trip delay when the relevant information meets the second preset condition, where the second preset condition indicates that the data volume transmitted within the second predetermined time before the current moment is greater than the second preset value.

[0078] According to an exemplary embodiment of the present disclosure, the relevant information includes the round-trip delay corresponding to the determination message closest to the current moment, and / or the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment, and / or whether the entire interval of the Mth transmission interval before the current moment has transmitted data packets, where M is a positive integer. The first preset condition indicates that the amount of data transmitted within the first predetermined time period before the current moment is less than the first preset value through any of the following conditions: First sub-condition: Some intervals of the Mth transmission interval before the current moment have transmitted data packets, or the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment is less than M; Second sub-condition: Other conditions other than the second preset condition and the first sub-condition; The second preset condition indicates that the amount of data transmitted within the second predetermined time before the current moment is greater than the second preset value through any of the following conditions: When the relevant information does not meet the first sub-condition, the round-trip delay corresponding to the determination message closest to the current moment is greater than the first preset threshold; When the relevant information does not meet the first sub-condition, the round-trip delay corresponding to the determination message closest to the current moment is greater than the second preset threshold and less than or equal to the first preset threshold, and the number of transmission intervals between the transmission interval where the second smallest round-trip delay is located and the current moment is greater than the first predetermined number.

[0079] According to an exemplary embodiment of the present disclosure, in the case where there is an out-of-order phenomenon in any of the third predetermined number of transmission intervals before the current moment, the end time of the transmission interval where the current moment is located is the time when the Nth determination message arrives after the start time of the transmission interval where the current moment is located, where N is an integer greater than 2.

[0080] According to an exemplary embodiment of the present disclosure, in the case where the time difference between the current moment and the end time of the corresponding previous transmission interval exceeds the third preset threshold, the current moment is used as the end time of the transmission interval where the current moment is located.

[0081] According to an exemplary embodiment of the present disclosure, the selection unit 44 is further configured to obtain the minimum round-trip delay of each of the first predetermined number of transmission intervals before the current moment, and obtain the first minimum round-trip delay of the short window based on the first predetermined number of minimum round-trip delays before obtaining the target minimum round-trip delay of the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window; obtain the minimum round-trip delay of each of the second predetermined number of transmission intervals before the current moment, and obtain the second minimum round-trip delay of the long window based on the second predetermined number of minimum round-trip delays.

[0082] According to an exemplary embodiment of the present disclosure, the transmission unit 46 is further configured to multiply the target minimum round-trip delay by the estimated bandwidth to obtain a congestion window; and transmit data packets based on the congestion window at the current moment.

[0083] According to an embodiment of the present disclosure, an electronic device can be provided. Figure 5 FIG. 500 is a block diagram of an electronic device 500 according to an embodiment of the present disclosure. The electronic device includes at least one memory 501 and at least one processor 502. A set of computer-executable instructions is stored in the at least one memory. When the set of computer-executable instructions is executed by the at least one processor, a data transmission method according to an embodiment of the present disclosure is performed.

[0084] As an example, the electronic device 500 can be a PC computer, a tablet device, a personal digital assistant, a smart phone, or other devices capable of executing the above instruction set. Here, the electronic device 1000 does not have to be a single electronic device, and can also be any assembly of devices or circuits that can execute the above instructions (or instruction sets) alone or jointly. The electronic device 500 can also be a part of an integrated control system or a system manager, or can be configured as a portable electronic device that can be interconnected with a local or remote (e.g., via wireless transmission) interface.

[0085] In the electronic device 500, the processor 502 can include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, the processor 502 can also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, etc.

[0086] The processor 502 can run instructions or code stored in the memory. Among them, the memory 501 can also store data. The instructions and data can also be sent and received via a network interface device through a network, where the network interface device can adopt any known transmission protocol.

[0087] The memory 501 can be integrated with the processor 502. For example, RAM or flash memory is arranged within an integrated circuit microprocessor, etc. In addition, the memory 501 can include independent devices, such as external disk drives, storage arrays, or other storage devices that can be used by any database system. The memory 501 and the processor 502 can be operatively coupled, or can communicate with each other, for example, through I / O ports, network connections, etc., so that the processor 502 can read files stored in the memory 501.

[0088] In addition, the electronic device 500 can also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.). All components of the electronic device can be connected to each other via a bus and / or a network.

[0089] According to an embodiment of the present disclosure, a computer-readable storage medium may also be provided, wherein when the instructions in the computer-readable storage medium are run by at least one processor, the at least one processor is caused to execute the data transmission method of the embodiment of the present disclosure. Examples of the computer-readable storage medium herein include: read-only memory (ROM), programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc memory, hard disk drive (HDD), solid state drive (SSD), cartridge memory (such as, multimedia card, secure digital (SD) card or extreme digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk, and any other device configured to store a computer program and any associated data, data files, and data structures in a non-transitory manner and provide the computer program and any associated data, data files, and data structures to a processor or computer such that the processor or computer can execute the computer program. The computer program in the above computer-readable storage medium may run in an environment deployed in computer devices such as clients, hosts, proxy devices, servers, etc. In addition, in one example, the computer program and any associated data, data files, and data structures are distributed on a networked computer system such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner by one or more processors or computers.

[0090] According to an embodiment of the present disclosure, a computer program product is provided, including computer instructions that, when executed by a processor, implement the data transmission method of the embodiment of the present disclosure.

[0091] Those skilled in the art will readily conceive of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptations of the present disclosure, which follow the general principles of the present disclosure and include known common knowledge or conventional technical means in the technical field not disclosed by the present disclosure. The specification and embodiments are only to be considered as exemplary, and the true scope and spirit of the present disclosure are pointed out by the following claims.

[0092] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A data transmission method, characterized in that, Including: Determine multiple transmission intervals before the current moment, where the end moment of each transmission interval is the moment when the first predetermined confirmation message within this transmission interval arrives, and the predetermined confirmation message is a confirmation message indicating that the data packet started to be transmitted within this transmission interval has been successfully received. The start moment of each transmission interval is the end moment of the corresponding previous transmission interval; Based on the multiple transmission intervals, determine the short window and the long window corresponding to the current moment, where the short window includes the first predetermined number of transmission intervals before the current moment, and the long window includes the second predetermined number of transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number; Select the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window; At the current moment, send a data packet based on the target minimum round-trip delay.

2. The data transmission method according to claim 1, characterized in that, The step of selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window includes: Obtain the relevant information of the data packet transmitted before the current moment; Based on the relevant information, select the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window.

3. The data transmission method according to claim 2, characterized in that The step of selecting the target minimum round-trip delay at the current moment from the first minimum round-trip delay of the short window and the second minimum round-trip delay of the long window based on the relevant information includes: When the relevant information meets the first preset condition, select the first minimum round-trip delay as the target minimum round-trip delay, where the first preset condition indicates that the data volume transmitted within the first predetermined time period before the current moment is less than the first preset value; When the relevant information meets the second preset condition, select the second minimum round-trip delay as the target minimum round-trip delay, where the second preset condition indicates that the data volume transmitted within the second predetermined time before the current moment is greater than the second preset value.

4. The data transmission method according to claim 3, wherein The relevant information includes the round-trip delay corresponding to the confirmation message closest to the current moment, and / or the number of transmission intervals between the transmission interval where the second minimum round-trip delay is located and the current moment, and / or whether the Mth transmission interval before the current moment has transmitted data packets throughout the entire interval, where M is a positive integer, The first preset condition indicates that the data volume transmitted within the first predetermined time period before the current moment is less than the first preset value through any of the following conditions: The first sub-condition: Some intervals of the Mth transmission interval before the current moment have transmitted data packets, or the number of transmission intervals between the transmission interval where the second minimum round-trip delay is located and the current moment is less than M; The second sub-condition: Other conditions other than the second preset condition and the first sub-condition; The second preset condition indicates that the data volume transmitted within the second predetermined time before the current moment is greater than the second preset value through any of the following conditions: When the relevant information does not meet the first sub - condition, the round - trip delay corresponding to the determination message closest to the current moment is greater than the first preset threshold; When the relevant information does not meet the first sub - condition, the round - trip delay corresponding to the determination message closest to the current moment is greater than the second preset threshold and less than or equal to the first preset threshold, and the number of transmission intervals between the transmission interval where the second - smallest round - trip delay is located and the transmission interval corresponding to the current moment is greater than the first predetermined number.

5. The data transmission method according to claim 1, characterized in that When there is an out - of - order phenomenon in any of the third - predetermined number of transmission intervals before the current moment, the end time of the transmission interval where the current moment is located is the time when the Nth determination message arrives after the start time of the transmission interval where the current moment is located, where N is an integer greater than 2.

6. The data transmission method according to claim 1, wherein When the time difference between the current moment and the end time of the corresponding previous transmission interval exceeds the third preset threshold, the current moment is taken as the end time of the transmission interval where the current moment is located.

7. The data transmission method according to claim 1, wherein Before selecting the target minimum round - trip delay at the current moment from the first minimum round - trip delay of the short window and the second minimum round - trip delay of the long window, it further includes: Obtaining the minimum round - trip delay of each of the first - predetermined number of transmission intervals before the current moment, and obtaining the first minimum round - trip delay of the short window based on the minimum round - trip delays of the first - predetermined number of transmission intervals; Obtaining the minimum round - trip delay of each of the second - predetermined number of transmission intervals before the current moment, and obtaining the second minimum round - trip delay of the long window based on the minimum round - trip delays of the second - predetermined number of transmission intervals.

8. The data transmission method according to claim 1, wherein The "sending a data packet based on the target minimum round - trip delay at the current moment" includes: Multiplying the target minimum round - trip delay by the estimated bandwidth to obtain a congestion window; Sending a data packet based on the congestion window at the current moment.

9. A data transmission device, characterized in that, It includes: A transmission - interval acquisition unit configured to determine a plurality of transmission intervals before the current moment, where the end time of each transmission interval is the time when the first - predetermined determination message arrives within this transmission interval, and the predetermined determination message is a determination message indicating that the data packet started to be sent within this transmission interval has been successfully received, and the start time of each transmission interval is the end time of the corresponding previous transmission interval; A window determination unit configured to determine the short window and the long window corresponding to the current moment based on the plurality of transmission intervals, where the short window includes the first - predetermined number of transmission intervals before the current moment, the long window includes the second - predetermined number of transmission intervals before the current moment, and the first predetermined number is less than the second predetermined number; A selection unit configured to select the target minimum round - trip delay at the current moment from the first minimum round - trip delay of the short window and the second minimum round - trip delay of the long window; A transmission unit configured to send a data packet based on the target minimum round - trip delay at the current moment.

10. An electronic device, characterized in that, It includes: A processor; A memory for storing instructions executable by the processor; Among them, the processor is configured to execute the instructions to implement the data transmission method according to any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are run by at least one processor, the at least one processor is caused to execute the data transmission method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Video stream sending method, sending apparatus and web camera

    CN106789385A

  • Network bandwidth determination method, network bandwidth determination device, electronic equipment and storage medium

    CN111130923A