A method, product, device and storage medium for determining retransmission timeout

By improving the Kalman filter algorithm and the prediction model of multiple network status data, the problem of TCP retransmission timeout period not being able to converge quickly is solved, the accurate determination of retransmission timeout period and dynamic adjustment of network status are achieved, and the stability of network transmission and user experience are improved.

CN120434151BActive Publication Date: 2025-09-19SHANDONG YINGXIN COMP TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510856395.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-25
Publication Date
2025-09-19
Estimated Expiration
2045-06-25

AI Technical Summary

Technical Problem

In existing technologies, the TCP retransmission timeout (RTO) cannot quickly converge to a reasonable value, resulting in a high false retransmission rate, affecting the normal transmission of business flows and user experience.

Method used

A network status prediction model based on an improved Kalman filter algorithm is adopted. Combined with various historical network status data (such as network round-trip time, bandwidth, queue delay and instantaneous change rate), the prediction model is used to analyze and obtain the current network status data, including the predicted network round-trip time, and then determine the retransmission timeout period. The network status is adjusted according to other predicted status data.

Benefits of technology

The accuracy of the retransmission timeout is improved, quickly converges to a reasonable value, reduces the false retransmission rate, ensures the normal operation of business flows, and optimizes the performance of network infrastructure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120434151B_ABST
    Figure CN120434151B_ABST
Patent Text Reader

Abstract

The present application discloses a method, product, device, and storage medium for determining a retransmission timeout, which are applied to the field of communication technology. To solve the problem of inaccurate determination of the retransmission timeout and inability to adjust the network status, it is proposed to obtain at least two types of historical network status data of the network at the previous moment, wherein the at least two types of historical network status data include the historical network round-trip time. The at least two types of historical network status data obtained at the previous moment are analyzed by a pre-established network status prediction model to obtain various predicted network status data at the current moment, wherein the various current predicted network status data include the predicted network round-trip time. Based on the predicted network round-trip time, the retransmission timeout at the current moment can be more accurately determined, and the network status can be adjusted based on the other obtained predicted network status data. The present application is conducive to improving the accuracy of the retransmission timeout and ensuring the normal operation of the business.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a method, product, device and storage medium for determining a retransmission timeout. Background Art

[0002] The TCP (Transmission Control Protocol) Retransmission Timeout (RTO) is one of the core mechanisms in the TCP protocol to ensure reliable transmission. The core goal of the retransmission timeout is to dynamically estimate the network's round-trip time (RTT) and calculate a reasonable timeout threshold based on this. If the RTO is set too short, it will lead to unnecessary redundant retransmissions and waste bandwidth; if the RTO is set too long, it will increase network latency and reduce user experience. In related technologies, a single network status parameter is usually used to determine the RTO. As a result, the RTT cannot quickly converge to a reasonable value, resulting in an inaccurate RTO and an inability to adjust the network status, affecting the normal operation of the business.

[0003] In view of this, how to make RTT converge to a reasonable value quickly, improve the accuracy of RTO, reduce the false retransmission rate, and ensure the normal transmission of business flows has become a problem that technical personnel in this field need to solve. Summary of the Invention

[0004] The present application provides a method for determining a retransmission timeout, a program product, an electronic device, and a computer-readable storage medium, which are helpful in improving the accuracy of the retransmission timeout and ensuring the normal operation of the business during use.

[0005] This application provides a method for determining a retransmission timeout, including:

[0006] Obtain at least two historical network status data of the network at the previous moment; the at least two historical network status data include historical network round-trip time;

[0007] Using a pre-established network status prediction model to analyze at least two historical network status data at the previous moment to obtain various predicted network status data at the current moment;

[0008] determining a retransmission timeout at a current moment according to a predicted network round trip time in at least two types of predicted network status data;

[0009] The state of the network is adjusted according to the other predicted network state data of the at least two predicted network state data.

[0010] The present application also provides a device for determining a retransmission timeout, comprising:

[0011] A first acquisition module is configured to acquire at least two types of historical network status data of the network at a previous moment; the at least two types of historical network status data include historical network round trip time;

[0012] An analysis module is used to analyze at least two types of historical network status data at a previous moment using a pre-established network status prediction model to obtain various predicted network status data at a current moment;

[0013] a determination module, configured to determine a retransmission timeout period at a current moment based on a predicted network round trip time in at least two types of predicted network status data;

[0014] The adjustment module is configured to adjust the state of the network according to the other predicted network state data of the at least two predicted network state data.

[0015] The present application also provides a computer program product, including a computer program, which implements the steps of the above-mentioned method for determining the retransmission timeout period when the computer program is executed by a processor.

[0016] The present application also provides an electronic device, comprising:

[0017] Memory for storing computer programs;

