一种软件定义网络控制器集群的调度方法技术

技术编号:11358976 阅读:103 留言:0更新日期:2015-04-29 09:57
本发明专利技术涉及一种软件定义网络控制器集群的调度方法,采用了控制器集群的方案,可以将负载压力分摊给各个控制器节点,避免了将所有负载压力集中给单个控制器节点导致处理性能较低的问题。集群中的每个控制器节点相应配置一份Hash表,每个控制器节点只允许修改其拥有的Hash表中由其负责接管的交换机的标识以及其负载因子,每个控制器节点修改了其拥有的Hash表中的数据时,需将其修改的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据;本发明专利技术可以根据Hash表中的数据确定相应的控制器节点对交换机进行接管,而不需要引入第三方管理者,不会导致整个集群受限于第三方管理者的性能。

【技术实现步骤摘要】
一种软件定义网络控制器集群的调度方法
本专利技术涉及网络
,具体涉及一种软件定义网络控制器集群的调度方法。
技术介绍
目前,软件定义网络(SoftwareDefinedNetwork,SDN)控制器的调度方案大致包括两种,一种是基于双机热备的调度方案,其架构如图1所示,平时由主控制器节点负责接管所有的交换机,在主控制器节点出现宕机时,由备控制器节点接管所有的交换机;其缺点是负载压力都集中在单个控制器节点上,处理性能较低。另一种是通过第三方管理者进行控制器集群的调度方案,其架构如图2所示,在所有控制器节点之外加入一个第三方管理者,负责管理调度集群中的所有控制器节点;所有的控制器节点都是通过该第三方管理者分配交换机的接管任务;如果控制器节点出现宕机,第三方管理者将重新调度交换机接管任务;其缺点是如果第三方管理者出现宕机,会影响整体网络系统的运行,同时,由于控制器集群的节点数量上限受第三方管理者的程序调度性能影响,使得第三方管理者的性能会成为整体集群的瓶颈。
技术实现思路
本专利技术针对现有技术中软件定义网络控制器的调度方案处理性能较低或受限于第三方管理者的性能等技术问题,提出一种具有更高性能的软件定义网络控制器集群的调度方法。以下分别基于同步数据修复方法和负载均衡方法对本专利技术提出的一种软件定义网络控制器集群的调度方法进行介绍。1.基于同步数据修复方法本专利技术提出的一种软件定义网络控制器集群的调度方法,所述软件定义网络控制器集群包括若干控制器节点;每个控制器节点相应拥有一份Hash表,每份Hash表的数据包括:各个控制器节点的标识、各个控制器节点负责接管的交换机的标识、各个控制器节点的负载因子;其中,每个控制器节点只允许修改其拥有的Hash表中由其负责接管的交换机的标识以及其负载因子;每个控制器节点修改了其拥有的Hash表中的数据时,需将其修改的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据;所述调度方法包括同步数据修复方法,所述同步数据修复方法包括:本控制器节点查询当前连接到本控制器集群中的交换机的标识;根据本控制器节点拥有的Hash表中的数据,判断查询到的标识对应的交换机的接管情况;根据所述接管情况,确定是否执行Hash表数据修复;所述Hash表数据修复包括:对本控制器节点所拥有的Hash表中的数据进行修复,同时对其他控制器节点所拥有的Hash表中相应的数据进行同步修复。优选的,所述查询当前连接到本控制器集群中的交换机的标识具体通过openflow协议进行查询。优选的,所述根据所述接管情况,确定是否执行Hash表数据修复的步骤包括:根据本控制器节点拥有的Hash表中的数据,判断接管所述查询到的标识对应的交换机的控制器节点数量;若所述控制器节点数量等于1,则不执行Hash表数据修复。优选的,所述根据所述接管情况,确定是否执行Hash表数据修复的步骤还包括:若所述控制器节点数量等于0,则通过openflow协议接管所述查询到的标识对应的交换机,并执行Hash表数据修复。优选的,所述根据所述接管情况,确定是否执行Hash表数据修复的步骤还包括:若所述控制器节点数量大于1,则根据本控制器节点所拥有的Hash表中的数据判断所述查询到的标识对应的交换机是否由本控制器节点接管;若是,则执行Hash表数据修复。2.基于同步负载均衡方法本专利技术提出的一种软件定义网络控制器集群的调度方法,所述软件定义网络控制器集群包括若干控制器节点;每个控制器节点相应拥有一份Hash表,每份Hash表的数据包括:各个控制器节点的标识、各个控制器节点负责接管的交换机的标识、各个控制器节点的负载因子;其中,每个控制器节点只允许修改其拥有的Hash表中由其负责接管的交换机的标识以及其负载因子;每个控制器节点修改了其拥有的Hash表中的数据时,需将其修改的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据;所述调度方法包括负载均衡方法,所述负载均衡方法包括:根据本控制器节点拥有的Hash表中的数据,判断本控制器节点的负载状况和其他控制器节点的负载状况,相应执行本控制器节点与其他控制器节点之间的负载均衡;优选的,所述根据本控制器节点拥有的Hash表中的数据,判断本控制器节点的负载状况和其他控制器节点的负载状况,相应执行本控制器节点与其他控制器节点之间的负载均衡的具体步骤包括:根据本控制器节点拥有的Hash表中的数据,通过计算判断本控制器节点是否处于负载空闲状态;若处于负载空闲状态,则计算本控制器节点还需要接管多少交换机才达到负载饱和状态;通过计算判断其他控制器节点是否处于负载繁忙状态;若是,则计算该控制器节点还需要放弃多少交换机才能达到负载饱和状态;本控制器节点接管所述处于负载繁忙状态的控制器节点需要放弃的交换机,直至本控制器节点达到负载饱和状态。优选的,所述负载均衡方法基于以下计算公式判断控制器节点的负载状况:Load=(count/weights)*NodeWeigh其中,Load为相应的控制器节点达到负载饱和时接管的交换机数量;count为本控制器集群中交换机的总数量;weights为所有控制器节点对应的负载因子的总和;NodeWeigh为相应的控制器节点对应的负载因子;若控制器节点接管的交换器数量小于Load,则判断出其处于负载空闲状态;若控制器节点接管的交换器数量大于Load,则判断出其处于负载繁忙状态;若控制器节点接管的交换器数量等于Load,则判断出其处于负载饱和状态。优选的,所述负载均衡方法还包括:更新本控制器节点拥有的Hash表中由其负责接管的交换机的标识以及其负载因子,将其更新后的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据。优选的,所述调度方法还包括控制器节点选举方法,所述控制器节点选举方法包括:各控制器节点获取所有需要选举接管的交换机的标识;根据各控制器节点拥有的Hash表中的数据,选举出控制器节点对获取到的标识对应的交换机进行接管。有益效果:本专利技术提出的软件定义网络控制器集群的调度方法,其采用的是控制器集群的方案,可以将负载压力分摊给各个控制器节点,避免了现有技术双机热备的调度方案中将所有负载压力集中给单个控制器节点导致处理性能较低的问题;同时,本专利技术的集群中的每个控制器节点相应配置一份Hash表,并限定每个控制器节点只允许修改其拥有的Hash表中由其负责接管的交换机的标识以及其负载因子,每个控制器节点修改了其拥有的Hash表中的数据时,需将其修改的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据;因此,本专利技术可以根据Hash表中的数据确定相应的控制器节点对交换机进行接管,而不需要引入第三方管理者,故而不会导致整个集群受限于第三方管理者的性能。基于所述Hash表,本专利技术可以实现各个控制器节点之间的冗余及负载均衡,大大提高了整个集群的性能及效率。附图说明图1是现有技术中双机热备的架构示意图。图2是现有技术中通过第三方管理者进行控制器集群的架构示意图。图3是本专利技术提出的一种软件定义网络控制器集群的调度方法实施例的架构示意图。图4是本专利技术提出的一种软件定义网络控制器集群的调度方法实施例中同步数据本文档来自技高网...
一种软件定义网络控制器集群的调度方法

