Data stream transmission method under multi-link rate networking and related equipment thereof

By setting appropriate cyclic queuing and forwarding cycles in multi-link rate networking, the problem of low data flow transmission efficiency under different link rates is solved, a balance between bandwidth and latency is achieved, and the data flow transmission efficiency is improved.

CN116545947BActive Publication Date: 2026-05-05PENG CHENG LAB
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
PENG CHENG LAB
Filing Date
2023-05-08
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

The existing circular queuing and forwarding mechanisms are not suitable for multi-link rate networking, resulting in a tradeoff between bandwidth and latency, and low data flow transmission efficiency in multi-link rate networking applications with different rates.

Method used

By acquiring the sender and receiver of the data stream, its transmission path in a multi-link rate network is determined. Based on the link rate of each node's output port, different cyclic queuing and forwarding cycles are set to ensure that low-speed links and high-speed links adopt appropriate CQF cycles to avoid reduced traffic and increased latency.

Benefits of technology

It improves the data flow transmission efficiency under multi-link rate networking. By setting the CQF cycle appropriately, it reduces the traffic reduction of low-speed links and the latency of high-speed links, achieving a balance between bandwidth and latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116545947B_ABST
    Figure CN116545947B_ABST
Patent Text Reader

Abstract

This application discloses a data stream transmission method and related equipment under multi-link rate networking, belonging to the field of communication technology. This application obtains the sending end and receiving end of the data stream to be scheduled, and determines the transmission path of the data stream in the multi-link rate networking based on the sending end and the receiving end; determines the CQF period of the corresponding output port of each node based on the link rate of each node in the transmission path; and determines the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the sending end and the CQF period determined based on the link rate, and sends the data stream from the transmission queue. This solves the technical problem that traditional CQF requires the entire network to have the same period, making it difficult to achieve a balance between bandwidth and latency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a data stream transmission method and related equipment under multi-link rate networking. Background Technology

[0002] Time-Sensitive Networking (TSN) defines a time-sensitive mechanism for Ethernet data transmission. This mechanism includes Cyclic-Queuing and Forwarding (CQF), which divides the transmission time of each switch's output port into a series of equal time intervals, each called a CQF cycle. Based on this CQF cycle, the data flow is controlled to enter and exit the switch's output port queue, enabling accurate calculation of the end-to-end delay (which depends only on the cycle size and the number of nodes in the transmission path traversed by the data flow).

[0003] However, current circular queuing and forwarding mechanisms are designed based on the premise of data transmission on links with the same speed. A key characteristic is that the cycle period of all links in the network must be the same. However, in real-world networks, different links typically have different speeds. If the same cycle period is used under different speed conditions, a trade-off between bandwidth and latency becomes difficult. If the cycle is set too short, end-to-end latency is low, but low-speed links can only handle a limited amount of traffic, leading to decreased schedulability. If the cycle is set too long, the bandwidth problem for low-speed links is solved, but for high-speed links, an excessively long cycle significantly increases end-to-end latency, making it difficult to achieve a balance between bandwidth and latency. Therefore, existing circular queuing and forwarding mechanisms are unsuitable for data flow transmission in networks with links of different speeds, leading to reduced data flow transmission efficiency in multi-link speed networks. Summary of the Invention

[0004] The main objective of this application is to provide a data stream transmission method for multi-link rate networking, which allows setting different cycle periods based on different link rates and achieving deterministic forwarding of the data stream through mapping between different cycles. This aims to solve the technical problem of low data stream transmission efficiency caused by the difficulty in balancing bandwidth and latency in multi-link rate networking.

[0005] To achieve the above objectives, this application provides a data stream transmission method under multi-link rate networking, the data stream transmission method under multi-link rate networking including the following steps:

[0006] The data flow transmission method for multi-link rate networking includes the following steps:

[0007] Obtain the sender and receiver of the data stream to be scheduled, and determine the transmission path of the data stream in the multi-link rate network based on the sender and receiver;

[0008] Based on the link rate of the corresponding output port of each node in the transmission path, the CQF period of the corresponding output port of each node is determined.

[0009] Based on the sending time of the data stream sent by the sending end and the CQF period, the sending queue of the data stream at the corresponding output port of each node is determined, and the data stream is sent from the sending queue.

[0010] In one possible implementation of this application, the step of determining the CQF period of each node's corresponding output port based on the link rate of each node's corresponding output port in the transmission path includes:

[0011] Calculate the link rate ratio between the corresponding outgoing ports of each node in the transmission path, and determine the corresponding outgoing port of the node with the highest link rate in the link rate ratio;

[0012] The CQF period of the outgoing port corresponding to the node with the maximum link rate is used as the baseline CQF period, and the CQF period of the outgoing ports corresponding to the other nodes is determined based on the baseline CQF period and the link rate ratio.

[0013] In one possible implementation of this application, before the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the method further includes:

[0014] The node with the lowest link rate in the link rate ratio is determined to have the corresponding outgoing port, and the number of sending queues of the node with the lowest link rate corresponding to the outgoing port is used as the baseline number of sending queues.

[0015] Based on the baseline number of sending queues, determine the number of sending queues for the corresponding output ports of other nodes.

[0016] In one possible implementation of this application, the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period includes:

[0017] Based on the sending time of the data stream sent by the sending end and the CQF period, the arrival time of the data stream at the corresponding ingress port of each node is determined;

[0018] Based on the arrival time and the CQF cycle of each node, the dequeue time of the data stream at the corresponding output port of each node is determined.

[0019] Based on the dequeue time, the sending queue of the data stream at each node is determined.

[0020] In one possible implementation of this application, before the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the method further includes:

[0021] Based on the CQF period where the injection time slot of the data stream at the sending end is located, the data streams that need to be scheduled within the preset macro period are searched to obtain the data streams that need to be scheduled within the CQF period where the injection time slot of the data stream is located. The preset macro period is calculated based on the sending period of the scheduled data streams and the data streams that need to be scheduled.

[0022] The CQF period in which the data stream is injected is used as the sending time of the data stream sent by the sending end.

[0023] In one possible implementation of this application, after the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the method further includes:

[0024] Based on the stream ID, injection time offset, and frame length of the scheduled data stream in the preset scheduled list, the time slot occupancy rate of the corresponding output port of each node is calculated.

