[发明专利]实现数据一致性的方法和装置、服务器和终端在审
申请号: | 201811585072.1 | 申请日: | 2018-12-24 |
公开(公告)号: | CN111352943A | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 黄威;徐鹏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 数据一致性 方法 装置 服务器 终端 | ||
一种实现数据一致性的方法和装置、终端、服务器和计算机程序产品。具体地,Raft协议定义的客户端生成对数据的操作,并将该操作记录为日志条目。该客户端向Raft协议定义的领导节点和Raft协议定义的多个跟随节点发送该日志条目。该客户端在预设时间段内接收多条响应消息,该响应消息描述该操作被执行成功;该多条响应消息中的不同的响应消息来自不同的节点,例如该多条消息响应消息全部来自该多个跟随节点,例如该多条响应消息中的一条响应消息来自该领导节点、其他响应消息来自该多个跟随节点。当该客户端在该预设时间段内接收到的多条响应消息的总数大于节点数的一半时,确定该操作执行成功,该节点数为该领导节点的个数和该多个跟随节点的个数之和。
技术领域
本申请涉及计算机领域,尤其涉及实现数据一致性的方法和装置、终端、服务器和计算机程序产品。
背景技术
分布式存储系统中,通常使用多个副本来提升分布式存储系统的可用性。当1个副本所在的存储节点掉线的时候,其它副本所在的节点替代提供副本数据,但前提是:保证这多个副本数据是一致的。
分布式存储系统中,常用的分布式一致性协议有Raft协议、Paxos协议、两阶段提交协议(two-phase commit protocol,2PC)和三阶段提交协议(three-phase commitprotocol,3PC)。其中,Raft协议被公认为最容易理解的协议,从而被分布式存储系统(例如分布式数据库)广泛使用。
Raft协议采用日志(log)的方式来记录客户端(client)对数据的操作(例如读操作或者写操作)。Raft协议的日志复制(log replication)如下:第一步,领导节点(leader)从客户端接收日志条目(log entry),该日志条目携带有客户端的操作(包括该操作所针对的数据);第二步,领导节点将该日志条目复制到其他跟随节点(follower);第三步,超过半数的跟随节点向领导节点发送已成功执行该日志条目所携带的操作;第四步,领导节点向客户端反馈已完成该操作。
发明内容
有鉴于此,本申请提供了一种实现数据一致性的方法和装置、服务器、终端和计算机程序产品,可以提高基于Raft协议实现操作(读操作/写操作)的效率。
第一方面,本申请提供一种实现数据一致性的方法。在该方法中,Raft协议定义的客户端生成对数据的操作,并将所述操作记录为日志条目。所述客户端向所述Raft协议定义的领导节点和所述Raft协议定义的多个跟随节点发送所述日志条目。领导节点和所有跟随节点,分别接收该日志条目,分别执行该日志条目记录的该操作,分别在成功执行该操作之后向该客户端发送已成功执行该操作的响应消息。该客户端在预设时间段内接收多条响应消息,所述响应消息描述所述操作被执行成功;该多条响应消息中的不同的响应消息来自不同的节点,例如所述多条消息响应消息全部来自所述多个跟随节点,例如所述多条响应消息中的一条响应消息来自所述领导节点、其他响应消息来自所述多个跟随节点。当所述客户端在所述预设时间段内接收到的多条响应消息的总数大于节点数的一半时,确定所述操作执行成功,所述节点数为所述领导节点的个数和所述多个跟随节点的个数之和。
相对于背景技术,本申请提供的方法省去了领导节点负责下发操作以及判断该操作是否被执行等动作。由客户端直接下发操作以及判断该操作是否被成功执行,可以提升操作的完成效率。
第一方面的一种可能设计,领导节点向客户端发送所述领导节点的任期号,该客户端接收所述领导节点发送的任期号。这样,客户端可以通过最大的任期号,识别当前的领导节点(即最新的领导节点)。
第一方面的一种可能设计,所述客户端将当前领导节点的任期号添加入所述日志条目。这样,当前领导节点和所有跟随节点识别出属于在当前领导节点的任期中生成的日志条目,从而终止执行在旧领导节点的的任期中生成的日志条目中的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811585072.1/2.html,转载请声明来源钻瓜专利网。