一种基于Paxos协议的分布式一致性系统的在线扩容、在线缩容的方法和装置制造方法及图纸

技术编号:17737309 阅读:74 留言:0更新日期:2018-04-18 13:23
本申请提供了一种基于Paxos协议的分布式一致性系统的在线扩容方法,包括:在原Quorum中原服务器基础上添加设定数目的新增服务器;对一个新增服务器执行扩容操作;所述扩容操作,包括下述步骤:停止与分布式服务相关的服务进程;更新包括各个原服务器和设定数目新增服务器在内的扩容后Quorum配置信息;启动所述服务进程并发起针对扩容后Quorum的Leader选举;依次针对原Quorum的Leader之外的每个原服务器执行所述扩容操作并在完成后,针对原Quorum的Leader执行所述扩容操作;对未曾执行扩容的新增服务器执行所述扩容操作。本申请解决了现有冷扩容方法在扩容过程中暂停分布式系统服务的问题。本申请还提供了一种基于Paxos协议的分布式一致性系统的在线缩容的方法。

A method and device for on-line capacity expansion and online shrinkage of distributed conformance system based on Paxos protocol

This application provides an online expansion method, the consistency of distributed system based on Paxos protocol includes: adding a set number of new servers in the original Quorum server on the basis of the central plains; a new server performs the expansion operation; the expansion operation, which comprises the following steps: stop the service process associated with distributed update includes; each primary server and set the number of additional servers, after the expansion of Quorum configuration information; start the service and initiate the process for Leader Quorum expansion after the election; in each primary server for outside the original Quorum Leader to perform the expansion operation and after the completion of the original Quorum Leader implementation of the expansion of the operation; no expansion of the new execution server executes the expansion operation. This application solves the problem of the existing cold expansion method to suspend the distributed system service in the process of expansion. This application also provides an online shrinkage method for distributed consistency systems based on Paxos protocol.

