CN114866395A - 多组分布式一致性协议集群心跳通讯方法及装置 - Google Patents
多组分布式一致性协议集群心跳通讯方法及装置 Download PDFInfo
- Publication number
- CN114866395A CN114866395A CN202210474803.5A CN202210474803A CN114866395A CN 114866395 A CN114866395 A CN 114866395A CN 202210474803 A CN202210474803 A CN 202210474803A CN 114866395 A CN114866395 A CN 114866395A
- Authority
- CN
- China
- Prior art keywords
- physical node
- heartbeat
- raft
- time interval
- fragment
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 64
- 239000012634 fragment Substances 0.000 claims abstract description 69
- 230000008859 change Effects 0.000 claims abstract description 24
- 230000002159 abnormal effect Effects 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 9
- 230000036541 health Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/30—Decision processes by autonomous network management units using voting and bidding
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种多组分布式一致性协议集群心跳通讯方法及装置,该方法包括:根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。本发明实现了在确保raft协议带来的强一致性和高可用特性基础上,最大化地减少CPU和网络资源使用。
Description
技术领域
本发明涉及多组分布式一致性协议,具体而言,涉及一种多组分布式一致性协议集群心跳通讯方法及装置。
背景技术
分布式一致性协议raft是通过多数选举来确定leader节点发送并确认日志的提交,并通过其日志的最大重叠性来确定一个最近的一致性状态,来解决解决分布式系统中状态一致性的算法。raft协议中各节点存在一个相同的心跳超时时间,当选举出leader后,leader除发送日志外,通过向其他所有follower节点发送心跳消息,来确认其leader的地位。如果某个follower在等待新的心跳的时间超过了心跳超时时间,则不再认可原有leader,主动发起新一轮leader选举。在一些基于raft的系统中,也存在着一个集中的管理服务器(集群),所有raft节点以心跳的方式向管理服务器报告健康状态和一些元数据信息。
多组分布式一致性协议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%)和网络资源的过高占用。
针对现有技术多组分布式一致性协议集群心跳通讯占用cpu和网络资源的过高的问题,现有技术缺少一种有效的解决方案。
发明内容
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种多组分布式一致性协议集群心跳通讯方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种多组分布式一致性协议集群心跳通讯方法,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述方法应用于所述第一物理节点,所述方法包括:
根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;
若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。
可选的,该多组分布式一致性协议集群心跳通讯方法,还包括:
若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。
可选的,在所述确认所述第二物理节点内的各raft分片中的领导者运行异常之后,还包括:
通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。
可选的,该多组分布式一致性协议集群心跳通讯方法,还包括:
每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文;
将所述第一物理节点在该时间间隔对应的心跳报文发送到所述第二物理节点,以使所述第二物理节点根据所述第一物理节点对应的定时器对所述第一物理节点内的各raft分片中的领导者的运行状态进行验证。
可选的,所述根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文,具体包括:
将所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容异步写入到预设的心跳报文数据结构中,生成所述第一物理节点在该时间间隔对应的心跳报文。
可选的,该多组分布式一致性协议集群心跳通讯方法,还包括:
将所述第一物理节点在该时间间隔对应的心跳报文发送到预设的管理服务器。
可选的,所述心跳报文包括:节点信息和raft分片信息;
所述节点信息包括:物理节点内的raft分片的数量以及物理节点内的每个raft分片各自对应的raft分片信息在心跳报文中的偏移量;
所述raft分片信息包括:分片当前最后一条日志的序号、分片当前任期以及分片数据段。
为了实现上述目的,根据本发明的另一方面,提供了一种多组分布式一致性协议集群心跳通讯装置,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述装置应用于所述第一物理节点,所述装置包括:
心跳报文等待接收单元,用于根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;
第一报文接收处理单元,用于若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。
可选的,该多组分布式一致性协议集群心跳通讯装置,还包括:
第二报文接收处理单元,用于若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。
可选的,该多组分布式一致性协议集群心跳通讯装置,还包括:
选举启动单元,用于通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。
可选的,该多组分布式一致性协议集群心跳通讯装置,还包括:
心跳报文生成单元,用于每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文;
第一心跳报文发送单元,用于将所述第一物理节点在该时间间隔对应的心跳报文发送到所述第二物理节点,以使所述第二物理节点根据所述第一物理节点对应的定时器对所述第一物理节点内的各raft分片中的领导者的运行状态进行验证。
可选的,所述心跳报文生成单元,具体包括:
内容写入模块,用于将所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容异步写入到预设的心跳报文数据结构中,生成所述第一物理节点在该时间间隔对应的心跳报文。
可选的,该多组分布式一致性协议集群心跳通讯装置,还包括:
第二心跳报文发送单元,用于将所述第一物理节点在该时间间隔对应的心跳报文发送到预设的管理服务器。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述多组分布式一致性协议集群心跳通讯方法的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现上述多组分布式一致性协议集群心跳通讯方法的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述多组分布式一致性协议集群心跳通讯方法的步骤。
本发明的有益效果为:
本发明通过合并心跳,有效将每个物理节点上的心跳信息合并,将原有multi-raft协议中以分片为单位的心跳通讯,合并为按照实际物理节点为单位的心跳通讯,减少了计时器数量、网络通讯次数和数据量,实现了节省CPU和网络资源的有益效果,更加符合现实中的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明多组分布式一致性协议集群心跳通讯方法的第一流程图;
图2是本发明多组分布式一致性协议集群心跳通讯方法的第二流程图;
图3是本发明实施例多组分布式一致性协议集群示意图;
图4是本发明实施例多组分布式一致性协议集群心跳通讯方法示意图;
图5是本发明实施例心跳报文数据结构示意图;
图6是本发明实施例多组分布式一致性协议集群心跳通讯装置的第一结构框图;
图7是本发明实施例多组分布式一致性协议集群心跳通讯装置的第二结构框图;
图8是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
需要说明的是,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
需要说明的是,本申请的多组分布式一致性协议集群心跳通讯方法及装置可以应用于金融领域,也可以应用于其他技术领域。
需要说明的是,多组分布式一致性协议在本文中用multi-raft协议来表示,领导者用leader表示。图3是本发明实施例多组分布式一致性协议集群示意图,本发明的多组分布式一致性协议集群包括n个物理节点,因此每个分片有n个副本,n为大于1的整数,本发明的多组分布式一致性协议集群的数据分为m个分片,因此本发明的多组分布式一致性协议集群中共有m个raft协议组,m为大于1的整数。例如在如图3所示的实施例中包含3个物理节点NODE1、NODE2和NODE3,因此每个分片(Raft1、Raft2、Raft3)有3个副本,在图3的实施例中,数据分为3个分片Raft1、Raft2和Raft3,因此图3实施例中共有3个raft协议组。
为了实现高可用性,一个multi-raft节点(例如图3中NODE1中的Raft1)位于一个独立的物理节点,由多个raft分片中的一片组成,其中multi-raft节点为一个进程,每个raft分片都是multi-raft节点中的一个线程。
而心跳则是为了向多组分布式一致性协议集群中的其他物理节点分发自己当前的健康状态—当前raft分片的leader是否正常运行、并确认当前日志的位置。而在raft分片是raft节点上的一个线程的前提下,单个raft分片的健康状态是依附于当前物理节点的健康状态之上的,当前物理节点的健康状态可以代表其之中所有raft分片的健康状态。
本发明提供了一种多组分布式一致性协议集群心跳通讯方法,其中,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,第一物理节点和第二物理节点为所述多组分布式一致性协议集群中的任意物理节点。在本发明中,第一物理节点和第二物理节点用于指代多组分布式一致性协议集群中的任意两个物理节点。本发明以下实施例的多组分布式一致性协议集群心跳通讯方法应用于所述第一物理节点,即本发明以下实施例的多组分布式一致性协议集群心跳通讯方法的实施主体为所述第一物理节点。
图1是本发明实施例多组分布式一致性协议集群心跳通讯方法的第一流程图,如图1所示,在本发明一个实施例中,本发明的多组分布式一致性协议集群心跳通讯方法包括步骤S101和步骤S102。
步骤S101,根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的。
本发明对multi-raft心跳通讯的优化思路是:合并心跳。将心跳和心跳定时器上移至node一层(于物理节点层次一致),具体如图4所示。
如图4所示,本发明在每个物理节点上设置了心跳报文数据,心跳报文数据在每个物理节点上为一块大小固定的缓存空间,每个为领导者(leader)的raft分片所需要在心跳中向其他物理节点报送的信息都有固定的位置和长度,因此每个为leader的raft分片在状态改变后,可以异步向该缓存空间写入变更的内容。
如图4所示,本发明多组分布式一致性协议集群中每个物理节点都以同一个固定的时间间隔向其他物理节点和管理服务器发送心跳报文。同时每个物理节点都持有n-1个定时器为其他物理节点计时。报文接收模块在处理心跳时的逻辑遵循:如果在心跳超时时间(heartbeat_timeout)内接收到来自该定时器所属的物理节点的心跳报文,则定时器重置,否则若超过了心跳超时时间(heartbeat_timeout),则对于接收方来说,认为该物理节点已经出现问题,该节点上涉及的为leader的raft分片需要启动选举。
如图4所示,本发明在每个物理节点上设置了报文接收模块,用于接收其他物理节点发送的心跳报文。具体的,本发明在每个物理节点上设置了集群中每个其他物理节点各自对应的定时器,本发明根据每个其他物理节点各自对应的定时器对每个其他物理节点发送的心跳报文进行验证。本步骤具体为,第一物理节点的报文接收模块根据预先配置的第二物理节点对应的定时器,等待接收所述第二物理节点发送的心跳报文。
步骤S102,若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。
在本发明一个实施例中,在上述步骤S101之后,本发明的多组分布式一致性协议集群心跳通讯方法还包括:
若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。
在本发明一个实施例中,在上述步骤S102的确认所述第二物理节点内的各raft分片中的领导者运行异常之后,本发明的多组分布式一致性协议集群心跳通讯方法还包括:
通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。
在本发明一个实施例中,若超过对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各leader运行异常,此时,第一物理节点中与该运行异常的leader对应的raft分片启动领导者选举,重新在该运行异常的leader对应的raft分片的raft协议组中选举出leader。
图2是本发明实施例多组分布式一致性协议集群心跳通讯方法的第二流程图,如图2所示,在本发明一个实施例中,本发明的多组分布式一致性协议集群心跳通讯方法包括步骤S201和步骤S202。
步骤S201,每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文。
假设图4中的NODE1为第一物理节点,如图4所示,NODE1(第一物理节点)以一个固定的时间间隔向其他物理节点(NODE2和NODE3,假设NODE2为第二物理节点)和管理服务器发送心跳报文。NODE1中的每个leader在状态改变后,可以异步向NODE1的心跳报文数据中写入状态变更内容,每到心跳报文发送的时间,将此时的心跳报文数据发送给其他物理节点和管理服务器。
步骤S202,将所述第一物理节点在该时间间隔对应的心跳报文发送到所述第二物理节点,以使所述第二物理节点根据所述第一物理节点对应的定时器对所述第一物理节点内的各raft分片中的领导者的运行状态进行验证。
在本发明中,第二物理节点对第一物理节点内的各leader的运行状态进行验证的方法,与上述步骤中第一物理节点对第二物理节点内的各leader的运行状态进行验证的方法相同,具体不再赘述。
在本发明一个实施例中,上述步骤S201的根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文,具体包括:
将所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容异步写入到预设的心跳报文数据结构中,生成所述第一物理节点在该时间间隔对应的心跳报文。
在本发明一个实施例中,本发明在每个物理节点上设置了一块大小固定的缓存空间用于存储心跳报文数据,该心跳报文数据具有固定的心跳报文数据结构。
在本发明一个实施例中,心跳报文的数据结构可以如图5所示。对于图5中的报文字段的详细解释可以如下表1所示。
表1
如图5和表1所示,在本发明一个实施例中,心跳报文的数据结构具体包括:节点信息。所示节点信息具体包括分片数和偏移量,分片数为物理节点内的raft分片的数量,偏移量为物理节点内的每个raft分片各自对应的raft分片信息在心跳报文中的偏移量。
如图5和表1所示,在本发明另一个实施例中,心跳报文的数据结构具体还包括:物理节点内的每个raft分片各自对应的raft分片信息。所述raft分片信息具体包括:分片当前最后一条日志的序号(log_index)、分片当前任期(term)以及分片数据段。其中,分片数据段用于存储leader的状态变更内容。
如图5和表1所示,在本发明另一个实施例中,心跳报文的数据结构具体还包括:节点数据段,节点数据段包含节点数据,例如硬件统计信息。
具体的,分片数据段和节点数据段,在通常情况下供其他物理节点或管理服务器解析并保存在本地,以便进行日志和数据的重传、数据的合并或分拆操作。
在本发明一个实施例中,在上述步骤S201生成所述第一物理节点在该时间间隔对应的心跳报文之后,本发明的方法还包括:
将所述第一物理节点在该时间间隔对应的心跳报文发送到预设的管理服务器(如图3中的中心管理器以及图4中的Management Center)。
由以上实施例可以看出,本发明至少实现了以下有益效果:
本发明通过合并心跳,有效将每个物理节点上的心跳信息合并,将原有multi-raft协议中以分片为单位的心跳通讯,合并为按照实际物理节点为单位的心跳通讯,减少了计时器数量、网络通讯次数和数据量,实现了节省CPU和网络资源的有益效果,更加符合现实中的需求。
本发明通过梳理multi-raft中,raft分片和物理节点之间的绑定关系,使物理上的联系和raft协议中节点心跳探活机制的逻辑联系保持一致,在确保raft协议带来的强一致性和高可用特性基础上,最大化地减少CPU和网络资源使用。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种多组分布式一致性协议集群心跳通讯装置,可以用于实现上述实施例所描述的多组分布式一致性协议集群心跳通讯方法,如下面的实施例所述。由于多组分布式一致性协议集群心跳通讯装置解决问题的原理与多组分布式一致性协议集群心跳通讯方法相似,因此多组分布式一致性协议集群心跳通讯装置的实施例可以参见多组分布式一致性协议集群心跳通讯方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明还提供了一种多组分布式一致性协议集群心跳通讯装置,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述多组分布式一致性协议集群心跳通讯装置应用于所述第一物理节点。
图6是本发明实施例多组分布式一致性协议集群心跳通讯装置的第一结构框图,如图6所示,在本发明一个实施例中,本发明的多组分布式一致性协议集群心跳通讯装置包括:
心跳报文等待接收单元1,用于根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;
第一报文接收处理单元2,用于若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。
在本发明一个实施例中,本发明的多组分布式一致性协议集群心跳通讯装置,还包括:
第二报文接收处理单元,用于若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。
在本发明一个实施例中,本发明的多组分布式一致性协议集群心跳通讯装置,还包括:
选举启动单元,用于通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。
图7是本发明实施例多组分布式一致性协议集群心跳通讯装置的第二结构框图,如图7所示,在本发明一个实施例中,在本发明一个实施例中,本发明的多组分布式一致性协议集群心跳通讯装置,还包括:
心跳报文生成单元3,用于每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文;
第一心跳报文发送单元4,用于将所述第一物理节点在该时间间隔对应的心跳报文发送到所述第二物理节点,以使所述第二物理节点根据所述第一物理节点对应的定时器对所述第一物理节点内的各raft分片中的领导者的运行状态进行验证。
在本发明一个实施例中,所述心跳报文生成单元3,具体包括:
内容写入模块,用于将所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容异步写入到预设的心跳报文数据结构中,生成所述第一物理节点在该时间间隔对应的心跳报文。
在本发明一个实施例中,本发明的多组分布式一致性协议集群心跳通讯装置,还包括:
第二心跳报文发送单元,用于将所述第一物理节点在该时间间隔对应的心跳报文发送到预设的管理服务器。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图8所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述多组分布式一致性协议集群心跳通讯方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述多组分布式一致性协议集群心跳通讯方法的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
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.一种多组分布式一致性协议集群心跳通讯装置,其特征在于,所述多组分布式一致性协议集群包括:第一物理节点和第二物理节点,所述装置应用于所述第一物理节点,所述装置包括:
心跳报文等待接收单元,用于根据所述第二物理节点对应的定时器等待接收所述第二物理节点发送的心跳报文,其中,所述第二物理节点每隔一个固定的时间间隔,生成该时间间隔对应的心跳报文,并将该时间间隔对应的心跳报文发送到所述第一物理节点,该时间间隔对应的心跳报文为根据所述第二物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容生成的;
第一报文接收处理单元,用于若超过所述定时器对应的心跳超时时间仍未接收到所述心跳报文,则确认所述第二物理节点内的各raft分片中的领导者运行异常。
9.根据权利要求8所述的多组分布式一致性协议集群心跳通讯装置,其特征在于,还包括:
第二报文接收处理单元,用于若未超过所述心跳超时时间接收到所述心跳报文,则重置所述定时器。
10.根据权利要求8所述的多组分布式一致性协议集群心跳通讯装置,其特征在于,还包括:
选举启动单元,用于通知所述第一物理节点中与该运行异常的领导者对应的raft分片启动领导者选举。
11.根据权利要求8所述的多组分布式一致性协议集群心跳通讯装置,其特征在于,还包括:
心跳报文生成单元,用于每隔一个固定的时间间隔,根据所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容,生成所述第一物理节点在该时间间隔对应的心跳报文;
第一心跳报文发送单元,用于将所述第一物理节点在该时间间隔对应的心跳报文发送到所述第二物理节点,以使所述第二物理节点根据所述第一物理节点对应的定时器对所述第一物理节点内的各raft分片中的领导者的运行状态进行验证。
12.根据权利要求11所述的多组分布式一致性协议集群心跳通讯装置,其特征在于,所述心跳报文生成单元,具体包括:
内容写入模块,用于将所述第一物理节点中的各raft分片中的领导者在该时间间隔内的状态变更内容异步写入到预设的心跳报文数据结构中,生成所述第一物理节点在该时间间隔对应的心跳报文。
13.根据权利要求11所述的多组分布式一致性协议集群心跳通讯装置,其特征在于,还包括:
第二心跳报文发送单元,用于将所述第一物理节点在该时间间隔对应的心跳报文发送到预设的管理服务器。
14.根据权利要求8所述的多组分布式一致性协议集群心跳通讯装置,其特征在于,所述心跳报文包括:节点信息和raft分片信息;
所述节点信息包括:物理节点内的raft分片的数量以及物理节点内的每个raft分片各自对应的raft分片信息在心跳报文中的偏移量;
所述raft分片信息包括:分片当前最后一条日志的序号、分片当前任期以及分片数据段。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任意一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任意一项所述方法的步骤。
17.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210474803.5A CN114866395B (zh) | 2022-04-29 | 2022-04-29 | 多组分布式一致性协议集群心跳通讯方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210474803.5A CN114866395B (zh) | 2022-04-29 | 2022-04-29 | 多组分布式一致性协议集群心跳通讯方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866395A true CN114866395A (zh) | 2022-08-05 |
CN114866395B CN114866395B (zh) | 2024-03-22 |
Family
ID=82634555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210474803.5A Active CN114866395B (zh) | 2022-04-29 | 2022-04-29 | 多组分布式一致性协议集群心跳通讯方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866395B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116614512A (zh) * | 2023-02-21 | 2023-08-18 | 北京友友天宇系统技术有限公司 | 分布式群组通信的强一致性群组视图管理方法、装置和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936662A (zh) * | 2015-12-31 | 2017-07-07 | 杭州华为数字技术有限公司 | 一种实现心跳机制的方法、装置及系统 |
US20170262519A1 (en) * | 2010-12-23 | 2017-09-14 | Eliot Horowitz | System and method for determining consensus within a distributed database |
CN107181637A (zh) * | 2016-03-11 | 2017-09-19 | 华为技术有限公司 | 一种心跳信息发送方法、装置及心跳发送节点 |
US20170366451A1 (en) * | 2016-06-16 | 2017-12-21 | Sap Se | Modified consensus protocol for eliminating heartbeat network traffic |
CN112822078A (zh) * | 2021-02-26 | 2021-05-18 | 浪潮云信息技术股份公司 | 一种不同网域中各节点raft心跳上报的实现方法 |
-
2022
- 2022-04-29 CN CN202210474803.5A patent/CN114866395B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170262519A1 (en) * | 2010-12-23 | 2017-09-14 | Eliot Horowitz | System and method for determining consensus within a distributed database |
CN106936662A (zh) * | 2015-12-31 | 2017-07-07 | 杭州华为数字技术有限公司 | 一种实现心跳机制的方法、装置及系统 |
CN107181637A (zh) * | 2016-03-11 | 2017-09-19 | 华为技术有限公司 | 一种心跳信息发送方法、装置及心跳发送节点 |
US20170366451A1 (en) * | 2016-06-16 | 2017-12-21 | Sap Se | Modified consensus protocol for eliminating heartbeat network traffic |
CN112822078A (zh) * | 2021-02-26 | 2021-05-18 | 浪潮云信息技术股份公司 | 一种不同网域中各节点raft心跳上报的实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116614512A (zh) * | 2023-02-21 | 2023-08-18 | 北京友友天宇系统技术有限公司 | 分布式群组通信的强一致性群组视图管理方法、装置和设备 |
CN116614512B (zh) * | 2023-02-21 | 2024-04-26 | 北京友友天宇系统技术有限公司 | 分布式群组通信的强一致性群组视图管理方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114866395B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3543870B1 (en) | Exactly-once transaction semantics for fault tolerant fpga based transaction systems | |
CN107295080B (zh) | 应用于分布式服务器集群的数据存储方法和服务器 | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
CN107623703B (zh) | 全局事务标识gtid的同步方法、装置及系统 | |
US20150019812A1 (en) | Replication between sites using keys associated with modified data | |
CN111338773A (zh) | 一种分布式定时任务调度方法、调度系统及服务器集群 | |
WO2017185615A1 (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
CN113760468A (zh) | 分布式选举方法、装置、系统和介质 | |
CN114461593B (zh) | 日志写入方法及其装置、电子设备及存储介质 | |
CN114866395A (zh) | 多组分布式一致性协议集群心跳通讯方法及装置 | |
CN108111630B (zh) | 一种Zookeeper集群系统及其连接方法和系统 | |
CN113220473B (zh) | 数据存储方法及系统 | |
US11641313B2 (en) | Asynchronous liveness boosting of state machine replication | |
CN117579611A (zh) | 数据传输方法、装置、存储介质及电子装置 | |
CN108293065B (zh) | 用于对高速缓存的数据的增强型模式控制的方法、设备和系统 | |
CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
WO2018217715A1 (en) | Layered distributed storage system and techniques for edge computing systems | |
CN113268327A (zh) | 事务请求的处理方法、装置和电子设备 | |
Sun et al. | Adaptive trade‐off between consistency and performance in data replication | |
CN113438274A (zh) | 数据传输方法、装置、计算机设备及可读存储介质 | |
CN114860740A (zh) | 基于可编程交换机的分布式事务处理方法、装置和系统 | |
CN114143127B (zh) | 数据广播方法、装置和电子设备 | |
CN115941784B (zh) | 一种边缘弱网环境大文件可靠下载的方法和系统 | |
EL-Sanosi et al. | Improving the latency and throughput of ZooKeeper atomic broadcast | |
Behrens et al. | Pushing Bytes: Cloud Scale Big-Data Replication with RDMC |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |