一种控制器集群设备管理中角色的选举方法和系统技术方案

技术编号:39739440 阅读:11 留言:0更新日期:2023-12-17 23:40
本申请涉及一种控制器集群设备管理中角色的选举方法和系统,涉及网络技术领域,包括基于控制器实例与设备的交互,获取每个控制器实例与其对应的设备间的消息收发效率以及每个控制器实例的消息处理效率;基于消息收发效率与消息处理效率对每个控制器实例的权重值进行更新;当目标设备的连接状态发生改变时,将权重值最大的目标控制器实例作为目标设备的主控制器实例

【技术实现步骤摘要】
一种控制器集群设备管理中角色的选举方法和系统


[0001]本申请涉及网络
,特别涉及一种控制器集群设备管理中角色的选举方法和系统


技术介绍

[0002]随着技术的发展,软件定义网络
(SDN)
已经逐渐从早期的基于
OpenFlow
协议
(
一种网络通信协议
)
的狭义
SDN
发展到目前实际上广泛应用的基于其他控制协议的广义
SDN。
其中,
SDN
控制器通常采用多主集群的实现架构,即控制器集群中包含多个同时工作的控制器实例,且所有控制器实例都能管理全网络中的任意设备,而管控压力则由集群在各实例上均衡分配

[0003]NETCONF
协议
(
网络配置协议
)

SDN
控制器管控设备的主流南向协议之一

根据
NETCONF
协议规范,控制器通过发送
NETCONF RPC
配置设备期间,设备的配置数据库会因为
lock
报文被锁定

因此,
SDN
控制器需要为每一个设备从集群中选择一个主控制器实例负责操作设备的配置,以避免互相锁定造成的效率低下

[0004]相关技术中,为了实现
SDN
控制器自身压力的负载均衡,通常是基于全网的设备数量进行控制器选举,以实现负载均衡,但仅仅基于数量的控制器选举来实现负载均衡并不一定能做出最优的选择

因此,如何在
SDN
控制器集群中实现高效的主控制器实例选举是当前亟需解决的问题,以能够有效地达到控制器集群在管理设备时的负载均衡,同时又能够保证选举到较优的主控制器实例


技术实现思路

[0005]本申请提供一种控制器集群设备管理中角色的选举方法和系统,以能够有效地达到控制器集群在管理设备时的负载均衡,同时又能够保证选举到较优的主控制器实例

[0006]第一方面,提供了一种控制器集群设备管理中角色的选举方法,包括以下步骤:
[0007]基于控制器实例与设备的交互,获取每个控制器实例与其对应的设备间的消息收发效率以及每个控制器实例的消息处理效率;
[0008]基于所述消息收发效率与所述消息处理效率对每个控制器实例的权重值进行更新;
[0009]当目标设备的连接状态发生改变时,将权重值最大的目标控制器实例作为目标设备的主控制器实例

[0010]一些实施例中,所述获取每个控制器实例与其对应的设备间的消息收发效率以及每个控制器实例的消息处理效率,包括:
[0011]获取全部
NETCONF
消息对应的第一总长度以及控制器实例
i
处理全部
NETCONF
消息所需的第一总耗时,所述全部
NETCONF
消息为控制器实例
i
处理过的所有
NETCONF
消息;
[0012]基于所述第一总长度和所述第一总耗时确定出控制器实例
i
的消息处理效率;
[0013]获取目标
NETCONF
消息的第二总长度以及目标
NETCONF
消息从控制器实例
i
发送至
设备
j
所需的第二总耗时,所述目标
NETCONF
消息包括控制器实例
i
向设备
j
发送的所有
NETCONF
消息;
[0014]基于所述第二总长度和所述第二总耗时计算出控制器实例
i
相对于设备
j
的消息收发效率

[0015]一些实施例中,所述基于所述消息收发效率与所述消息处理效率对每个控制器实例的权重值进行更新,包括:
[0016]对控制器实例
i
的消息处理效率以及其他控制器实例的消息处理效率进行归一化处理,得到控制器实例
i
的当前实例权重值;
[0017]对控制器实例
i
相对于设备
j
的消息收发效率以及其他控制器实例相对于设备
j
的消息收发效率进行归一化处理,得到控制器实例
i
相对于设备
j
的当前质量权重值;
[0018]基于所述当前实例权重值和所述当前质量权重值得到控制器实例
i
的实时权重值

