A scheduling method, device, equipment and readable storage medium

By distinguishing and processing deterministic flows and non-deterministic flows in network flow scheduling, adopting deterministic and priority queue scheduling mechanisms, and optimizing bandwidth allocation and routing parameters through a two-layer optimization model, the deterministic flow routing problem in network flow scheduling is solved, and efficient scheduling and resource optimization of hybrid flows are achieved.

CN116095021BActive Publication Date: 2025-03-28PURPLE MOUNTAIN LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310104892.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-09
Publication Date
2025-03-28
Estimated Expiration
2043-02-09

AI Technical Summary

Technical Problem

The existing network flow scheduling technology fails to effectively handle the mixed scheduling of deterministic flows and non-deterministic flows, resulting in the insufficient resolution of the routing problem of deterministic flows.

Method used

By distinguishing between non-deterministic flows in network flows, they are controlled to enter the corresponding queues respectively, and a deterministic scheduling mechanism is used to schedule the deterministic queues. At the same time, according to the port bandwidth allocation parameters, a priority queue scheduling mechanism is used to schedule between deterministic queues and non-deterministic queues. The specific steps include setting the deterministic queue to adopt a deterministic scheduling mechanism, using a priority queue scheduling mechanism between the non-deterministic queue and the deterministic queue, setting a two-layer optimization model to maximize the available bandwidth of the non-deterministic flow and the network throughput of the deterministic flow, and solving the two-layer optimization model to obtain port bandwidth allocation parameters and deterministic flow scheduling parameters.

Benefits of technology

Mixed scheduling of deterministic flow and non-deterministic flow is realized, which improves the routing rationality and reliability of deterministic flow, and maximizes the network throughput of deterministic flow and the available bandwidth of non-deterministic flow under mixed scheduling, realizing full utilization of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116095021B_ABST
    Figure CN116095021B_ABST
Patent Text Reader

Abstract

The present application discloses a scheduling method, device, equipment and readable storage medium, the method includes: controlling non-deterministic flow to enter non-deterministic queue, controlling deterministic flow to enter deterministic queue according to deterministic flow scheduling parameters, and scheduling deterministic queue using deterministic scheduling mechanism; scheduling between deterministic queue and non-deterministic queue using priority queue scheduling mechanism according to port bandwidth allocation parameters; parameter acquisition process is: setting deterministic queue to adopt deterministic scheduling mechanism, and setting priority queue scheduling mechanism between non-deterministic queue and deterministic queue; setting a two-layer optimization model, the upper optimization goal is to maximize the available bandwidth of non-deterministic flow, and the lower optimization goal is to maximize the network throughput of deterministic flow; solving the two-layer optimization model to obtain parameters. The technical solution disclosed in the present application performs flow scheduling through a two-layer optimization model to solve the routing and scheduling problems of deterministic flow, and realizes the mixed scheduling of deterministic flow and non-deterministic flow.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of network flow scheduling, and more specifically, to a scheduling method, apparatus, device and readable storage medium. Background Art

[0002] In network flow scheduling, existing scheduling only proposes scheduling mechanisms for deterministic flows, or studies scheduling problems for deterministic flows based on different scheduling mechanisms, or further subdivides different types of deterministic flows to study mixed scheduling problems for multiple deterministic flows. Existing scheduling does not take into account the existence of a large number of non-deterministic flows in addition to deterministic flows in the network. Moreover, the existing scheduling mechanism for deterministic flows does not perform specific routing settings for each deterministic flow, which results in a relatively low rationality in deterministic flow scheduling.

[0003] In summary, how to implement mixed scheduling of deterministic flows and non-deterministic flows and solve the routing problem of deterministic flows is a technical problem that currently needs to be solved urgently by those skilled in the art. Summary of the invention

[0004] In view of this, the purpose of the present application is to provide a scheduling method, apparatus, device and readable storage medium for realizing hybrid scheduling of deterministic flows and non-deterministic flows and solving the routing problem of deterministic flows.

[0005] In order to achieve the above objectives, this application provides the following technical solutions:

[0006] A scheduling method, comprising:

[0007] Distinguish non-deterministic flows and deterministic flows in network flows, control the non-deterministic flows to enter a non-deterministic queue, control the deterministic flows to enter a deterministic queue according to a deterministic flow scheduling parameter, and schedule the deterministic queue using a deterministic scheduling mechanism;

[0008] According to the port bandwidth allocation parameter, a priority queue scheduling mechanism is used to schedule between the deterministic queue and the non-deterministic queue;

[0009] The process of obtaining the deterministic flow scheduling parameters and the port bandwidth allocation parameters is as follows:

[0010] Setting the deterministic queue to adopt a deterministic scheduling mechanism, and the non-deterministic queue and the deterministic queue to adopt a priority queue scheduling mechanism;

[0011] A two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism is set; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow;

[0012] The two-layer optimization model is solved to obtain the port bandwidth allocation parameters and the deterministic flow scheduling parameters.

[0013] Preferably, when setting the deterministic queue to adopt the deterministic scheduling mechanism and the non-deterministic queue and the deterministic queue to adopt the priority queue scheduling mechanism, it also includes:

[0014] The non-deterministic queue is set to adopt any one of the following scheduling mechanisms: priority queue scheduling mechanism, polling scheduling mechanism, weighted fair queue scheduling mechanism;

[0015] After controlling the non-deterministic flow to enter the non-deterministic queue, the method further includes:

[0016] The non-deterministic queue is scheduled using the scheduling mechanism set for the non-deterministic queue.

[0017] Preferably, the deterministic scheduling mechanism is a CSQF scheduling mechanism.

[0018] Preferably, the upper optimization model in the two-layer optimization model is:

[0019]

[0020] The lower optimization model in the two-layer optimization model is:

[0021]

[0022] The constraints of the two-level optimization model include:

[0023] Limit the maximum bandwidth available for deterministic streaming on each link:

[0024] The transmission path of each admitted deterministic stream is limited to:

[0025] For each admitted deterministic flow, find all links on its transmission path:

[0026] Ensure that the time slot offset of the admitted deterministic stream on each link of the transmission path is within the correct range:

[0027] Calculate the queuing delay and propagation delay of each deterministic flow on the transmission path:

[0028]

[0029] Ensure that each admitted deterministic flow meets the end-to-end maximum delay limit:

[0030] Ensure that each admitted deterministic flow is allocated a transmission slot on each link of its transmission path:

[0031]

[0032] Calculate the transmission time slot of each admitted deterministic flow on each link of its transmission path:

[0033] Ensure that time slot allocation meets link bandwidth constraints:

[0034] Among them, b (u,v) is the transmission bandwidth of link (u, v)∈E, link (u, v)∈E represents the directed link between adjacent node u and node v, and the directed link set E represents the communication link; F = {f} represents the set of deterministic flows; P f is the set of feasible transmission paths for deterministic flow f∈F, p∈P f , p represents P f Any feasible transmission path in the transmission path, |p| represents the number of hops of the transmission path p, l f is the size of the packet of deterministic flow f, g f is the number of packets of the deterministic flow f in a super cycle, the super cycle is composed of a number of consecutive forwarding time slots, and h represents the super cycle; x f,p is a Boolean variable whose value is 1, indicating that the deterministic flow f∈F uses the path p∈P f , otherwise 0; is an integer variable, representing the maximum bandwidth of each forwarding time slot on the link (u, v)∈E for deterministic flow transmission; B is the set of ratios of the maximum bandwidth for deterministic flow transmission to the total bandwidth of the link; y f,(u,v) is a Boolean variable whose value is 1 if the deterministic flow f∈F uses the link (u,v)∈E, otherwise it is 0; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The jth link p j The time slot offset on the ; M is a constant used for linearization; is the number of deterministic queues on link (u,v)∈E; is an integer variable whose value represents the arrival time of the ith data packet of the deterministic flow f∈F at path p∈P in a supercycle.f The total queuing delay experienced when the j-th link is forwarded; c is the size of the forwarding time slot; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The total propagation delay experienced when passing through the jth link; d (u,v) represents the propagation delay of link (u,v)∈E; m f represents the end-to-end maximum delay limit of the deterministic flow f∈F; is a Boolean variable whose value indicates that the i-th data packet of the deterministic flow f∈F in a supercycle uses the k-th forwarding time slot of each supercycle on the link (u,v)∈E; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The forwarding time slot on the jth link.

[0035] Preferably, solving the two-layer optimization model includes:

[0036] The bi-level optimization model is solved by adopting the branch and bound method or the branch and cut plane method of bi-level optimization.

[0037] Preferably, distinguishing between non-deterministic flows and deterministic flows in network flows includes:

[0038] A flow classifier is used to distinguish the non-deterministic flow and the deterministic flow in the network flow.

[0039] A scheduling device, comprising:

[0040] A distinguishing module, used to distinguish non-deterministic flows and deterministic flows in the network flow, control the non-deterministic flow to enter the non-deterministic queue, control the deterministic flow to enter the deterministic queue according to the deterministic flow scheduling parameter, and use the deterministic scheduling mechanism to schedule the deterministic queue;

[0041] A first scheduling module, configured to perform scheduling between the deterministic queue and the non-deterministic queue using a priority queue scheduling mechanism according to a port bandwidth allocation parameter;

[0042] The scheduling device further includes an acquisition module for acquiring the deterministic flow scheduling parameters and the port bandwidth allocation parameters, and the acquisition module includes:

[0043] A setting unit, used to set the deterministic queue to adopt a deterministic scheduling mechanism, and the non-deterministic queue and the deterministic queue to adopt a priority queue scheduling mechanism;

[0044] A setting unit, used to set a two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow;

[0045] A solving unit is used to solve the two-layer optimization model to obtain the port bandwidth allocation parameters and the deterministic flow scheduling parameters.

[0046] Preferably, it also includes:

[0047] A second setting module is used to set the non-deterministic queue to adopt any one of the following scheduling mechanisms when setting the deterministic queue to adopt the deterministic scheduling mechanism and the non-deterministic queue and the deterministic queue to adopt the priority queue scheduling mechanism: priority queue scheduling mechanism, polling scheduling mechanism, weighted fair queue scheduling mechanism;

[0048] The second scheduling module is used to schedule the non-deterministic queue by using the scheduling mechanism set for the non-deterministic queue after controlling the non-deterministic flow to enter the non-deterministic queue.

[0049] A dispatching device, comprising:

[0050] Memory for storing computer programs;

[0051] A processor is used to implement the steps of the scheduling method as described in any one of the above when executing the computer program.

[0052] A readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the scheduling method described in any one of the above items are implemented.

[0053] The present application provides a scheduling method, apparatus, device and readable storage medium, wherein the method comprises: distinguishing non-deterministic flows and deterministic flows in a network flow, controlling the non-deterministic flows to enter a non-deterministic queue, controlling the deterministic flows to enter a deterministic queue according to a deterministic flow scheduling parameter, and scheduling the deterministic queue using a deterministic scheduling mechanism; scheduling between the deterministic queue and the non-deterministic queue using a priority queue scheduling mechanism according to a port bandwidth allocation parameter; the acquisition process of the deterministic flow scheduling parameter and the port bandwidth allocation parameter is as follows: setting the deterministic queue to adopt the deterministic scheduling mechanism, and the non-deterministic queue and the deterministic queue to adopt the priority queue scheduling mechanism; setting a two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow; solving the two-layer optimization model to obtain the port bandwidth allocation parameter and the deterministic flow scheduling parameter.

[0054] The above technical solution disclosed in the present application pre-sets that the deterministic queue corresponding to the deterministic flow adopts a deterministic scheduling mechanism, and the non-deterministic queue corresponding to the non-deterministic flow adopts a priority queue scheduling mechanism with the deterministic queue. A two-layer optimization model corresponding to the deterministic scheduling mechanism + the priority queue scheduling mechanism is set, and the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, so as to improve the QoS of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow, so as to improve the scheduling performance of the deterministic flow. Afterwards, the two-layer optimization model is solved to obtain the port bandwidth allocation parameters and deterministic flow scheduling parameters that simultaneously meet the maximization of the available bandwidth of the non-deterministic flow and the maximization of the network throughput of the deterministic flow, wherein the obtained deterministic flow scheduling parameters are the routing parameters of the deterministic flow, that is, the routing setting of the deterministic flow can be realized through the above-mentioned two-layer optimization model, so as to effectively solve the routing problem of the deterministic flow. After receiving the network flow, the non-deterministic flow and the deterministic flow in the network flow are distinguished, the non-deterministic flow is controlled to enter the non-deterministic queue, the deterministic flow is controlled to enter the deterministic queue according to the deterministic scheduling parameters obtained by solving the double-layer optimization model, and the deterministic queue is scheduled using the deterministic scheduling mechanism according to the deterministic flow scheduling parameters, so as to effectively solve the routing and scheduling problems of the deterministic flow according to the deterministic flow scheduling parameters obtained by solving the double-layer optimization model, improve the network throughput of the deterministic flow scheduling, so as to improve the scheduling performance of the deterministic flow, and improve the rationality and reliability of the deterministic flow scheduling. In addition, the priority queue scheduling mechanism is used to schedule the deterministic queue and the non-deterministic queue according to the port bandwidth allocation parameters obtained by solving the double-layer optimization model, so as to reasonably allocate bandwidth resources to the deterministic flow and the non-deterministic flow when the deterministic flow and the non-deterministic flow coexist, that is, under the mixed scheduling of the deterministic flow and the non-deterministic flow, the network throughput of the deterministic flow and the available bandwidth of the non-deterministic flow are maximized, so as to improve the rationality and reliability of the mixed scheduling of the deterministic flow and the non-deterministic flow, and realize the full utilization of resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0056] Figure 1 A flowchart of a scheduling method provided in an embodiment of the present application;

[0057] Figure 2A logical diagram of a network switching device provided in an embodiment of the present application;

[0058] Figure 3 A simplified diagram of a hybrid scheduling mechanism for deterministic and non-deterministic flows of an output queue provided in an embodiment of the present application;

