Bandwidth adjustment method, system and device, electronic equipment and computer storage medium

By receiving status messages from the receiving terminal, the sending rate is identified and adjusted, which solves the stuttering problem caused by packet loss in low-latency live streaming and audio/video calls. It achieves accurate identification and adaptive adjustment of the cause of packet loss, and improves the stability and efficiency of media data transmission.

CN121644472APending Publication Date: 2026-03-10ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-05
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In scenarios such as low-latency live streaming and real-time audio and video calls, when the packet loss rate reaches a certain level, users will experience problems such as video stuttering and audio interruption. Existing bandwidth estimation and adaptive transmission strategies are unable to accurately and quickly identify the actual transmission capacity, affecting the transmission efficiency and integrity of media data.

Method used

By receiving status message information from the receiving terminal, the distribution data of continuous packet loss intervals is identified, and the sending rate is adjusted under preset conditions. The random packet loss model and token bucket rate limiting model are used to distinguish the cause of packet loss, thereby achieving adaptive adjustment of the sending rate.

Benefits of technology

In situations where network latency changes are not significant, accurately identifying concentrated packet loss caused by mechanisms such as token bucket rate limiting can reduce persistent packet loss, improve the stability and integrity of real-time media data transmission, and enhance the media quality and transmission efficiency of live streaming or audio/video calls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121644472A_ABST
    Figure CN121644472A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a bandwidth adjustment method, system and device, electronic equipment and a computer storage medium, and the method comprises the steps: receiving bandwidth detection data transmitted by a first terminal, transmitting the bandwidth detection data to a second terminal based on a target transmission rate, and receiving state message information fed back by the second terminal; determining continuous packet loss interval distribution data corresponding to the preset time window information under the condition that the state message information indicates that a preset speed limit feature triggering condition is met; and adjusting the target sending rate under the condition that the continuous packet loss interval distribution data meets a preset packet loss sudden judgment condition.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present specification relate to the technical field of data transmission, and in particular to a bandwidth adjustment method, system, device, electronic equipment and computer storage medium. BACKGROUND

[0002] In low-latency live streaming and real-time audio and video call scenarios, media data such as audio and video needs to be stably and continuously transmitted between endpoints. However, in actual network environments, different degrees of packet loss may occur during data transmission. When the packet loss rate reaches a certain level, users often experience problems such as frame freezing and audio discontinuity, which affects the transmission efficiency and integrity of media data, and also makes it difficult to reflect the actual bandwidth that the current network can bear in a timely manner. In related technologies, the bandwidth estimation and adaptive transmission strategy in such scenarios are difficult to accurately and quickly identify the real transmission capability, resulting in a significant impact on the quality of real-time audio and video transmission. SUMMARY

[0003] Embodiments of the present specification provide a bandwidth adjustment method, system, device, electronic equipment and computer storage medium, which can improve the transmission efficiency and integrity of data. The above technical solution is as follows: In a first aspect, the embodiments of the present specification provide a bandwidth adjustment method, which comprises: receiving bandwidth probe data sent by a first terminal, and sending the bandwidth probe data to a second terminal based on a target sending rate; receiving state message information fed back by the second terminal; in a case where the state message information indicates that a preset speed limiting feature trigger condition is met, determining continuous packet loss interval distribution data corresponding to preset time window information; in a case where the continuous packet loss interval distribution data meets a preset packet loss burstiness determination condition, adjusting the target sending rate.

[0004] In a possible implementation, the method further comprises: analyzing and processing the state message information to obtain performance index information for representing a current network state, the performance index information comprising a packet loss rate, a delay and an average receiving rate; determining whether the state message information indicates that the preset speed limiting feature trigger condition is met according to the performance index information; wherein the preset speed limiting feature trigger condition is that the packet loss rate is greater than a preset packet loss rate threshold, the delay is less than a preset delay threshold, and the average receiving rate is less than a preset average receiving rate threshold.

[0005] In a possible implementation, the preset time window information includes a first preset time window, and the continuous packet loss interval distribution data is used to represent the length and occurrence frequency of the continuous packet loss interval in the first preset time window. The preset packet loss burstiness determination condition is that, in the first preset time window, the proportion of the number of target packet loss intervals to the number of all continuous packet loss intervals is greater than a preset proportion threshold, where the target packet loss interval is a packet loss interval with a continuous packet loss length reaching a preset continuous packet loss quantity threshold.

[0006] In a possible implementation, the preset time window includes a plurality of first preset time windows, and the continuous packet loss interval distribution data is used to represent the length and occurrence frequency of the continuous packet loss interval in each first preset time window in the plurality of first preset time windows. The method further includes: calculating a burstiness index based on the proportion of the target packet loss interval corresponding to each first preset time window included in the preset time window, where the target packet loss interval is a packet loss interval with a continuous packet loss length reaching a preset continuous packet loss quantity threshold; determining whether the burstiness index is greater than a preset burstiness threshold; in a case where the burstiness index is greater than the preset burstiness threshold, determining that the continuous packet loss interval distribution data satisfies a preset packet loss burstiness determination condition.

[0007] In a possible implementation, in a case where the continuous packet loss interval distribution data satisfies the preset packet loss burstiness determination condition, adjusting the target sending rate includes: in a case where the continuous packet loss interval distribution data satisfies the preset packet loss burstiness determination condition, obtaining an average receiving rate in a second preset time window; adjusting the target sending rate according to the average receiving rate.

[0008] In a possible implementation, the method further includes: obtaining a session parameter sample set corresponding to a plurality of historical session samples, where the session parameter sample set includes a plurality of session packet loss rates, a plurality of session delays, and a plurality of session average receiving rates corresponding to the plurality of historical session samples; performing analysis processing on the session parameter sample set based on a preset random packet loss model and a preset token bucket rate limiting packet loss model, to generate a preset packet loss rate threshold, a preset delay threshold, and a preset average receiving rate threshold.

[0009] In a possible implementation, the method further includes: A random packet loss model and a token bucket rate limiting packet loss model are constructed, the random packet loss model is used to describe natural packet loss behavior of the network in a non-congestion case, and the token bucket rate limiting packet loss model is used to describe active packet loss behavior of the network in a case where a token bucket rate limiting strategy is configured; Based on the random packet loss model and the token bucket rate limiting packet loss model, a preset continuous packet loss quantity threshold is determined. Based on the continuous packet loss interval occurrence frequency counted based on the random packet loss model and the token bucket rate limiting packet loss model, a preset proportion threshold is determined. Based on the preset continuous packet loss quantity threshold and the preset proportion threshold, a preset packet loss burstiness determination condition is generated.

[0010] In a possible implementation manner, after the target sending rate is adjusted, the method further includes: The adjusted sending rate is taken as a new target sending rate, and the step of receiving the bandwidth probe data sent by the first terminal and sending the bandwidth probe data to the second terminal based on the target sending rate is performed again.