【技术实现步骤摘要】
一种基于Paxos协议的分布式一致性系统的在线扩容、在线缩容的方法和装置
本申请涉及分布式计算
,具体涉及一种基于Paxos协议的分布式一致性系统的在线扩容方法和装置。本申请同时涉及一种基于Paxos协议的分布式一致性系统的在线缩容方法和装置。
技术介绍
在大规模分布式场景下,分布在数量众多的计算节点上的客户端进程通常需要依赖后端分布式一致性系统提供的互斥性来同步对某共享资源的访问,防止彼此干扰以保障数据分布式一致性。大规模分布式计算系统中存在着数量众多的使用分布式一致性服务的客户端进程。随着业务规模的迅速增长,成千上万乃至更多客户端进程会与后端分布式一致性系统建立大量连接,随之而来的频繁访问对分布式一致性系统的扩容能力提出了很高的要求。目前业界主流的分布式一致性系统如Yahoo的ZooKeeper,Google的Chubby均是基于经典的Paxos协议设计。对基于Paxos协议实现的分布式一致性系统,在不改变协议的前提下,通常其扩容方式是所谓的“冷”扩容,即扩容过程中分布式一致性系统服务会出现中断。具体的冷扩容流程为:停止所有原Quorum服务器的服务进程;为新Quorum增加新服务器;更新包括新增加服务器在内的所有新Quorum服务器上的有关新Quorum的配置信息;重新启动所有新Quorum服务器的服务进程,恢复分布式一致性服务。传统的这种冷扩容机制,由于暂停系统服务,极大影响了分布式一致性服务使用者的用户体验。此外,新增加的Quorum服务器需要较长时间的从Leader同步完所有数据之后,才能开始服务用户请求,极大延缓了扩容操作对分布式一致性系统带来的服务性能提升。
技术实现思路
本申请提供一种基于Paxos协议的分布式一致性系统的在线扩容方法和装置,以解决现有冷扩容方法在扩容过程中暂停分布式系统服务的问题。本申请还提供一种基于Paxos协议的分布式一致性系统的在线缩容方法和装置。本申请提供一种基于Paxos协议的分布式一致性系统的在线扩容方法,包括:在原Quorum中原服务器基础上添加设定数目的新增服务器;针对一个所述新增服务器,执行扩容操作;所述扩容操作,包括下述步骤:停止与分布式服务相关的服务进程;将所维护的所述原Quorum的配置信息更新为加入设定数目的新增服务器的扩容后Quorum的配置信息;启动所述服务进程,并发起所述扩容后Quorum的Leader选举;依次针对作为所述原Quorum的Leader之外的每个所述原服务器,均执行所述扩容操作;在完成之后,针对作为所述原Quorum的Leader的所述原服务器,执行所述扩容操作;在完成针对所述原服务器的所述扩容操作之后,针对未曾执行所述扩容操作的所述新增服务器,执行所述扩容操作。可选的,所述原服务器的数目为奇数。可选的,所述设定数目为两个。可选的,所述Quorum的配置信息,包括:Quorum中服务器维护的、使Quorum中服务器相互认识并交流选举Leader的选票的信息。可选的,所述依次针对所述原Quorum的Leader之外的每个未曾执行所述扩容操作的所述原服务器,均执行所述扩容操作和所述针对作为所述原Quorum的Leader的所述原服务器,执行所述扩容操作的步骤;包括:确定当前选举所述原Quorum的Leader的最优服务器排序,并针对所述原Quorum的leader之外的在所述最优服务器排序中排序最后的未曾执行所述扩容操作的所述原服务器,执行所述扩容操作;判断未曾执行所述扩容操作的所述原服务器的数目是否为两个以上;若是,则返回执行所述确定当前选举原Quorum的Leader的最优服务器排序,并对在所述最优服务器排序中排序最后的尚未执行扩容的原服务器执行所述扩容操作的步骤;若否,则对所述尚未执行扩容的原服务器执行所述扩容操作。可选的,所述选举原Quorum的Leader的最优服务器排序,包括:根据原Quorum的Leader选举策略,从最有资格当选为Leader到最没有资格当选为Leader的服务器作为从最前到最后的排列顺序。可选的,所述根据原Quorum的Leader选举策略,从最有资格当选为Leader到最没有资格当选为Leader的服务器作为从最前到最后的排列顺序;包括:原服务器的Zxid值越大,则所述原服务器在所述选举原Quorum的Leader的最优服务器排序中的排列位置越靠前。可选的,所述根据原Quorum的Leader选举策略,从最有资格当选为Leader到最没有资格当选为Leader的服务器作为从最前到最后的排列顺序;包括:若所述原服务器的Zxid值相同,所述原服务器的MyId值越小,则所述原服务器在所述选举原Quorum的Leader的最优服务器排序中的排列位置越靠前。可选的,针对所述新增服务器,在执行所述启动所述服务进程,并发起所述扩容后Quorum的Leader选举的步骤之前,执行下述步骤:任意选择一个所述原服务器,复制选择的所述原服务器上的当前持久化存储和事务日志的数据,并将复制的数据加载至本地内存数据库。本申请还提供一种基于Paxos协议的分布式一致性系统的在线扩容装置,包括:添加新增服务器单元,用于在原Quorum中原服务器基础上添加设定数目的新增服务器;扩容一个新增服务器单元,用于针对一个所述新增服务器,触发扩容操作单元;所述扩容操作单元,包括:停止服务进程单元,用于停止与分布式服务相关的服务进程;更新Quorum配置信息单元,用于将所维护的所述原Quorum的配置信息更新为加入设定数目的新增服务器的扩容后Quorum的配置信息;启动服务进程单元,用于启动所述服务进程并发起针对所述扩容后Quorum的Leader选举;扩容原服务器单元,用于依次针对作为所述原Quorum的Leader之外的每个所述原服务器,均触发所述扩容操作单元;在完成之后,针对作为所述原Quorum的Leader的所述原服务器,触发所述扩容操作单元;扩容未曾扩容的新增服务器单元,用于在针对所述原服务器触发所述扩容操作单元之后,针对未曾执行所述扩容操作的所述新增服务器,触发所述扩容操作单元。可选的,所述扩容原服务器单元;包括:扩容优选顺序非Leader服务器单元,用于确定当前选举原Quorum的Leader的最优服务器排序,并针对所述原Quorum的leader之外的在所述最优服务器排序中排序最后的未曾执行所述扩容操作的所述原服务器,触发所述扩容操作单元;扩容优选顺序Leader服务器单元,用于判断未曾执行所述扩容操作的所述原服务器的数目是否为两个以上;若是,则返回触发所述扩容优选顺序非Leader服务器单元;若否,则对所述尚未执行扩容的原服务器触发所述扩容操作单元。可选的,对新增服务器触发的所述扩容操作单元,包括:在触发启动服务进程单元之前,触发下述单元:新增服务器加载一致性数据单元,用于任意选择一个所述原服务器,复制选择的所述原Quorum服务器上的当前持久化存储和事务日志的数据,并将复制的数据加载至本地内存数据库。本申请还提供一种基于Paxos协议的分布式一致性系统的在线扩容电子设备,所述电子设备,包括:显示器,处理器,和存储器;所述存储器,用于存储分布式一致性系统的在线扩容方法的程序,所述程序在被所述处理器本文档来自技高网
...
一种基于Paxos协议的分布式一致性系统的在线扩容、在线缩容的方法和装置

