一种选举领导者Leader的方法、装置及设备制造方法及图纸

技术编号:19437154 阅读:41 留言:0更新日期:2018-11-14 13:20
本发明专利技术实施例公开了一种选举领导者Leader的方法,应用在分布式集群系统中,所述分布式集群系统包括网络设备,包括:所述网络设备获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;所述网络设备根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。本发明专利技术实施例还公开了一种选举领导者Leader的装置及网络设备,采用本发明专利技术实施例,可以提高性能较高的网络设备被选举出作为领导者Leader节点的概率,保障特定场景下网络设备的工作性能。

【技术实现步骤摘要】
一种选举领导者Leader的方法、装置及设备
本专利技术涉及一种计算机分布式领域,尤其涉及一种选举领导者Leader的方法、装置及设备。
技术介绍
分布式一致性是一个相当重要且被广泛论证与探索的问题,通常存在于分布式内存共享,分布式存储(例如:分布式文件系统,数据库,缓存)等分布式系统中。当前比较流行的一致性算法包括paxos、gossip、Raft等。强一致性是在并发编程(如:在分布式共享存储器,分布式事务)领域中使用的一致性模型之一,要求所有并行进程、节点或处理器等以相同的顺序看到所有访问。Raft是一种用来保证强一致性的典型算法,该算法应用在开放日光平台(英文:OpenDaylight,ODL)、开源网络操作系统(英文:OpenSourceNetworkOperatingSystem,ONOS)等业界主流分布式控制器系统中。Raft算法流程分为三个子问题:选举(英文:Leaderelection)、日志复制(英文:Logreplication)、安全性(英文:Safety)。Raft开始时在集群中选举出领导者(英文:Leader)负责日志复制的管理,Leader接受来自客户端的事务请求(日志),并将该事务请求复制给集群的其他节点,然后负责通知集群中其他节点提交日志,Leader负责保证其他节点与他的日志同步,当Leader宕掉后集群中的其它节点会发起选举选出新的Leader。在Raft集群的所有节点中,Leader节点需要处理较多的消息(接收客户端请求、发送消息给Follower、接收Follower应答并统计),使得Leader节点对物理或虚拟资源的需求高于其它节点。但是,Leader的选择与其检测到当前Leader崩溃的时间和网络速度相关,Leader选举算法一种不受外界控制的随机选取方法,Leader的选举完全是随机的,因此在某些特定场景下由于不能选举出性能较高的Raft节点作为Leader,导致工作性能的下降。
技术实现思路
本专利技术实施例提供了一种Raft选举方法、装置及设备。解决现有技术方案中由于选取的随机性导致某些特定场景下Raft工作性能的下降的问题。第一方面,本专利技术实施例提供了一种选举领导者Leader的方法,应用在分布式集群系统中,分布式集群系统包括网络设备,包括:网络设备首先获得时间标识信息,时间标识信息用于表示选举周期开始到发起投票的延迟时间;然后根据时间标识信息,向分布式集群系统中的其它网络设备发送投票请求。通过时间标识信息发起投票请求,从而提高性能较高的网络设备被选举出作为Leader节点的概率,保障特定场景下的网络节点的工作性能。在一种可能的设计中,网络设备从非易失性存储介质中获得预先存储的时间标识信息。在另一种可能的设计中,网络设备首先从非易失性存储介质中获得预先存储的节点标识信息,节点标识信息用于表示网络设备成为Leader节点的期望值;然后根据预设的映射关系确定与节点标识信息对应的时间标识信息,通过节点标识信息确定时间标识信息,可以准确的确定延迟时间。在另一种可能的设计中,网络设备将节点标识信息作为输入参数代入映射函数,得到与节点标识信息对应的时间标识信息。在另一种可能的设计中,网络设备可以预先配置映射关系,直接通过映射关系确定与节点标识信息对应的时间标识信息。在另一种可能的设计中,网络设备首先将节点标识信息作为输入参数代入映射函数,得到输出值;然后将输出值乘以预设的心跳时间间隔,计算得到时间标识信息。在另一种可能的设计中,节点标识信息的取值为根据网络设备的工作性能,在预设的区间范围内选取的与工作性能相匹配的值。在另一种可能的设计中,节点标识信息的取值可以是网络管理员通过命令行配置在该设备上的;也可以是该设备接收其它控制管理设备发来的消息,根据消息指示配置的;也可以是该设备自身运行算法软件自动配置的。第二方面,本专利技术实施例提供了一种选举领导者Leader的装置,该装置被配置为实现上述第一方面中网络设备所执行的方法和功能,由硬件/软件实现,其硬件/软件包括与上述功能相应的单元。第三方面,本专利技术提供了一种网络设备,包括:处理器、存储器和通信总线,其中,所述通信总线用于实现所述处理器和存储器之间连接通信,处理器执行所述存储器中存储的程序用于实现上述第一方面提供的一种选举领导者Leader的方法中的步骤。第四方面,本专利技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的选举领导者Leader的方法。第五方面,本专利技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上执行时,使得计算机执行上述各方面的选举领导者Leader的方法。附图说明为了更清楚地说明本专利技术实施例或
技术介绍
中的技术方案,下面将对本专利技术实施例或
技术介绍
中所需要使用的附图进行说明。图1是本专利技术实施例提供的一种分布式集群系统的架构示意图;图2是本专利技术实施例提供的一种Raft选举方法的示意图;图3是本专利技术实施例提供的另一种Raft选举方法的示意图;图4是本专利技术实施例提供的一种选举领导者Leader的方法的流程示意图;图5是本专利技术实施例提供的一种改进后leader选举方法的示意图;图6是本专利技术实施例提供的一种选举领导者Leader的装置的结构示意图;图7是本专利技术实施例提出的一种网络设备的结构示意图。具体实施方式下面结合本专利技术实施例中的附图对本专利技术实施例进行描述。请参见图1,图1是本专利技术实施例提供的一种分布式集群系统的架构示意图,该分布式集群系统包括多个网络设备,该分布式集群系统中的网络设备的数量一般为偶数,所述多个网络设备包括网络设备1、网络设备2和网络设备3等等,本专利技术实施例中的网络设备可以为多种具有计算和存储能力的设备,例如,服务器、主机、个人计算机(英文:personalcomputer,PC)等计算机设备;本专利技术实施例中的网络设备也可以为软件定义网络(英文:SoftwareDefinedNetwork,SDN)控制器。本专利技术实施例是基于Raft选举算法构建的Raft集群,在Raft集群中网络设备为Raft节点,下面以Raft节点进行说明。需要说明的是,本专利技术实施例以基于Raft选举算法构建Raft集群为例进行阐述,但并不局限于此。本专利技术实施例还适用于基于其他算法来构建的分布式集群中,方法一致,为了简洁,不再赘述。在Raft集群中,服务器可以扮演如下角色之一:(1)领导者(英文:Leader):负责日志的同步管理,处理来自客户端的请求,与追随者(英文:Follower)保持心跳联系;Follower:刚启动时所有节点为Follower状态,响应Leader的日志同步请求,响应候选者(英文:Candidate)的请求,将请求到Follower的事务转发给Leader;Candidate:负责选举投票,Raft选举刚启动时Raft节点从Follower转为Candidate发起选举,选举出Leader后从Candidate转为Leader状态。其中,Leader通过日志复制逻辑保证所有Follower日志提交顺序都与自己日志提交顺序一致。另外,Raft集群中的每个服务器的时间被切分为一个个期限(英文:Term),Term具有如下特点:本文档来自技高网
...

