Data sending method and device, electronic equipment and computer program product

By obtaining the transmission parameters of the data packet, determining the interval range and expected convergence points of the congestion window, adjusting the data transmission rate, solving the network congestion problem and improving data transmission efficiency.

CN119728579APending Publication Date: 2025-03-28BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411919229.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art is difficult to effectively reduce network congestion and improve data transmission efficiency, especially when the sending end cannot accurately sense the network state.

Method used

By obtaining the transmission parameters of the received data packets confirmed in the previous statistical time period, including the transmission rate and round trip delay, and the amount of data in transit of the data packet at the transmission time, the reasonable interval range and expected convergence point of the congestion window are determined, and the data transmission rate is adjusted according to these parameters.

Benefits of technology

Effectively utilize link resources, reduce network congestion, improve the overall performance of data transmission, and ensure efficient data transmission in the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728579A_ABST
    Figure CN119728579A_ABST
Patent Text Reader

Abstract

The invention relates to a data sending method and device, electronic equipment and a computer program product, and belongs to the technical field of computers. The method comprises the following steps: for a data packet confirmed to be received in a previous statistical time period, acquiring transmission parameters of the data packet, including a transmission rate and round-trip delay, and an in-transit data volume corresponding to a sending moment of the data packet; determining a first data packet meeting a first transmission condition according to the transmission rate and the round-trip delay of the data packet, and determining an interval range of a congestion window and an expected convergence point according to the in-transit data volume corresponding to the first data packet; and according to the interval range of the congestion window and the expected convergence point, adjusting the data sending rate in the current statistical time period, and sending the data packet in the current statistical time period according to the adjusted data sending rate. The data sending process is guided by determining the reasonable interval range and the expected convergence point of the congestion window, network congestion can be reduced, and the data sending efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a data sending method, a data sending device, an electronic device, and a computer program product. Background Art

[0002] Network congestion refers to a situation that occurs during network transmission. In the Internet, it specifically refers to the situation in which too many data packets are transmitted in the IP (Internet Protocol) network, resulting in a decrease in network transmission efficiency due to limited routing node resources.

[0003] During network transmission, the sender sends data to the network, and the receiver sends confirmation information to the sender after receiving the data. Generally speaking, the sending rate should be less than or equal to the network capacity, but the sender cannot accurately perceive the network status during the transmission process. Therefore, if the sending rate is much higher than the bottleneck formed by the network bandwidth, the data packets will queue in the node. The cache on the node can protect the data packets waiting for service. However, if the overload continues, the router can only discard the data packets when the cache is exhausted. In the state of continuous overload, the network performance will drop sharply.

[0004] In view of this, there is an urgent need in the art for a data sending method that can reduce network congestion and improve data sending efficiency.

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

[0006] The purpose of the present disclosure is to provide a data sending method, a data sending device, an electronic device and a computer program product, thereby reducing network congestion and improving data sending efficiency at least to a certain extent.

[0007] According to a first aspect of the present disclosure, a method for sending data is provided, comprising:

[0008] For the data packets confirmed to be received in the previous statistical time period, the transmission parameters of the data packets are obtained, wherein the transmission parameters include the transmission rate and the round-trip delay, and the amount of in-transit data corresponding to the data packets at the time of sending;

[0009] Determine a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of the data packet, and determine an interval range of a congestion window and an expected convergence point according to an amount of in-transit data corresponding to the first data packet;

[0010] The data transmission rate in the current statistical time period is adjusted according to the interval range of the congestion window and the expected convergence point, and the data packets in the current statistical time period are sent according to the adjusted data transmission rate.

[0011] In an exemplary embodiment of the present disclosure, determining a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of the data packet includes:

[0012] Obtaining the maximum transmission rate and the minimum round-trip delay in the data packet;

[0013] Determine a transmission rate threshold according to the maximum transmission rate, and determine a round-trip delay threshold according to the minimum round-trip delay;

[0014] A data packet whose transmission rate is greater than or equal to the transmission rate threshold, or whose round-trip delay is less than or equal to the round-trip delay threshold, is determined as a first data packet that meets the first transmission condition.

[0015] In an exemplary embodiment of the present disclosure, determining the interval range and expected convergence point of the congestion window according to the amount of in-transit data corresponding to the first data packet includes:

[0016] Obtaining an interval minimum value according to a minimum value of the amount of in-transit data corresponding to the first data packet, and obtaining an interval maximum value according to a maximum value of the amount of in-transit data corresponding to the first data packet;

[0017] Obtaining an interval range of the congestion window according to the interval minimum value and the interval maximum value;

[0018] An expected convergence point of the congestion window is determined according to the interval minimum value, the interval maximum value and a preset convergence parameter.

[0019] In an exemplary embodiment of the present disclosure, adjusting the data transmission rate in the current statistical time period according to the interval range of the congestion window and the expected convergence point includes:

[0020] Determine a plurality of subintervals according to the interval range of the congestion window and the expected convergence point;

[0021] According to the relationship between the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period and each of the sub-intervals, the data sending rate corresponding to the data packet at the sending time is determined.

[0022] In an exemplary embodiment of the present disclosure, the determining of a plurality of sub-intervals according to the interval range of the congestion window and the expected convergence point includes:

