Bottleneck bandwidth determination method and apparatus, and related device

By dynamically adjusting the bottleneck bandwidth estimation in the network environment and combining the rate detection results of short and long time windows, the problem of balancing accuracy and response speed in dynamic network environments with a fixed-length time window is solved, thus achieving efficient bottleneck bandwidth estimation and transmission control.

CN121125576APending Publication Date: 2025-12-12BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511300822.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-11
Publication Date
2025-12-12

AI Technical Summary

Technical Problem

In existing technologies, bottleneck bandwidth estimation based on fixed-length time windows is difficult to balance accuracy and response speed in dynamic network environments. Short time windows are susceptible to noise interference, while long time windows have slow response speeds.

Method used

By determining the congestion gradient based on the network statistics at the current moment, short-time window rate detection is initiated. Combined with network status information, the bottleneck bandwidth estimation is dynamically adjusted. When the network is stable, the rate detection results are used directly in the short-time window. When the network is unstable, the transmission rate of the long-time window is combined for comprehensive judgment.

Benefits of technology

It achieves adaptive estimation of bottleneck bandwidth, improves the accuracy and real-time performance of the estimation, optimizes the decision-making efficiency of the transmission control algorithm, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121125576A_ABST
    Figure CN121125576A_ABST
Patent Text Reader

Abstract

The invention provides a bottleneck bandwidth determination method and device and related equipment, and relates to the technical field of computers. The method comprises the steps of obtaining network statistical information according to a data packet received in a first historical statistical time window corresponding to a current moment; determining a congestion gradient corresponding to the current moment according to the network statistical information; in response to the condition that the congestion gradient corresponding to the current moment is greater than a preset congestion gradient threshold value, starting short-time window rate detection to obtain a rate detection result; and determining the bottleneck bandwidth corresponding to the current moment according to the rate detection result and the network state information corresponding to the current moment. According to the method, adaptive estimation of the bottleneck bandwidth can be realized, the accuracy and the real-time performance of bottleneck bandwidth estimation are ensured, the decision-making efficiency of a transmission control algorithm is optimized, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer, and particularly relates to a bottleneck bandwidth determination method, a bottleneck bandwidth determination device, an electronic device, a computer readable storage medium and a computer program product. BACKGROUND

[0002] The bandwidth resource of a network is limited, and the accuracy and real-time performance of bottleneck bandwidth estimation directly affect the performance of a transmission control algorithm, and further affect user experience, especially in a transmission scenario with high latency requirement. In the related art, a fixed length time window is used to statistically analyze a data receiving rate, and the data receiving rate is used as a basis for bottleneck bandwidth estimation, and further used to guide a sending rate.

[0003] However, the estimation method based on the fixed length time window has the following problems when facing a dynamically changing network environment: if a short time window is used for bottleneck bandwidth estimation, the network noise and traffic strategy interference easily affect the accuracy of bandwidth statistics; if a long time window is used for bottleneck bandwidth estimation, the response speed to bandwidth changes is reduced. SUMMARY

[0004] The present disclosure provides a bottleneck bandwidth determination method, a bottleneck bandwidth determination device, an electronic device, a computer readable storage medium and a computer program product to overcome the above problems or at least partially solve the above problems.

[0005] The present disclosure provides a bottleneck bandwidth determination method, which comprises: obtaining network statistical information according to data packets received in a first historical statistical time window corresponding to a current time; determining a congestion gradient corresponding to the current time according to the network statistical information; in response to the congestion gradient corresponding to the current time being greater than a preset congestion gradient threshold, starting short time window rate detection to obtain a rate detection result; and determining a bottleneck bandwidth corresponding to the current time according to the rate detection result and network state information corresponding to the current time.

[0006] In an exemplary embodiment of the present disclosure, the response to the congestion gradient corresponding to the current time being greater than the preset congestion gradient threshold, the starting of the short time window rate detection, and the obtaining of the rate detection result comprises: in response to the congestion gradient corresponding to the current time being greater than the preset congestion gradient threshold, using the current time as a starting time of a short time window, statistically analyzing received data packets until a preset ending condition is met, obtaining the statistical data packets and an ending time of the short time window; determining a data receiving rate corresponding to the short time window according to a total data amount of the statistical data packets and a time interval between the starting time and the ending time, and using the data receiving rate as the rate detection result.

[0007] In an example embodiment of the present disclosure, the preset ending condition comprises at least one of the following: a packet quantity counted from the starting time reaches a preset quantity threshold, and a time interval between a receiving time of a last received packet from the starting time and the starting time reaches a preset time threshold.

[0008] In an example embodiment of the present disclosure, the determining the bottleneck bandwidth corresponding to the current time according to the rate detection result and the network state information corresponding to the current time comprises: determining the network state information corresponding to the current time; in response to the network state information corresponding to the current time being a stable state, taking the rate detection result as a bottleneck bandwidth estimation value corresponding to the current time; in response to the network state information corresponding to the current time being an unstable state, determining the bottleneck bandwidth corresponding to the current time according to the rate detection result and a long-time window transmission rate corresponding to the current time.

[0009] In an example embodiment of the present disclosure, the determining the network state information corresponding to the current time comprises: determining a delay jitter value corresponding to the current time and a random packet loss value corresponding to the current time according to the network statistical information; in response to a sum of the delay jitter value and the random packet loss value being less than a preset network state threshold, determining that the network state information corresponding to the current time is a stable state; in response to the sum of the delay jitter value and the random packet loss value being greater than or equal to the preset network state threshold, determining that the network state information corresponding to the current time is an unstable state.

[0010] In an example embodiment of the present disclosure, the determining the bottleneck bandwidth corresponding to the current time according to the rate detection result and the long-time window transmission rate corresponding to the current time comprises: determining a larger value of the rate detection result and the long-time window transmission rate corresponding to the current time; taking the larger value as a bottleneck bandwidth estimation value corresponding to the current time.

[0011] In an example embodiment of the present disclosure, the method further comprises: determining a long-time window transmission rate corresponding to the current time according to packets received in a second historical statistical time window corresponding to the current time; wherein a time length of the second historical statistical time window is greater than a time length of the short-time window; the time length of the second historical statistical time window is the same as the time length of the first historical statistical time window, or the time length of the second historical statistical time window is different from the time length of the first historical statistical time window.