[0025] Based on the time slot occupancy rate, it is determined whether the occupied capacity in the corresponding time slot of the sending queue is greater than the preset time slot capacity;

[0026] If it is greater than, then determine whether the CQF period in which the data stream injection slot is located is greater than the macro period;

[0027] If it is not greater than, then the CQF period in which the injection time slot of the data stream is located is offset by one time slot, and the offset one time slot is used as the injection time offset of the data stream. The ID of the data stream and the injection time offset are stored in the preset scheduled list.

[0028] Based on the CQF period where the injection time slot of the data stream offset by one time slot is located, the data streams that need to be scheduled within the preset macro period are searched to obtain the data streams that need to be scheduled within the CQF period where the injection time slot of the data stream offset by one time slot is located.

[0029] In one possible implementation of this application, after the steps of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, and sending the data stream from the transmission queue, the method further includes:

[0030] Update the sending queue of the corresponding output port of each node, and execute the steps of obtaining the sending end and receiving end of the data stream to be scheduled, and determining the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end, until the sending queue of at least one node in the transmission path can no longer accommodate the new data stream.

[0031] This application also provides a data stream transmission device for multi-link rate networking, the device comprising:

[0032] The transmission path determination module is used to obtain the sending end and receiving end of the data stream to be scheduled, and determine the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end.

[0033] The CQF period determination module is used to determine the CQF period of each node's corresponding output port based on the link rate of each node's corresponding output port in the transmission path.

[0034] The sending queue determination module is used to determine the sending queue of the data stream at the corresponding output port of each node based on the sending time of the data stream sent by the sending end and the CQF period, and to send the data stream from the sending queue.

[0035] This application also provides a data stream transmission device under multi-link rate networking, the device comprising: a memory, a processor, and a data stream transmission program under multi-link rate networking stored in the memory and executable on the processor, the data stream transmission program under multi-link rate networking being configured to implement the steps of the data stream transmission method under multi-link rate networking as described in any of the above claims.

[0036] This application also provides a storage medium storing a data stream transmission program for multi-link rate networking, wherein when the data stream transmission program for multi-link rate networking is executed by a processor, it implements the steps of the data stream transmission method for multi-link rate networking as described in any of the above claims.

[0037] This application provides a data flow transmission method for multi-link rate networking. Compared to existing technologies, where circular queuing and forwarding mechanisms are applied to multi-link rate networking, requiring all links to control the data flow's entry and exit from the switch's outgoing port queues based on the same CQF cycle, this application obtains the sending and receiving ends of the data flow to be scheduled, and determines the transmission path of the data flow in the multi-link rate network based on the sending and receiving ends; it then determines the CQF cycle of each node's corresponding outgoing port based on the link rate of each node in the transmission path; that is, the CQF cycle of each node's corresponding outgoing port is determined based on the link rate. Unlike existing technologies that require all links to control the data flow's enqueueing and dequeueing in the switch's outgoing port queues based on the same CQF cycle, this application determines the data flow's transmission queue at each node's corresponding outgoing port based on the transmission time of the data flow sent by the sending end and the CQF cycle determined based on the link rate, and sends the data flow from the transmission queue. This avoids the situation where, for low-speed links, using the same CQF cycle as high-speed links would lead to a reduction in the traffic that can be carried within the same CQF cycle; and for high-speed links, using the same CQF cycle as low-speed links would result in an excessively long CQF cycle, increasing end-to-end latency. Instead, for low-speed links, a specific CQF period is used. Since the CQF period for low-speed links is longer than that for high-speed links, the traffic that can be carried in that CQF period is not reduced. For high-speed links, a specific CQF period is used. Since the CQF period for high-speed links is shorter than that for low-speed links, and the end-to-end latency depends only on the period size and the number of nodes in the transmission path through which the data stream passes, the end-to-end latency can be reduced. In other words, this application can avoid reducing the traffic that low-speed links can carry, improve network bandwidth utilization, and reduce end-to-end latency. It also solves the technical problem that traditional CQF requires the entire network to have the same period, making it difficult to achieve a balance between bandwidth and latency. Therefore, this application improves the transmission efficiency of data streams in multi-link rate networking. Attached Figure Description

[0038] Figure 1 This is a flowchart illustrating the first embodiment of a data stream transmission method under multi-link rate networking according to this application;

[0039] Figure 2 This is a schematic diagram of a first scenario of the data stream transmission method under multi-link rate networking according to the first embodiment of this application;

[0040] Figure 3 This is a schematic diagram of a second scenario of the data stream transmission method under multi-link rate networking according to the first embodiment of this application;

[0041] Figure 4This is a schematic diagram of a third scenario for the data stream transmission method under a multi-link rate network according to the second embodiment of this application;

[0042] Figure 5 This is a schematic diagram of a fourth scenario of the data stream transmission method under multi-link rate networking according to the second embodiment of this application;

[0043] Figure 6 This is a schematic diagram of the fifth scenario of the data stream transmission method under multi-link rate networking according to the second embodiment of this application;

[0044] Figure 7 This is a schematic diagram of a sixth scenario of the data stream transmission method under multi-link rate networking according to the second embodiment of this application;

[0045] Figure 8 This is a logical architecture diagram of a data stream transmission method under a multi-link rate network according to the third embodiment of this application;

[0046] Figure 9 This is a schematic diagram of the structure of a data stream transmission device under a multi-link rate networking environment in the hardware operating environment involved in the embodiments of this application;

[0047] Figure 10 This is a schematic diagram of a data stream transmission device under a multi-link rate network according to the first embodiment of this application.

[0048] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0049] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application. Although the terms first, second, third, etc., may be used herein to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this document, first information may also be referred to as second information, and similarly, second information may also be referred to as first information.

[0050] This application provides a data stream transmission method under multi-link rate networking, referring to... Figure 1 In this embodiment, the data stream transmission method under multi-link rate networking includes:

[0051] Step S10: Obtain the sending end and receiving end of the data stream to be scheduled, and determine the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end;

[0052] Step S20: Based on the link rate of the corresponding output port of each node in the transmission path, determine the CQF period of the corresponding output port of each node;

