Quic protocol-based maximum data volume frame updating method and system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- AEROSPACE INFORMATION RES INST CAS
- Filing Date
- 2026-07-09
- Publication Date
- 2026-08-07
AI Technical Summary
[0002]现有最大数据量(MAXDATA)帧更新机制缺乏网络状态感知能力,采用固定增量策略无法适配长时延网络环境
[0015]本发明提供的基于QUIC协议的最大数据量帧更新方法及系统,在数据接收端动态调控MAXDATA帧更新,通过历史连接记录构建初始窗口,并依据预设周期内MAXDATA帧的时间占比自适应调整增量,实现根据实际网络状态控制双方交互频率,提升了带宽利用率,降低了长时延对网络性能的影响。
Smart Images

Figure CN122533706A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data transmission technology, and in particular to a method and system for updating the maximum data volume frame based on the QUIC protocol. Background Technology
[0002] The existing MAXDATA frame update mechanism lacks network state awareness, and its fixed-increment strategy is unsuitable for long-latency network environments. The receiver only increases the window size by a fixed step of initial value N when the transmitted data approaches the limit. This results in the transmitter frequently reaching the window limit in long-latency links and having to wait for round-trip time to obtain incremental authorization, causing significant idle waiting time and severely underutilizing bandwidth. This fails to fully leverage the advantages of the QUIC protocol in multiplexing and flexible control.
[0003] Therefore, there is an urgent need for a method and system for updating the maximum data volume frame based on the QUIC protocol to solve the above problems. Summary of the Invention
[0004] To address the problems existing in the prior art, this invention provides a method and system for updating the maximum data volume frame based on the QUIC protocol.
[0005] This invention provides a method for updating the maximum data volume frame based on the QUIC protocol, comprising: Based on historical connection records with the data sender, construct the initial maximum data volume frame; Based on the time percentage of the maximum data volume frame within the preset period and the value of the initial maximum data volume frame, the updated maximum data volume frame is obtained. The updated maximum data size frame is sent to the data sending end.
[0006] According to the present invention, a method for updating the maximum data volume frame based on the QUIC protocol, wherein constructing an initial maximum data volume frame based on historical connection record information between the data sender and the data sender includes: Based on the address information of the data sending end, obtain historical connection record information; Based on the historical connection record information, obtain the historical smooth round-trip time and historical average transmission rate corresponding to the data sending end during the historical connection. Obtain the current device status and the current remaining memory space size, wherein the current device status includes at least the size of the User Datagram Protocol (UDP) buffer; the UDP buffer size includes the size of the UDP receive buffer and the size of the UDP send buffer; The initial maximum data size frame is constructed based on the minimum value among the UDP buffer size, the current remaining memory space size, and the first product, wherein the first product is the product between the historical smooth round-trip time and the historical average transmission rate.
[0007] According to the present invention, a maximum data volume frame update method based on the QUIC protocol is provided, the method further includes: If it is determined that the UDP buffer size is less than the first product, the UDP buffer size is updated to the first product to obtain the updated UDP buffer size; The initial maximum data size frame is constructed based on the minimum value among the updated UDP buffer size, the current remaining memory space size, and the first product.
[0008] According to the present invention, a method for updating the maximum data volume frame based on the QUIC protocol, wherein obtaining the updated maximum data volume frame according to the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame includes: During data transmission at the data sending end, the maximum number of data frame transmissions within the preset period is obtained; The second product is obtained by multiplying the maximum number of data frame transmissions and the historical smooth round-trip time. The maximum data volume frame time percentage is calculated based on the ratio between the second product and the preset period. When the time proportion of the maximum data volume frame is greater than the preset time proportion threshold, the dynamic update increment is calculated based on the initial maximum data volume frame and the preset update coefficient, wherein the preset update coefficient is greater than 1. The updated maximum data volume frame is obtained by summing the maximum data volume value in the current maximum data volume frame and the dynamic update increment.
[0009] According to the present invention, a method for updating the maximum data volume A-frame based on the QUIC protocol is provided, the method further comprising: When the time proportion of the maximum data volume frame is less than or equal to the preset time proportion threshold, the updated maximum data volume frame is obtained based on the sum of the current maximum data volume frame and the preset fixed increment, wherein the preset fixed increment is calculated based on the maximum data volume value in the initial maximum data volume frame.
[0010] According to the present invention, a maximum data volume frame update method based on the QUIC protocol is provided, the method further includes: If it is determined that there is no historical connection record information between the data sender and the data sender, the initial maximum data volume frame is constructed based on the current remaining memory space size.
[0011] This invention also provides a maximum data volume frame update system based on the QUIC protocol, comprising: The frame construction module is used to construct the initial maximum data size frame based on historical connection record information between the data sender and the data sender. The frame update module is used to obtain the updated maximum data volume frame based on the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame. The sending module is used to send the updated maximum data volume frame to the data sending end.
[0012] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the maximum data volume frame update method based on the QUIC protocol as described above.
[0013] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the maximum data volume frame update method based on the QUIC protocol as described above.
[0014] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the maximum data volume frame update method based on the QUIC protocol as described above.
[0015] The maximum data frame update method and system based on the QUIC protocol provided by this invention dynamically controls the MAXDATA frame update at the data receiving end, constructs an initial window through historical connection records, and adaptively adjusts the increment according to the time proportion of MAXDATA frames within a preset period. This realizes control of the interaction frequency between the two parties according to the actual network status, improves bandwidth utilization, and reduces the impact of long latency on network performance. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0017] Figure 1 A flowchart illustrating the maximum data volume frame update method based on the QUIC protocol provided by this invention; Figure 2 This is a schematic diagram illustrating the calculation process of the initial value of the MAXDATA frame provided by the present invention; Figure 3 This is a schematic diagram of the maximum data volume frame update system based on the QUIC protocol provided by the present invention. Figure 4 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0019] With the development of mobile internet and real-time applications, the limitations of the Transmission Control Protocol (TCP) have become increasingly apparent, such as high protocol overhead, slow connection establishment, and head-of-line congestion. Therefore, the Quick UDP Internet Connections (QUIC) protocol emerged. QUIC is a reliable transport protocol based on the User Datagram Protocol (UDP), featuring flexible congestion control, multiplexing, head-of-line congestion resolution, and connection migration, leading to its widespread adoption. However, in real-world, complex network environments, its performance advantages cannot be fully realized without sufficient optimization of QUIC protocol frame parameters.
[0020] In complex network environments characterized by packet loss, latency, and jitter, the QUIC protocol emerged to achieve reliable transmission based on UDP. The QUIC protocol places its congestion control algorithm in user space; in situations of low network performance, the data sender typically adjusts the congestion control algorithm. However, the client-server data interaction process defined by the QUIC protocol, relying solely on the sender's congestion control algorithm, still results in poor data transmission performance in long-latency network environments.
[0021] The QUIC protocol incorporates a MAXDATA frame. This frame is used by the receiving end to notify the sending end (the peer) of the maximum number of bytes the receiving end is allowed to send over the entire connection. Based on the QUIC protocol, during data transmission, an initial value N for the MAXDATA frame is typically set when the connection is established. During subsequent transmissions, as long as the amount of data sent by the sending end does not exceed the value specified in the MAXDATA frame, data transmission proceeds normally. When the value exceeds or is about to exceed the value specified in the MAXDATA frame, the receiving end sends a MAXDATA frame to the sending end. The value of this new MAXDATA frame is increased by a fixed increment from the previous MAXDATA frame value, typically the initial value N set in the MAXDATA frame.
[0022] After receiving a MAXDATA frame from the data receiver, the data sender updates the maximum number of bytes that can be sent on the current connection. Because the traditional MAXDATA frame update method does not take network conditions into account and uses a fixed increment, such as an initial value, to cumulatively update the MAXDATA frame value, transmission performance is low in long-latency network conditions.
[0023] To address the aforementioned issues, this invention proposes a dynamic calculation method for MAXDATA frames in the QUIC protocol, thereby improving data transmission performance under conditions of long network latency.
[0024] Figure 1 The flowchart of the maximum data volume frame update method based on the QUIC protocol provided by the present invention is shown below. Figure 1 As shown, this invention provides a method for updating the maximum data volume frame based on the QUIC protocol, including: Step 101: Construct an initial maximum data volume frame based on historical connection record information between the data sender and the data sender.
[0025] When a connection is first established, a MAXDATA frame needs to be set to notify the other end (i.e., the data sender) of the maximum amount of data that can be sent cumulatively over the current connection. Traditional methods typically set the same initial fixed value for MAXDATA for all connections, without considering the differences in actual network conditions between different connections.
[0026] In this invention, when establishing a connection, the data receiving end can calculate the initial value of the MAXDATA frame for each connection based on the current device status and the historical connection record information between it and the data sending end. Therefore, the initial value of MAXDATA for each connection may be different.
[0027] Specifically, at the end of each transmission, the data receiver records the source IP address, destination IP address, smoothed round-trip time (SRTT), and average transmission rate of the connection, thereby generating a historical connection record.
[0028] When calculating the initial value of the MAXDATA frame for the current connection, the data receiver queries historical connection records based on the address of the data sender for the current connection to obtain the corresponding smooth round-trip delay and average transmission rate.
[0029] Meanwhile, the data receiver obtains the current device status, including the UDP receive and send buffer sizes in the system parameters, as well as the device's current remaining memory space. In one embodiment, if the UDP buffer size is less than the product of smooth round-trip time and average transmission rate, the UDP buffer size is updated to the product of smooth round-trip time and average transmission rate to ensure that the buffer size can adapt to network transmission requirements.
[0030] Finally, the initial value of the MAXDATA frame is calculated according to the following formula to construct the initial MAXDATA frame: in, Indicates the UDP buffer size. Indicates the current remaining memory space. Indicates smooth round-trip delay. Indicates the average transmission rate. This means taking the minimum value among the three. This represents the initial MAXDATA frame value. The formula comprehensively considers the device's buffer capacity, remaining memory resources, and historical network transmission capabilities, ensuring that the initial MAXDATA frame value is neither too large (exceeding the device's processing capacity) nor too small (limiting the full utilization of network bandwidth), thus laying the foundation for subsequent dynamic updates.
[0031] Step 102: Obtain the updated maximum data frame based on the maximum data frame time ratio within the preset period and the value of the initial maximum data frame.
[0032] In this invention, when the total amount of data received by the data receiver during data transmission reaches the maximum value specified by the MAXDATA frame (such as the initial MAXDATA frame), the data receiver generates a new MAXDATA frame to update the cumulative maximum amount of data that the current connection can transmit. The MAXDATA frame calculation process in this invention differs from the traditional method of adding a fixed increment each time; instead, it dynamically calculates the increment value of the MAXDATA frame based on the real-time network status.
[0033] Specifically, the data receiving end calculates the total amount of data received in real time. When this total amount of data reaches the value of the MAXDATA frame or a certain preset percentage of the MAXDATA frame value, it determines that the total amount of data currently sent by the sending end has exceeded the value specified by the MAXDATA frame, triggering the MAXDATA frame update operation. At this time, the value of the current MAXDATA frame is added to the initial MAXDATA value to obtain the value of the new MAXDATA frame.
[0034] During data transmission, the data receiving end continuously records at fixed intervals. Number of times the inner MAXDATA frame is sent And calculate the percentage of MAXDATA frame time within a fixed period. The calculation formula is: MAXDATA frame time percentage This reflects the proportion of network round-trip time consumed by the update of the MAXDATA frame within a unit period, indirectly representing the degree of matching between the current window size and network latency. When Greater than the preset time percentage threshold When the update frequency of the MAXDATA frame is too high, the sending end frequently reaches the window limit and waits for authorization, indicating a significant bandwidth idle problem. In this case, the data receiving end increases the increment of the MAXDATA frame. The MAXDATA update formula is as follows: Updated MAXDATA value = Current MAXDATA value + × d ; in, d The update coefficients for MAXDATA are the preset update coefficients, and... d >1. By introducing a coefficient greater than 1 d When a high time percentage is detected, the incremental step size is increased, giving the sender a larger transmission authorization space and reducing the idle waiting time caused by waiting for MAXDATA frame updates, thereby effectively improving bandwidth utilization under long-latency network conditions.
[0035] like b Not greater than the preset time percentage threshold Then maintain the basic increment. vInit Update.
[0036] Step 103: Send the updated maximum data size frame to the data sending end.
[0037] In this invention, the data receiving end sends the calculated and updated MAXDATA frame to the data sending end. After receiving the MAXDATA frame, the data sending end updates the maximum cumulative number of bytes that can be sent on its current connection, and continues to send data accordingly, thereby completing a closed-loop control of window authorization and update.
[0038] The maximum data frame update method based on the QUIC protocol provided by this invention dynamically controls the MAXDATA frame update at the data receiving end. It constructs an initial window through historical connection records and adaptively adjusts the increment according to the time proportion of MAXDATA frames within a preset period. This enables control of the interaction frequency between the two parties based on the actual network status, improves bandwidth utilization, and reduces the impact of long latency on network performance.
[0039] Based on the above embodiments, the step of constructing the initial maximum data volume frame based on historical connection record information with the data sending end includes: Based on the address information of the data sending end, obtain historical connection record information; Based on the historical connection record information, obtain the historical smooth round-trip time and historical average transmission rate corresponding to the data sending end during the historical connection. Obtain the current device status and the current remaining memory space size, wherein the current device status includes at least the size of the User Datagram Protocol (UDP) buffer; the UDP buffer size includes the size of the UDP receive buffer and the size of the UDP send buffer; The initial maximum data size frame is constructed based on the minimum value among the UDP buffer size, the current remaining memory space size, and the first product, wherein the first product is the product between the historical smooth round-trip time and the historical average transmission rate.
[0040] In this invention, when a connection is first established, an initial MAXDATA frame needs to be set to notify the peer of the maximum amount of data that can be sent cumulatively during the current connection. This invention calculates the initial MAXDATA frame value for each connection based on the current device status and connection history; therefore, the initial MAXDATA value may be different for each connection.
[0041] Specifically, at the end of each historical transmission, the data receiving end records the source IP address, destination IP address, smooth round-trip time, and average transmission rate of the connection, thereby generating and storing a historical connection record. The historical connection record uses the address information of the data sending end (such as its IP address) as an index identifier for easy subsequent querying and retrieval.
[0042] When constructing the initial MAXDATA frame of the current connection, the data receiver first queries the stored historical connection records based on the address information of the data sender of the current connection, thereby obtaining the historical network parameters corresponding to the data sender in the historical connection.
[0043] By querying historical connection records, the data receiver obtains the historical smoothed round-trip time and historical average transmission rate of the data sender in past connections. The historical smoothed round-trip time reflects the network latency characteristics of the connection path, while the historical average transmission rate reflects the historical bandwidth capacity of the connection path. These two parameters together characterize the transmission performance of a specific network link between the data sender and the data receiver, providing a network status basis for subsequent calculation of the initial MAXDATA frame value.
[0044] While acquiring historical network parameters, the data receiver also obtains the current device status, including the User Datagram Protocol (UDP) buffer size in the system parameters. Specifically, the UDP buffer size includes the UDP receive buffer size and the UDP send buffer size, both of which are set together. x In addition, the data receiving end also obtains the current remaining memory space of the device and sets it as... y .
[0045] In this invention, the UDP buffer size x This directly determines the upper limit of the amount of data that the device can receive and process instantly, while the remaining memory space y This reflects the device's current resource capacity. If the buffer is set too small, even with sufficient network bandwidth, data congestion or loss may occur due to insufficient device processing power; if the remaining memory is insufficient, an excessively large MAXDATA frame value may cause a memory overflow risk.
[0046] After obtaining the above parameters, the data receiver first calculates the first product, which is the product between the historical smooth round-trip time and the historical average transmission rate. srtt × s The first product represents the amount of data that a network link can transmit in a single round-trip time period, reflecting the theoretical capacity of the network pipeline.
[0047] Meanwhile, to ensure that the device's buffer can adapt to network transmission requirements, the data receiving end determines the size of the UDP buffer. x Is it less than the first product mentioned above? If x If it is less than the first product, then... x Updated to the first product, i.e. srtt × s This ensures that the buffer size is not less than the theoretical capacity of the network pipeline, thus avoiding the buffer becoming a bottleneck for transmission.
[0048] Finally, the data receiver calculates the initial value of the MAXDATA frame according to the following formula, assuming the initial value of the MAXDATA frame is... : The value of the initial MAXDATA frame Also affected by device processing capacity (UDP buffer size) x Equipment resource reserves (remaining memory space) y ) and network transmission capacity ( srtt × s Triple constraints. By taking the minimum of the three, the value of the initial MAXDATA frame is ensured to be neither too large, exceeding the device's processing capacity, nor too small, limiting the full utilization of network bandwidth. This provides a safe and efficient initial sending window for the specific connection at the beginning of connection establishment, laying the foundation for dynamic updates during subsequent data transmission and effectively improving data transmission performance under long-latency network conditions.
[0049] Based on the above embodiments, the method further includes: If it is determined that the UDP buffer size is less than the first product, the UDP buffer size is updated to the first product to obtain the updated UDP buffer size; The initial maximum data size frame is constructed based on the minimum value among the updated UDP buffer size, the current remaining memory space size, and the first product.
[0050] In this invention, during the construction of the initial MAXDATA frame, the data receiver first calculates the first product, which is the product between the historical smooth round-trip time and the historical average transmission rate. This product reflects the theoretical data transmission capacity of the network link within a single round-trip delay period.
[0051] Subsequently, the data receiver compares the currently acquired UDP buffer size with the first product. If the UDP buffer size is determined to be smaller than the first product, it indicates that the currently configured UDP buffer is insufficient to accommodate the amount of data transmitted by the network link within one round-trip time. In this case, if the original UDP buffer size is directly used in subsequent calculations, the network bandwidth will not be fully utilized due to the device buffer bottleneck, resulting in a loss of transmission performance.
[0052] Therefore, in this case, the data receiver updates the UDP buffer size to the value of the first product, obtaining the updated UDP buffer size. This update operation ensures that the device's buffer capacity matches the network pipeline capacity, eliminating the constraint on transmission performance caused by insufficient buffer configuration, and enabling the calculation of subsequent initial MAXDATA frames to accurately reflect the transmission potential of the network link.
[0053] If the UDP buffer size is greater than or equal to the first product, the original UDP buffer size remains unchanged, and no update operation is required.
[0054] After determining and updating the UDP buffer size, the data receiver uses the updated UDP buffer size (denoted as...) x' Current remaining memory space y and the first product ( srtt × s The minimum of the three values is used to calculate the initial MAXDATA frame value, thus determining a personalized initial transmission window for the specific connection at the initial stage of connection establishment that satisfies both device capacity and makes full use of network bandwidth. This initial MAXDATA frame value differs from the traditional fixed initial value method, fully considering the coupling relationship between historical network state and current device state, providing a reasonable baseline for dynamic updates during subsequent data transmission, thereby effectively improving data transmission performance and bandwidth utilization under long-latency network conditions.
[0055] Based on the above embodiments, the method further includes: If it is determined that there is no historical connection record information between the data sender and the data sender, the initial maximum data volume frame is constructed based on the current remaining memory space size.
[0056] In this invention, when a connection is first established, the data receiving end first queries the stored historical connection records based on the address information of the data sending end of the current connection. If it is determined that there is no historical connection record information between the receiving end and the data sending end, it indicates that the connection is being established for the first time or the historical record has expired. In this case, the historical smooth round-trip time and historical average transmission rate corresponding to the data sending end cannot be obtained.
[0057] In this situation, due to the lack of historical network parameters as a reference, the first product cannot be calculated using the aforementioned method based on historical connection records, and therefore the value of the initial MAXDATA frame cannot be determined through the triple constraint conditions. To ensure that the connection can be established normally and data transmission can begin, the data receiver adopts a degradation strategy, directly determining the value based on the current remaining memory space. y Construct the initial MAXDATA frame.
[0058] Current remaining memory space y It is the hard upper limit of the amount of data that the device can currently handle. yUsing the initial MAXDATA frame value ensures that the initial transmission window will not exceed the device's resource capacity when historical network status information is lacking, thus avoiding issues such as memory overflow or system instability. Simultaneously, using remaining memory space as a constraint benchmark also reserves sufficient caching space for dynamic adjustments during subsequent data transmission. This degradation strategy achieves availability and robustness even without historical connection records, ensuring that QUIC connections can be successfully established and gradually enter a stable transmission state. Once sufficient historical data is accumulated, the system can then switch to an optimization mode based on historical connection records.
[0059] Figure 2 This is a schematic diagram illustrating the calculation process of the initial value of the MAXDATA frame provided by the present invention, which can be referred to. Figure 2 As shown, the specific steps are as follows: First, it checks if historical records exist. The data receiver queries the stored historical connection records based on the address information of the data sender in the current connection to determine if a historical connection record corresponding to that data sender exists.
[0060] If historical connection records are found, perform the following steps: Based on the connection address information, check the historical smooth round-trip time. srtt and historical average transmission rate s The data receiver queries historical connection records based on the address information of the data sender in the current connection, and obtains the historical smooth round-trip time corresponding to the historical connection with that data sender. srtt and average rate (i.e., historical average transmission rate) s ).
[0061] Then, the data receiver calculates the first product, which is the historical smoothed round-trip time. srtt Compared with historical average transmission rate s The product of the two. The data receiver obtains the system parameters from the current device status, specifically the size of the User Datagram Protocol (UDP) buffer, including the size of the UDP receive buffer and the size of the UDP send buffer.
[0062] Furthermore, determine whether the UDP buffer is less than the historical smooth round-trip time. srtt Compared with historical average transmission rate s This is the first product. If the UDP buffer size is determined to be less than the first product, it indicates that the currently configured UDP buffer is insufficient to accommodate the amount of data transmitted over one round-trip time (RTT) on the network link. In this case, the data receiver performs an update operation, updating the system parameter UDP buffer to the historical smoothed RTT. srtt Compared with historical average transmission rate s The product of these values yields the updated UDP buffer size.
[0063] If the UDP buffer size is determined to be greater than or equal to the first product, it indicates that the current UDP buffer configuration already meets network transmission requirements and no update is needed. In this case, the original UDP buffer size remains unchanged.
[0064] Next, we will proceed to the next step, "Get the remaining memory of the device".
[0065] If it is determined that there are no historical connection records, then perform the following steps: If it is determined that there is no historical connection record information between the data sender and the data source, it indicates that the connection is being established for the first time or that the historical record has expired. At this point, due to the lack of historical network parameters as a reference, the first product cannot be calculated, and the process jumps to the "obtain device remaining memory" step.
[0066] In the "Get Device Remaining Memory" step, the data receiving end obtains the current remaining memory space of the device.
[0067] Furthermore, the minimum value among the UDP buffer, remaining memory, and the first product is taken as the initial MAXDATA. For cases with historical connection records: the updated UDP buffer size is used. x' (or a constant UDP buffer size) x Current remaining memory space y And the minimum value among the three in the first product; For cases where no historical connection records exist: retrieve the current remaining memory space. y As the initial MAXDATA frame value.
[0068] By taking the minimum value, the initial MAXDATA frame value is ensured to simultaneously meet the device processing capacity constraint, the device resource margin constraint, and the network transmission capacity constraint (or only the resource margin constraint), thereby providing a safe and efficient initial transmission window for a specific connection.
[0069] Based on the above embodiments, obtaining the updated maximum data volume frame according to the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame includes: During data transmission at the data sending end, the maximum number of data frame transmissions within the preset period is obtained; The second product is obtained by multiplying the maximum number of data frame transmissions and the historical smooth round-trip time. The maximum data volume frame time percentage is calculated based on the ratio between the second product and the preset period. When the time proportion of the maximum data volume frame is greater than the preset time proportion threshold, the dynamic update increment is calculated based on the initial maximum data volume frame and the preset update coefficient, wherein the preset update coefficient is greater than 1. The updated maximum data volume frame is obtained by summing the maximum data volume value in the current maximum data volume frame and the dynamic update increment.
[0070] In this invention, when the total amount of data received by the data receiver during the data transmission process reaches the maximum value specified by the MAXDATA frame, the data receiver generates a new MAXDATA frame to update the maximum cumulative amount of data that can be transmitted in the current connection.
[0071] First, the data receiver calculates the total amount of data received. If it reaches the value of the MAXDATA frame or a certain proportion, the value of the MAXDATA frame is updated. At this point, the previous MAXDATA frame plus the initial MAXDATA value is recorded as the current MAXDATA value.
[0072] Then, during subsequent data transmission, the data is continuously monitored and recorded at preset fixed intervals. P The number of times the MAXDATA frame is sent is set to [value]. This number of times it was sent. It reflects the frequency with which the data receiver is forced to update the window authorization because the sender reaches the window limit within a fixed time window. It is an important indicator for measuring the degree of matching between the current window size and network latency.
[0073] The data receiver will send the MAXDATA frame a preset number of times within the specified period. Smooth round trip time with history srtt Multiply them to get the second product ( N×srtt The second product represents the product within a preset period. P Within this, the total network round-trip time consumed by the MAXDATA frame update operation quantifies the time overhead of the window update mechanism.
[0074] The data receiver calculates the ratio between the second product and the preset period to obtain the MAXDATA frame time percentage. b The calculation formula is: The ratio b This reflects the proportion of network round-trip time consumed by MAXDATA frame updates within a unit period. b A high value indicates that the data sender frequently reaches the upper limit of the window specified by the current MAXDATA frame. After each reach, it needs to wait for about one round-trip delay to obtain a new transmission authorization, resulting in a large amount of idle waiting time and low bandwidth utilization.b A lower value indicates that the current window size is sufficient, the sender does not need to request updates frequently, and the network bandwidth is fully utilized.
[0075] The data receiving end will calculate the MAXDATA frame time percentage. b Compared with the preset time percentage threshold Compare. If determined... b Greater than This indicates that the current update frequency of the MAXDATA frame is too high, and the sender frequently reaches the upper limit of the window and waits for authorization, indicating a significant bandwidth idle problem. In this case, it is necessary to increase the increment of the MAXDATA frame to expand the sending window.
[0076] In this case, the data receiver uses the initial MAXDATA frame value. vInit and preset update coefficients d Calculate the dynamic update increment. Preset update coefficient. d For coefficients greater than 1, a coefficient greater than 1 is introduced. d When a high time percentage is detected, the incremental step size is increased, giving the sender a larger transmission authorization space and reducing the idle waiting time caused by waiting for MAXDATA frame updates.
[0077] The data receiver adds the current MAXDATA value to the dynamically updated increment to obtain the updated MAXDATA frame value. The update formula is as follows: Updated MAXDATA value = Current MAXDATA value + vInit × d .
[0078] The updated MAXDATA frame value dynamically adjusts the increment, achieving the technical effect of adaptively controlling the interaction frequency between the two data transmission parties based on real-time network conditions. The data receiving end sends the updated MAXDATA frame to the data sending end, which then updates its current maximum cumulative byte limit that can be sent, thus completing a closed-loop control of window authorization and update.
[0079] like b Not greater than the threshold Then maintain the basic increment. vInit Update the window or adopt other preset strategies to ensure robust window growth.
[0080] This invention, through the aforementioned MAXDATA dynamic update process, effectively overcomes the shortcomings of traditional fixed incremental strategies in long-latency networks, such as frequent waiting and bandwidth idleness. It significantly improves bandwidth utilization, reduces the constraint of latency on transmission performance, and the method is simple and efficient, achieving performance optimization without modifying the congestion control logic at the sending end.
[0081] Based on the above embodiments, the method further includes: When the time proportion of the maximum data volume frame is less than or equal to the preset time proportion threshold, the updated maximum data volume frame is obtained based on the sum of the current maximum data volume frame and the preset fixed increment, wherein the preset fixed increment is calculated based on the maximum data volume value in the initial maximum data volume frame.
[0082] In this invention, the data receiving end continuously monitors the time percentage of the MAXDATA frame. b and compare it with the preset time percentage threshold. Compare them. If the time percentage of the MAXDATA frame is determined... b Less than or equal to the preset time percentage threshold This indicates that the current update frequency of the MAXDATA frame is within a reasonable range, the data sender does not frequently reach the window limit, the network bandwidth utilization is good, and there is no need to urgently expand the window by increasing the incremental step size.
[0083] In this scenario, the data receiver employs a conservative and robust update strategy, calculating a preset fixed increment based on the initial MAXDATA frame value. Specifically, the preset fixed increment is the initial MAXDATA frame value itself, which is calculated individually based on historical network and device conditions during connection establishment, possessing a baseline step size that matches the current connection characteristics. This fixed increment ensures robust growth in low-time-period scenarios, thereby improving bandwidth utilization in long-latency networks while maintaining transmission stability and security.
[0084] The maximum data volume frame update system based on the QUIC protocol provided by the present invention is described below. The maximum data volume frame update system based on the QUIC protocol described below can be referred to in correspondence with the maximum data volume frame update method based on the QUIC protocol described above.
[0085] Figure 3 This is a schematic diagram of the maximum data volume frame update system based on the QUIC protocol provided by the present invention, as shown below. Figure 3 As shown, the present invention provides a maximum data volume frame update system based on the QUIC protocol, including a frame construction module 301, a frame update module 302, and a sending module 303. The frame construction module 301 is used to construct an initial maximum data volume frame based on historical connection record information between the frame construction module 301 and the data sending end. The frame update module 302 is used to obtain an updated maximum data volume frame according to the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame. The sending module 303 is used to send the updated maximum data volume frame to the data sending end.
[0086] The maximum data frame update system based on the QUIC protocol provided by this invention dynamically controls the MAXDATA frame update at the data receiving end. It constructs an initial window through historical connection records and adaptively adjusts the increment according to the time proportion of MAXDATA frames within a preset period. This enables control of the interaction frequency between the two parties based on the actual network status, improving bandwidth utilization and reducing the impact of long latency on network performance.
[0087] The system provided by this invention is used to execute the above-described method embodiments. For specific processes and details, please refer to the above embodiments, which will not be repeated here.
[0088] Figure 4 This is a schematic diagram of the structure of the electronic device provided by the present invention, such as... Figure 4 As shown, the electronic device may include: a processor 401, a communications interface 402, a memory 403, and a communication bus 404. The processor 401, communications interface 402, and memory 403 communicate with each other via the communication bus 404. The processor 401 can call logical instructions in the memory 403 to execute a maximum data volume frame update method based on the QUIC protocol. This method includes: constructing an initial maximum data volume frame based on historical connection record information with the data sending end; obtaining an updated maximum data volume frame according to the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame; and sending the updated maximum data volume frame to the data sending end.
[0089] Furthermore, the logical instructions in the aforementioned memory 403 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0090] On the other hand, the present invention also provides a computer program product, the computer program product including a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions, when the program instructions are executed by a computer, the computer is able to execute the maximum data volume frame update method based on the QUIC protocol provided by the above methods, the method including: constructing an initial maximum data volume frame based on historical connection record information between the data sending end; obtaining an updated maximum data volume frame according to the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame; and sending the updated maximum data volume frame to the data sending end.
[0091] In another aspect, the present invention also provides a non-transitory computer-readable storage medium storing a computer program thereon. When executed by a processor, the computer program implements the maximum data volume frame update method based on the QUIC protocol provided in the above embodiments. The method includes: constructing an initial maximum data volume frame based on historical connection record information between the data sender and the data sender; obtaining an updated maximum data volume frame according to the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame; and sending the updated maximum data volume frame to the data sender.
[0092] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0093] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0094] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention 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; and these 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 the present invention.
Claims
1. A method for updating the maximum data volume frame based on the QUIC protocol, characterized in that, include: Based on historical connection records with the data sender, construct the initial maximum data volume frame; Based on the time percentage of the maximum data volume frame within the preset period and the value of the initial maximum data volume frame, the updated maximum data volume frame is obtained. The updated maximum data size frame is sent to the data sending end.
2. The maximum data volume frame update method based on the QUIC protocol according to claim 1, characterized in that, The construction of the initial maximum data volume frame based on historical connection record information with the data sender includes: Based on the address information of the data sending end, obtain historical connection record information; Based on the historical connection record information, obtain the historical smooth round-trip time and historical average transmission rate corresponding to the data sending end during the historical connection. Obtain the current device status and the current remaining memory space size, wherein the current device status includes at least the size of the User Datagram Protocol (UDP) buffer; the UDP buffer size includes the size of the UDP receive buffer and the size of the UDP send buffer; The initial maximum data size frame is constructed based on the minimum value among the UDP buffer size, the current remaining memory space size, and the first product, wherein the first product is the product between the historical smooth round-trip time and the historical average transmission rate.
3. The maximum data volume frame update method based on the QUIC protocol according to claim 2, characterized in that, The method further includes: If it is determined that the UDP buffer size is less than the first product, the UDP buffer size is updated to the first product to obtain the updated UDP buffer size; The initial maximum data size frame is constructed based on the minimum value among the updated UDP buffer size, the current remaining memory space size, and the first product.
4. The maximum data volume frame update method based on the QUIC protocol according to claim 2, characterized in that, The step of obtaining the updated maximum data volume frame based on the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame includes: During data transmission at the data sending end, the maximum number of data frame transmissions within the preset period is obtained; The second product is obtained by multiplying the maximum number of data frame transmissions and the historical smooth round-trip time. The maximum data volume frame time percentage is calculated based on the ratio between the second product and the preset period. When the time proportion of the maximum data volume frame is greater than the preset time proportion threshold, the dynamic update increment is calculated based on the initial maximum data volume frame and the preset update coefficient, wherein the preset update coefficient is greater than 1. The updated maximum data volume frame is obtained by summing the maximum data volume value in the current maximum data volume frame and the dynamic update increment.
5. The maximum data volume frame update method based on the QUIC protocol according to claim 4, characterized in that, The method further includes: When the time proportion of the maximum data volume frame is less than or equal to the preset time proportion threshold, the updated maximum data volume frame is obtained based on the sum of the current maximum data volume frame and the preset fixed increment, wherein the preset fixed increment is calculated based on the maximum data volume value in the initial maximum data volume frame.
6. The maximum data volume frame update method based on the QUIC protocol according to claim 2, characterized in that, The method further includes: If it is determined that there is no historical connection record information between the data sender and the data sender, the initial maximum data volume frame is constructed based on the current remaining memory space size.
7. A maximum data volume frame update system based on the QUIC protocol, characterized in that, include: The frame construction module is used to construct the initial maximum data size frame based on historical connection record information between the data sender and the data sender. The frame update module is used to obtain the updated maximum data volume frame based on the maximum data volume frame time ratio within a preset period and the value of the initial maximum data volume frame. The sending module is used to send the updated maximum data volume frame to the data sending end.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the maximum data volume frame update method based on the QUIC protocol as described in any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the maximum data volume frame update method based on the QUIC protocol as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the maximum data volume frame update method based on the QUIC protocol as described in any one of claims 1 to 6.