CN112199179A - Service scheduling method and device, electronic equipment and storage medium - Google Patents

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

Info

Publication number
CN112199179A
CN112199179A CN202011142061.3A CN202011142061A CN112199179A CN 112199179 A CN112199179 A CN 112199179A CN 202011142061 A CN202011142061 A CN 202011142061A CN 112199179 A CN112199179 A CN 112199179A
Authority
CN
China
Prior art keywords
service
bandwidth
services
scheduled
scheduling
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.)
Granted
Application number
CN202011142061.3A
Other languages
Chinese (zh)
Other versions
CN112199179B (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202011142061.3A priority Critical patent/CN112199179B/en
Publication of CN112199179A publication Critical patent/CN112199179A/en
Application granted granted Critical
Publication of CN112199179B publication Critical patent/CN112199179B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the application provides a service scheduling method, a service scheduling device, electronic equipment and a storage medium, wherein the difference between the bandwidth of a service in a first service group and a scheduling bandwidth threshold is smaller than a preset difference, a scheduling quantity threshold number of services are selected as a service set to be scheduled according to the priority of the service in the first service group, the number of the scheduled services can be controlled, and the priority of each service in the service set to be scheduled is considered; the method and the device can control the number of the scheduled services under the condition that the priority of the scheduled services is low, so that the influence of service scheduling on the overall stability of the link networking is reduced. Meanwhile, the difference between the bandwidth of the service in the first service grouping and the scheduling bandwidth threshold is smaller than the preset difference, so that the difference between the scheduled bandwidth and the scheduling bandwidth threshold is not too large, the condition that a large amount of bandwidth is scheduled at one time is reduced, more bandwidth can be transmitted on a better link, and the influence of service scheduling on the overall stability of the link networking is reduced.

Description

Service 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 method and an apparatus for scheduling a service, an electronic device, and a storage medium.
Background
An SDN (Software Defined Network) controller may collect various types of information in a Network, including device information, link information between devices, and the like, and store the collected information using a topology structure. Wherein, the user-defined service flow enters into the end-to-end link through the flow guiding technology. The SDN controller can obtain the optimal path of each service through path constraint and a routing strategy according to the information of each service, and enables the service flow of a user to go to a corresponding link through issuing a link and path configuration, thereby realizing service scheduling.
In the related art, the SDN controller may monitor the bandwidth of a link in the network in real time. When the used bandwidth (real-time traffic) of a certain link exceeds the bandwidth threshold, it is considered that there is a risk of congestion, some services of the link are called out, so as to solve the congestion problem of the link, where the service in the link refers to user services actually carried in the link, such as video conference, video entertainment, network telephone, and the like. Since the link allocated by the SDN controller for each service has the optimal path, the called service will travel on the suboptimal path. Therefore, in the prior art, the services in the link are sequentially scheduled according to the order of the priority of the services from low to high until the used bandwidth of the link is smaller than the bandwidth threshold.
However, by adopting the above method, when the bandwidth occupied by each service with a low priority is small, a situation of calling out a large number of services may occur, which may seriously affect the overall stability of link networking.
Disclosure of Invention
An object of the embodiments of the present application is to provide a method and an apparatus for service scheduling, an electronic device, and a storage medium, so as to reduce an influence of service scheduling on overall stability of a link networking. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present application provides a service scheduling method, where the method includes:
under the condition that the used bandwidth of a link to be scheduled is greater than the preset bandwidth threshold of the link to be scheduled, acquiring the bandwidth of each service in the link to be scheduled and the preset scheduling bandwidth threshold of the link to be scheduled;
grouping the services in the link to be scheduled according to the bandwidth of each service in the link to be scheduled and the scheduling bandwidth threshold value to obtain a first service group, wherein the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold value is smaller than a preset difference;
acquiring a scheduling number threshold N of the link to be scheduled;
selecting N services from the first service group according to the priority of each service in the first service group to obtain a service set to be scheduled;
and scheduling the services in the service set to be scheduled.
In a possible implementation manner, the step of selecting N services from the first service group according to the priority of each service in the first service group to obtain a service set to be scheduled includes:
judging whether the sum of the bandwidths of all services in the first service group is not less than the scheduling bandwidth threshold value;
if the sum of the bandwidths of the services in the first service group is not less than the scheduling bandwidth threshold, selecting N services from the first service group according to the priority and the bandwidth of each service in the first service group to obtain a service set to be scheduled, wherein the sum of the bandwidths of the services in the service set to be scheduled is not less than the scheduling bandwidth threshold, and the priority combination of the services in the service set to be scheduled is the lowest in the service sets; and aiming at each service set, the service set is a set consisting of a scheduling quantity threshold value number of services in the first service grouping, and the sum of the bandwidths of the services in the service set is not less than the scheduling bandwidth threshold value.
In a possible implementation manner, the step of grouping the services in the link to be scheduled according to the bandwidth of each service in the link to be scheduled and the scheduling bandwidth threshold to obtain a first service group includes:
acquiring a preset first numerical value and a preset second numerical value, wherein the first numerical value is a positive number smaller than 1, and the second numerical value is larger than or equal to 1;
respectively calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold;
dividing the services with the ratio value larger than the first value and smaller than the second value into the first service packet.
In a possible implementation manner, after the step of separately calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold, the method further includes:
dividing the services of which the ratio is greater than or equal to the second numerical value into second service groups;
after the step of determining whether the sum of the bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold, the method further includes:
if the sum of the bandwidths of all services in the first service group is smaller than the scheduling bandwidth threshold, judging whether the second service group is empty;
and if the second service grouping is not empty, selecting a service with the lowest priority from the second service grouping as the service set to be scheduled.
In a possible implementation manner, after the step of determining whether the second service packet is empty if the sum of the bandwidths of the services in the first service packet is smaller than the scheduling bandwidth threshold, the method further includes:
and if the second service group is empty, selecting the first N services with the largest bandwidth as the service set to be scheduled in each service of the link to be scheduled.
In a possible implementation manner, the step of obtaining the scheduling number threshold N of the link to be scheduled includes:
and acquiring a scheduling number threshold value N corresponding to the number of the services in the first service grouping according to the corresponding relation between the number of the services and the scheduling number threshold value.
In a possible implementation manner, the step of, if the sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold, selecting N services in the first service packet according to the priority and the bandwidth of each service in the first service packet to obtain a service set to be scheduled includes:
if the sum of the bandwidths of the services in the first service group is not less than the scheduling bandwidth threshold, sequencing the services in the first service group according to the sequence of the priorities from low to high to obtain a first service queue, wherein the services with the same priority are sequenced according to the sequence of the bandwidths of the services from large to small;
selecting the first N services in the first service queue as a first service set;
judging whether the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold value;
if the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold, taking the current first service set as a service set to be scheduled;
if the sum of the bandwidths of all the services in the current first service set is smaller than the scheduling bandwidth threshold, selecting the service with the minimum bandwidth in the current first service set as a service to be replaced;
judging whether a service with a bandwidth larger than that of the service to be replaced exists in the first service queue after the service to be replaced is sequenced;
if a service with a bandwidth larger than that of the service to be replaced exists after the service to be replaced is sequenced, selecting the service with the first bandwidth larger than that of the service to be replaced after the service to be replaced is sequenced as a target service;
replacing the service to be replaced in the current first service set with a target service;
and returning to execute the steps: and judging whether the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold value.
In a possible implementation manner, after the step of determining whether there is a service having a bandwidth larger than that of the service to be replaced in the first service queue after the ordering of the service to be replaced, the method further includes:
and if the service with the bandwidth larger than that of the service to be replaced does not exist after the service to be replaced is sequenced, taking the current first service set as a service set to be scheduled.
In a possible implementation manner, after the step of replacing the service to be replaced in the current first service set with the target service, the method further includes:
recording service replacement information of a current first service set, wherein the service replacement information comprises an identifier of a target service, an identifier of a service to be replaced and a bandwidth increment in the replacement process;
the step of taking the current first service set as the service set to be scheduled if the sum of the bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold includes:
calculating the difference between the bandwidth sum of each service in the current first service set and the scheduling bandwidth threshold to obtain a target difference;
selecting service replacement information with the target service identification identical to the identification of the service in the current first service set from all the service replacement information to obtain all the target service replacement information;
judging whether the bandwidth increment in each target service replacement information is larger than the target difference value;
if the bandwidth increment in each target service replacement information is larger than the target difference value, taking the current first service set as a service set to be scheduled;
if the target service replacement information with the bandwidth increment not greater than the target difference exists, selecting the target service replacement information with the bandwidth increment not greater than the target difference as the service replacement information to be backtracked;
replacing a first service in a current first service set with a second service, wherein the first service is a service represented by a target service identifier in the service replacement information to be backtracked, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be backtracked;
and returning to execute the steps: and calculating the difference between the bandwidth sum of each service in the current first service set and the scheduling bandwidth threshold to obtain a target difference.
In a possible implementation manner, the scheduling the services in the service set to be scheduled includes:
and scheduling the services in the service set to be scheduled in sequence according to the sequence of the priority from low to high until the used bandwidth of the link to be scheduled is not greater than the bandwidth threshold or the services in the service set to be scheduled are all scheduled.
In one possible embodiment, the method further comprises:
acquiring the times that the sum of the bandwidths of all services in the service set to be scheduled is less than the scheduling bandwidth threshold value within a preset time length;
and adjusting the size of the scheduling quantity threshold according to the times, wherein the size of the scheduling quantity threshold is positively correlated with the size of the times.
In a second aspect, an embodiment of the present application provides a service scheduling apparatus, where the apparatus includes:
the first parameter acquisition module is used for acquiring the bandwidth of each service in the link to be scheduled and the preset scheduling bandwidth threshold of the link to be scheduled under the condition that the used bandwidth of the link to be scheduled is greater than the preset bandwidth threshold of the link to be scheduled;
the first service grouping module is used for grouping the services in the link to be scheduled according to the bandwidth of the services in the link to be scheduled and the scheduling bandwidth threshold value to obtain a first service grouping, wherein the difference between the bandwidth of the services in the first service grouping and the scheduling bandwidth threshold value is smaller than a preset difference;
a second parameter obtaining module, configured to obtain a scheduling number threshold N of the link to be scheduled;
a first set determining module, configured to select N services from the first service packet according to priorities of services in the first service packet, to obtain a service set to be scheduled;
and the service scheduling execution module is used for scheduling the services in the service set to be scheduled.
In one possible embodiment, the first set determining module includes:
a threshold comparison submodule, configured to determine whether a sum of bandwidths of services in the first service packet is not less than the scheduling bandwidth threshold;
a service selection submodule, configured to select N services from the first service packet according to the priority and bandwidth of each service in the first service packet if the sum of bandwidths of each service in the first service packet is not less than the scheduling bandwidth threshold, so as to obtain a service set to be scheduled, where the sum of bandwidths of each service in the service set to be scheduled is not less than the scheduling bandwidth threshold, and a priority combination of each service in the service set to be scheduled has a lowest priority in each service set; and aiming at each service set, the service set is a set consisting of a scheduling quantity threshold value number of services in the first service grouping, and the sum of the bandwidths of the services in the service set is not less than the scheduling bandwidth threshold value.
In a possible implementation manner, the first service grouping module is specifically configured to: acquiring a preset first numerical value and a preset second numerical value, wherein the first numerical value is a positive number smaller than 1, and the second numerical value is larger than or equal to 1; respectively calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold; dividing the services with the ratio value larger than the first value and smaller than the second value into the first service packet.
In a possible embodiment, the apparatus further comprises:
a second traffic grouping module configured to: dividing the services of which the ratio is greater than or equal to the second numerical value into second service groups;
a service grouping judgment module, configured to judge whether the second service grouping is empty or not if a sum of bandwidths of services in the first service grouping is smaller than the scheduling bandwidth threshold;
and the second set determining module is used for selecting a service with the lowest priority from the second service groups as the service set to be scheduled if the second service groups are not empty.
In a possible embodiment, the apparatus further comprises:
and a third set determining module, configured to select, if the second service packet is empty, the service with the largest previous N bandwidths from among the services of the link to be scheduled as the service set to be scheduled.
In a possible implementation manner, the second parameter obtaining module is specifically configured to: and acquiring a scheduling number threshold value N corresponding to the number of the services in the first service grouping according to the corresponding relation between the number of the services and the scheduling number threshold value.
In a possible implementation manner, the service selection submodule includes:
the service sequencing unit is used for sequencing the services in the first service grouping according to the sequence of the priorities from low to high to obtain a first service queue if the sum of the bandwidths of the services in the first service grouping is not less than the scheduling bandwidth threshold, wherein the services with the same priority are sequenced according to the sequence of the bandwidths of the services from large to small;
a first service set determining unit, configured to select the first N services in the first service queue as a first service set;
a threshold comparison unit, configured to determine whether a sum of bandwidths of services in the current first service set is not less than the scheduling bandwidth threshold;
a to-be-scheduled service set determining unit, configured to use the current first service set as a to-be-scheduled service set if the sum of bandwidths of services in the current first service set is not less than the scheduling bandwidth threshold;
a service to be replaced selecting unit, configured to select, if the sum of bandwidths of services in the current first service set is smaller than the scheduling bandwidth threshold, a service with the smallest bandwidth in the current first service set as a service to be replaced;
a bandwidth comparing unit, configured to determine whether a service with a bandwidth greater than that of the service to be replaced exists in the first service queue after the service to be replaced is sequenced;
the target service selecting unit is used for selecting the service with the first bandwidth larger than the bandwidth of the service to be replaced after the service to be replaced is sequenced as the target service if the service with the bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is sequenced;
the service replacement unit is used for replacing the service to be replaced in the current first service set with the target service; and returning to the threshold comparison submodule to continue execution.
In a possible embodiment, the apparatus further comprises:
and the fourth set determining module is used for taking the current first service set as a service set to be scheduled if the service with the bandwidth larger than that of the service to be replaced does not exist after the service to be replaced is sequenced.
In a possible embodiment, the apparatus further comprises:
the system comprises a replacement information recording module, a service replacement information processing module and a service management module, wherein the replacement information recording module is used for recording service replacement information of a current first service set, and the service replacement information comprises an identifier of a target service, an identifier of a service to be replaced and a bandwidth increment in the replacement process;
the to-be-scheduled service set determining submodule is specifically configured to: under the condition that the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold, executing the following steps:
calculating the difference between the bandwidth sum of each service in the current first service set and the scheduling bandwidth threshold to obtain a target difference;
selecting service replacement information with the target service identification identical to the identification of the service in the current first service set from all the service replacement information to obtain all the target service replacement information;
judging whether the bandwidth increment in each target service replacement information is larger than the target difference value;
if the bandwidth increment in each target service replacement information is larger than the target difference value, taking the current first service set as a service set to be scheduled;
if the target service replacement information with the bandwidth increment not greater than the target difference exists, selecting the target service replacement information with the bandwidth increment not greater than the target difference as the service replacement information to be backtracked;
replacing a first service in a current first service set with a second service, wherein the first service is a service represented by a target service identifier in the service replacement information to be backtracked, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be backtracked;
and returning to execute the steps: and calculating the difference between the bandwidth sum of each service in the current first service set and the scheduling bandwidth threshold to obtain a target difference.
In a possible implementation manner, the service scheduling execution module is specifically configured to: and scheduling the services in the service set to be scheduled in sequence according to the sequence of the priority from low to high until the used bandwidth of the link to be scheduled is not greater than the bandwidth threshold or the services in the service set to be scheduled are all scheduled.
In a possible embodiment, the apparatus further comprises:
the scheduling number threshold adjusting module is used for acquiring the times that the sum of the bandwidths of all the services in the service set to be scheduled is smaller than the scheduling bandwidth threshold within a preset time length; and adjusting the size of the scheduling quantity threshold according to the times, wherein the size of the scheduling quantity threshold is positively correlated with the size of the times.
In a third aspect, an embodiment of the present application provides an electronic device, including a processor and a memory;
the memory is used for storing a computer program;
the processor is configured to implement any of the service scheduling methods when executing the program stored in the memory.
In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements any one of the service scheduling methods described above.
In a fifth aspect, embodiments of the present application provide a computer program product containing instructions, which when run on a computer, cause the computer to perform any of the above-mentioned service scheduling methods.
The embodiment of the application has the following beneficial effects:
according to the service scheduling method, the service scheduling device, the electronic device and the storage medium provided by the embodiment of the application, the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold is smaller than the preset difference, the service with the scheduling quantity threshold is selected as the service set to be scheduled according to the priority of the service in the first service group, the number of the scheduled services can be controlled, and the priority of each service in the service set to be scheduled is considered; the method and the device can control the number of the scheduled services under the condition that the priority of the scheduled services is low, so that the influence of service scheduling on the overall stability of the link networking is reduced. Meanwhile, the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold is smaller than the preset difference, namely the bandwidth of the service in the first service group is close to the scheduling bandwidth threshold, so that the scheduled bandwidth is not too far away from the scheduling bandwidth threshold, the situation that a large amount of bandwidth is scheduled at one time is reduced, more bandwidth can be transmitted on a better link, and the influence of service scheduling on the overall stability of a link network is reduced. Of course, not all advantages described above need to be achieved at the same time in the practice of any one product or method of the present application.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a first flowchart of a service scheduling method according to an embodiment of the present application;
fig. 2 is a second flowchart of a service scheduling method according to an embodiment of the present application;
fig. 3 is a schematic flowchart of a specific implementation manner of step S102 in the embodiment of the present application;
fig. 4 is a third flowchart illustrating a service scheduling method according to an embodiment of the present application;
fig. 5 is a flowchart illustrating a specific implementation manner of step S1042 in this embodiment of the application;
fig. 6 is a schematic flow chart illustrating a process of acquiring a service set to be scheduled in the service scheduling method according to the embodiment of the present application;
fig. 7 is another schematic flow chart of acquiring a service set to be scheduled in the service scheduling method according to the embodiment of the present application;
fig. 8 is a fourth flowchart illustrating a service scheduling method according to an embodiment of the present application;
fig. 9 is a schematic flowchart of adjusting a scheduling number threshold in a service scheduling method according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a service scheduling apparatus according to an embodiment of the present application;
fig. 11 is a schematic diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In order to reduce the influence of service scheduling on the overall stability of a link network, an embodiment of the present application provides a service scheduling method, and referring to fig. 1, the method includes:
s101, under the condition that the used bandwidth of a link to be scheduled is larger than the preset bandwidth threshold of the link to be scheduled, acquiring the bandwidth of each service in the link to be scheduled and the preset scheduling bandwidth threshold of the link to be scheduled.
The service scheduling method according to the embodiment of the application may be implemented by an electronic device, for example, the electronic device may be a server having a function of an SDN controller.
The link to be scheduled may be any link in a link network, and the same operation as that of the link to be scheduled may be performed for each link in the link network. The used bandwidth of the link to be scheduled may be periodically obtained according to a preset detection period, which is described in the embodiment of the present application with a service scheduling method of one period, and in each period, the same operation may be performed.
Bandwidth threshold of the link to be scheduled: the setting can be customized in advance according to the actual situation, for example, the setting is 80%, 90% or 95% of the total bandwidth of the link to be scheduled. And the bandwidth threshold of the link to be scheduled is used for comparing with the actually used bandwidth of the link to be scheduled, so as to trigger the scheduling of the service in the link to be scheduled. If the bandwidth threshold is not set too small, otherwise, the bandwidth resources of the link to be scheduled are wasted; the reason why the bandwidth threshold is set to be 80%, 90%, or 95% of the total bandwidth of the link to be scheduled, but not set to be 100% directly, is that the scheduling of the service has a certain hysteresis, and if the used bandwidth reaches the total bandwidth of the link to be scheduled and then the scheduling is performed, there is a situation that part of the service cannot normally operate due to insufficient bandwidth.
Scheduling bandwidth threshold of the link to be scheduled: the scheduling bandwidth threshold is a preset threshold value which represents the bandwidth needing to be scheduled in one period of the link to be scheduled, and the condition that the whole link is unstable due to overlarge bandwidth of the service scheduled in a single period can be reduced by reasonably setting the scheduling bandwidth threshold value; and the situation that the overload link load is not obviously lightened due to the fact that the bandwidth of the scheduled service in a single period is too small can be reduced. The scheduling bandwidth threshold can be set in a customized manner according to practical situations, for example, set to be 4%, 5%, 6%, or 10% of the total bandwidth of the link to be scheduled.
Bandwidth of link service to be scheduled: the bandwidth of the link to be scheduled occupied by the service is referred to.
And S102, grouping each service in the link to be scheduled according to the bandwidth of each service in the link to be scheduled and the scheduling bandwidth threshold to obtain a first service group, wherein the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold is smaller than a preset difference.
The service with the difference between the bandwidth in the link to be scheduled and the scheduling bandwidth threshold smaller than the preset difference can be divided into the first service group according to the bandwidth of each service in the link to be scheduled and the scheduling bandwidth threshold, so that the first service group is obtained.
The preset difference is used to ensure that the difference between the bandwidth of the traffic in the first traffic packet and the scheduling bandwidth threshold is not too large. The preset difference can be customized according to actual situations, and for example, can be set to 10%, 20%, or 50% of the scheduling bandwidth threshold.
In one embodiment, the predetermined difference may include a first difference and a second difference; aiming at any service with the bandwidth less than or equal to a scheduling bandwidth threshold in the first service grouping, the difference between the bandwidth of the service and the scheduling bandwidth threshold is less than a first difference; and aiming at any service with the bandwidth larger than the scheduling bandwidth threshold in the first service grouping, the difference between the bandwidth of the service and the scheduling bandwidth threshold is smaller than the second difference. For example, the scheduling bandwidth threshold is BWneedIf the first difference is x% of the scheduling bandwidth threshold and the second difference is y% of the scheduling bandwidth threshold, the bandwidth of the link to be scheduled is BW (1-x%)needTo (1+ y%) BWneedInto the first traffic packet. Optionally, in order to ensure that the difference between the bandwidth of the service in the first service packet and the scheduling bandwidth threshold is not too large, and ensure that there is a certain number of services in the first service packet, the value range of X% may be 10% to 90%, and the value range of y% may be 10% to 1000%.
S103, acquiring a scheduling number threshold N of the link to be scheduled.
The scheduling number threshold (denoted by N) is the maximum number of scheduled services in a set period, and the maximum number of scheduled services in one period for a link to be scheduled does not exceed N, so that the condition that the network is unstable due to excessive service scheduling is reduced. N can be according to actual conditions self-defined setting, in order to reduce the influence to link network deployment overall stability, N should not set up too big. Optionally, N may be set according to the total number of services in the link to be scheduled or the total number of services in the first service packet, for example, set to 0.5%, 1%, or 5% of the total number of services in the link to be scheduled; e.g., 4.5%, 6%, 9%, or 30% of the total amount of traffic in the first traffic packet, etc.
S104, selecting N services from the first service group according to the priority of each service in the first service group to obtain a service set to be scheduled.
And selecting N services from the first service group as a service set to be scheduled according to the priority of the services. For example, the N services with the lowest priority may be selected as the service set to be scheduled.
Optionally, in order to ensure that the total bandwidth of each service in the service set to be scheduled is not less than the scheduling bandwidth threshold. In a possible implementation manner, the priority of each service in the service set to be scheduled meets a preset priority rule. The preset priority rule indicates that: the sum of the bandwidths of all services in the service set to be scheduled is not less than the scheduling bandwidth threshold, the priority combination of all services in the service set to be scheduled is the lowest priority in all the service sets, and for each service set, the service set is a set formed by N services in the first service group, and the sum of the bandwidths of all services in the service set is not less than the scheduling bandwidth threshold.
And S105, scheduling the services in the service set to be scheduled.
And scheduling the service in the service set to be scheduled to other links. The selection of the target link to which the service is scheduled is not a research focus of the present application, and the selection of the target link may refer to related technologies, which are not specifically limited in the present application.
In the embodiment of the application, the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold is smaller than the preset difference, the service with the scheduling quantity threshold is selected as the service set to be scheduled according to the priority of the service in the first service group, the number of the scheduled services can be controlled, and the priority of each service in the service set to be scheduled is considered; the method and the device can control the number of the scheduled services under the condition that the priority of the scheduled services is low, so that the influence of service scheduling on the overall stability of the link networking is reduced. Meanwhile, the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold is smaller than the preset difference, namely the bandwidth of the service in the first service group is close to the scheduling bandwidth threshold, so that the scheduled bandwidth is not too far away from the scheduling bandwidth threshold, the situation that a large amount of bandwidth is scheduled at one time is reduced, more bandwidth can be transmitted on a better link, and the influence of service scheduling on the overall stability of a link network is reduced.
In a possible implementation manner, referring to fig. 2, the selecting N services from the first service group according to the priority of each service in the first service group to obtain a service set to be scheduled includes:
s1041, determining whether the sum of the bandwidths of the services in the first service group is not less than the scheduling bandwidth threshold.
And calculating the sum of the bandwidths of all the services in the first service group, and comparing the sum of the bandwidths with the size of the scheduling bandwidth threshold.
S1042, if the sum of bandwidths of services in the first service packet is not less than the scheduling bandwidth threshold, selecting N services from the first service packet according to the priority and bandwidth of each service in the first service packet, to obtain a service set to be scheduled, where the sum of bandwidths of each service in the service set to be scheduled is not less than the scheduling bandwidth threshold, and a priority combination of each service in the service set to be scheduled has a lowest priority in each service set; and aiming at each service set, the service set is a set consisting of the service with the scheduling quantity threshold in the first service grouping, and the sum of the bandwidths of the services in the service set is not less than the scheduling bandwidth threshold.
The service set to be scheduled comprises N services, and the sum of the bandwidths of the N services is greater than or equal to a scheduling bandwidth threshold; and in the priority combination of all the service sets, the priority of the priority combination of N services in the service set to be scheduled is the lowest. The lowest here includes the case where the traffic set to be scheduled has the same priority combination as the other traffic set or sets, and is the lowest at the same time.
Any N services can be selected from the first service group as a set, all possible sets are traversed, and the sum of the bandwidths of the selected services in all the sets is larger than that of the sets of the services to obtain each service set; and selecting a service set with the lowest priority of a priority combination from the service sets as a service set to be scheduled.
The priority of the priority combination is judged according to each priority in the priority combination, and the specific judgment method can be set by user according to the actual situation. In one embodiment, for any two priority combinations, the higher number of priority combinations with lower priority are lower in priority. For example, the priority combination a includes priority 1, and priority 3, and the priority combination B includes priority 1, priority 2, and priority 2; the priority combination a includes two priority levels 1, and the number of the priority levels 1 is greater than that of one priority level 1 in the priority combination B, so that the priority level of the priority combination a is lower than that of the priority combination B. For example, the priority combination a includes priority 1, and priority 3, and the priority combination B includes priority 1, and priority 2; the priority combination a includes two priorities 1, and the priority combination B also includes two priorities 1, at this time, the number of the second lowest priorities in each priority combination is compared, the priority combination a includes zero priorities 2, the priority combination B includes one priority 2, and then the priority of the priority combination B is lower than that of the priority combination a. Wherein the priority of priority 1 is lower than the priority of priority 2, and the priority of priority 2 is lower than the priority of priority 3.
In the embodiment of the application, the service with the scheduling quantity threshold value is selected as the service set to be scheduled, the number of the scheduled services can be controlled, and the priority and the sum of the bandwidths of the services in the service set to be scheduled are considered; the method and the device can control the number of the scheduled services under the conditions that the bandwidth of the scheduled services is enough and the priority of the services is low, so that the influence of service scheduling on the overall stability of the link network is reduced. Meanwhile, the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold is smaller than the preset difference, namely the bandwidth of the service in the first service group is close to the scheduling bandwidth threshold, so that the scheduled bandwidth is not too far away from the scheduling bandwidth threshold, the situation that a large amount of bandwidth is scheduled at one time is reduced, more bandwidth can be transmitted on a better link, and the influence of service scheduling on the overall stability of a link network is reduced.
In a possible implementation manner, referring to fig. 3, the step of grouping, by the S102, the services in the link to be scheduled according to the bandwidth of the services in the link to be scheduled and the scheduling bandwidth threshold to obtain a first service group includes:
s1021, acquiring a preset first numerical value and a preset second numerical value, wherein the first numerical value is a positive number smaller than 1, and the second numerical value is larger than or equal to 1.
The first value and the second value should ensure that the difference between the service in the first service packet and the scheduling bandwidth threshold is smaller than the preset difference, and the size of the first value and the second value can be set by self according to the actual situation. For example, the first value may be set to 0.1, 0.2, 0.3, or 0.5, etc., and the second value may be set to 1, 1.5, 2, 5, or 10, etc.
S1022, respectively calculating a ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold.
S1023, dividing the traffic whose ratio is greater than the first value and less than the second value into the first traffic packet.
Will be the first valueDenoted by a, the second value by b, and the bandwidth of the traffic in the link to be scheduled by BWfnIndicating that the scheduling bandwidth threshold uses BWneedWherein a is more than 0 and less than 1, and b is more than or equal to 1. The traffic satisfying the formula (1) is classified into the first traffic group.
Figure BDA0002738575600000151
In the embodiment of the application, the first data and the second value are used for realizing the rapid division of the first service packet.
In a possible implementation manner, referring to fig. 4, after the step of calculating, in S1022, ratios of bandwidths of services in the link to be scheduled to the scheduling bandwidth threshold, the method further includes:
and S107, dividing the service with the ratio being greater than or equal to the second value into second service groups.
The second value is denoted by b, and the bandwidth of the traffic in the link to be scheduled is denoted by BWfnIndicating that the scheduling bandwidth threshold uses BWneedWherein a is more than 0 and less than 1, and b is more than or equal to 1. The traffic satisfying the formula (2) is classified into a second traffic group.
Figure BDA0002738575600000161
After the step of determining, in the S1041, whether the sum of the bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold, the method further includes:
and S108, if the sum of the bandwidths of the services in the first service group is smaller than the scheduling bandwidth threshold, judging whether the second service group is empty.
And S109, if the second service group is not empty, selecting a service with the lowest priority from the second service group as the service set to be scheduled.
The sum of the bandwidths of the services in the first service group is smaller than the scheduling bandwidth threshold, which indicates that the bandwidth with the size of the scheduling bandwidth threshold cannot be scheduled even if all the services in the first service group are selected, and at this time, a service with the lowest priority is selected from the second service set as the service set to be scheduled. The bandwidth of each service in the second service group is not less than the service set to be scheduled, so that only one selected service can realize the scheduling of at least the bandwidth threshold size at the scheduling position.
Optionally, the service whose ratio is not greater than the first value may be divided into a third service packet, that is, the service satisfying the formula (3) is divided into the third service packet. The ratio corresponding to the service in the third service group is smaller than or equal to the first numerical value, which indicates that each service in the third service group is a service with a small bandwidth.
Figure BDA0002738575600000162
In the embodiment of the application, under the condition that the sum of the bandwidths of the services in the first service group is smaller than the scheduling bandwidth threshold, a service with the lowest priority is selected from the second service group as a service set to be scheduled, so that service scheduling is realized, and the scheduled bandwidth can be ensured to be not smaller than the scheduling bandwidth threshold.
In a possible implementation manner, referring to fig. 4, after the step of determining whether the second service packet is empty in S108 if the sum of bandwidths of services in the first service packet is smaller than the scheduling bandwidth threshold, the method further includes:
and S110, if the second service packet is empty, selecting the first N services with the largest bandwidth as the service set to be scheduled from the services of the link to be scheduled.
If the second service group is empty, it indicates that there are many services with small bandwidth in the link to be scheduled, and at this time, in order to control the number of the scheduled services, N services selected in the link to be scheduled, that is, services with bandwidth TopN, are selected as a service set to be scheduled according to the sequence of bandwidths from large to small. At this time, the sum of the bandwidths of the services in the service set to be scheduled may be smaller than the scheduling bandwidth threshold, but in order to control the number of the scheduled services, only N services are selected as the service set to be scheduled, and even if the scheduled bandwidth is smaller than the scheduling bandwidth threshold, the service scheduling of the period is still ended, and the next period is waited for processing.
In the embodiment of the application, under the condition that a plurality of services with small bandwidths exist in a link to be scheduled, the first N services with the largest bandwidths are selected as a service set to be scheduled, so that the number of the scheduled services can be controlled, and the influence of service scheduling on the overall stability of a link networking is reduced.
In a possible implementation manner, the step of obtaining, by the S103, the scheduling number threshold N of the link to be scheduled includes: and acquiring a scheduling number threshold value N corresponding to the number of the services in the first service group according to the corresponding relation between the number of the services and the scheduling number threshold value.
The scheduling number threshold may be determined based on the number of traffic in the first traffic packet. The corresponding relationship between the service quantity and the scheduling quantity threshold value can be set by self-definition according to the actual situation, and theoretically, the more the quantity of the service in the first service group is, the larger the corresponding scheduling quantity threshold value is. In order to more clearly illustrate how to establish the correspondence between the traffic quantity and the scheduling quantity threshold, the following description is made.
The total bandwidth of the link to be scheduled is represented by BW, and the scheduling bandwidth threshold is represented by BWneedIt is shown that the first value is denoted by a and the upper limit S of the amount of traffic in the first traffic packet can be obtained by equation (4).
Figure BDA0002738575600000171
S may be divided into a plurality of consecutive intervals, with different intervals corresponding to different scheduling number thresholds.
For example, when a is 0.1, 5% BW is BWneedWhen S is 200, then:
n is 3t (1. ltoreq. t.ltoreq.3), wherein
Figure BDA0002738575600000181
Wherein, FinRepresenting the number of services in the first service packet, t being the intermediate calculation parameter.
In the implementation of the application, the corresponding scheduling number threshold is determined according to the number of the services in the first service packet, and the corresponding relation between the total number of the services and the number of the scheduled services is considered, so that the number of the scheduled services can be controlled while the bandwidth with the size of the scheduling number threshold is scheduled, and the influence of service scheduling on the overall stability of the link network is reduced.
In a possible implementation manner, referring to fig. 5, if the sum of bandwidths of services in the first service packet is not less than the scheduling bandwidth threshold, in the S1042, according to the priority and the bandwidth of each service in the first service packet, selecting N services from the first service packet to obtain a service set to be scheduled, includes:
s10421, if the sum of the bandwidths of the services in the first service group is not less than the scheduling bandwidth threshold, sorting the services in the first service group according to a sequence from low priority to high priority to obtain a first service queue, wherein for the services with the same priority, the services are sorted according to a sequence from large bandwidth to small bandwidth.
And the services in the first service queue are sorted according to the priority from low to high, and the larger the bandwidth, the higher the priority of the services with the same priority. Optionally, the first service queue may further include bandwidth and priority of each service. One possible first traffic queue may be as shown in table 1.
TABLE 1
Figure BDA0002738575600000182
Wherein A > B > D; e > F > H.
S10422, selecting the first N services in the first service queue as a first service set.
S10423, determining whether the sum of the bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold.
And S10424, if the sum of the bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold, taking the current first service set as a service set to be scheduled.
And S10425, if the sum of the bandwidths of the services in the current first service set is smaller than the scheduling bandwidth threshold, selecting the service with the minimum bandwidth in the current first service set as the service to be replaced.
S10426, determining whether there is a service with bandwidth larger than the bandwidth of the service to be replaced in the first service queue after the ordering of the service to be replaced.
S10427, if there is a service with bandwidth larger than that of the service to be replaced after the service to be replaced is sequenced, selecting the service with the first bandwidth larger than that of the service to be replaced after the service to be replaced is sequenced as a target service.
Because the services in each priority in the first service queue are arranged according to the descending order of the bandwidth, in order to save computing resources, in one embodiment, the size of the bandwidth between the service in the top order and the service to be replaced can be selected from the services with the priority higher than that of the service to be replaced.
Optionally, S10426 and S10427 may include:
step one, selecting the first ordered service from the services except the services of the current first service set, wherein the priority of the first ordered service is higher than that of the service to be replaced, and the initial value of M is 1.
And step two, judging whether the bandwidth of the currently selected service is larger than the bandwidth of the service to be replaced. If yes, executing the third step, otherwise executing the fourth step.
And step three, taking the currently selected service as a target service.
And step four, increasing M by 1, and returning to execute the step one.
S10428, replacing the service to be replaced in the current first service set with the target service.
And returning to execute the steps: s10423, determining whether the sum of the bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold.
The first service queue shown in table 2 is taken as an example for illustration. The first service packet of the link to be scheduled includes 10 services, which are respectively denoted as F1~F10. A larger priority value indicates a higher priority. Bandwidth is the bandwidth value that the traffic needs to occupy. And the threshold value of the scheduling number of the links to be scheduled is N-3. Initially selecting the lowest priority F1~F3The service obtains a current first service set.
TABLE 2
Figure BDA0002738575600000201
Assuming a scheduling bandwidth threshold BWneedIf 80M, F in the current first service set1~F3And if the sum of the bandwidths of the services is 103M greater than 80M, taking the current first service set as a service set to be scheduled.
Assuming a scheduling bandwidth threshold BWneed200M, F in the current first service set1~F3If the sum of the service bandwidths is 103M less than 200M, selecting F with the minimum bandwidth3As a service to be replaced, F3If the priority is 1, the service F ranked first in the priority 2 is selected5,F5Has a bandwidth greater than F3At this time F5Is a target service. Using F5Alternative F3The current first service set is F1、F2、F5
The sum of the bandwidths of the current first service set is 180M and less than 200M. Selecting F with minimum bandwidth2As the service to be replaced, since the target service needs to be selected from the services other than the service of the current first service set, the service other than F is selected from the selection priority 25Out-ordering first traffic, i.e. F6,F6Has a bandwidth greater than F2At this time F6Is a target service. Using F6Alternative F2The current first service set is F1、F5、F6. And if the sum of the bandwidths of the current first service set is 210M and larger than 200M, taking the current first service set as a service set to be scheduled.
In the embodiment of the application, the method for selecting the service set to be scheduled is provided, the service set to be scheduled can be quickly selected, and compared with the method for traversing all possible service sets and selecting the service set to be scheduled from the service sets, the calculation cost is greatly saved.
In a possible implementation manner, referring to fig. 6, after the step of determining, in the first traffic queue, whether a traffic having a bandwidth greater than that of the traffic to be replaced exists after the ordering of the traffic to be replaced in the first traffic queue at S10426, the method further includes:
and S111, if no service with bandwidth larger than that of the service to be replaced exists after the service to be replaced is sequenced, taking the current first service set as a service set to be scheduled.
And under the condition that the sum of the bandwidths of all services in the current first service set is less than the scheduling bandwidth threshold, if no service with the bandwidth larger than that of the service to be replaced exists after the service to be replaced is sequenced, the N services cannot be selected from the first service group, so that the sum of the bandwidths of the N services is not less than the scheduling bandwidth threshold, and the current first service set is taken as the service set to be scheduled. In this case, the bandwidth scheduled in this period may be smaller than the scheduling bandwidth threshold, and the next processing period may be waited after the scheduling is finished. As described above, the service scheduling method in the embodiment of the present application may be periodically executed according to the preset detection period, for example, when the preset detection period is 5 minutes, the service scheduling method in the embodiment of the present application may be executed every 5 minutes. For example, when the system time of the present cycle is from 30 th minute to 34 th minute, the system time of the next cycle is from 35 th minute to 39 th minute.
In a possible implementation manner, referring to fig. 7 (some steps in fig. 7 are not shown, and some of the steps that are not shown may refer to fig. 1 to fig. 6), after the step of replacing the service to be replaced in the current first service set with the target service in S10428, the method further includes:
and S112, recording service replacement information of the current first service set, wherein the service replacement information comprises an identifier of a target service, an identifier of a service to be replaced and a bandwidth increment in the replacement process.
Specifically, the service replacement information may be recorded through the operation stack, and in an embodiment, the service replacement information may be represented as ADDi→jWhere i is an identifier of a service to be replaced, j is an identifier of a target service, and W is a bandwidth increment, that is, a difference between a target service bandwidth and a service bandwidth to be replaced.
If the sum of the bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold, the step of using the current first service set as the service set to be scheduled includes:
under the condition that the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold, executing the following steps:
and S104241, calculating a difference value between the sum of the bandwidths of the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference value.
S104242, in each of the service replacement information, selecting service replacement information whose target service identifier is the same as the identifier of the service in the current first service set, and obtaining each target service replacement information.
S104243, determining whether the bandwidth increment in each of the target service replacement information is greater than the target difference.
S104244, if the bandwidth increment in each of the target service replacement information is greater than the target difference, taking the current first service set as a service set to be scheduled.
And S104245, if there is target service replacement information with the bandwidth increment not greater than the target difference, selecting the target service replacement information with the bandwidth increment not greater than the target difference as the service replacement information to be backtracked.
S104246, replacing a first service in the current first service set with a second service, where the first service is a service represented by a target service identifier in the information for replacing the service to be traced, and the second service is a service represented by a service identifier to be replaced in the information for replacing the service to be traced.
And returning to execute the steps: and S104241, calculating a difference value between the sum of the bandwidths of the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference value.
The first service queue shown in table 3 is taken as an example for illustration. The first service packet of the link to be scheduled includes 10 services, which are respectively denoted as F1~F10. A larger priority value indicates a higher priority. Bandwidth is the bandwidth value that the traffic needs to occupy. And the threshold value of the scheduling number of the links to be scheduled is N-3. Initially selecting the lowest priority F1~F3The service obtains a current first service set.
TABLE 3
Figure BDA0002738575600000221
Assuming a scheduling bandwidth threshold BWneed200M, F in the current first service set1~F3If the sum of the service bandwidths is 103M less than 200M, selecting F with the minimum bandwidth3As a service to be replaced, F3If the priority is 1, the service F ranked first in the priority 2 is selected5,F5Has a bandwidth greater than F3At this time F5Is a target service. Using F5Alternative F3The current first service set is F1、F2、F5. Recording service replacement information: ADD3→5=77M。
The sum of the bandwidths of the current first service set is 180M and less than 200M. Selecting F with minimum bandwidth2As the service to be replaced, because the target service needs to be selected from the services except the service of the current first service set,therefore, choose divide-by-F in priority 25Outer first ranked traffic, F6,F6Has a bandwidth greater than F2When F is the bandwidth of6Is a target service. Using F6Alternative F2The current first service set is F1、F5、F6. Recording service replacement information: ADD2→6=30M。
The sum of the bandwidths of the current first service set is 210M and more than 200M, and a target difference value C is calculatedover210M-200M-10M. Then ADD2→630M and ADD3→577M are all greater than CoverAnd (4) 10M, so that backtracking is not needed, and the current first service set is taken as a service set to be scheduled.
Assuming a scheduling bandwidth threshold BWneedIf 250M, F in the current first service set1~F3If the sum of the service bandwidths is 103M less than 250M, selecting F with the minimum bandwidth3As a service to be replaced, F3If the priority is 1, the service F ranked first in the priority 2 is selected5,F5Has a bandwidth greater than F3At this time F5Is a target service. Using F5Alternative F3The current first service set is F1、F2、F5. Recording service replacement information: ADD3→5=77M。
The sum of the bandwidths of the current first service set is 180M and less than 250M. Selecting F with minimum bandwidth2As the service to be replaced, since the target service needs to be selected from the services other than the service of the current first service set, the service other than F is selected from the selection priority 25Outer first ranked traffic, F6,F6Has a bandwidth greater than F2At this time F6Is a target service. Using F6Alternative F2The current first service set is F1、F5、F6. Recording service replacement information: ADD2→6=30M。
The sum of the bandwidths of the current first service set is 210M and less than 250M, and F with the minimum bandwidth is selected1As a service to be replaced, because of the need inSelecting target service from services except the service of the current first service set, thereby selecting service except F from priority 25And F6Out-ordering first traffic, i.e. F7。F7Has a bandwidth of less than F1Continue to select the first ordered service in priority 3, i.e. F9,F9Has a bandwidth greater than F1Then F at this time9Is a target service. Using F9Alternative F1The current first service set is F5、F6、F9. Recording service replacement information: ADD1→9=100M。
The sum of the bandwidths of the current first service set is 310M and is larger than 250M, and a target difference value C is calculatedover310M-250M-60M. Then ADD2→630M and ADD3→577M and ADD1→9In 100M, ADD is present2→630M is less than CoverGo back to 60M, using F2Alternative F6The current first service set is F2、F5、F9
The sum of the bandwidths of the current first service set is 280M and more than 250M, and a target difference value C is calculatedover310M-250M-30M. Then ADD3→577M and ADD1→8100M are all less than CoverAnd if the backtracking is not needed, taking the current first service set as a service set to be scheduled.
In a possible implementation manner, based on the first service queue shown in table 1, in the service scheduling method according to the embodiment of the present application, when the scheduling bandwidth threshold is selected, the following rule needs to be satisfied:
1. the right shift selection can only be incremental.
2. The right-shift selection entails multiple stages while allowing multiple stages to be traversed at once.
3. Calculate C for each moveoverBy returning Action stack ActioniThe priority distribution is reduced. Therein, ActioniFor the set of service replacement information, a specific manner of the fallback operation stack may refer to the embodiment corresponding to fig. 7, which is not described herein again.
4. Back-off ActioniOnly the service included in the current C can be selected for operation, and the recalculation C is completed after rollbackover
5. Under the condition that the right shift is stable, if the sum of the bandwidths of all services in the current service set to be scheduled is still less than BWneedAnd the service scheduling in the period is also finished, and the processing of the next period is waited.
6. The sum of the bandwidths of all the services in the service set to be scheduled is still less than BWneedAnd dynamically increasing the scheduling number threshold value N according to the number of times.
In a possible implementation manner, referring to fig. 8, the scheduling, by the S105, services in the service set to be scheduled includes:
s1051, according to the sequence of priority from low to high, scheduling each service in the service set to be scheduled in turn until the used bandwidth of the link to be scheduled is not more than the bandwidth threshold or each service in the service set to be scheduled is scheduled completely.
And scheduling the services in the service set to be scheduled in sequence according to the sequence of the priority from low to high, playing one service each time in scheduling, acquiring the real-time used bandwidth of the link to be scheduled, emptying the service set to be scheduled and waiting for the next period if the used bandwidth at the moment is less than the bandwidth threshold, thereby reducing the condition of excessively scheduling the services.
In one possible embodiment, referring to fig. 9, the method further comprises:
and S113, acquiring the times that the sum of the bandwidths of all the services in the service set to be scheduled is less than the scheduling bandwidth threshold value within a preset time length.
The preset time period can be customized according to actual situations, and can be set to be half an hour, 1 hour, 5 hours or 1 day, for example.
And S114, adjusting the size of the scheduling number threshold according to the times, wherein the size of the scheduling number threshold is positively correlated with the size of the times.
When the value of the above number of times is larger, the scheduling number threshold should be larger. In one embodiment, a first count threshold and a second count threshold may be set, where the first count threshold is greater than the second count threshold. And when the times are greater than the first time threshold value, increasing a specified numerical value on the basis of the current scheduling bandwidth threshold value to obtain a new scheduling bandwidth threshold value. And when the times are smaller than the second time threshold value, reducing the specified numerical value on the basis of the current scheduling bandwidth threshold value to obtain a new scheduling bandwidth threshold value.
In the embodiment of the application, the scheduling quantity threshold is dynamically adjusted according to the times that the sum of the bandwidths of all services in the service set to be scheduled is smaller than the scheduling bandwidth threshold, so that the called service bandwidth can be adaptively adjusted, and the influence of service scheduling on the overall stability of a link networking is reduced.
An embodiment of the present application further provides a service scheduling apparatus, referring to fig. 10, where the apparatus includes:
a first parameter obtaining module 11, configured to obtain, when a used bandwidth of a link to be scheduled is greater than a preset bandwidth threshold of the link to be scheduled, a bandwidth of each service in the link to be scheduled and a preset scheduling bandwidth threshold of the link to be scheduled;
a first service grouping module 12, configured to group, according to the bandwidth of each service in the link to be scheduled and the scheduling bandwidth threshold, each service in the link to be scheduled to obtain a first service grouping, where a difference between the bandwidth of the service in the first service grouping and the scheduling bandwidth threshold is smaller than a preset difference;
a second parameter obtaining module 13, configured to obtain a scheduling number threshold N of the link to be scheduled;
a first set determining module 14, configured to select N services from the first service group according to the priority of each service in the first service group, so as to obtain a service set to be scheduled;
and the service scheduling executing module 15 is configured to schedule the services in the service set to be scheduled.
In a possible implementation manner, the first set determining module includes:
a threshold comparison submodule, configured to determine whether a sum of bandwidths of services in the first service packet is not less than the scheduling bandwidth threshold;
a service selection submodule, configured to select N services from the first service packet according to the priority and bandwidth of each service in the first service packet if the sum of bandwidths of each service in the first service packet is not less than the scheduling bandwidth threshold, so as to obtain a service set to be scheduled, where the sum of bandwidths of each service in the service set to be scheduled is not less than the scheduling bandwidth threshold, and a priority combination of each service in the service set to be scheduled has a lowest priority in each service set; and aiming at each service set, the service set is a set consisting of the service with the scheduling quantity threshold in the first service grouping, and the sum of the bandwidths of the services in the service set is not less than the scheduling bandwidth threshold.
In a possible implementation manner, the first service grouping module is specifically configured to: acquiring a preset first numerical value and a preset second numerical value, wherein the first numerical value is a positive number smaller than 1, and the second numerical value is larger than or equal to 1; respectively calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold; dividing the service with the ratio larger than the first value and smaller than the second value into the first service group.
In a possible embodiment, the above apparatus further comprises:
a second traffic grouping module configured to: dividing the services of which the ratio is greater than or equal to the second value into second service groups;
a service grouping judgment module, configured to judge whether the second service grouping is empty or not if a sum of bandwidths of services in the first service grouping is smaller than the scheduling bandwidth threshold;
and the second set determining module is used for selecting a service with the lowest priority from the second service groups as the service set to be scheduled if the second service groups are not empty.
In a possible embodiment, the above apparatus further comprises:
and a third set determining module, configured to select, if the second service packet is empty, the service with the largest first N bandwidths from among the services of the link to be scheduled as the service set to be scheduled.
In a possible implementation manner, the second parameter obtaining module is specifically configured to: and acquiring a scheduling number threshold value N corresponding to the number of the services in the first service group according to the corresponding relation between the number of the services and the scheduling number threshold value.
In a possible implementation manner, the service selection submodule includes:
a service sequencing unit, configured to sequence, if the sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold, the services in the first service packet according to a sequence from low priority to high priority to obtain a first service queue, where, for services with the same priority, the services are sequenced according to a sequence from large bandwidths to small bandwidths of the services;
a first service set determining unit, configured to select the first N services in the first service queue as a first service set;
a threshold comparison unit, configured to determine whether a sum of bandwidths of services in the current first service set is not less than the scheduling bandwidth threshold;
a to-be-scheduled service set determining unit, configured to use the current first service set as a to-be-scheduled service set if the sum of bandwidths of services in the current first service set is not less than the scheduling bandwidth threshold;
a service to be replaced selecting unit, configured to select, if the sum of bandwidths of services in the current first service set is smaller than the scheduling bandwidth threshold, a service with the smallest bandwidth in the current first service set as a service to be replaced;
a bandwidth comparing unit, configured to determine whether a service with a bandwidth greater than that of the service to be replaced exists in the first service queue after the service to be replaced is sequenced;
the target service selecting unit is used for selecting the service with the first bandwidth larger than the bandwidth of the service to be replaced after the service to be replaced is sequenced as the target service if the service with the bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is sequenced;
the service replacement unit is used for replacing the service to be replaced in the current first service set with the target service; and returning to the threshold comparison submodule to continue execution.
In a possible embodiment, the above apparatus further comprises:
and the fourth set determining module is used for taking the current first service set as a service set to be scheduled if the service with the bandwidth larger than that of the service to be replaced does not exist after the service to be replaced is sequenced.
In a possible embodiment, the above apparatus further comprises:
the system comprises a replacement information recording module, a service replacement information processing module and a service management module, wherein the replacement information recording module is used for recording service replacement information of a current first service set, and the service replacement information comprises an identifier of a target service, an identifier of a service to be replaced and a bandwidth increment in the replacement process;
the unit for determining a set of services to be scheduled is specifically configured to: under the condition that the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold, executing the following steps:
calculating the difference between the sum of the bandwidths of all services in the current first service set and the scheduling bandwidth threshold to obtain a target difference;
selecting service replacement information with the target service identification identical to the identification of the service in the current first service set from the service replacement information to obtain the target service replacement information;
judging whether the bandwidth increment in each target service replacement information is larger than the target difference value;
if the bandwidth increment in each target service replacement information is larger than the target difference value, taking the current first service set as a service set to be scheduled;
if the target service replacement information with the bandwidth increment not larger than the target difference exists, selecting the target service replacement information with the bandwidth increment not larger than the target difference as the service replacement information to be backtracked;
replacing a first service in a current first service set with a second service, wherein the first service is a service represented by a target service identifier in the service replacement information to be backtracked, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be backtracked;
and returning to execute the steps: and calculating the difference between the sum of the bandwidths of all the services in the current first service set and the scheduling bandwidth threshold to obtain a target difference.
In a possible implementation manner, the service scheduling executing module is specifically configured to: and scheduling the services in the service set to be scheduled in sequence according to the sequence of the priority from low to high until the used bandwidth of the link to be scheduled is not greater than the bandwidth threshold or the services in the service set to be scheduled are scheduled completely.
In a possible embodiment, the above apparatus further comprises:
the scheduling number threshold adjusting module is used for acquiring the times that the sum of the bandwidths of all the services in the service set to be scheduled is less than the scheduling bandwidth threshold within a preset time length; and adjusting the size of the scheduling number threshold according to the times, wherein the size of the scheduling number threshold is positively correlated with the size of the times.
An embodiment of the present application further provides an electronic device, including: a processor and a memory;
the memory is used for storing computer programs;
the processor is configured to implement any of the service scheduling methods when executing the computer program stored in the memory.
Optionally, referring to fig. 11, the electronic device according to the embodiment of the present application further includes a communication interface 22 and a communication bus 24, where the processor 21, the communication interface 22, and the memory 23 complete communication with each other through the communication bus 24.
The communication bus mentioned in the electronic device may be a PCI (Peripheral Component Interconnect) bus, an EISA (Extended Industry Standard Architecture) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface is used for communication between the electronic equipment and other equipment.
The Memory may include a RAM (Random Access Memory) or an NVM (Non-Volatile Memory), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also a DSP (Digital Signal Processing), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component.
An embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements any of the service scheduling methods.
In yet another embodiment provided by the present application, there is also provided a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the above-described service scheduling methods.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It should be noted that, in this document, the technical features in the various alternatives can be combined to form the scheme as long as the technical features are not contradictory, and the scheme is within the scope of the disclosure of the present application. 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 an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the embodiments of the apparatus, the electronic device, the computer program product and the storage medium, since they are substantially similar to the method embodiments, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiments.
The above description is only for the preferred embodiment of the present application and is not intended to limit the scope of the present application. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims (15)

1. A method for scheduling traffic, the method comprising:
under the condition that the used bandwidth of a link to be scheduled is greater than the preset bandwidth threshold of the link to be scheduled, acquiring the bandwidth of each service in the link to be scheduled and the preset scheduling bandwidth threshold of the link to be scheduled;
grouping the services in the link to be scheduled according to the bandwidth of each service in the link to be scheduled and the scheduling bandwidth threshold value to obtain a first service group, wherein the difference between the bandwidth of the service in the first service group and the scheduling bandwidth threshold value is smaller than a preset difference;
acquiring a scheduling number threshold N of the link to be scheduled;
selecting N services from the first service group according to the priority of each service in the first service group to obtain a service set to be scheduled;
and scheduling the services in the service set to be scheduled.
2. The method according to claim 1, wherein the step of selecting N services from the first service group according to the priority of each service in the first service group to obtain a service set to be scheduled comprises:
judging whether the sum of the bandwidths of all services in the first service group is not less than the scheduling bandwidth threshold value;
if the sum of the bandwidths of the services in the first service group is not less than the scheduling bandwidth threshold, selecting N services from the first service group according to the priority and the bandwidth of each service in the first service group to obtain a service set to be scheduled, wherein the sum of the bandwidths of the services in the service set to be scheduled is not less than the scheduling bandwidth threshold, and the priority combination of the services in the service set to be scheduled is the lowest in the service sets; and aiming at each service set, the service set is a set consisting of a scheduling quantity threshold value number of services in the first service grouping, and the sum of the bandwidths of the services in the service set is not less than the scheduling bandwidth threshold value.
3. The method according to claim 2, wherein the step of grouping the services in the link to be scheduled according to the bandwidth of the services in the link to be scheduled and the scheduling bandwidth threshold to obtain a first service group comprises:
acquiring a preset first numerical value and a preset second numerical value, wherein the first numerical value is a positive number smaller than 1, and the second numerical value is larger than or equal to 1;
respectively calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold;
dividing the services with the ratio value larger than the first value and smaller than the second value into the first service packet.
4. The method according to claim 3, wherein after the step of separately calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold, the method further comprises:
dividing the services of which the ratio is greater than or equal to the second numerical value into second service groups;
after the step of determining whether the sum of the bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold, the method further includes:
if the sum of the bandwidths of all services in the first service group is smaller than the scheduling bandwidth threshold, judging whether the second service group is empty;
and if the second service grouping is not empty, selecting a service with the lowest priority from the second service grouping as the service set to be scheduled.
5. The method of claim 4, wherein after the step of determining whether the second service packet is empty if the sum of the bandwidths of the services in the first service packet is less than the scheduling bandwidth threshold, the method further comprises:
and if the second service group is empty, selecting the first N services with the largest bandwidth as the service set to be scheduled in each service of the link to be scheduled.
6. The method according to claim 1, wherein the step of obtaining the scheduling number threshold N of the link to be scheduled comprises:
and acquiring a scheduling number threshold value N corresponding to the number of the services in the first service grouping according to the corresponding relation between the number of the services and the scheduling number threshold value.
7. The method according to claim 2, wherein the step of selecting N services in the first service packet according to the priority and bandwidth of each service in the first service packet to obtain a service set to be scheduled if the sum of the bandwidths of each service in the first service packet is not less than the scheduling bandwidth threshold includes:
if the sum of the bandwidths of the services in the first service group is not less than the scheduling bandwidth threshold, sequencing the services in the first service group according to the sequence of the priorities from low to high to obtain a first service queue, wherein the services with the same priority are sequenced according to the sequence of the bandwidths of the services from large to small;
selecting the first N services in the first service queue as a first service set;
judging whether the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold value;
if the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold, taking the current first service set as a service set to be scheduled;
if the sum of the bandwidths of all the services in the current first service set is smaller than the scheduling bandwidth threshold, selecting the service with the minimum bandwidth in the current first service set as a service to be replaced;
judging whether a service with a bandwidth larger than that of the service to be replaced exists in the first service queue after the service to be replaced is sequenced;
if a service with a bandwidth larger than that of the service to be replaced exists after the service to be replaced is sequenced, selecting the service with the first bandwidth larger than that of the service to be replaced after the service to be replaced is sequenced as a target service;
replacing the service to be replaced in the current first service set with a target service;
and returning to execute the steps: and judging whether the sum of the bandwidths of all services in the current first service set is not less than the scheduling bandwidth threshold value.
8. The method of claim 7, wherein after the step of determining whether there is traffic with a bandwidth greater than the bandwidth of the traffic to be replaced in the first traffic queue after the ordering of the traffic to be replaced, the method further comprises:
and if the service with the bandwidth larger than that of the service to be replaced does not exist after the service to be replaced is sequenced, taking the current first service set as a service set to be scheduled.
9. The method according to claim 7, wherein after the step of replacing the service to be replaced in the current first service set with the target service, the method further comprises:
recording service replacement information of a current first service set, wherein the service replacement information comprises an identifier of a target service, an identifier of a service to be replaced and a bandwidth increment in the replacement process;
the step of taking the current first service set as the service set to be scheduled if the sum of the bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold includes:
calculating the difference between the bandwidth sum of each service in the current first service set and the scheduling bandwidth threshold to obtain a target difference;
selecting service replacement information with the target service identification identical to the identification of the service in the current first service set from all the service replacement information to obtain all the target service replacement information;
judging whether the bandwidth increment in each target service replacement information is larger than the target difference value;
if the bandwidth increment in each target service replacement information is larger than the target difference value, taking the current first service set as a service set to be scheduled;
if the target service replacement information with the bandwidth increment not greater than the target difference exists, selecting the target service replacement information with the bandwidth increment not greater than the target difference as the service replacement information to be backtracked;
replacing a first service in a current first service set with a second service, wherein the first service is a service represented by a target service identifier in the service replacement information to be backtracked, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be backtracked;
and returning to execute the steps: and calculating the difference between the bandwidth sum of each service in the current first service set and the scheduling bandwidth threshold to obtain a target difference.
10. The method of claim 1, wherein the scheduling the traffic in the traffic set to be scheduled comprises:
and scheduling the services in the service set to be scheduled in sequence according to the sequence of the priority from low to high until the used bandwidth of the link to be scheduled is not greater than the bandwidth threshold or the services in the service set to be scheduled are all scheduled.
11. The method according to any one of claims 1-10, further comprising:
acquiring the times that the sum of the bandwidths of all services in the service set to be scheduled is less than the scheduling bandwidth threshold value within a preset time length;
and adjusting the size of the scheduling quantity threshold according to the times, wherein the size of the scheduling quantity threshold is positively correlated with the size of the times.
12. An apparatus for scheduling traffic, the apparatus comprising:
the first parameter acquisition module is used for acquiring the bandwidth of each service in the link to be scheduled and the preset scheduling bandwidth threshold of the link to be scheduled under the condition that the used bandwidth of the link to be scheduled is greater than the preset bandwidth threshold of the link to be scheduled;
the first service grouping module is used for grouping the services in the link to be scheduled according to the bandwidth of the services in the link to be scheduled and the scheduling bandwidth threshold value to obtain a first service grouping, wherein the difference between the bandwidth of the services in the first service grouping and the scheduling bandwidth threshold value is smaller than a preset difference;
a second parameter obtaining module, configured to obtain a scheduling number threshold N of the link to be scheduled;
a first set determining module, configured to select N services from the first service packet according to priorities of services in the first service packet, to obtain a service set to be scheduled;
and the service scheduling execution module is used for scheduling the services in the service set to be scheduled.
13. The apparatus of claim 12, wherein the first set determining module comprises:
a threshold comparison submodule, configured to determine whether a sum of bandwidths of services in the first service packet is not less than the scheduling bandwidth threshold;
a service selection submodule, configured to select N services from the first service packet according to the priority and bandwidth of each service in the first service packet if the sum of bandwidths of each service in the first service packet is not less than the scheduling bandwidth threshold, so as to obtain a service set to be scheduled, where the sum of bandwidths of each service in the service set to be scheduled is not less than the scheduling bandwidth threshold, and a priority combination of each service in the service set to be scheduled has a lowest priority in each service set; for each service set, the service set is a set formed by a scheduling quantity threshold value of services in the first service group, and the sum of the bandwidths of the services in the service set is not less than the scheduling bandwidth threshold value;
the service selection submodule comprises:
the service sequencing unit is used for sequencing the services in the first service grouping according to the sequence of the priorities from low to high to obtain a first service queue if the sum of the bandwidths of the services in the first service grouping is not less than the scheduling bandwidth threshold, wherein the services with the same priority are sequenced according to the sequence of the bandwidths of the services from large to small;
a first service set determining unit, configured to select the first N services in the first service queue as a first service set;
a threshold comparison unit, configured to determine whether a sum of bandwidths of services in the current first service set is not less than the scheduling bandwidth threshold;
a to-be-scheduled service set determining unit, configured to use the current first service set as a to-be-scheduled service set if the sum of bandwidths of services in the current first service set is not less than the scheduling bandwidth threshold;
a service to be replaced selecting unit, configured to select, if the sum of bandwidths of services in the current first service set is smaller than the scheduling bandwidth threshold, a service with the smallest bandwidth in the current first service set as a service to be replaced;
a bandwidth comparing unit, configured to determine whether a service with a bandwidth greater than that of the service to be replaced exists in the first service queue after the service to be replaced is sequenced;
the target service selecting unit is used for selecting the service with the first bandwidth larger than the bandwidth of the service to be replaced after the service to be replaced is sequenced as the target service if the service with the bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is sequenced;
the service replacement unit is used for replacing the service to be replaced in the current first service set with the target service; and returning to the threshold comparison submodule to continue execution.
14. An electronic device comprising a processor and a memory;
the memory is used for storing a computer program;
the processor, when executing the program stored in the memory, is configured to implement the service scheduling method according to any one of claims 1 to 11.
15. A computer-readable storage medium, in which a computer program is stored, which, when being executed by a processor, implements the service scheduling method according to any one of claims 1 to 11.
CN202011142061.3A 2020-10-22 2020-10-22 Service scheduling method, device, electronic equipment and storage medium Active CN112199179B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011142061.3A CN112199179B (en) 2020-10-22 2020-10-22 Service scheduling method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011142061.3A CN112199179B (en) 2020-10-22 2020-10-22 Service scheduling method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112199179A true CN112199179A (en) 2021-01-08
CN112199179B CN112199179B (en) 2023-04-21

Family

ID=74012389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011142061.3A Active CN112199179B (en) 2020-10-22 2020-10-22 Service scheduling method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112199179B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140219287A1 (en) * 2013-02-01 2014-08-07 International Business Machines Corporation Virtual switching based flow control
CN104301256A (en) * 2014-10-31 2015-01-21 杭州华三通信技术有限公司 Method for dynamically reserving bandwidths in SDN and controller
US20150169451A1 (en) * 2013-12-13 2015-06-18 Nicira, Inc. Dynamically Adjusting the Number of Flows Allowed in a Flow Table Cache
CN106130925A (en) * 2016-08-26 2016-11-16 广州西麦科技股份有限公司 Link scheduling method, equipment and the system of a kind of SDN
CN106506395A (en) * 2016-11-28 2017-03-15 迈普通信技术股份有限公司 A kind of business stream scheduling method and device
CN110708242A (en) * 2019-10-28 2020-01-17 迈普通信技术股份有限公司 Traffic scheduling method and device, electronic equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140219287A1 (en) * 2013-02-01 2014-08-07 International Business Machines Corporation Virtual switching based flow control
US20150169451A1 (en) * 2013-12-13 2015-06-18 Nicira, Inc. Dynamically Adjusting the Number of Flows Allowed in a Flow Table Cache
CN104301256A (en) * 2014-10-31 2015-01-21 杭州华三通信技术有限公司 Method for dynamically reserving bandwidths in SDN and controller
CN106130925A (en) * 2016-08-26 2016-11-16 广州西麦科技股份有限公司 Link scheduling method, equipment and the system of a kind of SDN
CN106506395A (en) * 2016-11-28 2017-03-15 迈普通信技术股份有限公司 A kind of business stream scheduling method and device
CN110708242A (en) * 2019-10-28 2020-01-17 迈普通信技术股份有限公司 Traffic scheduling method and device, electronic equipment and storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YIFAN SUN等: ""Research on UAV Cluster Routing Strategy Based on Distributed SDN"", 《2019 IEEE 19TH INTERNATIONAL CONFERENCE ON COMMUNICATION TECHNOLOGY (ICCT)》 *
肖军弼等: "基于SDN的数据中心动态优先级多路径调度算法", 《计算机与现代化》 *
陈家盛: ""基于SDN的流量优化***的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN112199179B (en) 2023-04-21

Similar Documents

Publication Publication Date Title
US9094231B2 (en) Router
US10225203B2 (en) Scheduled transmission of data
WO2021027783A1 (en) Method, apparatus, device, and system for allocating radio frequency resources, and storage medium
CN106851747B (en) Dynamic resource allocation method and device in mobile communication system
KR101479019B1 (en) System and method for dynamically adjusting quality of service configuration based on real-time statistics of traffic mix
US11533262B2 (en) Methods and systems for multi-level network capacity allocation
CN108449232B (en) Network speed self-adaptive control method
WO2015106795A1 (en) Methods and systems for selecting resources for data routing
WO2022028059A1 (en) Scheduling node selection and preemption method and system based on server cluster
CN114157673A (en) CDN system node management method and device, storage medium and electronic equipment
US8305889B2 (en) Method for allocating a resource among consumers in proportion to configurable weights
CN114401196B (en) Bandwidth configuration method, device, storage medium and chip
CN112199179B (en) Service scheduling method, device, electronic equipment and storage medium
CN111010626B (en) Method for allocating transparent advance reserved service resources in elastic optical network
CN113472591B (en) Method and device for determining service performance
CN111629050A (en) Node scheduling method and device, storage medium and electronic device
CN112615798B (en) Bandwidth allocation method and device based on elephant flow reservation
CN112399596B (en) Method, apparatus, device, system and storage medium for allocating radio frequency resources
CN115175265A (en) Transmission path determination method and device, computer equipment and storage medium
CN116095175B (en) Data flow scheduling method and device for grid edge computing system
CN112004058B (en) Intelligent resource allocation method, device and equipment for multi-level domain monitoring system
WO2023125411A1 (en) Bandwidth recommendation method and apparatus, display apparatus, and control device
Katsumoto et al. A bandwidth assignment method for downloading large files with time constraints
CN118474042A (en) Telemetry information reporting method, device, equipment, storage medium and product
CN115114028A (en) Task allocation method and device for electric power simulation secondary control

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