[0053] Step S30: Based on the sending time of the data stream sent by the sending end and the CQF period, determine the sending queue of the data stream at the corresponding output port of each node, and send the data stream from the sending queue.

[0054] As an example, the data stream transmission method under multi-link rate networking can be applied to a data stream transmission device under multi-link rate networking, wherein the data stream transmission device under multi-link rate networking belongs to the data stream transmission system under multi-link rate networking.

[0055] In this embodiment, as Figure 2 As shown, the data flow transmission system under the multi-link rate networking can be a multi-link rate network, which includes multiple nodes, each node is connected to the other, and the link rate of the corresponding output port of each node is different (there are nodes with the same link rate corresponding to the output port, and / or nodes with different link rates corresponding to the output port). The multiple nodes include at least one transmitter, at least one switch and at least one receiver.

[0056] As an example, the circular queuing and forwarding mechanism divides the transmission time of each switch's outgoing port into a series of equal time intervals, each time interval being called a CQF cycle. Based on the CQF cycle, the data flow is controlled to enter and exit the switch's outgoing port queue, and the end-to-end delay can be accurately calculated (the end-to-end delay depends only on the cycle size and the number of nodes in the transmission path through which the data flow passes).

[0057] However, current circular queuing and forwarding mechanisms are designed based on the premise of data transmission under links of the same speed, and do not take into account the differences in link bandwidth (link speed) in multi-link speed networking. Therefore, when applying the circular queuing and forwarding mechanism to multi-link speed networking, all links need to control the data flow to enter and exit the switch's outgoing port queue based on the same CQF cycle. For low-speed links, if the same CQF cycle is used as for high-speed links (generally, the CQF cycle of high-speed links is longer than that of low-speed links), it will lead to a decrease in schedulability; that is, the traffic that can be carried within the same CQF cycle is reduced. For high-speed links, if the same CQF cycle is used as for low-speed links, the CQF cycle will be too long, thereby increasing end-to-end latency. Therefore, the existing circular queuing and forwarding mechanism is not suitable for data flow transmission in multi-link speed networking and will lead to a decrease in data flow transmission efficiency in multi-link speed networking.

[0058] This embodiment aims to: determine the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period determined based on the link rate. For low-speed links, a specific CQF period is used. Since the CQF period of low-speed links is longer than that of high-speed links, the traffic that the CQF period can carry will not be reduced. For high-speed links, a specific CQF period is used. Since the CQF period of high-speed links is shorter than that of low-speed links, and the end-to-end latency depends only on the period size and the number of nodes in the transmission path through which the data stream passes, the end-to-end latency can be reduced. This solves the technical problem that traditional CQF requires the entire network to have the same period, making it difficult to achieve a balance between bandwidth and latency.

[0059] The specific steps are as follows:

[0060] Step S10: Obtain the sending end and receiving end of the data stream to be scheduled, and determine the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end;

[0061] As an example, the data stream that needs to be scheduled is a periodic data stream that the sender needs to send to the receiver. Specifically, it can be a periodic data stream that the sender currently needs to send to the receiver, or it can be a periodic data stream that the sender adds to the list of periodic data streams that it needs to send to the receiver.

[0062] As an example, a periodic data stream refers to a data stream that is generated periodically, and the transmission period of a data stream frame refers to the minimum transmission interval between two data frames belonging to the same data stream.

[0063] As an example, the sending end is the source node (starting point) of the data stream, and the receiving end is the destination node (end point) of the data stream.

[0064] As an example, the step of determining the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end can be based on the sending end and the receiving end to determine the nodes that the data stream needs to pass through in the multi-link rate network. Specifically, it can be calculated based on Dijkstra's shortest path algorithm.

[0065] For example, the calculated transmission path is sender, node 1, node 2, receiver.

[0066] Step S20: Based on the link rate of the corresponding output port of each node in the transmission path, determine the CQF period of the corresponding output port of each node;

[0067] As an example, each node has an inlet port and an outlet port. The outlet port corresponding to each node in the transmission path refers to the outlet port of each node in the transmission path, such as the outlet port of the sending end, the outlet port of node 1, the outlet port of node 2, and the outlet port of the receiving end in the transmission path.

[0068] As an example, since the link rates of the outgoing ports of routers of different specifications may be different, it is necessary to determine the link rates of the outgoing ports of each node in the transmission path.

[0069] As an example, determining the CQF period for each node's corresponding output port based on the link rate of each node in the transmission path is to adaptively configure the CQF period for each node. This overcomes the impact on schedulability and end-to-end latency caused by all links using the same CQF period to control data flow in and out of the switch's output port queue, which leads to low-speed links and high-speed links using the same CQF period to control data flow.

[0070] In this embodiment, the step of determining the CQF period of each node's corresponding output port based on the link rate of each node's corresponding output port in the transmission path includes:

[0071] Step A1: Calculate the link rate ratio between the corresponding output ports of each node in the transmission path, and determine the output port corresponding to the node with the highest link rate in the link rate ratio;

[0072] As an example, the link rate ratio between the corresponding outgoing ports of each node in the transmission path is calculated. For instance, if the link rate ratio between the outgoing ports of the sending end, node 1, node 2, and receiving end is 1:1:3:1, then the link rate of the outgoing port of node 2 is three times that of the outgoing ports of the sending end, node 1, and receiving end. In other words, the outgoing port of node 2 is the node with the highest link rate in the link rate ratio.

[0073] Step A2: Take the CQF period of the outgoing port corresponding to the node with the maximum link rate as the baseline CQF period, and determine the CQF period of the outgoing ports corresponding to the other nodes based on the baseline CQF period and the link rate ratio.

[0074] As an example, since a high-speed link can transmit more data than a low-speed link in the same amount of time, in order to reduce the waste of network resources on the high-speed link, the CQF period of the outgoing port corresponding to the node with the maximum link rate is used as the base CQF period TH. That is, when the outgoing port corresponding to the node is a high-speed link, the data stream is transmitted with a smaller period, which can shorten the end-to-end latency.