[0011] In a second aspect, an embodiment of the present specification provides a bandwidth adjustment system, including a server, a first terminal, and a second terminal. The first terminal is configured to send bandwidth probe data to the server. The server is configured to receive the bandwidth probe data sent by the first terminal and send the bandwidth probe data to the second terminal based on a target sending rate. The second terminal is configured to receive the bandwidth probe data sent by the server and feed back state message information to the server. The server is further configured to receive the state message information fed back by the second terminal, determine continuous packet loss interval distribution data corresponding to preset time window information in a case where the state message information indicates that a preset rate limiting feature trigger condition is met, and adjust the target sending rate in a case where the continuous packet loss interval distribution data meets a preset packet loss burstiness determination condition.

[0012] In a third aspect, an embodiment of the present specification provides a bandwidth adjustment apparatus, and the apparatus includes: A sending module is configured to receive bandwidth probe data sent by a first terminal and send the bandwidth probe data to a second terminal based on a target sending rate. A receiving module is configured to receive state message information fed back by the second terminal. A first determining module is configured to determine continuous packet loss interval distribution data corresponding to preset time window information in a case where the state message information indicates that a preset rate limiting feature trigger condition is met. The adjusting module is configured to adjust the target sending rate when the continuous packet loss interval distribution data meets the preset packet loss burst determination condition.

[0013] In a fourth aspect, an electronic device is provided, including a processor and a memory. The memory stores a computer program, and the computer program is adapted to be loaded by the processor and execute the steps of the method provided in the first aspect or any possible implementation manner of the first aspect.

[0014] In a fifth aspect, a computer storage medium is provided, and the computer storage medium stores a plurality of instructions, and the instructions are adapted to be loaded by a processor and execute the steps of the method provided in the first aspect or any possible implementation manner of the first aspect.

[0015] In a sixth aspect, a computer program product containing instructions is provided, and when the computer program product runs on a computer or a processor, the computer or the processor executes the steps of the method provided in the first aspect or any possible implementation manner of the first aspect.

[0016] The embodiments of the present specification receive bandwidth probe data sent by a first terminal through a server, and send the bandwidth probe data to a second terminal based on a target sending rate, and then receive state packet information fed back by the second terminal; and when the state packet information indicates that a preset speed limiting feature trigger condition is met, continuous packet loss interval distribution data corresponding to preset time window information is determined; further, when the continuous packet loss interval distribution data meets a preset packet loss burst determination condition, the target sending rate is adjusted. Therefore, in the case that the network delay changes less obviously, the centralized packet loss behavior caused by the token bucket speed limiting mechanism and the like can be accurately identified through the burst feature of the continuous packet loss interval, so that the sending rate is timely reduced, the sending rate of the first terminal is matched with the actual link bearable bandwidth, the occurrence of persistent packet loss is reduced, the stability and integrity of real-time media data transmission are enhanced, and the media quality and transmission efficiency in the low latency scene such as live broadcast or audio / video call are significantly improved. BRIEF DESCRIPTION OF DRAWINGS

[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present specification, the drawings required to be used in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present specification, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0018] Figure 1 A structural diagram of a bandwidth adjustment system according to an example embodiment of the present specification; Figure 2 A flowchart of a bandwidth adjustment method according to an example embodiment of the present specification; Figure 3 A flowchart of a method for determining a preset speed-limiting feature triggering condition according to an example embodiment of the present specification; Figure 4 A flowchart of a method for determining a preset packet loss burstiness determination condition according to an example embodiment of the present specification; Figure 5 A statistical diagram of a random packet loss model feature according to an example embodiment of the present specification; Figure 6 A statistical diagram of a token bucket speed-limiting packet loss model feature according to an example embodiment of the present specification; Figure 7 A statistical diagram of a token bucket speed-limiting packet loss model feature according to an example embodiment of the present specification; Figure 8 A structural diagram of a bandwidth adjustment system according to an example embodiment of the present specification; Figure 9 A specific flowchart of a bandwidth adjustment method according to an example embodiment of the present specification; Figure 10 A structural diagram of a bandwidth adjustment device according to an example embodiment of the present specification; Figure 11 A structural diagram of an electronic device according to an example embodiment of the present specification. DETAILED DESCRIPTION

[0019] In order to make the features and advantages of the embodiments of the present specification more obvious and easy to understand, the technical solutions in the embodiments of the present specification will be described clearly and completely below with reference to the drawings in the embodiments of the present specification. Obviously, the described embodiments are only part of the embodiments of the present specification, rather than all the embodiments. Based on the embodiments in the present specification, all other embodiments obtained by a person skilled in the art without creative work fall within the scope of protection of the embodiments of the present specification.

[0020] In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those in this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the embodiments in this specification as detailed in the appended claims. Furthermore, in the description of the embodiments in this specification, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; the word "and / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist, for example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Additionally, in the description of the embodiments in this specification, "multiple" refers to two or more.

[0021] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0022] Please see Figure 1 , Figure 1 This is a schematic diagram of the architecture of a bandwidth adjustment system provided in an embodiment of this specification. Figure 1 As shown, the bandwidth adjustment system architecture may include a server 101, a first terminal 102, and a second terminal 103. Server 101 and the first terminal 102, as well as server 101 and the second terminal 103, can be connected via a network. The network serves as the medium for providing communication links and may include various types of wired or wireless communication links. For example, wired communication links may include fiber optic cables, twisted-pair cables, or coaxial cables, while wireless communication links may include Bluetooth communication links, Wireless-Fidelity (Wi-Fi) communication links, or microwave communication links.

[0023] Server 101 can interact with first terminal 102 via a network to receive or send messages to first terminal 102; server 101 can also interact with second terminal 103 via a network to receive or send messages to second terminal 103. The first terminal 102 / second terminal 103 can be hardware or software. When the first terminal 102 / second terminal 103 is hardware, it can be various electronic devices, including but not limited to tablet computers, laptops, and desktop computers. When the first terminal 102 / second terminal 103 is software, it can be installed in the aforementioned electronic devices, and can be implemented as multiple software programs or software modules (e.g., to provide distributed services) or as a single software program or software module; no specific limitation is made here.

[0024] Server 101 can be a server that provides various services. It should be noted that server 101 can be either hardware or software. When server 101 is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When server 101 is software, it can be implemented as multiple software programs or software modules (e.g., used to provide distributed services), or as a single software program or software module; no specific limitations are made here.

[0025] It should be understood that Figure 1 The number of servers 101, first terminals 102 and second terminals 103 in the diagram is only illustrative. Depending on the implementation requirements, there can be any number of devices and terminals.

[0026] Please see Figure 2 , Figure 2 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of this specification. Figure 2 As shown, the bandwidth adjustment method may include at least: S202: Receive the bandwidth probe data sent by the first terminal, and send the bandwidth probe data to the second terminal based on the target transmission rate.

[0027] The first terminal can be a device that actively initiates bandwidth probing and reports the probing data to the network or server. The first terminal may include, but is not limited to: live streaming devices on the broadcaster's client, calling user devices in audio and video calls, sending devices in interactive live streaming scenarios of Media Real-Time Communication (MRTC), mobile phones, personal computers, camera devices, etc.

