增量生成索引的方法、装置及系统制造方法及图纸

技术编号:28622888 阅读:17 留言:0更新日期:2021-05-28 16:18
本公开公开了一种增量生成索引的方法、装置及系统。其中,该方法包括:读取文件系统的日志;从所述日志中解析出一段时间内所述文件系统所发生的变化的相关信息;基于所解析出的所述变化的相关信息,以增量的方式生成所述文件系统的索引。本公开解决了【由于完整扫描文件系统而造成的资源和时间的消耗非常大】的技术问题。

【技术实现步骤摘要】
增量生成索引的方法、装置及系统
本公开涉及数据存储领域,具体而言,涉及一种增量生成索引的方法、装置及系统。
技术介绍
大数据时代,计算机上存储的数据量呈几何级数的增长,文件系统中文件数量动辄以亿计数,甚至十亿百亿也寻常可见。在数据的各种使用场景中免不了要对这些文件进行搜索。在海量文件系统中进行搜索,是一件非常耗时和耗资源的事情。为了快速搜索,同时也为了减轻资源占用,需要对存储的文件做索引。扫描整个文件系统,将其中的所有文件元数据记录到一个索引数据库中。搜索时,先在索引中搜索,找到后再根据记录中的文件路径定位到文件系统中具体的文件。为了将文件系统中产生的变化更新到索引中,需要定期扫描这个文件系统。但是,上述方法会存在以下问题:(1)每次对文件系统的完整扫描,时间和资源的消耗依然非常大。(2)文件系统一段时间内产生的变化只占整个文件系统的一部分,而每次完整扫描太多重复性的工作。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本公开实施方式提供了一种增量生成索引的方法、装置及系统,以至少解决【由于完整扫描文件系统而造成的资源和时间的消耗非常大】的技术问题。根据本公开实施方式的一个方面,提供了一种增量生成索引的方法,包括:读取文件系统的日志;从所述日志中解析出一段时间内所述文件系统所发生的变化的相关信息;基于所解析出的所述变化的相关信息,以增量的方式生成所述文件系统的索引。根据本公开实施方式的另一方面,还提供了一种读取模块,被配置为读取文件系统的日志;解析模块,被配置为从所述日志中解析出一段时间内所述文件系统所发生的变化的相关信息;增量生成模块,被配置为基于所解析出的所述变化的相关信息,以增量的方式生成所述文件系统的索引。根据本公开实施方式的另一方面,还提供了一种索引生成系统,包括文件系统和上述技术方案任一项所述的增量生成索引的装置。根据本公开实施方式的另一方面,还提供了一种计算机设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序用于实现如上任一项所述的增量生成索引方法。根据本公开实施方式的另一方面,还提供了一种可读存储介质,所述可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如上任一项所述的增量生成索引方法。在本公开实施方式中,采用增量生成索引的方式,通过基于从文件系统的日志中解析出一段时间内所述文件系统所发生的变化的相关信息,以增量的方式生成所述文件系统的索引,解决了【由于完整扫描文件系统而造成的资源和时间的消耗非常大】的技术问题,具有节省资源和时间的技术效果。附图说明此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施方式及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:图1是根据本公开实施方式的一种可选的生成索引方法的流程示意图;图2是根据本公开实施方式的另一种可选的生成索引方法的流程示意图;图3是根据本公开实施方式的一种可选的生成索引装置的结构图;图4是根据本公开实施方式的一种可选的生成索引系统的结构图。具体实施方式为了使本
的人员更好地理解本公开方案,下面将结合本公开实施方式中的附图,对本公开实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本公开一部分的实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本公开保护的范围。需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。关键术语定义文件系统:对文件存储设备的空间进行组织和分配、负责文件存储并对存入的文件进行保护和检索的系统。文件系统中的数据分为数据和元数据。数据块(datablock或block):存储设备进行数据读写文件的最小单位,一个文件的数据可能写到多个数据块上。数据:普通文件中的实际数据。元数据(metadata):用来描述一个文件的特征的系统数据,诸如文件的创建者、文件大小、访问权限、文件数据块的分布信息等,存储在inode或MFT的记录中。inode:在类unix操作系统的文件系统中储存文件元数据的区域。每个inode在一个文件系统有唯一的编号。MFT:主文件表(MasterFileTable),NTFS文件系统的一个连续磁盘区域,由一系列文件和目录的元数据记录组成,包含了NTFS文件系统中所有文件和目录记录。可以通过MFT编号找到对应的记录。索引:将文件系统中的文件记录,包括文件路径、inode编号(或MFT编号)、文件大小、文件类型(目录也可以认为是一种特殊的文件)等,以结构化的格式集合一起,比如存储在MySQL、sqlite等数据库中,可以实现整个文件系统中文件的快速查找。这些文件记录集合的载体称为索引。概述目前流行的文件系统,如NTFS、EXT4和XFS等,基本上都是日志式文件系统(journalingfilesystem)。日志式文件系统会在文件系统内部划出一块连续的区域记录文件系统的日志,称为日志区域。文件系统在把数据写入到具体的数据块前,首先把要做变更的文件的元数据写到日志区域,然后才去更新相应文件的元数据及数据块。在系统崩溃的情况下重放日志区域的记录能更快速恢复文件系统,保护文件系统免受损坏,而不需要扫描整个文件系统。日志区中的信息记录下了变更的文件的相关信息,如文件的标志(XFS文件系统以及EXT4文件系统中为文件的inode号,NTFS文件系统中为MFT编号)、操作类型(如创建文件,修改文件,删除文件等),变更对应的数据块等。在更新索引时,可以通过日志区中的记录来实现增量更新。不同文件系统的日志区信息访问方式不同。XFS文件系统的日志可通过“xfs_logprint”命令将日志信息导出到一个普通文件中。EXT4文件系统的日志一般存放在一个inode号为8的文件中(此文件隐藏不可见)。NTFS文件系统的日志存放在每个盘根目录下的“$LogFile”文件中。日志区中每一条信息对应一次文件变化操作,如新建、修改、删除。遍历日志区的所有信息,即可再现一段时间内文件系统所发生的变化。实施方式1根据本公开实施方式,提供了一种增量生成索引的方法,如图1所示,该方法包本文档来自技高网
...

【技术保护点】
1.一种增量生成索引的方法,其特征在于,包括:/n读取文件系统的日志;/n从所述日志中解析出一段时间内所述文件系统所发生的变化的相关信息;/n基于所解析出的所述变化的相关信息,以增量的方式生成所述文件系统的索引。/n

【技术特征摘要】
1.一种增量生成索引的方法,其特征在于,包括:
读取文件系统的日志;
从所述日志中解析出一段时间内所述文件系统所发生的变化的相关信息;
基于所解析出的所述变化的相关信息,以增量的方式生成所述文件系统的索引。


2.根据权利要求1所述的方法,其特征在于,
读取文件系统的日志是在所述文件系统满足预设条件的情况下进行的。


3.根据权利要求2所述的方法,其特征在于,所述预设条件包括:
在所述文件系统中存在所述索引;和
所述文件系统为日志式文件系统。


4.根据权利要求3所述的方法,其特征在于,所述预设条件还包括:所述日志存储在所述文件系统内部。


5.根据权利要求3所述的方法,其特征在于,所述预设条件还包括:在所述日志存储在外部设备的情况下,通过安装插件的方式拷贝了所述日志。


6.根据权利要求2至5中任一项所述的方法,其特征在于,所述方法还包括:在不满足所述预设条件...

【专利技术属性】
技术研发人员:陈元强林柯
申请(专利权)人:深圳市木浪云数据有限公司
类型:发明
国别省市:广东;44

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

1