Evaluation bandwidth adjustment method and device, electronic equipment and storage medium

By obtaining the trend of reception bandwidth and round trip time between the client and the server, and dynamically adjusting the evaluation bandwidth, the problem of low bandwidth utilization in the point-to-point content distribution network is solved and the user experience is improved.

CN120342879APending Publication Date: 2025-07-18SHENZHEN ONETHING TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510416308.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-03
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

In the point-to-point content distribution network, bandwidth policies cannot be adjusted jointly between nodes, resulting in inaccurate evaluation of bandwidth, low network utilization, and affecting user experience.

Method used

By obtaining the trend of reception bandwidth and round trip time between the client and the server, dynamically adjusting the evaluation bandwidth, combining the reception bandwidth and RTT change trends, bandwidth utilization is optimized.

Benefits of technology

Improve bandwidth utilization, improve user experience, and ensure efficient use of network resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120342879A_ABST
    Figure CN120342879A_ABST
Patent Text Reader

Abstract

The invention provides an evaluation bandwidth adjustment method and apparatus, a device and a storage medium. The method comprises the steps of obtaining a change trend of a receiving bandwidth and round-trip time in a communication process between a client and a server; the evaluation bandwidth can be accurately obtained according to the receiving bandwidth and the change trend; and the evaluation bandwidth can be dynamically adjusted according to the evaluation bandwidth and the bandwidth use condition, so that the utilization rate of the bandwidth can be improved, and the use experience of a user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the technical field of network bandwidth adjustment, and particularly relates to a method, device, electronic device and storage medium for evaluating bandwidth adjustment. Background Art

[0002] The peer-to-peer content delivery network (PCDN) technology utilizes P2P technology to construct a low-cost content delivery network service by tapping the edge network of operators and a large amount of fragmented idle bandwidth resources (such as the upstream bandwidth of home broadband and private network broadband). PCDN usually has a large number of nodes, and the nodes do not know the network situation clearly and cannot cooperate to adjust strategies to avoid network congestion. It can only perform congestion control by controlling the sending of requests at the receiving end. In this case, the size of the request data sent by the receiving end in each round depends on the evaluation of the network bandwidth. The evaluation bandwidth obtained by the methods provided in the related technologies is not accurate enough, resulting in low bandwidth utilization, network jams, and affecting the user experience. Summary of the Invention

[0003] Embodiments of this application provide a method, device, electronic device and storage medium for evaluating bandwidth adjustment, which can accurately obtain the evaluation bandwidth and adjust the evaluation bandwidth in a timely manner according to the bandwidth usage situation, improving the bandwidth utilization rate.

[0004] In a first aspect, embodiments of this application provide a method for evaluating bandwidth adjustment, including:

[0005] Obtain the changing trends of the received bandwidth and round-trip time during the communication process between the client and the server;

[0006] Obtain the evaluation bandwidth according to the received bandwidth and the changing trend;

[0007] Adjust the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage situation.

[0008] In some embodiments, the obtaining the evaluation bandwidth according to the received bandwidth and the changing trend includes:

[0009] Determine the detection result according to the changing trend and the comparison result between the current received bandwidth and the current detection standard bandwidth;

[0010] When the detection result indicates that the detection is not failed, determine the detection standard bandwidth for the next detection based on the detection result and the current detection standard bandwidth, determine the receiving bandwidth for the next detection based on the standard bandwidth for the next detection, update the receiving bandwidth for the next detection to the current receiving bandwidth, and return to the step of determining the detection result according to the change trend and the comparison result between the current receiving bandwidth and the current detection standard bandwidth;

[0011] When the detection result indicates that the detection has failed, determine the current receiving bandwidth as the evaluation bandwidth.

[0012] In some embodiments, the detection not being failed includes: the detection being successful or the detection result being pending. When the detection result indicates that the detection is not failed, determining the detection standard bandwidth for the next detection based on the detection result and the current detection standard bandwidth includes:

[0013] When the detection result is that the detection is successful, adjust the detection standard bandwidth for the next detection based on the current detection standard bandwidth;

[0014] When the detection result is that the detection result is pending, determine the current detection standard bandwidth as the detection standard bandwidth for the next detection.

[0015] In some embodiments, determining the detection result according to the change trend and the comparison result between the current receiving bandwidth and the current detection standard bandwidth includes:

[0016] Judge whether the number of consecutive successful samplings and the number of consecutive failed samplings reach their respective preset numbers according to the comparison result between the current receiving bandwidth and the current detection standard bandwidth;

[0017] If the change trend is a non-increasing trend and the number of consecutive successful samplings reaches the preset number, judge that the detection result is a successful detection;

[0018] If the change trend is a non-increasing trend, the number of consecutive successful samplings is less than the preset number, and the number of consecutive failed samplings is less than the preset number, judge that the detection result is a pending detection result;

[0019] Among them, judging whether the number of consecutive successful samplings reaches the preset number according to the comparison result between the current receiving bandwidth and the current detection standard bandwidth includes:

[0020] Judge whether the current receiving bandwidth is greater than or equal to a first preset ratio of the current detection standard bandwidth;

[0021] If so, judge that the current detection sampling is successful, add 1 to the number of consecutive successful samplings, and clear the number of consecutive failed samplings;

[0022] Otherwise, determine that the current detection sampling fails, increment the consecutive sampling failure count by 1, and clear the consecutive successful sampling count to zero.

[0023] In some embodiments, the determining the detection result according to the change trend and the comparison result between the current received bandwidth and the current detection standard bandwidth further includes:

[0024] If the change trend is an increasing trend, determine that the detection result is a detection failure;

[0025] If the change trend is a non-increasing trend and the consecutive sampling failure count reaches a preset number, determine that the detection result is a detection failure.

[0026] In some embodiments, the obtaining the change trends of the received bandwidth and the round-trip time during the communication process between the client and the server includes:

[0027] Send a data request to the server based on the current detection standard bandwidth to receive response data from the server;

[0028] Determine the change trends of the received bandwidth and the round-trip time based on the response data.

[0029] In some embodiments, the determining the change trends of the received bandwidth and the round-trip time based on the response data includes:

[0030] Determine the round-trip time and the received timestamp corresponding to the response data;

[0031] Determine the first change trend of the round-trip time based on the round-trip time and the received timestamp;

[0032] Determine the received bandwidth based on the response data and the received timestamp corresponding to the response data.

[0033] In some embodiments, the change trend includes: an increasing trend or a non-increasing trend. When the total number of increases corresponding to the sliding window is greater than or equal to a preset number threshold, the change trend is an increasing trend. When the total number of increases corresponding to the sliding window is less than the preset number threshold, the change trend is a non-increasing trend. The sliding window ends at the current time and starts at the time corresponding to a preset duration before the current time. The total number of increases is determined based on the number of increases recorded within the sliding window. The number of increases is obtained based on the growth ratio of the round-trip times corresponding to adjacent response data within the sliding window.

[0034] In some embodiments, when the growth ratio of the round-trip time corresponding to adjacent response data exceeds a first threshold and is less than a second threshold, the number of growths is recorded as a first value; when the growth ratio of the round-trip time corresponding to adjacent response data exceeds the second threshold, the number of growths is recorded as a second value; when the growth ratio is less than the first threshold, the number of growths is recorded as 0, wherein the first value is less than the second value and the first value is greater than 0.

[0035] In some embodiments, the receiving bandwidth is determined based on the amount of response data received in the sliding window and a time difference, wherein the time difference is the difference between the latest receiving timestamp and the earliest receiving timestamp of the response data received in the sliding window, and the sliding window ends at the current time and starts at the time corresponding to a preset time length before the current time.

[0036] In some embodiments, adjusting the evaluation bandwidth according to the evaluation bandwidth and bandwidth usage includes:

[0037] Sending a data request to a server according to the evaluation bandwidth to obtain response data from the server;

[0038] determining a current receiving bandwidth based on the response data;

[0039] The evaluation bandwidth is dynamically adjusted based on the current receiving bandwidth.

[0040] In some embodiments, sending a data request to a server according to the evaluation bandwidth to obtain response data from the server includes:

[0041] Obtaining a steady-state transmission bandwidth based on the evaluation bandwidth and the additional transmission coefficient;

[0042] A data request is sent to a server based on the steady-state sending bandwidth to obtain response data from the server.

[0043] In some embodiments, dynamically adjusting the evaluation bandwidth based on the current receiving bandwidth includes:

[0044] Obtaining a sampling result including an upper limit sampling number and a lower limit sampling number based on the current receiving bandwidth;

[0045] If the number of samplings exceeding the upper limit is greater than the number threshold, increasing the evaluation bandwidth;

[0046] If the number of samplings exceeding the lower limit is greater than the number threshold, reducing the evaluation bandwidth;

[0047] If both the number of samples exceeding the upper limit and the number of samples exceeding the lower limit do not exceed the number threshold, determine the receiving bandwidth at the next moment based on the evaluation bandwidth, update the receiving bandwidth at the next moment to the current receiving bandwidth, and return to the step of dynamically adjusting the evaluation bandwidth based on the current receiving bandwidth;

[0048] Among them, obtaining the sampling result including the number of samples exceeding the upper limit and the number of samples exceeding the lower limit based on the current receiving bandwidth includes:

[0049] Compare the current receiving bandwidth with the upper and lower limit thresholds corresponding to the evaluation bandwidth;

[0050] If the current receiving bandwidth is greater than the upper limit threshold of the evaluation bandwidth, record that the number of samples exceeding the upper limit is incremented by 1, and clear the number of samples exceeding the lower limit;

[0051] If the current receiving bandwidth is less than the lower limit threshold of the evaluation bandwidth, record that the number of samples exceeding the lower limit is incremented by 1, and clear the number of samples exceeding the upper limit;

[0052] If the current receiving bandwidth is between the lower limit threshold and the upper limit threshold, clear both the number of samples exceeding the upper limit or the number of samples exceeding the upper limit.

[0053] In a second aspect, an embodiment of the present application provides an evaluation bandwidth adjustment device, including:

[0054] An acquisition module for acquiring the change trends of the receiving bandwidth and the round-trip time during the communication process between the client and the server;

[0055] An evaluation module for obtaining an evaluation bandwidth according to the receiving bandwidth and the change trend;

[0056] An adjustment module for adjusting the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage situation.

[0057] In a third aspect, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method provided in the first aspect is implemented.

[0058] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method provided in the first aspect is implemented.

[0059] In a fifth aspect, an embodiment of the present application provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, it is at least used to implement the method according to any one of the first aspect.

[0060] The beneficial effects of the embodiments of the present application compared with the prior art are as follows:

[0061] The method for adjusting the evaluation bandwidth provided by the embodiments of the present application obtains the changing trends of the received bandwidth and the round-trip time during the communication process between the client and the server; can accurately obtain the evaluation bandwidth based on the received bandwidth and the changing trends; and can dynamically adjust the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage situation, which can improve the utilization rate of the bandwidth and enhance the user experience.

[0062] It can be understood that the beneficial effects of the second to fifth aspects above can refer to the relevant descriptions in the first aspect above, and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings in the following descriptions are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0064] Figure 1 The flowchart of a method for adjusting the evaluation bandwidth provided by the embodiments of the present application;

[0065] Figure 2 The schematic diagram of calculating the received bandwidth provided by the embodiments of the present application;

[0066] Figure 3 The schematic diagram for determining that the changing trend is an increasing trend provided by the embodiments of the present application;

[0067] Figure 4 The schematic example of a method for adjusting the evaluation bandwidth provided by the embodiments of the present application;

[0068] Figure 5 The schematic diagram of the structure of a device for adjusting the evaluation bandwidth provided by the embodiments of the present application;

[0069] Figure 6 The schematic diagram of the structure of the electronic device provided by the embodiments of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0070] In the following description, specific details such as specific system structures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.

[0071] It should be understood that, as used in the specification of this application and the appended claims, the term "comprising" indicates the presence of the described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or their combinations.

[0072] It should also be understood that the term "and / or" as used in the specification of this application and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0073] As used in the specification of this application and the appended claims, the term "if" may be construed, depending on the context, as "when" or "once" or "in response to determining" or "in response to detecting". Similarly, the phrases "if determined" or "if detected" may be construed, depending on the context, as meaning "once determined" or "in response to determining" or "once detected" or "in response to detecting".

[0074] In addition, in the description of the specification of this application and the appended claims, the terms "first", "second", "third", etc. are used only for differentiating descriptions and cannot be construed as indicating or implying relative importance.

[0075] Reference to "one embodiment" or "some embodiments" or the like described in the specification of this application means that a specific feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of this application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in another way.

[0076] Based on the technical problems of the related art, the embodiments of this application provide a method for adjusting the evaluated bandwidth, which can be applied to electronic devices such as mobile phones, tablet computers, wearable devices, vehicle-mounted devices, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), etc. The embodiments of this application do not impose any restrictions on the specific types of electronic devices. The electronic device can be used as a client.

[0077] An embodiment of the present application provides a method for adjusting the evaluation bandwidth. Taking an electronic device as a client as an example, the following is an illustration. Figure 1 The flow diagram of a method for adjusting the evaluation bandwidth provided by an embodiment of the present application is as Figure 1 shown. The method includes:

[0078] Step S101, obtaining the changing trends of the received bandwidth and the round-trip time during the communication process between the client and the server.

[0079] In an embodiment of the present application, the received bandwidth refers to the rate at which the client receives data from the server. The received bandwidth can be determined by calculating the amount of data received by the client within a unit time. The round-trip time refers to the total time it takes for the client to send a request to the server and receive a response. When the client sends a request, it records the send timestamp, and when it receives a response, it records the receive timestamp. The difference between the two is the round-trip time (RTT, Round-Trip Time). The changing trend of the round-trip time refers to the change of RTT within a period of time. The changing trend can include: an increasing trend and a non-increasing trend. The increasing trend means that the RTT of the data packet shows a continuous increasing state, indicating that there are signs of network congestion at this time. The non-increasing trend means that the RTT remains stable or fluctuates slightly, indicating that there is no obvious network congestion at this time.

[0080] In an embodiment of the present application, the RTT values within a period of time can be recorded through a sliding window mechanism, the growth ratio of adjacent RTTs can be calculated, the count value can be determined through the growth ratio, and the cumulative value within the sliding window can be statistically calculated to determine whether the RTT shows an increasing trend. A preset threshold can be set. When the cumulative value of all growth times within the sliding window is greater than the preset number threshold, the changing trend is the increasing trend. When the cumulative value of all growth times within the sliding window is less than or equal to the preset number threshold, the changing trend is the non-increasing trend.

[0081] In an embodiment of the present application, the changing trends of the received bandwidth and the round-trip time can be obtained from other electronic devices. In some embodiments, the data request can also be sent to the server, and by receiving the response data of the server, recording the receive timestamp and the data volume, and based on the receive timestamp and the data volume, the changing trends of the received bandwidth and the round-trip time during the communication process between the client and the server can be obtained.

[0082] Step S102, obtaining the evaluation bandwidth according to the received bandwidth and the changing trend.

[0083] In an embodiment of the present application, the evaluation bandwidth refers to the available bandwidth dynamically estimated by the client according to the current network condition, which is used to guide the amount of data request sent. The evaluation bandwidth can be dynamically adjusted by combining the received bandwidth and the changing trend of RTT.

[0084] In the embodiments of the present application, if the received bandwidth is high and the RTT is stable, the evaluation bandwidth can be appropriately increased; if the RTT shows an increasing trend, the evaluation bandwidth may need to be decreased.

[0085] Step S103, adjust the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage.

[0086] In the embodiments of the present application, the bandwidth usage refers to the actual network usage of the client under the current evaluation bandwidth. The bandwidth usage includes whether the received bandwidth exceeds or is lower than the upper and lower threshold values of the evaluation bandwidth. The bandwidth usage can be judged by comparing the received bandwidth with the upper and lower threshold values of the evaluation bandwidth. For example, if the received bandwidth exceeds the upper threshold value, it indicates that the network bandwidth may not be fully utilized; if the received bandwidth is lower than the lower threshold value, it indicates that there may be network congestion.

[0087] In the embodiments of the present application, the evaluation bandwidth can be adjusted according to the bandwidth usage. For example, the evaluation bandwidth can be increased or decreased.

[0088] The method provided by the embodiments of the present application can accurately obtain the evaluation bandwidth by obtaining the changing trends of the received bandwidth and the round-trip time during the communication process between the client and the server; and can dynamically adjust the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage, which can improve the utilization rate of the bandwidth and the user experience.

[0089] In some embodiments, step S102 can be implemented through the following steps:

[0090] Step S1021, determine the detection result according to the changing trend and the comparison result between the current received bandwidth and the current probing standard bandwidth.

[0091] In the embodiments of the present application, the probing standard bandwidth refers to the bandwidth value used by the client to send data requests during the bandwidth probing stage. The probing standard bandwidth will be gradually adjusted during the probing process to find the bottleneck bandwidth of the network. The received bandwidth corresponding to the current round of bandwidth probing stage is the current received bandwidth, and the probing standard bandwidth corresponding to the current round of bandwidth probing stage is the current probing standard bandwidth. During the bandwidth probing stage, the client can gradually increase the probing standard bandwidth according to a preset multiple, and judge the detection result according to the changing trends of the received bandwidth and the RTT. The adjustment of the probing standard bandwidth is dynamic. By gradually increasing the bandwidth value, the bottleneck bandwidth of the network can be found.

[0092] In the embodiments of the present application, the detection result refers to whether the current detection is successful, failed or pending judged by the client according to the comparison result between the received bandwidth and the probing standard bandwidth and the changing trend of the RTT during the bandwidth probing stage. The detection result can be obtained based on the comprehensive analysis of the changing trends of the received bandwidth and the RTT.

[0093] In the embodiments of the present application, by comparing the received bandwidth with the detected standard bandwidth, it can be determined whether the available bandwidth of the current network path is higher than the current detection value, and the RTT change trend can indicate whether there are signs of network congestion. Therefore, the detection result can be determined by combining the received bandwidth and the RTT change trend.

[0094] In the embodiments of the present application, the number of consecutive sampling successes and the number of consecutive sampling failures can be determined by comparing the received bandwidth with the detected standard bandwidth, and the detection result can be obtained by combining the number of consecutive sampling successes or the number of consecutive sampling failures with the RTT change trend.