[0018] A processor is configured to implement the steps of the above-mentioned method for determining a retransmission timeout period when executing a computer program.

[0019] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of the method for determining the retransmission timeout period as described above are implemented.

[0020] As can be seen from the above technical solution, the beneficial effect of the present application lies in that the present application provides a method for determining a retransmission timeout, which obtains at least two types of historical network status data of the network at a previous moment, wherein the at least two types of historical network status data include a historical network round-trip time, and then analyzes the at least two types of historical network status data obtained at a previous moment using a pre-established network status prediction model to obtain various predicted network status data at the current moment, wherein the various current predicted network status data include a predicted network round-trip time. Further, based on the predicted network round-trip time, the retransmission timeout at the current moment can be more accurately determined, and the network status can be adjusted based on the other obtained predicted network status data. Because the present application analyzes at least two types of historical network status data based on the network status prediction model to obtain various predicted network status data at the current moment, the predicted network round-trip time can be quickly converged to a reasonable value, and a more accurate retransmission timeout can be obtained based on the predicted network round-trip time, which is conducive to improving the accuracy of the retransmission timeout. Moreover, adjusting the network status based on other predicted network status data is conducive to ensuring the normal operation of services.

[0021] In addition, the present application also provides a corresponding computer program product, electronic device and computer-readable storage medium for the method of determining the retransmission timeout period, which further makes the method more practical, and the device, electronic device and computer-readable storage medium have corresponding advantages. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0023] Figure 1 A schematic diagram showing the impact of RTO size on network transmission;

[0024] Figure 2 A flowchart of a method for determining a retransmission timeout period provided in an embodiment of the present application;

[0025] Figure 3 An architectural diagram of a retransmission timeout system provided in an embodiment of the present application;

[0026] Figure 4 A flowchart of another method for determining a retransmission timeout period provided in an embodiment of the present application;

[0027] Figure 5A structural diagram of a device for determining a retransmission timeout period provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0029] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0030] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0031] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the method for determining the retransmission timeout period depends, the specific application environment architecture or specific hardware architecture is described herein.

[0032] It's important to note that for modern computing systems (such as large-scale data centers, cloud computing environments, and 5G edge networks), network transmission reliability, efficiency, and low latency are crucial for core business operations. With the proliferation of distributed systems, real-time services (such as video conferencing, online gaming, and high-frequency financial trading), and AI training clusters, network traffic is exploding. The stability and timeliness of packet transmission directly impact service quality and user experience. Therefore, optimizing TCP retransmission timeouts is not only crucial at the protocol layer but also crucial for optimizing the performance of modern network infrastructure.

[0033] The core goal of TCP retransmission timeout is to dynamically estimate the network's round-trip time (RTT) and calculate a reasonable retransmission timeout based on the RTT, such as Figure 1 As shown in the figure, if the RTO is set too short, unnecessary redundant retransmissions will occur, wasting bandwidth. If the RTO is set too long, network latency will increase, reducing user experience. RTO calculation essentially involves predicting the network's round-trip time (RTT). Ideally, if a packet is not acknowledged within the RTO, the sender will trigger a retransmission. RTO algorithms in related technologies typically use a moving average algorithm.

[0034] The smoothed round trip time (SRTT) is calculated by filtering the instantaneous RTT noise through the exponentially weighted moving average (EWMA):

[0035] ,in, =1 / 8, which is a constant used to balance historical data with current observations.

[0036] RTT variance (also known as RTTVAR) is used to quantify the degree of network jitter, where , =1 / 4, which is a constant and reflects the sensitivity of the network to sudden changes.

[0037] Baseline RTO (also known as RTO base ) can be expressed through the relation The calculation results show that the coefficient of 4 is used to ensure that 99.3% of RTT fluctuations are covered (assuming that RTT follows a Gaussian distribution).

[0038] The calculation method of smooth network round trip time uses a fixed empirical constant / , using fixed parameters Furthermore, considering only one network state (such as the round-trip time) can lead to slow SRTT convergence. For example, during a link switchover, the round-trip time (RTT) can suddenly increase by 500ms, causing a lag in RTT estimation and preventing the retransmission time (RTO) from quickly converging to a reasonable value. The algorithm requires approximately 20 RTT cycles (approximately 40 seconds) to converge, potentially triggering false timeouts and resulting in a false retransmission rate of up to 25%. Link switching causes significant RTT jitter, and the static β value cannot quickly capture instantaneous changes, causing the RTO to fluctuate between 20ms and 800ms, increasing service flow interruption rates.

[0039] For example, in the model corresponding to the above exponentially weighted moving average, the algorithm convergence time is approximately 1 / RTT period. =1 / 8, T=8 cycles, if RTT=200ms, it takes 1.6 seconds to complete convergence, while network switching is usually completed within 300ms. This causes the algorithm to lag behind actual changes. Relying only on a single network state (such as the historical network round-trip time), the algorithm always lags behind actual changes, making it impossible to accurately determine RTO, adjust the network state, and ensure normal business operations.

