【技术实现步骤摘要】
数据读取方法、装置、分布式存储系统、设备和存储介质
[0001]本公开涉及人工智能
,具体涉及云计算、云存储和分布式存储等技术,尤其涉及一种数据读取方法、装置、分布式存储系统、设备和存储介质。
技术介绍
[0002]分布式存储技术是指将数据分散存储在多台机器上。Raft算法是一种一致性算法,Raft是可靠、可复制、可冗余、可容错(Reliable、Replicated、Redundant、AndFault
‑
Tolerant)的缩写。
[0003]基于Raft算法的分布式存储系统中,存储节点包括主节点(leader)和从节点(follower),通过Raft算法,可以保证主节点和从节点上数据的一致性。
[0004]相关技术中,需要主节点处于存活状态才能执行数据读取操作。但是,由于需要保证主节点处于存活状态,在主节点不存在时,就会导致无法进行数据读取操作,可用性下降。
技术实现思路
[0005]本公开提供了一种数据读取方法、装置、分布式存储系统、设备和存储介质。
[0006]根据本公开的一方面,提供了一种数据读取方法,应用于分布式存储系统内多个从节点中的任一从节点,所述方法包括:响应于客户端发送的读请求,获取所述多个从节点中各个从节点存储的候选数据的局部最新版本号;基于所述局部最新版本号,确定全局最新版本号;基于所述全局最新版本号确定目标数据,并将所述目标数据发送至所述客户端。
[0007]根据本公开的另一方面,提供了一种数据读取装置,包括:应用于 ...
【技术保护点】
【技术特征摘要】
1.一种数据读取方法,应用于分布式存储系统内多个从节点中的任一从节点,所述方法包括:响应于客户端发送的读请求,获取所述多个从节点中各个从节点存储的候选数据的局部最新版本号;基于所述局部最新版本号,确定全局最新版本号;基于所述全局最新版本号确定目标数据,并将所述目标数据发送至所述客户端。2.根据权利要求1所述的方法,其中,所述响应于客户端发送的读请求,获取所述多个从节点中各个从节点存储的候选数据的局部最新版本号,包括:响应于客户端发送的读请求,向自身从节点之外的其他从节点发送广播消息,所述广播消息用于查询所述其他从节点上的所述局部最新版本号;接收所述其他从节点发送的响应消息,所述响应消息中包含所述其他从节点上的所述局部最新版本号;从所述响应消息中获取所述其他从节点上的所述局部最新版本号,以及获取自身从节点上的所述局部最新版本号。3.根据权利要求1所述的方法,其中,所述局部最新版本号是所述候选数据的版本号中的最大值,所述基于所述局部最新版本号,确定全局最新版本号,包括:将最大的局部最新版本号,作为所述全局最新版本号。4.根据权利要求1
‑
3任一项所述的方法,其中,所述基于所述全局最新版本号确定目标数据,并将所述目标数据发送至所述客户端,包括:若自身从节点存储的候选数据的局部最新版本号大于或等于所述全局最新版本号,将所述自身从节点上存储的候选数据作为所述目标数据;将所述目标数据发送至所述客户端。5.根据权利要求1
‑
3任一项所述的方法,其中,所述基于所述全局最新版本号确定目标数据,并将所述目标数据发送至所述客户端,包括:若自身从节点存储的候选数据的局部最新版本号大于或等于所述全局最新版本号,且预设时长内获取到版本号大于或等于所述全局最新版本号的更新数据,将所述更新数据作为所述目标数据;将所述目标数据发送至所述客户端。6.根据权利要求5所述的方法,还包括:若自身从节点存储的候选数据的局部最新版本号大于或等于所述全局最新版本号,且预设时长内未获取到版本号大于或等于所述全局最新版本号的更新数据,向所述客户端反馈第一读响应,所述第一读响应表明读取失败;或者,若自身从节点存储的候选数据的局部最新版本号大于或等于所述全局最新版本号,且预设时长内未获取到版本号大于或等于所述全局最新版本号的更新数据,向所述客户端反馈第二读响应,所述第二读响应中包含目标从节点的信息,所述目标从节点是局部最新版本号大于或等于所述全局最新版本号的从节点,以使所述客户端向所述目标从节点重新发送读请求。7.一种数据读取装置,应用于分布式存储系统内多个从节点中的任一从节点,所述装置包括:
获取模块,用于响应于客户端发送的读请求,获取所述多个从节点中各个从节点存储的候选数据的局部最新版本号;确定模块,用于基于所述局部最新版本号,确定全局最新版本号;发送模块,用于基于所述全局最新版本号确定...
【专利技术属性】
技术研发人员:李国强,刘涛,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。