[0095] In the embodiments of the present application, when the change trend is a non-increasing trend and the number of consecutive sampling successes reaches a preset number, it indicates that the detection is successful at this time. A successful detection means that the current detected standard bandwidth can effectively utilize the network bandwidth, and the network condition is good, and there is still room for bandwidth improvement. When the change trend is a non-increasing trend, the number of consecutive sampling successes is less than the preset number, and the number of consecutive sampling failures is less than the preset number, it indicates that the detection result is pending at this time. When the change trend is an increasing trend or when the change trend is a non-increasing trend and the number of consecutive sampling failures reaches the preset number, it indicates that the detection fails at this time. A failed detection indicates that the network is congested or the bandwidth has reached the upper limit.

[0096] Step S1022, when the detection result is that the detection is not failed, based on the detection result and the current detected standard bandwidth, determine the detected standard bandwidth for the next detection, and return to the step of determining the detection result according to the change trend and the comparison result between the current received bandwidth and the current detected standard bandwidth.

[0097] In the embodiments of the present application, the detection not being failed may include: the detection being successful or the detection result being pending. If the detection result is that the detection is successful, adjust the detected standard bandwidth for the next detection based on the current detected standard bandwidth; if the detection result is that the detection result is pending, determine the current detected standard bandwidth as the detected standard bandwidth for the next detection until the bottleneck bandwidth of the network is found.

[0098] When the detection is successful, it indicates that the current detected standard bandwidth may be lower than the bottleneck bandwidth of the network, and it is necessary to continue to increase the detected standard bandwidth to find the optimal evaluation bandwidth. The detected standard bandwidth for the next detection can be adjusted by a preset multiple, and the preset multiple can be configured. Exemplarily, it can be configured to be 2 times. After obtaining the detected standard bandwidth for the next detection, continue to perform the detection based on the detected standard bandwidth for the next detection. Exemplarily, if the current detected standard bandwidth is 1 MB / s, the bandwidth value for the next detection is adjusted to 2 MB / s.

[0099] In the embodiments of the present application, the detection result being pending means that the current detection result is not sufficient to clearly determine whether the detection is successful or failed, and further detection is required. When the comparison result between the received bandwidth and the detection standard bandwidth and the RTT change trend are not sufficient to clearly determine, it is determined that the detection result is pending. Exemplarily, if the current detection standard bandwidth is 1 MB / s, the bandwidth value for the next detection is still 1 MB / s.

[0100] The method provided by the embodiments of the present application determines the detection result (success or pending) by dynamically adjusting the detection standard bandwidth, combining the received bandwidth and the RTT change trend, and determines the bandwidth value for the next detection based on the detection result. In this way, it is possible to gradually approach the bottleneck bandwidth of the network and ensure that the evaluated bandwidth always closely matches the actual situation of the network.

[0101] In some embodiments, step S1021 may include the following steps:

[0102] Step S211, determine whether the number of consecutive sampling successes and the number of consecutive sampling failures reach their respective preset numbers according to the comparison result between the current received bandwidth and the current detection standard bandwidth.

[0103] In the embodiments of the present application, the number of consecutive sampling successes refers to the number of times that the received bandwidth exceeds a certain proportion of the detection standard bandwidth during consecutive multiple detections by the client. The number of consecutive sampling failures refers to the number of times that the received bandwidth is lower than a certain proportion of the detection standard bandwidth during consecutive multiple detections by the client.

[0104] In the embodiments of the present application, since a single sampling may be affected by instantaneous fluctuations (such as burst traffic, Wi-Fi interference), resulting in incorrect decisions, the number of consecutive sampling successes and the number of consecutive sampling failures can improve the stability of the detection stage and avoid misjudgment. In addition, if the bandwidth is immediately increased every time the sampling is successful, it may lead to: the bandwidth is increased too quickly, exceeding the actual capacity of the network, and the bandwidth is frequently increased and decreased, affecting the user experience. The number of consecutive sampling successes and the number of consecutive sampling failures can prevent overly aggressive bandwidth changes and achieve smooth and controllable bandwidth changes.

[0105] In the embodiments of the present application, it can be determined whether the current received bandwidth is greater than or equal to a first preset proportion of the current detection standard bandwidth; if so, it is determined that the current detection sampling is successful, the number of consecutive sampling successes is incremented by 1, and the number of consecutive sampling failures is cleared; if not, it is determined that the current detection sampling is failed, the number of consecutive sampling failures is incremented by 1, and the number of consecutive sampling successes is cleared.

[0106] In the embodiments of the present application, the first preset ratio can be configured. Exemplarily, it can be configured as a value between 60% and 80%. Taking 70% as an example, if the received bandwidth ≥ the detection standard bandwidth × 70%, it is determined that the current detection sampling is successful, the number of consecutive successful samplings is incremented by 1, and the number of consecutive failed samplings is cleared. If the received bandwidth < the detection standard bandwidth × 70%: it is determined that the current detection sampling fails. The number of consecutive failed samplings is incremented by 1, and the number of consecutive successful samplings is cleared.

[0107] Step S212, if the change trend is a non-increasing trend and the number of consecutive successful samplings reaches the preset number, it is determined that the detection result is a successful detection.

[0108] In the embodiments of the present application, the change trend being a non-increasing trend can mean that the RTT remains stable or decreases over a period of time. A non-increasing trend indicates a low network latency and good network conditions. When the change trend is a non-increasing trend, the number of consecutive successful samplings can be compared with the preset number, and the detection result can be determined as a successful detection based on the comparison result.

[0109] In the embodiments of the present application, if the number of consecutive successful samplings reaches the preset number, it is determined that the detection result is a successful detection.

[0110] In the embodiments of the present application, the preset number can be configured. Exemplarily, it can be configured as any value between 1 and 3. Taking the preset number as 2 as an example, if the change trend is a non-increasing trend and the number of consecutive successful samplings reaches 2 times, then it is determined that the detection result is a successful detection.

[0111] Step S213, if the change trend is a non-increasing trend, the number of consecutive successful samplings is less than the preset number, and the number of consecutive failed samplings is less than the preset number, it is determined that the detection result is pending.

[0112] In the embodiments of the present application, the number of consecutive successful samplings can be compared with the preset number, and the number of consecutive failed samplings can be compared with the preset number, thereby obtaining a comparison result. The detection result is determined based on the comparison result.

[0113] Continuing with the above example, if the change trend is a non-increasing trend, the number of consecutive successful samplings is less than 2 times, and the number of consecutive failed samplings is less than 2 times, it is determined that the detection result is pending.

[0114] The method provided in the embodiments of the present application can determine the detection result (success, pending) by combining the received bandwidth and the RTT change trend. Through the statistics of the number of consecutive successful samplings and the number of consecutive failed samplings, the network conditions can be effectively evaluated, ensuring the accuracy and reliability of the detection result.

[0115] In some embodiments, step S1021 may further include:

[0116] In step S214, if the change trend is an increasing trend, it is determined that the detection result is a detection failure.

[0117] In the embodiments of the present application, a detection failure means that during the bandwidth detection phase of the client, based on the comparison result between the received bandwidth and the detection standard bandwidth and the RTT change trend, it is determined that the current detection result is a failure.

[0118] In step S215, if the change trend is a non-increasing trend and the number of consecutive sampling failures reaches a preset number, it is determined that the detection result is a detection failure.

[0119] In the embodiments of the present application, if the RTT shows a non-increasing trend, but the number of consecutive sampling failures reaches a preset number (such as 2 times), it is determined that the detection fails.

[0120] The method provided by the embodiments of the present application determines whether the detection result is a detection failure by combining the received bandwidth and the RTT change trend. Through the statistics of the number of consecutive sampling failures, the network condition can be effectively evaluated to ensure the accuracy and reliability of the detection result.

[0121] Combined with the above embodiments, the embodiments of the present application illustrate the implementation manner of step S102. When entering the bandwidth detection phase, each round of detection increases in multiples according to the setting. For example, the first round will detect according to the current detection standard bandwidth of 2 MB / s. When the current received bandwidth exceeds a certain proportion (default 0.7) of the current detection standard bandwidth, for example, the received bandwidth is 1.5 MB / s, it is counted as a successful sampling, and at the same time, the number of failed samplings is cleared. When the received bandwidth is lower than a certain proportion of the current detection standard bandwidth, for example, the received bandwidth is 1 MB / s, it is counted as a failed sampling, and at the same time, the number of successful samplings is cleared. When the number of consecutive successful samplings exceeds a preset number (default 2), it is regarded as a successful detection in this round, and continue to enter the next round of bandwidth detection phase, that is, use 4 MB / s for detection. If the number of consecutive failures exceeds a preset number (default 2), or the state obtained by the RTT trend evaluation module is an increasing trend (indicating an increase in network latency), it is regarded as a failed detection in this round, and the currently detected received bandwidth is used as the evaluation bandwidth.

[0122] In some embodiments, step S101 may include the following steps:

[0123] In step S1011, a data request is sent to the server based on the current detection standard bandwidth to receive response data from the server.