[0028] In an embodiment, the bandwidth probe data can be a probe media data packet configured by the first terminal at a preset period, which can be used to test the network bandwidth and packet loss condition. Specifically, it can include: small media packet, probe rate information, sequence number for judging packet loss, timestamp for judging delay, etc. The bandwidth probe data can be used to determine whether the current communication link is limited in speed. Taking the MRTC interactive live scene as an example, the bandwidth probe data can be similar to the real video frame structure, which can be used to evaluate the available bandwidth of the anchor end uploaded video in real time.

[0029] Optionally, the target sending rate can be a target rate currently used by the first terminal to send the bandwidth probe data, which can be used to detect whether the network speed limit point is triggered. It can be understood that in the live scene, the target sending rate is close to the anchor video code rate, and if the speed limit is triggered, the upload rate will be reduced to avoid lag.

[0030] Optionally, the second terminal can be a device for receiving bandwidth probe data and packet loss, delay, and receiving rate. The second terminal can include but is not limited to: a server (such as an MRTC cloud service), a peer communication device, a transit node (media server), etc.

[0031] It should be noted that the server device can be a network side device configured on an operator network, a cloud platform, or an edge node, which can be used to perform bandwidth probe data forwarding, state message analysis, and speed limit feature identification functions. The server device can include a token speed limiter, a network node, a traffic scheduling module, a media distribution module, etc. The token speed limiter can be used to discard data streams exceeding the rate limit in the operator network, and the network node can be used to perform data packet forwarding, queue management, and path selection, etc. network operations.

[0032] Exemplarily, in a low-latency live scene, the mobile phone or stream pushing device of the anchor user can be used as the first terminal to collect media data such as audio and video and send bandwidth probe data to the server; the mobile phone, television or player device of the audience user can be used as the second terminal to receive media data forwarded by the server and feed back network status. In an audio / video call scene, the device of the speaking party user can be used as the first terminal to upload real-time audio / video data to the server; the device of the listening or watching party user can be used as the second terminal to receive the call media data issued by the server and report the corresponding state message information.

[0033] S204: receiving the state message information fed back by the second terminal.

[0034] In one embodiment, the status message information can be used to represent the network status of the second terminal when receiving bandwidth probing data or media data, can be generated by the second terminal or the server, and can be fed back to the bandwidth adjustment module.

[0035] Optionally, the status message information can include, but is not limited to, a packet loss rate, i.e., the proportion of the total number of packets that are not received by the receiving end in a specified time window; a delay, i.e., the round-trip or one-way propagation delay of the data packet from the sending end to the receiving end; and an average receiving rate, i.e., the overall rate of the data packets successfully received by the receiving end per unit time.

[0036] In one embodiment, the status message information can be a Real-Time Transport Protocol (RTP) message.

[0037] For example, in a live broadcast or audio / video call, the second terminal can continuously report the link quality seen by the second terminal. For example, the statistics of the probing packets received in 200 ms (milliseconds) are as follows: packet loss rate = 42%, delay = 45 ms, and average receiving rate = 350 kbps (kilobits per second).

[0038] S206: In a case where the above status message information indicates that a preset speed limiting feature trigger condition is met, determine the continuous packet loss interval distribution data corresponding to the preset time window information.

[0039] In one embodiment, the preset speed limiting feature trigger condition is used to determine whether the current link has a speed limiting behavior, that is, whether a token bucket speed limiting feature is present can be determined from three dimensions of packet loss, delay, and receiving rate. For example, the above preset speed limiting feature trigger condition can be that the above packet loss rate is greater than a preset packet loss rate threshold, the above delay is less than a preset delay threshold, and the above average receiving rate is less than a preset average receiving rate threshold.

[0040] Optionally, the preset time window information is used to determine the time range for the continuous packet loss interval statistics, and can include a single time window (such as 2 seconds), or can include multiple windows of different scales (such as 200 ms, 1 s, 2 s, 5 s, etc.).

[0041] The continuous packet loss interval distribution data is used to represent the length (number of continuous packet losses) and occurrence frequency (how many times each interval occurs) of all continuous packet loss intervals in each time window in the preset time window information.

[0042] For example, suppose that within a preset 2-second time window, bandwidth probe data packets are received at a fixed period, resulting in the following probe packet reception sequence: 100010011011000011, where 1 indicates successful reception and 0 indicates packet loss. Based on this sequence, adjacent packet losses can be marked as a continuous packet loss interval. Assuming the sequence is numbered starting from index 1, in the above sequence, if three consecutive 0s appear in the index interval [2,4], a continuous packet loss interval of length 3 can be identified; then, if two consecutive 0s appear in the index interval [6,7], a continuous packet loss interval of length 2 can be identified; then, if two consecutive 0s appear in the index interval [10,10], a continuous packet loss interval of length 1 can be identified; finally, if four consecutive 0s appear in the index interval [13,16], a continuous packet loss interval of length 4 can be identified.

[0043] After identifying the multiple consecutive packet loss intervals, the number of times each consecutive packet loss interval appears within the time window can be counted based on its length. For example, a consecutive packet loss interval of length 1 appears once, a consecutive packet loss interval of length 2 appears once, a consecutive packet loss interval of length 3 appears once, and a consecutive packet loss interval of length 4 also appears once. This yields the distribution data of consecutive packet loss intervals corresponding to the time window, meaning that this distribution data indicates that consecutive packet loss intervals of lengths 1, 2, 3, and 4 all appeared once within this window.

[0044] The aforementioned distribution data of consecutive packet loss intervals can reflect the distribution characteristics of packet loss events within this time window, such as whether there are long consecutive packet loss intervals or whether the frequency of such intervals is too high. By analyzing the length and frequency of consecutive packet loss intervals, it is possible to further identify whether the current packet loss pattern exhibits sudden characteristics, thereby helping to determine whether the link is experiencing concentrated packet loss due to mechanisms such as token bucket rate limiting.

[0045] S208: If the data distribution of the above continuous packet loss interval meets the preset packet loss burst judgment condition, the above target transmission rate is adjusted.

[0046] Among them, the preset packet loss burst determination condition is used to characterize whether the continuous packet loss behavior within the preset time window has burst characteristics, and then to identify whether there is a concentrated packet loss phenomenon caused by mechanisms such as token bucket rate limiting in the current link.

[0047] Typically, packet loss caused by random network jitter exhibits a discrete distribution, with short intervals of consecutive packet loss and low frequency of occurrence. However, in token bucket rate limiting scenarios, network links drop data packets in batches when the rate exceeds the limit, resulting in longer intervals of consecutive packet loss occurring multiple times within a time window. This allows for the generation of corresponding preset conditions for determining the suddenness of packet loss, in order to identify the current cause of packet loss.

