CN108810046A - 一种选举领导者Leader的方法、装置及设备 - Google Patents
一种选举领导者Leader的方法、装置及设备 Download PDFInfo
- Publication number
- CN108810046A CN108810046A CN201710296735.7A CN201710296735A CN108810046A CN 108810046 A CN108810046 A CN 108810046A CN 201710296735 A CN201710296735 A CN 201710296735A CN 108810046 A CN108810046 A CN 108810046A
- Authority
- CN
- China
- Prior art keywords
- network equipment
- time identifier
- identifier information
- identification information
- node identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种选举领导者Leader的方法,应用在分布式集群系统中,所述分布式集群系统包括网络设备,包括:所述网络设备获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;所述网络设备根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。本发明实施例还公开了一种选举领导者Leader的装置及网络设备,采用本发明实施例,可以提高性能较高的网络设备被选举出作为领导者Leader节点的概率,保障特定场景下网络设备的工作性能。
Description
技术领域
本发明涉及一种计算机分布式领域,尤其涉及一种选举领导者Leader的方法、装置及设备。
背景技术
分布式一致性是一个相当重要且被广泛论证与探索的问题,通常存在于分布式内存共享,分布式存储(例如:分布式文件系统,数据库,缓存)等分布式系统中。当前比较流行的一致性算法包括paxos、gossip、Raft等。强一致性是在并发编程(如:在分布式共享存储器,分布式事务)领域中使用的一致性模型之一,要求所有并行进程、节点或处理器等以相同的顺序看到所有访问。Raft是一种用来保证强一致性的典型算法,该算法应用在开放日光平台(英文:OpenDaylight,ODL)、开源网络操作系统(英文:Open Source NetworkOperating System,ONOS)等业界主流分布式控制器系统中。
Raft算法流程分为三个子问题:选举(英文:Leader election)、日志复制(英文:Log replication)、安全性(英文: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)等计算机设备;本发明实施例中的网络设备也可以为软件定义网络(英文:Software Defined Network,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具有如下特点:Term包括Leader选举时间和在某个Leader下的正常操作时间;每个Term最多一个Leader;有些Term不存在Leader(选举失败)。
如图2所示,在系统开始启动时,所有服务器均以Follower身份启动,并启动选举定时器,Leader定时的发送心跳给所有Follower。又如图3所示,如果Follower选举定时器超时,则认为当前系统中不存在一个服务器作为Leader,需要首先变为Candidate状态,然后发起新一轮选举。当选举出一个服务器作为Leader后,作为Leader的服务器必须广播心跳,以触发其它作为Follower的服务器的选举定时器重新开始计时。
在选举过程中需要满足以下三个条件:第一,如果该服务器获得Raft集群中超过半数服务器的投票,则由Candidate转化为Leader并开始广播心跳。第二,如果该服务器接收到合法Leader的日志复制请求(日志复制请求也作为心跳消息),则说明新的Leader已经产生,自身转化为Follower。第三,如果选举超时(本周期没有选举成功),则开始新一轮的选举。
通过上述流程可知,Leader的选择与其检测到当前Leader崩溃的时间和网络速度相关,Leader选举算法是一种不受外界控制的随机选取方法,Leader的选举完全是随机的,可能导致在某些特定场景下Raft工作性能的下降。本发明实施例提供了如下解决方法。
请参见图4,图4是本发明实施例提供的一种选举领导者Leader的方法的流程示意图,该方法应用在分布式集群系统中,所述分布式集群系统包括网络设备,包括但不限于如下步骤:
S401,所述Raft节点获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;
具体实现中,可以在Raft节点启动选举之前,在每个Raft节点的非易失性存储介质中配置时间标识信息Raft-T。可以将指定Raft节点的时间标识信息的取值配置的最小,其他Raft节点的时间标识信息的取值可以相同,也可以不同。其中,非易失性存储介质可以包括磁盘、硬盘等掉电后数据不丢失的存储介质。
进一步的,可以根据所述Raft节点的工作性能,在预设的区间范围内选取与所述工作性能相匹配的值。对于工作性能较高的Raft节点,则可以将该Raft节点的时间标识信息的取值配置的较小,对于工作性能较低的Raft节点,可以将该Raft节点的时间标识信息的取值配置的较大,其中,工作性能表示Raft节点的物理或虚拟资源性能。另外,该时间标识信息的取值可以是网络管理员通过命令行配置在该设备上的;也可以是该设备接收其它控制管理设备发来的消息,根据消息指示配置的;还可以是该设备自身运行算法软件自动配置的。
可选的,可以在Raft节点启动选举之前,在每个Raft节点的非易失性存储介质中配置节点标识信息Raft-ID,所述节点标识信息用于表示所述Raft节点成为Leader节点的期望值。可以将指定Raft节点的节点标识信息的取值配置的最大,其他Raft节点的节点标识信息的取值可以相同,也可以不同。其中,非易失性存储介质可以包括磁盘、硬盘等掉电后数据不丢失的存储介质。
进一步的,可以根据所述Raft节点的工作性能,在预设的区间范围内选取与所述工作性能相匹配的值。对于工作性能较高的Raft节点,则可以将该Raft节点的节点标识信息的取值配置的较大,对于工作性能较低的Raft节点,可以将该Raft节点的节点标识信息的配置的较小。另外,该节点标识信息的取值可以是网络管理员通过命令行配置在该设备上的;也可以是该设备接收其它控制管理设备发来的消息,根据消息指示配置的;还可以是该设备自身运行算法软件自动配置的。例如,可以将区间范围设定在1-5等级,将工作性能最高的Raft节点配置为第5等级,将其他Raft节点可以配置为1-4等级中的任何一个。
需要说明的是,由于Raft节点检测到选举周期开始到发起投票的延迟时间极短,直接设置延迟时间不容易实现。因此,可以结合实际的场景,建立节点标识信息和时间标识信息的映射关系,通过获得节点标识信息的取值来确定时间标识信息的取值,从而最终按照延迟时间向其他Raft节点发送投票请求。
最后,完成上述配置之后,当检测到Raft节点初次启动、不存在Leader时、或者当检测到Leader宕机或Follower没有接收到Leader的心跳发生选举定时器超时,则各个Raft节点从Follower状态转为Candidate状态,并获得时间标识信息。具体可以包括如下几种方式:
第一,Raft节点从非易失性存储介质中获得预先存储的所述时间标识信息。
第二,Raft节点首先从所述非易失性存储介质中获得预先存储的节点标识信息;然后根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息。包括:Raft节点可以将所述节点标识信息作为输入参数代入映射函数,得到的输出值作为所述时间标识信息。或者,Raft节点可以配置映射关系,所述映射关系包括所述时间标识信息与所述节点标识信息的多个对应关系,直接从映射关系中查找与所述节点标识信息对应的所述时间标识信息。
进一步的,Raft节点可以首先将所述节点标识信息代入映射函数,得到输出值;然后将所述输出值乘以预设的心跳时间间隔,计算得到所述时间标识信息。例如,Raft-ID在区间范围1-5之间取值,将Raft-ID的值代入映射函数y=1/x,得到映射后的输出值,该输出值的大小位于0-1之间,同时读取非易失存储介质中预设的心跳时间间隔,最后Raft-T的值为心跳时间间隔与输出值的乘积。或者,Raft节点可以首先读取非易失存储介质中预设的心跳时间间隔,然后将所述预设的心跳时间间隔除以所述节点标识信息的取值,计算得到的商作为时间标识信息的取值。
需要说明的是,本发明实施例中的时间标识信息与所述节点标识信息之间的映射关系并不局限于上述几种对应关系,还可以包括其他形式的对应关系。
S402,所述Raft节点根据所述时间标识信息,向所述分布式集群系统中的其它Raft节点发送投票请求。
具体实现中,如图5所示,图5是本发明实施例提供的一种改进后leader选举方法的示意图。由于性能最好的Raft节点的所述时间标识信息的取值最小,因此该Raft节点检测到选举周期开始到发起投票的延迟时间最短,因此该Raft节点最先向其他Raft发起了投票请求,其他Raft节点接收到投票请求之后最先向该Raft节点投票,如果该Raft节点接收到的投票数超过预设阈值(如,全部Raft节点数量的一半)时,就成为领导者Leader,而其他Raft节点不再发起投票请求。从而提高了性能较高的Raft节点被选举出作为Leader节点的概率,保障特定场景下Raft工作性能。
可选的,可以设置功能开关,当该功能开关打开时,执行根据所述时间标识信息向所述分布式集群系统中的其它Raft节点发送投票请求的操作步骤,当该功能开关关闭时,将Raft节点的节点标识信息的取值和/或时间标识信息的取值默认为0,从而保证不同Raft模块使用上的兼容性。
可选的,在所述Raft节点向其他Raft节点发送投票请求并成为领导者Leader之后,该Raft节点向其他Raft节点广播心跳,以触发其它作为Follower的节点的选举定时器重新开始计时,如果其他Raft节点接收到心跳消息,则说明新的Leader已经产生,其他Raft节点转化为Follower状态。
需要说明的是,按照上述方法可以保证指定的leader节点最先发起请求投票,并最终成为Leader。但是,由于网络存在时间和外部中断问题,如果指定Raft节点的网络时延大、或自身与外界中断等,按照上述方法进行Raft选举,指定Raft节点不一定能成为新的Leader。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。
请参见图6,图6是本发明实施例提供的一种选举领导者Leader的装置的结构示意图,所述选举领导者Leader的装置可以为网络设备,该网络设备可以包括信息获取模块601和请求发送模块602,其中,各个模块的详细描述如下。
信息获取模块601,用于获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间。
具体实现中,可以在网络设备启动选举之前,在每个网络设备的非易失性存储介质中配置时间标识信息Raft-T。可以将指定网络设备的时间标识信息的取值配置的最小,其他网络设备的时间标识信息的取值可以相同,也可以不同。其中,非易失性存储介质可以包括磁盘、硬盘等掉电后数据不丢失的存储介质。
进一步的,可以根据所述网络设备的工作性能,在预设的区间范围内选取与所述工作性能相匹配的值。对于工作性能较高的网络设备,则可以将该网络设备的时间标识信息的取值配置的较小,对于工作性能较低的网络设备,可以将该网络设备的时间标识信息的取值配置的较大,其中,工作性能表示网络设备的物理或虚拟资源性能。另外,该时间标识信息的取值可以是网络管理员通过命令行配置在该设备上的;也可以是该设备接收其它控制管理设备发来的消息,根据消息指示配置的;还可以是该设备自身运行算法软件自动配置的。
可选的,可以在网络设备启动选举之前,在每个网络设备的非易失性存储介质中配置节点标识信息Raft-ID,所述节点标识信息用于表示所述网络设备成为Leader节点的期望值。可以将指定网络设备的节点标识信息的取值配置的最大,其他网络设备的节点标识信息的取值可以相同,也可以不同。其中,非易失性存储介质可以包括磁盘、硬盘等掉电后数据不丢失的存储介质。
进一步的,可以根据所述网络设备的工作性能,在预设的区间范围内选取与所述工作性能相匹配的值。对于工作性能较高的网络设备,则可以将该网络设备的节点标识信息的取值配置的较大,对于工作性能较低的网络设备,可以将该网络设备的节点标识信息的配置的较小。另外,该节点标识信息的取值可以是网络管理员通过命令行配置在该设备上的;也可以是该设备接收其它控制管理设备发来的消息,根据消息指示配置的;还可以是该设备自身运行算法软件自动配置的。例如,可以将区间范围设定在1-5等级,将工作性能最高的网络设备配置为第5等级,将其他网络设备可以配置为1-4等级中的任何一个。
需要说明的是,由于网络设备检测到选举周期开始到发起投票的延迟时间极短,直接设置延迟时间不容易实现。因此,可以结合实际的场景,建立节点标识信息和时间标识信息的映射关系,通过获得节点标识信息的取值来确定时间标识信息的取值,从而最终按照延迟时间向其他网络设备发送投票请求。
最后,完成上述配置之后,当检测到网络设备初次启动、不存在Leader时、或者当检测到Leader宕机或Follower没有接收到Leader的心跳发生选举定时器超时,则各个网络设备从Follower状态转为Candidate状态,并获得时间标识信息。具体可以包括如下几种方式:
第一,从非易失性存储介质中获得预先存储的所述时间标识信息。
第二,首先从所述非易失性存储介质中获得预先存储的节点标识信息;然后根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息。包括:可以将所述节点标识信息作为输入参数代入映射函数,得到的输出值作为所述时间标识信息。或者,可以配置映射关系,所述映射关系包括所述时间标识信息与所述节点标识信息的多个对应关系,直接从映射关系中查找与所述节点标识信息对应的所述时间标识信息。
进一步的,可以首先将所述节点标识信息代入映射函数,得到输出值;然后将所述输出值乘以预设的心跳时间间隔,计算得到所述时间标识信息。例如,Raft-ID在区间范围1-5之间取值,将Raft-ID的值代入映射函数y=1/x,得到映射后的输出值,该输出值的大小位于0-1之间,同时读取非易失存储介质中预设的心跳时间间隔,Raft-T的值为心跳时间间隔与输出值的乘积。或者,可以首先读取非易失存储介质中预设的心跳时间间隔,然后将所述预设的心跳时间间隔除以所述节点标识信息的取值,计算得到的商作为时间标识信息的取值。
需要说明的是,本发明实施例中的时间标识信息与所述节点标识信息之间的映射关系并不局限于上述几种对应关系,还可以包括其他形式的对应关系。
请求发送模块602,用于根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。
具体实现中,如图5所示,图5是本发明实施例提供的一种改进后leader选举方法的示意图。由于性能最好的网络设备的所述时间标识信息的取值最小,因此该网络设备检测到选举周期开始到发起投票的延迟时间最短,因此该网络设备最先向其他Raft发起了投票请求,其他网络设备接收到投票请求之后最先向该网络设备投票,如果该网络设备接收到的投票数超过预设阈值(如,全部网络设备数量的一半)时,就成为领导者Leader,而其他网络设备不再发起投票请求。从而提高了性能较高的网络设备被选举出作为Leader节点的概率,保障特定场景下Raft工作性能。
可选的,可以设置功能开关,当该功能开关打开时,执行根据所述时间标识信息向所述分布式集群系统中的其它网络设备发送投票请求的操作步骤,当该功能开关关闭时,将网络设备的节点标识信息的取值和/或时间标识信息的取值默认为0,从而保证不同Raft模块使用上的兼容性。
可选的,在所述网络设备向其他网络设备发送投票请求并成为领导者Leader之后,该网络设备向其他网络设备广播心跳,以触发其它作为Follower的节点的选举定时器重新开始计时,如果其他网络设备接收到心跳消息,则说明新的Leader已经产生,其他网络设备转化为Follower状态。
需要说明的是,按照上述方法可以保证指定的leader节点最先发起请求投票,并最终成为Leader。但是,由于网络存在时间和外部中断问题,如果指定网络设备的网络时延大、或自身与外界中断等,按照上述方法进行Raft选举,指定网络设备不一定能成为新的Leader。
请继续参考图7,图7是本发明实施例提出的一种网络设备的结构示意图。如图所示,该设备可以包括:至少一个处理器701,例如CPU,至少一个通信接口702,至少一个存储器703和至少一个通信总线704。其中,通信总线704用于实现这些组件之间的连接通信。其中,本申请实施例中设备的通信接口702用于与其他节点设备进行信令或数据的通信。存储器703可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器703可选的还可以是至少一个位于远离前述处理器701的存储装置。存储器703中存储一组程序代码,且处理器701执行存储器703中上述无线接入网络节点所执行的程序。
获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;
根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。
其中,处理器701还用于执行如下操作步骤:
从非易失性存储介质中获得预先存储的所述时间标识信息。
其中,处理器701还用于执行如下操作步骤:
从所述非易失性存储介质中获得预先存储的节点标识信息,所述节点标识信息用于表示所述网络设备成为Leader节点的期望值;
根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息。
其中,处理器701还用于执行如下操作步骤:
将所述节点标识信息代入映射函数,得到与所述节点标识信息对应的所述时间标识信息。
其中,处理器701还用于执行如下操作步骤:
将所述节点标识信息代入映射函数,得到输出值;
将所述输出值乘以预设的心跳时间间隔,计算得到所述时间标识信息。
其中,所述节点标识信息的取值为根据所述网络设备的工作性能,在预设的区间范围内选取的与所述工作性能相匹配的值。
进一步的,处理器还可以与存储器和通信接口相配合,执行上述发明实施例网络设备的操作。
需要说明的是,本发明实施例也可以基于通用的物理服务器结合网络功能虚拟化(英文:Network Function Virtualization,NFV)技术实现的虚拟网络设备,所述虚拟网络设备可以是运行有用于选举Leader功能的程序的虚拟机(英文:Virtual Machine,VM),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
需要说明的是,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的选举领导者Leader的方法。
需要说明的是,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上执行时,使得计算机执行上述各方面的选举领导者Leader的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (13)
1.一种选举领导者Leader的方法,其特征在于,应用在分布式集群系统中,所述分布式集群系统包括网络设备,所述方法包括:
所述网络设备获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;
所述网络设备根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。
2.如权利要求1所述的方法,其特征在于,所述网络设备获取时间标识信息包括:
所述网络设备从非易失性存储介质中获得预先存储的所述时间标识信息。
3.如权利要求1所述的方法,其特征在于,所述网络设备获得时间标识信息包括:
所述网络设备从所述非易失性存储介质中获得预先存储的节点标识信息,所述节点标识信息用于表示所述网络设备成为Leader节点的期望值;
所述网络设备根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息。
4.如权利要求3所述的方法,其特征在于,所述网络设备根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息包括:
所述网络设备将所述节点标识信息代入映射函数,得到与所述节点标识信息对应的所述时间标识信息。
5.如权利要求4所述的方法,其特征在于,所述网络设备将所述节点标识信息代入映射函数,得到与所述节点标识信息对应的所述时间标识信息包括:
所述网络设备将所述节点标识信息代入映射函数,得到输出值;
所述网络设备将所述输出值乘以预设的心跳时间间隔,计算得到所述时间标识信息。
6.如权利要求3-5任一所述的方法,其特征在于,所述节点标识信息的取值为根据所述网络设备的工作性能,在预设的区间范围内选取的与所述工作性能相匹配的值。
7.一种选举领导者Leader的装置,其特征在于,应用在分布式集群系统中,所述装置包括:
信息获取模块,用于获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;
请求发送模块,用于根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。
8.如权利要求7所述的装置,其特征在于,所述信息获取模块具体用于:
从非易失性存储介质中获得预先存储的所述时间标识信息。
9.如权利要求7所述的装置,其特征在于,所述信息获取模块具体用于:
从所述非易失性存储介质中获得预先存储的节点标识信息,所述节点标识信息用于表示所述网络设备成为Leader节点的期望值;
根据预设的映射关系确定与所述节点标识信息对应的所述时间标识信息。
10.如权利要求9所述的装置,其特征在于,所述信息获取模块,还用于将所述节点标识信息代入映射函数,得到与所述节点标识信息对应的所述时间标识信息。
11.如权利要求10所述的装置,其特征在于,所述信息获取模块,还用于将所述节点标识信息代入映射函数,得到输出值;将所述输出值乘以预设的心跳时间间隔,计算得到所述时间标识信息。
12.如权利要求9-11任一所述的装置,其特征在于,所述节点标识信息的取值为根据所述网络设备的工作性能,在预设的区间范围内选取的与所述工作性能相匹配的值。
13.一种网络设备,其特征在于,包括:存储器、通信总线以及处理器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行以下操作:
获得时间标识信息,所述时间标识信息用于表示选举周期开始到发起投票的延迟时间;
根据所述时间标识信息,向所述分布式集群系统中的其它网络设备发送投票请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296735.7A CN108810046A (zh) | 2017-04-28 | 2017-04-28 | 一种选举领导者Leader的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296735.7A CN108810046A (zh) | 2017-04-28 | 2017-04-28 | 一种选举领导者Leader的方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108810046A true CN108810046A (zh) | 2018-11-13 |
Family
ID=64070518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710296735.7A Pending CN108810046A (zh) | 2017-04-28 | 2017-04-28 | 一种选举领导者Leader的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108810046A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109327544A (zh) * | 2018-11-21 | 2019-02-12 | 新华三技术有限公司 | 一种领导节点的确定方法和装置 |
CN109634787A (zh) * | 2018-12-17 | 2019-04-16 | 浪潮电子信息产业股份有限公司 | 分布式文件系统监控器切换方法、装置、设备及存储介质 |
CN109660367A (zh) * | 2018-11-21 | 2019-04-19 | 语联网(武汉)信息技术有限公司 | 基于改进Raft算法的共识达成方法、装置与电子设备 |
CN109828722A (zh) * | 2019-01-29 | 2019-05-31 | 中国人民大学 | 异构分布式键值存储系统Raft组数据自适应分布方法 |
CN110618863A (zh) * | 2019-09-18 | 2019-12-27 | 神州数码融信软件有限公司 | 一种基于Raft算法的作业调度方法 |
CN111327447A (zh) * | 2018-12-17 | 2020-06-23 | 华为技术有限公司 | 一种分布式系统、仲裁方法、节点设备及存储介质 |
CN111447097A (zh) * | 2020-04-20 | 2020-07-24 | 国网甘肃省电力公司信息通信公司 | 一种云平台资源调度管理方法及系统 |
CN111586110A (zh) * | 2020-04-22 | 2020-08-25 | 广州锦行网络科技有限公司 | 一种raft在出现点对点故障时的优化处理方法 |
CN111708780A (zh) * | 2020-06-17 | 2020-09-25 | 北京金山云网络技术有限公司 | 分布式表格系统与分片选主方法、装置、服务器及介质 |
WO2021012930A1 (zh) * | 2019-07-23 | 2021-01-28 | 中南民族大学 | 投票节点配置方法及系统 |
CN113282041A (zh) * | 2021-05-26 | 2021-08-20 | 广东电网有限责任公司 | 一种集群测控装置的参数校核方法、系统、设备及介质 |
CN113873023A (zh) * | 2021-09-23 | 2021-12-31 | 北京新华夏信息技术有限公司 | 领导节点选举方法、装置、设备和存储介质 |
CN114442661A (zh) * | 2022-01-04 | 2022-05-06 | 中国人民解放军军事科学院国防科技创新研究院 | 基于分布式共识机制的无人机集群领航者选择方法 |
CN114726867A (zh) * | 2022-02-28 | 2022-07-08 | 重庆趣链数字科技有限公司 | 一种基于Raft的热备多主方法 |
CN114745135A (zh) * | 2022-04-19 | 2022-07-12 | 西南石油大学 | 一种基于V-raft共识算法进行能源交易的区块链系统 |
CN114866554A (zh) * | 2022-05-20 | 2022-08-05 | 东风商用车有限公司 | 一种免选举分布式协议的方法、装置、设备及存储介质 |
CN115277718A (zh) * | 2022-05-20 | 2022-11-01 | 西安工业大学 | 一种基于节点状态信息的共识方法和分布式系统 |
CN115794478A (zh) * | 2023-02-06 | 2023-03-14 | 天翼云科技有限公司 | 系统配置方法、装置、电子设备及存储介质 |
CN115912581A (zh) * | 2023-02-24 | 2023-04-04 | 国网湖北省电力有限公司经济技术研究院 | 一种分布式储能系统及soc均衡控制方法、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852216A (zh) * | 2006-05-18 | 2006-10-25 | 上海交通大学 | 基于自适应退避策略的无线传感器网络分布式分簇方法 |
CN101808390A (zh) * | 2010-03-08 | 2010-08-18 | 南昌航空大学 | 用于收集无线传感器网络自身健康状态的融合树构建方法 |
WO2011040659A1 (ko) * | 2009-09-29 | 2011-04-07 | 경희대학교 산학협력단 | 무선 센서 네트워크에서 소비 에너지와 서비스 품질을 고려한 데이터 송신 방법 |
CN103228021A (zh) * | 2013-01-05 | 2013-07-31 | 南京农业大学 | 一种基于无线传感器执行网络的设施作物生长参数监测和控制方法 |
CN103298056A (zh) * | 2013-05-14 | 2013-09-11 | 华南师范大学 | 一种无线路由协议方法 |
CN103491168A (zh) * | 2013-09-24 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种集群选举设计方法 |
CN105744585A (zh) * | 2016-04-08 | 2016-07-06 | 南京邮电大学 | 基于三维方块的能量均衡路由计算方法 |
-
2017
- 2017-04-28 CN CN201710296735.7A patent/CN108810046A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852216A (zh) * | 2006-05-18 | 2006-10-25 | 上海交通大学 | 基于自适应退避策略的无线传感器网络分布式分簇方法 |
WO2011040659A1 (ko) * | 2009-09-29 | 2011-04-07 | 경희대학교 산학협력단 | 무선 센서 네트워크에서 소비 에너지와 서비스 품질을 고려한 데이터 송신 방법 |
CN101808390A (zh) * | 2010-03-08 | 2010-08-18 | 南昌航空大学 | 用于收集无线传感器网络自身健康状态的融合树构建方法 |
CN103228021A (zh) * | 2013-01-05 | 2013-07-31 | 南京农业大学 | 一种基于无线传感器执行网络的设施作物生长参数监测和控制方法 |
CN103298056A (zh) * | 2013-05-14 | 2013-09-11 | 华南师范大学 | 一种无线路由协议方法 |
CN103491168A (zh) * | 2013-09-24 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种集群选举设计方法 |
CN105744585A (zh) * | 2016-04-08 | 2016-07-06 | 南京邮电大学 | 基于三维方块的能量均衡路由计算方法 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660367A (zh) * | 2018-11-21 | 2019-04-19 | 语联网(武汉)信息技术有限公司 | 基于改进Raft算法的共识达成方法、装置与电子设备 |
CN109327544A (zh) * | 2018-11-21 | 2019-02-12 | 新华三技术有限公司 | 一种领导节点的确定方法和装置 |
CN109327544B (zh) * | 2018-11-21 | 2021-06-18 | 新华三技术有限公司 | 一种领导节点的确定方法和装置 |
CN109634787A (zh) * | 2018-12-17 | 2019-04-16 | 浪潮电子信息产业股份有限公司 | 分布式文件系统监控器切换方法、装置、设备及存储介质 |
CN111327447A (zh) * | 2018-12-17 | 2020-06-23 | 华为技术有限公司 | 一种分布式系统、仲裁方法、节点设备及存储介质 |
CN109828722B (zh) * | 2019-01-29 | 2022-01-28 | 中国人民大学 | 异构分布式键值存储系统Raft组数据自适应分布方法 |
CN109828722A (zh) * | 2019-01-29 | 2019-05-31 | 中国人民大学 | 异构分布式键值存储系统Raft组数据自适应分布方法 |
WO2021012930A1 (zh) * | 2019-07-23 | 2021-01-28 | 中南民族大学 | 投票节点配置方法及系统 |
CN110618863A (zh) * | 2019-09-18 | 2019-12-27 | 神州数码融信软件有限公司 | 一种基于Raft算法的作业调度方法 |
CN111447097A (zh) * | 2020-04-20 | 2020-07-24 | 国网甘肃省电力公司信息通信公司 | 一种云平台资源调度管理方法及系统 |
CN111586110A (zh) * | 2020-04-22 | 2020-08-25 | 广州锦行网络科技有限公司 | 一种raft在出现点对点故障时的优化处理方法 |
CN111586110B (zh) * | 2020-04-22 | 2021-03-19 | 广州锦行网络科技有限公司 | 一种raft在出现点对点故障时的优化处理方法 |
CN111708780A (zh) * | 2020-06-17 | 2020-09-25 | 北京金山云网络技术有限公司 | 分布式表格系统与分片选主方法、装置、服务器及介质 |
CN111708780B (zh) * | 2020-06-17 | 2023-05-02 | 北京金山云网络技术有限公司 | 分布式表格系统与分片选主方法、装置、服务器及介质 |
CN113282041A (zh) * | 2021-05-26 | 2021-08-20 | 广东电网有限责任公司 | 一种集群测控装置的参数校核方法、系统、设备及介质 |
CN113873023A (zh) * | 2021-09-23 | 2021-12-31 | 北京新华夏信息技术有限公司 | 领导节点选举方法、装置、设备和存储介质 |
CN113873023B (zh) * | 2021-09-23 | 2024-04-02 | 北京新华夏信息技术有限公司 | 领导节点选举方法、装置、设备和存储介质 |
CN114442661A (zh) * | 2022-01-04 | 2022-05-06 | 中国人民解放军军事科学院国防科技创新研究院 | 基于分布式共识机制的无人机集群领航者选择方法 |
CN114442661B (zh) * | 2022-01-04 | 2023-09-22 | 中国人民解放军军事科学院国防科技创新研究院 | 基于分布式共识机制的无人机集群领航者选择方法 |
CN114726867A (zh) * | 2022-02-28 | 2022-07-08 | 重庆趣链数字科技有限公司 | 一种基于Raft的热备多主方法 |
CN114726867B (zh) * | 2022-02-28 | 2023-09-26 | 重庆趣链数字科技有限公司 | 一种基于Raft的热备多主方法 |
CN114745135A (zh) * | 2022-04-19 | 2022-07-12 | 西南石油大学 | 一种基于V-raft共识算法进行能源交易的区块链系统 |
CN114866554A (zh) * | 2022-05-20 | 2022-08-05 | 东风商用车有限公司 | 一种免选举分布式协议的方法、装置、设备及存储介质 |
CN115277718A (zh) * | 2022-05-20 | 2022-11-01 | 西安工业大学 | 一种基于节点状态信息的共识方法和分布式系统 |
CN115277718B (zh) * | 2022-05-20 | 2024-05-14 | 西安工业大学 | 一种基于节点状态信息的共识方法和分布式系统 |
CN115794478A (zh) * | 2023-02-06 | 2023-03-14 | 天翼云科技有限公司 | 系统配置方法、装置、电子设备及存储介质 |
CN115912581A (zh) * | 2023-02-24 | 2023-04-04 | 国网湖北省电力有限公司经济技术研究院 | 一种分布式储能系统及soc均衡控制方法、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810046A (zh) | 一种选举领导者Leader的方法、装置及设备 | |
CN109165945B (zh) | 代表节点设备选举方法、装置、计算机设备及存储介质 | |
CN104580519B (zh) | 一种快速部署openstack云计算平台的方法 | |
US11102084B2 (en) | Fault rectification method, device, and system | |
US10445103B2 (en) | Mobile game data processing method and apparatus | |
WO2020114385A1 (zh) | 一种基于区块链网络的可信节点确定方法和装置 | |
CN106878473A (zh) | 一种消息处理方法、服务器集群及系统 | |
CN112596960B (zh) | 一种分布式存储服务切换方法及装置 | |
CN108551765A (zh) | 输入/输出隔离优化 | |
CN109173270B (zh) | 一种游戏服务系统和实现方法 | |
CN110048896B (zh) | 一种集群数据获取方法、装置及设备 | |
CN106656544A (zh) | 切换装置的无缝自动回复 | |
CN108268372A (zh) | Mock测试处理方法、装置、存储介质和计算机设备 | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
CN101149665B (zh) | 将iSCSI目标名称映射到存储资源的方法和计算系统 | |
CN111045599A (zh) | 分布式存储系统的参数配置方法、装置及计算机设备 | |
CN103823708B (zh) | 虚拟机读写请求处理的方法和装置 | |
CN106960060A (zh) | 一种数据库集群的管理方法及装置 | |
CN106094788A (zh) | 嵌入式板卡稳定性测试系统及方法 | |
CN105468699B (zh) | 去重数据统计方法及设备 | |
CN109495543A (zh) | 一种ceph集群中监视器的管理方法及装置 | |
CN110781039B (zh) | 哨兵进程选举方法及装置 | |
US20160246648A1 (en) | Information technology resource planning | |
CN104657240B (zh) | 多内核操作系统的失效控制方法及装置 | |
Liu et al. | D-Paxos: building hierarchical replicated state machine for cloud environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181113 |
|
RJ01 | Rejection of invention patent application after publication |