[0023] Determine a subinterval that is less than or equal to the minimum value of the congestion window as a first subinterval;

[0024] Determine a subinterval that is greater than the minimum value of the interval of the congestion window and less than or equal to the expected convergence point as a second subinterval;

[0025] Determine a subinterval that is greater than the expected convergence point and less than or equal to the interval maximum value of the congestion window as a third subinterval;

[0026] Determine an interval overflow value according to the interval maximum value of the congestion window, and determine a subinterval that is greater than the interval maximum value of the congestion window and less than or equal to the interval overflow value as a fourth subinterval;

[0027] A sub-interval greater than the interval overflow value is determined as a fifth sub-interval.

[0028] In an exemplary embodiment of the present disclosure, determining the data transmission rate corresponding to the data packet at the sending time according to the relationship between the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period and each of the sub-intervals includes:

[0029] If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the first sub-interval, then according to the first rate parameter and the maximum transmission rate of the data packet in the previous statistical time period, the data transmission rate corresponding to the data packet at the sending time is obtained;

[0030] If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the second sub-interval, then according to the second rate parameter and the maximum transmission rate of the data packet in the previous statistical time period, obtain the data sending rate corresponding to the data packet at the sending time;

[0031] If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the third sub-interval, then obtaining the data sending rate corresponding to the data packet at the sending time according to the third rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0032] If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the fourth sub-interval, the data sending rate corresponding to the data packet at the sending time is obtained according to the fourth rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0033] If the amount of in-transit data corresponding to the sending time of the data packet in the current statistical time period is within the range of the fifth sub-interval, the data sending rate corresponding to the sending time of the data packet is set to a preset rate.

[0034] In an exemplary embodiment of the present disclosure, the method further includes:

[0035] The duration of the current statistical time period is determined according to the transmission parameters of the data packets confirmed to be received in the previous statistical time period.

[0036] According to a second aspect of the present disclosure, there is provided a data sending device, comprising:

[0037] A transmission parameter acquisition module is configured to execute, for a data packet confirmed to be received within a previous statistical time period, to acquire the transmission parameters of the data packet, wherein the transmission parameters include a transmission rate and a round-trip delay, and an amount of in-transit data corresponding to the data packet at the time of sending;

[0038] a congestion window determination module, configured to determine a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of the data packet, and determine an interval range and an expected convergence point of a congestion window according to an amount of in-transit data corresponding to the first data packet;

[0039] The sending rate adjustment module is configured to adjust the data sending rate in the current statistical time period according to the interval range of the congestion window and the expected convergence point, and send the data packets in the current statistical time period according to the adjusted data sending rate.

[0040] In an exemplary embodiment of the present disclosure, the congestion window determination module includes:

[0041] A boundary parameter determination unit, configured to execute acquisition of a maximum transmission rate and a minimum round trip delay in the data packet;

[0042] a parameter threshold determination unit, configured to determine a transmission rate threshold according to the maximum transmission rate, and determine a round-trip delay threshold according to the minimum round-trip delay;

[0043] The first data packet determination unit is configured to determine the data packet whose transmission rate is greater than or equal to the transmission rate threshold, or whose round-trip delay is less than or equal to the round-trip delay threshold, as the first data packet that meets the first transmission condition.

[0044] In an exemplary embodiment of the present disclosure, the congestion window determination module further includes:

[0045] An interval endpoint determination unit is configured to obtain an interval minimum value according to a minimum value of the amount of in-transit data corresponding to the first data packet, and obtain an interval maximum value according to a maximum value of the amount of in-transit data corresponding to the first data packet;

[0046] an interval range determining unit, configured to obtain an interval range of the congestion window according to the interval minimum value and the interval maximum value;

[0047] The expected convergence point determination unit is configured to determine the expected convergence point of the congestion window according to the interval minimum value, the interval maximum value and a preset convergence parameter.

[0048] In an exemplary embodiment of the present disclosure, the transmission rate adjustment module includes:

[0049] A sub-interval determining unit, configured to determine a plurality of sub-intervals according to an interval range of the congestion window and an expected convergence point;

[0050] The data transmission rate determination unit is configured to determine the data transmission rate corresponding to the data packet at the transmission time according to the relationship between the amount of in-transit data corresponding to the data packet at the transmission time in the current statistical time period and each of the sub-intervals.

[0051] In an exemplary embodiment of the present disclosure, the sub-interval determining unit includes:

[0052] A first sub-interval determining unit is configured to determine a sub-interval that is less than or equal to the minimum value of the congestion window as a first sub-interval;

[0053] A second sub-interval determining unit is configured to determine a sub-interval that is greater than the interval minimum value of the congestion window and less than or equal to the expected convergence point as a second sub-interval;

[0054] A third sub-interval determining unit is configured to determine a sub-interval that is greater than the expected convergence point and less than or equal to the interval maximum value of the congestion window as a third sub-interval;

[0055] a fourth sub-interval determining unit, configured to determine an interval overflow value according to an interval maximum value of the congestion window, and determine a sub-interval that is greater than the interval maximum value of the congestion window and less than or equal to the interval overflow value as a fourth sub-interval;

[0056] The fifth sub-interval determining unit is configured to determine a sub-interval greater than the interval overflow value as a fifth sub-interval.

