Time-triggered scheduling method, node, electronic device and storage medium

By constructing a directed graph and determining the urgency level, the problems of high scheduling time complexity and inaccurate scheduling results in time-triggered scheduling are solved, realizing fast and accurate service flow scheduling and adapting to the dynamic changes of time-sensitive networks.

CN116346627BActive Publication Date: 2025-11-25ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111579523.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-22
Publication Date
2025-11-25
Estimated Expiration
2041-12-22

AI Technical Summary

Technical Problem

Existing time-triggered scheduling methods, when solving scheduling problems in time-sensitive networks, suffer from exponentially increasing scheduling time, making them unsuitable for dynamically changing and demanding application scenarios. Furthermore, they cannot accurately control the sending time of service flows, resulting in low-quality scheduling results.

Method used

By constructing a directed graph of the business flow paths, the urgency of the business flow is determined, and the sending time of the business flow is determined based on the directed graph and the urgency. Topology sorting and conflict resolution mechanisms are used to precisely control the sending time of the business flow.

Benefits of technology

It effectively reduces scheduling time complexity, enables rapid scheduling of service flows, adapts to the online and dynamic configuration requirements of time-sensitive networks, achieves precise control over service flow transmission time, and improves the quality of scheduling results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116346627B_ABST
    Figure CN116346627B_ABST
Patent Text Reader

Abstract

The application provides a time-triggered scheduling method, a node, electronic equipment and a storage medium. The method comprises the following steps: obtaining the characteristics of each service flow in a preset service flow set, the path of the service flow and the characteristics of each preset node on the path of the service flow; constructing a directed graph according to the path of the service flow; determining the emergency degree of the service flow according to the directed graph, the characteristics of the service flow and the characteristics of the node; determining the sending time of the service flow according to the directed graph and the emergency degree of the service flow; and sending the sending time to the node. According to the scheme provided by the embodiment of the application, the directed graph can be constructed through the path of the service flow, and then the emergency degree of the service flow is determined. Compared with the solvable method of the exponential time complexity satisfiability solver, the sending time of the service flow is determined through the directed graph and the emergency degree of the service flow, so that the time complexity can be reduced, the scheduling of the service flow can be effectively accelerated, and the sending time of the service flow can be accurately controlled.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, and particularly relates to a time-triggered scheduling method, a node, an electronic device and a storage medium. BACKGROUND

[0002] Time-Sensitive Networking (TSN) is proposed and standardized by IEEE 802.1 TSN international organization, and is widely supported and recognized by the industry, academia and many international organizations (including IEC, IETF, 3GPP, etc.). TSN is expected to break the barriers between Information Technology (IT) and Operational Technology (OT), realize the integration of IT and OT, and has wide application prospects. TSN introduces a time-triggered transmission mechanism and standardizes it as 802.1Qbv, and supports time-sensitive traffic to be sent at a precise time point. Since the sending time point of the time-sensitive traffic along the route in each device is determined, the end-to-end delay of the time-sensitive traffic is also determined. Time-triggered scheduling is to schedule the sending time point of each traffic in the device, which is related to network topology, routing, traffic end-to-end delay requirements and other factors, and is a typical Non-deterministic Polynomial (NP) complete problem.

[0003] At present, the typical idea for solving the time-triggered scheduling problem is to construct end-to-end delay, non-conflict between traffic, buffer restriction and other constraints, and then solve it through a satisfiability solver. Although this scheduling method can traverse the entire scheduling space to give a conclusion of whether it can be scheduled, the scheduling time increases exponentially, which cannot adapt to the dynamic changes of time-sensitive traffic or the application scenarios with strict requirements for scheduling time or dynamic configuration. In addition, the satisfiability solver may have different feasible solutions for each scheduling under the same input, and cannot accurately control the sending time of each traffic to obtain a high-quality scheduling result. SUMMARY

[0004] The following is a summary of the subject matter described in detail in this document. This summary is not intended to limit the scope of the claims.

[0005] The embodiments of the present application provide a time-triggered scheduling method, a node, an electronic device and a storage medium, which can effectively speed up the scheduling of traffic and accurately control the sending time of traffic.

[0006] In a first aspect, an embodiment of the present application provides a time-triggered scheduling method applied to a central controller, the method comprising: obtaining characteristics of each service flow in a preset service flow set, a path of the service flow, and characteristics of each preset node on the path of the service flow; constructing a directed graph according to the path of the service flow, wherein vertices of the directed graph are determined by two adjacent nodes on the path of the service flow; determining an urgency level of the service flow according to the directed graph, the characteristics of the service flow, and the characteristics of the nodes; determining a sending time of the service flow according to the directed graph and the urgency level of the service flow; and sending the sending time to the nodes, so that the nodes transmit corresponding service flows in the service flow set according to the sending time.

[0007] In some embodiments, the determining of the urgency level of the service flow according to the directed graph, the characteristics of the service flow, and the characteristics of the nodes comprises: determining, based on the directed graph, the service flow corresponding to each vertex of the directed graph, a current node, and a subsequent node, wherein the current node is a former one of the two adjacent nodes on the path of the service flow, and the subsequent node is a latter one of the two adjacent nodes on the path of the service flow; determining an end-to-end delay of the service flow according to the directed graph, the characteristics of the service flow, and the characteristics of the nodes; determining a minimum forwarding delay of the service flow according to the current node, the subsequent node, and the characteristics of the nodes; determining a cumulative transmission delay of the service flow corresponding to the current node according to the directed graph and the characteristics of the service flow; determining a minimum transmission delay of the service flow corresponding to the current node according to the directed graph and the minimum forwarding delay; and determining the urgency level of the service flow according to the end-to-end delay of the service flow, the minimum forwarding delay of the service flow, the cumulative transmission delay of the service flow, and the minimum transmission delay of the service flow.

[0008] In some embodiments, the determining of the sending time of the service flow according to the directed graph and the urgency level of the service flow comprises: performing topological sorting on the directed graph to obtain a first topological sequence; when a number of sequence points of the first topological sequence is less than a number of vertices of the directed graph, determining a residual directed graph according to the first topological sequence and the directed graph; taking a service flow with a lowest urgency level in each service flow corresponding to each vertex in the residual directed graph as a loop-removed service flow; determining a loop-removed directed graph according to the loop-removed service flow and the residual directed graph; performing topological sorting on the loop-removed directed graph to obtain a second topological sequence; and determining the sending time of the service flow according to the first topological sequence, the second topological sequence, and the loop-removed service flow based on the characteristics of the service flow and the characteristics of the nodes.

[0009] In some embodiments, the determining the sending time of the service flow according to the first topology sequence, the second topology sequence and the loop-free service flow based on the characteristics of the service flow and the characteristics of the nodes comprises: determining a total topology sequence according to the first topology sequence, the second topology sequence and the loop-free service flow; traversing each sequence point in the total topology sequence in the order of the total topology sequence, and scheduling the service flow corresponding to the sequence point to determine the sending time of the service flow.

[0010] In some embodiments, the traversing each sequence point in the total topology sequence in the order of the total topology sequence, and scheduling the service flow corresponding to the sequence point to determine the sending time of the service flow comprises: determining conflict service flows and non-conflict service flows from the set of service flows based on the directed graph, wherein the conflict service flow is the service flow corresponding to the vertex with an in-degree greater than one in the directed graph, and the non-conflict service flow is the service flow in the set of service flows except the conflict service flow; traversing each sequence point in the total topology sequence in the order of the total topology sequence, determining the sending time of the conflict service flow based on the emergency level of the service flow, the directed graph, the characteristics of the service flow and the characteristics of the nodes when determining that the service flow corresponding to the sequence point in the total topology sequence is the conflict service flow; and setting the sending time of the non-conflict service flow to a preset initial value when determining that the service flow corresponding to the sequence point in the total topology sequence is the non-conflict service flow.

