【技术实现步骤摘要】
基于PaxosLease算法的设备集群中的选举方法及装置
[0001]本申请一个或多个实施例涉及分布式
,尤其涉及一种基于PaxosLease算法的设备集群中的选举方法及装置。
技术介绍
[0002]现如今,随着业务数据、用户数据等各种数据的数据规模不断扩大,对需要处理这些数据的应用程序的可扩展性和可用性提出了更高的要求,而这些要求在单个设备上通常难以得到满足,因此衍生出了分布式的概念。分布式使得一个应用程序被部署在由多个设备组建的分布式系统上,借由该分布式系统的设备规模应对海量数据规模,提高应用程序对外提供服务的能力。
[0003]对于分布式系统而言,单点故障问题是其面临的基本问题之一。在一个由100个设备组建的分布式系统中,如果每个设备的正常运行时长占其总运行时长的99%,由于供电不足、硬件故障、软件崩溃、运维等因素导致其异常的时长占其总运行时长的1%,则在每个设备的异常概率呈独立分布的情况下,该分布式系统的正常运行时长仅占其总运行时长的99%的100次方,即36.6%,也就意味着该分布式系统在大部分时间下都无法正常运行。
[0004]为了应对单点故障问题,可以将多个设备组建为一个节点,并由多个节点组建分布式系统。每个节点包括的多个设备可以互为主备,在当前的主设备异常时可以自动切换至另一个备设备继续运行,由这个备设备接替异常的主设备来成为新的主设备。这样,可以避免出现节点异常的情况,延长分布式系统的正常运行时长占比,因此为分布式系统提供了一定的容错能力,提高了部署在分布式系统上的应用程序的可 ...
【技术保护点】
【技术特征摘要】
1.一种基于PaxosLease算法的设备集群中的选举方法,所述设备集群包括多个副本设备;所述方法应用于所述设备集群中作为选举发起方的任一副本设备;所述方法包括:在所述PaxosLease算法中的prepare阶段,向所述设备集群中作为选举响应方的多个副本设备发送第一类prepare请求,以使作为所述选举响应方的多个副本设备分别响应于所述第一类prepare请求而向作为所述选举发起方的副本设备,以及作为除自身之外的其他选举响应方的副本设备发送第二类prepare请求;其中,所述prepare请求包括发送该prepare请求的副本设备的优先级;接收作为所述选举响应方的多个副本设备发送的所述第二类prepare请求,并基于接收到的所述第二类prepare请求中的优先级,以及作为所述选举发起方的副本设备的优先级,确定优先级最高的目标副本设备;与作为所述选举响应方的多个副本设备继续进行所述PaxosLease算法中的prepare阶段和propose阶段的交互,以触发将所述目标副本设备选举为主副本设备。2.根据权利要求1所述的方法,所述与作为所述选举响应方的多个副本设备继续进行所述PaxosLease算法中的prepare阶段和propose阶段的交互,以触发将所述目标副本设备选举为主副本设备,包括:如果所述目标副本设备为作为所述选举发起方的副本设备,则在所述PaxosLease算法中的prepare阶段,接收除所述目标副本设备之外的其他副本设备返回的与所述第一类prepare请求对应的第一类prepare响应,并响应于接收到的指示可接受租约的所述第一类prepare响应的数量达到预设的阈值,在所述PaxosLease算法中的propose阶段,向除所述目标副本设备之外的其他副本设备发送用于承诺所述目标副本设备为主副本设备的租约,以将所述目标副本设备确定为主副本设备,并将除所述目标副本设备之外的其他副本设备确定为备副本设备;如果所述目标副本设备为作为所述选举响应方的任一副本设备,则在所述PaxosLease算法中的prepare阶段,向所述目标副本设备返回与所述目标副本设备发送的所述第二类prepare请求对应的第二类prepare响应,以使所述目标副本设备执行:响应于接收到的指示可接受租约的所述第二类prepare响应的数量达到所述阈值,在所述PaxosLease算法中的propose阶段,向除所述目标副本设备之外的其他副本设备发送用于承诺所述目标副本设备为主副本设备的租约,以将所述目标副本设备确定为主副本设备,并将除所述目标副本设备之外的其他副本设备确定为备副本设备;其中,所述prepare响应指示发送该prepare响应的副本设备是否可接受租约。3.根据权利要求2所述的方法,所述目标副本设备通过以下方式,向除所述目标副本设备之外的其他副本设备发送用于承诺所述目标副本设备为主副本设备的租约:向除所述目标副本设备之外的其他副本设备发送propose请求;其中,所述propose请求包括与所述目标副本设备对应的租约;接收除所述目标副本设备之外的其他副本设备返回的与所述propose请求对应的propose响应,并响应于接收到的所述propose响应的数量达到所述阈值,确定用于承诺所述目标副本设备为主副本设备的租约发送成功。4.根据权利要求1所述的方法,所述接收作为所述选举响应方的多个副本设备发送的所述第二类prepare请求,并基于接收到的所述第二类prepare请求中的优先级,以及作为
所述选举发起方的副本设备的优先级,确定优先级最高的目标副本设备,包括:在预设的时间窗口内,接收作为所述选举响应方的多个副本设备发送的所述第二类prepare请求,并缓存接收到的所述第二类prepare请求;基于缓存的所述第二类prepare请求中的优先级,以及作为所述选举发起方的副本设备的优先级,确定优先级最高的目标副本设备。5.根据权利要求1所述的方法,分布式系统包括多个节点;所述多个节点分别包括多个副本设备;所述设备集群包括所述节点。6.根据权利要求5所述的方法,所述分布式系统为区块链网络。7.根据权利要求1所述的方法,所述设备集群中的各个副本设备承载了多种服务;所述设备集群中的各个副本设备具有与所述多种服务分别对应的多个优先级;所述prepare请求还包括与所述多种服务中的任一目标服务对应的服务标识;所述prepare请求中的优先级为发送该prepare请求的副本设备具有的与所述目标服务对应的优先级;所述主副本设备为选举出的与所述目标服务对应的主副本设备。8.根据权利要求7所述的方法,所述设备集群中的各个副本设备具有的与所述多种服务中的不同服务对应的优先级不同。9.根据权利要求1所述的方法,所述副本设备的优先级与所述副本设备的硬件资源正相关。10.一种基于PaxosLease算法的设备集群中的选举方法,所述设备集群包括多个副本设备;所述方法应用于所述设备集群中作为选举响应方的任一副本设备;所述方法包括:在所述PaxosLease算法中的prepare阶段,接收作为选举发起方的副本设备发送的第一类prepare请求,并响应于所述第一类prepare请求,继续向作为所述选举发起方的副本设备,以及作为除自身之外的其他选举响应方的副本设备发送第二类prepare请求;其中,所述prepare请求包括发送该prepare请求的副本设备的优先级;接收作为所述选举发起方的副本设备,以及作为除自身之外的其他选举响应方的副本设备发送的所述第二类prepare请求,并基于接收到的所述第二类prepare请求中的优先级,以及作为所述选举发起方的副本设备的优先级,确定优先级最高的目标副本设备;与作为所述选举发起方的副本设备继续进行所述PaxosLease算法中的prepare阶段和propose阶段的交互,以触发将所述目标副本设备选举为主副本设备。11.根据权利要求10所述的方法,所述与作为所述选举发起方的副本设备继续进行所述PaxosLease算法中的prepare阶段和propose阶段的交互,以触发将所述目标副本设备选举为主副本设备,包括:如果所述目标副本设备为作为所述选举发起方的副本设备,则在所述PaxosLease算法中的prepare阶段,向所述目标副本设备返回与所述第一类prepare请求对应的第一类prepare响应,以使所述目标副本设备执行:响应于接收到的指示可接受租约的所述第一类prepare响应的数量达到预设的阈值,在所述PaxosLease算法中的pro...
【专利技术属性】
技术研发人员:滕旭旺,肖金亮,孔繁宇,刘浩,贾德宾,韩富晟,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。