[0059] Figure 4 An example schematic diagram of a CSQF traffic scheduling mechanism provided in an embodiment of the present application;

[0060] Figure 5 A schematic diagram of the structure of a scheduling device provided in an embodiment of the present application;

[0061] Figure 6 A schematic diagram of the structure of a scheduling device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0062] At present, the existing scheduling mechanism only proposes a scheduling mechanism for deterministic flows, but does not design a solution for calculating the flow forwarding path and forwarding time slot for each deterministic flow. In other words, the existing scheduling mechanism does not make specific routing settings for each deterministic flow. In addition, for deterministic flows, currently, either the scheduling problem of deterministic flows is studied based on different scheduling mechanisms, or different types of deterministic flows are further subdivided to study the mixed scheduling problem of multiple deterministic flows. From the above, it can be seen that the existing scheduling mechanism does not take into account that in addition to deterministic flows, there are also a large number of non-deterministic flows in the network. A well-designed network should have the ability to schedule mixed non-deterministic flows and deterministic flows.

[0063] To this end, the present application provides a scheduling method, apparatus, device and readable storage medium for implementing hybrid scheduling of deterministic flows and non-deterministic flows and solving the routing problem of deterministic flows.

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

[0065] See also Figure 1 and Figure 3 ,in, Figure 1 A flowchart of a scheduling method provided in an embodiment of the present application is shown. Figure 2 A simplified logical diagram of a network switching device provided in an embodiment of the present application is shown. Figure 3A schematic diagram of a hybrid scheduling mechanism for deterministic flows and non-deterministic flows of an output queue provided by an embodiment of the present application is shown. A scheduling method provided by an embodiment of the present application may include:

[0066] S11: Set the deterministic queue corresponding to the deterministic flow to adopt a deterministic scheduling mechanism, and set the priority queue scheduling mechanism between the non-deterministic queue and the deterministic queue corresponding to the non-deterministic flow.

[0067] For details, please refer to Figure 2 , each node in the communication link (i.e. Figure 2 The network switching devices shown in the figure have multiple ports (the ports mentioned here include input ports and output ports), each of which is connected to the ports of adjacent network switching devices (i.e. nodes) through communication links. The nodes may include a switching engine, a priority filter (i.e. Figure 2 In the mixed scheduling of deterministic and non-deterministic flows, any network flow enters from the input port of the node, is switched to a specific output port by the switching engine, and is distinguished by the priority filter as a deterministic or non-deterministic flow. Then, it enters the multiple output queues of the output port. The output port selects a specific output queue according to the corresponding scheduling mechanism and outputs the data packets therein (specifically to the subsequent nodes).

[0068] like Figure 3 As shown, deterministic flows and non-deterministic flows can use different queues respectively, that is, deterministic flows use deterministic queues, and non-deterministic flows use non-deterministic queues. Set the deterministic queues corresponding to the deterministic flows to adopt a deterministic scheduling mechanism. Among them, the deterministic scheduling mechanism mentioned here can specifically be a CSQF (CyclicSpecified Queuing and Forwarding) scheduling mechanism or a DIP (Deterministic IP) scheduling mechanism. Among them, the DIP scheduling mechanism and the CSQF scheduling mechanism can achieve deterministic delay and jitter, and both mechanisms relax clock synchronization to frequency synchronization, and use multiple queues for deterministic flows to solve the problem of large propagation delay in large-scale networks. Compared with the DIP scheduling mechanism, the CSQF scheduling mechanism is more flexible in traffic scheduling due to the introduction of node forwarding time slot offsets. Therefore, it can be better applied to wide-area deterministic traffic scheduling. For details, please refer to Figure 4, which shows an example schematic diagram of a CSQF traffic scheduling mechanism provided in an embodiment of the present application. It is worth noting that CSQF is only a mechanism that defines how to schedule and forward deterministic flows. The application of CSQF also needs to solve the routing and scheduling problems of deterministic flows, that is, to select a transmission path for each deterministic flow and specify the forwarding time slot for each hop on the transmission path. On the other hand, in addition to deterministic flows, non-deterministic flows in the network cannot be ignored, otherwise it is easy for non-deterministic flows to be starved.

[0069] To this end, the present application sets a priority queue (PQ) scheduling mechanism between the non-deterministic queue corresponding to the non-deterministic flow and the deterministic queue corresponding to the deterministic flow. The priority queue scheduling mechanism stipulates that as long as the highest priority queue is not empty, the highest priority queue is always scheduled first, allowing the data packets therein to be transmitted. Among them, in the present application, the priority of the deterministic queue is higher than the priority of the non-deterministic queue.

[0070] The bandwidth of the node output port is divided into equal time slots. The bandwidth of each time slot is allocated to a deterministic queue and a non-deterministic queue in proportion. The bandwidth allocated to the deterministic queue can transmit all packets in a deterministic queue and part of the packets in a non-deterministic queue. In any time slot, the packets in the deterministic queue are transmitted first until all packets in the deterministic queue are transmitted, and then the packets in the non-deterministic queue are transmitted. It should be noted that the bandwidth allocated to the deterministic queue but not occupied by the deterministic flow can be used by the non-deterministic queue. Therefore, the amount of data of the transmitted non-deterministic flow depends on the bandwidth allocated to the non-deterministic queue in the time slot and the bandwidth allocated to the deterministic queue but not occupied by the deterministic flow. Qualitative analysis shows that, given the bandwidth used for deterministic flow transmission, the more deterministic queues there are, the larger the time slot offset allowed for the deterministic flow under the premise of meeting the end-to-end delay of the deterministic flow, the greater the scheduling flexibility of the deterministic flow, and thus improves the throughput of the deterministic flow; given the number of deterministic queues, the larger the bandwidth used for the non-deterministic flow in each time slot, the more conducive it is to improve the QoS of the non-deterministic flow. Therefore, how to divide the output queue into deterministic queues and non-deterministic queues, and how to allocate the bandwidth of the output port are crucial for hybrid scheduling. To this end, this application assumes that the output queue division is known, that is, the division of the queue into deterministic queues and non-deterministic queues is known, mainly solving the bandwidth allocation problem of the output port in hybrid scheduling, that is, mainly solving the bandwidth allocation when deterministic flows and non-deterministic flows are mixed.

[0071] S12: Setting a two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow.

[0072] On the basis of deterministic queues using deterministic scheduling mechanism + non-deterministic queues and deterministic queues using priority queue scheduling mechanism, the mixed scheduling of deterministic flows and non-deterministic flows needs to solve two problems: 1) allocate the bandwidth of the output port; 2) select a transmission path for each deterministic flow and determine the time slot offset of each hop on the transmission path. These two problems belong to two different stages. Problem 1) belongs to the network planning stage, and problem 2) belongs to the network operation stage. Network operation is based on network planning as a prerequisite, and network planning needs to consider network operation requirements. The solution of these two problems is not suitable for the conventional single-layer optimization model. Specifically, a two-layer optimization model can be used. The network planning of problem 1) corresponds to the upper-layer optimization problem, and the optimization goal is to maximize the transmission bandwidth of the non-deterministic flow. The network operation of problem 2) corresponds to the lower-layer optimization problem, and the optimization goal is to maximize the network throughput of the deterministic flow in the network planned in problem 1).

[0073] In response to the two problems that need to be solved in hybrid scheduling, the present application sets up a two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism, and the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, so as to improve the QoS (Quality of Service) of the non-deterministic flow. The optimization goal of the lower optimization model in the two-layer optimization model is to maximize the network throughput of the deterministic flow, so as to reduce the occupancy of bandwidth resources, while improving the flexibility, rationality and reliability of deterministic flow scheduling.

[0074] S13: Solve the two-layer optimization model to obtain port bandwidth allocation parameters and deterministic flow scheduling parameters.

[0075] After setting up the two-layer optimization model, you can input constants such as the number of queues of nodes on the link in the network topology, the number of deterministic queues, the total link bandwidth (i.e., the transmission bandwidth of the link), the set of ratios of the maximum bandwidth for deterministic flow transmission to the total link bandwidth (i.e., the set of feasible ratios of the maximum bandwidth for deterministic flow transmission to the total link bandwidth), and solve the set two-layer optimization model to obtain the port bandwidth allocation parameters and deterministic flow scheduling parameters.

[0076] Among them, the obtained deterministic flow scheduling parameters can specifically include the transmission path of each deterministic flow, the forwarding time slot of each hop on the specified transmission path, etc., that is, the forwarding path, forwarding time slot, etc. of each deterministic flow can be obtained by using the two-layer optimization model, that is, the routing setting of the deterministic flow can be determined by using the two-layer optimization model to solve the routing determination problem of the deterministic flow. Accordingly, when the deterministic flow is subsequently scheduled according to the deterministic flow scheduling parameters, the scheduling problem of the deterministic flow can be effectively solved, that is, the routing and scheduling problem of the deterministic flow can be effectively solved through this application. The port bandwidth allocation parameter can specifically include the maximum bandwidth used for deterministic flow transmission in each forwarding time slot on the link and the bandwidth used for non-deterministic flow transmission in each forwarding time slot on the link. For the port bandwidth allocation parameter, the maximum bandwidth used for deterministic flow transmission in each forwarding time slot on the link can be obtained by solving the two-layer optimization model, and then the transmission bandwidth of the link is subtracted from the maximum bandwidth used for deterministic flow transmission in each forwarding time slot on the link to obtain the bandwidth used for non-deterministic flow transmission in each forwarding time slot on the link.

[0077] Since the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of non-deterministic flows, and the optimization goal of the lower optimization model is to maximize the network throughput of deterministic flows, the port bandwidth allocation parameters and deterministic flow scheduling parameters obtained by solving the two-layer model simultaneously satisfy the maximization of the network throughput of deterministic flows and the maximization of the available bandwidth of non-deterministic flows.

[0078] It should be noted that steps S11 to S13 are the process of pre-building a two-layer optimization model, solving the two-layer optimization model, and obtaining deterministic flow scheduling parameters and port bandwidth allocation parameters. When performing flow scheduling, scheduling can be performed based on the obtained deterministic flow scheduling parameters and port bandwidth allocation parameters.

[0079] S14: Distinguish the non-deterministic flow and the deterministic flow in the network flow, control the non-deterministic flow to enter the non-deterministic queue, control the deterministic flow to enter the deterministic queue according to the deterministic flow scheduling parameters, and use the deterministic scheduling mechanism to schedule the deterministic queue.

[0080] When performing flow scheduling, after receiving the network flow, first, distinguish the non-deterministic flow and the deterministic flow in the network flow. Then, control the non-deterministic flow to enter the non-deterministic queue. In addition, according to the obtained deterministic flow scheduling parameters (that is, the deterministic flow scheduling parameters obtained according to steps S11-S13, which can be the forwarding time slot of each hop on the transmission path specified in the deterministic flow scheduling parameters) and the time slots corresponding to each deterministic queue in the corresponding node (one deterministic queue is bound to one time slot), the deterministic flow is controlled to enter the deterministic queue, and the deterministic queue can be scheduled (specifically, the deterministic flow in the deterministic queue is scheduled) according to the deterministic scheduling parameters (which can be the transmission path of each deterministic flow in the deterministic scheduling parameters, and the forwarding time slot of each hop on the specified transmission path) using the set deterministic scheduling mechanism to effectively solve the routing and scheduling problems of deterministic flows.

[0081] Moreover, since the obtained deterministic flow scheduling parameters simultaneously satisfy the maximization of the available bandwidth of the non-deterministic flow and the maximization of the network throughput of the deterministic flow, the deterministic flow is controlled to enter the deterministic queue according to the deterministic flow scheduling parameters obtained by solving the constructed two-layer optimization model, and the deterministic queue is scheduled using a deterministic scheduling mechanism. The network throughput of the deterministic flow scheduling can be improved to improve the scheduling performance and rationality of the deterministic flow, and to reduce the occupancy of the link transmission bandwidth as much as possible, so that more transmission bandwidth is available for the non-deterministic flow to use, so as to improve the rationality and reliability of the mixed scheduling of deterministic and non-deterministic flows, and to achieve full utilization of resources. It should be noted that in the present application, the total number of queues of the deterministic queues used for deterministic flow scheduling and the non-deterministic queues used for non-deterministic flow scheduling is known (that is, the number of queues of the output port in the node is known), and the number of deterministic queues used for deterministic flow scheduling is also known.

[0082] S15: According to the port bandwidth allocation parameter, a priority queue scheduling mechanism is used to schedule between the deterministic queue and the non-deterministic queue.

[0083] For the mixed scheduling of deterministic flows and non-deterministic flows, the obtained port bandwidth allocation parameters (i.e., the port bandwidth allocation parameters obtained according to steps S11 to S13, specifically including the maximum bandwidth used for deterministic flow transmission in each forwarding time slot on the link and the bandwidth used for non-deterministic flow transmission in each forwarding time slot on the link) can be used to schedule between the deterministic queue and the non-deterministic queue (specifically, the deterministic flows in the deterministic queue and the non-deterministic flows in the non-deterministic queue are scheduled), so as to realize the use of the set two-layer optimization model to reasonably allocate bandwidth to the deterministic flow and the non-deterministic flow, specifically, the scheduling of the deterministic flow satisfies the maximization of the network throughput, and the scheduling of the non-deterministic flow satisfies the maximization of the available bandwidth, thereby effectively solving the mixed flow scheduling problem of deterministic and non-deterministic flows, and improving the flexibility of the deterministic flow scheduling and the QoS of the non-deterministic flow scheduling in the mixed scheduling, and realizing the full utilization of bandwidth resources.