[0075] As an example, since using the same CQF cycle to control data flow between low-speed and high-speed links can impact schedulability and end-to-end latency, it is necessary to ensure that data flow transmission occurs at a shorter cycle when the corresponding outgoing port of a node is a high-speed link, while simultaneously ensuring that data flow transmission occurs at a longer cycle when the corresponding outgoing port of a node is a low-speed link, thereby guaranteeing the network resource utilization of the low-speed link port. Therefore, based on the baseline CQF cycle and the link rate ratio, the CQF cycle for the corresponding outgoing ports of other nodes is determined; that is, the scheduling cycle for data flow is determined based on the data flow scheduling capability of the corresponding outgoing ports of each node.

[0076] Specifically, such as Figure 3 As shown, the ratio of the CQF period of the corresponding output port of each other node to the reference CQF period is inversely proportional to the link rate ratio. That is, if the reference CQF period of the output port of node 2 is TH, then the CQF periods of the output ports of the transmitter, node 1, and receiver are TL (TL = R * TH). Here, R is the ratio of the CQF period length TL of the low-speed link to the CQF period length TH of the high-speed link, for example, (TL / TH) = R = 3.

[0077] In this embodiment, before the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the method further includes:

[0078] Step B1: Determine the outgoing port corresponding to the node with the lowest link rate in the link rate ratio, and use the number of sending queues corresponding to the outgoing port of the node with the lowest link rate as the baseline number of sending queues.

[0079] Step B2: Based on the baseline number of sending queues, determine the number of sending queues for the corresponding output ports of other nodes.

[0080] As an example, in existing single-cycle CQF (where both high-speed and low-speed links use the same CQF cycle), the start time of the Per-Stream Filtering and Policing (PSFP) mechanism and queue gating needs to be synchronized with the CQF cycle. The Gate Control List (GCL) involves two cycles: gate open (O) and gate closed (C). It should be noted that this gate control list still applies in multi-cycle CQF (where high-speed and low-speed links use different CQF cycles). Therefore, for the transmitter and node 1, the gate control list cycle is 2TL; for node 2, the gate control list cycle should be 2*RTH (specifically, the gate control list cycle is 6TH).

[0081] Specifically, the port forwarding module, such as Figure 2 As shown, the gating list periods for ports with different link rates differ, mainly reflected in the different gate open / close durations and queue numbers. To synchronize the start time of the flow filtering and early warning mechanism and queue gating with the CQF period, more queues need to be configured for ports with higher link rates (shorter gate open and close durations), and fewer queues need to be configured for ports with lower link rates (longer gate open and close durations). Therefore, it is necessary to determine the output port corresponding to the node with the lowest link rate in the link rate ratio, use the number of transmission queues of the output port corresponding to the node with the lowest link rate as the baseline number of transmission queues, and determine the number of transmission queues for the output ports corresponding to other nodes based on the baseline number of transmission queues.

[0082] As an example, such as Figure 3 As shown, the node with the lowest link rate in the link rate ratio corresponds to the sending port and node 1 (low-speed port). The number of sending queues corresponding to the sending port of the node with the lowest link rate is used as the base number of sending queues. That is, the opening time of each queue is TL (3TH). Therefore, only two queues are needed for rotation.

[0083] As an example, such as Figure 3 As shown, based on the baseline number of transmission queues, the number of transmission queues for the corresponding output ports of other nodes is determined. For node 2 (high-speed port), the gate opening duration for each queue is only TH, therefore 2R queues (i.e., 6 queues) are needed for rotation. The output port corresponding to node 2 requires six transmission queues, with each queue opening its gate sequentially for a duration of TH.

[0084] Step S30: Based on the sending time of the data stream sent by the sending end and the CQF period, determine the sending queue of the data stream at the corresponding output port of each node, and send the data stream from the sending queue.

[0085] As an example, due to the time synchronization of each node in the multi-link rate network, and the fact that the cyclic queuing forwarding mechanism requires that data streams sent from the previous node within one cycle must be received at the current node within the same cycle, the end-to-end delay can be accurately calculated. Therefore, if the sending time of the data stream and the CQF cycle of the corresponding output port of each node are known, the sending queue of the data stream at each node can be calculated, and the data stream can be sent from the sending queue, thus determining the scheduling strategy for the data stream.

[0086] In this embodiment, this application obtains the sending and receiving ends of the data stream to be scheduled, and determines the transmission path of the data stream in the multi-link rate network based on the sending and receiving ends; it determines the CQF period of each node's corresponding output port based on the link rate of each node in the transmission path; that is, the CQF period of each node's corresponding output port is determined based on the link rate. Unlike the prior art, which requires all links to control the data stream's entry and exit from the switch's output port queue based on the same CQF period, this application determines the data stream's transmission queue at each node's corresponding output port based on the sending time of the data stream sent by the sending end and the CQF period determined based on the link rate, and sends the data stream from the transmission queue. This avoids the situation where, for low-speed links, using the same CQF period as high-speed links would lead to a reduction in the traffic that can be carried within the same CQF period; and for high-speed links, using the same CQF period as low-speed links would result in an excessively long CQF period, increasing end-to-end latency. Instead, for low-speed links, a specific CQF period is used. Since the CQF period for low-speed links is longer than that for high-speed links, the traffic that can be carried in that CQF period is not reduced. For high-speed links, a specific CQF period is used. Since the CQF period for high-speed links is shorter than that for low-speed links, and the end-to-end latency depends only on the period size and the number of nodes in the transmission path through which the data stream passes, the end-to-end latency can be reduced. In other words, this application can avoid reducing the traffic that low-speed links can carry, improve network bandwidth utilization, and reduce end-to-end latency. Therefore, this application improves the transmission efficiency of data streams in multi-link rate networking.

[0087] Furthermore, based on the first embodiment of this application, another embodiment of this application is provided. In this embodiment, before the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the method further includes:

[0088] Step S40: Based on the CQF period where the injection time slot of the data stream of the sending end is located, search for the data streams that need to be scheduled within the preset macro period to obtain the data streams that need to be scheduled within the CQF period where the injection time slot of the data stream is located. The preset macro period is calculated based on the sending period of the scheduled data streams and the data streams that need to be scheduled.

[0089] As an example, the injection time model part is as follows: Figure 2 As shown, the data stream transmission time is the injection time of the selected data stream at the sending end into the switch, and the selection range of the injection time is the macro cycle of the data stream to be scheduled. The preset macro cycle is calculated based on the transmission cycles of the scheduled data stream and the data stream to be scheduled. Specifically, the macro cycle is the least common multiple of the transmission cycles of the scheduled data stream and the data stream to be scheduled. After the macro cycle is determined, subsequent scheduling processes are copied using the macro cycle as a template.

