Network state evaluation method, system and device and storage medium

By dynamically adjusting the number of evaluation sample points and updating the count value according to the out-of-order status of the package group, the problem of network status evaluation misjudgment in WebRTC is solved, and the accuracy and efficiency of the evaluation are improved.

CN119254657APending Publication Date: 2025-01-03SUZHOU KEYUAN SOFTWARE TECH DEV +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411359819.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

The delay-based bandwidth estimation method in existing WebRTC leads to out-of-order data packets when network congestion or device instability, resulting in misjudgment of queued trend speculators, affecting the accuracy of network status evaluation.

Method used

By dynamically adjusting the number of evaluation sample points, updating the out-of-order packet group count value according to the out-of-order status of the packet group, increasing or decreasing the number of evaluation sample points, to reduce the impact of network jitter on evaluation and improve evaluation accuracy and efficiency.

Benefits of technology

It effectively improves the accuracy and efficiency of network status evaluation, reduces misjudgment, and ensures that the evaluation efficiency is improved while ensuring accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119254657A_ABST
    Figure CN119254657A_ABST
Patent Text Reader

Abstract

The invention provides a network state evaluation method, system and device and a storage medium. The method comprises the steps of obtaining a current packet group disorder state; updating an out-of-order packet group count value at the current moment according to the current packet group out-of-order state; the number of evaluation sample points at the current moment is updated based on the out-of-order packet group count value at the current moment, and the larger the out-of-order packet group count value is, the larger the number of the corresponding evaluation sample points is; and obtaining to-be-processed and evaluated sample points, and when the number of the currently accumulated to-be-processed and evaluated sample points reaches the number of the evaluated sample points at the current moment, performing network state evaluation based on the currently accumulated to-be-processed and evaluated sample points. Through adoption of the method and the device, the number of evaluation sample points during network state evaluation is dynamically adjusted based on the packet group out-of-order state, and the accuracy of network state evaluation is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] Bandwidth estimation in WebRTC (Web Real-Time Communications) is a core component of its congestion control mechanism, and one of the strategies is delay-based bandwidth estimation DelayBasedBwe. Delay-based bandwidth estimation mainly infers the available network bandwidth based on delay changes. It calculates the arrival time difference between data packets based on the feedback message from the receiving end, groups the arriving data packets, and calculates the evaluation sample points and sends them to TrendlineEstimator (queue trend estimator) to calculate the delay gradient, evaluate the network status, and obtain the network status evaluation result to help determine whether the network is congested.

[0003] In WebRTC, the queue trend estimator calculates the delay gradient at a fixed value by default, for example, 20. In applications, network congestion or unstable network device performance may disrupt the order of data packets arriving, so the arrival time of the packets reported in the feedback message may also be out of order, that is, the first data packet sent may arrive at the receiving end later than the later data packet sent, so the information in the packet group may be jittery.

[0004] In the existing method, whether disorder occurs is determined based on two packet group variables. If disorder occurs for three consecutive packet groups, a reset will be performed, and both packet groups and the consecutive disorder count values ​​will be set to 0; when a non-disordered packet group appears, the consecutive disorder count values ​​will be set to 0. If a non-disordered packet group appears in the middle of three consecutive packet group disorder, only when the non-disordered packet group appears will an evaluation sample point be generated and sent to the queue trend inference device for evaluation. Since the calculation of this evaluation sample point depends on the previous disordered packet group, there is a certain jitter in the evaluation sample point. Since the number of evaluation sample points in the queue trend inference device is set to a fixed value, the queue trend inference device may make a misjudgment, resulting in an abnormal network status evaluation result. Summary of the invention

[0005] In response to the problems in the prior art, the purpose of this application is to provide a network status assessment method, system, device and storage medium, which dynamically adjusts the number of assessment sample points when performing network status assessment based on the disordered state of the packet group, thereby improving the accuracy of network status assessment.

[0006] The present invention provides a method for evaluating network status, comprising the following steps:

[0007] Get the disorder status of the current packet group;

[0008] Update the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group;

[0009] Based on the out-of-order packet group count value at the current moment, the number of evaluation sample points at the current moment is updated, wherein the larger the out-of-order packet group count value is, the larger the corresponding number of evaluation sample points is;

[0010] Obtain evaluation sample points to be processed, and when the number of currently accumulated evaluation sample points to be processed reaches the number of evaluation sample points at the current moment, perform network status evaluation based on the currently accumulated evaluation sample points to be processed.

