[发明专利]一种成员组变更方法及装置有效
申请号: | 201710161757.2 | 申请日: | 2017-03-17 |
公开(公告)号: | CN107707595B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 吴义谱;张炎泼 | 申请(专利权)人: | 贵州白山云科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
代理公司: | 北京名华博信知识产权代理有限公司 11453 | 代理人: | 白莹;李冬梅 |
地址: | 100015 北京市朝阳区酒仙桥*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种成员组变更方法及装置,此方法包括:步骤1,接收针对初始集群成员组的变更请求,根据初始集群成员组和所述变更请求确定目标集群成员组,根据初始集群成员组和目标集群成员组设置过渡集群成员组,过渡集群成员组中包括第一组和第二组,第一组包括初始集群成员组中的所有成员,第二组包括目标集群成员组中的所有成员;步骤2,初始集群成员组执行一致性算法,将初始集群成员组更新为过渡集群成员组;步骤3,过渡集群成员组执行所述一致性算法,将过渡集群成员组更新为目标集群成员组。本发明可以在无需中止集群服务的情况下一次性完成一个成员组中多个成员的替换,可有效提高集群服务的智能性和有效性。 1 | ||
搜索关键词: | 成员组 集群 一致性算法 变更请求 集群服务 变更 一次性完成 智能性 更新 替换 中止 | ||
步骤1,接收针对初始集群成员组的变更请求,根据所述初始集群成员组和所述变更请求确定目标集群成员组,根据所述初始集群成员组和所述目标集群成员组设置过渡集群成员组,所述过渡集群成员组中包括第一组和第二组,所述第一组包括所述初始集群成员组中的所有成员,所述第二组包括所述目标集群成员组中的所有成员;
步骤2,所述初始集群成员组执行一致性算法,将所述初始集群成员组更新为所述过渡集群成员组;
步骤3,所述过渡集群成员组执行所述一致性算法,将所述过渡集群成员组更新为所述目标集群成员组;
所述步骤2包括:所述初始集群成员组中接收到变更请求的成员设置第一请求提案,设置所述第一请求提案的值为所述过渡集群成员组,所述初始集群成员组执行所述一致性算法直至所述初始集群成员组的多数派通过所述第一请求提案;所述初始集群成员组执行所述一致性算法直至所述初始集群成员组的多数派通过所述第一请求提案后,接收到变更请求的成员向所述过渡集群成员组中所有成员发送携带版本号的提交通知请求,所述过渡集群成员组中作为学习者的成员判断此通知请求中的版本号大于其保存的当前版本号后,学习所述第一请求提案后更新其保存的当前版本号为通知请求中的版本号并更新保存的提案的值为所述第一请求提案的值,至此,所述过渡集群成员组成功被所述初始集群成员组选定;
所述步骤3包括:所述过渡集群成员组中的一成员设置第二请求提案,设置所述第二请求提案的值为目标集群成员组,所述过渡集群成员组执行所述一致性算法直至所述过渡集群成员组的多数派通过所述第二请求提案;所述初始集群成员组执行所述一致性算法直至所述初始集群成员组的多数派通过所述第一请求提案后,接收到变更请求的成员向所述过渡集群成员组中所有成员发送携带版本号的提交通知请求,所述过渡集群成员组中作为学习者的成员判断此通知请求中的版本号大于其保存的当前版本号后,学习所述第一请求提案后更新其保存的当前版本号为通知请求中的版本号并更新保 存的提案的值为所述第一请求提案的值,至此,所述过渡集群成员组成功被所述初始集群成员组选定。
2.如权利要求1所述的成员组变更方法,其特征在于,所述步骤2包括:以预设递增规则设置此第一请求提案的编号,设置执行此次一致性算法的版本号,向所述初始集群成员组中所有作为接受者的成员发送至少一次请求,所述至少一次请求中携带所述版本号、所述第一请求提案的编号和所述第一请求提案的值。
3.如权利要求1所述的成员组变更方法,其特征在于,所述步骤3包括:以预设递增规则设置此第二请求提案的编号,设置执行此次一致性算法的版本号,向所述过渡集群成员组中所有作为接受者的成员发送至少一次请求,所述至少一次请求中携带所述版本号、所述第二请求提案的编号和所述第二请求提案的值。
4.如权利要求2所述的成员组变更方法,其特征在于,所述步骤2中还包括:所述初始集群成员组执行所述一致性算法后,所述初始集群成员组中接收变更请求的成员判断所述初始集群成员组的多数派是否通过所述第一请求提案,如果否,以预设递增规则设置所述第一请求提案的编号,将更新编号的第一请求提案发送至所述初始集群中所有成员,依照此方式执行,直至所述初始集群成员组的多数派通过所述第一请求提案。
5.如权利要求3所述的成员组变更方法,其特征在于,所述步骤3中还包括:所述过渡集群成员组执行所述一致性算法后,所述过渡集群成员组中发送请求的成员判断所述过渡集群成员组的多数派是否通过所述第二请求提案,如果否,以预设递增规则设置所述第二请求提案的编号,将更新编号的第二请求提案发送至所述初始集群中所有成员,依照此方式执行,直至所述初始集群成员组的多数派通过所述第二请求提案。
6.如权利要求1所述的成员组变更方法,其特征在于,所述变更请求中包括变更类型和变更类型对应的成员,所述变更类型包括增加和/或删除。
7.一种成员组变更装置,其特征在于,应用于服务器中,包括:变更请求接收模块,用于在所属服务器是初始集群成员组的成员时,接收针对初始集群成员组的变更请求;
确定模块,用于根据所述初始集群成员组和所述变更请求确定目标集群成员组,根据所述初始集群成员组和所述目标集群成员组设置过渡集群成员组,所述过渡集群成员组中包括第一组和第二组,所述第一组包括所述初始集群成员组中的所有成员,所述第二组包括所述目标集群成员组中的所有成员;
执行模块,用于执行一致性算法直至所述初始集群成员组更新为所述过渡集群成员组;还用于在所属服务器是所述过渡集群成员组的成员时,再次执行所述一致性算法直至所述过渡集群成员组更新为所述目标集群成员组;
所述执行模块包括第一单元和第二单元;
所述第一单元,用于在所属服务器为所述初始集群成员组中接收到变更请求的成员时,设置第一请求提案,设置所述第一请求提案的值为所述过渡集群成员组,在收到所述初始集群成员组中其它成员对所述请求的响应后,执行所述一致性算法中作为提案人角色的部分,还用于在所属服务器为所述初始集群成员组中作为提案人角色的成员时,在所述初始集群成员组的多数派通过所述第一请求提案后,向所述过渡集群成员组中所有成员发送携带版本号的提交通知请求;
所述第二单元,用于在所属服务器为所述初始集群成员组中除了接收到变更请求的成员的其它成员时,在接收到所述初始集群成员组中作为提案人角色的成员发送的至少一次请求后,执行所述一致性算法中作为接受者角色的部分;还用于在所属服务器为所述过渡集群成员组中作为学习者的成员时,判断此通知请求中的版本号大于其保存的当前版本号后,学习所述第一请求提案后更新其保存的当前版本号为通知请求中的版本号并更新保存的提案的值为所述第一请求提案的值;
并且,
所述第一单元,还用于在所属服务器为所述过渡集群成员组中作为提案 人角色的成员时,设置第二请求提案,设置所述第二请求提案的值为所述目标集群成员组,还用于在收到所述过渡集群成员组中其它成员对所述请求的响应后,执行所述一致性算法中作为提案人角色的部分;还用于在所属服务器为所述过渡集群成员组中作为提案人角色的成员时,在所述过渡集群成员组的多数派通过所述第二请求提案后,向所述过渡集群成员组中所有成员发送携带版本号的提交通知请求;
所述第二单元,还用于在所属服务器为所述过渡集群成员组中除了所述发送所述至少一次请求的成员的其它成员时,在接收到所述过渡集群成员组中作为提案人角色的成员发送的至少一次请求后,执行所述一致性算法中作为接受者角色的部分;还用于在所属服务器为所述过渡集群成员组中作为学习者的成员时,判断此通知请求中的版本号大于其保存的当前版本号后,学习所述第二请求提案后更新其保存的当前版本号为通知请求中的版本号并更新保存的提案的值为所述第二请求提案的值。
8.如权利要求7所述的成员组变更装置,其特征在于,所述第一单元,还用于以预设递增规则设置此第一请求提案的编号,设置执行此次一致性算法的版本号,向所述初始集群成员组中所有作为接受者的成员发送至少一次请求,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州白山云科技有限公司,未经贵州白山云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710161757.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种实现按需加速的文件传输方法及装置
- 下一篇:一种成像放大方法及其运用