[0124] In the embodiments of the present application, the current detection standard bandwidth refers to the bandwidth value used by the client to send data requests within the current detection period. The current detection standard bandwidth will be dynamically adjusted as the detection progresses. A data request refers to a request sent by the client to the server to obtain data on the server. Response data refers to the data returned by the server to the client after receiving the client's data request.

[0125] In the embodiments of the present application, the client sends data requests to the server at preset time intervals based on the current detection standard bandwidth. The preset time interval can be configured. Exemplarily, the preset time interval is 100 ms. When sending the request data, the client records the timestamp of sending the request and waits for the response data from the server. The amount of data sent in the data request is equal to the preset time interval multiplied by the evaluation bandwidth.

[0126] Step S1012: Determine the changing trends of the receiving bandwidth and the round-trip time based on the response data.

[0127] In the embodiments of the present application, after the client obtains the response data, it can determine the changing trends of the receiving bandwidth and the round-trip time based on the response data.

[0128] The method provided by the embodiments of the present application can effectively evaluate the network condition and ensure the accuracy and reliability of the detection results by sending data requests to the server based on the current detection standard bandwidth, receiving response data from the server, and then determining the changing trends of the receiving bandwidth and the round-trip time.

[0129] In some embodiments, step S1012 can be implemented through the following steps:

[0130] Step S121: Determine the round-trip time and the receiving timestamp corresponding to the response data.

[0131] In the embodiments of the present application, the response data can be parsed to obtain the receiving timestamp. Since the client records the sending timestamp when sending the request, the difference between the sending timestamp and the receiving timestamp can be calculated based on the receiving timestamp to obtain the round-trip time.

[0132] Exemplarily, when the client sends a data request, it records the timestamp of sending the request (T1). When the client receives the response data from the server, it records the timestamp of receiving the response data (T2). Then the round-trip time (RTT): RTT = T2 - T1.

[0133] Step S122: Determine the first changing trend of the round-trip time based on the round-trip time and the receiving timestamp.

[0134] In the embodiments of the present application, the first change trend of the round-trip time refers to the change of RTT over a period of time, which is usually divided into a "growing trend" and a "non-growing trend". The RTT values over a period of time can be recorded through a sliding window, and the growth ratio of adjacent RTTs can be calculated to determine whether the RTT shows a growing trend.

[0135] In the embodiments of the present application, the client uses a sliding window to record the RTT values over a period of time. The sliding window has the current time as the end time and a preset duration before the current time as the start time. When the earliest sampling timestamp in the window exceeds the preset duration, the sampling is discarded. The preset duration can be configured. Exemplarily, the preset duration can be configured to be from 150 ms to 300 ms. In a specific example, the preset duration can be configured to be 200 ms.

[0136] In the embodiments of the present application, the growth ratio of adjacent RTTs can be calculated, and then it can be determined whether the RTT shows a growing trend. By judging the growth ratio, it can be determined whether the growth ratio exceeds a preset threshold. If it exceeds the preset threshold, the number of growths is recorded.

[0137] In the embodiments of the present application, the growth ratio can be calculated in the following way:

[0138] Growth ratio = (current RTT - previous RTT) / previous RTT.

[0139] The preset number can be configured. Exemplarily, the preset number can be determined to be from 20% to 40%. In a specific example, it can be configured to be 30%. That is, if the growth ratio exceeds 30%, the number of growths is recorded. If the total number of growths in the sliding window exceeds the preset threshold, it is determined that the RTT shows a growing trend.

[0140] Step S123, determining the received bandwidth based on the response data and the reception timestamp corresponding to the response data.

[0141] In the embodiments of the present application, the received bandwidth is determined based on the data volume of the response data received within the sliding window and the time difference. The time difference is the difference between the latest reception timestamp and the earliest reception timestamp of the response data received within the sliding window. The sliding window has the current time as the end time and the time corresponding to the preset duration before the current time as the start time.

[0142] In the embodiments of the present application, the data volume of the response data refers to the total size of the data received by the client from the server, usually measured in bytes (Byte). When the client receives the response data from the server, it records the data volume of the received data. The time difference refers to the difference between the latest reception timestamp and the earliest reception timestamp of the response data received within the sliding window, usually measured in milliseconds (ms). When the client receives the response data, it records the reception timestamp and calculates the difference between the latest reception timestamp and the earliest reception timestamp. The latest reception timestamp refers to the time point when the response data was last received within the sliding window. The earliest reception timestamp refers to the time point when the response data was first received within the sliding window. The preset duration refers to the time span of the sliding window, usually measured in milliseconds (ms) (for example, 200 ms).

[0143] In the embodiments of the present application, the client calculates the total data volume within the sliding window: Total data volume = sum of the data volumes of all response data within the sliding window. The client calculates the time difference: Time difference = latest reception timestamp - earliest reception timestamp. The client calculates the reception bandwidth: Reception bandwidth = total data volume / time difference.

[0144] Figure 2 It is a schematic diagram for calculating the reception bandwidth provided by the embodiments of the present application. As Figure 2 shown, if the total data volume within the sliding window is 2000 bytes and the time difference is 100 ms, then the reception bandwidth is 20 kb / s.

[0145] The method provided by the embodiments of the present application records the received data volume and reception timestamp within a period of time through the sliding window mechanism, calculates the total data volume and time difference within the sliding window, and then determines the reception bandwidth. By dynamically adjusting the calculation of the sliding window and time difference, it can effectively evaluate the network condition and ensure the accuracy and reliability of the detection result.

[0146] The method provided by the embodiments of the present application can effectively evaluate the network condition and ensure the accuracy and reliability of the detection result by determining the round-trip time corresponding to the response data and the reception timestamp, and then determining the first change trend of the round-trip time and the reception bandwidth.

[0147] In some embodiments, the change trend includes: an increasing trend or a non-increasing trend. When the total number of increases corresponding to the sliding window is greater than or equal to the preset number threshold, the change trend is an increasing trend. When the total number of increases corresponding to the sliding window is less than the preset number threshold, the change trend is a non-increasing trend. The sliding window ends at the current time and starts at the time corresponding to the preset duration before the current time. The total number of increases is determined based on the number of increases recorded within the sliding window. The number of increases is obtained based on the growth ratio of the round-trip times corresponding to adjacent response data within the sliding window.

[0148] In the embodiments of the present application, a sliding window is a mechanism for recording network data over a period of time, and is usually used to dynamically evaluate the network condition. The sliding window has the current time as the end time and a preset duration before the current time as the start time. When the earliest sampling timestamp in the window exceeds the preset duration, the sampling is eliminated. The data in the sliding window is used to calculate the receiving bandwidth and the change trend of the RTT. The total number of growth times refers to the sum of the number of RTT growth times recorded in the sliding window. The number of growth times can be calculated by calculating the growth ratio of adjacent RTTs. If the growth ratio exceeds the preset threshold, the number of growth times is recorded. The preset number threshold refers to the minimum value of the total number of growth times required to determine that the change trend is an increasing trend. If the total number of growth times in the sliding window is greater than or equal to the preset number threshold, it is determined that the change trend is an increasing trend. The number of growth times refers to the number of times that the growth ratio of adjacent RTTs in the sliding window exceeds the preset threshold.

[0149] Exemplarily, taking the client as an example to determine the change trend is described below. The client can use a sliding window to record the RTT values over a period of time. The client calculates the growth ratio of adjacent RTTs and records the number of growth times: if the growth ratio exceeds the preset threshold (for example, 30%), the number of growth times is recorded. The client calculates the total number of growth times in the sliding window, and the client judges the change trend: if the total number of growth times ≥ the preset number threshold (for example, 2 times): it is judged that the change trend is an increasing trend. If the total number of growth times < the preset number threshold (for example, 2 times): it is judged that the change trend is a non-increasing trend.

[0150] Exemplarily, Figure 3 is a schematic diagram for determining that the change trend is an increasing trend provided by the embodiments of the present application. As Figure 3 shown, within the sliding window, the total number of RTT growth samplings is 3, exceeding the preset number threshold, then it is determined that the RTT change trend is an increasing trend.

[0151] The method provided by the embodiments of the present application records the RTT values over a period of time through the sliding window mechanism, calculates the growth ratio of adjacent RTTs, counts the number of growth times, and then judges the change trend (increasing trend or non-increasing trend). Through the statistics of the number of growth times, the network delay situation can be effectively evaluated, ensuring the accuracy and reliability of the detection results.

[0152] In some embodiments, when the growth ratio of the round-trip time corresponding to adjacent response data exceeds the first threshold and is less than the second threshold, the number of growth times is recorded as the first value; when the growth ratio of the round-trip time corresponding to adjacent response data exceeds the second threshold, the number of growth times is recorded as the second value; when the growth ratio is less than the first threshold, the number of growth times is recorded as 0, where the first value is less than the second value and the first value is greater than 0.

[0153] In the embodiments of the present application, adjacent response data refers to the server response data received by the client in two consecutive probes. The first threshold is the minimum value for determining whether the RTT growth ratio is significant, usually expressed as a percentage. The first threshold can be set, for example, it can be 20% to 35%, and specifically can be set to 30%. The second threshold is the maximum value for determining whether the RTT growth ratio is significant, usually expressed as a percentage. The second threshold can be configured. Exemplarily, it can be configured to 50% to 110%, and specifically can be set to 100%. The first value refers to the growth count value recorded when the growth ratio exceeds the first threshold but is less than the second threshold. Exemplarily, the first value can be 1. The second value refers to the growth count value recorded when the growth ratio exceeds the second threshold. Exemplarily, the second value can be 2. If the growth ratio exceeds the second threshold, the growth count is recorded as the second value.