[0012] In an example embodiment of the present disclosure, the network statistics information comprises one or more of the following: a data packet transmission delay corresponding to the current time, a packet loss rate within a first historical statistics time window corresponding to the current time, and a data receiving rate within the first historical statistics time window corresponding to the current time.

[0013] An example bottleneck bandwidth determination apparatus is provided in an embodiment of the present disclosure, which comprises: a network statistics information obtaining module configured to obtain network statistics information according to data packets received within a first historical statistics time window corresponding to a current time; a congestion gradient determination module configured to determine a congestion gradient corresponding to the current time according to the network statistics information; and a bottleneck bandwidth determination module configured to, in response to the congestion gradient corresponding to the current time being greater than a preset congestion gradient threshold, initiate a short time window rate detection to obtain a rate detection result, and determine a bottleneck bandwidth corresponding to the current time according to the rate detection result and network state information corresponding to the current time.

[0014] In an example embodiment of the present disclosure, the bottleneck bandwidth determination module is further configured to, in response to the congestion gradient corresponding to the current time being greater than the preset congestion gradient threshold, perform statistics on received data packets with the current time as a starting time of a short time window until a preset ending condition is met to obtain a total data amount of the data packets and an ending time of the short time window, and determine a data receiving rate corresponding to the short time window according to the total data amount and a time interval between the starting time and the ending time, and take the data receiving rate as the rate detection result.

[0015] In an example embodiment of the present disclosure, the preset ending condition comprises at least one of the following: a number of data packets counted from the starting time reaches a preset number threshold, and a time interval between a receiving time of a last received data packet from the starting time and the starting time reaches a preset time threshold.

[0016] In an example embodiment of the present disclosure, the bottleneck bandwidth determination module is further configured to determine network state information corresponding to the current time, take the rate detection result as a bottleneck bandwidth estimation value corresponding to the current time in response to the network state information corresponding to the current time being a stable state, and determine a bottleneck bandwidth corresponding to the current time according to the rate detection result and a long time window transmission rate corresponding to the current time in response to the network state information corresponding to the current time being an unstable state.

[0017] In an example embodiment of the present disclosure, the bottleneck bandwidth determination module is further configured to: determine a delay jitter value corresponding to the current time and a random packet loss value corresponding to the current time according to the network statistical information; determine that the network state information corresponding to the current time is in a stable state in response to a sum of the delay jitter value and the random packet loss value being less than a preset network state threshold; and determine that the network state information corresponding to the current time is in an unstable state in response to the sum of the delay jitter value and the random packet loss value being greater than or equal to the preset network state threshold.

[0018] In an example embodiment of the present disclosure, the bottleneck bandwidth determination module is further configured to: determine a larger value of the rate detection result and a long-time window transmission rate corresponding to the current time; and take the larger value as a bottleneck bandwidth estimation value corresponding to the current time.

[0019] In an example embodiment of the present disclosure, the network statistical information acquisition module is further configured to: determine a long-time window transmission rate corresponding to the current time according to data packets received within a second historical statistical time window corresponding to the current time; wherein a time length of the second historical statistical time window is greater than a time length of the short-time window; and the time length of the second historical statistical time window is the same as or different from the time length of the first historical statistical time window.

[0020] In an example embodiment of the present disclosure, the network statistical information includes one or more of the following options: a data packet transmission delay corresponding to the current time, a packet loss rate within a first historical statistical time window corresponding to the current time, and a data reception rate within the first historical statistical time window corresponding to the current time.

[0021] An electronic device is provided in an example embodiment of the present disclosure, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute the executable instructions to implement the bottleneck bandwidth determination method described above.

[0022] A computer-readable storage medium is provided in an example embodiment of the present disclosure, which, when instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform the bottleneck bandwidth determination method described above.

[0023] A computer program product is provided in an example embodiment of the present disclosure, including a computer program, which, when executed by a processor, implements the bottleneck bandwidth determination method described above.

[0024] The bottleneck bandwidth determination method provided by the embodiment of the present disclosure obtains network statistical information based on data packets in a first historical time window, and determines a congestion gradient corresponding to a current moment according to the network statistical information; when the congestion gradient exceeds a preset congestion gradient threshold, a short time window rate detection mechanism is triggered to quickly capture transient rate characteristics and obtain a high timeliness rate detection result; and then the bottleneck bandwidth corresponding to the current moment is estimated by combining the result with network state information of the current moment. It can be seen that the method can realize adaptive estimation of the bottleneck bandwidth, solve the problem that the estimation method based on a fixed length time window in the related art cannot balance the accuracy and response speed in a dynamic network environment, ensure the accuracy and real-time performance of bottleneck bandwidth estimation, optimize the decision efficiency of a transmission control algorithm, improve user experience, and is suitable for transmission scenarios with high delay requirements.

[0025] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and are not limiting to the present disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0026] The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained according to these drawings without creative labor for those skilled in the art.

[0027] Figure 1 is a flowchart of a bottleneck bandwidth determination method according to an exemplary embodiment of the present disclosure;

[0028] Figure 2 is a flowchart of a short time window detection according to an exemplary embodiment of the present disclosure;

[0029] Figure 3 is a timing diagram of data packet transmission according to an exemplary embodiment of the present disclosure;

[0030] Figure 4 is a flowchart of determining a bottleneck bandwidth corresponding to a current moment according to a rate detection result and network state information of the current moment according to an exemplary embodiment of the present disclosure;

[0031] Figure 5 is a flowchart of a bottleneck bandwidth determination method according to a specific embodiment of the present disclosure;

[0032] Figure 6 is a block diagram of a bottleneck bandwidth determination device according to an exemplary embodiment of the present disclosure;

[0033] Figure 7FIG. 1 is a structural schematic diagram of an electronic device according to an example embodiment of the present disclosure. DETAILED DESCRIPTION

