CN110708242B - Traffic scheduling method and device, electronic equipment and storage medium - Google Patents

Traffic scheduling method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN110708242B
CN110708242B CN201911035196.7A CN201911035196A CN110708242B CN 110708242 B CN110708242 B CN 110708242B CN 201911035196 A CN201911035196 A CN 201911035196A CN 110708242 B CN110708242 B CN 110708242B
Authority
CN
China
Prior art keywords
path
congestion
scheduling
schedulable
alternative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911035196.7A
Other languages
Chinese (zh)
Other versions
CN110708242A (en
Inventor
杨金铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201911035196.7A priority Critical patent/CN110708242B/en
Publication of CN110708242A publication Critical patent/CN110708242A/en
Application granted granted Critical
Publication of CN110708242B publication Critical patent/CN110708242B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a traffic scheduling method, a traffic scheduling device, electronic equipment and a storage medium, and belongs to the technical field of communication. The method comprises the following steps: determining a congestion path and an alternative path based on the traffic flow data of each network node, wherein the source address and the destination address of the congestion path and the alternative path are the same; determining a congestion bandwidth value in the congestion path exceeding a congestion threshold value and an available bandwidth value in an alternative path; when the congestion bandwidth value is smaller than the available bandwidth value of the alternative path, scheduling the schedulable service flow in the congestion path and the alternative path by adopting a bandwidth rationalization distribution mode; and when the congestion bandwidth value is greater than or equal to the available bandwidth value of the alternative path, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a guaranteed priority allocation mode. The maximum utilization of the bandwidth is realized, and the bandwidth utilization rate is improved.

Description

Traffic scheduling method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a traffic scheduling method, an apparatus, an electronic device, and a storage medium.
Background
With the rapid development of internet traffic, Network Congestion (Network Congestion) refers to a situation where the Network transmission performance is degraded due to limited resources of store-and-forward nodes when the number of packets transmitted in a packet-switched Network is too large. In particular, network congestion is a network condition that is continuously overloaded when a user's demand for network resources (including link bandwidth, memory space, processor processing power, etc.) exceeds the inherent processing power and capacity. In the Internet architecture, the occurrence of congestion is an inherent property.
Therefore, in order to alleviate Network congestion and provide a better Network environment for users, it is usually determined whether to switch traffic on a congested link to an alternative path by using available bandwidth of the alternative path as a criterion, for example, in the existing SDN (Software Defined Network) technology.
However, in the prior art, only the service meeting the available bandwidth of the alternative path can be dispatched, but not the service meeting the available bandwidth of the alternative path, so that the efficiency of relieving the network congestion is low, and the maximum utilization of the bandwidth cannot be achieved.
Disclosure of Invention
In view of the above, embodiments of the present disclosure provide a traffic scheduling method, a traffic scheduling apparatus, an electronic device, and a storage medium, so as to solve the problems that the efficiency of alleviating network congestion is low and the maximum utilization of bandwidth cannot be achieved in the prior art.
The embodiment of the application provides a traffic scheduling method, which comprises the following steps: determining a congestion path and an alternative path based on the traffic flow data of each network node, wherein the source address and the destination address of the congestion path and the alternative path are the same; determining a congestion bandwidth value exceeding a congestion threshold value in the congested path and an available bandwidth value in the alternative path, where the congestion threshold value is a maximum bandwidth value that can be accommodated when one path is not congested, the congestion bandwidth value is a difference value between bandwidth values of all traffic on the congested path and the congestion threshold value, and the available bandwidth value is a difference value between the congestion threshold value and a bandwidth value already used in the alternative path; when the congestion bandwidth value is smaller than the available bandwidth value of the alternative path, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a bandwidth rationalization distribution mode; and when the congestion bandwidth value is greater than or equal to the available bandwidth value of the alternative path, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a guaranteed priority allocation mode.
In the implementation manner, the schedulable service is judged based on the congestion threshold and the available bandwidth value of the congested path and the alternative path, so that the service can be scheduled more accurately, and the congestion is relieved by a more effective and appropriate service scheduling manner. Meanwhile, by scheduling the schedulable services on the congested path and the alternative path, the method obtains greater service scheduling flexibility and improves the efficiency of eliminating congestion. Further, a bandwidth rationalization distribution mode or a guarantee priority distribution mode is adopted for flow scheduling based on the specific situation of the path, so that the normal operation of the high-priority service can be guaranteed.
Optionally, scheduling schedulable traffic flows in the congested path and the alternative path by using a bandwidth rationalization allocation mode, including: determining schedulable traffic in the congested path and the alternative path; under the condition that schedulable services in the alternative paths are supposed to be scheduled to the congestion path, determining a rationalization scheduling mode which enables the congestion path not to be in the congestion state any more after one or more schedulable services in the congestion path are scheduled to the alternative paths; and scheduling schedulable services in the congestion path and the alternative path based on the rationalized scheduling mode.
In the implementation manner, all schedulable services on the congested path and the alternative path are scheduled based on the purpose of eliminating congestion in the bandwidth rationalization allocation mode, so that congestion can be relieved most efficiently.
Optionally, determining a rationalized scheduling manner for preventing the congestion path from being in the congestion state after scheduling one or more schedulable services in the congestion path to the alternative path, includes: determining the value of the available bandwidth of the alternative path after scheduling after all schedulable services in the alternative path are scheduled to the congestion path; sequentially arranging schedulable services in the congestion path and schedulable services in the alternative path to form an initial sequence list, sequentially moving a first schedulable service of the list to the list and finally generating a new sequence list until the last schedulable service of the initial sequence list becomes the first schedulable service in the new sequence list; for each sequence list, scheduling schedulable services with service bandwidths smaller than the current available bandwidth value of the alternative path to the alternative path one by one according to the schedulable service arrangement sequence in the sequence list, wherein the current available bandwidth value of the alternative path is updated based on the scheduled available bandwidth value and the current service in the alternative path; for each sequence list, after scheduling schedulable service with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, judging whether the congestion path is in a congestion state; when the congestion path is in a congestion state, scheduling schedulable services with next service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path according to the schedulable service ranking order in the sequence list; when the congestion path is not in the congestion state, determining a service scheduling mode corresponding to the current sequence list as a scheduling mode to be selected; recording the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled on the alternative paths of each scheduling mode to be selected; and determining a rationalization scheduling mode in all to-be-selected scheduling modes based on the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled of the alternative paths.
In the implementation mode, the schedulable paths in the congested path and the alternative paths form a sequence list, all possible scheduling modes are analyzed one by one based on the sequence list, and the scheduling mode capable of eliminating congestion is determined, so that the rationality of service scheduling is improved, and network congestion can be relieved more accurately.
Optionally, determining a rationalized scheduling manner in all to-be-selected scheduling manners based on the total amount of the services to be scheduled and the number of the services to be scheduled of the alternative path, includes: determining a candidate scheduling mode with the minimum number of services to be scheduled of the alternative path as the rationalized scheduling mode; and when the number of the services needing to be scheduled of the alternative paths of the plurality of scheduling modes to be selected is the same, determining the minimum total number of the services needing to be scheduled in the plurality of scheduling modes to be selected as the rationalized scheduling mode.
In the implementation mode, the rationalization scheduling mode is determined based on the factors such as the number of the services to be scheduled in the alternative path, the number of all the services to be scheduled and the like, and the applicability of the traffic scheduling mode when congestion is relieved is improved.
Optionally, each schedulable service is preset with a priority score, and a rationalized scheduling manner is determined in all to-be-selected scheduling manners based on the total number of schedulable services and the number of schedulable services for the alternative path, further comprising: and when the total quantity of the services needing to be scheduled of the alternative paths of the plurality of scheduling modes to be selected is the same as the quantity of the services needing to be scheduled, determining the minimum sum of the priority scores of the services needing to be scheduled as the rationalized scheduling mode.
In the implementation manner, if the total quantity of the services to be scheduled and the quantity of the services to be scheduled are the same for all the alternative paths of the scheduling manner, the traffic scheduling is performed based on the priority of the schedulable service, so that the normal processing of the service with higher priority is ensured.
Optionally, the method further comprises: and when the congestion cannot be eliminated by adopting the bandwidth rationalization distribution mode, scheduling schedulable service flows in the congestion path and the alternative path by adopting the guarantee priority distribution mode.
In the implementation mode, when the congestion cannot be eliminated in the bandwidth rationalization allocation mode, the guarantee priority allocation mode is adopted for scheduling so as to ensure the normal operation of the service with high priority, and thus the flexibility and the reliability of flow scheduling are improved.
Optionally, each schedulable service is preset with a priority score, and a guaranteed priority assignment mode is adopted to schedule schedulable service flows in the congested path and the alternative path, including: according to the sequence of the priority values from large to small, the schedulable services in the congestion path and the schedulable services in the alternative paths form an initial priority sequence list; sequentially splitting N priority order lists according to the initial priority order list, wherein the ith priority order list in the N priority order lists comprises i +1 th to the last schedulable service in the initial priority order list, N, i is an integer larger than or equal to 1, and i is smaller than or equal to N; under the condition that schedulable services in the alternative paths are supposed to be scheduled to the congestion paths, for each priority sequence list, the schedulable services with service bandwidths smaller than the current available bandwidth values of the alternative paths are scheduled to the alternative paths one by one according to the schedulable service arrangement sequence in the priority sequence list, wherein the current available bandwidth values of the alternative paths are updated based on the scheduled available bandwidth values and the current services in the alternative paths; for each priority sequence list, after scheduling schedulable service with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, determining the service bandwidth needing to be scheduled to the alternative path at the moment, the original service bandwidth of the alternative path before scheduling and the original available bandwidth of the alternative path before scheduling; when the bandwidth of the service to be scheduled is less than the original available bandwidth and is greater than or equal to the original bandwidth of the service, determining the service scheduling mode corresponding to the current priority sequence list as a scheduling mode to be selected; and scheduling schedulable services in the congestion path and the alternative path based on the to-be-selected scheduling mode.
In the implementation manner, in the guaranteed priority allocation mode, schedulable services in the congested path and the alternative path form a priority sequence list according to the sequence of the priorities from high to low, and the priority sequence list is sequentially split to determine a traffic scheduling manner capable of guaranteeing the service with the high priority, so that congestion is relieved under the condition of guaranteeing normal receiving and sending of the service with the high priority.
The embodiment of the application provides a flow scheduling device, which comprises: the path determining module is used for determining a congestion path and an alternative path based on the traffic flow data of each network node, wherein the source address and the destination address of the congestion path and the alternative path are the same; a bandwidth value determining module, configured to determine a congested bandwidth value that exceeds a congestion threshold in the congested path, and an available bandwidth value in the alternative path, where the congestion threshold is a maximum bandwidth value that can be accommodated when a path is not congested, the congested bandwidth value is a difference between bandwidth values of all traffic on the congested path and the congestion threshold, and the available bandwidth value is a difference between the congested threshold and a bandwidth value already used in the alternative path; a bandwidth rationalization scheduling module, configured to schedule, when the congestion bandwidth value is smaller than the available bandwidth value of the alternative path, a bandwidth rationalization allocation mode for schedulable service flows in the congestion path and the alternative path; and the guaranteed priority scheduling module is used for scheduling the schedulable service flows in the congestion path and the alternative path by adopting a guaranteed priority allocation mode when the congestion bandwidth value is greater than or equal to the available bandwidth value of the alternative path.
In the implementation manner, the schedulable service is judged based on the congestion threshold and the available bandwidth value of the congested path and the alternative path, so that the service can be scheduled more accurately, and the congestion is relieved by a more effective and appropriate service scheduling manner. Meanwhile, by scheduling the schedulable services on the congested path and the alternative path, the method obtains greater service scheduling flexibility and improves the efficiency of eliminating congestion. Further, a bandwidth rationalization distribution mode or a guarantee priority distribution mode is adopted for flow scheduling based on the specific situation of the path, so that the normal operation of the high-priority service can be guaranteed.
Optionally, the bandwidth rationalization scheduling module is specifically configured to: determining schedulable traffic in the congested path and the alternative path; under the condition that schedulable services in the alternative paths are supposed to be scheduled to the congestion path, determining a rationalization scheduling mode which enables the congestion path not to be in the congestion state any more after one or more schedulable services in the congestion path are scheduled to the alternative paths; and scheduling schedulable services in the congestion path and the alternative path based on the rationalized scheduling mode.
In the implementation manner, all schedulable services on the congested path and the alternative path are scheduled based on the purpose of eliminating congestion in the bandwidth rationalization allocation mode, so that congestion can be relieved most efficiently.
Optionally, determining an available bandwidth value after scheduling of the alternative path after all schedulable services in the alternative path are scheduled to the congestion path; sequentially arranging schedulable services in the congestion path and schedulable services in the alternative path to form an initial sequence list, sequentially moving a first schedulable service of the list to the list and finally generating a new sequence list until the last schedulable service of the initial sequence list becomes the first schedulable service in the new sequence list; for each sequence list, scheduling schedulable services with service bandwidths smaller than the current available bandwidth value of the alternative path to the alternative path one by one according to the schedulable service arrangement sequence in the sequence list, wherein the current available bandwidth value of the alternative path is updated based on the scheduled available bandwidth value and the current service in the alternative path; for each sequence list, after scheduling schedulable service with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, judging whether the congestion path is in a congestion state; when the congestion path is in a congestion state, scheduling schedulable services with next service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path according to the schedulable service ranking order in the sequence list; when the congestion path is not in the congestion state, determining a service scheduling mode corresponding to the current sequence list as a scheduling mode to be selected; recording the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled on the alternative paths of each scheduling mode to be selected; and determining a rationalization scheduling mode in all to-be-selected scheduling modes based on the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled of the alternative paths.
In the implementation mode, the schedulable paths in the congested path and the alternative paths form a sequence list, all possible scheduling modes are analyzed one by one based on the sequence list, and the scheduling mode capable of eliminating congestion is determined, so that the rationality of service scheduling is improved, and network congestion can be relieved more accurately.
Optionally, the bandwidth rationalization scheduling module is specifically configured to: determining a candidate scheduling mode with the minimum number of services to be scheduled of the alternative path as the rationalized scheduling mode; and when the number of the services needing to be scheduled of the alternative paths of the plurality of scheduling modes to be selected is the same, determining the minimum total number of the services needing to be scheduled in the plurality of scheduling modes to be selected as the rationalized scheduling mode.
In the implementation mode, the rationalization scheduling mode is determined based on the factors such as the number of the services to be scheduled in the alternative path, the number of all the services to be scheduled and the like, and the applicability of the traffic scheduling mode when congestion is relieved is improved.
Optionally, the bandwidth rationalization scheduling module is specifically configured to: and when the total quantity of the services needing to be scheduled of the alternative paths of the plurality of scheduling modes to be selected is the same as the quantity of the services needing to be scheduled, determining the minimum sum of the priority scores of the services needing to be scheduled as the rationalized scheduling mode.
In the implementation manner, if the total quantity of the services to be scheduled and the quantity of the services to be scheduled are the same for all the alternative paths of the scheduling manner, the traffic scheduling is performed based on the priority of the schedulable service, so that the normal processing of the service with higher priority is ensured.
Optionally, the bandwidth rationalization scheduling module is specifically configured to: and when the congestion cannot be eliminated by adopting the bandwidth rationalization distribution mode, scheduling schedulable service flows in the congestion path and the alternative path by adopting the guarantee priority distribution mode.
In the implementation mode, when the congestion cannot be eliminated in the bandwidth rationalization allocation mode, the guarantee priority allocation mode is adopted for scheduling so as to ensure the normal operation of the service with high priority, and thus the flexibility and the reliability of flow scheduling are improved.
Optionally, each schedulable service is preset with a priority score, and the guaranteed priority scheduling module is configured to: according to the sequence of the priority values from large to small, the schedulable services in the congestion path and the schedulable services in the alternative paths form an initial priority sequence list; sequentially splitting N priority order lists according to the initial priority order list, wherein the ith priority order list in the N priority order lists comprises i +1 th to the last schedulable service in the initial priority order list, N, i is an integer larger than or equal to 1, and i is smaller than or equal to N; scheduling schedulable services with service bandwidths smaller than the current available bandwidth value of the alternative path to the alternative path one by one according to the schedulable service arrangement sequence in the priority sequence list aiming at each priority sequence list, wherein the current available bandwidth value of the alternative path is updated based on the scheduled available bandwidth value and the current service in the alternative path; for each priority sequence list, after scheduling schedulable service with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, determining the service bandwidth needing to be scheduled to the alternative path at the moment, the original service bandwidth of the alternative path before scheduling and the original available bandwidth of the alternative path before scheduling; when the bandwidth of the service to be scheduled is less than the original available bandwidth and is greater than or equal to the original bandwidth of the service, determining the service scheduling mode corresponding to the current priority sequence list as a scheduling mode to be selected; and scheduling schedulable services in the congestion path and the alternative path based on the to-be-selected scheduling mode.
In the implementation manner, in the guaranteed priority allocation mode, schedulable services in the congested path and the alternative path form a priority sequence list according to the sequence of the priorities from high to low, and the priority sequence list is sequentially split to determine a traffic scheduling manner capable of guaranteeing the service with the high priority, so that congestion is relieved under the condition of guaranteeing normal receiving and sending of the service with the high priority.
The embodiment of the application also provides electronic equipment, which comprises a memory and a processor, wherein the memory stores program instructions, and the processor executes any one of the flow scheduling methods when reading and running the program instructions.
The embodiment of the present application further provides a storage medium, where the storage medium stores computer program instructions, and the computer program instructions are read by a processor and executed to execute any of the above traffic scheduling methods.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
Fig. 1 is a schematic flowchart of a traffic scheduling method according to an embodiment of the present application;
fig. 2 is a schematic topology diagram of a path according to an embodiment of the present application;
fig. 3 is a schematic flow chart of a bandwidth rationalization allocation pattern according to an embodiment of the present application;
fig. 4 is a schematic flowchart of a rationalized scheduling manner according to an embodiment of the present application;
fig. 5 is a schematic flow chart of a guaranteed priority allocation mode according to an embodiment of the present application;
fig. 6 is a schematic block diagram of a traffic scheduling apparatus according to an embodiment of the present application.
Icon: 20-a traffic scheduling device; 21-a path determination module; 22-bandwidth value determining module; 23-a bandwidth rationalization scheduling module; 24-guarantee priority scheduling module.
Detailed Description
The technical solution in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
The applicant researches and discovers that when traffic scheduling is performed under the network congestion condition based on the prior art, for example, under an SDN architecture, a control plane and a forwarding plane of network equipment are separated to realize control over network traffic, and whether to switch services on a congested link to an alternative path is judged by using available bandwidth of the alternative path as a standard, and the scheduling can be performed only on the services on the congested path. And if all the service flows which can be dispatched on the congestion link are larger than the available bandwidth of the alternative path, the alternative path still has the available bandwidth, but the service on the congestion path cannot be switched to the alternative path, and the network congestion cannot be effectively relieved.
In order to solve the above problem, an embodiment of the present application provides a traffic scheduling method, and it should be understood that the traffic scheduling method is not only applicable to traffic scheduling under an SDN architecture, but also applicable to traffic scheduling under NFV (Network Function Virtualization) and other architectures.
Referring to fig. 1, fig. 1 is a schematic flow chart of a traffic scheduling method according to an embodiment of the present application. The traffic scheduling method may include the following specific steps:
step S12: and determining a congestion path and an alternative path based on the traffic flow data of each network node, wherein the source address and the destination address of the congestion path and the alternative path are the same.
A network node refers to a communication device having the function of receiving and forwarding data. Alternatively, the network node in this embodiment may be a communication device such as a switch and a router. Further, the device for collecting traffic flow data and subsequently scheduling traffic may be a control device connected to all network nodes and capable of controlling the network nodes, for example, under an SDN architecture, the control device may be an SDN controller.
The traffic flow data may contain a source IP (internet protocol, internet protocol address), a destination IP, a traffic packet size, etc. of each traffic flow passing through each network node.
A path is a set of links of all network nodes that a traffic flow passes through from a source device to a destination device. By way of example to explain the determination of the path, please refer to fig. 2, where fig. 2 is a topology diagram of a path provided in the embodiment of the present application, a network node includes RT (Router) 1, RT2, RT4, and RT5, a service flow is accessed from RT1 and forwarded to RT5 through RT2, and then path 1 is RT1-RT2-RT 5; the traffic flow is accessed from RT1 and forwarded to RT5 through RT4, and then path 2 is RT1-RT4-RT 5.
It should be understood that the path bandwidth in a path is the minimum bandwidth of all links constituting the path, for example, the bandwidth of the links RT1-RT2 is 50M, the bandwidth of the links RT2-TR5 is 10M, and the path bandwidth of path 1 is 10M. When the bandwidth of the path reaches the maximum value of the bandwidth utilization rate, the link or the path is congested, and the maximum value is a congestion threshold, for example, when the bandwidth of the traffic flow in the path 1 is 12M, and when the bandwidth utilization rate of the path 1 is 80%, the congestion threshold is 8M, the bandwidth of the traffic flow is greater than the congestion threshold 8M, and the path 1 is a congested path.
Step S14: a congested bandwidth value in the congested path that exceeds a congestion threshold is determined, as well as available bandwidth values in alternate paths.
The congestion threshold is the maximum bandwidth value that can be accommodated when a path is not congested, and the congestion bandwidth value is the difference between all traffic bandwidth values on the congested path and the congestion threshold. The available bandwidth value indicates the difference between the alternative path congestion threshold and the used bandwidth value in the alternative path.
Specifically, in this embodiment, the congestion bandwidth value is equal to the traffic bandwidth-congestion threshold.
Specifically, the available bandwidth value ═ congestion threshold-used bandwidth. For example, when the used bandwidth in path 1 is 4M, the available bandwidth value is 8M-4M — 4M.
Step S16: and when the congestion bandwidth value is smaller than the available bandwidth value of the alternative path, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a bandwidth rationalization allocation mode.
The bandwidth rationalization allocation mode is a traffic scheduling mode that takes congestion elimination as a first target regardless of the priority of a traffic flow. Specifically, please refer to fig. 3, where fig. 3 is a schematic flow chart of a bandwidth rationalization allocation mode according to an embodiment of the present application. The specific steps of the bandwidth rationalization allocation pattern may be as follows:
step S161: schedulable traffic in the congested path and the alternative path is determined.
When being mobilized, some important or special-attribute services in the path may affect the normal operation of the service, so that schedulable services in the congested path and the alternative path need to be screened first.
Step S162: and under the condition of scheduling schedulable services in the alternative paths to the congestion path, determining a rationalization scheduling mode which ensures that the congestion path is not in the congestion state any more after scheduling one or more schedulable services in the congestion path to the alternative paths.
For example, if the path 1 includes a schedulable service D and a schedulable service E, and the path 2 includes a schedulable service a, a schedulable service B, and a schedulable service C, assuming that the path 2 is a congested path, the path 1 schedulable service D, E assumes that all the schedulable services are scheduled to the path 2, and the value of the available bandwidth of the path 1 after scheduling is 8M.
Specifically, please refer to fig. 4, where fig. 4 is a schematic flowchart of a rationalized scheduling manner according to an embodiment of the present application. The concrete steps of the rationalized scheduling mode may be as follows:
step S162A: and after all schedulable services in the alternative paths are scheduled to the congestion path, determining the available bandwidth value of the alternative paths after scheduling.
When the alternative path is path 1, where the schedulable service includes schedulable service D (3M) and schedulable service E (1M), where 3M indicates that the bandwidth value of the schedulable service D is 3 megabits, then the scheduled available bandwidth value of path 1 is 8M.
Step S162B: and sequentially arranging the schedulable services in the congestion path and the schedulable services in the alternative path to form an initial sequence list, sequentially moving the first schedulable service in the list to the list and finally generating a new sequence list until the last schedulable service in the initial sequence list becomes the first schedulable service in the new sequence list.
Continuing to take path 1 and path 2 as an example, the schedulable services in path 1 include D (3M) and E (1M), the path bandwidth of the schedulable services is 10M, the congestion threshold is 8M, path 2 includes schedulable services a (7M), B (6M), and C (5M), the path bandwidth of the schedulable services is 20M, and the congestion threshold is 16M, then the schedulable services are grouped into a sequential list [ a, B, C, D, E ], and then the first schedulable service in the sequential list is put to the end in sequence, so as to obtain the following sequential list [ B, C, D, E, a ], [ C, D, E, a, B, C ], [ E, a, B, C ], and [ E, a, B, C, D ].
Step S162C: and for each sequence list, when the first schedulable service is smaller than the current available bandwidth value of the alternative path, scheduling the schedulable services of which the service bandwidths are smaller than the current available bandwidth value of the alternative path to the alternative path one by one according to the schedulable service arrangement sequence in the sequence list, wherein the current available bandwidth value of the alternative path is updated based on the scheduled available bandwidth value and the current service in the alternative path.
It should be understood that scheduling of the traffic behind the list will only be performed if the first traffic flow of the ordered list is less than the current available bandwidth of the alternative path, and does not suffice to enter the calculation of the next list directly.
Step S162D: and aiming at each sequence list, after scheduling schedulable services with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, judging whether the congestion path is in a congestion state.
Step S162E: and when the congestion path is in the congestion state, scheduling the schedulable service with the next service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path according to the schedulable service ranking sequence in the sequence list.
Step S162F: and when the congestion path is not in the congestion state, determining the service scheduling mode corresponding to the current sequence list as a scheduling mode to be selected.
Step S162G: and recording the quantity of the service needing to be scheduled of each to-be-selected scheduling mode and the quantity of the service needing to be scheduled of the alternative path.
Referring to table 1, table 1 shows specific data in the acquiring process of the rationalized scheduling manner.
TABLE 1
Figure BDA0002250592530000131
And aiming at the sequential list [ A, B, C, D, E ], when A is dispatched to the path 1, the residual occupied bandwidth of the path 2 is 15M, and is less than the congestion threshold 16M of the path 2, the paths 1 and 2 are not in the congestion state any more, the dispatching mode is determined to be the dispatching mode 1 to be selected, and the judgment of the next sequential list is continued. At this time, the number of services to be scheduled is 3, and the number of services to be scheduled for the alternative path is 2.
And aiming at the sequential list [ B, C, D, E, A ], when B is dispatched to a path 1, the left occupied bandwidth of the path 2 is 16M and is equal to the congestion threshold of the path 2, the path 2 is in the congestion state, when B and E are dispatched to the path 1, the left occupied bandwidth of the path 2 is 15M and is less than the congestion threshold of the path 2, the paths 1 and 2 are not in the congestion state any more, the dispatching mode is determined to be a dispatching mode 2 to be selected, and the judgment of the next sequential list is continued. At this time, the number of services to be scheduled is 2, and the number of services to be scheduled for the alternative path is 1.
And aiming at the sequence list [ C, D, E, A, B ], wherein C is smaller than the current available bandwidth value of the path 1, when C is scheduled to the path 1, the residual occupied bandwidth of the path 2 is 17M and is larger than the congestion threshold of the path 2, D is continuously scheduled to the path 1, the occupied bandwidth of the path 2 is 14M and is smaller than the congestion threshold of the path 2, the path 2 is not in the congestion state any more, but the path 1 is in the congestion state, and the judgment of the next sequence list is continuously carried out. At this time, the number of services to be scheduled is 2, and the number of services to be scheduled for the alternative path is 1.
For the ordered list [ D, E, a, B, C ], when D is scheduled to path 1, the remaining occupied bandwidth of path 2 is 19M, which is greater than the congestion threshold of path 2, then path 2 is in the congestion state, when E is scheduled to path 1, the remaining occupied bandwidth of path 2 is 18M, which is greater than the congestion threshold of path 2, then path 2 is in the congestion state, a is continuously scheduled to path 1, the remaining occupied bandwidth of path 2 is 11M, which is less than the congestion threshold of path 2, then path 2 is no longer in the congestion state, but path 1 is in the congestion state, and the determination of the next ordered list is continued. At this time, the number of services to be scheduled is 1, and the number of services to be scheduled for the alternative path is 0.
And aiming at the sequential list [ E, A, B, C and D ], when E is dispatched to the path 1, the left occupied bandwidth of the path 2 is 21M, if the left occupied bandwidth is larger than the congestion threshold of the path 2, the path 2 is in the congestion state, when E and B are dispatched to the path 1, the left occupied bandwidth of the path 2 is 15M, if the left occupied bandwidth is smaller than the congestion threshold of the path 2, the paths 1 and 2 are not in the congestion state any more, the dispatching mode is determined to be a dispatching mode 3 to be selected, and the judgment of the next sequential list is continued. At this time, the number of services to be scheduled is 2, and the number of services to be scheduled for the alternative path is 1.
Step S162H: and determining a rationalization scheduling mode in all to-be-selected scheduling modes based on the number of services to be scheduled and the number of services to be scheduled of the alternative paths.
Specifically, step S162H may include: determining a to-be-selected scheduling mode with the minimum number of services to be scheduled of the alternative path as a rationalized scheduling mode; and when the number of the services needing to be scheduled in the alternative paths of the plurality of scheduling modes to be selected is the same, determining the minimum number of the services needing to be scheduled in the plurality of scheduling modes to be selected as a reasonable scheduling mode.
Further, when the number of services to be scheduled and the number of services to be scheduled are the same in the alternative paths of the multiple scheduling modes to be selected, the priority of each schedulable service is determined, and the minimum sum of the priority values of the services to be scheduled is determined as a rationalized scheduling mode.
Optionally, the Priority in this embodiment may include Critic service 5 points, FlashOverride service 4 points, Flash service 3 points, immediatate service 2 points, Priority service 1 points, and the Priority order: critic > FlashOverride > Flash > immedate > Priority. It should be understood that the priority setting in the present embodiment may also be in other forms.
And the to-be-selected scheduling modes 2 and 3 are the same, and the number of the services needing to be scheduled by the alternative paths is smaller than that of the to-be-selected scheduling mode 1, so that the to-be-selected scheduling mode 2 or 3 is used as a reasonable scheduling mode.
Step S163: and scheduling schedulable services in the congestion path and the alternative path based on the rationalization scheduling mode.
In step S16, the schedulable paths in the congested path and the alternative paths are combined into a sequence list, and all possible scheduling manners are analyzed one by one based on the sequence list to determine a scheduling manner capable of eliminating congestion, so that the rationality of service scheduling is improved, and network congestion can be relieved more accurately.
It should be understood that, when all the order lists do not select the scheduling manner that causes the congested path to be not congested when step S16 is executed, the schedulable traffic flows in the congested path and the alternative paths are scheduled by using the guaranteed priority assignment mode.
Step S18: and when the congestion bandwidth value is greater than or equal to the available bandwidth value of the alternative path, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a guaranteed priority allocation mode.
The guaranteed priority allocation mode is a traffic scheduling mode that prioritizes the priority of the service flow and takes the service with the high guaranteed priority as a first target. Specifically, please refer to fig. 5, where fig. 5 is a schematic flow chart of a guaranteed priority allocation mode according to an embodiment of the present application. The specific steps of the guaranteed priority allocation mode may be as follows:
step S181: and forming an initial priority sequence list by the schedulable services in the congestion path and the schedulable services in the alternative paths according to the descending order of the priority values, wherein the service sequence on the alternative paths with the same priority is earlier, and the traffic with the same priority in the next order is larger and more earlier.
Taking a path 3 composed of links RT1-RT4-RT5 and a path 4 composed of links RT1-RT2-RT5 as an example, schedulable traffic in the path 3 includes a (7M, priority Flash), B (6M, priority Critic), C (5M, priority Immediate), the path bandwidth of which is 20M, the congestion threshold is 16M, the path 4 includes schedulable traffic D (4M, priority Flash), E (2M, priority Immediate), the path bandwidth of which is 10M, the congestion threshold is 8M, the path 3 is a congestion path, and the path 4 is an alternative path, and then the schedulable traffic is composed into an initial priority order list [ B, D, a, E, C ].
Step S182: and sequentially splitting N priority order lists according to the initial priority order list, wherein the ith priority order list in the N priority order lists comprises the (i + 1) th to the last schedulable service in the initial priority order list, N, i is an integer greater than or equal to 1, and i is less than or equal to N.
Taking path 3 and path 4 as examples, splitting the priority sequence list [ B, D, a, E, C ] into [ D, a, E, C ], stopping splitting until the started service is the service with the highest priority of the alternative paths, then D is the schedulable service with the highest priority score in path 4, stopping splitting, and then obtaining the sequence list [ B, D, a, E, C ], [ D, a, E, C ].
Step S183: under the condition that the schedulable services in the alternative paths are supposed to be scheduled to the congestion paths, for each priority sequence list, when the first schedulable service is smaller than the current available bandwidth value of the alternative paths, the schedulable services with the service bandwidths smaller than the current available bandwidth value of the alternative paths are scheduled to the alternative paths one by one according to the schedulable service ranking order in the priority sequence list, wherein the current available bandwidth value of the alternative paths is updated based on the scheduled available bandwidth value and the current services in the alternative paths.
It should be appreciated that when the 1 st schedulable traffic bandwidth in the ordered list does not satisfy the current available bandwidth of the alternate path, the next ordered list is directly computed.
Step S184: and for each priority order list, after scheduling the schedulable service with the service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, determining the service bandwidth needing to be scheduled to the alternative path at the moment, the original service bandwidth of the alternative path before scheduling and the original available bandwidth of the alternative path before scheduling.
Step S185: and when the service bandwidth sum required to be scheduled is smaller than the original available bandwidth and is larger than or equal to the original service bandwidth sum, determining the service scheduling mode corresponding to the current priority order list as a scheduling mode to be selected.
Referring to table 2, table 2 is specific data in the process of acquiring the guaranteed priority allocation manner.
TABLE 2
Figure BDA0002250592530000171
Assuming D, E is scheduled to path 3, the list BDAEC is determined first, where the bandwidth 6M of the first schedulable service B is smaller than the current available bandwidth value 8M of path 4, i.e. assuming that B is scheduled to path 3, and at this time, the available bandwidth value of path 4 is 2M, and the current available bandwidth of path 4 is not satisfied by continuing to determine D, A, E, C in sequence. After the [ BDAEC ] list is calculated, table 2 is recorded as required, including all services scheduled to the alternative path and the bandwidths of all services: B/6M, all services to be scheduled: B. d, E are provided.
At this time, the scheduling mode satisfies that when the required scheduling service bandwidth sum is smaller than the original available bandwidth and is larger than or equal to the original service bandwidth sum, the scheduling mode at this time is determined to be the scheduling mode to be selected.
Step S186: and scheduling schedulable services in the congestion path and the alternative path based on the scheduling mode to be selected.
Further, in order to cooperate with the traffic scheduling method, the present embodiment further provides a traffic scheduling apparatus 20.
Referring to fig. 6, fig. 6 is a block diagram illustrating a traffic scheduling apparatus according to an embodiment of the present disclosure.
A path determining module 21, configured to determine a congested path and an alternative path based on traffic flow data of each network node, where source addresses and destination addresses of the congested path and the alternative path are the same;
a bandwidth value determining module 22, configured to determine a congestion bandwidth value exceeding a congestion threshold in the congested path, and an available bandwidth value in the alternative path, where the congestion threshold is a maximum bandwidth value that can be accommodated when one path is not congested, the congestion bandwidth value is a difference between bandwidth values of all traffic on the congested path and the congestion threshold, and the available bandwidth value is a difference between the congestion threshold and a bandwidth value already used in the alternative path;
the bandwidth rationalization scheduling module 23 is configured to, when the congestion bandwidth value is smaller than the available bandwidth value of the alternative path, schedule the schedulable service flows in the congestion path and the alternative path by using a bandwidth rationalization allocation mode;
and the guaranteed priority scheduling module 24 is configured to schedule the schedulable service flows in the congested path and the alternative paths by using a guaranteed priority allocation mode when the congested bandwidth value is greater than or equal to the available bandwidth value of the alternative paths.
Optionally, the bandwidth rationalization scheduling module 23 is specifically configured to: determining schedulable services in a congestion path and an alternative path; under the condition of supposing that schedulable services in the alternative paths are scheduled to the congestion paths, determining a rationalization scheduling mode which ensures that the congestion paths are not in the congestion state any more after one or more schedulable services in the congestion paths are scheduled to the alternative paths; and scheduling schedulable services in the congestion path and the alternative path based on the rationalization scheduling mode.
Optionally, the bandwidth rationalization scheduling module 23 is specifically configured to: determining available bandwidth values after scheduling of alternative paths after all schedulable services in the alternative paths are scheduled to the congestion paths; sequentially arranging schedulable services in the congestion path and schedulable services in the alternative path to form an initial sequence list, sequentially moving a first schedulable service of the list to the list and finally generating a new sequence list until the last schedulable service of the initial sequence list becomes the first schedulable service in the new sequence list; for each sequence list, when the first schedulable service is smaller than the current available bandwidth value of the alternative path, the schedulable services with the service bandwidths smaller than the current available bandwidth value of the alternative path are scheduled to the alternative path one by one according to the schedulable service arrangement sequence in the sequence list, wherein the current available bandwidth value of the alternative path is updated based on the scheduled available bandwidth value and the current service in the alternative path; for each sequence list, after scheduling schedulable services with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, judging whether the congestion path is in a congestion state; when the congestion path is in a congestion state, scheduling schedulable services with the next service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path according to the schedulable service arrangement sequence in the sequence list; when the congestion path is not in the congestion state, determining the service scheduling mode corresponding to the current sequence list as a scheduling mode to be selected; recording the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled on the alternative paths of each scheduling mode to be selected; and determining a rationalization scheduling mode in all to-be-selected scheduling modes based on the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled of the alternative paths.
Optionally, the bandwidth rationalization scheduling module 23 is specifically configured to: determining a to-be-selected scheduling mode with the minimum number of services to be scheduled of the alternative path as a rationalized scheduling mode; and when the number of the services needing to be scheduled of the alternative paths of the plurality of scheduling modes to be selected is the same, determining the minimum total number of the services needing to be scheduled in the plurality of scheduling modes to be selected as a reasonable scheduling mode.
Optionally, each schedulable service is preset with a priority score, and the bandwidth rationalization scheduling module 23 is specifically configured to: and when the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled are the same in the alternative paths of the plurality of scheduling modes to be selected, determining the minimum sum of the priority scores of the services needing to be scheduled as a reasonable scheduling mode.
Optionally, the bandwidth rationalization scheduling module 23 is specifically configured to: and when the congestion cannot be eliminated by adopting the bandwidth rationalization distribution mode, scheduling schedulable service flows in the congested path and the alternative path by adopting the guaranteed priority distribution mode.
Optionally, each schedulable service is preset with a priority score, and the guaranteed priority scheduling module 24 is configured to: each schedulable service is preset with a priority score, and schedulable service flows in a congested path and an alternative path are scheduled by adopting a guaranteed priority distribution mode, wherein the schedulable service scheduling method comprises the following steps: according to the sequence of the priority values from large to small, the schedulable services in the congestion path and the schedulable services in the alternative path form an initial priority sequence list; sequentially splitting N priority order lists according to the initial priority order list, wherein the ith priority order list in the N priority order lists comprises the (i + 1) th to the last schedulable service in the initial priority order list, N, i is an integer larger than or equal to 1, and i is smaller than or equal to N; under the condition that the schedulable services in the alternative paths are supposed to be scheduled to the congestion paths, for each priority sequence list, when the first schedulable service is smaller than the current available bandwidth value of the alternative paths, the schedulable services with the service bandwidths smaller than the current available bandwidth value of the alternative paths are scheduled to the alternative paths one by one according to the schedulable service ranking order in the priority sequence list, wherein the current available bandwidth value of the alternative paths is updated based on the scheduled available bandwidth value and the current services in the alternative paths; for each priority sequence list, after scheduling schedulable service with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, determining the service bandwidth needing to be scheduled to the alternative path at the moment, the original service bandwidth of the alternative path before scheduling and the original available bandwidth of the alternative path before scheduling; when the service bandwidth needing to be scheduled is less than the original available bandwidth and is more than or equal to the original service bandwidth, determining the service scheduling mode corresponding to the current priority sequence list as a scheduling mode to be selected; and scheduling schedulable services in the congestion path and the alternative path based on the scheduling mode to be selected.
An embodiment of the present application further provides an electronic device, where the electronic device includes a memory and a processor, where the memory stores program instructions, and when the processor reads and runs the program instructions, the processor executes steps in any one of the methods of traffic scheduling provided in this embodiment.
It should be understood that the electronic device may be a Personal Computer (PC), a tablet PC, a smart phone, a Personal Digital Assistant (PDA), or other electronic device having a logical computing function.
In this embodiment, the electronic device may be a communication device having a communication function, such as a router or a switch.
The embodiment of the application also provides a readable storage medium, wherein the readable storage medium stores computer program instructions, and the computer program instructions are read by a processor and executed to execute the steps in the traffic scheduling method.
To sum up, the embodiment of the present application provides a traffic scheduling method, an apparatus, an electronic device, and a storage medium, where the method includes: collecting service flow data of each network node; determining a congestion path and an alternative path based on the traffic flow data, wherein the source address and the destination address of the congestion path and the alternative path are the same; determining a congestion bandwidth value exceeding a congestion threshold value in a congestion path, wherein the congestion threshold value is the maximum bandwidth value which can be accommodated when one path is not congested; determining an available bandwidth value in the alternative path, wherein the available bandwidth value is a difference value between a congestion threshold value and a used bandwidth value in the path; when the congestion bandwidth value is smaller than the available bandwidth value, scheduling the schedulable service flow in the congestion path and the alternative path by adopting a bandwidth rationalization distribution mode; and when the congestion bandwidth value is greater than or equal to the available bandwidth value, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a guaranteed priority distribution mode.
In the implementation manner, the schedulable service is judged based on the congestion threshold and the available bandwidth value of the congested path and the alternative path, so that the service can be scheduled more accurately, and the congestion is relieved by a more effective and appropriate service scheduling manner. Meanwhile, by scheduling the schedulable services on the congested path and the alternative path, the method obtains greater service scheduling flexibility and improves the efficiency of eliminating congestion. Further, a bandwidth rationalization distribution mode or a guarantee priority distribution mode is adopted for flow scheduling based on the specific situation of the path, so that the normal operation of the high-priority service can be guaranteed.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. The apparatus embodiments described above are merely illustrative, and for example, the block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of devices according to various embodiments of the present application. In this regard, each block in the block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams, and combinations of blocks in the block diagrams, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Therefore, the present embodiment further provides a readable storage medium, in which computer program instructions are stored, and when the computer program instructions are read and executed by a processor, the computer program instructions perform the steps of any of the block data storage methods. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a RanDOm Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.

Claims (10)

1. A traffic scheduling method, characterized in that the method comprises:
determining a congestion path and an alternative path based on the traffic flow data of each network node, wherein the source address and the destination address of the congestion path and the alternative path are the same;
determining a congestion bandwidth value exceeding a congestion threshold value in the congested path and an available bandwidth value in the alternative path, where the congestion threshold value is a maximum bandwidth value that can be accommodated when one path is not congested, the congestion bandwidth value is a difference value between bandwidth values of all traffic on the congested path and the congestion threshold value, and the available bandwidth value is a difference value between the congestion threshold value and a bandwidth value already used in the alternative path;
when the congestion bandwidth value is smaller than the available bandwidth value of the alternative path, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a bandwidth rationalization distribution mode;
and when the congestion bandwidth value is greater than or equal to the available bandwidth value of the alternative path, scheduling the schedulable service flows in the congestion path and the alternative path by adopting a guaranteed priority allocation mode.
2. The method of claim 1, wherein scheduling schedulable traffic flows in the congested path and the alternative path using a bandwidth rationalization allocation pattern comprises:
determining schedulable traffic in the congested path and the alternative path;
under the condition that schedulable services in the alternative paths are supposed to be scheduled to the congestion path, determining a rationalization scheduling mode which enables the congestion path not to be in the congestion state any more after one or more schedulable services in the congestion path are scheduled to the alternative paths;
and scheduling schedulable services in the congestion path and the alternative path based on the rationalized scheduling mode.
3. The method of claim 2, wherein determining a rationalized scheduling for the congested path to no longer be in a congested state after scheduling one or more schedulable traffic in the congested path to the alternative path comprises:
determining the value of the available bandwidth of the alternative path after scheduling after all schedulable services in the alternative path are scheduled to the congestion path;
sequentially arranging schedulable services in the congestion path and schedulable services in the alternative path to form an initial sequence list, sequentially moving a first schedulable service of the list to the list and finally generating a new sequence list until the last schedulable service of the initial sequence list becomes the first schedulable service in the new sequence list;
for each sequence list, when a first schedulable service is smaller than a current available bandwidth value of an alternative path, scheduling the schedulable services with the service bandwidths smaller than the current available bandwidth value of the alternative path to the alternative path one by one according to the schedulable service ranking order in the sequence list, wherein the current available bandwidth value of the alternative path is updated based on the scheduled available bandwidth value and the current service in the alternative path;
for each sequence list, after scheduling schedulable service with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, judging whether the congestion path is in a congestion state;
when the congestion path is in a congestion state, scheduling schedulable services with next service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path according to the schedulable service ranking order in the sequence list;
when the congestion path is not in the congestion state, determining a service scheduling mode corresponding to the current sequence list as a scheduling mode to be selected;
recording the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled on the alternative paths of each scheduling mode to be selected;
and determining a rationalization scheduling mode in all to-be-selected scheduling modes based on the total quantity of the services needing to be scheduled and the quantity of the services needing to be scheduled of the alternative paths.
4. The method according to claim 3, wherein determining a rationalized scheduling mode among all candidate scheduling modes based on the total number of the services to be scheduled and the number of the services to be scheduled on the alternative paths comprises:
determining a candidate scheduling mode with the minimum number of services to be scheduled of the alternative path as the rationalized scheduling mode;
and when the number of the services needing to be scheduled of the alternative paths of the plurality of scheduling modes to be selected is the same, determining the minimum total number of the services needing to be scheduled in the plurality of scheduling modes to be selected as the rationalized scheduling mode.
5. The method according to claim 4, wherein each schedulable service is preset with a priority score, and a rationalized scheduling manner is determined among all to-be-selected scheduling manners based on the total number of services to be scheduled and the number of services to be scheduled of the alternative path, further comprising:
and when the number of the services needing to be scheduled and the total number of the services needing to be scheduled of the alternative paths of the plurality of scheduling modes to be selected are the same, determining the minimum sum of the priority scores of the services needing to be scheduled as the rationalized scheduling mode.
6. The method according to any one of claims 3-5, further comprising:
and when the congestion cannot be eliminated by adopting the bandwidth rationalization distribution mode, scheduling schedulable service flows in the congestion path and the alternative path by adopting the guarantee priority distribution mode.
7. The method according to claim 1, wherein each schedulable service has a preset priority score, and the scheduling of schedulable service flows in the congested path and the alternative path using guaranteed priority assignment mode comprises:
according to the sequence of the priority values from large to small, the schedulable services in the congestion path and the schedulable services in the alternative paths form an initial priority sequence list;
sequentially splitting N priority order lists according to the initial priority order list, wherein the ith priority order list in the N priority order lists comprises i +1 th to the last schedulable service in the initial priority order list, N, i is an integer larger than or equal to 1, and i is smaller than or equal to N;
under the condition that the schedulable services in the alternative paths are supposed to be scheduled to the congestion path, for each priority order list, when the first schedulable service is smaller than the current available bandwidth value of the alternative path, the schedulable services with the service bandwidths smaller than the current available bandwidth value of the alternative path are scheduled to the alternative paths one by one according to the schedulable service ranking order in the priority order list, wherein the current available bandwidth value of the alternative path is updated based on the scheduled available bandwidth value and the current service in the alternative path;
for each priority sequence list, after scheduling schedulable service with service bandwidth smaller than the current available bandwidth value of the alternative path to the alternative path each time, determining the service bandwidth needing to be scheduled to the alternative path at the moment, the original service bandwidth of the alternative path before scheduling and the original available bandwidth of the alternative path before scheduling;
when the bandwidth of the service to be scheduled is less than the original available bandwidth and is greater than or equal to the original bandwidth of the service, determining the service scheduling mode corresponding to the current priority sequence list as a scheduling mode to be selected;
and scheduling schedulable services in the congestion path and the alternative path based on the to-be-selected scheduling mode.
8. An apparatus for traffic scheduling, the apparatus comprising:
the path determining module is used for determining a congestion path and an alternative path based on the traffic flow data of each network node, wherein the source address and the destination address of the congestion path and the alternative path are the same;
a bandwidth value determining module, configured to determine a congested bandwidth value that exceeds a congestion threshold in the congested path, and an available bandwidth value in the alternative path, where the congestion threshold is a maximum bandwidth value that can be accommodated when a path is not congested, the congested bandwidth value is a difference between bandwidth values of all traffic on the congested path and the congestion threshold, and the available bandwidth value is a difference between the congested threshold and a bandwidth value already used in the alternative path;
a bandwidth rationalization scheduling module, configured to schedule, when the congestion bandwidth value is smaller than the available bandwidth value of the alternative path, a bandwidth rationalization allocation mode for schedulable service flows in the congestion path and the alternative path;
and the guaranteed priority scheduling module is used for scheduling the schedulable service flows in the congestion path and the alternative path by adopting a guaranteed priority allocation mode when the congestion bandwidth value is greater than or equal to the available bandwidth value of the alternative path.
9. An electronic device, comprising a memory and a processor, wherein the memory stores program instructions, and the processor executes the program instructions to perform the traffic scheduling method according to any one of claims 1 to 7.
10. A computer-readable storage medium having computer program instructions stored therein, which when executed by a processor, perform the traffic scheduling method of any one of claims 1-7.
CN201911035196.7A 2019-10-28 2019-10-28 Traffic scheduling method and device, electronic equipment and storage medium Active CN110708242B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911035196.7A CN110708242B (en) 2019-10-28 2019-10-28 Traffic scheduling method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911035196.7A CN110708242B (en) 2019-10-28 2019-10-28 Traffic scheduling method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN110708242A CN110708242A (en) 2020-01-17
CN110708242B true CN110708242B (en) 2021-12-17

Family

ID=69202555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911035196.7A Active CN110708242B (en) 2019-10-28 2019-10-28 Traffic scheduling method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN110708242B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199179B (en) * 2020-10-22 2023-04-21 新华三信息安全技术有限公司 Service scheduling method, device, electronic equipment and storage medium
CN112333093A (en) * 2020-11-23 2021-02-05 迈普通信技术股份有限公司 Policy routing path determining method and device, network equipment and readable storage medium
CN113765796B (en) * 2021-10-21 2023-12-19 迈普通信技术股份有限公司 Flow forwarding control method and device
CN114006855A (en) * 2021-10-26 2022-02-01 苏州浪潮智能科技有限公司 Transmission path selection method and device and electronic equipment
CN117081984B (en) * 2023-09-27 2024-03-26 新华三技术有限公司 Route adjustment method and device and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101631068A (en) * 2008-07-18 2010-01-20 大唐移动通信设备有限公司 Method and device for implementing congestion control
CN106533960A (en) * 2016-12-23 2017-03-22 重庆邮电大学 Data center network routing method based on Fat-Tree structure
CN108540384A (en) * 2018-04-13 2018-09-14 西安交通大学 Intelligent heavy route method and device based on congestion aware in software defined network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158420B (en) * 2011-05-25 2013-10-23 杭州华三通信技术有限公司 Service traffic scheduling method based on priority queue and device thereof
CN103051546B (en) * 2012-12-12 2015-07-08 中国科学院计算技术研究所 Delay scheduling-based network traffic conflict prevention method and delay scheduling-based network traffic conflict prevention system
CN106059941B (en) * 2016-07-14 2018-12-18 电子科技大学 A kind of backbone network traffic scheduling method for eliminating link congestion
CN107786468B (en) * 2016-08-24 2023-05-02 中兴通讯股份有限公司 hQoS-based MPLS network bandwidth allocation method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101631068A (en) * 2008-07-18 2010-01-20 大唐移动通信设备有限公司 Method and device for implementing congestion control
CN106533960A (en) * 2016-12-23 2017-03-22 重庆邮电大学 Data center network routing method based on Fat-Tree structure
CN108540384A (en) * 2018-04-13 2018-09-14 西安交通大学 Intelligent heavy route method and device based on congestion aware in software defined network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
软件定义网络架构下基于流调度代价的数据中心网络拥塞控制路由算法;孙三山等;《计算机应用》;20160710(第07期);第26-28页 *

Also Published As

Publication number Publication date
CN110708242A (en) 2020-01-17

Similar Documents

Publication Publication Date Title
CN110708242B (en) Traffic scheduling method and device, electronic equipment and storage medium
EP2613479B1 (en) Relay device
JP4338285B2 (en) Packet scheduling method and apparatus
EP2985971A1 (en) Reputation-based instruction processing over an information centric network
US10541910B2 (en) Application information based network route modification
JP4447521B2 (en) Packet scheduler and packet scheduling method
CN111181873B (en) Data transmission method, data transmission device, storage medium and electronic equipment
CN111935031B (en) NDN architecture-based traffic optimization method and system
EP3152659B1 (en) Scheduling access to resources for efficient utilisation of network capacity and infrastructure
Sharma et al. Packet scheduling scheme to guarantee QoS in internet of things
US7792129B2 (en) Multi-queue packet processing using Patricia tree
Rukmani et al. Scheduling algorithm for real time applications in mobile ad hoc network with opnet modeler
CN103795648A (en) Method, device and system for scheduling queue
US10594631B1 (en) Methods and apparatus for memory resource management in a network device
El-Mekkawi et al. Squatting and kicking model evaluation for prioritized sliced resource management
Bruneel et al. Queueing models for the analysis of communication systems
Hou et al. Modeling and analysis of spectrum handoffs for real-time traffic in cognitive radio networks
Rukmani ENHANCED LOW LATENCY QUEUING ALGORITHM FOR REAL TIME APPLICATIONS IN WIRELESS NETWORKS.
CN113347113B (en) Flow control method, device, equipment and computer storage medium
KR20120055947A (en) Method and apparatus for providing Susbscriber-aware per flow
Tseng et al. Coflow deadline scheduling via network-aware optimization
CN112615798B (en) Bandwidth allocation method and device based on elephant flow reservation
Kogan et al. Large profits or fast gains: A dilemma in maximizing throughput with applications to network processors
Domżał et al. EFMP–a new congestion control mechanism for flow‐aware networks
Liu et al. Proactive caching for low access-delay services under uncertain predictions

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant