一种控制器负载均衡方法及装置制造方法及图纸

技术编号:15335179 阅读:89 留言:0更新日期:2017-05-16 21:58
本发明专利技术实施例提供了一种控制器负载均衡方法及装置,方法包括:在当前周期内,从过载控制器中选择一个过载控制器,确定为第一控制器,过载控制器为:根据本地记录的各个控制器的负载值和预先设置的第一负载阈值,从各个控制器中确定的控制器;从第一控制器所控制的交换机中,确定待迁移交换机;将待迁移交换机划分为交换机组;针对每一交换机组,从该交换机组的所有交换机共有的从控制器中,为该交换机组选择一个从控制器,作为该交换机组的目标控制器;向第一控制器和每个目标控制器发送迁移信息,以使得第一控制器将每一交换机组中的交换机迁移至对应的目标控制器上。应用本发明专利技术实施例提供的控制器负载均衡的方法,能够提高负载均衡的时间效率。

【技术实现步骤摘要】
一种控制器负载均衡方法及装置
本专利技术涉及计算机网络
,特别是涉及一种控制器负载均衡方法及装置。
技术介绍
SDN(SoftwareDefinedNetwork,软件定义网络)是未来网络中一种重要的新型网络架构。该架构的核心思想是将网络设备控制面与数据面分离并集中到一个中心化的控制器上,控制器拥有对整个SDN网络的宏观视角,并提供管理视图和编程接口来控制整个SDN网络。控制器能够为交换机计算转发数据包或流所需要的流表项,而交换机则只需按照流表项对数据包进行转发。这样,交换机设备可以得到简化,节约了设备开销,同时,整个网络的可控制性和可管理性也得到了提高。但网络规模较大时,单个控制器由于其在扩展性和可靠性方面的局限,使它成为SDN网络的瓶颈,所以需要由多个控制器组成的控制平面来实现对整个网络的控制,其中,上述控制器中的一个可以是该控制平面的超级控制器,用于对该控制平面的控制器进行管理。在多控制器的SDN网络中,控制器各自控制着网络中部分交换机,在通常情况下,每个交换机只需与一个控制器保持连接,但是为了负载均衡和容错目的,一个交换机至少同时与两个控制器保持连接。通过控制器之间的协作,控制层面中的超级控制器会为每个交换机指定一个主控制器,将连接的其他控制器设置为此交换机的从控制器,这样解决了单一控制器带来的可靠性和可扩展性问题。但由于交换机到控制器的映射都是静态的,从而使得控制层面很难适应网络流量的变化。在这种情况下,一旦某个控制器超负载,则该控制器对于交换机的流请求响应时间会不断增加,甚至可能会超过规定的时间,从而影响网络性能,因此,在多控制器的SDN网络中,均衡控制器之间负载分布是至关重要的。目前,基于交换机迁移策略的控制器负载均衡方案是主要解决方法之一,这种方法的原理是将过载控制器的一部分负载通过迁移交换机的方式来迁移到负载较轻的控制器上,从而实现控制器负载均衡的目的。该方法具体为:在当前周期内,根据记载的所有控制器的负载值和预设的负载阈值,确定过载控制器;在该过载控制器所控制的交换机中,选择一个交换机确定为待迁移交换机;从确定的待迁移交换机的从控制器中选择一个控制器,确定为目标控制器;将待迁移交换机迁移到该目标控制器上。上述方法中,在迁移交换机后,该过载控制器可能仍然会过载,但是在一个周期内中,只能对一个过载控制器的一个交换机进行一次迁移,需要在接下来的周期内,对该过载控制器进行负载迁移,会导致该过载控制器长时间处于过载的状态,降低了负载均衡的时间效率。
技术实现思路
本专利技术实施例的目的在于提供一种控制器负载均衡方法及装置,以提高负载均衡的时间效率。具体技术方案如下:第一方面,为了达到上述目的,本专利技术实施例公开了一种控制器负载均衡方法,所述方法包括:在当前周期内,从过载控制器中选择一个过载控制器,确定为第一控制器,其中,所述过载控制器为:根据本地记录的各个控制器的负载值和预先设置的第一负载阈值,从各个控制器中确定的控制器;从所述第一控制器所控制的交换机中,确定待迁移交换机;将所确定的待迁移交换机划分为交换机组,其中,每一交换机组中包括至少一个交换机;针对每一交换机组,从该交换机组的所有交换机共有的从控制器中,为该交换机组选择一个从控制器,作为该交换机组的目标控制器;向所述第一控制器和每个目标控制器发送迁移信息,以使得所述第一控制器将每一交换机组中的交换机迁移至对应的目标控制器上。可选的,在所述向所述过载控制器和每个目标控制器发送迁移信息的步骤之后,所述方法还包括:判断所述当前周期是否结束;如果否,确定在所述当前周期内是否重新获取了各个控制器的负载值;如果获取,将本地记录的各个控制器的负载值更新为最新获取的各个控制器的负载值,并返回执行所述在当前周期内,从过载控制器中选择一个过载控制器,确定为第一控制器的步骤;如果没有获取,从未被确定为所述第一控制器的过载控制器中重新选择一个过载控制器,将所述第一控制器更新为重新选择的过载控制器,并返回执行所述从所述第一控制器所控制的交换机中,确定待迁移交换机的步骤。可选的,所述从所述第一控制器所控制的交换机中,确定待迁移交换机的步骤,包括:根据本地记录的各个控制器的负载值,估算所述第一控制器的待迁移负载值;获取所述第一控制器所控制的各个交换机的负载值;根据所述待迁移负载值和所获取的交换机的负载值,将所述第一控制器所控制的交换机划分为交换机集合;判断所划分得到的交换机集合是否只有一个;如果是,将划分得到的交换机集合中的交换机确定为待迁移交换机;如果否,从划分得到的交换机集合中选择一个交换机集合,作为目标交换机集合;并将所述目标交换机集合中的交换机确定为待迁移交换机。可选的,所述根据所述待迁移负载值和所获取的交换机的负载值,将所述第一控制器所控制的交换机划分为交换机集合的步骤,包括:在所获取的交换机的负载值中,确定总和最接近所述待迁移负载值的负载值组合;将所确定的负载值组合中的负载值对应的交换机划分至同一个交换机集合中。可选的,所述根据本地记录的各个控制器的负载值,估算所述第一控制器的待迁移负载值的步骤,包括:根据本地记录的各个控制器的负载值,采用如下公式估算所述第一控制器的待迁移负载值;Target=Poverloaded-Paverage其中,Target为所述待迁移负载值,Poverloaded为所述第一控制器的负载程度,是根据本地记录的所述第一控制器的负载值和预设的第一控制器能承受的最大负载值计算得到的;Paverage为当前网络的平均负载程度,是是根据本地记录的各个控制器的负载值的平均值及预设的网络能承受的最大负载值计算得到的。可选的,所述从划分得到的交换机集合中选择一个交换机集合,作为目标交换机集合的步骤,包括:获取划分得到的每一交换机集合中的各个交换机分别到所述第一控制器的距离;针对每一交换机集合,计算该交换机集合中各交换机对应的距离的总和;选择最大的总和对应的交换机集合作为目标交换机集合。可选的,所述将所确定的待迁移交换机划分为交换机组的步骤,包括:根据所获取的距离和预设的贪婪算法,对所确定的待迁移交换机进行分组处理,得到待迁移组;判断所得到的待迁移组的数量是否大于第二控制器的数量,其中,所述第二控制器为:各个待迁移交换机共有的从控制器中,本地记录的负载值小于预先设置的第二负载阈值的从控制器;如果是,对所得到的待迁移组进行合并处理,得到数量不大于所述第二控制器的数量的待迁移组;并将合并处理后的待迁移组确定为交换机组;如果否,将所得到的迁移组确定为交换机组。可选的,所述对所得到的待迁移组进行合并处理,得到数量不大于所述第二控制器的数量的待迁移组的步骤,包括:从所得到的待迁移组中选择一个待迁移组,确定为目标待迁移组;在除所述目标迁移组之外的其他待迁移组中,确定与所述目标迁移组合并后距离方差最小的待迁移组;将所述目标待迁移组和所确定的待迁移组合并为一个新的待迁移组;判断待迁移组的数量是否大于所述第二控制器的数量;如果是,在合并后的待迁移组中选择一个待迁移组,将所述目标待迁移组更新为所选择的待迁移组;返回执行所述在除所述目标迁移组之外的其他待迁移组中,确定与所述目标迁移组合并后距离方差最小的待迁移组的步骤。可选的,所述针对每一交换机组,从该交换机组本文档来自技高网
...
一种控制器负载均衡方法及装置