[0011] In some embodiments, the determining the sending time of the conflict service flow based on the emergency level of the service flow, the directed graph, the characteristics of the service flow and the characteristics of the nodes comprises: sorting the conflict service flow based on the emergency level of the service flow; determining the cumulative transmission delay of the conflict service flow in each node corresponding to the conflict service flow according to the conflict service flow, the directed graph and the characteristics of the service flow; determining the minimum forwarding delay of the conflict service flow in each node corresponding to the conflict service flow according to the conflict service flow, the directed graph and the characteristics of the nodes; determining the initial sending time of the conflict service flow in each node corresponding to the conflict service flow according to the cumulative transmission delay of the conflict service flow and the minimum forwarding delay of the conflict service flow; determining a time window according to the characteristics of the service flow and the characteristics of the nodes; determining the sending time of the conflict service flow according to the initial sending time of the conflict service flow and the time window based on the sorting of the conflict service flow.

[0012] In some embodiments, after the step of topologically sorting the directed graph to obtain a first topological sequence, the method further comprises: when determining that the number of sequence points of the first topological sequence is equal to the number of vertices of the directed graph, determining a sending time of the service flow according to the first topological sequence based on the characteristics of the service flow and the characteristics of the nodes.

[0013] In some embodiments, after the step of obtaining the characteristics of each service flow in the preset service flow set, the path of the service flow, and the characteristics of each preset node on the path of the service flow, the method further comprises: obtaining a time slot set by a user; and initializing the characteristics of the service flow and the characteristics of the nodes based on the time slot, wherein the characteristics of the service flow at least include a period of the service flow, a packet length, and an end-to-end delay, and the characteristics of the nodes at least include a minimum forwarding delay of the service flow in the nodes, and the initialization is used to convert the period of the service flow, the packet length, the end-to-end delay, and the minimum forwarding delay into integer multiples of the time slot.

[0014] In some embodiments, after the step of obtaining the characteristics of each service flow in the preset service flow set, the path of the service flow, and the characteristics of each preset node on the path of the service flow, the method further comprises: based on the characteristics of the service flow set and the path of the service flow, taking a node at a starting point of the path as a sending terminal, and determining the number of service flows corresponding to the sending terminal; connecting the sending terminal with a virtual terminal, wherein the number of the virtual terminals is equal to the number of the service flows corresponding to the sending terminal, and the link length between the virtual terminal and the sending terminal is zero; and setting a sending time of the virtual terminal as a preset initial value.

[0015] In a second aspect, the present application further provides a time-triggered scheduling method applied to a node, comprising: receiving a sending time from a central controller, wherein the sending time is determined by a directed graph and an urgency of a service flow, the directed graph is constructed by a path of the service flow, and the urgency of the service flow is determined by characteristics of each service flow in a preset service flow set obtained by the central controller, the path of the service flow, and characteristics of each node on the path of the service flow; and transmitting corresponding service flows in the service flow set according to the sending time.

[0016] In a third aspect, the present application further provides a node, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the time-triggered scheduling method of the second aspect when executing the computer program.

[0017] In a fourth aspect, the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the time-triggered scheduling method according to the first aspect.

[0018] In a fifth aspect, the present application provides a computer readable storage medium storing a computer executable program for causing a computer to execute the time-triggered scheduling method according to the first aspect or the time-triggered scheduling method according to the second aspect.

[0019] The embodiment of the present application comprises: obtaining characteristics of each service flow in a preset service flow set, a path of the service flow, and characteristics of each preset node on the path of the service flow; constructing a directed graph according to the path of the service flow, wherein the vertices of the directed graph are determined by two adjacent nodes on the path of the service flow; determining the urgency of the service flow according to the directed graph, the characteristics of the service flow, and the characteristics of the nodes; determining the sending time of the service flow according to the directed graph and the urgency of the service flow; and sending the sending time to the nodes, so that the nodes transmit the corresponding service flow in the service flow set according to the sending time. According to the scheme provided by the embodiment of the present application, the directed graph can be constructed through the path of the service flow, and then the urgency of the service flow is determined. Compared with the solvable method of the exponential time complexity, the sending time of the service flow is determined through the directed graph and the urgency of the service flow, which can reduce the time complexity, effectively speed up the scheduling of the service flow, provide effective guarantee for online scheduling, dynamic configuration and other series of functions of the time-sensitive network, and accurately control the sending time of the service flow, which provides the possibility of accurate control for exploring better service flow scheduling results with better service quality.

[0020] Other features and advantages of the present application will be set forth in the following description, and in part will become apparent to those skilled in the art from the description, or can be learned by practice of the present application. The objects and other advantages of the present application can be realized and achieved by the structure particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF DRAWINGS

[0021] The accompanying drawings are included to provide a further understanding of the technical scheme of the present application, and constitute a part of the specification, and are used together with the embodiments of the present application to explain the technical scheme of the present application, and do not constitute a limitation on the technical scheme of the present application.

[0022] Figure 1 is a flow chart of the time-triggered scheduling method provided by an embodiment of the present application;

[0023] Figure 2is a flow chart of a method for determining the emergency level of a service flow according to another embodiment of the present application;

[0024] Figure 3 is a flow chart of a method for determining the transmission time of a service flow according to another embodiment of the present application;

[0025] Figure 4 is a flow chart of a method for determining the transmission time from a total topology sequence according to another embodiment of the present application;

[0026] Figure 5 is a flow chart of a specific method for determining the transmission time from a total topology sequence according to another embodiment of the present application;

[0027] Figure 6 is a flow chart of a method for determining the transmission time of a conflicting service flow according to another embodiment of the present application;

[0028] Figure 7 is a schematic diagram of the time delay of each part required for service flow calculation of the emergency level according to another embodiment of the present application;

[0029] Figure 8 is a schematic diagram of a node connection diagram according to another embodiment of the present application;

[0030] Figure 9 is a schematic diagram of a directed graph according to another embodiment of the present application;

[0031] Figure 10 is a schematic diagram of a residual directed graph according to another embodiment of the present application;

[0032] Figure 11 is a schematic diagram of a loop-removed directed graph according to another embodiment of the present application;

[0033] Figure 12 is a flow chart of another method for determining the transmission time of a service flow according to another embodiment of the present application;

[0034] Figure 13 is a flow chart of a method for initialization based on time slots according to another embodiment of the present application;

[0035] Figure 14 is a flow chart of a method for connecting a virtual terminal according to another embodiment of the present application;

[0036] Figure 15 is a schematic diagram of a transmission terminal connecting a virtual terminal according to another embodiment of the present application;

[0037] Figure 16 is a flow chart of a time-triggered scheduling method according to another embodiment of the present application;

[0038] Figure 17 is a specific implementation schematic diagram in 802.1Qcc provided by another embodiment of the present application;

[0039] Figure 18 is a structural diagram of a node provided by another embodiment of the present application;

[0040] Figure 19 is a structural diagram of an electronic device provided by another embodiment of the present application. DETAILED DESCRIPTION

[0041] In order to make the objects, technical solutions and advantages of the present application clearer, the present application is further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0042] It should be noted that although the functional modules are divided in the device schematic diagram, and the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a manner different from the module division in the device or the order in the flowchart. The terms "first", "second", etc. in the specification, claims or above-described drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence.

[0043] Time-Sensitive Networking (TSN) is proposed and standardized by IEEE 802.1 TSN international organization, and is widely supported and recognized by the industry, academia and many international organizations (including IEC, IETF, 3GPP, etc.). It is expected to break the barrier between information network IT and control network OT, realize the integration of IT and OT, and has a wide application prospect. TSN introduces a time-triggered transmission mechanism and standardizes it as 802.1Qbv, which supports time-sensitive traffic to be sent at a precise time point. Since the sending time point of time-sensitive traffic along the route in each device is determined, the end-to-end delay of time-sensitive traffic is also determined. Time-triggered scheduling is to schedule the sending time point of each traffic in the device, which is related to network topology, routing, end-to-end delay requirements of traffic, etc., and is a typical NP-complete problem.

[0044] Currently, the typical idea for solving the time-triggered scheduling problem is to construct end-to-end delay, non-conflict between service flows, buffer restriction and other constraints, and then solve them through a satisfiability solver. Although this scheduling method can traverse the entire scheduling space to give a conclusion of whether it is schedulable, the scheduling time increases exponentially, which cannot adapt to the dynamic changes of time-sensitive services or dynamic configuration or application scenarios with strict requirements for scheduling time. In addition, the satisfiability solver may produce different feasible solutions for each scheduling under the same input, which cannot accurately regulate the sending time of each service flow to obtain a high-quality scheduling result.