[0040] In addition, false timeouts may cause resource waste. In burst traffic scenarios, each connection in the related method will cause excess CPU resource consumption (mainly from redundant retransmission processing); each TCP connection needs to independently maintain SRTT and RTTVAR (stored in struct tcp_sock), but fixed parameters cannot dynamically optimize memory usage according to network status. In view of this, the embodiments of this application provide a method for determining the retransmission timeout period with high accuracy and better guarantee of normal business operation. Please refer to Figure 2 The method is described in detail in conjunction with the execution flow of the method for determining the retransmission timeout period. The method includes the contents of S110 to S140.

[0041] S110: Obtain at least two types of historical network status data of the network at the previous moment; the at least two types of historical network status data include historical network round-trip time.

[0042] It should be noted that, in the embodiment of the present application, when determining the retransmission timeout RTO at the current moment, at least two types of historical network status data at the previous moment in the network can be obtained. One of the at least two types of historical network status data in the embodiment of the present application is the historical network round-trip time, and at least one other historical network status data can be the historical network bandwidth and / or the historical queue delay and / or the instantaneous change rate of the historical network round-trip time.

[0043] S120: Analyze at least two types of historical network status data at a previous moment using a pre-established network status prediction model to obtain various predicted network status data at a current moment.

[0044] It can be understood that in the embodiment of the present application, a pre-established network status prediction model can be used to analyze at least two historical network status data obtained at the previous moment. Through analysis, various predicted network status data at the current moment can be obtained more accurately, wherein one of the various predicted network status data is the predicted network round-trip time at the current moment.

[0045] S130: Determine a retransmission timeout period at a current moment according to the predicted network round trip time in the at least two types of predicted network status data.

[0046] In the implementation of this application, after obtaining the predicted network round-trip time at the current moment, the retransmission timeout at the current moment can be further calculated based on the predicted network round-trip time. Because the predicted network round-trip time at the current moment determined in this application is more accurate, the retransmission timeout at the current moment obtained based on the predicted network round-trip time is also more accurate.

[0047] S140: Adjust the network status according to the other predicted network status data among the at least two predicted network status data.

[0048] In the present application, the network status can also be adjusted based on other predicted network status data other than the predicted network round-trip time among the at least two predicted network status data at the current moment obtained in S120 to better ensure the normal operation of the business.

[0049] Please refer to Figure 3 and Figure 4 , the technical solution is described and introduced in detail below.

[0050] In one embodiment, to further improve the accuracy of the predicted network round-trip time and the obtained retransmission timeout, the at least two types of historical network status data obtained at the previous moment in this application may include, in addition to the historical network round-trip time, historical network bandwidth, historical queue delay, and historical instantaneous rate of change of network round-trip time. In practical applications, each time the various predicted network status data for the current moment is obtained, the network status data may be saved.

[0051] In one embodiment, the method may further include:

[0052] Obtain at least one of a current network round trip time, a current network bandwidth, and a current queue delay at a current moment.