【技术保护点】
1.一种选举领导者Leader的方法,其特征在于,应用在分布式集群系统中,所述分布式集群系统包括网络设备,所述方法包括:所述网络设备获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;所述网络设备根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。

【技术特征摘要】
1.一种选举领导者Leader的方法,其特征在于,应用在分布式集群系统中,所述分布式集群系统包括网络设备,所述方法包括:所述网络设备获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;所述网络设备根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。2.如权利要求1所述的方法,其特征在于,所述网络设备获取时间标识信息包括:所述网络设备从非易失性存储介质中获得预先存储的所述时间标识信息。3.如权利要求1所述的方法,其特征在于,所述网络设备获得时间标识信息包括:所述网络设备从所述非易失性存储介质中获得预先存储的节点标识信息,所述节点标识信息用于表示所述网络设备成为Leader节点的期望值;所述网络设备根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息。4.如权利要求3所述的方法,其特征在于,所述网络设备根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息包括:所述网络设备将所述节点标识信息代入映射函数,得到与所述节点标识信息对应的所述时间标识信息。5.如权利要求4所述的方法,其特征在于,所述网络设备将所述节点标识信息代入映射函数,得到与所述节点标识信息对应的所述时间标识信息包括:所述网络设备将所述节点标识信息代入映射函数,得到输出值;所述网络设备将所述输出值乘以预设的心跳时间间隔,计算得到所述时间标识信息。6.如权利要求3-5任一所述的方法,其特征在于,所述节点标识信息的取值为根据所述网络设备的工作性能,在预设的区间范围内选取的与所述工作性能相匹配的值。7.一种选举领导者Leader的装...

【专利技术属性】
技术研发人员:宋跃忠林程勇戴龙飞
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1