【技术保护点】
一种基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,包括:在原Quorum中原服务器基础上添加设定数目的新增服务器;针对一个所述新增服务器,执行扩容操作;所述扩容操作,包括下述步骤:停止与分布式服务相关的服务进程;将所维护的所述原Quorum的配置信息更新为加入设定数目的新增服务器的扩容后Quorum的配置信息;启动所述服务进程,并发起所述扩容后Quorum的Leader选举;依次针对作为所述原Quorum的Leader之外的每个所述原服务器,均执行所述扩容操作;在完成之后,针对作为所述原Quorum的Leader的所述原服务器,执行所述扩容操作;在完成针对所述原服务器的所述扩容操作之后,针对未曾执行所述扩容操作的所述新增服务器,执行所述扩容操作。

【技术特征摘要】
1.一种基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,包括:在原Quorum中原服务器基础上添加设定数目的新增服务器;针对一个所述新增服务器,执行扩容操作;所述扩容操作,包括下述步骤:停止与分布式服务相关的服务进程;将所维护的所述原Quorum的配置信息更新为加入设定数目的新增服务器的扩容后Quorum的配置信息;启动所述服务进程,并发起所述扩容后Quorum的Leader选举;依次针对作为所述原Quorum的Leader之外的每个所述原服务器,均执行所述扩容操作;在完成之后,针对作为所述原Quorum的Leader的所述原服务器,执行所述扩容操作;在完成针对所述原服务器的所述扩容操作之后,针对未曾执行所述扩容操作的所述新增服务器,执行所述扩容操作。2.根据权利要求1所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,所述原服务器的数目为奇数。3.根据权利要求1所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,所述设定数目为两个。4.根据权利要求1所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,所述Quorum的配置信息,包括:Quorum中服务器维护的、使Quorum中服务器相互认识并交流选举Leader的选票的信息。5.根据权利要求1所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,所述依次针对所述原Quorum的Leader之外的每个未曾执行所述扩容操作的所述原服务器,均执行所述扩容操作和所述针对作为所述原Quorum的Leader的所述原服务器,执行所述扩容操作的步骤;包括:确定当前选举所述原Quorum的Leader的最优服务器排序,并针对所述原Quorum的leader之外的在所述最优服务器排序中排序最后的未曾执行所述扩容操作的所述原服务器,执行所述扩容操作;判断未曾执行所述扩容操作的所述原服务器的数目是否为两个以上;若是,则返回执行所述确定当前选举所述原Quorum的Leader的最优服务器排序,并针对所述原Quorum的leader之外的在所述最优服务器排序中排序最后的未曾执行所述扩容操作的所述原服务器,执行所述扩容操作的步骤;若否,则对所述尚未执行扩容的原服务器执行所述扩容操作。6.根据权利要求5所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,所述选举原Quorum的Leader的最优服务器排序,包括:根据原Quorum的Leader选举策略,从最有资格当选为Leader到最没有资格当选为Leader的服务器作为从最前到最后的排列顺序。7.根据权利要求6所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,所述根据原Quorum的Leader选举策略,从最有资格当选为Leader到最没有资格当选为Leader的服务器作为从最前到最后的排列顺序;包括:原服务器的Zxid值越大,则所述原服务器在所述选举原Quorum的Leader的最优服务器排序中的排列位置越靠前。8.根据权利要求6所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,所述根据原Quorum的Leader选举策略,从最有资格当选为Leader到最没有资格当选为Leader的服务器作为从最前到最后的排列顺序;包括:若所述原服务器的Zxid值相同,所述原服务器的MyId值越小,则所述原服务器在所述选举原Quorum的Leader的最优服务器排序中的排列位置越靠前。9.根据权利要求1或5所述的基于Paxos协议的分布式一致性系统的在线扩容方法,其特征在于,针对所述新增服务器,在执行所述启动所述服务进程,并发起所述扩容后Quorum的Leader选举的步骤之前,执行下述步骤:任意选择一个所述原服务器,复制选择的所述原服务器上的当前持久化存储和事务日志的数据,并将复制的数据加载至本地内存数据库。10.一种基于Paxos协议的分布式一致性系统的在线扩容装置,其特征在于,包括:添加新增服务器单元,用于在原Quorum中原服务器基础上添加设定数目的新增服务器;扩容一个新增服务器单元,用于针对一个所述新增服务器,触发扩容操作单元;所述扩容操作单元,包括:停止服务进程单元,用于停止与分布式服务相关的服务进程;更新Quorum配置信息单元,用于将所维护的所述原Quorum的配置信息更新为加入...

【专利技术属性】
技术研发人员:朱云锋陶云峰卢毅军
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1