[0045] In view of the problems of slow service flow scheduling and inaccurate regulation of the sending time of the service flow, the present application provides a time-triggered scheduling method, node, electronic device and storage medium, the method comprising: obtaining the characteristics of each service flow in a preset service flow set, the path of the service flow and the characteristics of each preset node on the path of the service flow; constructing a directed graph according to the path of the service flow, wherein the vertices of the directed graph are determined by the adjacent two nodes on the path of the service flow; determining the urgency of the service flow according to the directed graph, the characteristics of the service flow and the characteristics of the node; determining the sending time of the service flow according to the directed graph and the urgency of the service flow; and sending the sending time to the node, so that the node transmits the corresponding service flow in the service flow set according to the sending time. According to the scheme provided by the embodiment of the present application, the directed graph can be constructed through the path of the service flow, and then the urgency of the service flow is determined. Compared with the exponential time complexity of the satisfiability solver solving method, the sending time of the service flow is determined through the directed graph and the urgency of the service flow, which can reduce the time complexity, effectively speed up the scheduling of the service flow, provide effective protection for online scheduling, dynamic configuration and other series of functions of the time-sensitive network, and accurately regulate the sending time of the service flow, which provides the possibility of accurate regulation for exploring better service flow scheduling results with better service quality.

[0046] Firstly, several terms involved in the present application are analyzed:

[0047] Routing refers to the process of determining the network scope of the end-to-end path when a packet goes from a source to a destination.

[0048] Directed graph refers to an ordered triple (V(D), A(D), ψD), wherein ψD is an association function, which makes each element (referred to as a directed edge or arc) in A(D) correspond to an ordered element (referred to as a vertex or point) in V(D).

[0049] In-degree refers to the sum of the number of times a point in a directed graph serves as the terminal point of an edge in the graph.

[0050] LCM, the smallest positive integer of several integers common multiples is called the least common multiple.

[0051] The embodiments of the present application are further described below with reference to the drawings.

[0052] As Figure 1 shown, Figure 1 is a flow chart of a time-triggered scheduling method provided by an embodiment of the present application. The time-triggered scheduling method can be applied to a central controller, and the time-triggered scheduling method includes but is not limited to the following steps:

[0053] Step 110, obtaining the characteristics of each service flow in a preset service flow set, the path of the service flow, and the characteristics of each preset node on the path of the service flow;

[0054] Step 120, constructing a directed graph according to the path of the service flow, wherein the vertices of the directed graph are determined by two adjacent nodes on the path of the service flow;

[0055] Step 130, determining the urgency of the service flow according to the directed graph, the characteristics of the service flow, and the characteristics of the node;

[0056] Step 140, determining the sending time of the service flow according to the directed graph and the urgency of the service flow;

[0057] Step 150, sending the sending time to the node, so that the node transmits the corresponding service flow in the service flow set according to the sending time.

[0058] It can be understood that according to the characteristics of the service flow and the characteristics of the node, the period of the service flow, the message length, the end-to-end delay and the minimum forwarding delay of the service flow in the node can be obtained, each adjacent two nodes on the path of the service flow form an edge of the path of the service flow, as the vertex of the directed graph, the two adjacent edges on the path of the service flow determine a directed edge of the directed graph, then the service flow is scheduled according to the path of the directed graph, and the service flow corresponding to each vertex pair is scheduled in turn, when the in-degree of the vertex of the directed graph is greater than 1, it is determined that the service flow corresponding to the vertex conflicts, the urgency of each service flow that conflicts is calculated by using the conflict resolution mechanism, then the service flow that conflicts is sorted according to the urgency, under the premise that the sending time of the service flow scheduled later is greater than the sending time of the service flow scheduled earlier, the sending time of the service flow with low urgency is greater than the sending time of the service flow with high urgency; after the scheduling of the service flow is completed, it can be guaranteed that any two service flows in the service flow set satisfy the conflict-free determination criterion; based on this, the directed graph can be constructed based on the path of the service flow, and then the urgency of the service flow is determined; compared with the solvability solver solving method with exponential time complexity, the sending time of the service flow is determined through the directed graph and the urgency of the service flow, which can reduce the time complexity, effectively speed up the scheduling of the service flow, provide effective guarantee for the online scheduling, dynamic configuration and other series of functions of the time sensitive network, and accurately control the sending time of the service flow, which provides the possibility of accurate control for exploring better service flow scheduling results with better service quality.

[0059] It should be noted that the node includes but is not limited to a sending terminal, a receiving terminal and a switch.

[0060] It should be noted that before scheduling the service flow, the sending terminal needs to be initialized, specifically as follows: when the service flow f i When the sending terminal v0 sends, [v0, v x ] represents a link connecting the sending terminal, and there is a sending time In the initialization process, the sending time is set to zero, that is Therefore, when any one service flow in the service flow set does not conflict with other service flows, the sending time of the service flow is 0, and when the service flow conflicts with other service flows, the sending time of the service flow needs to be adjusted according to the scheduling result.

[0061] It should be noted that (1) the conflict-free determination criterion is as follows:

[0062] Two service flows f i and f j have no conflict on the edge [v k , v j ] is equivalent to:

[0063]

[0064] All Established,

