Network link congestion state detection method and apparatus, server, and storage medium

CN116545929BActive Publication Date: 2026-08-07BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
Filing Date
2023-05-06
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

[0005]本公开提供一种网络链路的拥塞状态检测方法、网络链路的拥塞状态检测装置、服务器、存储介质和计算机程序产品,以至少解决相关技术中检测网络链路的拥塞程度不够准确的问题

Benefits of technology

[0058]该方法先通过基于网络链路在当前采样点和相对应于当前采样点的前一采样点处各自缓存获取的数据包组的排队延时,确定网络链路在当前采样点的延时抖动程度;其中,排队延时为数据包组中的至少一个数据包的瞬时排队延时的统计数据;延时抖动程度表征网络链路中两个相邻采样点处各自缓存的数据包组之间的排队延时的变化程度;然后,再从至少两项拥塞检测配置信息中,获取与当前采样点的延时抖动程度、网络链路的历史链路状态均匹配的目标拥塞检测配置信息;其中,历史链路状态表征网络链路在前一采样点的链路拥塞状态;最后,基于目标拥塞检测配置信息检测网络链路的当前链路状态;其中,当前链路状态表征网络链路在当前采样点的链路拥塞状态。这样,一方面,根据不同采样点的排队延时来确定网络链路在当前采样点的延时抖动程度,并利用延时抖动程度确定网络链路在当前采样点的链路状态,区别于现有技术中仅通过单个数据包的排队延时的变化来检测网络链路当前的拥塞程度,能够有效提升检测出的网络链路的拥塞状态的准确度,使得后续对网络链路进行的调整能够更加合理和高效;另一方面,利用预先配置的至少两项拥塞检测配置信息并结合网络链路的延时抖动程度,来对网络链路在当前采样点的链路状态进行检测,从而优化了网络链路的拥塞状态的检测流程,提升了拥塞状态检测的准确度,以及降低了拥塞状态检测的复杂度。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116545929B_ABST
    Figure CN116545929B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and device for detecting congestion state of a network link, a server and a storage medium. The method comprises: determining a delay jitter degree of the network link at a current sampling point based on queuing delays of data packet groups respectively obtained by buffers of the network link at the current sampling point and a previous sampling point corresponding to the current sampling point; the delay jitter degree representing a variation degree of the queuing delays between the data packet groups respectively buffered at two adjacent sampling points in the network link; obtaining target congestion detection configuration information matched with the delay jitter degree at the current sampling point and a historical link state of the network link from at least two items of congestion detection configuration information; and detecting a current link state of the network link based on the target congestion detection configuration information. The above scheme can improve the accuracy of detecting the current link state of the network link and reduce the complexity of detecting the current link state.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, and in particular to a method for detecting network link congestion, a device for detecting network link congestion, a server, a storage medium, and a computer program product. Background Technology

[0002] Currently, with the widespread adoption of the internet, video conferencing and video calls are widely used in various settings. During video communication, insufficient bandwidth can cause network congestion of data packets, resulting in video delays, stuttering, and screen tearing. To address this issue, video communication developers must adaptively adjust the current network to reduce data packet congestion, ensuring that the video data transmission rate matches the current network capacity.

[0003] Traditional methods for detecting network congestion typically involve real-time monitoring of the transmission and reception times of individual data packets within a network link to determine the queuing delay of data packets. This allows for the estimation of the current level of network congestion based on changes in the queuing delay, which in turn enables the control of the network data transmission rate to mitigate packet loss and latency.

[0004] However, in real-world use, the queuing delay of data packets is not entirely determined by the sending and receiving times. Network link jitter also affects the queuing delay of data packets, making the network link congestion level detected based on the queuing delay of data packets inaccurate. Consequently, adjusting the network data sending rate to alleviate packet loss and delay in the network link is not ideal. Summary of the Invention

[0005] This disclosure provides a method, apparatus, server, storage medium, and computer program product for detecting network link congestion, to at least address the problem of inaccurate detection of network link congestion levels in related technologies. The technical solution of this disclosure is as follows:

[0006] According to a first aspect of the present disclosure, a method for detecting congestion status of a network link is provided, comprising:

[0007] Based on the queuing delay of the data packet groups buffered at the current sampling point and the previous sampling point corresponding to the current sampling point, the delay jitter of the network link at the current sampling point is determined; the queuing delay is a statistical data point of the instantaneous queuing delay of at least one data packet in the data packet group; the delay jitter represents the degree of change in the queuing delay between the data packet groups buffered at two adjacent sampling points in the network link.

[0008] From at least two congestion detection configuration information, obtain target congestion detection configuration information that matches both the latency jitter level of the current sampling point and the historical link status of the network link; the historical link status represents the link congestion status of the network link at the previous sampling point.

[0009] The current link status of the network link is detected based on the target congestion detection configuration information; the current link status represents the link congestion status of the network link at the current sampling point.

[0010] In an exemplary embodiment, the queuing delay for the data packet groups cached at the current sampling point and the previous sampling point corresponding to the current sampling point includes: a first queuing delay corresponding to the current sampling point and a second queuing delay corresponding to the previous sampling point; wherein, the difference between the first queuing delay and the second queuing delay characterizes the delay difference between the data packet groups cached at the current sampling point and the previous sampling point.

[0011] Determining the latency jitter of the network link at the current sampling point includes:

[0012] Based on the statistical data between the second queuing delay and the delay difference, the predicted queuing delay for the current sampling point is determined;

[0013] Based on the statistical data between the instantaneous queuing delay of the current data packet and the predicted queuing delay, the delay jitter error of the network link at the current sampling point is determined; the current data packet is the last data packet in the data packet group buffered at the current sampling point;

[0014] Based on the statistical data between the delay jitter error of the current sampling point and the delay jitter level of the previous sampling point, the delay jitter level of the network link at the current sampling point is determined.

[0015] In an exemplary embodiment, determining the predicted queuing delay for the current sampling point based on statistical data between the second queuing delay and the delay difference includes:

[0016] Based on a preset first smoothing coefficient, a weighted average is calculated between the second queuing delay and the delay difference to obtain the corresponding first weighted average value, so as to determine the predicted queuing delay for the current sampling point;

[0017] The first smoothing coefficient is used to adjust the weighting degree between the second queuing delay and the delay difference.

[0018] In an exemplary embodiment, the degree of delay jitter of the network link at each sampling point is characterized based on the corresponding delay jitter coefficient;

[0019] The determination of the network link's latency jitter level at the current sampling point based on statistical data between the latency jitter error at the current sampling point and the latency jitter level at the previous sampling point includes:

[0020] Based on a preset second smoothing coefficient, the delay jitter error of the current sampling point and the delay jitter coefficient of the previous sampling point are weighted and averaged to obtain the corresponding second weighted average value, so as to determine the delay jitter coefficient of the network link at the current sampling point;

[0021] The second smoothing constant is used to adjust the weighting of the delay jitter error of the current sampling point and the delay jitter coefficient of the previous sampling point.

[0022] In one exemplary embodiment, after determining the degree of delay jitter of the network link at the current sampling point, the method further includes:

[0023] If the delay jitter at the current sampling point is greater than a preset jitter threshold, the current jitter state of the network link is determined to be a delay jitter state.

[0024] If the delay jitter level of the current sampling point is less than or equal to the preset jitter threshold, the current jitter state of the network link is determined to be a non-delay jitter state.

[0025] In an exemplary embodiment, the historical link state includes a historical congestion state or a historical non-congestion state;

[0026] The step of obtaining target congestion detection configuration information that matches both the latency jitter level of the current sampling point and the historical link status of the network link from at least two congestion detection configuration information includes:

[0027] When the current jitter state is the delayed jitter state and the historical link state is the historical congestion state, first congestion detection configuration information is obtained as the target congestion detection configuration information; the first congestion detection configuration information includes configuration information for determining the link congestion state using the maximum instantaneous queuing delay and a first preset threshold; the maximum instantaneous queuing delay is the maximum instantaneous queuing delay between each data packet cached within the current preset time window;

[0028] When the current jitter state is the delayed jitter state and the historical link state is the historical non-congestion state, second congestion detection configuration information is obtained as the target congestion detection configuration information. The second congestion detection configuration information includes configuration information for determining the link congestion state using minimum instantaneous queuing delay, a second preset threshold, the average queuing delay between each data packet cached within the current preset time window, and the minimum average queuing delay corresponding to multiple adjacent preset time windows including the current preset time window. The minimum instantaneous queuing delay is the minimum instantaneous queuing delay corresponding to each data packet cached within the current preset time window.

[0029] When the current jitter state is the non-delay jitter state and the historical link state is the historical congestion state, third congestion detection configuration information is obtained as the target congestion detection configuration information; the third congestion detection configuration information includes configuration information for determining the link congestion state by using the average queuing delay between each data packet cached within the current preset time window, the instantaneous queuing delay of the current data packet, and a third preset threshold.

[0030] When the current jitter state is the non-delay jitter state and the historical link state is the historical non-congestion state, fourth congestion detection configuration information is obtained as the target congestion detection configuration information; the fourth congestion detection configuration information includes configuration information for determining the link congestion state using the instantaneous queuing delay of the current data packet and a fourth preset threshold.

[0031] In an exemplary embodiment, the first congestion detection configuration information includes a first congestion state transition condition; the first congestion state transition condition is a weighted value of the maximum instantaneous queuing delay being less than the first preset threshold.

[0032] The step of detecting the current link status of the network link based on the target congestion detection configuration information includes:

[0033] If the target congestion detection configuration information is the first congestion detection configuration information, and the network link meets the first congestion state transition condition, then the current link state is determined to be a non-congestion state.

[0034] If the target congestion detection configuration information is the first congestion detection configuration information, and the network link does not meet the first congestion state transition condition, then the current link state is determined to be a congested state.

[0035] In an exemplary embodiment, the second congestion detection configuration information includes a second congestion state transition condition; the second congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies: the minimum instantaneous queuing delay is greater than the second preset threshold, and the difference between the average queuing delay and the minimum average queuing delay is greater than the weighted value of the second preset threshold.

[0036] The step of detecting the current link status of the network link based on the target congestion detection configuration information includes:

[0037] If the target congestion detection configuration information is the second congestion detection configuration information, and the network link meets the second congestion state transition condition, then the current link state is determined to be a congested state.

[0038] If the target congestion detection configuration information is the second congestion detection configuration information, and the network link does not meet the conditions for responding to the second congestion state transition, then the current link state is determined to be a non-congestion state.

[0039] In an exemplary embodiment, the third congestion detection configuration information includes a third congestion state transition condition; the third congestion state transition condition is a first weighted value where the instantaneous queuing delay is greater than the third preset threshold, and a second weighted value where the average queuing delay is less than the third preset threshold;

