多组分布式一致性协议集群心跳通讯方法及装置制造方法及图纸

技术编号:34452934 阅读:36 留言:0更新日期:2022-08-06 16:55
本发明专利技术公开了一种多组分布式一致性协议集群心跳通讯方法及装置,该方法包括:根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。本发明专利技术实现了在确保raft协议带来的强一致性和高可用特性基础上,最大化地减少CPU和网络资源使用。络资源使用。络资源使用。

【技术实现步骤摘要】
多组分布式一致性协议集群心跳通讯方法及装置


[0001]本专利技术涉及多组分布式一致性协议,具体而言,涉及一种多组分布式一致性协议集群心跳通讯方法及装置。

技术介绍

[0002]分布式一致性协议raft是通过多数选举来确定leader节点发送并确认日志的提交,并通过其日志的最大重叠性来确定一个最近的一致性状态,来解决解决分布式系统中状态一致性的算法。raft协议中各节点存在一个相同的心跳超时时间,当选举出leader后,leader除发送日志外,通过向其他所有follower节点发送心跳消息,来确认其leader的地位。如果某个follower在等待新的心跳的时间超过了心跳超时时间,则不再认可原有leader,主动发起新一轮leader选举。在一些基于raft的系统中,也存在着一个集中的管理服务器(集群),所有raft节点以心跳的方式向管理服务器报告健康状态和一些元数据信息。
[0003]多组分布式一致性协议multi

raft是把所管理的数据按照一定的方式切片,每一个切片的数据都有自己的副本,这些副本之间的数据使用raft协议来保证数据的一致性。基于multi

raft协议的系统,假设物理节点的数目确定(n),则每个分片有n个副本,分为m个raft协议组。在存在一个管理服务器的情况下,每个分片的leader定时向管理服务器发送1个心跳,最高并发m;在一个leader正常工作的情况下,每个心跳周期内leader向其他(n

1)个follower发送一个心跳,最高并发m
×
(n

1);在某个物理节点宕机/网络抖动造成心跳超时的情况下,会触发follower向其他同组的节点广播选举请求(并非心跳,但因在超时时间内未能收到心跳而起),最高并发m
×
(n

1)
×
(n

1)。基于multi

raft协议用于存储海量数据时而由于分布式集群的高可用性要求,心跳检测的超时时间一般会比较短,因此在数据量大,数据分片多时,集群中心跳消息的数量和频率会非常高,从而对造成cpu(超过85%)和网络资源的过高占用。
[0004]针对现有技术多组分布式一致性协议集群心跳通讯占用cpu和网络资源的过高的问题,现有技术缺少一种有效的解决方案。

技术实现思路

[0005]本专利技术为了解决上述
技术介绍
中的至少一个技术问题,提出了一种多组分布式一致性协议集群心跳通讯方法及装置。
[0006]为了实现上述目的,根据本专利技术的一个方面,提供了一种多组分布式一致性协议集群心跳通讯方法,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述方法应用于所述第一物理节点,所述方法包括:
[0007]根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为
根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;
[0008]若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。
[0009]可选的,该多组分布式一致性协议集群心跳通讯方法,还包括:
[0010]若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。
[0011]可选的,在所述确认所述第二物理节点内的各raft分片中的领导者运行异常之后,还包括:
[0012]通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。
[0013]可选的,该多组分布式一致性协议集群心跳通讯方法,还包括:
[0014]每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文;
[0015]将所述第一物理节点在该时间间隔对应的心跳报文发送到所述第二物理节点,以使所述第二物理节点根据所述第一物理节点对应的定时器对所述第一物理节点内的各raft分片中的领导者的运行状态进行验证。
[0016]可选的,所述根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文,具体包括:
[0017]将所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容异步写入到预设的心跳报文数据结构中,生成所述第一物理节点在该时间间隔对应的心跳报文。
[0018]可选的,该多组分布式一致性协议集群心跳通讯方法,还包括:
[0019]将所述第一物理节点在该时间间隔对应的心跳报文发送到预设的管理服务器。
[0020]可选的,所述心跳报文包括:节点信息和raft分片信息;
[0021]所述节点信息包括:物理节点内的raft分片的数量以及物理节点内的每个raft分片各自对应的raft分片信息在心跳报文中的偏移量;
[0022]所述raft分片信息包括:分片当前最后一条日志的序号、分片当前任期以及分片数据段。
[0023]为了实现上述目的,根据本专利技术的另一方面,提供了一种多组分布式一致性协议集群心跳通讯装置,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述装置应用于所述第一物理节点,所述装置包括:
[0024]心跳报文等待接收单元,用于根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;
[0025]第一报文接收处理单元,用于若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。
[0026]可选的,该多组分布式一致性协议集群心跳通讯装置,还包括:
[0027]第二报文接收处理单元,用于若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。
[0028]可选的,该多组分布式一致性协议集群心跳通讯装置,还包括:
[0029]选举启动单元,用于通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。
[0030]可选的,该多组分布式一致性协议集群心跳通讯装置,还包括:
[0031]心跳报文生成单元,用于每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多组分布式一致性协议集群心跳通讯方法,其特征在于,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述方法应用于所述第一物理节点,所述方法包括:根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。2.根据权利要求1所述的多组分布式一致性协议集群心跳通讯方法,其特征在于,还包括:若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。3.根据权利要求1所述的多组分布式一致性协议集群心跳通讯方法,其特征在于,在所述确认所述第二物理节点内的各raft分片中的领导者运行异常之后,还包括:通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。4.根据权利要求1所述的多组分布式一致性协议集群心跳通讯方法,其特征在于,还包括:每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文;将所述第一物理节点在该时间间隔对应的心跳报文发送到所述第二物理节点,以使所述第二物理节点根据所述第一物理节点对应的定时器对所述第一物理节点内的各raft分片中的领导者的运行状态进行验证。5.根据权利要求4所述的多组分布式一致性协议集群心跳通讯方法,其特征在于,所述根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文,具体包括:将所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容异步写入到预设的心跳报文数据结构中,生成所述第一物理节点在该时间间隔对应的心跳报文。6.根据权利要求4所述的多组分布式一致性协议集群心跳通讯方法,其特征在于,还包括:将所述第一物理节点在该时间间隔对应的心跳报文发送到预设的管理服务器。7.根据权利要求1所述的多组分布式一致性协议集群心跳通讯方法,其特征在于,所述心跳报文包括:节点信息和raft分片信息;所述节点信息包括:物理节点内的raft分片的数量以及物理节点内的每个raft分片各自对应的raft分片信息在心跳报文中的偏移量;所述raft分片信息包括:分片当前最后一条日志的序号、分片当前任期以及分片数据段。8.一种多组分布式一致性协议集群心跳通讯装置,其特征在于,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述装置应用于所述第一物理节点,所述
装置包括:心跳报文等待接收单元,用于根据所述第二物理节点对应的定时器等待接收所述第二物理...

【专利技术属性】
技术研发人员:周莹
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1