Traffic scheduling method and device for time-sensitive network, and electronic equipment

By converting the network topology and traffic requirements of time-sensitive networks into mathematical constraints and determining the target scheduling scheme, the problem that the existing technology is difficult to meet the priority requirements in complex network environments is solved, and efficient traffic scheduling is achieved.

CN120151282APending Publication Date: 2025-06-13UNIV OF SCI & TECH BEIJING
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510420057.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-03
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

The existing traffic scheduling mechanism of time-sensitive networks is difficult to effectively deal with highly dynamic and complex network environments, especially in terms of prioritization of traffic demands.

Method used

By abstracting the network topology and traffic requirements of time-sensitive networks into undirected graphs and converting them into mathematical constraints in satisfactory modular theory, based on these mathematical constraints, the target scheduling scheme is determined based on mathematical constraints that maximize the priority satisfaction rate.

Benefits of technology

It realizes more accurate and efficient network traffic scheduling, can better meet the priority needs in complex network environments, and improves the efficiency of network resources utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120151282A_ABST
    Figure CN120151282A_ABST
Patent Text Reader

Abstract

The invention discloses a traffic scheduling method and device for a time-sensitive network and electronic equipment, and relates to the technical field of computer networks and communication. The method comprises the following steps: acquiring a network topology of a time-sensitive network, and abstractly modeling the network topology into an undirected graph which is used for representing all network nodes and all communication links in the network topology; obtaining a traffic demand in the undirected graph; converting the traffic demand and the network topology into mathematical constraints in a satisfiability model theory; based on mathematical constraints, determining a target scheduling scheme on the basis of maximizing the priority satisfaction rate; and performing traffic scheduling according to the target scheduling scheme. According to the invention, the target scheduling scheme is determined by maximizing the priority satisfaction rate, more accurate and efficient network traffic scheduling is realized, and the technical problem that an existing scheduling scheme has obvious insufficiency in the aspect of priority satisfaction of traffic demands in the aspect of coping with complex demands of upper-layer services is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of computer networks and communications, and particularly relates to a traffic scheduling method, device, and electronic device for a time-sensitive network. Background Art

[0002] With the rapid development of the Internet, Internet of Things, and industrial automation, network technology is facing multiple challenges such as a huge increase in data volume, soaring bandwidth requirements, and improved requirements for real-time processing and connection reliability. Especially in the field of industrial automation, communication between devices needs to achieve low latency at the millisecond or even microsecond level, which poses higher requirements for existing network architectures and protocol designs. Against this background, Time Sensitive Networking (TSN), as an emerging technical framework, has emerged to meet these stringent requirements.

[0003] The development of the TSN standard began in 2006 and was proposed by the Audio Video Bridging (AVB) special group of the IEEE 802.1 working group. Later, in 2012, the research scope was expanded and upgraded to TSN, focusing on formulating a series of standards to meet the deterministic low-latency communication requirements of real-time applications. The core standards include the Precision Time Protocol, Time-Aware Queuing, and Low-Latency Audio Video Bridging, etc., jointly ensuring that TSN can meet the Quality of Service (QoS) requirements of critical task data streams on Ethernet.

[0004] Regarding the traffic scheduling problem in TSN, researchers have developed various algorithms and technical solutions. Early research mostly used the Integer Linear Programming (ILP) method for mathematical modeling and constructed a forwarding schedule for the TSN switch, so as to ensure that Time-Triggered (TT) flows can achieve real-time transmission with extremely low latency and jitter levels. Some researchers have also proposed a method combining Time Aware Shaper (TAS) and Cycling Queuing and Forwarding (CQF), which comprehensively considers traffic classes with different real-time constraints and synchronously calculates the schedules of all traffic classes through heuristic methods, achieving efficient traffic scheduling.

[0005] Although existing research has made significant progress in traffic scheduling, the network traffic scheduling mechanisms therein still face many challenges. Especially when dealing with the complex requirements of upper-layer services, existing scheduling schemes often rely on static rules or simple priority assignments, making it difficult for them to cope with highly dynamic and complex network environments. In particular, in terms of satisfying the priorities of traffic demands, existing methods have obvious deficiencies. Summary of the Invention

[0006] To solve the above problems, embodiments of the present invention provide a traffic scheduling method, apparatus, and electronic device for time-sensitive networks.

[0007] In a first aspect, embodiments of the present invention provide a traffic scheduling method for time-sensitive networks. The method includes:

[0008] Obtain the network topology of the time-sensitive network and abstractly model it as an undirected graph, where the undirected graph is used to represent all network nodes and all communication links in the network topology;

[0009] Obtain the traffic demands in the undirected graph;

[0010] Convert the traffic demands and the network topology into mathematical constraints in Satisfiability Modulo Theories (SMT);

[0011] Based on the mathematical constraints, determine a target scheduling scheme on the basis of maximizing the priority satisfaction rate;

[0012] Perform traffic scheduling according to the target scheduling scheme.

[0013] In a possible implementation, the undirected graph is represented as: G=(V, L); where V represents the set of network nodes, including the set of switches and the set of terminals, and L represents the set of all communication links, denoted as L={(v i ,v j )|v i ,v j ∈L}, v i ,v j are respectively nodes in the set of network nodes V, and i and j are respectively node numbers.

[0014] In a possible implementation, the mathematical constraints include: initialization constraints, end-to-end constraints, frame isolation constraints, and priority constraints;

[0015] The conversion of the traffic demands and the network topology into mathematical constraints in Satisfiability Modulo Theories includes:

[0016] Define a time slot model and use the time slot model for time slot planning. The time slot planning is to divide the time of the output ports of the undirected graph into several time slots, and respectively allocate sets of permitted transmission time slots for multiple data streams with different priorities of the output ports. The multiple data streams with different priorities are forwarded to corresponding priority queues;

[0017] Determine initialization constraints. The initialization constraints are to determine, within the time slots corresponding to different priority queues of the output ports, the start time k and departure time of data frame f in the different priority queues, where, F is the set of data frames divided from the data stream in the priority queue corresponding to data frame f k and l is the length of data frame f; For data frame f k ;

[0018] Determine end-to-end constraints. The end-to-end constraints are to determine the transmission delay T k of data frame f in the different priority queues of the output ports, the off-station time of data frame f k , the port transmission delay corresponding to data frame f k and the propagation delay between the current node departure time of data frame f k and the target node. Where, k At the current node departure time of data frame f k and the propagation delay between the current node and the target node of data frame f. Where, D is the maximum allowable delay, max is the departure time of data frame f , is the off-station time of data frame f k , is the port transmission delay corresponding to data frame f , is the arrival time of data frame f k at the target node, is the current node departure time of data frame f k , is the propagation delay between the current node and the target node of data frame f , k is the number of the data frame, and the target node is the next node of the current node; k ; For data frame f k ; For data frame f k ;

[0019] Determine frame isolation constraints. The frame isolation constraints are that data frame f k at the current node departure time and data frame f k at the arrival time at the target node where, t0 For data frame f k The earliest allowable transmission time, t ddl For data frame f k The deadline for transmission;

[0020] Determine the priority constraint, and the priority constraint is:

[0021] If the priorities of two data frames are the same, the time slot planning of the two data frames is also the same; when two data frames with the same priority are queued for transmission at the same output port, the first-in-first-out principle is followed. In the first-in-first-out principle, after the previous data frame is transmitted, the subsequent data frame follows immediately; if the priorities of two data frames are different, the transmission of the data frame with a priority lower than the preset priority needs to avoid each time slot of the data frame with a priority higher than or equal to the preset priority.

[0022] In a possible implementation, based on the mathematical constraint, on the basis of maximizing the priority satisfaction rate, determine the target scheduling scheme, including:

[0023] Monitor the real-time state of the time-sensitive network;

[0024] Determine that the optimization goal is to maximize the priority satisfaction rate, and its objective function is as follows:

[0025]

[0026] Where W c Represents the priority weight of task c, and task c represents the scheduling of a data stream. E c Represents the execution status of task c. The value of 1 means successful execution, and the value of 0 means unsuccessful execution. N is the number of data streams waiting to be transmitted at the output port, and N is an integer greater than or equal to 1;

[0027] Based on the optimization goal, based on the mathematical constraint, through a local search algorithm, use a randomly initialized solution to determine the first current solution that satisfies the mathematical constraint;