[0084] The above technical solution disclosed in the present application pre-sets that the deterministic queue corresponding to the deterministic flow adopts a deterministic scheduling mechanism, and the non-deterministic queue corresponding to the non-deterministic flow adopts a priority queue scheduling mechanism with the deterministic queue. A two-layer optimization model corresponding to the deterministic scheduling mechanism + the priority queue scheduling mechanism is set, and the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, so as to improve the QoS of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow, so as to improve the scheduling performance of the deterministic flow. Afterwards, the two-layer optimization model is solved to obtain the port bandwidth allocation parameters and deterministic flow scheduling parameters that simultaneously meet the maximization of the available bandwidth of the non-deterministic flow and the maximization of the network throughput of the deterministic flow, wherein the obtained deterministic flow scheduling parameters are the routing parameters of the deterministic flow, that is, the routing setting of the deterministic flow can be realized through the above-mentioned two-layer optimization model, so as to effectively solve the routing problem of the deterministic flow. After receiving the network flow, the non-deterministic flow and the deterministic flow in the network flow are distinguished, the non-deterministic flow is controlled to enter the non-deterministic queue, the deterministic flow is controlled to enter the deterministic queue according to the deterministic scheduling parameters obtained by solving the double-layer optimization model, and the deterministic queue is scheduled using the deterministic scheduling mechanism according to the deterministic flow scheduling parameters, so as to effectively solve the routing and scheduling problems of the deterministic flow according to the deterministic flow scheduling parameters obtained by solving the double-layer optimization model, improve the network throughput of the deterministic flow scheduling, so as to improve the scheduling performance of the deterministic flow, and improve the rationality and reliability of the deterministic flow scheduling. In addition, the priority queue scheduling mechanism is used to schedule the deterministic queue and the non-deterministic queue according to the port bandwidth allocation parameters obtained by solving the double-layer optimization model, so as to reasonably allocate bandwidth resources to the deterministic flow and the non-deterministic flow when the deterministic flow and the non-deterministic flow coexist, that is, under the mixed scheduling of the deterministic flow and the non-deterministic flow, the network throughput of the deterministic flow and the available bandwidth of the non-deterministic flow are maximized, so as to improve the rationality and reliability of the mixed scheduling of the deterministic flow and the non-deterministic flow, and realize the full utilization of resources.

[0085] A scheduling method provided in an embodiment of the present application may further include:

[0086] Set the non-deterministic queue to use any of the following scheduling mechanisms: priority queue scheduling mechanism, polling scheduling mechanism, weighted fair queue scheduling mechanism;

[0087] After controlling the non-deterministic flow to enter the non-deterministic queue, it can also include:

[0088] The non-deterministic queue is scheduled using a scheduling mechanism set for the non-deterministic queue.

[0089] When setting the deterministic queue to adopt the deterministic scheduling mechanism and the non-deterministic queue and the deterministic queue to adopt the priority queue scheduling mechanism, the non-deterministic queue can also be set to adopt any of the following scheduling mechanisms: priority queue scheduling mechanism, round robin scheduling mechanism (RR), weighted fair queue (WFQ, Weighted Fair Queuing). Among them, the round robin scheduling mechanism and the weighted fair scheduling mechanism are both characterized by cyclic scheduling of all non-deterministic queues. The difference is that in each round of cycles, the round robin scheduling mechanism allows each queue to transmit a certain number of data packets based on its deficit, while the weighted fair queue scheduling mechanism allows each queue to transmit a certain number of bytes based on its weight.

[0090] After controlling the non-deterministic flow to enter the non-deterministic queue, the scheduling mechanism set for the non-deterministic queue (specifically, any one of the priority queue scheduling mechanism, polling scheduling mechanism, and weighted fair queue scheduling mechanism mentioned above) can be used to schedule the non-deterministic queue, so as to schedule the non-deterministic flow in the non-deterministic queue according to a certain scheduling mechanism, thereby improving the rationality and reliability of non-deterministic flow scheduling.

[0091] A scheduling method provided in an embodiment of the present application, wherein the deterministic scheduling mechanism is a CSQF scheduling mechanism.

[0092] In the present application, the CSQF scheduling mechanism is specifically adopted as the deterministic scheduling mechanism, wherein the CSQF scheduling mechanism introduces a node forwarding time slot offset, and therefore, can make the scheduling of deterministic flows more flexible.

[0093] In a scheduling method provided in an embodiment of the present application, the upper optimization model in the two-layer optimization model is:

[0094]

[0095] The lower optimization model in the two-layer optimization model is:

[0096]

[0097] Constraints on the two-level optimization model can include:

[0098] Limit the maximum bandwidth available for deterministic streaming on each link:

[0099] The transmission path of each admitted deterministic stream is limited to:

[0100] For each admitted deterministic flow, find all the links on its transmission path: yf(u,v) ≤x f,p ,

[0101] Ensure that the time slot offset of the admitted deterministic stream on each link of the transmission path is within the correct range:

[0102] Calculate the queuing delay and propagation delay of each deterministic flow on the transmission path:

[0103] Ensure that each admitted deterministic flow meets the end-to-end maximum delay limit:

[0104] Ensure that each admitted deterministic flow is allocated a transmission slot on each link of its transmission path:

[0105] Calculate the transmission time slot of each admitted deterministic flow on each link of its transmission path:

[0106] Ensure that time slot allocation meets link bandwidth constraints:

[0107] Among them, b (u,v) is the transmission bandwidth of link (u, v)∈E, link (u, v)∈E represents the directed link between adjacent node u and node v, and the directed link set E represents the communication link; F = {f} represents the set of deterministic flows; P f is the set of feasible transmission paths for deterministic flow f∈F, p∈P f , p represents P f Any feasible transmission path in the transmission path p, |p| represents the number of hops of the transmission path p (or the number of links included in the transmission path p), l f is the size of the packet of deterministic flow f, g f is the number of packets of deterministic flow f in a super cycle. The super cycle consists of several consecutive forwarding time slots. h represents the super cycle. f,p is a Boolean variable whose value is 1, indicating that the deterministic flow f∈F uses the path p∈P f , otherwise 0; is an integer variable, representing the maximum bandwidth of each forwarding time slot on the link (u, v)∈E for deterministic flow transmission; B is the set of ratios of the maximum bandwidth for deterministic flow transmission to the total bandwidth of the link; y f,(u,v)is a Boolean variable whose value is 1 if the deterministic flow f∈F uses the link (u,v)∈E, otherwise it is 0; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The jth link p j The time slot offset on the ; M is a constant used for linearization; is the number of deterministic queues on link (u,v)∈E; is an integer variable whose value represents the arrival time of the ith data packet of the deterministic flow f∈F at path p∈P in a supercycle. f The total queuing delay experienced when the j-th link is forwarded; c is the size of the forwarding time slot; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The total propagation delay experienced when passing through the jth link; d (u,v) represents the propagation delay of link (u,v)∈E; m f represents the end-to-end maximum delay limit of the deterministic flow f∈F; is a Boolean variable whose value indicates that the i-th data packet of the deterministic flow f∈F in a supercycle uses the k-th forwarding time slot of each supercycle on the link (u,v)∈E; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The forwarding time slot on the jth link.

