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

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

Info

Publication number
CN112199179B
CN112199179B CN202011142061.3A CN202011142061A CN112199179B CN 112199179 B CN112199179 B CN 112199179B CN 202011142061 A CN202011142061 A CN 202011142061A CN 112199179 B CN112199179 B CN 112199179B
Authority
CN
China
Prior art keywords
service
bandwidth
scheduled
scheduling
services
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011142061.3A
Other languages
Chinese (zh)
Other versions
CN112199179A (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 device, electronic equipment and a storage medium, wherein the difference between the bandwidth of a service in a first service packet and a scheduling bandwidth threshold is smaller than a preset difference, and the number of the scheduled number threshold services are selected as a service set to be scheduled according to the priority of the service in the first service packet, so that 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 quantity of the scheduled service under the condition that the priority of the scheduled service is lower, thereby reducing the influence of service scheduling on the overall stability of the link networking. Meanwhile, the difference between the bandwidth of the service in the first service packet and the scheduling bandwidth threshold is smaller than the preset difference, so that the scheduled bandwidth is not too large compared with the scheduling bandwidth threshold, the condition that a large amount of bandwidth is scheduled at one time is reduced, more bandwidths 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, device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a service scheduling method, a device, an electronic device, and a storage medium.
Background
SDN (Software Defined Network ) controllers may collect various types of information in the network, including device information, link information between devices, and the like, and store the collected information with a topology. Wherein, the user-defined traffic flows enter the end-to-end link through the drainage technology. The SDN controller can obtain the optimal path of each service according to the information of each service through path constraint and a path selection strategy, and can enable the service flow of the user to go to the corresponding link through the downlink and path configuration, thereby realizing service scheduling.
In the related art, an SDN controller monitors the bandwidth of a link in a network in real time. When the bandwidth threshold is overflowed from the used bandwidth (real-time traffic) of a certain link, certain traffic of the link is called out to solve the congestion problem of the link, wherein the traffic in the link refers to the user traffic 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 is already the optimal path, the tuned service will travel on the suboptimal path. Therefore, in the prior art, the traffic in the link is sequentially scheduled according to the order of the priority of the traffic from low to high until the used bandwidth of the link is less than the bandwidth threshold.
However, when the bandwidth occupied by each service with low priority is smaller by adopting the method, a large amount of services can be called out, and the overall stability of the link networking can be seriously affected.
Disclosure of Invention
An embodiment of the application aims to provide a service scheduling method, a device, electronic equipment and a storage medium, so as to reduce the influence of service scheduling on the 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:
acquiring the bandwidth of each service in a link to be scheduled and a preset scheduling bandwidth threshold of the link to be scheduled under the condition that the used bandwidth of the link to be scheduled is larger than the preset bandwidth threshold of the link to be scheduled;
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 value to obtain a first service group, wherein the difference between the bandwidth of each 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;
according to the priority of each service in the first service packet, selecting N services in the first service packet to obtain a service set to be scheduled;
And scheduling the service in the service set to be scheduled.
In a possible implementation manner, the step of selecting N services in the first service packet according to the priority of each service in the first service packet to obtain a service set to be scheduled includes:
judging whether the sum of bandwidths of all services in the first service packet is not smaller than the scheduling bandwidth threshold value;
if the sum of bandwidths of all the services in the first service packet is not smaller than the scheduling bandwidth threshold, selecting N services in the first service packet according to the priority and the bandwidths of all the services in the first service packet to obtain a service set to be scheduled, wherein the sum of bandwidths of all the services in the service set to be scheduled is not smaller than the scheduling bandwidth threshold, and the priority combination of all the services in the service set to be scheduled has the lowest priority in all the service sets; for each service set, the service set is a set composed of a scheduling number threshold number of services in the first service packet, and the sum of bandwidths of the services in the service set is not smaller than the scheduling bandwidth threshold.
In a possible implementation manner, the step of 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 value 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;
calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold value respectively;
and dividing the service with the ratio 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 calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold value, the method further includes:
dividing the service with the ratio greater than or equal to the second value into a second service group;
after the step of determining whether the sum of 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 bandwidths of all the services in the first service packet is smaller than the scheduling bandwidth threshold value, judging whether the second service packet is empty or not;
and if the second service packet is not null, selecting a service with the lowest priority from the second service packet as the service set to be scheduled.
In one possible implementation manner, after the step of determining whether the second service packet is empty if the sum of 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 packet is empty, selecting the first N services with the largest bandwidth from the services of the link to be scheduled as the service set 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 N corresponding to the number of the services in the first service packet according to the corresponding relation between the number of the services and the scheduling number threshold.
In a possible implementation manner, 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 bandwidths of the services in the first service packet, to obtain a service set to be scheduled, including:
if the sum of bandwidths of all the services in the first service packet is not smaller than the scheduling bandwidth threshold, sequencing all the services in the first service packet according to the sequence from low priority to high priority to obtain a first service queue, wherein the services with the same priority are sequenced according to the sequence from high priority to low bandwidth;
selecting the first N businesses from the first business queue as a first business set;
Judging whether the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold value;
if the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold, the current first service set is used as a service set to be scheduled;
if the sum of bandwidths of all the services in the current first service set is smaller than the scheduling bandwidth threshold, selecting the service with the smallest bandwidth in the current first service set as the 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 the service with the bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is sequenced, 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;
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 bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold value.
In a possible implementation manner, after the step of determining whether there is a service with a bandwidth greater than a bandwidth of the service to be replaced after the ordering of the service to be replaced in the first service queue, the method further includes:
And if no service with bandwidth larger than that of the service to be replaced exists after the service to be replaced is ordered, 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 identification of a target service, an identification of a service to be replaced and a bandwidth increment in the current replacement process;
and if the sum of bandwidths of the services in the current first service set is not smaller than the scheduling bandwidth threshold, taking the current first service set as a service set to be scheduled, wherein the step comprises the following steps:
calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference;
selecting service replacement information with the same target service identifier as the service identifier in the current first service set from the service replacement information to obtain target service replacement information;
judging whether bandwidth increment in each target service replacement information is larger than the target difference value;
If the bandwidth increment in each piece of 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 value exists, selecting the target service replacement information with the bandwidth increment not greater than the target difference value as service replacement information to be traced;
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 traced, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be traced;
and returning to execute the steps: and calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference.
In a possible implementation manner, the scheduling the service in the service set to be scheduled includes:
and scheduling each service in the service set to be scheduled in sequence according to the order of the priority from low to high 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.
In one possible embodiment, the method further comprises:
acquiring the times that the sum of bandwidths of all the services in the service set to be scheduled is smaller than the scheduling bandwidth threshold value within a preset duration;
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 larger than the preset bandwidth threshold of the link to be scheduled;
the first service grouping module is used for 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 value to obtain a first service grouping, wherein the difference between the bandwidth of the service in the first service grouping and the scheduling bandwidth threshold value is smaller than a preset difference;
the second parameter acquisition module is used for acquiring a scheduling number threshold N of the link to be scheduled;
The first set determining module is used for selecting N services from the first service packet according to the priority of each service in the first service packet to obtain a service set to be scheduled;
and the service scheduling execution module is used for scheduling the service in the service set to be scheduled.
In one possible implementation manner, the first set determining module includes:
a threshold value comparing sub-module, configured to determine whether a sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold value;
a service selection sub-module, configured to select N services in 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, 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 the priority combination of each service in the service set to be scheduled has the lowest priority in each service set; for each service set, the service set is a set composed of a scheduling number threshold number of services in the first service packet, and the sum of bandwidths of the services in the service set is not smaller 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; calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold value respectively; and dividing the service with the ratio larger than the first value and smaller than the second value into the first service packet.
In one possible embodiment, the apparatus further comprises:
a second service grouping module for: dividing the service with the ratio greater than or equal to the second value into a second service group;
a service packet judging module, configured to judge whether the second service packet is empty, if the sum of bandwidths of the services in the first service packet 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 packet as the service set to be scheduled if the second service packet is not empty.
In one possible embodiment, the apparatus further comprises:
and the third set determining module is used for selecting the first N businesses with the largest bandwidth from all businesses of the link to be scheduled as the business set to be scheduled if the second business packet is empty.
In a possible implementation manner, the second parameter obtaining module is specifically configured to: and acquiring a scheduling number threshold N corresponding to the number of the services in the first service packet according to the corresponding relation between the number of the services and the scheduling number threshold.
In one possible implementation manner, the service selection sub-module includes:
a service sequencing unit, configured to sequence each service in the first service packet according to a sequence from low priority to high priority if a sum of bandwidths of each service in the first service packet is not less than the scheduling bandwidth threshold, so as to obtain a first service queue, where, for services with the same priority, the service is sequenced according to a sequence from high bandwidth to low bandwidth;
a first service set determining unit, configured to select first N services in the first service queue as a first service set;
a threshold value comparing unit, configured to determine whether a sum of bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold value;
a to-be-scheduled service set determining unit, configured to take the current first service set as a to-be-scheduled service set if the sum of bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold;
A to-be-replaced service selection unit, configured to select a service with the smallest bandwidth in the current first service set as a to-be-replaced service if the sum of bandwidths of the services in the current first service set is smaller than the scheduling bandwidth threshold;
a bandwidth comparing unit, configured to determine whether, in the first service queue, after the ordering of the service to be replaced, there is a service with a bandwidth greater than that of the service to be replaced;
the target service selecting unit is used for selecting the service with the bandwidth larger than the bandwidth of the service to be replaced as the target service after the service to be replaced is sequenced if the service with the bandwidth larger than the bandwidth of the service to be replaced exists;
the service replacing 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 one possible embodiment, the apparatus further comprises:
and the fourth set determining module is used for taking the current first service set as the service set to be scheduled if no service with bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is ordered.
In one possible embodiment, the apparatus further comprises:
The system comprises a replacement information recording module, a service information processing module and a service information processing 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 a target service identifier, a service identifier to be replaced and a bandwidth increment in the current replacement process;
the service set to be scheduled determining submodule is specifically configured to: and under the condition that the sum of bandwidths of the services in the current first service set is not smaller than the scheduling bandwidth threshold value, executing the following steps:
calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference;
selecting service replacement information with the same target service identifier as the service identifier in the current first service set from the service replacement information to obtain target service replacement information;
judging whether bandwidth increment in each target service replacement information is larger than the target difference value;
if the bandwidth increment in each piece of 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 value exists, selecting the target service replacement information with the bandwidth increment not greater than the target difference value as service replacement information to be traced;
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 traced, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be traced;
and returning to execute the steps: and calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference.
In a possible implementation manner, the service scheduling execution module is specifically configured to: and scheduling each service in the service set to be scheduled in sequence according to the order of the priority from low to high 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.
In one possible embodiment, the apparatus further comprises:
the scheduling quantity threshold value adjusting module is used for obtaining the times that the sum of bandwidths of all the businesses in the business set to be scheduled in the preset time length is smaller than the scheduling bandwidth threshold value; 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 one of the service scheduling methods described above when executing the program stored in the memory.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium having a computer program stored therein, which when executed by a processor implements any of the service scheduling methods described above.
In a fifth aspect, embodiments of the present application provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform any of the traffic scheduling methods described above.
The beneficial effects of the embodiment of the application are that:
according to the service scheduling method, the device, the electronic equipment and the storage medium, the difference between the bandwidth of the service in the first service packet and the scheduling bandwidth threshold is smaller than the preset difference, the scheduling quantity threshold number of the service is selected as a service set to be scheduled according to the priority of the service in the first service packet, the quantity of the scheduled service 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 quantity of the scheduled service under the condition that the priority of the scheduled service is lower, thereby reducing the influence of service scheduling on the overall stability of the link networking. Meanwhile, the difference between the bandwidth of the service in the first service packet and the scheduling bandwidth threshold is smaller than the preset difference, namely, the bandwidth of the service in the first service packet is close to the scheduling bandwidth threshold, so that the scheduled bandwidth is not too large compared with the scheduling bandwidth threshold, the condition that a large amount of bandwidth is scheduled at one time is reduced, more bandwidths can be transmitted on a better link, and the influence of service scheduling on the overall stability of the link networking is reduced. Of course, not all of the above-described advantages need be achieved simultaneously in practicing any one of the products or methods 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 that are required in the embodiments or the description of the prior art will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a first service scheduling method in an embodiment of the present application;
fig. 2 is a second flow chart of a service scheduling method according to an embodiment of the present application;
FIG. 3 is a schematic flow chart of a specific implementation of step S102 in the embodiment of the present application;
fig. 4 is a third flow chart of a service scheduling method according to an embodiment of the present application;
fig. 5 is a flowchart of a specific implementation of step S1042 in the embodiment of the present application;
fig. 6 is a schematic flow chart of acquiring a service set to be scheduled in the service scheduling method in the embodiment of the present application;
fig. 7 is another flow chart of acquiring a service set to be scheduled in the service scheduling method in the embodiment of the present application;
fig. 8 is a fourth flowchart of a service scheduling method according to an embodiment of the present application;
Fig. 9 is a schematic flow chart of adjusting a scheduling number threshold in the service scheduling method in the embodiment of the present application;
fig. 10 is a schematic structural diagram of a service scheduling device 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 following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
In order to reduce the influence of service scheduling on the overall stability of a link network, the embodiment of the application provides a service scheduling method, referring to fig. 1, which includes:
s101, under the condition that the used bandwidth of the 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 of the embodiment of the application may be implemented by an electronic device, for example, the electronic device may be a server with an SDN controller function.
The link to be scheduled may be any link in the link network, and for each link in the link network, the same operation as that of the link to be scheduled may be performed. The method for scheduling the service in one period in the embodiment of the present application is described, and in each period, the same operation may be performed.
Bandwidth threshold of link to be scheduled: the pre-defined setting can be set according to the actual situation, for example, the pre-defined setting is set to 80%, 90% or 95% of the total bandwidth of the link to be scheduled. The bandwidth threshold of the link to be scheduled is used for comparing with the bandwidth actually used by the link to be scheduled, so that the scheduling of the service in the link to be scheduled is triggered. The bandwidth threshold is not suitable to be set too small, otherwise, the waste of the bandwidth resource of the link to be scheduled is caused; the bandwidth threshold is set to 80%, 90% or 95% of the total bandwidth of the link to be scheduled, and the like, but is not set to 100% directly, because the scheduling of the service has certain hysteresis, if the used bandwidth reaches the total bandwidth of the link to be scheduled, the scheduling is performed, and the situation that part of the service cannot normally run due to insufficient bandwidth exists.
Scheduling bandwidth threshold for link to be scheduled: the bandwidth to be scheduled in one period of the link to be scheduled is represented by a preset threshold value, and the scheduling bandwidth threshold value is reasonably set, so that the condition that the whole link is unstable due to overlarge bandwidth of scheduled service in a single period can be reduced; and the situation that overload link load is not obviously reduced due to the fact that the bandwidth of the service scheduled in a single period is too small can be reduced. The scheduling bandwidth threshold may be set in a customized manner according to practical situations, for example, set to 4%, 5%, 6% or 10% of the total bandwidth of the link to be scheduled.
Bandwidth of link traffic to be scheduled: refers to the bandwidth of the link to be scheduled occupied by the service.
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 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.
And dividing the service with the difference between the bandwidth in the link to be scheduled and the scheduling bandwidth threshold value smaller than the preset difference into a first service packet according to the bandwidth of each service in the link to be scheduled and the scheduling bandwidth threshold value, thereby obtaining the first service packet.
The preset difference is used for ensuring that the difference between the bandwidth of the service in the first service packet and the scheduling bandwidth threshold is not excessive. The preset difference can be set according to actual condition customization, for example, 10%, 20% or 50% of the scheduling bandwidth threshold value can be set.
In one embodiment, the preset differences may include a first difference and a second difference; for a service of which any bandwidth in the first service packet is smaller than or equal to a scheduling bandwidth threshold, the difference between the bandwidth of the service and the scheduling bandwidth threshold is smaller than the first difference; for traffic in which any bandwidth in the first traffic packet is greater than the scheduling bandwidth threshold, the bandwidth of the traffic differs from the scheduling bandwidth threshold by less than the second difference. For example, the scheduling bandwidth threshold is BW need The first difference is x% of the scheduling bandwidth threshold value, the second difference is y% of the scheduling bandwidth threshold value, and the bandwidth in the link to be scheduled is BW (1-x%) need To (1+y%) BW need The traffic between is divided into first traffic packets. Optionally, in order 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, and simultaneously ensure that a certain number of traffic exists in the first traffic packet, the value range of X% may be 10% to 90%, and the value range of y% may be 10% to 1000%, and so on.
S103, obtaining the scheduling number threshold N of the links to be scheduled.
The scheduling number threshold (denoted by N) is the number of the most scheduled services in a set period, and the number of the most scheduled services in a period of the link to be scheduled does not exceed N, so that the situation of unstable network caused by excessive service scheduling is reduced. N can be set in a self-defined mode according to actual conditions, and N is not suitable to be set too large in order to reduce the influence on the overall stability of the link networking. 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; for example 4.5%, 6%, 9% or 30% of the total number 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 according to the priority of the services, and taking the N services as a service set to be scheduled. For example, 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 set of services to be scheduled is not less than the scheduling bandwidth threshold. In one possible implementation, the priority of each service in the set of services to be scheduled meets a preset priority rule. The preset priority rule indicates: the sum of bandwidths of all the services in the service set to be scheduled is not smaller than a scheduling bandwidth threshold, the priority of the priority combination of all the services in the service set to be scheduled is lowest in all the service sets, and for each service set, the service set is a set formed by N services in a first service packet, and the sum of bandwidths of all the services in the service set is not smaller than the scheduling bandwidth threshold.
S105, scheduling the service 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 the focus of the research in the present application, and the selection of the target link may refer to the related art, which is 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 packet and the scheduling bandwidth threshold is smaller than the preset difference, and the scheduling quantity threshold number of the service is selected as a service set to be scheduled according to the priority of the service in the first service packet, so that the quantity of the scheduled service can be controlled, and the priority of each service in the service set to be scheduled is considered at the same time; the method and the device can control the quantity of the scheduled service under the condition that the priority of the scheduled service is lower, thereby reducing the influence of service scheduling on the overall stability of the link networking. Meanwhile, the difference between the bandwidth of the service in the first service packet and the scheduling bandwidth threshold is smaller than the preset difference, namely, the bandwidth of the service in the first service packet is close to the scheduling bandwidth threshold, so that the scheduled bandwidth is not too large compared with the scheduling bandwidth threshold, the condition that a large amount of bandwidth is scheduled at one time is reduced, more bandwidths can be transmitted on a better link, and the influence of service scheduling on the overall stability of the link networking is reduced.
In a possible implementation manner, referring to fig. 2, selecting N services in the first service packet according to the priority of each service in the first service packet to obtain a service set to be scheduled includes:
s1041, judging whether the sum of the bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold.
And calculating the sum of bandwidths of all the services in the first service packet, and comparing the sum of bandwidths with the size of the scheduling bandwidth threshold.
S1042, 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 bandwidths of the services in the first service packet to obtain a service set to be scheduled, wherein the sum of 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 has the lowest priority in the service set; for each service set, the service set is a set composed of a scheduling number threshold number of services in the first service packet, and the sum of bandwidths of the services in the service set is not smaller than the scheduling bandwidth threshold.
The service set to be scheduled comprises N services, and the sum of bandwidths of the N services is larger than or equal to a scheduling bandwidth threshold value; and among the priority combinations of all the service sets, the priority of the priority combination of the N services in the service set to be scheduled is lowest. The lowest here includes the same lowest case, i.e. the service set to be scheduled is the same as the priority combination of the other service set or service sets, and is the same as the lowest.
Any N businesses can be selected as one set in the first business group, all possible sets are traversed, and the set with the sum of bandwidths of the businesses larger than that of the business sets is selected from all sets to obtain each business set; and selecting a service set with the lowest priority of the 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 judging method can be set in a self-defined mode according to actual conditions. In one embodiment, for any two priority combinations, the priority of the priority combination with the higher number of low priorities is lower. For example, priority 1, and priority 3 are included in priority combination a, and priority 1, priority 2, and priority 2 are included in priority combination B; the priority combination A comprises two priorities 1, and the number of the priorities is greater than one priority 1 in the priority combination B, so that the priority of the priority combination A is lower than that of the priority combination B. For example, priority 1, and priority 3 are included in priority combination a, and priority 1, and priority 2 are included in priority combination B; the priority combination A comprises two priorities 1, the priority combination B also comprises two priorities 1, the number of the second lowest priorities in the priority combinations is compared, the priority combination A comprises zero priorities 2, the priority combination B comprises one priority 2, and 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 threshold number of the scheduled services are selected as the service set to be scheduled, the number of the scheduled services can be controlled, and the priority and the sum of bandwidths of the services in the service set to be scheduled are considered at the same time; the method can control the quantity of the scheduled service under the condition that the bandwidth of the scheduled service is enough and the service priority is lower, thereby reducing the influence of service scheduling on the overall stability of the link networking. Meanwhile, the difference between the bandwidth of the service in the first service packet and the scheduling bandwidth threshold is smaller than the preset difference, namely, the bandwidth of the service in the first service packet is close to the scheduling bandwidth threshold, so that the scheduled bandwidth is not too large compared with the scheduling bandwidth threshold, the condition that a large amount of bandwidth is scheduled at one time is reduced, more bandwidths can be transmitted on a better link, and the influence of service scheduling on the overall stability of the link networking is reduced.
In a possible implementation manner, referring to fig. 3, the step of 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 at S102 to obtain a first service group includes:
S1021, obtaining a preset first value and a preset second value, wherein the first value is a positive number smaller than 1, and the second value is larger than or equal to 1.
The first value and the second value should ensure that the difference between the traffic in the first traffic packet and the scheduling bandwidth threshold is smaller than the preset difference, and the sizes of the first value and the second value can be set in a self-defined manner according to actual conditions. For example, the first value may be set to 0.1, 0.2, 0.3, 0.5, or the like, and the second value may be set to 1, 1.5, 2, 5, or 10, or the like.
S1022, calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold.
S1023, dividing the business with the ratio larger than the first value and smaller than the second value into the first business grouping.
The first value is represented by a, the second value is represented by b, and the bandwidth of the service in the link to be scheduled is BW fn Representing BW for scheduling bandwidth threshold need Wherein 0 < a < 1, and b.gtoreq.1. The traffic satisfying equation (1) is divided into the first traffic packet.
Figure BDA0002738575600000151
In the embodiment of the application, the first data and the second numerical value are utilized to realize the rapid division of the first service packet.
In a possible implementation manner, referring to fig. 4, after the step of calculating, in S1022, a ratio of a bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold, the method further includes:
S107, dividing the service with the ratio greater than or equal to the second value into the second service group.
The second value is represented by b, and the bandwidth of the service in the link to be scheduled is BW fn Representing BW for scheduling bandwidth threshold need Wherein 0 < a < 1, and b.gtoreq.1. The traffic satisfying equation (2) is divided into a second traffic packet.
Figure BDA0002738575600000161
After the step of S1041 determining whether the sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold, the method further includes:
s108, if the sum of the bandwidths of the services in the first service packet is smaller than the scheduling bandwidth threshold, judging whether the second service packet is empty.
And S109, if the second service packet is not null, selecting a service with the lowest priority from the second service packet as the service set to be scheduled.
The sum of bandwidths of all the services in the first service packet is smaller than the scheduling bandwidth threshold, which means that even if all the services in the first service packet are selected, the bandwidth with the size of the scheduling bandwidth threshold cannot be scheduled, and at the moment, a service with the lowest priority is selected from the second service set to serve as the service set to be scheduled. The bandwidth of each service in the second service packet is not smaller than the service set to be scheduled, so that the bandwidth of at least the scheduling bandwidth threshold size of the scheduling position can be realized by only selecting one service.
Alternatively, the traffic having a ratio not greater than the first value may be further divided into a third traffic packet, i.e. the traffic satisfying the formula (3) is divided into the third traffic packet. The ratio of the services in the third service group is smaller than or equal to the first value, which indicates that each service in the third service group is a small bandwidth service, and the management of each service in the link to be scheduled is facilitated through the first service group, the second service group and the third service group.
Figure BDA0002738575600000162
In the embodiment of the application, under the condition that the sum of bandwidths of the services in the first service packet is smaller than the scheduling bandwidth threshold, a service with the lowest priority is selected from the second service packet as a service set to be scheduled, so that service scheduling is realized, and the scheduled bandwidth can be ensured not to be smaller than the scheduling bandwidth threshold.
In one possible implementation manner, referring to fig. 4, in S108, after the step of determining whether the second service packet is empty, if the sum of bandwidths of the services in the first service packet is smaller than the scheduling bandwidth threshold, the method further includes:
s110, if the second service packet is empty, selecting the first N services with the largest bandwidth from the services of the link to be scheduled as the service set to be scheduled.
If the second service packet is empty, it indicates that there are a plurality of small bandwidth services in the to-be-scheduled link, and at this time, in order to control the number of scheduled services, according to the order of from large bandwidth to small bandwidth, N services selected in the to-be-scheduled link, that is, the service with bandwidth TopN, are selected as the to-be-scheduled service set. At this time, the sum of 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 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, service scheduling in the present period is still ended, and processing is waited for in the next period.
In the embodiment of the application, under the condition that a plurality of small-bandwidth services exist in the link to be scheduled, the first N maximum-bandwidth services are selected as the 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 the link networking is reduced.
In a possible implementation manner, the step of S103 obtaining the scheduling number threshold N of the link to be scheduled includes: and acquiring a scheduling number threshold N corresponding to the number of the services in the first service packet according to the corresponding relation between the number of the services and the scheduling number threshold.
The scheduling number threshold may be determined based on the number of traffic in the first traffic packet. The corresponding relation between the service number and the scheduling number threshold can be set in a self-defined manner according to the actual situation, and theoretically, the larger the number of the services in the first service packet is, the larger the corresponding scheduling number threshold is. In order to more clearly describe how to establish the correspondence between the traffic number and the scheduling number threshold, an example will be described below.
The total bandwidth of the link to be scheduled is represented by BW, and the threshold value of the scheduling bandwidth is represented by BW need The first value is denoted by a, and the upper limit S for the number of services in the first service 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, at a=0.1, 5% bw=bw need S=200, at which point:
n=3t (1.ltoreq.t.ltoreq.3), where
Figure BDA0002738575600000181
Wherein F is in And representing the number of services in the first service packet, wherein t is an intermediate calculation parameter.
In the implementation of the method, the corresponding scheduling quantity threshold is determined according to the quantity of the services in the first service packet, the corresponding relation between the total service quantity and the scheduled service quantity is considered, the quantity of the scheduled services can be controlled while the bandwidth with the size of the scheduling quantity threshold is scheduled, and the influence of service scheduling on the overall stability of the link networking is reduced.
In a possible implementation manner, referring to fig. 5, if the sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold in S1042, selecting N services in the first service packet according to the priority and the bandwidths of the services in the first service packet to obtain a service set to be scheduled, the method includes:
s10421, if the sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold, ordering the services in the first service packet according to the order of low priority to high priority, to obtain a first service queue, wherein, for the services with the same priority, ordering is performed according to the order of high bandwidth to low bandwidth.
The services in the first service queue are ordered according to the order from low priority to high priority, and the larger the bandwidth is, the earlier the ordering is for 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 is more than B is more than D; e > F > H.
S10422, selecting the first N services from the first service queue as the first service set.
S10423, judging whether the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold.
S10424, if the sum of 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 the service set to be scheduled.
S10425, if the sum of bandwidths of the services in the current first service set is smaller than the scheduling bandwidth threshold, selecting the service with the smallest bandwidth in the current first service set as the service to be replaced.
S10426, judging whether there is a service with a bandwidth larger than the bandwidth of the service to be replaced in the first service queue after the service to be replaced is ordered.
S10427, if there is a service with bandwidth larger than the bandwidth of the service to be replaced after the service to be replaced is sequenced, 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.
Because the services in each priority in the first service queue are arranged according to the order of the bandwidths from large to small, in order to save the computing resources, in one embodiment, the bandwidth size of the service ranked earlier than the service to be replaced may be selected from the services with higher priority than the service to be replaced.
Optionally, S10426 and S10427 may include:
step one, selecting the first-ordered service from the services with priority higher than the priority of the service to be replaced in all the services except the current first service set, wherein 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, and if not, 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 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, judging whether the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold.
The first service queue shown in table 2 is taken as an example for illustration. The first service group of the link to be scheduled comprises 10 services, which are respectively denoted as F 1 ~F 10 . The larger the priority value, the higher the priority. Bandwidth is the bandwidth value that traffic needs to occupy. The scheduling number threshold of the links to be scheduled is n=3. Initially select F of lowest priority 1 ~F 3 The service obtains a current first service set.
TABLE 2
Figure BDA0002738575600000201
Assume a scheduling bandwidth threshold BW need =80m, F in the current first traffic set 1 ~F 3 And if the sum of bandwidths of the services is 103M and is larger than 80M, taking the current first service set as a service set to be scheduled.
Assume a scheduling bandwidth threshold BW need =200m, then F in the current first traffic set 1 ~F 3 If the sum of bandwidths of the services is 103M and less than 200M, selecting F with the smallest bandwidth 3 F as a service to be replaced 3 For priority 1, selecting the first service in priority 2, namely F 5 ,F 5 Is greater than F 3 Is F at the moment of the bandwidth of 5 Is the target service. By F 5 Replacement F 3 The current first service set is F 1 、F 2 、F 5
The sum of the bandwidths of the current first service set is 180M less than 200M. Selecting F with minimum bandwidth 2 As a service to be replaced, since it is necessary to select a target service among the services other than the service of the current first service set, selecting a service other than F in the selection priority 2 5 Ordering out first traffic, F 6 ,F 6 Is greater than F 2 Is F at the moment of the bandwidth of 6 Is the target service. By F 6 Replacement F 2 The current first service set is F 1 、F 5 、F 6 . And if the sum of bandwidths of the current first service set is 210M and is more than 200M, taking the current first service set as a service set to be scheduled.
In the embodiment of the application, the selection method of the service set to be scheduled is provided, so that the service set to be scheduled can be selected quickly, and compared with traversing all possible service sets, the calculation cost is saved greatly by selecting the service set to be scheduled from the service set to be scheduled.
In one possible implementation manner, referring to fig. 6, after the step of determining in the first service queue in the step of determining in the step of S10426 whether there is a service with a bandwidth greater than that of the service to be replaced after the ordering of the service to be replaced, 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 bandwidths of all the services in the current first service set is smaller than a scheduling bandwidth threshold value, if no service with a bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is sequenced, the fact that N services cannot be selected in the first service packet so that the sum of bandwidths of the N services is not smaller than the scheduling bandwidth threshold value is indicated, 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 completed. As described above, the service scheduling method according to the embodiments 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 according to the embodiments of the present application may be executed every 5 minutes. For example, when the system time corresponding to the present period is from 30 to 34 minutes, the system time corresponding to the next period is from 35 to 39 minutes.
In a possible implementation manner, referring to fig. 7 (part of the steps are not shown in fig. 7, and the part not shown may be referred to fig. 1 to 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:
s112, recording service replacement information of the current first service set, wherein the service replacement information comprises an identification of a target service, an identification of a service to be replaced and a bandwidth increment in the replacement process.
Specifically, the service replacement information may be recorded through an operation stack, and in one embodiment, the service replacement information may be expressed as ADD i→j And W, wherein i is the identifier of the service to be replaced, j is the identifier of the target service, and W is the bandwidth increment, i.e. the difference between the target service bandwidth and the service bandwidth to be replaced.
The step S10424 of taking the current first service set as the service set to be scheduled if the sum of bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold, includes:
and executing the following steps under the condition that the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold value:
s104241, calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference.
S104242, selecting service replacement information with the same target service identifier as the service identifier in the current first service set from the service replacement information to obtain target service replacement information.
S104243, judging whether the bandwidth increment in each target service replacement information is larger than the target difference value.
And S104244, 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.
S104245, if there is the target service replacement information with the bandwidth increment not greater than the target difference, selecting a target service replacement information with the bandwidth increment not greater than the target difference as the service replacement information to be backtraced.
S104246, replacing a first service in the 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 traced, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be traced.
And returning to execute the steps: s104241, calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference.
The first service queue shown in table 3 is taken as an example for illustration. The first service group of the link to be scheduled comprises 10 services, which are respectively denoted as F 1 ~F 10 . The larger the priority value, the higher the priority. Bandwidth is the bandwidth value that traffic needs to occupy. The scheduling number threshold of the links to be scheduled is n=3. Initially select F of lowest priority 1 ~F 3 The service obtains a current first service set.
TABLE 3 Table 3
Figure BDA0002738575600000221
Assume a scheduling bandwidth threshold BW need =200m, F in the current first traffic set 1 ~F 3 If the sum of bandwidths of the services is 103M and less than 200M, selecting F with the smallest bandwidth 3 F as a service to be replaced 3 For priority 1, selecting the first service in priority 2, namely F 5 ,F 5 Is greater than F 3 Is F at the moment of the bandwidth of 5 Is the target service. By F 5 Replacement F 3 The current first service set is F 1 、F 2 、F 5 . Recording service replacement information: ADD (ADD) 3→5 =77M。
The sum of the bandwidths of the current first service set is 180M less than 200M. Selecting F with minimum bandwidth 2 As a service to be replaced, since it is necessary to select a target service among the services other than the service of the current first service set, selecting a service other than F in the selection priority 2 5 Ordering the first traffic outside, i.e. F 6 ,F 6 Is greater than F 2 Bandwidth of F at this time 6 Is the target service. By F 6 Replacement F 2 The current first service set is F 1 、F 5 、F 6 . Recording service replacement information: ADD (ADD) 2→6 =30M。
The sum of the bandwidths of the current first service set is 210M and is more than 200M, calculating a target difference C over =210M-200 m=10m. ADD at this time 2→6 =30m and ADD 3→5 =7m is greater than C over =10m, so no backtracking is required, the current first traffic set is taken as the traffic set to be scheduled.
Assume a scheduling bandwidth threshold BW need =250m, then F in the current first traffic set 1 ~F 3 If the sum of bandwidths of the services is 103M and less than 250M, selecting F with the smallest bandwidth 3 F as a service to be replaced 3 For priority 1, selecting the first service in priority 2, namely F 5 ,F 5 Is greater than F 3 Is F at the moment of the bandwidth of 5 Is the target service. By F 5 Replacement F 3 The current first service set is F 1 、F 2 、F 5 . Recording service replacement information: ADD (ADD) 3→5 =77M。
The sum of the bandwidths of the current first service set is 180M less than 250M. Selecting F with minimum bandwidth 2 As a service to be replaced, since it is necessary to select a target service among the services other than the service of the current first service set, selecting a service other than F in the selection priority 2 5 Ordering the first traffic outside, i.e. F 6 ,F 6 Is greater than F 2 Is F at the moment of the bandwidth of 6 Is the target service. By F 6 Replacement F 2 The current first service set is F 1 、F 5 、F 6 . Recording service replacement information: ADD (ADD) 2→6 =30M。
The sum of bandwidths of the current first service set is 210M less than 250M, and F with the smallest bandwidth is selected 1 As a service to be replaced, since it is necessary to select a target service among the services other than the service of the current first service set, selecting a service other than F in the selection priority 2 5 F (F) 6 Ordering out first traffic, F 7 。F 7 Is smaller than F 1 Continues to select the first service in priority 3, namely F 9 ,F 9 Is greater than F 1 Is then F at this time 9 Is the target service. By F 9 Replacement F 1 Currently, the firstThe service set is F 5 、F 6 、F 9 . Recording service replacement information: ADD (ADD) 1→9 =100M。
The sum of bandwidths of the current first service set is 310M and is more than 250M, and a target difference value C is calculated over =310M-250 m=60M. ADD at this time 2→6 =30m and ADD 3→5 =7m and ADD 1→9 In =100deg.M, there is ADD 2→6 =30m less than C over =60deg.M, require backtracking, utilize F 2 Replacement F 6 The current first service set is F 2 、F 5 、F 9
The sum of bandwidths of the current first service set is 280M and is more than 250M, and a target difference value C is calculated over =310M-250 m=30m. ADD at this time 3→5 =7m and ADD 1→8 =100M is smaller than C over =30m, no backtracking is required, and the current first traffic set is taken as the traffic set to be scheduled.
In a possible implementation manner, based on the first service queue shown in table 1, in the service scheduling method in 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. Right shift selection necessarily spans stages while allowing one move to span multiple stages.
3. Calculation of C per move over By rollback operation stack Action i The priority distribution is reduced. Wherein, an Action i For the set of service replacement information, the specific manner of the rollback operation stack may refer to the corresponding embodiment of fig. 7, which is not described herein again.
4. Rollback Action i Only the service included in the current C can be selected for operation, and the rollback is completed to recalculate C over
5. In the case of stable right shift, if the sum of bandwidths of the services in the current service set to be scheduled is still smaller than BW need The service schedule of the present period is also ended and the processing of the next period is waited.
6. The sum of the bandwidths of the services in the set of services to be scheduled is still smaller than BW need The scheduling number threshold N is dynamically increased according to the number of times.
In a possible implementation manner, referring to fig. 8, the scheduling, by S105, the traffic in the set of traffic to be scheduled includes:
s1051, scheduling each service in the service set to be scheduled in sequence according to the order of priority from low to high 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.
And scheduling the services from the service set to be scheduled in sequence according to the order of the priority from low to high, scheduling and playing one service each time, acquiring the real-time used bandwidth of the link to be scheduled, and if the used bandwidth at the moment is smaller than the bandwidth threshold, emptying the service set to be scheduled and waiting for the next period, thereby reducing the situation of excessively scheduling the services.
In one possible embodiment, referring to fig. 9, the method further includes:
s113, obtaining the times that the sum of the bandwidths of the services in the service set to be scheduled is smaller than the scheduling bandwidth threshold value within a preset time.
The preset time length can be set in a user-defined manner according to actual conditions, for example, can be set to be half an hour, 1 hour, 5 hours or 1 day, etc.
And S114, 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.
When the number of the times is larger, the scheduling number threshold should be larger. In one embodiment, a first time threshold and a second time threshold may be set, where the first time threshold is greater than the second time threshold. And when the times are greater than the first time threshold, adding a designated value on the basis of the current scheduling bandwidth threshold to obtain a new scheduling bandwidth threshold. And when the times are smaller than the second times threshold, reducing the designated value on the basis of the current scheduling bandwidth threshold to obtain a new scheduling bandwidth threshold.
In the embodiment of the application, the scheduling quantity threshold is dynamically adjusted according to the times that the sum of bandwidths of all the services in the service set to be scheduled is smaller than the scheduling bandwidth threshold, so that the scheduled service bandwidth can be adjusted adaptively, and the influence of service scheduling on the overall stability of the link networking is reduced.
The embodiment of the application also provides a service scheduling device, referring to fig. 10, the device includes:
a first parameter obtaining module 11, configured to obtain, when an 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 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, so as to obtain a first service grouping, where a difference between the bandwidth of each 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 in the first service packet according to the priority of each service in the first service packet, to obtain a service set to be scheduled;
And the service scheduling execution module 15 is used for scheduling the service in the service set to be scheduled.
In one possible implementation manner, the first set determining module includes:
a threshold value comparing sub-module, configured to determine whether a sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold value;
a service selection sub-module, configured to select N services in 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, 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 the priority combination of each service in the service set to be scheduled has the lowest priority in each service set; for each service set, the service set is a set composed of a scheduling number threshold number of services in the first service packet, and the sum of bandwidths of the services in the service set is not smaller 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; calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold value; dividing the service with the ratio greater than the first value and less than the second value into the first service group.
In one possible embodiment, the apparatus further includes:
a second service grouping module for: dividing the business with the ratio greater than or equal to the second value into a second business group;
a service packet judging module, configured to judge whether the second service packet is empty, if the sum of bandwidths of the services in the first service packet 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 packet as the service set to be scheduled if the second service packet is not empty.
In one possible embodiment, the apparatus further includes:
and the third set determining module is used for selecting the first N businesses with the largest bandwidth from the businesses of the link to be scheduled as the business set to be scheduled if the second business packet is empty.
In one possible implementation manner, the second parameter obtaining module is specifically configured to: and acquiring a scheduling number threshold N corresponding to the number of the services in the first service packet according to the corresponding relation between the number of the services and the scheduling number threshold.
In one possible implementation manner, the service selection sub-module includes:
A service ordering unit, configured to order each service in the first service packet according to a priority order from low to high if a sum of bandwidths of each service in the first service packet is not less than the scheduling bandwidth threshold, so as to obtain a first service queue, where, for services with the same priority order, the service is ordered according to a bandwidth order of the service from high to low;
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 value comparing unit, configured to determine whether a sum of bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold value;
a to-be-scheduled service set determining unit, configured to take the current first service set as a to-be-scheduled service set if the sum of bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold;
a to-be-replaced service selection unit, configured to select a service with the smallest bandwidth in the current first service set as a to-be-replaced service if the sum of bandwidths of the services in the current first service set is smaller than the scheduling bandwidth threshold;
a bandwidth comparing unit, configured to determine whether, in the first service queue, after the service to be replaced is ordered, a service with a bandwidth greater than that of the service to be replaced exists;
The target service selecting unit is used for selecting the service with the bandwidth larger than the bandwidth of the service to be replaced as the target service after the service to be replaced is sequenced if the service with the bandwidth larger than the bandwidth of the service to be replaced exists;
the service replacing 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 one possible embodiment, the apparatus further includes:
and the fourth set determining module is used for taking the current first service set as the service set to be scheduled if no service with bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is ordered.
In one possible embodiment, the apparatus further includes:
the system comprises a replacement information recording module, a service information processing module and a service information processing 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 a target service identifier, a service identifier to be replaced and a bandwidth increment in the current replacement process;
the service set to be scheduled determining unit is specifically configured to: and executing the following steps under the condition that the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold value:
Calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference;
selecting service replacement information with the same target service identifier as the service identifier in the current first service set from the service replacement information to obtain target service replacement information;
judging whether 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 value exists, selecting the target service replacement information with the bandwidth increment not greater than the target difference value as service replacement information to be traced;
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 traced, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be traced;
and returning to execute the steps: and calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference.
In a possible implementation manner, the service scheduling execution module is specifically configured to: and scheduling each service in the service set to be scheduled in sequence according to the order of the priority from low to high 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.
In one possible embodiment, the apparatus further includes:
the scheduling quantity threshold value adjusting module is used for acquiring the times that the sum of bandwidths of all the services in the service set to be scheduled in the preset time length is smaller than the scheduling bandwidth threshold value; 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.
The embodiment of the application also provides electronic equipment, which comprises: a processor and a memory;
the memory is used for storing a computer program;
the processor is configured to implement any one of the service scheduling methods when executing the computer program stored in the memory.
Optionally, referring to fig. 11, the electronic device of 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 for the above-mentioned electronic devices may be a PCI (Peripheral Component Interconnect, peripheral component interconnect standard) bus or an EISA (Extended Industry Standard Architecture ) bus, or the like. The communication bus may be classified as an address bus, a data bus, a control bus, or the like. For ease of illustration, the figures are shown with only one bold line, but not with only one bus or one type of bus.
The communication interface is used for communication between the electronic device and other devices.
The Memory may include RAM (Random Access Memory ) or 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 aforementioned processor.
The processor may be a general-purpose processor, including a CPU (Central Processing Unit ), NP (Network Processor, network processor), etc.; but also DSP (Digital Signal Processing, digital signal processor), ASIC (Application Specific Integrated Circuit ), FPGA (Field-Programmable Gate Array, field programmable gate array) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components.
The embodiment of the application also provides a computer readable storage medium, wherein a computer program is stored in the computer readable storage medium, and when the computer program is executed by a processor, any service scheduling method is realized.
In yet another embodiment provided herein, there is also provided a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the traffic scheduling methods described above.
In the above embodiments, it may be implemented in whole or in part 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, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, 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 a wired (e.g., coaxial cable, fiber optic, digital subscriber line), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more 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)), etc.
It should be noted that, in this document, the technical features in each alternative may be combined to form a solution, so long as they are not contradictory, and all such solutions are 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. Moreover, 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 one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In this specification, each embodiment is described in a related manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for embodiments of the apparatus, electronic device, computer program product and storage medium, the description is relatively simple, as it is substantially similar to the method embodiments, as relevant see also part of the description of the method embodiments.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the scope of the present application. Any modifications, equivalent substitutions, improvements, etc. that are within the spirit and principles of the present application are intended to be included within the scope of the present application.

