【技术实现步骤摘要】
分布式系统的节点确定方法和装置及存储介质
[0001]本专利技术涉及计算机领域,具体而言,涉及一种分布式系统的节点确定方法和装置及存储介质。
技术介绍
[0002]在分布式系统中,为了达到共识一致性,需要涉及到集群的Leader选举。经典的共识一致性算法Paxos在集群Leader选举中扮演着颇为重要的角色,其与衍生的算法占据了集群Leader选举的大片市场,为大数据分布式系统领域做出了卓越贡献;
[0003]但上述集群Leader选举的方法仅针对多节点集群场景,而在面对双节点场景下时,上述集群Leader选举的方法的容错能力低的缺陷就暴露无遗了,例如当出现网络波动的时候,会造成选举异常,进而导致出现多主的现象,即脑裂现象。
[0004]针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
[0005]本专利技术实施例提供了一种分布式系统的节点确定方法和装置及存储介质,以至少解决分布式系统的节点的确定容错能力较低的技术问题。
[0006]根据本专利技术实施例的一个方面,提供了一种分布式系统的节点确定方法,包括:获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息,其中,上述第一会话信息是上述第一节点所创建的会话的结果信息,上述第二会话信息是上述第二节点所创建的会话的结果信息,上述第一加锁信息是上述第一节点抢占加锁的结果信息,上述第二加锁信息是上述第二节点抢占加锁的结果信息;通过上述第一会话信息和上述第二会话信息判断上述第一节点和 ...
【技术保护点】
【技术特征摘要】
1.一种分布式系统的节点确定方法,其特征在于,包括:获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息和第二加锁信息,其中,所述第一会话信息是所述第一节点所创建的会话的结果信息,所述第二会话信息是所述第二节点所创建的会话的结果信息,所述第一加锁信息是所述第一节点抢占加锁的结果信息,所述第二加锁信息是所述第二节点抢占加锁的结果信息;通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,其中,所述主节点用于处理所述次节点接收的事务请求。2.根据权利要求1所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:在所述第一会话信息指示会话创建成功,且所述第一加锁信息指示加锁成功的情况下,确定所述第一节点为所述主节点;在所述第二会话信息指示会话创建成功,且所述第二加锁信息指示加锁成功的情况下,确定所述第二节点为所述主节点。3.根据权利要求1所述的方法,其特征在于,所述获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息,包括:获取所述第一会话信息中所述第一节点所创建的本地会话的第一本地会话信息,以及所创建的远程会话的第一远程会话信息,并获取所述第二会话信息中所述第二节点所创建的本地会话的第二本地会话信息,以及所创建的第二远程会话的远程会话信息,其中,所述本地会话用于本地加锁,所述远程会话用于远程加锁;获取所述第一加锁信息中所述第一节点抢占所述本地加锁的第一本地加锁信息,以及抢占所述远程加锁的第一远程加锁信息,并获取所述第二加锁信息中所述第二节点抢占所述本地加锁的第二本地加锁信息,以及抢占所述远程加锁的第二远程加锁信息。4.根据权利要求3所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:在所述第一本地会话信息指示所述第一节点的所述本地会话创建失败的情况下,确定所述第一节点为所述次节点;在所述第二本地会话信息指示所述第二节点的所述本地会话创建失败的情况下,确定所述第二节点为所述次节点。5.根据权利要求3所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:
在所述第一远程会话信息和所述第二远程会话信息指示所述第一节点和所述第二节点的所述远程会话都创建成功,且所述第一远程加锁信息和所述第二远程加锁信息指示所述第一节点和所述第二节点的所述远程加锁都抢占失败的情况下,获取所述第一节点以及所述第二节点的第一历史身份数据,其中,所述第一历史身份数据中记录有将所述第一节点确定为所述主节点的第一历史次数,以及将所述第二节点确定为所述主节点的第二历史次数;比对所述第一历史次数以及所述第二历史次数,以获得第一比对结果;基于所述第一比对结果,在所述第一节点与所述第二节点之间确定所述主节点。6.根据权利要求5所述的方法,其特征在于,所述基于所述第一比对结果,在所述节点与所述第二节点之间确定所述主节点,包括:在所述第一历史次数高于所述第二历史次数的情况下,将所述第一节点确定为所述主节点;在所述第二历史次数高于所述第一历史次数的情况下,将所述第二节点确定为所述主节点;在所述第一历史次数等于所述第二历史次数的情况下,在所述第一节点与所述第二节点之间,将携带有主节点标签的节点确定为所述主节点,其中,所述主节点标签为预先分配的标签。7.根据权利要求3所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:在所述第一远程会话信息指示所述第一节点的所述远程会话创建失败,且所述第二远程会话信息指示所述第二节点的所述远程会话创建失败...
【专利技术属性】
技术研发人员:杨福星,朱林浩,
申请(专利权)人:浙江大华技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。