[0065] Where a and b are integers, representing business flows f respectively. i f j In macro-period LCM(f i ·period, f j The order of appearance within period), f i ·period is f i The sending period, f j ·period is f j The sending period; the above inequality guarantees the service flow f i f j In macro-period LCM(f i ·period, f j No conflict will occur if they appear within a period;

[0066] (2) The conflict resolution mechanism is as follows:

[0067] Step S11: Sort the n conflicting business flows according to their urgency: f1.urgency > , ..., f i .urgency>,...,f n • urgency; the time complexity of sorting is O(n*log(n));

[0068] Step S12: For each flow f i The business flow reaches node v k time Based on the baseline, plus the business flow in v k Minimum forwarding delay As a business flow in v k Send to v j Initial sending time Right now: The time complexity of this step is O(n);

[0069] Step S13: Starting with the business flow with the highest urgency, for each business flow f i Based on the initial sending time in step S12 Starting from this point, the urgency level is determined according to the conflict-free judgment criterion, compared to f. i Does the higher business flow (i.e., the business flow with index less than i) have the same index as f? i conflict;

[0070] Step S14: If there are no conflicts, then i = i + 1, and then return to execute step S13;

[0071] Step S15: If there is a conflict, the sending time of the service flow with higher urgency remains unchanged, while the sending time of the service flow with lower urgency remains unchanged. i The sending time is:

[0072]

[0073] Among them, T w The time window is determined by the packet size and bandwidth of the service flow; for example, the time window equals the packet size of the service flow divided by the bandwidth. i Sending time Update to the original sending time. Add a T w Furthermore, if the entire timeline is divided into several time slots, where a time slot is the smallest unit of time allocated for scheduling, then in the event of a conflict, the sending time of the service flow will be affected. Update to the original sending time. Increment by 1, where,

[0074] Determine the business flow f i If the sending time of the traffic is greater than the sending time of the traffic with higher urgency, avoid conflict and return to step S13;

[0075] Additionally, in step S15, when a time window is used, when After searching all time windows, record that the business flow is unschedulable; when using time slots, when After searching After all time slots are filled, record that the business flow is unschedulable, start scheduling the next business flow, i.e., i = i + 1 and return to step S13, or i == n, which means that all business flows have been scheduled, and then exit the loop;

[0076] Steps S13, S14, and S15 constitute a multi-loop process, for each business flow f i Each step needs to determine whether it conflicts with a business flow of higher urgency. The scope of conflict determination covers the entire macro cycle of all n business flows. Therefore, the time complexity of the multiple loops formed by steps S13, S14, and S15 is O(n log n).

[0077] It is understandable that step S15 conforms to the terminal transmission time adjustment theorem. The terminal transmission time adjustment theorem states that by adjusting the transmission time of the service flow at the sending terminal, at least one conflict of the service flow can be resolved. The terminal transmission time adjustment theorem is explained as follows:

[0078] Suppose that the traffic flows f1 and f2 conflict on the edge [v2, v3], by scheduling, the sending time of f1 and f2 at node v2 is set as to avoid the conflict, the sending time of f1 and f2 at the sending terminal is adjusted as follows:

[0079]

[0080] wherein, denotes the minimum forwarding delay of a message from node v i to v j , denotes the link delay of a message from node v0 to v j .

[0081] In a specific implementation, the characteristics of each traffic flow in the traffic flow set, the path of the traffic flow and the characteristics of each preset node on the path of the traffic flow can be obtained from the information sent by the node or from the setting information of the user on the central controller.

[0082] In addition, with reference to Figure 2 , in an embodiment, Figure 1 the step 130 in the embodiment shown in the figure includes but is not limited to the following steps:

[0083] Step 210, based on the directed graph, determining the traffic flow corresponding to each vertex in the directed graph, the current node and the subsequent node, wherein the current node is the former one of the two adjacent nodes on the path of the traffic flow, and the subsequent node is the latter one of the two adjacent nodes on the path of the traffic flow;

[0084] Step 220, determining the end-to-end delay of the traffic flow according to the directed graph, the characteristics of the traffic flow and the characteristics of the node;

[0085] Step 230, determining the minimum forwarding delay of the traffic flow according to the current node, the subsequent node and the characteristics of the node;

[0086] Step 240, determining the cumulative transmission delay of the traffic flow corresponding to the current node according to the directed graph and the characteristics of the traffic flow;

[0087] Step 250, determining the minimum transmission delay of the traffic flow corresponding to the current node according to the directed graph and the minimum forwarding delay;

[0088] Step 260, determining the urgency of the traffic flow according to the end-to-end delay of the traffic flow, the minimum forwarding delay of the traffic flow, the cumulative transmission delay of the traffic flow and the minimum transmission delay of the traffic flow.

[0089] It should be noted that the calculation process of the urgency of the traffic flow is as follows:

[0090] Let the business flow f be... i The current node is v k The next hop's successor node is v. j Based on the characteristics of the directed graph and the business flow, determine the business flow f. i end-to-end delay f i .delay endtoend Based on the characteristics of the current node, subsequent nodes, and nodes, determine the business flow f. i At the current node v k Forward to subsequent node v j Minimum forwarding delay Based on the characteristics of the directed graph and the business flow, determine the business flow f. i From the sending terminal to the current node v k The cumulative transmission delay is Based on the directed graph and minimum forwarding latency, determine the service flow f. i minimum transmission delay Specifically, it refers to based on the business flow f i The path, business flow f i At the current node v k If each subsequent hop is calculated based on the minimum forwarding delay, the required minimum transmission delay is... Through business flow f i The routing is reduced by a minimum forwarding delay calculation hop by hop, with the initial value at the sending terminal being "the end-to-end delay required for each hop is calculated according to the minimum forwarding delay"; finally, the service flow f is calculated. i On the side [v k v j The urgency level of [something] is calculated using the following formula:

[0091]

[0092] in, f represents the urgency of the business flow. i .delay endtoend For the end-to-end latency of the business flow, The minimum forwarding latency for the service flow. The cumulative transmission delay of the service flow. This represents the minimum transmission delay for the service flow.

[0093] Understandably, the urgency level reflects the amount of time available for scheduling the business flow. The smaller the value, the more urgent it is. When, if f i If the service has not yet reached the terminal, it means that the service flow is not schedulable.

[0094] Additionally, refer to Figure 3 In one embodiment,Figure 1 Step 140 in the embodiment shown includes, but is not limited to, the following steps:

[0095] Step 310, topological sorting is performed on the directed graph to obtain a first topological sequence;

[0096] Step 320, when it is determined that the number of sequence points in the first topological sequence is less than the number of vertices of the directed graph, a residual directed graph is determined according to the first topological sequence and the directed graph;

[0097] Step 330, the service flow with the lowest emergency degree in the service flows corresponding to each vertex in the residual directed graph is taken as a loop-removing service flow;

[0098] Step 340, a loop-removing directed graph is determined according to the loop-removing service flow and the residual directed graph;

[0099] Step 350, topological sorting is performed on the loop-removing directed graph to obtain a second topological sequence;

[0100] Step 360, the transmission time of the service flow is determined according to the first topological sequence, the second topological sequence and the loop-removing service flow based on the characteristics of the service flow and the characteristics of the node.

[0101] It should be noted that the specific steps of topological sorting of the directed graph are as follows: assuming that L is a list for storing results; (1) first find a vertex with an in-degree of zero in the directed graph, and place the vertex into L; (2) then delete the vertex and the directed edges with the vertex as a starting point in the directed graph; repeat (1) and (2) until there is no vertex with an in-degree of zero in the directed graph; then, L is taken as the first topological sequence, and when the number of elements in L and the total number of vertices of the directed graph are the same, it is indicated that the directed graph has no loop, otherwise, the directed graph has a loop; if the directed graph has a loop, the vertices in the first topological sequence are deleted in the directed graph to obtain a residual directed graph.

[0102] It can be understood that the first topological sequence and the second topological sequence both reflect the sequence relationship between the data links, thereby determining the sequence of scheduling the service flows, and the first topological sequence can be used to determine whether the directed graph has a loop, and if the directed graph has no loop, the scheduling of the service flows can be completed only by using the first topological sequence; if the directed graph has a loop, the directed graph needs to be broken by using the loop-removing service flow to obtain a loop-removing directed graph, and then the service flows are scheduled under the joint action of the first topological sequence, the second topological sequence and the loop-removing service flow, so as to avoid conflicts of the service flows in the transmission process, and the breaking process is as follows:

[0103] Step S31: calculating the emergency degree of the service flow associated with the loop in the directed graph G'(V', E'), and taking the service flow with the minimum emergency degree as a loop-removing service flow, for example, f i ;

[0104] Step S32: Record f i The path on the loop, with its starting point denoted as . Decrease the in-degree of each node on the path by 1;

[0105] Repeat steps S31 and S32 until a node with an in-degree of 0 appears on the loop, at which point the loop is broken;

[0106] Step S33: Continue outputting the topology sequence in the already broken G′(V′, E′), until the output reaches the starting point of the selected service flow at the time of the break, for example, f. i nodes When, restore f i The in-degree of a node on the path is the node's in-degree incremented by 1, so that the schedule f can be set. i The transmission time along the path nodes;

[0107] Step S34: Due to the loop-free service flow f i It was used for destructive processing, therefore when scheduling f i When sending data within a node, the sending time for some service flows is already determined, therefore f i The sending time in the node will not change the sending time of the already scheduled business flow. It only determines the sending time with the unscheduled business flow according to the conflict resolution mechanism. At the same time, the selected sending time cannot conflict with the already scheduled business flow.

[0108] In step S31, the maximum number of business flows processed is |F|, and the time required for sorting is O(|F|*log(|F|)).

[0109] In step S32, at most all business flows are traversed, and the in-degree is decremented by 1 on each path, so the time complexity is O(|F|*|E|).

[0110] In step S33, topological sorting is still performed, so the time complexity is O(|F|*|E|).

[0111] In step S34, scheduling is performed along the topology sequence, the length of which is at most |E|. The time complexity for resolving conflicts at each node is O(E). Therefore, the time complexity of step S34 is

[0112] Therefore, the time complexity of the destructive process is O(n log n).

[0113] Additionally, refer to Figure 4 In one embodiment, Figure 3 Step 360 in the illustrated embodiment includes, but is not limited to, the following steps:

[0114] Step 410, determining a total topology sequence according to the first topology sequence, the second topology sequence and the de-looped service flow;

[0115] Step 420, traversing each sequence point in the total topology sequence in the order of the total topology sequence, and scheduling the service flow corresponding to the sequence point to determine the sending time of the service flow.

[0116] It can be understood that, according to the sequence relationship between the data links and the emergency degree of the service flow, the first topology sequence, the second topology sequence and the vertex corresponding to the de-looped service flow on the remaining directed graph are sequentially connected to obtain the total topology sequence, which can effectively schedule the service flow.

[0117] In addition, referring to Figure 5 In an embodiment, Figure 4 Step 420 in the embodiment shown includes but is not limited to the following steps:

[0118] Step 510, determining, based on the directed graph, a conflict service flow and a non-conflict service flow from the service flow set, wherein the conflict service flow is the service flow corresponding to the vertex with an in-degree greater than one in the directed graph, and the non-conflict service flow is the service flow in the service flow set except the conflict service flow;

[0119] Step 520, traversing each sequence point in the total topology sequence in the order of the total topology sequence, determining, when the service flow corresponding to the sequence point in the total topology sequence is the conflict service flow, the sending time of the conflict service flow based on the emergency degree of the service flow, the directed graph, the characteristics of the service flow and the characteristics of the node, and setting the sending time of the non-conflict service flow to a preset initial value when the service flow corresponding to the sequence point in the total topology sequence is the non-conflict service flow.

[0120] It can be understood that, before the step of traversing each sequence point in the total topology sequence in the order of the total topology sequence, it is necessary to determine whether each service flow is a conflict service flow or a non-conflict service flow; when scheduling to the non-conflict service flow, the sending time of the non-conflict service flow is set to an initial value; when scheduling to the conflict service flow, the sending time of the conflict service flow is adjusted according to the emergency degree of the service flow, the characteristics of the service flow and the characteristics of the node, thereby ensuring the effective scheduling.

[0121] In addition, referring to Figure 6 In an embodiment, Figure 5 The step of determining the sending time of the conflict service flow based on the emergency degree of the service flow, the characteristics of the service flow and the characteristics of the node in the embodiment shown includes but is not limited to the following steps:

[0122] Step 610, sorting the conflict service flow based on the emergency degree of the service flow;

[0123] Step 620, according to the conflict service flow, the directed graph and the characteristics of the service flow, determine the cumulative transmission delay of the conflict service flow in each node corresponding to the conflict service flow;

[0124] Step 630, according to the conflict service flow, the directed graph and the characteristics of the node, determine the minimum forwarding delay of the conflict service flow in each node corresponding to the conflict service flow;

[0125] Step 640, according to the cumulative transmission delay of the conflict service flow and the minimum forwarding delay of the conflict service flow, determine the initial sending time of the conflict service flow in each node corresponding to the conflict service flow;

[0126] Step 650, according to the characteristics of the service flow and the characteristics of the node, determine the time window;

[0127] Step 660, based on the ordering of the conflict service flow, according to the initial sending time of the conflict service flow and the time window, determine the sending time of the conflict service flow.

[0128] It can be understood that when scheduling to the conflict service flow, the above conflict resolution mechanism is used for scheduling processing, assuming that there are n conflict service flows, first, the n conflict service flows are sorted according to the urgency of the service flow:

[0129] f1.urgency>,...,f i .urgency>,...,f n .urgency;

[0130] Then, the cumulative transmission delay of the conflict service flow is determined Then, the minimum forwarding delay of the conflict service flow is determined Further, the initial sending time of the conflict service flow is determined That is, the original sending time in step S15, the calculation formula is as follows:

[0131]

[0132] Then, according to the characteristics of the service flow, the packet size of the service flow is determined, according to the characteristics of the node, the bandwidth is determined, and the packet size of the service flow is divided by the bandwidth to obtain the time window T w ;

[0133] Finally, based on the ordering of the conflict service flow, the sending time of the conflict service flow is determined, and the formula is as follows:

[0134]

[0135] In the ordering of the conflict service flow, if there is a conflict service flow with higher urgency before the conflict service flow to be processed, the initial sending time of the conflict service flow to be processed Add a time window T w , update the sending time of the conflict service flow to be processed.

[0136] Referring to Figure 7 , Figure 7 is a schematic diagram of the delay of each part required for service flow to calculate the emergency degree provided by another embodiment of the present application.

[0137] Referring to Figure 8 to Figure 11 , Figure 8 is a schematic diagram of the node connection graph provided by another embodiment of the present application, Figure 9 is a schematic diagram of the directed graph provided by another embodiment of the present application, Figure 10 is a schematic diagram of the residual directed graph provided by another embodiment of the present application, Figure 11 is a schematic diagram of the loop-removed directed graph provided by another embodiment of the present application.

[0138] It should be noted that the step of constructing the directed graph G'(V', E') based on the service flow set F is as follows:

[0139] For each service flow f i ∈F, let the route be f i .path=[[v0, v1],..., [v k , v l ], [v l , v m ],..., [v j-1 , v j ]].

[0140] (1) Each edge in f i .path is taken as a vertex in G'(V'), for example, [v k , v l ] is taken as a vertex

