一种控制器及SDN分层多控制器下的动态负载均衡方法技术

技术编号:15196812 阅读:108 留言:0更新日期:2017-04-21 04:02
本发明专利技术公开了一种控制器和SDN分层多控制器下的动态负载均衡方法,控制器100包括:负载读入单元101、负载检测单元102、均衡负载计算单元103和均衡负载决策单元104;负载读入单元101用于父控制器收集各个子控制器的CPU和Memory负载信息;负载检测单元102用于检测控制器集群中出现的负载现象;均衡负载计算单元103用于求解控制器与负载连接的最优分配方案;均衡负载决策单元104用于决策均衡负载的具体方案——迁移负载或更新控制器数量。均衡负载决策单元104结束后回到负载读入单元101,重复执行。

Controller and dynamic load balancing method under SDN layered multi controller

The invention discloses a load balancing method for SDN controller and multi controller under dynamic load, the controller 100 includes a read unit 101, load detection unit 102, load balance calculation unit 103 and unit 104 load load balancing decision; unit 101 for the father read control collection sub controller CPU and Memory load information; the load detection unit 102 for load phenomenon detection controller in the cluster computing unit; 103 is used to solve the controller and the load optimal connection load balancing; load balancing decision unit 104 for the concrete scheme of decision balanced load - transfer the load or update the controller number. The load balancing decision unit 104 is returned to the load reading unit 101 after the end of the load, and is repeated.

【技术实现步骤摘要】

本专利技术涉及SDN网络下分层架构的控制器集群负载均衡处理方法,它通过数学优化模型求解最优分配方案,并且通过协同机制来实现动态均衡负载。
技术介绍
软件定义网络SoftwareDefinedNetwork,SDN作为一种新型的网络架构,实现了数据转发平面与控制平面的分离,控制平面通过控制器来实现对整个网络的集中式管理,数据平面通过特定策略实现对数据包的转发功能。SDN近几年来被越来越广泛地宣传与接受,为适用于大规模部署的场景,SDN控制平面逐渐从单控制器走向分布式多控制器的趋势,通过分布式多控制器实现控制平面的扩展,满足大数据和大规模网络的需求。然而,控制器平面的扩展面临有诸多挑战。比如,由于多控制器的协同管理,很容易出现各个控制器负载不均的现象,比如一旦有某控制器出现超负荷情况,则影响整个集群的性能甚至会导致集群的崩溃。因此,进行负载均衡是进行多控制器扩展的一个非常重要步骤。近年,关于SDN控制器均衡负载的方法有:技术方案1:不同的调度算法来实现负载均衡。通过调度算法,逻辑中唯一管理的控制器,实际上将消息的分配给不同的控制器进行实际处理,通过多个控制器来实现负载均衡处理。现常见的调度算法有:轮询调度算法、加权轮询算法、优先级算法、蜂群算法等;技术方案2:负载重新分配来实现负载均衡。在ONOS多控制器集群中,通过将处理请求均衡分配给所有控制器来实现多控制器集群下的负载均衡功能;ONOS集群下,控制器之间的共享全局拓扑信息,负载重新分配后并不会影响集群的正确决策;上述方案1中存在的主要问题是:通过调度算法实现的负载均衡,多控制器的工作方式并不是协同工作,实际只有一个控制器与网络转发设备进行交互,其他控制器都是作为服务器来使用,一个控制器依然存在着单点故障的弊端,不利于网络规模的扩展。此外,实际进行处理的控制器与网络转发设备是间接通信,存在时延,通信效率并不高。上述方案2中存在的主要问题是:负载重新分配到多个控制器实现负载均衡的前提是,多控制器集群架构是水平扩展的,只有多控制器之间共享全局拓扑信息,负载重新分配后才可以正常运行,而垂直扩展的多控制器架构,为保证隐私性,多控制器之间并不会共享全局拓扑信息,底层的子控制器只能获取到局部拓扑信息,上层的父控制器才可以获取到全部拓扑信息,因此该方法并不适用于垂直扩展的多控制器架构。
技术实现思路
本专利技术的目的在于解决SDN网络中,分层多控制器负载均衡问题,并且实现动态负载均衡。本专利技术采用的技术方案为:一种控制器,包括负载读入单元101、负载检测单元102、均衡负载计算单元103和均衡负载决策单元104;负载读入单元101用于收集控制器下的所有子控制器的CPU负载信息和Memory负载信息,并根据CPU负载信息计算出所有子控制器的CPU负载值,根据Memory负载信息计算出所有子控制器的Memory负载值,将CPU负载值和Memory负载值分别输出至负载检测单元102;所述的CPU负载信息包括子控制器与其他子控制器之间的通信请求数量、子控制器接收到的负载处理请求数量,所述的Memory负载信息包括子控制器接收到的数据包数量和流表存储数量;负载检测单元102用于根据CPU负载值、Memory负载值、CPU超负载阈值、Memory超负载阈值、CPU低负载阈值、Memory低负载阈值、高低负载个数差占比阈值和负载不均阈值进行判断,得到所有子控制器集群下的负载情况,将负载情况输出至均衡负载计算单元103;所述的子控制器集群包括所有的子控制器;均衡负载计算单元103用于根据负载情况通过建立数学最优模型求解子控制器和子控制器下交换机间的分配方案,或将当前拓扑作为分配方案,将分配方案输出至均衡负载决策单元104;所述的分配方案包括增加一个子控制器以及子控制器下交换机的迁移策略、减少一个子控制器以及子控制器下交换机的迁移策略或控制器个数不变以及子控制器下交换机的迁移策略;均衡负载决策单元104用于根据分配方案通过子控制器下交换机的迁移或更新子控制器的数量进行均衡负载,将均衡负载后的拓扑情况输出至负载读入单元101。其中,负载读入单元101包括CPU负载读入单元1011和Memory负载读入单元1012;CPU负载读入单元1011用于收集各个子控制器的CPU负载信息,并计算出各个子控制器的CPU负载值,将CPU负载值输出至CPU负载检测单元1021;Memory负载读入单元1012用于收集各个子控制器的Memory负载信息,并计算出各个子控制器的Memory负载值,将Memory负载信息输出至Memory负载检测单元1022;负载检测单元102包括CPU负载检测单元1021、Memory负载检测单元1022和统计计算单元1023;CPU负载检测单元1021用于将各个子控制器的CPU负载值与CPU超负载阈值和CPU低负载阈值进行对比,将各个子控制器的CPU负载情况输出至统计计算单元1023;Memory负载检测单元1022用于将各个子控制器的Memory负载值与Memory超负载阈值和Memory低负载阈值进行对比,将各个子控制器的Memory负载情况输出至统计计算单元1023;统计计算单元1023用于根据各个子控制器的CPU负载情况和Memory负载情况统计出超负载的子控制器总个数和低负载的子控制器总个数,计算超负载的子控制器与低负载的子控制器的差值占比和所有子控制器集群中最大负载与最小负载的极差,根据差值占比、极差值、高低负载个数差占比阈值和负载不均阈值进行判断,得到子控制器的负载情况,将负载情况输出至负载计算单元103;所述的负载情况包括部分超负载、绝大数超负载、绝大数低负载、负载不均和负载正常;均衡负载决策单元104包括迁移决策单元1041和更新数量决策单元1042;迁移决策单元1041用于根据分配方案通过子控制器下交换机的迁移来进行均衡负载;更新数量决策单元1042用于根据分配方案通过更新子控制器的数量来进行均衡负载;将均衡负载后的拓扑情况输出至负载读入单元101。一种SDN分层多控制器下的动态负载均衡方法,包括以下步骤:(1)每个子控制器将其与其他子控制器之间的通信请求数量、子控制器接收到的负载处理请求数量、数据包数量和流表存储数量上报给父控制器;(2)父控制器的负载读入单元根据收到的负载处理请求数量和通信请求数量分别计算出每个子控制器的CPU负载值;根据收到的数据包数量和流表存储数量分别计算出每个子控制器的Memory负载值,将CPU负载值和Memory负载值分别输出至父控制器的负载检测单元;(3)父控制器在负载检测单元设定阈值;负载检测单元根据CPU负载值、Memory负载值和阈值进行判断,得到所有子控制器集群下的负载情况,将负载情况输出至父控制器的均衡负载计算单元;所述的负载情况包括部分超负载、绝大数超负载、绝大数低负载、负载不均和负载正常;所述阈值包括CPU超负载阈值、Memory超负载阈值、CPU低负载阈值、Memory低负载阈值、高低负载个数差占比阈值和负载不均阈值;所述的子控制器集群包括所有的子控制器;(4)如果负载情况是负载正常,均衡负载计算单元则将当前拓扑作为分配方案;否则,根据负载情况设置子控制器的个数,将子控制器的个数、CPU负载值、Memor本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201610961204.html" title="一种控制器及SDN分层多控制器下的动态负载均衡方法原文来自X技术">控制器及SDN分层多控制器下的动态负载均衡方法</a>

【技术保护点】
一种控制器,其特征在于:包括负载读入单元(101)、负载检测单元(102)、均衡负载计算单元(103)和均衡负载决策单元(104);负载读入单元(101)用于收集控制器下的所有子控制器的CPU负载信息和Memory负载信息,并根据CPU负载信息计算出所有子控制器的CPU负载值,根据Memory负载信息计算出所有子控制器的Memory负载值,将CPU负载值和Memory负载值分别输出至负载检测单元(102);所述的CPU负载信息包括子控制器与其他子控制器之间的通信请求数量、子控制器接收到的负载处理请求数量,所述的Memory负载信息包括子控制器接收到的数据包数量和流表存储数量;负载检测单元(102)用于根据CPU负载值、Memory负载值、CPU超负载阈值、Memory超负载阈值、CPU低负载阈值、Memory低负载阈值、高低负载个数差占比阈值和负载不均阈值进行判断,得到所有子控制器集群下的负载情况,将负载情况输出至均衡负载计算单元(103);所述的子控制器集群包括所有的子控制器;均衡负载计算单元(103)用于根据负载情况通过建立数学最优模型求解子控制器和子控制器下交换机间的分配方案,或将当前拓扑作为分配方案,将分配方案输出至均衡负载决策单元(104);所述的分配方案包括增加一个子控制器以及子控制器下交换机的迁移策略、减少一个子控制器以及子控制器下交换机的迁移策略或控制器个数不变以及子控制器下交换机的迁移策略;均衡负载决策单元(104)用于根据分配方案通过子控制器下交换机的迁移或更新子控制器的数量进行均衡负载,将均衡负载后的拓扑情况输出至负载读入单元(101)。...

