一种基于分布式图数据库的文件系统元数据管理方法技术方案

技术编号:26890636 阅读:20 留言:0更新日期:2020-12-29 16:07
本发明专利技术公开的基于分布式图数据库的文件系统元数据管理方法,涉及数据库技术领域,通过为文件系统创建目录集合、文件集合以及树集合,将文件系统的目录树结构作为图,将目录集合中的各个目录节点及为文件集合中的文件节点作为图中的点,将文件系统的目录节点与目录节点、目录节点与文件节点之间的父子关系作为图中的边,生成文件系统的目录节点与文件节点之间的映射关系,根据映射关系,将文件系统的目录与文件保存到分布式图数据库中,利用分布式图数据库,管理文件系统元数据,在保证文件系统快速更新元数据的前提下,提高了数据查询效率,增强了元数据管理地实时性,可扩展性较强。

【技术实现步骤摘要】
一种基于分布式图数据库的文件系统元数据管理方法
本专利技术涉及数据库
,具体涉及一种基于分布式图数据库的文件系统元数据管理方法。
技术介绍
目前在存储领域,按照不同的应用场景,可选的存储方案包括块存储、对象存储和文件存储。块存储接口协议简单原始,对象存储在互联网应用中比较流行,文件存储最复杂,在传统的高性能计算等领域依然被广泛应用。文件存储的主要对象是文件,用来保存用户的实际数据。文件存储中另一类信息是目录,它以树形结构方式进行组织,对文件进行命名空间划分和管理。文件和目录自身都携带有一些固定的属性信息,比如名称、大小、创建用户、创建时间、修改时间、访问权限、类型等,将它们统称为元数据信息。除此之外,在文件系统中,每个文件和每个目录都具有一个全局唯一的路径信息,它确定了这个文件或目录在整个文件系统中的访问标识。文件系统的复杂性表现在它支持更多的接口语义,比如创建、删除、更新以及对目录和文件的移动和重命名操作。当前,文件系统的使用规模越来越大,尤其是出现了以共享数据为目的的分布式文件系统后,在一个统一的存储命名空间中,可以包含几亿甚至几十亿的文件和目录。面对如此海量的数据,使用传统的命令工具诸如find、du等,已经很难快速完成用户查找文件、统计目录空间等需求。解决这些问题比较常见的做法是把文件和目录以记录的形式存储到关系型数据库中,借助SQL语句进行查询。这种方法在一定程度解决了直接扫描文件系统进行查找带来的开销,实时性大大提高。但这也引入一个新问题,要不要保存文件的全局路径?如果将全局路径保存为文件记录的一个属性字段,那么当对一个高层目录进行移动和重命名时,势必会导致整个目录下的所有文件路径发生变化,此时我们就必须更新数据库中所有相关的文件记录,这会带来巨大的开销。如果不直接保存路径,而是只保存直接父目录的标识,当需要求取文件路径时,根据父目录标识逐层向上一直到达根目录,将每一级目录名以斜杠分隔拼接在一起形成文件路径,这种方法能很好解决更新目录名带来的开销问题,只需要更新被移动重命名的目录对应的数据库记录的父目录标识和目录名即可。但缺点是,对查询效率会造成很大影响。如果查询文件的全局路径,需要从自身开始一直递归迭代到根目录为止,这个过程包含了大量的根据目录标识查找目录条目的运算。虽然我们可以为目录标识建立索引来加快查找过程,但是索引是有内存开销的,随着文件数量的增多,这种开销会大大降低查询效率。而且对于这种包含有递归查询子过程的复杂SQL程序,一般的数据库难以支持多路并行执行,严重削弱了此方案的可行性。
技术实现思路
为解决现有技术的不足,本专利技术实施例提供了一种基于分布式图数据库的文件系统元数据管理方法,该方法包括以下步骤:为文件系统创建目录集合、文件集合以及树集合,其中,目录集合包含多个目录节点,文件集合包含多个文件节点,树集合包含目录节点与目录节点及目录节点与文件节点之间的父子关系;将文件系统的目录树结构作为图,将所述目录集合中的各个目录节点及所述为文件集合中的文件节点作为图中的点,将所述文件系统的目录节点与目录节点、目录节点与文件节点之间的父子关系作为图中的边,生成所述文件系统的目录节点与文件节点之间的映射关系;根据所述映射关系,将所述文件系统的目录与文件保存到分布式图数据库中;利用所述分布式图数据库,管理文件系统元数据。优选地,利用所述分布式图数据库,管理文件系统元数据包括:S1文件节点根据其父目录节点的主键,将自身的文件名传递给其父目录节点;S2父目录节点收到所述文件名后,在所述文件名上加上自身的目录名,得到所述文件节点当前的路径;S3重复上述步骤S2,直至传递到根目录节点,得到所述文件节点的完整路径;S4并行重复上述步骤S1-S3,得到各个文件节点的全局路径。优选地,利用所述分布式图数据库,管理文件系统元数据还包括:将具有相同文件名的文件节点聚合在同一分组中。优选地,在文件节点根据其父目录节点的主键,将自身的文件名传递给其父目录节点之前,所述方法还包括:根据文件节点的属性,分别判断文件节点是否满足预设的条件,若否,则释放所述文件节点,生成相应的多个结果数据集。优选地,利用所述分布式图数据库,管理文件系统元数据还包括:根据文件节点的属性值,在分布式状态下对各个结果数据集进行排序。本专利技术实施例提供的基于分布式图数据库的文件系统元数据管理方法具有以下有益效果:(1)每个文件和目录需要保存其父目录的标识信息,当在文件系统上发生文件或目录的移动重命名操作时,只需要更新对应的一条记录即可;(2)每个目录应该与所有子目录项建立“边”关系,这样能够支持从某个目录开始广度遍历所有文件和目录;(3)能够有效地分散数据,降低单个物理节点的存储和计算压力,可以通过动态扩容来应对数据的不断增长,可扩展性较强;(4)支持多路并行,以提高数据查询效率,可以通过对一些高层目录进行预加载,降低对根目录节点的压力。附图说明图1为本专利技术实施例提供的基于分布式图数据库的文件系统元数据管理方法流程示意图;图2为本专利技术实施例提供的反向遍历方案流程示意图。具体实施方式以下结合附图和具体实施例对本专利技术作具体的介绍。如图1所示,本专利技术实施例提供的基于分布式图数据库的文件系统元数据管理方法包括以下步骤:S101,为文件系统创建目录集合、文件集合以及树集合,其中,目录集合包含多个目录节点,文件集合包含多个文件节点,树集合包含目录节点与目录节点及目录节点与文件节点之间的父子关系。S102,将文件系统的目录树结构作为图,将目录集合中的各个目录节点及为文件集合中的文件节点作为图中的点,将文件系统的目录节点与目录节点、目录节点与文件节点之间的父子关系作为图中的边,生成文件系统的目录节点与文件节点之间的映射关系。其中,分布式图数据库中的集合类似于关系型数据库中的表,它包含若干文档记录,每条文档记录由一个全局唯一标识和用户自定义的多个属性组成。当文档记录中额外包含两个固定的系统属性from和to时,则这条文档记录可以看作一条边,由边构成的集合称之为边集合,而相对的,普通文档记录形成的集合可以成为点集合。分布式图数据库中的集合进一步分成若干shard分片,在向数据节点保存数据时,是以shard分片方式进行的。每个shard分片可以看作是整个集合的一个子集合,每条文档记录按照主键进行哈希运算,得出该记录会分布到哪个shard分片中。使用全局唯一标识作为文件节点和目录节点的主键,这种随机性确保了在有大量记录条目时,所有文件节点及所有目录节点能比较均匀地分布到所有shard分片上,对底层存储的使用做到了负载均衡,并降低了图计算过程中出现热点的概率。另外,对于边集合中的记录条目的分布,就不能使用主键进行哈希计算分布了,而是要按照from属性字段的值进行,这样能保证每条边记录始终与边的起始点记录位于同一个数据节点,这样做的本文档来自技高网
...

