CN108337190B - Shunting method and device - Google Patents

Shunting method and device Download PDF

Info

Publication number
CN108337190B
CN108337190B CN201810097372.9A CN201810097372A CN108337190B CN 108337190 B CN108337190 B CN 108337190B CN 201810097372 A CN201810097372 A CN 201810097372A CN 108337190 B CN108337190 B CN 108337190B
Authority
CN
China
Prior art keywords
service
link
bandwidth
sub
flow
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
CN201810097372.9A
Other languages
Chinese (zh)
Other versions
CN108337190A (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 Technologies Co Ltd
Original Assignee
New H3C 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 Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201810097372.9A priority Critical patent/CN108337190B/en
Publication of CN108337190A publication Critical patent/CN108337190A/en
Application granted granted Critical
Publication of CN108337190B publication Critical patent/CN108337190B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS

Landscapes

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

Abstract

The present disclosure relates to a streaming method and device, including: under the condition that the real-time bandwidth state of the first link is monitored to meet the shunting condition, determining the final called bandwidth corresponding to each service transmitted through the first link; the first link is any one of the links monitored by the SDN controller, and the finally called bandwidth is the bandwidth occupied by the first link for the maximum flow which can be scheduled from the first link to other optional links in unit time aiming at any one of the services; determining the service to be distributed from each service according to the final called bandwidth corresponding to each service; and sending a first shunting instruction to the starting node of the first link according to a first shunting result obtained in the determining process of the finally called bandwidth corresponding to the service to be shunted so as to instruct the starting node of the first link to shunt the service to be shunted according to the first shunting result. According to the shunting method and device provided by the disclosure, the flexibility of shunting scheduling of the SDN controller can be improved.

Description

Shunting method and device
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a offloading method and an apparatus.
Background
In recent years, SDN (Software Defined Network) technology is widely used in various fields and various user actual networks.
The SDN controller needs to schedule traffic in the network to ensure quality of service transmission, for example: in extreme cases, the traffic may burst a large flow, and the controller needs to perform a shunting operation on the traffic to achieve effective scheduling.
The existing flow distribution scheme estimates the size of the service flow in advance, and then statically sets the required flow distribution number according to the size of the service flow. For example, for a video stream, a user may manually set the split number to N, and the SDN controller creates N tunnels (the tunnels have the same source device, the same destination address, the same service level, the same incoming route, and the like) on the device according to the split number set by the user, where N is a positive integer. And the SDN controller uniformly distributes the traffic of the service to each tunnel to realize the distribution operation.
But the flexibility of the splitting scheme for implementing the splitting operation according to the statically set splitting number is poor.
Disclosure of Invention
In view of this, the present disclosure provides a offloading method and apparatus to improve flexibility of offloading scheduling of an SDN controller.
According to an aspect of the present disclosure, there is provided a offloading method applied to a Software Defined Network (SDN) controller, the method including:
under the condition that the real-time bandwidth state of a first link is monitored to meet a shunting condition, determining a final called bandwidth corresponding to each service transmitted through the first link; the first link is any one of links monitored by the SDN controller, and the final called bandwidth is a bandwidth occupied by traffic scheduled from the first link to other optional links in a unit time in the first link for any one of the services;
determining services to be distributed from each service according to the final called bandwidth corresponding to each service;
and sending a first shunting instruction to the starting node of the first link according to a first shunting result obtained in the final bandwidth calling determination process corresponding to the service to be shunted so as to instruct the starting node of the first link to shunt the service to be shunted according to the first shunting result.
According to another aspect of the present disclosure, there is provided a offloading device applied to a software defined network, SDN, controller, the offloading device including:
the system comprises a first determining module, a second determining module and a third determining module, wherein the first determining module is used for determining a final called bandwidth corresponding to each service transmitted through a first link under the condition that the real-time bandwidth state of the first link is monitored to meet a shunting condition; the first link is any one of links monitored by the SDN controller, and the final called bandwidth is a bandwidth occupied by traffic scheduled from the first link to other optional links in a unit time in the first link for any one of the services;
a second determining module, configured to determine, according to the final called bandwidth corresponding to each service, a service to be distributed from each service;
and the first sending module is configured to send a first shunting instruction to the start node of the first link according to a first shunting result obtained in the determination process of the finally called bandwidth corresponding to the service to be shunted, so as to instruct the start node of the first link to shunt the service to be shunted according to the first shunting result.
In one possible implementation, the shunting condition includes:
the real-time bandwidth of the first link is greater than a link super-bandwidth threshold, and the duration of the real-time bandwidth greater than the link super-bandwidth threshold meets the link duration super-threshold time; or
When the real-time bandwidth of a first link is larger than a link super-bandwidth threshold value, and the duration of the real-time bandwidth larger than the link super-bandwidth threshold value meets the link duration super-threshold time, at least one service in each service cannot be successfully scheduled to other links; or
And under the condition that the real-time bandwidth of a first link is greater than a link super-bandwidth threshold value and the duration of the real-time bandwidth greater than the link super-bandwidth threshold value meets the link super-bandwidth time, scheduling at least one service in each service to other links, wherein the real-time bandwidth of the first link is greater than the link super-bandwidth threshold value.
In one possible implementation manner, the first determining module includes:
a first determining submodule, configured to determine, for a first service of the services, a first flow splitting number Ji
A first processing submodule, configured to divide the flow of the first service in a unit time into the first flow division number JiAliquoting to obtain JiAllocating a first sub-service flow; wherein J, i is a positive integer;
a judgment submodule for judging when J isiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether the first sub-service flow transmitted through the first link exists;
and the second determining submodule is used for determining the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link as the final called bandwidth corresponding to the first service if the first sub-service flows transmitted through the first link do not exist.
In one possible implementation manner, the first determining module further includes:
a second processing sub-module, configured to, if there is a first sub-service traffic transmitted through the first link and the first split-flow number is not greater than a preset split-flow threshold, obtain a new first split-flow number J according to a preset growth rulei=Ji+1
A third processing submodule, configured to repeatedly execute the procedure of dividing the traffic of the first service in a unit time by a new first flow division number JiAliquoting to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether a process of transmitting the first sub-service flow through the first link exists or not until the first sub-service flow transmitted through the first link or the new first shunt number J does not existiGreater than a preset shunt threshold.
In one possible implementation manner, the first determining module further includes:
a fourth processing sub-module, configured to obtain a new first split-flow number J according to a preset growth rule when at least one first sub-service flow of the Ji first sub-service flows cannot be transmitted through any link capable of transmitting the first servicei=Ji+1
A fifth processing sub-module, configured to repeatedly perform halving of the traffic of the first service in a unit time according to the new first split flow fraction to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether a process of transmitting the first sub-service flow through the first link exists or not until the first sub-service flow transmitted through the first link or the new first shunt number J does not existiGreater than a preset shunt threshold.
In one possible implementation manner, the first determining module further includes:
a third determining submodule, configured to determine a bandwidth callout base value of the first link;
a sixth processing sub-module, configured to equally divide the traffic of the first service in a unit time according to a first split fraction, and when it is determined that all the first sub-service traffic after equally dividing the traffic of the first service can be transmitted through any link capable of transmitting the first service, determine whether a bandwidth occupied by a sum of all the first sub-service traffic that is not transmitted through the first link in the first link is not less than the bandwidth transfer base value;
and if so, determining the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link as the final called bandwidth corresponding to the first service.
In one possible implementation manner, the first determining module is further configured to:
if the first service is a service subjected to shunting processing, determining a shunting number M corresponding to the shunting processing of the first service; wherein M is a positive integer;
at the first split number JiWhen the number of the branches is smaller than the number M of the branches, repeatedly executing the steps according to a preset increasing rule to obtain a new first number J of the branchesi=Ji+1Until the first split number JiGreater than the split number M.
In one possible implementation manner, the second determining module includes:
a fifth determining submodule, configured to determine a second service with a largest final call bandwidth among the services, and a third service in which a difference between the final call bandwidth and a final call bandwidth of the second service is within a threshold range;
a sixth determining submodule, configured to determine the number of shunts corresponding to the finally-called bandwidths of the second service and the third service, respectively;
and a seventh determining submodule, configured to use the service with the smaller split number in the second service and the third service as the service to be split.
In one possible implementation, the apparatus further includes:
a second processing module, configured to obtain a new first split-flow number J according to the preset growth rule when a bandwidth of a link occupied by a first sub-service flow of the first service is greater than a threshold bandwidthi=Ji+1
A second sending module, configured to send the first flow splitting number JiAnd re-determining the final called bandwidth corresponding to the first service.
In one possible implementation, the apparatus further includes:
and the third processing module is used for repeatedly determining a final call-out bandwidth corresponding to each service transmitted through the first link if the real-time bandwidth state of the first link after shunting still meets the shunting condition, determining the service to be shunted from each service according to the final call-out bandwidth corresponding to each service, and shunting the service to be shunted according to a first shunting result obtained in the determination process of the final call-out bandwidth corresponding to the service to be shunted until the real-time bandwidth state of the first link after shunting no longer meets the shunting condition.
In one possible implementation, the apparatus further includes:
a fourth determining module, configured to determine a second splitting number K when it is monitored that a flow rate of the to-be-split service in unit time continues for a preset time less than a threshold flow ratej(ii) a Wherein, KjIs less than the corresponding first shunting number J when the service to be shunted is shuntediK, j is a positive integer;
a fourth processing module, configured to divide the maximum traffic of the to-be-divided service in a preset time by the second division number KjAliquoting to obtain KjAllocating a second sub-service flow;
a third sending module for sending the KjThe second sub-service flow can be transmitted through any link capable of transmitting the service to be distributed, and when the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, the second sub-service flow is transmitted to the starting node of the first linkPoint-sending the second fractional stream number KjCorresponding split indication to indicate the starting node of the first link according to the second split number KjAnd shunting the service to be shunted according to the corresponding shunting result.
In one possible implementation manner, the fourth determining module is further configured to:
when said K isjWhen at least one second sub-service flow in the second sub-service flows cannot be transmitted through any link capable of transmitting the service to be distributed, or the bandwidth occupied by the second sub-service flow is larger than the threshold bandwidth, obtaining a new second distribution number K according to a preset growth rulej=Kj+1
Repeatedly executing the maximum flow value of the service to be distributed in the unit time corresponding to the preset time according to the new second distribution number KjAliquoting to obtain KjSecond sub-service flow is shared, and judgment KjWhether the second sub-service flow can be transmitted through any link for transmitting the service to be distributed or not is judged until KjThe second sub-service flow can be transmitted through any link capable of transmitting the service to be distributed, and the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, or the second sub-service flow is up to the second distribution number KjIs greater than or equal to the corresponding first shunting number J when the service to be shunted is shuntedi
In this way, the SDN controller may trigger a shunting operation for a service borne on the first link when monitoring that the real-time bandwidth state of the first link satisfies a shunting condition, and the SDN controller may determine a service to be shunted according to a final call-out bandwidth of each service in the first link, and may shunt the service to be shunted according to a corresponding shunting result, so as to shunt the service in the first link when the first link has a shunting demand.
The shunting method provided by the embodiment of the invention can dynamically shunt the service in the link according to the real-time bandwidth state of the link, can improve the shunting flexibility of the SDN controller, further can relieve the problem of equipment resource waste, and can improve the scheduling efficiency of the SDN controller.
Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
Fig. 1 shows a flow diagram of a offloading method according to an embodiment of the disclosure;
FIG. 2 illustrates a flow diagram of a offloading method according to an embodiment of the disclosure;
FIG. 3 shows a flow diagram of a offloading method according to an embodiment of the disclosure;
FIG. 4 shows a flow diagram of a offloading method according to an embodiment of the disclosure;
FIG. 5 illustrates a network topology of the present disclosure;
FIG. 6 shows a flow diagram of a offloading method according to an embodiment of the disclosure;
FIG. 7 shows a flow diagram of a offloading method according to an embodiment of the disclosure;
FIG. 8a illustrates a schematic diagram of a shunt effect for one example of the present disclosure;
FIG. 8b illustrates a schematic diagram of a shunting effect of an example of the present disclosure;
FIG. 8c illustrates a shunt effect schematic of an example of the present disclosure;
FIG. 8d illustrates a schematic diagram of a shunting effect of an example of the present disclosure;
FIG. 9 shows a flow diagram of a offloading method according to an embodiment of the disclosure;
FIG. 10 shows a flow diagram of a offloading method according to an embodiment of the disclosure;
fig. 11 shows a block diagram of a shunt device according to an embodiment of the present disclosure;
fig. 12 shows a block diagram of a shunt device according to an embodiment of the present disclosure;
fig. 13 is a block diagram illustrating a hardware configuration of a streaming apparatus according to an exemplary embodiment.
Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
Fig. 1 shows a flowchart of a offloading method according to an embodiment of the present disclosure, which may be applied in an SDN controller. As shown in fig. 1, the flow splitting method can be described as the following step 101-103.
Step 101, under the condition that the real-time bandwidth state of a first link is monitored to meet a shunting condition, determining a final called bandwidth corresponding to each service transmitted through the first link; the first link is any one of links monitored by the SDN controller, and the final called bandwidth is a bandwidth occupied by traffic scheduled from the first link to other optional links in a unit time in the first link for any one of the services.
The SDN controller may monitor a real-time bandwidth of each link in the network, and may trigger a offloading operation on the first link when it is monitored that a real-time bandwidth state of the first link satisfies an offloading condition, so as to reduce the real-time bandwidth of the first link.
The real-time bandwidth state of the first link may be a real-time bandwidth condition of the first link within a certain time period, and the shunting condition may be that the real-time bandwidth of the link is greater than a preset bandwidth occupation threshold, and the duration time reaches a preset time. For example, assuming that the offloading condition is that the real-time bandwidth of the link is greater than 80% of the total bandwidth of the link, and the duration reaches 5 minutes, assuming that the total bandwidth of the first link is 100M, and the SDN controller monitors that the minimum value of the real-time bandwidth of the first link is 85M within 5 minutes, it may be determined that the real-time bandwidth state of the first link satisfies the offloading condition, and an offloading operation on the first link may be triggered.
The SDN controller may determine a final callout bandwidth corresponding to each service in the first link, where the final callout bandwidth may be a bandwidth occupied by a first link for traffic that can be scheduled from the first link to another optional link in a unit time by any service in the services. For example, the service may correspond to different offloading schemes under the condition that the service corresponds to different offloading numbers, and the called bandwidths corresponding to the different offloading schemes may be different correspondingly. For each service, the SDN controller may determine a call bandwidth corresponding to each service under each split number, and may further determine a final call bandwidth corresponding to each service by comparing the call bandwidths corresponding to each service under each split number, for example: the total bandwidth of the service a is 40Mbps, when the number of shunts is 2, the SDN controller may determine that the call-out bandwidth of the service a is 20Mbps, when the number of shunts is 4, the SDN controller may determine that the call-out bandwidth of the service a is 30Mbps, when the number of shunts is 8, the SDN controller may determine that the call-out bandwidth of the service a is 40Mbps, and then the SDN controller may determine that the final call-out bandwidth of the service a is 40 Mbps.
In a possible implementation manner, the shunting condition may include:
the real-time bandwidth of the first link is greater than a link super-bandwidth threshold, and the duration of the real-time bandwidth greater than the link super-bandwidth threshold meets the link duration super-threshold time; or
When the real-time bandwidth of a first link is larger than a link super-bandwidth threshold value, and the duration of the real-time bandwidth larger than the link super-bandwidth threshold value meets the link duration super-threshold time, at least one service in each service cannot be successfully scheduled to other links; or
And under the condition that the real-time bandwidth of a first link is greater than a link super-bandwidth threshold value and the duration of the real-time bandwidth greater than the link super-bandwidth threshold value meets the link super-bandwidth time, scheduling at least one service in each service to other links, wherein the real-time bandwidth of the first link is greater than the link super-bandwidth threshold value.
In a possible implementation manner, referring to fig. 2, in step 101, when it is monitored that the real-time bandwidth state of the first link meets the offloading condition, determining a final called bandwidth corresponding to each service transmitted through the first link may be implemented in the following manner:
10101, monitoring the real-time bandwidth of the first link;
10102, when the real-time bandwidth is greater than the link super-bandwidth threshold, and the duration of the real-time bandwidth greater than the link super-bandwidth threshold satisfies the link duration super-threshold time, respectively determining the final called bandwidth corresponding to each service in the first link.
The link super-bandwidth threshold may trigger a bandwidth occupation threshold of the offloading operation, the link duration super-threshold time is a time threshold when the real-time bandwidth of the link exceeds the link super-bandwidth threshold, and the SDN controller may determine that the real-time bandwidth state of the first link satisfies the offloading condition when monitoring that the real-time bandwidth of the first link is greater than the link super-bandwidth threshold and the duration time reaches the link duration super-threshold time. For example, assuming that the link super-bandwidth threshold is set to be 80%, the link super-bandwidth time is 10 minutes, when the SDN control monitors that the real-time bandwidth of the first link exceeds 80% of the total bandwidth of the first link and the duration of the situation exceeding 80% of the total bandwidth reaches 10 minutes, it may be determined that the real-time bandwidth state of the first link meets the offloading condition, an offloading operation of the first link may be triggered, and the SDN controller may determine a final bandwidth to be called corresponding to each service in the first link.
The link super-bandwidth threshold and the link duration super-threshold time may be set by a person skilled in the art according to a network data transmission quality requirement, and the link super-bandwidth threshold and the link duration super-threshold time are not limited in the embodiment of the present disclosure.
In another possible implementation manner, referring to fig. 3, in step 101, when it is monitored that the real-time bandwidth state of the first link meets the offloading condition, determining a final called bandwidth corresponding to each service transmitted through the first link may be implemented in the following manner:
10103, monitoring the real-time bandwidth of the first link;
step 10104, when the real-time bandwidth is greater than a link super-bandwidth threshold and the duration of the real-time bandwidth greater than the link super-bandwidth threshold meets link duration super-threshold time, attempting to schedule at least one service in the first link onto other links;
10105, if the scheduling fails, or the real-time bandwidth of the first link is still greater than the link ultra-bandwidth threshold after the scheduling succeeds, respectively determining the final scheduled bandwidth corresponding to each service in the first link.
When the SDN controller monitors that the real-time bandwidth of the first link is larger than the link super-bandwidth threshold and the duration time reaches the link duration super-threshold time, at least one service on the first link can be scheduled to other links, so that the burden of the first link is relieved.
For example, the SDN controller may determine at least one first service with a large flow in a first link, determine optional paths of the first services respectively, and may attempt to schedule each of the first services onto a corresponding optional path respectively.
If the scheduling fails (for example, the scheduling of the first service onto any optional path would cause the real-time bandwidth of at least one link in the optional path to be greater than the link super-bandwidth threshold of the link), it may be determined that the real-time bandwidth state of the first link satisfies the offloading condition, and the SDN controller may trigger an offloading operation on the first link.
Or after the scheduling is successful (for example, after the first service is scheduled to an optional path, the real-time bandwidth of each link in the optional path does not exceed the link super-bandwidth threshold of the link), the SDN controller monitors the real-time bandwidth of the first link, and if the scheduling is successful, the SDN controller monitors that the real-time bandwidth of the first link is still greater than the link super-bandwidth threshold, it may be determined that the real-time bandwidth state of the first link meets the offloading condition. The SDN controller may trigger a offload operation for the first link.
As shown in fig. 1, in step 102, the offloading method determines services to be offloaded from the services according to the final bandwidth called corresponding to the services.
As described above, different shunting numbers may correspond to different shunting schemes, and correspondingly, different shunting schemes may correspond to different called bandwidths. For a certain service, the SDN controller may determine a final callout bandwidth corresponding to the service by comparing callout bandwidths under different offloading schemes, and then the SDN controller may determine a service to be offloaded according to the final callout bandwidth corresponding to each service, for example: the service with the maximum bandwidth finally called out can be determined as the service to be shunted.
In another possible implementation manner, referring to fig. 4, in step 102, determining services to be distributed from the services according to the final called bandwidth corresponding to each service may be implemented in the following manner.
Step 1021, determining the second service with the largest final call bandwidth in the services, and the third service with the difference value between the final call bandwidth and the final call bandwidth of the second service being within the threshold range.
The SDN controller may determine a second service with a largest final call bandwidth in the first link, and may determine a third service with a difference value between the final call bandwidth and a final call bandwidth of the second service, which is within a threshold range. For example, assuming that the threshold range is set to be 0.1% of the allocable bandwidth of the first link, a service whose difference between the final callout bandwidth and the final callout bandwidth of the second service is less than 0.1% of the allocable bandwidth of the first link may be determined as a third service, where the number of the third services may be one or more.
And step 1022, determining the split number corresponding to the final call bandwidth of the second service and the third service respectively.
The service may correspond to different call bandwidths under different offload numbers, so that a corresponding relationship exists between the offload number and the final call bandwidth, the SDN controller may determine a third offload number corresponding to the final call bandwidth of the second service, and determine a fourth offload number corresponding to the final call bandwidth of the third service, if a plurality of third services are provided, the corresponding fourth offload numbers are multiple, and the SDN controller may compare the third offload number with the fourth offload number, and/or the fourth offload numbers.
And 1023, using the service with the smaller split flow number in the second service and the third service as the service to be split flow.
When the number of the third service is one, if the third offload number is greater than a fourth offload number, the SDN controller may determine that the third service is a service to be offloaded, and if the third offload number is less than the fourth offload number, the SDN controller may determine that the second service is a service to be offloaded. For example, it is determined that the split number corresponding to the final outgoing bandwidth of the second service (service a) is 4 (service a may be split into 4 flows), and the split number corresponding to the final outgoing bandwidth of the third service (service b) is 2 (service b may be split into 2 flows), and the SDN controller may select the third service (service b) as the service to be split.
When the number of the third services is multiple, the third offload count is compared with the multiple fourth offload counts, a minimum value of the third offload and the multiple fourth offload counts is determined, and the SDN controller may determine that a service corresponding to the minimum value is a service to be offloaded. For example: if the minimum value corresponds to one of the third services, the SDN controller may determine that the third service corresponding to the minimum value is a service to be shunted. In this way, the SDN controller may reduce the influence on other links as much as possible and reduce resource consumption of the device by selecting the service with the minimum offload number as the service to be offloaded. For example, determining that the number of the sub-streams corresponding to the final called bandwidth of the second service (service a) is 4 (service a may be divided into 4 streams, so as to obtain 4 sub-services a), the third service may include: the number of the corresponding service b, the service c, and the service d to the finally called bandwidth is 2, 4, and 4 (the service b may be divided into 2 streams, the service c may be divided into 4 sub-services, the service d may be divided into 4 streams, and the SDN controller may select the service b as a service to be distributed.
In a possible implementation manner, in the process of determining the services to be distributed, for any service in the services, if the number of available tunnels of the start node of the first link is smaller than the distribution number corresponding to the bandwidth finally called by the service, the service cannot be used as the services to be distributed. For example, assuming that the number of the shunts corresponding to the bandwidth finally called by the service a is 8 (i.e., the service a is divided into 8 sub-services), the corresponding shunting result is: and scheduling 5 sub-services to the optional link 1, and scheduling 3 sub-services to the optional link 2, but the number of available tunnels of the starting node of the first link is 3, which is not enough to transmit the service data of the 8 sub-services, and determining that the service a cannot be used as the service to be shunted.
The number of available tunnels may be obtained by subtracting, by the originating node of the first link, a difference between a tunnel reservation number and a used tunnel number from a total tunnel number of the tunnel, where the tunnel reservation number may be a number of tunnels reserved for other services on the link of the network device itself, and may be set as: 100 or 10% of the total number of tunnels of the tunnel, or the smaller of the two. For example, if the total number of tunnels at the start node of the first link is 200, and the tunnel reservation number is 20, which is a smaller value between 10% and 100 of the total number of tunnels, and it is determined that the number of used tunnels is 50, the number of available tunnels is 200-20-50 — 130.
Step 103, sending a first shunting instruction to the start node of the first link according to a first shunting result obtained in the determining process of the final called bandwidth corresponding to the service to be shunted, so as to instruct the start node of the first link to shunt the service to be shunted according to the first shunting result. Wherein the start node is an upstream node of two nodes constituting the first link.
Different shunting numbers can correspond to different shunting schemes, and correspondingly, different shunting schemes can correspond to different called bandwidths. The SDN controller may determine a corresponding offloading scheme according to a final called bandwidth of a service to be offloaded, determine that the offloading scheme is a first offloading result, and send a first offloading instruction to an initiation node of a first link according to the first offloading result, so that a network device corresponding to the initiation node of the first link may offload the service to be offloaded according to the offloading scheme corresponding to the first offloading result. Optionally, the splitting result includes a splitting number and a first sub-service flow of the service to be split, which is carried by each link for transmitting the service to be split in unit time, where the first sub-service flow of the service to be split is obtained after the service to be split is split equally according to the splitting number.
In a possible implementation manner, after determining the first offloading result, the SDN controller may send an offloading instruction to an initial node of the first link according to the first offloading result, and after receiving the offloading instruction, the initial node of the first link may establish a tunnel for transmitting service data of a service to be offloaded according to the offloading instruction. For example, the SDN controller may send an offload indication to an originating node of the first link, where the offload indication is used to instruct the originating node of the first link to establish multiple tunnels for carrying sub-services obtained by offloading the to-be-offloaded services, where the number of the established tunnels is an offload number corresponding to the to-be-offloaded services in the first offload result. After the start node of the first link receives the distribution instruction, a plurality of tunnels can be established for the service to be distributed according to the distribution instruction, the start points of the plurality of tunnels are all the start nodes of the first link, the end points are respectively termination nodes of the selectable paths for bearing the service to be distributed, and the established tunnels and the service to be distributed have the same identification. After receiving the service data of the service to be distributed, the start node of the first link may equally distribute the service data to the tunnel corresponding to the identifier according to the identifier of the service data for transmission.
For example: assume that there are 3 optional paths from the start node to the end node for transmitting the traffic to be shunted: paths 1, 2 and 3 can be selected, and the start node sets service class to be shunted to 1. The service class is a service class, and may be considered as a local identifier for distinguishing services.
In the initial state, the traffic to be distributed is transmitted through the optional path 3. Specifically, the originating node creates 1 tunnel 1 between the originating node and the terminating node, and sets the service class of the service that can enter the tunnel 1 to 1 and the path to which the tunnel belongs to an optional path 3. At this time, the traffic to be shunted is transmitted through the tunnel 1 established in the optional path 3.
According to the process for determining the final called bandwidth corresponding to the service to be shunted, the SDN controller obtains a first shunting result: and dividing the service to be distributed into 8 sub-services, wherein 5 sub-services are scheduled on the optional path 1, and 3 sub-services are scheduled on the optional path 2.
And the SDN controller sends a shunting instruction to the initial node to instruct the initial node to create a tunnel according to a shunting result.
Then the starting node updates the path to which the tunnel 1 belongs to the optional path 1, and creates 7 tunnels between the starting node and the terminating node. For each tunnel, setting service class of a service capable of entering the tunnel to be 1, that is, the service class of the service capable of entering the tunnel to be 1 can enter the tunnel and be transmitted through the tunnel. Wherein, the path to which 4 tunnels belong is set as an optional path 1, and the path to which 3 tunnels belong is set as an optional path 2.
It should be understood that, if the SDN controller sends the offload indication to the originating node, and the originating node updates the path to which the tunnel 1 belongs to be the optional path 2, after creating 7 tunnels, the originating node sets the path to which 5 tunnels belong to be the optional path 1, and the path to which 2 tunnels belong is the optional path 2.
In another possible implementation manner, after determining the first offloading result, the SDN controller may send a plurality of offloading instructions to the start node of the first link according to the first offloading result, and after receiving the plurality of offloading instructions, the start node of the first link may establish a plurality of tunnels for transmitting service data of the service to be offloaded according to the plurality of offloading instructions. For example, the SDN controller may sequentially send a plurality of offloading instructions to a start node of a first link, where each offloading instruction is used to instruct the start node of the first link to establish a tunnel for carrying a sub-service obtained by offloading a service to be offloaded, a starting point of the tunnel is the start node of the first link, and an end point of the tunnel is a termination node of an optional path for carrying the service to be offloaded, where the created tunnel and the service to be offloaded have the same identifier. After receiving the service data of the service to be distributed, the start node of the first link may equally distribute the service data to the tunnel corresponding to the identifier according to the identifier of the service data for transmission. Fig. 5 shows a network topology according to an embodiment of the present disclosure, and the lower shunting result may be explained in conjunction with fig. 5. Assuming that the first path is a- > C- > E, the service b on the first link a- > C is a service to be shunted, and the final outgoing bandwidth is 40Mbps, and the determined shunting result may include: and the flow number is 4, and the SDN controller divides the service b into 4 flows to obtain 4 sub-services. Wherein 1 sub-service can be scheduled into path a- > B- > E, and the remaining 3 sub-services can be scheduled into path a- > D- > E. The SDN controller may offload the service b according to the offloading result.
In this way, the SDN controller may trigger a shunting operation for a service borne on the first link when monitoring that the real-time bandwidth state of the first link satisfies a shunting condition, and the SDN controller may determine a service to be shunted according to a final call-out bandwidth of each service in the first link, and may shunt the service to be shunted according to a corresponding shunting result, so as to shunt the service in the first link when the first link has a shunting demand.
The shunting method provided by the embodiment of the invention can dynamically shunt the service in the link according to the real-time bandwidth state of the link, can improve the shunting flexibility of the SDN controller, further can relieve the problem of equipment resource waste, and can improve the scheduling efficiency of the SDN controller.
Fig. 6 shows a flow chart of a shunting method according to an embodiment of the present disclosure.
In a possible implementation manner, referring to fig. 6, in step 101, the determining a final outgoing bandwidth corresponding to each service transmitted through the first link may be: equally dividing the flow of a first service in unit time according to a first flow dividing number, and judging whether a first sub-service flow transmitted through a first link exists or not when all first sub-service flows after the flow of the first service is determined to be equally divided can be transmitted through any link capable of transmitting the first service; and determining the bandwidth occupied by the sum of all first sub-service flows which are not transmitted through the first link in the first link as the final called bandwidth corresponding to the first service under the condition that the first sub-service flows transmitted through the first link do not exist, wherein the first service is any one of the services. Specific examples thereof are as follows.
Step 10106, aiming at the first service in each service, determining a first shunt number Ji. Wherein the first service is any one of the services.
The SDN controller may determine a final callout bandwidth corresponding to each service through multiple rounds of processes, where each round of determination may correspond to one first offload count. For example: the SDN controller may determine a final callout bandwidth corresponding to each service through 4 rounds of processes, where a first round may correspond to the first offload count being 2, a second round may correspond to the first offload count being 4, a third round may correspond to the first offload count being 8, and a fourth round may correspond to the first offload count being 16. For the determination process of the final callout bandwidth corresponding to the current round of the first service, refer to step 10107 + 10109.
Step 10107, dividing the flow of the first service in the unit time into the first split number JiAliquoting to obtain JiAnd sharing the first sub-service flow. Wherein J, i is a positive integer.
In determining the first split number JiThen, the SDN controller may first in a unit timeTraffic flow is equally divided into JiSharing the first sub-service traffic, i.e. the SDN controller divides the first service into JiAnd the flow in unit time of the first sub-service is the corresponding first service sub-flow.
Step 10108, when J isiAnd judging whether the first sub-service flow transmitted through the first link exists or not when the first sub-service flow can be transmitted through any link capable of transmitting the first service.
In the embodiment of the present disclosure, the first service may have a plurality of optional paths, where, for each optional path, a link between the start node of the first service and a next hop node of the start node in the optional path is an optional link, and then the first service has a plurality of optional links. Any link capable of transmitting the first service is one of a plurality of optional links. Optionally, the SDN controller may determine a plurality of optional paths corresponding to the first service by: the SDN controller may perform multi-path routing on the first service, remove constraints of bandwidth and path quality during the routing, to search all selectable paths of the first service, and determine, by the SDN controller, N preferred paths from the all selectable paths as selectable paths of the first service, and record selectable links corresponding to the N selectable paths. Where N is a positive integer, and N may be set by a person skilled in the art according to a scheduling requirement, which is not limited in the present disclosure.
Here, the SDN controller attempts to associate JiAnd scheduling the first sub-service flow into the plurality of selectable paths successively. If one first sub-service flow is not successfully scheduled to any path in the multiple optional paths, the method considers JiThe first sub-service flow can not be transmitted through any path capable of transmitting the first service; if all the first sub-service flows are successfully scheduled to any one of the multiple optional paths, the method considers JiThe first sub-service flow can be transmitted through any link capable of transmitting the first service. When each first sub-traffic flow is successfully scheduled to any of the aforementioned multiple alternative paths,each first sub-service flow can be transmitted through any one of the multiple optional links, and the optional links for transmitting different first sub-service flows may be the same or different.
It should be understood that, when a service is successfully scheduled to a certain optional path, the service may be considered to be successfully scheduled to an optional link corresponding to the certain optional path and can be transmitted by the optional link corresponding to the certain optional path.
Optionally, the SDN controller may be from JiSelecting a first sub-service flow J from the first sub-service flows1And try to select the first sub-service flow J1Any of a plurality of alternative paths to the first traffic is scheduled. If the scheduling can not be successfully carried out, J is considerediThe first sub-service traffic cannot be transmitted over any link capable of transmitting the first service. If the scheduling can be successfully carried out, a first sub-service flow J is selected from the remaining i-1 parts of first sub-service flows2And repeatedly executing the process of attempting to schedule the first sub-service traffic to any path in the plurality of optional paths until the first sub-service traffic cannot be successfully scheduled or all the first sub-service traffic can be successfully scheduled.
For example, assume that the SDN controller determines a first split number J of a split number corresponding to a current roundiFor 4, the total bandwidth occupied by the first service in the first link is 40Mbps, the SDN controller may divide the first service into 4 first sub-services, the first sub-traffic corresponding to each first sub-service in unit time (1s) is 10M, and the bandwidth is occupied on the first link at 10 Mbps.
The SDN controller may attempt to schedule the 4 first sub-services successively into a plurality of selectable paths corresponding to the first service. Assuming that the first traffic has 3 alternative paths, the first traffic has 3 alternative links accordingly. After the 1 st first sub-service is successfully scheduled to any path (assumed to be a first selectable path) of the 3 selectable paths, the SDN controller continues to schedule the 2 nd first sub-service to the 3 selectable paths, and after the 2 nd first sub-service is successfully scheduled to any path (assumed to be a second selectable path) of the 3 selectable paths, continues to schedule the 3 rd first sub-service to the 3 selectable paths until the 4 th first sub-service is successfully scheduled to any path (assumed to be the first selectable path) of the 3 selectable paths. At this time, it can be considered that all 4 first sub-service flows can be transmitted through any link capable of transmitting the first service.
In fact, service data of one or more services may be transmitted on the first link, and the SDN controller may determine, before determining the final outgoing bandwidth corresponding to the first service, a total bandwidth occupied by the first service in the link and occupation conditions of other services except the first service in the link, and release the total bandwidth occupied by the first service inside the SDN controller. Therefore, when the final called bandwidth corresponding to the first service is determined, a more accurate shunting result for the first service can be obtained according to the occupation situation of other services except the first service in the link. The first service may be shunted or not, that is, whether the first service is shunted or not, the total bandwidth of the first service and the occupation situation of other services except the first service on the link need to be determined.
For example, if the current service is an unparalleled service, the SDN controller may release the bandwidth occupied by the service on the first link, or if the current service is a shunted service, the SDN controller may release the bandwidth occupied by the service on the first link and the shunted link. It should be understood that, after determining the final callout bandwidth of the first service, the SDN controller may re-occupy the bandwidth released by the first service on the first link, so as to provide accurate link data of the first link when determining the final callout bandwidth corresponding to other services except the first service, and be able to accurately obtain a corresponding offloading scheme.
After determining a plurality of optional paths corresponding to the first service, the SDN controller may respectively determine that a link of each link in each optional path may carry a maximum bandwidth, where the maximum bandwidth that the link may carry may be a maximum bandwidth that the link may be used to carry a service scheduled from another link. Therefore, when the SDN controller determines that the maximum bandwidth that can be carried by the link of each link in a certain optional path is greater than or equal to the bandwidth occupied by the service to be scheduled to the certain optional path, it determines that the service can be successfully scheduled. Otherwise, it is determined that the traffic cannot be successfully scheduled.
Optionally, the SDN controller may determine that a link in a certain optional path may carry a link with a minimum maximum bandwidth, and when the link of the link may carry a link with the maximum bandwidth that is greater than or equal to a bandwidth occupied by a service to be scheduled to the certain optional path, determine that the service can be successfully scheduled to the certain optional path, or may consider that the service can be successfully scheduled to an optional link corresponding to the certain optional path.
For example: assume that the SDN controller attempts to dispatch service 1 to alternate path 1, alternate path 1 has 3 links a, b, c. The bandwidth occupied by the service 1 in the link is 10Mbps, and the links of the links a, b and c can bear the maximum bandwidth of 10Mbps, 20Mbps and 30Mbps respectively. The link of the link a may carry a maximum bandwidth of 10Mbps greater than or equal to 10Mbps occupied by the service 1 to be scheduled to the alternative path 1, the SDN controller determines that the service 1 can be successfully scheduled to the alternative path 1.
In the above alternative embodiment, the link may carry the maximum bandwidth (total bandwidth of the link x (link super bandwidth threshold — link split bandwidth threshold) — link allocated bandwidth.
When the SDN controller schedules a service to the optional link, in order to ensure that transmission of service data of the service carried by the optional link itself is not affected, a link bandwidth occupation threshold may be set for the optional link. In one example, the SDN controller may determine the link bandwidth occupancy threshold for the first link by a link excess bandwidth threshold and a link offload bandwidth threshold. The link shunting bandwidth threshold may be a numerical value in which the link bandwidth occupation threshold of the optional link is lower than the link super-bandwidth threshold, and the link shunting bandwidth threshold may be set by a person skilled in the art according to a requirement, which is not limited in this disclosure. For example, assuming that the link super bandwidth threshold is 80% and the link split bandwidth threshold is set to 10%, it may be determined that the link bandwidth occupancy threshold of the optional link is 70%, after the SDN controller performs service scheduling on the optional link, the bandwidth occupancy of the optional link is not allowed to exceed 70%, and if the bandwidth occupancy exceeds 70%, the service scheduling is considered to be unsuccessful.
The SDN controller may determine, according to the total bandwidth of the links of the optional links, a link bandwidth occupancy threshold, and the link allocated bandwidth, that the link may carry the maximum bandwidth, that is: link may carry the maximum bandwidth-total bandwidth of the link x link bandwidth occupancy threshold-link allocated bandwidth. Assuming that the total bandwidth of the first link is 100Mbps, the allocated bandwidth is 45Mbps, and the link bandwidth occupancy threshold is 70%, the SDN controller may determine that the link of the current link may carry the maximum bandwidth of 25 Mbps.
Optionally, the SDN controller may further update, in real time, a link of the link that can carry the maximum bandwidth. For example, a link of a certain selectable link may carry a maximum bandwidth of 50Mbps, and a rate corresponding to a first service sub-flow corresponding to the first sub-service is 25Mb/s, and after the first sub-service is successfully scheduled to the selectable link, a link updating the selectable link may carry a maximum bandwidth of 25 Mbps.
When another first sub-service continues to be scheduled into the optional link, whether the another first sub-service can be successfully scheduled into the optional link can be determined according to the updated maximum bandwidth which can be carried by the link. Assuming that after the another first sub-service is scheduled into the optional link, if the bandwidth occupation of the optional link is greater than the link bandwidth occupation threshold, it is determined that the bandwidth of the another first sub-service is not schedulable into the optional link, and the SDN controller may continue to attempt to schedule the another first sub-service into another optional link.
It should be noted that, after the offloading scheme corresponding to the first service in the round is determined, when the offloading scheme in the next round is determined, the maximum bandwidth that the link can carry is updated again from the maximum bandwidth that the updated link can carry to the maximum bandwidth that the initial link can carry, so that the finally determined offloading scheme is more accurate.
Step 10109, if there is no first sub-service traffic transmitted through the first link, determining a bandwidth occupied by the first link by the sum of all first sub-service traffic that is not transmitted through the first link, as a final called bandwidth corresponding to the first service.
At the above JiWhen all the first sub-services are successfully scheduled into multiple optional links, the SDN controller may determine that the first service is successfully split, and may record splitting J of the serviceiAnd sharing time and corresponding split scheme.
In the splitting scheme determined through the above process, JiThere may be some first sub-services scheduled to other optional links in the first sub-service, and the remaining part of the first sub-services still remain on the first link, and the SDN controller may determine the number of the first sub-services transmitted on the first link. The number of the first sub services transmitted on the first link may be represented by L, where L is a natural number.
For example, referring to fig. 5, it is assumed that the first path is a- > C- > E, the service b on the first link a- > C is the service to be shunted, and the bandwidth occupied by the service b on the first link is 40 Mbps.
Assume that the determined splitting scheme includes: the number of the sub-services is 4, the service B is divided into 4 sub-services, the service flow corresponding to each sub-service is 10M, wherein 1 sub-service can be scheduled into a path a- > B- > E, and the remaining 3 sub-services can be scheduled into the path a- > D- > E, so that it can be determined that the number of the sub-services transmitted on the first link a- > C is 0, and the final call bandwidth corresponding to the service B is 40 Mbps.
Assume that the determined splitting scheme includes: the number of the split streams is 4, and the service b is split into 4 sub-services, where 3 sub-services can be scheduled to the path a- > D- > E, and the remaining 1 sub-service still transmits service data in the first path a- > C- > E, so that it can be determined that the number of the sub-services transmitted on the first link a- > C is 1, and the call bandwidth corresponding to the service b is 30 Mbps.
When the number L of the first sub-services transmitted on the first link is 0, it may be determined that the first link does not carry the first sub-service of the first service, and it may be considered that the total bandwidth of the first link occupied by the first service in unit time is all called out to other optional links, so the SDN controller may determine that the final called-out bandwidth of the first service is the total flow of the first service in unit time.
When the number L of the first sub services transmitted on the first link is not 0, it may be determined that the first link still carries L first sub services, and further it may be determined that the first service is not all called out to other optional links. According to the number of the divided streams JiThe number L and the total bandwidth of a first link occupied by the first service in unit time are determined, and the number J of shunts of the first service is determinediAnd correspondingly calling out the bandwidth.
The SDN controller may be based on the split number JiAnd the un-called L first sub-services determine the proportion of the number of the first sub-services called to other optional links, and determine the calling bandwidth corresponding to the first service. For example: current number of splits JiFor 4, the SDN controller may determine that the number of the first sub-services on the first link is 1, may determine that the number of the first sub-services scheduled to the other optional links is (4-1) ═ 3, may determine that the proportion of the number of the first sub-services scheduled to the other optional links is (3/4) ═ 75%, and may determine that the corresponding outgoing bandwidth is 75% of the total bandwidth of the first link occupied in the first service unit time.
Or the SDN controller may determine, according to the proportion of the first sub-service carried on the first link, the proportion of the first sub-service scheduled to other optional links, and determine the call bandwidth corresponding to the first service. For example: current number of splits JiFor 4, the SDN controller determines that the number of the first sub-services carried on the first link is 1, may determine that the proportion of the sub-scheduled services passing through the current link is 25% (1/4), may further determine that the proportion of the first sub-services scheduled to the other optional links is 75% (1-25%), and may determine that the corresponding call-out bandwidth is 75% of the total bandwidth of the first link occupied in the first service unit time.
In this embodiment of the present disclosure, if there is a first sub-service traffic transmitted through the first link, that is, if the number L is not 0, whether a call bandwidth corresponding to the first service is a final call bandwidth depends on whether a current round is a last round. If the current round is the last round, even if the number L is not 0, the called bandwidth corresponding to the first service is the final called bandwidth. If the current round is not the last round, the step 10106-10108 needs to be continuously executed through the next round until the current round is the last round or the number L is 0, that is, the first service is not transmitted through the first link as much as possible, so as to reduce the burden of the first link. This will be described in detail with reference to fig. 7.
Fig. 7 shows a flow chart of a shunting method according to an embodiment of the present disclosure. SDN controller at first fractional flow JiThe bandwidth occupying the first link in the first service unit time is not all called out, and the corresponding first shunt number JiWhen the number of the first shunts is less than the preset shunting threshold, the first shunting number J may be increased according to a preset increasing ruleiTo obtain the fractional flow number Ji+1Determining a new first fractional flow number Ji=Ji+1According to the new first fractional flow number JiDetermining the called bandwidth of the first service until the bandwidth occupying the first link is all called out within the unit time of the first service or the first shunt number JiAnd if the current traffic is larger than the preset shunting threshold value, stopping trying to determine other shunting schemes for the first service.
In one possible implementation manner, with reference to fig. 6 and fig. 7, the method may further include:
under the condition that a first sub-service flow transmitted through the first link exists, if the first shunt number is not greater than a preset shunt threshold value, a new first shunt number is obtained by presetting an increase rule; and repeatedly performing the process of equally dividing the flow of the first service in the unit time according to the first split fraction, and when all the first sub-service flows after the flow of the first service is determined to be equally divided can be transmitted through any link capable of transmitting the first service, judging whether the first sub-service flow transmitted through the first link exists or not until the first sub-service flow transmitted through the first link does not exist or the first split fraction is greater than a preset split threshold value. Specific examples thereof are as follows.
10110, if there is a first sub-service flow transmitted through the first link and the first split number is not greater than a preset split threshold, obtaining a new first split number J according to a preset growth rulei=Ji+1
For example, the preset growth rule may be a growth with a power of 2, such as: when the initial first split number is 2, the new first split number may be increased to 4 (2)2) When the current first split number is 4, the new split number may be increased to 8 (2)3) And so on. It is understood that the above increase of the split stream number by the power of 2 is only an example of the above preset increase rule in the present disclosure, and is not to be understood as a limitation of the above preset increase rule in the present disclosure, and actually, a variety of increase manners may be adopted as the above preset increase rule, for example: a fixed value every time it is incremented, etc., and the present disclosure does not specifically limit this.
Step 10111, the steps 10107 and 10108 are repeatedly executed, that is, the flow of the first service in the unit time is repeatedly executed according to the new first flow splitting number JiAliquoting to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether a process of transmitting the first sub-service flow through the first link exists or not until the first sub-service flow transmitted through the first link or the new first shunt number J does not existiGreater than a preset shunt threshold.
The preset shunting threshold may be a maximum shunting value set by a person skilled in the art according to a scheduling requirement. For example: setting the preset offloading threshold value to be 16 may indicate that the first service may be divided into 16 sub-services at most during offloading.
When the first service has different first offload numbers, the corresponding called bandwidths may be different, and the SDN controller may compare a plurality of called bandwidths determined by the first service at different first offload numbers, and determine a maximum value of the called bandwidth of the first service as a final called bandwidth of the first service.
Considering the J as not having successfully scheduled at least one first sub-service to one of the multiple optional links by the SDN controlleriAll the first sub-services are not successfully scheduled to the plurality of optional links, and the first traffic is determined to have a first flow splitting number JiThe corresponding callout bandwidth is 0. In an alternative embodiment, J is defined aboveiAfter n first sub-services in the first sub-services are successfully scheduled to multiple optional links, if an n +1 th first sub-service is scheduled to any optional link, the link bandwidth occupation condition of the optional link is greater than a link bandwidth occupation threshold, and the SDN controller may determine that the J is aboveiThe first sub-services are not all successfully scheduled to the multiple optional links, further, it may be determined that the first service cannot be successfully split according to the current splitting scheme, and the SDN controller may determine that the bandwidth called out by the current first service in the current round is 0.
In one possible form, at J aboveiIf all the first sub-services are not successfully scheduled to the multiple optional links, the first number of split streams JiIf the preset shunt threshold is not reached, determining a new first shunt number J according to a preset increasing ruleiAnd according to said new first fractional flow number JiStep 10111 is executed to perform a new round of bandwidth tuning determination. The SDN controller may determine a maximum value of a rollout bandwidth of the first traffic determined in multiple rounds as a final rollout bandwidth of the first traffic.
Fig. 8a to 8d show a schematic diagram of a flow splitting effect of an example of the present disclosure.
In order to make the embodiments of the present disclosure better understood by those skilled in the art, the embodiments of the present disclosure are described below by specific examples with reference to fig. 8a to 8 d.
SDN controller monitors first link A->C bandwidth state satisfies the shunting condition, and the first link A->The service in C includes: service a,Service b, service c and service d, wherein, taking the first service as service b as an example, service b occupies the first link A->The total bandwidth of C is 40Mbps, and the optional path of the service b includes: a->C->E、A->B->E and A->D->E, the corresponding optional links include: a->C、A->B and A->D. The preset increasing rule of the first shunt number is Ji=2iAnd i is a positive integer.
The SDN controller monitors that the total bandwidth of the first link A- > C is 100Mbps, the residual allocable bandwidth is 0Mbps, the total bandwidth of the link A- > B is 100Mbps, the residual allocable bandwidth is 45Mbps, the total bandwidth of the link A- > D is 100Mbps, and the residual allocable bandwidth is 55 Mbps. The above-mentioned link bandwidth occupation threshold may be preset to 70%, the SDN controller may determine that the link of the above-mentioned link a- > B may carry the maximum bandwidth of 15Mbps (100Mbps × 70% - (100Mbps-45Mbps)), and the link of the above-mentioned link a- > D may carry the maximum bandwidth of 25Mbps (100Mbps × 70% - (100Mbps-55 Mbps)). Similarly, it can be determined that the link of link B- > E in the alternative path A- > B- > E can carry the maximum bandwidth of 15Mbps (100Mbps × 70% - (100Mbps-45Mbps)), and the link of link D- > E in the alternative path A- > D- > E can carry the maximum bandwidth of 25Mbps (100Mbps × 70% - (100Mbps-55 Mbps)).
FIG. 8b shows the corresponding first split number J in the first round1Can be 21The service b may be divided into 2 first sub-services, and each first sub-service occupies 20Mbps of link bandwidth in unit time, because of the optional path a->D->The link with the minimum bandwidth of each link in E can bear the maximum bandwidth of 25Mbps, so the link A->D can carry 1 first sub-service, optional path A->B->The link with the minimum bandwidth in E can bear the maximum bandwidth of 15Mbps, so link A->B can not bear the first sub-service, so the current link A->The SDN controller may record the offloading scheme as a first offloading scheme, and may determine that an outbound bandwidth corresponding to the offloading scheme is 20 Mbps.
FIG. 8c shows the corresponding first split number J in the second pass2Can be increased to 22Service b may be divided into 4 first childrenAnd each first sub-service correspondingly occupies the bandwidth of the link at 10 Mbps. Due to the alternative path A->D->The link with the minimum link in E can bear the maximum bandwidth of 25Mbps, and the optional path A->B->The link with the minimum bandwidth in E can bear the maximum bandwidth of 15Mbps, so link A->D can bear 2 first sub-services, link A->B can carry 1 first sub-service, the current first link A->The SDN controller may record the offloading scheme as a second offloading scheme, and may determine that the call-out bandwidth corresponding to the offloading scheme is 30 Mbps.
FIG. 8d shows the corresponding first split number J in the third pass3Can be increased to 23The service b may be divided into 8 first sub-services, and each first sub-service occupies a link bandwidth of 5Mbps per unit time. Due to the alternative path A->D->The link with the minimum link in E can bear the maximum bandwidth of 25Mbps, and the optional path A->B->The link with the minimum bandwidth in E can bear the maximum bandwidth of 15Mbps, so link A->D can bear 5 first sub-services, link A->B can carry 3 first sub-services, the first link A->C, the SDN controller may record the offloading scheme as a third offloading scheme, and may determine that the outbound bandwidth corresponding to the offloading scheme is 40Mbps, and the bandwidth occupied by the service b is completely increased from the first link a->C, so that the final call bandwidth of the service b can be determined to be 40 Mbps.
The process of determining the final outgoing bandwidth of the service a, the service c, and the service d may refer to the process of determining the final outgoing bandwidth of the service b, which is not described in detail in this disclosure.
For example, table 1 records the bandwidth of the outgoing call determined by the traffic a-b in each round.
TABLE 1
Figure BDA0001565404610000121
The final call bandwidth of the service a is 10Mbps, the final call bandwidth of the service c is 10Mbps, the final call bandwidth of the service d is 15Mbps, and the final call bandwidth of the service b is 40Mbps maximum, so that the SDN controller may determine the service b as a service to be shunted, and may send a third shunting scheme to an initial node of the first link, that is, the network device a, so that the network device a may shunt the service b according to the third shunting scheme.
In a possible implementation manner, the method may further include: if the real-time bandwidth state of the first link after shunting is monitored to still meet shunting conditions, repeatedly executing the process of determining the final called bandwidth corresponding to each service transmitted through the first link, determining the service to be shunted from each service according to the final called bandwidth corresponding to each service, and shunting the service to be shunted according to a first shunting result obtained in the process of determining the final called bandwidth corresponding to the service to be shunted until the real-time bandwidth state of the first link after shunting no longer meets shunting conditions.
For example, after the service in the first link is shunted, if the SDN controller monitors that the real-time bandwidth state of the first link is still greater than the link super-bandwidth threshold, the SDN controller may continue to determine the service to be shunted and the corresponding shunting scheme from the service in the first link, so that the start node of the first link continues to shunt the service to be shunted until the real-time bandwidth state of the first link is adjusted to no longer satisfy the shunting condition or the bandwidth of the first link is adjusted to be less than the link bandwidth occupation threshold (including the link bandwidth occupation threshold), or no-shunting service.
In a possible implementation manner, the method may further include:
performing multi-path routing for a service carried on a first link, and recording an optional path of the service;
under the condition that the service only has one optional path, identifying the service as a non-distributable service;
and under the condition that the service has a plurality of selectable paths, identifying the service as a distributable service.
The SDN controller may perform multipath routing on the traffic carried by the first link in advance, and record an optional path of each traffic. The SDN controller can identify the service according to the number of the optional paths of the service, and if the service has only one optional path, the service can be identified as the non-distributable service, so that when the SDN controller triggers that the real-time bandwidth state of a link where the service is located meets a distribution condition, the service is not used as the service to be distributed, and a determination process of calling out the bandwidth is not executed. If the service has multiple optional paths, the service can be identified as a distributable service, so that when triggering the real-time bandwidth state of a link where the service is located by the SDN controller to meet a distribution condition, a distribution attempt operation can be performed on the service, and possible distribution schemes of the service are determined. The embodiment of the disclosure can reduce the operation of unnecessary shunting service as much as possible, and improve the efficiency of the SDN controller.
In other alternative embodiments, since an alternative path corresponds to an alternative link, when the SDN controller records an alternative path of the service, the alternative link of the service may also be recorded. If the service only has one optional link, the service can be identified as non-distributable service; if the service has a plurality of optional links, the service can be identified as a distributable service.
In a possible implementation manner, the method may further include:
acquiring the identification of each service in the first link;
and respectively determining final called bandwidths corresponding to the services marked as the distributable services.
When the real-time bandwidth state of the first link meets the offloading condition, the SDN controller may acquire all services on the first link, and may determine identifiers of all services, so as to perform a determination process of finally invoking a bandwidth for the service identified as the offloading service.
In a possible implementation manner, the method may further include:
when the bandwidth of a link occupied by the first sub-service flow of the first service is larger than the threshold bandwidth, obtaining a new first sub-service flow of the first service according to the preset growth ruleNumber of split Ji=Ji+1
According to the new first shunt number JiAnd re-determining the final called bandwidth corresponding to the first service.
In the embodiment of the present disclosure, the process of determining whether the bandwidth of the link occupied by the first sub-service traffic of the first service is greater than the threshold bandwidth may be after the foregoing determining of the final called bandwidth of the first service.
When the SDN controller schedules the first sub-services corresponding to G first services from the first link to another optional link, the another optional link transmits service data of the G first sub-services through G tunnels, where the threshold bandwidth may be the maximum bandwidth of the tunnels determined by those skilled in the art for ensuring the data transmission quality of the link, for example, the threshold bandwidth may be set to 100 Mbps.
When the first sub-service flow of the first service is greater than the threshold bandwidth, it indicates that the tunnel cannot normally transmit the service data of the first sub-service, so the SDN controller may determine a new first split-flow number J according to the preset growth ruleiThe traffic of each first sub-service is reduced, and the bandwidth occupied by the first sub-service transmitted on the tunnel is further reduced. In particular, if the first split number J is newiIf the current value is less than the preset shunting threshold value, the SDN controller performs control according to the new first shunting number JiRe-determining the final called bandwidth corresponding to the first service: may be based on the new first split number JiRe-executing the flow of the first service in the unit time according to the new first flow splitting number JiAliquoting to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether a process of transmitting the first sub-service flow through the first link exists or not until the first sub-service flow transmitted through the first link or the new first shunt number J does not existiAnd if the current value is larger than the preset shunting threshold value, determining a new shunting scheme.
In another optional implementation manner, the offloading method provided in this embodiment of the present disclosure may further include, after determining the service to be offloaded, before obtaining the first offloading result according to the determination process of the finally called bandwidth corresponding to the service to be offloaded, the following step:
when the bandwidth of a link occupied by the first sub-service flow of the service to be distributed is greater than the threshold bandwidth, obtaining a new first distribution number J according to the preset growth rulei=Ji+1
If new said first number of splits JiIf the current value is less than the preset shunting threshold value, the current value is calculated according to the new first shunting number JiAnd re-determining the final called bandwidth corresponding to the service to be distributed.
The process of re-determining the final outgoing bandwidth of the service to be shunted is referred to above, and is not described herein again. Through the scheme, the embodiment of the disclosure can obtain a new offloading scheme, determine that the new offloading scheme is a first offloading result, and send a first offloading instruction to the first link starting node according to the first offloading result, so that the first link starting node can offload the service to be offloaded according to the new first offloading result.
In a possible implementation manner, the method may further include:
if the first service is a service subjected to shunting processing, determining a corresponding shunting number M during shunting processing of the first service; wherein M is a positive integer;
at the first split number JiWhen the number of the branches is smaller than the number M of the branches, repeatedly executing the steps according to a preset increasing rule to obtain a new first number J of the branchesi=Ji+1Until the first split number JiGreater than the split number M. At this time, the first split number J can be calculated based on the new first split numberiAnd executing the final bandwidth calling determination process on the first service to determine a possible shunting scheme of the first service. According to the idea of the present disclosure, when the first split fraction J is obtainediWhen the number of the shunts is smaller than the number M of the shunts corresponding to the first service shunting processing, the process of finally calling out the bandwidth according to the number M of the shunts is already executediDetermining the bestTerminating the process of bandwidth so that if the process is performed again based on the first fraction JiThe process of determining the final bandwidth to be called out may cause the SDN controller to operate repeatedly, reducing efficiency. For example: suppose a first fractional flow number JiThe split number M is 5, and according to the growth rule of the first split number, the SDN controller has already performed the process of determining the final callout bandwidth according to the split number M being 5, and the process of determining the final callout bandwidth according to the first split number J is performediThe process of finally tuning out the bandwidth is determined as 3.
If the first service is a service that has already been subjected to offloading processing, the SDN controller may determine an offloading number M corresponding to the first service during offloading processing. For example: the first service b is a split service, and the split number corresponding to the split scheme is 4. The first split number J corresponding to the current turniAnd when the bandwidth is less than 4, the final call-out bandwidth determination operation of the service is not executed. At the first split number JiAnd in the turns larger than the 4, re-determining the possible shunting scheme of the first service. The embodiment of the disclosure can reduce unnecessary operations and improve the scheduling efficiency of the SDN controller.
Fig. 9 shows a flow chart of a shunting method according to an embodiment of the present disclosure.
In one possible implementation, referring to fig. 9, the method may be as follows.
Step 901, the SDN controller may monitor a real-time bandwidth of the first link.
Step 902, determining the identifier of each service on the first link when the real-time bandwidth state of the first link meets the offloading condition, if the identifier of the first service is an offloading-incapable service, executing step 921, otherwise executing step 903. Wherein the first service is any one of the services.
And step 921, if the identifier of the first service is the non-distributable service, not performing a determination process of finally calling out the bandwidth for the first service.
Step 903, determining the original shunt number of the first service, and determining the current first shunt number JiWhen the number of the original branches is less than or equal to the original number of the branches, step 922 is executed, otherwise step 9 is executed04。
Step 922, obtaining the current split number JiAnd when the number of the primary sub-streams is less than or equal to the number of the primary sub-streams, the process of determining the final bandwidth calling of the first service is not carried out in the current round. Repeatedly executing the operation to obtain a new first shunt number J according to a preset growth rulei=Ji+1Until a new first split number JiIf the number of branches is greater than the original number M, step 904 is executed.
And step 904, releasing the bandwidth occupied by the first service.
Step 905, for each optional path of the first service, determining that a link of each link in the optional path can bear the maximum bandwidth.
Step 906, determining a first shunt number J of the current roundiDividing the total bandwidth occupying the first link in the first service unit time into JiPortioning to obtain JiA first sub-service, which is to connect the JiAnd scheduling the first sub-services to a plurality of optional links capable of transmitting the first services in a successive mode.
Step 907, when the bandwidth occupied by the first sub-service is smaller than the maximum bandwidth that can be carried by the link of each link in a certain optional path, the first sub-service can be successfully scheduled to the certain optional link, and the maximum bandwidth that can be carried by the link of each link in the certain optional path is updated.
Step 908 of judging the JiIf all the first sub-services are successfully scheduled into the multiple optional links, step 909 is executed, otherwise step 914 is executed.
Step 909, at JiAnd recording the shunting scheme corresponding to the first service under the condition that all the first sub-services are successfully scheduled to the plurality of optional links.
Step 910, determining the JiThe number L of the first sub services transmitted through the first link in the first sub services.
Step 911, determining whether the number L is 0, if the number L is 0, executing step 912, otherwise executing step 913.
Step 912, when the number L is 0, determining that the final called bandwidth of the first service is the total bandwidth of the first service. Step 917 is performed.
Step 913, when the number L is not 0, counting according to the first split number JiThe number L and the total bandwidth of the first service, and determining the first split number J of the first serviceiThe callout bandwidth in the corresponding round. Step 916 is performed.
Step 914, at the JiDetermining that the first traffic has a first fractional flow of J under the condition that all first sub-traffic is not successfully scheduled into the plurality of optional linksiThe callout bandwidth in the corresponding round is 0. Step 915 is performed.
Step 915, in the first fractional number JiWhen the first shunt number J does not reach the preset shunt threshold value, the first shunt number J is determined according to a preset increasing ruleiStep 903 is executed.
Step 916, taking the maximum value of the called bandwidth of the first service determined in multiple rounds as the final called bandwidth of the first service. At this time, the bandwidth released before the first service may be re-occupied, so as to provide more accurate link data when determining the bandwidth finally called out for the other services except the first service in each service.
Step 917, determining, from the services, a second service with a maximum final called bandwidth in the first link, and a third service with a difference between the final called bandwidth and the final called bandwidth of the second service being in a threshold range.
Step 918, comparing the first split fraction J corresponding to the final call-out bandwidth of the second service and the third servicei
Step 919 of determining a first fractional flow number JiThe minimum service is the service to be shunted.
And 920, determining that the service to be distributed finally calls a distribution scheme corresponding to the bandwidth, and sending a distribution instruction to the starting node of the first link according to the distribution scheme, so that the starting node of the first link distributes the service to be distributed according to the distribution scheme.
In another possible implementation manner, the determining a final outgoing bandwidth corresponding to each service transmitted through the first link includes:
determining a bandwidth rollout contribution for the first link;
equally dividing the flow of the first service in unit time according to a first flow dividing number, and judging whether the bandwidth occupied by the sum of all first sub-service flows which are not transmitted through the first link in the first link is not less than the bandwidth calling-out base value or not when all first sub-service flows which are determined that the flow of the first service is equally divided can be transmitted through any link capable of transmitting the first service;
and if so, determining the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link as the final called bandwidth corresponding to the first service.
The bandwidth calling-out base value is a bandwidth value which is called out from at least the first link when the first link meets the shunting condition. In this embodiment, the bandwidth rollout base value is the bandwidth of the portion of the first link exceeding the link super bandwidth threshold + the total allocable bandwidth × the link split bandwidth threshold.
Specifically, when determining that all first sub-service flows of a first service after flow equipartition can be transmitted through any link capable of transmitting the first service, the SDN controller determines whether a first sub-service flow transmitted through the first link exists.
When first sub-service flow transmitted through a first link exists, that is, when the bandwidth occupied by the first service on the first link is not completely scheduled to other links, the SDN controller determines that the current first service is scheduled to the bandwidth on other links, and when the bandwidth scheduled to other links by the first service is greater than a bandwidth call base value, may determine that the bandwidth scheduled to other links by the first service is the final call bandwidth.
For example, assuming that the total bandwidth of the first link is 100Mbps, the allocated bandwidth is 85Mbps, the link super bandwidth occupation threshold is 80%, the link split bandwidth threshold is 10%, and the bandwidth occupied by the first service on the first link is 40 Mbps. The bandwidth of the part of the first link exceeding the bandwidth threshold is 5Mbps, the bandwidth calling-out base value is (5+100 × 10%) -15 Mbps. Under the condition that the number of shunts is 2, the first service is divided into 2 first sub-services, each first sub-service occupies 20Mbps, one of the first sub-services is transmitted on the first link, and the other first sub-service is scheduled to other optional links except the first link. At this time, the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link is 20Mbps, and the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link is greater than the bandwidth calling-out base value of 15 Mbps. Thus, the SDN controller determines that the final callout bandwidth of the first service is 20 Mbps.
Therefore, by the scheme, the flow splitting number and the flow splitting turn can be reduced as much as possible, the operation amount of the SDN controller is reduced, and the dispatching efficiency of the SDN controller is improved. Meanwhile, the embodiment of the disclosure also reduces the shunting action and workload of the initial node, and saves the consumption of equipment resources.
In an optional embodiment, the method further comprises:
when first sub-service traffic transmitted through a first link exists, if the bandwidth occupied by the sum of all the first sub-service traffic not transmitted through the first link in the first link is smaller than the bandwidth calling-out base value, obtaining a new first split flow number according to a preset increasing rule under the condition that the first split flow number is not larger than a preset split threshold value;
repeatedly executing the equal division of the flow of the first service in the unit time according to the first split fraction, when all the first sub-service flows after the equal division of the flow of the first service are determined to be capable of being transmitted through any link capable of transmitting the first service, judging whether the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link is not less than the bandwidth calling-out base value or not until the sum of all the first sub-service flows transmitted through the first link in the first linkIs not less than the bandwidth rollout contribution, or the new first number of shunts JiGreater than a preset shunt threshold.
For example: assuming that the total bandwidth of the first link is 100Mbps, the allocated bandwidth is 85Mbps, the threshold of the link ultra-bandwidth occupation is 80%, the threshold of the link split-flow bandwidth is 10%, and the bandwidth occupied by the first service on the first link is 40 Mbps. The bandwidth of the part of the first link exceeding the bandwidth threshold is 15Mbps, the bandwidth calling-out base value is (15+100 × 10%) -25 Mbps. Under the condition that the number of shunts is 2, the first service is divided into 2 first sub-services, each first sub-service occupies 20Mbps, one of the first sub-services is transmitted on the first link, and the other first sub-service is scheduled to other optional links except the first link. At this time, the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link is 20Mbps, and the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link is less than the bandwidth calling-out base value of 25 Mbps.
At this time, the SDN controller presses a preset growth rule Ji=2iObtain a new first fractional flow number J2=22The first service is divided into 1 first sub-services, each first sub-service occupies 10Mbps, one first sub-service is transmitted on the first link, and the other three first sub-services are scheduled to other optional links except the first link. At this time, the total of all the first sub-service flows which are not transmitted through the first link occupies a bandwidth of 30Mbps in the first link, which is greater than the bandwidth calling-out base value of 25 Mbps. The SDN controller determines that the final call-out bandwidth of the first service is 30 Mbps.
It should be appreciated that in the absence of first sub-traffic transmitted over the first link, the SDN controller directly determines that the first traffic has scheduled bandwidth on other links as the final outgoing bandwidth.
Fig. 10 shows a flow chart of a shunting method according to an embodiment of the present disclosure.
In a possible implementation manner, referring to fig. 10, on the basis of the embodiment shown in fig. 1, the method provided in the embodiment of the present disclosure may further include: when monitoring that the flow of the service to be distributed in unit time is less than threshold flow continuously for a preset time, equally dividing the maximum flow of the service to be distributed in unit time corresponding to the preset time according to the second distribution number, and when determining that all second sub-service flows after equally dividing the maximum flow of the service to be distributed can be transmitted through any link capable of transmitting the service to be distributed and the bandwidth occupied by the second sub-service flows is less than or equal to the threshold bandwidth, sending a distribution indication corresponding to the second distribution number to an initial node of the first link so as to indicate the initial node of the first link to distribute the service to be distributed according to the distribution result corresponding to the second distribution number. Specific examples thereof are as follows.
104, when monitoring that the flow of the service to be distributed in unit time lasts for a preset time and is smaller than a threshold value, determining a second distribution fraction Kj(ii) a Wherein, KjIs less than the corresponding first shunting number J when the service to be shunted is shuntediAnd K, j is a positive integer.
The SDN controller may monitor the shunted traffic to be shunted, and monitor a real-time bandwidth state of the traffic to be shunted within a time period. For example, the time period may be set to be 1 hour, and the SDN controller may monitor a real-time bandwidth state of traffic to be offloaded that has been offloaded within 1 hour.
The preset time may be a time range determined by those skilled in the art according to the data transmission quality requirement, and the time range is not greater than the time period.
In the embodiment of the present disclosure, the threshold traffic may be determined according to the number of shunts corresponding to the shunting scheme corresponding to the service to be shunted and the threshold bandwidth. For example, the threshold flow may be: half the product of the current number of taps and the above threshold bandwidth (current number of taps threshold bandwidth/2).
When the traffic of the to-be-shunted service in the preset time unit time is smaller than the threshold traffic, the SDN controller may redistribute the current to-be-shunted serviceAnd (4) streaming. For example: the number of the traffic b corresponding to the splitting scheme is 4, the preset time is 1 hour, and the threshold bandwidth is 100Mbps, then the threshold traffic may be 200Mb/s (i.e., 4 × 100/2). When the SDN controller monitors that the flow of the service b in unit time within 1 hour is less than 200M, the SDN controller can be triggered to shunt the service b again, and the SDN controller can determine the second shunt number K of the service b againj
Step 105, the maximum flow rate of the service to be distributed in the unit time corresponding to the preset time is divided into a second flow division number KjAliquoting to obtain KjAnd sharing the second sub-service flow.
Step 106, when K isjAnd when the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, sending the second split number K to the initial node of the first linkjShunting indication to indicate the starting node of the first link according to the second shunting number KjAnd shunting the service to be shunted according to the corresponding shunting result.
The SDN controller may determine a maximum flow of the traffic in the band split service per unit time within the preset time. SDN controller determines a second fractional flow number KjAnd equally dividing the maximum flow in the unit time of the service to be divided into KjPortioning to obtain KjAnd each second sub-service corresponds to the second sub-service flow. Will KjAnd the second sub-services are successively scheduled to a plurality of optional links.
For example, when the SDN controller shunts the traffic to be shunted for the first time, it may determine that the second shunt number is 1, and the SDN controller may attempt to schedule the maximum traffic per unit time of the traffic to be shunted into an optional link.
For another example, the first offload number corresponding to the offload scheme of the current service to be offloaded is 8, the SDN controller may currently determine that the second offload number is 2, and may divide the maximum flow value of the service to be offloaded in unit time into 2 parts to obtain 2 second sub-services, and attempt to schedule the 2 second sub-services to multiple optional links one by one.
In the above KjThe second sub-services can be transmitted through the optional link for transmitting the service to be distributed, and when the bandwidth occupied by the second sub-service flow is smaller than the threshold bandwidth, it is determined that the distribution scheme can successfully distribute the service to be distributed, and the second sub-service flow can be distributed according to a second distribution number KjSending a second shunting fraction K to the initial node of the first link according to the corresponding shunting resultjCorresponding split indication is carried out, so that the network equipment on the initial node of the first link can carry out split according to the second split number KjAnd distributing the service to be distributed according to the corresponding distribution result.
For example, the first split number corresponding to the splitting scheme of the service to be split is 8, the SDN controller may determine that the second split number is 2, and divide the maximum flow value of the service to be split in unit time into 2 parts, to obtain 2 second sub-services, and if all the 2 second sub-services are successfully scheduled in the value-selectable link, the splitting is successful. The SDN controller can change the service to be distributed from an 8-flow distribution scheme to a 2-flow distribution scheme, so that the consumption of equipment resources is greatly reduced, and the dispatching efficiency of the controller is improved. Optionally, the SDN controller may issue a distribution instruction to the start node, where the distribution instruction includes a deletion instruction, and instructs the start node to delete 6 tunnels from the original 8 tunnels, and reserve 2 tunnels for transmitting the service. When the flow of the service to be shunted in unit time is reduced, the embodiment of the disclosure reduces the link for transmitting the second sub-service by reducing the number of shunts, so that the consumption of equipment resources can be reduced, and a more reasonable shunting scheme is provided. The embodiment of the disclosure can allocate a corresponding reasonable distribution scheme according to the bandwidth occupied by the service to be distributed currently, can dynamically update the distribution scheme according to the real-time condition of the link, and is flexible and convenient.
In a possible implementation manner, the method may further include:
when it is determined that at least one second sub-service flow of all second sub-service flows after the flow of the service to be distributed is equally divided cannot be transmitted through any link capable of transmitting the service to be distributed, or the bandwidth occupied by the second sub-service flow is greater than the threshold bandwidth, obtaining a new second distribution number according to a preset growth rule; and repeatedly executing the process of equally dividing the maximum flow value of the service to be distributed in unit time corresponding to preset time according to the second distribution number and judging whether all the second sub-service flows can be transmitted through any link for transmitting the service to be distributed or not until all the second sub-service flows can be transmitted through any link for transmitting the service to be distributed and the bandwidth occupied by the second sub-service flows is less than or equal to the threshold bandwidth, or until the second distribution number is greater than or equal to the corresponding first distribution number when the service to be distributed is distributed.
The method specifically comprises the following steps:
when said K isjWhen at least one second sub-service flow in the second sub-service flows cannot be transmitted through any link capable of transmitting the service to be distributed, or the bandwidth occupied by the second sub-service flow is larger than the threshold bandwidth, obtaining a new second distribution number K according to a preset growth rulej=Kj+1
Repeatedly executing the maximum flow value of the service to be distributed in the unit time corresponding to the preset time according to the new second distribution number KjAliquoting to obtain KjSecond sub-service flow is shared, and judgment KjWhether the second sub-service flow can be transmitted through any link for transmitting the service to be distributed or not is judged until KjThe second sub-service flow can be transmitted through any link capable of transmitting the service to be distributed, and the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, or the second sub-service flow is up to the second distribution number KjIs not less than (i.e. greater than or equal to) the corresponding first shunting number J when the service to be shunted is shuntedi
SDN controller enables the K to be usedjAfter the second sub-service is scheduled to the optional link and fails (K)jAllocating at least one second sub-service in the second sub-service flowThe traffic cannot be transmitted through any link capable of transmitting the traffic to be split, or the bandwidth occupied by the traffic of the second sub-service is greater than the threshold bandwidth), the second split number K may be increased according to a preset growth rulejObtaining a new second fractional flow number Kj=Kj+1If the new second split number KjIs less than the corresponding first shunting number J when the service to be shunted is shuntediAccording to the new second split number KjA splitting scheme is determined. If the new second split number KjNot less than the corresponding first shunting number J when the service to be shunted is shuntediThen the flow ends.
For example, when the first offload count corresponding to the offload scheme of the current service to be offloaded is 8 and the SDN controller determines the offload scheme in the first round, it may be determined that the second offload count is 1, when the maximum flow value in the unit time of the traffic to be shunted cannot be successfully scheduled to any optional link, a new second number of splits may be determined according to a preset growth rule, which is assumed to grow at a power of 2, the SDN controller may determine that the second offload count is 2, and divide the traffic to be offloaded into 2 second sub-traffic, and if the 2 second sub-traffic is not yet successfully scheduled into multiple optional links, the SDN controller may continue to determine that the new second split number is 4, and determine the splitting scheme under the second split number of 4, and repeat the above process until the splitting is successful, or the second split number is equal to or greater than the first split number. It should be understood that when the second split number is equal to or greater than the first split number, which indicates that there is no split result determined based on the second split number, the traffic to be split is still split according to the first split result.
In this way, the SDN controller monitors the bypassed traffic to be bypassed, and can bypass the traffic to be bypassed again when monitoring that the traffic of the traffic to be bypassed in unit time within the preset time is smaller than the threshold traffic, so that the offloading scheme of the traffic to be bypassed can be dynamically adjusted, the device resources are saved, and the scheduling efficiency of the SDN controller is improved.
Fig. 11 shows a block diagram of a shunting device according to an embodiment of the present disclosure, where the shunting device may be applied in an SDN controller, and as shown in fig. 11, the shunting device may include:
the first determining module 1101 may be configured to determine a final called bandwidth corresponding to each service transmitted through a first link when it is monitored that a real-time bandwidth state of the first link meets a offloading condition; the first link is any one of links monitored by the SDN controller, and the final called bandwidth is a bandwidth occupied by traffic scheduled from the first link to other optional links in a unit time in the first link for any one of the services;
a second determining module 1102, configured to determine, according to the final called bandwidth corresponding to each service, a service to be distributed from each service;
the first sending module 1103 may be configured to send a first offloading instruction to the start node of the first link according to a first offloading result obtained in the determining process of the finally called bandwidth corresponding to the service to be offloaded, so as to instruct the start node of the first link to offload the service to be offloaded according to the first offloading result.
In a possible implementation manner, the shunting condition may include:
the real-time bandwidth of the first link is greater than a link super-bandwidth threshold, and the duration of the real-time bandwidth greater than the link super-bandwidth threshold meets the link duration super-threshold time; or
When the real-time bandwidth of a first link is larger than a link super-bandwidth threshold value, and the duration of the real-time bandwidth larger than the link super-bandwidth threshold value meets the link duration super-threshold time, at least one service in each service cannot be successfully scheduled to other links; or
And under the condition that the real-time bandwidth of a first link is greater than a link super-bandwidth threshold value and the duration of the real-time bandwidth greater than the link super-bandwidth threshold value meets the link super-bandwidth time, scheduling at least one service in each service to other links, wherein the real-time bandwidth of the first link is greater than the link super-bandwidth threshold value.
Fig. 12 shows a block diagram of a shunt device according to an embodiment of the present disclosure.
In a possible implementation manner, referring to fig. 12, the first determining module 1101 may include:
a first determining sub-module 11011, configured to determine a first flow splitting number J for a first service of the servicesi
A first processing sub-module 11012 configured to divide the traffic of the first service per unit time by the first split number JiEqually dividing to obtain Ji parts of first sub-service flow; wherein J, i is a positive integer;
a judgment sub-module 11013, which can be used for judging the JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether the first sub-service flow transmitted through the first link exists;
the second determining sub-module 11014 may be configured to determine, if there is no first sub-service traffic transmitted through the first link, a bandwidth occupied by the first link and a sum of all first sub-service traffic that is not transmitted through the first link, as a final called bandwidth corresponding to the first service.
In one possible implementation manner, referring to fig. 12, the first determining module 1101 may further include:
the second processing sub-module 11015 may be configured to, if there is a first sub-service traffic transmitted through the first link and the first offload number is not greater than a preset offload threshold, obtain a new first offload number J according to a preset growth rulei=Ji+1
A third processing sub-module 11016, configured to repeatedly execute the step of dividing the traffic of the first service in the unit time by a new first flow splitting number JiAliquoting to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, the judgment is yesA process of determining whether there is a first sub-traffic transmitted through the first link until there is no first sub-traffic transmitted through the first link or the new first split number JiGreater than a preset shunt threshold.
In one possible implementation manner, referring to fig. 12, the first determining module 1101 may further include:
a fourth processing submodule 11017 for processing the JiWhen at least one first sub-service flow in the first sub-service flows can not be transmitted through any link capable of transmitting the first service, a new first shunt number J is obtained according to a preset growth rulei=Ji+1
A fifth processing sub-module 11018, configured to repeatedly perform halving of the traffic of the first service per unit time according to the new first traffic split, so as to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether a process of transmitting the first sub-service flow through the first link exists or not until the first sub-service flow transmitted through the first link or the new first shunt number J does not existiGreater than a preset shunt threshold.
In one possible implementation manner, referring to fig. 12, the first determining module 1101 may be further configured to:
if the first service is a service subjected to shunting processing, determining a shunting number M corresponding to the shunting processing of the first service; wherein M is a positive integer;
at the first split number JiWhen the number of the branches is smaller than the number M of the branches, repeatedly executing the steps according to a preset increasing rule to obtain a new first number J of the branchesi=Ji+1Until the first split number JiGreater than the split number M.
In a possible implementation manner, the first determining module may further include:
a third determining submodule, configured to determine a bandwidth callout base value of the first link;
a sixth processing sub-module, configured to equally divide the traffic of the first service in a unit time according to a first split fraction, and when it is determined that all the first sub-service traffic after equally dividing the traffic of the first service can be transmitted through any link capable of transmitting the first service, determine whether a bandwidth occupied by a sum of all the first sub-service traffic that is not transmitted through the first link in the first link is not less than the bandwidth transfer base value;
and a fourth determining submodule, configured to determine, as a final called bandwidth corresponding to the first service, a bandwidth occupied by a sum of traffic of all first sub services that are not transmitted through the first link in the first link.
In one possible implementation manner, referring to fig. 12, the second determining module 1102 may include:
a fifth determining sub-module 11021, configured to determine a second service with a largest final call bandwidth among the services, and a third service with a difference between the final call bandwidth and the final call bandwidth of the second service being within a threshold range;
a sixth determining sub-module 11022, configured to determine the split number corresponding to the finally called bandwidth of the second service and the third service, respectively;
the seventh determining sub-module 11023 may be configured to use the service with the smaller split number in the second service and the third service as the service to be split.
In a possible implementation manner, referring to fig. 12, the apparatus may further include:
the second processing module 1104 may be configured to, when the bandwidth of the link occupied by the first sub-service traffic of the first service is greater than the threshold bandwidth, obtain a new first shunt number J according to the preset growth rulei=Ji+1
A second sending module 1105, configured to send a second stream according to the first split number JiAnd re-determining the final called bandwidth corresponding to the first service.
In one possible implementation, referring to fig. 12, the apparatus may further include:
the third processing module 1106 may be configured to, if it is monitored that the real-time bandwidth state of the first link after being shunted still meets the shunting condition, repeatedly perform a process of determining a final called bandwidth corresponding to each service transmitted through the first link, determining a service to be shunted from each service according to the final called bandwidth corresponding to each service, and shunting the service to be shunted according to a first shunting result obtained in the process of determining the final called bandwidth corresponding to the service to be shunted until the real-time bandwidth state of the first link after being shunted no longer meets the shunting condition.
In one possible implementation, referring to fig. 12, the apparatus may further include:
the fourth determining module 1107 may be configured to determine the second split fraction K when it is monitored that the flow of the to-be-split traffic in unit time continues for a preset time and is smaller than the threshold flowj(ii) a Wherein, KjIs less than the corresponding first shunting number J when the service to be shunted is shuntediK, j is a positive integer;
the fourth processing module 1108 may be configured to divide the maximum flow rate of the to-be-split service in unit time corresponding to the preset time into the second split fraction KjAliquoting to obtain KjAllocating a second sub-service flow;
a third sending module 1109, configured to send the KjAnd when the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, sending the second split number K to the initial node of the first linkjCorresponding split indication to indicate the starting node of the first link according to the second split number KjAnd shunting the service to be shunted according to the corresponding shunting result.
In one possible implementation, referring to fig. 12, the fourth determining module 1107 may be further configured to:
when said K isjAt least one of the second sub-service flows cannotObtaining a new second split-flow number K according to a preset increasing rule when the traffic to be split-flow can be transmitted through any link capable of transmitting the traffic to be split-flow or the bandwidth occupied by the second sub-traffic flow is larger than the threshold bandwidthj=Kj+1
Repeatedly executing the maximum flow value of the service to be distributed in the unit time corresponding to the preset time according to the new second distribution number KjAliquoting to obtain KjSecond sub-service flow is shared, and judgment KjWhether the second sub-service flow can be transmitted through any link for transmitting the service to be distributed or not is judged until KjThe second sub-service flow can be transmitted through any link capable of transmitting the service to be distributed, and the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, or the second sub-service flow is up to the second distribution number KjIs greater than or equal to the corresponding first shunting number J when the service to be shunted is shuntedi
The implementation principle and the generated technical effect of the above-mentioned flow dividing device are the same as those of the foregoing method embodiments, and for the sake of brief description, corresponding contents in the foregoing method embodiments may be referred to where no mention is made in part of the device embodiments.
Fig. 13 is a block diagram illustrating a hardware configuration of a streaming apparatus according to an exemplary embodiment. In practical applications, the device may be implemented by a server. Referring to fig. 7, the apparatus 1300 may include a processor 1301, a machine-readable storage medium 1302 storing machine-executable instructions. The processor 1301 and the machine-readable storage medium 1302 may communicate via a system bus 1303. Also, the processor 1301 performs the shunting method described above by reading machine-executable instructions in the machine-readable storage medium 1302 that correspond to the shunting method logic.
The machine-readable storage medium 1302 referred to herein may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: random Access Memory (RAM), volatile Memory, non-volatile Memory, flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, dvd, etc.), or similar storage media, or a combination thereof.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments, the practical application, or technical improvements to the techniques in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (16)

