[发明专利]一种分布式仲裁集群中动态改变集群规模的方法及装置有效
申请号: | 201611248514.4 | 申请日: | 2016-12-29 |
公开(公告)号: | CN106878382B | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 章立刚;卢忠亚;谢江帆 | 申请(专利权)人: | 北京华为数字技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24;H04L12/407;H04L12/413 |
代理公司: | 11291 北京同达信恒知识产权代理有限公司 | 代理人: | 冯艳莲 |
地址: | 100085 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 仲裁 集群 动态 改变 规模 方法 装置 | ||
本申请涉及计算机技术领域,公开了一种分布式仲裁集群中动态改变集群规模的方法及装置,用以解决在动态变更分布式仲裁集群规模的过程中出现双主、多主或无主的问题。该方法为:主节点接收改变集群规模的指令,确定所述分布式仲裁集群在改变集群规模后包括的M个节点,M为正整数,所述M个节点中包括所述主节点和(M‑1)个从节点;所述主节点将所述指令转发至(M‑1)个从节点,并接收所述(M‑1)个从节点返回的确认响应,所述确认响应用于表征同意所述改变集群规模;若在一个心跳周期内,所述主节点接收到L个从节点发送的心跳信息,则执行所述改变集群规模的操作,L为正整数。
技术领域
本申请涉及计算机技术领域,特别涉及一种分布式仲裁集群中动态改变集群规模的方法及装置。
背景技术
在多处理系统中,多个设备或模块可能同时申请对总线的使用权,为避免产生总线冲突,需由总线仲裁机构合理地控制和管理系统中需要占用总线的申请者,在多个申请者同时提出总线请求时,以一定的仲裁方法判断应获得对总线使用权的申请者。仲裁方法可分为集中式仲裁和分布式仲裁。集中式仲裁利用单个仲裁器分配多个处理机的请求。在分布式仲裁中,每个仲裁节点都有自己的仲裁器。仲裁节点可以简称为节点。
分布式仲裁所在的系统可以称为分布式系统,分布式系统包含若干个节点,这若干个节点形成仲裁集群。仲裁集群可以整合资源,作为一个整体对外提供服务。仲裁集群中最多只允许有一个主节点。目前,有多种仲裁算法选取主节点,例如Fast Leader选举算法、Raft选举算法等。
在分布式系统运行过程中,用户可能需要动态改变仲裁集群的规模,即加入节点或删除节点。目前,分布式系统中的仲裁集群一般不支持规模的变更;或者限制性的支持规模变更;或者,在规模变更过程中出现“双主”或者“多主”或者“无主”的问题,其中,“双主”是指两个主节点,“多主”是指两个以上主节点,“无主”是指没有主节点。
发明内容
本申请实施例提供一种分布式仲裁集群中动态改变集群规模的方法及装置,用以解决在动态变更分布式仲裁集群规模的过程中出现双主、多主或无主的问题。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种分布式仲裁集群中动态改变集群规模的方法,所述分布式仲裁集群中包括主节点,通过在集群中所有节点同意变更操作之后,判断是否能够维持自身主节点的身份,其中,维持主节点的条件为包括自身在内的一半节点维持主从节点之间的信号连接,主节点在确定能够维持主节点的身份之后,再固化改变集群规模的操作。这样能够保证在改变集群规模的过程中保持主节点角色不变,且独立设置维持主的条件,与升主条件分离,增强了系统的可用性,且保证在系统扩容过程中不会失主。
在一个可能的设计中,所述主节点接收改变集群规模的指令,确定所述分布式仲裁集群在改变集群规模后包括的M个节点,M为正整数,所述M个节点中包括所述主节点和(M-1)个从节点,所述主节点将所述指令转发至(M-1)个从节点,并接收所述(M-1)个从节点返回的确认响应,所述确认响应用于表征同意所述改变集群规模,若在一个心跳周期内,所述主节点接收到L个从节点发送的心跳信息,则执行所述改变集群规模的操作,L为正整数。这样,能够实现单节点扩容、多节点扩容和缩容等各种不同的应用场景,在各个改变集群规模的应用场景中均不会出现无主或多主的情况。
在一个可能的设计中,所述主节点接收改变集群规模的指令,可以通过以下方式实现:所述主节点接收增加第一节点的指令,或者,所述主节点接收删除第二节点的指令,其中,所述第二节点为与所述主节点不同的节点,所述分布式仲裁集群中不包括所述第一节点、且包括所述第二节点。
在一个可能的设计中,任一节点包含权限属性,所述权限属性用于表征节点是否具有被选举权限,所述权限属性允许动态调整,其中,在执行所述改变集群规模的操作之前,所述第一节点的权限属性为不具有被选举权限。避免在增加第一节点后出现无主或多主的情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华为数字技术有限公司,未经北京华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611248514.4/2.html,转载请声明来源钻瓜专利网。