Method, apparatus, terminal, medium and program product for handling network congestion

CN122602222APending Publication Date: 2026-08-18HANGZHOU HIGH-TECH ZONE (BINJIANG) INSTITUTE OF BLOCKCHAIN & DATA SECURITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610484325.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-04-13
Publication Date
2026-08-18

AI Technical Summary

Technical Problem

[0005]本申请实施例提供了网络拥塞的处理方法、装置、终端、介质及程序产品,可以解决在高误码率、高抖动的网络环境中,快速准确地区分网络抖动与拥塞,从而提高数据传输效率的问题

Benefits of technology

获取目标网络传输链路的往返时间(RTT)序列后,对该序列中相邻时刻下的RTT数据进行差分处理,可以捕捉短时间内RTT数据在时域上的变化,如此得到的高频分量可准确表示链路的瞬时时延抖动,实现了对RTT数据中高频随机成分也即噪声的量化。此外,根据该高频分量的移位结果,对往返时间序列中偶数时刻下的往返时间数据进行更新,可以通过移位运算平滑掉链路的瞬时时延抖动,从而时使得到的低频分量能够准确表示链路的排队拥塞程度。两者实现了对RTT序列中高频随机成分和低频成分的区分与提取,并基于高频分量和低频分量识别链路的网络状态,能够从链路的瞬时时延抖动和排队拥塞程度两个维度,准确区分链路是否真的拥塞,实现了对链路中抖动与拥塞的区分,从而提高网络拥塞的识别准确性。且仅在网络状态为网络拥塞状态的情况下,才降低链路的拥塞窗口,可减少因瞬时时延抖动导致的误降窗,从而在高误码率及高抖动的网络环境下提高数据传输效率。此外,识别网络状态的过程中仅涉及到简单的差分处理及移位运算,整体无浮点、除法及变换等复杂运算,计算开销小,计算速度快,不仅可以快速识别出链路的网络状态,对拥塞窗口进行处理,还可以在操作系统内核中极速执行,适配对延迟敏感的数据发送终端。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122602222A_ABST
    Figure CN122602222A_ABST
Patent Text Reader

Abstract

The application is suitable for the field of network communication technology, and provides a network congestion processing method and device, a terminal, a medium and a program product. The method comprises the following steps: acquiring a round-trip time sequence of a target network transmission link; performing differential processing on the round-trip time data at adjacent time instants in the round-trip time sequence to obtain a plurality of high-frequency components in the round-trip time sequence; updating the round-trip time data at even time instants in the round-trip time sequence according to the shift results of the plurality of high-frequency components to obtain a plurality of low-frequency components in the round-trip time sequence; identifying the network state of the target network transmission link according to the plurality of high-frequency components and the plurality of low-frequency components; and performing a first window reduction operation on the congestion window of the target network transmission link in the case that the network state is a network congestion state. The method can quickly and accurately distinguish the network jitter and congestion problems in a network environment with high bit error rate and high jitter, thereby improving the data transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of network communication technology, and in particular relates to methods, apparatus, terminals, media and program products for handling network congestion. Background Technology

[0002] Complex networks such as wireless networks or satellite interconnection networks, due to their inherent characteristics such as high bit error rate and high transmission delay jitter, will increase the instantaneous jitter in the round-trip time (RTT) of the network, which poses a significant challenge to current methods that rely on RTT for congestion handling.

[0003] Since the Real-Time Flow (RTT) in complex networks often consists of low-frequency components and high-frequency random components (i.e., noise), network congestion management based on RTT requires distinguishing between these two components to accurately control congestion. However, current congestion management schemes for RTT often use Exponentially Weighted Moving Average (EWMA) for low-pass filtering or variance analysis for judgment. Neither of these methods can effectively distinguish between the low-frequency and high-frequency random components in RTT, which not only incorrectly reduces the congestion window, thus reducing data transmission efficiency, but also requires significant computational overhead.

[0004] Therefore, how to quickly and accurately distinguish between network jitter and congestion in a network environment with high bit error rate and high jitter, thereby improving data transmission efficiency, has become a technical problem that urgently needs to be solved in this field. Summary of the Invention

[0005] This application provides a method, apparatus, terminal, medium, and program product for handling network congestion, which can solve the problem of quickly and accurately distinguishing between network jitter and congestion in network environments with high bit error rates and high jitter, thereby improving data transmission efficiency.

[0006] In a first aspect, embodiments of this application provide a method for handling network congestion, applied to a data sending terminal, including: Obtain the round-trip time series of the target network transmission link; Differential processing is performed on the round-trip time data at adjacent moments in the round-trip time series to obtain multiple high-frequency components in the round-trip time series. The high-frequency components are used to represent the instantaneous delay jitter of the target network transmission link. Based on the shift results of multiple high-frequency components, update the round-trip time data at even-numbered moments in the round-trip time series to obtain multiple low-frequency components in the round-trip time series. The low-frequency components are used to represent the queuing congestion degree of the target network transmission link. Based on multiple high-frequency components and multiple low-frequency components, identify the network status of the target network transmission link; When the network is in a congested state, the first window reduction operation is performed on the congestion window of the target network transmission link. The congestion window is used to limit the total amount of data sent by the data sending terminal through the target network transmission link.