1. A offloading method applied to a Software Defined Network (SDN) controller, the method comprising:
under the condition that the real-time bandwidth state of a first link is monitored to meet a shunting condition, determining a final called bandwidth corresponding to each service transmitted through the first link; the first link is any one of links monitored by the SDN controller, and the final called bandwidth is a bandwidth occupied by traffic scheduled from the first link to other optional links in a unit time in the first link for any one of the services;
determining services to be distributed from each service according to the final called bandwidth corresponding to each service;
and sending a first shunting instruction to the starting node of the first link according to a first shunting result obtained in the final bandwidth calling determination process corresponding to the service to be shunted so as to instruct the starting node of the first link to shunt the service to be shunted according to the first shunting result.
2. The method of claim 1, wherein the splitting condition comprises:
the real-time bandwidth of the first link is greater than a link super-bandwidth threshold, and the duration of the real-time bandwidth greater than the link super-bandwidth threshold meets the link duration super-threshold time; or
When the real-time bandwidth of a first link is larger than a link super-bandwidth threshold value, and the duration of the real-time bandwidth larger than the link super-bandwidth threshold value meets the link duration super-threshold time, at least one service in each service cannot be successfully scheduled to other links; or
And under the condition that the real-time bandwidth of a first link is greater than a link super-bandwidth threshold value and the duration of the real-time bandwidth greater than the link super-bandwidth threshold value meets the link super-bandwidth time, scheduling at least one service in each service to other links, wherein the real-time bandwidth of the first link is greater than the link super-bandwidth threshold value.
3. The offloading method according to claim 1 or 2, wherein the determining a final outbound bandwidth corresponding to each service transmitted through the first link includes:
determining a bandwidth rollout contribution for the first link;
equally dividing the flow of the first service in unit time according to a first flow dividing number, and judging whether the bandwidth occupied by the sum of all first sub-service flows which are not transmitted through the first link in the first link is not less than the bandwidth calling-out base value or not when all first sub-service flows which are determined that the flow of the first service is equally divided can be transmitted through any link capable of transmitting the first service;
if so, determining the bandwidth occupied by the sum of all first sub-service flows which are not transmitted through the first link in the first link as the final called bandwidth corresponding to the first service;
the bandwidth calling-out base value is a bandwidth value to be called out from at least the first link when the first link meets a shunting condition.
4. The offloading method according to claim 1 or 2, wherein the determining a final outbound bandwidth corresponding to each service transmitted through the first link includes:
determining a first flow splitting number J aiming at a first service in the servicesi
The flow of the first service in the unit time is divided into a first flow division number JiAliquoting to obtain JiAllocating a first sub-service flow; wherein J, i is a positive integer;
when said J isiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether the first sub-service flow transmitted through the first link exists; and if the first sub-service flow transmitted through the first link does not exist, determining the bandwidth occupied by the first link by the sum of all the first sub-service flows which are not transmitted through the first link as the final called bandwidth corresponding to the first service.
5. The offloading method according to claim 4, wherein the determining a final outbound bandwidth corresponding to each service transmitted via the first link further includes:
if a first sub-service flow transmitted through the first link exists and the first shunt number is not greater than a preset shunt threshold value, obtaining a new first shunt number J according to a preset increasing rulei=Ji+1
Repeatedly executing the operation of dividing the flow of the first service in the unit time into a new first flow division number JiAliquoting to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether a process of transmitting the first sub-service flow through the first link exists or not until the first sub-service flow transmitted through the first link or the new first shunt number J does not existiGreater than a preset shunt threshold.
6. The offloading method according to claim 4, wherein the determining a final outbound bandwidth corresponding to each service transmitted via the first link further includes:
when said J isiWhen at least one first sub-service flow in the first sub-service flows can not be transmitted through any link capable of transmitting the first service, a new first shunt number J is obtained according to a preset growth rulei=Ji+1
Repeatedly executing the first service flow in unit time to be equally divided according to the new first flow division to obtain JiShare first sub-traffic flow, and when said JiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether a process of transmitting the first sub-service flow through the first link exists or not until the first sub-service flow transmitted through the first link or the new first shunt number J does not existiGreater than a preset shunt threshold.
7. The method of splitting according to claim 4, further comprising:
if the first service is a service subjected to shunting processing, determining a shunting number M corresponding to the shunting processing of the first service; wherein M is a positive integer;
at the first split number JiWhen the number of the branches is smaller than the number M of the branches, repeatedly executing the steps according to a preset increasing rule to obtain a new first number J of the branchesi=Ji+1Until the first split number JiGreater than the split number M.
8. The method of splitting according to claim 4, further comprising:
when the bandwidth of a link occupied by the first sub-service flow of the first service is larger than the threshold bandwidth, obtaining a new first shunt number J according to a preset increasing rulei=Ji+1
According to the first split number JiAnd re-determining the final called bandwidth corresponding to the first service.
9. The offloading method according to claim 1, wherein the determining, according to the maximum bandwidth called out corresponding to each service, a service to be offloaded from each service includes:
determining a second service with the largest final call bandwidth in the services and a third service with the difference value between the final call bandwidth and the final call bandwidth of the second service within the threshold range;
respectively determining the number of shunts corresponding to the final called bandwidths of the second service and the third service;
and taking the service with the smaller flow number in the second service and the third service as the service to be distributed.
10. The method of splitting according to claim 1, further comprising:
if the real-time bandwidth state of the first link after shunting is monitored to still meet shunting conditions, repeatedly executing the process of determining the final called bandwidth corresponding to each service transmitted through the first link, determining the service to be shunted from each service according to the final called bandwidth corresponding to each service, and shunting the service to be shunted according to a first shunting result obtained in the process of determining the final called bandwidth corresponding to the service to be shunted until the real-time bandwidth state of the first link after shunting no longer meets shunting conditions.
11. The offloading method according to claim 1, wherein after the method sends the first offloading result to the start node of the first link, the method further includes:
when monitoring that the flow of the service to be distributed in unit time lasts for a preset time and is smaller than a threshold value flow, determining a second distribution fraction Kj(ii) a Wherein, KjIs less than the corresponding first shunting number J when the service to be shunted is shuntediK, j is a positive integer;
the service to be distributed is put inThe maximum flow in the corresponding unit time in the preset time is according to the second split fraction KjAliquoting to obtain KjAllocating a second sub-service flow;
when said K isjAnd when the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, sending the second split number K to the initial node of the first linkjAnd a corresponding distribution indication is used for indicating the starting node of the first link to distribute the service to be distributed according to the distribution result corresponding to the second distribution number Kj.
12. The method of claim 11, further comprising:
when said K isjWhen at least one second sub-service flow in the second sub-service flows cannot be transmitted through any link capable of transmitting the service to be distributed, or the bandwidth occupied by the second sub-service flow is larger than the threshold bandwidth, obtaining a new second distribution number K according to a preset growth rulej=Kj+1
Repeatedly executing the maximum flow value of the service to be distributed in the unit time corresponding to the preset time according to the new second distribution number KjAliquoting to obtain KjSecond sub-service flow is shared, and judgment KjWhether the second sub-service flow can be transmitted through any link for transmitting the service to be distributed or not is judged until KjThe second sub-service flow can be transmitted through any link capable of transmitting the service to be distributed, and the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, or the second sub-service flow is up to the second distribution number KjIs greater than or equal to the corresponding first shunting number J when the service to be shunted is shuntedi
13. A offloading device, applied to a Software Defined Network (SDN) controller, the offloading device comprising:
the system comprises a first determining module, a second determining module and a third determining module, wherein the first determining module is used for determining a final called bandwidth corresponding to each service transmitted through a first link under the condition that the real-time bandwidth state of the first link is monitored to meet a shunting condition; the first link is any one of links monitored by the SDN controller, and the final called bandwidth is a bandwidth occupied by traffic scheduled from the first link to other optional links in a unit time in the first link for any one of the services;
a second determining module, configured to determine, according to the final called bandwidth corresponding to each service, a service to be distributed from each service;
and the first sending module is configured to send a first shunting instruction to the start node of the first link according to a first shunting result obtained in the determination process of the finally called bandwidth corresponding to the service to be shunted, so as to instruct the start node of the first link to shunt the service to be shunted according to the first shunting result.
14. The apparatus of claim 13, wherein the first determining module comprises:
a first determining submodule, configured to determine, for a first service of the services, a first flow splitting number Ji
A first processing submodule, configured to divide the flow of the first service in a unit time into the first flow division number JiAliquoting to obtain JiAllocating a first sub-service flow; wherein J, i is a positive integer;
a judgment submodule for judging when J isiWhen the first sub-service flow can be transmitted through any link capable of transmitting the first service, judging whether the first sub-service flow transmitted through the first link exists;
and the second determining submodule is used for determining the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link as the final called bandwidth corresponding to the first service if the first sub-service flows transmitted through the first link do not exist.
15. The apparatus of claim 13, wherein the first determining module further comprises:
a third determining submodule, configured to determine a bandwidth callout base value of the first link;
a sixth processing sub-module, configured to equally divide the traffic of the first service in a unit time according to a first split fraction, and when it is determined that all the first sub-service traffic after equally dividing the traffic of the first service can be transmitted through any link capable of transmitting the first service, determine whether a bandwidth occupied by a sum of all the first sub-service traffic that is not transmitted through the first link in the first link is not less than the bandwidth transfer base value;
and if so, determining the bandwidth occupied by the sum of all the first sub-service flows which are not transmitted through the first link in the first link as the final called bandwidth corresponding to the first service.
16. The apparatus of claim 13, further comprising:
a fourth determining module, configured to determine a second splitting number K when it is monitored that a flow rate of the to-be-split service in unit time continues for a preset time less than a threshold flow ratej(ii) a Wherein, KjIs less than the corresponding first shunting number J when the service to be shunted is shuntediK, j is a positive integer;
a fourth processing module, configured to divide the maximum traffic of the to-be-divided service in a preset time by the second division number KjAliquoting to obtain KjAllocating a second sub-service flow;
a third sending module for sending the KjAnd when the bandwidth occupied by the second sub-service flow is less than or equal to the threshold bandwidth, sending the second split number K to the initial node of the first linkjCorresponding split indication to indicate the first chainThe starting node of the path is according to the second shunt number KjAnd shunting the service to be shunted according to the corresponding shunting result.
CN201810097372.9A 2018-01-31 2018-01-31 Shunting method and device Active CN108337190B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810097372.9A CN108337190B (en) 2018-01-31 2018-01-31 Shunting method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810097372.9A CN108337190B (en) 2018-01-31 2018-01-31 Shunting method and device

