WO2015154483A1 - Network traffic balancing method and super controller - Google Patents

Network traffic balancing method and super controller Download PDF

Info

Publication number
WO2015154483A1
WO2015154483A1 PCT/CN2014/092213 CN2014092213W WO2015154483A1 WO 2015154483 A1 WO2015154483 A1 WO 2015154483A1 CN 2014092213 W CN2014092213 W CN 2014092213W WO 2015154483 A1 WO2015154483 A1 WO 2015154483A1
Authority
WO
WIPO (PCT)
Prior art keywords
traffic
switch
node controller
sum
transferred
Prior art date
Application number
PCT/CN2014/092213
Other languages
French (fr)
Chinese (zh)
Inventor
喻敬海
王延松
吴少勇
吴春明
杜众
高文
周伯阳
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2015154483A1 publication Critical patent/WO2015154483A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Definitions

  • the present invention is not limited to the field of communications technologies, and in particular, to a method and a super controller for network traffic balancing.
  • the controller In a multi-controller Software Defined Network (SDN) cluster network architecture, the controller is designed according to the OpenFlow protocol, and is configured to manage data flows, configure network devices, and formulate flow tables. To undertake communication between network services and network equipment. Switches in software-defined networks also support the OpenFlow protocol. The switch is controlled by the controller, and the flow table defined by the controller is saved. The flow table entry is queried to determine the processing mode of the packet, including packet forwarding, buffering, submitting the controller, or discarding. In addition, the OpenFlow protocol provides a secure channel that is configured to connect the switch to the controller for communication.
  • SDN Software Defined Network
  • a software-defined network cluster network architecture if the total traffic of a controller controlled by a certain controller is large, a large network control flow is generated, and these controllers that control a large flow rate easily become a bottleneck of the entire controller cluster, that is, a certain Some controllers have high traffic load, while others may control less total traffic and are far less saturated. This will affect the cluster's control over the network and the performance of the cluster, especially if there is a large fluctuation in network traffic. Adjusting the traffic based on the real-time network status is likely to cause more adjustments, and the network is jittery, and the performance of the cluster is greatly reduced.
  • the embodiment of the invention provides a network traffic balancing method and a super controller, and the main purpose thereof is to solve the technical problem that the controllers control the traffic unevenness in the software-defined network cluster and reduce the performance of the cluster.
  • the embodiment of the present invention provides a method for network traffic balancing, and the method for balancing network traffic includes the following steps:
  • the super controller in the software-defined network cluster sends a collection instruction to the plurality of node controllers in each time interval, and obtains traffic statistics returned by the node controller according to the collection instruction.
  • Each of the time intervals is the same;
  • the super controller calculates, according to the traffic statistics, a sum of traffic of the node controller at a next time interval;
  • the super controller adjusts the switch managed by the node controller based on the sum of the traffic statistics and the traffic.
  • the step of calculating the sum of the traffic of the node controller in the next time interval according to the traffic statistics information includes:
  • the sum of the traffic controlled by the corresponding node controller at each time interval is obtained according to the traffic message;
  • the maximum value H i max of the sum of the traffic of each node controller of all time intervals is obtained, and the sum of the flows of each node controller of the next time interval T i next is calculated according to the maximum value.
  • the step of adjusting the switch controlled by the node controller based on the sum of the traffic statistics and the traffic includes:
  • the switch controlled by each node controller is adjusted according to the first ratio and the second ratio.
  • the step of adjusting the switch controlled by each node controller according to the first ratio and the second ratio includes:
  • the switch to be tuned to the corresponding node controller is obtained from the pool of the switch to be transferred.
  • the step of acquiring the switch to be invoked in the switch controlled by the corresponding node controller, and adding the switch to be transferred to the pool of the switch to be transferred includes:
  • the switches that are controlled by the corresponding node controller accumulate the traffic in the ascending order of the traffic
  • the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
  • an embodiment of the present invention provides a super controller, where the super controller includes:
  • a collecting module configured to send a collection instruction to the plurality of node controllers in each time interval, and obtain flow statistics information returned by the node controller according to the collection instruction, where each time interval is the same;
  • a calculation module configured to calculate, according to the traffic statistics, a sum of traffic of the node controller at a next time interval
  • the adjustment module is configured to adjust the switch controlled by the node controller based on the sum of the traffic statistics and the traffic.
  • the calculating module includes:
  • a first acquiring unit configured to: according to the traffic statistics information, try to obtain a traffic message of each node controller at a predetermined time;
  • a second acquiring unit configured to acquire, according to the traffic packet, a sum of traffic controlled by the corresponding node controller at each time interval according to the traffic packet;
  • the calculating unit is configured to obtain a maximum value H i max of the sum of the flows of each node controller of all time intervals, and calculate a sum T i next of the traffic of each node controller of the next time interval according to the maximum value.
  • the adjusting module includes:
  • a third obtaining unit configured to acquire a first ratio of a sum of the flows T i next to the maximum value H i max ;
  • a fourth obtaining unit configured to acquire a first sum of a sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and obtain the first sum and the second sum Second ratio;
  • the adjusting unit is configured to adjust the switch controlled by each node controller according to the first ratio and the second ratio.
  • the adjusting unit includes:
  • a determining subunit configured to determine whether the first ratio is greater than the second ratio
  • the sub-unit is called, and if so, the switch to be called out of the switch controlled by the corresponding node controller is obtained, and the switch to be transferred is added to the pool to be transferred;
  • the sub-unit is called, and if not, the switch to be transferred by the corresponding node controller is obtained from the pool of the switch to be transferred.
  • the callout subunit is set to:
  • the switches that are controlled by the corresponding node controller accumulate the traffic in the ascending order of the traffic
  • the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
  • the call subunit is set to:
  • an embodiment of the present invention further provides a computer program, including program instructions, when the program instruction is executed by a super controller, so that the super controller can perform the method as described above.
  • an embodiment of the present invention further provides a carrier carrying the computer program as described above.
  • the network traffic balancing method and the super controller provided by the embodiments of the present invention create a manner in which controllers in the SDN cluster communicate with each other about traffic problems, and based on the predicted traffic of the node controller at the next time interval And the traffic statistics corresponding to the traffic carried by the node controller history to adjust the switch controlled by the node controller, thereby dynamically adjusting the traffic of the node controller in the SDN cluster; especially when the network traffic fluctuates greatly, The traffic load of the individual node controller is heavy, and the uneven traffic may cause bottlenecks in the node controller in the SDN cluster.
  • the present invention adjusts the switch controlled by the node controller to load the switch with smaller traffic to the traffic load.
  • the control of the node controller balances the traffic load of the node controller and can greatly improve the performance of the SDN cluster.
  • FIG. 1 is a schematic diagram of a method for network traffic balancing according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a refinement process of step S102 in FIG. 1;
  • step S103 in FIG. 1 is a schematic diagram showing the refinement process of step S103 in FIG. 1;
  • step S1033 in FIG. 3 is a schematic diagram of a refinement process of step S1033 in FIG. 3;
  • FIG. 5 is a schematic diagram of functional modules of a super controller according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a refinement function module of the calculation module in FIG. 5;
  • FIG. 7 is a schematic diagram of a refinement function module of the adjustment module in FIG. 5;
  • FIG. 8 is a schematic diagram of a refinement function module of the adjustment unit of FIG. 7.
  • the embodiment of the invention provides a method for network traffic balancing, which is referred to FIG. 1 , in this embodiment,
  • the method for balancing network traffic includes:
  • Step S101 The super controller in the software-defined network cluster sends a collection instruction to the multiple node controllers in each time interval, and acquires traffic statistics information returned by the node controller according to the collection instruction, where each time interval the same;;
  • the software-defined network SDN cluster has a super controller and a plurality of node controllers, and each of the plurality of node controllers controls a plurality of switches.
  • the super controller in the SDN cluster initiates scheduling of the node controller traffic of the managed cluster, and issues a collection instruction.
  • the time interval is determined by the service in the SDN cluster. When the network traffic unevenness has little impact on the service, the time interval is long. When the network traffic is uneven, the time interval is short. All the node controllers in the SDN cluster start to report their traffic, including: the node controller sends collection commands to all the switches it controls through the secure channel. The switch obtains traffic statistics according to the collection command and sends the statistics to the node controller. Traffic statistics of all the switches that are controlled, and then send the collected traffic statistics to the cluster distributed shared storage system. The traffic statistics include: controller number, switch label, switch traffic y, and timestamp x. This timestamp is the time at which traffic statistics are collected for all managed switches.
  • Step S102 Calculate, according to the traffic statistics information, a sum of traffic of the node controller at a next time interval;
  • the traffic controlled by each node controller in the next time interval can be calculated, that is, the node can be accurately predicted in the next time interval. Controlled traffic.
  • the traffic information of the predetermined n times to the controller of each node is obtained from the traffic statistics as a complete traffic packet, and each time corresponds to the time in each time interval, if not obtained.
  • a complete traffic message of a node controller needs to continue to collect traffic statistics of the node controller, and is not used as a node controller for calculating the sum of the traffic of the next time interval.
  • the node controller For the node controller that can obtain the complete traffic message, obtain the sum of the traffic of the switch that is controlled by each of the predetermined time intervals, and then obtain the maximum value of the sum of the n traffic, and use the maximum according to the maximum value.
  • the regression analysis calculates the sum of the traffic of the node controllers at the next interval.
  • the maximum value of the sum of the flows of each node controller is set to zero.
  • the sum of the traffic of the node controller of the next time interval can be calculated, which is used as a traffic prediction mode to adjust the switch controlled by the node controller.
  • Step S103 adjusting the switch controlled by the node controller based on the sum of the traffic statistics and the traffic.
  • the switch that is controlled by the node controller can be adjusted by using a pool to be transferred, and the pool to be transferred is set to be empty when starting the adjustment.
  • the switch when a switch controlled by a node controller with a large traffic load is called out, the switch can be called out to the pool of the switch to be transferred; and the controller of a node with a small traffic load is controlled.
  • the switch in the pool of the switch to be transferred can be transferred to the node controller for control, thereby achieving network traffic balance in the SDN cluster.
  • the switch corresponding to the called node controller number and the switch corresponding to the transferred node controller number are transferred.
  • the switch command is then exchanged according to the slave-master mechanism to implement switch adjustment.
  • This embodiment creates a way for the controllers in the SDN cluster to communicate with each other on the traffic problem, and based on the predicted traffic flow of the node controller at the next time interval and the traffic corresponding to the traffic carried by the node controller history. Statistical information to adjust the switches managed by the node controller to dynamically adjust the traffic of the node controllers in the SDN cluster.
  • This embodiment can improve the performance of the SDN cluster, especially when the network traffic fluctuates greatly, the traffic load of the individual node controller is heavy, and the uneven traffic may cause a bottleneck of the node controller in the SDN cluster.
  • the switch controlled by the controller transfers the switch with smaller traffic to the node controller with heavy traffic load, and balances the traffic of the node controller. Load, can greatly improve the performance of SDN cluster.
  • the foregoing step S102 may include:
  • Step S1021 Try to obtain a traffic message of each node controller at a predetermined time according to the traffic statistics information.
  • step S1022 when the acquisition succeeds, the sum of the traffic controlled by the corresponding node controller at each time interval is obtained according to the traffic message;
  • Step S1023 Acquire a maximum value H i max of the sum of the traffic of each node controller of all time intervals, and calculate a sum T i next of the traffic of each node controller of the next time interval according to the maximum value.
  • the traffic statistics information ⁇ controller number, switch label, switch traffic Y, timestamp X ⁇ , try to obtain the traffic packets of each node controller in the predetermined n times, and each time corresponds to each time interval. If the traffic information of a node controller is not obtained, the traffic statistics of the node controller need to be collected continuously, and the node controller is not used as the sum of the traffic of the next time interval. Node controller.
  • the super controller reads the traffic statistics of each node controller from the cluster distributed shared storage system, and attempts to obtain a complete traffic message with n time stamps of each node controller.
  • the complete traffic packet refers to all the different switch traffic packets obtained by the same node controller in the preset n timestamps.
  • the value of n ranges from 5 to 30.
  • step S101 If less than n complete traffic messages are obtained, the process returns to step S101.
  • H i max max ⁇ H i max , T1, T2, T3, T4, T5 ... Tn ⁇ , ie Tm is taken as the maximum value H i max .
  • the value is:
  • X and Y in the equation are the time stamp and the sum of the flows in Tm, respectively.
  • the foregoing step S103 may include:
  • Step S1031 Acquire a first ratio of the sum of the flows T i next to the maximum value H i max ;
  • Step S1032 Acquire a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and obtain the first sum and the second sum Second ratio;
  • Step S1033 Adjust the switch controlled by each node controller according to the first ratio and the second ratio.
  • the pool of the switch to be transferred is set to be empty, and the first ratio Pi of the sum of the flows of the node controllers T i next and the maximum value H i max is calculated:
  • step S1033 may include:
  • Step S10331 it is determined whether the first ratio is greater than the second ratio; if yes, then proceeds to step S10332, and if not, proceeds to step S10333;
  • Step S10332 Obtain a switch to be called out of the switch controlled by the corresponding node controller, and add the switch to be transferred to the pool to be transferred, and the process ends;
  • step S10333 the switch to be transferred by the corresponding node controller is obtained from the pool of the switch to be transferred, and the process ends.
  • the step S10332 may include: calculating, according to the maximum value H i max , the sum of the flows T i next and the second ratio, the callout traffic B osize of the corresponding node controller; and the switches controlled by the corresponding node controllers in ascending order of traffic When the accumulated traffic is greater than the outgoing traffic B osize , the switch that has acquired the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
  • the callout traffic B osize T i next -H i max *Pv is calculated.
  • the traffic information of the latest timestamp of the corresponding node controller is read from the cluster distributed shared storage system, and the switch number and switch traffic are extracted from the traffic information.
  • the switch controlled by the node controller is sorted in ascending order by the switch traffic size, and the switch queue is obtained.
  • the switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
  • the switch that has accumulated the traffic is obtained as the switch to be called out, and if the accumulated traffic is less than or equal to the called traffic B osize , the accumulated traffic is continued.
  • the node controller number to be transferred is empty.
  • Step S10333 includes: calculating, according to the maximum value H i max , the sum of the flows T i next and the second ratio, the incoming traffic B isize of the corresponding node controller; and ascending the traffic in the pool of the to-be-switched switch pool sequentially accumulating the flow; when the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into the corresponding node controller control.
  • the incoming traffic B isize H i max *Pv-T i next is calculated.
  • the switch In the pool to be mobilized, the switch is sorted in ascending order by the switch traffic size to obtain the switch queue. The switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
  • the node controller includes A, B, and C, and the switch controlled by the node controller A is S1, S2, and S3; the controllers controlled by the node controller B are S4 and S5; the switches controlled by the node controller C are S6, S7, and S8.
  • the obtained traffic statistics are as follows:
  • Node controller number A B C The sum of flows T i next 39.7 16.3 15.2 Maximum value H i max 36 16 31 Pi 1.1 1.0 0.49
  • An embodiment of the present invention further provides a super controller.
  • the super controller includes:
  • the collecting module 101 is configured to send a collection instruction to the plurality of node controllers in each time interval, and obtain flow statistics information returned by the node controller according to the collection instruction, where each time interval is the same;
  • the software-defined network SDN cluster has a super controller and a plurality of node controllers, and each of the plurality of node controllers controls a plurality of switches.
  • the super controller in the SDN cluster initiates scheduling of the node controller traffic of the managed cluster, and issues a collection instruction.
  • the time interval is determined by the service in the SDN cluster.
  • the time interval in which the network traffic is unevenly affected to the service is long, and the time interval in which the network traffic is uneven is large.
  • All the node controllers in the SDN cluster start to report their traffic, including: the node controller sends collection commands to all the switches it controls through the secure channel.
  • the switch obtains traffic statistics according to the collection command and sends the statistics to the node controller. Traffic statistics of all the switches that are controlled, and then send the collected traffic statistics to the cluster distributed shared storage system.
  • the traffic statistics include: controller number, switch label, switch traffic y, and timestamp x. This timestamp is the time at which traffic statistics are collected for all managed switches.
  • the calculating module 102 is configured to calculate, according to the traffic statistics, a sum of traffic of the node controller at a next time interval;
  • the next time interval can be calculated.
  • the traffic controlled by the node controller can accurately predict the traffic controlled by each node controller in the next time interval.
  • the traffic information of the predetermined n times to the controller of each node is obtained from the traffic statistics as a complete traffic packet, and each time corresponds to the time in each time interval, if not obtained.
  • a complete traffic message of a node controller needs to continue to collect traffic statistics of the node controller, and is not used as a node controller for calculating the sum of the traffic of the next time interval.
  • the node controller For the node controller that can obtain the complete traffic message, obtain the sum of the traffic of the switch that is controlled by each of the predetermined time intervals, and then obtain the maximum value of the sum of the n traffic, and use the maximum according to the maximum value.
  • the regression analysis calculates the sum of the traffic of the node controllers at the next interval.
  • the maximum value of the sum of the flows of each node controller is set to zero.
  • the sum of the traffic of the node controller of the next time interval can be calculated, which is used as a traffic prediction mode to adjust the switch controlled by the node controller.
  • the adjustment module 103 is configured to adjust the switch controlled by the node controller based on the sum of the traffic statistics and the traffic.
  • the switch that is controlled by the node controller can be adjusted by using a pool to be transferred, and the pool to be transferred is set to be empty when starting the adjustment.
  • the switch when a switch controlled by a node controller with a large traffic load is called out, the switch can be called out to the pool of the switch to be transferred; and the controller of a node with a small traffic load is controlled.
  • the switch in the pool of the switch to be transferred can be transferred to the node controller for control, thereby achieving network traffic balance in the SDN cluster.
  • each switch in the switch pool is to be mobilized, if the node controller is called If the number is not empty, transfer the switch command to the switch corresponding to the node controller number that is called and the switch corresponding to the node controller number that is transferred, and then switch according to the slave-master mechanism to implement switch adjustment.
  • the super controller creates a way for the controllers in the SDN cluster to communicate with each other on the traffic problem, and based on the predicted traffic flow of the node controller at the next time interval, and the traffic carried by the node controller history. Corresponding traffic statistics are used to adjust the switches managed by the node controller to dynamically adjust the traffic of the node controllers in the SDN cluster.
  • This embodiment can improve the performance of the SDN cluster, especially when the network traffic fluctuates greatly, the traffic load of the individual node controller is heavy, and the uneven traffic may cause a bottleneck of the node controller in the SDN cluster.
  • the switch controlled by the controller transfers the switch with smaller traffic to the node controller with heavy traffic load, and balances the traffic load of the node controller, which can greatly improve the performance of the SDN cluster.
  • the computing module 102 can include:
  • the first obtaining unit 1021 is configured to, according to the traffic statistics information, attempt to acquire a traffic message of each node controller at a predetermined time;
  • the second obtaining unit 1022 is configured to: when the obtaining succeeds, acquire, according to the traffic message, a sum of traffic controlled by the corresponding node controller at each time interval;
  • the calculating unit 1023 is configured to acquire a maximum value H i max of the sum of the flows of each node controller of all time intervals, and calculate a sum T i next of the traffic of each node controller of the next time interval according to the maximum value.
  • the traffic statistics information ⁇ controller number, switch label, switch traffic Y, timestamp X ⁇ , try to obtain the traffic packets of each node controller in the predetermined n times, and each time corresponds to each time interval. If the traffic information of a node controller is not obtained, the traffic statistics of the node controller need to be collected continuously, and the node controller is not used as the sum of the traffic of the next time interval. Node controller.
  • the first obtaining unit 1021 reads the traffic statistics of each node controller from the cluster distributed shared storage system, and attempts to obtain a complete traffic report of each node controller with n timestamps. Text.
  • a complete traffic message refers to the same timestamp of the same node controller. All different switch traffic messages and the timestamp is the most recent. The above n value ranges from 5 to 30.
  • the collection module 101 continues to send a collection instruction to the multiple node controllers in each time interval to obtain the traffic statistics returned by the node controller according to the collection instruction.
  • the node controller that obtains the complete traffic message reaches n is the node controller that meets the condition, and the second acquiring unit 1022 obtains the traffic that is controlled at each time of the n times.
  • X and Y in the equation are the time stamp and the sum of the flows in Tm, respectively.
  • the adjustment module 103 includes:
  • the third obtaining unit 1031 is configured to acquire a first ratio of the sum of the traffic T i next and the maximum value H i max ;
  • the fourth obtaining unit 1032 is configured to acquire a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and acquire the first a second ratio of the sum to the second sum;
  • the adjusting unit 1033 is configured to adjust the switch managed by each node controller according to the first ratio and the second ratio.
  • the pool to be transferred is set to be empty, and the third obtaining unit 1031 calculates a first ratio Pi of the sum of the traffic of the node controller T i next and the maximum value H i max :
  • the fourth obtaining unit 1032 calculates a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and calculates the first sum and the second sum Two ratio P V :
  • the adjusting unit 1033 may include:
  • the determining subunit 10331 is configured to determine whether the first ratio is greater than the second ratio
  • the sub-unit 10332 is called, and if so, the switch to be called out of the switch controlled by the corresponding node controller is obtained, and the switch to be called is added to the pool to be transferred;
  • the call to the sub-unit 10333 is set to be, if not, the switch to be transferred from the corresponding node controller is obtained from the pool of the switch to be transferred.
  • the callout subunit 10332 is configured to: calculate a callout traffic B osize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio; and control the corresponding node
  • the switch that manages the load accumulates the traffic in the ascending order of the traffic; when the accumulated traffic is greater than the buffered traffic, the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred. in.
  • the callout traffic B osize T i next -H i max *Pv is calculated.
  • the traffic information of the latest timestamp of the corresponding node controller is read from the cluster distributed shared storage system, and the switch number and switch traffic are extracted from the traffic information.
  • the switch controlled by the node controller is sorted in ascending order by the switch traffic size, and the switch queue is obtained.
  • the switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
  • the switch that obtains the accumulated traffic is used as the switch to be called out, and when the accumulated traffic is less than or equal to the called traffic B osize , the accumulated traffic is continued.
  • the node controller number to be transferred is empty.
  • the call-in sub-unit 10333 is configured to: calculate a call-in traffic Bizeize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio; switch switch pool in ascending order of cumulative traffic flow; and when the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into corresponding The node controller is in control.
  • the incoming traffic B isize H i max *Pv-T i next is calculated.
  • the switch In the pool to be mobilized, the switch is sorted in ascending order by the switch traffic size to obtain the switch queue. The switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
  • the above technical solution creates a way for the controllers in the SDN cluster to communicate with each other on the traffic problem, and based on the predicted traffic interval of the node controller at the next time interval, the node controller
  • the traffic statistics corresponding to the traffic carried by the history adjust the switch controlled by the node controller to dynamically adjust the traffic of the node controller in the SDN cluster; especially when the network traffic fluctuates greatly, the traffic load of the individual node controller When the traffic is uneven, the node controller in the SDN cluster may be bottlenecked.
  • the present invention adjusts the switch controlled by the node controller to switch the switch with smaller traffic to the node controller with heavy traffic load. Balancing the traffic load of the node controller can greatly improve the performance of the SDN cluster.