[0028] According to the first current solution, determine the first priority satisfaction rate, which is used to characterize the ratio of allocating exclusive time slots to data streams with a priority higher than or equal to the preset priority, and the exclusive time slots are not preempted by data streams with a priority lower than the preset priority;

[0029] If the data stream with a priority lower than the preset priority can find an available time slot, the data stream with a priority higher than or equal to the preset priority is scheduled according to the exclusive time slot, and the data stream with a priority lower than the preset priority is scheduled according to the available time slot; if the data stream with a priority lower than the preset priority cannot find an available time slot and is determined to be in conflict, the data stream with a priority lower than the preset priority is discarded. At this time, it is judged whether there are new data streams and / or invalid data streams in the real-time state of the time-sensitive network. If so, the mathematical constraints are adjusted, and according to the adjusted mathematical constraints, the second current solution that satisfies the adjusted mathematical constraints is determined through the local search algorithm;

[0030] According to the second current solution, the first priority satisfaction rate is adjusted to obtain the second priority satisfaction rate;

[0031] If the second priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold, according to the second current solution, the target data stream path is determined in combination with the Dijkstra algorithm. The target data stream includes the data stream with a priority higher than or equal to the preset priority and the data stream with a priority lower than the preset priority; according to the second priority satisfaction rate and the target data stream path, the target scheduling scheme is determined;

[0032] If the second priority satisfaction rate is less than the preset priority satisfaction rate threshold, dynamic optimization adjustment is performed. The dynamic optimization adjustment is to adjust the search parameters of the local search algorithm according to the second priority satisfaction rate;

[0033] According to the local search algorithm after adjusting the search parameters, the second current solution is updated to obtain the third current solution;

[0034] According to the third current solution, the third priority satisfaction rate is determined;

[0035] If the third priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold, according to the third current solution, the target data stream path is determined in combination with the Dijkstra algorithm; according to the third priority satisfaction rate and the target data stream path, the target scheduling scheme is determined;

[0036] According to the target scheduling scheme, the data stream with a priority higher than or equal to the preset priority and the data stream with a priority lower than the preset priority are scheduled, and the delay is output;

[0037] If the third priority satisfaction rate is less than the preset priority satisfaction rate threshold, jump to if the second priority satisfaction rate is less than the preset priority satisfaction rate threshold, then perform dynamic optimization adjustment until the delay reaches the maximum allowable delay or reaches the preset number of iterations.

[0038] In a possible implementation, the search parameters include: a search range, a constraint weight, and a step size. The search range is the hypercycle length of time slot allocation. The constraint weight includes that the occupancy weight of data streams with a priority higher than or equal to a preset priority is greater than the occupancy weight of data streams with a priority lower than the preset priority. The step size is a fixed value.

[0039] In a possible implementation, determining the target scheduling scheme according to the third priority satisfaction rate and the target data stream path includes:

[0040] Determining a gating list configuration according to the set of time slots allowed to be transmitted by each priority queue;

[0041] Determining the target scheduling scheme according to the gating list configuration, the third priority satisfaction rate, and the target data stream path.

[0042] In a possible implementation, determining the target scheduling scheme according to the gating list configuration, the third priority satisfaction rate, and the target data stream path includes:

[0043] Converting the set of time slots into the gating state of the output port according to the gating list configuration;

[0044] Determining the ratio of time slots allocated to data streams with a priority higher than or equal to the preset priority according to the third priority satisfaction rate;

[0045] Determining the path selection of the target data stream according to the target data stream path.

[0046] In a possible implementation, the traffic demand includes at least one of: priority demand, data transmission rate, data packet size, traffic pattern, and real-time requirement

[0047] In a second aspect, an embodiment of the present invention provides a traffic scheduling device for a time-sensitive network. The device includes:

[0048] A first acquisition module, configured to acquire the network topology of the time-sensitive network and abstractly model it as an undirected graph, where the undirected graph is used to represent all network nodes and all communication links in the network topology;

[0049] A second acquisition module, configured to acquire the traffic demand in the undirected graph;

[0050] A conversion module, configured to convert the traffic demand and the network topology into mathematical constraints in the theory of satisfiability modulo theories;

[0051] A determination module, configured to determine a target scheduling scheme based on the mathematical constraints on the basis of maximizing the priority satisfaction rate;

[0052] A scheduling module, configured to perform traffic scheduling according to the target scheduling scheme.

[0053] In a third aspect, an embodiment of the present invention provides an electronic device, including:

[0054] A memory and a processor, the processor and the memory communicate with each other through a bus; the memory stores program instructions executable by the processor, and the processor can execute the method described in the first aspect and each step in various possible implementations by invoking the program instructions.

[0055] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the method described in the first aspect and each step in various possible implementations.

[0056] In a fifth aspect, an embodiment of the present invention provides a computer program product containing instructions, and when the computer program product runs on a computer, it causes the computer to execute the method described in the first aspect and each step in various possible implementations.

[0057] The beneficial effects brought by the technical solution provided by the embodiment of the present invention are as follows: By abstracting traffic demands and network topologies into mathematical constraints, based on the mathematical constraints, on the basis of maximizing the priority satisfaction rate, a target scheduling scheme is determined. By maximizing the priority satisfaction rate to determine the target scheduling scheme, more accurate and efficient network traffic scheduling is realized. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 It is a schematic flowchart of a traffic scheduling method for a time-sensitive network provided by an embodiment of the present invention;

[0059] Figure 2 It is a schematic diagram of the network topology of a time-sensitive network provided by an embodiment of the present invention;

[0060] Figure 3 It is a schematic diagram of the overall architecture design of a time-sensitive network based on SMT provided by an embodiment of the present invention;

[0061] Figure 4 It is a schematic diagram of a comparison curve of the change in the priority satisfaction rate provided by an embodiment of the present invention;

[0062] Figure 5 It is a schematic diagram of a comparison curve of the change in the end-to-end delay provided by an embodiment of the present invention;

[0063] Figure 6 It is a schematic diagram of the comparison of the standard deviation of the end-to-end delay provided by an embodiment of the present invention;

[0064] Figure 7 A flowchart showing a traffic scheduling method for a time-sensitive network provided by an embodiment of the present invention;

[0065] Figure 8 A schematic block diagram of a traffic scheduling device for a time-sensitive network provided by an embodiment of the present invention;

[0066] Figure 9 A schematic diagram of an electronic device provided by an embodiment of the present invention. Detailed implementation manners

[0067] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0068] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "said" and "the" used in the embodiments of the present invention and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.

[0069] It should be understood that the term " / and / " used herein is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after.

[0070] Depending on the context, the word "if" as used herein can be interpreted as "when" or "while" or "in response to determining" or "in response to detecting". Similarly, depending on the context, the phrase "if determined" or "if monitoring (stated condition or event)" can be interpreted as "when determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)".

[0071] Globally, the integration of industrialization, informatization and intelligentization is having a profound impact on all industries. Especially in fields with extremely strict requirements for time delay such as in-vehicle systems, avionics, and industrial automation, TSN has gradually established its core technical status as a means to achieve deterministic low-latency communication. Although the application of TSN in time-sensitive services is becoming increasingly widespread, the current network traffic scheduling mechanism it provides is still difficult to fully meet the complex requirements of upper-layer services for priorities.

[0072] In view of this, an embodiment of the present invention provides a traffic scheduling method, apparatus, and electronic device for a time-sensitive network. Figure 1 It is a schematic flowchart of a traffic scheduling method for a time-sensitive network provided by an embodiment of the present invention. As Figure 1 shown, the method may include the following steps:

[0073] Step 101: Obtain the network topology of the time-sensitive network and abstractly model it as an undirected graph, where the undirected graph is used to represent all network nodes and all communication links in the network topology.

[0074] Step 102: Obtain the traffic demand in the undirected graph.

[0075] Step 103: Convert the traffic demand and the network topology into mathematical constraints in the theory of satisfiability modulo theories.

[0076] Step 104: Based on the mathematical constraints, determine the target scheduling scheme on the basis of maximizing the priority satisfaction rate.

[0077] Step 105: Perform traffic scheduling according to the target scheduling scheme.