[0057] In an exemplary embodiment of the present disclosure, the data transmission rate determining unit includes:

[0058] A first sub-interval rate determination unit is configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the first sub-interval, then obtain the data sending rate corresponding to the data packet at the sending time according to the first rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0059] The second sub-interval rate determination unit is configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the second sub-interval, then obtain the data sending rate corresponding to the data packet at the sending time according to the second rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0060] The third sub-interval rate determination unit is configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the third sub-interval, then obtain the data sending rate corresponding to the data packet at the sending time according to the third rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0061] a fourth sub-interval rate determination unit, configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the fourth sub-interval, obtaining the data sending rate corresponding to the data packet at the sending time according to the fourth rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0062] The fifth sub-interval rate determination unit is configured to set the data transmission rate corresponding to the data packet at the sending time to a preset rate if the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period is within the range of the fifth sub-interval.

[0063] In an exemplary embodiment of the present disclosure, the data sending device further includes:

[0064] The statistical time period determination module is configured to determine the duration of the current statistical time period according to the transmission parameters of the data packets confirmed to be received in the previous statistical time period.

[0065] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement any one of the data sending methods described above.

[0066] According to a fourth aspect of the present disclosure, a computer program product is provided, including a computer program, wherein when the computer program is executed by a processor, the computer program implements any one of the above-mentioned methods for sending data.

[0067] The exemplary embodiments of the present disclosure may have the following beneficial effects:

[0068] In the data transmission method of the exemplary implementation method of the present disclosure, by obtaining the transmission parameters of the data packets confirmed to be received in the previous statistical time period, including the transmission rate and round-trip delay, and the amount of in-transit data corresponding to the data packets at the time of transmission, the reasonable interval range and expected convergence point of the congestion window are determined, and finally, according to the result of the congestion window interval, the adaptive transmission rate strategy is used to guide the data transmission process in the current statistical time period to achieve the expected transmission effect. The data transmission method of the exemplary implementation method of the present disclosure, on the one hand, can effectively utilize link resources during network transmission, when it is necessary to expand the window to increase the transmission speed, it can maintain a strong link resource occupancy ability, when it is necessary to reduce the window to alleviate the risk of network congestion, it can maintain a low degree of data packet queuing, thereby reducing the possibility of network congestion; on the other hand, this strategy of adjusting the congestion window size in a reasonable interval can show strong adaptability, which is particularly effective in the face of complex and changeable network environments, and helps to improve the overall performance of network transmission, ensure the efficient transmission of data in the network, and also achieve better performance in algorithm robustness and update window real-time.

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

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

[0071] Figure 1 A schematic diagram showing a flow chart of a method for sending data according to an exemplary embodiment of the present disclosure;

[0072] Figure 2 A schematic diagram showing a process of determining a first data packet that meets a first transmission condition according to an exemplary embodiment of the present disclosure is shown;

[0073] Figure 3 A schematic diagram schematically shows a convergence point of a congestion window according to a specific embodiment of the present disclosure;

[0074] Figure 4 A schematic diagram of a process for determining a congestion window interval range and an expected convergence point according to an exemplary embodiment of the present disclosure is shown;

[0075] Figure 5 A schematic diagram showing a flow chart of adjusting the data transmission rate within the current statistical time period according to an exemplary embodiment of the present disclosure;

[0076] Figure 6 A block diagram showing a data transmission device according to an exemplary embodiment of the present disclosure;

[0077] Figure 7 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0078] In order to enable ordinary persons 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 in conjunction with the accompanying drawings.

[0079] 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 are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein.

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

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

[0082] The problem of network congestion can be solved by implementing congestion control. The purpose of the congestion control algorithm is to prevent too much data from being injected into the network to ensure that the routers and links in the network are not overloaded. Ideally, the congestion control algorithm estimates the number of data packets that can be accommodated on the current network link, so that when there is data to send, a data packet is sent for each confirmation packet received, and a fixed number of data packets are always flowing in the network. This can achieve maximum throughput and make full use of the bottleneck bandwidth of the network link; on the other hand, it can achieve minimum round-trip delay and ensure that there is no accumulation of cache queues in the network link.

[0083] In the network congestion algorithm, controlling the congestion window size is a crucial link. The congestion algorithm iteratively calculates the size of the congestion window to determine the optimal level of data sent by itself, and controls the sending strategy of subsequent transmission by comparing the congestion window size and the amount of inflight data. The congestion algorithm can use BDP (Bandwidth-Delay Product, which is the product of bandwidth and delay) to guide the selection of the window size in the algorithm, which directly affects the start and stop status of the current sending progress.

[0084] However, the congestion algorithm cannot accurately obtain the current network link status, resulting in a discrepancy between the statistical congestion window size and the actual network data volume. If the statistical result is too large, the algorithm occupies a strong network resource, but the overall queuing delay may increase, which can easily cause network congestion. On the contrary, if the statistical result is too small, the end-to-end transmission delay is reduced, but the throughput often cannot reach the maximum load. Therefore, the statistical method of the congestion algorithm for the congestion window directly affects the performance of the network congestion algorithm.