[0007] In some embodiments, the plurality of low-frequency components include a first component and a second component, wherein the first component is the low-frequency component corresponding to the round-trip time data at the earliest even-numbered moment in the round-trip time series, and the second component is the low-frequency component corresponding to the round-trip time data at the latest even-numbered moment in the round-trip time series. Based on multiple high-frequency components and multiple low-frequency components, the network status of the target network transmission link is identified, including: The jitter index of the target network transmission link is determined based on the sum of the squares of each high-frequency component. The jitter index is used to represent the intensity of delay jitter in the target network transmission link within the time period corresponding to the round-trip time series. Based on the difference between the second component and the first component, the queuing index of the target network transmission link is determined. The queuing index is used to represent the direction and rate of delay change of the target network transmission link within the time period corresponding to the round-trip time series. The network status of the target network transmission link is identified based on the difference between the jitter index and the preset jitter threshold, and the difference between the queuing index and the preset queuing threshold.

[0008] In some embodiments, the network state of a target network transmission link is identified based on the difference between a jitter metric and a preset jitter threshold, and the difference between a queuing metric and a preset queuing threshold, including: When the jitter index is less than the jitter threshold and the queuing index is greater than the queuing threshold, the network congestion state is determined as the network state. If the jitter index is greater than or equal to the jitter threshold and the queuing index is greater than the queuing threshold, the non-congestion delay state is determined as the network state.

[0009] In some embodiments, the multiple high-frequency components include the i-th high-frequency component, and the round-trip time series includes the 2i-th round-trip time data, where i is a positive integer; Based on the shift results of multiple high-frequency components, the round-trip time data at even-numbered moments in the round-trip time series are updated to obtain multiple low-frequency components in the round-trip time series, including: Shift the i-th high-frequency component one bit to the right to obtain the i-th right shift result; The i-th low-frequency component is determined by summing the i-th right shift result and the 2i-th round-trip time data.

[0010] In some embodiments, the method further includes: When the network is in a non-congestion delay state, a second window reduction operation or a window size maintenance operation is performed on the congestion window. The reduction magnitude of the second window reduction operation is less than that of the first window reduction operation.

[0011] In some embodiments, the data transmitting terminal includes multiple network transmission links, and the target network transmission link is any one of the multiple network transmission links. The method further includes: When performing the first window reduction operation on the congestion window, the unsent data packets corresponding to the target network transmission link are sent through multiple network transmission links other than the target network transmission link.

[0012] Secondly, embodiments of this application provide a network congestion processing apparatus, comprising: The acquisition module is used to acquire the round-trip time series of the target network transmission link; The processing module is used to perform differential processing on the round-trip time data at adjacent moments in the round-trip time series to obtain multiple high-frequency components in the round-trip time series. The high-frequency components are used to represent the instantaneous delay jitter of the target network transmission link. The processing module is also used to update the round-trip time data at even times in the round-trip time series based on the shift results of multiple high-frequency components, and obtain multiple low-frequency components in the round-trip time series. The low-frequency components are used to represent the queuing congestion degree of the target network transmission link. The identification module is used to identify the network status of the target network transmission link based on at least one high-frequency component and at least one low-frequency component. The processing module is also used to perform a first window reduction operation on the congestion window of the target network transmission link when the network status is network congestion. The congestion window is used to limit the total amount of data sent by the data sending terminal through the target network transmission link.

[0013] Thirdly, embodiments of this application provide a data transmission terminal, including a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the data transmission terminal performs the method described in any embodiment of the first aspect.

[0014] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in any of the embodiments of the first aspect.

[0015] Fifthly, embodiments of this application provide a computer program product, including a computer program, which, when run, causes the method described in any embodiment of the first aspect to be executed.

[0016] The advantages of the embodiments in this application compared with related technologies are: After obtaining the round-trip time (RTT) sequence of the target network transmission link, differential processing is performed on the RTT data at adjacent times in the sequence. This captures the changes in RTT data in the time domain within a short period. The resulting high-frequency component accurately represents the instantaneous delay jitter of the link, achieving the quantification of the high-frequency random component, i.e., noise, in the RTT data. Furthermore, based on the shift result of this high-frequency component, the RTT data at even-numbered times in the RTT sequence is updated. The shift operation smooths out the instantaneous delay jitter of the link, allowing the resulting low-frequency component to accurately represent the queuing congestion level of the link. Both methods achieve the distinction and extraction of high-frequency and low-frequency components in the RTT sequence, and identify the network state of the link based on these components. This allows for accurate differentiation between link congestion and jitter from two dimensions: instantaneous delay jitter and queuing congestion level, thus improving the accuracy of network congestion identification. Furthermore, the congestion window is reduced only when the network is congested, minimizing erroneous window reductions caused by instantaneous latency jitter and thus improving data transmission efficiency in high-error-rate and high-jitter network environments. In addition, the network status identification process involves only simple differential processing and shift operations, without complex operations such as floating-point operations, division, or transformations. This results in low computational overhead and high speed, enabling rapid identification of the link's network status and congestion window processing. It can also be executed at extremely high speed within the operating system kernel, making it suitable for latency-sensitive data transmission terminals. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is a schematic diagram of a traditional method for network congestion identification; Figure 2 This is a schematic flowchart of a network congestion handling method provided in an embodiment of this application; Figure 3 This is a flowchart illustrating another method for handling network congestion provided in an embodiment of this application; Figure 4 This is a flowchart illustrating another method for handling network congestion provided in an embodiment of this application; Figure 5aThis is a schematic diagram illustrating network congestion identification in an application scenario provided by an embodiment of this application; Figure 5b This is a schematic diagram of congestion window processing in an application scenario provided by an embodiment of this application; Figure 6 This is a schematic diagram of the structure of a data transmission terminal provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a network congestion processing device provided in an embodiment of this application. Detailed Implementation

