一种集群实现方法及装置制造方法及图纸

技术编号:14182526 阅读:116 留言:0更新日期:2016-12-14 11:52
本发明专利技术提供一种集群实现方法及装置,该方法包括:当所述第一SDN控制器为领导控制器时,与集群中其它领导控制器进行选举,以选举出执行控制器;当所述第一SDN控制器未被选举为执行控制器,并检测到执行控制器不在位,且不存在在位的其它领导控制器时,所述第一SDN控制器作为新的执行控制器对外提供服务。应用本发明专利技术实施例可以提高集群的可靠性。

Method and device for realizing cluster

The present invention provides a method and device for implementing cluster, the method comprises the following steps: when the first SDN controller for the leadership of the controller, the election and other leaders to elect the cluster controller, actuator controller; when the first SDN controller has not been elected as the executive controller, and detected the execution controller not in place, and not there are other leaders in the controller, the first SDN controller as the new service execution controller. The invention can improve the reliability of the cluster.

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其涉及一种集群实现方法及装置
技术介绍
通常为了提升系统的业务处理能力,可以将多个业务单元组成集群,集群内的各业务单元互为备份并进行负载分担,进而实现业务单元的灵活扩展。分布式集群技术需要满足以下条件:1、一致性一致性是指数据在多个业务单元之间保持一致的特性。2、可用性可用性是指系统提供的服务必须一直处于可用的状态。对于每一个请求,系统必须在有限的时间内返回结果,该结果必须是明确的,例如成功或失败。但是上述一致性或可用性通常比较难满足。因此现有集群实现方案中,通常只要求集群满足“基本可用”和“最终一致”。其中,“基本可用”是指系统在出现故障情况下,允许损失部分可用性,例如响应时间上增加1~2秒;“最终一致”是指系统保证最终数据能够达成一致,而不需要实时保证系统数据的强一致性。为了实现“基本可用”和“最终一致”,要求集群遵循多数派原则。即只要集群成员中的多数派一致,就认为能够实现最终一致;如果成员中多数派能够存活,集群就可以对外可用。SDN(Software Defined Network,软件自定义网络)控制器集群是指由多台SDN控制器组成的集群(组成集群的各SDN控制器称为集群成员)。当SDN控制器集群发生脑裂(集群内各节点间的心跳出现故障,但各节点还处于活跃状态),根据多数派原则,只有形成多数派的集群可以存活,但是若形成多数派的集群无法接入业务网络时,发生脑裂的SDN集群将无法提供服务。
技术实现思路
本专利技术提供一种集群实现方法及装置,以提高集群可靠性。根据本专利技术实施例的第一方面,提供一种集群实现方法,应用于软件自定义网络SDN控制器集群中的第一SDN控制器,所述SDN控制器集群中包括至少两个被配置为领导控制器的SDN控制器,领导控制器之外的其它SDN控制器为成员控制器,所述方法包括:当所述第一SDN控制器为领导控制器时,与集群中其它领导控制器进行选举,以选举出执行控制器;当所述第一SDN控制器未被选举为执行控制器,并检测到执行控制器不在位,且不存在在位的其它领导控制器时,所述第一SDN控制器作为新的执行控制器对外提供服务。根据本专利技术实施例的第二方面,提供一种集群实现装置,应用于软件自定义网络SDN控制器集群中的第一SDN控制器,所述SDN控制器集群中包括至少两个被配置为领导控制器的SDN控制器,领导控制器之外的其它SDN控制器为成员控制器,所述装置包括:检测单元,用于当所述第一SDN控制器为领导控制器时,检测其它领导控制器是否在位;选举单元,用于当所述第一SDN控制器为领导控制器时,与集群中其它领导控制器进行选举,以选举出执行控制器;服务单元,用于当所述第一SDN控制器未被选举为执行控制器,且所述检测单元检测到执行控制器不在位,并不存在在位的其它领导控制器时,以所述第一SDN控制为新的执行控制器对外提供服务。应用本专利技术实施例,通过对SDN控制器集群中的SDN控制器进行角色划分,并将SDN控制器集群中的至少两个SDN控制器配置为领导控制器,且领导控制器之外的SDN控制器配置为成员控制器,当SDN控制器为领导控制器时,与集群中其它领导控制器进行选举,以选举出执行控制器,当SDN控制器未被选举为执行控制器,并检测到执行控制器不在位,且不存在其它领导控制器时,该SDN控制器可以作为新的执行控制器对外提供服务,由于本专利技术实施例提供的技术方案中只需集群中存在在位的领导控制器,即能选举出执行控制器对外提供服务,因而,与上述现有技术方案相比,降低了由于集群脑裂导致无法提供服务的情况发生的概率,提高了集群的可靠性。附图说明图1是本专利技术实施例提供的一种集群实现方法的流程示意图;图2A是本专利技术实施例提供的一种具体应用场景的架构示意图;图2B是本专利技术实施例提供的另一种具体应用场景的架构示意图;图3是本专利技术实施例提供的一种集群实现装置的结构示意图;图4是本专利技术实施例提供的另一种集群实现装置的结构示意图;图5是本专利技术实施例提供的另一种集群实现装置的结构示意图;图6是本专利技术实施例提供的另一种集群实现装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。请参见图1,图1为本专利技术实施例提供的一种集群实现方法的流程示意图,其中,该集群实现方法可以应用于SDN控制器集群,该SDN控制器集群中包括至少两个被配置为领导控制器的SDN控制器;如图1所示,该集群实现方法可以包括以下步骤:需要说明的是,在本专利技术实施例中,步骤101~步骤102的执行主体可以为SDN控制器集群中的第一SDN控制器或第一SDN控制器的处理器,如CPU(Center Process Unit,中央处理单元),为便于描述,以下以步骤101~步骤102的执行主体为第一SDN控制器(下文中简称为第一控制器)为例进行说明。值得说明的是,在本专利技术实施例中,第一SDN控制器并不特指某一固定的SDN控制器,而是可以指代SDN集群中任一SDN控制器,本专利技术实施例后续不再复述。步骤101、当第一SDN控制器为领导控制器时,与集群中其它领导控制器进行选举,以选举出执行控制器。本专利技术实施例中,对于组成SDN控制器集群(下文中简称为集群)的控制器,可以对其进行角色划分,将其划分为领导控制器和成员控制器。其中,领导控制器参与集群选举,选举出一个领导控制器作为执行控制器,该执行控制器作为集群的代表对外提供北向业务,例如用户的配置、云管理平台的Rest(Representational State Transfer,表达性状态传递)API(Application Programming Interface,应用程序编程接口)请求等。执行控制器进而将用户配置、Rest API请求分发到集群中具体控制器上执行。值得说明的是,领导控制器除了可以对外提供北向业务之外,也可以具备提供南向业务的能力,例如,管理具体的网络设备、为设备下发流表提供转发路径等。集群中的成员控制器不参与集群的选举,仅对外提供南向业务。应该认识到,在本专利技术实施例中,领导控制器或成员控制器并不是特指某种固定的控制器,而是指用户(如管理员)为控制器配置的角色,即对于集群中的任一控制器,在一些实施例中,其可以被配置为领导控制器,以领导控制器的角色参与集群运行;在另一些实施例中,其也可以被配置为成员控制器,以成员控制器的角色参与集群运行。本专利技术实施例中,当第一控制器被配置为领导控制器时,第一控制器可以与集群中其它领导控制器进行选举,以选举出执行控制器。作为一种可选的实施方式,步骤101中,与集群中其它领导控制器进行选举,以选举出执行控制器,可以包括以下步骤:11)、向其它领导控制器发送携带第一SDN控制器的优先级以及标识信息的选举消息,并接收其它领导控制器发送的携带该其它领导控制器的优先级以及标识信息的选举消息;12)、当第一SDN控制器优先级高于其它领导控制器的优先级时,确定第一SDN控制器为执行控制器;13)、当其它领导控制器中存在优先级高于第一SDN控制器的优先级的领导控制器时,确定优先级最高的其它领导控制器为执行控制器。在该实施方式中,当将集群中本文档来自技高网
...
一种集群实现方法及装置