[0090] For example, based on the CQF period in which the injection time slot of the data stream of the transmitting end is located, the data streams that need to be scheduled within the preset macro period are searched to obtain the data streams f1 and f5 that need to be scheduled within the zeroth time slot. Alternatively, based on the first time slot of the transmitting end, the data streams that need to be scheduled within the preset macro period are searched to obtain the data stream f2 that needs to be scheduled within the first time slot, etc.

[0091] Step S50: Use the CQF period in which the injection slot of the data stream is located as the sending time of the sending end to send the data stream.

[0092] As an example, the CQF period in which the injection slot of the data stream is located is used as the sending time for the sending end to send the data streams f1 and f5. Alternatively, the first time slot is used as the sending time for the sending end to send the data stream f2.

[0093] In this embodiment, the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period includes:

[0094] Step C1: Based on the sending time of the data stream sent by the sending end and the CQF period, determine the arrival time of the data stream at the corresponding ingress port of each node;

[0095] As an example, the switch model is as follows: Figure 2 As shown, it includes a PSFP module, a send queue mapping module, and a port forwarding module. The PSFP can add a tag to packets based on the arrival time of the data stream. This tag indicates that the packet enters the corresponding send queue of the corresponding outgoing port of the next node. In the existing single-cycle CQF technology, the PSFP only needs to detect whether the packet arrives in an odd or even time slot; therefore, the PSFP detection cycle is 2T.

[0096] In multi-cycle CQF, different ports have different detection cycles, requiring the PSFP to simultaneously detect different CQF cycles. To cover all CQF cycles, detection is performed at the shortest cycle (the CQF cycle TH corresponding to the port with the maximum link rate). The CQF cycle in which the injected data stream is detected is Tid, and the length of the detection cycle is 2R*TH (for example, the detection cycle for the output ports of the sender, node 1, and receiver is 2TH, and the detection cycle for the output port of node 2 is 6TH).

[0097] Therefore, by performing the detection in the above manner, the detection period in which the data stream arrives at the corresponding ingress port of each node can be detected. Based on the sending time of the data stream sent by the sending end, and under the premise of time synchronization, the arrival time of the data stream at the corresponding ingress port of each node can be calculated.

[0098] Step C2: Based on the arrival time and the CQF period of each node, determine the dequeue time of the data stream at the corresponding output port of each node;

[0099] Step C3: Based on the dequeue time, determine the sending queue of the data stream at each node.

[0100] As an example, in the prior art, the mapping relationship between PSFP and the transmission queue (i.e., the mapping between Tid and Qid) is relatively simple and fixed. That is, the message received in the odd time slot enters the even transmission queue and is opened in the even time slot, and the message received in the even time slot enters the odd queue and is opened in the odd time slot. That is, the mapping relationship between Tid and Qid is Qid = (Tid + 1) mod 2, which is a simple fixed mapping relationship and does not require a special queue mapping module.

[0101] In multi-cycle CQF, the length of the ingress timeslot is different for different ingress ports, and the number of transmit queues is also different for different egress ports. Therefore, the queue mapping module needs to determine the dequeue time of the data stream at the corresponding egress port of each node based on the arrival time and the CQF cycle of each node, and then determine the transmit queue of the data stream at each node based on the dequeue time.

[0102] Specifically, the formula for calculating the dequeue time is as follows:

[0103] Tid out =((R×(Tid) in +1))+Offset)mod N Low-speed link forwards to high-speed link

[0104] Forwarding from high-speed link to low-speed link

[0105] Wherein, R is the ratio of the CQF cycle length TL of the low-speed link to the CQF cycle length TH of the high-speed link, and Tid in The sending time of the data stream sent by the previous node, N is the length of the macro period, and Offset is the preset ingress port offset.

[0106] Specifically, for example, the sending end sends a data stream to node 1 (such as...). Figure 4 As shown, Node A (low-speed link) sends a data stream to Node B (low-speed link). Since the link rates are the same, R = I. The data stream sent from the sending end in its zeroth time slot will arrive at Node B in its zeroth time slot. Therefore, the Tid... in =0, the calculated Tid out =1, that is, it is sent in the first time slot. Specifically, the queue with the open door in the first time slot is Q1.

[0107] For example, node 1 sends a data stream to node 2 (such as...) Figure 5 The diagram shows Node A (low-speed link) sending a data stream to Node B (high-speed link). R is the ratio of the CQF period length TL of the low-speed link to the CQF period length TH of the high-speed link, i.e., R = 3. Since Node 1 sends frames in a time slot of length TL, the frames need to arrive in a time slot of length TL = R * TH. If multiple data frames arrive at Node 2 in this time slot of length TL = R * TH, an ingress port offset of 0 - (R - 1) can be selected (specifically, it can be uniformly and randomly selected) to improve link utilization and prevent network congestion caused by sending in the same TH. The data stream sent by Node 1 in its zeroth time slot will arrive in the zeroth, first, or second time slot of Node 2 (where the zeroth, first, or second time slot of Node 2 corresponds to the zeroth time slot of Node 1). The Tid... in =0, the calculated Tid out =3, 4 or 5, that is, it is sent in the third, fourth or fifth time slot of node 2. Specifically, the gated queues in the transmission queues corresponding to the third, fourth and fifth time slots are Q3, Q4 and Q5 respectively.

[0108] For example, if the aforementioned receiver is a new sender and the aforementioned sender is a new receiver, then node 2 sends a data stream to node 1 (such as...). Figure 6 The diagram shows Node A (high-speed link) sending a data stream to Node B (low-speed link). R is the ratio of the CQF period length TL of the low-speed link to the CQF period length TH of the high-speed link, i.e., R = 3. Since Node 2 sends frames in a time slot of length TH, the frames need to arrive at Node 1 in the time slot of length TL = R * TH. The data stream sent by Node 2 in the zeroth time slot will arrive at Node 1 in the zeroth time slot. Therefore, the Tid... in= 0, calculate the Tid out =1, that is, it is sent in the first time slot of node 2. Specifically, the queue with the open door in the sending queue in the first time slot is Q1.

[0109] For example, if it is necessary to send the data stream from node 2 to another node 3, and the link rate of the corresponding outgoing port of node 3 is the same as that of node 2 (e.g., ... Figure 6 As shown, Node A (high-speed link) sends a data stream to Node B (high-speed link). Since the link rates are the same, R = 1. The data stream sent from Node 2 in time slot zero will arrive at Node 3 in time slot zero. Therefore, the Tid... in =0, the calculated Tid out =1, that is, it is sent in the first time slot. Specifically, the queue with the open door in the first time slot is Q1.

[0110] In this embodiment, based on the above calculation method, the sending queue of the data stream at each node can be accurately obtained, thereby improving the scheduling efficiency of the data stream.

[0111] Furthermore, based on the first embodiment of this application, another embodiment of this application is provided, with reference to... Figure 8 In this embodiment, after the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the method further includes:

[0112] Step S60: Based on the stream ID, injection time offset, and frame length of the scheduled data stream in the preset scheduled list, calculate the time slot occupancy rate of the corresponding output port of each node;

[0113] As an example, slot occupancy rate refers to the percentage of time used to send data streams.

[0114] As an example, a pre-defined scheduled list stores the stream IDs and injection time offsets of scheduled data streams, as well as the frame lengths of those scheduled data streams. The time slot occupancy rate of the corresponding output port of each node is calculated; that is, the ratio of the total transmission time required by the scheduled data stream in that time slot to the total time slot length. The total transmission time required by the scheduled data stream in that time slot is calculated based on the injection time offset and the frame length of the scheduled data stream.

[0115] Step S70: Based on the time slot occupancy rate, determine whether the occupied capacity in the corresponding transmission time slot of the transmission queue is greater than the preset time slot capacity;

[0116] As an example, the sending queue corresponding to the sending time slot refers to the time slot corresponding to the dequeue time.

[0117] As an example, each sending queue has a preset time slot capacity, that is, the maximum data frame length that can be sent within the preset time slot.

[0118] As an example, based on the time slot occupancy rate, it is determined whether the occupied capacity in the corresponding time slot of the sending queue is greater than the preset time slot capacity. If it is not greater, it is considered that the data stream can be sent out from the corresponding time slot of the sending queue, that is, the data stream is considered to be successfully scheduled.

[0119] Step S80: If it is greater than, then determine whether the CQF period in which the data stream injection slot is located is greater than the macro period;

[0120] As an example, if the period is greater than the macro period, it is considered that the data stream cannot be sent out from the corresponding sending time slot of the sending queue. That is, it is necessary to determine whether the CQF period in which the injection time slot of the data stream is located is greater than the macro period. If it is greater than the macro period, it is considered that the data stream cannot be scheduled successfully within the macro period.

[0121] Step S90: If it is not greater than, then offset the CQF period in which the injection time slot of the data stream is located by one time slot, use the offset one time slot as the injection time offset of the data stream, and store the ID of the data stream and the injection time offset in the preset scheduled list.

[0122] As an example, if the time interval is not greater than the macro period, the CQF period in which the data stream's injection time slot is located is offset by one time slot. For instance, if the current time slot is the CQF period in which the data stream's injection time slot is located at the sending end, and the CQF period in which the data stream's injection time slot is located at the sending end is not greater than the macro period, then the CQF period in which the data stream's injection time slot is located is offset by one time slot to reach the first time slot at the sending end. The offset time slot is used as the injection time offset of the data stream, and the ID of the data stream and the injection time offset are stored in the preset scheduled list.

[0123] Step S100: Based on the CQF period where the injection time slot of the data stream offset by one time slot is located, search for the data streams that need to be scheduled within the preset macro period to obtain the data streams that need to be scheduled within the CQF period where the injection time slot of the data stream is located.

[0124] As an example, based on the CQF period of the injection time slot of the data stream offset by one time slot, a search is performed on the data streams to be scheduled within a preset macro period to obtain the data streams to be scheduled within the CQF period of the injection time slot of the data stream offset by one time slot. The CQF period of the injection time slot of the data stream offset by one time slot is used as the transmission time of the data stream sent by the sending end. The step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period is returned until the occupied capacity in the corresponding transmission time slot of the transmission queue is not greater than the preset time slot capacity, then the scheduling is considered successful.

[0125] In this embodiment, after the steps of determining the sending queue of the data stream at the corresponding output port of each node based on the sending time of the data stream sent by the sending end and the CQF period, and sending the data stream from the sending queue, the method further includes:

[0126] Step S110: Update the sending queue of the corresponding output port of each node, and execute the step of obtaining the sending end and receiving end of the data stream to be scheduled, and determining the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end, until the sending queue of at least one node in the transmission path can no longer accommodate the new data stream.

[0127] In this embodiment, the sending queues of the corresponding output ports of each node are updated, that is, the occupied queues and occupied time slots of the sending queues are updated. The steps of obtaining the sending and receiving ends of the data streams to be scheduled, and determining the transmission path of the data streams in the multi-link rate network based on the sending and receiving ends are executed. Specifically, the sending queues (scheduling policies) of other data streams to be scheduled are re-assigned until the sending queue of at least one node in the transmission path cannot accommodate a new data stream. "Cannot accommodate a new data stream" means that the queue occupancy rate exceeds the preset time slot capacity, and the new data stream cannot be added to the sending queue.

[0128] In this embodiment, the above method can schedule the data streams that need to be scheduled to the greatest extent, thereby minimizing the end-to-end latency of the data streams and the waste of network resources, and thus improving the transmission efficiency of the data streams.

[0129] Reference Figure 9 , Figure 9 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of this application.

[0130] like Figure 9 As shown, the data stream transmission device under this multi-link rate network may include: a processor 1001, a memory 1005, and a communication bus 1002. The communication bus 1002 is used to realize the connection and communication between the processor 1001 and the memory 1005.

[0131] Optionally, the data stream transmission equipment in this multi-link rate network may also include a user interface, a network interface, a camera, RF (Radio Frequency) circuitry, sensors, a WiFi module, etc. The user interface may include a display screen and an input submodule such as a keyboard; optional user interfaces may also include standard wired and wireless interfaces. The network interface may include standard wired and wireless interfaces (such as a Wi-Fi interface).

[0132] Those skilled in the art will understand that Figure 9 The data stream transmission device structure shown in the diagram does not constitute a limitation on the data stream transmission device under multi-link rate networking. It may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0133] like Figure 9As shown, the memory 1005, serving as a storage medium, may include an operating system, a network communication module, and a data stream transmission program for multi-link rate networking. The operating system is a program that manages and controls the hardware and software resources of the data stream transmission device under multi-link rate networking, supporting the operation of the data stream transmission program and other software and / or programs. The network communication module is used to enable communication between the various components within the memory 1005, as well as communication with other hardware and software in the data stream transmission system under multi-link rate networking.

