文件系统的元数据管理方法、装置、设备和介质制造方法及图纸

技术编号:29940619 阅读:29 留言:0更新日期:2021-09-04 19:25
本公开提供了一种文件系统的元数据管理方法、装置、设备和介质,所述方法包括:获取元数据的特征信息和所述文件系统的负载信息中的至少一部分,其中,所述元数据是所述文件系统中的文件的属性信息;对获取的所述特征信息和所述负载信息中的至少一部分进行分析;根据分析结果,控制所述文件系统的预定任务的执行,其中,所述预定任务是用于去除所述元数据中的无效元数据。本公开提供的方法可以确定出执行去除无效元数据的任务的执行时机,从而在不影响文件系统中相关应用的正常运行的情况下将文件系统中的无效元数据去除,提高了文件系统中数据库的查询效率,进而也提高了文件系统的整体性能。统的整体性能。统的整体性能。

【技术实现步骤摘要】
文件系统的元数据管理方法、装置、设备和介质


[0001]本公开涉及数据处理领域,更具体地,涉及一种文件系统的元数据管理方法、装置、设备和介质。

技术介绍

[0002]随着互联网技术的不断发展,互联网相关的应用越来越多,因此而产生的相关信息的数据量也越来越大,已经达到了千万亿字节(petabyte,PB)级别的数据量。目前,针对PB级别的数据进行存储变得非常普遍和愈发重要。但是,传统的本地磁盘存储方式早就无法满足现有应用的大容量、高扩展、低延时等要求。而键值对(Key Value,KV)存储数据库具有先天的高性能检索优势,因此,被广泛应用到大数据相关的存储和应用中。
[0003]在使用KV存储数据库来管理作为数据(如文件数据)的属性信息的元数据的文件系统(如,分布式文件系统)中,高效的元数据管理方法是决定其整体性能的一个重要因素。
[0004]KV数据库如RocksDB、LevelDB等,大多采用基于日志结构合并树(Log

Structured Merge Tree,LSM

Tree)数据结构,为了保证数据访问的效率,涉及内容修改的操作是采用追加写入新数据(如,新的元数据),将旧数据(如,旧的元数据)置为墓碑数据(Tombstone,其指基于LSM

Tree结构的数据库在执行修改或删除操作时生成的无效数据(如无线元数据))的方法进行的。这种方式能够提高数据库的写入性能,但是在大量数据修改和删除操作之后,数据库内部会遗留大量的Tombstone数据,使得数据库的查询效率大幅度下降。
[0005]为了解决这一问题,通常KV数据库是根据数据库的参数配置(如,无效数据达到一定量时启动相关去除无效数据的操作)和数据库运行时状态(如数据库运行时是处于忙碌状态、一般状态还是空闲状态),后台启动清理(compaction)任务对如元数据的索引项进行优化和合并排序,去除冗余无效的Tombstone数据。在无外部干预的情况下,KV数据库触发清理任务的时机、处理范围和具体策略更多是根据自身配置和数据库局部运行状态来决定的,并且所述自身配置在一段时间内往往是不变的。因此,在文件系统采用KV数据库来管理元数据时,由于KV数据库仅依靠自身配置和局部状态触发清理任务,往往清理任务产生的时机不是最优,同时由于清理任务运行往往会产生数据互斥保护以及额外的输入/输出(Input/Output,I/O),反倒使得文件系统在正常场景下出现短时间性能抖动和访问阻塞的情况发生,从而影响文件系统的稳定性,无法发挥文件系统的最优性能。
[0006]因此,需要一种新的文件系统的元数据管理方法。

技术实现思路