[0108] In this application, based on the CSQF scheduling mechanism as a deterministic scheduling mechanism, a directed graph G(V,E) can be used to represent the physical network, where the node set V represents the switching device and the directed link set E represents the communication link. Link (u,v)∈E is used to represent the directed link between the adjacent node u and the node v, connecting the output port of the node u with the input port of the node v. The output port of the node u∈V has a certain number of queues n (u,) (e.g. 8), where queues are used for deterministic flow forwarding, and the remaining The queues are used to forward non-deterministic flows. The propagation delay of the link (u,v)∈E is denoted as d (u,) ; The bandwidth of link (u,v)∈E is denoted by b (u,) ,in, For deterministic flow transmission, B represents the feasible ratio set of the maximum bandwidth for deterministic flow transmission and the total link bandwidth. c is used to represent the size of the forwarding time slot (CSQF scheduling mechanism introduces node forwarding time slot offset). The super cycle consists of several consecutive forwarding time slots. h represents the size of the super cycle. The transmission behavior of all deterministic flows is repeated in the super cycle. F = {f} is used to represent the set of deterministic flows, s f is the source node of the deterministic flow f, t f is the destination node of the deterministic flow f; P f For f to f The row path set of m f is the maximum end-to-end delay limit of the deterministic flow f; l f is the size of the data packet of the deterministic flow f; g f is the number of packets of deterministic flow f in one super cycle.

[0109] In the two-level optimization model, the constants are:

[0110] G(V,E): network topology; The number of deterministic queues on link (u,v)∈E; b (u,) : The transmission bandwidth of link (u,v)∈E; d (u,v) : propagation delay of link (u,v)∈E; c: size of forwarding slot; h: super period consisting of several forwarding slots; F = {f}: set of deterministic flows; P f : The set of feasible transmission paths for deterministic flow f∈F; m f : The maximum end-to-end delay limit of the deterministic flow f∈F; l f : The size of the data packet of the deterministic flow f∈F; g f : The number of packets of the deterministic flow f∈F in a super cycle; B: The feasible ratio set of the maximum bandwidth for deterministic flow transmission and the total bandwidth of the link; M: A sufficiently large constant for linearization. The setting of M can facilitate the convenience of solving the two-layer optimization model. Among them, when solving the two-layer optimization model, the above constants are input into the two-layer optimization model as input quantities. In the two-layer optimization model, the variables are specifically (that is, the maximum bandwidth for deterministic flow transmission in each forwarding time slot on the link contained in the deterministic flow scheduling parameters and port bandwidth allocation parameters obtained by solving the two-layer optimization model):

[0111] Integer variable, the maximum bandwidth used for deterministic flow transmission in each forwarding slot on link (u,v)∈E;

[0112] x f,p: Boolean variable whose value is 1 indicates that the deterministic flow f∈F uses the path p∈P f , otherwise 0;

[0113] y f,(u,v) : Boolean variable, its value is 1 if the deterministic flow f∈F uses the link (u,v)∈E, otherwise it is 0;

[0114] Integer variable whose value represents the number of packets of the deterministic flow f∈F on the path p∈P in a supercycle. j The jth link p j The time slot offset on

[0115] Integer variable whose value represents the arrival time of the ith packet of the deterministic flow f∈F on path p∈P in a supercycle f The total queuing delay experienced when the j-th link is connected;

[0116] Integer variable whose value represents the number of packets of the deterministic flow f∈F on the path p∈P in a supercycle. f The total propagation delay experienced when passing through the jth link;

[0117] A Boolean variable whose value indicates that the i-th packet of the deterministic flow f∈F in a supercycle uses the k-th forwarding slot of each supercycle on the link (u,v)∈E;

[0118] Integer variable whose value represents the number of packets of the deterministic flow f∈F on the path p∈P in a supercycle. f The forwarding time slot on the jth link.

[0119] In the two-layer optimization model, the optimization goal of the upper layer optimization model is to maximize the available bandwidth of non-deterministic flows:

[0120]

[0121] The optimization goal of the underlying optimization model is to maximize the throughput of the admitted deterministic flow:

[0122]

[0123] The constraints of the two-level optimization model specifically include:

[0124]

[0125] Formula (3) defines the maximum bandwidth available for deterministic streaming on each link.

[0126]

[0127] Formula (4) defines the conditions that must be met by the transmission path of each admitted deterministic flow.

[0128]

[0129] Formula (5) finds all the links on the transmission path for each admitted deterministic flow.

[0130]

[0131] Formula (6) ensures that the time slot offset of the admitted deterministic flow on each link of the transmission path is within the correct range (i.e., less than or equal to In the range of This is the maximum time slot offset allowed in the CSQF scheduling mechanism.

[0132]

[0133] Formula (7) calculates the queuing delay and propagation delay of each deterministic flow on the transmission path.

[0134]

[0135] Formula (8) ensures that each admitted deterministic flow meets the end-to-end maximum delay constraint. Formulas (7) and (8) are used to limit the end-to-end delay of each admitted deterministic flow.

[0136]

[0137] Formula (9) ensures that each admitted deterministic flow is allocated a transmission time slot on each link of its transmission path.

[0138]

[0139]

[0140] Formulas (10)-(11) calculate the transmission time slot of each admitted deterministic flow on each link of its transmission path.

[0141]

[0142] Formula (12) ensures that the time slot allocation meets the link bandwidth limit.

[0143] Among the above constraints, formula (3) is the constraint condition of the upper optimization model in the two-layer optimization model, and formulas (4)-(12) are the constraint conditions of the lower optimization model in the two-layer optimization model.

[0144] By solving the above two-layer optimization model, the maximum bandwidth for deterministic flow transmission in each forwarding time slot on the link included in the port bandwidth allocation parameter can be obtained. Then, use The bandwidth used for non-deterministic flow transmission in each forwarding time slot on the link is obtained, and the deterministic flow scheduling parameters can be obtained: f,p ,y f,(u,v) , In order to facilitate reasonable scheduling based on the solution results.

[0145] A scheduling method provided in an embodiment of the present application solves a two-layer optimization model, which may include:

[0146] The bi-level optimization model is solved by using the branch and bound method or the branch and cut plane method of bi-level optimization.

[0147] In the present application, the branch and bound method or the branch and cut plane method of the double-layer optimization can be specifically used to solve the double-layer optimization model to improve the accuracy of solving the double-layer optimization model.

[0148] A scheduling method provided in an embodiment of the present application, which distinguishes non-deterministic flows and deterministic flows in network flows, may include:

[0149] The flow classifier is used to distinguish non-deterministic flows and deterministic flows in network flows.

[0150] In the present application, the flow classifier contained in the node can be specifically used to distinguish the type of network flow as a deterministic flow or a non-deterministic flow, thereby improving the convenience and accuracy of distinguishing between deterministic flow and non-deterministic flow.

[0151] The present application also provides a scheduling device, see Figure 5 , which shows a schematic diagram of the structure of a scheduling device provided in an embodiment of the present application, which may include:

[0152] A distinguishing module 51, used to distinguish non-deterministic flows and deterministic flows in the network flow, control the non-deterministic flow to enter the non-deterministic queue, control the deterministic flow to enter the deterministic queue according to the deterministic flow scheduling parameter, and use the deterministic scheduling mechanism to schedule the deterministic queue;

[0153] A first scheduling module 52, configured to perform scheduling between deterministic queues and non-deterministic queues using a priority queue scheduling mechanism according to port bandwidth allocation parameters;

[0154] The scheduling device also includes an acquisition module 53 for acquiring deterministic flow scheduling parameters and port bandwidth allocation parameters. The acquisition module 53 includes:

[0155] A setting unit, used for setting a deterministic queue to adopt a deterministic scheduling mechanism, and a priority queue scheduling mechanism to be adopted between a non-deterministic queue and a deterministic queue;

[0156] A setting unit is used to set a two-layer optimization model corresponding to a deterministic scheduling mechanism and a priority queue scheduling mechanism; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow;

[0157] The solving unit is used to solve the double-layer optimization model to obtain the port bandwidth allocation parameters and the deterministic flow scheduling parameters.

[0158] A scheduling device provided in an embodiment of the present application may further include:

[0159] A second setting module is used to set the non-deterministic queue to adopt any one of the following scheduling mechanisms: priority queue scheduling mechanism, polling scheduling mechanism, and weighted fair queue scheduling mechanism when setting the deterministic queue to adopt the deterministic scheduling mechanism and the non-deterministic queue and the deterministic queue to adopt the priority queue scheduling mechanism;

[0160] The second scheduling module is used to schedule the non-deterministic queue by using the scheduling mechanism set for the non-deterministic queue after controlling the non-deterministic flow to enter the non-deterministic queue.

[0161] An embodiment of the present application provides a scheduling device, in which the deterministic scheduling mechanism is a CSQF scheduling mechanism.

[0162] An embodiment of the present application provides a scheduling device, in which the upper optimization model in the double-layer optimization model is:

[0163]

[0164] The lower optimization model in the two-layer optimization model is:

[0165]

[0166] Constraints on the two-level optimization model can include:

[0167] Limit the maximum bandwidth available for deterministic streaming on each link:

[0168] The transmission path of each admitted deterministic stream is limited to:

[0169] For each admitted deterministic flow, find all links on its transmission path:

[0170] Ensure that the time slot offset of the admitted deterministic stream on each link of the transmission path is within the correct range:

[0171] Calculate the queuing delay and propagation delay of each deterministic flow on the transmission path:

[0172] Ensure that each admitted deterministic flow meets the end-to-end maximum delay limit:

[0173] Ensure that each admitted deterministic flow is allocated a transmission slot on each link of its transmission path:

[0174] Calculate the transmission time slot of each admitted deterministic flow on each link of its transmission path:

[0175] Ensure that time slot allocation meets link bandwidth constraints:

[0176] Among them, b (u,v) is the transmission bandwidth of link (u, v)∈E, link (u, v)∈E represents the directed link between adjacent node u and node v, and the directed link set E represents the communication link; F = {f} represents the set of deterministic flows; P f is the set of feasible transmission paths for deterministic flow f∈F, p∈P f , p represents P f Any feasible transmission path in the transmission path, |p| represents the number of hops of the transmission path p, l f is the size of the packet of deterministic flow f, g f is the number of packets of deterministic flow f in a super cycle. The super cycle consists of several consecutive forwarding time slots. h represents the super cycle. f,p is a Boolean variable whose value is 1, indicating that the deterministic flow f∈F uses the path p∈P f , otherwise 0; is an integer variable, representing the maximum bandwidth of each forwarding time slot on the link (u, v)∈E for deterministic flow transmission; B is the set of ratios of the maximum bandwidth for deterministic flow transmission to the total bandwidth of the link; y f,(u,v) is a Boolean variable whose value is 1 if the deterministic flow f∈F uses the link (u,v)∈E, otherwise it is 0; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P fThe jth link p j The time slot offset on the ; M is a constant used for linearization; is the number of deterministic queues on link (u,v)∈E; is an integer variable whose value represents the arrival time of the ith data packet of the deterministic flow f∈F at path p∈P in a supercycle. f The total queuing delay experienced when the j-th link is forwarded; c is the size of the forwarding time slot; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The total propagation delay experienced when passing through the jth link; d (u,v) represents the propagation delay of link (u,v)∈E; m f represents the end-to-end maximum delay limit of the deterministic flow f∈F; is a Boolean variable whose value indicates that the i-th data packet of the deterministic flow f∈F in a supercycle uses the k-th forwarding time slot of each supercycle on the link (u,v)∈E; is an integer variable whose value represents the number of packets of the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The forwarding time slot on the jth link.

[0177] In a scheduling device provided in an embodiment of the present application, a solving unit may include:

[0178] The solving subunit is used to solve the bi-level optimization model by adopting the branch and bound method or the branch and cut plane method of bi-level optimization.

[0179] In a scheduling device provided in an embodiment of the present application, the distinguishing module 51 may include:

[0180] The distinguishing unit is used to distinguish the non-deterministic flow and the deterministic flow in the network flow by using the flow classifier.

[0181] The present application also provides a scheduling device, see Figure 6 , which shows a schematic diagram of the structure of a scheduling device provided in an embodiment of the present application, which may include:

[0182] A memory 61, used for storing computer programs;

[0183] The processor 62, when used to execute the computer program stored in the memory 61, can implement the following steps:

[0184] Distinguish the non-deterministic flow and deterministic flow in the network flow, control the non-deterministic flow to enter the non-deterministic queue, control the deterministic flow to enter the deterministic queue according to the deterministic flow scheduling parameters, and use the deterministic scheduling mechanism to schedule the deterministic queue; according to the port bandwidth allocation parameters, use the priority queue scheduling mechanism to schedule between the deterministic queue and the non-deterministic queue; the process of obtaining the deterministic flow scheduling parameters and the port bandwidth allocation parameters is as follows: set the deterministic queue to use the deterministic scheduling mechanism, and use the priority queue scheduling mechanism between the non-deterministic queue and the deterministic queue; set a two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow; solve the two-layer optimization model to obtain the port bandwidth allocation parameters and the deterministic flow scheduling parameters.

[0185] The present application also provides a readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the following steps can be implemented:

[0186] Distinguish the non-deterministic flow and deterministic flow in the network flow, control the non-deterministic flow to enter the non-deterministic queue, control the deterministic flow to enter the deterministic queue according to the deterministic flow scheduling parameters, and use the deterministic scheduling mechanism to schedule the deterministic queue; according to the port bandwidth allocation parameters, use the priority queue scheduling mechanism to schedule between the deterministic queue and the non-deterministic queue; the process of obtaining the deterministic flow scheduling parameters and the port bandwidth allocation parameters is as follows: set the deterministic queue to use the deterministic scheduling mechanism, and use the priority queue scheduling mechanism between the non-deterministic queue and the deterministic queue; set a two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow; solve the two-layer optimization model to obtain the port bandwidth allocation parameters and the deterministic flow scheduling parameters.

[0187] The readable storage medium may include: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0188] For the description of the relevant parts of a scheduling device, equipment and readable storage medium provided in an embodiment of the present application, reference can be made to the detailed description of the relevant parts of a scheduling method provided in an embodiment of the present application, which will not be repeated here.