【技术保护点】
一种集群实现方法,应用于软件自定义网络SDN控制器集群中的第一SDN控制器,其特征在于,所述SDN控制器集群中包括至少两个被配置为领导控制器的SDN控制器,领导控制器之外的其它SDN控制器为成员控制器,所述方法包括:当所述第一SDN控制器为领导控制器时,与集群中其它领导控制器进行选举,以选举出执行控制器;当所述第一SDN控制器未被选举为执行控制器,并检测到执行控制器不在位,且不存在在位的其它领导控制器时,所述第一SDN控制器作为新的执行控制器对外提供服务。

【技术特征摘要】
1.一种集群实现方法,应用于软件自定义网络SDN控制器集群中的第一SDN控制器,其特征在于,所述SDN控制器集群中包括至少两个被配置为领导控制器的SDN控制器,领导控制器之外的其它SDN控制器为成员控制器,所述方法包括:当所述第一SDN控制器为领导控制器时,与集群中其它领导控制器进行选举,以选举出执行控制器;当所述第一SDN控制器未被选举为执行控制器,并检测到执行控制器不在位,且不存在在位的其它领导控制器时,所述第一SDN控制器作为新的执行控制器对外提供服务。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第一SDN控制器被选举为执行控制器时,向其它领导控制器发送数据同步请求,以使所述其它领导控制器接收到所述数据同步请求时根据所述数据同步请求中携带的数据记录事务日志,并回应确认ACK消息;当接收到至少半数其它领导控制器回应的ACK消息时,向所述其它领导控制器发送提交消息,并向成员控制器发送所述数据更新消息,以使所述其它领导控制器接收到所述提交消息时,根据所述事务日志修改内存数据模型,以及所述成员控制器接收到所述数据更新消息时,根据所述数据更新消息中携带的数据进行数据更新。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第一SDN控制器为领导控制器,且未被选举为执行控制器,并接收到执行控制器发送的数据同步请求时,根据接收到的数据同步请求中携带的数据记录事务日志,并向所述执行控制器发送ACK消息;当接收到所述执行控制器发送的提交消息时,根据所记录的事务日志修改内存数据模型。4.根据权利要求1所述的方法,其特征在于,所述与集群中其它领导控制器进行选举,以选举出执行控制器,包括:向其它领导控制器发送携带所述第一SDN控制器的优先级以及标识信息的选举消息,并接收其它领导控制器发送的携带所述其它领导控制器的优先级以及标识信息的选举消息;当所述第一SDN控制器的优先级高于所述其它领导控制器的优先级时,确定所述第一SDN控制器为执行控制器;当所述其它领导控制器中存在优先级高于第一SDN控制器的优先级的领导控制器时,确定优先级最高的其它领导控制器为执行控制器。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当集群运行过程中有新的SDN控制器加入集群时,所述新加入的SDN控制器作为成员控制器。6.根据权利要求1所述的方法,其特征在于,所述SDN控制器集群中包括至少两个被配置为领导控制器的SDN控制器具体为:所述SDN控制器集群中连接在不同接入交换机下的至少两个SDN控制器被配置为领导控制器;或,所述SDN控制器集群中运行...

【专利技术属性】
技术研发人员:杨裕斌雒雪芳
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

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

1