基于动态领导候选机制的非拜占庭容错一致性共识方法技术

技术编号:38751177 阅读:11 留言:0更新日期:2023-09-09 11:17
本发明专利技术涉及服务器节点交互技术领域,具体为基于动态领导候选机制的非拜占庭容错一致性共识方法,系统中集群节点的初始化;系统处理客户端请求;系统中领导崩溃后重新选举;有益效果为:本发明专利技术提出的基于动态领导候选机制的非拜占庭容错一致性共识方法,在方案的初始化阶段中,依据节点的通信延时表现进行了子集群的划分、子集群领导的选用和领导的选用,更容易选用出高性能的节点作为承担更多任务的领导节点,有助于充分发挥节点性能水平,提高整个系统的效率。整个系统的效率。整个系统的效率。

【技术实现步骤摘要】
基于动态领导候选机制的非拜占庭容错一致性共识方法


[0001]本专利技术涉及服务器节点交互
,具体为基于动态领导候选机制的非拜占庭容错一致性共识方法。

技术介绍

[0002]一致性共识,即同一集群内的多个服务器节点通过信息的交互,对相关指令的执行情况达成统一意见的过程。
[0003]现有技术中,在一致性共识中,可以容忍集群中存在一定数量恶意节点的共识算法,被称为拜占庭容错一致性共识算法;反之,被称为非拜占庭容错一致性共识算法。
[0004]但是,现实应用中,由于证书等准入机制的存在,使得恶意节点存在的可能性不高、难以在实际中遇到拜占庭容错问题;再加上非拜占庭容错一致性共识算法较为简洁高效,因此,在现实系统中非拜占庭容错一致性共识算法的应用更为广泛。

技术实现思路

[0005]本专利技术的目的在于提供基于动态领导候选机制的非拜占庭容错一致性共识方法,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:基于动态领导候选机制的非拜占庭容错一致性共识方法,所述方法包括以下步骤:
[0007]S1.系统中集群节点的初始化;
[0008]S2.系统处理客户端请求;
[0009]S3.系统中领导崩溃后重新选举。
[0010]优选的,系统中集群节点的初始化具体操作为:
[0011]S1.1各节点广播初始化消息,等待其余节点的响应;
[0012]S1.1.2.节点记录将超过阈值t
tar
的节点和时间信息记录至L
time
,将不超过阈值t
tar
的节点和时间信息记录至L
InTime

[0013]S1.3.各节点向L
InTime
中节点发送重确认消息;等待其余节点的响应;
[0014]S1.4各节点收到重确认消息后,若重确认消息的发送节点在L
InTime
内,回复接收;否则,回复拒绝;
[0015]S1.5各节点若收到接收消息,不作处理;否则,将发送拒绝响应的节点由列表L
InTime
移至L
Time

[0016]S1.6各节点向L
InTime
中各节点发送消息m
L
,该消息包含节点本地L
InTime
列表;
[0017]S1.7各节点收到步骤S1.6发送的消息,记为m

L
,将同时存在于m

L
中列表和本地L
Time
列表的节点移至L
InTime

[0018]S1.8各节点计算L
InTime
中的总时间t
total
,并向L
InTime
列表中的其余节点广播t
total

[0019]S1.9各节点收到步骤S1.8所有的t
total
后,找出拥有最小t
total
的节点作为所在子集群的领导节点;
[0020]S1.10各子集群的领导节点广播自己的子集群领导身份;
[0021]S1.11未加入任何子集群的节点收到步骤S1.10中的第一个消息后,便进行响应;各子集群的领导节点,记录其余子集群的领导节点信息至列表L
leaders
,并从L
Time
中计算其到其余子集群领导的总时间t
Ltotal

[0022]S1.12各子集群领导节点更新列表L
InTime
,向其余子集群领导节点广播自己的t
Ltotal

