[发明专利]一种采用后缀数组索引的海量小文件查询方法及系统有效
申请号: | 201811133108.2 | 申请日: | 2018-09-27 |
公开(公告)号: | CN109284273B | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 赵鑫;孙茜;农革 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/13;G06F16/16 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 后缀 数组 索引 海量 文件 查询 方法 系统 | ||
1.一种采用后缀数组索引的海量小文件查询方法,其特征在于,包括:
小文件存储步骤:
客户端提交文件上传请求;
获取每个文件大小,对文件大小进行判断,若判断为非小文件,则对文件分别建立后缀数组索引并上传到分布式文件系统;若判断为小文件,则将小文件放入合并队列进行合并,对小文件分别建立后缀数组索引并将合并后的文件上传到分布式文件系统;
小文件查询步骤:
获取并解析查询请求;
确定查询类型;
确定要查询的指定域及查询条件;
根据查询条件在后缀数组索引中搜索指定域,得到符合条件的后缀数组索引记录;
根据后缀数组索引记录获取小文件在分布式文件系统中的位置信息,从分布式文件系统上获取对应小文件。
2.根据权利要求1所述的 采用后缀数组索引的海量小文件查询方法,其特征在于,存储步骤所述判断的具体过程为:定义一个分布式文件系统上的默认存储单位的大小为阈值b、定义阈值a为小于阈值b的值,小于阈值a的文件为小文件,大于等于阈值a的文件为非小文件。
3.根据权利要求1所述的 采用后缀数组索引的海量小文件查询方法,其特征在于,存储步骤所述后缀数组索引包括小文件名、小文件大小、小文件对应存储在分布式系统上的文件名、小文件对应存储在分布式系统上文件的偏移量、创建时间共五个域;每个域包括有用于记录文件对应该域具体内容的元数据、后缀数组以及域信息结构;
其中域信息结构包括该域中的存储文件数量,该域的元数据大小,记录该域内各文件的文件信息结构的FileInfo;
其中所述FileInfo包括索引删除标记符、文件对应属性内容在该域中的元数据大小、文件对应属性元数据首字节在该域中元数据的偏移量、文件ID。
4.根据权利要求2所述的 采用后缀数组索引的海量小文件查询方法,其特征在于,存储步骤还包括当合并队列中的文件大小达到阈值b时,将文件以二进制形式进行合并并对每个文件建立后缀数组索引,然后上传合并后的文件;所述合并队列中的文件在上传完成后清空并回收。
5.根据权利要求1所述的 采用后缀数组索引的海量小文件查询方法,其特征在于,查询步骤所述的查询类型包括精确查询和模糊查询。
6.根据权利要求1所述的 采用后缀数组索引的海量小文件查询方法,其特征在于,查询步骤所述的搜索指定域具体为:查询元数据和后缀数组找到匹配项在后缀数组索引记录的元数据中的偏移量,根据偏移量在FileInfo中找到对应的文件ID。
7.根据权利要求6所述的 采用后缀数组索引的海量小文件查询方法,其特征在于,还包括:
小文件更新步骤:
获取需更新的小文件;
搜索后缀数组索引,把要更新的小文件标记为已删除;
上传更新的小文件;
对分布式文件系统上包含旧版小文件且满足重组条件的合并文件进行物理重组;其中满足重组条件指:定义合并文件中未被更新过的小文件的大小总和为有效利用空间,设定分布式文件系统上每个合并文件的有效利用空间的阈值,当有效利用空间小于阈值的合并文件数量达到指定数量时满足重组条件。
8.根据权利要求7所述的 采用后缀数组索引的海量小文件查询方法,其特征在于,更新步骤中所述的有效利用空间的具体计算过程:查询删除标识符标识为0的小文件后缀数组索引记录获取其所在合并文件并计算出分布式文件系统中各合并文件有效利用空间,判断是否达到阈值,若没达到阈值则记为一个有效利用空间小于阈值的合并文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811133108.2/1.html,转载请声明来源钻瓜专利网。