Data flow priority scheduling method and system based on QUIC multipath transmission
The SP-PRT scheduling algorithm optimizes the selection of QUIC multiple transmission paths, which solves the transmission delay and out of order caused by unreasonable data flow scheduling in the QUIC protocol, and realizes efficient transmission of key data flows and improves path utilization.
Patent Information
- Application Number
- CN202510553644.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-29
- Publication Date
- 2025-07-18
AI Technical Summary
The data flow scheduling mechanism of the existing QUIC protocol is difficult to dynamically adjust the priority of flows according to file type, user needs and real-time factors, resulting in delays in key data streams, and there are problems with out-of-order and unbalanced path utilization in multi-path transmission, affecting the overall network performance.
Using the SP-PRT scheduling algorithm, by evaluating the real-time bandwidth, latency and packet loss rate of each path, the optimal network transmission path is selected for packets of different priority levels, and dynamically sorting through path classification, packet marking and scheduling queues, ensuring that high-priority streams are transmitted priority on low-latency high-bandwidth paths.
It realizes efficient transmission of key data streams, reduces transmission delay, improves path utilization, reduces out-of-order packets and head-of-line blocking, and improves user experience and overall network performance.
Smart Images

Figure CN120342962A_ABST
Abstract
Description
Technical Field
[0001] The present invention provides a data stream priority scheduling method and system based on QUIC multiplexing, which relates to the technical field of application layer data transmission. Background Art
[0002] With the rapid development of Internet applications, users have put forward higher requirements for the real-time performance, reliability, and efficiency of network transmission. Due to inherent limitations such as head-of-line blocking, difficult connection migration, and slow-start congestion control, the traditional TCP protocol is difficult to meet the requirements of modern applications for low latency, high throughput, and multi-path transmission. As a new UDP-based transport protocol, QUIC (Quick UDP Internet Connections) effectively alleviates the head-of-line blocking problem at the TCP layer while improving transmission efficiency and reliability through mechanisms such as stream-level multiplexing, 0-RTT handshake, forward error correction (FEC), and connection migration.
[0003] However, the data stream scheduling mechanism of the existing QUIC protocol is relatively simple and difficult to dynamically adjust the priority of the stream according to factors such as file type, user requirements, and real-time performance, resulting in possible transmission delays for key data streams due to unreasonable scheduling strategies. In addition, although QUIC uses multiplexing technology to avoid head-of-line blocking at the TCP level, due to the RTT differences of multiple paths, packets may be severely out-of-order during transmission, affecting in-stream reassembly at the receiving end, increasing buffer overhead, and even causing unnecessary retransmissions. In some application scenarios, due to data streams with dependencies, the problem of inter-stream blocking cannot be ignored, resulting in slow loading of key data and reduced user experience. In multi-path transmission scenarios, existing methods usually only rely on bandwidth or latency for path selection, without comprehensively considering factors such as packet loss rate and priority weight, resulting in unbalanced path utilization and affecting overall transmission performance. Therefore, there is an urgent need for a multiplexing method that can allocate data stream priorities according to user requirements, intelligently select transmission paths, and reduce packet out-of-order and head-of-line blocking to improve the performance of the QUIC protocol in practical applications. Summary of the Invention
[0004] To solve the above problems, the present invention provides a data stream priority scheduling method and system based on QUIC multiplexing, which can intelligently schedule according to the priority of the data stream in a multi-path transmission scenario, improve the transmission efficiency of key data streams, and optimize the path selection strategy to reduce packet out-of-order and head-of-line blocking, thereby enhancing the overall network performance and user experience.
[0005] Among them, the core of the QUIC multiplexing data stream priority scheduling method lies in the priority scheduling of data streams. The SP-PRT (Stream Priority-Packet Reach Time) scheduling algorithm is proposed. By evaluating the real-time bandwidth, latency, packet loss rate, and congestion situation of each path, the optimal network transmission path is selected for data packets with different priorities to improve the transmission efficiency of critical data streams. And the present invention proposes the priority scheduling of data streams. Through means such as path classification, packet marking, and dynamic sorting of scheduling queues, the priority transmission of critical streams on low-latency and high-bandwidth paths is achieved, and the SP-PRT algorithm is used to optimize path selection, which belongs to refined scheduling optimization. It is particularly suitable for applications sensitive to data stream priorities such as file transfer and video streaming.
[0006] To achieve the above object, the present invention adopts the following technical solutions: A data stream priority scheduling method and system based on QUIC multiplexing, including the following contents:
[0007] A data stream priority scheduling method based on QUIC multiplexing, including the following steps:
[0008] Step S1: Establish a QUIC connection between the client and the server. Among them, establishing a QUIC connection includes: creating two or more independent network transmission paths between the client and the server, and creating an independent data stream for each client's requested file and the server's requested file to achieve parallel transmission and independent scheduling of data streams; among them, the client and the server synchronize the stream ID, and initialize the congestion control parameters of each network transmission path, including the initial congestion window size, slow start threshold, etc., to ensure the stability and efficiency of the network transmission path;
[0009] Step S2: After the server receives the file transfer request from the client, according to factors such as the type of the file, real-time requirements, user-defined configuration, etc., assign an initial priority to each data stream and mark the scheduling weight of the data stream to support subsequent dynamic scheduling strategies;
[0010] Step S3: Mark the data packets of each data stream according to the priority of the stream to which they belong, and add them to a unified scheduling queue; among them, the scheduling queue is dynamically sorted based on the priority of the data stream, and scheduling discrimination is carried out according to the priority category of the stream (high priority / ordinary priority) to ensure that the data packets of high-priority streams enter the scheduling stage first;
[0011] Step S4: Use the SP-PRT (Stream Priority-Packet Reach Time) scheduling algorithm to select the optimal network transmission path for each data packet; the basis for selecting the network transmission path includes: evaluating according to the real-time bandwidth, latency, packet loss rate, and congestion situation of each network transmission path; the network transmission paths are divided into high, medium, and low priority categories, and the estimated arrival time of the data packet is calculated, and the network transmission path is scored according to the weight, and the path with a high score is preferentially selected for transmission to ensure that the critical data stream is preferentially transmitted on the low-latency and high-bandwidth path;
[0012] Step S5: According to the priority of the data packets in the scheduling queue, perform parallel data transmission through the selected optimal network transmission path; high-priority data packets are sent first, and the data packets of multiple data streams are interleaved and transmitted on different network transmission paths to improve the link utilization rate, reduce network congestion, and optimize the overall transmission performance.
[0013] Further, step S1 includes the following contents:
[0014] Step S11: Establish a connection between the server and the client through the QUIC protocol stack, and determine multiple available network transmission paths, where each network transmission path has independent bandwidth, latency, and reliability;
[0015] Step S12: The client initiates multiple file requests, where each requested file is assigned an independent data stream, and each data stream corresponds to the transmission of a file, ensuring that the network transmission path and data transmission of each stream are independent of other streams;
[0016] Step S13: Mark or classify each data stream according to the file size, transmission priority, etc. for subsequent priority scheduling;
[0017] Step S14: Assign a unique stream ID to each data stream, and synchronize the stream ID information between the server and the client to ensure the correct identification and transmission of the data stream;
[0018] Step S15: Initialize the congestion control parameters of each network path, including the initial congestion window size, slow start threshold, etc., to ensure the stability and efficiency of the network transmission path.
[0019] Further, step S2 includes the following contents:
[0020] Step S21: The server parses the type of each requested file (such as text file, video file, audio file, etc.) according to the information requested by the client, and judges its priority according to the file type;
[0021] Step S22: Adjust the initial priority of each data stream according to the user-defined configuration or policy to meet the user's transmission requirements;
[0022] Step S23: For critical streams with strict latency requirements, set the priority to the highest level to ensure low-latency transmission.
[0023] Furthermore, step S3 includes the following:
[0024] Step S31: Process the flow send queue, sort it according to the flow priority, and for flows with the same priority, maintain the original sending order, that is, the flow that arrives at the server first is sent to the client first;
[0025] Step S32: Classify the data streams into a high-priority queue and a normal-priority queue according to the priority category to distinguish the scheduling policies;
[0026] Step S33: In each priority category, mark the priority of the flow to which each data packet belongs and add it to the scheduling queue according to its weight to ensure that data packets with higher priority are transmitted first.
[0027] Furthermore, step S4 includes the following:
[0028] Step S41: Use the SP-PRT scheduling algorithm to select the network transmission path for each data packet in the scheduling queue, judge the priority category of the data packet, and make different selections for the network transmission path of the data packet according to different priority categories;
[0029] Step S42: For high-priority data packets, traverse all available network transmission paths, calculate their smoothed round-trip time (SRTT), and select the path with the minimum SRTT for transmission;
[0030] Step S43: For low-priority data packets, classify the network transmission paths according to the following rules:
[0031] Low-priority network transmission path: RTT is higher than the threshold, PTO count exceeds the limit, or packet loss rate is higher than the threshold;
[0032] Medium-priority network transmission path: RTT is between the high / low thresholds, bandwidth is lower than the threshold, or packet loss rate is moderate;
[0033] High-priority network transmission path: The remaining network transmission paths that do not belong to the low / medium-priority paths;
[0034] Step S44: After assigning categories to the network transmission paths, calculate the packet arrival time of the paths; obtain the dynamic congestion window size CWND of each network transmission path i , the number of bytes waiting to be sent on the network transmission path And the number of bytes that have been sent but not yet acknowledged in the network transmission path Calculate the number of bytes that can be immediately sent on the current path, that is, the unoccupied space within the congestion window The expression of
[0035]
[0036] Calculate the number of rounds r that the network transmission path needs to wait to send all the bytes wait , r wait The expression of
[0037]
[0038] Furthermore, obtain the time t that the network transmission path needs to wait to send all the bytes wait , t wait The expression of
[0039]
[0040] Where SRTT i Is the smoothed round-trip delay of path i;
[0041] Obtain the arrival time of each network transmission path The expression of
[0042]
[0043] Finally, score the network transmission paths:
[0044]
[0045] α + β = 1
[0046] Where BW i Is the network transmission path bandwidth, and α and β are weights;
[0047] Step S45: If the network transmission paths belong to the same category, then compare the path scores Score, and select the path with the highest score as the high-priority category, and the path with the lower score as the next-lower category.
[0048] Furthermore, step S5 also includes the following content:
[0049] Step S51: According to the priority order in the path queue, select the optimal network transmission path for data packet transmission, and high-priority data packets are transmitted first;
[0050] Step S52: The packets of multiple data streams are transmitted concurrently, and the selected network transmission path is used for interleaved transmission to improve network utilization.
[0051] According to a second aspect of the present invention, a data stream priority scheduling system based on QUIC multiplexing includes an electronic device, wherein the electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. It is characterized in that when the processor executes the computer program, it implements a data stream priority scheduling method based on QUIC multiplexing as described above.
[0052] According to a third aspect of the present invention, a data stream priority scheduling system based on QUIC multiplexing includes a computer-readable storage medium storing a computer program. It is characterized in that when the computer program is executed by a processor, it implements a data stream priority scheduling method based on QUIC multiplexing as described above.
[0053] The present invention has the following advantages:
[0054] 1) The present invention provides a data stream priority scheduling method for QUIC multiplexing. By introducing a data stream priority scheduling mechanism, the data stream can dynamically adjust its priority according to type, real-time requirements, and user-defined policies, ensuring that critical data streams can be transmitted preferentially and reducing the transmission delay of high-priority tasks. In addition, the present invention uses the SP-PRT scheduling algorithm to comprehensively consider factors such as bandwidth, RTT, and packet loss rate for path selection, improving path utilization, reducing interference from low-priority data to critical data streams, and avoiding the problem of uneven network resource allocation.
[0055] 2) The present invention focuses on the priority scheduling of data streams. Through means such as path classification, packet marking, and dynamic sorting of scheduling queues, it realizes the preferential transmission of critical streams on low-latency and high-bandwidth paths, and uses the SP-PRT algorithm to optimize path selection, which belongs to refined scheduling optimization. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Figure 1 It is a system working flow block diagram of the method of the present invention.
[0057] Figure 2 It is a flowchart of the SP-PRT scheduling algorithm of the present invention.
[0058] Figure 3 It is a bandwidth difference test result graph of an embodiment of the present invention.
[0059] Figure 4 It is a critical stream bandwidth difference test result graph of an embodiment of the present invention.
[0060] Figure 5 It is an RTT difference test result graph of an embodiment of the present invention.
[0061] Figure 6 It is a graph showing the test results of the RTT difference of the key flow in the embodiments of the present invention.
[0062] Figure 7 It is a graph showing the test results of the bandwidth and RTT difference in the embodiments of the present invention.
[0063] Figure 8 It is a graph showing the test results of the key flow bandwidth and RTT difference in the embodiments of the present invention. Detailed implementation manners
[0064] Next, the technical solution of the present invention will be specifically described in conjunction with the accompanying drawings.
[0065] It should be noted that the following detailed descriptions are all illustrative and are intended to provide further descriptions of the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those of ordinary skill in the technical field to which the present application belongs.
[0066] It should be noted that the terms used herein are only for describing specific implementation manners and are not intended to limit the exemplary implementation manners according to the present application; as used herein, unless the context clearly indicates otherwise, the singular forms are also intended to include the plural forms. In addition, it should be understood that when the terms "include" and / or "comprise" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0067] The present invention provides a data stream priority scheduling method and system based on QUIC multiplexing, including the following steps:
[0068] A data stream priority scheduling method based on QUIC multiplexing includes the following steps:
[0069] Step S1: Establish a QUIC connection between the client and the server. Among them, establishing a QUIC connection includes: creating two or more independent network transmission paths between the client and the server, and creating an independent data stream for each requested file of the client and the server to achieve parallel transmission and independent scheduling of data streams; among them, the client and the server synchronize the stream ID and initialize the congestion control parameters of each network transmission path, including the initial congestion window size, slow start threshold, etc., to ensure the stability and efficiency of the network transmission path;
[0070] Step S2: After the server receives the file transmission request from the client, according to factors such as the type of the file, real-time requirements, user-defined configuration, etc., assign an initial priority to each data stream and mark the scheduling weight of the data stream to support subsequent dynamic scheduling strategies;
[0071] Step S3: Mark the data packets of each data stream according to the priority of the stream to which they belong, and add them to a unified scheduling queue; among them, the scheduling queue is dynamically sorted based on the priority of the data stream, and scheduling differentiation is performed according to the priority category of the stream (high priority / normal priority) to ensure that the data packets of high-priority streams enter the scheduling stage first;
[0072] Step S4: Adopt the SP-PRT (Stream Priority-Packet Reach Time) scheduling algorithm to select the optimal network transmission path for each data packet; among them, the basis for the selection of the network transmission path includes: evaluating according to the real-time bandwidth, delay, packet loss rate and congestion situation of each network transmission path; among them, the network transmission path is divided into high, medium and low priority categories, and the estimated arrival time of the data packet is calculated, and the network transmission path is scored according to the weight, and the path with a high score is preferentially selected for transmission to ensure that critical data streams are preferentially transmitted on low-latency and high-bandwidth paths;
[0073] Step S5: Perform parallel data transmission through the selected optimal network transmission path according to the data packet priority in the scheduling queue; high-priority data packets are sent first, and the data packets of multiple data streams are interleaved and transmitted on different network transmission paths to improve link utilization, reduce network congestion and optimize the overall transmission performance.
[0074] Further, step S1 includes the following contents:
[0075] Step S11: Establish a connection between the server and the client through the QUIC protocol stack, and determine multiple available network transmission paths, where each network transmission path has independent bandwidth, delay and reliability;
[0076] Step S12: The client initiates multiple file requests, where each requested file is assigned an independent data stream, and each data stream corresponds to the transmission of a file, ensuring that the network transmission path and data transmission of each stream are independent of other streams;
[0077] Step S13: Mark or classify each data stream according to the file size, transmission priority, etc. for subsequent priority scheduling;
[0078] Step S14: Assign a unique stream ID to each data stream, and synchronize the stream ID information between the server and the client to ensure the correct identification and transmission of the data stream;
[0079] Step S15: Initialize the congestion control parameters of each network path, including the initial congestion window size, slow start threshold, etc., to ensure the stability and efficiency of the network transmission path.
[0080] Further, step S2 includes the following contents:
[0081] Step S21: The server parses the type of each requested file (such as text file, video file, audio file, etc.) according to the information requested by the client, and determines its priority based on the file type;
[0082] Step S22: Adjust the initial priority of each data stream according to the user-defined configuration or policy to meet the user's transmission requirements;
[0083] Step S23: For critical streams with strict latency requirements, set the priority to the highest level to ensure low-latency transmission.
[0084] Furthermore, step S3 includes the following:
[0085] Step S31: Process the stream sending queue, sort it according to the priority of the stream, and for streams with the same priority, maintain the original sending order, that is, the stream that arrives at the server first is sent to the client first;
[0086] Step S32: Classify the data streams into a high-priority queue and a normal-priority queue according to the priority category to distinguish the scheduling policies;
[0087] Step S33: In each priority category, mark the priority of the stream to which each data packet belongs, and add it to the scheduling queue according to its weight to ensure that data packets with higher priority are transmitted first.
[0088] Furthermore, step S4 includes the following:
[0089] Step S41: Use the SP-PRT scheduling algorithm to select the network transmission path for each data packet in the scheduling queue, judge the priority category of the data packet, and make different selections for the network transmission path of the data packet according to different priority categories;
[0090] Step S42: For high-priority data packets, traverse all available network transmission paths, calculate its smoothed round-trip time SRTT, and select the path with the smallest SRTT for transmission;
[0091] Step S43: For low-priority data packets, classify the network transmission paths according to the following rules:
[0092] Low-priority network transmission path: RTT is higher than the threshold, PTO count exceeds the limit, or packet loss rate is higher than the threshold;
[0093] Medium-priority network transmission path: RTT is between the high / low thresholds, bandwidth is lower than the threshold, or packet loss rate is moderate;
[0094] High-priority network transmission path: The remaining network transmission paths that do not belong to the low / medium-priority paths;
[0095] Step S44: After allocating categories to network transmission paths, calculate the packet arrival time of the paths. Obtain the dynamic congestion window size CWND of each network transmission path i , the number of bytes waiting to be sent on the network transmission path and the number of bytes that have been sent but not yet acknowledged on the network transmission path Calculate the number of bytes that can be immediately sent on the current path, i.e., the unoccupied space within the congestion window The expression is as follows:
[0096]
[0097] Calculate the number of rounds r that the network transmission path needs to wait to send all the bytes wait , r wait The expression is as follows:
[0098]
[0099] Furthermore, obtain the time t that the network transmission path needs to wait to send all the bytes wait , t wait The expression is as follows:
[0100]
[0101] where SRTT i is the smoothed round-trip time of path i;
[0102] Further, obtain the arrival time of each network transmission path
[0103]
[0104] Finally, score the network transmission paths:
[0105]
[0106] α + β = 1
[0107] where BW i is the network transmission path bandwidth, and α and β are weights;
[0108] Step S45: If the network transmission paths belong to the same category, then compare the path scores Score, and select the path with the highest score as the high-priority category and the path with the lower score as the next-lower category.
[0109] Furthermore, step S5 also includes the following content:
[0110] Step S51: Select the optimal network transmission path according to the priority order in the path queue for data packet transmission, and give priority to high-priority data packets for transmission.
[0111] Step S52: Transmit packets of multiple data streams concurrently, and use the selected network transmission path for interleaved transmission to improve network utilization.
[0112] In summary, according to the second aspect of the present invention, a data stream priority scheduling system based on QUIC multiplexing includes an electronic device, where the electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. The characteristic is that when the processor executes the computer program, it implements a data stream priority scheduling method based on QUIC multiplexing as described above.
[0113] According to the third aspect of the present invention, a data stream priority scheduling system based on QUIC multiplexing includes a computer-readable storage medium storing a computer program. The characteristic is that when the computer program is executed by a processor, it implements a data stream priority scheduling method based on QUIC multiplexing as described above.
[0114] The test process of the embodiment of the present invention is as follows:
[0115] 1. Bandwidth difference test
[0116] The bandwidth and RTT of network transmission path 1 and network transmission path 2 both start at 100 Kbps and 20 ms. By adjusting the bandwidth of path 2 from 100 Kbps to 1100 Kbps, six tests are completed to increase the bandwidth difference between the two paths.
[0117] 2. RTT difference test
[0118] The bandwidth and RTT of network transmission path 1 and network transmission path 2 both start at 1 Mbps and 1 ms. By adjusting the RTT value of network transmission path 1 from 1 to 500 ms, six tests are completed to increase the latency difference between the two network transmission paths.
[0119] 3. Bandwidth and RTT difference test
[0120] The bandwidth and RTT of network transmission path 1 and path 2 both start at 100 Kbps and 500 ms. By synchronously increasing the bandwidth of path 2 and decreasing the RTT value of path 2, the latency difference between the two paths is increased.
[0121] The experiment simulates web traffic downloads by requesting multiple files to simulate web traffic. The file sizes are as follows:
[0122] 1MB, 0.25MB, 0.251MB, 1MB, 2MB, 0.36MB, 2.15MB, 6MB, 1.23MB, 0.68MB, 1.25MB, 0.78MB. Among them, requests less than 1MB are set to high priority, analogous to HTML and CSS files in a web page, with high priority weights.
[0123] Figure 3-8 Demonstrate the effects of multi-network transmission path transmission and data flow priority scheduling strategies under test network conditions, and verify the advantages of this scheduling method for the completion time of key flows and the total completion time of transmitted files. Among them, Figure 3-4 are the results of bandwidth difference tests; Figure 5-6 are the results of RTT difference tests; Figure 7-8 Results of bandwidth and RTT difference tests.
[0124] The above are only the preferred embodiments of the present invention. All equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope covered by the present invention.
Claims
1. A data stream priority scheduling method based on QUIC multiplexing, characterized in that, It includes the following steps: Step S1: Establish a QUIC connection between the client and the server. Establishing the QUIC connection includes: creating two or more independent network transmission paths between the client and the server, and creating an independent data stream for each requested file of the client and the server; wherein, the client and the server synchronize the stream ID, and initialize the congestion control parameters of each network path, including the initial congestion window size and the slow start threshold; Step S2: The server receives the file transfer request from the client, and assigns an initial priority to each data stream according to the type of the file, the real-time requirement, and the user-defined configuration, and marks the scheduling weight of the data stream; Step S3: Mark the data packets of each data stream according to the priority of the stream to which they belong, and add them to a unified scheduling queue; wherein, the scheduling queue is dynamically sorted based on the priority of the data stream, and scheduling discrimination is performed according to the priority category of the stream; Step S4: Adopt the SP-PRT scheduling algorithm to select the optimal network transmission path for each data packet; wherein the selection basis of the network transmission path includes: evaluating according to the real-time bandwidth, delay, packet loss rate and congestion situation of each network transmission path; wherein the network transmission path is divided into high, medium and low priority categories, and the estimated arrival time of the data packet is calculated, and the network transmission path is scored according to the weight, and the path with a high score is preferentially selected for transmission; Step S5: Perform parallel data transmission through the selected optimal path according to the priority of the data packets in the scheduling queue; wherein the high-priority data packets are sent first, and the data packets of multiple data streams are interleaved and transmitted on different network transmission paths.
2. The data stream priority scheduling method based on QUIC multiplexing according to claim 1, characterized in that, Step S1 includes the following content: Step S11: Establish a connection between the server and the client through the QUIC protocol stack, and determine multiple available network transmission paths, wherein each network transmission path has independent bandwidth, delay and reliability; Step S12: The client initiates a file request. Among them, each requested file is assigned an independent data stream, and each data stream corresponds to the transmission of a file. Among them, the network transmission path and data transmission of each stream are independent of other streams.
3. The data stream priority scheduling method based on QUIC multiplexing according to claim 2, wherein, Step S1 also includes the following content: Step S13: Mark and classify each data stream according to the file size and transmission priority; Step S14: Assign a unique stream ID to each data stream, and synchronize the stream ID information between the server and the client; Step S15: Initialize the congestion control parameters of each network path, including the initial congestion window size and the slow start threshold.
4. A data stream priority scheduling method based on QUIC multiplexing according to claim 1, characterized in that, Step S2 includes the following content: Step S21: The server parses the type of each requested file according to the information requested by the client, and judges its priority according to the file type; Step S22: Adjust the initial priority of each data stream according to the user-defined configuration or policy to meet the user's transmission requirements; Step S23: For the critical stream with strict delay requirements, the priority is set to the highest level, and the critical stream with strict delay requirements is transmitted with low delay.
5. A data stream priority scheduling method based on QUIC multiplexing according to claim 1, characterized in that, Step S3 includes the following content: Step S31: Process the flow sending queue, sort it according to the priority of the flow. For flows with the same priority, maintain their original sending order, that is, the flow that arrives at the server first is sent to the client first. Step S32: Classify the data flows into a high-priority queue and a normal-priority queue according to the priority category to distinguish the scheduling policies. Step S33: In each priority category, mark the priority of the flow to which each data packet belongs and add it to the scheduling queue according to its weight.
6. A data stream priority scheduling method based on QUIC multiplexing according to claim 1, characterized in that Step S4 includes the following: Step S41: Use the SP-PRT scheduling algorithm to select the network transmission path for each data packet in the scheduling queue, judge the priority category of the data packet, and make different selections for the network transmission path of the data packet according to different priority categories. Step S42: For high-priority data packets, traverse all available network transmission paths, calculate their smoothed round-trip time (SRTT), and select the path with the smallest SRTT for transmission. Step S43: For low-priority data packets, classify the network transmission paths according to the following rules: Low-priority network transmission path: RTT is higher than the threshold, PTO count exceeds the limit, or packet loss rate is higher than the threshold. Medium-priority network transmission path: RTT is between the high / low thresholds, bandwidth is lower than the threshold, or packet loss rate is moderate. High-priority network transmission path: The remaining network transmission paths that do not belong to the low / medium-priority paths.
7. A data stream priority scheduling method based on QUIC multiplexing according to claim 6, characterized in that Step S4 also includes the following: Step S44: After allocating categories to the network transmission paths, calculate the packet arrival time of the paths; obtain the dynamic congestion window size CWND of each network transmission path i , the number of bytes waiting to be sent on the network transmission path and the number of bytes that have been sent but not yet acknowledged in the network transmission path Calculate the number of bytes that can be immediately sent on the current path, that is, the unoccupied space within the congestion window The expression is as follows: Calculate the number of rounds r that need to be waited for all bytes to be sent along the network transmission path wait , r wait The expression for Further, obtain the time t that needs to be waited for all the bytes to be sent through the network transmission path wait , t wait The expression of which is as follows: where SRTT i is the smoothed round-trip time of path i; Further, obtain the arrival time of each network transmission path The expression is as follows: Finally, score the network transmission paths: α+β=1 where BW i is the network transmission path bandwidth, Score is the path score, and α, β are weights; Step S45: If the network transmission paths belong to the same category, compare the path scores Score, select the path with the highest score as the high-priority category, and the path with the lower score as the next lower category.
8. A data stream priority scheduling method based on QUIC multiplexing according to claim 1, characterized in that Step S5 includes the following: Step S51: Select the optimal network transmission path for data packet transmission according to the priority order in the path queue, and high-priority data packets are transmitted first. Step S52: Transmit the packets of multiple data flows concurrently, and use the selected network transmission path for interleaved transmission to improve network utilization.
9. A data stream priority scheduling system based on QUIC multiplexing, including an electronic device, wherein, The electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. The processor, when executing the computer program, implements a data flow priority scheduling method based on QUIC multiplexing as described in any one of claims 1 to 8.
10. A data stream priority scheduling system based on QUIC multiplexing, comprising a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, characterized in that, When the computer program is executed by the processor, it implements a data flow priority scheduling method based on QUIC multiplexing as described in any one of claims 1 to 8.
Citation Information
Cited By
Industrial identification flow intelligent scheduling method and system
CN120768842A