Claims (15)

1. A method for scheduling traffic, the method comprising:
acquiring the bandwidth of each service in a link to be scheduled and a preset scheduling bandwidth threshold of the link to be scheduled under the condition that the used bandwidth of the link to be scheduled is larger than the preset bandwidth threshold of the link to be scheduled;
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 value to obtain a first service group, wherein the difference between the bandwidth of each 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 in the first service packet according to the priority of each service in the first service packet to obtain a service set to be scheduled, wherein the N services selected in the first service packet are N services with the lowest priority selected in the first service packet;
And scheduling the service in the service set to be scheduled.
2. The method of claim 1, wherein the step of selecting N services in the first service packet according to the priority of each service in the first service packet to obtain the service set to be scheduled comprises:
judging whether the sum of bandwidths of all services in the first service packet is not smaller than the scheduling bandwidth threshold value;
if the sum of bandwidths of all the services in the first service packet is not smaller than the scheduling bandwidth threshold, selecting N services in the first service packet according to the priority and the bandwidths of all the services in the first service packet to obtain a service set to be scheduled, wherein the sum of bandwidths of all the services in the service set to be scheduled is not smaller than the scheduling bandwidth threshold, and the priority combination of all the services in the service set to be scheduled has the lowest priority in all the service sets; the service set is a set formed by a scheduling number threshold number of services in the first service packet, and the sum of bandwidths of the services in the service set is not smaller than the scheduling bandwidth threshold.
3. The method according to claim 2, wherein the step of 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 value 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;
calculating the ratio of the bandwidth of each service in the link to be scheduled to the scheduling bandwidth threshold value respectively;
and dividing the service with the ratio larger than the first value and smaller than the second value into the first service packet.
4. A method according to claim 3, wherein after the step of calculating the ratio of the bandwidth of each traffic in the link to be scheduled to the scheduling bandwidth threshold value, the method further comprises:
dividing the service with the ratio greater than or equal to the second value into a second service group;
after the step of determining whether the sum of 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 bandwidths of all the services in the first service packet is smaller than the scheduling bandwidth threshold value, judging whether the second service packet is empty or not;
and if the second service packet is not null, selecting a service with the lowest priority from the second service packet as the service set to be scheduled.
5. The method of claim 4, wherein after the step of determining whether the second traffic packet is empty if the sum of bandwidths of the traffic in the first traffic packet is less than the scheduling bandwidth threshold, the method further comprises:
and if the second service packet is empty, selecting the first N services with the largest bandwidth from the services of the link to be scheduled as the service set to be scheduled.
6. The method according to claim 1, wherein the step of obtaining the scheduling number threshold N of the links to be scheduled comprises:
and acquiring a scheduling number threshold N corresponding to the number of the services in the first service packet according to the corresponding relation between the number of the services and the scheduling number threshold.
7. The method according to claim 2, wherein if the sum of bandwidths of the services in the first service packet is not smaller than the scheduling bandwidth threshold, selecting N services in the first service packet according to the priority and the bandwidths of the services in the first service packet, to obtain the set of services to be scheduled, includes:
if the sum of bandwidths of all the services in the first service packet is not smaller than the scheduling bandwidth threshold, sequencing all the services in the first service packet according to the sequence from low priority to high priority to obtain a first service queue, wherein the services with the same priority are sequenced according to the sequence from high priority to low bandwidth;
Selecting the first N businesses from the first business queue as a first business set;
judging whether the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold value;
if the sum of bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold, the current first service set is used as a service set to be scheduled;
if the sum of bandwidths of all the services in the current first service set is smaller than the scheduling bandwidth threshold, selecting the service with the smallest bandwidth in the current first service set as the 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 the service with the bandwidth larger than the bandwidth of the service to be replaced exists after the service to be replaced is sequenced, 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;
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 bandwidths of all the services in the current first service set is not smaller than the scheduling bandwidth threshold value.
8. The method of claim 7, wherein after the step of determining whether there is traffic in the first traffic queue that has a bandwidth greater than the bandwidth of the traffic to be replaced after the ordering of the traffic to be replaced, the method further comprises:
And if no service with bandwidth larger than that of the service to be replaced exists after the service to be replaced is ordered, taking the current first service set as a service set to be scheduled.
9. The method of 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 identification of a target service, an identification of a service to be replaced and a bandwidth increment in the current replacement process;
and if the sum of bandwidths of the services in the current first service set is not smaller than the scheduling bandwidth threshold, taking the current first service set as a service set to be scheduled, wherein the step comprises the following steps:
calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference;
selecting service replacement information with the same target service identifier as the service identifier in the current first service set from the service replacement information to obtain target service replacement information;
judging whether bandwidth increment in each target service replacement information is larger than the target difference value;
If the bandwidth increment in each piece of 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 value exists, selecting the target service replacement information with the bandwidth increment not greater than the target difference value as service replacement information to be traced;
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 traced, and the second service is a service represented by a service identifier to be replaced in the service replacement information to be traced;
and returning to execute the steps: and calculating the difference between the sum of bandwidths of all the services in the current first service set and the scheduling bandwidth threshold value to obtain a target difference.
10. The method of claim 1, wherein the scheduling traffic in the set of traffic to be scheduled comprises:
and scheduling each service in the service set to be scheduled in sequence according to the order of the priority from low to high 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.
11. The method according to any one of claims 1-10, wherein the method further comprises:
acquiring the times that the sum of bandwidths of all the services in the service set to be scheduled is smaller than the scheduling bandwidth threshold value within a preset duration;
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. A traffic scheduling device, the device 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 larger than the preset bandwidth threshold of the link to be scheduled;
the first service grouping module is used for 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 value to obtain a first service grouping, wherein the difference between the bandwidth of the service in the first service grouping and the scheduling bandwidth threshold value is smaller than a preset difference;
the second parameter acquisition module is used for acquiring a scheduling number threshold N of the link to be scheduled;
A first set determining module, configured to select N services in the first service packet according to the priority of each service in the first service packet, to obtain a service set to be scheduled, where the selecting N services in the first service packet is selecting N services with the lowest priority in the first service packet;
and the service scheduling execution module is used for scheduling the service in the service set to be scheduled.
13. The apparatus of claim 12, wherein the first set determination module comprises:
a threshold value comparing sub-module, configured to determine whether a sum of bandwidths of the services in the first service packet is not less than the scheduling bandwidth threshold value;
a service selection sub-module, configured to select N services in 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, 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 the priority combination of each service in the service set to be scheduled has the lowest priority in each service set; the service set is a set formed by a scheduling number threshold number of services in the first service packet, and the sum of bandwidths of the services in the service set is not smaller than the scheduling bandwidth threshold;
Wherein, the service selection submodule includes:
a service sequencing unit, configured to sequence each service in the first service packet according to a sequence from low priority to high priority if a sum of bandwidths of each service in the first service packet is not less than the scheduling bandwidth threshold, so as to obtain a first service queue, where, for services with the same priority, the service is sequenced according to a sequence from high bandwidth to low bandwidth;
a first service set determining unit, configured to select first N services in the first service queue as a first service set;
a threshold value comparing unit, configured to determine whether a sum of bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold value;
a to-be-scheduled service set determining unit, configured to take the current first service set as a to-be-scheduled service set if the sum of bandwidths of the services in the current first service set is not less than the scheduling bandwidth threshold;
a to-be-replaced service selection unit, configured to select a service with the smallest bandwidth in the current first service set as a to-be-replaced service if the sum of bandwidths of the services in the current first service set is smaller than the scheduling bandwidth threshold;
a bandwidth comparing unit, configured to determine whether, in the first service queue, after the ordering of the service to be replaced, there is a service with a bandwidth greater than that of the service to be replaced;
The target service selecting unit is used for selecting the service with the bandwidth larger than the bandwidth of the service to be replaced as the target service after the service to be replaced is sequenced if the service with the bandwidth larger than the bandwidth of the service to be replaced exists;
the service replacing 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 is configured to implement the service scheduling method according to any one of claims 1 to 11 when executing the program stored in the memory.
15. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program which, when executed by a processor, implements the traffic scheduling method of any one of claims 1-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 CN112199179A (en) 2021-01-08
CN112199179B true 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485188B2 (en) * 2013-02-01 2016-11-01 International Business Machines Corporation Virtual switching based flow control
US9996467B2 (en) * 2013-12-13 2018-06-12 Nicira, Inc. Dynamically adjusting the number of flows allowed in a flow table cache

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
"Research on UAV Cluster Routing Strategy Based on Distributed SDN";Yifan Sun等;《2019 IEEE 19th International Conference on Communication Technology (ICCT)》;20200102;第1269-1274页 *
"基于SDN的流量优化系统的研究";陈家盛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215(第02期);第I139-13页 *
基于SDN的数据中心动态优先级多路径调度算法;肖军弼等;《计算机与现代化》;20200715(第07期);全文 *