[0019]一些实施例中,所述基于所述当前实例权重值和所述当前质量权重值得到控制器实例
i
的实时权重值,包括:
[0020]将所述当前实例权重值和所述当前质量权重值代入第一计算公式,得到控制器实例
i
的实时权重值,所述第一计算公式为:
[0021]W_result
i

W_insc
i
×
(1+W_net
i

j
)
[0022]式中,
W_result
i
表示控制器实例
i
的实时权重值,
W_insc
i
表示控制器实例
i
的当前实例权重值,
W_net
i

j
表示控制器实例
i
相对于设备
j
的当前质量权重值

[0023]一些实施例中,所述对控制器实例
i
的消息处理效率以及其他控制器实例的消息处理效率进行归一化处理,得到控制器实例
i
的当前实例权重值,包括:
[0024]对控制器实例
i
的消息处理效率以及其他控制器实例的消息处理效率进行归一化处理,得到控制器实例
i
的当前最大实例权重值;
[0025]根据控制器实例
i
的当前最大实例权重值

控制器实例
i
的历史最大实例权重值以及控制器实例
i
的历史实例权重值计算得到控制器实例
i
的当前实例权重值

[0026]一些实施例中,在所述将权重值最大的目标控制器实例作为目标设备的主控制器实例的步骤之后,还包括:
[0027]将目标控制器实例的当前实例权重值与预设值相减,得到新的当前实例权重值;
[0028]当所述新的当前实例权重值小于0时,将目标控制器实例的当前最大实例权重值作为目标控制器实例的当前实例权重值

[0029]一些实施例中,所述方法还包括:
[0030]当目标设备与本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种控制器集群设备管理中角色的选举方法,其特征在于,包括以下步骤:基于控制器实例与设备的交互,获取每个控制器实例与其对应的设备间的消息收发效率以及每个控制器实例的消息处理效率;基于所述消息收发效率与所述消息处理效率对每个控制器实例的权重值进行更新;当目标设备的连接状态发生改变时,将权重值最大的目标控制器实例作为目标设备的主控制器实例
。2.
如权利要求1所述的控制器集群设备管理中角色的选举方法,其特征在于,所述获取每个控制器实例与其对应的设备间的消息收发效率以及每个控制器实例的消息处理效率,包括:获取全部
NETCONF
消息对应的第一总长度以及控制器实例
i
处理全部
NETCONF
消息所需的第一总耗时,所述全部
NETCONF
消息为控制器实例
i
处理过的所有
NETCONF
消息;基于所述第一总长度和所述第一总耗时确定出控制器实例
i
的消息处理效率;获取目标
NETCONF
消息的第二总长度以及目标
NETCONF
消息从控制器实例
i
发送至设备
j
所需的第二总耗时,所述目标
NETCONF
消息包括控制器实例
i
向设备
j
发送的所有
NETCONF
消息;基于所述第二总长度和所述第二总耗时计算出控制器实例
i
相对于设备
j
的消息收发效率
。3.
如权利要求2所述的控制器集群设备管理中角色的选举方法,其特征在于,所述基于所述消息收发效率与所述消息处理效率对每个控制器实例的权重值进行更新,包括:对控制器实例
i
的消息处理效率以及其他控制器实例的消息处理效率进行归一化处理,得到控制器实例
i
的当前实例权重值;对控制器实例
i
相对于设备
j
的消息收发效率以及其他控制器实例相对于设备
j
的消息收发效率进行归一化处理,得到控制器实例
i
相对于设备
j
的当前质量权重值;基于所述当前实例权重值和所述当前质量权重值得到控制器实例
i
的实时权重值
。4.
如权利要求3所述的控制器集群设备管理中角色的选举方法,其特征在于,所述基于所述当前实例权重值和所述当前质量权重值得到控制器实例
i
的实时权重值,包括:将所述当前实例权重值和所述当前质量权重值代入第一计算公式,得到控制器实例
i
的实时权重值,所述第一计算公式为:
W_result
i

W_insc
i
×
(1+W_net
i

j
)
式中,
W_result
i
表示控制器实例
i
的实时权重值,
W_insc
i
表示控制器实例
i
的当前实例权重值,
W_net
i

j
表示控制器实例
i
相对于设备
j
的当前质量权重值
。5.

【专利技术属性】
技术研发人员:周承璐
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:

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

1