[0040] The step of detecting the current link status of the network link based on the target congestion detection configuration information includes:

[0041] If the target congestion detection configuration information is the third congestion detection configuration information, and the network link meets the third congestion state transition condition, then the current link state is determined to be a non-congestion state.

[0042] If the target congestion detection configuration information is the third congestion detection configuration information, and the network link does not meet the third congestion state transition condition, then the current link state is determined to be a congested state.

[0043] In an exemplary embodiment, the fourth congestion detection configuration information includes a fourth congestion state transition condition; the fourth congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies the following: the instantaneous queuing delay is greater than the fourth preset threshold.

[0044] The step of detecting the current link status of the network link based on the target congestion detection configuration information includes:

[0045] If the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link meets the fourth congestion state transition condition, then the current link state is determined to be a congested state.

[0046] If the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link does not meet the fourth congestion state transition condition, then the current link state is determined to be a non-congestion state.

[0047] According to a second aspect of the present disclosure, a network link congestion state detection apparatus is provided, comprising:

[0048] The jitter determination unit is configured to determine the degree of delay jitter of the network link at the current sampling point based on the queuing delay of the data packet groups buffered at the current sampling point and the previous sampling point corresponding to the current sampling point; the queuing delay is a statistical data point on the instantaneous queuing delay of at least one data packet in the data packet group; the degree of delay jitter characterizes the degree of change in queuing delay between the data packet groups buffered at two adjacent sampling points in the network link;

[0049] The configuration matching unit is configured to perform the following: obtain target congestion detection configuration information from at least two congestion detection configuration information that matches both the delay jitter level of the current sampling point and the historical link status of the network link; the historical link status represents the link congestion status of the network link at the previous sampling point.

[0050] The congestion detection unit is configured to perform the detection of the current link status of the network link based on the target congestion detection configuration information; the current link status represents the link congestion status of the network link at the current sampling point.

[0051] According to a third aspect of the present disclosure, a server is provided, comprising:

[0052] processor;

[0053] Memory for storing the executable instructions of the processor;

[0054] The processor is configured to execute the executable instructions to implement the network link congestion state detection method as described in any of the preceding claims.

[0055] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, the computer-readable storage medium including a computer program that, when executed by a processor of a server, enables the server to perform a network link congestion state detection method as described in any of the preceding claims.

[0056] According to a fifth aspect of the present disclosure, a computer program product is provided, the computer program product including program instructions that, when executed by a processor of a server, enable the server to perform a network link congestion state detection method as described in any of the preceding claims.

[0057] The technical solutions provided by the embodiments of this disclosure have at least the following beneficial effects:

[0058] The method first determines the latency jitter of the network link at the current sampling point by considering the queuing delay of the data packet groups buffered at the current sampling point and the corresponding previous sampling point. Here, the queuing delay is a statistical measure of the instantaneous queuing delay of at least one data packet in the data packet group. The latency jitter represents the degree of change in queuing delay between the data packet groups buffered at two adjacent sampling points in the network link. Then, it obtains target congestion detection configuration information from at least two congestion detection configuration information sets, which matches both the latency jitter of the current sampling point and the historical link state of the network link. Here, the historical link state represents the link congestion state of the network link at the previous sampling point. Finally, it detects the current link state of the network link based on the target congestion detection configuration information. Here, the current link state represents the link congestion state of the network link at the current sampling point. In this way, on the one hand, the network link's latency jitter at the current sampling point is determined based on the queuing delay at different sampling points, and the link status at the current sampling point is determined using the latency jitter. This differs from existing technologies that detect the current congestion level of a network link solely through changes in the queuing delay of a single data packet. This effectively improves the accuracy of the detected network link congestion status, making subsequent adjustments to the network link more reasonable and efficient. On the other hand, by using at least two pre-configured congestion detection settings combined with the network link's latency jitter, the link status at the current sampling point is detected, thereby optimizing the network link congestion status detection process, improving the accuracy of congestion status detection, and reducing the complexity of congestion status detection.

[0059] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0060] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0061] Figure 1 This is an application environment diagram illustrating a network link congestion state detection method according to an exemplary embodiment.

[0062] Figure 2 This is a flowchart illustrating a method for detecting congestion status of a network link according to an exemplary embodiment.

[0063] Figure 3 This is an interface diagram illustrating a step for determining the latency jitter of a network link according to an exemplary embodiment.

[0064] Figure 4 This is a schematic diagram of an interface for determining the link status of a network link at the current sampling point, according to an exemplary embodiment.

[0065] Figure 5 This is a schematic diagram of an interface for determining the link status of a network link at the current sampling point, according to an exemplary embodiment.

[0066] Figure 6 This is a schematic diagram of an interface illustrating a third method for determining the link status of a network link at the current sampling point, according to an exemplary embodiment.

[0067] Figure 7 This is a schematic diagram of an interface illustrating a fourth method for determining the link status of a network link at the current sampling point, according to an exemplary embodiment.

[0068] Figure 8 This is a flowchart illustrating a method for detecting congestion status of a network link according to another exemplary embodiment.

[0069] Figure 9 This is a block diagram illustrating a method for detecting the congestion state of a network link according to an exemplary embodiment.

[0070] Figure 10 This is a block diagram of a network link congestion detection device according to another exemplary embodiment.

[0071] Figure 11 This is a block diagram illustrating a server for detecting congestion status of a network link according to an exemplary embodiment.

[0072] Figure 12 This is a block diagram illustrating a computer-readable storage medium for detecting congestion status of a network link according to an exemplary embodiment.

[0073] Figure 13 This is a block diagram illustrating a computer program product for detecting congestion status of a network link according to an exemplary embodiment. Detailed Implementation

[0074] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0075] The term "and / or" in the embodiments of this application refers to any and all possible combinations including one or more of the associated listed items. It should also be noted that, when used in this specification, "including / comprising" specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, and / or components and / or groups thereof.

[0076] The terms "first," "second," etc., used in this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0077] Furthermore, although the terms "first," "second," etc., are used repeatedly in this application to describe various operations (or various components, or various applications, or various instructions, or various data), these operations (or components, or applications, or instructions, or data) should not be limited by these terms. These terms are only used to distinguish one operation (or component, or application, or instruction, or data) from another operation (or component, or application, or instruction, or data). For example, a first queuing delay can be referred to as a second queuing delay, and a second queuing delay can be referred to as a first queuing delay; the only difference is the scope they encompass, but they do not depart from the scope of this application. Both the first queuing delay and the second queuing delay are sets of statistical values ​​corresponding to the queuing delay of at least one data packet in a data packet group collected at the corresponding collection point; they are simply not statistical values ​​corresponding to the queuing delay of at least one data packet in the same data packet group.

[0078] The network link congestion detection method provided in this application embodiment can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a communication network. The data storage system can store processed data in server 104, or send processed data stored in server 104 to terminal 102. The data storage system can be integrated on server 104, or it can be located in the cloud or on other network servers.

[0079] In some embodiments, terminal 102 (such as a mobile terminal or a fixed terminal) can be implemented in various forms. Terminal 102 includes a data packet sender and a data packet receiver. Specifically, terminal 102 can be a mobile terminal, such as a mobile phone, smartphone, laptop, portable handheld device, personal digital assistant (PDA), tablet computer (PAD), etc., which can detect the link status of the network link at the current moment based on target congestion detection configuration information matched with the latency jitter level at the current moment. Terminal 102 can also be a fixed terminal, such as an automated teller machine (ATM), automatic kiosk, digital TV, desktop computer, fixed-line computer, etc., which can detect the link status of the network link at the current moment based on target congestion detection configuration information matched with the latency jitter level at the current moment.

[0080] Hereinafter, it is assumed that terminal 102 is a fixed terminal. However, those skilled in the art will understand that, if there are operations or elements specifically designed for mobile purposes, the construction according to the embodiments disclosed in this application can also be applied to mobile type terminal 102.

[0081] In some embodiments, reference Figure 1 Server 104 determines the latency jitter level of the network link at the current sampling point based on the queuing delay of the data packet groups cached at the current sampling point and the previous sampling point corresponding to the current sampling point. Here, the queuing delay is a statistical data point representing the instantaneous queuing delay of at least one data packet in the data packet group. The latency jitter level characterizes the degree of change in queuing delay between the data packet groups cached at two adjacent sampling points in the network link. Then, server 104 obtains target congestion detection configuration information from at least two congestion detection configuration information sets that matches both the latency jitter level of the current sampling point and the historical link state of the network link. Here, the historical link state characterizes the link congestion state of the network link at the previous sampling point. Finally, server 104 detects the current link state of the network link based on the target congestion detection configuration information. Here, the current link state characterizes the link congestion state of the network link at the current sampling point.

[0082] In some embodiments, the data processing component running on server 104 may load any of the various additional server applications and / or middleware applications being executed, such as HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), CGI (Common Gateway Interface), RDBMS (Relational Database Management System), etc.

[0083] In some embodiments, server 104 may be implemented using a separate data processor or a data processing cluster consisting of multiple data processors. Server 104 may be adapted to run one or more application services or software components that provide the various additional server applications and / or middleware applications described in the foregoing disclosure.

[0084] In some embodiments, the application service may include a service interface that provides users with the latency jitter and link status of the network link (e.g., an operation interface for users to select the link status for a specific time period, or a display interface for users to see the latency jitter and link status of the network link at the current moment), and corresponding program services, etc. The software component may include, for example, an application (SDK) or client (APP) with the function of detecting the latency jitter of the network link at the current moment and detecting the link status of the network link at the current moment.

[0085] In some embodiments, the application or client provided by server 104, which has the functions of detecting the latency jitter of the network link at the current moment and detecting the link status of the network link at the current moment, includes a portal port that provides one-to-one application services to users in the foreground and multiple business systems that perform data processing in the background, so as to extend the function of detecting the latency jitter and link status to the APP or client, so that users can use and access the function of detecting the latency jitter of the network link at the current moment and detecting the link status of the network link at the current moment anytime and anywhere.

[0086] In some embodiments, the resource transfer function of an APP or client can be a computer program running in user mode to complete one or more specific tasks, which can interact with the user and has a visual user interface. The APP or client can include two parts: a graphical user interface (GUI) and an engine, which together provide users with a variety of application services in the form of a user interface in a digital client system.

[0087] In some embodiments, users can input corresponding code data or control parameters into the APP or client through the input device in the terminal 102, so that the computer program in the server 104 can execute the corresponding application service and display the application service in the user interface in the terminal 102.