[0011] By adopting the network status evaluation method of the present application, the out-of-order packet group count value is first updated according to the current out-of-order packet group state to realize out-of-order packet group counting, and then the number of evaluation sample points when performing network status evaluation is dynamically adjusted based on the out-of-order packet group count value. When the out-of-order packet group count value is large, the number of evaluation sample points is increased. Only when the number of evaluation sample points to be processed reaches the number of evaluation sample points at the current moment, the network status evaluation is performed, which is beneficial to increase the number of non-jitter evaluation sample points during network status evaluation and reduce the influence of network jitter on the accuracy of network status evaluation, thereby effectively improving the accuracy of network status evaluation. When the out-of-order packet group count value is small, the number of evaluation sample points is correspondingly reduced. Since the network jitter is small at this time, the accuracy of network status evaluation will not be affected by reducing the number of evaluation sample points, thereby improving the efficiency of network status evaluation while ensuring the accuracy of network status evaluation.

[0012] In some embodiments, the obtaining of the disorder state of the current packet group comprises the following steps:

[0013] Based on the previous packet group information and the current packet group information, a preset disorder judgment condition is used to judge whether the current packet group is disordered, and determine whether the disorder state of the current packet group is disordered or not.

[0014] In some embodiments, before obtaining the disordered state of the current packet group, the following steps are also included:

[0015] Based on the feedback message information sent by the receiving end, extracting the arrival time of the latest data packet according to the feedback message information;

[0016] Determine whether the preset conditions for adding a new packet group are met according to the arrival time of the data packet in the current packet group and the arrival time of the latest data packet;

[0017] If yes, get the current packet group out of order status.

[0018] In some embodiments, updating the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group includes the following steps:

[0019] If the current packet group disorder state is disorder, the disordered packet group count value at the previous moment is increased to obtain the disordered packet group count value at the current moment.

[0020] In some embodiments, updating the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group includes the following steps:

[0021] If the current packet group disorder state is no disorder, and the disordered packet group count value at the previous moment is greater than the preset initialization value, the disordered packet group count value at the previous moment is reduced to obtain the disordered packet group count value at the current moment.

[0022] In some embodiments, the updating of the number of evaluation sample points at the current moment based on the out-of-order packet group count value at the current moment comprises the following steps:

[0023] Calculate the sample point quantity coefficient according to the out-of-order packet group count value at the current moment, wherein the larger the out-of-order packet group count value at the current moment, the larger the sample point quantity coefficient;

[0024] The product of the sample point quantity coefficient and the preset evaluation sample point quantity reference value is calculated to obtain the evaluation sample point quantity at the current moment.

[0025] In some embodiments, before obtaining the evaluation sample points to be processed, the following steps are also included:

[0026] If the disorder status of the current packet group is that disorder has not occurred, sample data of a specified type is extracted based on the previous packet group information and the current packet group information as a sample point to be processed for evaluation.

[0027] The embodiment of the present application further provides a network status assessment system, which is applied to the network status assessment method, and the system includes:

[0028] The disorder judgment module is used to obtain the disorder status of the current packet group;

[0029] A count value updating module, used for updating the count value of the out-of-order packet group at the current moment according to the out-of-order state of the current packet group;

[0030] A sample point quantity updating module, used to update the number of evaluation sample points at the current moment based on the out-of-order packet group count value at the current moment, wherein the larger the out-of-order packet group count value, the larger the corresponding number of evaluation sample points;

[0031] The network status evaluation module is used to obtain evaluation sample points to be processed, and when the number of evaluation sample points to be processed currently accumulated reaches the number of evaluation sample points at the current moment, perform network status evaluation based on the currently accumulated evaluation sample points to be processed.

[0032] The present application also provides a network status assessment device, including:

[0033] processor;

[0034] a memory storing executable instructions of the processor;

[0035] The processor is configured to execute the steps of the network status assessment method by executing the executable instructions.

[0036] By adopting the network status assessment device provided by the present application, the processor executes the network status assessment method when executing the executable instructions, thereby obtaining the beneficial effects of the above-mentioned network status assessment method.

[0037] The embodiment of the present application also provides a computer-readable storage medium for storing a program, and when the program is executed by a processor, the steps of the network status assessment method are implemented.

[0038] By adopting the computer-readable storage medium provided in the present application, the program stored therein implements the steps of the network status evaluation method when being executed, thereby obtaining the beneficial effects of the above-mentioned network status evaluation method. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings.

[0040] Figure 1 is a flow chart of a network status evaluation method according to an embodiment of the present application;