[0034] Example embodiments now will be described more fully hereinafter with reference to the accompanying drawings. Example embodiments, may, however, be implemented in many different forms and should not be construed as limited to the implementations set forth herein; rather, these implementations are provided as non-limiting examples so that this disclosure will fully convey the scope of the example embodiments to those skilled in the art. Like numbers refer to like elements throughout the description of the figures.

[0035] The features, structures, or characteristics described in connection with the present disclosure can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the present disclosure. One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the present disclosure.

[0036] The collection, collection, update, analysis, processing, use, transmission, storage, etc. of user personal information involved in the present disclosure comply with relevant laws and regulations, are used for legal purposes, and do not violate public order and good customs. Necessary measures are taken for user personal information to prevent illegal access to user personal information data, and to maintain user personal information security, network security and national security.

[0037] The accompanying drawings are merely schematic and are not necessarily drawn to scale. Like numerals refer to like components throughout the specification. The flowchart illustrations shown in the drawings should not be construed as necessarily requiring their steps to be executed in the order shown. Some steps can be combined, some steps can be split into sub-steps, and the order of execution can be changed, all to be considered ordinary skill in the art.

[0038] The flowchart illustrations shown in the drawings should not be construed as necessarily requiring their steps to be executed in the order shown. Some steps can be combined, some steps can be split into sub-steps, and the order of execution can be changed, all to be considered ordinary skill in the art.

[0039] In this specification, the terms "one", "a", "an", "said", and "the" are used to indicate the presence of at least one element / component / etc.; the term "plural" means two or more; the terms "comprising", "including" and "having" are used to indicate an open-ended inclusion of elements / components / etc. in the resulting product or process; and the terms "first", "second", and "third" etc. are merely used to identify the objects, not to limit the number thereof.

[0040] In related technologies, a fixed-length time window is used to statistically analyze the data receiving rate, and the bottleneck bandwidth estimation is based on this, and then the sending rate is guided. For example, the algorithm represented by GCC (Google Congestion Control) uses a time window of about 100 ms to statistically analyze the receiving rate, and obtains the final bottleneck bandwidth estimation result through weighted smoothing and other processing methods. However, since this method relies on a large time window for statistics, when facing a bandwidth rapidly changing scene, its sensitivity to bandwidth changes is low, and the response speed is slow, which is difficult to meet the transmission demand with high real-time requirement. For example, the algorithms represented by BBR (Bottleneck Bandwidth and Round-trip propagation time) and SQP (Streaming Quality Protocol) use a small time window for rate detection and statistics, and then obtain the final bottleneck bandwidth estimation result through certain rule processing (such as the maximum value or weighted smoothing in the recent period of time). However, this method relies on detection, and cannot work effectively in application-limited situations, and at the same time, the small statistical window is also susceptible to network noise, network traffic strategy interference, affecting the accuracy of bandwidth statistics.

[0041] To solve the above problems, the disclosure embodiment provides a bottleneck bandwidth determination method, a bottleneck bandwidth determination device, an electronic device, a computer readable storage medium and a computer program product.

[0042] Figure 1This is a flowchart illustrating a bottleneck bandwidth determination method according to an exemplary embodiment of this disclosure. This bottleneck bandwidth determination method can be used in computer devices, including mobile terminal devices such as mobile phones, tablets, laptops, handheld computers, and personal digital assistants (PDAs), as well as fixed terminal devices such as desktop computers. This exemplary embodiment illustrates the application of this method to computer devices; it is understood that the method can also be applied to servers, and further to systems including computer devices and servers, and implemented through the interaction between the computer devices and the server. Figure 1 As shown, the bottleneck bandwidth determination method may include the following steps.

[0043] Step S110: Obtain network statistics information based on the data packets received within the first historical statistical time window corresponding to the current time.

[0044] Step S120: Determine the congestion gradient corresponding to the current moment based on network statistics.

[0045] Step S130: In response to the congestion gradient corresponding to the current time being greater than the preset congestion gradient threshold, short-time window rate detection is initiated to obtain the rate detection result.

[0046] Step S140: Determine the bottleneck bandwidth at the current moment based on the rate detection results and the network status information at the current moment.

[0047] According to the bottleneck bandwidth determination method in this disclosure, network statistics are obtained based on data packets within a first historical time window, and the congestion gradient corresponding to the current moment is determined based on the network statistics. When the congestion gradient exceeds a preset congestion gradient threshold, a short-time-window rate detection mechanism is triggered to quickly capture instantaneous rate characteristics and obtain a highly timely rate detection result. Then, the bottleneck bandwidth corresponding to the current moment is estimated by combining the result with the network state information at the current moment. It is evident that this method can achieve adaptive estimation of bottleneck bandwidth, solving the problem of balancing accuracy and response speed in dynamic network environments faced by estimation methods based on fixed-length time windows in related technologies. This ensures the accuracy and real-time performance of bottleneck bandwidth estimation, optimizes the decision-making efficiency of transmission control algorithms, improves user experience, and is suitable for transmission scenarios with high latency requirements. Furthermore, this method does not rely on probe triggering and can work even under application-constrained conditions.

[0048] The bottleneck bandwidth determination method in this example implementation will be further explained below.

[0049] In step S110, network statistics information is obtained based on the data packets received within the first historical statistical time window corresponding to the current time.

[0050] In one exemplary embodiment of this disclosure, network statistics include one or more of the following options: data packet transmission latency at the current time, packet loss rate within the first historical statistical time window at the current time, and data reception rate within the first historical statistical time window at the current time.

[0051] In this example implementation, the current time T i The corresponding first historical statistical time window refers to the time window that includes the current time T. i Including from the current time T i The statistical time window corresponding to the preceding statistical period. Current time T. i The data packets received within the corresponding first historical statistical time window may include those from the current time T. i Starting with the data packets received within the statistical time window corresponding to the previous statistical time period, including the current time T. i Received data packets. For example, the first historical statistics time window can be set to 200ms, then data from the current time T is retrieved. i Start to T i Data packets received within the previous 200ms.