[0048] In one embodiment, when the aforementioned preset time window information includes a first preset time window, the aforementioned continuous packet loss interval distribution data is used to characterize the length of the continuous packet loss interval and the frequency of packet loss within the first preset time window; the aforementioned preset packet loss burst determination condition is: within the aforementioned first preset time window, the proportion of the number of occurrences of the target packet loss interval to the total number of occurrences of all continuous packet loss intervals is greater than a preset proportion threshold, wherein the aforementioned target packet loss interval is a packet loss interval whose continuous packet loss length reaches a preset continuous packet loss number threshold.

[0049] In this embodiment, by statistically analyzing the length and frequency of consecutive packet loss intervals within a single first preset time window, and using whether the proportion of target packet loss intervals exceeds a preset proportion threshold as a burst criterion, rapid identification of link packet loss patterns can be achieved with low overhead. Since random packet loss is typically discretely distributed, long consecutive packet loss intervals have an extremely low probability of occurrence; while token bucket rate limiting causes segmented dropping, resulting in a large number of consecutive packet loss intervals reaching the preset threshold appearing within the window. Therefore, this determination method can accurately distinguish between rate-limited packet loss and random packet loss within a very short time window, improving identification efficiency and reducing latency caused by waiting for data from multiple windows. Furthermore, this scheme does not rely on complex model calculations; burst criterion determination can be completed simply by statistically analyzing the proportion. It has advantages such as low computational overhead, strong real-time performance, and deployment on devices with low computing power, enabling the system to quickly respond to changes in network status and providing a reliable basis for subsequent adaptive bandwidth adjustments.

[0050] In another embodiment, the preset time window includes multiple first preset time windows, and the continuous packet loss interval distribution data is used to characterize the length of the continuous packet loss interval and the frequency of packet loss within each of the multiple first preset time windows.

[0051] Multiple first-preset time windows can be used to perform statistical analysis on continuous packet loss characteristics at different time scales. For example, multiple first-preset time windows can include: short windows (e.g., 200ms), medium windows (e.g., 1s), and long windows (e.g., 2s). Different time windows can capture packet loss performance at different granularities. For example, short windows are sensitive to instantaneous bursts, while long windows are suitable for observing overall trends. Thus, multiple windows can improve the robustness of identifying rate-limited packet loss and avoid misjudgments caused by using only a single window, thereby improving the accuracy of burst packet loss identification.

[0052] Furthermore, the above method also includes: calculating a burst index based on the proportion of target packet loss intervals corresponding to each first preset time window included in the preset time window, wherein the target packet loss interval is a packet loss interval in which the length of continuous packet loss reaches a preset threshold for the number of continuous packet loss; determining whether the burst index is greater than a preset burst threshold; and determining that the distribution data of the continuous packet loss intervals meets the preset packet loss burst judgment conditions if the burst index is greater than the preset burst threshold.

[0053] The suddenness index can be used to characterize the overall degree of sudden packet loss characteristics within multiple first preset time windows. In one embodiment, calculating the suddenness index based on the proportion of target packet loss intervals corresponding to each of the first preset time windows can include: obtaining the weights of each preset window corresponding to each first preset time window, and performing a weighted summation of the proportions of target packet loss intervals within each first preset time window based on the weights of each preset window to generate the corresponding suddenness index. In other words, the suddenness index can be obtained by weighted fusion of the proportions of target packet loss intervals within multiple first preset time windows, which can comprehensively reflect the intensity of sudden packet loss at different time scales and is used to measure the overall suddenness of packet loss, rather than the local situation of a certain time window.

[0054] This embodiment of the specification receives bandwidth probe data sent by a first terminal through a server, and sends the bandwidth probe data to a second terminal based on a target transmission rate. The server then receives status message information from the second terminal. If the status message information indicates that a preset rate-limiting feature trigger condition is met, the server determines the distribution data of continuous packet loss intervals corresponding to a preset time window. Furthermore, if the distribution data of continuous packet loss intervals meets a preset packet loss burst judgment condition, the server adjusts the target transmission rate. Therefore, even when network latency changes are not significant, the server can accurately identify concentrated packet loss behavior caused by mechanisms such as token bucket rate limiting through the burst characteristics of continuous packet loss intervals, thereby promptly reducing the transmission rate. This ensures that the transmission rate of the first terminal matches the actual link's bandwidth capacity, reducing the occurrence of continuous packet loss, enhancing the stability and integrity of real-time media data transmission, and significantly improving media quality and transmission efficiency in low-latency scenarios such as live streaming or audio / video calls.

[0055] In one embodiment, after receiving the status message information fed back by the second terminal in S204, the method further includes: parsing the status message information to obtain performance indicator information characterizing the current network status, the performance indicator information including packet loss rate, latency, and average receiving rate; determining whether the status message information indicates that the preset rate limiting feature triggering condition is met based on the performance indicator information; wherein the preset rate limiting feature triggering condition is: the packet loss rate is greater than a preset packet loss rate threshold, the latency is less than a preset latency threshold, and the average receiving rate is less than a preset average receiving rate threshold.

[0056] The performance metrics information can be obtained by the second terminal based on statistics of the received bandwidth probe data. Specifically, the packet loss rate represents the proportion of bandwidth probe data that the second terminal failed to receive out of the total number of transmitted packets (i.e., bandwidth probe data). Latency is the time difference between the time the first terminal sends the probe data packet and the time the second terminal receives it, reflecting the real-time performance of the link forwarding. The average reception rate is the actual network throughput corresponding to the number of probe data packets successfully received per unit time, reflecting the bandwidth that the link can carry.

[0057] In one embodiment, the preset packet loss rate threshold can be obtained based on statistical analysis of historical session samples. The preset latency threshold can be used to determine whether the link is in a congested state. The preset average receive rate threshold is used to identify whether the bandwidth that the link can carry is significantly lower than the target bit rate of the sender.

[0058] In one embodiment, for determining the aforementioned preset speed limit feature triggering conditions, please refer to [link to relevant documentation]. Figure 3 , Figure 3This specification provides a flowchart illustrating a method for determining preset speed limit feature trigger conditions, which includes the following steps: S302: Obtain a session parameter sample set corresponding to multiple historical session samples. The session parameter sample set includes multiple session packet loss rates, multiple session delays, and multiple session average receiving rates corresponding to the multiple historical session samples.

[0059] Among them, there is a one-to-one correspondence between historical session samples and session packet loss rate, a one-to-one correspondence between historical session samples and session latency, and a one-to-one correspondence between historical session samples and session average reception rate.

[0060] Optionally, multiple historical session samples can be multiple network session records related to services such as live streaming and audio / video calls collected by the system during its past operation. Each historical session sample can correspond to a real media transmission process, specifically including session-level network quality indicators such as packet loss rate, latency, and average receiving rate obtained in that session. Furthermore, aggregating multiple historical session samples can generate a session parameter sample set, which can be used as training data or statistical basis for threshold calculation.

[0061] S304: Parse the above session parameter sample set to generate a preset packet loss rate threshold, a preset latency threshold, and a preset average receiving rate threshold.

