Non-timeout traffic scheduling method and system for data center network
By allocating queues based on the packet priority field and performing timeout risk detection in the data center network, the problem of timeout retransmission in multi-priority scheduling is solved, and orderly packet transmission and network performance are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-18
- Publication Date
- 2026-04-14
AI Technical Summary
In data center networks, existing technologies struggle to set reasonable timeout retransmission thresholds in multi-priority traffic scheduling scenarios, leading to significant queuing delays or unnecessary timeout retransmissions for low-priority data packets, which impacts network performance and flow completion time.
The data packets are assigned to the corresponding priority queues by using the priority field carried by the data packets. At preset intervals, the low priority queues are checked for timeout risks. When a risk is detected, the data packets in the high priority queues are transferred to the risk priority queue for orderly forwarding to avoid unnecessary retransmissions.
It effectively eliminates unnecessary retransmissions under a small RTO configuration, ensures that data packets arrive at the receiver in an orderly manner, improves network throughput efficiency and flow completion performance, and minimizes flow completion time.
Smart Images

Figure CN121864689A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of computer networks, and in particular relates to a traffic scheduling method and system for data center networks without timeout. Background Technology
[0002] A growing number of emerging applications, such as cloud computing microservice architectures and latency-sensitive data analytics, are being deployed in data center networks (DCNs). These applications typically generate mixed flows (i.e., short and long flows) and have extremely high latency requirements. This is because even small delays can negatively impact application performance and degrade user experience. Traffic scheduling is an effective solution for achieving low-latency transmission. Related technologies often employ a retransmission timeout (RTO) mechanism for traffic scheduling: if a data packet does not receive an acknowledgment within a specified time, it is retransmitted. These unacknowledged data packets are presumed to have been lost due to network congestion or hardware failure. However, setting a reasonable timeout retransmission threshold is extremely challenging in scenarios based on multi-priority traffic scheduling. This is mainly because: if the threshold is too small, it can easily trigger unnecessary rapid retransmissions of low-priority data packets; if the threshold is too large, it may cause low-priority data packets to be blocked for extended periods, severely degrading application performance and user experience. Therefore, minimizing flow completion time has become a pressing technical problem to be solved. Summary of the Invention
[0003] The purpose of this invention is to design a traffic scheduling method and system for data center networks with no timeout, which can minimize the flow completion time.
[0004] To achieve the above objectives, a first aspect of the present invention provides a timeout-free traffic scheduling method for data center networks, the method comprising: Receive data packets and determine whether the data packets carry a priority field; If the determination result is yes, then the data packet is allocated to the corresponding priority queue according to the priority field; wherein, the priority queue includes a high priority queue and multiple low priority queues; The data packets in the low-priority queue are subjected to timeout risk detection at preset intervals; wherein, the time at which the timeout risk is detected is defined as the risk time, and the low-priority queue in which the timeout risk is detected is defined as the risk priority queue. If any of the data packets is detected to have the timeout risk, the high-priority queue is moved to the risk priority queue, and the data packets allocated before the risk time are forwarded sequentially, and then the preset strict priority forwarding strategy is executed; otherwise, the strict priority forwarding strategy is executed.
[0005] Furthermore, after receiving the data packet and determining whether the data packet carries a priority field, the method further includes: If the determination result is negative, the corresponding data packet is defined as the target data packet; wherein, the stream corresponding to the target data packet is the target stream; The target data packet is assigned to the high-priority queue, and newly arriving data packets of the target stream are also assigned to the high-priority queue until the cumulative number of bytes transmitted by the target stream reaches a preset threshold, at which point the priority of the target stream is reduced.
[0006] Furthermore, the preset threshold includes a first-level threshold, a second-level threshold, and a third-level threshold. The step of reducing the priority of the target stream until the cumulative number of bytes transmitted by the target stream reaches the preset threshold includes: If the cumulative number of bytes transmitted by the target stream reaches the first-level threshold, the priority of the target stream is reduced by one level, and newly arrived data packets of the target stream are allocated to the next-level priority queue. If the cumulative number of bytes transmitted by the target stream reaches the second-level threshold, the priority of the target stream is reduced by one level, and newly arriving data packets of the target stream are allocated to the next-level priority queue. If the cumulative number of bytes transmitted by the target stream reaches the three-level threshold, the priority of the target stream is defined as the lowest priority, and newly arriving data packets of the target stream are assigned to the lowest priority queue.
[0007] Furthermore, the low-priority queue includes the second-highest priority queue to the lowest priority queue, arranged from highest to lowest priority. The step of performing timeout risk detection on the data packets in the low-priority queue at preset intervals includes: Timeout risk detection is performed on data packets from the head of the lowest priority queue to the head of the second highest priority queue at preset intervals until any data packet is detected to have a timeout risk, at which point the detection stops.
[0008] Furthermore, the step of performing timeout risk detection on the data packets in the low-priority queue at preset intervals includes: Obtain the estimated departure time of the data packet; If the expected departure time is greater than the preset timeout risk threshold, then the data packet has the timeout risk.
[0009] Further, obtaining the estimated departure time of the data packet includes: Obtain the waiting time for the data packet to be forwarded in the low-priority queue; wherein the data packet carries the sending time; Subtract the sending time from the current time to obtain the flight time of the data packet; The estimated departure time is obtained by adding the flight time to the waiting time for rerouting.
[0010] Furthermore, before obtaining the estimated departure time of the data packet, the method further includes: Setting the timeout risk threshold specifically includes: Get the number of switches; The timeout risk threshold is calculated based on the number of switches, the number of priority queues, a preset adjustment coefficient, and a preset timeout retransmission threshold.
[0011] A second aspect of the present invention provides a timeout-free traffic scheduling system for data center networks, the system comprising: A receiving unit is used to receive data packets and determine whether the data packets carry a priority field; If the determination result is yes, the determination unit allocates the data packet to the corresponding priority queue according to the priority field; wherein, the priority queue includes a high-priority queue and multiple low-priority queues; The detection unit is used to perform timeout risk detection on the data packets in the low-priority queue at preset time intervals; wherein, the time at which the timeout risk is detected is defined as the risk time, and the low-priority queue in which the timeout risk is detected is defined as the risk priority queue. The execution unit is configured to, if any of the data packets is detected to have the timeout risk, move the high-priority queue to the risk priority queue, forward the data packets allocated before the risk time in sequence, and then execute the preset strict priority forwarding strategy; otherwise, execute the strict priority forwarding strategy.
[0012] In a third aspect of the invention, an electronic device is provided, the electronic device including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the method described in the first aspect above.
[0013] In a fourth aspect of the invention, a computer-readable storage medium is provided, the computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in the first aspect.
[0014] The beneficial technical effects of the present invention are at least as follows: To address the aforementioned issues, this invention provides a timeout-free traffic scheduling method and system for data center networks. Its core lies in allocating data packets to corresponding priority queues based on priority fields carried in the packets. Timeout risk detection is periodically performed on packets in low-priority queues. Once a timeout risk is detected, a timeout-free ordered transmission mechanism is immediately initiated. This involves pausing new packet processing and strictly forwarding all high-priority packets to the existing packets in the risk-prone priority queue according to priority order. Normal scheduling then resumes. This effectively eliminates unnecessary retransmissions under a small RTO configuration, while completely avoiding out-of-order packet transmission. It significantly improves network throughput and flow completion performance while ensuring orderly transmission. Dynamic priority adjustment prevents long flows from occupying high-priority queues and avoids blocking urgent flows. Precise timeout risk detection and on-demand stopping of forwarding prevent unnecessary timeout retransmissions, ensuring packets arrive at the receiver in order. Ultimately, it minimizes flow completion time, reduces deadline miss rates, and significantly improves the transmission performance and link utilization of high-speed data center networks. Attached Figure Description
[0015] The present invention will be further described with reference to the accompanying drawings, but the embodiments in the drawings do not constitute any limitation on the present invention. For those skilled in the art, other drawings can be obtained based on the following drawings without creative effort.
[0016] Figure 1 a is a diagram illustrating congestion caused by excessively high timeout retransmission threshold settings in related technologies; Figure 1 b is a diagram illustrating congestion caused by setting the timeout retransmission threshold too low in related technologies; Figure 2 This is a flowchart of a traffic scheduling method for data center networks without timeout, provided in an embodiment of this application.
[0017] Figure 3 This is an example diagram of the out-of-order traffic scheduling mechanism provided in the embodiments of this application.
[0018] Figure 4 This is a schematic diagram of a traffic scheduling system for data center networks with no timeout provided in an embodiment of this application. Detailed Implementation
[0019] Embodiments of the present invention are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.
[0020] Please refer to Figure 1 , Figure 1 'a' is a diagram illustrating congestion caused by an excessively high timeout retransmission threshold in related technologies. Figure 1 Figure b illustrates congestion caused by an excessively low timeout retransmission threshold in related technologies. In data center network traffic scheduling, switches typically use multi-priority queues to store and forward mixed flows, thus preventing non-urgent flows from blocking urgent flows. Furthermore, to achieve reliable data transmission, the sender can use a timeout retransmission threshold to determine if a data packet has been lost. However, setting an appropriate timeout retransmission threshold is extremely challenging in highly dynamic data center networks. The core reason is that if the threshold is too high, it can easily lead to significant queuing delays for data packets in low-priority queues; if the threshold is too low, it may trigger unnecessary timeout retransmissions. The shortcomings of existing solutions will be explained below. Please refer to... Figure 1 , Figure 1 'a' is a diagram illustrating congestion caused by an excessively high timeout retransmission threshold in related technologies. Figure 1 b is a diagram illustrating congestion caused by an excessively low timeout retransmission threshold in related technologies. Figure 1 In configuration a, the switch's output ports have three priority queues, with priority queues listed from highest to lowest as follows: priority queues... Priority queue and priority queue The timeout retransmission threshold (RTO) was set too high, and the highest priority queue... Continue to hold and forward Streaming data packets, low-priority queue , middle flow and harmony Data packets in the stream cannot get a forwarding opportunity, causing these packets to be blocked in the queue for a long time, inevitably resulting in significant queuing delays. Figure 1 In b, when the timeout retransmission threshold (RTO) is set small, the low-priority queue... , middle flow and harmony The data packets in the stream will be blocked for a long time, causing flow and harmony The stream misjudges that its own data packets have been lost, thus triggering a timeout retransmission. The result is that... flow and harmony Not only does excessive streaming reduce the transmission rate, but retransmitted redundant data packets also increase queuing latency, ultimately leading to a decline in network performance. While a larger timeout retransmission threshold can effectively mitigate unnecessary timeout retransmissions, it can easily cause significant queuing latency for data packets entering the low-priority queue, making it unsuitable for high-speed data center networks. Conversely, a smaller timeout retransmission threshold can easily trigger unnecessary timeout retransmissions of low-priority streams, thereby reducing transmission efficiency. Therefore, neither of these two methods can minimize stream completion time.
[0021] Based on this, this application provides a timeout-free traffic scheduling method and system for data center networks. It allocates data packets to corresponding priority queues according to a priority field and performs timeout risk detection on data packets in the low-priority queue at preset intervals. When any data packet is detected to have a timeout risk, it is moved from the high-priority queue to the risk-priority queue. Data packets allocated before the risk time are forwarded sequentially, and a preset strict priority forwarding strategy is executed. Otherwise, the strict priority forwarding strategy is executed. This minimizes the flow completion time.
[0022] Please refer to Figure 2 , Figure 2 This is a flowchart illustrating a timeout-free traffic scheduling method for data center networks, as provided in an embodiment of this application. Figure 2 The method may include, but is not limited to, steps S201 to S204.
[0023] Step S201: Receive data packets and determine whether the data packets carry a priority field; Step S202: If the judgment result is yes, then the data packet is allocated to the corresponding priority queue according to the priority field; wherein, the priority queue includes a high priority queue and multiple low priority queues; Step S203: Timeout risk detection is performed on data packets in the low-priority queue at preset intervals; wherein, the time at which timeout risk is detected is defined as the risk time, and the low-priority queue in which timeout risk is detected is defined as the risk priority queue. Step S204: If any data packet is detected to have a timeout risk, the high-priority queue is moved to the risk priority queue, and the data packets allocated before the risk time are forwarded in sequence, and then the preset strict priority forwarding strategy is executed; otherwise, the strict priority forwarding strategy is executed.
[0024] In steps S201 to S202 of some embodiments, the mixed flow consists of long and short flows of known and unknown sizes, each containing multiple data packets. If the length of the transmitted traffic is known, the sending end determines the traffic priority based on a preset threshold, inserts the corresponding priority field into the data packet header, and sends the data packet to the switch. After receiving the data packet, the switch determines whether the data packet carries a priority field and allocates the data packet to the corresponding priority queue according to the priority field. For example, if there are a total of five priority queues, there will be one high-priority queue and four low-priority queues. The priorities from high to low are priority queue 1, priority queue 2, priority queue 3, priority queue 4, and priority queue 5. If the priority field is 2, the corresponding data packet is allocated to priority queue 2.
[0025] In one embodiment, for flows of unknown size, the switch employs a dynamic priority strategy for packet forwarding. Specifically, packets without a priority field are defined as target packets, and the flow corresponding to the target packets is the target flow. Target packets are assigned to a high-priority queue, and newly arriving packets from the target flow are also assigned to the high-priority queue. This ensures that short flows can be forwarded quickly.
[0026] As the number of bytes transmitted by the sender in the target stream increases, until the cumulative number of bytes transmitted in the target stream reaches a preset threshold, it is considered a long stream, and its priority needs to be reduced. This mechanism is used to prevent long streams from occupying high-priority queues for extended periods, thereby increasing the completion time of other streams.
[0027] Specifically, the switch progressively lowers the priority of the target flow based on a preset three-tiered threshold. When the cumulative number of bytes transmitted by the target flow reaches the first-tier threshold (10KB), the switch maps newly arriving data packets from the target flow to the next-tier priority queue, effectively lowering the target flow's priority by one tier and allocating newly arriving data packets to that queue. Similarly, if the cumulative number of bytes transmitted by the target flow reaches the second-tier threshold (100KB), the switch lowers the priority of newly arriving data packets by another tier. Finally, if the cumulative number of bytes transmitted by the target flow exceeds the third-tier threshold (1MB), the switch places newly arriving data packets from the target flow into the lowest-priority queue until data transmission is complete.
[0028] In step S203 of some embodiments, for each switch, the risk of timeout retransmission of data packets in the low-priority queue is periodically checked. To quickly detect timeout retransmission events while minimizing the system overhead of computation and storage caused by timeout risk detection, a preset time is defined as a round-trip time (RTT). The round-trip time (RTT) is the total delay experienced by a data packet from the sender to the receiver and back to the acknowledgment signal; it is a core metric for measuring network latency and congestion.
[0029] A switch performs a timeout risk detection operation every round-trip time (RTT). However, each outgoing port of a switch typically contains multiple low-priority queues, and each queue may store multiple packets from multiple flows. How to efficiently detect potential timeout retransmission events becomes a critical issue.
[0030] One approach is to iterate through each packet in the low-priority queue, checking for timeout risks and retransmitting those packets if they time out. This approach is clearly inefficient, especially when the low-priority queue contains a large number of packets. Considering that the packet at the head of the queue is the earliest to enter the queue and therefore waits the longest, it is most likely to time out and be retransmitted. Therefore, we can only check the packet at the head of the low-priority queue to determine if it has a timeout risk.
[0031] Furthermore, the low-priority queues are arranged from highest to lowest priority, including the second-highest priority queue and the lowest priority queue. For the head packets of low-priority queues, the switch can employ two detection sequences: the first is from the second-highest priority queue to the lowest priority queue, and the second is from the lowest priority queue to the second-highest priority queue. The first detection sequence requires sequentially detecting the head packets of all low-priority queues from top to bottom according to priority, prioritizing packets that may time out and require retransmission. The second detection sequence, during bottom-up detection, stops detection as soon as a packet that may time out and require retransmission is detected, thus shortening the search time and improving detection efficiency. Therefore, timeout risk detection is performed on the head packets of the lowest priority queue to the second-highest priority queue at preset intervals until any packet is detected as having a timeout risk, at which point detection stops.
[0032] In one example, there are five priority queues, ranked from highest to lowest priority as priority queue 1, priority queue 2, priority queue 3, priority queue 4, and priority queue 5. Except for the highest priority queue 1, the other four priority queues need to periodically check the packets at the head of their queues, in the order of priority queue 5, priority queue 4, priority queue 3, and priority queue 2. It should be noted that if the check proceeds from the second highest priority queue to the lowest priority queue, assuming packets in priority queue 2 and priority queue 4 have a timeout risk, then when a timeout risk is detected in a packet in priority queue 2, packets allocated in priority queues 1 through 2 before the risk time are forwarded sequentially from highest to lowest priority, while newly added packets are paused. This ensures that timeouts are not triggered and retransmissions are not performed. After forwarding is complete, a strict priority forwarding policy is executed. If a timeout risk is detected in a packet in priority queue 4 after a preset time, packets in priority queues 1 through 4 are forwarded in the same order as described above. If reverse order detection is used, once a data packet in priority queue 4 is detected to have a timeout risk, data packets allocated before the risk time in priority queue 1 can be directly forwarded to priority queue 4 in descending order of priority. There is no need to further check for timeout risks in priority queues 3 and 2, thus improving detection efficiency. The time at which a timeout risk is detected is defined as the risk time, and the low-priority queue where the timeout risk is detected is defined as the risk-priority queue.
[0033] In one embodiment, the estimated departure time of the data packet is obtained. If the estimated departure time is greater than a preset timeout risk threshold, it indicates that the data packet has a timeout risk. Specifically, the waiting time for the data packet to be forwarded in the low-priority queue is obtained. The data packet carries the transmission time. The flight time of the data packet is obtained by subtracting the transmission time from the current time. The flight time is then added to the waiting time for forwarding to obtain the estimated departure time.
[0034] Specifically, assuming there are a total of Each switch has an output port equipped with [number] switches. A priority queue, used Indicates the first Priority queues ( The number of packets in the priority queue. Furthermore, switches typically employ a strict priority forwarding policy for packets in the priority queue. For packets with a priority of [priority value] on the switch... The first data packet in the queue (denoted as If we disregard the forwarding time of newly arrived data packets, the waiting time for them to be forwarded in the queue is... for .in, The forwarding time for a single data packet is the same for all packets. With five priority queues, the waiting time for the packet at the head of the fourth priority queue is the time required for all packets in the first three priority queues to be forwarded. The switch uses the current time... Subtract the transmission time carried in the packet header Calculate the data packet Flight time Flight time With waiting time for forwarding Add them together to get the data packet. Expected departure time .
[0035] Expected departure time If the timeout risk exceeds a preset threshold, the data packet is considered to have a timeout risk. This timeout risk threshold can be set as the Timeout Retransmission Threshold (RTO). In one example, the timeout risk threshold can be calculated by obtaining the number of switches, using the number of switches, a preset adjustment coefficient, and the preset timeout retransmission threshold.
[0036] For example, for the first in the transmission path For each switch, the timeout risk threshold can be set to... ,in, For the number of switches, For adjustment coefficients, , This is the timeout retransmission threshold. (Data packet) Expected departure time It should be smaller than and close to (where 0 < α ≤ 1, and α is the adjustment coefficient), thereby ensuring the data packet The total transmission time should not exceed the RTO, thus avoiding timeout retransmissions and minimizing interference with the forwarding of other data packets. Premature intervention will frequently interrupt normal priority scheduling, allowing low-priority packets to "jump the queue," which will in turn interfere with the transmission of high-priority streams and reduce overall efficiency.
[0037] It should be noted that by setting the timeout risk threshold to... This allows for early prediction of timeout risks on every switch along the path, and also achieves the following objectives: a. Distributed early warning: Data packets originate from the current switch (the... The data from the receiving end still needs to go through... There will be queuing and forwarding delays after the switch is activated. We can't wait until time is almost up before taking action; we must allow time for the rest of the journey.
[0038] b. Budget Allocation: It allocates the entire end-to-end RTO "time budget" to each switch on the path proportionally to the number of hops. The "time budget" for a switch is Due to the expected departure time The calculation is the flight time of the data packet. With waiting time for forwarding Add; each time it passes through a switch, The value will also increase accordingly, and the expected departure time and The advantage of comparison is that if the data packets are forwarded quickly in the first few hops of the switch, the remaining time can be spent on the subsequent hops of the switch that may be congested.
[0039] c. Proactive Action: If the estimated departure time of the data packet on the current switch... The portion of the budget allocated to it has already been used up (i.e. Greater than or equal to If the order is followed step by step, it means that it may not be able to reach the destination within the total time RTO.
[0040] In step S204 of some embodiments, if any data packet is detected to have a timeout risk, the high-priority queue is moved to the risk priority queue, and the timeout period is determined during the risk period. Previously allocated data packets are forwarded sequentially, followed by a pre-defined strict priority forwarding policy; otherwise, the strict priority forwarding policy is executed. For example, there are five priority queues, ranked from highest to lowest: Priority Queue 1, Priority Queue 2, Priority Queue 3, Priority Queue 4, and Priority Queue 5. If a data packet in Priority Queue 3 is detected to have a timeout risk, then during the risk period... Previously, data packets assigned to priority queues 1 through 3 were forwarded sequentially. Then, a strict priority forwarding policy was executed; otherwise, the strict priority forwarding policy was executed directly. The strict priority (SP) forwarding policy is a multi-priority queue traffic scheduling mechanism used in switches. Its core idea is that each outgoing port of the switch has multiple queues, ordered from highest to lowest priority. Data packets arriving at the outgoing port enter the corresponding priority queue according to their priority. When forwarding data packets in the outgoing port queues, the switch strictly follows the order of queue priority. Only after all data packets in the high-priority queues have been forwarded can data packets in the next priority queue be forwarded.
[0041] In practical applications, assuming a risk time Risk Priority Queue data packets There is a risk of timeout, and the first Priority queues ( The number of data packets is To ensure in-order forwarding of packets within multi-priority queues, the switch still employs a strict priority forwarding strategy, starting with the highest priority queue. To the low-priority queue where the risk has been detected. Data packets are forwarded sequentially. It is worth noting that during the ordered transmission of data packets without timeout, all packets within the risk period... Subsequent data packets will be temporarily held and not forwarded until the risk period. Those that arrived earlier and belong to the queue ( All data packets were forwarded.
[0042] Specifically, before the switch finishes forwarding... After all packets in each priority queue, the total forwarding time is ,in For the timeout of forwarding a single data packet, the default strict priority forwarding policy will be restored. This design avoids unnecessary timeout retransmissions while ensuring that data packets arrive at the receiver in order.
[0043] like Figure 3 As shown, at time T=0, the switch detects the queue. middle stream The first data packet in the queue is at risk of timeout, so a no-timeout data packet ordered transmission mechanism is initiated for forwarding. During the forwarding process, although new data packets arrive at time T=1 (i.e., the flow...) Heliu For data packets with sequence numbers 3 and 4, the switch will not prioritize forwarding these new data packets, but will instead queue them. To queue In the middle, the flow ,flow Heliu After the data packets with sequence numbers 1 and 2 are forwarded in priority order, at time T=2, the switch reverts to the default strict priority forwarding policy, i.e., the high-priority queue... flow After packets with sequence numbers 3 and 4 are forwarded, the priority queue is then forwarded. flow Data packets with sequence numbers 3 and 4.
[0044] Steps S201 to S204, as illustrated in this embodiment, involve receiving data packets and determining whether the data packets carry a priority field. If the determination result is yes, the data packets are allocated to the corresponding priority queue according to the priority field; wherein, the priority queue includes a high-priority queue and multiple low-priority queues. Timeout risk detection is performed on data packets in the low-priority queues at preset intervals; wherein, the time at which a timeout risk is detected is defined as the risk time, and the low-priority queue where the timeout risk is detected is defined as the risk priority queue. If any data packet is found to have a timeout risk, it is moved from the high-priority queue to the risk priority queue, and data packets allocated before the risk time are forwarded sequentially, followed by the execution of a preset strict priority forwarding strategy; otherwise, the strict priority forwarding strategy is executed to minimize the flow completion time.
[0045] Please see Figure 4 This application also provides a traffic scheduling system for data center networks without timeout, which can implement the above-mentioned traffic scheduling method for data center networks without timeout. The system includes: The receiving unit 401 is used to receive data packets and determine whether the data packets carry a priority field. If the judgment result is yes, the judgment unit 402 allocates the data packet to the corresponding priority queue according to the priority field; wherein, the priority queue includes a high priority queue and multiple low priority queues; The detection unit 403 is used to perform timeout risk detection on data packets in the low-priority queue at preset intervals; wherein, the time when the timeout risk is detected is defined as the risk time, and the low-priority queue where the timeout risk is detected is defined as the risk priority queue. The execution unit 404 is used to, if any data packet is detected to have a timeout risk, move the high-priority queue to the risk priority queue, forward the data packets allocated before the risk time in sequence, and then execute the preset strict priority forwarding strategy; otherwise, execute the strict priority forwarding strategy.
[0046] The specific implementation of this traffic scheduling system for data center networks without timeout is basically the same as the specific implementation of the traffic scheduling method for data center networks without timeout described above, and will not be repeated here.
[0047] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.
Claims
1. A timeout-free traffic scheduling method for data center networks, characterized in that, The method includes: Receive data packets and determine whether the data packets carry a priority field; If the determination result is yes, then the data packet is allocated to the corresponding priority queue according to the priority field; wherein, the priority queue includes a high priority queue and multiple low priority queues; The data packets in the low-priority queue are subjected to timeout risk detection at preset intervals; wherein, the time at which the timeout risk is detected is defined as the risk time, and the low-priority queue in which the timeout risk is detected is defined as the risk priority queue. If any of the data packets is detected to have the timeout risk, the high-priority queue is moved to the risk priority queue, and the data packets allocated before the risk time are forwarded sequentially, and then the preset strict priority forwarding strategy is executed; otherwise, the strict priority forwarding strategy is executed.
2. The traffic scheduling method for data center networks without timeout according to claim 1, characterized in that, After receiving the data packet and determining whether the data packet carries a priority field, the method further includes: If the determination result is negative, the corresponding data packet is defined as the target data packet; wherein, the stream corresponding to the target data packet is the target stream; The target data packet is assigned to the high-priority queue, and newly arriving data packets of the target stream are also assigned to the high-priority queue until the cumulative number of bytes transmitted by the target stream reaches a preset threshold, at which point the priority of the target stream is reduced.
3. The traffic scheduling method for data center networks without timeout according to claim 2, characterized in that, The preset threshold includes a first-level threshold, a second-level threshold, and a third-level threshold. The step of reducing the priority of the target stream until the cumulative number of bytes transmitted by the target stream reaches the preset threshold includes: If the cumulative number of bytes transmitted by the target stream reaches the first-level threshold, the priority of the target stream is reduced by one level, and newly arrived data packets of the target stream are allocated to the next-level priority queue. If the cumulative number of bytes transmitted by the target stream reaches the second-level threshold, the priority of the target stream is reduced by one level, and newly arriving data packets of the target stream are allocated to the next-level priority queue. If the cumulative number of bytes transmitted by the target stream reaches the three-level threshold, the priority of the target stream is defined as the lowest priority, and newly arriving data packets of the target stream are assigned to the lowest priority queue.
4. The traffic scheduling method for data center networks without timeout according to claim 1, characterized in that, The low-priority queues are arranged from highest to lowest priority, including the second-highest priority queue to the lowest priority queue. The step of performing timeout risk detection on the data packets in the low-priority queues at preset intervals includes: Timeout risk detection is performed on data packets sequentially from the head of the lowest priority queue to the head of the second highest priority queue at preset intervals until any data packet is detected to have a timeout risk, at which point the detection stops.
5. The traffic scheduling method for data center networks without timeout according to claim 1, characterized in that, The step of performing timeout risk detection on the data packets in the low-priority queue at preset intervals includes: Obtain the estimated departure time of the data packet; If the expected departure time is greater than the preset timeout risk threshold, then the data packet has the timeout risk.
6. The traffic scheduling method for data center networks without timeout according to claim 5, characterized in that, The step of obtaining the estimated departure time of the data packet includes: Obtain the waiting time for the data packet to be forwarded in the low-priority queue; wherein the data packet carries the sending time; Subtract the sending time from the current time to obtain the flight time of the data packet; The estimated departure time is obtained by adding the flight time to the waiting time for rerouting.
7. The traffic scheduling method for data center networks without timeout according to claim 5, characterized in that, Before obtaining the estimated departure time of the data packet, the method further includes: Setting the timeout risk threshold specifically includes: Get the number of switches; The timeout risk threshold is calculated based on the number of switches, the number of priority queues, a preset adjustment coefficient, and a preset timeout retransmission threshold.
8. A traffic scheduling system with no timeout for data center networks, characterized in that, The system includes: A receiving unit is used to receive data packets and determine whether the data packets carry a priority field; If the determination result is yes, the determination unit allocates the data packet to the corresponding priority queue according to the priority field; wherein, the priority queue includes a high-priority queue and multiple low-priority queues; The detection unit is used to perform timeout risk detection on the data packets in the low-priority queue at preset time intervals; wherein, the time at which the timeout risk is detected is defined as the risk time, and the low-priority queue in which the timeout risk is detected is defined as the risk priority queue. The execution unit is configured to, if any of the data packets is detected to have the timeout risk, move the high-priority queue to the risk priority queue, forward the data packets allocated before the risk time in sequence, and then execute the preset strict priority forwarding strategy; otherwise, execute the strict priority forwarding strategy.
9. An electronic device, characterized in that, The electronic device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the traffic scheduling method for data center networks without timeout as described in any one of claims 1 to 7.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements a timeout-free traffic scheduling method for data center networks as described in any one of claims 1 to 7.