[0141] (2) Two adjacent edges, for example, [v k , v l ] and [v l , v m ], have a directed edge between the two vertices and

[0142] The number of vertices in the directed graph G′(V′, E′) is O(|E|). Since each business flow has one edge between every two adjacent edges, the number of edges in the directed graph G′(V′, E′) is O(|F|*|E|). Therefore, the time complexity of traversing each business flow to construct the directed graph G′(V′, E′) is O(|F|*|E|), and the time complexity of topological sorting on the directed graph G′(V′, E′) is O(V′+E′)=O(|F|*|E|). The output sequence of the topological sort is the topological sequence, which reflects the scheduling order between data links, for example, f i Two adjacent links in the middle [v k v l ] and [v l v m In the directed graph G′(V′, E′), there is a directed edge. from arrive Therefore, in topological sorting exist Before that, the vertices are scheduled first during scheduling. Rescheduled vertices

[0143] Understandably, assuming... Figure 8 The node connection diagram shown contains 6 service flows, namely:

[0144] f1=[[v7,v1],[v1,v2],[v2,v3],[v3,v9]],

[0145] f2=[[v8,v2],[v2,v3],[v3,v4],[v4,v 10 ]],

[0146] f3=[[v9,v3],[v3,v4],[v4,v5],[v5,v 11 ]],

[0147] f4 = [[v 10 , v4], [v4, v5], [v5, v6], [v6, v 12 ]],

[0148] f5 = [[v 11 , v5], [v5, v6], [v6, v1], [v1, v7]],

[0149] f6 = [[v 12 , v6], [v6, v1], [v1, v2], [v2, v8]],

[0150] Constructed from the path of the business flow, such as Figure 9The directed graph G'(V', E') is shown. The directed graph G'(V', E') is topologically sorted to obtain a first topological sequence After the directed graph G'(V', E') outputs the first topological sequence, a remaining directed graph is obtained as shown Figure 10 The emergency degree of the 6 service flows associated with the loop in the remaining directed graph is calculated. The service flow with the minimum emergency degree is taken as a loop-removing service flow, for example, fl. The loop-removing service flow fl is used to break the loop in the remaining directed graph to obtain a loop-removed directed graph as shown Figure 11 The loop-removed directed graph is topologically sorted to obtain a second topological sequence The vertex corresponding to the loop-removing service flow in the remaining directed graph is The first topological sequence, the second topological sequence, and the vertex corresponding to the loop-removing service flow are sequentially connected to determine a total topological sequence According to the order of the total topological sequence, each sequence point in the total topological sequence is traversed, and the service flow corresponding to the sequence point is scheduled to determine the sending time of the service flow.

[0151] It is worth noting that, taking the second topological sequence and as examples, since and have an in-degree of 0 after being output by the node , thus, and have no scheduling order, which is also acceptable.

[0152] In addition, with reference to Figure 12 ,in an embodiment, Figure 3 the step 310 in the embodiment shown further includes but is not limited to the following steps:

[0153] In step 1210, when it is determined that the number of sequence points of the first topological sequence is equal to the number of vertices of the directed graph, the sending time of the service flow is determined according to the first topological sequence based on the characteristics of the service flow and the characteristics of the node.

[0154] It can be understood that when it is determined that the number of sequence points of the first topological sequence is equal to the number of vertices of the directed graph, it means that the directed graph has no loop. At this time, the first topological sequence is equivalent to the total topological sequence in step 420, and the sending time of the service flow can be determined by using the scheduling method of step 420.

[0155] In addition, with reference to Figure 13 ,in an embodiment, Figure 1 the step 110 in the embodiment shown further includes but is not limited to the following steps:

[0156] Step 1310, obtaining the time slot set by the user;

[0157] Step 1320, initializing the characteristics of the service flow and the characteristics of the node based on the time slot, wherein the characteristics of the service flow at least include the period, the message length and the end-to-end delay of the service flow, and the characteristics of the node at least include the minimum forwarding delay of the service flow in the node, and the initialization is used to convert the period, the message length, the end-to-end delay and the minimum forwarding delay of the service flow into integer multiples of the time slot.

[0158] It can be understood that the time slot is the minimum time unit of the scheduling allocation, for example, the size of the time slot is set to 1us, that is, time_slot = 1us; and then the period, the message length, the end-to-end delay and the minimum forwarding delay of the service flow are converted into integer multiples of the time_slot:

[0159] (1) The period of the service flow: for example, 1ms can be divided into 1000 time_slots;

[0160] (2) The length of the message: set to L, plus 4 bytes of CRC + 12 bytes of minimum interframe spacing + 7 bytes of preamble + 1 byte of frame start symbol, the actual length is L+24 bytes; if in the case of port speed of 1Gbps, the number of time_slots occupied by it is wherein, is rounded up;

[0161] (3) The end-to-end delay of the service flow: set to delay end_to_end , the number of time_slots occupied by it is wherein, is rounded down;

[0162] (4) The minimum forwarding delay of the service flow in the node: it refers to the minimum forwarding delay required for the service flow to be forwarded from the current node to the subsequent node, and the specific calculation is as follows: the storage delay sdelay represents the time from when the first bit of the message is received by the switch to when the entire message is stored in the buffer of the switch, the forwarding delay fdelay represents the time from the start of the sending time to when the first bit of the message is sent to the link by the switch, the link delay ldelay represents the delay caused by the length of the link, and therefore the minimum forwarding delay of the service flow in the node = sdelay + fdelay + ldelay, and the number of time_slots occupied by it is wherein, is rounded up.

[0163] It should be noted that after the time slot is set, in step S15, if the service flow sending conflict occurs, the sending time of the service flow with low emergency degree is updated, and the service flow f iThe sending time of the time slot is modified as:

[0164]

[0165] Wherein,

[0166] Since the time slot is the smallest time unit of the scheduling allocation, the sending time of the service flow is updated to the original sending time plus 1.

[0167] It is worth noting that the time slot is introduced to simplify the scheduling, because when solving the conflict, the service flow is made to fall in different time slots, so there will be no conflict; if the time slot is not considered, the length of the message needs to be considered when solving the conflict, and the scheduling is more complex, because any overlap of the service flow message sending will cause a conflict.

[0168] In addition, referring to Figure 14 , in an embodiment, Figure 1 the step 110 in the embodiment shown further includes but is not limited to the following steps:

[0169] Step 1410, based on the characteristics of the service flow set and the path of the service flow, the node at the starting point of the path is taken as the sending terminal, and the number of service flows corresponding to the sending terminal is determined;

[0170] Step 1420, connecting the sending terminal with a virtual terminal, wherein the number of virtual terminals is equal to the number of service flows corresponding to the sending terminal, and the link length between the virtual terminal and the sending terminal is zero;

[0171] Step 1430, setting the sending time of the virtual terminal as a preset initial value.

[0172] And, referring to Figure 15 , Figure 15 is a schematic diagram of the sending terminal connecting the virtual terminal provided by another embodiment of the present application.

[0173] It should be noted that the virtual terminal is connected to handle the case where the sending terminal has multiple service flows, and the sending time of each service flow can be set to zero; if the virtual terminal is not connected, when the sending terminal sends multiple service flows, the sending time of each service flow is set to zero, which will cause a sending conflict, and at this time the conflict resolution mechanism can be applied to handle it.

[0174] It can be understood that, based on the above embodiments of the present application, the steps of the time-triggered scheduling method are as follows:

[0175] Step S151: setting the size of the time slot time_slot;

[0176] Step S152: according to the size of time_slot, converting the period, message length and minimum forwarding delay of the service flow into integer times of time_slot;

[0177] Step S153: connecting the sending terminal to the virtual terminal, and adjusting the initial node of the service flow;

[0178] Step S154: traversing the route of each service flow, and constructing a directed graph G'(V', E') as shown in FIG. 2 from the sending terminal to the receiving terminal: Figure 9 For example, the route f i .path = [[v0, v1],..., [v k , v l ], [v l , v m ],..., [v j-1 , v j ]] and the edge [v k , v l ] as a vertex , the two adjacent edges [v k , v l ] and [v l , v m ] correspond to two vertices and between which there is a directed edge

[0179] Step S155: performing topological sorting on the directed graph G'(V', E'), and outputting a topological sequence;

[0180] Step S156: setting the sending time of the sending terminal of the service flow as 0, and then traversing the service flow on each edge along the topological sequence, solving the conflict according to the conflict resolution mechanism, and the topological sequence ensures that when the service flow on the current edge is scheduled, the previous edges of these service flows have been scheduled;

[0181] Step S157: if there are still service flows that have not been scheduled after the execution of step S156, it indicates that a loop occurs in the directed graph G'(V', E'), and the directed graph G'(V', E') needs to be broken;

[0182] Step S158: adjusting the sending time of the service flow in the sending terminal according to the sending terminal sending time adjustment theorem;

[0183] It can be understood that the time complexity of the time-triggered scheduling method of the above embodiment of the application is calculated as follows:

[0184] Step S151 and step S152 perform initialization of algorithm parameters, and the time complexity is a constant;

[0185] Step S153 introduces a sending terminal for each service flow through a virtual terminal, with a time complexity of O(|F|).

[0186] Step S154 constructs a directed graph G′(V′, E′), with a time complexity of O(|F|*|E|).

[0187] Step S155 performs a topological sort on G′(V′, E′), with a time complexity of O(V′+E′)=O(|F|*|E|).

[0188] Step S156 performs service flow scheduling along the topology sequence, with a time complexity of O(n).

[0189] The time complexity of step S157, which disrupts the scheduling process, is:

[0190] Step S158 adjusts the route at most once for each service flow, so the time complexity is O(|F|*|E|).

[0191] Therefore, the time complexity of the time-triggered scheduling method is O(n log n). It has a polynomial time complexity. Compared with the exponential time complexity of the satisfiability solver method, the time-triggered scheduling method in this embodiment of the invention has a lower time complexity, which effectively speeds up the scheduling of business flows.

[0192] like Figure 16 As shown, Figure 16 This is a flowchart illustrating a time-triggered scheduling method according to another embodiment of the present invention. This time-triggered scheduling method can be applied to nodes and includes, but is not limited to, the following steps:

[0193] Step 1610: Receive the transmission time from the central controller, wherein the transmission time is determined by the directed graph and the urgency of the service flow, the directed graph is constructed by the path of the service flow, and the urgency of the service flow is determined by the characteristics of each service flow in the preset service flow set obtained by the central controller, the path of the service flow, and the characteristics of each node on the path of the service flow.

[0194] Step 1620: Transmit the corresponding service flow in the service flow set according to the sending time.

[0195] It can be understood that the node listens to the configuration information of the central controller, when the node receives the configuration information containing the sending time, the node interprets and executes the configuration, and sends the service flow at the accurate time point; based on this, the directed graph can be constructed through the path of the service flow, and then the emergency degree of the service flow is determined, compared with the solvability solver solving method with exponential time complexity, the sending time of the service flow is determined through the directed graph and the emergency degree of the service flow, the time complexity can be reduced, the scheduling of the service flow is effectively accelerated, the online scheduling, dynamic configuration and a series of functions of the time sensitive network are effectively guaranteed, and the sending time of the service flow can be accurately controlled, and the possibility of accurate control for exploring a better service flow scheduling result with better service quality is provided.

[0196] With reference to Figure 17 , Figure 17 is a specific implementation schematic diagram in 802.1Qcc provided by another embodiment of the application.

[0197] It can be understood that the node includes but is not limited to a sending terminal, a receiving terminal and a switch; after the central controller determines the sending time of each service flow, the sending time needs to be post-processed and converted into the configuration information of the node, and is configured into the node through the YANG / NETCONF protocol, the node interprets and executes the configuration, and sends the service flow at the accurate time point, so that the deterministic transmission of the time sensitive network is realized.

[0198] In addition, with reference to Figure 18 , one embodiment of the application further provides a node.

[0199] Specifically, the node comprises one or more processors and memories, Figure 18 In the embodiment, the processor and the memory are taken as an example. The processor and the memory can be connected through a bus or other manners, Figure 18 In the embodiment, the connection through the bus is taken as an example.

[0200] The memory is a non-transient computer readable storage medium, which can be used to store non-transient software programs and non-transient computer executable programs, such as the time triggered scheduling method applied to the node in the above-mentioned embodiments of the application. The processor realizes the time triggered scheduling method applied to the node in the above-mentioned embodiments of the application by running the non-transient software programs and programs stored in the memory.

[0201] The memory can include a program storage area and a data storage area, wherein the program storage area can store an operating system, application programs required by at least one function; and the data storage area can store data required by the time-triggered scheduling method applied to the node in the above embodiments of the application, and the like. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some embodiments, the memory can optionally include a memory disposed remotely relative to the processor, and these remote memories can be connected to the node through a network. Examples of the above network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0202] The non-transitory software programs required to implement the time-triggered scheduling method applied to the node in the above embodiments of the application and the program storage are stored in the memory, and when executed by one or more processors, the time-triggered scheduling method applied to the node in the above embodiments of the application is executed, for example, the method steps 1610 to 1620 in the above description are executed. Figure 16 Accordingly, the directed graph can be constructed based on the path of the service flow, and then the urgency of the service flow is determined. Compared with the exponential time complexity satisfiability solver solving method, the sending time of the service flow is determined based on the directed graph and the urgency of the service flow, which can reduce the time complexity, effectively speed up the scheduling of the service flow, and provide effective guarantee for online scheduling, dynamic configuration and other series of functions of the time-sensitive network. In addition, the sending time of the service flow can be accurately controlled, which provides the possibility of accurate control for exploring a better service flow scheduling result with better quality of service.