[0062] In one embodiment, statistical analysis and feature extraction can be performed on the aforementioned session parameter sample set to generate preset packet loss rate thresholds, preset latency thresholds, and preset average receiving rate thresholds. Specifically, the server can perform aggregate analysis on the session packet loss rate, session latency, and session average receiving rate contained in the session parameter sample set. For example, a packet loss rate threshold that can effectively distinguish between normal network conditions and potential abnormal conditions can be determined based on the mean, quantiles, standard deviation, or confidence interval of the session packet loss rate sample; a preset latency threshold can be obtained by determining the typical latency upper limit that the data stream can maintain under congestion-free conditions based on the statistical distribution of the session latency sample; and a preset average receiving rate threshold can be generated by determining the proportion or range that the network should achieve in maintaining normal transmission quality based on the statistical relationship between the session average receiving rate sample and the corresponding target transmission rate.

[0063] For example, a server can perform statistical analysis on packet loss rates across a large number of historical sessions (such as live streaming, audio / video calls, etc.). If the statistical results show that a packet loss rate exceeding 30% generally corresponds to abnormal link conditions in the historical records, then 30% can be set as a preset packet loss rate threshold. Similarly, when the statistical distribution of session latency shows that, under non-congested but packet loss conditions, link latency typically remains within the range of 80ms to 90ms, then 100ms can be used as a preset latency threshold. Furthermore, the server can also compare the average receive rate of historical sessions with the sender's target send rate. If the results show that, under normal circumstances, the average receive rate is usually close to the target send rate, but when the link is rate-limited, the average receive rate is significantly lower than the target send rate, then the server can determine a preset average receive rate threshold based on this difference range.

[0064] Through the statistical analysis described above in the embodiments of this specification, the server can generate packet loss rate threshold, latency threshold, and average receiving rate threshold from the session parameter sample set, which can be used to subsequently determine whether the link status meets the preset rate limiting feature triggering conditions.

[0065] In one embodiment, for determining the aforementioned preset sudden packet loss judgment conditions, please refer to [link to relevant documentation]. Figure 4 , Figure 4 This specification provides a flowchart illustrating a method for determining pre-defined burst packet loss conditions, which includes the following steps: 402: Construct a random packet loss model and a token bucket rate-limited packet loss model. The random packet loss model is used to describe the natural packet loss behavior of the network under non-congestion conditions, while the token bucket rate-limited packet loss model is used to describe the active packet loss behavior of the network when a token bucket rate-limiting policy is configured.

[0066] It should be noted that the random packet loss model is used to simulate discrete packet loss behavior caused by natural factors such as random jitter and wireless interference in a non-congested network. In this model, each packet loss event is independent, the probability of a single packet loss is p, and the number of consecutive packet losses follows an exponential decay relationship: P(n) = p n That is, the longer the consecutive packet loss length, the lower the probability P(n) of its occurrence decreases exponentially. Furthermore, the token bucket rate-limiting packet loss model simulates the clustered packet loss behavior that occurs when network nodes, configured with a token bucket rate-limiting policy, experience packet loss after the sending rate exceeds the token generation rate or tokens are exhausted. Under this model, packet loss is highly continuous, with long consecutive packet loss lengths and high frequency, clearly distinguishing it from the random packet loss model.

[0067] In one embodiment, two basic models for network packet loss behavior analysis can be constructed first: a random packet loss model and a token bucket rate-limiting packet loss model. The random packet loss model is based on the assumption that packet loss events are independent and identically distributed. It calculates the probability P(n) = p_n for a consecutive packet loss length n by setting the probability p of a single packet loss. n For example, when the packet loss rate is 30% (p=0.3), the probability of one consecutive packet loss is P(1)=0.3, and the probability of four consecutive packet losses is P(4)=0.0081; when the packet loss rate is 50% (p=0.5), P(1)=0.5, and P(4)=0.0625. In the embodiments of this specification, 0 to 10 data packets (800 to 1000 bytes per packet) are randomly generated with a period of 1ms, an average transmission rate of 470kbps, and a packet loss rate of 50%. Figure 5 As shown, the length of consecutive packet losses exhibits a typical exponential decay distribution: consecutive packet losses of length 1 occur most frequently, while consecutive packet losses exceeding 4 occur less often, consistent with the prediction of the above formula. To characterize the packet loss characteristics under the rate-limiting strategy, the embodiments in this specification further construct a token bucket rate-limiting model. Based on the same packet generation strategy (generating 0 to 10 data packets per ms), the token bucket parameters are set as follows: Committed Information Rate (CIR) is 300 kbps, Committed Burst Size (CBS) = 600,000, and the average bit rate is approximately 476 kbps. Figure 6 The statistical results show that the frequency of consecutive packet loss longer than 2 bytes increases, accounting for over 50%, significantly higher than in the random packet loss model. Furthermore, to amplify the characteristics of long consecutive packet loss in rate-limited scenarios, the embodiments in this specification expand the number of data packets per 1ms to 0-30, reduce the packet size to 200-400 bytes, making the load more intensive, and setting an average packet loss rate of approximately 25%-30%. Figure 7 As shown, consecutive packet loss with a length greater than 2 accounts for more than 80%, and there is a significant peak in the interval where the length of consecutive packet loss exceeds 10 or reaches 20, which fully reflects the rate-limiting mechanism of discarding packets in segments after the bucket is exhausted.

[0068] 404: Based on the above random packet loss model and the above token bucket rate-limited packet loss model, a preset threshold for the number of consecutive packet losses is determined.

[0069] In one embodiment, a preset threshold for the number of consecutive packet losses can be determined by comparing the statistical characteristics corresponding to the above-mentioned random packet loss model and the above-mentioned token bucket rate-limited packet loss model.

[0070] Specifically, according to Figure 5 (Random packet loss model) The length of consecutive packet losses decreases exponentially with increasing n, and the probability of consecutive packet losses with a length ≥ 3 is low.Figure 6 and Figure 7 (Token Bucket Rate Limiting Model) shows that in rate-limited scenarios, the frequency of consecutive packet loss intervals with a length ≥ 3 increases significantly, even in... Figure 7 Peaks with a length of ≥10 are formed in the middle.

[0071] Therefore, it can be determined that a consecutive packet loss length of 3 or more is the critical point at which the two models diverge significantly, and 3 can be used as the preset threshold for the number of consecutive packet losses.

[0072] In addition, the preset threshold for the number of consecutive packet losses can be flexibly set for other scenarios, such as 2, 4, 5, etc.

[0073] 406: Based on the frequency of occurrence of consecutive packet loss intervals statistically analyzed by the above random packet loss model and the above token bucket rate-limited packet loss model, a preset percentage threshold is determined.