[0088] As an example, when a user needs to determine the current link status of the network link in server 104, the user can input information about each data packet obtained from the consumption queue within a predetermined time range through the input device in terminal 102. This allows server 104 to obtain the queuing delay of the received data packets at the corresponding sampling point based on the data packet information, thereby determining the latency jitter level of the network link at the current moment. Based on the latency jitter level, server 104 selects the corresponding pre-configured congestion detection configuration information to detect the current link status of the network link, and then displays the detected link status to the user in real time. Optionally, the input method corresponding to the input device can be touch screen input, keypad input, voice input, or related control program input, etc.

[0089] In some embodiments, the operating system running the app or client may include various versions of Microsoft... Apple and / or Linux operating system, various commercial or similar Operating systems (including but not limited to various GNU / Linux operating systems, Google) OS and / or mobile operating systems, such as Phone OS OS OS operating systems, as well as other online or offline operating systems, are not specifically limited here.

[0090] In some embodiments, during the process of the sending end transmitting data packets / data packet groups to the receiving end via the network link, various unstable transmission factors (including parameter settings at the receiving end, parameter settings at the sending end, and network conditions between the receiving and sending ends) can cause excessively large or small abrupt errors in the transmission delay of data packets / data packet groups. This results in irregular delay jitter in the network link, which in turn affects the queuing delay of each data packet / data packet group when it is buffered at the receiving end. Therefore, in this embodiment, the delay jitter level of the network link at the current sampling point is introduced to detect the current congestion state of the network link, in order to improve the accuracy of network link congestion state detection.

[0091] In some embodiments, such as Figure 2 As shown, a method for detecting congestion status of a network link is provided, which can be applied to... Figure 1 Taking server 104 as an example, the method includes the following steps:

[0092] Step S11: Based on the queuing delay of the data packet groups buffered and acquired by the network link at the current sampling point and the previous sampling point corresponding to the current sampling point, determine the delay jitter of the network link at the current sampling point.

[0093] In one embodiment, the delay jitter level characterizes the degree of variation in queuing delay between the respective buffered data packet groups at two adjacent sampling points in a network link.

[0094] In some embodiments, the queuing delay of a data packet group in the cache represents the time required for a data packet group cached in the storage medium at the receiving end to wait before the server begins to process it.

[0095] In some embodiments, a greater degree of delay jitter in the network link at the current sampling point indicates a greater sudden change in the network link, resulting in a greater queuing delay for data packets. Conversely, a smaller degree of delay jitter in the network link at the current sampling point indicates a smaller sudden change in the network link, resulting in a smaller queuing delay for data packets.

[0096] In one embodiment, the degree of delay jitter is determined based on the queuing delay of the data packets acquired at two sampling points and the difference between the queuing delays.

[0097] In some embodiments, the two sampling points can be any two sampling points of each of the multiple data packet groups cached in the network link, or they can be two adjacent sampling points in the network link.

[0098] As an example, S data packet groups (S>2) are cached within a preset time range T. The server needs to sample each of the S data packet groups P times (2<P≤S). The server can choose any two sampling points in the P samplings to determine the latency jitter of the network link, or it can choose any two adjacent sampling points to determine the latency jitter of the network link.

[0099] Specifically, if the latency jitter of the network link to be determined is the latency jitter of the current sampling point, then one of the two sampling points randomly selected by the server in the P samplings must be the current sampling point. The current sampling point is the sampling point containing the most recently cached packet group in the network link.

[0100] In some embodiments, the server can select two sampling points from multiple sampling points, such as the current sampling point and the previous sampling point, thereby reducing the resource consumption of the server's processor in calculating the latency jitter level and improving the accuracy of the latency jitter level calculation.

[0101] In one embodiment, the queuing delay of the acquired data packet group buffered at two sampling points includes a first queuing delay corresponding to one sampling point and a second queuing delay corresponding to the other sampling point, and the difference between the first queuing delay and the second queuing delay is the difference in queuing delay.

[0102] In some embodiments, the first queuing delay is the queuing delay of the data packet group corresponding to the current sampling point, the second queuing delay is the queuing delay of the data packet group corresponding to the previous sampling point, and the data packet group obtained by the server in the cache at the two sampling points includes at least one data packet.

[0103] In one embodiment, the queuing delay of a data packet group is a statistical data point corresponding to the instantaneous queuing delay of at least one data packet in the data packet group.

[0104] The statistical data can be the average, maximum, or minimum instantaneous queuing delay of each data packet in a data packet group, or it can be the instantaneous queuing delay of a single data packet at a preset position in the data packet group. For example, the instantaneous queuing delay corresponding to the first / last data packet in data packet group P is the queuing delay of data packet group P.

[0105] In some embodiments, the instantaneous queuing delay of a single data packet is the difference between the transmission delay of the corresponding single data packet and the minimum transmission delay among all data packets in the corresponding most recent statistical window.

[0106] The transmission delay of a single data packet is the difference between the reception time and the transmission time of the corresponding single data packet.

[0107] In one embodiment, the first queuing delay and the second queuing delay are both the average queuing delay between each data packet in the corresponding data packet group.

[0108] In one implementation scenario, the server extracts a first data packet group for the current sampling point and a second data packet group relative to the previous sampling point from the storage medium at the receiving end. The first data packet group includes 10 data packets, and the average queuing delay of these 10 data packets is based on s_dly. queue1 The server sets the first queuing delay for the first data packet group to s_dly. queue1 The second packet group contains 20 packets, and the average queuing delay of these 20 packets is based on s_dly. queue2 The server configures the second queuing delay for the second data packet group to be s_dly. queue2 Then, the server calculates the queue delay difference dly_gap based on the difference between the first and second queue delays. queueTherefore, the server can determine the degree of network link delay jitter at the current sampling point based on the calculation relationship between the first queuing delay, the second queuing delay, and the difference in queuing delay.

[0109] Step S12: From at least two congestion detection configuration information, obtain the target congestion detection configuration information that matches both the delay jitter level of the current sampling point and the historical link status of the network link.

[0110] In one embodiment, the congestion detection configuration information includes pre-configured congestion state transition conditions, and the congestion detection configuration information is used to detect the link congestion state of the network link according to the congestion state transition conditions.

[0111] In some embodiments, the congestion state transition conditions are determined based on various data packet queuing delays (e.g., maximum queuing delay, minimum queuing delay, difference in queuing delays, average queuing delay, etc.), preset thresholds, and preset weighting factors.

[0112] In some embodiments, different congestion detection configuration information includes different congestion state transition conditions. The criteria for determining the link congestion state differ depending on the congestion state transition condition. For example, the first congestion detection configuration information might be based on the relationship between the queuing delays of data packets cached within a preset time window; the second congestion detection configuration information might be based on the relationship between the queuing delays of data packets cached at a preset number of sampling points, and so on. No specific limitations are specified here.

[0113] In some embodiments, different levels of latency jitter correspond to different target congestion detection configuration information. For example, when the latency jitter level of the current sampling point is at a first level and the historical link state of the network link is at a first state, the target congestion detection configuration information obtained by the server is the first congestion detection configuration information; when the latency jitter level of the current sampling point is at a second level and the historical link state of the network link is at a second state, the target congestion detection configuration information obtained by the server is the second congestion detection configuration information. Here, the first level and the second level, as well as the first state and the second state, are two different levels / states.

[0114] In one embodiment, the historical link state characterizes the link congestion state of the network link at the previous sampling point. The historical link state includes either a historical congested state or a historical non-congested state.

[0115] In some embodiments, the historical link state can be the link congestion state determined by the server at the previous sampling point based on the network link congestion state detection method described in this embodiment, or it can be the link congestion state manually set by the network engineer or detected by other devices / frameworks and stored in the storage medium.

[0116] Step S13: Detect the current link status of the network link based on the target congestion detection configuration information.

[0117] In some embodiments, the server detects the link congestion state of the network link based on the congestion state transition conditions corresponding to the target congestion detection configuration information, so as to determine the current link state of the network link.

[0118] The current link state characterizes the congestion status of the network link at the current sampling point. The current link state can be either congested or non-congested.

[0119] In one implementation scenario, the server acquires target congestion detection configuration information A, which matches the latency jitter level of the current sampling point and the historical link status of the network link. Congestion detection configuration information A includes configuration information for determining the link status based on whether the first type of queuing delay of the first data packet group at the current sampling point and the second type of queuing delay of the second data packet group at the previous sampling point satisfy the corresponding congestion state transition condition B. The judgment of the link status corresponding to congestion state transition condition B is based on the relationship between the first type of queuing delay of the first data packet group and the second type of queuing delay of the second data packet group, which are cached within a preset time window / a preset number of sampling points. Therefore, the server determines whether the network link at the current sampling point satisfies the congestion state transition condition B corresponding to congestion detection configuration information A based on the relationship between the first type of queuing delay of the first data packet group and the second type of queuing delay of the second data packet group. Specifically, if the network link at the current sampling point meets the congestion state transition condition B corresponding to congestion detection configuration information A, the server determines the link state at the current sampling point to be the first state; if the network link at the current sampling point does not meet the congestion state transition condition B corresponding to congestion detection configuration information A, the server determines the link state at the current sampling point to be the second state. The first state is one of a congested state and a non-congested state, and the second state is the other of a congested state and a non-congested state.

[0120] In the aforementioned network link congestion detection process, the server first determines the latency jitter level of the network link at the current sampling point based on the queuing delay of the data packet groups cached at the current sampling point and the corresponding previous sampling point. Here, queuing delay is a statistical data point representing the instantaneous queuing delay of at least one data packet in a data packet group. The latency jitter level characterizes the degree of change in queuing delay between the data packet groups cached at two adjacent sampling points in the network link. Then, the server obtains target congestion detection configuration information from at least two congestion detection configuration information sets that matches both the latency jitter level of the current sampling point and the historical link state of the network link. Here, the historical link state characterizes the link congestion state of the network link at the previous sampling point. Finally, the server detects the current link state of the network link based on the target congestion detection configuration information. Here, the current link state characterizes the link congestion state of the network link at the current sampling point. In this way, on the one hand, the network link's latency jitter at the current sampling point is determined based on the queuing delay at different sampling points, and the link status at the current sampling point is determined using the latency jitter. This differs from existing technologies that detect the current congestion level of a network link solely through changes in the queuing delay of a single data packet. This effectively improves the accuracy of the detected network link congestion status, making subsequent adjustments to the network link more reasonable and efficient. On the other hand, by using at least two pre-configured congestion detection settings combined with the network link's latency jitter, the link status at the current sampling point is detected, thereby optimizing the network link congestion status detection process, improving the accuracy of congestion status detection, and reducing the complexity of congestion status detection.

[0121] Those skilled in the art will understand that the methods disclosed in the above-described specific embodiments can be implemented in more concrete ways. For example, the implementation described above for detecting the link status of network links at the current sampling point based on target congestion detection configuration information is merely illustrative.