[0203] In addition, with reference to Figure 19 , one embodiment of the application further provides an electronic device.

[0204] Specifically, the electronic device includes one or more processors and a memory, Figure 19 In the above embodiments, the processor and the memory are taken as an example. The processor and the memory can be connected through a bus or other means, Figure 19 In the above embodiments, the connection through the bus is taken as an example.

[0205] The memory, as a non-transitory computer readable storage medium, can be used to store non-transitory software programs and non-transitory computer executable programs, such as the time-triggered scheduling method applied to the central controller in the above embodiments of the present application. The processor can implement the time-triggered scheduling method applied to the central controller in the above embodiments of the present application by running the non-transitory software programs and programs stored in the memory.

[0206] The memory can include a program storage area and a data storage area. The program storage area can store an operating system and application programs required by at least one function. The data storage area can store data required for implementing the time-triggered scheduling method applied to the central controller in the above embodiments of the present application, and the like. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one disk storage device, a flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory can optionally include a memory remotely arranged with respect to the processor, and these remote memories can be connected to the electronic device through a network. Examples of the above network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0207] The non-transitory software programs and programs required for implementing the time-triggered scheduling method applied to the central controller in the above embodiments of the present application are stored in the memory, and when executed by one or more processors, the time-triggered scheduling method applied to the central controller in the above embodiments of the present application is executed, such as the method steps 110 to 150 in the above described Figure 1 the method steps 210 to 260 in the above described Figure 2 the method steps 310 to 360 in the above described Figure 3 the method steps 410 to 420 in the above described Figure 4 the method steps 510 to 520 in the above described Figure 5 the method steps 610 to 660 in the above described Figure 6 the method step 1210 in the above described Figure 12 the method steps 1310 to 1320 in the above described Figure 13 the method steps 1310 to 1320 in the above described Figure 14In steps 1410 to 1430 of the method, the central controller obtains the characteristics of each service flow in the preset service flow set, the path of the service flow, and the characteristics of each preset node on the path of the service flow; constructs a directed graph based on the path of the service flow, wherein the vertices of the directed graph are determined by two adjacent nodes on the path of the service flow; determines the urgency of the service flow based on the directed graph, the characteristics of the service flow, and the characteristics of the nodes; determines the transmission time of the service flow based on the directed graph and the urgency of the service flow; and sends the transmission time to the nodes so that the nodes transmit the corresponding service flow in the service flow set according to the transmission time. Based on this, a directed graph can be constructed through the path of the service flow, thereby determining the urgency of the service flow. Compared with the satisfiability solver method with exponential time complexity, determining the sending time of the service flow through the directed graph and the urgency of the service flow can reduce time complexity and effectively speed up the scheduling of the service flow. This provides effective protection for a series of functions such as online scheduling and dynamic configuration of time-sensitive networks. Moreover, it can accurately control the sending time of the service flow, providing the possibility of precise control for exploring better service flow scheduling results with better service quality.