[0052] In this example implementation, the current time T can be used as a reference. i Calculate the current time T based on the received data packet transmission and reception information. i The corresponding data packet transmission delay d i ; can be based on the current time T i Starting from the statistical time window corresponding to the previous statistical time period, the data packet transmission and reception information is collected, and statistics such as packet loss rate and data reception rate are performed to obtain the current time T. i The corresponding packet loss rate I within the first historical statistical time window i and data reception rate R i .

[0053] By obtaining the current time T i The corresponding data packet transmission delay d i Current time T i The corresponding packet loss rate I within the first historical statistical time window i and data reception rate R i These network statistics provide insights into network status and performance, which can then be used to determine the current time T. i The corresponding congestion gradient G i This provides a basis for bottleneck bandwidth estimation.

[0054] In step S120, the congestion gradient corresponding to the current moment is determined based on network statistics.

[0055] In this example implementation, the current time T can be used. i The network statistics within the corresponding first historical statistical time window are used to determine the current time T. i The network jitter situation is updated, and the current time T is updated. i The corresponding link delay and link packet loss rate are used to calculate the current time T. i The corresponding congestion gradient G i .

[0056] In one possible implementation, the current time T can be determined by the following steps: i The corresponding congestion gradient G i According to the current time T i Within the corresponding first historical statistical time window, network statistics are obtained from the received data packets. Based on these statistics, it is determined whether network jitter exists; if so, the link latency and link packet loss rate are updated. Based on these statistics, it is determined whether latency jitter exists; if so, the link latency is updated again. Finally, based on the link latency and the transmission latency d in the network statistics... i Calculate the delay gradient; determine if random packet loss exists based on the network statistics; if so, update the link packet loss rate again; and then use the link packet loss rate and the packet loss rate I in the network statistics to determine the optimal network packet loss rate. i Calculate the packet loss gradient; obtain the congestion gradient G based on the delay gradient and the packet loss gradient. i .

[0057] In step S130, in response to the congestion gradient corresponding to the current time being greater than the preset congestion gradient threshold, short-time window rate detection is initiated to obtain the rate detection result.

[0058] In this example implementation, after obtaining the current time T i The corresponding congestion gradient G i Then, if the current time T is detected i The corresponding congestion gradient G i If the congestion gradient exceeds a preset threshold, a short-time window rate detection process is initiated to more accurately assess the network state and determine the current time T based on the rate detection results. i The corresponding bottleneck bandwidth R bottle-neck The preset congestion gradient threshold can be congestion_threshold*0.25. The value of congestion_threshold can be set based on experience or application scenario, and this disclosure does not limit it.

[0059] In this example implementation, the short time window can be understood as a time interval used to quickly statistically analyze network data reception. The duration of this window is relatively short, for example, less than 10 μs, and it is designed to capture sudden changes in network status within a short period of time, providing more real-time and accurate feedback for bottleneck bandwidth estimation.

[0060] The short time window can also be called a small window, inspection window, detection window, instantaneous window, etc., and the short time window rate detection can also be called small window rate detection, detection window rate detection, detection window rate detection, instantaneous rate estimation, etc. This disclosure does not limit it.

[0061] Figure 2 This is a flowchart illustrating short-time window rate detection according to an exemplary embodiment of this disclosure. For example... Figure 2 As shown, the steps may include the following.

[0062] Step S201: In response to the congestion gradient corresponding to the current time being greater than the preset congestion gradient threshold, the current time is used as the start time of the short time window, and the received data packets are counted until the preset end condition is met, so as to obtain the counted data packets and the end time of the short time window.

[0063] In one exemplary embodiment of this disclosure, the preset termination condition includes at least one of the following: the number of data packets counted since the start time reaches a preset number threshold, and the time interval between the reception time of the last received data packet since the start time and the start time reaches a preset time threshold.

[0064] In this example implementation, if the current time T i The corresponding congestion gradient G i If the current time T is greater than the preset congestion gradient threshold, then the current time T will be... i The time T is the starting point for statistical analysis of received data packets, i.e., the current time T. i Upon receiving the i-th data packet, mark it as the start of the short time window, and perform statistics on the data packets received after the i-th data packet. For each data packet received, perform the following judgment:

[0065] (1) Determine whether the cumulative number of data packets k received after the i-th data packet is greater than the preset number threshold α;

[0066] (2) Determine the reception time of the received data packet and the current time T. i The time interval D between recv Is it greater than the preset time threshold β?

[0067] When any of the above conditions is satisfied, that is, when k > α or Drecv If the value is greater than β, then the statistical process of the short time window is determined to be over, and the data packets received within the short time window and the end time of the short time window are recorded.

[0068] Step S202: Based on the total amount of data packets and the time interval between the start time and the end time, determine the data receiving rate corresponding to the short time window, and use the data receiving rate as the rate detection result.

[0069] In this example implementation, the time interval between the start time and the end time of the short time window is D. recv Obtain the total data volume B of the data packets counted within a short time window. recv Calculate the data reception rate R corresponding to the short time window. recv =B recv / D recv The data receiving rate R recv As a result of rate detection.

[0070] Figure 3 This is a timing diagram illustrating data packet transmission according to an exemplary embodiment of the present disclosure. Figure 3 In the middle, d i Let d represent the transmission delay of the i-th data packet. i+k D represents the transmission delay of the (i+k)th data packet. recv B represents the time interval between the reception time of the (i+k)th data packet and the reception time of the ith data packet. recv G represents the cumulative amount of data received from the i-th data packet to the (i+k)-th data packet. i This represents the congestion gradient calculated when the i-th data packet is received. When the i-th data packet is received, the congestion gradient G is detected. i If the congestion gradient threshold is exceeded, the i-th data packet is marked as the start time of the short time window. Subsequent received data packets are then evaluated. When the (i+k)-th data packet is received, k > α or D is satisfied. recv If the value is greater than β, then mark the end time of the short time window and calculate the data reception rate R within the short time window. recv =B recv / D recv .

