分布式系统的节点确定方法和装置及存储介质制造方法及图纸

技术编号:27360870 阅读:32 留言:0更新日期:2021-02-19 13:42
本发明专利技术公开了一种分布式系统的节点确定方法和装置及存储介质。其中,该方法包括:获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息;通过第一会话信息和第二会话信息判断第一节点和第二节点所创建的会话是否创建成功,以及通过第一加锁信息和第二加锁信息判断第一节点和第二节点抢占加锁是否成功,以在第一节点与第二节点之间确定出主节点和次节点,其中,主节点用于处理次节点接收的事务请求。本发明专利技术解决了分布式系统的节点的确定容错能力较低的技术问题。错能力较低的技术问题。错能力较低的技术问题。

【技术实现步骤摘要】
分布式系统的节点确定方法和装置及存储介质


[0001]本专利技术涉及计算机领域,具体而言,涉及一种分布式系统的节点确定方法和装置及存储介质。

技术介绍

[0002]在分布式系统中,为了达到共识一致性,需要涉及到集群的Leader选举。经典的共识一致性算法Paxos在集群Leader选举中扮演着颇为重要的角色,其与衍生的算法占据了集群Leader选举的大片市场,为大数据分布式系统领域做出了卓越贡献;
[0003]但上述集群Leader选举的方法仅针对多节点集群场景,而在面对双节点场景下时,上述集群Leader选举的方法的容错能力低的缺陷就暴露无遗了,例如当出现网络波动的时候,会造成选举异常,进而导致出现多主的现象,即脑裂现象。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种分布式系统的节点确定方法和装置及存储介质,以至少解决分布式系统的节点的确定容错能力较低的技术问题。
[0006]根据本专利技术实施例的一个方面,提供了一种分布式系统的节点确定方法,包括:获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息,其中,上述第一会话信息是上述第一节点所创建的会话的结果信息,上述第二会话信息是上述第二节点所创建的会话的结果信息,上述第一加锁信息是上述第一节点抢占加锁的结果信息,上述第二加锁信息是上述第二节点抢占加锁的结果信息;通过上述第一会话信息和上述第二会话信息判断上述第一节点和上述第二节点所创建的会话是否创建成功,以及通过上述第一加锁信息和上述第二加锁信息判断上述第一节点和上述第二节点抢占加锁是否成功,以在上述第一节点与上述第二节点之间确定出主节点和次节点,其中,上述主节点用于处理上述次节点接收的事务请求。
[0007]根据本专利技术实施例的另一方面,还提供了一种分布式系统的节点确定装置,包括:获取单元,用于获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息,其中,上述第一会话信息是上述第一节点所创建的会话的结果信息,上述第二会话信息是上述第二节点所创建的会话的结果信息,上述第一加锁信息是上述第一节点抢占加锁的结果信息,上述第二加锁信息是上述第二节点抢占加锁的结果信息;确定单元,用于通过上述第一会话信息和上述第二会话信息判断上述第一节点和上述第二节点所创建的会话是否创建成功,以及通过上述第一加锁信息和上述第二加锁信息判断上述第一节点和上述第二节点抢占加锁是否成功,以在上述第一节点与上述第二节点之间确定出主节点和次节点,其中,上述主节点用于处理上述次节点接收的事务请求。
[0008]根据本专利技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机
可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述分布式系统的节点确定方法。
[0009]根据本专利技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的分布式系统的节点确定方法。
[0010]在本专利技术实施例中,获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息,其中,上述第一会话信息是上述第一节点所创建的会话的结果信息,上述第二会话信息是上述第二节点所创建的会话的结果信息,上述第一加锁信息是上述第一节点抢占加锁的结果信息,上述第二加锁信息是上述第二节点抢占加锁的结果信息;基于上述第一会话信息和上述第二会话信息以及上述第一加锁信息和上述第二加锁信息,在上述第一节点与上述第二节点之间确定出主节点以及次节点,其中,上述主节点用于处理上述次节点接收的事务请求,基于创建会话以及抢占加锁的双重判定,降低了在分布式系统中的两个节点中确定唯一的主节点的过程中,发生异常情况的概率,从而达到了避免因异常情况发生而导致主节点的确定错误的目的,进而实现了提高节点的确定容错能力的效果,进而解决了分布式系统的节点的确定容错能力较低的技术问题。
附图说明
[0011]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0012]图1是根据本专利技术实施例的一种可选的分布式系统的节点确定方法的流程图的示意图;
[0013]图2是根据本专利技术实施例的一种可选的分布式系统的节点确定方法的示意图;
[0014]图3是根据本专利技术实施例的另一种可选的分布式系统的节点确定方法的示意图;
[0015]图4是根据本专利技术实施例的另一种可选的分布式系统的节点确定方法的示意图;
[0016]图5是根据本专利技术实施例的另一种可选的分布式系统的节点确定方法的示意图;
[0017]图6是根据本专利技术实施例的另一种可选的分布式系统的节点确定方法的示意图;
[0018]图7是根据本专利技术实施例的一种可选的分布式系统的节点确定装置的示意图;
[0019]图8是根据本专利技术实施例的一种可选的电子装置的结构示意图。
具体实施方式
[0020]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0021]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0022]可选地,作为一种可选的实施方式,如图1所示,分布式系统的节点确定方法包括:
[0023]S102,获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息,其中,第一会话信息是第一节点所创建的会话的结果信息,第二会话信息是第二节点所创建的会话的结果信息,第一加锁信息是第一节点抢占加锁的结果信息,第二加锁信息是第二节点抢占加锁的结果信息;
[0024]S104,通过第一会话信息和第二会话信息判断第一节点和第二节点所创建的会话是否创建成功,以及通过第一加锁信息和第二加锁信息判断第一节点和第二节点抢占加锁是否成功,以在第一节点与第二节点之间确定出主节点和次节点,其中,主节点用于处理次节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式系统的节点确定方法,其特征在于,包括:获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息和第二加锁信息,其中,所述第一会话信息是所述第一节点所创建的会话的结果信息,所述第二会话信息是所述第二节点所创建的会话的结果信息,所述第一加锁信息是所述第一节点抢占加锁的结果信息,所述第二加锁信息是所述第二节点抢占加锁的结果信息;通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,其中,所述主节点用于处理所述次节点接收的事务请求。2.根据权利要求1所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:在所述第一会话信息指示会话创建成功,且所述第一加锁信息指示加锁成功的情况下,确定所述第一节点为所述主节点;在所述第二会话信息指示会话创建成功,且所述第二加锁信息指示加锁成功的情况下,确定所述第二节点为所述主节点。3.根据权利要求1所述的方法,其特征在于,所述获取分布式系统中第一节点的第一会话信息和第一加锁信息,以及第二节点的第二会话信息以及第二加锁信息,包括:获取所述第一会话信息中所述第一节点所创建的本地会话的第一本地会话信息,以及所创建的远程会话的第一远程会话信息,并获取所述第二会话信息中所述第二节点所创建的本地会话的第二本地会话信息,以及所创建的第二远程会话的远程会话信息,其中,所述本地会话用于本地加锁,所述远程会话用于远程加锁;获取所述第一加锁信息中所述第一节点抢占所述本地加锁的第一本地加锁信息,以及抢占所述远程加锁的第一远程加锁信息,并获取所述第二加锁信息中所述第二节点抢占所述本地加锁的第二本地加锁信息,以及抢占所述远程加锁的第二远程加锁信息。4.根据权利要求3所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:在所述第一本地会话信息指示所述第一节点的所述本地会话创建失败的情况下,确定所述第一节点为所述次节点;在所述第二本地会话信息指示所述第二节点的所述本地会话创建失败的情况下,确定所述第二节点为所述次节点。5.根据权利要求3所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:
在所述第一远程会话信息和所述第二远程会话信息指示所述第一节点和所述第二节点的所述远程会话都创建成功,且所述第一远程加锁信息和所述第二远程加锁信息指示所述第一节点和所述第二节点的所述远程加锁都抢占失败的情况下,获取所述第一节点以及所述第二节点的第一历史身份数据,其中,所述第一历史身份数据中记录有将所述第一节点确定为所述主节点的第一历史次数,以及将所述第二节点确定为所述主节点的第二历史次数;比对所述第一历史次数以及所述第二历史次数,以获得第一比对结果;基于所述第一比对结果,在所述第一节点与所述第二节点之间确定所述主节点。6.根据权利要求5所述的方法,其特征在于,所述基于所述第一比对结果,在所述节点与所述第二节点之间确定所述主节点,包括:在所述第一历史次数高于所述第二历史次数的情况下,将所述第一节点确定为所述主节点;在所述第二历史次数高于所述第一历史次数的情况下,将所述第二节点确定为所述主节点;在所述第一历史次数等于所述第二历史次数的情况下,在所述第一节点与所述第二节点之间,将携带有主节点标签的节点确定为所述主节点,其中,所述主节点标签为预先分配的标签。7.根据权利要求3所述的方法,其特征在于,所述通过所述第一会话信息和所述第二会话信息判断所述第一节点和所述第二节点所创建的会话是否创建成功,以及通过所述第一加锁信息和所述第二加锁信息判断所述第一节点和所述第二节点抢占加锁是否成功,以在所述第一节点与所述第二节点之间确定出主节点和次节点,包括:在所述第一远程会话信息指示所述第一节点的所述远程会话创建失败,且所述第二远程会话信息指示所述第二节点的所述远程会话创建失败...

【专利技术属性】
技术研发人员:杨福星朱林浩
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1