[0041] Figure 2 It is a flow chart of a network status evaluation method of a specific implementation of the present application;

[0042] Figure 3 is a schematic diagram of a network status assessment system according to an embodiment of the present application;

[0043] Figure 4 is a structural diagram of a network status assessment device according to an embodiment of the present application;

[0044] Figure 5 It is a schematic diagram of the structure of a computer storage medium according to an embodiment of the present application. DETAILED DESCRIPTION

[0045] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this application will be comprehensive and complete and the concepts of the example embodiments will be fully conveyed to those skilled in the art. The same reference numerals in the figures represent the same or similar structures, and thus their repeated description will be omitted. Although "first" or "second" etc. are used in this specification to represent certain features, they are only used to represent the function and are not used as a limitation on the number and importance of specific features.

[0046] like Figure 1 As shown, in one embodiment, the present application provides a network status evaluation method, comprising the following steps:

[0047] S100: Get the disorder status of the current packet group;

[0048] Among them, the disordered state of the current packet group includes two types: the current packet group is disordered and the current packet group is not disordered;

[0049] S200: updating the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group;

[0050] S300: updating the number of evaluation sample points at the current moment based on the out-of-order packet group count value at the current moment, wherein the larger the out-of-order packet group count value is, the larger the corresponding number of evaluation sample points is;

[0051] S400: Obtain evaluation sample points to be processed, and when the number of currently accumulated evaluation sample points to be processed reaches the number of evaluation sample points at the current moment, perform network status evaluation based on the currently accumulated evaluation sample points to be processed. The network status evaluation here is, for example, an evaluation of network bandwidth conditions or an evaluation of network congestion conditions.

[0052] By adopting the network status evaluation method of the present application, firstly, the out-of-order packet group count value is updated according to the current out-of-order packet group state through steps S100 and S200 to realize out-of-order packet group counting, and then the number of evaluation sample points when performing network status evaluation is dynamically adjusted based on the out-of-order packet group count value through step S300. When the out-of-order packet group count value is large, the number of evaluation sample points is increased. Only when the number of evaluation sample points to be processed reaches the number of evaluation sample points at the current moment, the network status evaluation is performed through step S400. This is beneficial to increase the number of non-jitter evaluation sample points during network status evaluation and reduce the influence of network jitter on the accuracy of network status evaluation, thereby effectively improving the accuracy of network status evaluation. When the out-of-order packet group count value is small, the number of evaluation sample points is correspondingly reduced. Since the network jitter is small at this time, the accuracy of network status evaluation will not be affected by reducing the number of evaluation sample points, thereby improving the efficiency of network status evaluation while ensuring the accuracy of network status evaluation.

[0053] The following uses the network status evaluation method to apply to delay-based bandwidth estimation of webRTC as an example to illustrate the specific implementation of the method. The main implementation methods of delay-based bandwidth estimation include: (1) Transport-cc (Transport-wide Congestion Control, a congestion control method) component: At the receiving end, a new RTCP (Real-time Transport Control Protocol) feedback message (TransportFeedback) is added to report the status of the received RTP packet to the sending end, such as packet arrival time, loss, etc. (2) InterArrival (arrival time difference) component: used to calculate the arrival time difference between packets, group the arriving packets according to preset conditions, and record the current packet group variable and the previous packet group variable. When the conditions for creating a new packet group are met, an evaluation sample point is calculated using the two packet group variables. (3) TrendlineEstimator (queue trend estimator): obtain evaluation sample points, and after counting a sufficient number of evaluation sample points, calculate the delay gradient, evaluate the network status, and obtain the network status evaluation result.

[0054] As described in the above background technology, when the existing queuing trend inference device evaluates the network status, the number of evaluation sample points is a fixed value. The present application further increases the number of evaluation sample points dynamically adjusted each time the network status evaluation is performed according to the disordered state of the packet group, thereby improving the accuracy of the network status evaluation.

[0055] Figure 2 This is a flowchart of a network status evaluation method for a specific implementation of the present application. Figure 2The specific implementation method of the network status evaluation method in this embodiment is specifically introduced. It can be understood that, Figure 2 The illustrated process and the following description are merely examples and are not intended to limit the scope of protection of the present application.

[0056] In webRTC, the InterArrival component on the sender side maintains two packet group information:

[0057] (1) Current packet group information: current_timestamp_group_

[0058] When joining the meeting, the InterArrival component updates the current_timestamp_group_ through the feedback message TransportFeedback sent by the receiving end. The current_timestamp_group_ records the sending time of each data packet, the arrival time when the receiving end receives the data packet, the size of the data packet and other information.