【技术特征摘要】
1.一种控制器,其特征在于:包括负载读入单元(101)、负载检测单元(102)、均衡负载计算单元(103)和均衡负载决策单元(104);负载读入单元(101)用于收集控制器下的所有子控制器的CPU负载信息和Memory负载信息,并根据CPU负载信息计算出所有子控制器的CPU负载值,根据Memory负载信息计算出所有子控制器的Memory负载值,将CPU负载值和Memory负载值分别输出至负载检测单元(102);所述的CPU负载信息包括子控制器与其他子控制器之间的通信请求数量、子控制器接收到的负载处理请求数量,所述的Memory负载信息包括子控制器接收到的数据包数量和流表存储数量;负载检测单元(102)用于根据CPU负载值、Memory负载值、CPU超负载阈值、Memory超负载阈值、CPU低负载阈值、Memory低负载阈值、高低负载个数差占比阈值和负载不均阈值进行判断,得到所有子控制器集群下的负载情况,将负载情况输出至均衡负载计算单元(103);所述的子控制器集群包括所有的子控制器;均衡负载计算单元(103)用于根据负载情况通过建立数学最优模型求解子控制器和子控制器下交换机间的分配方案,或将当前拓扑作为分配方案,将分配方案输出至均衡负载决策单元(104);所述的分配方案包括增加一个子控制器以及子控制器下交换机的迁移策略、减少一个子控制器以及子控制器下交换机的迁移策略或控制器个数不变以及子控制器下交换机的迁移策略;均衡负载决策单元(104)用于根据分配方案通过子控制器下交换机的迁移或更新子控制器的数量进行均衡负载,将均衡负载后的拓扑情况输出至负载读入单元(101)。2.根据权利要求1所述的一种控制器,其特征在于:负载读入单元(101)包括CPU负载读入单元(1011)和Memory负载读入单元(1012);CPU负载读入单元(1011)用于收集各个子控制器的CPU负载信息,并计算出各个子控制器的CPU负载值,将CPU负载值输出至CPU负载检测单元(1021);Memory负载读入单元(1012)用于收集各个子控制器的Memory负载信息,并计算出各个子控制器的Memory负载值,将Memory负载信息输出至Memory负载检测单元(1022);负载检测单元(102)包括CPU负载检测单元(1021)、Memory负载检测单元(1022)和统计计算单元(1023);CPU负载检测单元(1021)用于将各个子控制器的CPU负载值与CPU超负载阈值和CPU低负载阈值进行对比,将各个子控制器的CPU负载情况输出至统计计算单元(1023);Memory负载检测单元(1022)用于将各个子控制器的Memory负载值与Memory超负载阈值和Memory低负载阈值进行对比,将各个子控制器的Memory负载情况输出至统计计算单元(1023);统计计算单元(1023)用于根据各个子控制器的CPU负载情况和Memory负载情况统计出超负载的子控制器总个数和低负载的子控制器总个数,计算超负载的子控制器与低负载的子控制器的差值占比和所有子控制器集群中最大负载与最小负载的极差,根据差值占比、极差值、高低负载个数差占比阈值和负载不均阈值进行判断,得到子控制器的负载情况,将负载情况输出至负载计算单元(103);所述的负载情况包括部分超负载、绝大数超负载、绝大数低负载、负载不均和负载正常;均衡负载决策单元(104)包括迁移决策单元(1041)和更新数量决策单元(1042);迁移决策单元(1041)用于根据分配方案通过子控制器下交换机的迁移来进行均衡负载;更新数量决策单元(1042)用于根据分配方案通过更新子控制器的数量来进行均衡负载;将均衡负载后的拓扑情况输出至负载读入单元(101)。3.一种SDN分层多控制器下的动态负载均衡方法,其特征在于,包括以下步骤:(1)每个子控制器将其与其他子控制器之间的通信请求数量、子控制器接收到的负载处理请求数量、数据包数量和流表存储数量上报给父控制器;(2)父控制器的负载读入单元根据收到的负载处理请求数量和通信请求数量分别计算出每个子控制器的CPU负载值;根据收到的数据包数量和流表存储数量分别计算出每个子控制器的Memory负载值,将CPU负载值和Memory负载值分别输出至父控制器的负载检测单元;(3)父控制器在负载检测单元设定阈...

【专利技术属性】
技术研发人员:陈立水王换招刘鑫陈星唐亚哲李宁
申请(专利权)人:中国电子科技集团公司第五十四研究所西安交通大学
类型:发明
国别省市:河北;13

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1