[0019] The technical solutions in the embodiments of this application will be described below with reference to the accompanying drawings.

[0020] Currently, congestion handling solutions for complex networks such as wireless networks or satellite interconnection networks often employ EWMA for low-pass filtering or variance for statistical analysis.

[0021] The former typically samples the RTT of the network transmission link and uses the formula SRTT. i =α·SRTT i-1 +(1 α)·RTT samplei A weighted average of the link's RTT (Round-Trip Time) is applied (this is a type of EWMA scheme) to obtain smoothed RTT data. Whether this smoothed RTT data exceeds a threshold is then used to determine network congestion. Here, RTT... samplei SRTT represents the RTT data obtained by downsampling at time i. i-1 SRTT represents the smoothed RTT data obtained at time i-1. i This represents the smoothed RTT data at time i. However, this scheme is a simple low-pass filter, which cannot quantify the noise energy (i.e., high-frequency random components) in the link, nor can it extract the true queuing congestion level in the link that is masked by noise. Figure 1 As shown, this scheme can determine that network congestion has actually occurred on the link. However, when the link's latency (i.e., network jitter) fluctuates drastically, the smoothed RTT data will still fluctuate, resulting in a longer data transmission time (this situation is called pseudo-congestion or non-congestion delay). In this case, the link itself is not actually congested, but this scheme is prone to misjudging this situation as network congestion.

[0022] The latter method calculates the mean and variance of the collected RTT data and uses the variance to determine whether the network is congested. However, this approach usually requires maintaining a long historical window and involves complex operations such as square root and division, resulting in high computational overhead. Furthermore, it is difficult to capture instantaneous time jitter in real time and is still prone to misjudging RTT fluctuations that are not caused by network congestion as network congestion.

[0023] To address the aforementioned technical problems, this application provides a method, apparatus, terminal, medium, and program product for processing network congestion. By performing simple differential processing on the RTT sequence, the high-frequency component representing the instantaneous delay jitter of the network transmission link, i.e., network jitter, is obtained. Through shift operations on the high-frequency component and updates to the RTT data at even-numbered moments, the low-frequency component representing the queuing congestion level of the link is obtained. This not only achieves smoothing filtering of the original RTT sequence but also extracts quantized noise. Furthermore, combining the extracted components to jointly determine the network state improves the accuracy of network congestion identification, thereby increasing data transmission efficiency.

[0024] Figure 2 This application provides a method for handling network congestion, which is executed by a data sending terminal, such as... Figure 1 The method shown includes the following steps: S101, Obtain the round-trip time series of the target network transmission link.

[0025] In this embodiment, the data sending terminal is responsible for sending data packets in network communication. It can be a device with network communication capabilities, such as a server, personal computer, smartphone, drone, or unmanned vehicle. This application does not impose specific limitations on the specific type of data sending terminal. The data sending terminal controls the rate and total amount of data transmission.

[0026] A target network transmission link is a specific logical or physical path for data transmission between a data sending terminal and a data receiving terminal. It can be understood that in a multi-path transmission scenario, a data sending terminal can maintain multiple network transmission links simultaneously; in this case, the target network transmission link is any one of these multiple network transmission links.

[0027] A Round-Trip Time (RTT) sequence includes RTT data at multiple points in chronological order, and the total number of RTT data points in the RTT sequence is even. RTT data refers to the total time elapsed from when a data packet is sent from the sending terminal to when it reaches the receiving terminal, and then when the acknowledgment (ACK) signal immediately returned by the receiving terminal arrives at the sending terminal. For example, if data packet 1 takes 5 milliseconds (ms) to travel from the sending terminal to the receiving terminal, and the ACK signal from the receiving terminal arrives at the sending terminal in 6 ms, then the specific RTT value for this case is 5 + 6 = 11 ms.

[0028] In one implementation, each time the data sending terminal transmits a data packet through the target network transmission link, it samples the RTT (Round-Trip Time) data during that packet transmission process. This allows the data sending terminal to obtain the RTT data at the current moment. The data sending terminal stores the sampled RTT data in chronological order from earliest to latest, thus obtaining the RTT sequence of the target network transmission link.

[0029] In one implementation, the data sending terminal maintains a circular buffer of length N to store the latest N RTT data. The data sending terminal can use the RTT data stored in this circular buffer as an RTT sequence. N can be configured according to actual needs. For example, in the implementation of the Linux kernel protocol stack, N can be set to 16 or 32, which ensures the validity of the RTT data without consuming excessive storage space and computing resources.

[0030] S102, perform differential processing on the round-trip time data at adjacent times in the round-trip time series to obtain multiple high-frequency components in the round-trip time series.

[0031] Among them, the high-frequency component is used to represent the instantaneous delay jitter of the target network transmission link.

