一种节点同步方法、装置、设备及存储介质制造方法及图纸

技术编号:27009548 阅读:18 留言:0更新日期:2021-01-08 17:17
本申请公开了一种节点同步方法、装置、电子设备及计算机可读存储介质,该方法包括:获取各个从节点发送的节点数据;从各个节点数据中得到目标集群参数,并基于事件队列长度,利用目标集群参数得到标准集群参数;根据标准集群参数确定授权从节点,并判断授权从节点的数量是否大于数量阈值;若数量大于数量阈值,则基于标准集群参数,利用集群事件对授权从节点进行事件重放;若数量未大于数量阈值,则控制授权从节点对非授权从节点进行状态同步,并在状态同步后利用集群事件对授权从节点进行事件重放;该方法可以在出现节点离开或加入的情况时重新确定授权从节点并使其同步,保证了数据一致性。

【技术实现步骤摘要】
一种节点同步方法、装置、设备及存储介质
本申请涉及数据同步
,特别涉及一种节点同步方法、节点同步装置、电子设备及计算机可读存储介质。
技术介绍
一致性协议是分布式集群的实现的基础,Paxos协议是重要的一致性协议之一,Paxos协议可以大致分为两个阶段:Propose-Promise阶段(提出提案的阶段)和Commit-Accept阶段(提案接受的阶段)。相关技术利用这个两阶段协议在理论上被证明能够维持分布式集群中状态的一致性。但是,若发生了集群节点变化,例如有节点离开或有新的节点加入,则无法保证一致性。因此,相关技术存在的不适用于节点动态变化的集群的问题,是本领域技术人员需要解决的技术问题。
技术实现思路
有鉴于此,本申请的目的在于提供一种节点同步方法、节点同步装置、电子设备及计算机可读存储介质,在节点动态变化时保证集群中节点状态的一致性。为解决上述技术问题,本申请提供了一种节点同步方法,包括:获取各个从节点发送的节点数据;从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。可选地,所述基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放,包括:从多个集群事件中确定事件编号为所述标准集群参数加一的目标集群事件;将所述目标集群事件发送给所述授权从节点;在获取到全部所述授权从节点发送的接收确认信息后,按照事件编号顺序更新所述目标集群事件;若所述目标集群事件对应的目标事件编号大于所述目标集群参数,则确定所述事件重放完成。可选地,所述根据所述标准集群参数确定授权从节点,包括:判断各个所述节点数据中的从节点集群参数是否小于所述标准集群参数;若所述从节点集群参数不小于所述标准集群参数,则将所述从节点确定为所述授权从节点;若所述从节点集群参数小于所述标准集群参数,则将所述从节点确定为所述非授权从节点。可选地,所述控制所述授权从节点对非授权从节点进行状态同步,包括:向目标授权从节点发送同步指令,以便所述目标授权从节点将对应的目标节点数据发送给所述非授权从节点,使所述非授权从节点对应的所述节点集群参数等于所述目标授权从节点对应的所述节点集群参数;更新所述授权从节点的所述数量;当所述数量大于所述数量阈值时,所述状态同步完成。可选地,所述获取各个从节点发送的节点数据,包括:判断自身身份是否为其他节点承认的主节点;若为所述主节点,则向当前网络拓扑中的各个所述从节点发送状态回收请求;获取各个所述从节点响应所述状态回收请求的所述节点数据。可选地,所述判断自身身份是否为其他节点承认的主节点,包括:获取所述当前网络拓扑中各个所述其他节点对应的节点序号;判断自身序号是否为最小节点序号;若为所述最小节点序号,则判断是否成功与所有的所述其他节点建立忠诚关系;若成功建立所述忠诚关系,则确定所述自身身份为所述主节点。可选地,在所述事件重放完毕后,还包括:利用所述目标集群参数,按照事件编号顺序确定新事件编号;向各个所述授权从节点发送所述新事件编号对应的新集群事件;若获取到所有的所述授权从节点发送的接收确认信息,则向各个所述授权从节点发送标志位修改信息,以便所述授权从节点将所述新集群事件对应的标志位进行修改;若获取到所有的所述授权从节点发送的修改确认信息,则重新确定所述新事件编号。本申请还提供了一种节点同步装置,包括:获取模块,用于获取各个从节点发送的节点数据;标准确定模块,用于从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;数量判断模块,用于根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;第一同步模块,用于若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;第二同步模块,用于若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。本申请还提供了一种电子设备,包括存储器和处理器,其中:所述存储器,用于保存计算机程序;所述处理器,用于执行所述计算机程序,以实现上述的节点同步方法。本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的节点同步方法。本申请提供的节点同步方法,获取各个从节点发送的节点数据;从各个节点数据中得到目标集群参数,并基于事件队列长度,利用目标集群参数得到标准集群参数;根据标准集群参数确定授权从节点,并判断授权从节点的数量是否大于数量阈值;若数量大于数量阈值,则基于标准集群参数,利用集群事件对授权从节点进行事件重放;若数量未大于数量阈值,则控制授权从节点对非授权从节点进行状态同步,并在状态同步后利用集群事件对授权从节点进行事件重放。可见,该方法在集群发生节点离开或加入等动态变化后,在重新向外提供服务前,需要选择足够数量的、状态足够新的授权从节点。各个从节点中的节点数据可以表示该从节点对应的事件执行情况。从节点在执行事件的过程中,其对应的节点集群参数也会随之改变,节点集群参数可以表示节点的状态。目标集群参数对应于所有从节点最新获取到的可执行的事件,由于获取到的事件可能不会被立即执行,各个从节点中的事件队列长度有限,因此基于目标集群参数确定的标准集群参数,可以表示获取到目标集群参数对应的事件前应当被执行完的事件,可以作为判断从节点状态是否足够新的标准。利用目标集群参数确定授权从节点后,判断其数量是否大于数量阈值,若大于数量阈值,则可以对其进行事件重放,使各个授权从节点达到同步。若不大于数量阈值,则说明授权从节点数量不足,因此控制授权从节点对非授权从节点进行状态同步,使部分非授权从节点转变为授权从节点,并在状态同步结束后进行事件重放,使得各个授权从节点达到同步。通过重新确定授权从节点并进行事件重放的方式,可以在发生节点离开或加入时重新确定授权从节点并使其同步,保证了数据一致性,解决了相关技术不适用于节点动态变化的集群的问题。此外,本申请还提供了一种节点同步装置、电子设备及计算机可读存储介质,同样具有上述有益效果。附图说明为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图本文档来自技高网...