[0059] (2) Previous packet group information: prev_timestamp_group_. When a new packet group needs to be created (the arrival time difference between the latest data packet and the last data packet in the current packet group is less than or equal to the first time threshold (e.g., 5ms), and the arrival time difference between the latest data packet and the first data packet in the current packet group is less than or equal to the second time threshold (e.g., 100ms), the latest data packet is considered to belong to the current packet group, otherwise a new packet group needs to be created), the current packet group information is assigned to the previous packet group information, and the current packet group information is updated according to the latest data packet information and subsequent data packet information.

[0060] In this embodiment, only when the preset new packet group conditions are met, the out-of-order packet group count value is updated and the evaluation sample points are extracted. Figure 2 As shown, in this embodiment, before the step S100: obtaining the disordered state of the current packet group, the following steps are also included:

[0061] S010: based on the feedback message information sent by the receiving end, extracting the arrival time of the latest data packet according to the feedback message information;

[0062] S020: judging whether the preset conditions for adding a new packet group are met according to the arrival time of the data packets in the current packet group and the arrival time of the latest data packet;

[0063] As described above, in one embodiment, the condition for adding a new packet group includes: the arrival time difference between the latest data packet and the last data packet in the current packet group is greater than the first time threshold, or the arrival time difference between the latest data packet and the first data packet in the current packet group is greater than the second time threshold, and the specific values ​​of the first time threshold and the second time threshold can be set as needed, for example, the first time threshold is set to 5ms, 6ms, 7ms, etc., and the second time threshold is set to 100ms, 105ms, 120ms, etc.;

[0064] The conditions for adding a new packet group here are only examples. In other implementations, other conditions for adding a new packet group may be set as needed. For example, whether to add a new packet group is controlled only according to the first time threshold, that is, when the arrival time difference between the latest data packet and the last data packet in the current packet group is greater than the first time threshold, it is considered that a new packet group needs to be added; or, whether to add a new packet group is controlled only according to the second time threshold, that is, when the arrival time difference between the latest data packet and the first data packet in the current packet group is greater than the second time threshold, it is considered that a new packet group needs to be added, or, when the number of data packets in the current packet group is greater than a preset number threshold, it is considered that a new packet group needs to be added;

[0065] If yes, then S100: obtain the disorder status of the current packet group.

[0066] If not, then S030: update the current packet group information based on the latest packet, and then end the current process. That is, when the conditions for adding a new packet group are not met, the out-of-order packet group count value is not updated, and the evaluation sample point is not generated, and the information of the latest packet is used as the information of the last packet in the current packet group information.

[0067] like Figure 2 As shown, the step S100: obtaining the disorder state of the current packet group includes the following steps:

[0068] S110: Based on the previous packet group information and the current packet group information, a preset disorder judgment condition is used to judge whether the current packet group is disordered, and determine whether the disorder state of the current packet group is disordered or not.

[0069] In one embodiment, the disorder judgment condition includes: the difference between the arrival time of the last data packet in the current packet group and the arrival time of the last data packet in the previous packet group is less than 0, current_timestamp_group_.complete_time_ms represents the arrival time of the last data packet in the current packet group, and prev_timestamp_group_.complete_time_ms represents the arrival time of the last data packet in the previous packet group, then the disorder judgment condition includes: when the difference between the two arrival_time_delta_ms=current_timestamp_group_.complete_time_ms–prev_timestamp_group_.complete_time_ms<0, the disorder state of the current packet group is disordered, otherwise the disorder state of the current packet group is not disordered. This is only an example of a disorder judgment condition. In different embodiments, the staff can set other types of packet group disorder judgment conditions according to actual needs or work habits, and can identify whether disorder jitter occurs in the current packet group.

[0070] like Figure 2 As shown, the step S200: updating the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group, comprises the following steps:

[0071] If the current packet group disorder state is disorder, then S210: increase the disordered packet group count value at the previous moment to obtain the disordered packet group count value at the current moment;

[0072] In one embodiment, if the current packet group disorder state is disorder, the disordered packet group count value at the previous moment is multiplied by the first coefficient and then added to the second coefficient to obtain the disordered packet group count value at the current moment, wherein the first coefficient is less than 1, and the second coefficient is greater than or equal to 1. For example, the value of a*emphasis'+b is calculated as the disordered packet group count value at the current moment, wherein a is the first coefficient greater than 0 and less than 1, b is the second coefficient greater than or equal to 1, and emphasis' is the disordered packet group count value at the previous moment; the disordered packet group count value at the current moment is recorded as emphasis, which satisfies: emphasis=a*emphasis'+b. It can be seen that when disorder occurs in the current packet group disorder state, emphasis>emphasis', that is, the disordered packet group count value is increased;