[0032] In one implementation, when the data transmitting terminal obtains the RTT sequence, it can substitute the RTT data at adjacent times in the RTT sequence into the formula. In this process, the difference between RTT data at adjacent time points is calculated, and this difference is used as a high-frequency component extracted from the RTT sequence. Thus, after all RTT data in the RTT sequence has been calculated, the data transmitting terminal can obtain multiple high-frequency components. Represents the i-th high-frequency component. This represents the RTT data at time 2i+1 in the RTT sequence. This represents the RTT data at time 2i in the RTT sequence.

[0033] In one implementation, to more effectively extract subsequent low-frequency components, the data transmitting terminal can also perform odd-even grouping of the RTT sequence, specifically grouping the RTT data at even times into one group and the RTT data at odd times into another group. When the data transmitting terminal performs differential processing on the RTT data at adjacent times in the RTT sequence, it can calculate the difference between the RTT data in the two groups in chronological order. That is, the data transmitting terminal will skip the RTT data that has already undergone differential processing. For example, if the RTT sequence includes 16 RTT data, namely x[0] to x

[15] , when the data transmitting terminal performs differential processing on the round-trip time data at adjacent times, it specifically calculates the differences between x[1]-x[0], x[3]-x[2], ..., x

[15] -x

[14] respectively, and finally obtains 8 high-frequency components. This reduces redundant calculations and, through differential processing, captures the network latency changes (i.e., instantaneous latency jitter) between two consecutive data packet transmissions by the data sending terminal. This effectively and quickly distinguishes and extracts network jitter in high-error-rate, high-jitter network environments. Once the "instantaneous latency jitter" is extracted from the RTT sequence, the remaining even-numbered RTT data, after subsequent updates and corrections using high-frequency component shifting, yields low-frequency components that are almost entirely pure data representing queuing congestion levels, free from high-frequency noise contamination, thus improving the accuracy of the low-frequency components.

[0034] In S102, the differential processing of RTT data at adjacent moments in the RTT sequence by the data transmitting terminal acts like a high-speed filter. It amplifies the instantaneous changes in the RTT data in the time domain, effectively extracting high-frequency random (jitter) components in the network transmission link without requiring complex analyses such as wavelet transforms or Fourier transforms. Regardless of whether this jitter is caused by wireless interference, channel contention, or other instantaneous factors, it can be accurately quantified by high-frequency components. This not only achieves accurate differentiation and mapping of network jitter but also provides a solid data foundation for subsequent network status identification.

[0035] S103, based on the shift results of multiple high-frequency components, update the round-trip time data at even-numbered moments in the round-trip time series to obtain multiple low-frequency components in the round-trip time series.

[0036] The low-frequency component is used to represent the queuing congestion level of the target network transmission link.

[0037] After obtaining the high-frequency components, the data transmitting terminal can update the corresponding even-numbered time interval data according to the shift result of each high-frequency component, thereby obtaining the smoothed and filtered RTT data, which is the low-frequency component.

[0038] In one implementation, such as Figure 3 As shown, based on the shift results of multiple high-frequency components, the round-trip time data at even-numbered moments in the round-trip time series are updated to obtain multiple low-frequency components in the round-trip time series, including the following S201 to S202: S201, shift the i-th high-frequency component one bit to the right to obtain the i-th right shift result.

[0039] Among them, the i-th high-frequency component is included in the multiple high-frequency components, and the round-trip time series includes the 2i-th round-trip time data, where i is a positive integer.

[0040] The shift result obtained by the data transmitting terminal right-shifting the i-th high-frequency component pair by one bit is the i-th right-shift result. It can be understood that in binary arithmetic, right shifting by one bit is equivalent to dividing by 2 and rounding to negative infinity, but its calculation speed is much faster than division. In the above technical solution, the high-frequency components are obtained through differential processing. Shifting them right by one bit is equivalent to calculating the average of the differences between RTT data at adjacent time points, thus smoothing the instantaneous delay jitter between RTT data at adjacent time points in the time domain. In this way, smoothing of instantaneous delay jitter is achieved through a simple shift operation, without the need for floating-point operations such as division, greatly reducing computational overhead.

[0041] S202: Determine the i-th low-frequency component based on the sum of the i-th right shift result and the 2i-th round-trip time data.

[0042] The data transmitting terminal will use the sum of the i-th right-shifted result and the 2i-th RTT data as the i-th low-frequency component. After all the high-frequency components have been shifted, the data transmitting terminal can obtain the i-th low-frequency component.

[0043] It should be noted that S201 to S202 can be obtained through formulas. It means that, among them, This represents the i-th low-frequency component. This represents the 2ith RTT data point. This indicates a right shift by one bit. Substitute this into the formula. It can be known that In other words, the i-th low-frequency component is actually the average value between the 2i-th RTT data and the 2i+1-th RTT data. Thus, the shift operation achieves smooth filtering of the RTT data and reduces the impact of instantaneous delay jitter, resulting in a low-frequency component that can accurately represent the degree of queuing congestion in the network transmission link.

[0044] The above technical solution achieves smooth filtering of RTT data through simple addition and shift operations, accurately obtaining the low-frequency component representing the degree of queuing congestion. The entire process involves minimal computation, making it highly suitable for execution within the kernel. Compared to traditional EWMA low-pass filtering, this scheme, which determines the low-frequency component by shifting the high-frequency component and summing the shift result with the RTT data at even-numbered moments, is more like a zero-phase filter. It can more promptly reflect the true trend of RTT changes during network transmission, reducing the lag in RTT changes caused by the accumulation of historical weights in EWMA, thus enabling a more accurate assessment of network congestion.

[0045] By combining differential processing and shift operations in S220 to S203, high-frequency and low-frequency components can be obtained, realizing the orthogonal decomposition of the original RTT data in the RTT sequence. This fully preserves the useful information in the RTT data and provides a multi-dimensional data foundation for subsequent network state judgment.

[0046] S104 identifies the network status of the target network transmission link based on multiple high-frequency components and multiple low-frequency components.

[0047] In one implementation, a pre-trained network state recognition model is installed in the data transmitting terminal. This model is trained based on multiple sample network states and multiple high-frequency and low-frequency component samples corresponding to each sample network state, enabling accurate identification of network states from both high-frequency and low-frequency dimensions. The data transmitting terminal can input the obtained multiple high-frequency and low-frequency components into the network state recognition model to obtain the current network state of the target network transmission link output by the model.

[0048] In one implementation, the multiple low-frequency components include a first component and a second component. The first component is the low-frequency component corresponding to the earliest even-numbered round-trip time data in the round-trip time series, and the second component is the low-frequency component corresponding to the latest even-numbered round-trip time data in the round-trip time series. In other words, the first component and the second component are the first and last low-frequency components among the multiple low-frequency components, respectively. Figure 4 As shown, the network status of the target network transmission link is identified based on multiple high-frequency components and multiple low-frequency components, including the following steps S301 to S303: S301 determines the jitter index of the target network transmission link based on the sum of the squares of each high-frequency component.

[0049] The jitter metric is used to represent the intensity of latency jitter in the target network transmission link within the time period corresponding to the round-trip time series.

[0050] The data transmitting terminal can substitute each high-frequency component into the formula. The calculation is performed to obtain the jitter index, where... The jitter index is defined as follows: M represents the total number of high-frequency components determined by the data transmitting terminal. This M is related to the total number of RTT data points in the RTT sequence. For example, if there are K RTT data points in the RTT sequence, then M = K / 2. In this step, the square of each high-frequency component is calculated. Since high-frequency components can represent instantaneous delay jitter, their squares will further amplify the jitter. The sum of the calculated squares is used as the jitter index to represent the intensity of delay jitter. This allows the instantaneous delay jitter over a period of time to be summed up, capturing the overall impact of jitter in the network transmission link over a period of time. This jitter index can measure the noise energy in the original RTT data, accurately reflecting the degree of network disorder during data transmission, and it eliminates the need for square root calculations, reducing computational load.

[0051] S302, Based on the difference between the second component and the first component, determine the queuing index of the target network transmission link.

[0052] The queuing index is used to represent the direction and rate of delay change of the target network transmission link within the time period corresponding to the round-trip time series.

[0053] The data transmitting terminal can substitute the first component and the second component into the formula. The queuing index is obtained through calculations performed within the queuing system. Indicates the second component, Let L represent the first component, and let M represent the total number of low-frequency components determined by the data transmitting terminal. It can be understood that the value of L is the same as the value of M. A positive value indicates that the delay (i.e., latency) during data transmission is increasing and the queue is getting longer; A negative value indicates that the latency is decreasing and the queue is being emptied; The magnitude of the absolute value can represent the rate of change of the delay.

[0054] In this step, the difference between the low-frequency component at the earliest even-numbered moment and the low-frequency component at the latest even-numbered moment within a certain period is used as a queuing indicator of the delay change direction and rate of the network transmission link. This can further reduce the interference of high-frequency random components during data transmission by using the difference budget, focusing on the trend change of RTT data, thereby enabling earlier and more accurate early warning of congestion and improving the accuracy of network congestion judgment.

[0055] S303, based on the difference between the jitter index and the preset jitter threshold, and the difference between the queuing index and the preset queuing threshold, identify the network status of the target network transmission link.

[0056] The jitter threshold and queuing threshold are two dynamic or static threshold values ​​used to determine the network status. They can be dynamically set based on network parameters such as the minimum RTT of the path in the target network transmission link to adapt to different network environments.

[0057] The data sending terminal can compare the jitter index with a preset jitter threshold and the queuing index with a preset queuing threshold; and determine different network states based on different comparisons. When the jitter index is less than the jitter threshold and the queuing index is greater than the queuing threshold, the data sending terminal can determine the network congestion state as the network state. At this time, the network environment is very stable with almost no instantaneous interference, but the network latency is steadily increasing. It can be confidently determined that the increase in RTT is caused by the gradual filling of the router queue (i.e., real network congestion), thus the network congestion state can be determined as the network state.

[0058] When the jitter index is greater than or equal to the jitter threshold, and the queuing index is greater than the queuing threshold, the network state is determined to be non-congestion delay. This indicates a very noisy network environment with severe instantaneous jitter. Furthermore, the overall network latency is also increasing. Traditional algorithms would misjudge this situation as network congestion due to the increased latency. However, in this embodiment, by using a jitter index determined based on high-frequency components and a queuing index determined based on low-frequency components, it can be observed that the increase in network latency is not caused by stable queue accumulation, but rather by the illusion "pushed" up by high-frequency jitter. For example, several consecutive large instantaneous latency jitters can increase network latency in the short term, but the queues are not actually congested. Therefore, the data sending terminal classifies this network state as a non-congestion delay state, i.e., pseudo-congestion, effectively distinguishing between true network congestion and jitter.