[0074] In one embodiment, such as Figure 5 , Figure 6 , Figure 7 As shown, by statistically analyzing the distribution of the occurrence proportion of consecutive packet loss intervals (e.g., length ≥ 3) in the two models, two packet loss modes can be distinguished: Figure 5 In (random packet loss), the proportion of intervals with a length of ≥3 is far less than 50%, less than 10%. Figure 6 In the (speed limit 300k), the proportion of intervals with a length of ≥3 is more than 50%. Figure 7 In (fine-grained rate limiting), the proportion even exceeds 80%. Therefore, in the embodiments of this specification, 50% can be set as a preset proportion threshold to determine whether there is a sudden continuous packet loss. This preset threshold for the number of continuous packet losses can also be dynamically adjusted according to different needs.

[0075] 408: Generate preset packet loss suddenness judgment conditions based on the above preset consecutive packet loss number threshold and the above preset percentage threshold.

[0076] In one embodiment, based on the preset consecutive packet loss number threshold (e.g., 3) and the preset percentage threshold (e.g., 50%) obtained above, a preset packet loss burst determination condition can be constructed.

[0077] Specifically, the preset burstiness judgment condition for packet loss can be defined as follows: within the aforementioned first preset time window, the proportion of the occurrence of the target packet loss interval to the occurrence of all consecutive packet loss intervals is greater than 50%, where the aforementioned target packet loss interval is a packet loss interval with a consecutive packet loss length of 3 or more. The first preset time window can be flexibly set, for example, it can be 200ms.

[0078] In the embodiments of this specification, by constructing a random packet loss model and a token bucket rate-limited packet loss model, the continuous packet loss distribution under different network scenarios is characterized and analyzed. Preset thresholds for the number of consecutive packet losses and the percentage of consecutive packet losses are determined, thereby forming preset packet loss burst judgment conditions that can accurately distinguish between random packet loss and rate-limited burst packet loss. With the help of these judgment conditions, the system can promptly identify large-scale packet loss behavior caused by the token bucket rate-limiting mechanism during bandwidth probing and trigger reasonable transmission rate adjustments. This makes bandwidth adaptive control more accurate, significantly improving the transmission stability and user experience of real-time data streams (such as live streaming and audio / video calls).

[0079] In one embodiment, in S208 above, adjusting the target transmission rate when the continuous packet loss interval distribution data meets the preset packet loss burst determination condition includes: obtaining the average receiving rate within a second preset time window when the continuous packet loss interval distribution data meets the preset packet loss burst determination condition; and adjusting the target transmission rate based on the average receiving rate.

[0080] Optionally, if the distribution of continuous packet loss intervals meets the preset burst packet loss judgment conditions, the server can further obtain the average receiving rate within a second preset time window. This second preset time window can be 100ms, 200ms, or other time spans that reflect the short-cycle link receiving capacity. Subsequently, the server can use this average receiving rate as an estimate of the current link's carrying capacity and reset the target sending rate accordingly. For example, the average receiving rate can be directly used as the target sending rate to ensure that the sending end's output rate converges instantly to the link's carrying capacity, avoiding further triggering rate-limited packet loss; alternatively, a buffer can be set linearly or proportionally based on the average receiving rate to achieve smoother rate adjustment.

[0081] Therefore, in this embodiment of the specification, the target transmission rate is updated based on the average receiving rate of the second preset time window, which enables the server to closely follow the real-time changes in the available bandwidth of the link. In the case of rate-limited scenarios, the transmission rate can be reduced in time to reduce continuous packet loss, and the transmission rate can be gradually increased after the bandwidth is restored. This achieves more accurate and flexible adaptive bandwidth control, which effectively improves the stability of media transmission and user experience in real-time scenarios such as live streaming and audio / video calls.

[0082] In one embodiment, after performing step S208 to adjust the target transmission rate, the method further includes: using the adjusted transmission rate as the new target transmission rate, returning to the steps of receiving the bandwidth probe data sent by the first terminal, and sending the bandwidth probe data to the second terminal based on the target transmission rate.

[0083] Specifically, after adjusting the target transmission rate, the server can use the adjusted transmission rate as the new target transmission rate and re-enter the bandwidth probing process. In other words, the server uses the updated target transmission rate to send a new round of bandwidth probing data to the second terminal and receives status messages from the second terminal again to continuously monitor the link status.

[0084] The embodiments described in this specification, through the aforementioned cyclic execution mechanism, can track changes in network bandwidth in real time, enabling the transmission rate to continuously and adaptively match the available bandwidth of the current link. When the link bandwidth further decreases, the system can quickly trigger the rate limiting judgment again and reduce the transmission rate; when the link recovers, the system can also gradually increase the transmission rate, achieving smoother and more stable bandwidth control. Therefore, the embodiments in this specification enhance the continuity and real-time performance of the bandwidth adjustment process, thereby further improving the transmission quality of real-time media data.

[0085] The following describes the embodiments of this specification in conjunction with the architecture of a specific bandwidth adjustment system.

[0086] Figure 8 This is a schematic diagram of the architecture of a bandwidth adjustment system provided for an exemplary embodiment of this specification. Figure 8 The bandwidth adjustment system includes a first terminal, a second terminal, and a server. For example, in a live broadcast or real-time audio / video call scenario, the first terminal can be a broadcasting device or a call initiator, used to collect audio, video, and other media data, and encode the aforementioned media data to generate corresponding RTP media data packets.

[0087] Figure 9 This is a schematic flowchart illustrating a bandwidth adjustment method provided for an exemplary embodiment of this specification. Figure 9 During media data transmission, the first terminal sends bandwidth probe data to the server at preset intervals to reflect the current uplink transmission capacity. After receiving the bandwidth probe data from the first terminal, the server forwards it to the second terminal. The second terminal can be a live stream viewer device or a call receiver, used to receive the media data or bandwidth probe data forwarded by the server, and to statistically analyze network performance indicators based on actual reception, including packet loss rate, latency, and average reception rate, and encapsulate the above network status into status message information and feed it back to the server. During the transmission of media data from the first terminal to the second terminal, the transmission path can pass through... Figure 8The media data is transmitted through the carrier network or intermediate routing nodes. For example, when media data packets arrive at the carrier's token bucket rate limiter, if the instantaneous arrival rate of the packets exceeds the rate-limiting policy threshold set by the carrier, some of the over-limited packets will be discarded directly. Only packets that do not exceed the limit will continue to be forwarded to downstream network nodes. After being processed by the carrier network, the media data is finally delivered to the server, and then distributed by the server to the second terminal. Based on the status message information fed back by the second terminal, the server can parse and process the status message information to obtain performance index information representing the current network status. If the rate-limiting feature trigger condition is met, the server determines the distribution data of continuous packet loss intervals corresponding to the preset time window information and judges whether the distribution data of continuous packet loss intervals meets the preset packet loss burst judgment condition. If the distribution data of continuous packet loss intervals meets the preset packet loss burst judgment condition, it can be determined that the current mode is token bucket rate-limited packet loss mode. Then, the server obtains the average receiving rate within the second preset time window and adjusts the target sending rate according to the average receiving rate to match the actual bandwidth that the link can carry, thereby reducing the probability of packet loss and improving the quality of media stream transmission. The server then returns to the step of receiving bandwidth probe data sent by the first terminal to continue detection. Alternatively, if the distribution data of continuous packet loss intervals does not meet the preset packet loss burst judgment condition, it is determined that the current mode is random packet loss mode, and the server can return to the step of receiving bandwidth probe data sent by the first terminal to continue detection.