[0208] Furthermore, one embodiment of the present invention provides a computer-readable storage medium storing computer-executable instructions that are executed by a processor or controller, for example, by a processor in the above-described electronic device embodiment, causing the processor to execute the time-triggered scheduling method applied to the central controller in the above-described embodiment, for example, executing the above-described... Figure 16 Steps 110 to 150 in the method are as follows. ​ Steps 210 to 260 in the method are as follows. ​ Steps 310 to 360 in the method are as follows. ​ Steps 410 to 420 in the method are as follows. ​ Method steps 510 to 520 in the text ​ Method steps 610 to 660 in the middle ​ Method steps 1210 ​ Steps 1310 to 1320 in the method are as follows. ​The method steps 1410 to 1430 in the method, the center controller obtains the characteristics of each service flow in the preset service flow set, the path of the service flow and the characteristics of each preset node on the path of the service flow; constructs a directed graph according to the path of the service flow, wherein the vertices of the directed graph are determined by two adjacent nodes on the path of the service flow; determines the emergency degree of the service flow according to the directed graph, the characteristics of the service flow and the characteristics of the node; determines the sending time of the service flow according to the directed graph and the emergency degree of the service flow; sends the sending time to the node, so that the node transmits the corresponding service flow in the service flow set according to the sending time; or executes the time-triggered scheduling method applied to the node in the above embodiment, for example, executes the time-triggered scheduling method described above ​ The method steps 1610 to 1620 in the method, the node receives the sending time from the center controller, wherein the sending time is determined by the directed graph and the emergency degree of the service flow, the directed graph is constructed by the path of the service flow, and the emergency degree of the service flow is determined by the characteristics of each service flow in the preset service flow set obtained by the center controller, the path of the service flow and the characteristics of each node on the path of the service flow; transmits the corresponding service flow in the service flow set according to the sending time. Based on this, the directed graph can be constructed by the path of the service flow, and then the emergency degree of the service flow is determined. Compared with the satisfiability solver solving method with exponential time complexity, the sending time of the service flow is determined by the directed graph and the emergency degree of the service flow, which can reduce the time complexity, effectively speed up the scheduling of the service flow, provide effective guarantee for the online scheduling, dynamic configuration and other series of functions of the time-sensitive network, and accurately control the sending time of the service flow, which provides the possibility of accurate control for exploring better service flow scheduling results with better quality of service.

[0209] As will be appreciated by one of ordinary skill in the art, all or some of the steps, systems, etc. in the above-disclosed methods can be embodied in software, firmware, hardware, and / or suitable combinations thereof. Some or all of the physical components can be implemented with software executed by a processor, such as a central processing unit, a digital signal processor, or microprocessor, or can be implemented as hardware, or as an integrated circuit, such as an application- specific integrated circuit. Such software can be distributed on computer readable media, which can comprise computer storage media (or non-transitory media), and communication media (or transitory media). As is well known to those of ordinary skill in the art, computer storage media includes all computer-readable media in which data, computer executable instructions, or other computer readable data is / are publicized, embodied, or otherwise accessed. Computer storage media does not include communication media unless the communication media facilitates access to computer readable data. By way of example, and not limitation, computer storage media can include random- access memory (RAM), read-only memory (ROM), EEPROM, flash memory, or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage, or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer. Further, as will be appreciated by one skilled in the art, computer storage media, computer readable media, and computer readable storage media are used interchangeably throughout this detailed description. Moreover, by way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as wireless networks, acoustic waves, optical codes, radio frequency (RF) signals, infrared (IR) signals, and other wireless media. Combinations of the above should also be included within the scope of computer readable media.