[0085] In some related embodiments, congestion window control can be performed through different congestion control algorithms. Among them, the BBR (Bottleneck Bandwidth and Round-trip propagation time) algorithm is a better method for counting congestion windows. The specific method is to observe the round-trip delay RTT (Round-Trip Time) and transmission bandwidth rate of each data packet, and record the minimum RTT value in the last x seconds and the maximum bandwidth value in the last y RTTs. When calculating the congestion window and controlling the sending behavior, BBR uses the minimum delay multiplied by the estimated maximum bandwidth as the BDP to guide the adjustment of the congestion window. However, the parameters of the window adjusted by this technical solution are the maximum / minimum values ​​of the recent period of time. When the network jitters, it usually takes several RTTs to iteratively update the size of the congestion window, resulting in the inability to keep up with network changes in a timely manner, which can easily cause network congestion or insufficient throughput.

[0086] There are also some congestion control algorithms, such as the Reno / Cubic algorithm, which can use the "additive increase and multiplicative reduction" method to control the size of the congestion window. This method increases the congestion window when receiving the feedback ACK (Acknowledgement) of the sent data, and reduces the congestion window by multiples when the packet loss signal is detected, and uses the iterated congestion window to control the sending behavior. However, this technical solution is easily interfered by the packet loss signal when adjusting the window. When there is packet loss in the network, it is very easy to over-reduce the window and cause low throughput. At the same time, in a network without packet loss, the window is usually accumulated too large, causing congestion.

[0087] The congestion window adjustment method adopted by the congestion control algorithm in the above-mentioned related embodiments cannot flexibly adapt to the ever-changing complex network environment, which causes the congestion control algorithm to be unable to achieve the optimal performance level, thereby affecting the network transmission effect.

[0088] Based on the above problems, this exemplary embodiment first provides a method for sending data. Figure 1 As shown, the method for sending the above data may include the following steps:

[0089] Step S110. For the data packets confirmed to be received in the previous statistical time period, the transmission parameters of the data packets are obtained, and the transmission parameters include the transmission rate and round-trip delay, as well as the amount of in-transit data corresponding to the data packet at the time of sending.

[0090] Step S120: Determine a first data packet that meets the first transmission condition according to the transmission rate and round-trip delay of the data packet, and determine the range of the congestion window and the expected convergence point according to the amount of in-transit data corresponding to the first data packet.

[0091] Step S130: According to the range of the congestion window and the expected convergence point, the data transmission rate in the current statistical time period is adjusted, and the data packets in the current statistical time period are sent according to the adjusted data transmission rate.

[0092] In the data transmission method of the exemplary implementation method of the present disclosure, by obtaining the transmission parameters of the data packets confirmed to be received in the previous statistical time period, including the transmission rate and round-trip delay, and the amount of in-transit data corresponding to the data packets at the time of transmission, the reasonable interval range and expected convergence point of the congestion window are determined, and finally, according to the result of the congestion window interval, the adaptive transmission rate strategy is used to guide the data transmission process in the current statistical time period to achieve the expected transmission effect. The data transmission method of the exemplary implementation method of the present disclosure, on the one hand, can effectively utilize link resources during network transmission, when it is necessary to expand the window to increase the transmission speed, it can maintain a strong link resource occupancy ability, when it is necessary to reduce the window to alleviate the risk of network congestion, it can maintain a low degree of data packet queuing, thereby reducing the possibility of network congestion; on the other hand, this strategy of adjusting the congestion window size in a reasonable interval can show strong adaptability, which is particularly effective in the face of complex and changeable network environments, and helps to improve the overall performance of network transmission, ensure the efficient transmission of data in the network, and also achieve better performance in algorithm robustness and update window real-time.

[0093] Next, combine Figures 2 to 5 The above steps of this exemplary embodiment are described in more detail.

[0094] In step S110, for the data packets confirmed to be received in the last statistical time period, the transmission parameters of the data packets are obtained, and the transmission parameters include the transmission rate and round-trip delay, and the amount of in-transit data corresponding to the data packet at the time of sending.

[0095] In this example implementation, the statistical time may be divided into a plurality of statistical time periods, and the statistical data in the previous statistical time period may be used to guide the data transmission in the next statistical time period.

[0096] In this example implementation, the transmission parameters of all data packets confirmed to be received in the previous statistical time period are first obtained, including the transmission rate and round-trip delay, as well as the amount of in-transit data corresponding to the data packet at the time of sending. The transmission rate refers to the data transmission rate counted when the data packet is ACKed, recorded as BW i The round-trip delay refers to the round-trip delay of the data packet when it is ACKed, recorded as RTT i Inflight refers to the amount of data in transit in the network at the time of sending the data packet, recorded as Inflight i In this example implementation, the sampling and statistical method of the bandwidth rate is not limited, for example, it can be similar to observing the sending and receiving process of a group of data packets in the BBR algorithm and statistically analyzing the sampling rate.

[0097] In step S120, a first data packet that meets the first transmission condition is determined according to the transmission rate and round-trip delay of the data packet, and the range of the congestion window and the expected convergence point are determined according to the amount of in-transit data corresponding to the first data packet.

[0098] In this example implementation, a first data packet satisfying the first transmission condition may be determined from the data packets according to the transmission rates and round-trip delays of all data packets confirmed to be received in the last statistical time period.