[0154] Exemplarily, taking the first threshold as 30% and the second threshold as 100% as an example, if the growth ratio > the first threshold (e.g., 30%) and the growth ratio < the second threshold (e.g., 100%): record the growth count as the first value (e.g., 1). If the growth ratio ≥ the second threshold (e.g., 100%): record the growth count as the second value (e.g., 2). If the growth ratio ≤ the first threshold (e.g., 30%): record the growth count as 0.

[0155] The following takes a specific RTT as an example for illustration. Assume that the RTT of the previous response data is 10ms and the RTT of the current response data is 12ms, then the count is not increased. If the RTT of the current response data is 14ms, then the RTT growth count is incremented by 1. If the RTT of the current response data is 20ms, then the RTT growth count is incremented by 2 (plus 1 additionally). If the total RTT growth count within the current sliding window is 2, then output the growth trend. If it is 0 or 1, then output the non - growth trend. The growth trend can be represented as: Increase state, and the non - growth trend can be represented as: Hold state.

[0156] In the embodiments of the present application, the growth ratio of adjacent RTTs is calculated through the sliding window mechanism, and the growth count (the first value or the second value) is recorded according to the range of the growth ratio. Through the statistics of the growth count, the network latency situation can be effectively evaluated to ensure the accuracy and reliability of the detection results.

[0157] In some embodiments, step S103 can be implemented through the following steps:

[0158] Step S1031, send a data request to the server according to the evaluated bandwidth to obtain the server response data.

[0159] In the embodiments of the present application, the client can send data requests to the server based on the current evaluated bandwidth at a preset time interval (e.g., 100 ms).

[0160] Step S1032: Determine the current received bandwidth based on the response data.

[0161] In the embodiments of the present application, the current received bandwidth refers to the rate at which the client receives data from the server within the current detection period. The client can use a sliding window to record the amount of received data and the receive timestamps over a period of time. The client can calculate the received bandwidth as the total amount of data within the sliding window / (the latest receive timestamp - the earliest receive timestamp).

[0162] Step S1033: Dynamically adjust the evaluated bandwidth based on the current received bandwidth.

[0163] In the embodiments of the present application, dynamically adjusting the evaluated bandwidth can be increasing the evaluated bandwidth, decreasing the evaluated bandwidth, or keeping the evaluated bandwidth unchanged.

[0164] In some embodiments, S1031 can be implemented through the following steps:

[0165] Step S311: Obtain the steady-state transmission bandwidth based on the evaluated bandwidth and the increment factor.

[0166] In the embodiments of the present application, the increment factor refers to a proportionality factor that the client adds on the basis of the evaluated bandwidth during the steady-state update phase, and is used to improve bandwidth utilization. The increment factor is usually set to a value greater than 1. Exemplarily, the increment factor can be configured to be between 1.1 and 1.3. In a specific example application, the increment factor can be configured to be 1.2.

[0167] In the embodiments of the present application, the steady-state transmission bandwidth = evaluated bandwidth × increment factor. For example, if the evaluated bandwidth is 1 MB / s and the increment factor is 1.2, then the steady-state transmission bandwidth is 1.2 MB / s.

[0168] Step S312: Send a data request to the server based on the steady-state transmission bandwidth to obtain the response data of the server.

[0169] In the embodiments of the present application, the client sends data requests to the server at a preset time interval based on the steady-state transmission bandwidth.

[0170] The method provided by the embodiments of the present application improves bandwidth utilization through the increment factor, ensuring that the client can make full use of the network bandwidth.

[0171] In some embodiments, step S1033 can be implemented through the following steps:

[0172] Step S331: Obtain a sampling result including the number of over-limit samplings and the number of under-limit samplings based on the current received bandwidth.

[0173] In the embodiments of the present application, the number of over-limit samplings refers to the number of times the current received bandwidth exceeds the upper threshold of the evaluation bandwidth. The number of under-limit samplings refers to the number of times the current received bandwidth is lower than the lower threshold of the evaluation bandwidth.

[0174] In the embodiments of the present application, the current received bandwidth can be compared with the upper and lower threshold values corresponding to the evaluation bandwidth; if the current received bandwidth is greater than the upper threshold of the evaluation bandwidth, record that the number of over-limit samplings is incremented by 1 and clear the number of under-limit samplings; if the current received bandwidth is less than the lower threshold of the evaluation bandwidth, record that the number of under-limit samplings is incremented by 1 and clear the number of over-limit samplings; if the current received bandwidth is between the lower threshold and the upper threshold, clear both the number of over-limit samplings and the number of under-limit samplings.

[0175] In the embodiments of the present application, the upper threshold refers to a proportional upper limit of the evaluation bandwidth, which is used to determine whether the current received bandwidth exceeds the upper limit of the evaluation bandwidth. The upper threshold can be configured and can be configured as the evaluation bandwidth multiplied by the upper ratio. The lower threshold refers to a proportional lower limit of the evaluation bandwidth, which is used to determine whether the current received bandwidth is lower than the lower limit of the evaluation bandwidth. The lower threshold can be configured as the evaluation bandwidth multiplied by the lower ratio. The upper ratio can be configured, and the lower ratio can be configured. By configuring the upper and lower ratios, the upper and lower threshold values can be configured. Exemplarily, the upper threshold = evaluation bandwidth × 1.1. The lower threshold = evaluation bandwidth × 0.9.

[0176] Step S332: If the number of over-limit samplings is greater than the number threshold, increase the evaluation bandwidth.

[0177] In the embodiments of the present application, the number threshold refers to the minimum number of over-limit samplings or under-limit samplings required to determine whether the evaluation bandwidth needs to be adjusted. Exemplarily, the number threshold can be configured as: 1 to 3, specifically, it can be configured as 2 times.

[0178] In the embodiments of the present application, if the number of over-limit samplings > the number threshold: increase the evaluation bandwidth.

[0179] In the embodiments of the present application, the evaluation bandwidth can be increased by a preset ratio. For example, it can be increased by 10%.

[0180] Step S333: If the number of under-limit samplings is greater than the number threshold, decrease the evaluation bandwidth.

[0181] In the embodiments of the present application, the evaluation bandwidth can also be decreased by a preset ratio. For example, it can be decreased by 10%.

[0182] Step S334: If both the number of samples exceeding the upper limit and the number of samples exceeding the lower limit do not exceed the number threshold, maintain the evaluation bandwidth unchanged.

[0183] Exemplarily, the evaluation bandwidth in the steady-state update phase is 1 MB / s, and the steady-state transmission bandwidth is 1.2 MB / s. Only after the received bandwidth exceeds the upper and lower threshold values (0.9 / 1.1) of the evaluation bandwidth a certain number of times (default 2), will the evaluation bandwidth be updated according to the floating ratio (default 0.9 / 1.1). For example, the current evaluation bandwidth is 1 MB / s. When the received bandwidth exceeds the upper limit, such as 1.2 MB / s, one sample exceeding the upper limit is counted. When the consecutive number of samples exceeding the upper limit exceeds the number threshold (default 2), it is updated to 1.1 MB / s according to the upward floating ratio. Conversely, when the received bandwidth exceeds the lower threshold, such as 0.8 MB / s, one sample exceeding the lower limit is counted. When the consecutive number of samples exceeding the lower limit exceeds the number threshold (default 2), it is updated to 0.9 MB / s according to the downward floating ratio. When a sample exceeding the upper limit is counted, the number of samples exceeding the lower limit is cleared. Conversely, when a sample exceeding the lower limit is counted, the number of samples exceeding the upper limit is cleared. If the current received bandwidth is between the lower threshold and the upper threshold, both the number of samples exceeding the upper limit and the number of samples exceeding the lower limit are cleared.

[0184] Based on the foregoing embodiments, the embodiments of the present application further provide a method for adjusting the evaluation bandwidth. The method for adjusting the evaluation bandwidth can be used in a device for adjusting the evaluation bandwidth. The device includes: an RTT trend evaluation module, a sending module, and a received bandwidth evaluation module.

[0185] Figure 4 For the exemplary intention of a method for adjusting the evaluation bandwidth provided by the embodiments of the present application, as Figure 4 shown, the sending module is responsible for sending request data to the server at a fixed time interval according to the evaluation bandwidth. There may be multiple server nodes for the request. After receiving the data returned by the server, the RTT and the received timestamp are input to the RTT trend evaluation module to obtain the RTT change trend within a period of time, which reflects the change in network latency; the received data volume and the received timestamp are input to the received bandwidth evaluation module to obtain the received bandwidth value within a period of time. The received bandwidth and the RTT change trend are used as inputs and input to the network bandwidth dynamic evaluation module to dynamically evaluate the evaluation bandwidth of the current network, and then guide the amount of request data sent by the sending module to form a closed loop.

[0186] In the embodiments of the present application, the sending module sends a certain amount of data requests to the used server nodes at regular intervals (default 100 ms). The request amount is calculated according to the formula: request data volume = time (100 ms) * evaluation bandwidth.