[0134] exist Figure 9 In the data stream transmission device under multi-link rate networking shown, the processor 1001 is used to execute the data stream transmission program under multi-link rate networking stored in the memory 1005 to implement the steps of the data stream transmission method under multi-link rate networking described above.

[0135] The specific implementation of the data stream transmission device under multi-link rate networking in this application is basically the same as the various embodiments of the data stream transmission method under multi-link rate networking described above, and will not be repeated here.

[0136] This application also provides a data stream transmission device for multi-link rate networking, such as... Figure 10 As shown, the device includes:

[0137] The transmission path determination module 10 is used to obtain the sending end and receiving end of the data stream to be scheduled, and determine the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end.

[0138] CQF period determination module 20 is used to determine the CQF period of each node's corresponding output port based on the link rate of each node's corresponding output port in the transmission path;

[0139] The sending queue determination module 30 is used to determine the sending queue of the data stream at the corresponding output port of each node based on the sending time of the data stream sent by the sending end and the CQF period, and to send the data stream from the sending queue.

[0140] Optionally, in one possible implementation of this application, the CQF cycle determination module 20 includes:

[0141] The link rate ratio calculation submodule is used to calculate the link rate ratio between the corresponding outgoing ports of each node in the transmission path, and to determine the corresponding outgoing port of the node with the highest link rate in the link rate ratio.

[0142] The CQF period determination submodule is used to take the CQF period of the outgoing port corresponding to the node with the maximum link rate as the reference CQF period, and determine the CQF period of the outgoing ports corresponding to other nodes based on the reference CQF period and the link rate ratio.

[0143] Optionally, in one possible implementation of this application, before the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the apparatus further includes:

[0144] The benchmark determination module is used to determine the outgoing port corresponding to the node with the minimum link rate in the link rate ratio, and to use the number of transmission queues corresponding to the outgoing port of the node with the minimum link rate as the benchmark transmission queue number.

[0145] The sending queue number determination module is used to determine the sending queue number of each other node's corresponding output port based on the baseline sending queue number.

[0146] Optionally, in one possible implementation of this application, the sending queue determination module 30 includes:

[0147] The arrival time determination submodule is used to determine the arrival time of the data stream at the corresponding ingress port of each node based on the sending time of the data stream sent by the sending end and the CQF period.

[0148] The dequeue time determination submodule is used to determine the dequeue time of the data stream at the corresponding exit port of each node based on the arrival time and the CQF period of each node.

[0149] The sending queue determination submodule is used to determine the sending queue of the data stream at each node based on the dequeue time.

[0150] Optionally, in one possible implementation of this application, before the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the apparatus further includes:

[0151] The first data stream search module is used to search for the data streams that need to be scheduled within a preset macro period based on the CQF period in which the injection time slot of the data stream of the sending end is located, so as to obtain the data streams that need to be scheduled within the CQF period in which the injection time slot of the data stream is located. The preset macro period is calculated based on the sending period of the scheduled data streams and the data streams that need to be scheduled.

[0152] The transmission time determination module is used to take the CQF period in which the injection time slot of the data stream is located as the transmission time of the transmitting end to send the data stream.

[0153] Optionally, in one possible implementation of this application, after the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, the apparatus further includes:

[0154] The time slot occupancy determination module is used to calculate the time slot occupancy of the corresponding output port of each node based on the stream ID, injection time offset, and frame length of the data stream in the preset scheduled list.

[0155] The time slot capacity determination module is used to determine, based on the time slot occupancy rate, whether the occupied capacity in the corresponding transmission time slot of the transmission queue is greater than the preset time slot capacity.

[0156] The time slot comparison module is used to determine whether the CQF period in which the injection time slot of the data stream is located is greater than the macro period if the time slot is greater than the macro period.

[0157] The time slot offset module is used to offset the CQF cycle in which the injection time slot of the data stream is located by one time slot if the offset is not greater than the specified value, and to use the offset one time slot as the injection time offset of the data stream, and to store the ID of the data stream and the injection time offset in the preset scheduled list.

[0158] The second data stream search module is used to search for the data streams that need to be scheduled within a preset macro period based on the CQF period in which the injection time slot of the data stream offset by one time slot is located, so as to obtain the data streams that need to be scheduled within the CQF period in which the injection time slot of the data stream offset by one time slot is located.

[0159] Optionally, in one possible implementation of this application, after the step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period, and sending the data stream from the transmission queue, the apparatus further includes:

[0160] The cyclic scheduling module is used to update the sending queue of the corresponding output port of each node, and to execute the steps of obtaining the sending end and receiving end of the data stream to be scheduled, and determining the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end, until the sending queue of at least one node in the transmission path can no longer accommodate the new data stream.

[0161] The specific implementation of the data stream transmission device under multi-link rate networking in this application is basically the same as the various embodiments of the data stream transmission method under multi-link rate networking described above, and will not be repeated here.

[0162] This application also provides a storage medium storing a data stream transmission program for multi-link rate networking, wherein when the data stream transmission program for multi-link rate networking is executed by a processor, it implements the steps of the data stream transmission method for multi-link rate networking as described in any of the above claims.

[0163] The specific implementation of the storage medium in this application is basically the same as the various embodiments of the data stream transmission method under the above-mentioned multi-link rate networking, and will not be described again here.