[0099] In this example implementation, Figure 2 As shown, determining a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of a data packet may specifically include the following steps:

[0100] Step S210: Obtain the maximum transmission rate and minimum round-trip delay in the data packet.

[0101] In the previous statistical period, the maximum transmission rate of all data packets can be obtained. i BW i and minimum round trip delay min i RTT i .

[0102] Figure 3 The schematic diagram of the convergence point of the congestion window in a specific embodiment of the present disclosure is schematically shown. In an ideal situation, the convergence point of the congestion window should be a certain position, that is, max i BW i and min i RTT i The corresponding inflight data volume is as follows: Figure 3 As shown on the left. However, due to the complex and changing network environment, the convergence point within a period of time may be a range, such as Figure 3 As shown on the right, therefore, it is necessary to calculate the reasonable range of the congestion window and the expected convergence point.

[0103] Step S220: Determine a transmission rate threshold according to the maximum transmission rate, and determine a round-trip delay threshold according to the minimum round-trip delay.

[0104] According to the maximum transmission rate of all data packets i BW i And the preset error parameter β, the transmission rate threshold max can be determined i BW i . According to the minimum round trip delay min i RTT i And the preset error parameter α, the round-trip delay threshold α·min can be determined iRTT i . Wherein, α and β are variable error parameters, and are not specifically limited in this exemplary implementation.

[0105] Step S230: Determine a data packet whose transmission rate is greater than or equal to the transmission rate threshold, or whose round-trip delay is less than or equal to the round-trip delay threshold, as a first data packet that meets the first transmission condition.

[0106] In this example implementation, the RTT can be satisfied i ≤α·min i RTT i or BW i ≥β·max i BW i The data packet i meeting the first transmission condition is determined to be the first data packet meeting the first transmission condition.

[0107] After determining the first data packet that meets the first transmission condition, the amount of in-flight data corresponding to the first data packet can be counted. i , obtain the range of the congestion window and the expected convergence point in the previous statistical time period.

[0108] In this example implementation, Figure 4 As shown, determining the range of the congestion window and the expected convergence point according to the amount of in-transit data corresponding to the first data packet may specifically include the following steps:

[0109] Step S410: Obtain an interval minimum value according to a minimum value of the amount of in-transit data corresponding to the first data packet, and obtain an interval maximum value according to a maximum value of the amount of in-transit data corresponding to the first data packet.

[0110] In the first data packet that meets the first transmission condition, the minimum value of the amount of data in transit min i Inflight i As the left endpoint of the congestion window, the maximum value of the amount of data in transit is max i Inflight i As the right endpoint of the congestion window, they are denoted as Inflight l and Inflight r .

[0111] Step S420: Obtain the interval range of the congestion window according to the interval minimum value and the interval maximum value.

[0112] According to the minimum value of the interval, that is, the left endpoint Inflight l , and the maximum value of the interval, that is, the right endpoint Inflight r , we can get the range of the congestion window, that is, [Inflightl ,Inflight r ].

[0113] Step S430: Determine the expected convergence point of the congestion window according to the interval minimum value, the interval maximum value and the preset convergence parameters.

[0114] The expected convergence point of the congestion window is calculated as follows:

[0115] Inflight e =(1-γ)·Inflight l +γ·Inflight r

[0116] The convergence parameter γ is a variable parameter in the interval [0,1] and is not specifically limited in this example implementation. l ≤Inflight r ≤Inflight r And, when γ=0, the expected convergence point is the left endpoint Inflight l ; When γ=1, the expected convergence point is the right endpoint Inflight r .

[0117] In step S130, the data transmission rate in the current statistical time period is adjusted according to the range of the congestion window and the expected convergence point, and the data packets in the current statistical time period are sent according to the adjusted data transmission rate.

[0118] In this example implementation, the duration of the current statistical time period may be determined according to the transmission parameters of the data packets confirmed to be received in the previous statistical time period.

[0119] The length of each statistical time period can be determined based on the transmission parameters of the data packets confirmed to be received in the previous statistical time period. For example, the round-trip delay (RTT) of the data packets confirmed to be received in the previous statistical time period can be used to determine the length of each statistical time period. r To determine, taking the RTT duration as an example, the RTT duration of the last received data packet, or the maximum value, minimum value, smoothed average value of all RTT durations, etc. can be used. The length of each statistical time period can also be a fixed length of time, or determined according to the time taken to send and receive several data packets, which is not specifically limited in this example implementation.

[0120] In this example implementation, for the data transmission process in the current statistical time period, the congestion window left endpoint Inflight determined in the previous statistical time period can be used. l , right endpoint Inflight rand expected convergence point Inflight r Make real-time adjustments.

[0121] In this example implementation, Figure 5 As shown in FIG. 1 , according to the range of the congestion window and the expected convergence point, the data sending rate in the current statistical time period is adjusted, which may include the following steps:

[0122] Step S510: Determine multiple sub-intervals according to the interval range of the congestion window and the expected convergence point.