【技术保护点】
一种软件定义网络控制器集群的调度方法,所述软件定义网络控制器集群包括若干控制器节点;其特征在于,每个控制器节点相应拥有一份Hash表,每份Hash表的数据包括:各个控制器节点的标识、各个控制器节点负责接管的交换机的标识、各个控制器节点的负载因子;其中,每个控制器节点只允许修改其拥有的Hash表中由其负责接管的交换机的标识以及其负载因子;每个控制器节点修改了其拥有的Hash表中的数据时,需将其修改的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据;所述调度方法包括同步数据修复方法,所述同步数据修复方法包括:本控制器节点查询当前连接到本控制器集群中的交换机的标识;根据本控制器节点拥有的Hash表中的数据,判断查询到的标识对应的交换机的接管情况;根据所述接管情况,确定是否执行Hash表数据修复;所述Hash表数据修复包括:对本控制器节点所拥有的Hash表中的数据进行修复,同时对其他控制器节点所拥有的Hash表中相应的数据进行同步修复。

【技术特征摘要】
1.一种软件定义网络控制器集群的调度方法,所述软件定义网络控制器集群包括若干控制器节点;其特征在于,每个控制器节点相应拥有一份Hash表,每份Hash表的数据包括:各个控制器节点的标识、各个控制器节点负责接管的交换机的标识、各个控制器节点的负载因子;其中,每个控制器节点只允许修改其拥有的Hash表中由其负责接管的交换机的标识以及其负载因子;每个控制器节点修改了其拥有的Hash表中的数据时,需将其修改的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据;所述调度方法包括同步数据修复方法,所述同步数据修复方法包括:本控制器节点查询当前连接到本控制器集群中的交换机的标识;根据本控制器节点拥有的Hash表中的数据,判断查询到的标识对应的交换机的接管情况;根据本控制器节点拥有的Hash表中的数据,判断接管所述查询到的标识对应的交换机的控制器节点数量;若所述控制器节点数量等于1,则不执行Hash表数据修复;若所述控制器节点数量等于0,则通过openflow协议接管所述查询到的标识对应的交换机,并执行Hash表数据修复;若所述控制器节点数量大于1,则根据本控制器节点所拥有的Hash表中的数据判断所述查询到的标识对应的交换机是否由本控制器节点接管;若是,则执行Hash表数据修复;所述Hash表数据修复包括:对本控制器节点所拥有的Hash表中的数据进行修复,同时对其他控制器节点所拥有的Hash表中相应的数据进行同步修复。2.根据权利要求1所述的软件定义网络控制器集群的调度方法,其特征在于,所述查询当前连接到本控制器集群中的交换机的标识具体通过openflow协议进行查询。3.一种软件定义网络控制器集群的调度方法,所述软件定义网络控制器集群包括若干控制器节点;其特征在于,每个控制器节点相应拥有一份Hash表,每份Hash表的数据包括:各个控制器节点的标识、各个控制器节点负责接管的交换机的标识、各个控制器节点的负载因子;其中,每个控制器节点只允许修改其拥有的Hash表中由其负责接管的交换机的标识以及其负载因子;每个控制器节点修改了其拥有的Hash表中的数据时,需将其修改的数据同步到其他控制器节点中,由其他控制器节点相应更新各自拥有的Hash表中的数据;所述调度方法包括负载均衡方法,所述负...

【专利技术属性】
技术研发人员:董栓宗林冬艺
申请(专利权)人:广州市品高软件开发有限公司
类型:发明
国别省市:广东;44

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

1