[0078] Next, each step in the above process and the effects that can be further generated will be described in detail in conjunction with the embodiments of the present invention. It should be noted that the "first", "second", etc. limitations involved in the embodiments of the present invention do not have limitations in terms of size, order, quantity, etc., and are only used to distinguish by name. For example, "the first current solution" and "the second current solution" are used to distinguish two different current solutions.

[0079] First, in conjunction with the embodiments of the present invention, the above step 101, that is, "obtain the network topology of the time-sensitive network and abstractly model it as an undirected graph, where the undirected graph is used to represent all network nodes and all communication links in the network topology" will be described in detail.

[0080] In the embodiment of the present invention, obtain the network topology of the time-sensitive network (as Figure 2 shown), and abstractly model it as an undirected graph G=(V, L). Among them, V represents the set of network nodes, including the set of switches SW and the set of terminals ES. ES1-ES5 are respectively the terminals in the set of terminals ES, and SW1 and SW2 are respectively the switches in the set of switches SW. L represents the set of all communication links, denoted as L={(v i , v j )|v i , v j ∈V}, v i , v jThey are respectively nodes in the set V of network nodes, and i and j are respectively node numbers. Each switch in the set V of network nodes has multiple ports. Each port includes an entrance for receiving messages and an exit for sending messages. The terminal is responsible for receiving and sending data streams and must be connected to at least one switch. The switch is responsible for performing routing selection of data streams. Its core component is the set of ports, that is, the ports of the switch. The data stream is sent through the port, and the process of selecting the transmission link is port selection. Each port corresponds to a link, that is, an edge in the graph. Define L i is an aperiodic ordered data link sequence that connects a sending-end system to one or more receiving-end systems through switches.

[0081] It should be noted that during the network traffic scheduling process, due to the dynamic changes of upper-layer services, priority scheduling becomes extremely complex. Exemplarily, in the field of industrial automation, in a complex machining process, it may be necessary to control the movements of multiple different axes simultaneously to ensure product quality and optimize the production process. The motion control data of these axes has strict time constraints and high-priority requirements because any delay or out-of-sync may lead to production errors or product quality problems. However, in addition to these critical motion control data, there may also be other non-critical data streams, such as monitoring data or diagnostic data. Although these data streams are not so urgent, they still need to be transmitted. This constitutes a complex requirement for priority scheduling: it is necessary to ensure that high-priority motion control data can be transmitted in real time while also taking into account the transmission of low-priority monitoring data and diagnostic data. As one of the core technologies of TSN, the existing TAS guarantees the transmission of high-priority traffic by adjusting the gating list. However, in the face of complex networks and changing traffic demands, the flexibility and efficiency of the TAS mechanism are still insufficient. To address this problem, in the embodiments of the present invention, an SMT solver is introduced as the target model based on TSN. The core idea of this target model is to transform the traffic demand into mathematical constraints and use the SMT solver to find the optimal solution that satisfies the mathematical constraints (i.e., the initialization constraints, end-to-end delay constraints, frame isolation constraints, and priority constraints, etc. in the following text), thereby improving the resource utilization efficiency of the network and meeting the diverse demands in the network environment. The overall architecture design of the target model is as Figure 3 shown. Refer to Figure 3 , this target model includes the following four modules, namely, the data acquisition module, the constraint generation module, the SMT solving module, and the gating update module. Among them, the data acquisition module, the constraint generation module, the SMT solving module, and the gating update module are respectively used to execute step 102, step 103, step 104, and step 105.

[0082] Next, the above step 102, that is, "obtain the traffic demand in the undirected graph", will be described in detail in combination with the embodiments of the present invention.

[0083] In the embodiments of the present invention, traffic demands in an undirected graph are obtained in real time. The above-mentioned traffic demands focus on the data transmission requirements that TSN needs to meet, and may include at least one of the following: priority demands, data transmission rate, packet size, traffic pattern, and real-time requirements. Among them, the priority demand refers to the priority relationship between different data streams. The data transmission rate refers to the rate at which data is transmitted per unit time. Different applications have different requirements for the data transmission rate, and scheduling needs to be carried out according to actual requirements. The packet size refers to the size of a single packet (it should be noted that a packet plus a frame header and a frame tail constitutes a data frame). The packet size affects network transmission efficiency and bandwidth utilization. For critical data streams, a higher priority needs to be given to ensure their timely transmission and processing. The traffic pattern refers to characteristics such as the periodicity and burstiness of data transmission. The real-time requirement refers to the time constraint that data transmission needs to meet.

[0084] It should be noted that in step 102, the traffic demands obtained in real time can also be preprocessed, including data cleaning and standardization processing, and the preprocessed traffic demands are cached.

[0085] The following describes in detail the above step 103, that is, "converting traffic demands and network topologies into mathematical constraints in the satisfiability modulo theory" in combination with the embodiments of the present invention.

[0086] In the embodiments of the present invention, as a possible implementation manner, a time slot model is defined. This time slot model can be used for time slot planning, that is, the time of the output ports of the undirected graph is divided into several time slots, and time slot sets allowed for transmission are respectively allocated to multiple data streams with different priorities at the output ports. The multiple data streams with different priorities are forwarded to the corresponding priority queues. The time slot planning of the foregoing time slot model can be refreshed according to a period. The duration of each period is the least common multiple of the periods of all data streams in the undirected graph, which is called the super period Hyper. Initialization constraints, end-to-end constraints, frame isolation constraints, and priority constraints are determined.

[0087] As a possible implementation manner, the initialization constraint is to determine the start time k and the departure time of the data frame f in different priority queues corresponding to the time slots at the output ports. Among them, F is the set of data frames divided from the data stream in the priority queue corresponding to the data frame f k , and is the length of the data frame f k .

[0088] As one possible implementation, the end-to-end constraint is to determine the transmission time T k of the data frame f k in different priority queues of the output port, k the off-station time of the data frame f k and the transmission delay of the port corresponding to the data frame f k at the departure moment of the current node and the propagation delay of the data frame f k between the current node and the target node; where, D max is the maximum allowable delay, is the departure time of the data frame f k is the off-station time of the data frame f k is the transmission delay of the port corresponding to the data frame f k is the arrival time of the data frame f k at the target node, is the data frame f k at the departure moment of the current node, is the data frame f k the propagation delay between the current node and the target node, k is the number of the data frame, and the target node is the next node of the current node.

[0089] As one possible implementation, the frame isolation constraint is that the data frame f k at the departure moment of the current node and the arrival time of the data frame f k at the target node where, t 0 is the earliest allowable transmission time of the data frame f k ddl is the cut-off time for transmitting the data frame f k .

[0090] As one possible implementation, the priority constraint is: if the priorities of two data frames are the same, the time slot planning of the two data frames is also the same; when two data frames with the same priority are queued for transmission at the same output port, the first-in-first-out principle is followed. In the first-in-first-out principle, after the previous data frame is transmitted, the subsequent data frame follows immediately; if the priorities of two data frames are different, the transmission of the data frame with a priority lower than the preset priority needs to avoid each time slot of the data frame with a priority higher than or equal to the preset priority.

[0091] ​​​​In the embodiments of the present invention, the traffic demand and network topology are transformed into mathematical constraints understandable by the SMT solver, ensuring that the scheduling scheme can accurately reflect requirements such as priority and delay; and can dynamically adjust the mathematical constraints according to the network state to adapt to the complex and changeable network environment. The above network state may include at least one of: delay, jitter, packet loss rate, network throughput, and network utilization. Among them, the delay refers to the time required for a data packet to be transmitted from the sender to the receiver. Delay is a key indicator for measuring the real-time performance of the network and is crucial for time-sensitive applications. Jitter refers to the variation of delay, describing the inconsistency of the arrival time of data packets. High jitter will affect the quality of real-time applications, such as voice and video transmission. The packet loss rate refers to the percentage of data packets that fail to reach the receiver within a certain period of time among the total transmitted data packets. Packet loss may be caused by network congestion, misconfiguration, hardware failures, etc., directly affecting the reliability of data transmission. Network throughput refers to the amount of data successfully transmitted per unit time. Throughput reflects the maximum data transmission rate that the network can carry under a certain specific condition. Network utilization refers to the usage of network bandwidth. An efficiently operating TSN network should be able to fully utilize network resources without congestion while avoiding resource waste caused by overuse.

[0092] The following describes in detail step 104 above, that is, "based on mathematical constraints, on the basis of maximizing the priority satisfaction rate, determine the target scheduling scheme" in combination with the embodiments of the present invention.