[0088] In the embodiments described in this specification, the server forwards, parses, and dynamically judges bandwidth probe data, enabling the system to automatically distinguish between random packet loss and token bucket rate-limited packet loss in a real network environment. When the status message information returned by the second terminal meets the preset rate-limiting feature triggering conditions, the server makes a burst judgment based on the distribution data of continuous packet loss intervals, accurately identifying the large-scale packet loss caused by the operator's token bucket rate limit, thereby avoiding misidentifying rate-limited packet loss as random network fluctuations. After identifying the rate-limited packet loss pattern, the server can further adjust the target sending rate based on the average receiving rate within a short period, causing the sending end rate to actively fall back to the actual uplink bandwidth range that the link can carry, reducing large-scale packet loss and stuttering caused by continuous over-limit sending. Thus, real-time perception of link status and adaptive bandwidth control are achieved, which can not only significantly reduce the packet loss rate and improve the smoothness of the picture, but also reduce frequent bitrate fluctuations caused by misjudgment, thereby improving the overall transmission quality and stability of live streaming or real-time audio and video calls.

[0089] Please refer to the following. Figure 10 This is a schematic diagram of a bandwidth adjustment device provided in an exemplary embodiment of this specification. Figure 10 As shown, the bandwidth adjustment device 1000 includes: The sending module 1020 is used to receive bandwidth probe data sent by the first terminal and send the bandwidth probe data to the second terminal based on the target sending rate. The receiving module 1040 is used to receive the status message information fed back by the second terminal. The first determining module 1060 is used to determine the distribution data of the continuous packet loss interval corresponding to the preset time window information when the above status message information indicates that the preset rate limit feature triggering condition is met. The adjustment module 1080 is used to adjust the target transmission rate when the data distribution in the continuous packet loss interval meets the preset packet loss burst judgment conditions.

[0090] In one embodiment, the above-mentioned device 1000 further includes: The parsing module is used to parse and process the above status message information to obtain performance index information that characterizes the current network status. The above performance index information includes packet loss rate, latency and average receiving rate. The first judgment module is used to determine whether the status message information indicates that the preset rate limit feature triggering condition is met based on the above performance index information; wherein the preset rate limit feature triggering condition is: the above packet loss rate is greater than the preset packet loss rate threshold, the above delay is less than the preset delay threshold, and the above average receiving rate is less than the preset average receiving rate threshold.

[0091] In one embodiment, the aforementioned preset time window information includes a first preset time window, and the aforementioned continuous packet loss interval distribution data is used to characterize the length of the continuous packet loss interval and the frequency of packet loss within the first preset time window; the aforementioned preset packet loss suddenness determination condition is: within the aforementioned first preset time window, the proportion of the number of occurrences of the target packet loss interval to the total number of occurrences of all continuous packet loss intervals is greater than a preset proportion threshold, wherein the aforementioned target packet loss interval is a packet loss interval whose continuous packet loss length reaches a preset continuous packet loss number threshold.

[0092] In one embodiment, the preset time window includes multiple first preset time windows, and the continuous packet loss interval distribution data is used to characterize the length of the continuous packet loss interval and the frequency of packet loss within each of the multiple first preset time windows. The aforementioned device 1000 also includes: The calculation module is used to calculate the burst index based on the proportion of the target packet loss interval corresponding to each of the first preset time windows included in the above preset time window, wherein the above target packet loss interval is the packet loss interval where the length of continuous packet loss reaches a preset threshold for the number of continuous packet loss. The second judgment module is used to determine whether the above-mentioned suddenness index is greater than the preset suddenness threshold. The second determining module is used to determine whether the distribution data of the continuous packet loss interval meets the preset packet loss suddenness judgment condition when the suddenness index is greater than the preset suddenness threshold.

[0093] In one embodiment, the adjustment module 1080 is specifically used for: If the data distribution of the above continuous packet loss interval meets the preset packet loss burst judgment condition, the average receiving rate within the second preset time window is obtained. The target transmission rate is adjusted based on the average reception rate.

[0094] In one embodiment, the above-mentioned device 1000 further includes: The acquisition module is used to acquire a session parameter sample set corresponding to multiple historical session samples. The session parameter sample set includes multiple session packet loss rates, multiple session delays, and multiple session average receiving rates corresponding to the multiple historical session samples. The first generation module is used to parse and process the above session parameter sample set based on a preset random packet loss model and a preset token bucket rate-limited packet loss model, and generate a preset packet loss rate threshold, a preset latency threshold, and a preset average receiving rate threshold.

[0095] In one embodiment, the above-mentioned device 1000 further includes: The module is used to build a random packet loss model and a token bucket rate-limited packet loss model. The random packet loss model is used to describe the natural packet loss behavior of the network under non-congestion conditions, and the token bucket rate-limited packet loss model is used to describe the active packet loss behavior of the network when a token bucket rate-limiting policy is configured. The third determining module is used to determine the preset threshold for the number of consecutive packet losses based on the above-mentioned random packet loss model and the above-mentioned token bucket rate-limited packet loss model. The fourth determining module is used to determine a preset percentage threshold based on the frequency of occurrence of consecutive packet loss intervals statistically analyzed by the above-mentioned random packet loss model and the above-mentioned token bucket rate-limited packet loss model. The second generation module is used to generate preset packet loss suddenness judgment conditions based on the preset consecutive packet loss number threshold and the preset percentage threshold.

[0096] In one embodiment, the above-mentioned device 1000 further includes: The execution module is used to take the adjusted transmission rate as the new target transmission rate and return to the steps of receiving the bandwidth probe data sent by the first terminal and sending the bandwidth probe data to the second terminal based on the target transmission rate.

[0097] The division of modules in the bandwidth adjustment device 1000 described above is for illustrative purposes only. In other embodiments, the bandwidth adjustment device can be divided into different modules as needed to complete all or part of the functions of the bandwidth adjustment device. The implementation of each module in the bandwidth adjustment device provided in the embodiments of this specification can be in the form of a computer program. This computer program can run on a terminal or server. The program modules constituted by this computer program can be stored in the memory of the terminal or server. When the computer program is executed by a processor, it implements all or part of the steps of the bandwidth adjustment method described in the embodiments of this specification.

[0098] This specification also provides an electronic device, which may be a server, and its internal structure diagram may be as follows: Figure 11 As shown, this electronic device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. The processor executes a computer program to implement a data verification method.

[0099] Those skilled in the art will understand that Figure 11 The structures shown are merely block diagrams of some structures related to the embodiments of this specification, and do not constitute a limitation on the electronic devices to which the embodiments of this specification are applied. Specific electronic devices may include more or fewer components than those shown in the figures, or combine certain components, or have different component arrangements.