【技术保护点】
1.一种基于分布式图数据库的文件系统元数据管理方法,其特征在于,包括:/n为文件系统创建目录集合、文件集合以及树集合,其中,目录集合包含多个目录节点,文件集合包含多个文件节点,树集合包含目录节点与目录节点及目录节点与文件节点之间的父子关系;/n将文件系统的目录树结构作为图,将所述目录集合中的各个目录节点及所述为文件集合中的文件节点作为图中的点,将所述文件系统的目录节点与目录节点、目录节点与文件节点之间的父子关系作为图中的边,生成所述文件系统的目录节点与文件节点之间的映射关系;/n根据所述映射关系,将所述文件系统的目录与文件保存到分布式图数据库中;/n利用所述分布式图数据库,管理文件系统元数据。/n

【技术特征摘要】
1.一种基于分布式图数据库的文件系统元数据管理方法,其特征在于,包括:
为文件系统创建目录集合、文件集合以及树集合,其中,目录集合包含多个目录节点,文件集合包含多个文件节点,树集合包含目录节点与目录节点及目录节点与文件节点之间的父子关系;
将文件系统的目录树结构作为图,将所述目录集合中的各个目录节点及所述为文件集合中的文件节点作为图中的点,将所述文件系统的目录节点与目录节点、目录节点与文件节点之间的父子关系作为图中的边,生成所述文件系统的目录节点与文件节点之间的映射关系;
根据所述映射关系,将所述文件系统的目录与文件保存到分布式图数据库中;
利用所述分布式图数据库,管理文件系统元数据。


2.根据权利要求1所述的基于分布式图数据库的文件系统元数据管理方法,其特征在于,利用所述分布式图数据库,管理文件系统元数据包括:
S1文件节点根据其父目录节点的主键,将自身的文件名传递给其父目录节点;
S2父目录节点收到所述文件名后,在所述文件名上加上自身的目录名,得到所述文件节点当前的路径;
S3重复上述步骤S2,直至传递到根目录节点,得到所述文件节点的完整路径;
S4并行重复上述步骤S1-S3,得到各个文件节点的全局路径。

【专利技术属性】
技术研发人员:张明富吴江
申请(专利权)人:极道科技北京有限公司
类型:发明
国别省市:北京;11

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

1