[0059] When the queuing index is less than or equal to the queuing threshold, the data sending terminal can determine the smooth state as the network state. At this time, regardless of whether the jitter index is greater than or equal to the jitter threshold, if the network latency is relatively stable or decreases, the data can be transmitted smoothly.

[0060] In the above technical solution, the sum of squares of high-frequency components is calculated as a jitter index to quantify the intensity of random jitter in network latency; simultaneously, the difference between the earliest and latest low-frequency components is used as a queuing index to quantify the overall trend of latency change. By comparing the jitter index and the queuing index with preset thresholds respectively, transient jitter caused by wireless interference or channel contention can be accurately distinguished from persistent congestion caused by actual queue backlog. Compared with traditional algorithms that rely on a single smoothing value, this solution not only reduces speed reduction due to misjudgment caused by severe jitter but also significantly improves bandwidth utilization and transmission stability in high bit error rate and high jitter network environments, providing low computational overhead and highly robust congestion handling capabilities for mobile terminals such as the Internet of Things and drones.

[0061] S105, when the network status is network congestion, perform the first window reduction operation on the congestion window of the target network transmission link.

[0062] The congestion window is used to limit the total amount of data sent by the data sending terminal through the target network transmission link.

[0063] When the network is in a congested state, it means that routers on the target transmission link have started queuing. If the data sending terminal continues to send data at the current total quantity, it will lead to packet loss and retransmission, severely degrading transmission performance. Therefore, the data sending terminal can immediately perform a first window reduction operation on the congestion window of the target network transmission link to reduce the total number of data sent, thereby reducing data transmission efficiency and alleviating congestion.

[0064] In one implementation, when the network is in a non-congestion delay state, a second window reduction operation or a window amplitude maintenance operation is performed on the congestion window, wherein the reduction magnitude of the second window reduction operation is less than that of the first window reduction operation.

[0065] When the network is in a non-congestion-prone state, it means that the latency in the current target network transmission link is caused by severe instantaneous latency jitter, not by congestion in the target network transmission link itself. In this case, there is no need to significantly reduce the congestion window, or the congestion window can remain unchanged. The data sending terminal can continue to send data at a higher rate until the jitter subsides or actual network congestion is confirmed. This greatly improves bandwidth utilization and user experience. For example, in situations with unstable Wi-Fi signals, video calls or file transfers will not be interrupted by momentary interference.

[0066] It is understandable that when the network is in a smooth state, the data sending terminal can keep the congestion window unchanged.

[0067] In one application scenario, combined with Figure 1 ,like Figure 5a Right now Figure 5b As shown, when there is genuine network congestion and "pseudo-congestion" caused by severe jitter due to instantaneous latency in the network transmission link, the network congestion processing method in this embodiment can accurately identify genuine network congestion between time 50 and time 100, while traditional solutions would also identify the time between time 100 and time 150 as network congestion. The network congestion processing method in this embodiment significantly reduces the congestion window to alleviate congestion during genuine network congestion, while maintaining a higher congestion window during pseudo-congestion to improve the user experience.

[0068] In one implementation, the data sending terminal includes multiple network transmission links, with the target network transmission link being any one of these links. The method further includes: when performing a first window reduction operation on the congestion window, sending unsent data packets corresponding to the target network transmission link through network transmission links other than the target network transmission link. For example, in the data sending terminal, if a WiFi link (an example of the target network transmission link) and a 5G link are present, and the WiFi link is determined to be congested, the data sending terminal will reschedule data packets originally planned to be sent through the congested WiFi link to the 5G link for transmission when the congestion window of that link is reduced. In this technical approach, when any network transmission link of the data sending terminal is congested, transferring data packets from the congested link to other links maximizes the utilization of all available bandwidth and avoids a decrease in overall transmission rate due to congestion of a single link. For users, this means faster download speeds and a smoother video experience; for example, even with poor Wi-Fi signal, the phone can seamlessly switch traffic to the 5G network, ensuring service continuity.

[0069] In this embodiment, after obtaining the round-trip time (RTT) sequence of the target network transmission link, differential processing is performed on the RTT data at adjacent times in the sequence. This captures the changes in RTT data in the time domain within a short period. The resulting high-frequency component accurately represents the instantaneous delay jitter of the link, achieving the quantification of the high-frequency random component, i.e., noise, in the RTT data. Furthermore, based on the shift result of this high-frequency component, the RTT data at even-numbered times in the RTT sequence is updated. The instantaneous delay jitter of the link can be smoothed out through shift operations, thus enabling the obtained low-frequency component to accurately represent the queuing congestion level of the link. Both methods achieve the distinction and extraction of high-frequency random and low-frequency components in the RTT sequence, and identify the network state of the link based on the high-frequency and low-frequency components. This allows for accurate differentiation of whether the link is truly congested from two dimensions: instantaneous delay jitter and queuing congestion level, thereby improving the accuracy of network congestion identification. Furthermore, the congestion window is reduced only when the network is congested, minimizing erroneous window reductions caused by instantaneous latency jitter and thus improving data transmission efficiency in high-error-rate and high-jitter network environments. In addition, the network status identification process involves only simple differential processing and shift operations, without complex operations such as floating-point operations, division, or transformations. This results in low computational overhead and high speed, enabling rapid identification of the link's network status and congestion window processing. It can also be executed at extremely high speed within the operating system kernel, making it suitable for latency-sensitive data transmission terminals.