[0053] It should be noted that, in order to further improve the accuracy of determining the retransmission timeout in the embodiment of the present application, the perception layer (such as Figure 3 As shown in FIG, various actual network status data of the current moment can be obtained, such as the current network round-trip time and the current queue delay of the current moment. Of course, data such as the current network bandwidth can also be obtained and saved. When determining the retransmission timeout period of the next moment, at least two historical network status data of the corresponding previous moment can be directly obtained.

[0054] In practical applications, the perception layer can be built based on the eBPF (extended Berkeley Packet Filter) program. Through the extended Berkeley Packet Filter eBPF program, the current network round-trip time RTT, current network bandwidth and current queue delay (such as Figure 4 shown).

[0055] The eBPF program can be inserted into the tcp_ack() function of the TCP protocol stack. When an ACK (Acknowledge character) packet is received, the TCP header options can be parsed to obtain the send timestamp, which can be used to obtain the current RTT. In other words, RTT = current kernel timestamp - send timestamp.

[0056] In practical applications, eBPF programs can be injected into dev_queue_xmit() (sending packets) and tcp_v4_rcv() (receiving packets). In this way, the eBPF program can be used to count the number of bytes sent per unit time and the number of ACK confirmation bytes received per unit time, thereby obtaining the current bandwidth based on the number of confirmed bytes and the event window, where bandwidth = number of confirmed bytes × 8 / time window.

[0057] To determine the current queue delay at the current moment, we can obtain the RTT corresponding to each stage of the TCP three-way handshake phase tcp_conn_request(), and then select the minimum RTT from them. This minimum RTT is used as the baseline RTT, that is, it is regarded as the propagation delay without congestion. Based on the current RTT and baseline RTT of the current stage, we can obtain the current queue delay, which can be expressed as: Queue Delay = Current RTT − Baseline RTT.

[0058] In one embodiment, the process of analyzing at least two types of historical network status data at the previous moment using a pre-established network status prediction model in S120 to obtain various predicted network status data at the current moment may include:

[0059] The current noise data is derived from the current network round-trip time, current network bandwidth, and current queue delay. To further improve prediction accuracy, in practical applications, the instantaneous rate of change of the current network round-trip time can be calculated based on the current network round-trip time and the historical network round-trip time from the previous moment. The current noise data is then derived from the current network round-trip time, current network bandwidth, and current queue delay, combined with the instantaneous rate of change of the current network round-trip time.

[0060] According to a pre-established network status prediction model, historical network round-trip time, historical network round-trip time instantaneous change rate, historical network bandwidth, historical queue delay and current noise data are analyzed to obtain the current predicted network round-trip time, predicted network round-trip time instantaneous change rate, predicted network bandwidth and predicted queue delay; among them, the network status prediction model is established based on the improved Kalman filter algorithm.

[0061] It should be noted that the network state prediction model in the embodiment of the present application is established based on the improved Kalman filter algorithm. The network state prediction model can be used to analyze the acquired historical network round-trip time, the instantaneous rate of change of the historical network round-trip time, the historical network bandwidth, the historical queue delay, and the current moment noise data to more accurately obtain the current moment predicted network round-trip time, the predicted instantaneous rate of change of the network round-trip time, the predicted network bandwidth, and the predicted queue delay. The network state prediction model can be established based on the state transition matrix, the bandwidth and delay coupling matrix, the historical network round-trip time, the instantaneous rate of change of the historical network round-trip time, the historical network bandwidth, the historical queue delay, and the current moment noise data.

[0062] It is understandable that in the embodiment of the present application, a four-dimensional state vector can be predefined, and the four-layer information can be integrated. The state vector at the kth moment is X k , which can be expressed as:

[0063] ,in, represents the RTT value at time k, Represents the first-order difference of the RTT at time k (that is, the instantaneous rate of change of the network round-trip time at time k), in microseconds per millisecond (μs / ms). It represents the estimated value of available bandwidth at the kth moment, that is, the bandwidth at the kth moment, in megabits per second (Mbps). Indicates the queue delay at time k, in microseconds (μs), , Indicates the RTT value at the k-1th moment, It is understandable that in this application, the kth moment can be regarded as the current moment, and the k-1th moment can be regarded as the previous moment.

[0064] It should be noted that in order to fuse multiple layers of information and combine the relationships between each layer of information to predict the future network state, a state transition model (that is, a cross-layer data fusion mechanism) can be defined in this application. The state transition model is also a network state prediction model. The network state prediction model can be established based on the state transition matrix, the bandwidth and delay coupling matrix, the historical network round-trip time, the instantaneous change rate of the historical network round-trip time, the historical network bandwidth, the historical queue delay, and the current noise data. The expression is as follows: .

[0065] In the network state prediction model in the embodiment of the present application, F represents a state transition matrix. F can distinguish the time correlation of different state variables through independent attenuation factors. The expression of the state transition matrix F is as follows:

[0066] , where β_B represents the attenuation factor of the bandwidth and β_D represents the attenuation factor of the queue. Both β_B and β_D can be 0.9.

[0067] In the network state prediction model in the embodiment of the present application, G represents a bandwidth and delay coupling matrix. The dimension of the bandwidth and delay coupling matrix is ​​4×2, and the expression of G is as follows.

[0068] ,in, Indicates the influence coefficient of bandwidth on state transition, and its value can be 0.05; Indicates the influence coefficient of queue delay on state transition, and its value can be 0.1.

[0069] The w in the network status prediction model in the embodiment of the present application k Represents the four-dimensional Gaussian noise vector at the kth moment (that is, the noise data at the kth moment), corresponding to the state vector X k ,in, , that is to say, the four-dimensional Gaussian noise vector conforms to the zero-value Gaussian distribution, and its range is 0~Q k The four-dimensional Gaussian noise vector w k It is composed of the superposition of steady-state noise and burst noise.

[0070] That is, Q k = Q base + Q burst , steady-state noise Q base Describes the random fluctuations under normal network conditions, and the diagonal matrix reflects the steady-state noise variance of each state component , where diag() means extracting or constructing diagonal elements of the matrix in brackets. represents the network round trip time variance, represents the variance of the instantaneous rate of change of network round-trip time, represents the bandwidth variance, Indicates the queue delay variance.

[0071] Burst noise Q burst Used to describe abnormal disturbances caused by sudden network congestion or extreme events. The triggering conditions are: , when calculating the current steady-state noise, the current queue delay D can be used k , then the burst noise Q is activated burst , where D represents the queue delay, is the set value, that is, when the acceleration of queue delay exceeds this When the value is , it is determined to be a sudden congestion. The threshold is set to 0.5ms / s 2 .

[0072] In this embodiment , Indicates the burst noise gain coefficient, its value can be 0.2, which can be used to control the amplification ratio of the burst noise; represents the 4×4 identity matrix, which is used to evenly distribute the burst noise to all state components (RTT, ΔRTT, bandwidth, and queue delay).

[0073] It can be understood that the state vector X at the previous moment (i.e., the k-1th moment) is constructed based on the historical network round-trip time, the instantaneous change rate of the historical network round-trip time, the historical network bandwidth, and the historical queue delay. k-1 .

[0074] This application can be based on the current network round trip time RTT k and the historical network round-trip time RTT of the previous moment k-1 , get the current ΔRTT k , and further based on the current network round trip time RTT k , current queue delay D k 、Current bandwidth B k and the current ΔRTT k , calculate 、 、 、 , combined with the steady-state noise variance Q base The relationship The steady-state noise Q in the noise data at the current moment can be obtained base . Further according to the current queue delay D k , combined with the burst noise Q burst The relationship , we can get the burst noise Q in the noise data at the current moment burst .

[0075] In this application, the current moment noise data, state transfer matrix F, bandwidth and delay coupling matrix G, state vector X at the previous moment are combined. k-1 , the historical network bandwidth and historical queue delay at the previous moment, combined with the network status prediction model , you can get the predicted state vector X at the current moment k , the predicted state vector X k The expression is as follows. , represents the filtered end-to-end delay estimate (i.e., the predicted network round-trip time at time k), Indicates the delay change rate (that is, the predicted RTT network instantaneous change rate at the kth moment), which is used to reflect the network trend. represents the predicted network bandwidth at the kth moment, represents the predicted queue delay at time k.

[0076] In one embodiment, the method may further include:

[0077] Determine the Kalman gain coefficient at the current moment;

[0078] The predicted network round trip time is corrected according to the Kalman gain coefficient at the current moment to obtain the corrected predicted network round trip time.

[0079] It should also be noted that in order to balance the observed value and the predicted value in the embodiment of the present application, the Kalman gain coefficient at the current moment (i.e., the kth moment) can be calculated, and the predicted network round-trip time at the current moment can be corrected by the Kalman gain coefficient to obtain the corrected predicted network round-trip time.

[0080] In the embodiment of the present application, the Kalman gain coefficient can be defined as K k , whose expression is:

[0081] ,in, , represents the prediction covariance matrix at the kth moment, P k-1 represents the covariance matrix at the k-1th moment, P k-1 is a known quantity, T represents the transpose of the matrix, R=50us 2 , , indicating that only RTT is observed.

[0082] In practical applications, the Kalman gain coefficient K at the current moment can be used k The predicted state vector X at the current moment k Make corrections, that is, , where Z k Indicates the actual observed RTT value, that is, the current network round-trip time RTT value.

[0083] By using this modified relationship, the relationship between the observed value and the predicted value can be evaluated, thereby obtaining a more accurate predicted network round-trip time at the current moment.

[0084] It is understandable that the Kalman gain coefficient determines the correction strength of the observed value to the predicted value RTT. The corrected RTT is used to calculate the TCP retransmission timeout, which can improve the calculation accuracy. In addition, other state components can also be indirectly corrected. That is, although only RTT is observed, the covariance matrix The off-diagonal elements in propagate corrections to other components. For example, when correcting for ∆RTT, since RTT is positively correlated with ∆RTT, an increase in RTT will also result in a small correction for ∆RTT. However, the corrections for bandwidth B and queuing delay D are typically very small.

[0085] Accordingly, the process of determining the retransmission timeout period at the current moment based on the predicted network round trip time in the at least two types of predicted network status data in S130 may include:

[0086] The retransmission timeout at the current moment is determined based on the corrected preset network round-trip time and the steady-state noise standard deviation.

[0087] That is, in order to improve the accuracy in this application, the corrected predicted network round trip time can be used to determine the retransmission timeout at the current moment, so that the obtained retransmission timeout is more accurate.

[0088] In practical applications, the current retransmission timeout can be obtained based on the corrected preset network round-trip time, the steady-state noise standard deviation, and the retransmission timeout calculation formula. The retransmission timeout calculation formula is: , It is also necessary to note that the process of determining the retransmission time of ultrasound at the current moment can be achieved through the decision layer (such as Figure 3 shown) implementation.

[0089] It should be noted that, in actual application, the process of using the pre-established network status prediction model in S120 of the embodiment of the present application to analyze at least two historical network status data of the previous moment to obtain various predicted network status data of the current moment can be performed by Figure 3 The prediction layer implementation in .

[0090] In one embodiment, the process of adjusting the network state according to the other predicted network state data in the at least two predicted network state data in S140 may include:

[0091] Adjust the size of the sending window based on the instantaneous rate of change of the predicted network round-trip time at the current moment.

[0092] It should be noted that the instantaneous change rate of the predicted network round trip time at the current moment It can be used to judge network trends. When network congestion is detected, the number of send windows can be adjusted to ensure normal business operations.

[0093] In one embodiment, the process of adjusting the number of sending windows based on the instantaneous change rate of the predicted network round-trip time at the current moment may include:

[0094] Based on the predicted instantaneous change rate of the network round-trip time at the current moment, combined with each historical instantaneous change rate of the network round-trip time, it is determined whether there are a preset number of consecutive instantaneous change rates of the network round-trip time that are all greater than 0 based on the current moment;

[0095] If it exists, the control sending window is reduced.

[0096] It is understandable that in this embodiment, the current moment can be used as a reference to obtain the three consecutive cycles of , for example, to get the current time , the last moment And the previous moment , thus determining these three consecutive cycles Are they all greater than 0? If If both are greater than 0, it means that the delay is increasing rapidly, which indicates that congestion is worsening. In this case, you can reduce the sending window and thus reduce the packet sending rate.

[0097] In practical applications, the process of determining whether the sending window needs to be reduced may be performed by the decision layer.

[0098] It should be noted that, when it is determined that the sending window needs to be reduced, the execution layer (such as Figure 3 The send window can be controlled to decrease, and the process may include:

[0099] The send window is controlled to be reduced by a preset percentage based on the current window. For example, the congestion control module can be modified in the Linux kernel to reduce the congestion window (cwnd) to 75% of the current window.

[0100] In one embodiment, in order to better adjust the network status, the method may further include:

[0101] Determine the window sending rate based on the predicted network bandwidth at the current moment.

[0102] It should be noted that this process can also be implemented by the decision layer, which determines the window sending rate according to the predicted network bandwidth at the current moment.

[0103] in, .

[0104] In order to accurately determine the window sending rate, it is possible to determine whether the predicted queue delay at the current moment is greater than a preset threshold. If it is greater than the preset threshold, the execution layer can be used to control the current window to reduce the sending rate based on the current sending rate and perform random packet loss; if it is less than or equal to the preset threshold, the execution layer can be used to control the sending rate of the current window to be adjusted to the window sending rate.

[0105] In other words, in this embodiment, the predicted queue delay at the current moment can be determined Is it greater than a preset threshold (e.g. 50ms) to determine the window sending rate, where if If the delay is greater than 50ms, the sender can be notified to slow down and randomly drop packets to avoid buffer overflow. If the window rate is less than or equal to 50ms, the execution layer can control the current window sending rate to be adjusted to the window sending rate calculated above. In actual applications, the execution layer can use the tbf parameter of the tc command to set the current window sending rate, and when random packet loss occurs, the tc command netem module can be used to set the packet loss rate: ( -50) / 100.

[0106] It should also be noted that an abnormal fallback mechanism can also be set in this application, which can calculate the prediction error based on the prediction state vector, and when the prediction error exceeds the threshold, the control network state falls back to the historical stable state of the previous moment, that is, the control network operates according to the various state information in the historical network state vector corresponding to the previous moment, wherein the prediction error can be calculated based on the threshold. Calculate and then In the case of a sudden interference, that is, when the deviation between the actual RTT at the current moment and the predicted RTT exceeds 3 times the standard deviation, it is judged as abnormal. At this time, the network state is controlled to return to the historical network state corresponding to the previous moment, thereby solving the abnormal steady state under sudden interference.

[0107] Thus, it can be seen that by obtaining at least two types of historical network status data of the network at the previous moment, wherein the at least two types of historical network status data include the historical network round-trip time, and then analyzing the at least two types of historical network status data obtained at the previous moment through a pre-established network status prediction model, various predicted network status data at the current moment are obtained, wherein the various current predicted network status data include the predicted network round-trip time, and further based on the predicted network round-trip time, the retransmission timeout at the current moment can be more accurately determined, and the network status can be adjusted based on the other predicted network status data obtained. Since the present application analyzes at least two types of historical network status data according to the network status prediction model to obtain various predicted network status data at the current moment, the predicted network round-trip time can be quickly converged to a reasonable value, and a more accurate retransmission timeout can be obtained based on the predicted network round-trip time, which is conducive to improving the accuracy of the retransmission timeout, and adjusting the network status based on other predicted network status data is conducive to ensuring the normal operation of the business.

[0108] In addition, through the four-layer architecture design, the perception-prediction-decision-execution layer data flow is closed-loop, achieving a rapid response from state perception to action execution. The four-dimensional improved Kalman filter and the layered noise model (steady state + burst) triggered by the second-order derivative of the queue delay break through the limitations of traditional single noise, and dynamically roll back the historical state through the posterior condition to solve the abnormal steady state under sudden interference.

[0109] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0110] The embodiment of the present application also provides a device for determining a retransmission timeout period, please refer to Figure 5 The device for determining the retransmission timeout period includes:

[0111] The first acquisition module 11 is used to obtain at least two types of historical network status data of the network at the previous moment; the at least two types of historical network status data include historical network round-trip time;

[0112] An analysis module 12 is configured to analyze at least two types of historical network status data at a previous moment using a pre-established network status prediction model to obtain various predicted network status data at a current moment;

[0113] A determination module 13, configured to determine a retransmission timeout period at a current moment based on a predicted network round trip time in at least two types of predicted network status data;

[0114] The adjustment module 14 is configured to adjust the network status according to the other predicted network status data among the at least two predicted network status data.

[0115] In one embodiment, the at least two types of historical network status data further include historical network bandwidth, historical queue delay, and historical network round-trip time instantaneous change rate.

[0116] In one embodiment, the device further comprises:

[0117] The second acquisition module is used to obtain at least one of the current network round-trip time at the current moment, the current network round-trip time, and the current queue delay.

[0118] In one embodiment, the analysis module 12 includes:

[0119] A first determining unit is configured to obtain noise data at a current moment according to a current network round trip time, a current network bandwidth, and a current queue delay;

[0120] The second determination unit is used to analyze the historical network round-trip time, the instantaneous change rate of the historical network round-trip time, the historical network bandwidth, the historical queue delay and the current noise data according to a pre-established network status prediction model to obtain the predicted network round-trip time, the predicted instantaneous change rate of the network round-trip time, the predicted network bandwidth and the predicted queue delay at the current moment; wherein the network status prediction model is established based on the improved Kalman filter algorithm.

[0121] In one embodiment, the network state prediction model is established based on the state transition matrix, the bandwidth and delay coupling matrix, the historical network round-trip time, the historical network round-trip time instantaneous change rate, the historical network bandwidth, the historical queue delay and the current moment noise data.

[0122] In one embodiment, the device may further include:

[0123] A third determining unit, configured to determine a Kalman gain coefficient at a current moment;

[0124] The correction unit is used to correct the predicted network round-trip time according to the Kalman gain coefficient at the current moment to obtain the corrected predicted network round-trip time.

[0125] In one embodiment, the determination module 13 is configured to determine the retransmission timeout period at the current moment according to the corrected preset network round trip time and the steady-state noise standard deviation.

[0126] In one embodiment, the adjustment module 14 is configured to adjust the number of sending windows according to the instantaneous change rate of the predicted network round trip time at the current moment.

[0127] In one embodiment, the adjustment module 14 includes:

[0128] The first judgment unit is used to determine whether there are a preset number of consecutive network round-trip time instantaneous change rates greater than 0 based on the predicted network round-trip time instantaneous change rate at the current moment and in combination with various historical network round-trip time instantaneous change rates; if so, the first control unit is triggered; the first control unit is used to control the reduction of the sending window.

[0129] In one embodiment, the control unit is configured to control the sending window to be reduced by a preset percentage based on the current window.

[0130] In one embodiment, the device further comprises:

[0131] The fourth determining unit is configured to determine the window sending rate according to the predicted network bandwidth at the current moment.

[0132] In one embodiment, the device may further include:

[0133] The second judgment unit is used to determine whether the predicted queue delay at the current moment is greater than a preset threshold. If it is greater than the preset threshold, the second control unit is triggered; the second control unit is used to control the current window to reduce the sending rate based on the current sending rate and perform random packet loss; if it is less than or equal to the preset threshold, the third control unit is triggered; the third control unit is used to control the sending rate of the current window to be adjusted to the window sending rate. It should be noted that the description of the features of the embodiment corresponding to the device for determining the retransmission timeout in the embodiment of the present application can be found in the relevant description of the embodiment corresponding to the method for determining the retransmission timeout, and will not be repeated here.

[0134] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned embodiments of the method for determining the retransmission timeout period.

[0135] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned embodiments of the method for determining a retransmission timeout period when running.

[0136] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0137] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned methods for determining a retransmission timeout period are implemented.