[0071] Through the above steps, at the current time T i The corresponding congestion gradient G i When the congestion gradient exceeds a preset threshold, short-time window rate detection is initiated. This allows for rapid detection of network bandwidth changes, enabling dynamic perception and response to network conditions. In response to initiating short-time window rate detection, the current time T... iThe short time window is used as the start time. Data packets received after this time are counted, and the number of received data packets is determined by whether the cumulative number of received data packets reaches a preset threshold α, or by comparing the reception time of the latest received data packet with the start time T. i The end time of the short time window is determined by whether the interval between them exceeds a preset time threshold β. Then, the data reception rate R within the short time window is calculated based on the statistical data within the short time window. recv The data reception rate R recv It can more accurately reflect the actual throughput capacity of the current network, and subsequently utilize this data reception rate R recv Determine the current time T i The corresponding bottleneck bandwidth R bottle-neck This improves the accuracy of bottleneck bandwidth estimation and combines the length of the short time window with two dimensions: the number of data packets and the time interval. It has good flexibility and adaptability and can work stably under different network load conditions.

[0072] In step S140, the bottleneck bandwidth corresponding to the current moment is determined based on the rate detection result and the network status information corresponding to the current moment.

[0073] In this example implementation, the current time T i The corresponding network state information reflects the noise level in the current network environment. If the network state information indicates a stable state, the noise is considered low, and the rate detection result is highly reliable; if the network state information indicates an unstable state, the noise is considered high, and the rate detection result is easily affected by interference. After obtaining the rate detection result by initiating the short-time window rate detection process, this rate detection result is combined with the current time T. i The corresponding network state information determines the current time T. i The corresponding bottleneck bandwidth R bottle-neck This allows for the suppression of misjudgments in high-noise environments and rapid response in low-noise environments, achieving robust and adaptive estimation of bottleneck bandwidth.

[0074] Figure 4 This is a flowchart illustrating, according to an exemplary embodiment of this disclosure, the determination of the bottleneck bandwidth at the current moment based on rate detection results and network state information at the current moment. For example... Figure 4 As shown, the steps may include the following.

[0075] Step S401: Determine the network status information corresponding to the current moment.

[0076] In one exemplary embodiment of this disclosure, determining the network state information corresponding to the current moment includes: determining the latency jitter value and the random packet loss value corresponding to the current moment based on network statistics; determining the network state information corresponding to the current moment as a stable state in response to the sum of the latency jitter value and the random packet loss value being less than a preset network state threshold; and determining the network state information corresponding to the current moment as an unstable state in response to the sum of the latency jitter value and the random packet loss value being greater than or equal to the preset network state threshold.

[0077] In this example implementation, the current time T i The corresponding network state information reflects the noise level in the current network environment. If the network state information indicates a stable state, the noise is considered low; if the network state information indicates an unstable state, the noise is considered high. Noise can be understood as various unpredictable factors that may affect the quality, stability, and efficiency of data transmission, such as latency jitter and random packet loss. This noise can be represented by the noise level at the current time T. i The corresponding delay jitter value N and random packet loss value L are used to evaluate the noise level in the current network environment, i.e., the current time T. i The corresponding network status information.

[0078] Latency jitter can be understood as the degree of variation in the time required for a data packet to travel from transmission to reception. High latency jitter indicates unstable network conditions, which may be caused by routing changes, congestion, or other dynamic factors. Random packet loss can be understood as the loss of data packets during network transmission due to reasons other than congestion.

[0079] In this example implementation, the current time T is calculated based on network statistics. i The corresponding congestion gradient G i During the process, the current time T can be calculated. i The corresponding delay jitter value N and random packet loss value L. If the sum of the delay jitter value N and the random packet loss value L (N+L) is less than the preset network state threshold γ, then the noise in the current network environment is considered small, i.e., at the current time T... i The corresponding network state information is considered to be in a stable state; otherwise, it is considered that the noise in the current network environment is high, i.e., at the current time T... i The corresponding network status information indicates an unstable state.

[0080] By following the steps above, the current time T is calculated. i The corresponding congestion gradient G i The process calculates the delay jitter value N and the random packet loss value L, and determines the network status information based on the comparison between the sum of these two values ​​(N+L) and the preset network status threshold γ. This can accurately reflect the noise level in the current network environment and provides a fast and accurate method to judge the network status.

[0081] Step S402: In response to the network state information corresponding to the current moment being in a stable state, the rate detection result is used as the bottleneck bandwidth estimate corresponding to the current moment.

[0082] In this example implementation, if the current time T is detected... i When the network is stable, the transmission rate within a short time window can well represent the actual available network bandwidth. Therefore, the data reception rate R within the short time window can be used directly. recv As for the current time T i The corresponding bottleneck bandwidth estimate.

[0083] Step S403: In response to the network status information corresponding to the current moment being in an unstable state, determine the bottleneck bandwidth corresponding to the current moment based on the rate detection result and the long-term window transmission rate corresponding to the current moment.

[0084] In this example implementation, if the current time T is detected... i The network is in an unstable state, relying only on the data reception rate R within a short time window. recv It may not accurately reflect the true bottleneck bandwidth, so a long window transmission rate was introduced. It is calculated based on the data packet transmission and reception information within a long window (i.e., a longer time range than a short window) and can provide a more stable reference value.

[0085] In one exemplary embodiment of this disclosure, the bottleneck bandwidth determination method further includes: determining the long window transmission rate corresponding to the current moment based on the data packets received within the second historical statistical time window corresponding to the current moment. The length of the second historical statistical time window is greater than the length of the short time window; the length of the second historical statistical time window is the same as the length of the first historical statistical time window, or the length of the second historical statistical time window is different from the length of the first historical statistical time window.

[0086] In this example implementation, the current time T i The corresponding second historical statistical time window refers to the window that includes the current time T. i Including from the current time T i A statistical period preceding the start of the timeframe is used to calculate the transmission rate over a long window. For example, the second historical statistical time window can be set to 100ms, thus obtaining the transmission rate from the current time T. i Start to T i Based on the data packets received within the previous 100ms, and the data volume of these packets, and the second historical statistical time window, the average transmission rate within that window is calculated, i.e., the current time T. iThe corresponding long-term window transmission rate.