Publications (2)

Publication Number Publication Date
CN108337190A CN108337190A (en) 2018-07-27
CN108337190B true CN108337190B (en) 2021-11-26

Family

ID=62927555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810097372.9A Active CN108337190B (en) 2018-01-31 2018-01-31 Shunting method and device

Country Status (1)

Country Link
CN (1) CN108337190B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006820B (en) * 2020-07-28 2023-09-05 中移(苏州)软件技术有限公司 Transmission bandwidth adjustment method and device, and computer readable storage medium
CN113206805A (en) * 2021-04-30 2021-08-03 深圳华跃云鹏科技有限公司 Method for improving transmission bandwidth of ad hoc network multi-node link
CN115442846A (en) * 2021-06-02 2022-12-06 中国移动通信集团黑龙江有限公司 Data distribution method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357547A (en) * 2016-09-08 2017-01-25 重庆邮电大学 Software-defined network congestion control algorithm based on stream segmentation
CN106411766A (en) * 2016-09-30 2017-02-15 赛特斯信息科技股份有限公司 Flow scheduling system and method based on SDN
CN106533939A (en) * 2016-11-25 2017-03-22 北京邮电大学 Dynamic software definition light access to aggregation network bandwidth adjustment method and device
CN106789660A (en) * 2017-03-31 2017-05-31 中国科学技术大学苏州研究院 The appreciable flow managing methods of QoS in software defined network
WO2018014944A1 (en) * 2016-07-19 2018-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Datapath provision in software defined networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833813B (en) * 2011-06-14 2015-11-25 华为技术有限公司 Streamed data is to the method for WLAN (wireless local area network), terminal and the network equipment
US9461967B2 (en) * 2013-07-18 2016-10-04 Palo Alto Networks, Inc. Packet classification for network routing
WO2015070442A1 (en) * 2013-11-15 2015-05-21 华为技术有限公司 Service offloading method, control network element, gateway router, and user plane entity
US20160050132A1 (en) * 2014-08-18 2016-02-18 Telefonaktiebolaget L M Ericsson (Publ) Method and system to dynamically collect statistics of traffic flows in a software-defined networking (sdn) system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018014944A1 (en) * 2016-07-19 2018-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Datapath provision in software defined networks
CN106357547A (en) * 2016-09-08 2017-01-25 重庆邮电大学 Software-defined network congestion control algorithm based on stream segmentation
CN106411766A (en) * 2016-09-30 2017-02-15 赛特斯信息科技股份有限公司 Flow scheduling system and method based on SDN
CN106533939A (en) * 2016-11-25 2017-03-22 北京邮电大学 Dynamic software definition light access to aggregation network bandwidth adjustment method and device
CN106789660A (en) * 2017-03-31 2017-05-31 中国科学技术大学苏州研究院 The appreciable flow managing methods of QoS in software defined network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于SDN的数据中心网络动态流量调度方法;庄怀东等;《计算机与现代化》;20160731(第7期);第80-86页 *

