本公开是关于一种数据访问方法及装置、存储介质。所述数据访问方法,包括:确定待访问的目标数据块的存储节点;根据故障标识信息,确定故障节点;从所述故障节点以外的所述存储节点上访问所述目标数据块。在本申请实施例中,相对于以单个文件为故障标注粒度,会以整个存储节点为故障标注粒度,如此,在一旦发现一个存储节点故障,后续的所有数据块访问都会优先避开该故障节点,访问其他正常的存储节点实现数据读取,降低数据读取时延,提升数据读取速率。
Data block access method, device and storage medium
【技术实现步骤摘要】
数据块访问方法及装置、存储介质
本公开涉及一种数据存储
,尤其涉及一种数据访问方法及装置、存储介质。
技术介绍
在分布式文件系统中,会有元数据服务器、数据服务器以及客户端。通常的读写流程是客户(Client)端先向元数据服务器发起元数据查询,元数据服务器返回数据服务器地址列表给客户端。客户端向这些数据服务器发起真正的数据读写操作。为了实现数据的高可用,分布式文件系统的数据一般有多个副本存储在个元数据服务器上。写操作会将数据写到所有的包含副本的存储节点上,读操作会从包含数据副本的节点中选择一个做读操作。在读操作中,为了提高性能,每个文件打开的时候会将该文件所有数据块的存储节点(即数据服务器)的节点信息从元数据服务器获取并缓存,这样不需要频繁和元数据服务器交互。但是在相关技术中发现,会时常出现数据块读取延时大或者成功率低的现象。
技术实现思路
本公开提供一种数据访问方法及装置、存储介质。本公开第一方面提供一种数据块访问方法,包括:确定待访问的目标数据块的存储节点;根据故障标识信息,确定故障节点;从所述故障节点以外的所述存储节点上访问所述目标数据块。基于上述方案,所述故障标识信息包括:包含故障节点的节点标识的故障节点列表;所述根据故障信息,确定故障节点,包括:根据所述故障节点列表,确定所述故障节点。基于上述方案,所述方法还包括:获取所述故障节点的修复状况信息;当根据所述修复状况信息,将故障已排除的所述存储节点的节点标识从所述故障标识信息中删除。基于上述方案,所述方法还包括:获取文件系统中各存储节点的节点状态信息;根据所述节点状态信息,生成标识所述故障节点的故障标识信息。基于上述方案,所述获取文件系统中各存储节点的节点状态信息,包括:获取所述文件系统中各所述存储节点的文件访问信息;所述根据所述节点状态信息,生成标识所述故障节点的故障标识信息,包括:当在一个所述存储节点上访问一个或多个文件的数据块失败时,确定对应的所述存储节点为所述故障节点。本申请实施例第二方面提供一种数据块访问装置,包括:第一确定模块,用于确定待访问的目标数据块的存储节点;第二确定模块,用于根据故障标识信息,确定故障节点;访问模块,用于从所述故障节点以外的所述存储节点上访问所述目标数据块。基于上述方案,所述装置还包括:所述故障标识信息包括:包含故障节点的节点标识的故障节点列表;所述第二确定模块,用于根据所述故障节点列表,确定所述故障节点。基于上述方案,所述装置还包括:第一获取模块,用于获取所述故障节点的修复状况信息;更新模块,用于当根据所述修复状况信息,将故障已排除的所述存储节点的节点标识从所述故障标识信息中删除。基于上述方案,所述装置还包括:第二获取模块,用于获取文件系统中各存储节点的节点状态信息;生成模块,用于根据所述节点状态信息,生成标识所述故障节点的故障标识信息。基于上述方案,所述第二获取模块,用于获取所述文件系统中各所述存储节点的文件访问信息;所述生成模块,具体用于当在一个所述存储节点上访问一个或多个文件的数据块失败时,确定对应的所述存储节点为所述故障节点。本公开实施例第三方面提供一种数据块访问装置,包括处理器、存储器及存储在存储器上并能够有所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行前述第一方面数据块访问方法的步骤。本公开实施例第四方面提供一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现前述第一方面数据块访问方法的步骤。本公开的实施例提供的技术方案可以包括以下有益效果:在确定出待访问的目标数据块的存储节点;根据故障标识信息,确定故障节点;从所述故障节点以外的所述存储节点上访问所述目标数据块。如此,相对于单纯以单个文件为故障标注粒度,会以整个存储节点为故障标注粒度,如此,在一旦发现一个存储节点故障,后续的任意文件的所有数据块访问都会优先避开该故障节点,访问其他正常的存储节点实现数据读取,降低数据读取时延,提升数据读取速率。故在本申请实施例中,减少了一个节点整个故障,在后续文件访问时依然从该故障节点上请求访问造成的访问延时大及访问成功率低的现象,提升了访问成功率及访问速率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1是根据一示例性实施例示出的一种数据块访问方法的流程图。图2是根据一示例性实施例示出的一种数据块访问方法的流程图。图3是根据一示例性实施例示出的一种数据块访问方法的流程图。图4是根据一示例性实施例示出的一种数据块访问方法的流程图。图5是根据一示例性实施例示出的一种网址数据块访问装置的结构框图。图6是根据一示例性实施例示出的一种网址数据块访问装置的结构框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在图1中,是客户端需要访问文件3中各数据块的过程。首先,获取文件3各个数据块所在节点列表并缓存。如图1所示,文件3有一个数据块,该数据块的副本在数据存储节点b、存储节点c及存储节点e上。图1是一个分布式文件系统中访问文件3第1个数据块上的示意过程,可包括:1:客户端访问元数据服务器;2:元数据服务器向客户端返回客户端请求访问的数据块的地址列表告知客户端。3:客户端根据元数据服务器从数据服务器b(即存储节点b)上请求访问文件3的各个数据块;4:数据服务器b将客户端请求访问的数据块返回给客户端。客户端在为读取操作打开文件的时候,会把该文件各个数据块所对应的数据节点列表获取并且缓存起来,如果某个节点故障了,则在访问该节点时数据返回会超时或者返回其他错误信息。此时,客户端会选择另一个包含该副本的另一个存储节点。但是这种故障的记录都是以一个文件为粒度的,而非是整个故障节点。如图2所示,本实施例提供一种数据块访问方法,包括:S11:确定待访问的目标数据块的存储节点;S12:根据故障标识信息,确定故障节点;S13:从故障节点以外的存储节点上访问目标数据块。本实施例提供的数据块访问方法可应用于分布式文件系统中。例如,该数据块访问方法可应用于分布式文件系统的客户端上。在该客户端上存储有全局故障节点的故障标识信息。如此,客户端在访问目本文档来自技高网...
【技术保护点】
1.一种数据块访问方法,其特征在于,包括:/n确定待访问的目标数据块的存储节点;/n根据故障标识信息,确定故障节点;/n从所述故障节点以外的所述存储节点上访问所述目标数据块。/n
【技术特征摘要】
1.一种数据块访问方法,其特征在于,包括:
确定待访问的目标数据块的存储节点;
根据故障标识信息,确定故障节点;
从所述故障节点以外的所述存储节点上访问所述目标数据块。
2.根据权利要求1所述的方法,其特征在于,所述故障标识信息包括:包含故障节点的节点标识的故障节点列表;
所述根据故障信息,确定故障节点,包括:
根据所述故障节点列表,确定所述故障节点。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取所述故障节点的修复状况信息;
当根据所述修复状况信息,将故障已排除的所述存储节点的节点标识从所述故障标识信息中删除。
4.根据权利要求1或2任一项所述的方法,其特征在于,所述方法还包括:
获取文件系统中各存储节点的节点状态信息;
根据所述节点状态信息,生成标识所述故障节点的故障标识信息。
5.根据权利要求4所述的方法,其特征在于,所述获取文件系统中各存储节点的节点状态信息,包括:
获取所述文件系统中各所述存储节点的文件访问信息;
所述根据所述节点状态信息,生成标识所述故障节点的故障标识信息,包括:
当在一个所述存储节点上访问一个或多个文件的数据块失败时,确定对应的所述存储节点为所述故障节点。
6.一种数据块访问装置,其特征在于,包括:
第一确定模块,用于确定待访问的目标数据块的存储节点;
第二确定模块,用于根据故障标识信息,确定故障节点;
访问模块,用于从所...
【专利技术属性】
技术研发人员:周应超,
申请(专利权)人:北京松果电子有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。