【技术保护点】
一种控制器负载均衡方法,其特征在于,所述方法包括:在当前周期内,从过载控制器中选择一个过载控制器,确定为第一控制器,其中,所述过载控制器为:根据本地记录的各个控制器的负载值和预先设置的第一负载阈值,从各个控制器中确定的控制器;从所述第一控制器所控制的交换机中,确定待迁移交换机;将所确定的待迁移交换机划分为交换机组,其中,每一交换机组中包括至少一个交换机;针对每一交换机组,从该交换机组的所有交换机共有的从控制器中,为该交换机组选择一个从控制器,作为该交换机组的目标控制器;向所述第一控制器和每个目标控制器发送迁移信息,以使得所述第一控制器将每一交换机组中的交换机迁移至对应的目标控制器上。

【技术特征摘要】
1.一种控制器负载均衡方法,其特征在于,所述方法包括:在当前周期内,从过载控制器中选择一个过载控制器,确定为第一控制器,其中,所述过载控制器为:根据本地记录的各个控制器的负载值和预先设置的第一负载阈值,从各个控制器中确定的控制器;从所述第一控制器所控制的交换机中,确定待迁移交换机;将所确定的待迁移交换机划分为交换机组,其中,每一交换机组中包括至少一个交换机;针对每一交换机组,从该交换机组的所有交换机共有的从控制器中,为该交换机组选择一个从控制器,作为该交换机组的目标控制器;向所述第一控制器和每个目标控制器发送迁移信息,以使得所述第一控制器将每一交换机组中的交换机迁移至对应的目标控制器上。2.根据权利要求1所述的方法,其特征在于,在所述向所述过载控制器和每个目标控制器发送迁移信息的步骤之后,所述方法还包括:判断所述当前周期是否结束;如果否,确定在所述当前周期内是否重新获取了各个控制器的负载值;如果获取,将本地记录的各个控制器的负载值更新为最新获取的各个控制器的负载值,并返回执行所述在当前周期内,从过载控制器中选择一个过载控制器,确定为第一控制器的步骤;如果没有获取,从未被确定为所述第一控制器的过载控制器中重新选择一个过载控制器,将所述第一控制器更新为重新选择的过载控制器,并返回执行所述从所述第一控制器所控制的交换机中,确定待迁移交换机的步骤。3.根据权利要求1或2所述的方法,其特征在于,所述从所述第一控制器所控制的交换机中,确定待迁移交换机的步骤,包括:根据本地记录的各个控制器的负载值,估算所述第一控制器的待迁移负载值;获取所述第一控制器所控制的各个交换机的负载值;根据所述待迁移负载值和所获取的交换机的负载值,将所述第一控制器所控制的交换机划分为交换机集合;判断所划分得到的交换机集合是否只有一个;如果是,将划分得到的交换机集合中的交换机确定为待迁移交换机;如果否,从划分得到的交换机集合中选择一个交换机集合,作为目标交换机集合;并将所述目标交换机集合中的交换机确定为待迁移交换机。4.根据权利要求3所述的方法,其特征在于,所述根据所述待迁移负载值和所获取的交换机的负载值,将所述第一控制器所控制的交换机划分为交换机集合的步骤,包括:在所获取的交换机的负载值中,确定总和最接近所述待迁移负载值的负载值组合;将所确定的负载值组合中的负载值对应的交换机划分至同一个交换机集合中。5.根据权利要求3所述的方法,其特征在于,所述根据本地记录的各个控制器的负载值,估算所述第一控制器的待迁移负载值的步骤,包括:根据本地记录的各个控制器的负载值,采用如下公式估算所述第一控制器的待迁移负载值;Target=Poverloaded-Paverage其中,Target为所述待迁移负载值,Poverloaded为所述第一控制器的负载程度,是根据本地记录的所述第一控制器的负载值和预设的第一控制器能承受的最大负载值计算得到的;Paverage为当前网络的平均负载程度,是根据本地记录的各个控制器的负载值的平均值及预设的网络能承受的最大负载值计算得到的。6.根据权利要求3所述的方法,其特征在于,所述从划分得到的交换机集合中选...

【专利技术属性】
技术研发人员:王颖周亚宁邱雪松巴军华
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

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

1