[0122] For example, the server determines the latency jitter of the network link at the current sampling point based on the queuing delay of the data packet groups cached at two sampling points and the difference between the queuing delays; or it obtains target congestion detection configuration information that matches the latency jitter at the current moment from at least two pre-configured congestion detection configuration information, etc. This is just one set of methods. In actual implementation, there may be other execution methods. For example, the latency jitter of the network link at the current moment and the latency jitter at the previous moment, or the link state of the network link at the current moment and the link state at the previous moment can be combined or integrated into another system, or some features can be ignored or not executed.

[0123] In one embodiment, the queuing delay for the data packet groups cached at the current sampling point and the previous sampling point corresponding to the current sampling point includes: a first queuing delay corresponding to the current sampling point and a second queuing delay corresponding to the previous sampling point.

[0124] The difference between the first queuing delay and the second queuing delay represents the delay difference between the data packet groups buffered at the current sampling point and the previous sampling point.

[0125] See Figure 3 , Figure 3 This is a flowchart illustrating an embodiment of determining the latency jitter level of a network link in this application. In step S11, the process by which the server determines the latency jitter level of the network link at the current sampling point can be implemented in the following way:

[0126] Step S121: Based on the statistical data between the second queuing delay and the delay difference, determine the predicted queuing delay for the current sampling point.

[0127] In one embodiment, the server first obtains a delay difference based on the difference between the first queuing delay of the data packet group at the current sampling point and the second queuing delay of the data packet group at the previous sampling point; then, the server performs a weighted average of the second queuing delay and the delay difference based on a preset first smoothing coefficient to obtain the corresponding first weighted average value, so as to determine the predicted queuing delay for the current sampling point.

[0128] In some embodiments, the first queuing delay is based on s_dly queue1 Characterization, the second queuing delay is based on s_dly queue2 Characterization, delay difference based on dly_gap queue The representation, that is, the delay difference obtained by the server based on the difference between the first queuing delay and the second queuing delay, can be expressed as:

[0129] dly_gap queue =s_dly queue1 -s_dly queue2 .

[0130] Furthermore, the server pre-sets a first smoothing coefficient (denoted as β) between the second queuing delay and the delay difference, and the first smoothing coefficient weighted for the second queuing delay is β, while the first smoothing constant weighted for the delay difference is (1-β), where 0 < β < 1. Therefore, the server determines the predicted queuing delay of the data packet group buffered at the current sampling point based on the first smoothing coefficients weighted for the second queuing delay and the delay difference, which can be expressed as:

[0131] l_dly queue =s_dlyqueue2 ×β+dly_gap queue ×(1-β).

[0132] Among them, l_dly queue This refers to the predicted queuing delay, which is represented by the server's delay s_dly for the first queue. queue1 The predicted value.

[0133] Step S122: Based on the statistical data between the instantaneous queuing delay of the current data packet and the predicted queuing delay, determine the delay jitter error of the network link at the current sampling point.

[0134] In some embodiments, the current data packet is the last data packet in the buffered data packet group at the current sampling point, that is, the most recent data packet received by the network link at the data packet receiver at the current moment.

[0135] The instantaneous queuing delay of the current data packet can be based on dly. queue Therefore, based on the difference between the instantaneous queuing delay and the predicted queuing delay of the current data packet, the server determines the network link's delay jitter error at the current sampling point, which can be expressed as:

[0136] dly_var queue =dly queue –l_dly queue .

[0137] Among them, dly_var queue This refers to the delay jitter error, which can also be called the delay jitter distance, dly_var queue This represents the difference in network link latency jitter calculated by the server between the current sampling point and the previous sampling point.

[0138] For example, if dly_var queue The smaller the value, the smaller the difference between the latency jitter calculated by the server at the current sampling point and the latency jitter calculated at the previous sampling point; if dly_var queue The larger the value, the greater the difference between the latency jitter calculated by the server at the current sampling point and the latency jitter calculated at the previous sampling point.

[0139] Step S123: Based on the statistical data between the delay jitter error of the current sampling point and the delay jitter level of the previous sampling point, determine the delay jitter level of the network link at the current sampling point.

[0140] In one embodiment, the degree of delay jitter of the network link at each sampling point is characterized by the corresponding delay jitter coefficient, and the delay jitter coefficient of each sampling point represents the result after smoothing the delay jitter error of the corresponding sampling point.

[0141] The degree of delay jitter can be characterized by a specific delay jitter coefficient, that is, the delay jitter coefficient of the network link at the current sampling point is the degree of delay jitter of the network link at the corresponding sampling point.

[0142] In some embodiments, the server determines the latency jitter level of the network link at the current sampling point based on statistical data between the latency jitter error at the current sampling point and the latency jitter level at the previous sampling point. Specifically, this may include: taking a weighted average of the latency jitter error at the current sampling point and the latency jitter coefficient at the previous sampling point based on a preset second smoothing coefficient to obtain a corresponding second weighted average value, thereby determining the latency jitter coefficient of the network link at the current sampling point. The second smoothing coefficient is greater than 0 and less than 1.

[0143] In some embodiments, the delay jitter coefficient of the previous sampling point can be based on s_dly_var queue2 The representation, and the s_dly_var queue2 This means the server has already completed the calculation when calculating the network link congestion status at the previous sampling point.

[0144] In some embodiments, the server pre-sets a second smoothing coefficient γ between the delay jitter coefficient and the delay jitter error of the previous sampling point, and a second smoothing coefficient γ for weighting the delay jitter coefficient of the previous sampling point, and a second smoothing coefficient (1-γ) for weighting the delay jitter error, where 0 < γ < 1. Therefore, based on the preset second smoothing coefficient, the server performs a weighted average of the delay jitter error of the current sampling point and the delay jitter coefficient of the previous sampling point to determine the delay jitter level (s_dly_var) of the network link at the current sampling point. queue1 ), can be represented as:

[0145] s_dly_var queue1 =s_dly_var queue2 ×γ+dly_var queue ×(1-γ).

[0146] In some embodiments, due to various factors such as the parameter settings of the data packet receiver, the parameter settings of the sender, and the network status between the receiver and the sender, the latency jitter of the network link is always in a dynamic state. Therefore, the server sets a jitter threshold for the latency jitter of the network link and determines the latency jitter status of the network link based on whether the latency jitter exceeds the preset jitter threshold.

[0147] In one embodiment, after determining the degree of delay jitter of the network link at the current sampling point, the server further includes: if the degree of delay jitter at the current sampling point is greater than a preset jitter threshold, determining the current jitter state of the network link as a delayed jitter state; or, if the degree of delay jitter at the current sampling point is less than or equal to the preset jitter threshold, determining the current jitter state of the network link as a non-delay jitter state.

[0148] In one embodiment, after determining the latency jitter state of the network link at the current sampling point, the server further includes: obtaining target congestion detection configuration information that matches the latency jitter state of the current sampling point and the historical link state of the network link from at least two pre-configured congestion detection configuration information sets, and determining the current link state of the network link at the current sampling point based on the target congestion detection configuration information. The historical link state includes either a historical congested state or a historical non-congested state.

[0149] In a first exemplary embodiment, if the server: when the current jitter state is a delayed jitter state and the historical link state is a historical congestion state, it obtains the first congestion detection configuration information as the target congestion detection configuration information, and determines the current link state of the network link at the current sampling point based on the target congestion detection configuration information.

[0150] In one embodiment, the first congestion detection configuration information includes configuration information for determining the link congestion state using the maximum instantaneous queuing delay and a first preset threshold; wherein, the maximum instantaneous queuing delay is the maximum instantaneous queuing delay between each data packet cached within the current preset time window.

[0151] In some embodiments, the current preset time window is a time range that starts at the current time and ends at a preset time range that moves backward. For example, the time range included in the current preset time window can be 10 seconds, 20 seconds, etc.

[0152] In one embodiment, the first congestion detection configuration information includes a first congestion state transition condition, wherein the first congestion state transition condition is a weighted value of the maximum instantaneous queuing delay being less than a first preset threshold.

[0153] In one embodiment, the server determines the current link state of the network link based on the target congestion detection configuration information by: if the target congestion detection configuration information is the first congestion detection configuration information, and the network link meets the first congestion state transition condition, then the current link state is determined to be a non-congestion state; or, if the target congestion detection configuration information is the first congestion detection configuration information, and the network link does not meet the first congestion state transition condition, then the current link state is determined to be a congestion state.

[0154] In one exemplary embodiment, see Figure 4 , Figure 4 This is a schematic diagram of the interface of the first embodiment of determining the current link state of a network link at the current sampling point in this application.

[0155] exist Figure 4 In the coordinate system, the horizontal axis represents time (T), T1 represents the time range occupied by the previous sampling point, T2 represents the time range occupied by the current sampling point, and S represents the current preset time window ending at T2. T1 and T2 can both be time segments or moments. Within the time segments / moments occupied by T1 and T2, at least one data packet is cached by the server, and the time segments / moments occupied by T1 and T2 do not overlap.

[0156] exist Figure 4 In the coordinate system, the vertical axis represents the queuing time delay (dly), a × dly threshold This represents the weighted value of the first preset threshold. Where 'a' is the weighting coefficient, and 0 < a < 1, dly threshold The first preset threshold is set.

[0157] exist Figure 4 In the curve f(max_dly), the maximum instantaneous queuing delay between data packets in the data packet group cached at each sampling point (dot) within the current preset time window (S) is represented.

[0158] Here, max_dly at T1 represents the maximum instantaneous queuing delay between data packets in the data packet group buffered at the sampling point corresponding to T1, and at this time max_dly > a × dly threshold That is, if the target congestion detection configuration information is the first congestion detection configuration information, the server does not meet the first congestion state transition condition at the previous sampling point (T1), therefore the historical link state at the previous sampling point is a congested state; at T2, max_dly represents the maximum instantaneous queuing delay between the data packets in the data packet group cached at the sampling point corresponding to T2, and at this time max_dly < a × dly threshold That is, when the target congestion detection configuration information is the first congestion detection configuration information, the server satisfies the first congestion state transition condition at the current sampling point (T2), that is, the current link state at the current sampling point is a non-congestion state.

[0159] In a second exemplary embodiment, if the server: when the current jitter state is a delayed jitter state and the historical link state is a historical non-congested state, it obtains the second congestion detection configuration information as the target congestion detection configuration information, and determines the link state of the network link at the current sampling point based on the target congestion detection configuration information.

[0160] In one embodiment, the second congestion detection configuration information includes configuration information for determining the link congestion state using the minimum instantaneous queuing delay, a second preset threshold, the average queuing delay between each data packet cached within the current preset time window, and the minimum average queuing delay corresponding to multiple adjacent preset time windows, including the current preset time window.

[0161] The minimum instantaneous queuing delay is the minimum instantaneous queuing delay between the data packets cached within the current preset time window.