[0138] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, implementing the steps in any of the above-mentioned embodiments of the method for determining the retransmission timeout period.

[0139] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may 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.

[0140] The above describes in detail a method for determining a retransmission timeout, a computer program product, an electronic device, and a computer-readable storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only intended to help understand the method and core concept of the present application. It should be noted that, for those skilled in the art, without departing from the principles of the present application, several improvements and modifications may be made to the present application, and such improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A method for determining a retransmission timeout, characterized in that: include: Acquire at least two types of historical network status data of the network at a previous moment; the at least two types of historical network status data include historical network round-trip time; the at least two types of historical network status data also include at least one of historical network bandwidth, historical queue delay, and historical network round-trip time instantaneous change rate; Using a pre-established network status prediction model to analyze at least two historical network status data at the previous moment to obtain various predicted network status data at the current moment; Determining a retransmission timeout at a current moment based on the predicted network round trip times in at least two of the predicted network status data; Adjusting the state of the network according to the other predicted network state data of at least two of the predicted network state data; wherein: Also includes: The current network round-trip time, current network bandwidth, and current queue delay at the current moment are obtained in real time through an extended Berkeley packet filter program; the current queue delay is determined based on the current network round-trip time and a baseline network round-trip time, where the baseline network round-trip time is the minimum of the network round-trip times corresponding to each phase of the three-way handshake phase of the Transmission Control Protocol; The method uses a pre-established network status prediction model to analyze at least two types of historical network status data at the previous moment to obtain various predicted network status data at the current moment, including: According to the current network round-trip time and the historical network round-trip time at the previous moment, the instantaneous change rate of the network round-trip time at the current moment is obtained; Obtaining noise data at a current moment according to the current network round-trip time, the current network bandwidth, and the current queue delay, combined with the instantaneous rate of change of the network round-trip time at the current moment; According to a pre-established network status prediction model, the historical network round-trip time, the instantaneous change rate of the historical network round-trip time, the historical network bandwidth, the historical queue delay and the current noise data are analyzed to obtain the predicted network round-trip time, the predicted instantaneous change rate of the network round-trip time, the predicted network bandwidth and the predicted queue delay at the current moment; wherein, the network status prediction model is established based on an improved Kalman filter algorithm.