[0087] The second historical statistical time window is longer than the short time window. The short time window is used to capture instantaneous bandwidth changes, and the calculated data reception rate R within the short time window is... recv It can reflect the real-time transmission capacity of the current network and is suitable for detecting sudden congestion or bandwidth fluctuations. The second historical statistical time window is used to statistically analyze the received data packets over a long period of time. The calculated long-term window transmission rate can smooth out short-term noise interference and transient fluctuations.

[0088] Furthermore, at the current time T i The corresponding first historical statistical time window also refers to the window that includes the current time T. i Including from the current time T i The statistical period begins by moving forward, but the first historical statistical time window is used to determine the data packet transmission delay d. i This disclosure allows for the setting of a first historical statistical time window with the same duration as a second historical statistical time window, or the setting of a first historical statistical time window with a different duration than a second historical statistical time window.

[0089] A second historical statistical time window is introduced to calculate the current time T. i The corresponding long-term window transmission rate is defined to have a duration longer than that of the short-term window, so that the calculated long-term window transmission rate can smooth out short-term noise interference and transient fluctuations; and the duration of the second historical statistical time window can be the same as or different from that of the first historical statistical time window, which enhances the flexibility of the time scale and allows data statistics for different periods to be optimized for different purposes.

[0090] In one exemplary embodiment of this disclosure, determining the bottleneck bandwidth corresponding to the current moment based on the rate detection result and the long-term window transmission rate corresponding to the current moment includes: determining the larger value between the rate detection result and the long-term window transmission rate corresponding to the current moment; and using the larger value as the estimated bottleneck bandwidth corresponding to the current moment.

[0091] In this example implementation, the current time T is detected. i The corresponding congestion gradient G i If the data reception rate exceeds the preset congestion gradient threshold, a short-time window rate detection process is initiated to obtain the data reception rate R within the short-time window. recv And this data reception rate is used as the rate detection result. Furthermore, if the current time T is detected... iThe corresponding network state information is unstable. In this case, the rate detection result and the current time T can be selected. i The larger value among the corresponding long-time window transmission rates is used as the current time T. i The corresponding bottleneck bandwidth R bottle-neck .

[0092] At the current time T i In unstable network conditions, the larger value between the rate detection result and the transmission rate over a long window is selected as the bottleneck bandwidth estimate. This takes into account both instantaneous bandwidth changes and long-term trends, and avoids underestimating the bandwidth due to short-term network noise or sudden interference.

[0093] By employing the above steps, different bottleneck bandwidth assessment methods are used under different network conditions. In stable network conditions, the rate detection results of a short time window are directly used as the bottleneck bandwidth estimate. In unstable network conditions, the transmission rate of a long time window is combined for comprehensive judgment, which improves the accuracy of bottleneck bandwidth estimation, effectively copes with complex and ever-changing network environments, enhances the adaptability to changes in network conditions, and thus optimizes data transmission performance.

[0094] In this example implementation, after obtaining the current time T i The corresponding congestion gradient G i Then, if the current time T is detected i The corresponding congestion gradient G i If the value is less than or equal to the preset congestion gradient threshold, it means that the current time T... i No network congestion has occurred; in this case, it is not necessary to determine the current time T. i The corresponding bottleneck bandwidth estimate.

[0095] Figure 5 This is a flowchart illustrating a bottleneck bandwidth determination method according to a specific embodiment of this disclosure. For example... Figure 5 As shown, the steps may include the following.

[0096] Step S501: Obtain network statistics information based on the data packets received within the first historical statistical time window corresponding to the current time.

[0097] Wherein, the current time T i The corresponding first historical statistical time window refers to the time window that includes the current time T. i Including from the current time T i The statistical time window corresponding to the preceding statistical period can include the current time T. i The corresponding data packet transmission delay d i Current time T i The corresponding packet loss rate I within the first historical statistical time windowi and data reception rate R i .

[0098] Step S502: Determine the congestion gradient corresponding to the current moment based on network statistics.

[0099] At the current time T i The network statistics within the corresponding first historical statistical time window are used to determine the current time T. i The network jitter situation is updated, and the current time T is updated. i The corresponding link delay and link packet loss rate are used to calculate the current time T. i The corresponding congestion gradient G i .

[0100] Step S503: Determine whether the congestion gradient at the current time is greater than the preset congestion gradient threshold. If yes, proceed to step S504; otherwise, proceed to step S508.

[0101] The preset congestion gradient threshold can be congestion_threshold*0.25.

[0102] Step S504: Using the current time as the start time of the short time window, count the received data packets until the preset end condition is met, and obtain the counted data packets and the end time of the short time window.

[0103] The preset termination conditions include at least one of the following: the number of data packets counted since the start time reaches a preset number threshold, and the time interval between the reception time of the last received data packet since the start time and the start time reaches a preset time threshold.

[0104] If the current time T i The corresponding congestion gradient G i If the current time T is greater than the preset congestion gradient threshold, then the current time T will be... i The time T is the starting point for statistical analysis of received data packets, i.e., the current time T. i Upon receiving the i-th data packet, mark it as the start of the short time window, and perform statistics on the data packets received after the i-th data packet. For each data packet received, perform the following judgment:

[0105] (1) Determine whether the cumulative number of data packets k received after the i-th data packet is greater than the preset number threshold α;

[0106] (2) Determine the reception time of the received data packet and the current time T. i The time interval D between recv Is it greater than the preset time threshold β?

[0107] When any of the above conditions is satisfied, that is, when k > α or D recv If the value is greater than β, then the statistical process of the short time window is determined to be over, and the data packets received within the short time window and the end time of the short time window are recorded.

[0108] Step S505: Based on the total amount of data packets and the time interval between the start time and the end time, determine the data receiving rate corresponding to the short time window, and use the data receiving rate as the rate detection result.

[0109] The time interval between the start time and the end time of the short time window is D. recv Obtain the total data volume B of the data packets counted within a short time window. recv Calculate the data reception rate R corresponding to the short time window. recv =B recv / D recv The data receiving rate R recv As a result of rate detection.

[0110] Step S506: If the network state information at the current moment is in a stable state, then the rate detection result is used as the estimated bottleneck bandwidth value at the current moment.

