基于分布式文件系统的元数据查询方法、设备和存储介质技术方案

技术编号:32479465 阅读:11 留言:0更新日期:2022-03-02 09:42
本公开提供了一种基于分布式文件系统的元数据查询方法、装置、设备和存储介质,涉及计算机技术领域,尤其涉及分布式文件系统技术领域和数据存储技术领域。具体实现方案为:获取客户端对待查询文件的元数据查询请求;响应于所述元数据查询请求,确定自身页面置换缓存中是否存在有待查询文件所属父目录路径的父索引节点标识;在存在的情况下,根据所述父索引节点标识和待查询文件的文件名,从元数据库中查询待查询文件的元数据;其中,所述页面置换缓存根据客户端的目录修改操作调整。本公开实施例能够简化元数据查询流程,降低查询延迟。降低查询延迟。降低查询延迟。

【技术实现步骤摘要】
基于分布式文件系统的元数据查询方法、设备和存储介质


[0001]本公开涉及计算机
,尤其涉及分布式文件系统
和数据存储
,具体涉及一种基于分布式文件系统的元数据查询方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]元数据是指描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在分布式文件系统中,元数据是描述文件系统的重要单元。大部分分布式文件系统的典型应用中,如互联网,科学计算等,元数据查询请求占到所有请求一半以上的比例。因此,分布式文件系统中元数据的查询效率,降低元数据查询延迟对整个文件系统的性能有着极其重要的影响。

技术实现思路