Also Published As

Publication number Publication date
CN112199179A (en) 2021-01-08

Similar Documents

Publication Publication Date Title
US10880226B2 (en) Scheduled transmission of data
US9094231B2 (en) Router
US8750110B2 (en) Automatic path selection for hybrid communication networks
CA2940754C (en) Network packet latency management
US8699348B2 (en) Methods and apparatus to control traffic in a packet-switched network
KR101479019B1 (en) System and method for dynamically adjusting quality of service configuration based on real-time statistics of traffic mix
WO2021027783A1 (en) Method, apparatus, device, and system for allocating radio frequency resources, and storage medium
CN114286413A (en) TSN network combined routing and stream distribution method and related equipment
US11533262B2 (en) Methods and systems for multi-level network capacity allocation
US20070230339A1 (en) Network system capable of dynamically controlling data flow and its method
JP5919727B2 (en) Program for buffer management, relay device, and control method
WO2015106795A1 (en) Methods and systems for selecting resources for data routing
CN113162789A (en) Method, device, equipment, system and storage medium for adjusting service level
CN111181873A (en) Data transmission method, data transmission device, storage medium and electronic equipment
CN111083050A (en) Data stream transmission method and device based on software defined network
CN116743669A (en) Deep reinforcement learning packet scheduling method, system, terminal and medium
CN114401196A (en) Bandwidth configuration method and device, storage medium and chip
CN112199179B (en) Service scheduling method, device, electronic equipment and storage medium
CN113472591B (en) Method and device for determining service performance
CN111629050A (en) Node scheduling method and device, storage medium and electronic device
CN114884902B (en) Data stream transmission method, device, network equipment and storage medium
CN116095175B (en) Data flow scheduling method and device for grid edge computing system
CN112399596B (en) Method, apparatus, device, system and storage medium for allocating radio frequency resources
CN112099949B (en) Task distribution control method and device, electronic equipment and storage medium
CN116418761A (en) Bandwidth recommendation method and device, display device and control equipment

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