[发明专利]分布式系统成员变更方法和分布式系统在审
申请号: | 201810703094.7 | 申请日: | 2018-06-30 |
公开(公告)号: | CN110661637A | 公开(公告)日: | 2020-01-07 |
发明(设计)人: | 白杨;陈雷 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标节点 分布式系统 节点地址 集合 地址增加 主节点 管理服务器请求 加入请求 高效率 变更 发送 指令 | ||
一种更高效率的分布式系统成员变更方案,包括:第一目标节点向管理服务器请求节点地址集合,其中,所述节点地址集合中包括了分布式系统中所有节点的地址;当第一目标节点的地址不在所述节点地址集合中,所述第一目标节点向分布式系统的主节点发送加入请求;所述主节点把所述第一目标节点的地址增加到所述节点地址集合中,以及指令所述分布式系统中的所有从节点把所述第一目标节点的地址增加到本地成员列表。
技术领域
本申请涉及计算机领域,特别涉及分布式系统。
背景技术
分布式系统包括多个成员,分布式系统中的成员增加(或者减少)后,需要把成员的增加(或者减少)这一信息通知到各个成员,以便让集群中的成员可以获知集群中最新的成员情况。例如,成员可以通过在自己记录的成员列表中新增新的成员(或者删除原有成员)进行成员变更。
在业界,主要通过日志(log)同步技术实现成员变更,在成员发生增加(或者减少)后,集群的主节点获得成员发生增加(或者减少)的信息,把进行成员变更指令以操作日志的方式同步给各个从节点,从节点收到成员变更指令后按照操作日志更新自己记录的成员列表。
在现有技术中,假设成员变更前集群成员集合为C1,成员变更后集群成员为C2,下面对两阶段提交来执行成员变更进行介绍。第一阶段:主节点通知所有原有成员执行日志,将集群成员集合更新为{C1,C2}(也就是说集群成员既保存了C1又保存了C2)。在此期间每个原有成员的成员列表为C1(还没收到更新通知或者更新尚未完成)或者{C1,C2}(已经收到更新通知,并且完成了更新)。对于{C1,C2}列表来说,主节点必须同时满足C1集合的大多数和C2集合的大多数。换句话说需要满足一个原则:对于拥有C1列表的成员所认可的主节点、和对于拥有C2列表的成员所认可的主节点,是同一个节点。这样就保证了在成员变更过程中不会存在双主节点的场景。第二阶段:第一阶段成功(大多数成员或者所有成员成功的更新为{C1,C2}就可以认为第一阶段成功)后,主节点通知所有成员将通过执行日志把成员集合更新为C2。在更新完成前,每个成员的成员列表为{C1,C2}(更新完成前)或者C2(更新完成后)。
由上可以看出,上述使用日志的方案过于复杂,既要花费大量的时间又要耗费节点大量的资源,而且必须人工参与,增加了运维人员的工作量。
发明内容
第一方面,提供一种分布式系统成员变更方法,包括:第一目标节点向管理服务器请求节点地址集合,其中,所述节点地址集合中包括所述分布式系统中所有节点的地址,所述分布式系统主节点和多个从节点;当第一目标节点的地址不在所述节点地址集合中,所述第一目标节点向分布式系统的所述主节点发送加入请求,所述加入请求中包括所述第一目标节点的地址;在收到所述加入请求后,把所述成员增加指令中的所述第一目标节点的地址增加到所述主节点的本地成员列表中,所述主节点指令所述分布式系统中每个节点把所述第一目标节点的地址增加到本地成员列表。应用该方法,第一目标节点可以主动自发加入分布式系统,不再需要依赖运维人员手动配置主节点。而且不再使用日志作为技术手段,整个过程简洁高效,资源占用率低。
在所述第一方面的第一种可能实现中,所述第一目标节点创建所述第一目标节点的本地成员列表,所述第一目标节点的本地成员列表包括:所述分布式系统中所有节点的地址,以及所述第一目标节点的地址。该方案用于进行所述第一目标节点的配置,使所述第一目标节点认可自己成为所述分布式系统的成员。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810703094.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于获取网络切片的方法、装置和系统
- 下一篇:一种通信方法及装置