[0003]本公开提供了一种用于基于分布式文件系统的元数据查询方法、装置、设备和存储介质。
[0004]根据本公开的一方面,提供了一种基于分布式文件系统的元数据查询方法,包括:
[0005]获取客户端对待查询文件的元数据查询请求;
[0006]响应于所述元数据查询请求,确定自身页面置换缓存中是否存在有待查询文件所属父目录路径的父索引节点标识;
[0007]在存在的情况下,根据所述父索引节点标识和待查询文件的文件名,从元数据库中查询待查询文件的元数据;
[0008]其中,所述页面置换缓存根据客户端的目录修改操作调整。
[0009]根据本公开的又一方面,提供了一种基于分布式文件系统的元数据查询装置,包括:
[0010]元数据查询请求获取模块,用于获取客户端对待查询文件的元数据查询请求;
[0011]父索引节点标识确定模块,用于响应于所述元数据查询请求,确定自身页面置换缓存中是否存在有待查询文件所属父目录路径的父索引节点标识;
[0012]元数据查询模块,用于在存在的情况下,根据所述父索引节点标识和待查询文件的文件名,从元数据库中查询待查询文件的元数据;
[0013]其中,所述页面置换缓存根据客户端的目录修改操作调整。
[0014]根据本公开的又一方面,提供了一种电子设备,包括:
[0015]至少一个处理器;以及
[0016]与所述至少一个处理器通信连接的存储器;其中,
[0017]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所提供的基于分布式文件系统的元数据查询方法。
[0018]根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任意实施例所提供的基于分布式文件系统的元数据查询方法。
[0019]根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所提供的基于分布式文件系统的元数据查询方法。
[0020]根据本公开的技术,能够简化元数据查询流程,降低查询延迟。
[0021]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0022]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0023]图1是根据本公开实施例提供的一种基于分布式文件系统的元数据查询方法的示意图;
[0024]图2是根据本公开实施例提供的另一种基于分布式文件系统的元数据查询方法的示意图;
[0025]图3是根据本公开实施例提供的一种基于分布式文件系统的元数据查询装置的示意图;
[0026]图4是用来实现本公开实施例的基于分布式文件系统的元数据查询方法的电子设备的框图。
具体实施方式
[0027]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0028]以下结合附图,对本公开实施例提供的该方案进行详细说明。
[0029]分布式文件系统的典型架构一般包括如下几个部分:客户端、元数据管理集群、元数据库和存储集群。其中,客户端是以库的形式编译进业务进程中的,客户端向业务提供文件系统的相关访问接口如:创建文件夹/文件接口、打开/关闭文件接口、目录下子目录/子文件列举接口、文件数据读取接口和文件数据写入接口等;元数据管理集群由多个元数据管理节点(master)组成,每个元数据管理节点完全对等,没有主、从之分,元数据管理节点可以水平扩容。
[0030]元数据管理节点用于管理目录树、文件夹/文件的索引节点(inode)信息、文件数据块信息和数据块到存储节点的映射信息。元数据管理节点对外提供元数据查询与修改等功能。元数据管理节点本地不持久化目录树等元数据,所有的元数据都持久化到外部的元数据库中。
[0031]元数据库用于持久化分布式文件系统的所有元数据,如目录树、文件的索引节点信息、文件的数据块信息和数据块到存储节点的映射信息等。存储集群由多个存储节点组
成,用来存储分布式文件系统的文件数据。每个文件的数据被水平切割成多个数据块(block),每个存储节点存储了多个文件的数据块。
[0032]在上述分布式文件系统中,元数据管理节点查询一个路径深度为N的文件的索引节点标识(inodeid),目前主要有如下两个方法来实现:1)串行逐级查询法:假设一个文件目录路径为/a/b/c,需要查询文件c的inodeid;首先通过根节点inodeid+a去数据库查询a的inodeid,然后通过a的inodeid+b查询到b的inodeid,最后通过b的inodeid+c查询到文件c的inodeid。利用串行逐级查询法,查询一个路径深度为N文件的inodeid需要串行查询数据库N次。2)缓存加速查询法:在元数据管理节点设置缓存,当需要查询文件的inodeid时,首先从缓存获取该文件目录路径的父目录索引节点标识,然后向元数据库并发执行N次主键查询,当所有子请求都返回成功,就代表查询成功,如果某个子请求查询失败,则代表查询失败。为了便于理解,继续上例进行说明,假设本地分别缓存了/a、/a/b、/a/b/c的inodeid,那么为了查询c的实际inodeid,向数据库并发执行3次查询:根目录inodeid+a,查询a的inodeid;a的inodeid+b,查询b的inodeid;b的inodeid+c,查询c的inodeid;如果3次查询均返回成功,则查询成功。如果3次查询有某个子请求查询失败,则查询失败。
[0033]上述两种元数据查询方法,查询一个路径深度为N文件的索引节点标识均需要查询元数据库N次,查询流程复杂。基于此,本公开提供了一种基于分布式文件系统的元数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于分布式文件系统的元数据查询方法,所述方法包括:获取客户端对待查询文件的元数据查询请求;响应于所述元数据查询请求,确定自身页面置换缓存中是否存在有待查询文件所属父目录路径的父索引节点标识;在存在的情况下,根据所述父索引节点标识和待查询文件的文件名,从元数据库中查询待查询文件的元数据;其中,所述页面置换缓存根据客户端的目录修改操作调整。2.根据权利要求1所述的方法,所述方法还包括:在检测到客户端对第一目录路径的目录修改操作的情况下,从自身页面置换缓存中删除第一目录路径和第一目录路径的子目录路径的索引节点标识,且控制其他元数据管理节点从其他页面置换缓存中删除第一目录路径和第一目录路径的子目录路径的索引节点标识。3.根据权利要求1所述的方法,所述方法还包括:在检测到客户端对第一目录路径的目录修改操作的情况下,将对第一目录路径的目录修改操作添加到修改操作记录中,用于根据所述修改操作记录中的目录修改操作调整各元数据管理节点中的页面置换缓存。4.根据权利要求3所述的方法,所述方法还包括:从所述修改操作记录中拉取对第二目录路径的目录修改操作;从自身页面置换缓存中删除第二目录路径和第二目录路径的子目录路径的索引节点标识。5.根据权利要求4所述的方法,其中,所述从所述修改操作记录中拉取对第二目录路径的目录修改操作,包括:获取自身元数据管理节点已拉取的目录修改操作标识;根据已拉取的目录修改操作标识,从所述修改操作记录中拉取对第二目录路径的目录修改操作。6.根据权利要求3所述的方法,所述方法还包括:在从所述修改操作记录中连续N次拉取目录修改操作失败的情况下,清空自身页面置换缓存。7.根据权利要求3所述的方法,所述将对第一目录路径的目录修改操作添加到修改操作记录中之后,还包括:在自身已根据对第一目录路径的目录修改操作调整自身页面置换缓存,且其他元数据管理节点已根据对第一目录路径的目录修改操作调整其他页面置换缓存的情况下,从所述修改操作记录中删除对第一目录路径的目录修改操作。8.基于分布式文件系统的元数据查询装置,所述装置包括:元数据查询请求获取模块,用于获取客户端对待查询文件的元数据查询请求;父索引节点标识确定模块,用于响应于所述元数据查询请求,确定自身页面置换缓存中是否存在有待查询文件所属父目录路径的父索引节点标识;元数据查询模块,用于在存在的情况下,根据所述父索引节点标识和待查询文件的文件名,从元数据库中查询待查询文件的元数据;其中,所述页面置换缓存根据客户端的目录修改操作调整。
9.根据权利要求8所...

【专利技术属性】
技术研发人员:黎海兵
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1