[0162] In some embodiments, the current preset time window is a time range that starts at the current time and ends at a preset time range that moves backward. For example, the time range included in the current preset time window can be 10 seconds, 20 seconds, etc.

[0163] In one embodiment, the second congestion detection configuration information includes a second congestion state transition condition; wherein, the second congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies: the minimum instantaneous queuing delay is greater than a second preset threshold, and the difference between the average queuing delay and the minimum average queuing delay is greater than the weighted value of the second preset threshold.

[0164] In one embodiment, the server detects the current link state of the network link based on the target congestion detection configuration information, including: if the target congestion detection configuration information is the second congestion detection configuration information, and the network link meets the second congestion state transition condition, then the current link state is determined to be a congested state; or, if the target congestion detection configuration information is the second congestion detection configuration information, and the network link does not meet the response to the second congestion state transition condition, then the current link state is determined to be a non-congested state.

[0165] In one exemplary embodiment, see Figure 5 , Figure 5 This is a schematic diagram of the interface for the second embodiment of determining the link status of a network link at the current sampling point in this application.

[0166] exist Figure 5In the coordinate system, the horizontal axis represents time (T), T1 represents the time range occupied by the previous sampling point, T2 represents the time range occupied by the current sampling point, S represents the current preset time window ending at T2, and n represents another current preset time window ending at T2 (which includes multiple consecutive detections / sampling / sampling durations). T1 and T2 can both be time segments or moments. Within the time segments / moments occupied by T1 and T2, at least one data packet is cached by the server, and the time segments / moments occupied by T1 and T2 do not overlap.

[0167] exist Figure 5 In the coordinate system, the vertical axis represents the queuing time delay (dly), where dly threshold This represents the second preset threshold, b×dly threshold This represents the weighted value of the preset second threshold. Where b is the weighting coefficient, and 0 < b < 1.

[0168] exist Figure 5 In the diagram, curve f(min_dly) represents the minimum instantaneous queuing delay among the data packets acquired in the current detection (current sampling point). Curve f(dly_avg-min_dly_avg) represents the difference between the average queuing delay and the minimum average queuing delay among the data packets acquired in the current detection (current sampling point).

[0169] Here, min_dly at T1 represents the minimum instantaneous queuing delay between the data packets acquired in the current detection (i.e., the previous sampling point), and at this point, min_dly < dly. threshold At T1, dly_avg-min_dly_avg represents the difference between the average queuing delay and the minimum average queuing delay among the data packets acquired in the current detection (i.e., the previous sampling point), and at this time, dly_avg-min_dly_avg < b × dly threshold That is, when the target congestion detection configuration information is the second congestion detection configuration information, the server does not meet the second congestion state transition condition at the previous sampling point (T1), so the historical link state at the previous sampling point is a non-congestion state.

[0170] Here, min_dly at T2 represents the minimum instantaneous queuing delay between the data packets acquired in the current detection (i.e., the current sampling point), and at this point, min_dly > dly. thresholdAt T2, dly_avg-min_dly_avg represents the difference between the average queuing delay and the minimum average queuing delay among the data packets acquired in the current detection (i.e., the current sampling point), and at this point, dly_avg-min_dly_avg > b × dly threshold And the duration of each detection / sampling / sampling within the time range n prior to the current detection (i.e., the current sampling point) satisfies the corresponding min_dly > dly. threshold and dly_avg-min_dly_avg>b×dly threshold That is, when the target congestion detection configuration information is the second congestion detection configuration information, the server meets the second congestion state transition condition at the current sampling point (T2), so the current link state at the current sampling point is a congestion state.

[0171] In the third exemplary embodiment, if the server: when the current jitter state is a non-delay jitter state and the historical link state is a historical congestion state, it obtains third congestion detection configuration information as target congestion detection configuration information, and determines the link state of the network link at the current sampling point based on the target congestion detection configuration information.

[0172] In one embodiment, the third congestion detection configuration information includes configuration information for determining the link congestion state using the average queuing delay between each data packet cached within the current preset time window, the instantaneous queuing delay of the current data packet, and a third preset threshold.

[0173] In some embodiments, the current preset time window is a time range that starts at the current time and ends at a preset time range that moves backward. For example, the time range included in the current preset time window can be 10 seconds, 20 seconds, etc.

[0174] In one embodiment, the third congestion detection configuration information includes a third congestion state transition condition; wherein the third congestion state transition condition is a first weighted value where the instantaneous queuing delay is greater than a third preset threshold, and a second weighted value where the average queuing delay is less than the third preset threshold.

[0175] In one embodiment, the server determines the current link state of the network link based on the target congestion detection configuration information as follows: if the target congestion detection configuration information is the third congestion detection configuration information, and the network link meets the third congestion state transition conditions, then the current link state is determined to be a non-congestion state; or, if the target congestion detection configuration information is the third congestion detection configuration information, and the network link does not meet the third congestion state transition conditions, then the current link state is determined to be a congestion state.

[0176] In one exemplary embodiment, see Figure 6, Figure 6 This is a schematic diagram of the interface for the third embodiment of determining the link status of a network link at the current sampling point in this application.

[0177] exist Figure 6 In the coordinate system, the horizontal axis represents time (T), T1 represents the time range occupied by the previous sampling point, T2 represents the time range occupied by the current sampling point, and S represents the current preset time window ending at T2. T1 and T2 can both be time segments or moments. Within the time segments / moments occupied by T1 and T2, at least one data packet is cached by the server, and the time segments / moments occupied by T1 and T2 do not overlap.

[0178] exist Figure 6 In the coordinate system, the vertical axis represents the queuing time delay (dly), c × dly threshold This represents the first weighted value of the preset third threshold. Where c is the weighting coefficient, and 0 < c < 1, d × dly threshold This represents the second weighted value of the preset third threshold. Here, d is the weighting coefficient, and 0 < d < 1.

[0179] exist Figure 6 In the diagram, curve f(dly) represents the instantaneous queuing delay of the last data packet in the buffered data packet group at each sampling point (dot) within the current preset time window (S). Curve f(dly_avg) represents the average queuing delay between data packets in the buffered data packet group at each sampling point (dot) within the current preset time window (S).

[0180] Here, dly at T1 represents the instantaneous queuing delay of the last data packet in the data packet group buffered at the sampling point corresponding to T1, and at this time dly > c × dly threshold At point T1, dly_avg represents the average queuing delay between data packets in the buffered data packet group acquired at the sampling point corresponding to T1, and at this point, dly_avg > d × dly threshold That is, if the target congestion detection configuration information is the third congestion detection configuration information, the server does not meet the third congestion state transition condition at the previous sampling point (T1), so the historical link state at the previous sampling point is a congestion state.

[0181] Here, dly at T2 represents the instantaneous queuing delay of the last data packet in the data packet group buffered at the sampling point corresponding to T2 (i.e., the instantaneous queuing delay of the data packet at the current moment), and at this time dly < c × dly thresholdAt point T2, dly_avg represents the average queuing delay between data packets in the buffered data packet group acquired at the sampling point corresponding to T2, and at this point, dly_avg < d × dly threshold That is, when the target congestion detection configuration information is the third congestion detection configuration information, the server meets the third congestion state transition condition at the current sampling point (T2), so the current link state at the current sampling point is a non-congestion state.

[0182] In the fourth exemplary embodiment, if the server: when the current jitter state is a non-delay jitter state and the historical link state is a historical non-congestion state, it obtains the fourth congestion detection configuration information as the target congestion detection configuration information.

[0183] In one embodiment, the fourth congestion detection configuration information includes configuration information for determining the link congestion state using the instantaneous queuing delay of the current data packet and a fourth preset threshold.

[0184] In one embodiment, the fourth congestion detection configuration information includes a fourth congestion state transition condition; wherein, the fourth congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies the following: the instantaneous queuing delay is greater than a fourth preset threshold.

[0185] In one embodiment, the server determines the current link state of the network link based on the target congestion detection configuration information as follows: if the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link meets the fourth congestion state transition condition, then the current link state is determined to be a congested state; or, if the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link does not meet the fourth congestion state transition condition, then the current link state is determined to be a non-congested state.

[0186] In one exemplary embodiment, see Figure 7 , Figure 7 This is a schematic diagram of the interface for determining the link status of a network link at the current sampling point in the fourth embodiment of this application.

[0187] exist Figure 7 In the coordinate system, the horizontal axis represents time (T), T1 represents the time range occupied by the previous sampling point, T2 represents the time range occupied by the current sampling point, S represents the current preset time window ending at T2, and n represents another current preset time window ending at T2 (which includes multiple consecutive detections / sampling / sampling durations). T1 and T2 can both be time segments or moments. Within the time segments / moments occupied by T1 and T2, at least one data packet is cached by the server, and the time segments / moments occupied by T1 and T2 do not overlap.

[0188] exist Figure 7 In the coordinate system, the vertical axis represents the queuing time delay (dly), where dly threshold This indicates the preset fourth threshold.

[0189] exist Figure 7 In the diagram, curve f(dly) represents the instantaneous queuing delay of the last data packet in the data packet group acquired in the corresponding current detection (current sampling point).

[0190] Here, dly at T1 represents the instantaneous queuing delay of the last data packet in the buffered data packet group acquired in the current detection (i.e., the previous sampling point), and at this time dly < dly threshold That is, when the target congestion detection configuration information is the fourth congestion detection configuration information, the server does not meet the fourth congestion state transition condition at the previous sampling point (T1), so the historical link state at the previous sampling point is a non-congestion state.

[0191] Here, dly at T2 represents the instantaneous queuing delay (i.e., the current moment) of the last data packet in the buffered data packet group acquired in the current detection (i.e., the current sampling point), and at this time dly > dly threshold And the duration of each detection / sampling / sampling within the time range n prior to the current detection (i.e., the current sampling point) satisfies the corresponding dly > dly. threshold That is, when the target congestion detection configuration information is the fourth congestion detection configuration information, the server meets the fourth congestion state transition condition at the current sampling point (T2), so the current link state at the current sampling point is a congestion state.

[0192] To extend the network link congestion detection method provided in this disclosure, another embodiment will be used to further describe the method. In an exemplary embodiment, reference is made to... Figure 8 and Figure 9 , Figure 8 This is a flowchart illustrating a network link congestion state detection method according to another exemplary embodiment. Figure 9 This is a block diagram illustrating a network link congestion state detection method according to another exemplary embodiment, the network link congestion state detection method being used for Figure 1 The server 104 shown includes the following:

[0193] Step S21: Obtain the first queuing delay of the data packet group collected at the first sampling point and the second queuing delay of the data packet group collected at the second sampling point.

[0194] The server first receives network statistics (including the sending time and receiving time of each data packet) from the receiving end of the data packet group. Then, based on the network statistics, it determines the first queuing delay of the data packet group collected at the first sampling point and the second queuing delay of the data packet group collected at the second sampling point.