Abstract

A network traffic balancing method and a super controller. The network traffic balancing method comprises the steps of: a super controller in a software-defined network cluster sending a collection instruction to a plurality of node controllers within each time interval, to acquire traffic statistical information returned by the node controllers according to the collection instruction; according to the traffic statistical information, calculating the sum of traffic of the node controllers within the next time interval; and based on the traffic statistical information and the sum of traffic, adjusting a switch managed and controlled by the node controllers. The technical solution can balance the traffic load of the node controllers, thereby greatly improving the performance of an SDN cluster.

Description

网络流量均衡的方法及超级控制器Network traffic balancing method and super controller 技术领域Technical field
本发明不限于涉及通信技术领域,尤其涉及一种网络流量均衡的方法及超级控制器。The present invention is not limited to the field of communications technologies, and in particular, to a method and a super controller for network traffic balancing.
背景技术Background technique
在多控制器的软件定义网络(Software Defined Network,SDN)集群网络架构中,控制器是根据开放流(OpenFlow)协议设计的,设置为管理数据流、配置网络设备、制定流表(Flow Table)、承担网络业务与网络设备间的通讯等。软件定义网络中的交换机也支持OpenFlow协议。交换机由控制器管控,保存有控制器制定的流表,并通过查询流表表项来决定对报文的处理方式,包括报文转发、缓存、提交控制器或丢弃等。另外,OpenFlow协议中还提供安全通道,设置为连接交换机和控制器,以供二者进行通信。In a multi-controller Software Defined Network (SDN) cluster network architecture, the controller is designed according to the OpenFlow protocol, and is configured to manage data flows, configure network devices, and formulate flow tables. To undertake communication between network services and network equipment. Switches in software-defined networks also support the OpenFlow protocol. The switch is controlled by the controller, and the flow table defined by the controller is saved. The flow table entry is queried to determine the processing mode of the packet, including packet forwarding, buffering, submitting the controller, or discarding. In addition, the OpenFlow protocol provides a secure channel that is configured to connect the switch to the controller for communication.
在软件定义网络集群网络架构中,如果某一控制器管控的交换机总流量较大,则产生较大的网络控制流,这些管控较大流量的控制器容易成为整个控制器集群的瓶颈,即某些控制器流量负载很高,而另一些控制器管控总流量可能较少,远远未饱和,这样将影响集群对网络的管控及集群的性能,特别是在网络流量出现较大波动时,如果仅仅根据实时网络状态来调整流量容易引起较多次调整,网络出现抖动,集群的性能大大降低。In a software-defined network cluster network architecture, if the total traffic of a controller controlled by a certain controller is large, a large network control flow is generated, and these controllers that control a large flow rate easily become a bottleneck of the entire controller cluster, that is, a certain Some controllers have high traffic load, while others may control less total traffic and are far less saturated. This will affect the cluster's control over the network and the performance of the cluster, especially if there is a large fluctuation in network traffic. Adjusting the traffic based on the real-time network status is likely to cause more adjustments, and the network is jittery, and the performance of the cluster is greatly reduced.
发明内容Summary of the invention
本发明实施例提供了一种网络流量均衡的方法及超级控制器,其主要目的在于解决软件定义网络集群中控制器管控的流量不均匀而降低集群的性能的技术问题。The embodiment of the invention provides a network traffic balancing method and a super controller, and the main purpose thereof is to solve the technical problem that the controllers control the traffic unevenness in the software-defined network cluster and reduce the performance of the cluster.
为解决上述技术问题,本发明实施例提供了一种网络流量均衡的方法,所述网络流量均衡的方法包括以下步骤:To solve the above technical problem, the embodiment of the present invention provides a method for network traffic balancing, and the method for balancing network traffic includes the following steps:
软件定义网络集群中的超级控制器在每个时间间隔内向多个节点控制器发送收集指令,获取所述节点控制器根据所述收集指令返回的流量统计信息, 所述每个时间间隔相同;The super controller in the software-defined network cluster sends a collection instruction to the plurality of node controllers in each time interval, and obtains traffic statistics returned by the node controller according to the collection instruction. Each of the time intervals is the same;
所述超级控制器根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和;The super controller calculates, according to the traffic statistics, a sum of traffic of the node controller at a next time interval;
所述超级控制器基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整。The super controller adjusts the switch managed by the node controller based on the sum of the traffic statistics and the traffic.
可选地,所述根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和的步骤包括:Optionally, the step of calculating the sum of the traffic of the node controller in the next time interval according to the traffic statistics information includes:
根据所述流量统计信息尝试获取预定个时刻每一节点控制器的流量报文;And attempting to obtain a traffic message of each node controller at a predetermined time according to the traffic statistics information;
当获取成功时,根据所述流量报文获取对应的节点控制器在每一时间间隔管控的流量之和;When the acquisition succeeds, the sum of the traffic controlled by the corresponding node controller at each time interval is obtained according to the traffic message;
获取所有时间间隔每一节点控制器的流量之和的最大值Hi max,根据所述最大值计算下一时间间隔每一节点控制器的流量之和Ti nextThe maximum value H i max of the sum of the traffic of each node controller of all time intervals is obtained, and the sum of the flows of each node controller of the next time interval T i next is calculated according to the maximum value.
可选地,所述基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整的步骤包括:Optionally, the step of adjusting the switch controlled by the node controller based on the sum of the traffic statistics and the traffic includes:
获取所述流量之和Ti next与所述最大值Hi max的第一比值;Obtaining a first ratio of the sum of the flows T i next to the maximum value H i max ;
获取节点控制器所有的流量之和Ti next的第一总和及节点控制器所有的最大值Hi max的第二总和,并获取所述第一总和与第二总和的第二比值;Obtaining a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and acquiring a second ratio of the first sum to the second sum;
根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整。The switch controlled by each node controller is adjusted according to the first ratio and the second ratio.
可选地,所述根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整的步骤包括:Optionally, the step of adjusting the switch controlled by each node controller according to the first ratio and the second ratio includes:
判断所述第一比值是否大于所述第二比值;Determining whether the first ratio is greater than the second ratio;
若是,则获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中;If yes, obtain the switch to be transferred from the switch that is controlled by the corresponding node controller, and add the switch to be transferred to the pool to be transferred;
若否,则从所述待调动交换机池中获取对应的节点控制器需调入的交换机。If not, the switch to be tuned to the corresponding node controller is obtained from the pool of the switch to be transferred.
可选地,所述获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中的步骤包括:Optionally, the step of acquiring the switch to be invoked in the switch controlled by the corresponding node controller, and adding the switch to be transferred to the pool of the switch to be transferred includes:
根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器 的调出流量BosizeCalculating a callout flow B osize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
对对应的节点控制器管控的交换机按流量升序的顺序累加流量;The switches that are controlled by the corresponding node controller accumulate the traffic in the ascending order of the traffic;
当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作为需调出的交换机,将需调出的交换机加入待调动交换机池中。When the accumulated traffic is greater than the buffered traffic, the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
可选地,所述从所述待调动交换机池中获取对应的节点控制器需调入的交换机的步骤包括:Optionally, the step of obtaining, from the pool of the switch to be transferred, the switch that the corresponding node controller needs to load:
根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调入流量BisizeCalculating the incoming traffic B isize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
对所述待调动交换机池中的交换机按流量升序的顺序累加流量;And accumulating traffic in the ascending order of the switches in the pool of the switch to be transferred;
当所累加的流量大于所述调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,将需调入的交换机转入对应的节点控制器进行管控。When the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into the corresponding node controller control.
为解决上述技术问题,本发明实施例提供了一种超级控制器,所述超级控制器包括:To solve the above technical problem, an embodiment of the present invention provides a super controller, where the super controller includes:
收集模块,设置为在每个时间间隔内向多个节点控制器发送收集指令,获取所述节点控制器根据所述收集指令返回的流量统计信息,所述每个时间间隔相同;a collecting module, configured to send a collection instruction to the plurality of node controllers in each time interval, and obtain flow statistics information returned by the node controller according to the collection instruction, where each time interval is the same;
计算模块,设置为根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和;a calculation module, configured to calculate, according to the traffic statistics, a sum of traffic of the node controller at a next time interval;
调整模块,设置为基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整。The adjustment module is configured to adjust the switch controlled by the node controller based on the sum of the traffic statistics and the traffic.
可选地,所述计算模块包括:Optionally, the calculating module includes:
第一获取单元,设置为根据所述流量统计信息尝试获取预定个时刻每一节点控制器的流量报文;a first acquiring unit, configured to: according to the traffic statistics information, try to obtain a traffic message of each node controller at a predetermined time;
第二获取单元,设置为当获取成功时,根据所述流量报文获取对应的节点控制器在每一时间间隔管控的流量之和;a second acquiring unit, configured to acquire, according to the traffic packet, a sum of traffic controlled by the corresponding node controller at each time interval according to the traffic packet;
计算单元,设置为获取所有时间间隔每一节点控制器的流量之和的最大值Hi max,根据所述最大值计算下一时间间隔每一节点控制器的流量之和Ti nextThe calculating unit is configured to obtain a maximum value H i max of the sum of the flows of each node controller of all time intervals, and calculate a sum T i next of the traffic of each node controller of the next time interval according to the maximum value.
可选地,所述调整模块包括:Optionally, the adjusting module includes:
第三获取单元,设置为获取所述流量之和Ti next与所述最大值Hi max的第 一比值;a third obtaining unit, configured to acquire a first ratio of a sum of the flows T i next to the maximum value H i max ;
第四获取单元,设置为获取节点控制器所有的流量之和Ti next的第一总和及节点控制器所有的最大值Hi max的第二总和,并获取所述第一总和与第二总和的第二比值;a fourth obtaining unit, configured to acquire a first sum of a sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and obtain the first sum and the second sum Second ratio;
调整单元,设置为根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整。The adjusting unit is configured to adjust the switch controlled by each node controller according to the first ratio and the second ratio.
可选地,所述调整单元包括:Optionally, the adjusting unit includes:
判断子单元,设置为判断所述第一比值是否大于所述第二比值;a determining subunit, configured to determine whether the first ratio is greater than the second ratio;
调出子单元,设置为若是,则获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中;The sub-unit is called, and if so, the switch to be called out of the switch controlled by the corresponding node controller is obtained, and the switch to be transferred is added to the pool to be transferred;
调入子单元,设置为若否,则从所述待调动交换机池中获取对应的节点控制器需调入的交换机。The sub-unit is called, and if not, the switch to be transferred by the corresponding node controller is obtained from the pool of the switch to be transferred.
可选地,所述调出子单元是设置为:Optionally, the callout subunit is set to:
根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调出流量BosizeCalculating a callout flow B osize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
对对应的节点控制器管控的交换机按流量升序的顺序累加流量;The switches that are controlled by the corresponding node controller accumulate the traffic in the ascending order of the traffic;
当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作为需调出的交换机,将需调出的交换机加入待调动交换机池中。When the accumulated traffic is greater than the buffered traffic, the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
可选地,所述调入子单元是设置为:Optionally, the call subunit is set to:
根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调入流量BisizeCalculating the incoming traffic B isize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
对所述待调动交换机池中的交换机按流量升序的顺序累加流量;And accumulating traffic in the ascending order of the switches in the pool of the switch to be transferred;
当所累加的流量大于所述调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,将需调入的交换机转入对应的节点控制器进行管控。When the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into the corresponding node controller control.
为解决上述技术问题,本发明实施例还提供了一种计算机程序,包括程序指令,当所述程序指令被超级控制器执行时,使得该超级控制器可执行如上所述的方法。 In order to solve the above technical problem, an embodiment of the present invention further provides a computer program, including program instructions, when the program instruction is executed by a super controller, so that the super controller can perform the method as described above.
为解决上述技术问题,本发明实施例还提供了一种载有如上所述计算机程序的载体。In order to solve the above technical problem, an embodiment of the present invention further provides a carrier carrying the computer program as described above.
本发明实施例提供的网络流量均衡的方法及超级控制器,其创建了一种SDN集群内的控制器之间就流量问题彼此通信的方式,并基于预测的下一时间间隔节点控制器的流量之和、节点控制器历史所承载的流量对应的流量统计信息,来调整节点控制器所管控的交换机,从而动态地调整SDN集群中节点控制器的流量;特别是当网络流量波动较大时,个别节点控制器的流量负载较重,流量不均匀可能导致SDN集群中节点控制器出现瓶颈,而本发明通过调整节点控制器所管控的交换机,将流量较小的交换机调入至流量负载较重的节点控制器中管控,均衡了节点控制器的流量负载,能大大改善SDN集群性能。The network traffic balancing method and the super controller provided by the embodiments of the present invention create a manner in which controllers in the SDN cluster communicate with each other about traffic problems, and based on the predicted traffic of the node controller at the next time interval And the traffic statistics corresponding to the traffic carried by the node controller history to adjust the switch controlled by the node controller, thereby dynamically adjusting the traffic of the node controller in the SDN cluster; especially when the network traffic fluctuates greatly, The traffic load of the individual node controller is heavy, and the uneven traffic may cause bottlenecks in the node controller in the SDN cluster. The present invention adjusts the switch controlled by the node controller to load the switch with smaller traffic to the traffic load. The control of the node controller balances the traffic load of the node controller and can greatly improve the performance of the SDN cluster.
附图概述BRIEF abstract
图1为本发明实施例的网络流量均衡的方法示意图;FIG. 1 is a schematic diagram of a method for network traffic balancing according to an embodiment of the present invention; FIG.
图2为图1中步骤S102的细化流程示意图;2 is a schematic diagram of a refinement process of step S102 in FIG. 1;
图3为图1中步骤S103的细化流程示意图;3 is a schematic diagram showing the refinement process of step S103 in FIG. 1;
图4为图3中步骤S1033的细化流程示意图;4 is a schematic diagram of a refinement process of step S1033 in FIG. 3;
图5为本发明实施例的超级控制器的功能模块示意图;FIG. 5 is a schematic diagram of functional modules of a super controller according to an embodiment of the present invention; FIG.
图6为图5中计算模块的细化功能模块示意图;6 is a schematic diagram of a refinement function module of the calculation module in FIG. 5;
图7为图5中调整模块的细化功能模块示意图;7 is a schematic diagram of a refinement function module of the adjustment module in FIG. 5;
图8为图7中调整单元的细化功能模块示意图。FIG. 8 is a schematic diagram of a refinement function module of the adjustment unit of FIG. 7.
本发明的较佳实施方式Preferred embodiment of the invention
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
本发明实施例提供一种网络流量均衡的方法,参照图1,在该实施例中, 该网络流量均衡的方法包括:The embodiment of the invention provides a method for network traffic balancing, which is referred to FIG. 1 , in this embodiment, The method for balancing network traffic includes:
步骤S101,软件定义网络集群中的超级控制器在每个时间间隔内向多个节点控制器发送收集指令,获取所述节点控制器根据所述收集指令返回的流量统计信息,所述每个时间间隔相同;;Step S101: The super controller in the software-defined network cluster sends a collection instruction to the multiple node controllers in each time interval, and acquires traffic statistics information returned by the node controller according to the collection instruction, where each time interval the same;;
本实施例中,软件定义网络SDN集群中具有一超级控制器及多个节点控制器,而多个节点控制器中的每一个节点控制器管控多个交换机。在相同的时间间隔内,由SDN集群中的超级控制器发起所管控集群的节点控制器流量的调度,发出收集指令。In this embodiment, the software-defined network SDN cluster has a super controller and a plurality of node controllers, and each of the plurality of node controllers controls a plurality of switches. During the same time interval, the super controller in the SDN cluster initiates scheduling of the node controller traffic of the managed cluster, and issues a collection instruction.
其中,上述时间间隔由SDN集群中的业务决定,网络流量不均匀对业务影响不大时,时间间隔则长,网络流量不均匀对业务影响大时,时间间隔则短。SDN集群中所有节点控制器开始上报其流量,包括:节点控制器通过安全通道向其管控的所有交换机发送收集指令,交换机根据收集指令获取流量统计信息并发送给节点控制器,节点控制器获取其管控的所有交换机的流量统计信息,然后向集群分布式共享存储***发送所获取的流量统计信息,其中流量统计信息包括:控制器编号,交换机标号,交换机流量y,和时间戳x。该时间戳是指收集到所有管控交换机的流量统计信息的时刻。The time interval is determined by the service in the SDN cluster. When the network traffic unevenness has little impact on the service, the time interval is long. When the network traffic is uneven, the time interval is short. All the node controllers in the SDN cluster start to report their traffic, including: the node controller sends collection commands to all the switches it controls through the secure channel. The switch obtains traffic statistics according to the collection command and sends the statistics to the node controller. Traffic statistics of all the switches that are controlled, and then send the collected traffic statistics to the cluster distributed shared storage system. The traffic statistics include: controller number, switch label, switch traffic y, and timestamp x. This timestamp is the time at which traffic statistics are collected for all managed switches.
步骤S102,根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和;Step S102: Calculate, according to the traffic statistics information, a sum of traffic of the node controller at a next time interval;
本实施例中,以所获取的流量统计信息,可以计算得到下一时间间隔每个节点控制器所管控的流量,即通过这种方式可以较准确地预测下一时间间隔每个节点控制器所管控的流量。In this embodiment, with the obtained traffic statistics, the traffic controlled by each node controller in the next time interval can be calculated, that is, the node can be accurately predicted in the next time interval. Controlled traffic.
本实施例中,需要从流量统计信息中获取预定n个时刻到每一节点控制器的流量信息作为一完整的流量报文,每一时刻对应为每一时间间隔中的时刻,如果没有获取到某一节点控制器的完整的流量报文,则需要继续收集该节点控制器的流量统计信息,不作为计算下一时间间隔的流量之和的节点控制器。In this embodiment, the traffic information of the predetermined n times to the controller of each node is obtained from the traffic statistics as a complete traffic packet, and each time corresponds to the time in each time interval, if not obtained. A complete traffic message of a node controller needs to continue to collect traffic statistics of the node controller, and is not used as a node controller for calculating the sum of the traffic of the next time interval.
对于能够获取完整的流量报文的节点控制器,获取预定n个时刻中对应每一个时间间隔其管控的交换机的流量之和,然后获取这n个流量之和的最大值,根据该最大值利用回归分析计算得到下一时间间隔节点控制器的流量之和。 For the node controller that can obtain the complete traffic message, obtain the sum of the traffic of the switch that is controlled by each of the predetermined time intervals, and then obtain the maximum value of the sum of the n traffic, and use the maximum according to the maximum value. The regression analysis calculates the sum of the traffic of the node controllers at the next interval.
本实施例中,在开始对节点控制器管控的交换机进行调整时,对每个节点控制器的流量之和的最大值设为0。In this embodiment, when the switch that controls the node controller is started to be adjusted, the maximum value of the sum of the flows of each node controller is set to zero.
本实施例中,通过获取节点控制器历史承载的流量,可以计算下一时间间隔节点控制器的流量之和,其作为一种流量预测的方式,为对节点控制器管控的交换机进行调整做较好的基础,以便调整节点控制器管控的交换机。In this embodiment, by obtaining the traffic carried by the node controller historically, the sum of the traffic of the node controller of the next time interval can be calculated, which is used as a traffic prediction mode to adjust the switch controlled by the node controller. A good foundation to adjust the switches that the node controller controls.
步骤S103,基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整。Step S103, adjusting the switch controlled by the node controller based on the sum of the traffic statistics and the traffic.
本实施例中,对节点控制器管控的交换机进行调整可利用一待调动交换机池,在开始调整时,将该待调动交换机池设为空。In this embodiment, the switch that is controlled by the node controller can be adjusted by using a pool to be transferred, and the pool to be transferred is set to be empty when starting the adjustment.
本实施例中,在获取n个流量之和的最大值及下一时间间隔节点控制器的流量之和后,还需要计算节点控制器的所有流量之和Ti next的总和及所有最大值Hi max的总和,然后根据最大值、流量之和、所有的流量之和Ti next的总和及所有的最大值Hi max的总和这四个值对节点控制器管控的交换机进行调整。In this embodiment, after obtaining the sum of the sum of the n traffic and the traffic of the node controller of the next time interval, it is also required to calculate the sum of the total flows of the node controllers T i next and all the maximum values H. The sum of i max is then adjusted for the switch controlled by the node controller according to the sum of the maximum value, the sum of the flows, the sum of all the flows T i next and the sum of all the maximum values H i max .
本实施例中,例如,将流量负载较大的某一节点控制器管控的交换机调出时,可将交换机调出至待调动交换机池中;对流量负载较小的某一节点控制器管控的交换机调出时,则可以将待调动交换机池中的交换机调入至该节点控制器进行管控,从而实现SDN集群中网络流量的均衡。In this embodiment, for example, when a switch controlled by a node controller with a large traffic load is called out, the switch can be called out to the pool of the switch to be transferred; and the controller of a node with a small traffic load is controlled. When the switch is called out, the switch in the pool of the switch to be transferred can be transferred to the node controller for control, thereby achieving network traffic balance in the SDN cluster.
本实施例中,对待调动交换机池中每一交换机,若调入的节点控制器编号不为空,则向调出的节点控制器编号对应的交换机和调入的节点控制器编号对应的交换机转移交换机命令,然后依据slave-master机制调换,实现交换机调整。In this embodiment, if each node in the switch pool is to be transferred, if the node controller number to be transferred is not empty, the switch corresponding to the called node controller number and the switch corresponding to the transferred node controller number are transferred. The switch command is then exchanged according to the slave-master mechanism to implement switch adjustment.
本实施例创建了一种SDN集群内的控制器之间就流量问题彼此通信的方式,并基于预测的下一时间间隔节点控制器的流量之和、节点控制器历史所承载的流量对应的流量统计信息,来调整节点控制器所管控的交换机,从而动态地调整SDN集群中节点控制器的流量。This embodiment creates a way for the controllers in the SDN cluster to communicate with each other on the traffic problem, and based on the predicted traffic flow of the node controller at the next time interval and the traffic corresponding to the traffic carried by the node controller history. Statistical information to adjust the switches managed by the node controller to dynamically adjust the traffic of the node controllers in the SDN cluster.
本实施例能够提高SDN集群的性能,特别是当网络流量波动较大,个别节点控制器的流量负载较重,流量不均匀可能导致SDN集群中节点控制器出现瓶颈时,本实施例通过调整节点控制器所管控的交换机,将流量较小的交换机调入至流量负载较重的节点控制器中管控,均衡了节点控制器的流量负 载,能大大改善SDN集群性能。This embodiment can improve the performance of the SDN cluster, especially when the network traffic fluctuates greatly, the traffic load of the individual node controller is heavy, and the uneven traffic may cause a bottleneck of the node controller in the SDN cluster. The switch controlled by the controller transfers the switch with smaller traffic to the node controller with heavy traffic load, and balances the traffic of the node controller. Load, can greatly improve the performance of SDN cluster.
如图2所示,在上述图1的实施例的基础上,上述步骤S102可以包括:As shown in FIG. 2, based on the foregoing embodiment of FIG. 1, the foregoing step S102 may include:
步骤S1021,根据所述流量统计信息尝试获取预定个时刻每一节点控制器的流量报文;Step S1021: Try to obtain a traffic message of each node controller at a predetermined time according to the traffic statistics information.
步骤S1022,当获取成功时,根据所述流量报文获取对应的节点控制器在每一时间间隔管控的流量之和;In step S1022, when the acquisition succeeds, the sum of the traffic controlled by the corresponding node controller at each time interval is obtained according to the traffic message;
步骤S1023,获取所有时间间隔每一节点控制器的流量之和的最大值Hi max,根据所述最大值计算下一时间间隔每一节点控制器的流量之和Ti nextStep S1023: Acquire a maximum value H i max of the sum of the traffic of each node controller of all time intervals, and calculate a sum T i next of the traffic of each node controller of the next time interval according to the maximum value.
本实施例中,根据流量统计信息{控制器编号,交换机标号,交换机流量Y,时间戳X}尝试获取预定n个时刻每一节点控制器的流量报文,每一时刻对应为每一时间间隔中的时刻,如果没有获取到某一节点控制器的完整的流量报文,则需要继续收集该节点控制器的流量统计信息,不将该节点控制器作为计算下一时间间隔的流量之和的节点控制器。In this embodiment, according to the traffic statistics information {controller number, switch label, switch traffic Y, timestamp X}, try to obtain the traffic packets of each node controller in the predetermined n times, and each time corresponds to each time interval. If the traffic information of a node controller is not obtained, the traffic statistics of the node controller need to be collected continuously, and the node controller is not used as the sum of the traffic of the next time interval. Node controller.
本实施例可根据时间戳X,超级控制器从集群分布式共享存储***中读取每个节点控制器流量统计信息,并尝试获取每个节点控制器n个时间戳的完整的流量报文。完整的流量报文是指同一节点控制器在预设n个时间戳获取到的所有不同的交换机流量报文,上述n取值范围为5到30。In this embodiment, according to the timestamp X, the super controller reads the traffic statistics of each node controller from the cluster distributed shared storage system, and attempts to obtain a complete traffic message with n time stamps of each node controller. The complete traffic packet refers to all the different switch traffic packets obtained by the same node controller in the preset n timestamps. The value of n ranges from 5 to 30.
若获取完整的流量报文不到n个,则返回执行上述步骤S101。If less than n complete traffic messages are obtained, the process returns to step S101.
若获取完整的流量报文达到n个,则获取完整的流量报文达到n个的节点控制器为符合条件的节点控制器,超级控制器获得其n个时刻每一时刻管控的流量之和:T1、T2、T3、T4、T5......Tn,即获得了这样的数据:Ti={控制器编号、时间戳X、流量之和Y}。If the number of complete traffic packets reaches n, the node controller that obtains the complete traffic packet reaches n is the qualified node controller, and the super controller obtains the sum of the traffic controlled at each time of the n times: T1, T2, T3, T4, T5, ... Tn, that is, such data is obtained: Ti = {controller number, time stamp X, sum of flow rates Y}.
若上述n个流量之和中,流量最大的那一个Tm,比节点控制器的历史流量之和最大的Hi max还大,则将Tm赋值给Hi max,即Hi max=max{Hi max,T1,T2,T3,T4,T5......Tn},即Tm作为最大值Hi maxIf the sum of the above n traffic flows, the Tm with the largest flow rate is greater than the maximum H i max of the sum of the historical flows of the node controller, the Tm is assigned to H i max , that is, H i max =max{H i max , T1, T2, T3, T4, T5 ... Tn}, ie Tm is taken as the maximum value H i max .
对符合条件的节点控制器中的每一个节点控制器,使用最小二乘法,对Tm利用回归分析计算得出下一时间间隔的流量之和Ti next=α+β*x,其中α、β为两个参数,其值为: For each node controller in the qualified node controller, using the least squares method, the regression analysis of Tm is used to calculate the sum of the flows of the next time interval T i next =α+β*x, where α, β For two parameters, the value is:
Figure PCTCN2014092213-appb-000001
Figure PCTCN2014092213-appb-000001
式子中X、Y分别为Tm中的时间戳、流量之和。X and Y in the equation are the time stamp and the sum of the flows in Tm, respectively.
如图3所示,在上述图2的实施例的基础上,上述步骤S103可以包括:As shown in FIG. 3, based on the foregoing embodiment of FIG. 2, the foregoing step S103 may include:
步骤S1031,获取所述流量之和Ti next与所述最大值Hi max的第一比值;Step S1031: Acquire a first ratio of the sum of the flows T i next to the maximum value H i max ;
步骤S1032,获取所述节点控制器所有的流量之和Ti next的第一总和及所述节点控制器所有的最大值Hi max的第二总和,并获取所述第一总和与第二总和的第二比值;Step S1032: Acquire a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and obtain the first sum and the second sum Second ratio;
步骤S1033,根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整。Step S1033: Adjust the switch controlled by each node controller according to the first ratio and the second ratio.
本实施例中,将待调动交换机池设为空,计算节点控制器的流量之和Ti next与所述最大值Hi max的第一比值Pi:In this embodiment, the pool of the switch to be transferred is set to be empty, and the first ratio Pi of the sum of the flows of the node controllers T i next and the maximum value H i max is calculated:
Figure PCTCN2014092213-appb-000002
Figure PCTCN2014092213-appb-000002
上述待调动交换机池装载这样的元素E={转出控制器编号,交换机编号,交换机流量,转入控制器编号}。The above-mentioned to-be-switched switch pool loads such elements E={transfer controller number, switch number, switch traffic, and transfer to controller number}.
计算节点控制器所有的流量之和Ti next的第一总和及所述节点控制器所有的最大值Hi max的第二总和,并计算第一总和与第二总和的第二比值PVCalculating a first sum of the sums of all the flows of the node controller T i next and a second sum of all the maximum values H i max of the node controllers, and calculating a second ratio P V of the first sum and the second sum:
Figure PCTCN2014092213-appb-000003
Figure PCTCN2014092213-appb-000003
如图4所示,在上述图3的实施例的基础上,步骤S1033可以包括:As shown in FIG. 4, based on the foregoing embodiment of FIG. 3, step S1033 may include:
步骤S10331,判断所述第一比值是否大于所述第二比值;若是,则进入步骤S10332,若否,进入步骤S10333;Step S10331, it is determined whether the first ratio is greater than the second ratio; if yes, then proceeds to step S10332, and if not, proceeds to step S10333;
步骤S10332,获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中,流程结束;Step S10332: Obtain a switch to be called out of the switch controlled by the corresponding node controller, and add the switch to be transferred to the pool to be transferred, and the process ends;
步骤S10333,从所述待调动交换机池中获取对应的节点控制器需调入的交换机,流程结束。 In step S10333, the switch to be transferred by the corresponding node controller is obtained from the pool of the switch to be transferred, and the process ends.
步骤S10332可以包括:根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调出流量Bosize;对对应的节点控制器管控的交换机按流量升序的顺序累加流量;当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作为需调出的交换机,将需调出的交换机加入待调动交换机池中。The step S10332 may include: calculating, according to the maximum value H i max , the sum of the flows T i next and the second ratio, the callout traffic B osize of the corresponding node controller; and the switches controlled by the corresponding node controllers in ascending order of traffic When the accumulated traffic is greater than the outgoing traffic B osize , the switch that has acquired the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
其中,对于节点控制器,计算调出流量Bosize=Ti next-Hi max*Pv。Wherein, for the node controller, the callout traffic B osize =T i next -H i max *Pv is calculated.
从集群分布式共享存储***中读取对应节点控制器最新时间戳的流量信息,从流量信息中提取出交换机编号,交换机流量。The traffic information of the latest timestamp of the corresponding node controller is read from the cluster distributed shared storage system, and the switch number and switch traffic are extracted from the traffic information.
以交换机流量大小对该节点控制器管控的交换机进行升序排列,获得交换机队列,从交换机队列中自上而下选择交换机,并累加交换机的流量。The switch controlled by the node controller is sorted in ascending order by the switch traffic size, and the switch queue is obtained. The switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作为需调出的交换机,如果所累加的流量小于或等于所述调出流量Bosize,继续累加流量。When the accumulated traffic is greater than the called traffic B osize , the switch that has accumulated the traffic is obtained as the switch to be called out, and if the accumulated traffic is less than or equal to the called traffic B osize , the accumulated traffic is continued.
将需调出的交换机的编号、控制器编号、交换机流量等信息加入到待调动交换机池,其中转入的节点控制器编号为空。Add the number of the switch to be transferred, the controller ID, and the traffic of the switch to the pool to be transferred. The node controller number to be transferred is empty.
步骤S10333包括:根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调入流量Bisize;对所述待调动交换机池中的交换机按流量升序的顺序累加流量;当所累加的流量大于所述调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,将需调入的交换机转入对应的节点控制器进行管控。Step S10333 includes: calculating, according to the maximum value H i max , the sum of the flows T i next and the second ratio, the incoming traffic B isize of the corresponding node controller; and ascending the traffic in the pool of the to-be-switched switch pool sequentially accumulating the flow; when the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into the corresponding node controller control.
其中,对于节点控制器,计算调入流量Bisize=Hi max*Pv-Ti nextWherein, for the node controller, the incoming traffic B isize =H i max *Pv-T i next is calculated.
在待调动交换机池中,以交换机流量大小对交换机升序排列,获得交换机队列,从交换机队列中自上而下选择交换机,并累加交换机的流量。In the pool to be mobilized, the switch is sorted in ascending order by the switch traffic size to obtain the switch queue. The switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
当所累加的流量大于调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,当所累加的流量小于或等于调入流量Bisize时,继续累加流量。将待调动交换机池中与这个交换机对应的元素转入对应的节点控制器。When the accumulated transferred traffic flow is greater than B isize, has acquired the integrated flow rate switch switches transferred as required, when the accumulated traffic flow is less than or equal to tune B isize, flow continues to accumulate. The element corresponding to the switch in the pool to be transferred is transferred to the corresponding node controller.
以下以实例对本发明实施例的方案进行说明:假设n=5,5个时刻T=2、11、20、29、38,节点控制器包括A、B及C,节点控制器A管控的交换机为S1、S2及S3;节点控制器B管控的交换机为S4、S5;节点控制器C管控的交换机为S6、S7及S8,获取到的流量统计信息如下表1所示: The following describes the solution of the embodiment of the present invention by using an example: assuming that n=5, five times T=2, 11, 20, 29, 38, the node controller includes A, B, and C, and the switch controlled by the node controller A is S1, S2, and S3; the controllers controlled by the node controller B are S4 and S5; the switches controlled by the node controller C are S6, S7, and S8. The obtained traffic statistics are as follows:
Figure PCTCN2014092213-appb-000004
Figure PCTCN2014092213-appb-000004
表1Table 1
计算节点控制器A、B及C的流量之和Ti next、最大值Hi max及第一比值Pi,计算第二比值PV=0.87;如下述表2所示:Calculate the second ratio P V =0.87 by calculating the sum of the flow rates T i next , the maximum value H i max and the first ratio Pi of the node controllers A, B and C; as shown in Table 2 below:
节点控制器编号Node controller number AA BB CC
流量之和Ti next The sum of flows T i next 39.739.7 16.316.3 15.215.2
最大值Hi max Maximum value H i max 3636 1616 3131
PiPi 1.11.1 1.01.0 0.490.49
表2Table 2
由于1.1>0.87、1.0>0.87,因此将节点控制器A的交换机S1调出,将节点控制器B的交换机S4调出,而0.49<0.87,因此,可将交换机S1、S4调入节点控制器C来管控,如下表3所示: Since 1.1>0.87, 1.0>0.87, the switch S1 of the node controller A is called out, and the switch S4 of the node controller B is called out, and 0.49<0.87, therefore, the switches S1 and S4 can be transferred to the node controller. C to control, as shown in Table 3 below:
Figure PCTCN2014092213-appb-000005
Figure PCTCN2014092213-appb-000005
表3table 3
从上述表3可以看出,节点控制器所管控的交换机经调整后,SDN集群中节点控制器的总流量实现均衡。It can be seen from the above Table 3 that after the switch controlled by the node controller is adjusted, the total traffic of the node controllers in the SDN cluster is balanced.
本发明实施例还提供一种超级控制器,如图5所示,在一实施例中,所述超级控制器包括:An embodiment of the present invention further provides a super controller. As shown in FIG. 5, in an embodiment, the super controller includes:
收集模块101,设置为在每个时间间隔内向多个节点控制器发送收集指令,获取所述节点控制器根据所述收集指令返回的流量统计信息,所述每个时间间隔相同;The collecting module 101 is configured to send a collection instruction to the plurality of node controllers in each time interval, and obtain flow statistics information returned by the node controller according to the collection instruction, where each time interval is the same;
本实施例中,软件定义网络SDN集群中具有一超级控制器及多个节点控制器,而多个节点控制器中的每一个节点控制器管控多个交换机。在相同的时间间隔的时刻,由SDN集群中的超级控制器发起所管控集群的节点控制器流量的调度,发出收集指令。In this embodiment, the software-defined network SDN cluster has a super controller and a plurality of node controllers, and each of the plurality of node controllers controls a plurality of switches. At the same time interval, the super controller in the SDN cluster initiates scheduling of the node controller traffic of the managed cluster, and issues a collection instruction.
其中,上述时间间隔由SDN集群中的业务决定,网络流量不均匀对业务影响不大的时间间隔则长,网络流量不均匀对业务影响大的时间间隔则短。SDN集群中所有节点控制器开始上报其流量,包括:节点控制器通过安全通道向其管控的所有交换机发送收集指令,交换机根据收集指令获取流量统计信息并发送给节点控制器,节点控制器获取其管控的所有交换机的流量统计信息,然后向集群分布式共享存储***发送所获取的流量统计信息,其中流量统计信息包括:控制器编号,交换机标号,交换机流量y,和时间戳x。该时间戳是指收集到所有管控交换机的流量统计信息的时刻。The time interval is determined by the service in the SDN cluster. The time interval in which the network traffic is unevenly affected to the service is long, and the time interval in which the network traffic is uneven is large. All the node controllers in the SDN cluster start to report their traffic, including: the node controller sends collection commands to all the switches it controls through the secure channel. The switch obtains traffic statistics according to the collection command and sends the statistics to the node controller. Traffic statistics of all the switches that are controlled, and then send the collected traffic statistics to the cluster distributed shared storage system. The traffic statistics include: controller number, switch label, switch traffic y, and timestamp x. This timestamp is the time at which traffic statistics are collected for all managed switches.
计算模块102,设置为根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和;The calculating module 102 is configured to calculate, according to the traffic statistics, a sum of traffic of the node controller at a next time interval;
本实施例中,以所获取的流量统计信息,可以计算得到下一时间间隔每 个节点控制器所管控的流量,即通过这种方式可以较准确地预测下一时间间隔每个节点控制器所管控的流量。In this embodiment, with the obtained traffic statistics, the next time interval can be calculated. The traffic controlled by the node controller can accurately predict the traffic controlled by each node controller in the next time interval.
本实施例中,需要从流量统计信息中获取预定n个时刻到每一节点控制器的流量信息作为一完整的流量报文,每一时刻对应为每一时间间隔中的时刻,如果没有获取到某一节点控制器的完整的流量报文,则需要继续收集该节点控制器的流量统计信息,不作为计算下一时间间隔的流量之和的节点控制器。In this embodiment, the traffic information of the predetermined n times to the controller of each node is obtained from the traffic statistics as a complete traffic packet, and each time corresponds to the time in each time interval, if not obtained. A complete traffic message of a node controller needs to continue to collect traffic statistics of the node controller, and is not used as a node controller for calculating the sum of the traffic of the next time interval.
对于能够获取完整的流量报文的节点控制器,获取预定n个时刻中对应每一个时间间隔其管控的交换机的流量之和,然后获取这n个流量之和的最大值,根据该最大值利用回归分析计算得到下一时间间隔节点控制器的流量之和。For the node controller that can obtain the complete traffic message, obtain the sum of the traffic of the switch that is controlled by each of the predetermined time intervals, and then obtain the maximum value of the sum of the n traffic, and use the maximum according to the maximum value. The regression analysis calculates the sum of the traffic of the node controllers at the next interval.
本实施例中,在开始对节点控制器管控的交换机进行调整时,对每个节点控制器的流量之和的最大值设为0。In this embodiment, when the switch that controls the node controller is started to be adjusted, the maximum value of the sum of the flows of each node controller is set to zero.
本实施例中,通过获取节点控制器历史承载的流量,可以计算下一时间间隔节点控制器的流量之和,其作为一种流量预测的方式,为对节点控制器管控的交换机进行调整做较好的基础,以便调整节点控制器管控的交换机。In this embodiment, by obtaining the traffic carried by the historical controller of the node controller, the sum of the traffic of the node controller of the next time interval can be calculated, which is used as a traffic prediction mode to adjust the switch controlled by the node controller. A good foundation to adjust the switches that the node controller controls.
调整模块103,设置为基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整。The adjustment module 103 is configured to adjust the switch controlled by the node controller based on the sum of the traffic statistics and the traffic.
本实施例中,对节点控制器管控的交换机进行调整可利用一待调动交换机池,在开始调整时,将该待调动交换机池设为空。In this embodiment, the switch that is controlled by the node controller can be adjusted by using a pool to be transferred, and the pool to be transferred is set to be empty when starting the adjustment.
本实施例中,在获取n个流量之和的最大值及下一时间间隔节点控制器的流量之和后,还需要计算节点控制器的所有流量之和Ti next的总和及所有最大值Hi max的总和,然后根据最大值、流量之和、所有的流量之和Ti next的总和及所有的最大值Hi max的总和这四个值对节点控制器管控的交换机进行调整。In this embodiment, after obtaining the sum of the sum of the n traffic and the traffic of the node controller of the next time interval, it is also required to calculate the sum of the total flows of the node controllers T i next and all the maximum values H. The sum of i max is then adjusted for the switch controlled by the node controller according to the sum of the maximum value, the sum of the flows, the sum of all the flows T i next and the sum of all the maximum values H i max .
本实施例中,例如,将流量负载较大的某一节点控制器管控的交换机调出时,可将交换机调出至待调动交换机池中;对流量负载较小的某一节点控制器管控的交换机调出时,则可以将待调动交换机池中的交换机调入至该节点控制器进行管控,从而实现SDN集群中网络流量的均衡。In this embodiment, for example, when a switch controlled by a node controller with a large traffic load is called out, the switch can be called out to the pool of the switch to be transferred; and the controller of a node with a small traffic load is controlled. When the switch is called out, the switch in the pool of the switch to be transferred can be transferred to the node controller for control, thereby achieving network traffic balance in the SDN cluster.
本实施例中,对待调动交换机池中每一交换机,若调入的节点控制器编 号不为空,则向调出的节点控制器编号对应的交换机和调入的节点控制器编号对应的交换机转移交换机命令,然后依据slave-master机制调换,实现交换机调整。In this embodiment, each switch in the switch pool is to be mobilized, if the node controller is called If the number is not empty, transfer the switch command to the switch corresponding to the node controller number that is called and the switch corresponding to the node controller number that is transferred, and then switch according to the slave-master mechanism to implement switch adjustment.
本实施例超级控制器创建了一种SDN集群内的控制器之间就流量问题彼此通信的方式,并基于预测的下一时间间隔节点控制器的流量之和、节点控制器历史所承载的流量对应的流量统计信息,来调整节点控制器所管控的交换机,从而动态地调整SDN集群中节点控制器的流量。In this embodiment, the super controller creates a way for the controllers in the SDN cluster to communicate with each other on the traffic problem, and based on the predicted traffic flow of the node controller at the next time interval, and the traffic carried by the node controller history. Corresponding traffic statistics are used to adjust the switches managed by the node controller to dynamically adjust the traffic of the node controllers in the SDN cluster.
本实施例能够提高SDN集群的性能,特别是当网络流量波动较大,个别节点控制器的流量负载较重,流量不均匀可能导致SDN集群中节点控制器出现瓶颈时,本实施例通过调整节点控制器所管控的交换机,将流量较小的交换机调入至流量负载较重的节点控制器中管控,均衡了节点控制器的流量负载,能大大改善SDN集群性能。This embodiment can improve the performance of the SDN cluster, especially when the network traffic fluctuates greatly, the traffic load of the individual node controller is heavy, and the uneven traffic may cause a bottleneck of the node controller in the SDN cluster. The switch controlled by the controller transfers the switch with smaller traffic to the node controller with heavy traffic load, and balances the traffic load of the node controller, which can greatly improve the performance of the SDN cluster.
如图6所示,在上述图5的实施例的基础上,所述计算模块102可以包括:As shown in FIG. 6, on the basis of the foregoing embodiment of FIG. 5, the computing module 102 can include:
第一获取单元1021,设置为根据所述流量统计信息尝试获取预定个时刻每一节点控制器的流量报文;The first obtaining unit 1021 is configured to, according to the traffic statistics information, attempt to acquire a traffic message of each node controller at a predetermined time;
第二获取单元1022,设置为当获取成功时,根据所述流量报文获取对应的节点控制器在每一时间间隔管控的流量之和;The second obtaining unit 1022 is configured to: when the obtaining succeeds, acquire, according to the traffic message, a sum of traffic controlled by the corresponding node controller at each time interval;
计算单元1023,设置为获取所有时间间隔每一节点控制器的流量之和的最大值Hi max,根据所述最大值计算下一时间间隔每一节点控制器的流量之和Ti nextThe calculating unit 1023 is configured to acquire a maximum value H i max of the sum of the flows of each node controller of all time intervals, and calculate a sum T i next of the traffic of each node controller of the next time interval according to the maximum value.
本实施例中,根据流量统计信息{控制器编号,交换机标号,交换机流量Y,时间戳X}尝试获取预定n个时刻每一节点控制器的流量报文,每一时刻对应为每一时间间隔中的时刻,如果没有获取到某一节点控制器的完整的流量报文,则需要继续收集该节点控制器的流量统计信息,不将该节点控制器作为计算下一时间间隔的流量之和的节点控制器。In this embodiment, according to the traffic statistics information {controller number, switch label, switch traffic Y, timestamp X}, try to obtain the traffic packets of each node controller in the predetermined n times, and each time corresponds to each time interval. If the traffic information of a node controller is not obtained, the traffic statistics of the node controller need to be collected continuously, and the node controller is not used as the sum of the traffic of the next time interval. Node controller.
本实施例可根据时间戳X,第一获取单元1021从集群分布式共享存储***中读取每个节点控制器流量统计信息,并尝试获取每个节点控制器n个时间戳的完整的流量报文。完整的流量报文是指同一节点控制器同一时间戳的 所有不同的交换机流量报文且时间戳是最近的。上述n取值范围为5到30。In this embodiment, according to the timestamp X, the first obtaining unit 1021 reads the traffic statistics of each node controller from the cluster distributed shared storage system, and attempts to obtain a complete traffic report of each node controller with n timestamps. Text. A complete traffic message refers to the same timestamp of the same node controller. All different switch traffic messages and the timestamp is the most recent. The above n value ranges from 5 to 30.
若获取完整的流量报文不到n个,则由收集模块101继续在每个时间间隔内向多个节点控制器发送收集指令,获取所述节点控制器根据所述收集指令返回的流量统计信息。If the number of complete traffic messages is less than n, the collection module 101 continues to send a collection instruction to the multiple node controllers in each time interval to obtain the traffic statistics returned by the node controller according to the collection instruction.
若获取完整的流量报文达到n个,则获取完整的流量报文达到n个的节点控制器为符合条件的节点控制器,第二获取单元1022获得其n个时刻每一时刻管控的流量之和:T1、T2、T3、T4、T5......Tn,即获得了这样的数据:Ti={控制器编号、时间戳X、流量之和Y}。If the number of complete traffic packets is up to n, the node controller that obtains the complete traffic message reaches n is the node controller that meets the condition, and the second acquiring unit 1022 obtains the traffic that is controlled at each time of the n times. And: T1, T2, T3, T4, T5...Tn, that is, such data is obtained: Ti = {controller number, time stamp X, sum of flows Y}.
若上述n个流量之和中,流量最大的那一个Tm,比节点控制器的历史流量之和最大的Hi max还大,则计算单元1023将Tm赋值给Hi max,即Hi max=max{Hi max,T1,T2,T3,T4,T5......Tn},即Tm作为最大值Hi maxIf the sum of the n traffic flows, the Tm with the largest traffic is greater than the maximum H i max of the sum of the historical flows of the node controller, the calculating unit 1023 assigns Tm to H i max , that is, H i max = Max{H i max , T1, T2, T3, T4, T5 ... Tn}, ie Tm as the maximum value H i max .
对符合条件的节点控制器中的每一个节点控制器,计算单元1023使用最小二乘法,对Tm利用回归分析计算得出下一时间间隔的流量之和Ti next=α+β*x,其中α、β为两个参数,其值为:For each node controller in the eligible node controller, the calculation unit 1023 uses the least squares method to calculate the sum of the flow rates of the next time interval T i next = α + β * x using the regression analysis for Tm, wherein α and β are two parameters, and their values are:
Figure PCTCN2014092213-appb-000006
Figure PCTCN2014092213-appb-000006
式子中X、Y分别为Tm中的时间戳、流量之和。X and Y in the equation are the time stamp and the sum of the flows in Tm, respectively.
如图7所示,在上述图5的实施例的基础上,所述调整模块103包括:As shown in FIG. 7, on the basis of the foregoing embodiment of FIG. 5, the adjustment module 103 includes:
第三获取单元1031,设置为获取所述流量之和Ti next与所述最大值Hi max的第一比值;The third obtaining unit 1031 is configured to acquire a first ratio of the sum of the traffic T i next and the maximum value H i max ;
第四获取单元1032,设置为获取所述节点控制器所有的流量之和Ti next的第一总和及所述节点控制器所有的最大值Hi max的第二总和,并获取所述第一总和与第二总和的第二比值;The fourth obtaining unit 1032 is configured to acquire a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and acquire the first a second ratio of the sum to the second sum;
调整单元1033,设置为根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整。The adjusting unit 1033 is configured to adjust the switch managed by each node controller according to the first ratio and the second ratio.
本实施例中,将待调动交换机池设为空,第三获取单元1031计算节点控制器的流量之和Ti next与所述最大值Hi max的第一比值Pi: In this embodiment, the pool to be transferred is set to be empty, and the third obtaining unit 1031 calculates a first ratio Pi of the sum of the traffic of the node controller T i next and the maximum value H i max :
Figure PCTCN2014092213-appb-000007
Figure PCTCN2014092213-appb-000007
上述待调动交换机池装载这样的元素E={转出控制器编号,交换机编号,交换机流量,转入控制器编号}。The above-mentioned to-be-switched switch pool loads such elements E={transfer controller number, switch number, switch traffic, and transfer to controller number}.
第四获取单元1032计算节点控制器所有的流量之和Ti next的第一总和及所述节点控制器所有的最大值Hi max的第二总和,并计算第一总和与第二总和的第二比值PVThe fourth obtaining unit 1032 calculates a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and calculates the first sum and the second sum Two ratio P V :
Figure PCTCN2014092213-appb-000008
Figure PCTCN2014092213-appb-000008
如图8所示,所述调整单元1033可以包括:As shown in FIG. 8, the adjusting unit 1033 may include:
判断子单元10331,设置为判断所述第一比值是否大于所述第二比值;The determining subunit 10331 is configured to determine whether the first ratio is greater than the second ratio;
调出子单元10332,设置为若是,则获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中;The sub-unit 10332 is called, and if so, the switch to be called out of the switch controlled by the corresponding node controller is obtained, and the switch to be called is added to the pool to be transferred;
调入子单元10333,设置为若否,则从所述待调动交换机池中获取对应的节点控制器需调入的交换机。The call to the sub-unit 10333 is set to be, if not, the switch to be transferred from the corresponding node controller is obtained from the pool of the switch to be transferred.
可选地,调出子单元10332是设置为:根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调出流量Bosize;对对应的节点控制器管控的交换机按流量升序的顺序累加流量;当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作为需调出的交换机,将需调出的交换机加入待调动交换机池中。Optionally, the callout subunit 10332 is configured to: calculate a callout traffic B osize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio; and control the corresponding node The switch that manages the load accumulates the traffic in the ascending order of the traffic; when the accumulated traffic is greater than the buffered traffic, the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred. in.
其中,对于节点控制器,计算调出流量Bosize=Ti next-Hi max*Pv。Wherein, for the node controller, the callout traffic B osize =T i next -H i max *Pv is calculated.
从集群分布式共享存储***中读取对应节点控制器最新时间戳的流量信息,从流量信息中提取出交换机编号,交换机流量。The traffic information of the latest timestamp of the corresponding node controller is read from the cluster distributed shared storage system, and the switch number and switch traffic are extracted from the traffic information.
以交换机流量大小对该节点控制器管控的交换机进行升序排列,获得交换机队列,从交换机队列中自上而下选择交换机,并累加交换机的流量。The switch controlled by the node controller is sorted in ascending order by the switch traffic size, and the switch queue is obtained. The switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作为需调出的交换机,当所累加的流量小于或等于所述调出流量Bosize时,继续 累加流量。When the accumulated traffic is greater than the called traffic B osize , the switch that obtains the accumulated traffic is used as the switch to be called out, and when the accumulated traffic is less than or equal to the called traffic B osize , the accumulated traffic is continued.
将需调出的交换机的编号、控制器编号、交换机流量等信息加入到待调动交换机池,其中转入的节点控制器编号为空。Add the number of the switch to be transferred, the controller ID, and the traffic of the switch to the pool to be transferred. The node controller number to be transferred is empty.
可选地,调入子单元10333是设置为:根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调入流量Bisize;对所述待调动交换机池中的交换机按流量升序的顺序累加流量;当所累加的流量大于所述调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,将需调入的交换机转入对应的节点控制器进行管控。Optionally, the call-in sub-unit 10333 is configured to: calculate a call-in traffic Bizeize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio; switch switch pool in ascending order of cumulative traffic flow; and when the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into corresponding The node controller is in control.
其中,对于节点控制器,计算调入流量Bisize=Hi max*Pv-Ti nextWherein, for the node controller, the incoming traffic B isize =H i max *Pv-T i next is calculated.
在待调动交换机池中,以交换机流量大小对交换机升序排列,获得交换机队列,从交换机队列中自上而下选择交换机,并累加交换机的流量。In the pool to be mobilized, the switch is sorted in ascending order by the switch traffic size to obtain the switch queue. The switch is selected from the top of the switch queue and the traffic of the switch is accumulated.
当所累加的流量大于调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,当所累加的流量小于或等于调入流量Bisize时,继续累加流量。将待调动交换机池中与这个交换机对应的元素转入对应的节点控制器。When the accumulated transferred traffic flow is greater than B isize, has acquired the integrated flow rate switch switches transferred as required, when the accumulated traffic flow is less than or equal to tune B isize, flow continues to accumulate. The element corresponding to the switch in the pool to be transferred is transferred to the corresponding node controller.
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。The above are only the preferred embodiments of the present invention, and are not intended to limit the scope of the invention, and the equivalent structure or equivalent process transformations made by the description of the present invention and the drawings are directly or indirectly applied to other related technical fields. The same is included in the scope of patent protection of the present invention.
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何指定形式的硬件和软件的结合。One of ordinary skill in the art will appreciate that all or a portion of the steps described above can be accomplished by a program that instructs the associated hardware, such as a read-only memory, a magnetic or optical disk, and the like. Optionally, all or part of the steps of the foregoing embodiments may also be implemented by using one or more integrated circuits. Accordingly, each module/unit in the foregoing embodiment may be implemented in the form of hardware, or may be implemented by using a software function module. Formal realization. The invention is not limited to any combination of the specified forms of hardware and software.
工业实用性Industrial applicability
上述技术方案创建了一种SDN集群内的控制器之间就流量问题彼此通信的方式,并基于预测的下一时间间隔节点控制器的流量之和、节点控制器 历史所承载的流量对应的流量统计信息,来调整节点控制器所管控的交换机,从而动态地调整SDN集群中节点控制器的流量;特别是当网络流量波动较大,个别节点控制器的流量负载较重,流量不均匀可能导致SDN集群中节点控制器出现瓶颈时,本发明通过调整节点控制器所管控的交换机,将流量较小的交换机调入至流量负载较重的节点控制器中管控,均衡了节点控制器的流量负载,能大大改善SDN集群性能。 The above technical solution creates a way for the controllers in the SDN cluster to communicate with each other on the traffic problem, and based on the predicted traffic interval of the node controller at the next time interval, the node controller The traffic statistics corresponding to the traffic carried by the history adjust the switch controlled by the node controller to dynamically adjust the traffic of the node controller in the SDN cluster; especially when the network traffic fluctuates greatly, the traffic load of the individual node controller When the traffic is uneven, the node controller in the SDN cluster may be bottlenecked. The present invention adjusts the switch controlled by the node controller to switch the switch with smaller traffic to the node controller with heavy traffic load. Balancing the traffic load of the node controller can greatly improve the performance of the SDN cluster.