[0023]S1.13拥有最小t
Ltotal
的节点兼任整个集群的领导者节点,领导者节点向子集群领导者节点,子集群领导者节点向跟随者节点开始周期性发送包含领导者信息的心跳消息。
[0024]优选的,系统处理客户端请求具体操作如下:
[0025]S2.1客户端向集群中的节点发起请求;
[0026]S2.2若集群中的普跟随者节点接到请求,将请求转发至子集群领导节点;
[0027]S2.3若集群中的子集群领导节点接到请求,将请求转发至领导节点;
[0028]S2.4若领导节点接收到请求,将请求对应的命令序列化为日志记录在本地,并将日志附着在心跳信息,发送至其余子集群的领导节点和自己子集群的跟随者节点;
[0029]S2.5各子集群的领导节点接收到日志后,将日志发送给子集群内跟随者节点;
[0030]S2.6各跟随者节点检索到心跳信息中的日志后,响应子集群领导者节点;
[0031]S2.7各子集群的领导节点通过响应时间,更新列表L
InTime
中的时间信息,并将其中最短响应时间的节点作为子集群候选领导者,附着在心跳消息中,发送至跟随者节点;
[0032]S2.8各子集群领导节点会在有足够数量响应时,将变化情况发送至领导节点;
[0033]S2.9领导节点根据各子集群领导的响应时间,更新列表中的响应时间,将最短响应时间的节点作为最佳领导候选节点,附着在下次心跳消息中发送至子集群领导节点;统计各节点接收日志复制的情况:若半数以上的节点已成功获得日志信息,便执行状态机来提交日志,将执行结果返回给客户端,并将提交日志信息附着在心跳消息中发送至子集群领导者;
[0034]S2.10子集群领导者通过心跳消息获取提交信息后,执行状态机提交对应的日志,将提交信息附着在心跳消息发送至跟随者节点;子集群领导节点通过心跳消息获取最佳领导候选者节点后,进行保存;
[0035]S2.11跟随者节点通过心跳消息获取提交信息后,执行状态机提交对应的日志;通过心跳消息获取最佳子集群领导候选者节点后,进行保存。
[0036]优选的,系统中领导崩溃后重新选举具体操作如下:
[0037]S3.1若子集群领导者崩溃,各子集群节点在等待子集群领导节点的心跳消息超时后,为本地存储的最佳子集群领导候选节点投票,最终得票超过半数的节点成为该子集群领导者节点;并通知领导者节点这一信息;
[0038]S3.2领导者节点更新自己的列表L
leaders

[0039]S3.3若领导者节点崩溃,其余子集群领导者节点为本地存储的最佳领导候选节点投票,最终得票超过半数的节点成为新的领导者;同时,旧领导者节点所在的子集群节点按S3.1~S3.2的方法选出新的子集群领导者节点。
[0040]与现有技术相比,本专利技术的有益效果是:
[0041]本专利技术提出的基于动态领导候选机制的非拜占庭容错一致性共识方法,在方案的
初始化阶段中,依据节点的通信延时表现进行了子集群的划分、子集群领导的选用和领导的选用,更容易选用出高性能的节点作为承担更多任务的领导节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于动态领导候选机制的非拜占庭容错一致性共识方法,其特征在于:所述方法包括以下步骤:S1.系统中集群节点的初始化;S2.系统处理客户端请求;S3.系统中领导崩溃后重新选举。2.根据权利要求1所述的基于动态领导候选机制的非拜占庭容错一致性共识方法,其特征在于:系统中集群节点的初始化具体操作为:S1.1各节点广播初始化消息,等待其余节点的响应;S1.1.2.节点记录将超过阈值t
tar
的节点和时间信息记录至L
time
,将不超过阈值t
tar
的节点和时间信息记录至L
InTime
;S1.3.各节点向L
InTime
中节点发送重确认消息;等待其余节点的响应;S1.4各节点收到重确认消息后,若重确认消息的发送节点在L
InTime
内,回复接收;否则,回复拒绝;S1.5各节点若收到接收消息,不作处理;否则,将发送拒绝响应的节点由列表L
InTime
移至L
Time
;S1.6各节点向L
InTime
中各节点发送消息m
L
,该消息包含节点本地L
InTime
列表;S1.7各节点收到步骤S1.6发送的消息,记为m

L
,将同时存在于m

L
中列表和本地L
Time
列表的节点移至L
InTime
;S1.8各节点计算L
InTime
中的总时间t
total
,并向L
InTime
列表中的其余节点广播t
total
;S1.9各节点收到步骤S1.8所有的t
total
后,找出拥有最小t
total
的节点作为所在子集群的领导节点;S1.10各子集群的领导节点广播自己的子集群领导身份;S1.11未加入任何子集群的节点收到步骤S1.10中的第一个消息后,便进行响应;各子集群的领导节点,记录其余子集群的领导节点信息至列表L
leaders
,并从L
Time
中计算其到其余子集群领导的总时间t
Ltotal
;S1.12各子集群领导节点更新列表L
InTime
,向其余子集群领导节点广播自己的t
Ltotal...

【专利技术属性】
技术研发人员:孟奇秦雪娇
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1