[0070] Figure 6 This is a schematic diagram of the structure of multiple high-frequency components provided in an embodiment of this application. For example... Figure 6 As shown, the plurality of high-frequency components 6 in this embodiment include: at least one processor 60 ( Figure 6 (Only one is shown in the diagram) a processor, a memory 61, and a computer program 62 stored in the memory 61 and executable on the at least one processor 60, wherein the processor 60 executes the computer program 62 to implement the steps in any of the above method embodiments.

[0071] The plurality of high-frequency components 6 can be computing devices such as desktop computers, laptops, handheld computers, and cloud servers. These plurality of high-frequency components may include, but are not limited to, the processor 60 and the memory 61. Those skilled in the art will understand that... Figure 6 This is merely an example of multiple high-frequency components 6 and does not constitute a limitation on multiple high-frequency components 6. It may include more or fewer components than shown in the figure, or combine certain components, or different components, such as input / output devices, network access devices, etc.

[0072] The processor 60 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0073] In some embodiments, the memory 61 may be an internal storage unit of the plurality of high-frequency components 6, such as a hard disk or memory for the plurality of high-frequency components 6. In other embodiments, the memory 61 may be an external storage device for the plurality of high-frequency components 6, such as a plug-in hard disk, SmartMedia Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the plurality of high-frequency components 6. Further, the memory 61 may include both internal storage units of the plurality of high-frequency components 6 and external storage devices. The memory 61 is used to store operating systems, applications, bootloaders, data, and other programs, such as the program code of the computer programs. The memory 61 may also be used to temporarily store data that has been output or will be output.

[0074] Corresponding to the network congestion handling method described in the above embodiments, Figure 7 This diagram illustrates a structural block diagram of a network congestion processing apparatus provided in an embodiment of this application. For ease of explanation, only the parts relevant to the embodiments of this application are shown.

[0075] Reference Figure 7 This device is used in a data transmission terminal and includes: The acquisition module 610 is used to acquire the round-trip time series of the target network transmission link; The processing module 620 is used to perform differential processing on the round-trip time data at adjacent times in the round-trip time series to obtain multiple high-frequency components in the round-trip time series. The high-frequency components are used to represent the instantaneous delay jitter of the target network transmission link. The processing module 620 is also used to update the round-trip time data at even times in the round-trip time series based on the shift results of multiple high-frequency components, and obtain multiple low-frequency components in the round-trip time series. The low-frequency components are used to represent the queuing congestion degree of the target network transmission link. The identification module 630 is used to identify the network status of the target network transmission link based on at least one high-frequency component and at least one low-frequency component. The processing module 620 is also used to perform a first window reduction operation on the congestion window of the target network transmission link when the network status is network congestion. The congestion window is used to limit the total amount of data sent by the data sending terminal through the target network transmission link.

[0076] In some embodiments, the plurality of low-frequency components includes a first component and a second component, wherein the first component is the low-frequency component corresponding to the round-trip time data at the earliest even-numbered moment in the round-trip time series, and the second component is the low-frequency component corresponding to the round-trip time data at the latest even-numbered moment in the round-trip time series; the identification module is further configured to: The jitter index of the target network transmission link is determined based on the sum of the squares of each high-frequency component. The jitter index is used to represent the intensity of delay jitter in the target network transmission link within the time period corresponding to the round-trip time series. Based on the difference between the second component and the first component, the queuing index of the target network transmission link is determined. The queuing index is used to represent the direction and rate of delay change of the target network transmission link within the time period corresponding to the round-trip time series. The network status of the target network transmission link is identified based on the difference between the jitter index and the preset jitter threshold, and the difference between the queuing index and the preset queuing threshold.

[0077] In some embodiments, the identification module is further configured to: When the jitter index is less than the jitter threshold and the queuing index is greater than the queuing threshold, the network congestion state is determined as the network state. If the jitter index is greater than or equal to the jitter threshold and the queuing index is greater than the queuing threshold, the non-congestion delay state is determined as the network state.

[0078] In some embodiments, the plurality of high-frequency components includes the i-th high-frequency component, and the round-trip time series includes the 2i-th round-trip time data, where i is a positive integer; the processing module is further configured to: Shift the i-th high-frequency component one bit to the right to obtain the i-th right shift result; The i-th low-frequency component is determined by summing the i-th right shift result and the 2i-th round-trip time data.

[0079] In some embodiments, the processing module is further configured to perform a second window reduction operation or a window amplitude maintenance operation on the congestion window when the network state is a non-congestion delay state, wherein the reduction magnitude of the second window reduction operation is less than the reduction magnitude of the first window reduction operation.

[0080] In some embodiments, the data sending terminal includes multiple network transmission links, and the target network transmission link is any one of the multiple network transmission links. The processing module is further configured to, when performing a first window reduction operation on the congestion window, send the unsent data packets corresponding to the target network transmission link through the network transmission links other than the target network transmission link among the multiple network transmission links.