【技术保护点】
1.一种节点同步方法,其特征在于,包括:/n获取各个从节点发送的节点数据;/n从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;/n根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;/n若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;/n若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。/n

【技术特征摘要】
1.一种节点同步方法,其特征在于,包括:
获取各个从节点发送的节点数据;
从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;
根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;
若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;
若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。


2.根据权利要求1所述的节点同步方法,其特征在于,所述基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放,包括:
从多个集群事件中确定事件编号为所述标准集群参数加一的目标集群事件;
将所述目标集群事件发送给所述授权从节点;
在获取到全部所述授权从节点发送的接收确认信息后,按照事件编号顺序更新所述目标集群事件;
若所述目标集群事件对应的目标事件编号大于所述目标集群参数,则确定所述事件重放完成。


3.根据权利要求1所述的节点同步方法,其特征在于,所述根据所述标准集群参数确定授权从节点,包括:
判断各个所述节点数据中的从节点集群参数是否小于所述标准集群参数;
若所述从节点集群参数不小于所述标准集群参数,则将所述从节点确定为所述授权从节点;
若所述从节点集群参数小于所述标准集群参数,则将所述从节点确定为所述非授权从节点。


4.根据权利要求3所述的节点同步方法,其特征在于,所述控制所述授权从节点对非授权从节点进行状态同步,包括:
向目标授权从节点发送同步指令,以便所述目标授权从节点将对应的目标节点数据发送给所述非授权从节点,使所述非授权从节点对应的所述节点集群参数等于所述目标授权从节点对应的所述节点集群参数;
更新所述授权从节点的所述数量;
当所述数量大于所述数量阈值时,所述状态同步完成。


5.根据权利要求1所述的节点同步方法,其特征在于,所述获取各个从节点发送的节点数据,包括:
判断自身身份是否为其他节点承认的主节点;
若为所述主节点,则向当前网络...

【专利技术属性】
技术研发人员:张凯赵鹏
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1