[0123] In this example implementation, the left end point of the congestion window Inflight determined in the previous statistical time period can be l , right endpoint Inflight r and expected convergence point Inflight e , the interval range of the congestion window is divided into multiple sub-intervals. Specifically, a sub-interval that is less than or equal to the minimum value of the congestion window interval can be determined as the first sub-interval; a sub-interval that is greater than the minimum value of the congestion window interval and less than or equal to the expected convergence point can be determined as the second sub-interval; a sub-interval that is greater than the expected convergence point and less than or equal to the maximum value of the congestion window interval can be determined as the third sub-interval; an interval overflow value is determined according to the maximum value of the congestion window interval, and a sub-interval that is greater than the maximum value of the congestion window interval and less than or equal to the interval overflow value can be determined as the fourth sub-interval; a sub-interval that is greater than the interval overflow value can be determined as the fifth sub-interval. Among them, the interval overflow value can be determined according to the maximum value of the congestion window interval and a preset overflow parameter.

[0124] Step S520: Determine the data transmission rate corresponding to the data packet at the transmission time according to the relationship between the amount of in-transit data corresponding to the data packet at the transmission time within the current statistical time period and each sub-interval.

[0125] In this example implementation, if the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period is within the range of the first sub-interval, the data sending rate corresponding to the data packet at the sending time is obtained according to the first rate parameter and the maximum transmission rate of the data packet in the previous statistical time period; if the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period is within the range of the second sub-interval, the data sending rate corresponding to the data packet at the sending time is obtained according to the second rate parameter and the maximum transmission rate of the data packet in the previous statistical time period; if the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period is within the range of the third sub-interval, the data sending rate corresponding to the data packet at the sending time is obtained according to the third rate parameter and the maximum transmission rate of the data packet in the previous statistical time period; if the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period is within the range of the fourth sub-interval, the data sending rate corresponding to the data packet at the sending time is obtained according to the fourth rate parameter and the maximum transmission rate of the data packet in the previous statistical time period; if the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period is within the range of the fifth sub-interval, the data sending rate corresponding to the data packet at the sending time is set to the preset rate.

[0126] For the data packets in the current statistical time period, the expected data transmission rate is as follows:

[0127]

[0128] Among them, the first rate parameter A, the second rate parameter B, the third rate parameter C, the fourth rate parameter D, and the overflow parameter η are all variable parameters, and the specific values ​​can be determined according to actual needs. Generally speaking, these parameters satisfy 0≤D≤C≤1≤B≤A, η≥1 in most scenarios. However, the values ​​of these parameters and the comparison of their sizes are not specifically limited in this example implementation.

[0129] As can be seen from the above, the sending rate guided in this example embodiment retains the interval outside the right end point of the congestion window (Inflight r ,η·Inflight r ] detection capability. However, for the interval outside the left end point of the congestion window (0, Inflight l ) How to detect is not specifically limited in this example implementation. For example, it may be possible to stop sending at regular intervals or stop sending according to transmission indicators such as delay and packet loss until the in-flight data drops to the expected size.

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

[0131] Furthermore, the present disclosure also provides a data sending device. Figure 6 As shown, the data sending device may include a transmission parameter acquisition module 610, a congestion window determination module 620 and a sending rate adjustment module 630. Among them:

[0132] The transmission parameter acquisition module 610 is configured to acquire the transmission parameters of the data packets confirmed to be received in the previous statistical time period, wherein the transmission parameters include the transmission rate and the round-trip delay, and the amount of in-transit data corresponding to the data packets at the time of sending;

[0133] The congestion window determination module 620 is configured to determine a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of the data packet, and determine an interval range of the congestion window and an expected convergence point according to an amount of in-transit data corresponding to the first data packet;

[0134] The sending rate adjustment module 630 is configured to adjust the data sending rate in the current statistical time period according to the interval range of the congestion window and the expected convergence point, and send the data packets in the current statistical time period according to the adjusted data sending rate.

[0135] In some exemplary embodiments of the present disclosure, the congestion window determination module 620 may include a boundary parameter determination unit, a parameter threshold determination unit, and a first data packet determination unit.

[0136] A boundary parameter determination unit is configured to execute to obtain a maximum transmission rate and a minimum round trip delay in a data packet;

[0137] A parameter threshold determination unit, configured to determine a transmission rate threshold according to a maximum transmission rate, and determine a round-trip delay threshold according to a minimum round-trip delay;

[0138] The first data packet determination unit is configured to determine a data packet whose transmission rate is greater than or equal to a transmission rate threshold, or whose round-trip delay is less than or equal to a round-trip delay threshold, as a first data packet that meets a first transmission condition.

[0139] In some exemplary embodiments of the present disclosure, the congestion window determination module 620 may further include an interval endpoint determination unit, an interval range determination unit, and an expected convergence point determination unit.

[0140] The interval endpoint determination unit is configured to obtain an interval minimum value according to a minimum value of the amount of in-transit data corresponding to the first data packet, and obtain an interval maximum value according to a maximum value of the amount of in-transit data corresponding to the first data packet;

[0141] An interval range determination unit is configured to obtain an interval range of a congestion window according to an interval minimum value and an interval maximum value;

[0142] The expected convergence point determination unit is configured to determine the expected convergence point of the congestion window according to the interval minimum value, the interval maximum value and a preset convergence parameter.

[0143] In some exemplary embodiments of the present disclosure, the transmission rate adjustment module 630 may include a sub-interval determination unit and a data transmission rate determination unit.

[0144] A sub-interval determining unit, configured to determine a plurality of sub-intervals according to an interval range of the congestion window and an expected convergence point;

[0145] The data transmission rate determination unit is configured to determine the data transmission rate corresponding to the data packet at the transmission time according to the relationship between the amount of in-transit data corresponding to the data packet at the transmission time in the current statistical time period and each sub-interval.

[0146] In some exemplary embodiments of the present disclosure, the sub-interval determining unit may include a first sub-interval determining unit, a second sub-interval determining unit, a third sub-interval determining unit, a fourth sub-interval determining unit, and a fifth sub-interval determining unit.

[0147] A first sub-interval determining unit is configured to determine a sub-interval that is less than or equal to the minimum value of the congestion window as a first sub-interval;

[0148] A second sub-interval determining unit is configured to determine a sub-interval that is greater than the minimum value of the congestion window and less than or equal to the expected convergence point as a second sub-interval;

[0149] A third sub-interval determining unit is configured to determine a sub-interval that is greater than the expected convergence point and less than or equal to the interval maximum value of the congestion window as a third sub-interval;

[0150] a fourth sub-interval determining unit, configured to determine an interval overflow value according to an interval maximum value of the congestion window, and determine a sub-interval greater than the interval maximum value of the congestion window and less than or equal to the interval overflow value as a fourth sub-interval;

[0151] The fifth sub-interval determining unit is configured to determine a sub-interval greater than the interval overflow value as a fifth sub-interval.

[0152] In some exemplary embodiments of the present disclosure, the data transmission rate determination unit may include a first sub-interval rate determination unit, a second sub-interval rate determination unit, a third sub-interval rate determination unit, a fourth sub-interval rate determination unit, and a fifth sub-interval rate determination unit.

[0153] The first sub-interval rate determination unit is configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the first sub-interval, then obtain the data sending rate corresponding to the data packet at the sending time according to the first rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0154] The second sub-interval rate determination unit is configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the second sub-interval, then obtain the data sending rate corresponding to the data packet at the sending time according to the second rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0155] The third sub-interval rate determination unit is configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the third sub-interval, then obtain the data sending rate corresponding to the data packet at the sending time according to the third rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0156] The fourth sub-interval rate determination unit is configured to execute, if the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the fourth sub-interval, then obtain the data sending rate corresponding to the data packet at the sending time according to the fourth rate parameter and the maximum transmission rate of the data packet in the previous statistical time period;

[0157] The fifth sub-interval rate determination unit is configured to set the data transmission rate corresponding to the data packet at the transmission time to the preset rate if the amount of in-transit data corresponding to the data packet at the transmission time in the current statistical time period is within the range of the fifth sub-interval.

[0158] In some exemplary embodiments of the present disclosure, a data sending device provided by the present disclosure may also include a statistical time period determination module, which is configured to determine the length of the current statistical time period based on the transmission parameters of the data packets confirmed to be received in the previous statistical time period.

[0159] The specific details of each module / unit in the above data sending device have been described in detail in the corresponding method embodiment part, and will not be repeated here.

[0160] Figure 7 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present disclosure is shown.

[0161] It should be noted that Figure 7 The computer system 700 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0162] like Figure 7 As shown, computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage part 708 into a random access memory (RAM) 703. Various programs and data required for system operation are also stored in RAM 703. CPU 701, ROM 702 and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to bus 704.

[0163] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, a mouse, etc.; an output section 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, a modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 710 as needed, so that a computer program read therefrom is installed into the storage section 708 as needed.

[0164] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication section 709, and / or installed from a removable medium 711. When the computer program is executed by a central processing unit (CPU) 701, various functions defined in the system of the present disclosure are executed.

[0165] The exemplary embodiment of the present disclosure also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the information prompt method for reward redemption is implemented.

[0166] In one embodiment, the computer program product may be a tangible product containing a computer program, such as a computer-readable storage medium storing a computer program. The readable storage medium may be a storage medium based on electrical, magnetic, optical, electromagnetic, infrared, or other signals, including but not limited to: random access memory (RAM), read-only memory (ROM), magnetic tape, floppy disk, flash memory (Flash), mechanical hard disk (HDD), solid-state drive (SSD), and the like. Exemplarily, the computer program product may be implemented as a non-volatile storage medium storing a computer program, such as a read-only memory, a NAND flash memory, and the like.

[0167] In one embodiment, the computer program product may be an intangible product including a computer program. Exemplarily, the computer program product may be implemented as a virtual digital product, such as a digital file storing an executable file, an installation package, etc. of the computer program.

[0168] The code of the computer program can be written in one or more programming languages. Programming languages ​​such as C language, Java, C++, etc. The program code can be executed entirely on the user computing device, or partially on the user computing device, or as a separate software package, or partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, such as a local area network (LAN), a wide area network (WAN), etc., or can be connected to an external computing device (e.g., an Internet connection provided by an operator).

[0169] The computer program may be carried or transmitted via electrical, magnetic, optical, electromagnetic, infrared, or other signals. The electronic device may convert the signal carrying the computer program into a digital signal, thereby running the computer program. When the computer program is run on the electronic device, its code is used to enable the electronic device to execute (more specifically, the processor of the electronic device may execute) the method steps of various exemplary embodiments of the present disclosure, such as the information prompt method for reward redemption described above.