[0111] Current time T i The corresponding network state information can be obtained through the following process: Calculate the current time T based on network statistics. i The corresponding congestion gradient G i During the process, calculate the current time T i The corresponding delay jitter value N and random packet loss value L; if the sum of the delay jitter value N and the random packet loss value L (N+L) is less than the preset network state threshold γ, then the noise in the current network environment is considered small, that is, at the current time T i The corresponding network state information is considered to be in a stable state; otherwise, it is considered that the noise in the current network environment is high, i.e., at the current time T... i The corresponding network status information indicates an unstable state.

[0112] If the current time T is detected i The network is stable, and the data reception rate R within the short time window can be used directly. recv As for the current time T i The corresponding bottleneck bandwidth estimate.

[0113] Step S507: If the network status information at the current moment is unstable, then determine the bottleneck bandwidth at the current moment based on the rate detection result and the long-term window transmission rate at the current moment.

[0114] If the current time T is detected i The network is in an unstable state; you can select the rate detection result and the current time T. i The larger value among the corresponding long-time window transmission rates is used as the current time T. i The corresponding bottleneck bandwidth estimate. The current time T can be obtained using the following procedure. i The corresponding long window transmission rate: based on the current time T i The data packets received within the corresponding second historical statistical time window are used to determine the current time T. i The corresponding long-term window transmission rate. Specifically, the length of the second historical statistical time window is greater than the length of the short time window; the length of the second historical statistical time window is the same as the length of the first historical statistical time window, or the length of the second historical statistical time window is different from the length of the first historical statistical time window.

[0115] Step S508: Determine that no network congestion has occurred at the current time, and there is no need to determine the bottleneck bandwidth corresponding to the current time.

[0116] If the current time T is detected i The corresponding congestion gradient G i If the value is less than or equal to the preset congestion gradient threshold, it means that the current time T... i No network congestion has occurred; in this case, it is not necessary to determine the current time T. i The corresponding bottleneck bandwidth estimate.

[0117] According to the bottleneck bandwidth determination method in this disclosure, adaptive estimation of bottleneck bandwidth can be achieved. The balance between noise immunity and response speed can be adjusted according to network conditions. It can work normally on network links with high packet loss (up to 80%), high latency jitter (up to 2s), and shallow queues (as low as 0ms queuing delay). At the same time, it does not rely on probe triggering and can work under application-limited conditions, ensuring the accuracy and real-time performance of bottleneck bandwidth estimation.

[0118] It is understood that the same / similar parts between the various embodiments of the above methods in this specification can be referred to each other. Each embodiment focuses on the differences from other embodiments, and relevant parts can be referred to the descriptions of other method embodiments.

[0119] Figure 6 This is a block diagram illustrating a bottleneck bandwidth determination apparatus according to an exemplary embodiment of this disclosure. Figure 6 As shown, the device 600 includes a network statistics information acquisition module 610, a congestion gradient determination module 620, and a bottleneck bandwidth determination module 630.

[0120] The network statistics information acquisition module 610 is configured to obtain network statistics information based on the data packets received within the first historical statistical time window corresponding to the current moment. The congestion gradient determination module 620 is configured to determine the congestion gradient corresponding to the current moment based on the network statistics information. The bottleneck bandwidth determination module 630 is configured to: initiate short-time window rate detection in response to the congestion gradient corresponding to the current moment being greater than a preset congestion gradient threshold, obtain the rate detection result, and determine the bottleneck bandwidth corresponding to the current moment based on the rate detection result and the network status information corresponding to the current moment.

[0121] In one exemplary embodiment of this disclosure, the bottleneck bandwidth determination module 630 is further configured to: respond to the congestion gradient corresponding to the current moment being greater than a preset congestion gradient threshold, take the current moment as the start time of a short time window, count the received data packets until a preset end condition is met, and obtain the counted data packets and the end time of the short time window; determine the data receiving rate corresponding to the short time window based on the total data volume of the counted data packets and the time interval between the start time and the end time, and use the data receiving rate as the rate detection result.

[0122] In one exemplary embodiment of this disclosure, the preset termination condition includes at least one of the following: the number of data packets counted since the start time reaches a preset number threshold, and the time interval between the reception time of the last received data packet since the start time and the start time reaches a preset time threshold.

[0123] In one exemplary embodiment of this disclosure, the bottleneck bandwidth determination module 630 is further configured to: determine the network state information corresponding to the current moment; in response to the network state information corresponding to the current moment being in a stable state, use the rate detection result as the bottleneck bandwidth estimate corresponding to the current moment; and in response to the network state information corresponding to the current moment being in an unstable state, determine the bottleneck bandwidth corresponding to the current moment based on the rate detection result and the long-term window transmission rate corresponding to the current moment.

[0124] In one exemplary embodiment of this disclosure, the bottleneck bandwidth determination module 630 is further configured to: determine the latency jitter value and the random packet loss value corresponding to the current moment based on network statistics; determine the network state information corresponding to the current moment as a stable state in response to the sum of the latency jitter value and the random packet loss value being less than a preset network state threshold; and determine the network state information corresponding to the current moment as an unstable state in response to the sum of the latency jitter value and the random packet loss value being greater than or equal to the preset network state threshold.

[0125] In one exemplary embodiment of this disclosure, the bottleneck bandwidth determination module 630 is further configured to: determine the larger value between the rate detection result and the long-term window transmission rate corresponding to the current time; and use the larger value as the bottleneck bandwidth estimate corresponding to the current time.

[0126] In one exemplary embodiment of this disclosure, the network statistics information acquisition module 610 is further configured to: determine the long window transmission rate corresponding to the current time based on the data packets received within the second historical statistics time window corresponding to the current time; wherein the time length of the second historical statistics time window is greater than the time length of the short time window; the time length of the second historical statistics time window is the same as the time length of the first historical statistics time window, or the time length of the second historical statistics time window is different from the time length of the first historical statistics time window.

[0127] In one exemplary embodiment of this disclosure, network statistics include one or more of the following options: data packet transmission latency at the current time, packet loss rate within the first historical statistical time window at the current time, and data reception rate within the first historical statistical time window at the current time.