[0187] In the embodiment of the present application, the input of the RTT trend evaluation module is the RTT and the reception timestamp, and the maintained sliding window is updated according to the input. What is recorded in the window is the number of RTT growths within a period of time. If the current RTT exceeds the first threshold (default 30%) compared with the previous RTT, the growth count is incremented by 1. If it exceeds the second threshold (default 100%), the growth count is additionally incremented by a certain value (default 1). The sliding window maintains the sampling information within the past period of time (default 200 ms). When the reception timestamp of the earliest sampling in the window exceeds the threshold (200 ms) from the current time, the sampling is eliminated. When the total growth count in the sliding window exceeds the preset count threshold (default 2), the Increase state is output, indicating that the RTT has shown an increasing trend in the past period of time; when it is lower than the preset count threshold, the Hold state is output, indicating that the RTT has basically remained unchanged in the past period of time.

[0188] For example: Assume the previous RTT was 10 ms. If the RTT of this sampling is 12 ms, the count is not incremented. If it is 14 ms, the RTT growth count is incremented by 1. If it is 20 ms, the RTT growth count is incremented by 2 (an additional increment of 1). If the RTT growth count in the current sliding time window is 2, the Increase state is output. If it is 0 or 1, the Hold state is output.

[0189] In the embodiment of the present application, the input of the received bandwidth evaluation module is the number of bytes of the received data packet and the reception timestamp, and the maintained sliding window is updated according to the input. The sliding window maintains the sampling information within the past period of time (default 200 ms). When the reception timestamp of the earliest sampling in the window exceeds the threshold (200 ms) from the current time, the sampling is eliminated. The calculation method is: received bandwidth = total data volume in the window / (latest sampling timestamp - earliest sampling timestamp).

[0190] The network bandwidth dynamic evaluation module is based on the set initial bandwidth (default 1MB / s). Then it enters the initial bandwidth detection phase. Each round of detection increases by a set multiple (default 2). For example, in the first round, it will detect at 2MB / s. When the received bandwidth exceeds a certain proportion of the detected standard bandwidth (default 0.7), for example, the received bandwidth is 1.5MB / s, it is counted as a successful sample, and at the same time, the number of failed samples is cleared. When the received bandwidth is lower than the threshold, for example, the received bandwidth is 1MB / s, it is counted as a failed sample, and at the same time, the number of successful samples is cleared. When the number of consecutive successful samples exceeds the threshold (default 2), it is regarded as a successful detection in this round, and it continues to enter the next round of bandwidth detection, that is, it detects at 4MB / s. If the number of consecutive failures exceeds the threshold (default 2), or the state obtained by the RTT trend evaluation module is the Increase state (which means the network latency increases), it is regarded as a failed detection in this round, and the currently detected received bandwidth is used as the evaluation bandwidth value, and it enters the steady-state update phase. The purpose of bandwidth detection is to detect the bottleneck bandwidth of the current network and improve bandwidth utilization.

[0191] In the steady-state update phase, usually keep the evaluation bandwidth unchanged. The bandwidth used for calculating the sent request data volume will be multiplied by an increment coefficient (default 1.2) on the basis of the evaluation bandwidth. For example, in the steady-state update phase, the evaluation bandwidth is 1MB / s, and the actual calculation of the sent data request volume is calculated according to 1.2MB / s. Only after the received bandwidth exceeds the upper and lower threshold values (0.9 / 1.1) of the evaluation bandwidth a certain number of times (default 2), will the evaluation bandwidth be updated according to the floating ratio (default 0.9 / 1.1). For example, the current evaluation bandwidth is 1MB / s. When the received bandwidth exceeds the upper limit, for example, 1.2MB / s, the evaluation bandwidth will count a sample of exceeding the upper limit. When the number of consecutive samples of exceeding the upper limit exceeds the threshold (default 2), it is updated to 1.1MB / s according to the floating-up ratio. On the contrary, when the received bandwidth exceeds the lower limit, for example, 0.8MB / s, the evaluation bandwidth will count a sample of exceeding the lower limit. When the number of consecutive samples of exceeding the lower limit exceeds the threshold (default 2), it is updated to 0.9MB / s according to the floating-down ratio. When counting the sample of exceeding the upper limit, the number of samples of exceeding the lower limit is cleared. On the contrary, when counting the sample of exceeding the lower limit, the number of samples of exceeding the upper limit is cleared. When not exceeding the upper and lower limits, both are cleared. The purpose of steady-state update is to timely identify network fluctuations and make adjustments.

[0192] The method provided by the embodiment of this application guides the sent request data volume through the evaluated bandwidth, identifies the current network situation according to the received data, continuously adjusts the evaluated bandwidth dynamically, makes the evaluated bandwidth always close to the link bottleneck of the network, improves the bandwidth utilization as much as possible, and while using as much network bandwidth as possible, does not introduce additional latency and packet loss, reduces lags, and improves the user experience.

[0193] Based on the foregoing embodiments, the embodiments of the present application provide a specific example, in which the initial detection standard bandwidth is 1Mbps, the preset number threshold is 2 times, the number threshold is 2 times, the preset number is 2 times, the first preset ratio is 80%, the first threshold for RTT growth is 10%, the second threshold for RTT growth is 30%, the sliding window length is 200ms, the first value is 1, the second value is 2, the increase coefficient is 1.2, and the upper and lower limit thresholds of the evaluation bandwidth are ±15% of the evaluation bandwidth.

[0194] In the bandwidth detection stage, the client starts to detect from the initial 1Mbps, and the RTT in the sliding window changes from 20ms to 23ms. At this time, the RTT growth ratio is greater than 10% and less than 30%, and the recorded growth number is 1. At this time, the total growth number in the sliding window can be determined. If the total growth number is less than the preset number threshold 2 at this time, the change trend is judged to be a non-growth trend, and the receiving bandwidth is 0.75Mbps. At this time, the receiving bandwidth is less than the first preset ratio (0.8Mbps) of the standard bandwidth of this detection. At this time, it can be judged that the detection sampling has failed, and the number of consecutive failed samplings is increased by 1, and the number of consecutive successful samplings = 0. If the number of consecutive failed samplings is greater than the preset number 2, it is determined that the detection has failed, and 0.75Mbps is determined as the evaluation bandwidth.

[0195] In the dynamic adjustment stage, the evaluation bandwidth = 0.75Mbps, the steady-state sending bandwidth = 0.75×1.2 = 0.9Mbps, and data is sent based on the steady-state sending bandwidth. If the receiving bandwidth is 0.9Mbps, which is greater than 0.75Mbps multiplied by 15%, the number of sampling times exceeding the upper limit is recorded plus 1. If the number of sampling times exceeding the upper limit is greater than the number threshold of 2, the evaluation bandwidth can be increased from 0.75Mbps to 0.9Mbps.

[0196] For another example, in the bandwidth detection phase, the client starts detecting from the initial 1Mbps, and the RTT in the sliding window changes from 20ms to 27ms. At this time, the RTT growth rate exceeds 30%, and the recorded growth number is 2. At this time, the total growth number in the sliding window can be determined. If the total growth number is greater than the preset number threshold 2 at this time, the change trend is judged to be an increasing trend, and the detection is determined to have failed. If the receiving bandwidth is 0.75Mbps, 0.75Mbps is determined as the evaluation bandwidth.

[0197] In the dynamic adjustment stage, the evaluation bandwidth = 0.75Mbps, the steady-state sending bandwidth = 0.75×1.2 = 0.9Mbps, and data is sent based on the steady-state sending bandwidth. If the receiving bandwidth is 0.6Mbps, which is less than 0.75Mbps multiplied by 15%, the number of sampling times exceeding the lower limit is recorded plus 1. If the number of sampling times exceeding the lower limit is greater than the number threshold of 2, the increase can be reduced from 0.75Mbps to 0.7Mbps.

[0198] For another example, in the bandwidth detection phase, the client starts detecting from an initial 1 Mbps. If the RTT within the sliding window changes from 20 ms to 23 ms, and at this time the RTT growth ratio is greater than 10% and less than 30%, then the growth count is recorded as 1. At this time, the total growth count within the sliding window can be determined. If the total growth count is less than the preset count threshold of 2, it is determined that the change trend is a non-growth trend, and the received bandwidth is 0.9 Mbps. At this time, the received bandwidth is greater than the first preset ratio (0.8 Mbps) of the current detection standard bandwidth, so it can be determined that the detection sampling is successful, the continuous sampling success count is incremented by 1, and the continuous sampling failure count = 0. If the continuous sampling success count is greater than the preset count of 2, it is determined that the detection is successful. At this time, the detection standard bandwidth is set to 2 Mbps and the detection continues. If the detection fails at 2 Mbps and the received bandwidth is 1.5 Mbps, then 1.5 Mbps is determined as the evaluation bandwidth.

[0199] In the dynamic adjustment phase, the evaluation bandwidth = 1.5 Mbps, the steady-state transmission bandwidth = 1.5 × 1.2 = 1.8 Mbps. Data is transmitted based on the steady-state transmission bandwidth. If the received bandwidth is 2.2 Mbps, which is greater than 15% of 1.8 Mbps, then the over-limit sampling count is incremented by 1. If the over-limit sampling count is greater than the count threshold of 2, then 1.5 Mbps can be increased to 1.7 Mbps.