[0195] The first sampling point is the sampling point at the current moment, and the second sampling point is the sampling point before the first sampling point.

[0196] The time interval for the receiving end to sample the received data packets is determined by the parameter settings of the receiving end, the parameter settings of the sending end, and the network status between the receiving end and the sending end. That is, the distance between each interval (i.e., two adjacent sampling points) is not necessarily equal.

[0197] The first queue delay is based on s_dly. queue The expression states that the second queuing delay is based on L_dly. queue Express.

[0198] Wherein, the first queuing delay and the second queuing delay are both the average queuing delays between each data packet in the corresponding data packet group.

[0199] Wherein, the queuing delay of a single data packet = the transmission delay of the corresponding single data packet - the minimum transmission delay among all data packets in the most recent statistical window.

[0200] Wherein, transmission delay = data packet reception time - data packet transmission time.

[0201] The most recent statistical window is the time range included within T seconds prior to the current time.

[0202] Step S22: Subtract the second queue delay from the first queue delay to obtain the queue delay difference.

[0203] The queuing delay difference is based on dly_gap. queue Expression, that is

[0204] dly_gap queue =s_dly queue -L_dly queue .

[0205] Step S23: Based on the product of the first queuing delay and the queuing delay difference with the first weighting factor, calculate the sum of the two to obtain the third queuing delay.

[0206] The third queuing delay is the queuing delay of the network link at the current moment.

[0207] The third queue delay is based on dly.queue Expression, the first weighting factor is based on β expression (0 < β < 1), that is

[0208] dly queue =s_dly queue ×β+dly_gap queue (1-β).

[0209] Step S24: Based on the difference between the third queuing delay and the first queuing delay, obtain the first time delay smoothing jitter coefficient; and based on the difference between the first queuing delay and the second queuing delay, obtain the second time delay smoothing jitter coefficient.

[0210] The first time delay smoothing jitter coefficient is used to characterize the time delay smoothing jitter coefficient between the current time and the first sampling point.

[0211] The first time delay smoothing jitter coefficient is based on s_dly_var queue Expression, that is

[0212] s_dly_var queue =dly queue -s_dly queue .

[0213] The second time delay smoothing jitter coefficient is used to characterize the time delay smoothing jitter coefficient between the first sampling point and the second sampling point.

[0214] The second time delay smoothing jitter coefficient is based on L_dly_var queue Expression, that is

[0215] L_dly_var queue =s_dly queue -L_dly queue .

[0216] Step S25: Based on the product of the first time delay smoothing jitter coefficient and the second time delay smoothing jitter coefficient with the second weighting factor, calculate the sum of the two to obtain the third time delay smoothing jitter coefficient.

[0217] The third time delay smoothing jitter coefficient is used to characterize the time delay smoothing jitter coefficient at the current moment.

[0218] Among them, the third time delay smoothing jitter coefficient is based on dly_var queue Expression, the second weighting factor is based on γ expression (0 < γ < 1), that is

[0219] dly_var queue =s_dly_var queue ×γ+L_dly_var queue (1-γ).

[0220] Step S26: Based on the magnitude of the third delay smoothing jitter coefficient and the preset threshold, determine whether the current link is in a delay jitter state.

[0221] If the third delay smoothing jitter coefficient is greater than the preset threshold, the current link is in a delay jitter state.

[0222] If the third delay smoothing jitter coefficient is less than or equal to the preset threshold, then the current link is in a non-delay jitter state.

[0223] The preset threshold corresponding to the delay smoothing jitter coefficient is based on s_dly_var threshold The method for characterizing, or determining whether the current link is in a state of latency jitter, is as follows:

[0224] s_dly_var queue >s_dly_var threshold .

[0225] Step S27: Obtain multiple data packets received within a preset time range.

[0226] The preset time range is S seconds, which is used to represent the time range included within S seconds from the current time.

[0227] The preset time range consists of N adjacent time statistics windows, and each time statistics window includes at least two data packets.

[0228] Step S28: Based on the queuing delay of each data packet, determine the minimum queuing delay, the current average queuing delay, and the minimum average queuing delay.

[0229] Among them, the minimum queuing delay is the smallest queuing delay among the multiple queuing delays corresponding to the multiple data packets;

[0230] The current average queuing delay is the average queuing delay of each data packet within the current time statistical window.

[0231] Among them, the minimum average queuing delay is the smallest average queuing delay among the multiple average queuing delays corresponding to the N time statistics windows;

[0232] Among them, the minimum queuing delay is based on the min_dly representation, the current average queuing delay is based on the dly_avg representation, and the minimum average queuing delay is based on the min_dly_avg representation.

[0233] Step S29: Given the current delay jitter state of the corresponding network link and the congestion state at the second sampling point, detect the congestion state of the network link at the current moment based on the minimum queuing delay of the data packet, the current average queuing delay, and the minimum average queuing delay.

[0234] The network link is currently in a state of latency jitter and is in a state of congestion at the second sampling point, which together constitute four cases. The network link is divided into two categories based on whether it is currently in a state of latency jitter: the first category includes the first case: the network link is in a state of congestion at the second sampling point and the second case: the network link is in a state of non-congestion at the second sampling point. The network link is divided into two categories based on whether it is currently in a state of non-latency jitter: the second category includes the third case: the network link is in a state of congestion at the second sampling point and the fourth case: the network link is in a state of non-congestion at the second sampling point.

[0235] The first scenario is when the network link is currently in a state of delay jitter and the network link is in the first state at the second sampling point. Based on the product of the queuing delay threshold and the third weighting factor, and the magnitude of the minimum queuing delay, the network link is congested and the current link environment is determined.

[0236] The first state indicates that the network link is in a congested state at the corresponding time.

[0237] Among them, the queuing delay threshold is based on dly threshold The expression, the third weighting factor is based on the expression a (0 < a < 1).

[0238] Specifically, if the minimum queuing delay is less than the product of the queuing delay threshold and the third weighting factor, the network link transitions from the first state to the second state, i.e., min_dly. <a×dly threshold .

[0239] The second state indicates that the network link is in a non-congested state at the corresponding time.

[0240] If the minimum queuing delay is greater than or equal to the product of the queuing delay threshold and the third weighting factor, the network link remains in its first state, i.e., min_dly ≥ a × dly. threshold .

[0241] In the second scenario, when the network link is currently in a state of delay jitter and the network link is in a second state at the second sampling point, congestion detection is performed on the network link based on the first preset rule to determine the current link environment of the network link.

[0242] Among them, the first preset rule is that under continuous N packet samplings or within a continuous acquisition duration T, the network link continuously satisfies min_dly > dly threshold and dly_avg > min_dly_avg + b × dly threshold , then the network link changes from the second state to the first state. Here, 0 < b < 1.

[0243] Among them, the preset rule is that under continuous N packet samplings or within a continuous acquisition duration T, the network link cannot continuously satisfy min_dly > dly threshold and dly_avg > min_dly_avg + c × dly threshold , then the network link remains in the second state unchanged. Here, 0 < c < 1.

[0244] In the third case, that is, when the network link is currently in a non-delay jitter state and the network link is in the first state at the second sampling point, congestion detection is performed on the network link based on the size of the queuing delay threshold and the third queuing delay, as well as the size of the queuing delay threshold and the current average queuing delay, to determine the current link environment of the network link.

[0245] Among them, if the third queuing delay is less than the product of the queuing delay threshold and d, and the current average queuing delay is less than the product of the queuing delay threshold and e, then the network link changes from the first state to the second state, that is, dly < d × dly threshold , 0 < d < 1; and dly_avg < e × dly threshold , 0 < e < 1.

[0246] Among them, if the third queuing delay is greater than or equal to the product of the queuing delay threshold and d, and / or the current average queuing delay is greater than or equal to the product of the queuing delay threshold and e, then the network link remains in the first state unchanged, that is, dly ≥ d × dly threshold and / or dly_avg ≥ e × dly threshold .

[0247] In the fourth case, that is, when the network link is currently in a non-delay jitter state and the network link is in the second state at the second sampling point, congestion detection is performed on the network link based on the second preset rule to determine the current link environment of the network link.

[0248] Among them, the second preset rule is that under continuous N packet samplings or within a continuous acquisition duration T, the network link continuously satisfies that the third queuing delay is greater than the queuing delay threshold, that is, dly > dly threshold , then the network link changes from the second state to the first state;

[0249] The second preset rule is that under N consecutive data packet samplings, or within a continuous sampling duration T, the network link cannot continuously satisfy the third queuing delay being greater than the queuing delay threshold, i.e., there exists dly > dly. threshold If so, the network link remains in the second state.

[0250] The above scheme, on the one hand, determines the network link's latency jitter at the current sampling point based on the queuing delay at different sampling points, and uses the latency jitter to determine the link status of the network link at the current sampling point. This differs from existing technologies that detect the current congestion level of a network link solely through changes in the queuing delay of a single data packet. It effectively improves the accuracy of the detected network link congestion status, making subsequent adjustments to the network link more reasonable and efficient. On the other hand, it utilizes at least two pre-configured congestion detection settings combined with the network link's latency jitter to detect the link status of the network link at the current sampling point, thereby optimizing the network link congestion status detection process, improving the accuracy of congestion status detection, and reducing the complexity of congestion status detection.

[0251] It should be understood that, although Figures 2-9 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figures 2-9 At least some of the steps in the process may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but may be executed at different times. The execution order of these steps or stages is not necessarily sequential, but may be executed in turn or alternately with other steps or at least some of the steps or stages in other steps.

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

[0253] Figure 10 This is a block diagram of a network link congestion detection device provided in an embodiment of this application. (Refer to...) Figure 10 The network link congestion detection 10 includes: a jitter determination unit 11, a configuration matching unit 12, and a congestion detection unit 13.

[0254] The jitter determination unit 11 is configured to determine the delay jitter level of the network link at the current sampling point based on the queuing delay of the data packet groups buffered at the current sampling point and the previous sampling point corresponding to the current sampling point; the queuing delay is a statistical data point on the instantaneous queuing delay of at least one data packet in the data packet group; the delay jitter level characterizes the degree of change in the queuing delay between the data packet groups buffered at two adjacent sampling points in the network link.

[0255] The configuration matching unit 12 is configured to perform the following: obtain target congestion detection configuration information from at least two congestion detection configuration information that matches both the delay jitter level of the current sampling point and the historical link status of the network link; the historical link status represents the link congestion status of the network link at the previous sampling point.

[0256] The congestion detection unit 13 is configured to perform the detection of the current link status of the network link based on the target congestion detection configuration information; the current link status represents the link congestion status of the network link at the current sampling point.