[0210] The above description is that of the preferred embodiments of the application. Various modifications and changes can be made thereto without departing from the spirit of the application, which is defined by the appended claims. Each of the additional sequences disclosed herein is hereby incorporated by reference in its entirety.

Claims

1. A time-triggered scheduling method applied to a central controller, the method comprising: Obtain the characteristics of each business flow in the preset business flow set, the path of the business flow, and the characteristics of each preset node on the path of the business flow; A directed graph is constructed based on the path of the business flow, wherein the vertices of the directed graph are determined by the two adjacent nodes on the path of the business flow; Based on the directed graph, the service flow, current node, and subsequent node corresponding to each vertex in the directed graph are determined, wherein the current node is the first of two adjacent nodes on the path of the service flow, and the subsequent node is the second of two adjacent nodes on the path of the service flow. Based on the directed graph, the characteristics of the service flow, and the characteristics of the nodes, the end-to-end latency of the service flow is determined; Based on the characteristics of the current node, the subsequent node, and the node, determine the minimum forwarding latency of the service flow; Based on the directed graph and the characteristics of the service flow, determine the cumulative transmission delay of the service flow corresponding to the current node; Based on the directed graph and the minimum forwarding delay, determine the minimum transmission delay of the service flow corresponding to the current node; The urgency level of the service flow is determined based on the end-to-end latency of the service flow, the minimum forwarding latency of the service flow, the cumulative transmission latency of the service flow, and the minimum transmission latency of the service flow. The sending time of the service flow is determined based on the directed graph and the urgency of the service flow; The sending time is sent to the node so that the node transmits the corresponding service flow in the service flow set according to the sending time.

2. The method according to claim 1, characterized in that, Determining the transmission time of the service flow based on the directed graph and the urgency of the service flow includes: Perform a topological sort on the directed graph to obtain a first topological sequence; When the number of sequence points in the first topological sequence is less than the number of vertices in the directed graph, the remaining directed graph is determined based on the first topological sequence and the directed graph. The service flow with the lowest urgency among the service flows corresponding to each vertex in the remaining directed graph is taken as the deloop service flow; The deloop directed graph is determined based on the delooping service flow and the remaining directed graph; Perform a topological sort on the decyclic directed graph to obtain a second topological sequence; Based on the characteristics of the service flow and the characteristics of the node, the transmission time of the service flow is determined according to the first topology sequence, the second topology sequence, and the loop-free service flow.

3. The method according to claim 2, characterized in that, The step of determining the transmission time of the service flow based on the characteristics of the service flow and the characteristics of the node, according to the first topology sequence, the second topology sequence, and the loop-free service flow, includes: The total topology sequence is determined based on the first topology sequence, the second topology sequence, and the loop-free service flow; The system traverses each sequence point in the overall topology sequence according to the order of the sequence point, and schedules the service flow corresponding to the sequence point to determine the sending time of the service flow.

4. The method according to claim 3, characterized in that, The step of traversing each sequence point in the overall topology sequence according to its order, and scheduling the service flow corresponding to each sequence point to determine the transmission time of the service flow, includes: Based on the directed graph, conflicting and non-conflicting business flows are determined from the business flow set, wherein the conflicting business flow is the business flow corresponding to the vertex with an in-degree greater than one in the directed graph, and the non-conflicting business flow is the business flow in the business flow set other than the conflicting business flow; Traverse each sequence point in the total topology sequence according to the order of the total topology sequence. When it is determined that the service flow corresponding to the sequence point in the total topology sequence is a conflicting service flow, determine the transmission time of the conflicting service flow based on the urgency of the service flow, the directed graph, the characteristics of the service flow, and the characteristics of the node. When it is determined that the service flow corresponding to the sequence point in the total topology sequence is a non-conflicting service flow, set the transmission time of the non-conflicting service flow to a preset initial value.

5. The method according to claim 4, characterized in that, Determining the transmission time of the conflicting service flows based on the urgency of the service flows, the directed graph, the characteristics of the service flows, and the characteristics of the nodes includes: The conflicting business flows are sorted according to their urgency. Based on the conflicting service flows, the directed graph, and the characteristics of the service flows, determine the cumulative transmission delay of the conflicting service flows in each of the nodes corresponding to the conflicting service flows; Based on the characteristics of the conflicting service flows, the directed graph, and the nodes, determine the minimum forwarding delay of the conflicting service flows in each node corresponding to the conflicting service flows; Based on the cumulative transmission delay of the conflicting service flow and the minimum forwarding delay of the conflicting service flow, the initial transmission time of the conflicting service flow in each of the nodes corresponding to the conflicting service flow is determined; A time window is determined based on the characteristics of the business flow and the characteristics of the node; Based on the sorting of the conflicting service flows, the transmission time of the conflicting service flows is determined according to the initial transmission time of the conflicting service flows and the time window.

6. The method according to claim 2, characterized in that, After the step of performing topological sorting on the directed graph to obtain the first topological sequence, the method further includes: When the number of sequence points in the first topology sequence is determined to be equal to the number of vertices in the directed graph, the transmission time of the service flow is determined based on the characteristics of the service flow and the characteristics of the nodes, according to the first topology sequence.

7. The method according to claim 1, characterized in that, After the step of obtaining the characteristics of each service flow in the preset service flow set, the path of the service flow, and the characteristics of each preset node on the path of the service flow, the method further includes: Get the user-defined time slot; Based on the time slot, the characteristics of the service flow and the characteristics of the node are initialized. The characteristics of the service flow include at least the period, message length and end-to-end delay of the service flow, and the characteristics of the node include at least the minimum forwarding delay of the service flow in the node. The initialization is used to convert the period, message length, end-to-end delay and minimum forwarding delay of the service flow into integer multiples of the time slot.

8. The method according to claim 1, characterized in that, After the step of obtaining the characteristics of each service flow in the preset service flow set, the path of the service flow, and the characteristics of each preset node on the path of the service flow, the method further includes: Based on the characteristics of the service flow set and the path of the service flow, the node located at the starting point of the path is taken as the sending terminal, and the number of service flows corresponding to the sending terminal is determined. The sending terminal is connected to a virtual terminal, wherein the number of virtual terminals is equal to the number of service flows corresponding to the sending terminal, and the link length between the virtual terminal and the sending terminal is zero. Set the sending time of the virtual terminal to a preset initial value.

9. A time-triggered scheduling method applied to a node, the method comprising: The system receives a transmission time from a central controller, wherein the transmission time is determined by a directed graph and the urgency of service flows. The directed graph is constructed from the paths of the service flows. The central controller is used to acquire the characteristics of each service flow in a preset set of service flows, the path of the service flow, and the characteristics of each preset node on the path of the service flow. The central controller is also used to determine, based on the directed graph, the service flow, the current node, and the subsequent node corresponding to each vertex in the directed graph, wherein the current node is the preceding node among two adjacent nodes on the path of the service flow, and the subsequent node is the following node among two adjacent nodes on the path of the service flow. The central controller is also used to determine, based on the directed graph and the service flows... The central controller determines the end-to-end latency of the service flow based on the characteristics of the current node, the subsequent node, and the characteristics of the node. The central controller also determines the minimum forwarding latency of the service flow based on the directed graph and the characteristics of the service flow. Furthermore, the central controller determines the cumulative transmission latency of the service flow corresponding to the current node based on the directed graph and the minimum forwarding latency. Finally, the central controller determines the urgency level of the service flow based on the end-to-end latency, the minimum forwarding latency, the cumulative transmission latency, and the minimum transmission latency of the service flow. Transmit the corresponding service flow in the service flow set according to the transmission time.

10. A node, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the computer program, implements the time-triggered scheduling method as described in claim 9.

11. An electronic device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the computer program, it implements the time-triggered scheduling method as described in any one of claims 1 to 8.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer-executable program for causing a computer to perform the time-triggered scheduling method as described in any one of claims 1 to 8, or the time-triggered scheduling method as described in claim 9.

Citation Information

Patent Citations

  • SDN-based heterogeneous fusion network minimum delay path determination method

    CN109889446A

  • Path determination method and system for delay-optimized service function chaining

    US20200099625A1