[0073] If the out-of-order state of the current packet group is not out of order and the out-of-order packet group count value at the previous moment is greater than the preset initialization value, then S220: Decrease the out-of-order packet group count value at the previous moment to obtain the out-of-order packet group count value at the current moment; if the out-of-order state of the current packet group is not out of order and the out-of-order packet group count value at the previous moment is equal to the preset initialization value, then the out-of-order packet group count value is not updated. Here, the initialization value is a preset minimum limit. When the network state evaluation method starts to execute initially, the out-of-order packet group count value at the first moment is set as the initialization value. When the out-of-order state of the current packet group is out of order, the out-of-order packet group count value will be increased to be greater than the initialization value. When the out-of-order state of the current packet group continues to be not out of order, the out-of-order packet group count value will be decreased to gradually return to the initialization value, and it will not continue to decrease after reaching the initialization value.

[0074] In one implementation, if the out-of-order state of the current packet group is not out of order, then multiply the out-of-order packet group count value at the previous moment by a first coefficient to obtain the out-of-order packet group count value at the current moment, and calculate the value of a*emphasis’ as the out-of-order packet group count value at the current moment, where a is a preset coefficient greater than 0 and less than 1; here, the out-of-order packet group count value at the current moment is denoted as emphasis, then it satisfies: emphasis = a*emphasis’. It can be seen that when the out-of-order state of the current packet group is not out of order, emphasis < emphasis’, that is, the out-of-order packet group count value is decreased.

[0075] Among them, the value of a serves as a weight value, which can control the increasing or decreasing speed of the out-of-order packet group count value and can be selected according to actual application needs. For example, it can be selected as 0.9, 0.8, 0.7, etc. When the value of the number of evaluation sample points is relatively large, the influence of the value of a is more obvious.

[0076] Therefore, in this embodiment, when out of order occurs, the out-of-order packet group count value is increased. When not out of order, the out-of-order packet group count value does not remain unchanged but will gradually decrease. Thus, when the network jitter intensifies, the out-of-order packet group count value will increase accordingly, thereby increasing the number of evaluation sample points required for network state evaluation, which is beneficial to increasing the number of non-jitter sample points used in network state evaluation and reducing the misjudgment rate of network state evaluation. When multiple consecutive packet groups are not out of order, the network jitter decreases, and the out-of-order packet group count value adopts a relatively small value. Correspondingly, a relatively small number of evaluation sample points can be updated, and the network state evaluation result can be obtained more quickly. And because the network jitter is small in this case and the reliability of the evaluation sample points themselves is relatively high, reducing the number of evaluation sample points will not affect the accuracy of the network state evaluation result. Thus, on the basis of ensuring the accuracy of network state evaluation, the efficiency of network state evaluation is further improved.

[0077] The method of updating the out-of-order packet group count value according to the out-of-order status of the current packet group here is only an example and is not intended to limit the scope of protection of the present application. In an alternative embodiment, emphasis can be directly set to emphasis'+b when out-of-order occurs, and emphasis'+b when no out-of-order occurs, and b is a value greater than 0. In another alternative embodiment, emphasis can be set to m*emphasis' when out-of-order occurs, and emphasis'+n*emphasis' when no out-of-order occurs, where m>1 and n<1, which can also achieve the purpose of updating the out-of-order packet group count value and are all within the scope of protection of the present application.

[0078] In this embodiment, a sample point to be processed for evaluation is generated only when the current packet group disorder state is not disordered. Figure 2 As shown, before obtaining the evaluation sample points to be processed, the following steps are also included:

[0079] If the disorder state of the current packet group is not disordered, then S401: extracting sample data of a specified type based on the previous packet group information and the current packet group information as a sample point to be processed for evaluation.

[0080] The step S401 can be implemented based on the above-mentioned InterArrival component. The sample data of the specified type can be selected according to the application needs. Here, the sending time difference send_delta_ms and the arrival time difference arrival_time_delta_ms are used as the specified type for explanation. In the step S401, the difference arrival_time_delta_ms between the arrival time of the last data packet in the current packet group and the arrival time of the last data packet in the previous packet group, and the difference send_delta_ms between the sending time of the first data packet in the current packet group and the sending time of the first data packet in the previous packet group are obtained as a sample point to be processed for evaluation. In another embodiment, the difference packet_size_delta of the data packet size can be further added, that is, the InterArrival component calculates the sending time difference send_delta_ms and the arrival time difference arrival_time_delta_ms, and further calculates the difference packet_size_delta between the size sum of all data packets in the current packet group and the size sum of all data packets in the previous packet group, and the three values ​​are used as a sample point to be processed for evaluation.

