控制器选举方法和控制器、存储介质与流程

文档序号:32695398发布日期:2022-12-27 20:51阅读:23来源:国知局
控制器选举方法和控制器、存储介质与流程

1.本公开涉及网络技术领域,特别涉及一种控制器选举方法和控制器、存储介质。


背景技术:

2.现有城域网在同一本地网中部署多个控制器,不同控制器分管不同的pod(point of deployment,部署点)。在使用be(best effort,尽力而为)业务时,不同控制器规划管理不同区域,对其设计的虚拟资源、设备进行分权分域管理,互相之间资源不占用,通用资源由资源中心统一分配即可。在业务开通时,由北向系统编排负责拆单,将不同pod的设备配置任务拆分到不同控制器执行。


技术实现要素:

3.发明人注意到,在相关技术中,在部署te(traffic engineering,流量工程)业务后,因为控制器只能看到自己负责的pod的拓扑,无法获取本地网统一拓扑信息,因此无法进行srv6(segment routing ipv6,基于ipv6的分段路由)智能路径计算。
4.据此,本公开提供一种基于raft算法的控制器选举方案,通过将网络中的一个控制器选举为超级控制器,由选举出的超级控制器通过bgp(border gateway protocol,边界网关协议)-ls(link state,链路状态)采集拓扑和路由信息,构建本地网统一拓扑信息,同时进行本地网srv6路径统一计算。同时由超级控制器作为北向统一接口对接北向系统,进行业务拆分下发。
5.根据本公开实施例的第一方面,提供一种控制器选举方法,由控制器执行,包括:以预设周期采集所述控制器的评价指标信息;若所述控制器当前角色为跟随者,在接收到候选者节点发送的投票消息后,将选举超时定时器清零并重新启动选举超时定时器;从所述投票消息中提取出所述候选者节点的任期信息和权值信息;若所述候选者节点的任期大于所述控制器当前的任期,则根据所述评价指标信息计算所述控制器的权值;若所述控制器的权值小于所述候选者节点的权值,则给所述候选者节点投票,保持所述控制器当前的角色,且不再给其它候选者节点投票。
6.在一些实施例中,若所述控制器的权值不小于所述候选者节点的权值,则拒绝给所述候选者节点投票。
7.在一些实施例中,若所述候选者节点的任期小于所述控制器当前的任期,则拒绝给所述候选者节点投票。
8.在一些实施例中,若本轮选举中没有选举出领导者节点,则在所述选举超时定时器到期后,将所述控制器当前的任期加一,将所述控制器当前的角色由跟随者转换为候选者;向网络中的其它候选者节点和跟随者节点发送投票消息。
9.在一些实施例中,所述评价指标信息包括管理设备数量、平均传输时延和业务请求量。
10.在一些实施例中,所述控制器的权值w为:
11.w=w1n+w2t+w3y
12.其中n为所述管理设备数量,t为所述平均传输时延,y为所述业务请求量,w1、w2和w3为权重系数。
13.在一些实施例中,
14.k=1,2,3,e1为所述管理设备数量的信息熵,e2为所述平均传输时延的信息熵,e3为所述业务请求量的信息熵。
15.根据本公开实施例的第二方面,提供一种控制器,包括:信息获取模块,被配置为以预设周期采集所述控制器的评价指标信息;选举决策模块,被配置为若所述控制器当前角色为跟随者,在接收到候选者节点发送的投票消息后,将选举超时定时器清零并重新启动选举超时定时器;从所述投票消息中提取出所述候选者节点的任期信息和权值信息;若所述候选者节点的任期大于所述控制器当前的任期,则根据所述评价指标信息计算所述控制器的权值;若所述控制器的权值小于所述候选者节点的权值,则给所述候选者节点投票,保持所述控制器当前的角色,且不再给其它候选者节点投票。
16.在一些实施例中,选举决策模块还被配置为若所述控制器的权值不小于所述候选者节点的权值,则拒绝给所述候选者节点投票。
17.在一些实施例中,选举决策模块还被配置为若所述候选者节点的任期小于所述控制器当前的任期,则拒绝给所述候选者节点投票。
18.在一些实施例中,选举决策模块还被配置为若本轮选举中没有选举出领导者节点,则在所述选举超时定时器到期后,将所述控制器当前的任期加一,将所述控制器当前的角色由跟随者转换为候选者;向网络中的其它候选者节点和跟随者节点发送投票消息。
19.在一些实施例中,所述评价指标信息包括管理设备数量、平均传输时延和业务请求量。
20.在一些实施例中,所述控制器的权值w为:
21.w=w1n+w2t+w3y
22.其中n为所述管理设备数量,t为所述平均传输时延,y为所述业务请求量,w1、w2和w3为权重系数。
23.在一些实施例中,
24.k=1,2,3,e1为所述管理设备数量的信息熵,e2为所述平均传输时延的信息熵,e3为所述业务请求量的信息熵。
25.根据本公开实施例的第三方面,提供一种控制器,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的方法。
26.根据本公开实施例的第四方面,提供一种非瞬态计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例所述的方法。
27.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
28.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
29.图1为本公开一个实施例的控制器选举方法的流程示意图;
30.图2为本公开一个实施例的控制器的结构示意图;
31.图3为本公开另一个实施例的控制器的结构示意图;
32.图4为本公开一个实施例的业务管理示意图。
具体实施方式
33.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
34.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
35.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
36.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
37.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
38.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
39.图1为本公开一个实施例的控制器选举方法的流程示意图。在一些实施例中,下列的控制器选举方法由控制器执行。
40.在步骤101,以预设周期采集控制器的评价指标信息。
41.在一些实施例中,评价指标信息包括管理设备数量、平均传输时延和业务请求量。
42.例如,同一本地网下的多个控制器用c={c1,c2,

,cm}表示,控制器ci管理的设备用表示,对控制器ci来说:
43.控制器ci的管理设备数量为该值越大,选举控制器作为超级控制器的开销越少。
44.控制器ci的平均传输时延为控制器ci与其所管理的设备之间的单程通信时延的平均值,即
45.控制器ci的业务请求量为控制器ci所管理的设备接收的配置请求数量,即
46.在步骤102,若控制器当前角色为跟随者,在接收到候选者节点发送的投票消息后,将选举超时定时器清零并重新启动选举超时定时器。
47.在一些实施例中,选举超时定时器的定时时长随机设置。
48.在步骤103,从投票消息中提取出候选者节点的任期信息和权值信息。
49.需要说明的是,候选者节点为当前身份为候选者的控制器。
50.在步骤104,若候选者节点的任期大于控制器当前的任期,则根据评价指标信息计算控制器的权值。
51.在一些实施例中,对控制器ci来说,其权值w如公式(1)所示。
52.w=w1n+w2t+w3y
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
53.其中n为管理设备数量,t为平均传输时延,y为业务请求量,w1、w2和w3为权重系数。
54.在一些实施例中,为了使得控制器的权值更合理,避免计量单位的影响,首先对评价指标进行归一化,k=1,2,3,如公式(2)所示。
[0055][0056]
需要说明的是,当k=1时,表示控制器ci的管理设备数量。当k=2时,表示控制器ci的平均传输时延。当k=3时,表示控制器ci的业务请求量。
[0057]
接下来,计算每个评价指标的信息熵,如公式(3)所示。
[0058][0059]
接下来,根据信息熵来确定对应评价指标的权重系数,如公式(4)所示。
[0060][0061]
其中,e1为管理设备数量的信息熵,e2为平均传输时延的信息熵,e3为业务请求量的信息熵。
[0062]
在步骤105,若控制器的权值小于候选者节点的权值,则给候选者节点投票,保持控制器当前的角色,且不再给其它候选者节点投票。
[0063]
在一些实施例中,若控制器的权值不小于候选者节点的权值,则拒绝给候选者节点投票。
[0064]
在一些实施例中,若候选者节点的任期小于控制器当前的任期,则拒绝给候选者节点投票。
[0065]
在一些实施例中,若本轮选举中没有选举出领导者节点,若在选举超时定时器未到期的情况下接收到其它候选者节点发送的投票消息,则重复执行上述步骤102。若在选举超时定时器到期后,将控制器当前的任期加一,将控制器当前的角色由跟随者转换为候选者,并向网络中的其它候选者节点和跟随者节点发送投票消息。
[0066]
需要说明的是,领导者节点是当前角色为领导者的控制器。
[0067]
在本公开上述实施例提供的控制器选举方法,在基于raft算法的控制器选举方案中,通过利用控制器的平均指标信息来计算该控制器的权值,并根据控制器的权值大小来影响投票行为,从而使得所选择出的领导者控制器更符合业务需求。
[0068]
图2为本公开一个实施例的控制器的结构示意图。如图2所示,控制器包括信息获取模块21和选举决策模块22。
[0069]
信息获取模块21被配置为以预设周期采集控制器的评价指标信息。
[0070]
在一些实施例中,评价指标信息包括管理设备数量、平均传输时延和业务请求量。
[0071]
选举决策模块22被配置为若控制器当前角色为跟随者,在接收到候选者节点发送的投票消息后,将选举超时定时器清零并重新启动选举超时定时器;从投票消息中提取出候选者节点的任期信息和权值信息;若候选者节点的任期大于控制器当前的任期,则根据评价指标信息计算控制器的权值;若控制器的权值小于候选者节点的权值,则给候选者节点投票,保持控制器当前的角色,且不再给其它候选者节点投票。
[0072]
在一些实施例中,控制器的权值w为管理设备数量、平均传输时延和业务请求量的加权和,如上述公式(1)所示。
[0073]
在一些实施例中,管理设备数量、平均传输时延和业务请求量的权重系数如上述公式(4)所示。
[0074]
在一些实施例中,选举决策模块22还被配置为若控制器的权值不小于候选者节点的权值,则拒绝给候选者节点投票。
[0075]
在一些实施例中,选举决策模块22还被配置为若候选者节点的任期小于控制器当前的任期,则拒绝给候选者节点投票。
[0076]
在一些实施例中,选举决策模块22还被配置为若本轮选举中没有选举出领导者节点,则在选举超时定时器到期后,将控制器当前的任期加一,将控制器当前的角色由跟随者转换为候选者;向网络中的其它候选者节点和跟随者节点发送投票消息。
[0077]
图3为本公开另一个实施例的控制器的结构示意图。如图3所示,控制器包括存储器31和处理器32。
[0078]
存储器31用于存储指令,处理器32耦合到存储器31,处理器32被配置为基于存储器存储的指令执行实现如图1中任一实施例涉及的方法。
[0079]
如图3所示,该控制器还包括通信接口33,用于与其它设备进行信息交互。同时,该控制器还包括总线34,处理器32、通信接口33、以及存储器31通过总线34完成相互间的通信。
[0080]
存储器31可以包含高速ram存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器31也可以是存储器阵列。存储器31还可能被分块,并且块可按一定的规则组合成虚拟卷。
[0081]
此外,处理器32可以是一个中央处理器cpu,或者可以是专用集成电路asic,或是被配置成实施本公开实施例的一个或多个集成电路。
[0082]
本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图1中任一实施例涉及的方法。
[0083]
下面通过一个具体示例对本公开进行说明。
[0084]
如图4所示,子控制器1、2、3分别纳管城域网pod-a、pod-b和pod-c,城域网采用
leaf(叶节点)-spine(针节点)架构。
[0085]
在每个子控制器中,信息获取模块用于以预设周期采集对应控制器的评价指标信息,选举决策模块利用本公开上述实施例提供的控制器选举方法进行选举。
[0086]
若子控制器1被选为领导者,则子控制器1通过rr(route reflector,路由反射器)通过bgp-ls采集全网拓扑和路由信息,构建本地网统一的拓扑信息,并进行srv6路径计算。
[0087]
子控制器1在接收到省业务编排下发的业务配置指令,将业务请求进行拆分并转发到不同子控制器执行。
[0088]
在一些实施例中,在上面所描述的功能单元可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(programmable logic controller,简称:plc)、数字信号处理器(digital signal processor,简称:dsp)、专用集成电路(application specific integrated circuit,简称:asic)、现场可编程门阵列(field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
[0089]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0090]
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1