[0007]针对上述问题,本公开提供了一种文件系统的元数据管理方法,该方法可以确定出执行去除上述无效数据(如无效元数据)的任务(如清理任务)的执行时机,从而在不影响文件系统中相关应用的正常运行的情况下将文件系统中的无效数据去除,提高了文件系统中数据库的查询效率,进而也提高了文件系统的整体性能。
[0008]本公开实施例提供了一种文件系统的元数据管理方法,包括:获取元数据的特征
信息和所述文件系统的负载信息中的至少一部分,其中,所述元数据是所述文件系统中的文件的属性信息;对获取的所述特征信息和所述负载信息中的至少一部分进行分析;根据分析结果,控制所述文件系统的预定任务的执行,其中,所述预定任务是用于去除所述元数据中的无效元数据。
[0009]根据本公开实施例,其中,根据分析结果,控制所述文件系统的预定任务的执行,包括:根据分析结果,控制所述文件系统的预定任务的执行时机和执行范围中的至少一个。
[0010]根据本公开实施例,其中,根据分析结果,控制所述文件系统的预定任务的执行时机和执行范围中的至少一个,包括以下至少一项操作:根据对获取的所述特征信息进行分析而得到的特征分析数据,控制所述文件系统的预定任务的执行范围;根据对获取的所述文件系统的负载信息进行分析而得到的负载分析数据,控制所述文件系统的预定任务的执行时机。
[0011]根据本公开实施例,其中,所述方法还包括:获取所述文件系统中用于存储所述元数据的数据库的运行相关信息,其中,所述数据库的运行相关信息包括所述数据库预定运行时间段内的性能统计信息和所述数据库在运行时的状态信息中的至少一部分;对获取的所述数据库的运行相关信息进行分析;根据对所述运行相关信息进行分析而得到的数据库分析数据,控制所述预定任务的执行范围。
[0012]根据本公开实施例,其中,所述获取元数据的特征信息包括:根据所述元数据的索引数据以及与所述元数据相关的操作信息,生成所述元数据的特征信息。
[0013]根据本公开实施例,其中,所述根据所述元数据的索引数据以及与所述元数据相关的操作信息,生成所述元数据的特征信息,包括:从所述文件系统中用于存储所述元数据的数据库中,提取所述元数据的索引数据和与所述元数据相关的操作信息,其中所述元数据是从对所述文件系统中的文件的操作业务流中提取的,与所述元数据相关的操作信息是对所述文件系统中的文件的操作业务流的操作信息,并且包括与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数;根据所述元数据的索引数据对与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数进行分段记录,作为所述元数据的特征信息。
[0014]根据本公开实施例,其中,所述根据所述元数据的索引数据对与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数进行分段记录,包括:根据所述元数据的索引数据,将与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数记录到预先建立的分段表中,其中,所述分段表包括预先建立的与索引数据有关的多个分段范围。
[0015]根据本公开实施例,其中,对获取的所述特征信息进行分析,包括:对获取的所述特征信息进行统计,得到所述特征信息的统计数据;根据所述统计数据,确定与每个分段范围对应的无效元数据的量;通过将确定的与每个分段范围对应的无效元数据的量分别与预定阈值进行比较来获得所述特征分析数据。
[0016]根据本公开实施例,其中,对所述负载信息进行分析,包括:通过将所述负载信息与预先设置的所述文件系统的硬件设备的负载阈值进行比较,确定与所述硬件设备的资源状态有关的分析数据,作为所述负载分析数据。
[0017]根据本公开实施例,其中,所述负载信息包括处理器负载(CPU)、输入输出接口负
载(I/O)、网络负载中的至少一部分。
[0018]根据本公开实施例,其中,对获取的所述数据库的运行相关信息进行分析,包括:根据所述数据库预定运行时间段内的性能统计信息和所述数据在运行时的状态信息中的至少一部分,确定与所述数据库的当前状态有关和与所述数据库的未来状态有关的分析数据,作为所述数据库分析数据。
[0019]根据本公开实施例,其中,根据对所述运行相关信息进行分析而得到的数据库分析数据,控制所述预定任务的执行范围,包括:根据所述数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件系统的元数据管理方法,其特征在于,包括:获取元数据的特征信息和所述文件系统的负载信息中的至少一部分,其中,所述元数据是所述文件系统中的文件的属性信息;对获取的所述特征信息和所述负载信息中的至少一部分进行分析;根据分析结果,控制所述文件系统的预定任务的执行,其中,所述预定任务是用于去除所述元数据中的无效元数据。2.如权利要求1所述的元数据管理方法,其特征在于,其中,根据分析结果,控制所述文件系统的预定任务的执行,包括:根据分析结果,控制所述文件系统的预定任务的执行时机和执行范围中的至少一个。3.如权利要求2所述的元数据管理方法,其特征在于,其中,根据分析结果,控制所述文件系统的预定任务的执行时机和执行范围中的至少一个,包括以下至少一项操作:根据对获取的所述特征信息进行分析而得到的特征分析数据,控制所述文件系统的预定任务的执行范围;根据对获取的所述文件系统的负载信息进行分析而得到的负载分析数据,控制所述文件系统的预定任务的执行时机。4.如权利要求2所述的元数据管理方法,其特征在于,其中,所述方法还包括:获取所述文件系统中用于存储所述元数据的数据库的运行相关信息,其中,所述数据库的运行相关信息包括所述数据库预定运行时间段内的性能统计信息和所述数据库在运行时的状态信息中的至少一部分;对获取的所述数据库的运行相关信息进行分析;根据对所述运行相关信息进行分析而得到的数据库分析数据,控制所述预定任务的执行范围。5.如权利要求3所述的元数据管理方法,其特征在于,其中,所述获取元数据的特征信息包括:根据所述元数据的索引数据以及与所述元数据相关的操作信息,生成所述元数据的特征信息。6.如权利要求5所述的元数据管理方法,其特征在于,其中,所述根据所述元数据的索引数据以及与所述元数据相关的操作信息,生成所述元数据的特征信息,包括:从所述文件系统中用于存储所述元数据的数据库中,提取所述元数据的索引数据和与所述元数据相关的操作信息,其中所述元数据是从对所述文件系统中的文件的操作业务流中提取的,与所述元数据相关的操作信息是对所述文件系统中的文件的操作业务流的操作信息,并且包括与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数;根据所述元数据的索引数据对与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数进行分段记录,作为所述元数据的特征信息。7.如权利要求6所述的元数据管理方法,其特征在于,其中,所述根据所述元数据的索引数据对与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数进行分段记录,包括:根据所述元数据的索引数据,将与所述元数据相关的各种操作类型和各种操作类型所对应的操作次数记录到预先建立的分段表中,其中,所述分段表包括预先建立的与索引数
据有关的多个分段范围。8.如权利要求7所述的元数据管理方法,其特征在于,其中,对获取的所述特征信息进行分析,包括:对获取的所述特征信息进行统计,得到所述特征信息的统计数据;根据所述统计数据,确定与每个分段范围对应的无效元数据的量;通过将确定的与每个分段范围对应的无效元数据的量分别与预定阈值进行比较来获得所述特征分析数据。9.如权利要求3所述的元数据管理方法,其特征在于,其中,对所述负载信息进行分析,包括:通过将所述负载信息与预先设置的所述文件系统的硬件设备的负载阈值进行比较,确定与所述硬件设备的资源状态有关的分析数据,作为所述负载分析数据。10.如权利要求9所述的元数据管理方法,其特征在于,其中,所述负载信息包括处理器负载(CPU)、输入输出接口负载(I/O)、网络负载中的至少一部分。11.如权利要求4所述的元数据管理方法,其特征在于,其中,对获取的所述数据库的运行相关信息进行分析,包括:根据所述数据库预定运行时间段内的性能统计信息和所述数据在运行时的状态信息中的至少一部分,确定与所述数据库的当前状态有关和与所述数据库的未来状态有关的分析数据,作为所述数据库分析数据。12.如权利要求11所述的元数据管理方法,其特征在于,其中,根据对所述运行相关信息进行分析而得到的数据库分析数据,控制所述预定任务的执行范围,包括:根据所述数据库分析数据中的与所述数据库的未来状态有关的分析数据,确定是否缩减所述预定任务的执行范围。13.一种文件系统的元数据管理装置,其特征在于,包括:第一获取模块,被配置为获取元数据的特征信息和所述文件系统的负载信息中的至少一部分,其中,所述元数据是所述文件系统中的文件的属性信息;第一分析模块,被配置为对获取的所述特征信息和所述负载信息中的至少一部分进行分析;第一执行模块,被配置为根据...

【专利技术属性】
技术研发人员:蒋维韦新伟李立帅李红郝志敏汪权
申请(专利权)人:联想凌拓科技有限公司
类型:发明
国别省市:

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

1