[0081] In this embodiment, the step S300: determining the number of evaluation sample points at the current moment corresponding to the out-of-order packet group count value at the current moment according to the preset correlation relationship between the out-of-order packet group count value and the number of evaluation sample points, comprises the following steps:

[0082] Calculate the sample point quantity coefficient according to the out-of-order packet group count value at the current moment, wherein the larger the out-of-order packet group count value at the current moment, the larger the sample point quantity coefficient;

[0083] Optionally, the value of tanh(k*emphasis) is calculated as the sample point quantity coefficient, where k is a number greater than 0 and less than 1; the sample point quantity coefficient is defined here as ratio, which satisfies: ratio = std::tanh(k*emphasis), std is a concept of a namespace in the C language, and std::tanh means using a function named tanh in a namespace named std for calculation; the value of k can be set as needed, for example, to 0.1, 0.2, 0.4, etc.; the tanh function (hyperbolic tangent function) is used here, and k*emphasis is used as input, so that when the change in emphasis is small, the change in the output ratio is more significant, which is convenient for fine-tuning the window size, and when the change in emphasis is large, the change in the output ratio is relatively slow; the calculation method of the sample point quantity coefficient is not limited to this formula. In some alternative implementations, for example, the value of k*emphasis is directly calculated as the sample point quantity coefficient, k is a coefficient greater than 0, or the value of k1*emphasis+k2 is calculated as the sample point quantity coefficient, k1 and k2 are coefficients greater than 0, etc., as long as the out-of-order packet group count value and the sample point quantity coefficient are positively correlated, the larger the out-of-order packet group count value, the larger the sample point quantity coefficient, all belong to the protection scope of the present application;

[0084] Calculate the product of the sample point quantity coefficient and the preset evaluation sample point quantity reference value to obtain the evaluation sample point quantity at the current moment;

[0085] The reference value of the number of evaluation sample points here can be an empirical value, or can also be a preset maximum number of sample points. Taking the reference value of the number of evaluation sample points here as the preset maximum number of sample points kMaxTrendlineWindowSize as an example, the number of evaluation sample points sample_number at the current moment satisfies: sample_number=kMaxTrendlineWindowSize*ratio;

[0086] Therefore, in this embodiment, the out-of-order packet group count value is dynamically adjusted according to the current out-of-order state of the packet group, and the out-of-order packet group count value is converted into a weight ratio to dynamically adjust the number of sample points required for each network status evaluation, thereby reducing the impact of network jitter on the network status evaluation and improving the accuracy of the network status evaluation.

[0087] Furthermore, after calculating the number of evaluation sample points at the current moment, it is also necessary to ensure that the number of evaluation sample points cannot be less than the preset minimum number of sample points kMinTrendlineWindowSize. If the calculated number of evaluation sample points sample_number at the current moment is less than the preset minimum number of sample points, the number of evaluation sample points at the current moment is updated based on the minimum number of sample points, that is, it satisfies: sample_number = kMinTrendlineWindowSize.

[0088] In this embodiment, the step S400: obtaining the to-be-processed evaluation sample points, when the currently accumulated number of the to-be-processed evaluation sample points reaches the number of the evaluation sample points at the current moment, performing the network status evaluation based on the currently accumulated to-be-processed evaluation sample points, includes the following steps:

[0089] Input the to-be-processed evaluation sample points generated in step S401 into the queue trend estimator TrendlineEstimator;

[0090] When the number of currently accumulated pending evaluation sample points reaches the number of evaluation sample points at the current moment, the queue trend inferor calculates the delay gradient based on the currently accumulated pending evaluation sample points and performs network status evaluation. The network status evaluation results after evaluation have three states, for example: Normal, Underusing, and Overusing. These states reflect the current bandwidth usage and assist the webRTC communication system in determining whether the network is congested. After the evaluation is completed, the previously pending evaluation sample points have become processed evaluation sample points, that is, the count values ​​of the pending evaluation sample points are reset to zero. The network status evaluation method is executed cyclically to achieve real-time and accurate evaluation of the network status.