[0257] In some embodiments, the queuing delay for the data packet groups buffered at the current sampling point and the previous sampling point corresponding to the current sampling point includes: a first queuing delay corresponding to the current sampling point and a second queuing delay corresponding to the previous sampling point; wherein the difference between the first queuing delay and the second queuing delay characterizes the delay difference between the data packet groups buffered at the current sampling point and the previous sampling point; in determining the degree of delay jitter of the network link at the current sampling point, the jitter determination unit 11 is specifically used for:

[0258] Based on the statistical data between the second queuing delay and the delay difference, the predicted queuing delay for the current sampling point is determined;

[0259] Based on the statistical data between the instantaneous queuing delay of the current data packet and the predicted queuing delay, the delay jitter error of the network link at the current sampling point is determined; the current data packet is the last data packet in the data packet group buffered at the current sampling point;

[0260] Based on the statistical data between the delay jitter error of the current sampling point and the delay jitter level of the previous sampling point, the delay jitter level of the network link at the current sampling point is determined.

[0261] In some embodiments, when determining the aspect of the predicted queuing delay for the current sampling point based on statistics between the second queuing delay and the delay difference, the jitter determination unit 11 is specifically configured to:

[0262] Based on a preset first smoothing coefficient, a weighted average is calculated between the second queuing delay and the delay difference to obtain the corresponding first weighted average value, so as to determine the predicted queuing delay for the current sampling point;

[0263] The first smoothing coefficient is used to adjust the weighting degree between the second queuing delay and the delay difference.

[0264] In some embodiments, the latency jitter of the network link at each sampling point is characterized based on the corresponding latency jitter coefficient; in determining the latency jitter of the network link at the current sampling point based on statistical data between the latency jitter error at the current sampling point and the latency jitter at the previous sampling point, the jitter determination unit 11 is specifically used for:

[0265] Based on a preset second smoothing coefficient, the delay jitter error of the current sampling point and the delay jitter coefficient of the previous sampling point are weighted and averaged to obtain the corresponding second weighted average value, so as to determine the delay jitter coefficient of the network link at the current sampling point;

[0266] The second smoothing constant is used to adjust the weighting of the delay jitter error of the current sampling point and the delay jitter coefficient of the previous sampling point.

[0267] In some embodiments, after determining the delay jitter level of the network link at the current sampling point, the congestion state detection 10 of the network link is further configured to:

[0268] In response to the fact that the delay jitter at the current sampling point is greater than a preset jitter threshold, the current jitter state of the network link is determined to be a delay jitter state;

[0269] In response to the fact that the delay jitter level of the current sampling point is less than or equal to the preset jitter threshold, the current jitter state of the network link is determined to be a non-delay jitter state.

[0270] In some embodiments, the historical link state includes a historical congested state or a historical non-congested state; in the aspect of obtaining target congestion detection configuration information that matches both the latency jitter level of the current sampling point and the historical link state of the network link from at least two congestion detection configuration information, the configuration matching unit 12 is further configured to:

[0271] When the current jitter state is the delayed jitter state and the historical link state is the historical congestion state, first congestion detection configuration information is obtained as the target congestion detection configuration information; the first congestion detection configuration information includes configuration information for determining the link congestion state using the maximum instantaneous queuing delay and a first preset threshold; the maximum instantaneous queuing delay is the maximum instantaneous queuing delay between each data packet cached within the current preset time window;

[0272] When the current jitter state is the delayed jitter state and the historical link state is the historical non-congestion state, second congestion detection configuration information is obtained as the target congestion detection configuration information. The second congestion detection configuration information includes configuration information for determining the link congestion state using minimum instantaneous queuing delay, a second preset threshold, the average queuing delay between each data packet cached within the current preset time window, and the minimum average queuing delay corresponding to multiple adjacent preset time windows including the current preset time window. The minimum instantaneous queuing delay is the minimum instantaneous queuing delay corresponding to each data packet cached within the current preset time window.

[0273] When the current jitter state is the non-delay jitter state and the historical link state is the historical congestion state, third congestion detection configuration information is obtained as the target congestion detection configuration information; the third congestion detection configuration information includes configuration information for determining the link congestion state by using the average queuing delay between each data packet cached within the current preset time window, the instantaneous queuing delay of the current data packet, and a third preset threshold.

[0274] When the current jitter state is the non-delay jitter state and the historical link state is the historical non-congestion state, fourth congestion detection configuration information is obtained as the target congestion detection configuration information; the fourth congestion detection configuration information includes configuration information for determining the link congestion state using the instantaneous queuing delay of the current data packet and a fourth preset threshold.

[0275] In some embodiments, the first congestion detection configuration information includes a first congestion state transition condition; the first congestion state transition condition is a weighted value of the maximum instantaneous queuing delay being less than the first preset threshold; in the aspect of detecting the current link state of the network link based on the target congestion detection configuration information, the congestion detection unit 13 is further configured to:

[0276] If the target congestion detection configuration information is the first congestion detection configuration information, and the network link meets the first congestion state transition condition, then the current link state is determined to be a non-congestion state.

[0277] If the target congestion detection configuration information is the first congestion detection configuration information, and the network link does not meet the first congestion state transition condition, then the current link state is determined to be a congested state.

[0278] In some embodiments, the second congestion detection configuration information includes a second congestion state transition condition; the second congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies: the minimum instantaneous queuing delay is greater than the second preset threshold, and the difference between the average queuing delay and the minimum average queuing delay is greater than the weighted value of the second preset threshold; in the aspect of detecting the current link state of the network link based on the target congestion detection configuration information, the congestion detection unit 13 is further specifically used for:

[0279] If the target congestion detection configuration information is the second congestion detection configuration information, and the network link meets the second congestion state transition condition, then the current link state is determined to be a congested state.

[0280] If the target congestion detection configuration information is the second congestion detection configuration information, and the network link does not meet the conditions for responding to the second congestion state transition, then the current link state is determined to be a non-congestion state.

[0281] In some embodiments, the third congestion detection configuration information includes a third congestion state transition condition; the third congestion state transition condition is a first weighted value where the instantaneous queuing delay is greater than the third preset threshold, and a second weighted value where the average queuing delay is less than the third preset threshold; in the aspect of detecting the current link state of the network link based on the target congestion detection configuration information, the congestion detection unit 13 is further configured to:

[0282] If the target congestion detection configuration information is the third congestion detection configuration information, and the network link meets the third congestion state transition condition, then the current link state is determined to be a non-congestion state.

[0283] If the target congestion detection configuration information is the third congestion detection configuration information, and the network link does not meet the third congestion state transition condition, then the current link state is determined to be a congested state.

[0284] In some embodiments, the fourth congestion detection configuration information includes a fourth congestion state transition condition; the fourth congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies: the instantaneous queuing delay is greater than the fourth preset threshold; in the aspect of detecting the current link state of the network link based on the target congestion detection configuration information, the congestion detection unit 13 is further specifically used for:

[0285] If the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link meets the fourth congestion state transition condition, then the current link state is determined to be a congested state.

[0286] If the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link does not meet the fourth congestion state transition condition, then the current link state is determined to be a non-congestion state.

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

[0288] Figure 11 This is a block diagram of a server provided in an embodiment of this application. For example, server 20 can be an electronic component or a server array, etc. (Refer to...) Figure 11 Server 20 includes processor 21, which may be a collection of processors, including one or more processors. Server 20 also includes memory resources represented by memory 22, on which computer programs, such as application programs, are stored. The computer programs stored in memory 22 may include one or more modules, each corresponding to a set of executable instructions. Furthermore, processor 21 is configured to implement a network link congestion detection method as described above when executing the computer program.

[0289] In some embodiments, server 20 is an electronic device, and the computing system within server 20 may run one or more operating systems, including any operating systems discussed above and any commercially available server operating system. Server 30 may also run any of a variety of additional server applications and / or middleware applications, including HTTP (Hypertext Transfer Protocol) servers, FTP (File Transfer Protocol) servers, CGI (Common Gateway Interface) servers, super servers, database servers, etc. Exemplary database servers include, but are not limited to, commercially available database servers from companies such as IBM.

[0290] In some embodiments, processor 31 typically controls the overall operation of server 20, such as operations associated with display, data processing, data communication, and recording operations. Processor 21 may include one or more processors to execute computer programs to perform all or part of the steps of the methods described above. Furthermore, processor 21 may include one or more modules to facilitate interaction between processor 21 and other components. For example, processor 21 may include a multimedia module to facilitate control of the interaction between server 20 and processor 21 using multimedia components.

[0291] In some embodiments, the processor component in processor 21 may also be referred to as a CPU (Central Processing Unit). The processor component may be an electronic chip with signal processing capabilities. The processor component may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor may be a microprocessor, or the processor component may be any conventional processor. Furthermore, the processing component may be implemented using integrated circuit chips.

[0292] In some embodiments, memory 22 is configured to store various types of data to support operation on server 20. Examples of such data include instructions for any application or method operating on server 20, acquired data, messages, images, videos, etc. Memory 22 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, optical disk, or graphene storage.

[0293] In some embodiments, the memory 22 can be a memory stick, TF card, etc., and can store all the information in the server 20, including the original input data, computer programs, intermediate running results and final running results stored in the memory 22.

[0294] In some embodiments, the memory 22 stores and retrieves information according to the location specified by the processor 21. In some embodiments, the memory 22 enables the server 20 to have a memory function and ensure normal operation.

[0295] In some embodiments, the memory 22 of server 20 can be divided into main memory (RAM) and auxiliary memory (external memory) according to its purpose. There are also classification methods that divide it into external memory and internal memory. External memory is usually magnetic media or optical discs, which can store information for a long time. RAM refers to the storage components on the motherboard, used to store currently executing data and programs, but it is only used for temporary storage of programs and data; the data will be lost when the power is turned off or interrupted.

[0296] In some embodiments, server 20 may further include: a power supply component 23 configured to perform power management of server 20, a wired or wireless network interface 24 configured to connect server 20 to a network, and an input / output (I / O) interface 25. Server 20 may operate on an operating system stored in memory 22, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, or similar.

[0297] In some embodiments, power supply component 23 provides power to various components of server 20. Power supply component 23 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to server 20.

[0298] In some embodiments, the wired or wireless network interface 24 is configured to facilitate wired or wireless communication between the server 20 and other devices. The server 20 may access wireless networks based on communication standards, such as WiFi, carrier networks (such as 2G, 3G, 4G, or 5G), or combinations thereof.

[0299] In some embodiments, the wired or wireless network interface 34 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the wired or wireless network interface 24 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0300] In some embodiments, the input / output (I / O) interface 25 provides an interface between the processor 21 and peripheral interface modules, such as a keyboard, click wheel, buttons, etc. These buttons may include, but are not limited to, a home button, volume buttons, a power button, and a lock button.