Also Published As

Publication number Publication date
CN108337190A (en) 2018-07-27

Similar Documents

Publication Publication Date Title
US8792340B2 (en) Admission control for shared LTE network
US6917591B2 (en) Methods, systems and computer program products for bandwidth allocation in a multiple access system
CN108337190B (en) Shunting method and device
US8611217B2 (en) Subscriber/service differentiation in advanced wireless networks
US20080075003A1 (en) Method and system for admission and congestion control of network communication traffic
US8000347B2 (en) Executing and supporting a multiple bandwidth reservation request
US8254252B2 (en) Bandwidth control apparatus
WO2017078922A1 (en) Apparatus and method for network flow scheduling
CN101227696B (en) Wireless base station apparatus capable of effectively using wireless resources according to sorts of data
JP2005513917A (en) Method for transmitting data of applications having different qualities
US8379517B2 (en) Call admission and preemption for multiple bit-rate applications
CN110113787B (en) Method, device and system for dynamically allocating wireless ad hoc network resources according to needs
US6882625B2 (en) Method for scheduling packetized data traffic
CN111917662A (en) Bandwidth reservation method and related equipment
JP5323192B2 (en) Method for selecting resources to be released in case of overload in a cellular land mobile system
US20040228276A1 (en) Preemptive precedence scheduler for communications link bandwidth
CN109120527A (en) A kind of method and system of transmission services flow
JP4536047B2 (en) Admission control apparatus and method
CN112615798A (en) Bandwidth allocation method and device based on elephant flow reservation
CN112311687A (en) Traffic scheduling method and device
CN114640638B (en) Message transmission method and transmitting terminal equipment
KR101006940B1 (en) Method for controlling the transmission of data
JP3588100B2 (en) Access control method and device
EP1662716A1 (en) System, node and method for bandwidth allocation in a communications network
CN113810314A (en) Data scheduling method, device and storage medium

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