[0081] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0082] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0083] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above.

[0084] This application provides a computer program product that, when run on a mobile terminal, enables the mobile terminal to implement the steps described in the above-described method embodiments.

[0085] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying the computer program code to a photographing device / terminal device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks.

[0086] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0087] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0088] Furthermore, in the description of this application and the appended claims, the terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0089] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0090] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0091] In the embodiments provided in this application, it should be understood that the disclosed apparatus, computer equipment, and methods can be implemented in other ways. For example, the apparatus and computer equipment embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0092] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for handling network congestion, characterized in that, Applied to data transmission terminals, including: Obtain the round-trip time series of the target network transmission link; Differential processing is performed on the round-trip time data at adjacent moments in the round-trip time series to obtain multiple high-frequency components in the round-trip time series. The high-frequency components are used to represent the instantaneous delay jitter of the target network transmission link. Based on the shift results of multiple high-frequency components, the round-trip time data at even-numbered moments in the round-trip time series is updated to obtain multiple low-frequency components in the round-trip time series. The low-frequency components are used to represent the queuing congestion degree of the target network transmission link. The network status of the target network transmission link is identified based on the multiple high-frequency components and the multiple low-frequency components. When the network is in a congested state, a first window reduction operation is performed on the congestion window of the target network transmission link. The congestion window is used to limit the total amount of data sent by the data sending terminal through the target network transmission link.

2. The method as described in claim 1, characterized in that, The multiple low-frequency components include a first component and a second component. The first component is the low-frequency component corresponding to the round-trip time data at the earliest even-numbered moment in the round-trip time series, and the second component is the low-frequency component corresponding to the round-trip time data at the latest even-numbered moment in the round-trip time series. The step of identifying the network status of the target network transmission link based on multiple high-frequency components and multiple low-frequency components includes: The jitter index of the target network transmission link is determined based on the sum of the squares of each of the high-frequency components. The jitter index is used to represent the intensity of delay jitter in the target network transmission link within the time period corresponding to the round-trip time series. Based on the difference between the second component and the first component, a queuing index for the target network transmission link is determined. The queuing index is used to represent the direction and rate of delay change of the target network transmission link within the time period corresponding to the round-trip time series. The network status of the target network transmission link is identified based on the difference between the jitter index and the preset jitter threshold, and the difference between the queuing index and the preset queuing threshold.

3. The method as described in claim 2, characterized in that, The step of identifying the network status of the target network transmission link based on the difference between the jitter index and a preset jitter threshold, and the difference between the queuing index and a preset queuing threshold, includes: If the jitter index is less than the jitter threshold and the queuing index is greater than the queuing threshold, the network congestion state is determined as the network state. If the jitter index is greater than or equal to the jitter threshold and the queuing index is greater than the queuing threshold, the non-congestion delay state is determined as the network state.

4. The method according to any one of claims 1 to 3, characterized in that, The multiple high-frequency components include the i-th high-frequency component, and the round-trip time series includes the 2i-th round-trip time data, where i is a positive integer; The step involves updating the round-trip time data at even-numbered moments in the round-trip time series based on the shift results of multiple high-frequency components, thereby obtaining multiple low-frequency components in the round-trip time series, including: Shift the i-th high-frequency component one bit to the right to obtain the i-th right shift result; The i-th low-frequency component is determined based on the sum of the i-th right shift result and the 2i-th round-trip time data.

5. The method according to any one of claims 1 to 3, characterized in that, The method further includes: When the network is in a non-congestion delay state, a second window reduction operation or a window amplitude maintenance operation is performed on the congestion window, wherein the reduction magnitude of the second window reduction operation is less than the reduction magnitude of the first window reduction operation.

6. The method as described in claim 1, characterized in that, The data sending terminal includes multiple network transmission links, and the target network transmission link is any one of the multiple network transmission links. The method further includes: When the first window reduction operation is performed on the congestion window, the unsent data packets corresponding to the target network transmission link are sent through network transmission links other than the target network transmission link among the multiple network transmission links.

7. A network congestion processing apparatus, characterized in that, Applied to a data transmission terminal, the device includes: The acquisition module is used to acquire the round-trip time series of the target network transmission link; The processing module is used to perform differential processing on the round-trip time data at adjacent moments in the round-trip time series to obtain multiple high-frequency components in the round-trip time series. The high-frequency components are used to represent the instantaneous delay jitter of the target network transmission link. The processing module is further configured to update the round-trip time data at even-numbered moments in the round-trip time series based on the shift results of the multiple high-frequency components, thereby obtaining multiple low-frequency components in the round-trip time series, wherein the low-frequency components are used to represent the queuing congestion degree of the target network transmission link. The identification module is used to identify the network status of the target network transmission link based on at least one of the high-frequency components and at least one of the low-frequency components. The processing module is further configured to perform a first window reduction operation on the congestion window of the target network transmission link when the network state is a network congestion state. The congestion window is used to limit the total amount of data sent by the data sending terminal through the target network transmission link.

8. A data transmission terminal, characterized in that, The device includes a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, it causes the data transmitting terminal to implement the method as described in any one of claims 1-6.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 6.

10. A computer program product, characterized in that, Includes a computer program, which, when run, causes the method as described in any one of claims 1-6 to be performed.