[0093] In the embodiments of the present invention, the specific implementation process of determining the target scheduling scheme based on mathematical constraints and on the basis of maximizing the priority satisfaction rate is as follows:

[0094] Step 1, monitor the real-time state of the time-sensitive network.

[0095] In the embodiments of the present invention, monitoring the real-time state of the time-sensitive network mainly refers to monitoring whether there are new data flows and / or failed data flows in the time-sensitive network.

[0096] Step 2, determine that the optimization objective is to maximize the priority satisfaction rate, and its objective function is as follows:

[0097]

[0098] Among them, W c represents the priority weight of task c, and task c represents the scheduling of a data flow. E c represents the execution status of task c, with a value of 1 indicating successful execution and a value of 0 indicating unsuccessful execution. N is the number of data flows to be sent at the output port, and N is an integer greater than or equal to 1.

[0099] Step 3: Based on the optimization objective and mathematical constraints, use a local search algorithm with a randomly initialized solution to determine a first current solution that satisfies the mathematical constraints.

[0100] In the embodiment of the present invention, the randomly initialized solution is likely not to satisfy the mathematical constraints. At this time, the local search algorithm can be used to adjust the randomly initialized solution to a solution that satisfies the mathematical constraints, that is, the first current solution.

[0101] In the embodiment of the present invention, the local search algorithm can be optimized by reinforcement learning to improve the solution efficiency.

[0102] Step 4: According to the first current solution, determine a first priority satisfaction rate, which is used to represent the ratio of dedicated time slots allocated to data flows with a priority higher than or equal to a preset priority. The dedicated time slots are not preempted by data flows with a priority lower than the preset priority.

[0103] In the embodiment of the present invention, according to the first current solution, the first priority satisfaction rate is determined. Considering that the data flows include data flows with a priority higher than or equal to the preset priority and data flows with a priority lower than the preset priority, in the embodiment of the present invention, the priority satisfaction rate of the data flows with a priority higher than or equal to the preset priority is preferably ensured. Therefore, the first priority satisfaction rate is used to represent the ratio of dedicated time slots allocated to data flows with a priority higher than or equal to the preset priority. And the dedicated time slots are not preempted by data flows with a priority lower than the preset priority.

[0104] Step 5: If a data flow with a priority lower than the preset priority can find an available time slot, schedule the data flows with a priority higher than or equal to the preset priority according to the dedicated time slots, and schedule the data flows with a priority lower than the preset priority according to the available time slots; if a data flow with a priority lower than the preset priority cannot find an available time slot and a conflict is determined, discard the data flows with a priority lower than the preset priority. At this time, check whether there are new data flows and / or failed data flows in the real-time state of the time-sensitive network. If so, adjust the mathematical constraints, and according to the adjusted mathematical constraints, use the local search algorithm to determine a second current solution that satisfies the adjusted mathematical constraints.

[0105] In the embodiment of the present invention, it is mentioned in Step 4 that the first priority satisfaction rate is used to represent the ratio of dedicated time slots allocated to data flows with a priority higher than or equal to the preset priority. And at this time, if a data flow with a priority lower than the preset priority can find an available time slot, schedule the data flows with a priority higher than or equal to the preset priority according to the dedicated time slots, and schedule the data flows with a priority lower than the preset priority according to the available time slots.

[0106] In an embodiment of the present invention, if a data stream with a priority lower than a preset priority cannot find an available time slot and is determined to be in conflict, the data stream with a priority lower than the preset priority is discarded (it should be noted that discarding means that if within the deadline of the data stream with a priority lower than the preset priority, the data stream with a priority lower than the preset priority is transmitted later than the data stream with a priority higher than or equal to the preset priority; if not within the deadline of the data stream with a priority lower than the preset priority, the data stream with a priority lower than the preset priority is not transmitted). At this time, it is judged whether there are new data streams and / or invalid data streams in the real-time state of the time-sensitive network. If so, the mathematical constraints are adjusted, and according to the adjusted mathematical constraints, a second current solution that satisfies the adjusted mathematical constraints is determined through a local search algorithm.

[0107] Step Six, according to the second current solution, adjust the first priority satisfaction rate to obtain the second priority satisfaction rate.

[0108] In an embodiment of the present invention, the second priority satisfaction rate is used to represent the allocation of the first target exclusive time slot for data streams with a priority higher than or equal to the preset priority, and to ensure that the first target exclusive time slot is not preempted by data streams with a priority lower than the preset priority. The first target exclusive time slot here is different from the aforementioned exclusive time slot. It can be understood that the second priority satisfaction rate is higher than the first priority satisfaction rate.

[0109] Step Seven, if the second priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold, then according to the second current solution, combine with the Dijkstra algorithm to determine the path of the target data stream. The target data stream includes data streams with a priority higher than or equal to the preset priority and data streams with a priority lower than the preset priority; according to the second priority satisfaction rate and the target data stream path, determine the target scheduling scheme.

[0110] In an embodiment of the present invention, if the second priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold, then according to the second current solution, combine with the Dijkstra algorithm to determine the path of the target data stream. The target data stream includes data streams with a priority higher than or equal to the preset priority and data streams with a priority lower than the preset priority; according to the second priority satisfaction rate and the target data stream path, determine the target scheduling scheme.

[0111] Step Eight, if the second priority satisfaction rate is less than the preset priority satisfaction rate threshold, then perform dynamic optimization adjustment. The dynamic optimization adjustment is to adjust the search parameters of the local search algorithm according to the second priority satisfaction rate.

[0112] In an embodiment of the present invention, exemplarily, the preset priority satisfaction rate threshold can be 90%. When the second priority satisfaction rate is less than the preset priority satisfaction rate threshold, it is determined that dynamic optimization adjustment is required. The dynamic optimization adjustment is to adjust the search parameters of the local search algorithm according to the second priority satisfaction rate.

[0113] In the embodiment of the present invention, the search parameters include: search range, constraint weight, and step size. The search range is the supercycle length of time slot allocation. The constraint weight includes that the data stream occupancy weight with a priority higher than or equal to the preset priority is greater than the data stream occupancy weight with a priority lower than the preset priority. The step size is a fixed value. Adjusting the search range can be adjusting the supercycle length of time slot allocation. Adjusting the constraint weight can be allocating a higher weight to the data stream with a priority higher than or equal to the preset priority and a lower weight to the data stream with a priority lower than the preset priority. Adjusting the step size can be changing the step size from a fixed value to a dynamic value, and the dynamic value is determined according to the number of conflicts.

[0114] Step Nine, according to the local search algorithm after adjusting the search parameters, update the second current solution to obtain the third current solution.

[0115] In the embodiment of the present invention, according to the local search algorithm after adjusting the search parameters, update the second current solution to obtain the third current solution. It should be noted that the third current solution is better than the second current solution, and the second current solution is better than the first current solution.

[0116] Step Ten, determine the third priority satisfaction rate according to the third current solution.

[0117] In the embodiment of the present invention, the third priority satisfaction rate is used to represent allocating the second target exclusive time slot to the data stream with a priority higher than or equal to the preset priority. And ensure that the second target exclusive time slot is not preempted by the data stream with a priority lower than the preset priority. The second target exclusive time slot here is different from the foregoing exclusive time slot and the first target exclusive time slot. It can be understood that the third priority satisfaction rate is higher than the second priority satisfaction rate.

[0118] Step Eleven, if the third priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold, then according to the third current solution, combine with the Dijkstra algorithm to determine the path of the target data stream; according to the third priority satisfaction rate and the path of the target data stream, determine the target scheduling scheme.

[0119] It can be understood that if the third priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold, the path of the target data stream can be determined according to the third current solution in combination with the Dijkstra algorithm (it should be noted that when combining with the Dijkstra algorithm, the path of the data stream with a priority higher than or equal to the preset priority is preferentially expanded to balance the load. Through dynamic adjustment of path selection (i.e., priority-driven path optimization), while ensuring the transmission of the data stream with a priority higher than or equal to the preset priority, the Dijkstra algorithm avoids network link congestion); according to the third priority satisfaction rate and the path of the target data stream, determine the target scheduling scheme.

