一种基于大规模文件系统负载特征关键字的文件搜索方法

文档序号:8339707阅读:385来源:国知局
一种基于大规模文件系统负载特征关键字的文件搜索方法
【技术领域】
[0001]本文公开了一种基于大规模文件系统负载特征关键字的搜索方法,涉及大数据环境中文件系统搜索面临的挑战,属于计算机技术领域。
【背景技术】
[0002]“大数据”成为信息技术领域的重点研宄内容和发展方向。很多国家均把应对大数据问题带来的挑战提高到国家战略层次,美国政府于2012年3月启动了 “大数据研发计划”,我国多个基础研宄科技计划如973计划、国家自然科学基金等也将大数据相关研宄列入项目指南。大规模文件系统是实现大数据存储的重要技术途径之一,当前大型数据中心,计算中心等信息基础设施普遍采用大规模文件系统组织和管理数据,向上层用户和应用程序提供对存储资源的统一访问服务。在大数据环境中,从大规模文件系统中快速精确得找到满足用户和应用程序的数据是当前面临的主要问题。
[0003]目前大规模文件系统中的文件数量规模达到百万级别,预计到2015年,文件系统所管理的文件数量规模可达到万亿级别。由于文件系统采用传统目录树方式管理与组织文件,即文件分布到不同层次的目录中进行管理;同时,文件系统按照某种元数据分布算法将文件数据分配到不同的元数据服务器中,元数据保存了每个文件的多维属性信息,用于支持文件系统的管理以及启动等操作。但是当前文件系统的组织形式,仍然基于目录树的形式,在文件数量十分小的情况下是十分有效的,但是由于当前文件数目规模十分庞大,这种目录树组织方式对文件系统的搜索效率是十分低下的。针对上述文件系统搜索的问题,许多学者进行了大量的研宄,提出了基于元数据索引的搜索方法、基于采样的文件搜索方法等。虽然上述方法加快了搜索速率,但是仍然存在的一定的缺点,例如基于元数据索引的方法需要昂过的硬件作为支撑,需要专门的机器集群进行元数据索引的搜索,并且在维护一致性上面会带来额外的开销,而基于采样的方法虽然没有带来额外的开销,但是由于采样技术本身的原因,搜索的准确率是会受到影响的。
[0004]上述搜索方法都没有考虑搜索负载的特征,当前的负载研宄表明,大量的文件集中在一定的目录深度中,并且用户的访问集中在少量的目录及一定目录深度中,少量的客户占大部分的1请求,小部分的文件占大部分的访问,并且用户的搜索请求在目录树中呈现出局部性特征,用户的搜索的负载特征对搜索速率起着至关重要的作用。
[0005]针对当前文件系统搜索方法研宄现状,并且针对没有考虑当前文件系统的负载特征的问题,研宄新型的文件系统的搜索方法在学术和工业实践上具有重要的意义。

【发明内容】

[0006]1、目的:
[0007]本发明的主要目的是提供一种基于大规模文件系统负载特征关键字的文件搜索方法,针对当前搜索方法中遇到的问题(例如,需要额外的硬件以及准确率低),以及没有考虑当前负载呈现的特征,实现了基于负载特征的关键字搜索方法,提高文件系统的搜索性能。
[0008]2、技术方案:
[0009]为了达到实现上述方法,本发明的技术方案是这样的:
[0010]一种基于大规模文件系统负载特征关键字的文件搜索方法,基于搜索目录树空间的局部性特征进行目录树空间的分区以及关键字Posting列表的分割,包括以下步骤:
[0011 ] (I)根据搜索负载在目录树空间水平聚集的特征,将目录树空间进行水平划分,并且在每一个分区内聚集关键字的Posting项,从而将整个关键字的Posting列表分隔在每个分区内;
[0012](2)根据用户搜索的子树局部性特征,在目录树水平分区的基础上,将目录树分区按照子树方向进行分区,使步骤(I)中的目录树分区变得更小,进一步减小关键字的Posting列表的长度;关键字的Posting列表进行再一次分割,成为更小的列表;
[0013](3)通过上述基于分区的关键字Posting列表的分割,使关键字列表可以顺序地存储在磁盘上面,并且基于用户搜索的局部性,再一次将高频率访问的关键字Posting列表分区,快速缩小目录树搜索范围,提高搜索速率。
[0014]其中,步骤⑴和(2),通过搜索的局部性特征,降低了关键字的Posting列表的长度,在磁盘可以顺序存储,并且根据负载的局部性特征,可以迅速地缩小目录树搜索范围,加快了搜索速率;步骤(3),可以将高频率被搜索的相关文件位置信息缓存在内存中,加快了搜索速率。
[0015]其中,步骤(3)中,增加了一种优化方法,即基于一小部分占据着大部分的搜索1请求的负载特征,进行基于阈值的关键字Posting列表的分割及缓存的方法,主要包括如下几个步骤:
[0016](I)扩展posting项纪录文件被搜索的次数,设定相关阈值;
[0017](2)通过阈值的判定将分区后的关键字的列表进一步分裂成更小的列表,高于阈值的Posting项组成一个新的列表,剩余的组成另一个列表;
[0018](3)高频率被搜索的Posting列表缓存在内存中,提高搜索速率。
[0019]3、优点及功效:
[0020]本发明所公布的基于大规模文件系统负载特征关键字的文件搜索方法,与现有的搜索技术相比,其主要优点是:(I)不需要额外的硬件,降低了搜索的开销,并且提高了搜索的准确性;(2)考虑了当前大规模文件系统呈现出来的负载特征,基于负载特征的搜索方法的建立,其效率更高;(3)搜索快速地缩小了目录树搜索范围,提高了搜索效率。
[0021]1、利用大量文件集中在文件系统namespace中一定目录深度和用户的搜索请求集中在一定目录深度的负载特征,位于同一目录深度的关键字的Posting进行聚集,从而降低了关键字的Posting列表的长度;
[0022]2、根据用户搜索呈现出来的子树局部性特征,在关键字Posting列表水平分区的同时,进行按照子树局部性进行垂直分区,通过水平和垂直分区,将目录树空间分成很多小的区域,关键字Posting不再记录整个目录树空间的文件,而是关键字的Posting列表每个分区的区域中进行聚集,减少了关键字列表的长度,使关键字列表可以在磁盘上面进行顺序存储,提高了搜索的准确率;
[0023]3、当前的基于内容搜索的文件系统没有考虑文件系统的负载特征,小部分文件占大部分1访问,为了进一步提高文件的搜索效率,扩展每个posting项用来记录被访问的次数,将上述关键字列表中的高于平均次数的posting项组成一个新的列表中,减小了posting列表的长度,进一步利用负载访问的空间局部性提高文件搜索性能,并且提高了更新的速率。
【附图说明】
[0024]图1为基于大规模文件系统负载特征关键字的文件搜索方法流程图;
[0025]图2为基于负载特征的水平目录分区的关键字Posting列表的划分示意图;
[0026]图3为基于负载特征的子树方向的关键字Posting列表的划分不意图;
[0027]图4为基于访冋频度阈值的关键字Posting列表的划分不意图;
【具体实施方式】
[0028]使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0029]如图1所示,本发明一种基于大规模文件系统负载特征的关键字搜索方法,该方法包括以下步骤:
[0030]步骤101:根据搜索负载在目录树空间水平聚集的特征,将目录树空间进行水平划分,并且在每一个分区内聚集关键字的Posting项,从而将整个关键字的Posting列表分隔在每个分区内;
[0031]步骤102:根据用户搜索的子树局部性特征
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1