一种集群节点控制器监控方法、相关装置以及控制器的制造方法

文档序号:8489891阅读:490来源:国知局
一种集群节点控制器监控方法、相关装置以及控制器的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种集群节点控制器监控方法、相关装置以及系统。
【背景技术】
[0002]软件定义网络(SDN, Software Defined Networking)是一种新兴的网络架构。它将网络的控制与转发功能分离开来,使网络控制可编程,底层基础架构相对于业务应用和网络服务抽象化,从而实现网络虚拟化。为了提升控制系统性能与可用性,SDN中的控制器一般采用集群化部署。即多个控制器组成一个集群,每个控制器对应一个集群节点。所有控制器对外提供同质化服务,以实现集群系统控制器节点动态扩展。其中,SDN控制器集群内的一个控制器会被选举成为主节点控制器,其它控制器则相应地成为备节点控制器。集群节点控制器负责对外提供一般性服务,主要是处理下层网络设备的控制请求。除此之外,集群主节点控制器对内还负责集群节点控制器管理,对外使集群呈现为一个逻辑整体,并通过配置浮动IP,使集群具象化。
[0003]现有技术中,为了实现对集群内各个备节点控制器的管理,集群主节点控制器需要与集群内所有备节点控制器之间建立心跳连接,并通过心跳连接实现集群节点控制器监控。一方面,集群主节点控制器接受备节点控制器的监控,使集群备节点控制器能够及时发现主节点控制器异常,并在异常时重新发起主节点控制器选举;另一方面,集群主节点控制器也可以借助主备节点控制器之间的心跳连接监控备节点控制器,以快速刷新集群拓扑信肩、O
[0004]但是在现有技术中,由于集群主节点控制器需要与集群内所有的备节点控制器建立心跳连接,所以主节点控制器的工作负荷大,资源消耗多,因而主节点控制器对硬件与网络要求高。

【发明内容】