[0200] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not imply the order of execution. The order of execution of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

[0201] According to the foregoing embodiments, an embodiment of the present application provides an adjustment device for evaluation bandwidth. Each module included in the device, as well as each unit included in each module, can be implemented by a processor in a computer device; of course, it can also be implemented by specific logic circuits. During implementation, the processor can be a central processing unit (CPU, Central Processing Unit), a microprocessor unit (MPU, Microprocessor Unit), a digital signal processor (DSP, Digital Signal Processing), or a field programmable gate array (FPGA, Field Programmable Gate Array), etc.

[0202] An embodiment of the present application provides an adjustment device for evaluation bandwidth. Figure 5 FIG. is a schematic structural diagram of an adjustment device for evaluation bandwidth provided by an embodiment of the present application. As Figure 5 shown, the adjustment device 500 for evaluation bandwidth includes:

[0203] An acquisition module 501, configured to acquire the changing trends of the received bandwidth and the round-trip time during the communication process between the client and the server;

[0204] An evaluation module 502, configured to obtain an evaluation bandwidth according to the received bandwidth and the changing trend;

[0205] An adjustment module 503, configured to adjust the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage situation.

[0206] In some embodiments, the adjustment device 200 for the evaluation bandwidth further includes:

[0207] In some embodiments, the evaluation module 502 includes:

[0208] A first determination unit, configured to determine a detection result according to the changing trend and the comparison result between the current received bandwidth and the current detection standard bandwidth;

[0209] A second determination unit, configured to, when the detection result is that the detection is not failed, determine the detection standard bandwidth for the next detection based on the detection result and the current detection standard bandwidth, and return to the step of determining the detection result according to the changing trend and the comparison result between the current received bandwidth and the current detection standard bandwidth;

[0210] A third determination unit, configured to, when the detection result is that the detection fails, determine the current received bandwidth as the evaluation bandwidth.

[0211] In some embodiments, the detection not being failed includes: the detection being successful or the detection result being pending. The second determination unit includes:

[0212] An adjustment subunit, configured to, when the detection result is that the detection is successful, adjust the detection standard bandwidth for the next detection based on the current detection standard bandwidth;

[0213] A first determination subunit, configured to, when the detection result is that the detection result is pending, determine the current detection standard bandwidth as the detection standard bandwidth for the next detection.

[0214] In some embodiments, the first determination unit includes:

[0215] A judgment subunit, configured to judge whether the number of consecutive sampling successes and the number of consecutive sampling failures reach their respective preset numbers according to the comparison result between the current received bandwidth and the current detection standard bandwidth;

[0216] A second determination subunit, configured to, if the changing trend is a non-increasing trend and the number of consecutive sampling successes reaches the preset number, judge that the detection result is that the detection is successful;

[0217] A second determination subunit, configured to determine that the detection result is pending if the change trend is a non-growing trend, the number of consecutive successful samplings is less than a preset number, and the number of consecutive failed samplings is less than a preset number.

[0218] Among them, determining whether the number of consecutive successful samplings reaches a preset number according to the comparison result between the current received bandwidth and the current detection standard bandwidth includes:

[0219] Determining whether the current received bandwidth is greater than or equal to a first preset ratio of the current detection standard bandwidth;

[0220] If so, determining that the current detection sampling is successful, incrementing the number of consecutive successful samplings by 1, and clearing the number of consecutive failed samplings to 0;

[0221] If not, determining that the current detection sampling fails, incrementing the number of consecutive failed samplings by 1, and clearing the number of consecutive successful samplings to 0.

[0222] In some embodiments, the first determination unit further includes:

[0223] A third determination subunit, configured to determine that the detection result is a detection failure if the change trend is a growing trend;

[0224] A fourth determination subunit, configured to determine that the detection result is a detection failure if the change trend is a non-growing trend and the number of consecutive failed samplings reaches a preset number.

[0225] In some embodiments, the acquisition module includes:

[0226] A first sending unit, configured to send a data request to a server based on the current detection standard bandwidth to receive response data from the server;

[0227] A fourth determination unit, configured to determine the change trends of the received bandwidth and the round-trip time based on the response data.

[0228] In some embodiments, the fourth determination unit includes:

[0229] A fifth determination subunit, configured to determine the round-trip time and the received timestamp corresponding to the response data;

[0230] A sixth determination subunit, configured to determine the first change trend of the round-trip time based on the round-trip time and the received timestamp;

[0231] A seventh determination subunit, configured to determine the received bandwidth based on the response data and the received timestamp corresponding to the response data.

[0232] In some embodiments, the change trend includes: a growth trend or a non-growth trend. When the total number of growths corresponding to the sliding window is greater than or equal to a preset number threshold, the change trend is a growth trend. When the total number of growths corresponding to the sliding window is less than the preset number threshold, the change trend is a non-growth trend. The sliding window takes the current time as the end time and the time corresponding to the preset time before the current time as the start time. The total number of growths is determined based on the number of growths recorded in the sliding window, and the number of growths is obtained based on the growth ratio of the round-trip time corresponding to the adjacent response data in the sliding window.

[0233] In some embodiments, when the growth ratio of the round-trip time corresponding to adjacent response data exceeds a first threshold and is less than a second threshold, the number of recorded growths is a first value; when the growth ratio of the round-trip time corresponding to adjacent response data exceeds a second threshold, the number of recorded growths is a second value; when the growth ratio is less than the first threshold, the number of recorded growths is 0, wherein the first value is less than the second value and the first value is greater than 0.

[0234] In some embodiments, the receiving bandwidth is determined based on the amount of response data received in the sliding window and the time difference. The time difference is the difference between the latest receiving timestamp and the earliest receiving timestamp of the response data received in the sliding window. The sliding window ends at the current time and starts at the time corresponding to a preset time length before the current time.

[0235] In some embodiments, the evaluation module comprises:

[0236] A second sending unit is used to send a data request to the server according to the evaluation bandwidth to obtain response data from the server;

[0237] a fifth determining unit, configured to determine a current receiving bandwidth based on the response data;

[0238] The adjustment unit is used to dynamically adjust the evaluation bandwidth based on the current receiving bandwidth.

[0239] In some embodiments, the second sending unit includes:

[0240] A subunit is obtained, for obtaining a steady-state transmission bandwidth based on an evaluation bandwidth and an increase coefficient;

[0241] The sending subunit is used to send a data request to the server based on the steady-state sending bandwidth to obtain response data from the server.

[0242] In some embodiments, the adjusting unit comprises:

[0243] An eighth determining subunit, configured to obtain a sampling result including a sampling number exceeding an upper limit and a sampling number exceeding a lower limit based on a current receiving bandwidth;

[0244] An increasing subunit, configured to increase the evaluation bandwidth if the number of over-limit samplings is greater than the number threshold;

[0245] A decreasing subunit, configured to decrease the evaluation bandwidth if the number of under-limit samplings is greater than the number threshold;

[0246] A maintaining subunit, configured to maintain the evaluation bandwidth unchanged if both the number of over-limit samplings and the number of under-limit samplings do not exceed the number threshold;

[0247] Wherein, a sampling result including the number of over-limit samplings and the number of under-limit samplings is obtained based on the current received bandwidth, and it includes:

[0248] Comparing the current received bandwidth with the upper and lower threshold values corresponding to the evaluation bandwidth;

[0249] If the current received bandwidth is greater than the upper threshold value of the evaluation bandwidth, record that the number of over-limit samplings is incremented by 1, and clear the number of under-limit samplings;

[0250] If the current received bandwidth is less than the lower threshold value of the evaluation bandwidth, record that the number of under-limit samplings is incremented by 1, and clear the number of over-limit samplings;

[0251] If the current received bandwidth is between the lower threshold value and the upper threshold value, clear both the number of over-limit samplings and the number of under-limit samplings.

[0252] Figure 5 The evaluation bandwidth adjustment device shown can be a software unit, a hardware unit, or a unit combining software and hardware built into an existing electronic device, can also be integrated into the electronic device as an independent attachment, and can also exist as an independent terminal device.

[0253] It should be noted that, for the information interaction, execution process, etc. between the above-mentioned devices / units, since they are based on the same concept as the method embodiment of the present application, for their specific functions and the technical effects brought, reference can be specifically made to the method embodiment part, and details are not described herein again.

[0254] Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the above division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.

[0255] Figure 6 The following is a schematic structural diagram of the electronic device provided by the embodiment of the present application. As Figure 6 shown, the electronic device 3 in this embodiment may include: at least one processor 30 ( Figure 6 only one processor 30 is shown in the figure), a memory 31, and a computer program 32 stored in the memory 31 and executable on at least one processor 30. When the processor 30 executes the computer program 32, the steps in any of the foregoing method embodiments are implemented, or when the processor 30 executes the computer program 32, the functions of each module / unit in the foregoing device embodiments are implemented.

[0256] Exemplarily, the computer program 32 can be divided into one or more modules / units. One or more modules / units are stored in the memory 31 and executed by the processor 30 to complete this application. One or more modules / units can be a series of computer program 32 instruction segments capable of completing specific functions, and these instruction segments are used to describe the execution process of the computer program 32 in the electronic device 3.