[0091] In this embodiment, since the above steps S100 to S400 are only executed when a new packet group is added, the action of adding a new packet group needs to be executed after the corresponding calculation and judgment are performed. Figure 2 As shown, after step S210 and step S401, the following steps are also included:

[0092] S040: Update the previous packet group information based on the current packet group information; that is, assign the current packet group information to the previous packet group information, prev_timestamp_group_=current_timestamp_group_.

[0093] After the above step S040 is executed, the above step S030 is executed: the current packet group information is updated based on the latest data packet; that is, the latest data packet information is used as the first data packet information in the current packet group information current_timestamp_group_, and when data packets are received subsequently, the current packet group information current_timestamp_group_ is continuously updated.

[0094] like Figure 3 As shown, the embodiment of the present application also provides a network status assessment system, which is applied to the network status assessment method, and the system includes:

[0095] The disorder judgment module M100 is used to obtain the disorder status of the current packet group;

[0096] The count value updating module M200 is used to update the count value of the disordered packet group at the current moment according to the disordered state of the current packet group;

[0097] The sample point quantity updating module M300 is used to update the number of evaluation sample points at the current moment based on the out-of-order packet group count value at the current moment, wherein the larger the out-of-order packet group count value is, the larger the corresponding number of evaluation sample points is;

[0098] The network status evaluation module M400 is used to obtain evaluation sample points to be processed, and when the number of currently accumulated evaluation sample points to be processed reaches the number of evaluation sample points at the current moment, perform network status evaluation based on the currently accumulated evaluation sample points to be processed.

[0099] By adopting the network status evaluation method of the present application, firstly, the disordered packet group count value is updated according to the disordered state of the current packet group through the disorder judgment module M100 and the count value updating module M200 to realize the disordered packet group counting, and then the number of evaluation sample points when performing network status evaluation is dynamically adjusted based on the disordered packet group count value through the sample point number updating module M300. When the disordered packet group count value is large, the number of evaluation sample points is increased. Only when the number of evaluation sample points to be processed reaches the number of evaluation sample points at the current moment, the network status evaluation module M400 performs network status evaluation, which is beneficial to increase the number of non-jitter evaluation sample points during network status evaluation and reduce the influence of network jitter on the accuracy of network status evaluation, thereby effectively improving the accuracy of network status evaluation. When the disordered packet group count value is small, the number of evaluation sample points is correspondingly reduced. Since the network jitter is small at this time, the accuracy of network status evaluation will not be affected by reducing the number of evaluation sample points, thereby improving the efficiency of network status evaluation while ensuring the accuracy of network status evaluation.

[0100] In the network status assessment system, the specific functions of each module can be implemented by using the specific implementation methods of the corresponding steps in the above-mentioned network status assessment method, which will not be described in detail here.

[0101] An embodiment of the present application also provides a network status assessment device, comprising a processor; a memory, in which executable instructions of the processor are stored; wherein the processor is configured to execute the steps of the network status assessment method by executing the executable instructions.

[0102] Those skilled in the art will appreciate that various aspects of the present application may be implemented as a system, method or program product. Therefore, various aspects of the present application may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to as "circuit", "module" or "system" herein.

[0103] Refer to the following Figure 4 The electronic device 600 according to this embodiment of the present application is described. Figure 4 The electronic device 600 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0104] like Figure 4 As shown, the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610), a display unit 640, etc.

[0105] The storage unit stores a program code, which can be executed by the processing unit 610, so that the processing unit 610 performs the steps of various exemplary embodiments of the present application described in the above network status evaluation method section of this specification. For example, the processing unit 610 can perform the following steps: Figure 1 Follow the steps shown in .

[0106] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .

[0107] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each of which or some combination may include the implementation of a network environment.

[0108] Bus 630 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0109] The electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 600, and / or communicate with any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 650. Furthermore, the electronic device 600 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 660. The network adapter 660 may communicate with other modules of the electronic device 600 via a bus 630. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0110] By adopting the network status assessment device provided by the present application, the processor executes the network status assessment method when executing the executable instructions, thereby obtaining the beneficial effects of the above-mentioned network status assessment method.

[0111] The embodiment of the present application also provides a computer-readable storage medium for storing a program, and when the program is executed by a processor, the steps of the network status evaluation method are implemented. In some possible implementations, various aspects of the present application can also be implemented in the form of a program product, which includes a program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to perform the steps of various exemplary implementations of the present application described in the above-mentioned network status evaluation method section of this specification.

[0112] refer to Figure 5 As shown, a program product 800 for implementing the above method according to an embodiment of the present application is described, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present application is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

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