[0005]本发明实施例提供了一种集群节点控制器监控方法,可以减少主节点控制器的工作负荷与资源消耗,进而降低主节点控制器对硬件与网络的要求。
[0006]本发明实施例第一方面提供了一种集群节点控制器监控方法,包括:
[0007]在软件定义网络SDN控制器集群中,主节点控制器控制所述主节点控制器与η个备节点控制器建立逻辑连接关系,其中,所述逻辑连接关系为首尾相连的环形拓扑结构,所述环形拓扑结构中的每个节点控制器具有两个相邻的节点控制器;
[0008]所述主节点控制器控制所述SDN控制器集群中相邻的节点控制器之间建立心跳连接,所述心跳连接用于监控所述η个备节点控制器的通信状态;
[0009]所述主节点控制器接收所述备节点控制器发送的心跳警报,并根据所述心跳警报维护所述SDN控制器集群的逻辑连接关系。
[0010]结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述主节点控制器控制所述主节点控制器与η个备节点控制器建立逻辑连接关系包括:
[0011]所述主节点控制器将所述η个备节点控制器从I至η排序;
[0012]所述主节点控制器与第I备节点控制器建立逻辑连接;
[0013]所述主节点控制器控制第i备节点控制器与第i+Ι备节点控制器建立逻辑连接,所述i为I至η-1中的任意正整数;
[0014]所述主节点控制器与第η备节点控制器建立逻辑连接。
[0015]结合本发明实施例的第一方面的第一种实现方式,本发明实施例的第一方面的第二种实现方式中,所述主节点控制器将所述η个备节点控制器从I至η排序包括:
[0016]所述主节点控制器接收所述η个备节点控制器的注册;
[0017]所述主节点控制器按照所述η个备节点控制器向所述主节点控制器注册的时间先后顺序将所述η个备节点控制器进行排序,其中,最先向所述主节点控制器注册的备节点控制器为第I备节点控制器,最后向所述主节点控制器注册的备节点控制器为第η备节点控制器。
[0018]结合本发明实施例的第一方面的第一种实现方式,本发明实施例的第一方面的第三种实现方式中,所述节点控制器控制所述SDN控制器中相邻的节点控制器之间建立心跳连接包括:
[0019]所述主节点控制器与第I备节点控制器之间建立心跳连接;
[0020]所述主节点控制器控制第i备节点控制器与第i+Ι备节点控制器之间建立心跳连接,所述i为I至η-1中的任意正整数;
[0021]所述主节点控制器与第η备节点控制器之间建立心跳连接。
[0022]结合本发明实施例的第一方面的第三种实现方式,本发明实施例的第一方面的第四种实现方式中:
[0023]所述主节点控制器与第I备节点控制器之间建立心跳连接之后还包括:若所述主节点控制器与第I备节点控制器之间建立心跳连接失败,则所述主节点控制器建立与第2备节点控制器的逻辑连接,并与第2备节点控制器建立心跳连接;
[0024]所述主节点控制器控制第i备节点控制器与第i+Ι备节点控制器之间建立心跳连接之后还包括:若第i备节点控制器与第i+Ι备节点控制器之间建立心跳连接失败,则所述主节点控制器建立第i备节点控制器与第i+2备节点控制器的逻辑连接,并控制第i备节点控制器与第i+2备节点控制器之间建立心跳连接;
[0025]所述主节点控制器与第η备节点控制器之间建立心跳连接之后还包括:若所述主节点控制器与第η备节点控制器之间建立心跳连接失败,则所述主节点控制器建立与第η-1备节点控制器的逻辑连接,并与第η-1备节点控制器之间建立心跳连接。
[0026]结合本发明实施例的第一方面的第一种实现方式至第一方面的第四种实现方式中的任一项,本发明实施例的第一方面的第五种实现方式中,所述方法还包括:
[0027]所述主节点控制器接收新节点控制器的注册,所述新节点控制器为新加入所述SDN控制器集群的节点控制器;
[0028]所述主节点控制器建立与所述新节点控制器的逻辑连接,并与所述新节点控制器之间建立心跳连接;
[0029]所述主节点控制器控制所述新节点控制器建立与第η备节点控制器的逻辑连接,并控制所述新节点控制器与所述第η备节点控制器之间建立心跳连接;
[0030]所述主节点控制器解除与第η备节点控制器之间的逻辑连接,并中断与所述第η备节点控制器之间的心跳连接。
[0031]结合本发明实施例的第一方面的第一种实现方式至第一方面的第四种实现方式中的任一项,本发明实施例的第一方面的第六种实现方式中,所述主节点控制器接收所述备节点控制器发送的心跳警报,并根据所述心跳警报维护所述SDN控制器集群的逻辑连接关系包括:
[0032]若所述主节点控制器接收到第i备节点控制器发送的第一警报,且所述主节点控制器接收到第i+Ι备节点控制器发送的第二警报,则所述主节点控制器确定第i备节点控制器与第i+ι备节点控制器之间心跳连接发生故障,且所述主节点控制器控制所述第i备节点控制器与第i+2备节点控制器之间建立逻辑连接与心跳连接,所述第一警报用于表示第i备节点控制器与第i+Ι备节点控制器之间的心跳连接中断,所述第二警报用于表示第i备节点控制器与第i+Ι备节点控制器之间的心跳连接中断,所述i为I至n-2中的任意正整数。
[0033]结合本发明实施例的第一方面的第一种实现方式至第一方面的第四种实现方式中的任一项,本发明实施例的第一方面的第七种实现方式中,所述主节点控制器接收所述备节点控制器发送的心跳警报,并根据所述心跳警报维护所述SDN控制器集群的逻辑连接关系包括:
[0034]若所述主节点控制器接收第i_l备节点控制器发送的第三警报,且所述主节点控制器接收第i+Ι备节点控制器发送的第四警报,则所述主节点控制器确定第i备节点控制器发生故障,且所述主节点控制器控制所述第1-Ι备节点控制器建立与所述第i+ι备节点控制器的逻辑连接与心跳连接,所述第三警报用于表示第1-ι备节点控制器与第i备节点控制器的心跳连接中断,所述第四警报用于表示第i+Ι备节点控制器与第i备节点控制器的心跳连接中断,所述i为2至η-1中的任意正整数。
[0035]结合本发明实施例的第一方面的第一种实现方式至第一方面的第四种实现方式中的任一项,本发明实施例的第一方面的第七种实现方式中,所述方法还包括:
[0036]若第I备节点控制器与主节点控制器之间的心跳连接、第η备节点控制器与主节点控制器之间的心跳连接均中断,则所述第I备节点控制器与所述第η备节点控制器抢占集群锁;
[0037]若第I备节点控制器抢占成功,则所述第I备节点控制器确定为新的主节点控制器,且所述新的主节点控制器建立与所述第η备节点控制器的逻辑连接与心跳连接;
[0038]若第η备节点控制器抢占成功,则所述第η备节点控制器确定为新的主节点控制器,且所述新的主节点控制器建立与所述第I备节点控制器的逻辑连接与心跳连接。
[0039]本发明实施例第二方面提供了一种集群节点控制器监控装置,包括:
[0040]排列模块,用于控制主节点控制器与η个备节点控制器建立逻辑连接关系,其中,所述逻辑连接关系为首尾相连的环形拓扑结构,所述环形拓扑结构中的每个节点控制器具有两个相邻的节点控制器;
[0041]连接模块,用于控制所述相邻的节点控制器之间建立心跳连接,所述心跳连接用于监控所述η个备节点控制器的通信状态;
[0042]警报模块,用于接收所述备节点控制器发送的心跳警报,并根据所述心跳警报维护所述SDN控制器集群的逻辑连接关系。
[0043]结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述排列模块包括:
[0044]排序单元,用于将所述η个备节点控制器从I至η排序;
[0045]第一逻辑单元,用于与第I备节点控制器建立逻辑连接;
[0046]逻辑控制单元,用于控制第i备节点控制器与第i+Ι备节点控制器建立逻辑连接,所述i为I至η-1中的任意正整数;
[0047]第二逻辑单元,用于与第η备节点控制器建立逻辑连接。
[0048]结合本发明实施例的第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述排序单元包括:
[0049]注册子单元,用于接收所述η个备节点控制器的注册;
[0050]排序子单元,用于按照所述η个备节点控制器注册的时间先后顺序将所述η个备节点控制器进行排序,其中,最先向所述主节点控制器注册的备节点控制器为第I备节点控制器,最后向所述主节点控制器注册的备节点控制器为第η备节点控制器。
[0051 ] 结合本发明实施例的第二方面的第一种实现方式,本发明实施例的第二方面的第三种实现方式中,所述连接模块包括:
[0052]第一连接单元,用于与第I备节点控制器之间建立心跳连接;
[0053]连接控制单元,用于控制第i备节点控制器与第i+Ι备节点控制器之间建立心跳连接,所述i为I至η-1中的任意正整数;
[0054]第二连接单元,用于与第η备节点控制器之间建立心跳连接。
[0055]结合本发明实施例的第二方面的第三种实现方式,本发明实施例的第二方面的第四种实现方式中:
[0056]当所述第一连接单元与第I备节点控制器之间建立心跳连接失败时,所述第一逻辑单元还用于:建立与第2备节点控制器的逻辑连接,且所述第一连接单元还用于:与第2备节点控制器建立心跳连接;
[0057]当所述连接控制单元控制第i备节点控制器与第i+Ι备节点控制器之间建立心跳连接失败时,所述逻辑控制单元还用于:建立第i备节点控制器建立与第i+2备节点控制器的逻辑连接,且所述连接控制单元还用于:控制第i备节点控制器与第i+2备节点控制器之间建立心跳连接;
[0058]当所述第二连接单元与第η备节点控制器之间建立心跳连接失败时,所述第二逻辑单元还用于:建立与第η-1备节点控制器的逻辑连接,且所述第二连接单元还用于:与第η-1备节点控制器之间建立心跳连接。
[0059]结合本发明实施例的第二方面,本发明实施例的第二方面的第五种实现方式中,所述装置还包括:
[0060]接收模块,用于接收新节点控制器的注册信息,所述新节点控制器为新加入所述SDN控制器集群的节点控制器;
[0061]所述第二逻辑单元还用于:建立与所述新节点控制器的逻辑连接,并解除与第η备节点控制器的逻辑连接;
[0062]所述第二连接单元还用于:与所述新节点控制器之间建立心跳连接,并中断与所述第η备节点控制器的心跳连接;
[0063]所述逻辑控制单元还用于:控制所述新节点控制器建立与第η备节点控制器的逻辑连接;
[0064]所述连接控制单元还用于:控制所述新节点控制器与所述第η备节点控制器之间建立心跳连接。
[0065]结合本发明实施例的第二方面,本发明实施例的第二方面的第六种实现方式中,所述警报模块还包括:
[0066]第一警报单元,用于接收第i备节点控制器发送的第一警报,所述第一警报用于表示第i备节点控制器与第i+Ι备节点控制器之间的心跳连接中断;
[0067]第二警报单元,用于接收第i+Ι备节点控制器发送的第二警报,所述第二警报用于表示第i备节点控制器与第i+Ι备节点控制器之间的心跳连接中断;
[0068]第一确定单元,用于在所述第一警报单元接收到第i备节点控制器发送的第一警报,且所述第二警报单元接收到第i+Ι备节点控制器发送的第二警报时,确定第i备节点控制器与第i+Ι备节点控制器之间心跳连接发生故障;
[0069]所述逻辑控制单元还用于:在所述第一确定单元确定第i备节点控制器与第i+1备节点控制器之间心跳连接发生故障时,控制所述第i备节点控制器建立与所述第i+2备节点控制器的逻辑连接;
[0070]所述连接控制单元还用于:在所述第一确定单元确定第i备节点控制器与第i+1备节点控制器之间心跳连接发生故障时,控制所述第i备节点控制器与所述第i+2备节点控制器之间建立心跳连接。
[0071]结合本发明实施例的第二方面,本发明实施例的第二方面的第七种实现方式中,所述警报模块还包括:
[0072]第三警报单元,用于接收第i_l备节点控制器发送的第三警报,所述第三警报用于表示第i_l备节点控制器与第i备节点控制器的心跳连接中断;
[0073]第四警报单元,用于接收第i+Ι备节点控制器发送的第四警报,所述第四警报用于表示第i+Ι备节点控制器与第i备节点控制器的心跳连接中断;
[0074]第二确定单元,用于在所述第三警报单元接收到第i_l备节点控制器发送的第一警报,且所述第四警报单元接收到第i+Ι备节点控制器发送的第四警报时,确定第i备节点控制器发生故障;
[0075]所述逻辑控制单元还用于:在所述第二确定单元确定第i备节点控制器发生故障时,控制所述第i_l备节点控制器建立与所述第i+Ι备节点控制器的逻辑连接;
[0076]所述连接控制单元还用于:在所述第二确定单元确定第i备节点控制器发生故障时,控制所述第1-Ι备节点控制器与所述第i+ι备节点控制器之间建立心跳连接。
[0077]结合本发明实施例的第二方面,本发明实施例的第二方面的第八种实现方式中,所述装置还包括:
[0078]抢占模块,用于抢占集群锁。
[0079]本发明实施例第三方面提供了一种控制器,包括本发明实施例第二方面至第二方面的第八种实现方式中任一项所述的集群节点控制器监控装置。
[0080]从以上技术方案可以看出,本发明实施例中,主节点控制器控制SDN控制器集群中的所有主备节点控制器建立逻辑连接关系,并控制该结构中相连的节点控制器之间建立心跳连接。通过这样的方法,使得主节点控制器只需要跟与该主节点控制器逻辑相连的两个备节点控制器之间建立心跳连接,而不需要与所有的备节点控制器建立心跳连接。与现有技术相比,本发明提供的方法可以大大减少主节点控制器的工作负荷与资源消耗,进而降低主节点控制器对硬件与网络的要求。
【附图说明】
[0081]图1为本发明实施例中集群节点控制器监控方法一个实施例流程图;
[0082]图2为本发明实施例中集群节点控制器监控方法另一个实施例流程图;
[0083]图3为本发明实施例中集群节点控制器监控方法另一个实施例流程图;
[0084]图4为本发明实施例中集群节点控制器监控方法另一个实施例流程图;
[0085]图5为本发明实施例中集群节点控制器监控方法另一个实施例流程图;
[0086]图6
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1