[0164] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0165] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0166] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, 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 is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0167] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A data stream transmission method under multi-link rate networking, characterized in that, The data flow transmission method for multi-link rate networking includes the following steps: Obtain the sender and receiver of the data stream to be scheduled, and determine the transmission path of the data stream in the multi-link rate network based on the sender and receiver; Based on the link rate of the corresponding output port of each node in the transmission path, the CQF period of the corresponding output port of each node is determined. Based on the CQF period where the injection time slot of the data stream at the sending end is located, the data streams that need to be scheduled within the preset macro period are searched to obtain the data streams that need to be scheduled within the CQF period where the injection time slot of the data stream is located. The preset macro period is calculated based on the sending period of the scheduled data streams and the data streams that need to be scheduled. The sending time of the data stream is determined by the CQF period in which the injection slot of the data stream is located. Based on the sending time of the data stream sent by the sending end and the CQF period of the corresponding output port of each node, the sending queue of the data stream at the corresponding output port of each node is determined, and the data stream is sent from the sending queue; Based on the stream ID, injection time offset, and frame length of the scheduled data stream in the preset scheduled list, the time slot occupancy rate of the corresponding output port of each node is calculated. Based on the time slot occupancy rate, it is determined whether the occupied capacity in the corresponding time slot of the sending queue is greater than the preset time slot capacity; If it is greater than, then determine whether the CQF period in which the data stream injection slot is located is greater than the macro period; If it is not greater than, then the CQF period in which the injection time slot of the data stream is located is offset by one time slot, and the offset one time slot is used as the injection time offset of the data stream. The ID of the data stream and the injection time offset are stored in the preset scheduled list. Based on the CQF period where the injection time slot of the data stream offset by one time slot is located, the data streams that need to be scheduled within the preset macro period are searched to obtain the data streams that need to be scheduled within the CQF period where the injection time slot of the data stream offset by one time slot is located.

2. The data stream transmission method under multi-link rate networking as described in claim 1, characterized in that, The step of determining the CQF period of each node's corresponding output port based on the link rate of each node's corresponding output port in the transmission path includes: Calculate the link rate ratio between the corresponding outgoing ports of each node in the transmission path, and determine the corresponding outgoing port of the node with the highest link rate in the link rate ratio; The CQF period of the outgoing port corresponding to the node with the maximum link rate is used as the baseline CQF period, and the CQF period of the outgoing ports corresponding to the other nodes is determined based on the baseline CQF period and the link rate ratio.

3. The data stream transmission method under multi-link rate networking as described in claim 2, characterized in that, Before the step of determining the transmission queue of the data stream in the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period of the corresponding output port of each node, the method further includes: The node with the lowest link rate in the link rate ratio is determined to have the corresponding outgoing port, and the number of sending queues of the node with the lowest link rate corresponding to the outgoing port is used as the baseline number of sending queues. Based on the baseline number of sending queues, determine the number of sending queues for the corresponding output ports of other nodes.

4. The data stream transmission method under multi-link rate networking as described in claim 1, characterized in that, The step of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period of the corresponding output port of each node includes: Based on the sending time of the data stream sent by the sending end and the CQF period, the arrival time of the data stream at the corresponding ingress port of each node is determined; Based on the arrival time and the CQF cycle of each node, the dequeue time of the data stream at the corresponding output port of each node is determined. Based on the dequeue time, the sending queue of the data stream at each node is determined.

5. The data stream transmission method under multi-link rate networking as described in claim 1, characterized in that, After the steps of determining the transmission queue of the data stream at the corresponding output port of each node based on the transmission time of the data stream sent by the sending end and the CQF period of the corresponding output port of each node, and sending the data stream from the transmission queue, the method further includes: Update the sending queue of the corresponding output port of each node, and execute the steps of obtaining the sending end and receiving end of the data stream to be scheduled, and determining the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end, until the sending queue of at least one node in the transmission path can no longer accommodate the new data stream.

6. A data stream transmission device for multi-link rate networking, characterized in that, The device includes: The transmission path determination module is used to obtain the sending end and receiving end of the data stream to be scheduled, and determine the transmission path of the data stream in the multi-link rate network based on the sending end and the receiving end. The CQF period determination module is used to determine the CQF period of each node's corresponding output port based on the link rate of each node's corresponding output port in the transmission path. The first data stream search module is used to search for the data streams that need to be scheduled within a preset macro period based on the CQF period in which the injection time slot of the data stream of the sending end is located, so as to obtain the data streams that need to be scheduled within the CQF period in which the injection time slot of the data stream is located. The preset macro period is calculated based on the sending period of the scheduled data streams and the data streams that need to be scheduled. The transmission time determination module is used to determine the transmission time of the data stream by the sending end based on the CQF period in which the injection time slot of the data stream is located. The sending queue determination module is used to determine the sending queue of the data stream at the corresponding output port of each node based on the sending time of the data stream sent by the sending end and the CQF period of the corresponding output port of each node, and to send the data stream from the sending queue. The time slot occupancy determination module is used to calculate the time slot occupancy of the corresponding output port of each node based on the stream ID, injection time offset, and frame length of the data stream in the preset scheduled list. The time slot capacity determination module is used to determine, based on the time slot occupancy rate, whether the occupied capacity in the corresponding transmission time slot of the transmission queue is greater than the preset time slot capacity. The time slot comparison module is used to determine whether the CQF period in which the injection time slot of the data stream is located is greater than the macro period if the time slot is greater than the macro period. The time slot offset module is used to offset the CQF cycle in which the injection time slot of the data stream is located by one time slot if the offset is not greater than the specified value, and to use the offset one time slot as the injection time offset of the data stream, and to store the ID of the data stream and the injection time offset in the preset scheduled list. The second data stream search module is used to search for the data streams that need to be scheduled within a preset macro period based on the CQF period in which the injection time slot of the data stream offset by one time slot is located, so as to obtain the data streams that need to be scheduled within the CQF period in which the injection time slot of the data stream offset by one time slot is located.

7. A data stream transmission device for multi-link rate networking, characterized in that, The device includes: a memory, a processor, and a data stream transmission program for multi-link rate networking stored in the memory and executable on the processor, wherein the data stream transmission program for multi-link rate networking is configured to implement the steps of the data stream transmission method for multi-link rate networking as described in any one of claims 1 to 5.

8. A storage medium, characterized in that, The storage medium stores a data stream transmission program for multi-link rate networking. When the data stream transmission program for multi-link rate networking is executed by the processor, it implements the steps of the data stream transmission method for multi-link rate networking as described in any one of claims 1 to 5.