Hybrid flow scheduling method and apparatus
By determining the shortest scheduling path and service curve of the hybrid flow, the problem of insufficient scheduling of non-periodic continuous flow in the prior art is solved, and the hybrid scheduling of periodic flow and continuous flow is realized, which meets the scheduling requirements of sensitive flow and non-sensitive flow.
Patent Information
- Application Number
- CN202410792966.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-19
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2044-06-19
AI Technical Summary
The lack of scheduling support for non-periodic continuous streams in the existing technology leads to the periodic streams crowding out the time slots of the non-real-time stream queue, making it impossible to achieve effective scheduling of mixed streams.
By determining the shortest scheduling path based on network node information and basic information of the mixed flow, the arrival curve of the continuous flow is generated. Combined with the port time slot data after the scheduling of the periodic flow is completed, the remaining time slot service curve of the port is determined, supporting continuous flow service curves of different priorities. Finally, the mixed flow is scheduled when the latency data meets the requirements.
It achieves deterministic scheduling of aperiodic continuous streams, supports hybrid scheduling of periodic and continuous streams, and can simultaneously meet the scheduling requirements of sensitive and insensitive streams, solving the problem of lack of scheduling support for aperiodic continuous streams in traditional methods.
Smart Images

Figure CN118827568B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the network scheduling technical field, and particularly relates to a mixed flow scheduling method and device. BACKGROUND
[0002] Flow scheduling is a key technology for ensuring the real-time and determinacy of a deterministic network, but the commonly used scheduling method of the deterministic network is scheduling of periodic flows, which squeezes the time slots of non-real-time flow queues, and lacks unified scheduling support for non-periodic continuous flows.
[0003] The above content is only used to assist in understanding the technical solutions of the present application and does not represent the acknowledgement of the above content as prior art. SUMMARY
[0004] The main purpose of the present application is to provide a mixed flow scheduling method and device, aiming at solving the technical problem of lack of scheduling support for non-periodic continuous flows in the prior art.
[0005] To achieve the above purpose, the present application provides a mixed flow scheduling method, which comprises the following steps:
[0006] Based on the network node information and the basic information of the mixed flow, the shortest scheduling path of the mixed flow is determined, and the mixed flow at least includes periodic flows and continuous flows;
[0007] Based on the characteristic demand information of the continuous flow, the arrival curve of the continuous flow is generated;
[0008] Based on the shortest scheduling path of the periodic flow, the port time slot data after the periodic flow scheduling is completed is determined, and based on the port time slot data, the port remaining time slot service curve is determined;
[0009] Based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow and the port remaining time slot service curve, the service curve of the continuous flow with different priorities is determined;
[0010] Based on the service curve of the continuous flow, the time delay data of the continuous flow is determined;
[0011] When the time delay data of the continuous flow meets the scheduling requirement, the mixed flow is scheduled based on the shortest scheduling path of the mixed flow.
[0012] In an embodiment, the step of determining the shortest scheduling path of the mixed flow based on the network node information and the basic information of the mixed flow comprises:
[0013] Based on the network node information and the network link information, the network topology is converted into an array, and based on the array, the weight value of the node and the link value between the nodes are determined;
[0014] constructing a node relationship graph corresponding to the mixed flow, the node relationship graph storing the node, the name of the node, and the sequence of adjacent nodes of the node;
[0015] determining the shortest scheduling path of the mixed flow based on the node relationship graph of the mixed flow, the weight of the node, and the link value between the nodes.
[0016] In an embodiment, the method further comprises:
[0017] determining the target node and the starting node of the mixed flow based on the basic information of the mixed flow;
[0018] obtaining the adjacent nodes of the node corresponding to the target node, sorting the adjacent nodes of the node in ascending order based on the weight of the adjacent nodes, and forming the initial adjacent node sequence of the node;
[0019] adding the target node of the mixed flow into the initial adjacent node sequence of the node to obtain the adjacent node sequence corresponding to the mixed flow, and the position of the target node in the adjacent node sequence is before the adjacent nodes.
[0020] In an embodiment, the step of determining the shortest scheduling path of the mixed flow based on the node relationship graph of the mixed flow, the weight of the node, and the link value between the nodes comprises:
[0021] initializing the scheduling path of the mixed flow based on the starting node of the mixed flow, and determining whether there is a link between the starting node and the target node of the mixed flow;
[0022] when there is a link between the starting node and the target node of the mixed flow, updating the scheduling path based on the target node;
[0023] determining the total weighted value of the scheduling path of the mixed flow based on the weight of the node in the scheduling path and the link value between the nodes in the scheduling path;
[0024] when the total weighted value of the scheduling path of the mixed flow meets the minimum value requirement, taking the scheduling path of the mixed flow as the shortest scheduling path of the mixed flow.
[0025] In an embodiment, the method further comprises:
[0026] when there is no link between the starting node and the target node of the mixed flow, obtaining the adjacent node sequence of the starting node of the mixed flow;
[0027] An initial connection node is selected from the sequence of adjacent nodes of the starting node of the hybrid flow, and the initial connection node is different from the node in the scheduling path;
[0028] When a link exists between the initial connection node and the starting node, the initial connection node is determined as the next connection node, and the scheduling path is updated.
[0029] Update the starting node to the next connection node, and return to the step of determining whether a link exists between the starting node and the target node of the mixed flow.
[0030] In one embodiment, the step of determining the remaining time slot service curve of a port based on the port time slot data includes:
[0031] Based on the port timeslot data, the timeslot period and the total occupied timeslots are determined, and the average bandwidth rate is determined according to the timeslot period and the total occupied timeslots.
[0032] Using the average bandwidth rate as the slope, determine the slope corresponding to the time slot node, and determine the intersection value of the slope and the horizontal axis;
[0033] The maximum value among the intersection points is taken as the waiting time, and the average bandwidth rate is taken as the slope to obtain the remaining time slot service curve of the port.
[0034] In one embodiment, the step of determining the service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow, and the remaining time slot service curve of the port includes:
[0035] When the continuous stream with priority level 1 is not configured with a shaper, the service curve of the continuous stream with priority level 1 is determined to be the maximum service curve of the corresponding port;
[0036] Subtract the port remaining time slot service curve of the node in the shortest scheduling path corresponding to the first-level continuous flow from the arrival curve to obtain the service curve of the continuous flow with the second priority level, where the first level is higher than the second level.
[0037] In one embodiment, the step of determining the service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow, and the remaining time slot service curve of the port includes:
[0038] When the shaper is configured for the continuous stream with priority level 1, the service curve of the continuous stream with priority level 1 is determined to be the convolution of the service curve of the shaper and the service curve without the shaper configured.
[0039] determine the inflection point corresponding value of the arrival curve of the first level continuous flow based on the shaping parameters of the shaper and the burst and rate of the first level continuous flow;
[0040] determine the inflection point corresponding value of the arrival curve of the first level continuous flow based on the shaping parameters of the shaper and the burst and rate of the first level continuous flow;
[0041] determine the inflection point corresponding value of the arrival curve of the first level continuous flow based on the shaping parameters of the shaper and the burst and rate of the first level continuous flow;
[0042] when the inflection point corresponding value is greater than the intersection point corresponding value, take the intersection point corresponding value as the waiting time, take the difference between the average bandwidth rate of the port residual time slot service curve and the shaping parameters as the average bandwidth rate, and obtain the service curve of the continuous flow with the second level priority, the first level being higher than the second level.
[0043] In an embodiment, the method further comprises:
[0044] when the inflection point corresponding value is less than the intersection point corresponding value, determine the waiting time of the service curve of the continuous flow with the second level according to the average bandwidth rate of the port residual time slot service curve and the waiting time and the burst and rate of the first level continuous flow;
[0045] subtract the average bandwidth rate of the port residual time slot service curve from the shaping parameters to obtain the average bandwidth rate of the service curve of the continuous flow with the second level;
[0046] obtain the service curve of the continuous flow with the second level based on the average bandwidth rate and the waiting time of the service curve of the continuous flow with the second level.
[0047] In addition, to achieve the above object, the application further provides a mixed flow scheduling device, which comprises:
[0048] a path selection module, configured to determine the shortest scheduling path of the mixed flow based on network node information and basic information of the mixed flow, the mixed flow at least comprising a periodic flow and a continuous flow;
[0049] a curve generation module, configured to generate an arrival curve of the continuous flow based on characteristic demand information of the continuous flow;
[0050] the curve generation module is further configured to determine port time slot data after the periodic flow is scheduled based on the shortest scheduling path of the periodic flow, and determine a port residual time slot service curve based on the port time slot data;
[0051] The curve generation module is further configured to determine service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flows, the arrival curve of the continuous flows, and the port residual time slot service curve.
[0052] The scheduling module is configured to determine delay data of the continuous flows based on the service curves of the continuous flows.
[0053] The scheduling module is further configured to schedule the mixed flows based on the shortest scheduling path of the mixed flows when the delay data of the continuous flows meet scheduling requirements.
[0054] In addition, to achieve the above object, the present application further provides a mixed flow scheduling device, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the mixed flow scheduling method as described above.
[0055] In addition, to achieve the above object, the present application further provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the mixed flow scheduling method as described above.
[0056] In addition, to achieve the above object, the present application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps of the mixed flow scheduling method as described above.
[0057] The present application provides a mixed flow scheduling method, which determines a shortest scheduling path of mixed flows based on network node information and basic information of the mixed flows, and the mixed flows at least comprise periodic flows and continuous flows; generates an arrival curve of the continuous flows based on characteristic requirement information of the continuous flows; determines port time slot data after scheduling of the periodic flows is completed based on the shortest scheduling path of the periodic flows, and determines a port residual time slot service curve based on the port time slot data; determines service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flows, the arrival curve of the continuous flows, and the port residual time slot service curve; determines delay data of the continuous flows based on the service curves of the continuous flows; and schedules the mixed flows based on the shortest scheduling path of the mixed flows when the delay data of the continuous flows meet scheduling requirements. The present application can evaluate an upper limit of delay of continuous flows at a node port through network calculus, and then support deterministic scheduling requirements of non-periodic continuous flows in combination with flow shaping constraints, so as to realize mixed scheduling requirements of periodic flows and continuous flows, support mixed scheduling of sensitive flows and non-sensitive flows at the same time, and solve the technical problem that traditional methods lack scheduling support for non-periodic continuous flows. BRIEF DESCRIPTION OF DRAWINGS
[0058] The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the principles of the application.
[0059] In order to more clearly illustrate the technical solutions of the embodiments of the present application or the prior art, the accompanying drawings required to be used in the embodiments or prior art description will be briefly introduced. Obviously, those skilled in the art can obtain other drawings according to these drawings without any creative effort.
[0060] Figure 1 Flowchart of the mixed flow scheduling method of the first embodiment of the present application;
[0061] Figure 2 Shortest scheduling path diagram of the mixed flow scheduling method provided by the first embodiment of the present application;
[0062] Figure 3 Calculation result diagram of the mixed flow scheduling method provided by the first embodiment of the present application;
[0063] Figure 4 Flowchart of the mixed flow scheduling method of the second embodiment of the present application;
[0064] Figure 5 Service curve diagram when no shaper is configured of the mixed flow scheduling method provided by the second embodiment of the present application;
[0065] Figure 6 Flowchart of the mixed flow scheduling method of the third embodiment of the present application;
[0066] Figure 7 Curve convolution diagram when a shaper is configured of the mixed flow scheduling method provided by the third embodiment of the present application;
[0067] Figure 8 Service curve diagram under arrival curve constraint when a shaper is configured of the mixed flow scheduling method provided by the third embodiment of the present application;
[0068] Figure 9 Service curve diagram when a shaper is configured of the mixed flow scheduling method provided by the third embodiment of the present application;
[0069] Figure 10 Brief flowchart of the mixed flow scheduling method provided by the embodiments of the present application;
[0070] Figure 11 Module structure diagram of the mixed flow scheduling device of the embodiments of the present application;
[0071] Figure 12A device structure schematic diagram of a hardware running environment involved in a mixed flow scheduling method in the embodiments of the present application.
[0072] The implementation, functional features and advantages of the present application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION
[0073] It should be understood that the specific embodiments described herein are merely intended to explain the technical solutions of the present application, and are not intended to limit the present application.
[0074] In order to better understand the technical solutions of the present application, the specific embodiments will be described in detail below with reference to the accompanying drawings and specific embodiments.
[0075] The main solution of the embodiments of the present application is: based on the network node information and the basic information of the mixed flow, the shortest scheduling path of the mixed flow is determined, and the mixed flow at least includes periodic flow and continuous flow; based on the characteristic demand information of the continuous flow, the arrival curve of the continuous flow is generated; based on the shortest scheduling path of the periodic flow, the port time slot data after the periodic flow scheduling is completed is determined, and based on the port time slot data, the port remaining time slot service curve is determined; based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow and the port remaining time slot service curve, the service curve of the continuous flow with different priority is determined; based on the service curve of the continuous flow, the time delay data of the continuous flow is determined; when the time delay data of the continuous flow meets the scheduling requirement, the mixed flow is scheduled based on the shortest scheduling path of the mixed flow.
[0076] At present, the commonly used deterministic network scheduling method is the scheduling of periodic flow, which occupies the time slot of non-real-time flow queue, and lacks unified scheduling support for non-periodic continuous flow.
[0077] The present application provides a solution, which evaluates the upper limit of the time delay of the continuous flow at the node port through network calculus, and then combines the flow shaping constraint to support the deterministic scheduling requirement of the non-periodic continuous flow, realize the mixed scheduling requirement of the periodic flow and the continuous flow, and can simultaneously support the mixed scheduling of sensitive flow and non-sensitive flow, thereby solving the technical problem of lack of scheduling support for non-periodic continuous flow in the traditional way.
[0078] It should be noted that the execution subject of the present embodiment can be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device, a mixed flow scheduling device, etc. which can realize the above functions, and the present embodiment does not make specific limitation thereto. The embodiments of the present application will be described below taking the mixed flow scheduling device as an example.
[0079] The embodiments of the present application provide a mixed flow scheduling method, which refers to Figure 1 , Figure 1Flowchart of the first embodiment of the mixed flow scheduling method of the present application.
[0080] In the present embodiment, the mixed flow scheduling method comprises steps S10-S40:
[0081] In step S10, based on the network node information and the basic information of the mixed flow, the shortest scheduling path of the mixed flow is determined, the mixed flow comprising at least periodic flow and continuous flow;
[0082] It should be noted that the mixed flow in the present embodiment is composed of multiple flows, at least including periodic flow (TT flow) and continuous flow (RC flow), the periodic flow can also be regarded as time-sensitive flow (ST flow), and the continuous flow is non-periodic and is a kind of non-time-sensitive flow, and the non-time-sensitive flow can also be burst flow or best effort flow (BE flow). The basic information of the mixed flow refers to the basic situation of each periodic flow and continuous flow in the mixed flow, for example, flow name, sender (starting node), receiver (target node), flow type, MAC address, period, frame length, rate, etc.
[0083] In addition, it should be noted that the network node information refers to the relevant information of all nodes in the network, for example, the name of the node and the location of the node. The shortest scheduling path refers to the optimal path used when scheduling the periodic flow and the continuous flow, and the number of nodes passed through by the shortest scheduling path is determined according to the actual situation, and there are usually at least two nodes, and the present embodiment does not make specific limitation thereto.
[0084] It can be understood that according to the basic information of the mixed flow, the shortest scheduling path of each periodic flow and each continuous flow in the network is found out.
[0085] In a feasible implementation manner, step S10 can comprise steps S101-S103:
[0086] In step S101, based on the network node information and the network link information, the network topology is converted into an array, and based on the array, the weight value of the node and the link value between the nodes are determined;
[0087] It should be noted that the network link information refers to the relevant information of the link between the nodes in the network. The network topology refers to the overall topology structure of the nodes and the links in the network. The topology structure of the entire network is converted into an array in combination with the network node information and the network link information, the corresponding weight value is taken as the weight value of the node, and the corresponding weighted value is taken as the link value between the nodes. If there is no link between the nodes, the link value between the nodes can be set to 0. Generally, the non-zero link value indicates that there is a link between the nodes.
[0088] Step S102, constructing a node relationship graph corresponding to the mixed flow, the node relationship graph storing the node, the name of the node, and the sequence of adjacent nodes of the node;
[0089] It should be noted that the node relationship graph is a graph describing the relationship between nodes, which can be used to find the shortest scheduling path of each flow. According to the name of each node and the relationship between the nodes, the node relationship graph is constructed. In addition to the name of the node, the node relationship graph can also include the weight of the node, the link value between the nodes, and the sequence of adjacent nodes of the node.
[0090] In addition, it should be noted that the sequence of adjacent nodes of a node is a sequence of adjacent nodes of each node in a certain order. The sequence of adjacent nodes of each node is generated according to the following rules: (1) The sequence of adjacent nodes contains the target node, and the target node is arranged at the front of the sequence of adjacent nodes; in addition to the target node, other adjacent nodes are arranged in ascending order of weight.
[0091] In a possible implementation, the step of determining the sequence of adjacent nodes of the node can include steps S1021-S1023:
[0092] Step S1021, determining the target node and the starting node of the mixed flow based on the basic information of the mixed flow;
[0093] It should be noted that the target node and the starting node of each flow are determined according to the basic information of each flow.
[0094] Step S1022, obtaining the adjacent nodes corresponding to the node except the target node, sorting the adjacent nodes corresponding to the node in ascending order based on the weight of the adjacent nodes, and forming an initial sequence of adjacent nodes of the node;
[0095] It can be understood that the adjacent nodes corresponding to the node except the target node are sorted in ascending order according to the weight of each adjacent node, and the sequence obtained is the initial sequence of adjacent nodes.
[0096] Step S1023, adding the target node of the mixed flow to the initial sequence of adjacent nodes of the node to obtain the sequence of adjacent nodes corresponding to the mixed flow, and the position of the target node in the sequence of adjacent nodes is located before the adjacent nodes.
[0097] It can be understood that the target node of the mixed flow is added to the front of the initial sequence of adjacent nodes, so as to obtain the sequence of adjacent nodes of all nodes of each periodic flow and the sequence of adjacent nodes of all nodes of each continuous flow.
[0098] Step S103, determining the shortest scheduling path of the mixed flow based on the node relationship diagram of the mixed flow, the weight of the node, and the link value between the nodes.
[0099] In a possible implementation, step S103 can include steps S1031-S1034.
[0100] Step S1031, initializing the scheduling path of the mixed flow based on the starting node of the mixed flow, and determining whether there is a link between the starting node and the target node of the mixed flow.
[0101] It should be noted that the scheduling path of each periodic flow and continuous flow in the mixed flow is initialized first, and the starting node of each flow is taken as the first node of the scheduling path.
[0102] Step S1032, when there is a link between the starting node and the target node of the mixed flow, updating the scheduling path based on the target node.
[0103] It can be understood that if there is a link between the starting node and the target node of a periodic flow or a continuous flow, the next node of the scheduling path of the flow is the target node, and the connected node and the target node are connected to obtain the scheduling path of the flow.
[0104] When there is no link between the starting node and the target node of the mixed flow, the adjacent node sequence of the starting node of the mixed flow is obtained, an initial connection node is selected from the adjacent node sequence of the starting node of the mixed flow, the initial connection node is different from the node in the scheduling path, when there is a link between the initial connection node and the starting node, the initial connection node is determined as the next connection node, and the scheduling path is updated, the starting node is updated as the next connection node, and the step of determining whether there is a link between the starting node and the target node of the mixed flow is returned.
[0105] It should be understood that if there is no link between the starting node and the target node of a periodic flow or a continuous flow, it means that the scheduling path cannot be formed at this time, a node in the adjacent node sequence of the starting node that has not been connected in the scheduling path is selected as an initial connection node, if the initial connection node can be connected with the starting node, that is, there is a link between the initial connection node and the starting node, the initial connection node is considered as the next connection node, the starting node is connected with the next connection node, the scheduling path is updated, the next connection node is taken as a new starting node, a new next connection node is continuously searched, until the target node is connected, and the scheduling path is obtained.
[0106] It should be noted that in the process of generating the scheduling path, if it is found that the next connection node currently selected cannot be connected to the target node, the current calculation is terminated, and the next connection node is reselected.
[0107] In step S1033, the total weighted value of the scheduling path of the mixed flow is determined based on the weight values of the nodes in the scheduling path and the link values between the nodes in the scheduling path.
[0108] It can be understood that after the scheduling path is obtained, the total weight value, i.e., the total weighted value of the scheduling path, is calculated according to the weight values of the nodes in the scheduling path and the link values of the links.
[0109] In step S1034, when the total weighted value of the scheduling path of the mixed flow meets the minimum value requirement, the scheduling path of the mixed flow is taken as the shortest scheduling path of the mixed flow.
[0110] It should be noted that the total weighted value is obtained by adding the weight values of the nodes in the scheduling path and the corresponding link values. When the total weighted value of the scheduling path meets the minimum value requirement, i.e., the total weighted value of the scheduling path reaches the minimum, the scheduling path is considered to be the shortest scheduling path.
[0111] In a specific implementation, all achievable scheduling paths can be found first, so that the scheduling path with the minimum total weighted value is selected as the shortest scheduling path. Alternatively, only the scheduling path with the minimum total weighted value can be reserved in the process of generating the scheduling path, that is, the total weighted value of each generated scheduling path is compared with the minimum total weighted value of the known scheduling paths, and the scheduling path with the smaller total weighted value is reserved.
[0112] It can be understood that starting from the starting node, if there is a node that can connect the starting node in the sequence of adjacent nodes of the starting node, the next connection node in the scheduling path is found, and then the next node is continuously searched for. Each time, the node to be connected cannot be in the path to avoid a loop. If the found node cannot be connected to the target node or the total weighted value of the currently obtained scheduling path is greater than the minimum value of the total weighted value, the loop is terminated and the next calculation is continued. Exemplarily, the finally obtained shortest scheduling path can be as shown in Figure 2 .
[0113] In the embodiment, the node relationship graph is used to calculate the shortest scheduling path of each flow, and the time complexity is O(n*m), and the space complexity is O(n), where n and m each represent the number of nodes, 0<m<=n, and the method is applicable to various topologies, multicast, path protection, etc., and has a wide application range in path selection.
[0114] In step S20, the arrival curve of the continuous flow is generated based on the characteristic requirement information of the continuous flow.
[0115] It should be noted that the characteristic requirement information of continuous flow refers to the characteristics and requirements of continuous flow. The arrival curve of the node is as follows: Among them, the rate of arrival at the curve sudden .
[0116] Understandably, the goal is to obtain all the characteristics and requirements of a continuous flow, and then describe the features of the continuous flow using arrival curves.
[0117] Step S30: Based on the shortest scheduling path of the periodic flow, determine the port time slot data after the periodic flow scheduling is completed, and based on the port time slot data, determine the remaining port time slot service curve;
[0118] It should be noted that non-sensitive flows are usually divided into burst flows, continuous flows, and BE flows. For burst flows or BE flows, a portion of bandwidth resources are usually reserved on each node port. For the scheduling of continuous flows, the remaining service curve needs to be calculated from the remaining bandwidth resources after the scheduling of sensitive flows.
[0119] Additionally, it should be noted that port time slot data refers to the relevant data of CQF (Cyclic Queuing and Forwarding) time slots. Periodic flows use CQF time slot scheduling and are carried within the predetermined time slots, while continuous flows use the remaining CQF time slots after the periodic flow scheduling is completed. Therefore, the remaining resources within the CQF time slots need to be described by the service curve.
[0120] Understandably, after the periodic flow scheduling is completed, the remaining CQF timeslot size of all ports is determined based on the current port timeslot data, and these remaining resources are described as service curves, i.e., port remaining timeslot service curves.
[0121] In one feasible implementation, step S30 may include steps S301 to S303:
[0122] Step S301: Based on the port timeslot data, determine the timeslot period and the total occupied timeslots, and determine the average bandwidth rate according to the timeslot period and the total occupied timeslots;
[0123] It should be noted that the time slot period is obtained by adding up all the time slots scheduled by CQF on the corresponding port. The total occupied time slots are the total number of time slots used. The average bandwidth rate can be calculated using the time slot period and the total occupied time slots. The calculation relationship is shown below:
[0124]
[0125] In the formula, denotes an average bandwidth rate, denotes a time slot period, denotes a total occupied time slot.
[0126] Step S302, the average bandwidth rate is taken as a slope to determine a slope line corresponding to a time slot node, and an intersection value of the slope line and a horizontal axis is determined;
[0127] It should be noted that the horizontal axis is the X axis, and the first time slot node is taken as a reference point, and the average bandwidth rate is taken as a slope to make a slope line, and the intersection value of the slope line and the X axis is calculated. Then, the average bandwidth rate is taken as a slope to make a slope line in sequence at other time slot nodes, and the intersection value of the corresponding slope line and the X axis is calculated, and then the second and third time slot nodes are taken as reference points in sequence, and the above steps are repeated, and times of calculation (m is the number of time slots in a period), so that intersection values are obtained.
[0128] Step S303, the maximum value in the intersection values is taken as a latency, and the average bandwidth rate is taken as a slope to obtain a port residual time slot service curve of the end.
[0129] It can be understood that the maximum value in the intersection values is selected, that is, the maximum intersection value is taken as a latency, so that the port residual time slot service curve with the average bandwidth rate as a slope and the latency as an X axis inflection point is obtained.
[0130] It should be understood that if there is a BE flow in the network, the influence of the BE flow on the service curve of the continuous flow also needs to be considered. If the maximum frame length of the BE flow is , and the line rate is , the BE flow will have an influence on the continuous flow with a time length of , and the continuous flow will have an influence on the continuous flow. If the latency of the port residual time slot service curve of the continuous flow obtained according to the CQF residual time slot is , the latency of the port residual time slot service curve of the continuous flow is after comprehensively considering the influences of the periodic flow and the BE flow.
[0131] Step S40, based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow and the port residual time slot service curve, the service curve of the continuous flow with different priorities is determined.
[0132] It should be noted that the priority of the continuous flow in the embodiment has two levels: a first level (Class A) and a second level (Class B), and the priority of Class A is higher than that of Class B, that is, the first level is higher than the second level. Generally, the continuous flow with high priority needs to consider the service curve left by the periodic flow, and the continuous flow with low priority needs to consider the service curve left by the periodic flow and the continuous flow with high priority.
[0133] It can be understood that the service curve of the continuous flow is generated by comprehensively synthesizing the arrival curve of the continuous flow, the port residual time slot service curve, and the shortest scheduling path.
[0134] In step S50, the delay data of the continuous flow is determined based on the service curve of the continuous flow.
[0135] It can be understood that the delay data at least includes an upper limit of delay. After the service curve of the continuous flow is generated, the input file in xml format of the XFTA algorithm can be generated, so as to calculate the corresponding upper limit of delay and the residual bandwidth of the node, as shown in Figure 3 .
[0136] In step S60, when the delay data of the continuous flow meets the scheduling requirement, the mixed flow is scheduled based on the shortest scheduling path of the mixed flow.
[0137] It can be understood that if the delay of the continuous flow meets the requirement, the continuous flow can reach the target node within a specified time, so that the purpose of mixed flow scheduling is achieved, and because the bandwidth resource has been pre-allocated for the periodic flow, the time slot of the periodic flow will not be squeezed.
[0138] The embodiment adopts the TFA method, calculates the upper limit of delay hop by hop along the end-to-end path and adds them up, so as to obtain the end-to-end upper limit of delay, and at each node, a shaper is applied to the flow, and the characteristics of the flow at the source end can be described by the arrival curve , so that the shaper can use a single token bucket shaper, and the committed information rate is allowed to burst , that is, this hop-by-hop shaping will not make the end-to-end upper limit of delay worse, is suitable for any topology form, the algorithm is simple, and has good scalability.
[0139] The embodiment provides a mixed flow scheduling method, which is based on network node information and basic information of a mixed flow to determine a shortest scheduling path of the mixed flow, wherein the mixed flow at least includes a periodic flow and a continuous flow; based on characteristic demand information of the continuous flow, an arrival curve of the continuous flow is generated; based on the shortest scheduling path of the periodic flow, port time slot data after periodic flow scheduling is completed is determined, and based on the port time slot data, a port residual time slot service curve is determined; based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow and the port residual time slot service curve, a service curve of the continuous flow with different priorities is determined; based on the service curve of the continuous flow, time delay data of the continuous flow is determined; and when the time delay data of the continuous flow meets scheduling requirements, the mixed flow is scheduled based on the shortest scheduling path of the mixed flow. The application can evaluate the upper limit of the time delay of the continuous flow at the node port through network calculus, and can support the deterministic scheduling requirement of the non-periodic continuous flow in combination with flow shaping constraints, so that the mixed scheduling requirement of the periodic flow and the continuous flow is realized, and the mixed scheduling of the sensitive flow and the non-sensitive flow can be simultaneously supported.
[0140] Based on the first embodiment, in the second embodiment, the same or similar contents as the above embodiment one can be referred to the above description, and the subsequent description will not be repeated. On this basis, please refer to Figure 4 , the step S40 can include steps S401-S402:
[0141] Step S401, when the continuous flow with the first priority is not configured with a shaper, the service curve of the continuous flow with the first priority is determined as the maximum service curve of the corresponding port;
[0142] It should be noted that the continuous flow with the first priority has the highest priority, and if the shaper is not configured, the corresponding service curve is the maximum service curve that can be provided by the port.
[0143] Step S402, the port residual time slot service curve of the node in the shortest scheduling path corresponding to the continuous flow with the first priority is subtracted from the arrival curve to obtain the service curve of the continuous flow with the second priority;
[0144] It should be noted that if the continuous flow with the first priority is not configured with a shaper, the flow is only constrained by the arrival curve, so only the arrival curve of the continuous flow with the first priority at the node j in the shortest scheduling path needs to be calculated , and then the port residual time slot service curve (total service curve) corresponding to the node is used to subtract the arrival curve of the continuous flow with the first priority at the node to obtain the service curve of the continuous flow with the second priority .
[0145] It can be understood that, referring to Figure 5, the curve with slope R in the figure is the total service curve of Class A continuous flow , the curve with slope r is the arrival curve of Class A continuous flow Since the service curve cannot be negative, The part less than 0 needs to be replaced by 0, so the service curve of the second level continuous flow is shown as a dashed line, the slope of which is the slope of the total service curve minus the slope of the arrival curve of Class A continuous flow , that is R-r, then the maximum waiting time needs to be calculated , so as to obtain the complete service curve of Class B continuous flow according to the slope and the maximum waiting time . From the figure , a vertical line is drawn, which just passes through and , and its physical meaning is that from this time, all the accumulated Class A traffic has been sent at this time, and node j can provide service for Class B continuous flow, and the value of and The intersection of the horizontal coordinates of the intersection point can be obtained , and the calculation relationship is as follows:
[0146]
[0147] In the formula, is the maximum waiting time of the service curve of the second level continuous flow, is the slope of the total service curve, is the slope of the arrival curve of Class A continuous flow, is the burst of the arrival curve of Class A continuous flow.
[0148] The embodiment provides a mixed flow scheduling method, when a continuous flow with a first priority is not configured with a shaper, determining a service curve of the continuous flow with the first priority as a maximum service curve of a corresponding port; subtracting a residual time slot service curve of a node in a shortest scheduling path corresponding to the continuous flow with the first priority from an arrival curve to obtain a service curve of a continuous flow with a second priority. In the case that the Class A continuous flow is not configured with the shaper, the service curves of the Class A continuous flow and the Class B continuous flow are respectively determined, the upper limit of the delay of the continuous flows with different priorities at a node port is evaluated through network calculus, and then the deterministic scheduling requirement of the aperiodic continuous flow is supported in combination with a flow shaping constraint, the mixed scheduling requirement of the periodic flow and the continuous flow is realized, and the mixed scheduling of the sensitive flow and the non-sensitive flow can be simultaneously supported.
[0149] Based on the above embodiments of this application, in the third embodiment of this application, the same or similar content as the above embodiments can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 6 Step S40 may include steps S401' to S405':
[0150] Step S401': When configuring a shaper for the continuous stream with priority level 1, determine the service curve of the continuous stream with priority level 1 as the convolution of the service curve of the shaper and the service curve without the shaper configured.
[0151] It should be noted that if a Class A continuous stream is configured with a shaper, then its service curve is the convolution of the service curve with the shaper and the service curve without the shaper configured. (See reference...) Figure 7 If the service curve waiting time of the shaper is The slope is At this time, the service curve of the shaper is If the shaper is not configured, the service curve latency is... The slope is At this point, the service curve without a shaper is... Two service curves and The convolution of the two service curves is to add their waiting times together, and take the smaller of their slopes, i.e.:
[0152]
[0153] In the formula, This represents the service curve for a first-level continuous flow. This represents the service curve of the shaper. This indicates the service curve without a shaper configured. and These represent the service curves. and The waiting time and These represent the service curves. and The slope.
[0154] Step S402': Based on the arrival curve of the service flow and the common constraint of the shaper, determine the arrival curve of the continuous flow of the first level;
[0155] Understandably, if a Class A continuous stream is configured with a shaper, and the shaping parameters are CBS and CIR, then the arrival curve of the Class A continuous stream will be constrained by both the service flow arrival curve and the shaper's parameters, thus requiring the minimum of the two to be taken. If the service flow arrival curve is... , and respectively represent the burst and rate sum of all Class A traffic flows, the shaper is configured as , the arrival curve of Class A continuous flow under the joint constraint of both can be obtained .
[0156] Step S403', based on the shaping parameters of the shaper and the burst and rate of the continuous flow of the first level, determining the value corresponding to the inflection point of the arrival curve of the continuous flow of the first level;
[0157] It should be noted that, referring to Figure 8 , the X point represents the inflection point of Class A continuous flow under the joint action of the shaper and the traffic arrival curve, that is, the inflection point of the arrival curve of the continuous flow of the first level, that is, the value corresponding to the X point in the figure is the abscissa of the X point. Before the X point, the Class A continuous flow is constrained by the shaping parameters cir / cbs, and after the X point, it is constrained by the arrival curve parameters b / r, and the abscissa of the X point can be calculated as follows:
[0158]
[0159] In the formula, represents the abscissa of the X point, is the sum of the bursts of all Class A continuous flows, is the sum of the rates of all Class A continuous flows (parameters of the arrival curve of Class A continuous flow), and are the shaping parameters configured for Class A continuous flow.
[0160] Step S404', based on the shaping parameters of the shaper and the port residual time slot service curve, determining the value corresponding to the intersection point between the port residual time slot service curve and the arrival curve of the continuous flow of the first level;
[0161] It can be understood that, then the value corresponding to the intersection point between the port residual time slot service curve (total service curve) and the arrival curve of Class A continuous flow is calculated , is the arrival curve without considering the influence of the shaper, at this time represents that all accumulated Class A traffic will be sent at this time point without configuring the shaper, and the service for Class B traffic can be provided from this time point, that is, the waiting time for starting to serve Class B continuous flow without configuring the shaper, and the calculation relationship is as follows:
[0162]
[0163] In the formula, This represents the value corresponding to the intersection point between the port's remaining time slot service curve and the arrival curve of the first-level continuous flow. and These represent the slope of the total service curve and the waiting time, respectively. It is the sum of the rates of all Class A continuous flows (parameters of the arrival curves of Class A continuous flows). and Integer parameters configured for Class A continuous streams.
[0164] Step S405': When the value corresponding to the inflection point is greater than the value corresponding to the intersection point, the value corresponding to the intersection point is taken as the waiting time, and the difference between the average bandwidth rate of the remaining time slot service curve of the port and the shaping parameter is taken as the average bandwidth rate, so as to obtain the service curve of the continuous flow with the second priority level.
[0165] It is understandable that after obtaining the value corresponding to the inflection point... and the values corresponding to the intersection points Afterwards, compare and The magnitude of the value. If the value corresponding to the inflection point is greater than the value corresponding to the intersection point, that is... This indicates that before service type B is served, service type A is always reached via the CIR / CBS arrival curve. Constraints can be imposed, therefore they can be used To calculate the service curve of a Class B continuous stream, refer to... Figure 8 The dashed line in the diagram represents the service curve for a Class B continuous flow, and the calculation formula is shown below:
[0166]
[0167] In the formula, The waiting time for the service curve of the second-level continuous flow. The slope of the service curve for the second-level continuous flow. and These represent the slope of the total service curve and the waiting time, respectively. It is the sum of the rates of all Class A continuous flows (parameters of the arrival curves of Class A continuous flows). and Integer parameters configured for Class A continuous streams.
[0168] In one possible implementation, steps A11-A13 may be included after step S404':
[0169] Step A11, when the value corresponding to the inflection point is less than the value corresponding to the intersection point, determining the waiting time of the service curve of the second level continuous flow according to the average bandwidth rate and the waiting time of the port residual time slot service curve and the burst and rate of the first level continuous flow;
[0170] It should be noted that the value corresponding to the inflection point is less than the value corresponding to the intersection point, that is At this time, it means that before the class B service is serviced, the class A service is first constrained by cbs / cir and then constrained by r / b. Since the class A is ultimately constrained by r / b, it is indicated that whether the shaper is configured or not has no effect on the service curve of the class B continuous flow, and r / b can be directly used to calculate the residual service curve.
[0171] It can be understood that the waiting time of the service curve of the second level continuous flow can be calculated by the following calculation relationship:
[0172]
[0173] In the formula, is the waiting time of the service curve of the second level continuous flow, and are the slope and the waiting time of the total service curve, respectively, and are the parameters of the arrival curve of the class A continuous flow, is the sum of the rates of all class A continuous flows, is the sum of the bursts of all class A continuous flows.
[0174] Step A12, subtracting the average bandwidth rate of the port residual time slot service curve from the shaping parameter to obtain the average bandwidth rate of the service curve of the second level continuous flow;
[0175] It can be understood that the average bandwidth rate, i.e. the slope, of the service curve of the class B continuous flow can be calculated by the following calculation relationship:
[0176]
[0177] In the formula, is the slope of the service curve of the second level continuous flow, is the slope of the total service curve, is the sum of the rates of all class A continuous flows.
[0178] Step A13, based on the average bandwidth rate and the latency of the service curve of the second level of continuous flow, obtaining the service curve of the second level of continuous flow.
[0179] Reference Figure 9 to the calculated average bandwidth rate is the slope, and the calculated latency The service curve of Class B continuous flow can be obtained.
[0180] The embodiment provides a mixed flow scheduling method. When a shaper is configured for a continuous flow with a first priority, the service curve of the continuous flow with the first priority is determined as a convolution of the service curve of the shaper and the service curve without the shaper; based on the arrival curve of the traffic flow and the common constraint of the shaper, the arrival curve of the continuous flow with the first priority is determined; based on the shaping parameter of the shaper and the burst and rate of the continuous flow with the first priority, a value corresponding to an inflection point of the arrival curve of the continuous flow with the first priority is determined; based on the shaping parameter of the shaper and the residual time slot service curve of the port, a value corresponding to an intersection point between the residual time slot service curve of the port and the arrival curve of the continuous flow with the first priority is determined; when the value corresponding to the inflection point is greater than the value corresponding to the intersection point, the value corresponding to the intersection point is taken as the latency, and the difference between the average bandwidth rate of the residual time slot service curve of the port and the shaping parameter is taken as the average bandwidth rate, to obtain the service curve of a continuous flow with a second priority. In the case that the shaper is configured for a Class A continuous flow, the service curves of the Class A continuous flow and the Class B continuous flow are respectively determined, the upper limit of the latency of the continuous flows with different priorities at a node port is evaluated through network calculus, the deterministic scheduling requirement of the aperiodic continuous flow can be supported in combination with the flow shaping constraint, the mixed scheduling requirement of the periodic flow and the continuous flow is realized, and the mixed scheduling of the sensitive flow and the non-sensitive flow can be simultaneously supported.
[0181] Exemplarily, to facilitate understanding of the implementation process of the mixed flow scheduling method obtained after the above-mentioned embodiment two, refer to Figure 10 , Figure 10 A brief flow schematic diagram of the mixed flow scheduling method is provided, in particular:
[0182] According to all the basic information of the flow, the continuous flows in the mixed flow are classified according to the priority (Class A and Class B), and then the network path of each flow is calculated; according to the characteristics and requirements of all the continuous flows, the continuous flow characteristics are described by using the arrival curve; the residual CQF time slot size of all the ports is obtained, and the residual resources are described as the service curve; the arrival curve of the continuous flow, the service curve of the residual time slot of the CQF, the flow path and other information are comprehensively generated into a description file; the input description file is calculated by using the xTFA method, to obtain the calculation result; and the flow result is stored into a database.
[0183] The application also provides a mixed flow scheduling device, which comprises Figure 11 , and the mixed flow scheduling device comprises:
[0184] a path selection module 10, configured to determine a shortest scheduling path of the mixed flow based on network node information and basic information of the mixed flow, wherein the mixed flow at least comprises a periodic flow and a continuous flow.
[0185] a curve generation module 20, configured to generate an arrival curve of the continuous flow based on characteristic requirement information of the continuous flow.
[0186] The curve generation module 20 is further configured to determine port time slot data after the periodic flow is scheduled based on the shortest scheduling path of the periodic flow, and determine a port residual time slot service curve based on the port time slot data.
[0187] The curve generation module 20 is further configured to determine service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow and the port residual time slot service curve.
[0188] a scheduling module 30, configured to determine time delay data of the continuous flow based on the service curve of the continuous flow.
[0189] The scheduling module 30 is further configured to schedule the mixed flow based on the shortest scheduling path of the mixed flow when the time delay data of the continuous flow meets scheduling requirements.
[0190] In an available implementation, the path selection module 10 is further configured to convert a network topology into an array based on the network node information and network link information, and determine a weight value of a node and a link value between the nodes based on the array.
[0191] construct a node relationship graph corresponding to the mixed flow, wherein the node relationship graph stores the node, a name of the node and a sequence of adjacent nodes of the node;
[0192] determine the shortest scheduling path of the mixed flow based on the node relationship graph of the mixed flow, the weight value of the node and the link value between the nodes.
[0193] In an available implementation, the path selection module 10 is further configured to determine a target node and a starting node of the mixed flow based on the basic information of the mixed flow.
[0194] obtain adjacent nodes of the node corresponding to the target node, sort the adjacent nodes of the node corresponding to the target node in ascending order based on weight values of the adjacent nodes, and form an initial adjacent node sequence of the node.
[0195] adding the target node of the mixed flow into the initial adjacent node sequence of the node to obtain an adjacent node sequence corresponding to the mixed flow, and a position of the target node in the adjacent node sequence is before the adjacent node.
[0196] In an implementation, the path selection module 10 is further configured to initialize a scheduling path of the mixed flow based on the start node of the mixed flow, and determine whether there is a link between the start node and the target node of the mixed flow.
[0197] When there is a link between the start node and the target node of the mixed flow, updating the scheduling path based on the target node.
[0198] Determining a total weighted value of the scheduling path of the mixed flow based on the weight values of the nodes in the scheduling path and the link values between the nodes in the scheduling path.
[0199] When the total weighted value of the scheduling path of the mixed flow meets a minimum value requirement, taking the scheduling path of the mixed flow as a shortest scheduling path of the mixed flow.
[0200] In an implementation, the path selection module 10 is further configured to.
[0201] In an implementation, when there is no link between the start node and the target node of the mixed flow, obtaining an adjacent node sequence of the start node of the mixed flow.
[0202] Selecting an initial connection node in the adjacent node sequence of the start node of the mixed flow, the initial connection node being different from the nodes in the scheduling path.
[0203] When there is a link between the initial connection node and the start node, determining that the initial connection node is a next connection node, and updating the scheduling path.
[0204] Updating the start node to the next connection node, and returning to the step of determining whether there is a link between the start node and the target node of the mixed flow.
[0205] In an implementation, the curve generation module 20 is further configured to determine a time slot period and a total occupied time slot based on the port time slot data, and determine an average bandwidth rate according to the time slot period and the total occupied time slot.
[0206] Determining a diagonal line corresponding to a time slot node by taking the average bandwidth rate as a slope, and determining an intersection value of the diagonal line and a horizontal axis.
[0207] The maximum value in the intersection value is taken as the waiting time, and the average bandwidth rate is taken as the slope, to obtain the port residual time slot service curve of the end node.
[0208] In an implementation, the curve generation module 20 is further configured to, when the continuous flow with the first priority is not configured with a shaper, determine the service curve of the continuous flow with the first priority as a maximum service curve of a port corresponding to a node on a shortest scheduling path of the continuous flow.
[0209] The port residual time slot service curve of the node on the shortest scheduling path of the continuous flow with the first priority is subtracted from the arrival curve to obtain the service curve of the continuous flow with a second priority, the first priority being higher than the second priority.
[0210] In an implementation, the curve generation module 20 is further configured to, when the continuous flow with the first priority is configured with a shaper, determine the service curve of the continuous flow with the first priority as a convolution of a service curve of the shaper and a service curve without the shaper.
[0211] The arrival curve of the continuous flow with the first priority is determined based on the arrival curve of the traffic flow and a common constraint of the shaper.
[0212] The value corresponding to the inflection point of the arrival curve of the continuous flow with the first priority is determined based on a shaping parameter of the shaper and a burst and rate of the continuous flow with the first priority.
[0213] The value corresponding to the intersection between the port residual time slot service curve and the arrival curve of the continuous flow with the first priority is determined based on the shaping parameter of the shaper and the port residual time slot service curve.
[0214] When the value corresponding to the inflection point is greater than the value corresponding to the intersection, the value corresponding to the intersection is taken as the waiting time, and a difference between an average bandwidth rate of the port residual time slot service curve and the shaping parameter is taken as the average bandwidth rate, to obtain the service curve of the continuous flow with the second priority, the first priority being higher than the second priority.
[0215] In an implementation, the curve generation module 20 is further configured to, when the value corresponding to the inflection point is less than the value corresponding to the intersection, determine the waiting time of the service curve of the continuous flow with the second priority according to the average bandwidth rate and the waiting time of the port residual time slot service curve and the burst and rate of the continuous flow with the first priority.
[0216] The average bandwidth rate of the service curve of the continuous flow with the second priority is obtained by subtracting the shaping parameter from the average bandwidth rate of the port residual time slot service curve.
[0217] based on the average bandwidth rate and the latency of the second level of continuous flow service curve, obtaining the second level of continuous flow service curve.
[0218] The mixed flow scheduling device provided by the application can solve the technical problem of lack of scheduling support for non-periodic continuous flow in the traditional way. Compared with the prior art, the mixed flow scheduling device provided by the application has the same beneficial effects as the mixed flow scheduling method provided by the above-mentioned embodiments, and other technical features in the mixed flow scheduling device are the same as the features disclosed in the above-mentioned embodiment method, which will not be repeated here.
[0219] The application provides a mixed flow scheduling device, which comprises at least one processor and a memory connected with the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the mixed flow scheduling method in the above-mentioned embodiment one.
[0220] Reference will be made to the following description of the drawings Figure 12 which shows a structural schematic diagram of a mixed flow scheduling device suitable for implementing the embodiments of the application. The mixed flow scheduling device in the embodiments of the application can include but is not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistant), PADs (Portable Application Description), PMPs (Portable Media Player), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. Figure 12 The mixed flow scheduling device shown is only an example and should not impose any limitation on the functions and use range of the embodiments of the application.
[0221] As Figure 12As shown, the mixed flow scheduling device can include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.) that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 1002 or loaded from a storage device 1003 into a random access memory (RAM) 1004. Various programs and data required for operation of the mixed flow scheduling device are also stored in the RAM 1004. The processing device 1001, the ROM 1002, and the RAM 1004 are connected to each other by a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; the storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the mixed flow scheduling device to communicate wirelessly or by wire with other devices to exchange data. Although the mixed flow scheduling device is shown as having various systems, it should be understood that all of the shown systems are not required to be implemented or possessed. More or fewer systems can alternatively be implemented or possessed.
[0222] In particular, the processes described above with reference to the flowcharts can be implemented as a computer software program according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network by a communication device, or installed from the storage device 1003, or installed from the ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the methods of embodiments of the present disclosure are performed.
[0223] The mixed flow scheduling device provided by the present disclosure adopts the mixed flow scheduling method in the above embodiments, and can solve the technical problem that the conventional method lacks scheduling support for non-periodic continuous flows. Compared with the prior art, the mixed flow scheduling device provided by the present disclosure has the same beneficial effects as the mixed flow scheduling method provided by the above embodiments, and other technical features in the mixed flow scheduling device are the same as the features disclosed in the previous embodiment method, which will not be repeated here.
[0224] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0225] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0226] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the hybrid stream scheduling method in the above embodiments.
[0227] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0228] The aforementioned computer-readable storage medium may be included in the hybrid stream scheduling device; or it may exist independently and not be assembled into the hybrid stream scheduling device.
[0229] The computer readable storage medium carries one or more programs, and when the one or more programs are executed by the mixed flow scheduling device, the mixed flow scheduling device is caused to: determine a shortest scheduling path of a mixed flow based on network node information and basic information of the mixed flow, the mixed flow including at least a periodic flow and a continuous flow; generate an arrival curve of the continuous flow based on characteristic requirement information of the continuous flow; determine port time slot data after scheduling of the periodic flow is completed based on the shortest scheduling path of the periodic flow, and determine a port residual time slot service curve based on the port time slot data; determine a service curve of the continuous flow with different priorities based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow, and the port residual time slot service curve; determine time delay data of the continuous flow based on the service curve of the continuous flow; and schedule the mixed flow based on the shortest scheduling path of the mixed flow when the time delay data of the continuous flow meets scheduling requirements.
[0230] The flow diagrams and the block diagrams in the drawings are illustrations of architectures, functionalities, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of present application. In this regard, each block in the flow diagrams or block diagrams can represent a module, a segment, or a portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or operations, or combinations of special purpose hardware and computer instructions.
[0231] The modules involved in the embodiments of the present application can be implemented in the form of software or in the form of hardware. In some cases, the name of the module does not constitute a limitation on the unit itself.
[0232] The readable storage medium provided by the present application is a computer readable storage medium, which stores computer readable program instructions (i.e. computer program) for executing the mixed flow scheduling method described above, and can solve the technical problem of lack of scheduling support for non-periodic continuous flow in the traditional way. Compared with the prior art, the computer readable storage medium provided by the present application has the same beneficial effects as the mixed flow scheduling method provided by the above-mentioned embodiments, which will not be described here.
[0233] The present application also provides a computer program product comprising a computer program, which, when executed by a processor, implements the steps of the mixed flow scheduling method as described above.
[0234] The computer program product provided in the application can solve the technical problem that the conventional mode lacks scheduling support for non-periodic continuous flow. Compared with the prior art, the beneficial effects of the computer program product provided in the application are the same as those of the mixed flow scheduling method provided in the above-mentioned embodiments, and are not described here.
[0235] The above only describes some embodiments of the application, and does not limit the patent scope of the application. Any equivalent structural transformation made by using the content of the application specification and drawings, or direct / indirect application in other related technical fields is included in the patent protection scope of the application.
Claims
1. A hybrid flow scheduling method, characterized in that, The method includes: Based on network node information and basic information of the hybrid flow, the shortest scheduling path of the hybrid flow is determined, wherein the hybrid flow includes at least periodic flow and continuous flow; Based on the characteristic requirement information of the continuous flow, the arrival curve of the continuous flow is generated; Based on the shortest scheduling path of the periodic stream, determine the port time slot data after the periodic stream scheduling is completed, and based on the port time slot data, determine the remaining port time slot service curve. Based on the shortest scheduling path of the continuous stream, the arrival curve of the continuous stream, and the service curve of the remaining time slots of the port, the service curves of continuous streams with different priorities are determined. Based on the service curve of the continuous stream, the latency data of the continuous stream is determined; When the latency data of the continuous stream meets the scheduling requirements, the mixed stream is scheduled based on the shortest scheduling path of the mixed stream; The step of determining the service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow, and the remaining time slot service curve of the port includes: When the continuous stream with priority level 1 is not configured with a shaper, the service curve of the continuous stream with priority level 1 is determined to be the maximum service curve of the corresponding port; Subtract the port remaining time slot service curve of the node in the shortest scheduling path corresponding to the first-level continuous flow from the arrival curve to obtain the service curve of the continuous flow with the second priority level, where the first level is higher than the second level.
2. The method as described in claim 1, characterized in that, The step of determining the shortest scheduling path for the mixed flow based on network node information and basic information of the mixed flow includes: Based on the network node information and network link information, the network topology is converted into an array, and based on the array, the weights of the nodes and the link values between the nodes are determined. Construct a node relationship graph corresponding to the hybrid stream, wherein the node relationship graph stores the node, the name of the node, and the sequence of adjacent nodes of the node; Based on the node relationship graph of the hybrid flow, the weights of the nodes, and the link values between the nodes, the shortest scheduling path of the hybrid flow is determined.
3. The method as described in claim 2, characterized in that, The method further includes: Based on the basic information of the hybrid flow, the target node and the starting node of the hybrid flow are determined; Obtain the neighboring nodes of the node other than the target node, and sort the neighboring nodes in ascending order based on the weight of the neighboring nodes to form the initial neighboring node sequence of the node. The target node of the hybrid flow is added to the initial adjacent node sequence of the node to obtain the adjacent node sequence corresponding to the hybrid flow, wherein the position of the target node in the adjacent node sequence is before the adjacent node.
4. The method as described in claim 2, characterized in that, The step of determining the shortest scheduling path for the hybrid flow based on the node relationship graph of the hybrid flow, the weights of the nodes, and the link values between the nodes includes: Based on the starting node of the hybrid flow, initialize the scheduling path of the hybrid flow, and determine whether there is a link between the starting node and the target node of the hybrid flow; When there is a link between the starting node and the target node of the hybrid flow, the scheduling path is updated based on the target node; Based on the weights of the nodes in the scheduling path and the link values between the nodes in the scheduling path, the total weighted value of the scheduling path of the hybrid flow is determined; When the total weighted value of the scheduling path of the hybrid stream meets the minimum requirement, the scheduling path of the hybrid stream is taken as the shortest scheduling path of the hybrid stream.
5. The method as described in claim 4, characterized in that, The method further includes: When there is no link between the starting node and the target node of the hybrid flow, obtain the sequence of adjacent nodes of the starting node of the hybrid flow; An initial connection node is selected from the sequence of adjacent nodes of the starting node of the hybrid flow, and the initial connection node is different from the node in the scheduling path; When a link exists between the initial connection node and the starting node, the initial connection node is determined as the next connection node, and the scheduling path is updated. Update the starting node to the next connection node, and return to the step of determining whether a link exists between the starting node and the target node of the mixed flow.
6. The method as described in claim 1, characterized in that, The step of determining the remaining time slot service curve of the port based on the port time slot data includes: Based on the port timeslot data, the timeslot period and the total occupied timeslots are determined, and the average bandwidth rate is determined according to the timeslot period and the total occupied timeslots. Using the average bandwidth rate as the slope, determine the slope corresponding to the time slot node, and determine the intersection value of the slope and the horizontal axis; The maximum value among the intersection points is taken as the waiting time, and the average bandwidth rate is taken as the slope to obtain the remaining time slot service curve of the port.
7. The method as described in claim 1, characterized in that, The step of determining the service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow, and the remaining time slot service curve of the port includes: When the shaper is configured for the continuous stream with priority level 1, the service curve of the continuous stream with priority level 1 is determined to be the convolution of the service curve of the shaper and the service curve without the shaper configured. Based on the arrival curve of the service flow and the common constraints of the shaper, the arrival curve of the continuous flow at the first level is determined; Based on the shaping parameters of the shaper and the burst and rate of the first-level continuous flow, the value corresponding to the inflection point of the arrival curve of the first-level continuous flow is determined. Based on the shaping parameters of the shaper and the port remaining time slot service curve, determine the value corresponding to the intersection point between the port remaining time slot service curve and the arrival curve of the continuous flow of the first level; When the value corresponding to the inflection point is greater than the value corresponding to the intersection point, the value corresponding to the intersection point is taken as the waiting time, and the difference between the average bandwidth rate of the remaining time slot service curve of the port and the shaping parameter is taken as the average bandwidth rate, so as to obtain the service curve of the continuous flow with the priority level of the second level, where the first level is higher than the second level.
8. The method as described in claim 7, characterized in that, The method further includes: When the value corresponding to the inflection point is less than the value corresponding to the intersection point, the waiting time of the service curve of the second-level continuous flow is determined based on the average bandwidth rate and waiting time of the port remaining time slot service curve and the burst and rate of the first-level continuous flow. Subtract the shaping parameter from the average bandwidth rate of the remaining time slot service curve of the port to obtain the average bandwidth rate of the continuous flow service curve of the second level. The service curve of the second-level continuous stream is obtained based on the average bandwidth rate and latency of the service curve of the second-level continuous stream.
9. A hybrid flow scheduling device, characterized in that, The hybrid stream scheduling device includes: The path selection module is used to determine the shortest scheduling path for the mixed flow based on network node information and basic information of the mixed flow, wherein the mixed flow includes at least periodic flow and continuous flow. The curve generation module is used to generate the arrival curve of the continuous flow based on the characteristic requirement information of the continuous flow; The curve generation module is also used to determine the port time slot data after the periodic flow scheduling is completed based on the shortest scheduling path of the periodic flow, and to determine the port remaining time slot service curve based on the port time slot data. The curve generation module is also used to determine the service curves of continuous flows with different priorities based on the shortest scheduling path of the continuous flow, the arrival curve of the continuous flow, and the service curve of the remaining time slots of the port. The scheduling module is used to determine the latency data of the continuous stream based on the service curve of the continuous stream; The scheduling module is also used to schedule the mixed stream based on the shortest scheduling path of the mixed stream when the delay data of the continuous stream meets the scheduling requirements; The curve generation module is also used to determine the service curve of the first-level continuous stream as the maximum service curve of the corresponding port when the first-level continuous stream is not configured with a shaper. Subtract the port remaining time slot service curve of the node in the shortest scheduling path corresponding to the first-level continuous flow from the arrival curve to obtain the service curve of the continuous flow with the second priority level, where the first level is higher than the second level.
Citation Information
Patent Citations
Time-sensitive network communication flow scheduling method based on deep reinforcement learning
CN113285872A
TSN network time-aware shaper modeling method based on network calculation
CN115879258A