[0120] In an embodiment of the present invention, the target scheduling scheme is determined according to the third priority satisfaction rate and the target data flow path, specifically: according to the set of time slots allowed to be transmitted by each priority queue, the gate list configuration is determined; according to the gate list configuration, the third priority satisfaction rate, and the target data flow path, the target scheduling scheme is determined.

[0121] In an embodiment of the present invention, the target scheduling scheme is determined according to the gate list configuration, the third priority satisfaction rate, and the target data flow path, specifically: according to the gate list configuration, the set of time slots is converted into the gate state of the output port; according to the third priority satisfaction rate, the ratio of time slots allocated to data flows with a priority higher than or equal to the preset priority is determined; according to the path of the target data flow, the path selection of the target data flow is determined.

[0122] According to the IEEE 802.1Qbv standard, network traffic is divided into 8 priority queues (0 - 7), and each queue is independently managed. High-priority traffic (such as Time Triggered (TT) traffic) is preferentially transmitted in exclusive time slots to ensure low latency and bandwidth guarantee; low-priority traffic (such as Best Effort (BE) traffic) is scheduled using network idle time slots to balance resource utilization. Traffic control is achieved through a Gate Control List (GCL), which precisely regulates the port state through time slot offsets: a gate state of "1" allows the corresponding queue to transmit, and "0" prohibits it. For example, when the gate state is "10000010", only queues with priorities 1 and 7 are enabled in the specified time slot, dynamically utilizing the remaining bandwidth while preferentially processing high-priority data flows.

[0123] Exemplarily, for two types of traffic, namely TT traffic (priority 7, period 10 ms, latency ≤ 500 μs) and BE traffic (priority 0, period 100 ms, latency ≤ 2000 μs), initialization constraints, end-to-end latency constraints, frame isolation constraints, and priority constraints are established, and a target scheduling scheme with a super period of 100 ms is generated through an SMT solver: TT traffic is transmitted in time slots 1, 11, 21...; BE traffic is transmitted in time slots 50 - 99. The gate list configures the port state according to this target scheduling scheme. For example, the gate of the TT traffic queue is opened in time slot 1 (e.g., a gate state of 10000000 indicates that only the queue with priority 7 is opened), and the gate of the BE traffic queue is switched to the open state in time slot 50 (e.g., a gate state of 00000001 indicates that only the queue with priority 0 is opened).

[0124] In an embodiment of the present invention, time slot allocation refers to generating a set of time slots for each data flow (e.g., TT traffic is transmitted in time slots 1, 11, 21... of the super period).

[0125] Gating list configuration: converts time slot allocation into gating state of switch port (e.g., TT flow queue turns on gating in time slot 1 (e.g., gating state 10000000 means that only priority 7 queue is turned on in time slot 1)).

[0126] Path optimization: Determine the optimal transmission path for data streams (e.g. TT stream selection Figure 2 The transmission path ES1→SW1→SW2→ES5 is shown).

[0127] It should be noted that the above-mentioned time slot allocation, gating list configuration and path optimization are processed using the DPLL (Davis-Putnam-Logemann-Loveland) algorithm. The SMT solver performs theoretical reasoning, that is, it combines theories such as time and arithmetic to verify the feasibility of time slot allocation, gating list configuration and path optimization, that is, it verifies the feasibility of mathematical constraints. The SMT solver performs conflict-driven learning, that is, if the mathematical constraints cannot be satisfied, the SMT solver adjusts the variable assignment through backtracking and conflict analysis, and gradually approaches a feasible solution.

[0128] Step 12: According to the target scheduling scheme, schedule data flows with priorities higher than or equal to the preset priority and data flows with priorities lower than the preset priority, and output the delay.

[0129] In an embodiment of the present invention, according to the target scheduling scheme in step eleven, data flows with priorities higher than or equal to the preset priority are scheduled first, and data flows with priorities lower than the preset priority are scheduled again, and the delay is output.

[0130] Step 13: If the third priority satisfaction rate is less than the preset priority satisfaction rate threshold, jump to step 8 until the delay reaches the maximum allowable delay or reaches the preset number of iterations.

[0131] In the embodiment of the present invention, if the third priority satisfaction rate is less than the preset priority satisfaction rate threshold (90% in the embodiment of the present invention), jump to step eight until the delay reaches the maximum allowable delay or reaches the preset number of iterations.

[0132] It should be noted that the SMT solving module can perform parallel task decomposition, parallel constraint solving and distributed computing. Parallel task solving means allocating data flows or mathematical constraints in time-sensitive networks to multiple computing nodes / threads, and synchronously processing mathematical constraint solving of different parts. Parallel constraint solving means using the parallelization characteristics of the SMT solver (such as the multi-threaded mode of Z3) to verify multiple possible scheduling schemes at the same time. Distributed computing means that for large-scale networks, the problem is decomposed into subnet scheduling sub-problems and solved collaboratively through distributed systems. The above steps accelerate the solution process, shorten the scheduling decision time, and improve computing efficiency and scheduling accuracy.

[0133] It can be seen that the SMT solving module determines the target scheduling scheme by maximizing the priority satisfaction rate (i.e., the satisfaction rate of the third priority is greater than that of the second priority, and the satisfaction rate of the second priority is greater than that of the first priority), so as to achieve more accurate and efficient network traffic scheduling. It should be noted that the target scheduling scheme can be evaluated according to indicators such as delay, priority satisfaction rate, jitter, throughput, resource utilization rate, load balance, and scheduling accuracy to determine whether it is optimal.

[0134] To evaluate the optimization effect of introducing the SMT solver in TSN (i.e., introducing the SMT solver in the TAS mechanism), a simulation experiment was carried out with the traditional TAS algorithm as the control benchmark, using the priority satisfaction rate and end-to-end delay as the core evaluation indicators, and the stability of the proposed algorithm was evaluated accordingly.

[0135] Exemplarily, the comparison curve of the change in the priority satisfaction rate is as Figure 4 shown. As Figure 4 can be seen, as the number of time-sensitive data flows increases, the priority satisfaction rates of both algorithms show a downward trend, but the decline rate of the traditional TAS is faster. When the number of scheduled data flows reaches 100, the priority satisfaction rate of the traditional TAS is 23% lower than that of the SMT-based TAS scheduling mechanism. This shows that when dealing with large-scale time-sensitive data flow scheduling tasks, the SMT-based TAS scheduling mechanism maintains a high priority satisfaction rate, and its advantage over the traditional TAS becomes more significant as the task complexity increases.

[0136] Exemplarily, the comparison curve of the change in the end-to-end delay is as Figure 5 shown. As Figure 5 can be seen, as the number of time-sensitive data flows increases, the end-to-end delays of both scheduling strategies show an upward trend. In the initial stage (when the number of scheduled time-sensitive data flows is 10), the traditional TAS is slightly lower than the SMT-based TAS scheduling mechanism. However, as the number of scheduled data flows increases, the growth rate of the delay of the traditional TAS accelerates, and the SMT-based TAS scheduling mechanism shows obvious advantages in terms of delay growth. For example, when the number of scheduled data flows reaches 60, the SMT-based TAS scheduling mechanism reduces the delay by about 1100 μs compared with the traditional TAS. After analysis, it can be seen that when the scheduling task is relatively simple, the additional computational overhead of the SMT solver results in its initial performance being lower than that of the traditional TAS mechanism. As the scheduling complexity increases, it effectively controls the delay growth through more efficient resource allocation and path optimization, demonstrating better scheduling performance and adaptability.

[0137] Exemplarily, the comparison of the standard deviation of the end-to-end delay is as Figure 6 shown. As Figure 6It can be seen that as the task scale increases, the standard deviation of the SMT-based TAS scheduling mechanism increases from about 60 to about 130, with a gentle increase rate, significantly lower than that of the traditional TAS. Especially under high-load tasks (60 data streams), the standard deviation of the traditional TAS is about 1.5 times that of the SMT-based TAS scheduling mechanism, showing a significant increase in volatility. Relying on an efficient scheduling strategy and resource allocation ability, the SMT-based TAS scheduling mechanism maintains a lower fluctuation range in large-scale tasks, demonstrating superior stability and reliability.

