[发明专利]一种一致性控制方法,装置及系统在审
| 申请号: | 201410795095.0 | 申请日: | 2014-12-18 |
| 公开(公告)号: | CN105763519A | 公开(公告)日: | 2016-07-13 |
| 发明(设计)人: | 张真波;汪周林;杨振华 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
| 代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 一致性 控制 方法 装置 系统 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种一致性控制方法,装置及系统。
背景技术
目前分布式系统中会使用一致性算法来保证分布式系统中多数节点的数据一致性。一个通用的可以应用在多种分布式系统场景中的一致性算法是分布式系统的一个重要基础性问题。Paxos算法(基于消息传递的一致性算法)解决的问题是在分布式系统如何就某个值(即决议)达成一致。
一个典型的场景是:在分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到的状态需要具有一致性。为保证每个节点执行相同的命令序列,需要在每一条指令上执行“一致性算法”以保证每个节点获得的指令一致。节点通信存在两种模型:共享内存(Sharedmemory)和消息传递(Messagespassing)。Paxos算法就是一种基于消息传递模型的一致性算法。
通常Paxos算法包含有三个阶段:选举协调(leader)节点、恢复和协商。本发明实施例主要涉及的是基于在外部选好leader的情况下进行的,整个算法分成两个阶段:恢复流程和协商流程。
Paxos算法中的恢复流程为:新Leader指定其他节点向自己学习。大多数节点跟Leader保持一致了才开始进入协商流程。
Paxos算法中的协商流程为:Leader提出决议,并发送给其他节点协商。当大多数节点同意这个决议后,提交决议(即执行决议)。决议根据业务不同而不同,例如:布式数据库可以是结构化查询语言(StructuredQueryLanguage,SQL)。
假设现在集群中有3个节点(1个Leader和2个Acceptor),其中恢复流程如下:
1)Leader发送采集(collect)请求给所有的接收器(Acceptor)。
2)AcceptorB收到collect请求。
3)AcceptorB执行共享信息(share_state)——计算与LeaderA的版本差距,根据差距来选择共享版本。
4)AcceptorB给LeaderA返回最终(last)请求——last请求中包含了版本差距,和具体相差的版本。
5)AcceptorC收到collect请求。
6)LeaderA在收到AcceptorB的last请求后,计算一下last回复是否达到大多数了。这个1(LeaderA默认计算在内)+1(AcceptorB)=2≥3/2+1满足大多数的条件。在本申请文件中“/”是取整符号,因此3/2的结果为1。
7)AcceptorC给LeaderA返回last请求。
8)LeaderA执行合并(merge)操作,合并AcceptorB共享的版本和自身的版本到最新版本。
9)LeaderA再向AcceptorB发送最新版本。
其中协商阶段如下:
1)客户端client首先向Leader(即:LeaderA)提交一个决议。
2)LeaderA收到决议后,给节点AcceptorB/C分别发送开始(begin)消息。
3)AcceptorB写接受(Accept)日志到永久存储。
4)AcceptorB返回Accept消息给LeaderA。
5)LeaderA在收到AcceptorB的Accept响应后,计算一下Accept响应是否达到大多数了。这个1(LeaderA默认计算在内)+1(AcceptorB)=2≥3/2+1满足大多数的条件。
6)LeaderA提交(commit)该决议。
7)LeaderA发送commit消息给所有节点。
8)AcceptorB接受到commit消息,执行commit该决议。
由于决议的协商需要按顺序进行,还要求网络是可靠的,因此目前的协商过程是将决议一条一条的进行协商,因此单位时间能处理的决议条数少,因此协商性能低。具体实现时对网络又要求采用可靠的传输协议,比如要求基于传输控制协议(TransmissionControlProtocol,TCP)传输,限制了使用场景。
发明内容
本发明实施例提供了一种一致性控制方法,装置及系统,用于提高决议的协商效率,并且降低协商过程对通信协议的要求。
本发明实施例一方面提供了一种一致性控制方法,应用于基于消息传递的协商过程,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410795095.0/2.html,转载请声明来源钻瓜专利网。