[0100] In one possible implementation, a computer storage medium is provided that stores instructions, which, when executed on a computer or processor, cause the computer or processor to perform one or more steps in the above embodiments. If the constituent modules of the above-described electronic device are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium.

[0101] In one possible implementation, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0102] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this specification are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer storage medium or transmitted through the computer storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The aforementioned available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., Digital Versatile Discs (DVDs)), or semiconductor media (e.g., Solid State Disks (SSDs)).

[0103] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in the embodiments of this specification are all authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the account balance, loan balance, outstanding loan amount, user identification field, and asset balance data involved in this specification were all obtained with full authorization.

[0104] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks. Unless otherwise specified, the technical features of this embodiment and its implementation can be combined arbitrarily.

[0105] The above-described embodiments are merely preferred embodiments of the embodiments in this specification and are not intended to limit the scope of the embodiments in this specification. Various modifications and improvements made by those skilled in the art to the technical solutions of the embodiments in this specification without departing from the design spirit of the embodiments in this specification should fall within the protection scope defined by the claims.

[0106] The foregoing has described specific embodiments of the embodiments described in this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

Claims

1. A bandwidth adjustment method applied to a server, comprising: receiving bandwidth probe data sent by a first terminal, and sending the bandwidth probe data to a second terminal based on a target sending rate; receiving state message information fed back by the second terminal; in a case where the state message information indicates that a preset rate limiting feature trigger condition is met, determining continuous packet loss interval distribution data corresponding to preset time window information; in a case where the continuous packet loss interval distribution data meets a preset packet loss burstiness determination condition, adjusting the target sending rate. 2.The method of claim 1, further comprising: performing analysis processing on the state message information to obtain performance index information for representing a current network state, the performance index information comprising a packet loss rate, a time delay, and an average receiving rate; determining whether the state message information indicates that the preset rate limiting feature trigger condition is met according to the performance index information; wherein the preset rate limiting feature trigger condition is that the packet loss rate is greater than a preset packet loss rate threshold, the time delay is less than a preset time delay threshold, and the average receiving rate is less than a preset average receiving rate threshold. 3.The method of claim 1, wherein the preset time window information comprises a first preset time window, and the continuous packet loss interval distribution data is used to represent a length and a packet loss occurrence frequency of a continuous packet loss interval within the first preset time window; and the target packet loss interval is a packet loss interval with a continuous packet loss length reaching a preset continuous packet loss quantity threshold. The preset packet loss burstiness determination condition is that, in the first preset time window, a proportion of a number of occurrences of a target packet loss interval to a number of occurrences of all continuous packet loss intervals is greater than a preset proportion threshold, wherein 4.The method of claim 1, wherein the preset time window comprises a plurality of first preset time windows, and the continuous packet loss interval distribution data is used to represent a length and a packet loss occurrence frequency of a continuous packet loss interval within each first preset time window of the plurality of first preset time windows; and the method further comprises: calculating a burstiness index based on a proportion of target packet loss intervals corresponding to each first preset time window included in the preset time window, wherein the target packet loss interval is a packet loss interval with a continuous packet loss length reaching a preset continuous packet loss quantity threshold; determining whether the burstiness index is greater than a preset burstiness threshold; in a case where the burstiness index is greater than the preset burstiness threshold, determining that the continuous packet loss interval distribution data meets the preset packet loss burstiness determination condition. 5.The method of claim 1, wherein the adjusting the target sending rate in a case where the continuous packet loss interval distribution data meets the preset packet loss burstiness determination condition comprises: in a case where the continuous packet loss interval distribution data meets the preset packet loss burstiness determination condition, obtaining an average receiving rate within a second preset time window; and adjusting the target sending rate according to the average receiving rate. 6.The method of claim 2, further comprising: obtaining a session parameter sample set corresponding to a plurality of historical session samples, the session parameter sample set comprising a plurality of session packet loss rates, a plurality of session time delays, and a plurality of session average receiving rates corresponding to the plurality of historical session samples. ​ ​ The session parameter sample set is analyzed based on a preset random packet loss model and a preset token bucket rate limiting packet loss model to generate a preset packet loss rate threshold, a preset time delay threshold, and a preset average receiving rate threshold. 7.The method of claim 3, further comprising: constructing a random packet loss model and a token bucket rate limiting packet loss model, the random packet loss model being used to describe natural packet loss behavior of a network in a non-congestion case, and the token bucket rate limiting packet loss model being used to describe active packet loss behavior of the network in a case where a token bucket rate limiting strategy is configured; determining a preset continuous packet loss quantity threshold based on the random packet loss model and the token bucket rate limiting packet loss model; determining a preset proportion threshold based on an occurrence frequency of a continuous packet loss interval counted based on the random packet loss model and the token bucket rate limiting packet loss model; generating a preset packet loss burstiness determination condition based on the preset continuous packet loss quantity threshold and the preset proportion threshold. 8.The method of claim 1, after the adjusting the target sending rate, further comprising: taking the adjusted sending rate as a new target sending rate, and returning to perform the receiving the bandwidth probe data sent by the first terminal and the sending the bandwidth probe data to the second terminal based on the target sending rate. 9.A bandwidth adjustment system, comprising a server, a first terminal, and a second terminal; the first terminal is configured to send bandwidth probe data to the server; the server is configured to receive the bandwidth probe data sent by the first terminal and send the bandwidth probe data to the second terminal based on a target sending rate, the second terminal is configured to receive the bandwidth probe data sent by the server and feed back state message information to the server; the server is further configured to receive the state message information fed back by the second terminal, determine continuous packet loss interval distribution data corresponding to preset time window information in a case where the state message information indicates that a preset rate limiting feature trigger condition is met, and adjust the target sending rate in a case where the continuous packet loss interval distribution data meets a preset packet loss burstiness determination condition. 10.A bandwidth adjustment apparatus, comprising: a sending module configured to receive bandwidth probe data sent by a first terminal and send the bandwidth probe data to a second terminal based on a target sending rate; a receiving module configured to receive state message information fed back by the second terminal; a first determining module configured to determine continuous packet loss interval distribution data corresponding to preset time window information in a case where the state message information indicates that a preset rate limiting feature trigger condition is met; an adjusting module configured to adjust the target sending rate in a case where the continuous packet loss interval distribution data meets a preset packet loss burstiness determination condition.

11. An electronic device comprising: a processor and a memory; the memory stores a computer program, and the computer program is adapted to be loaded and executed by the processor to perform the steps of the method of any one of claims 1-8. 12.A computer storage medium storing a plurality of instructions, and the instructions are adapted to be loaded and executed by a processor to perform the steps of the method of any one of claims 1-8.

13. A computer program product comprising instructions which, when the computer program product is executed on a computer or a processor, cause the computer or the processor to carry out the steps of the method according to any one of claims 1-8.