[0138] As can be seen from the above, in the embodiments of the present invention, the traffic demand and network topology are abstracted into mathematical constraints, and based on the mathematical constraints, the target scheduling scheme is determined on the basis of maximizing the priority satisfaction rate. Among them, by maximizing the priority satisfaction rate to determine the target scheduling scheme, more accurate and efficient network traffic scheduling is achieved; through simulation experiments, the method effect is analyzed, and the SMT-based TAS scheduling mechanism shows significant improvement in both the priority satisfaction rate and end-to-end delay, and shows higher stability when processing scheduling tasks of the same scale.

[0139] Figure 7 It is a schematic flowchart of a traffic scheduling method for a time-sensitive network provided by an embodiment of the present invention. As Figure 7 shown, the method includes the following steps:

[0140] Step 701, collect traffic demand.

[0141] In the embodiments of the present invention, the implementation process of step 701 is the same as that of step 102, and will not be described in detail here.

[0142] Step 702, convert the traffic demand and the network topology of the time-sensitive network into mathematical constraints in SMT.

[0143] In the embodiments of the present invention, the implementation process of step 702 is the same as that of step 103, and will not be described in detail here.

[0144] Step 703, monitor the real-time state of the time-sensitive network.

[0145] In the embodiments of the present invention, the implementation process of step 703 is the same as the aforementioned step one, and will not be described in detail here.

[0146] Step 704, determine to maximize the priority satisfaction rate as the optimization goal.

[0147] In the embodiments of the present invention, the implementation process of step 704 is the same as the aforementioned step two, and will not be described in detail here.

[0148] Step 705: Based on the optimization objective and mathematical constraints, determine the first current solution that satisfies the mathematical constraints by using the search parameters of the local search algorithm with a randomly initialized solution.

[0149] In the embodiment of the present invention, the implementation process of step 705 is the same as that of the foregoing step three, and will not be elaborated here.

[0150] Step 706: Determine the first priority satisfaction rate according to the first current solution.

[0151] In the embodiment of the present invention, the implementation process of step 706 is the same as that of the foregoing step four, and will not be elaborated here.

[0152] Step 707: Determine whether data flows with priorities lower than the preset priority can find available time slots.

[0153] In the embodiment of the present invention, determine whether data flows with priorities lower than the preset priority can find available time slots. If the low-priority data flow can find an available time slot, proceed to step 708; otherwise, proceed to step 709.

[0154] Step 708: Schedule data flows with priorities higher than or equal to the preset priority according to the exclusive time slots, and schedule data flows with priorities lower than the preset priority according to the available time slots.

[0155] Step 709: Determine that there is a conflict, discard the data flows with priorities lower than the preset priority, and jump to step 710.

[0156] Step 710: Determine whether there are new data flows and / or failed data flows in the real-time state of the time-sensitive network.

[0157] In the embodiment of the present invention, if there are, proceed to step 711; otherwise, jump to step 703.

[0158] Step 711: Adjust the mathematical constraints, and determine the second current solution that satisfies the adjusted mathematical constraints through the local search algorithm according to the adjusted mathematical constraints.

[0159] It should be noted that for the implementation processes of step 708, step 709, step 710, and step 711, refer to the foregoing step five, and will not be elaborated here.

[0160] Step 712: Adjust the first priority satisfaction rate according to the second current solution to obtain the second priority satisfaction rate.

[0161] In the embodiment of the present invention, the implementation process of step 712 is the same as that of the foregoing step six, and will not be elaborated here.

[0162] Step 713: Determine whether the second priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold.

[0163] In an embodiment of the present invention, it is determined whether the second priority satisfaction rate is greater than or equal to a preset priority satisfaction rate threshold. If it is greater than or equal to, step 714 is performed; otherwise, step 715 is performed.

[0164] Step 714: According to the second current solution, the path of the target data stream is determined in combination with the Dijkstra algorithm.

[0165] In an embodiment of the present invention, the implementation process of step 714 is the same as that of the foregoing step seven, and will not be elaborated herein. Then, jump to step 719.

[0166] Step 715: Dynamic optimization adjustment.

[0167] In an embodiment of the present invention, the implementation process of step 715 is the same as that of the foregoing step eight, and will not be elaborated herein.

[0168] Step 716: According to the local search algorithm after adjusting the search parameters, the second current solution is updated to obtain a third current solution.

[0169] In an embodiment of the present invention, the implementation process of step 716 is the same as that of the foregoing step nine, and will not be elaborated herein.

[0170] Step 717: According to the third current solution, the third priority satisfaction rate is determined.

[0171] In an embodiment of the present invention, the implementation process of step 717 is the same as that of the foregoing step ten, and will not be elaborated herein

[0172] Step 718: Determine whether the third priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold.

[0173] In an embodiment of the present invention, it is determined whether the third priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold. If it is greater than or equal to, jump to step 719; otherwise, jump to step 715.

[0174] Step 719: According to the third current solution, the path of the target data stream is determined in combination with the Dijkstra algorithm; according to the third priority satisfaction rate and the path of the target data stream, the target scheduling scheme is determined.

[0175] In an embodiment of the present invention, the implementation process of step 719 is the same as that of the foregoing step eleven, and will not be elaborated herein

[0176] Step 720: According to the target scheduling scheme, data streams with priorities higher than or equal to the preset priority and data streams with priorities lower than the preset priority are scheduled, and the delay is output.

[0177] In an embodiment of the present invention, the implementation process of step 720 is the same as that of the foregoing step twelve, and will not be elaborated herein

[0178] Step 721, determine whether the time delay reaches the maximum allowable time delay or the preset number of iterations.

[0179] In the embodiment of the present invention, it is determined whether the time delay reaches the maximum allowable time delay or the preset number of iterations. If the time delay reaches the maximum allowable time delay or the preset number of iterations, step 722 is executed; otherwise, return to step 705.

[0180] Step 722, output the target scheduling scheme.

[0181] According to an embodiment of another aspect, a traffic scheduling device for a time-sensitive network is provided. Figure 8 The schematic block diagram of the traffic scheduling device for the time-sensitive network according to an embodiment is shown. As Figure 8 shown, the device 800 may include: a first acquisition module 801, a second acquisition module 802, a conversion module 803, a determination module 804, and a scheduling module 805. Among them, the main functions of each component module are as follows:

[0182] The first acquisition module 801 is configured to acquire the network topology of the time-sensitive network and abstractly model it as an undirected graph, and the undirected graph is used to represent all network nodes and all communication links in the network topology.

[0183] The second acquisition module 802 is configured to acquire the traffic demand in the undirected graph.

[0184] The conversion module 803 is configured to convert the traffic demand and the network topology into mathematical constraints in the theory of satisfiability modulo theories.

[0185] The determination module 804 is configured to determine a target scheduling scheme based on the mathematical constraints on the basis of maximizing the priority satisfaction rate.

[0186] The scheduling module 805 is configured to perform traffic scheduling according to the target scheduling scheme.

[0187] In a possible implementation, the undirected graph is represented as: G = (V, L); where V represents the set of network nodes, including the set of switches and the set of terminals, and L represents the set of all communication links, denoted as L = {(v i , v j ) | v i , v j ∈ V}, v i , v j are respectively the nodes in the set of network nodes V, and i and j are respectively the node numbers.

[0188] In a possible implementation, the mathematical constraints include: initialization constraints, end-to-end constraints, frame isolation constraints, and priority constraints.

[0189] The conversion module 803 is specifically configured to define a time slot model, and perform time slot planning by using the time slot model. The time slot planning is to divide the time of the output port of the undirected graph into several time slots, and respectively allocate a set of time slots allowed for transmission to multiple data streams with different priorities of the output port. The multiple data streams with different priorities are forwarded to corresponding priority queues; determine initialization constraints, where the initialization constraints are to determine, within the time slots corresponding to different priority queues of the output port, the data frame f in the different priority queues k The start time of scheduling And the departure time Wherein, F is the set of data frames divided from the data stream in the priority queue corresponding to the data frame f k Corresponding to the data frame set of the data stream in the priority queue, Is the data frame f k Length; determine end-to-end constraints, where the end-to-end constraints are to determine the transmission delay T of the data frame f in different priority queues of the output port k , The departure time of the data frame f k And the port transmission delay corresponding to the data frame f k , The departure time of the data frame f at the current node and the propagation delay between the current node and the target node of the data frame f k Corresponding port; wherein, k At the departure moment of the current node and the data frame f k Propagation delay between the current node and the target node; where D max Is the maximum allowable delay, Is the departure time of the data frame f k , Is the off-station time of the data frame f k , Is the port transmission delay corresponding to the data frame f k , Is the arrival time of the data frame f at the target node k , Is the departure moment of the data frame f at the current node k , Is the data frame f k Propagation delay between the current node and the target node, k is the number of the data frame, and the target node is the next node of the current node; determine frame isolation constraints, where the frame isolation constraints are that the data frame f k At the departure moment of the current node And the data frame f k Arrival time at the target node Wherein, t 0 Is the earliest allowable transmission time of the data frame f k , t ddl Is the data frame fk The deadline for sending; determining a priority constraint, where the priority constraint is: if the priorities of two data frames are the same, the time slot planning of the two data frames is also the same; when two data frames with the same priority are queued for sending at the same output port, the first-in, first-out principle is followed. In the first-in, first-out principle, after the previous data frame is sent, the subsequent data frame follows immediately; if the priorities of two data frames are different, the transmission of the data frame with a priority lower than the preset priority needs to avoid each time slot of the data frame with a priority higher than or equal to the preset priority.