[0301] Figure 12 This is a block diagram of a computer-readable storage medium 30 provided in an embodiment of this application. The computer-readable storage medium 30 stores a computer program 31, which, when executed by a server's processor, implements the network link congestion detection method described above.

[0302] If the integrated units of the various functional units in the various embodiments of this application are implemented as software functional units and sold or used as independent products, they can be stored in the computer-readable storage medium 30. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer-readable storage medium 30 includes a computer program 31, which includes several instructions to cause a computer device (which may be a personal computer, system server, or network device, etc.), an electronic device (e.g., MP3, MP4, etc., or a mobile phone, tablet computer, wearable device, etc., or a desktop computer, etc.) or a processor to execute all or part of the steps of the methods of the various embodiments of this application.

[0303] Figure 13 This is a block diagram of a computer program product 40 provided in an embodiment of this application. The computer program product 40 includes program instructions 41, which can be executed by the processor of a server to implement the network link congestion detection method described above.

[0304] Those skilled in the art will understand that embodiments of this application can provide a network link congestion detection method, a network link congestion detection device 10, a server 20, a computer-readable storage medium 30, or a computer program product 40. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product 40 embodied on one or more computer program instructions 41 (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0305] This application is described with reference to flowchart illustrations and / or block diagrams of a network link congestion detection method, a network link congestion detection device 10, a server 20, a computer-readable storage medium 30, or a computer program product 40 according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by the computer program product 40. These computer program products 40 can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that program instructions 41, executable by the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the congestion detection method in the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0306] These computer program products 40 may also be stored in a computer-readable storage medium capable of directing a computer or other programmable data processing device to function in a particular manner, such that program instructions 41 stored in the computer program product 40 produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0307] These program instructions 41 may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing the program instructions 41 that execute on the computer or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0308] It should be noted that the various methods, apparatuses, electronic devices, computer-readable storage media, computer program products, etc. described above may also include other implementation methods according to the description of the method embodiments. For specific implementation methods, please refer to the description of the relevant method embodiments, which will not be elaborated here.

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

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

Claims

1. A method for detecting congestion status of a network link, characterized in that, include: Based on the queuing delay of the data packet groups buffered at the current sampling point and the previous sampling point corresponding to the current sampling point, the delay jitter of the network link at the current sampling point is determined; the queuing delay is a statistical data point of the instantaneous queuing delay of at least one data packet in the data packet group; the delay jitter represents the degree of change in the queuing delay between the data packet groups buffered at two adjacent sampling points in the network link. When the current jitter state of the network link is a delayed jitter state and the historical link state of the network link is a historical congestion state, first congestion detection configuration information is obtained; the historical link state represents the link congestion state of the network link at the previous sampling point; the first congestion detection configuration information includes a first congestion state transition condition; the first congestion state transition condition is a weighted value of the maximum instantaneous queuing delay being less than a first preset threshold; the maximum instantaneous queuing delay is the maximum instantaneous queuing delay corresponding to each data packet cached within the current preset time window; If the network link meets the first congestion state transition condition, then the current link state of the network link is determined to be non-congested; if the network link does not meet the first congestion state transition condition, then the current link state of the network link is determined to be congested; the current link state represents the link congestion state of the network link at the current sampling point.

2. The method according to claim 1, characterized in that, The queuing delay for the data packet groups cached at the current sampling point and the previous sampling point corresponding to the current sampling point includes: a first queuing delay corresponding to the current sampling point and a second queuing delay corresponding to the previous sampling point; wherein, the difference between the first queuing delay and the second queuing delay represents the delay difference between the data packet groups cached at the current sampling point and the previous sampling point. Determining the latency jitter of the network link at the current sampling point includes: Based on the statistical data between the second queuing delay and the delay difference, the predicted queuing delay for the current sampling point is determined; Based on the statistical data between the instantaneous queuing delay of the current data packet and the predicted queuing delay, the delay jitter error of the network link at the current sampling point is determined; the current data packet is the last data packet in the data packet group buffered at the current sampling point; Based on the statistical data between the delay jitter error of the current sampling point and the delay jitter level of the previous sampling point, the delay jitter level of the network link at the current sampling point is determined.

3. The method according to claim 2, characterized in that, The step of determining the predicted queuing delay for the current sampling point based on statistical data between the second queuing delay and the delay difference includes: Based on a preset first smoothing coefficient, a weighted average is calculated between the second queuing delay and the delay difference to obtain the corresponding first weighted average value, so as to determine the predicted queuing delay for the current sampling point; The first smoothing coefficient is used to adjust the weighting degree between the second queuing delay and the delay difference.

4. The method according to claim 2, characterized in that, The degree of delay jitter of the network link at each sampling point is characterized based on the corresponding delay jitter coefficient; The determination of the network link's latency jitter level at the current sampling point based on statistical data between the latency jitter error at the current sampling point and the latency jitter level at the previous sampling point includes: Based on a preset second smoothing coefficient, the delay jitter error of the current sampling point and the delay jitter coefficient of the previous sampling point are weighted and averaged to obtain the corresponding second weighted average value, so as to determine the delay jitter coefficient of the network link at the current sampling point; The second smoothing coefficient is used to adjust the weighting of the delay jitter error of the current sampling point and the delay jitter coefficient of the previous sampling point.

5. The method according to claim 1, characterized in that, After determining the delay jitter level of the network link at the current sampling point, the method further includes: If the delay jitter at the current sampling point is greater than a preset jitter threshold, the current jitter state of the network link is determined to be a delay jitter state. If the delay jitter at the current sampling point is less than or equal to the preset jitter threshold, the current jitter state of the network link is determined to be a non-delay jitter state.

6. The method according to claim 5, characterized in that, The historical link status includes historical congestion status or historical non-congestion status; the method further includes: When the current jitter state is the delay jitter state and the historical link state is the historical non-congestion state, second congestion detection configuration information is obtained as target congestion detection configuration information. Based on the target congestion detection configuration information, the current link state of the network link is detected. The second congestion detection configuration information includes configuration information for determining the link congestion state using minimum instantaneous queuing delay, a second preset threshold, the average queuing delay between each data packet cached within the current preset time window, and the minimum average queuing delay corresponding to multiple adjacent preset time windows including the current preset time window. The minimum instantaneous queuing delay is the minimum instantaneous queuing delay corresponding to each data packet cached within the current preset time window. When the current jitter state is the non-delay jitter state and the historical link state is the historical congestion state, third congestion detection configuration information is obtained as target congestion detection configuration information, and the current link state of the network link is detected based on the target congestion detection configuration information; the third congestion detection configuration information includes configuration information for determining the link congestion state using the average queuing delay between each data packet cached within the current preset time window, the instantaneous queuing delay of the current data packet, and a third preset threshold. When the current jitter state is the non-delay jitter state and the historical link state is the historical non-congestion state, fourth congestion detection configuration information is obtained as target congestion detection configuration information, and the current link state of the network link is detected based on the target congestion detection configuration information; the fourth congestion detection configuration information includes configuration information for determining the link congestion state using the instantaneous queuing delay of the current data packet and a fourth preset threshold.

7. The method according to claim 6, characterized in that, The second congestion detection configuration information includes a second congestion state transition condition; the second congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies the following: the minimum instantaneous queuing delay is greater than the second preset threshold, and the difference between the average queuing delay and the minimum average queuing delay is greater than the weighted value of the second preset threshold. The step of detecting the current link status of the network link based on the target congestion detection configuration information includes: If the target congestion detection configuration information is the second congestion detection configuration information, and the network link meets the second congestion state transition condition, then the current link state is determined to be a congested state. If the target congestion detection configuration information is the second congestion detection configuration information, and the network link does not meet the conditions for responding to the second congestion state transition, then the current link state is determined to be a non-congestion state.

8. The method according to claim 6, characterized in that, The third congestion detection configuration information includes a third congestion state transition condition; the third congestion state transition condition is a first weighted value where the instantaneous queuing delay is greater than the third preset threshold, and a second weighted value where the average queuing delay is less than the third preset threshold; The step of detecting the current link status of the network link based on the target congestion detection configuration information includes: If the target congestion detection configuration information is the third congestion detection configuration information, and the network link meets the third congestion state transition condition, then the current link state is determined to be a non-congestion state. If the target congestion detection configuration information is the third congestion detection configuration information, and the network link does not meet the third congestion state transition condition, then the current link state is determined to be a congested state.

9. The method according to claim 6, characterized in that, The fourth congestion detection configuration information includes a fourth congestion state transition condition; the fourth congestion state transition condition is that in multiple consecutive detections, or within the current preset time window, each detection satisfies the following: the instantaneous queuing delay is greater than the fourth preset threshold. The step of detecting the current link status of the network link based on the target congestion detection configuration information includes: If the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link meets the fourth congestion state transition condition, then the current link state is determined to be a congested state. If the target congestion detection configuration information is the fourth congestion detection configuration information, and the network link does not meet the fourth congestion state transition condition, then the current link state is determined to be a non-congestion state.

10. A network link congestion state detection device, characterized in that, The device includes: The jitter determination unit is configured to determine the degree of delay jitter of the network link at the current sampling point based on the queuing delay of the data packet groups buffered at the current sampling point and the previous sampling point corresponding to the current sampling point; the queuing delay is a statistical data point on the instantaneous queuing delay of at least one data packet in the data packet group; the degree of delay jitter characterizes the degree of change in queuing delay between the data packet groups buffered at two adjacent sampling points in the network link; The configuration matching unit is configured to acquire first congestion detection configuration information when the current jitter state of the network link is a delayed jitter state and the historical link state of the network link is a historical congestion state; the historical link state represents the link congestion state of the network link at the previous sampling point; the first congestion detection configuration information includes a first congestion state transition condition; the first congestion state transition condition is a weighted value of the maximum instantaneous queuing delay being less than a first preset threshold; the maximum instantaneous queuing delay is the maximum instantaneous queuing delay corresponding to each data packet cached within the current preset time window; The congestion detection unit is configured to determine that the current link state of the network link is non-congested if the network link meets the first congestion state transition condition, and to determine that the current link state of the network link is congested if the network link does not meet the first congestion state transition condition; the current link state represents the link congestion state of the network link at the current sampling point.

11. A server, characterized in that, include: processor; Memory for storing the executable instructions of the processor; The processor is configured to execute the executable instructions to implement the network link congestion state detection method as described in any one of claims 1 to 9.

12. A computer-readable storage medium comprising a computer program, characterized in that, When the computer program is executed by the server's processor, it enables the server to perform the network link congestion detection method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Network link congestion detection method and device, electronic equipment and storage medium

    CN115065643A

  • Network congestion detection method and device, electronic equipment and storage medium

    CN115086235A