一种集群仲裁方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:27618348 阅读:16 留言:0更新日期:2021-03-10 10:53
本申请公开了一种集群仲裁方法、装置、电子设备及计算机可读存储介质,该方法包括:获取历史选举集,并利用历史选举集得到第一节点数量和电源情况;根据电源情况,利用第一节点数量生成仲裁参数;获取当前网络拓扑,并判断当前网络拓扑是否满足仲裁参数;若满足仲裁参数,则提供集群服务;该方法并不要求故障后新的网络拓扑中的节点必须为原本集群中的多数,在保证了数据一致性的基础上,使网络拓扑在包含任意数量节点的情况下均可继续工作,改善了集群的存续性。集群的存续性。集群的存续性。

【技术实现步骤摘要】
一种集群仲裁方法、装置、电子设备及可读存储介质


[0001]本申请涉及集群
,特别涉及一种集群仲裁方法、集群仲裁装置、电子设备及计算机可读存储介质。

技术介绍

[0002]分布式集群在工作中,集群节点可能会发生故障,或者集群节点间的网络通信可能会发生中断,这样会导致集群拓扑出现损失或者分裂。若发生了拓扑损失,留存在拓扑中的如果不接管集群功能,集群就会停机;若发生了拓扑分裂,且分裂后的各个部分都尝试接管集群,由于部分间相互不能通信,状态一致性就会被破坏。为了解决上述问题,相关技术采用多数仲裁的方式,即在集群发生上述两种故障时进行网络拓扑确认,如果所在的拓扑连通分支包含了半数以上的节点,那么它所在的分支就将接管集群,同时处于其他分支的节点退出集群。但是相关技术的局限性较大,在很多可以继续作为集群向外提供服务的情况下,仅由于存活的节点数量没有超过半数而无法提供服务,导致集群的存续性较差。
[0003]因此,相关技术存在的集群存续性较差的问题,是本领域技术人员需要解决的技术问题。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种集群仲裁方法、集群仲裁装置、电子设备及计算机可读存储介质,使网络拓扑在包含任意数量节点的情况下均可继续工作,改善了集群的存续性。
[0005]为解决上述技术问题,本申请提供了一种集群仲裁方法,包括:获取历史选举集,并利用所述历史选举集得到第一节点数量和电源情况;根据所述电源情况,利用所述第一节点数量生成仲裁参数;获取当前网络拓扑,并判断所述当前网络拓扑是否满足所述仲裁参数;若满足所述仲裁参数,则提供集群服务。
[0006]可选地,所述利用所述历史选举集得到第一节点数量和电源情况,包括:对所述历史选举集中的第一授权节点进行统计,得到所述第一节点数量;获取各个所述第一授权节点对应的电源信息,判断所有的所述第一授权节点是否由一个电源供电;若由一个所述电源供电,则将所述电源情况确定为单一供电;若不由一个所述电源供电,则将所述电源情况确定为最大单一供电节点数;所述最大单一供电节点数大于所述第一节点数量的半数。
[0007]可选地,所述根据所述电源情况,利用所述第一节点数量生成仲裁参数,包括:若所述电源情况为所述单一供电,则根据所述第一节点数量的奇偶情况,利用所述第一节点数量生成仲裁阈值;若所述电源情况为所述最大单一供电节点数,则根据所述历史选举集的仲裁盘情况,
利用所述最大单一供电节点数和所述第一节点数量生成所述仲裁阈值;利用所述仲裁阈值生成所述仲裁参数。
[0008]可选地,所述根据所述第一节点数量的奇偶情况,利用所述第一节点数量生成仲裁阈值,包括:若所述第一节点数量为奇数,则将所述第一节点数量加一后除以二,得到所述仲裁阈值;若所述第一节点数量为偶数,则判断所述历史选举集中是否存在仲裁盘;若存在所述仲裁盘,则将所述第一节点数量除以二,得到所述仲裁阈值;若不存在所述仲裁盘,则将所述第一节点数量除以二后加一,得到所述仲裁阈值。
[0009]可选地,所述根据所述历史选举集的仲裁盘情况,利用所述最大单一供电节点数和所述第一节点数量生成所述仲裁阈值,包括:若所述历史选举集中存在仲裁盘,则利用所述第一节点数量减去所述最大单一供电节点数,得到所述仲裁阈值;若所述历史选举集中不存在所述仲裁盘,则利用所述第一节点数量减去所述最大单一供电节点数后加一,得到所述仲裁阈值。
[0010]可选地,所述判断所述当前网络拓扑是否满足所述仲裁参数,包括:判断所述当前网络拓扑对应的第二授权节点数是否小于所述仲裁阈值;若小于所述仲裁阈值,则确定不满足所述仲裁参数;若不小于所述仲裁阈值,则判断所述历史选举集是否为目标选举集;所述目标选举集为具有大于一个所述电源且具有仲裁盘的选举集,或者为具有一个所述电源、所述第一授权节点数为偶数且具有仲裁盘的选举集;若不为所述目标选举集,则确定满足所述仲裁参数;若为所述目标选举集,则判断所述第二授权节点数是否等于所述仲裁阈值;若不等于所述仲裁阈值,则确定满足所述仲裁参数;若等于所述仲裁阈值,则利用所述当前网络拓扑的当前仲裁盘情况判断是否满足所述仲裁参数。
[0011]可选地,所述利用所述当前网络拓扑的当前仲裁盘情况判断是否满足所述仲裁参数,包括:若所述当前网络拓扑识别到所述仲裁盘,则执行仲裁盘争抢,并在争抢成功后确定满足所述仲裁参数;若所述当前网络拓扑未识别到所述仲裁盘,则判断是否存在仲裁节点;若存在所述仲裁节点,则确定满足所述仲裁参数;若不存在所述仲裁节点,则确定不满足所述仲裁参数。
[0012]本申请还提供了一种集群仲裁装置,包括:获取模块,用于获取历史选举集,并利用所述历史选举集得到第一节点数量和电源情况;生成模块,用于根据所述电源情况,利用所述第一节点数量生成仲裁参数;判断模块,用于获取当前网络拓扑,并判断所述当前网络拓扑是否满足所述仲裁参数;服务模块,用于若满足所述仲裁参数,则提供集群服务。
[0013]本申请还提供了一种电子设备,包括存储器和处理器,其中:所述存储器,用于保存计算机程序;所述处理器,用于执行所述计算机程序,以实现上述的集群仲裁方法。
[0014]本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的集群仲裁方法。
[0015]本申请提供的集群仲裁方法,获取历史选举集,并利用历史选举集得到第一节点数量和电源情况;根据电源情况,利用第一节点数量生成仲裁参数;获取当前网络拓扑,并判断当前网络拓扑是否满足仲裁参数;若满足仲裁参数,则提供集群服务。
[0016]可见,该方法在集群的网络拓扑发生一次分裂或损失的故障后,会获取分裂或损失前的历史选举集对应的第一节点数量和电源情况,并利用其进行是否能够继续作为集群提供服务的仲裁。具体的,仲裁参数利用第一节点数量生成,可以基于原有节点的数量,对故障后的网络拓扑中的节点数量做出限制,保证若发生网络拓扑分裂,则有且仅有一个新的网络拓扑能够作为集群对外提供服务,防止出现两个集群同时对外提供服务引起的数据不一致问题。同时,还可以保证在发生拓扑损失后仅有一个网络拓扑时,确保该网络拓扑中的节点能够作为新的集群对外提供服务。在得到仲裁参数后判断当前网络拓扑是否满足该仲裁参数,若满足,则可以向外提供集群服务,使集群继续工作。该方法并不要求故障后新的网络拓扑中的节点必须为原本集群中的多数,在保证了数据一致性的基础上,使网络拓扑在包含任意数量节点的情况下均可继续工作,改善了集群的存续性。
[0017]此外,本申请还提供了一种集群仲裁装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
[0018]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0019]图1为本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群仲裁方法,其特征在于,包括:获取历史选举集,并利用所述历史选举集得到第一节点数量和电源情况;根据所述电源情况,利用所述第一节点数量生成仲裁参数;获取当前网络拓扑,并判断所述当前网络拓扑是否满足所述仲裁参数;若满足所述仲裁参数,则提供集群服务。2.根据权利要求1所述的集群仲裁方法,其特征在于,所述利用所述历史选举集得到第一节点数量和电源情况,包括:对所述历史选举集中的第一授权节点进行统计,得到所述第一节点数量;获取各个所述第一授权节点对应的电源信息,判断所有的所述第一授权节点是否由一个电源供电;若由一个所述电源供电,则将所述电源情况确定为单一供电;若不由一个所述电源供电,则将所述电源情况确定为最大单一供电节点数;所述最大单一供电节点数大于所述第一节点数量的半数。3.根据权利要求2所述的集群仲裁方法,其特征在于,所述根据所述电源情况,利用所述第一节点数量生成仲裁参数,包括:若所述电源情况为所述单一供电,则根据所述第一节点数量的奇偶情况,利用所述第一节点数量生成仲裁阈值;若所述电源情况为所述最大单一供电节点数,则根据所述历史选举集的仲裁盘情况,利用所述最大单一供电节点数和所述第一节点数量生成所述仲裁阈值;利用所述仲裁阈值生成所述仲裁参数。4.根据权利要求3所述的集群仲裁方法,其特征在于,所述根据所述第一节点数量的奇偶情况,利用所述第一节点数量生成仲裁阈值,包括:若所述第一节点数量为奇数,则将所述第一节点数量加一后除以二,得到所述仲裁阈值;若所述第一节点数量为偶数,则判断所述历史选举集中是否存在仲裁盘;若存在所述仲裁盘,则将所述第一节点数量除以二,得到所述仲裁阈值;若不存在所述仲裁盘,则将所述第一节点数量除以二后加一,得到所述仲裁阈值。5.根据权利要求3所述的集群仲裁方法,其特征在于,所述根据所述历史选举集的仲裁盘情况,利用所述最大单一供电节点数和所述第一节点数量生成所述仲裁阈值,包括:若所述历史选举集中存在仲裁盘,则利用所述第一节点数量减去所述最大单一供电节点数,得到所述仲裁阈值;若所述历史选举集中不存在所述仲...

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

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

1