Traffic orchestration method and device, and storage medium
By calculating the forwarding duration and remaining time of service flows and determining the forwarding time period based on priority sorting, the problem of large computational load and low efficiency in existing technologies is solved, and efficient network traffic orchestration and scheduling are achieved.
Patent Information
- Application Number
- CN202310189106.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-22
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2043-02-22
AI Technical Summary
Existing technologies involve large computational loads and low efficiency when orchestrating service flows, making it difficult to achieve stable transmission of high-precision, low-latency network traffic.
By obtaining the service flow load value and forwarding rate of the target port, the forwarding duration and remaining time of each service flow are calculated, and the forwarding time period of the service flow is determined based on priority sorting, thus reducing computational complexity.
It improves the efficiency of business flow orchestration, reduces computational complexity and solution speed, alleviates the computational pressure on the server, and achieves efficient network traffic scheduling.
Smart Images

Figure CN116319580B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, in particular to a traffic arrangement method and device and storage medium. BACKGROUND
[0002] With the development of digitalization, networking and intelligentization of the industrial chain, the demand for high-precision, low-latency and low-jitter data transmission in the industrial field is increasing, and the traditional best-effort and statistical multiplexing network is difficult to realize stable transmission of all high-priority traffic.
[0003] In order to better use real-time Ethernet to realize accurate scheduling of network traffic, Time Sensitive Network (TSN) acts on the Media Access Control (MAC) sublayer of the data link layer, and adds a set of general time-sensitive mechanisms to the media access control layer of the Ethernet protocol. On this basis, mechanisms such as global clock synchronization, queue scheduling and frame preemption are established to provide support for accurate scheduling of network traffic.
[0004] The prior art sorts the parameter information of each Time Sensitive Network (TT) flow in priority by means of frame scheduling or target function modeling, and then arranges the TT flow frame by frame according to the priority order to determine the arrangement scheme of the TT flow. Since both of these two methods need to call a large amount of computing power when arranging the service flow, there is a problem of large amount of calculation and low solving efficiency. SUMMARY
[0005] The present application provides a traffic arrangement method, device and storage medium, which solves the problem of excessive calculation and low efficiency when arranging the service flow in the prior art, and can improve the efficiency of arranging the service flow.
[0006] To achieve the above-mentioned purpose, the present application adopts the following technical solutions:
[0007] In a first aspect, the present application provides a traffic arrangement method, which comprises: obtaining a load value of each service flow in a plurality of service flows of a target port; determining a forwarding duration of each service flow at the target port based on a forwarding rate of the target port and the load value of each service flow; determining a remaining forwarding time of each service flow at the target port according to the time when each service flow arrives at the target port, the latest sending time of each service flow at the target port, and the forwarding duration of each service flow at the target port; sorting each service flow based on the remaining forwarding time of each service flow at the target port to determine the forwarding priority of each service flow; and determining the forwarding time period of each service flow according to the forwarding priority of each service flow and the available forwarding time period of the target port.
[0008] With reference to the first aspect above, in a possible implementation manner, the method further includes: determining, for one service flow, a ratio of a load value of the one service flow to a forwarding rate of the target port as a forwarding duration of the one service flow at the target port.
[0009] With reference to the first aspect above, in a possible implementation manner, the method further includes: in a case where the sum of the forwarding durations of the plurality of service flows at the target port is greater than or equal to the preset duration, updating the routing parameters of the plurality of service flows; in a case where the sum of the forwarding durations of the plurality of service flows at the target port is less than the preset duration, determining whether there is a first service flow in the plurality of service flows, the first service flow being a service flow whose full routing forwarding duration is less than a forwarding duration of the first service flow at all target ports; the routing forwarding duration being a time period between a time when the first service flow arrives at a source port and a latest sending time of the first service flow at a destination port; the destination port being a last port in a service flow forwarding process; the source port being a first port in the service flow forwarding process; and updating the routing parameters of the first service flow if the first service flow exists in the plurality of service flows.
[0010] With reference to the first aspect above, in a possible implementation manner, the method further includes: determining a remaining forwarding time of each service flow if the first service flow does not exist in the plurality of service flows.
[0011] With reference to the first aspect above, in a possible implementation manner, the method further includes: determining a service flow with a highest forwarding priority in the current service flows as a target service flow; the current service flows being service flows whose forwarding time periods are not determined or service flows whose routing parameters are updated; determining whether there is a time period greater than or equal to a forwarding duration of the target service flow at the target port in a target time period of the target port; the target time period including a plurality of sub-time periods in an available forwarding time period of the target port that are not allocated to the plurality of service flows; determining whether there is a target sub-time period with a duration greater than the forwarding duration of the target service flow at the target port in the plurality of sub-time periods of the target time period; determining a target sub-time period with a shortest time interval from a time when the target service flow arrives at the target port as the forwarding time period of the target service flow if there is; and updating the routing parameters of the target service flow if there is not.
[0012] With reference to the first aspect, in a possible implementation manner, the method further includes: adding the target service flow to the target gating queue after determining the forwarding time period of the target service flow at all target ports; determining whether the number of target gating queues is greater than a preset threshold; the preset threshold is the maximum gating queue number of the target port; in a case where the number of target gating queues is less than or equal to the preset threshold, forwarding the target service flow according to the forwarding time period of the target service flow at all target ports; in a case where the number of target gating queues is greater than the preset threshold, updating the routing parameter of the target service flow in each target gating queue.
[0013] With reference to the second aspect, the application provides a traffic orchestration apparatus, which includes: a communication unit and a processing unit; the communication unit is configured to acquire a load value of each service flow in a plurality of service flows of a target port; the processing unit is configured to determine a forwarding time period of each service flow at the target port based on a forwarding rate of the target port and the load value of each service flow; the processing unit is further configured to determine a remaining forwarding time period of each service flow at the target port according to a time at which each service flow arrives at the target port, a latest sending time of each service flow at the target port, and the forwarding time period of each service flow at the target port; the processing unit is further configured to sort each service flow based on the remaining forwarding time period of each service flow at the target port, and determine a forwarding priority of each service flow; and the processing unit is further configured to determine a forwarding time period of each service flow according to the forwarding priority of each service flow and an available forwarding time period of the target port.
[0014] With reference to the second aspect, in a possible implementation manner, the processing unit is further configured to: for one service flow, determine that a ratio of the load value of the one service flow to the forwarding rate of the target port is the forwarding time period of the one service flow at the target port.
[0015] With reference to the second aspect, in a possible implementation manner, the processing unit is further configured to: in a case where a sum of the forwarding time periods of the plurality of service flows at the target port is greater than or equal to a preset time period, update a routing parameter of the plurality of service flows; in a case where the sum of the forwarding time periods of the plurality of service flows at the target port is less than the preset time period, determine whether there is a first service flow in the plurality of service flows, the first service flow being a service flow whose full routing forwarding time period is less than a forwarding time period of the first service flow at all target ports; the full routing forwarding time period is a time period between a time at which the first service flow arrives at a source port and a latest sending time of the first service flow at a destination port; the destination port is a last port in a forwarding process of the service flow; and the source port is a first port in the forwarding process of the service flow; and if there is the first service flow in the plurality of service flows, update the routing parameter of the first service flow.
[0016] With reference to the second aspect, in a possible implementation manner, the processing unit is further configured to: if the first service flow does not exist in the plurality of service flows, determining the remaining forwarding time of each service flow.
[0017] With reference to the second aspect, in a possible implementation manner, the processing unit is further configured to: determining a service flow with the highest forwarding priority in the current service flows as a target service flow; the current service flows are service flows without determined forwarding time periods or service flows with updated routing parameters; determining whether there is a time period in the target time period of the target port, which is greater than or equal to the forwarding duration of the target service flow at the target port; the target time period includes a plurality of sub-time periods in the available forwarding time period of the target port, which are not allocated to the plurality of service flows; determining whether there is a target sub-time period in the plurality of sub-time periods of the target time period, which has a duration greater than the forwarding duration of the target service flow at the target port; if there is, determining the target sub-time period with the shortest time interval from the arrival time of the target service flow at the target port as the forwarding time period of the target service flow; and if there is not, updating the routing parameters of the target service flow.
[0018] With reference to the second aspect, in a possible implementation manner, the processing unit is further configured to: after determining the forwarding time periods of the target service flow at all target ports, adding the target service flow to a target gating queue; determining whether the number of target gating queues is greater than a preset threshold; the preset threshold is the maximum number of gating queues of the target port; in a case where the number of target gating queues is less than or equal to the preset threshold, forwarding the target service flow according to the forwarding time periods of the target service flow at all target ports; and in a case where the number of target gating queues is greater than the preset threshold, updating the routing parameters of the target service flow in each target gating queue.
[0019] In a third aspect, the present application provides a traffic orchestration apparatus, which comprises a processor and a communication interface; the communication interface is coupled with the processor, and the processor is configured to run computer programs or instructions to implement the traffic orchestration method described in the first aspect and any possible implementation manner of the first aspect.
[0020] In a fourth aspect, the present application provides a computer readable storage medium, which stores instructions, and when the instructions run on a terminal, the terminal executes the traffic orchestration method described in the first aspect and any possible implementation manner of the first aspect.
[0021] In a fifth aspect, the present application provides a computer program product comprising instructions, and when the computer program product runs on a traffic orchestration apparatus, the traffic orchestration apparatus executes the traffic orchestration method described in the first aspect and any possible implementation manner of the first aspect.
[0022] In a sixth aspect, the present application provides a chip, comprising a processor and a communication interface, the communication interface is coupled with the processor, and the processor is configured to run computer programs or instructions to implement the traffic orchestration method as described in the first aspect and any possible implementation manner of the first aspect.
[0023] Specifically, the chip provided in the present application further comprises a memory for storing the computer programs or instructions.
[0024] It should be noted that the computer instructions can be stored on the computer readable storage medium in whole or in part. The computer readable storage medium can be packaged together with the processor of the device or packaged separately from the processor of the device, and the present application does not limit the same.
[0025] In a seventh aspect, the present application provides a traffic orchestration system, comprising a traffic orchestration device and a data server, wherein the traffic orchestration device is configured to execute the traffic orchestration method as described in the first aspect and any possible implementation manner of the first aspect.
[0026] The description of the second aspect to the seventh aspect in the present application can refer to the detailed description of the first aspect; and the beneficial effects of the description of the second aspect to the seventh aspect can refer to the beneficial effect analysis of the first aspect, which will not be repeated here.
[0027] In the present application, the name of the traffic orchestration device does not constitute a limitation on the device or functional module itself, and in actual implementation, these devices or functional modules can appear with other names. As long as the functions of each device or functional module are similar to those of the present application, they belong to the scope of the claims of the present application and equivalent technologies.
[0028] These aspects or other aspects of the present application will be more apparent in the following description.
[0029] The above scheme at least has the following beneficial effects: based on the technical scheme, the traffic arrangement method provided by the application first determines the load value of each service flow in the plurality of service flows of the target port by the traffic arrangement device. Compared with the prior art of arranging service flows according to the parameters of each frame, the traffic arrangement device of the application can quickly and with extremely small calculation amount determine the forwarding duration of each service flow at the target port from the perspective of each service flow, through the forwarding rate of the target port and the load value of each service flow, greatly relieving the calculation pressure of the server. Then, the traffic arrangement device determines the remaining forwarding time of each service flow according to the time of each service flow arriving at the target port, the latest sending time of each service flow at the target port, and the forwarding duration of each service flow at the target port, and calculates the remaining forwarding time of each service flow according to the parameters of each service flow, and then sorts to obtain the forwarding priority of the service flow, which is convenient for the subsequent traffic arrangement device to determine the forwarding time period of each service flow according to the forwarding priority of each service flow and the available forwarding time period of the target port. Compared with the prior art of arranging service flows by frame scheduling or target function modeling, a large amount of calculation ability needs to be called, and there is a problem of high calculation complexity and slow solving speed. The above technical scheme greatly reduces the complexity of calculation and greatly reduces the problem solving speed. BRIEF DESCRIPTION OF DRAWINGS
[0030] Figure 1 An architecture schematic diagram of a traffic arrangement system provided by an embodiment of the application;
[0031] Figure 2 A flowchart of a traffic arrangement method provided by an embodiment of the application;
[0032] Figure 3 A flowchart of another traffic arrangement method provided by an embodiment of the application;
[0033] Figure 4 A flowchart of another traffic arrangement method provided by an embodiment of the application;
[0034] Figure 5 A flowchart of another traffic arrangement method provided by an embodiment of the application;
[0035] Figure 6 A structure schematic diagram of a traffic arrangement device provided by an embodiment of the application;
[0036] Figure 7 A structure schematic diagram of another traffic arrangement device provided by an embodiment of the application. DETAILED DESCRIPTION
[0037] With reference to the drawings, the technical solutions in the embodiments of the present application will be clearly and completely described below. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of the present application.
[0038] The term "and / or" used herein is only used to describe an association relationship of associated objects, and means that three relationships can exist, for example, A and / or B can mean that A exists alone, A and B exist together, and B exists alone.
[0039] The terms "first" and "second" and the like in the description of the present application and the drawings are used to distinguish different objects or different treatments of the same object, rather than to describe a specific order of the objects.
[0040] In addition, the terms "include" and "have" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but can optionally include other steps or units not listed, or can optionally include other steps or units inherent to the process, method, product or device.
[0041] It should be noted that in the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0042] In the description of the present application, unless otherwise specified, the meaning of "a plurality of" is two or more.
[0043] With the development of digitalization, networking and intelligentization of the industrial chain, the demand for high-precision, low-latency and low-jitter data transmission in the industrial field is increasing, and the traditional best-effort and statistical multiplexing network is difficult to realize stable transmission of all high-priority traffic.
[0044] In order to better use real-time Ethernet to realize accurate scheduling of network traffic, Time Sensitive Network (TSN) acts on the media access control (MAC) sublayer of the data link layer, adds a set of general time-sensitive mechanisms to the media access control layer of the Ethernet protocol, and establishes mechanisms such as global clock synchronization, queue scheduling, and frame preemption, thereby providing support for accurate scheduling of network traffic.
[0045] The prior art sorts the parameter information of each Time Sensitive Network (TT) flow in priority by means of frame scheduling or objective function modeling, and then arranges the TT flow frame by frame according to the priority order, thereby determining the arrangement scheme of the TT flow. Since both of the two methods need to call a large amount of computing power when arranging the service flow, there is a problem of high computational complexity and slow solving speed.
[0046] In view of this, the traffic arrangement method provided by the present application first determines the load value of each service flow in the plurality of service flows of the target port by the traffic arrangement device. Compared with the prior art of arranging the service flow according to the parameters of each frame, the traffic arrangement device of the present application can quickly and with extremely small amount of calculation determine the forwarding duration of each service flow at the target port from the perspective of each service flow, through the forwarding rate of the target port and the load value of each service flow, thereby greatly relieving the computing pressure of the server. Then, the traffic arrangement device determines the remaining forwarding time of each service flow according to the time when each service flow arrives at the target port, the latest sending time of each service flow at the target port, and the forwarding duration of each service flow at the target port, and calculates the remaining forwarding time of each service flow according to the parameters of each service flow, and then sorts to obtain the forwarding priority of the service flow, thereby facilitating the traffic arrangement device to determine the forwarding time period of each service flow according to the forwarding priority of each service flow and the available forwarding time period of the target port. Compared with the prior art of arranging the service flow by means of frame scheduling or objective function modeling, a large amount of computing power needs to be called, and there is a problem of high computational complexity and slow solving speed. The above technical solution greatly reduces the complexity of calculation and also greatly reduces the problem solving speed.
[0047] The implementation manner of the embodiment of the present application will be described in detail below with reference to the accompanying drawings.
[0048] Figure 1 An architecture diagram of a traffic arrangement system 10 provided by the embodiment of the present application is shown in FIG. 1. Figure 1 As shown in the figure, the traffic arrangement system 10 includes a traffic arrangement device 101 and a data server 102.
[0049] The traffic orchestration device 101 and the data server 102 can be one or multiple, for ease of understanding, Figure 1 Only one is shown in the figure.
[0050] The traffic orchestration device 101 and the data server 102 are connected through a communication link. The communication link can be a wired communication link or a wireless communication link, which is not limited in the present application.
[0051] In one possible implementation, the traffic orchestration device 101 receives the load value of each traffic flow in the plurality of traffic flows of the target port and the forwarding rate of the target port from the data server 102, and calculates the forwarding duration of the target port based thereon. The traffic orchestration device 101 receives the time of each traffic flow arriving at the target port and the latest sending time of each traffic flow at the target port from the data server 102, and determines the remaining forwarding time of each traffic flow at the target port according to the forwarding duration of each traffic flow at the target port, so as to determine the forwarding priority of each traffic flow through sorting. Then the traffic orchestration device receives the available forwarding time of the target port from the data server 102, and determines the forwarding time period of each traffic flow according to the forwarding priority of each traffic flow.
[0052] In one possible implementation, the data server 102 is configured to send at least one of the load value of each traffic flow in the plurality of traffic flows of the target port, the forwarding rate of the target port, the time of each traffic flow arriving at the target port, the latest sending time of each traffic flow at the target port, and the available forwarding time of the target port to the traffic orchestration device 101.
[0053] For example, the traffic orchestration device 101 receives the network structure and the configuration information of the traffic flow from the data server 102, constructs a convergence information table according to the network structure and the configuration information of the traffic flow, and determines whether there are multiple traffic flows at the target port according to the convergence information table. In the case where there are multiple traffic flows at the target port, the remaining forwarding time of each traffic flow is calculated, and the traffic orchestration device 101 performs traffic flow priority sorting. Based on the priority sorting, the traffic orchestration device 101 determines the forwarding time period of each traffic flow flow by flow and hop, and stores the traffic flow with the determined forwarding time period into a gating queue, and determines whether the number of the gating queues exceeds the maximum gating queue number limit. In the case where the number of the gating queues does not exceed the maximum gating queue number limit, the traffic orchestration device 101 forwards the traffic flow according to the forwarding time period of the traffic flow. In the case where the number of the gating queues exceeds the maximum gating queue number limit, the traffic orchestration device 101 updates the routing parameters of the traffic flow in each gating queue, replaces the destination port of the traffic flow in each gating queue, and re-determines the forwarding time period of the traffic flow.
[0054] For example, the traffic arrangement device initializes a feasible interval for each link as a common multiple of the sending periods of the multiple traffic flows. After determining the forwarding time period of each traffic flow, the traffic arrangement device marks the occupied time period on the feasible interval, providing a basis for the arrangement of subsequent other traffic flows.
[0055] For example, the traffic arrangement device 101 receives topology information and traffic flow configuration information from the data server 102. The obtained information includes a link set, a link number, a traffic flow set, and a traffic flow number. For each traffic flow, the sending period, the load value, and the forwarding rate at the target port are obtained. The traffic arrangement device 101 solves the common multiple of the sending periods of the multiple traffic flows to obtain a preset time length. The traffic arrangement device 101 takes the ratio of the load value of each traffic flow to the forwarding rate of each traffic flow at the target port as the forwarding time length of each traffic flow. Then the traffic arrangement device 101 determines whether the sum of the forwarding time lengths of the multiple traffic flows at the target port is greater than or equal to the preset time length. In the case where the sum of the forwarding time lengths of the multiple traffic flows at the target port is greater than or equal to the preset time length, the routing parameters of the multiple traffic flows in the traffic flow set are updated. In the case where the sum of the forwarding time lengths of the multiple traffic flows at the target port is less than the preset time length, it is determined whether the time from the arrival of each traffic flow at the first port to the latest sending time of each traffic flow at the last port is less than the sum of the forwarding time lengths of each traffic flow at all ports. In the case where the time from the arrival of each traffic flow at the first port to the latest sending time of each traffic flow at the last port is less than the sum of the forwarding time lengths of each traffic flow at all ports, the routing parameters of the traffic flows are updated. In the case where the time from the arrival of each traffic flow at the first port to the latest sending time of each traffic flow at the last port is greater than or equal to the sum of the forwarding time lengths of each traffic flow at all ports, the remaining forwarding time of the traffic flow is determined.
[0056] The traffic arrangement device 101 and the data server 102 described above include:
[0057] The processor can be a general central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs of the present application.
[0058] The transceiver can be a device using any transceiver, which is used to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.
[0059] The memory can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM), or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of storing desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to this. The memory can exist independently and be connected to the processor through a communication line. The memory can also be integrated with the processor.
[0060] It should be noted that the embodiments of the present application can be mutually referenced or referred to each other, for example, the same or similar steps, method embodiments, system embodiments and device embodiments can be mutually referenced, without limitation.
[0061] Figure 2 A flowchart of a traffic orchestration method provided by an embodiment of the present application is shown in FIG. 2. As shown in the figure, the method comprises the following S201-S205. Figure 2
[0062] S201, the traffic orchestration device acquires a load value of each service flow in a plurality of service flows of a target port.
[0063] S202, the traffic orchestration device determines a forwarding duration of each service flow at the target port based on a forwarding rate of the target port and the load value of each service flow.
[0064] In a possible implementation, for one service flow, a ratio of the load value of the service flow to the forwarding rate of the target port is the forwarding duration of the service flow at the target port.
[0065] In a possible implementation, the traffic orchestration apparatus determines whether multiple service flows exist at the target port. In the case where multiple service flows exist at the target port, the traffic orchestration apparatus calculates the remaining forwarding time of the multiple service flows, and determines the forwarding time period of the multiple service flows in turn according to the priority order based on the remaining forwarding time of the multiple service flows. In the case where one service flow exists at the target port, the traffic orchestration apparatus determines that the one service flow at the target port can be forwarded at the target port at this time, and forwards the service flow according to the forwarding duration of the one service flow at the target port.
[0066] In S203, the traffic orchestration apparatus determines the remaining forwarding time of each service flow at the target port according to the time at which each service flow arrives at the target port, the latest sending time of each service flow at the target port, and the forwarding duration of each service flow at the target port.
[0067] In a possible implementation, for each service flow, the difference between the latest sending time of each service flow at the target port and the sum of the time at which each service flow arrives at the target port and the forwarding duration of each service flow at the target port is taken as the remaining forwarding time of each service flow at the target port.
[0068] For example, in the case where the latest sending time of the service flow at the target port is 7S, the time at which the service flow arrives at the target port is 2S, and the forwarding duration of the service flow at the target port is 3S, the difference between the latest sending time 7S at the target port and the time 2S at which the service flow arrives at the target port is subtracted by the forwarding duration 3S of the service flow at the target port, and finally the difference 2S is obtained as the remaining forwarding time of the service flow.
[0069] In S204, the traffic orchestration apparatus sorts each service flow based on the remaining forwarding time of each service flow at the target port, and determines the forwarding priority of each service flow.
[0070] In a possible implementation, the forwarding priority of a service flow is higher in the case where the remaining forwarding time of the service flow at the target port is smaller in the multiple service flows.
[0071] For example, in the case where the multiple service flows are three service flows A, B, and C, the remaining forwarding time of the service flow A is 7S, the remaining forwarding time of the service flow B is 5S, and the remaining forwarding time of the service flow C is 3S, the traffic orchestration apparatus determines that the forwarding priority of the service flow C is the highest.
[0072] In S205, the traffic orchestration apparatus determines the forwarding time period of each service flow according to the forwarding priority of each service flow and the available forwarding time period of the target port.
[0073] One possible implementation involves the traffic orchestration device identifying the highest-priority traffic flow among those with undetermined forwarding time periods or updated routing parameters as the target traffic flow. The traffic orchestration device then identifies multiple sub-time periods within the available forwarding time periods of the target port that are not allocated to multiple traffic flows. Next, the traffic orchestration device determines whether any of these sub-time periods contains a time period greater than or equal to the forwarding duration of the target traffic flow at the target port. If not, the routing parameters of the target traffic flow are updated.
[0074] If present, the traffic orchestration device determines whether, among the multiple sub-time periods of the target time period, there exists a target sub-time period whose duration is longer than the forwarding duration of the target service flow at the target port. If present, the traffic orchestration device determines the target sub-time period with the shortest time interval between the arrival of the target service flow at the target port as the forwarding time period of the target service flow. If not present, the traffic orchestration device updates the routing parameters of the target service flow.
[0075] Based on the above technical solution, the traffic orchestration method provided in this application firstly determines the load value of each service flow among multiple service flows at the target port using a traffic orchestration device. Compared to existing technologies that orchestrate service flows based on parameters of each frame, the traffic orchestration device of this application, from the perspective of each service flow, can quickly and with minimal computational load determine the forwarding duration of each service flow at the target port through the forwarding rate of the target port and the load value of each service flow, greatly alleviating the computational pressure on the server. Then, based on the arrival time of each service flow at the target port, the latest dispatch time of each service flow at the target port, and the forwarding duration of each service flow at the target port, the traffic orchestration device calculates the remaining forwarding time of each service flow based on the parameters of each service flow. After sorting, the forwarding priority of the service flows is obtained, which facilitates the subsequent traffic orchestration device to determine the forwarding time period of each service flow based on the forwarding priority of each service flow and the available forwarding time period of the target port. Compared to existing technologies that orchestrate service flows by frame scheduling or objective function modeling, which require a large amount of computational power and suffer from high computational complexity and slow solution speed, this approach is significantly more efficient. The above technical solution greatly reduces the computational complexity and significantly slows down the problem-solving speed.
[0076] As one possible embodiment of this application, combined with Figure 2 ,like Figure 3 As shown, after S202 above, the following S301-S304 may also be included.
[0077] S301. When the sum of the forwarding times of multiple service flows at the target port is greater than or equal to the preset time, the traffic orchestration device updates the routing parameters of multiple service flows.
[0078] One possible implementation involves the traffic orchestration device acquiring the transmission time period of each of multiple service flows. The transmission time period represents the interval between transmissions of each service flow at the first port during the forwarding process. The traffic orchestration device uses the least common multiple of the transmission time periods of the multiple service flows as a preset duration. The traffic orchestration device determines the sum of the forwarding durations of the multiple service flows at the target port. The traffic orchestration device then determines whether the sum of the forwarding durations of the multiple service flows at the target port is less than the preset duration. If the sum of the forwarding durations of the multiple service flows at the target port is greater than or equal to the preset duration (i.e., the target port cannot send all service flows within this common period), the traffic orchestration device updates the routing parameters of the multiple service flows.
[0079] S302. When the sum of the forwarding times of multiple service flows at the target port is less than a preset time, the traffic orchestration device determines whether there is a first service flow among the multiple service flows.
[0080] The first service flow is defined as a service flow whose total routing forwarding time is less than the total forwarding time of the first service flow across all destination ports. The total routing forwarding time is the time interval between the arrival time of the first service flow at the source port and the latest departure time of the first service flow at the destination port. The destination port is the last port in the service flow forwarding process, and the source port is the first port in the service flow forwarding process.
[0081] One possible implementation involves, when the sum of the forwarding times of multiple service flows at the target port is less than a preset time, the traffic orchestration device, for each service flow, determines the time interval between the arrival time of each service flow at the first port and the latest departure time of each service flow at the last port. The traffic orchestration device then determines whether this time interval is less than the sum of the forwarding times of each service flow at all target ports, and based on the determination result, decides whether to update the routing parameters for each service flow or determine the remaining forwarding time.
[0082] S303. If a first service flow exists among multiple service flows, the traffic orchestration device updates the routing parameters of the first service flow.
[0083] One possible implementation is that if the time interval between the arrival time of a traffic flow at the first port and the latest departure time of a traffic flow at the last port is less than the sum of the forwarding times of a traffic flow at all destination ports, the traffic orchestration device updates the routing parameters of a traffic flow.
[0084] One possible implementation is that, after updating the routing parameters of the first service flow, the traffic orchestration device determines the remaining forwarding time of service flows other than the first service flow among multiple service flows.
[0085] S304, if the first service flow does not exist in the plurality of service flows, the traffic arrangement device determines the remaining forwarding time of each service flow.
[0086] In a possible implementation, the traffic arrangement device determines the remaining forwarding time of a service flow when the time period between the time when a service flow arrives at the first port and the latest sending time of a service flow at the last port is greater than or equal to the sum of the forwarding durations of the service flow at all target ports.
[0087] Based on the above technical solution, when the sum of the forwarding durations of the plurality of service flows at the target ports is greater than or equal to the preset duration, the traffic arrangement device determines that the routing parameter information of the plurality of service flows is incorrect, and updates the routing parameters of the plurality of service flows, thereby avoiding the arrangement of the service flows by the traffic arrangement device when the routing parameter information of the plurality of service flows is incorrect, and improving the accuracy of the operation of the traffic arrangement device. When the sum of the forwarding durations of the plurality of service flows at the target ports is less than the preset duration, it is determined whether a first service flow exists in the plurality of service flows. If the first service flow exists in the plurality of service flows, the traffic arrangement device updates the routing parameters of the first service flow. If the first service flow does not exist in the plurality of service flows, the traffic arrangement device determines the remaining forwarding time of each service flow. The traffic arrangement device determines the first service flow with incorrect parameter information, thereby avoiding the arrangement of the first service flow and improving the accuracy of the operation of the traffic arrangement device.
[0088] As a possible embodiment of the present application, in combination with Figure 2 As shown in FIG. 5, S205 can also be implemented by the following S401-S405. Figure 4
[0089] S401, the traffic arrangement device determines the service flow with the highest forwarding priority in the current service flows as a target service flow.
[0090] The current service flows are service flows whose forwarding time periods have not been determined or service flows whose routing parameters have been updated.
[0091] For example, when the current plurality of service flows are three service flows, service flow A, service flow B, and service flow C, and the forwarding priority of service flow A is the highest, the forwarding priority of service flow B is the second, and the forwarding priority of service flow C is the third, the traffic arrangement device determines service flow A as the target service flow.
[0092] S402, the traffic arrangement device determines whether there is a time period greater than or equal to the forwarding duration of the target service flow at the target port in the target time period of the target port.
[0093] The target time period includes a plurality of sub-time periods in the available forwarding time period of the target port that are not allocated to the plurality of service flows.
[0094] For example, the target time period is 0-2S, 3S-5S and 6S-7S, and the forwarding duration of the target service flow at the target port is 2S. The traffic arrangement device determines whether there is a time period greater than or equal to 2S in 0-2S, 3S-5S and 6S-7S.
[0095] S403, the traffic arrangement device determines whether there is a target sub-time period with a duration greater than the forwarding duration of the target service flow at the target port in the plurality of sub-time periods of the target time period.
[0096] For example, the target time period is 0-2S, 3S-5S and 6S-7S, the forwarding duration of the target service flow at the target port is 2S, and the target service flow arrives at the target port at time 3S. The traffic arrangement device determines that there is a time period greater than or equal to 2S in 0-2S, 3S-5S and 6S-7S. Since 3S-5S is after 3S and has a duration of 2S. Therefore, the traffic arrangement device determines that there is a time period greater than or equal to 2S after 3S.
[0097] S404, if there is, the traffic arrangement device determines that the target sub-time period with the shortest time interval from the time when the target service flow arrives at the target port is the forwarding time period of the target service flow.
[0098] For example, the plurality of sub-time periods of the target time period are A time period 0-3S, B time period 4S-6S, C time period 8S-9S, the forwarding duration of the target port is 2S, and the target service flow arrives at the target port at time 1S. The traffic arrangement device determines that after 1S, the duration of 0-3S is 2S, and the duration of 4S-6S is 2S, both of which are equal to the forwarding duration of the target port 2S. Therefore, the traffic arrangement device determines that there is a target sub-time period with a duration greater than the forwarding duration of the target service flow at the target port in the plurality of sub-time periods of the target time period. The traffic arrangement device determines that the time interval between 0-3S and 1S is 0, and the time interval between 4S-6S and 1S is 3S. Therefore, the traffic arrangement device determines that the time interval between A time period and the time when the target service flow arrives at the target port is the shortest, and determines that A time period is the forwarding time period of the target service flow.
[0099] S405, if there is not, the traffic arrangement device updates the routing parameters of the target service flow.
[0100] For example, the target time period is divided into three sub-time periods A 0-3S, B 4S-6S and C 8S-9S, the forwarding time of the target port is 4S, and the target service flow arrives at the target port at 1S. The traffic arrangement device determines that the time length of 0-3S is 2S, the time length of 4S-6S is 2S, and the time length of 8S-9S is 1S, all of which are less than the forwarding time 4S of the target port. Therefore, the traffic arrangement device determines that there is no target sub-time period in the target time period whose time length is greater than the forwarding time of the target service flow at the target port. The traffic arrangement device updates the routing parameter of the target service flow.
[0101] Based on the above technical solution, the traffic arrangement device determines the service flow with the highest forwarding priority in the current service flow as the target service flow, judges whether there is a time period in the target time period of the target port that is greater than or equal to the forwarding time of the target service flow at the target port, and determines whether there is a target sub-time period in the target time period whose time length is greater than the forwarding time of the target service flow at the target port. If there is, the traffic arrangement device determines the target sub-time period with the shortest time interval from the time when the target service flow arrives at the target port as the forwarding time period of the target service flow. If there is not, the traffic arrangement device updates the routing parameter of the target service flow. The above technical solution can quickly and accurately determine the forwarding time period of the target service flow.
[0102] As a possible embodiment of the present application, in combination with Figure 2 As shown in FIG. 5, after S205, the following S501-S504 can also be included. Figure 5
[0103] S501, the traffic arrangement device adds the target service flow to the target gating queue after determining the forwarding time period of the target service flow at all target ports.
[0104] In a possible implementation, the traffic arrangement device determines the forwarding time period of the target service flow at all target ports in sequence. Based on this, the traffic arrangement device adds the target service flow whose forwarding time period has been determined to the target gating queue. The target gating queue is any one of the idle gating queue or the new gating queue.
[0105] S502, the traffic arrangement device judges whether the number of target gating queues is greater than a preset threshold.
[0106] The preset threshold is the maximum number of gating queues of the target port.
[0107] In a possible implementation, the traffic arrangement device judges whether the number of target gating queues at this time is greater than the maximum number of gating queues of the target port.
[0108] For example, the traffic orchestration apparatus determines whether the number of target gate queues is greater than the number of gate queues physically limited by the switch of the target port. Taking the number of target gate queues as 6 and the number of gate queues physically limited by the switch of the target port as 8 as an example. Since the number of target gate queues is less than the number of gate queues physically limited by the switch of the target port, the traffic orchestration apparatus determines that the number of target gate queues is not greater than the number of gate queues physically limited by the switch of the target port.
[0109] S503, the traffic orchestration apparatus forwards the target service flow according to the forwarding time period of the target service flow on all target ports in the case that the number of target gate queues is less than or equal to a preset threshold.
[0110] For example, taking the forwarding time period of the target service flow on the first target port as 0-3S, the forwarding time period of the target service flow on the second target port as 4S-5S, the forwarding time period of the target service flow on the third target port as 9S-10S, the number of target gate queues as 7, and the preset threshold as 9 as an example. The traffic orchestration apparatus determines that the number of target gate queues 7 is less than the preset threshold 9. Therefore, the traffic orchestration apparatus forwards the target service flow from the first target port at 0-3S, forwards the target service flow from the second target port at 4S-5S, and forwards the target service flow from the third target port at 9S-10S in the case that the number of target gate queues is less than or equal to the preset threshold.
[0111] S504, the traffic orchestration apparatus updates the routing parameters of the target service flow in each target gate queue in the case that the number of target gate queues is greater than the preset threshold.
[0112] For example, taking the number of target gate queues as 7 and the number of gate queues physically limited by the switch of the target port as 6 as an example. The traffic orchestration apparatus determines that the number of target gate queues is greater than the number of gate queues physically limited by the switch of the target port. The traffic orchestration apparatus updates the routing parameters of the target service flow in each target gate queue.
[0113] Based on the above technical solution, the traffic orchestration apparatus adds the target service flow to the target gate queue after determining the forwarding time period of the target service flow on all target ports, and then determines whether the number of target gate queues is greater than a preset threshold. The traffic orchestration apparatus forwards the target service flow according to the forwarding time period of the target service flow on all target ports in the case that the number of target gate queues is less than or equal to the preset threshold. The traffic orchestration apparatus updates the routing parameters of the target service flow in each target gate queue in the case that the number of target gate queues is greater than the preset threshold. The above technical solution determines whether the target service flow can be forwarded according to the number of target gate queues, thereby improving the accuracy of the traffic orchestration apparatus.
[0114] The embodiments of the present application can divide the functional modules or functional units of the traffic arrangement device according to the above method examples. For example, each functional module or functional unit can be divided according to each function, or two or more functions can be integrated in one processing module. The integrated module can be realized in the form of hardware or software functional module or functional unit. The division of the modules or units in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, another division mode can be used.
[0115] As shown in Figure 6 FIG. 1 is a structural schematic diagram of a traffic arrangement device 60 provided by an embodiment of the present application. The traffic arrangement device 60 includes a communication unit 601 and a processing unit 602.
[0116] The communication unit 601 is configured to determine a load value of each service flow in a plurality of service flows of a target port.
[0117] The processing unit 602 is configured to determine a forwarding duration of each service flow at the target port based on a forwarding rate of the target port and the load value of each service flow.
[0118] The processing unit 602 is further configured to determine a remaining forwarding time of each service flow at the target port according to a time when each service flow arrives at the target port, a latest sending time of each service flow at the target port, and the forwarding duration of each service flow at the target port.
[0119] The processing unit 602 is further configured to sort each service flow based on the remaining forwarding time of each service flow at the target port, and determine a forwarding priority of each service flow.
[0120] The processing unit 602 is further configured to determine a forwarding time period of each service flow according to the forwarding priority of each service flow and an available forwarding time period of the target port.
[0121] The processing unit 602 is further configured to determine, for one service flow, that a ratio of the load value of one service flow to the forwarding rate of the target port is the forwarding duration of one service flow at the target port.
[0122] The processing unit 602 is further configured to update the routing parameters of the plurality of service flows in a case where the sum of the forwarding durations of the plurality of service flows at the target ports is greater than or equal to the preset duration; determine whether there is a first service flow in the plurality of service flows in a case where the sum of the forwarding durations of the plurality of service flows at the target ports is less than the preset duration, the first service flow being a service flow whose full routing forwarding duration is less than the forwarding duration of the first service flow at all target ports; the routing forwarding duration being a time period between the time when the first service flow arrives at the source port and the latest sending time of the first service flow at the destination port; the destination port being the last port in the service flow forwarding process; the source port being the first port in the service flow forwarding process; and update the routing parameters of the first service flow if there is the first service flow in the plurality of service flows.
[0123] The processing unit 602 is further configured to determine the remaining forwarding time of each service flow if there is no first service flow in the plurality of service flows.
[0124] The processing unit 602 is further configured to determine a service flow with the highest forwarding priority in the current service flows as a target service flow; the current service flows being service flows whose forwarding time periods have not been determined or whose routing parameters have been updated; determine whether there is a time period greater than or equal to the forwarding duration of the target service flow at the target port in the target time period of the target port; the target time period including a plurality of sub-time periods in the available forwarding time period of the target port that are not allocated to the plurality of service flows; determine whether there is a target sub-time period with a duration greater than the forwarding duration of the target service flow at the target port in the plurality of sub-time periods of the target time period; determine the target sub-time period with the shortest time interval from the time when the target service flow arrives at the target port as the forwarding time period of the target service flow if there is; and update the routing parameters of the target service flow if there is not.
[0125] The processing unit 602 is further configured to add the target service flow to the target gating queue after determining the forwarding time period of the target service flow at all target ports; determine whether the number of target gating queues is greater than a preset threshold; the preset threshold being the maximum number of gating queues of the target port; forward the target service flow according to the forwarding time period of the target service flow at all target ports in a case where the number of target gating queues is less than or equal to the preset threshold; and update the routing parameters of the target service flow in each target gating queue in a case where the number of target gating queues is greater than the preset threshold.
[0126] In a possible implementation, the traffic orchestration apparatus 60 can further include a storage unit 603 (shown in a dashed box) that stores programs or instructions, which, when executed by the processing unit 602, enable the traffic orchestration apparatus 60 to perform the traffic orchestration method described in the foregoing method embodiments. Figure 6
[0127] When implemented by hardware, the communication unit 601 in the embodiments of the present application can be integrated on a communication interface, and the processing unit 602 can be integrated on a processor. The specific implementation manner is as shown in Figure 7 .
[0128] Figure 7 Another possible structural schematic diagram of the traffic orchestration apparatus involved in the above embodiments is shown. The traffic orchestration apparatus includes a processor 702 and a communication interface 701. The processor 702 is configured to control and manage the actions of the traffic orchestration apparatus, for example, to perform the steps performed by the processing unit 602 described above, and / or to perform other processes of the technologies described herein. The communication interface 701 is configured to support the communication of the traffic orchestration apparatus with other network entities, for example, to perform the steps performed by the communication unit 601 described above. The traffic orchestration apparatus can further include a memory 703 and a bus 704, and the memory 703 is configured to store the program code and data of the traffic orchestration apparatus.
[0129] The memory 703 can be a memory in the traffic orchestration apparatus, etc., which can include a volatile memory, such as a random access memory; the memory can also include a non-volatile memory, such as a read-only memory, a flash memory, a hard disk or a solid state disk; the memory can also include a combination of the above-mentioned kinds of memories.
[0130] The processor 702 described above can be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof, which implements or executes the various exemplary logical blocks, modules and circuits described in connection with the disclosure of the present application. The processor can implement or execute the various exemplary logical blocks, modules and circuits described in connection with the disclosure of the present application. The processor can also be a combination of computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0131] The bus 704 can be an extended industry standard architecture (EISA) bus, etc. The bus 704 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 only one thick line is used in the figure, but it does not mean that there is only one bus or only one type of bus.
[0132] Figure 7 The traffic orchestration apparatus in the above figure can also be a chip. The chip includes one or more than two (including two) processors 702 and communication interfaces 701.
[0133] In some embodiments, the chip further includes a memory 703, which can include read-only memory and random access memory, and provides operating instructions and data to the processor 702. A portion of the memory 703 can also include non-volatile random access memory (NVRAM).
[0134] In some embodiments, the memory 703 stores the following elements, execution modules or data structures, or a subset thereof, or an extended set thereof.
[0135] In the embodiments of the present application, the corresponding operations are performed by calling the operation instructions stored in the memory 703 (which can be stored in an operating system).
[0136] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of functional modules is taken as an example for illustration, and in actual application, the above-mentioned functions can be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be described here.
[0137] The embodiments of the present application provide a computer program product containing instructions, which, when executed on a computer, cause the computer to perform the traffic orchestration method in the method embodiments described above.
[0138] The embodiments of the present application also provide a computer-readable storage medium, which stores instructions, and when the instructions are executed on a computer, the computer performs the traffic orchestration method in the method flow shown in the method embodiments described above.
[0139] The computer readable storage medium, for example, can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a register, a hard disk, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing, or any other medium from which a processor can read and write information. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. Of course, the disclosure is not limited to a particular storage medium. The processor and the storage medium can be located in an ASIC. In some embodiments, the computer readable storage medium can be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0140] The traffic orchestration apparatus, the computer readable storage medium, and the computer program product in the embodiments of the present application can be applied to the above method, and the technical effects that can be achieved thereby can be referred to the above method embodiments, which will not be described herein again.
[0141] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, another division manner can be used, for example, a plurality of units or components can be combined or integrated into another system, or some features can be omitted or not executed. In addition, the coupling or direct coupling or communication connection between the units or components shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.
[0142] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may also be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0143] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit.
[0144] The above is only a specific embodiment of the present application, but the protection scope of the present application is not limited thereto, any change or replacement within the technical scope disclosed in the present application should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A traffic orchestration method, characterized in that, The method comprises: acquiring a load value of each service flow in a plurality of service flows of a target port; determining a forwarding duration of each service flow at the target port based on a forwarding rate of the target port and the load value of each service flow; in a case where a sum of the forwarding durations of the plurality of service flows at the target port is greater than or equal to a preset duration, updating a routing parameter of the plurality of service flows; the preset duration represents a common multiple of a sending time period of the plurality of service flows; in a case where the sum of the forwarding durations of the plurality of service flows at the target port is less than the preset duration, determining whether there is a first service flow in the plurality of service flows; the first service flow is a service flow whose full routing forwarding duration is less than a forwarding duration of the first service flow at all the target ports; the routing forwarding duration is a time period between a time when the first service flow arrives at a source port and a latest sending time of the first service flow at a destination port; the destination port is a last port in a service flow forwarding process; the source port is a first port in the service flow forwarding process; if the first service flow exists in the plurality of service flows, updating a routing parameter of the first service flow; if the first service flow does not exist in the plurality of service flows, determining a remaining forwarding time of each service flow; determining a remaining forwarding time of each service flow at the target port according to a time when each service flow arrives at the target port, a latest sending time of each service flow at the target port and a forwarding duration of each service flow at the target port; sorting each service flow based on the remaining forwarding time of each service flow at the target port to determine a forwarding priority of each service flow; determining a forwarding time period of each service flow according to the forwarding priority of each service flow and an available forwarding time period of the target port.
2. The method of claim 1, wherein, The determining of the forwarding duration of each service flow at the target port based on the forwarding rate of the target port and the load value of each service flow comprises: determining, for one service flow, that a ratio of the load value of the one service flow to the forwarding rate of the target port is the forwarding duration of the one service flow at the target port.
3. The method of claim 1, wherein, The determining of the forwarding time period of each service flow according to the forwarding priority of each service flow and the available forwarding time period of the target port comprises: determining a service flow with the highest forwarding priority in a current service flow as a target service flow; the current service flow is a service flow whose forwarding time period has not been determined or a service flow whose routing parameter has been updated; judging whether there is a time period greater than or equal to the forwarding duration of the target service flow at the target port in a target time period of the target port; the target time period comprises a plurality of sub-time periods in the available forwarding time period of the target port which are not allocated to the plurality of service flows; determining whether there is a target sub-time period with a duration greater than the forwarding duration of the target service flow at the target port in the plurality of sub-time periods of the target time period; determining, if the target sub-time period exists, the target sub-time period with the shortest time interval for the target service flow to arrive at the target port as the forwarding time period of the target service flow; updating, if the target sub-time period does not exist, the routing parameter of the target service flow.
4. The method of claim 3, wherein, The method further comprises: adding the target service flow to a target gating queue after determining the forwarding time period of the target service flow at all the target ports; determining whether the number of the target gating queues is greater than a preset threshold value; the preset threshold value is the maximum number of gating queues of the target port; forwarding the target service flow according to the forwarding time period of the target service flow at all the target ports in the case that the number of the target gating queues is less than or equal to the preset threshold value; updating the routing parameter of the target service flow in each target gating queue in the case that the number of the target gating queues is greater than the preset threshold value.
5. A traffic orchestration apparatus, characterized by, The device comprises a communication unit and a processing unit. The communication unit is configured to acquire a load value of each service flow in a plurality of service flows of a target port. The processing unit is configured to determine a forwarding duration of each service flow at the target port based on a forwarding rate of the target port and the load value of each service flow. The processing unit is further configured to update a routing parameter of the plurality of service flows in the case that the sum of the forwarding durations of the plurality of service flows at the target port is greater than or equal to a preset duration; the preset duration represents a common multiple of a sending time period of the plurality of service flows; and determine whether a first service flow exists in the plurality of service flows in the case that the sum of the forwarding durations of the plurality of service flows at the target port is less than the preset duration; the first service flow is a service flow with a full routing forwarding duration less than the forwarding duration of the first service flow at all the target ports; the routing forwarding duration is a time period between a time when the first service flow arrives at a source port and a latest sending time of the first service flow at a destination port; the destination port is the last port in a service flow forwarding process; and the source port is the first port in the service flow forwarding process; update the routing parameter of the first service flow in the case that the first service flow exists in the plurality of service flows; and determine a remaining forwarding time of each service flow in the case that the first service flow does not exist in the plurality of service flows. The processing unit is further configured to determine a remaining forwarding time of each service flow at the target port based on a time when each service flow arrives at the target port, a latest sending time of each service flow at the target port, and a forwarding duration of each service flow at the target port. The processing unit is further configured to sort each service flow based on the remaining forwarding time of each service flow at the target port, and determine a forwarding priority of each service flow. The processing unit is further configured to determine a forwarding time period of each service flow based on the forwarding priority of each service flow and an available forwarding time period of the target port.
6. The apparatus of claim 5, wherein, The processing unit is further configured to: For one service flow, a ratio of a load value of the one service flow to a forwarding rate of the target port is a forwarding duration of the one service flow at the target port.
7. The apparatus of claim 5, wherein, The processing unit is further configured to: determine a service flow with a highest forwarding priority in current service flows as a target service flow; the current service flows are service flows without determined forwarding time periods or service flows with updated routing parameters; determine whether there is a time period greater than or equal to the forwarding duration of the target service flow at the target port in a target time period of the target port; the target time period includes a plurality of sub-time periods in the available forwarding time period of the target port which are not allocated to the plurality of service flows; determine whether there is a target sub-time period with a duration greater than the forwarding duration of the target service flow at the target port in the plurality of sub-time periods of the target time period; if there is, determine the target sub-time period with the shortest time interval of the target service flow arriving at the target port as the forwarding time period of the target service flow; if there is not, update the routing parameter of the target service flow.
8. The apparatus of claim 7, wherein, The processing unit is further configured to: add the target service flow to a target gating queue after determining the forwarding time period of the target service flow at all the target ports; determine whether the number of the target gating queues is greater than a preset threshold; the preset threshold is a maximum gating queue number of the target port; in a case where the number of the target gating queues is less than or equal to the preset threshold, forward the target service flow according to the forwarding time period of the target service flow at all the target ports; in a case where the number of the target gating queues is greater than the preset threshold, update the routing parameter of the target service flow in each of the target gating queues.
9. A traffic orchestration apparatus, characterized by, comprise: a processor and a communication interface; the communication interface and the processor are coupled, and the processor is configured to run computer programs or instructions to implement the traffic orchestration method in any one of claims 1-4.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores instructions, and when a computer executes the instructions, the computer executes the traffic orchestration method in any one of claims 1-4.
Citation Information
Patent Citations
Background traffic management
US20180067765A1