Claims (14)

  1. 一种网络流量均衡的方法,所述网络流量均衡的方法包括以下步骤:A method for network traffic balancing, the method for equalizing network traffic includes the following steps:
    软件定义网络集群中的超级控制器在每个时间间隔内向多个节点控制器发送收集指令,获取所述节点控制器根据所述收集指令返回的流量统计信息,所述每个时间间隔相同;The super controller in the software-defined network cluster sends a collection instruction to the plurality of node controllers in each time interval, and obtains flow statistics information returned by the node controller according to the collection instruction, where each time interval is the same;
    所述超级控制器根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和;The super controller calculates, according to the traffic statistics, a sum of traffic of the node controller at a next time interval;
    所述超级控制器基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整。The super controller adjusts the switch managed by the node controller based on the sum of the traffic statistics and the traffic.
  2. 如权利要求1所述的网络流量均衡的方法,其中,所述根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和的步骤包括:The method of network traffic balancing according to claim 1, wherein the calculating the sum of the traffic of the node controller in the next time interval according to the traffic statistics information comprises:
    根据所述流量统计信息尝试获取预定个时刻每一节点控制器的流量报文;And attempting to obtain a traffic message of each node controller at a predetermined time according to the traffic statistics information;
    当获取成功时,根据所述流量报文获取对应的节点控制器在每一时间间隔管控的流量之和;When the acquisition succeeds, the sum of the traffic controlled by the corresponding node controller at each time interval is obtained according to the traffic message;
    获取所有时间间隔每一节点控制器的流量之和的最大值Hi max,根据所述最大值计算下一时间间隔每一节点控制器的流量之和Ti nextThe maximum value H i max of the sum of the traffic of each node controller of all time intervals is obtained, and the sum of the flows of each node controller of the next time interval T i next is calculated according to the maximum value.
  3. 如权利要求2所述的网络流量均衡的方法,其中,所述基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整的步骤包括:The method of network traffic balancing according to claim 2, wherein the step of adjusting the switch controlled by the node controller based on the sum of the traffic statistics and the traffic includes:
    获取所述流量之和Ti next与所述最大值Hi max的第一比值;Obtaining a first ratio of the sum of the flows T i next to the maximum value H i max ;
    获取节点控制器所有的流量之和Ti next的第一总和及节点控制器所有的最大值Hi max的第二总和,并获取所述第一总和与第二总和的第二比值;Obtaining a first sum of the sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and acquiring a second ratio of the first sum to the second sum;
    根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整。The switch controlled by each node controller is adjusted according to the first ratio and the second ratio.
  4. 如权利要求3所述的网络流量均衡的方法,其中,所述根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整的步骤包括:The method of network traffic balancing according to claim 3, wherein the step of adjusting the switch controlled by each node controller according to the first ratio and the second ratio comprises:
    判断所述第一比值是否大于所述第二比值; Determining whether the first ratio is greater than the second ratio;
    若是,则获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中;If yes, obtain the switch to be transferred from the switch that is controlled by the corresponding node controller, and add the switch to be transferred to the pool to be transferred;
    若否,则从所述待调动交换机池中获取对应的节点控制器需调入的交换机。If not, the switch to be tuned to the corresponding node controller is obtained from the pool of the switch to be transferred.
  5. 如权利要求4所述的网络流量均衡的方法,其中,所述获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中的步骤包括:The method of network traffic balancing according to claim 4, wherein the step of acquiring the switch to be transferred in the switch controlled by the corresponding node controller, and adding the switch to be transferred to the pool of the switch to be transferred includes:
    根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调出流量BosizeCalculating a callout flow B osize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
    对对应的节点控制器管控的交换机按流量升序的顺序累加流量;The switches that are controlled by the corresponding node controller accumulate the traffic in the ascending order of the traffic;
    当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作为需调出的交换机,将需调出的交换机加入待调动交换机池中。When the accumulated traffic is greater than the buffered traffic, the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
  6. 如权利要求5所述的网络流量均衡的方法,其中,所述从所述待调动交换机池中获取对应的节点控制器需调入的交换机的步骤包括:The method of network traffic balancing according to claim 5, wherein the step of obtaining a switch to be transferred from the pool of the to-be-switched switch to the corresponding node controller comprises:
    根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调入流量BisizeCalculating the incoming traffic B isize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
    对所述待调动交换机池中的交换机按流量升序的顺序累加流量;And accumulating traffic in the ascending order of the switches in the pool of the switch to be transferred;
    当所累加的流量大于所述调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,将需调入的交换机转入对应的节点控制器进行管控。When the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into the corresponding node controller control.
  7. 一种超级控制器,所述超级控制器包括:A super controller, the super controller comprising:
    收集模块,设置为在每个时间间隔内向多个节点控制器发送收集指令,获取所述节点控制器根据所述收集指令返回的流量统计信息,所述每个时间间隔相同;a collecting module, configured to send a collection instruction to the plurality of node controllers in each time interval, and obtain flow statistics information returned by the node controller according to the collection instruction, where each time interval is the same;
    计算模块,设置为根据所述流量统计信息计算下一时间间隔所述节点控制器的流量之和;a calculation module, configured to calculate, according to the traffic statistics, a sum of traffic of the node controller at a next time interval;
    调整模块,设置为基于所述流量统计信息及流量之和对所述节点控制器管控的交换机进行调整。 The adjustment module is configured to adjust the switch controlled by the node controller based on the sum of the traffic statistics and the traffic.
  8. 如权利要求7所述的超级控制器,其中,所述计算模块包括:The super controller of claim 7 wherein said computing module comprises:
    第一获取单元,设置为根据所述流量统计信息尝试获取预定个时刻每一节点控制器的流量报文;a first acquiring unit, configured to: according to the traffic statistics information, try to obtain a traffic message of each node controller at a predetermined time;
    第二获取单元,设置为当获取成功时,根据所述流量报文获取对应的节点控制器在每一时间间隔管控的流量之和;a second acquiring unit, configured to acquire, according to the traffic packet, a sum of traffic controlled by the corresponding node controller at each time interval according to the traffic packet;
    计算单元,设置为获取所有时间间隔每一节点控制器的流量之和的最大值Hi max,根据所述最大值计算下一时间间隔每一节点控制器的流量之和Ti nextThe calculating unit is configured to obtain a maximum value H i max of the sum of the flows of each node controller of all time intervals, and calculate a sum T i next of the traffic of each node controller of the next time interval according to the maximum value.
  9. 如权利要求8所述的超级控制器,其中,所述调整模块包括:The super controller of claim 8 wherein said adjustment module comprises:
    第三获取单元,设置为获取所述流量之和Ti next与所述最大值Hi max的第一比值;a third obtaining unit, configured to acquire a first ratio of a sum of the flows T i next to the maximum value H i max ;
    第四获取单元,设置为获取节点控制器所有的流量之和Ti next的第一总和及节点控制器所有的最大值Hi max的第二总和,并获取所述第一总和与第二总和的第二比值;a fourth obtaining unit, configured to acquire a first sum of a sum of all the traffic of the node controller T i next and a second sum of all the maximum values H i max of the node controller, and obtain the first sum and the second sum Second ratio;
    调整单元,设置为根据所述第一比值及第二比值对每一节点控制器管控的交换机进行调整。The adjusting unit is configured to adjust the switch controlled by each node controller according to the first ratio and the second ratio.
  10. 如权利要求9所述的超级控制器,其中,所述调整单元包括:The super controller of claim 9, wherein the adjustment unit comprises:
    判断子单元,设置为判断所述第一比值是否大于所述第二比值;a determining subunit, configured to determine whether the first ratio is greater than the second ratio;
    调出子单元,设置为若是,则获取对应的节点控制器管控的交换机中需调出的交换机,并将需调出的交换机加入待调动交换机池中;The sub-unit is called, and if so, the switch to be called out of the switch controlled by the corresponding node controller is obtained, and the switch to be transferred is added to the pool to be transferred;
    调入子单元,设置为若否,则从所述待调动交换机池中获取对应的节点控制器需调入的交换机。The sub-unit is called, and if not, the switch to be transferred by the corresponding node controller is obtained from the pool of the switch to be transferred.
  11. 如权利要求10所述的超级控制器,其中,所述调出子单元是设置为:The super controller of claim 10 wherein said callout subunit is configured to:
    根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调出流量BosizeCalculating a callout flow B osize of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
    对对应的节点控制器管控的交换机按流量升序的顺序累加流量;The switches that are controlled by the corresponding node controller accumulate the traffic in the ascending order of the traffic;
    当所累加的流量大于所述调出流量Bosize时,获取已累加流量的交换机作 为需调出的交换机,将需调出的交换机加入待调动交换机池中。When the accumulated traffic is greater than the buffered traffic, the switch that obtains the accumulated traffic is used as the switch to be called, and the switch to be transferred is added to the pool to be transferred.
  12. 如权利要求11所述的超级控制器,其中,所述调入子单元是设置为:The super controller of claim 11 wherein said call subunit is set to:
    根据所述最大值Hi max、流量之和Ti next及第二比值计算对应的节点控制器的调入流量BisizeCalculating a call-in flow rate Bi size of the corresponding node controller according to the maximum value H i max , the sum of the flows T i next and the second ratio;
    对所述待调动交换机池中的交换机按流量升序的顺序累加流量;And accumulating traffic in the ascending order of the switches in the pool of the switch to be transferred;
    当所累加的流量大于所述调入流量Bisize时,获取已累加流量的交换机作为需调入的交换机,将需调入的交换机转入对应的节点控制器进行管控。When the accumulated flow is greater than the flow rate transferred B isize, has acquired the integrated flow rate switch switches transferred as required, the switches need to be transferred into the corresponding node controller control.
  13. 一种计算机程序,包括程序指令,当所述程序指令被超级控制器执行时,使得该超级控制器可执行权利要求1~6中任一项所述的方法。A computer program comprising program instructions that, when executed by a super controller, cause the super controller to perform the method of any one of claims 1 to 6.
  14. 一种载有权利要求13所述计算机程序的载体。 A carrier carrying the computer program of claim 13.