[0128] Regarding the apparatus in the above embodiments, the specific manner in which each unit performs its operation has been described in detail in the embodiments of the method, and will not be elaborated upon here.

[0129] Figure 7 This is a schematic diagram illustrating the structure of an electronic device according to an exemplary embodiment of this disclosure. It should be noted that... Figure 7 The electronic device 700 shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0130] like Figure 7 As shown, the electronic device 700 is manifested in the form of a general-purpose computing device. The components of the electronic device 700 may include, but are not limited to: at least one processing unit 710, at least one storage unit 720, and a bus 730 connecting different system components (including storage unit 720 and processing unit 710).

[0131] The storage unit stores program code that can be executed by the processing unit 710, causing the processing unit 710 to perform the steps described in the "Exemplary Methods" section above, based on various exemplary embodiments of the present invention. For example, the processing unit 710 can perform actions such as... Figure 1 The steps are shown in the figure.

[0132] Storage unit 720 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 7201 and / or cache memory 7202, and may further include a read-only memory (ROM) 7203.

[0133] The storage unit 720 may also include a program / utility 7204 having a set (at least one) program module 7205, such program module 7205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0134] Bus 730 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0135] Electronic device 700 can also communicate with one or more external devices 800 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 700, and / or with any device that enables electronic device 700 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 750. Furthermore, electronic device 700 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 740. As shown, network adapter 740 communicates with other modules of electronic device 700 via bus 730. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0136] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible embodiments, various aspects of the invention may also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of the invention described in the "Exemplary Methods" section of this specification.

[0137] According to embodiments of the present invention, a program product for implementing the above-described method may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

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

[0139] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0140] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0141] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0142] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0143] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0144] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0145] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.

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

Claims

1. A method for determining bottleneck bandwidth, characterized in that, The method includes: Based on the data packets received within the first historical statistical time window corresponding to the current moment, obtain network statistical information; Based on the network statistics, determine the congestion gradient corresponding to the current moment; In response to the congestion gradient corresponding to the current moment being greater than a preset congestion gradient threshold, a short-time window rate detection is initiated to obtain the rate detection result; Based on the rate detection results and the network status information corresponding to the current moment, the bottleneck bandwidth corresponding to the current moment is determined.

2. The method according to claim 1, characterized in that, The response that the congestion gradient at the current time is greater than a preset congestion gradient threshold initiates short-time window rate detection and obtains rate detection results includes: In response to the congestion gradient corresponding to the current time being greater than the preset congestion gradient threshold, the received data packets are counted using the current time as the start time of the short time window until the preset end condition is met, and the counted data packets and the end time of the short time window are obtained. Based on the total data volume of the statistically analyzed data packets and the time interval between the start time and the end time, the data receiving rate corresponding to the short time window is determined, and the data receiving rate is used as the rate detection result.

3. The method according to claim 2, characterized in that, The preset termination condition includes at least one of the following: the number of data packets counted since the start time reaches a preset number threshold, and the time interval between the reception time of the last received data packet since the start time and the start time reaches a preset time threshold.

4. The method according to claim 1, characterized in that, The step of determining the bottleneck bandwidth corresponding to the current moment based on the rate detection result and the network status information corresponding to the current moment includes: Determine the network status information corresponding to the current moment; In response to the network state information corresponding to the current moment being in a stable state, the rate detection result is used as the bottleneck bandwidth estimate corresponding to the current moment; In response to the network status information corresponding to the current moment being in an unstable state, the bottleneck bandwidth corresponding to the current moment is determined based on the rate detection result and the long-term window transmission rate corresponding to the current moment.

5. The method according to claim 4, characterized in that, Determining the network status information corresponding to the current moment includes: Based on the network statistics, determine the latency jitter value and the random packet loss value corresponding to the current time. In response to the fact that the sum of the delay jitter value and the random packet loss value is less than a preset network state threshold, the network state information corresponding to the current moment is determined to be in a stable state. In response to the fact that the sum of the delay jitter value and the random packet loss value is greater than or equal to the preset network state threshold, the network state information corresponding to the current moment is determined to be in an unstable state.

6. The method according to claim 4, characterized in that, The step of determining the bottleneck bandwidth corresponding to the current moment based on the rate detection result and the long window transmission rate corresponding to the current moment includes: Determine the larger value between the rate detection result and the long-term window transmission rate corresponding to the current time. The larger value is used as the bottleneck bandwidth estimate corresponding to the current moment.

7. The method according to claim 1, characterized in that, The method further includes: The transmission rate of the long window corresponding to the current time is determined based on the data packets received within the second historical statistical time window corresponding to the current time. Wherein, the length of the second historical statistical time window is greater than the length of the short time window; the length of the second historical statistical time window is the same as the length of the first historical statistical time window, or the length of the second historical statistical time window is different from the length of the first historical statistical time window.

8. The method according to claim 1, characterized in that, The network statistics include one or more of the following options: the data packet transmission delay corresponding to the current time, the packet loss rate within the first historical statistical time window corresponding to the current time, and the data reception rate within the first historical statistical time window corresponding to the current time.

9. A bottleneck bandwidth determination device, characterized in that, The device includes: The network statistics information acquisition module is configured to obtain network statistics information based on the data packets received within the first historical statistical time window corresponding to the current time. The congestion gradient determination module is configured to determine the congestion gradient corresponding to the current moment based on the network statistics. The bottleneck bandwidth determination module is configured to initiate short-time window rate detection in response to the congestion gradient corresponding to the current time being greater than a preset congestion gradient threshold, and obtain the rate detection result; and determine the bottleneck bandwidth corresponding to the current time based on the rate detection result and the network state information corresponding to the current time.

10. An electronic device, characterized in that, include: processor; A memory for storing processor-executable instructions; wherein the processor is configured to execute the executable instructions to implement the bottleneck bandwidth determination method as described in any one of claims 1 to 8.

11. A computer-readable storage medium, wherein instructions in the computer-readable storage medium, when executed by a processor of an electronic device, enable the electronic device to perform the bottleneck bandwidth determination method as described in any one of claims 1 to 8.

12. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the bottleneck bandwidth determination method as described in any one of claims 1 to 8.