[0189] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the term "include", "comprise" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or equipment that includes a series of elements are inherent to the elements. In the absence of more restrictions, the elements limited by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or equipment that includes the elements. In addition, the above-mentioned technical solution provided in the embodiment of the present application is consistent with the corresponding technical solution in the prior art in principle, and the part is not described in detail, so as not to repeat too much.

[0190] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A scheduling method, characterized in that: include: Distinguish non-deterministic flows and deterministic flows in network flows, control the non-deterministic flows to enter a non-deterministic queue, control the deterministic flows to enter a deterministic queue according to a deterministic flow scheduling parameter, and schedule the deterministic queue using a deterministic scheduling mechanism; According to the port bandwidth allocation parameter, a priority queue scheduling mechanism is used to schedule between the deterministic queue and the non-deterministic queue; The process of obtaining the deterministic flow scheduling parameters and the port bandwidth allocation parameters is as follows: Setting the deterministic queue to adopt a deterministic scheduling mechanism, and the non-deterministic queue and the deterministic queue to adopt a priority queue scheduling mechanism; A two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism is set; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow; The two-layer optimization model is solved to obtain the port bandwidth allocation parameters and the deterministic flow scheduling parameters.

2. The scheduling method according to claim 1, characterized in that: When the deterministic queue is set to adopt a deterministic scheduling mechanism, and the non-deterministic queue and the deterministic queue adopt a priority queue scheduling mechanism, it also includes: The non-deterministic queue is set to adopt any one of the following scheduling mechanisms: priority queue scheduling mechanism, polling scheduling mechanism, weighted fair queue scheduling mechanism; After controlling the non-deterministic flow to enter the non-deterministic queue, the method further includes: The non-deterministic queue is scheduled using the scheduling mechanism set for the non-deterministic queue.

3. The scheduling method according to claim 1, characterized in that: The deterministic scheduling mechanism is the CSQF scheduling mechanism.

4. The scheduling method according to claim 3, characterized in that: The upper optimization model in the two-layer optimization model is: The lower optimization model in the two-layer optimization model is: The constraints of the two-level optimization model include: Limit the maximum bandwidth available for deterministic streaming on each link: The transmission path of each admitted deterministic stream is limited to: For each admitted deterministic flow, find all links on its transmission path: Ensure that the time slot offset of the admitted deterministic stream on each link of the transmission path is within the correct range: Calculate the queuing delay and propagation delay of each deterministic flow on the transmission path: Ensure that each admitted deterministic flow meets the end-to-end maximum delay limit: Each admitted deterministic flow is guaranteed to be allocated a transmission slot on each link of its transmission path: Calculate the transmission time slot of each admitted deterministic flow on each link of its transmission path: Ensure that time slot allocation meets link bandwidth constraints: Among them, b (u,) is the transmission bandwidth of link (u, v)∈E, link (u, v)∈E represents the directed link between adjacent node u and node v, and the directed link set E represents the communication link; F = {f} represents the set of deterministic flows; P f is the set of feasible transmission paths for deterministic flow f∈F, p∈P f , p represents P f Any feasible transmission path in the transmission path, |p| represents the number of hops of the transmission path p, l f is the size of the packet of deterministic flow f, g f is the number of packets of the deterministic flow f in a super cycle, the super cycle is composed of a number of consecutive forwarding time slots, and h represents the super cycle; x f,p is a Boolean variable whose value is 1, indicating that the deterministic flow f∈F uses the path p∈P f , otherwise 0; is an integer variable, representing the maximum bandwidth of each forwarding time slot on the link (u, v)∈E for deterministic flow transmission; B is the set of ratios of the maximum bandwidth for deterministic flow transmission to the total bandwidth of the link; y f,(u,v) is a Boolean variable whose value is 1 if the deterministic flow f∈F uses the link (u,v)∈E, otherwise it is 0; is an integer variable whose value represents the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The jth link p j The time slot offset on the ; M is a constant used for linearization; is the number of deterministic queues on link (u,v)∈E; is an integer variable whose value represents the arrival time of the ith data packet of the deterministic flow f∈F at path p∈P in a supercycle. f The total queuing delay experienced when the j-th link is forwarded; c is the size of the forwarding time slot; is an integer variable whose value represents the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The total propagation delay experienced when passing through the jth link; d (u,v) represents the propagation delay of link (u,v)∈E; m f represents the end-to-end maximum delay limit of the deterministic flow f∈F; is a Boolean variable whose value indicates that the i-th data packet of the deterministic flow f∈F in a supercycle uses the k-th forwarding time slot of each supercycle on the link (u,v)∈E; is an integer variable whose value represents the i-th packet of the deterministic flow f∈F in a super cycle on the path p∈P f The forwarding time slot on the jth link.

5. The scheduling method according to claim 1, characterized in that: Solving the two-layer optimization model includes: The bi-level optimization model is solved by adopting the branch and bound method or the branch and cut plane method of bi-level optimization.

6. The scheduling method according to claim 1, characterized in that: Distinguish between non-deterministic and deterministic flows in network flows, including: A flow classifier is used to distinguish the non-deterministic flow and the deterministic flow in the network flow.

7. A scheduling device, characterized in that: include: A distinguishing module, used to distinguish non-deterministic flows and deterministic flows in network flows, control the non-deterministic flows to enter the non-deterministic queue, control the deterministic flows to enter the deterministic queue according to the deterministic flow scheduling parameters, and schedule the deterministic queue using a deterministic scheduling mechanism; A first scheduling module, configured to schedule between the deterministic queue and the non-deterministic queue using a priority queue scheduling mechanism according to a port bandwidth allocation parameter; The scheduling device further includes an acquisition module for acquiring the deterministic flow scheduling parameters and the port bandwidth allocation parameters, and the acquisition module includes: A setting unit, used to set the deterministic queue to adopt a deterministic scheduling mechanism, and the non-deterministic queue and the deterministic queue to adopt a priority queue scheduling mechanism; A setting unit, used to set a two-layer optimization model corresponding to the deterministic scheduling mechanism and the priority queue scheduling mechanism; the optimization goal of the upper optimization model in the two-layer optimization model is to maximize the available bandwidth of the non-deterministic flow, and the optimization goal of the lower optimization model is to maximize the network throughput of the deterministic flow; A solving unit is used to solve the two-layer optimization model to obtain the port bandwidth allocation parameters and the deterministic flow scheduling parameters.

8. The dispatching device according to claim 7, characterized in that: Also includes: A second setting module is used to set the non-deterministic queue to adopt any one of the following scheduling mechanisms when setting the deterministic queue to adopt the deterministic scheduling mechanism and the non-deterministic queue and the deterministic queue to adopt the priority queue scheduling mechanism: priority queue scheduling mechanism, polling scheduling mechanism, weighted fair queue scheduling mechanism; The second scheduling module is used to schedule the non-deterministic queue by using the scheduling mechanism set for the non-deterministic queue after controlling the non-deterministic flow to enter the non-deterministic queue.

9. A scheduling device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the scheduling method according to any one of claims 1 to 6 when executing the computer program.

10. A readable storage medium, characterized in that: The readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the scheduling method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Multi-objective interval power generation scheduling method considering new energy

    CN110829502A

  • Power distribution network optimization method and device

    CN112436512A