PCT/CN2014/092213 2014-09-03 2014-11-25 Network traffic balancing method and super controller WO2015154483A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410447127.8A CN105471755B (en) 2014-09-03 2014-09-03 The method and super controller of network flow equilibrium
CN201410447127.8 2014-09-03

Publications (1)

Publication Number Publication Date
WO2015154483A1 true WO2015154483A1 (en) 2015-10-15

Family

ID=54287235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/092213 WO2015154483A1 (en) 2014-09-03 2014-11-25 Network traffic balancing method and super controller

Country Status (2)

Country Link
CN (1) CN105471755B (en)
WO (1) WO2015154483A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656960B2 (en) 2017-12-01 2020-05-19 At&T Intellectual Property I, L.P. Flow management and flow modeling in network clouds

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059805B (en) * 2016-05-27 2020-10-02 新华三技术有限公司 Method and device for analyzing flow distribution
CN106572020B (en) * 2016-10-18 2020-05-22 上海斐讯数据通信技术有限公司 SDN-based full-network shaping method, device and system
CN107425987B (en) * 2017-09-12 2019-11-01 中国联合网络通信集团有限公司 A kind of Switch control method, apparatus and system
CN111130945B (en) * 2019-12-30 2021-12-28 江苏万佳科技开发股份有限公司 Data monitoring cloud platform and use method
CN113347107B (en) * 2020-03-02 2022-10-14 ***通信集团浙江有限公司 Flow scheduling method and device based on uplink message and computing equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695050A (en) * 2009-10-19 2010-04-14 浪潮电子信息产业股份有限公司 Dynamic load balancing method based on self-adapting prediction of network flow
CN103457776A (en) * 2013-09-04 2013-12-18 杭州华三通信技术有限公司 Method and device for dynamically deploying rendezvous points in two-way protocol independent multicast
CN103581036A (en) * 2013-10-31 2014-02-12 华为技术有限公司 Method, device and system for controlling virtual machine network flow
CN103618621A (en) * 2013-11-21 2014-03-05 华为技术有限公司 Method, device and system for automatic configuration of SDN
US20140089500A1 (en) * 2012-09-25 2014-03-27 Swaminathan Sankar Load distribution in data networks
CN103825838A (en) * 2014-02-24 2014-05-28 上海交通大学 Method for flow dispatch for removing bandwidth fragmentization from data center

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239608B2 (en) * 2002-04-26 2007-07-03 Samsung Electronics Co., Ltd. Router using measurement-based adaptable load traffic balancing system and method of operation
CN101212819B (en) * 2006-12-27 2010-12-08 华为技术有限公司 Flow forecast based periodical and adaptive convergence method and system
CN101286937B (en) * 2008-05-16 2011-01-05 成都市华为赛门铁克科技有限公司 Network flow control method, device and system
CN103179046B (en) * 2013-04-15 2016-03-30 昆山天元昌电子有限公司 Based on data center's flow control methods and the system of openflow

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695050A (en) * 2009-10-19 2010-04-14 浪潮电子信息产业股份有限公司 Dynamic load balancing method based on self-adapting prediction of network flow
US20140089500A1 (en) * 2012-09-25 2014-03-27 Swaminathan Sankar Load distribution in data networks
CN103457776A (en) * 2013-09-04 2013-12-18 杭州华三通信技术有限公司 Method and device for dynamically deploying rendezvous points in two-way protocol independent multicast
CN103581036A (en) * 2013-10-31 2014-02-12 华为技术有限公司 Method, device and system for controlling virtual machine network flow
CN103618621A (en) * 2013-11-21 2014-03-05 华为技术有限公司 Method, device and system for automatic configuration of SDN
CN103825838A (en) * 2014-02-24 2014-05-28 上海交通大学 Method for flow dispatch for removing bandwidth fragmentization from data center

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656960B2 (en) 2017-12-01 2020-05-19 At&T Intellectual Property I, L.P. Flow management and flow modeling in network clouds

Also Published As

Publication number Publication date
CN105471755B (en) 2019-11-05
CN105471755A (en) 2016-04-06

Similar Documents

Publication Publication Date Title
WO2015154483A1 (en) Network traffic balancing method and super controller
US10129043B2 (en) Apparatus and method for network flow scheduling
EP3047609B1 (en) Systems and method for reconfiguration of routes
JP4796668B2 (en) Bus control device
US9124506B2 (en) Techniques for end-to-end network bandwidth optimization using software defined networking
US8670310B2 (en) Dynamic balancing priority queue assignments for quality-of-service network flows
Dong et al. Service systems with slowdowns: Potential failures and proposed solutions
US9712448B2 (en) Proxy server, hierarchical network system, and distributed workload management method
CN108476175B (en) Transfer SDN traffic engineering method and system using dual variables
CN102823206B (en) For reducing method and the packet transaction line card of the energy ezpenditure in packet transaction line card
US20190173793A1 (en) Method and apparatus for low latency data center network
CN108293200B (en) Device throughput determination
WO2015131699A1 (en) Load balancing method and device
US9197444B2 (en) Multiple-interface network device and selection method for transmitting network packets
WO2016095410A1 (en) Link traffic distributing method and device
KR101448413B1 (en) Method and apparatus for scheduling communication traffic in atca-based equipment
Walton Concave switching in single and multihop networks
US20180007455A1 (en) Method and system for distributed control of large photonic switched networks
CN107995121A (en) Flow statistical method in software defined network based on asterisk wildcard
Lebedenko et al. Linear-quadratic model of optimal queue management on interface of telecommunication network router
Li et al. Dynamic overload balancing in server farms
US11924061B2 (en) Required communication quality estimation apparatus, required communication quality estimation method and program
KR101180997B1 (en) Load Balancing Management System and the Method for Controlling in Cyber Physical System
Xu et al. Minimizing multi-controller deployment cost in software-defined networking
Huang et al. Dynamic tuple scheduling with prediction for data stream processing systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14888761

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14888761

Country of ref document: EP

Kind code of ref document: A1