[0114] The computer readable storage medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by an instruction execution system, an apparatus, or a device or used in combination with it. The program code contained on the readable storage medium may be transmitted with any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the above.

[0115] Program code for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or cluster. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).

[0116] By adopting the computer-readable storage medium provided in the present application, the program stored therein implements the steps of the network status evaluation method when being executed, thereby obtaining the beneficial effects of the above-mentioned network status evaluation method.

[0117] The above content is a further detailed description of the present application in combination with specific preferred implementation methods, and it cannot be determined that the specific implementation of the present application is limited to these descriptions. For ordinary technicians in the technical field to which the present application belongs, several simple deductions or substitutions can be made without departing from the concept of the present application, which should be deemed to fall within the scope of protection of the present application.

Claims

1. A network status assessment method, characterized in that: The steps include: Get the disorder status of the current packet group; Update the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group; Based on the out-of-order packet group count value at the current moment, the number of evaluation sample points at the current moment is updated, wherein the larger the out-of-order packet group count value is, the larger the corresponding number of evaluation sample points is; Obtain evaluation sample points to be processed, and when the number of currently accumulated evaluation sample points to be processed reaches the number of evaluation sample points at the current moment, perform network status evaluation based on the currently accumulated evaluation sample points to be processed.

2. The network status evaluation method according to claim 1, characterized in that: The step of obtaining the disorder state of the current packet group comprises the following steps: Based on the previous packet group information and the current packet group information, a preset disorder judgment condition is used to judge whether the current packet group is disordered, and determine whether the disorder state of the current packet group is disordered or not.

3. The network status evaluation method according to claim 1, characterized in that: Before obtaining the disordered state of the current packet group, the following steps are also included: Based on the feedback message information sent by the receiving end, extracting the arrival time of the latest data packet according to the feedback message information; Determine whether the preset conditions for adding a new packet group are met according to the arrival time of the data packet in the current packet group and the arrival time of the latest data packet; If yes, get the current packet group out of order status.

4. The network status evaluation method according to claim 1, characterized in that: Updating the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group includes the following steps: If the current packet group disorder state is disorder, the disordered packet group count value at the previous moment is increased to obtain the disordered packet group count value at the current moment.

5. The network status evaluation method according to claim 4, characterized in that: Updating the out-of-order packet group count value at the current moment according to the out-of-order state of the current packet group includes the following steps: If the current packet group disorder state is no disorder, and the disordered packet group count value at the previous moment is greater than the preset initialization value, the disordered packet group count value at the previous moment is reduced to obtain the disordered packet group count value at the current moment.

6. The network status evaluation method according to claim 1, characterized in that: The method of updating the number of evaluation sample points at the current moment based on the out-of-order packet group count value at the current moment comprises the following steps: Calculate the sample point quantity coefficient according to the out-of-order packet group count value at the current moment, wherein the larger the out-of-order packet group count value at the current moment, the larger the sample point quantity coefficient; The product of the sample point quantity coefficient and the preset evaluation sample point quantity reference value is calculated to obtain the evaluation sample point quantity at the current moment.

7. The network status evaluation method according to claim 1, characterized in that: Before obtaining the evaluation sample points to be processed, the following steps are also included: If the disorder status of the current packet group is that disorder has not occurred, sample data of a specified type is extracted based on the previous packet group information and the current packet group information as a sample point to be processed for evaluation.

8. A network status assessment system, characterized in that: The network status assessment method applied to any one of claims 1 to 7, the system comprising: The disorder judgment module is used to obtain the disorder status of the current packet group; A count value updating module, used for updating the count value of the out-of-order packet group at the current moment according to the out-of-order state of the current packet group; A sample point quantity updating module, used to update the number of evaluation sample points at the current moment based on the out-of-order packet group count value at the current moment, wherein the larger the out-of-order packet group count value, the larger the corresponding number of evaluation sample points; The network status evaluation module is used to obtain evaluation sample points to be processed, and when the number of evaluation sample points to be processed currently accumulated reaches the number of evaluation sample points at the current moment, perform network status evaluation based on the currently accumulated evaluation sample points to be processed.

9. A network status assessment device, characterized in that: include: processor; a memory storing executable instructions of the processor; The processor is configured to execute the steps of the network status assessment method according to any one of claims 1 to 7 by executing the executable instructions.

10. A computer-readable storage medium for storing a program, characterized in that: When the program is executed by a processor, the steps of the network status assessment method according to any one of claims 1 to 7 are implemented.