[0257] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program 32, and when the computer program 32 is executed by the processor 30, the steps in any of the foregoing method embodiments can be implemented.

[0258] The embodiment of the present application provides a computer program product. When the computer program product runs on an electronic device, the electronic device is enabled to execute the steps in any of the foregoing method embodiments.

[0259] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above method embodiments of this application, a computer program 32 can be used to instruct relevant hardware to complete. The computer program 32 can be stored in a computer-readable storage medium. When the computer program 32 is executed by a processor 30, the steps of the above various method embodiments can be implemented. Among them, the computer program 32 includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device capable of carrying the computer program code to the terminal, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disc, etc. In some jurisdictions, according to legislation and patent practice, the computer-readable medium cannot be an electrical carrier signal and a telecommunication signal.

[0260] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0261] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0262] In the embodiments provided in this application, it should be understood that the disclosed device / network device and method can be implemented in other ways. For example, the device / network device embodiments described above are only illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces, and the indirect coupling or communication connection of the device or unit can be in an electrical, mechanical or other form.

[0263] The unit described as a separate component may or may not be physically separated, and the component shown as a unit may or may not be a physical unit, that is, it may be located in one place or may be distributed across multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0264] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included within the protection scope of the present application.

[0265] In each embodiment of the present application, the relevant user personal information that may be involved is all processed in strict accordance with the requirements of laws and regulations, following the principles of legality, legitimacy, and necessity, for reasonable purposes based on business scenarios, and is the personal information actively provided by the user during the use of the product / service or generated due to the use of the product / service, as well as the personal information obtained with the user's authorization.

[0266] The user personal information processed by the applicant will vary depending on the specific product / service scenario, and it is necessary to be subject to the specific scenario of the user's use of the product / service. It may involve the user's account information, device information, driving information, vehicle information, or other relevant information. The applicant will treat the user's personal information and its processing with a high degree of diligence.

[0267] The applicant attaches great importance to the security of user personal information and has taken security protection measures that meet industry standards and are reasonable and feasible to protect the user's information and prevent personal information from being accessed, publicly disclosed, used, modified, damaged, or lost without authorization.

Claims

1. A method for adjusting the evaluation of bandwidth, characterized in that Including: Obtaining the changing trends of the received bandwidth and round-trip time during the communication process between the client and the server; Obtaining an evaluation bandwidth based on the received bandwidth and the changing trend; Adjusting the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage.

2. The method according to claim 1, wherein The obtaining the evaluation bandwidth based on the received bandwidth and the changing trend includes: Determining a detection result according to the changing trend and the comparison result between the current received bandwidth and the current detection standard bandwidth; When the detection result is that the detection is not failed, determining the detection standard bandwidth for the next detection based on the detection result and the current detection standard bandwidth, and returning to the step of determining the detection result according to the changing trend and the comparison result between the current received bandwidth and the current detection standard bandwidth; When the detection result is that the detection fails, determining the current received bandwidth as the evaluation bandwidth.

3. The method according to claim 2, wherein The detection not being failed includes: the detection being successful or the detection result being pending. When the detection result is that the detection is not failed, determining the detection standard bandwidth for the next detection based on the detection result and the current detection standard bandwidth includes: When the detection result is that the detection is successful, adjusting the detection standard bandwidth for the next detection based on the current detection standard bandwidth; When the detection result is that the detection result is pending, determining the current detection standard bandwidth as the detection standard bandwidth for the next detection.

4. The method according to claim 3, wherein The determining the detection result according to the changing trend and the comparison result between the current received bandwidth and the current detection standard bandwidth includes: Judging whether the number of consecutive successful sampling times and the number of consecutive failed sampling times reach their respective preset times according to the comparison result between the current received bandwidth and the current detection standard bandwidth; If the changing trend is a non-growing trend and the number of consecutive successful sampling times reaches the preset time, judging that the detection result is that the detection is successful; If the changing trend is a non-growing trend, the number of consecutive successful sampling times is less than the preset time, and the number of consecutive failed sampling times is less than the preset time, judging that the detection result is that the detection result is pending; Among them, judging whether the number of consecutive successful sampling times reaches the preset time according to the comparison result between the current received bandwidth and the current detection standard bandwidth includes: Judging whether the current received bandwidth is greater than or equal to a first preset ratio of the current detection standard bandwidth; If so, judging that the current detection sampling is successful, adding 1 to the number of consecutive successful sampling times, and clearing the number of consecutive failed sampling times; If not, judging that the current detection sampling fails, adding 1 to the number of consecutive failed sampling times, and clearing the number of consecutive successful sampling times.

5. The method according to claim 4, wherein The determining the detection result according to the changing trend and the comparison result between the current received bandwidth and the current detection standard bandwidth further includes: If the changing trend is a growing trend, judging that the detection result is that the detection fails; If the changing trend is a non-growing trend and the number of consecutive failed sampling times reaches the preset time, judging that the detection result is that the detection fails.

6. The method according to claim 1, wherein The obtaining the changing trends of the received bandwidth and round-trip time during the communication process between the client and the server includes: Sending a data request to the server based on the current detection standard bandwidth to receive response data from the server; The change trends of the receiving bandwidth and the round-trip time are determined based on the response data.

7. The method according to claim 6, characterized in that The determining, based on the response data, the change trends of the receiving bandwidth and the round-trip time includes: Determine the round trip time and the receiving timestamp corresponding to the response data; determining a first change trend of the round-trip time based on the round-trip time and the receiving timestamp; The receiving bandwidth is determined based on the response data and a receiving timestamp corresponding to the response data.

8. The method according to claim 1, wherein The change trend includes: a growth trend or a non-growth trend. When the total number of growths corresponding to the sliding window is greater than or equal to a preset number threshold, the change trend is a growth trend. When the total number of growths corresponding to the sliding window is less than the preset number threshold, the change trend is a non-growth trend. The sliding window takes the current time as the end time and the time corresponding to the preset time before the current time as the start time. The total number of growths is determined based on the number of growths recorded in the sliding window, and the number of growths is obtained based on the growth ratio of the round-trip time corresponding to adjacent response data in the sliding window.

9. The method according to claim 8, wherein When the growth ratio of the round-trip time corresponding to adjacent response data exceeds the first threshold and is less than the second threshold, the number of growths is recorded as the first value; when the growth ratio of the round-trip time corresponding to adjacent response data exceeds the second threshold, the number of growths is recorded as the second value; when the growth ratio is less than the first threshold, the number of growths is recorded as 0, wherein the first value is less than the second value and the first value is greater than 0.

10. The method according to claim 1, wherein The receiving bandwidth is determined based on the amount of response data received in the sliding window and a time difference, wherein the time difference is the difference between the latest receiving timestamp and the earliest receiving timestamp of the response data received in the sliding window, and the sliding window takes the current time as the end time and the time corresponding to a preset time length before the current time as the start time.

11. The method according to claim 1, wherein The adjusting the evaluation bandwidth according to the evaluation bandwidth and bandwidth usage includes: Sending a data request to a server according to the evaluation bandwidth to obtain response data from the server; determining a current receiving bandwidth based on the response data; The evaluation bandwidth is dynamically adjusted based on the current receiving bandwidth.

12. The method according to claim 11, wherein, The sending of a data request to a server according to the evaluation bandwidth to obtain response data from the server includes: Obtaining a steady-state transmission bandwidth based on the evaluation bandwidth and the additional transmission coefficient; A data request is sent to a server based on the steady-state sending bandwidth to obtain response data from the server.

13. The method according to claim 11, wherein The dynamically adjusting the evaluation bandwidth based on the current receiving bandwidth includes: Obtaining a sampling result including an upper limit sampling number and a lower limit sampling number based on the current receiving bandwidth; If the number of samplings exceeding the upper limit is greater than the number threshold, increasing the evaluation bandwidth; If the number of samplings exceeding the lower limit is greater than the number threshold, reducing the evaluation bandwidth; If the number of sampling times exceeding the upper limit and the number of sampling times exceeding the lower limit do not exceed the number threshold, the evaluation bandwidth is maintained unchanged; Among them, obtaining a sampling result including an over-upper-limit sampling count and an over-lower-limit sampling count based on the current received bandwidth includes: Comparing the current received bandwidth with the upper and lower threshold values corresponding to the evaluation bandwidth; If the current received bandwidth is greater than the upper threshold value of the evaluation bandwidth, record that the over-upper-limit sampling count is incremented by 1 and clear the over-lower-limit sampling count; If the current received bandwidth is less than the lower threshold value of the evaluation bandwidth, record that the over-lower-limit sampling count is incremented by 1 and clear the over-upper-limit sampling count; If the current received bandwidth is between the lower threshold value and the upper threshold value, clear both the over-upper-limit sampling count and the over-lower-limit sampling count.

14. An adjustment device for evaluating bandwidth, characterized in that, It includes: An acquisition module for acquiring the changing trends of the received bandwidth and the round-trip time during the communication process between the client and the server; An evaluation module for obtaining an evaluation bandwidth according to the received bandwidth and the changing trend; An adjustment module for adjusting the evaluation bandwidth according to the evaluation bandwidth and the bandwidth usage situation.

15. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, the method according to any one of claims 1 to 13 is implemented.

16. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, the method according to any one of claims 1 to 13 is implemented.