[0190] In a possible implementation, the determining module 804 is specifically configured to monitor the real-time state of the time-sensitive network; determining that the optimization objective is to maximize the priority satisfaction rate, and its objective function is as follows:

[0191]

[0192] Among them, W c represents the priority weight of task c, and task c represents the scheduling of a data stream. E cIndicates the execution status of task c. A value of 1 indicates successful execution, and a value of 0 indicates unsuccessful execution. N is the number of data streams to be sent at the output port, and N is an integer greater than or equal to 1. Based on the optimization objective and the mathematical constraints, a local search algorithm is used with a randomly initialized solution to determine the first current solution that satisfies the mathematical constraints. According to the first current solution, a first priority satisfaction rate is determined, which is used to characterize the ratio of dedicated time slots allocated to data streams with a priority higher than or equal to a preset priority, and these dedicated time slots are not preempted by data streams with a priority lower than the preset priority. If a data stream with a priority lower than the preset priority can find an available time slot, the data streams with a priority higher than or equal to the preset priority are scheduled according to the dedicated time slots, and the data streams with a priority lower than the preset priority are scheduled according to the available time slots. If a data stream with a priority lower than the preset priority cannot find an available time slot, it is determined as a conflict, and the data stream with a priority lower than the preset priority is discarded. At this time, it is judged whether there are new data streams and / or invalid data streams in the real-time state of the time-sensitive network. If so, the mathematical constraints are adjusted, and according to the adjusted mathematical constraints, a second current solution that satisfies the adjusted mathematical constraints is determined through the local search algorithm. According to the second current solution, the first priority satisfaction rate is adjusted to obtain a second priority satisfaction rate. If the second priority satisfaction rate is greater than or equal to a preset priority satisfaction rate threshold, based on the second current solution, the Dijkstra algorithm is combined to determine the target data stream path, and the target data streams include data streams with a priority higher than or equal to the preset priority and data streams with a priority lower than the preset priority. According to the second priority satisfaction rate and the target data stream path, the target scheduling scheme is determined. If the second priority satisfaction rate is less than the preset priority satisfaction rate threshold, dynamic optimization adjustment is performed. The dynamic optimization adjustment is to adjust the search parameters of the local search algorithm according to the second priority satisfaction rate. According to the local search algorithm with adjusted search parameters, the second current solution is updated to obtain a third current solution. According to the third current solution, a third priority satisfaction rate is determined. If the third priority satisfaction rate is greater than or equal to the preset priority satisfaction rate threshold, based on the third current solution, the Dijkstra algorithm is combined to determine the target data stream path. According to the third priority satisfaction rate and the target data stream path, the target scheduling scheme is determined. According to the target scheduling scheme, the data streams with a priority higher than or equal to the preset priority and the data streams with a priority lower than the preset priority are scheduled, and the delay is output. If the third priority satisfaction rate is less than the preset priority satisfaction rate threshold, it jumps to if the second priority satisfaction rate is less than the preset priority satisfaction rate threshold, then dynamic optimization adjustment is performed, until the delay reaches the maximum allowable delay or the preset number of iterations is reached.

[0193] In a possible implementation, the search parameters include: a search range, a constraint weight, and a step size. The search range is the hyper-period length of time slot allocation. The constraint weight includes that the occupancy weight of data flows with a priority higher than or equal to a preset priority is greater than the occupancy weight of data flows with a priority lower than the preset priority. The step size is a fixed value.

[0194] In a possible implementation, the determining module 804 is specifically configured to determine a gating list configuration according to the set of time slots allowed to be transmitted by each priority queue; and determine the target scheduling scheme according to the gating list configuration, the third priority satisfaction rate, and the target data flow path.

[0195] In a possible implementation, the determining module 804 is specifically configured to convert the set of time slots into the gating states of output ports according to the gating list configuration; determine the ratio of time slots allocated to data flows with a priority higher than or equal to the preset priority according to the third priority satisfaction rate; and determine the path selection of the target data flow according to the target data flow path.

[0196] In a possible implementation, the traffic demand includes at least one of: a priority demand, a data transmission rate, a packet size, a traffic pattern, and a real-time requirement.

[0197] Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the apparatus embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For the relevant parts, reference can be made to the partial description of the method embodiments. The apparatus embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative efforts.

[0198] In addition, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the steps of the method described in any one of the foregoing method embodiments are implemented.

[0199] And an electronic device, including:

[0200] One or more processors; and

[0201] A memory associated with the one or more processors, the memory being configured to store program instructions that, when read and executed by the one or more processors, perform the steps of the method according to any one of the foregoing method embodiments.

[0202] An embodiment of the present invention further provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method according to any one of the foregoing method embodiments.

[0203] Among them, Figure 9 Exemplarily, the architecture of an electronic device is shown, which may specifically include a processor 910, a video display adapter 911, a disk drive 912, an input / output interface 913, a network interface 914, and a memory 920. The above-mentioned processor 910, video display adapter 911, disk drive 912, input / output interface 913, network interface 914, and the memory 920 can be communicatively connected through a communication bus 930.

[0204] Among them, the processor 910 can be implemented in the form of a general-purpose CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present invention.

[0205] The memory 920 can be implemented in the form of a ROM (Read Only Memory), a RAM (Random Access Memory), a static storage device, a dynamic storage device, etc. The memory 920 can store an operating system 921 for controlling the operation of the electronic device 900, and a basic input / output system (BIOS) 922 for controlling the low-level operations of the electronic device 900. In addition, a web browser 923, a data storage management system 924, a traffic scheduling device 925 for a time-sensitive network, etc. can also be stored. The above-mentioned traffic scheduling device 925 for the time-sensitive network can be the application program that specifically implements the foregoing step operations in the embodiments of the present invention. In short, when implementing the technical solutions provided by the embodiments of the present invention through software or firmware, the relevant program codes are stored in the memory 920 and are called and executed by the processor 910.

[0206] The input / output interface 913 is used to connect to the input / output module to achieve information input and output. The input / output module can be configured as a component in the device (not shown in the figure), or can be externally connected to the device to provide corresponding functions. Among them, the input devices can include keyboards, mice, touchscreens, microphones, various sensors, etc., and the output devices can include displays, speakers, vibrators, indicator lights, etc.

[0207] The network interface 914 is used to connect to the communication module (not shown in the figure) to achieve communication and interaction between this device and other devices. Among them, the communication module can achieve communication through wired means (such as USB, network cable, etc.), or can also achieve communication through wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0208] The bus 930 includes a path to transmit information between various components of the device (such as the processor 910, the video display adapter 911, the disk drive 912, the input / output interface 913, the network interface 914, and the memory 920).

[0209] It should be noted that although the above device only shows the processor 910, the video display adapter 911, the disk drive 912, the input / output interface 913, the network interface 914, the memory 920, the bus 930, etc., in the specific implementation process, this device may also include other components necessary for normal operation. In addition, those skilled in the art can understand that the above device may also only include the components necessary to implement the solution of the present application, and do not have to include all the components shown in the figure.

[0210] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on such an understanding, the essence of the above technical solution, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0211] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present invention, rather than to limit them; although the embodiments of the present invention have been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some or all of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A traffic scheduling method for a time-sensitive network, characterized in that: include: Obtaining a network topology of a time-sensitive network and abstractly modeling it as an undirected graph, wherein the undirected graph is used to represent all network nodes and all communication links in the network topology; Obtaining traffic demand in the undirected graph; Converting the traffic demand and the network topology into mathematical constraints in satisfiability modulo theory; Based on the mathematical constraints, determining a target scheduling solution on the basis of maximizing the priority satisfaction rate; Traffic scheduling is performed according to the target scheduling scheme.

2. The method according to claim 1, characterized in that The undirected graph is represented as: G = (V, L); wherein V represents a set of network nodes, including a set of switches and a set of terminals, and L represents a set of all communication links, denoted as L = {(v i ,v j )|v i ,v j ∈V}, v i ,v j are nodes in the network node set V, i and j are node numbers respectively.

3. The method according to claim 1, characterized in that The mathematical constraints include: initialization constraints, end-to-end constraints, frame isolation constraints and priority constraints; The converting the traffic demand and the network topology into mathematical constraints in satisfiability modulo theory includes: A time slot model is defined, and time slot planning is performed using the time slot model, wherein the time slot planning is to divide the time of the output port of the undirected graph into a plurality of time slots, and to respectively allocate a set of time slots that are allowed to be transmitted to a plurality of data streams of different priorities of the output port, and the plurality of data streams of different priorities are forwarded to corresponding priority queues; Determine an initialization constraint, wherein the initialization constraint is to determine the data frames f in the different priority queues in the time slots corresponding to the different priority queues of the output port. k Scheduled start time and departure time in, F is the data frame f k The set of data frames divided by the data flow in the corresponding priority queue, is the data frame f k Length; Determine an end-to-end constraint, wherein the end-to-end constraint is to determine the data frames f in the different priority queues of the output port k The transmission time T k , data frame f k The departure time and data frame f k The corresponding port sending delay, data frame f k At the departure time of the current node and the data frame f k The propagation delay between the current node and the target node; D max is the maximum allowable delay, is the data frame f k The departure time, is the data frame f k The departure time, For the data frame f k The corresponding port sending delay, is the data frame f k The arrival time at the destination node, is the data frame f k At the departure time of the current node, is the data frame f k The propagation delay between the current node and the target node, k is the number of the data frame, and the target node is the next node of the current node; Determine a frame isolation constraint, wherein the frame isolation constraint is a data frame f k At the current node departure time And the data frame f k Arrival time at the destination node Among them, t0 is the data frame f k The earliest allowed sending time, t ddl is the data frame f k The deadline for sending; A priority constraint is determined, wherein the priority constraint is: If two data frames have the same priority, the time slot planning of the two data frames is also the same; when two data frames with the same priority are queued at the same output port waiting to be sent, the first-in-first-out principle is followed. In the first-in-first-out principle, after the previous data frame is sent, the next data frame follows immediately; if the two data frames have different priorities, the transmission of the data frame with a priority lower than the preset priority needs to avoid each time slot of the data frame with a priority higher than or equal to the preset priority.

4. The method according to any one of claims 1 to 3, characterized in that: The step of determining a target scheduling scheme based on the mathematical constraints and on the basis of maximizing the priority satisfaction rate includes: Monitoring the real-time status of the time-sensitive network; The optimization goal is to maximize the priority satisfaction rate, and its objective function is as follows: Among them, W c represents the priority weight of task c, which represents the scheduling of a data flow. c Indicates the execution status of task c. A value of 1 indicates successful execution, and a value of 0 indicates unsuccessful execution. N is the number of data streams to be sent by the output port, and N is an integer greater than or equal to 1. Based on the optimization objective, based on the mathematical constraint, by using a local search algorithm and a randomly initialized solution, determining a first current solution that satisfies the mathematical constraint; Determine a first priority satisfaction rate according to the first current solution, where the first priority satisfaction rate is used to characterize a ratio of allocating exclusive time slots to data flows with a priority higher than or equal to a preset priority, and the exclusive time slots are not preempted by data flows with a priority lower than the preset priority; If the data stream with a priority lower than the preset priority can find an available time slot, the data stream with a priority higher than or equal to the preset priority is scheduled according to the exclusive time slot, and the data stream with a priority lower than the preset priority is scheduled according to the available time slot; if the data stream with a priority lower than the preset priority cannot find an available time slot and is determined to be a conflict, the data stream with a priority lower than the preset priority is discarded, and at this time, it is determined whether there is a new data stream and / or invalid data stream in the real-time state of the time-sensitive network, and if so, the mathematical constraint is adjusted, and according to the adjusted mathematical constraint, a second current solution that satisfies the adjusted mathematical constraint is determined by the local search algorithm; According to the second current solution, adjusting the first priority satisfaction rate to obtain a second priority satisfaction rate; If the second priority satisfaction rate is greater than or equal to a preset priority satisfaction rate threshold, then determine a target data flow path according to the second current solution in combination with the Dijkstra algorithm, wherein the target data flow includes a data flow with a priority higher than or equal to the preset priority and a data flow with a priority lower than the preset priority; determine the target scheduling scheme according to the second priority satisfaction rate and the target data flow path; If the second priority satisfaction rate is less than a preset priority satisfaction rate threshold, dynamic optimization adjustment is performed, wherein the dynamic optimization adjustment is to adjust the search parameters of the local search algorithm according to the second priority satisfaction rate; According to the local search algorithm after adjusting the search parameters, the second current solution is updated to obtain a third current solution; Determining a third priority satisfaction rate according to the third current solution; If the third priority satisfaction rate is greater than or equal to a preset priority satisfaction rate threshold, determining a target data flow path according to the third current solution in combination with the Dijkstra algorithm; determining the target scheduling scheme according to the third priority satisfaction rate and the target data flow path; According to the target scheduling scheme, scheduling the data flow with a priority higher than or equal to the preset priority and the data flow with a priority lower than the preset priority, and outputting a delay; If the third priority satisfaction rate is less than the preset priority satisfaction rate threshold, then jump to if the second priority satisfaction rate is less than the preset priority satisfaction rate threshold, then perform dynamic optimization adjustment until the delay reaches the maximum allowable delay or reaches the preset number of iterations.

5. The method according to claim 4, characterized in that The search parameters include: search range, constraint weight and step size, the search range is the super period length of time slot allocation, the constraint weight includes that the weight of data streams with a priority higher than or equal to a preset priority is greater than the weight of data streams with a priority lower than the preset priority, and the step size is a fixed value.

6. The method according to claim 4, characterized in that The determining the target scheduling scheme according to the third priority satisfaction rate and the target data flow path includes: Determine the gating list configuration according to the set of time slots that each priority queue is allowed to transmit; The target scheduling scheme is determined according to the gating list configuration, the third priority satisfaction rate, and the target data flow path.

7. The method according to claim 6, characterized in that The determining the target scheduling scheme according to the gating list configuration, the third priority satisfaction rate, and the target data flow path includes: According to the gating list configuration, converting the set of time slots into a gating state of an output port; Determining, according to the third priority satisfaction rate, a ratio of allocating time slots to data flows having a priority higher than or equal to a preset priority; According to the target data flow path, a path selection of the target data flow is determined.

8. The method according to claim 1, characterized in that The traffic requirement includes at least one of a priority requirement, a data transmission rate, a data packet size, a traffic pattern, and a real-time requirement.

9. A traffic scheduling device for a time-sensitive network, characterized in that: include: A first acquisition module is used to acquire a network topology of a time-sensitive network and abstractly model it as an undirected graph, where the undirected graph is used to represent all network nodes and all communication links in the network topology; A second acquisition module, used to acquire the flow demand in the undirected graph; A conversion module, used for converting the traffic demand and the network topology into mathematical constraints in satisfiability module theory; A determination module, configured to determine a target scheduling solution based on the mathematical constraints and on the basis of maximizing the priority satisfaction rate; The scheduling module is used to perform traffic scheduling according to the target scheduling scheme.

10. An electronic device, characterized in that: include: A memory and a processor, wherein the processor and the memory communicate with each other via a bus; The memory stores program instructions executable by the processor, and the processor can execute the method according to any one of claims 1 to 8 by calling the program instructions.

Citation Information

Cited By

  • Hydraulic support communication scheduling method and device, electronic equipment and storage medium

    CN120475526A

  • Hydraulic support communication scheduling method and device, electronic equipment and storage medium

    CN120475526B