2. The method for determining a retransmission timeout according to claim 1, wherein: The network state prediction model is established based on the state transition matrix, the bandwidth and delay coupling matrix, the historical network round-trip time, the historical network round-trip time instantaneous change rate, the historical network bandwidth, the historical queue delay and the current moment noise data.

3. The method for determining the retransmission timeout according to claim 2, wherein: Also includes: Determine the Kalman gain coefficient at the current moment; The predicted network round trip time is corrected according to the Kalman gain coefficient at the current moment to obtain a corrected predicted network round trip time.

4. The method for determining a retransmission timeout according to claim 3, wherein: The determining the retransmission timeout time at the current moment based on the predicted network round trip time in at least two types of the predicted network status data includes: The retransmission timeout at the current moment is determined based on the corrected preset network round-trip time and the steady-state noise standard deviation.

5. The method for determining a retransmission timeout according to any one of claims 1 to 4, wherein: The adjusting the state of the network according to the other predicted network state data among the at least two predicted network state data includes: Adjust the sending window size based on the instantaneous rate of change of the predicted network round-trip time at the current moment.

6. The method for determining a retransmission timeout according to claim 5, wherein: The adjusting the number of sending windows according to the instantaneous change rate of the predicted network round trip time at the current moment includes: Based on the predicted instantaneous change rate of the network round-trip time at the current moment, combined with each historical instantaneous change rate of the network round-trip time, it is determined whether there are a preset number of consecutive instantaneous change rates of the network round-trip time that are all greater than 0 based on the current moment; If it exists, it controls the sending window to decrease.

7. The method for determining a retransmission timeout according to claim 6, wherein: The controlling the sending window to be reduced includes: Controls the sending window to reduce the preset percentage based on the current window.

8. The method for determining a retransmission timeout according to claim 5, wherein: Also includes: Determine the window sending rate based on the predicted network bandwidth at the current moment.

9. The method for determining a retransmission timeout according to claim 8, wherein: Also includes: Determine whether the predicted queue delay at the current moment is greater than a preset threshold. If so, control the current window to reduce the sending rate based on the current sending rate and perform random packet loss. If it is less than or equal to the preset threshold, the sending rate of the current window is controlled to be adjusted to the window sending rate.

10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method for determining a retransmission timeout period according to any one of claims 1 to 9 are implemented.

11. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the method for determining a retransmission timeout period according to any one of claims 1 to 9 when executing the computer program.

12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the method for determining the retransmission timeout period according to any one of claims 1 to 9 are implemented.

Citation Information

Patent Citations

  • Multi-path transmission congestion control method and device, control equipment and storage medium

    CN112118191A

  • Data retransmission method and device, equipment and storage medium

    CN113141239A