[0170] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

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

[0172] Those skilled in the art will readily appreciate 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 that follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not disclosed in the present disclosure.

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

Claims

1. A method for sending data, characterized in that: include: For the data packets confirmed to be received in the previous statistical time period, the transmission parameters of the data packets are obtained, wherein the transmission parameters include the transmission rate and the round-trip delay, and the amount of in-transit data corresponding to the data packets at the time of sending; Determine a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of the data packet, and determine an interval range of a congestion window and an expected convergence point according to an amount of in-transit data corresponding to the first data packet; The data transmission rate in the current statistical time period is adjusted according to the interval range of the congestion window and the expected convergence point, and the data packets in the current statistical time period are sent according to the adjusted data transmission rate.

2. The method for transmitting data according to claim 1, characterized in that: The step of determining a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of the data packet includes: Obtaining the maximum transmission rate and the minimum round-trip delay in the data packet; Determine a transmission rate threshold according to the maximum transmission rate, and determine a round-trip delay threshold according to the minimum round-trip delay; A data packet whose transmission rate is greater than or equal to the transmission rate threshold, or whose round-trip delay is less than or equal to the round-trip delay threshold, is determined as a first data packet that meets the first transmission condition.

3. The method for transmitting data according to claim 1, characterized in that: The determining, according to the amount of in-transit data corresponding to the first data packet, the interval range of the congestion window and the expected convergence point includes: Obtaining an interval minimum value according to a minimum value of the amount of in-transit data corresponding to the first data packet, and obtaining an interval maximum value according to a maximum value of the amount of in-transit data corresponding to the first data packet; Obtaining an interval range of the congestion window according to the interval minimum value and the interval maximum value; An expected convergence point of the congestion window is determined according to the interval minimum value, the interval maximum value and a preset convergence parameter.

4. The method for transmitting data according to claim 1, characterized in that: The adjusting the data transmission rate in the current statistical time period according to the interval range of the congestion window and the expected convergence point includes: Determine a plurality of subintervals according to the interval range of the congestion window and the expected convergence point; According to the relationship between the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period and each of the sub-intervals, the data sending rate corresponding to the data packet at the sending time is determined.

5. The method for transmitting data according to claim 4, characterized in that: The determining of a plurality of sub-intervals according to the interval range of the congestion window and the expected convergence point includes: Determine a subinterval that is less than or equal to the minimum value of the congestion window as a first subinterval; Determine a subinterval that is greater than the minimum value of the interval of the congestion window and less than or equal to the expected convergence point as a second subinterval; Determine a subinterval that is greater than the expected convergence point and less than or equal to the interval maximum value of the congestion window as a third subinterval; Determine an interval overflow value according to the interval maximum value of the congestion window, and determine a subinterval that is greater than the interval maximum value of the congestion window and less than or equal to the interval overflow value as a fourth subinterval; A sub-interval greater than the interval overflow value is determined as a fifth sub-interval.

6. The method for transmitting data according to claim 4, characterized in that: The determining, according to the relationship between the amount of in-transit data corresponding to the data packet at the sending time in the current statistical time period and each of the sub-intervals, the data sending rate corresponding to the data packet at the sending time includes: If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the first sub-interval, then according to the first rate parameter and the maximum transmission rate of the data packet in the previous statistical time period, the data transmission rate corresponding to the data packet at the sending time is obtained; If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the second sub-interval, then according to the second rate parameter and the maximum transmission rate of the data packet in the previous statistical time period, obtain the data sending rate corresponding to the data packet at the sending time; If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the third sub-interval, then obtaining the data sending rate corresponding to the data packet at the sending time according to the third rate parameter and the maximum transmission rate of the data packet in the previous statistical time period; If the amount of in-transit data corresponding to the data packet in the current statistical time period at the sending time is within the range of the fourth sub-interval, the data sending rate corresponding to the data packet at the sending time is obtained according to the fourth rate parameter and the maximum transmission rate of the data packet in the previous statistical time period; If the amount of in-transit data corresponding to the sending time of the data packet in the current statistical time period is within the range of the fifth sub-interval, the data sending rate corresponding to the sending time of the data packet is set to a preset rate.

7. The method for transmitting data according to claim 1, characterized in that: The method further comprises: The duration of the current statistical time period is determined according to the transmission parameters of the data packets confirmed to be received in the previous statistical time period.

8. A data transmission device, characterized in that: include: A transmission parameter acquisition module is configured to acquire transmission parameters of the data packets confirmed to be received within the previous statistical time period, wherein the transmission parameters include a transmission rate and a round-trip delay, and an amount of in-transit data corresponding to the data packets at the time of sending; a congestion window determination module, configured to determine a first data packet that meets a first transmission condition according to a transmission rate and a round-trip delay of the data packet, and determine an interval range and an expected convergence point of a congestion window according to an amount of in-transit data corresponding to the first data packet; The sending rate adjustment module is configured to adjust the data sending rate in the current statistical time period according to the interval range of the congestion window and the expected convergence point, and send the data packets in the current statistical time period according to the adjusted data sending rate.

9. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the data sending method according to any one of claims 1 to 7.

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