[发明专利]文件管理方法及装置有效
申请号: | 201210551924.1 | 申请日: | 2012-12-18 |
公开(公告)号: | CN103064906A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 郝志敏;刘军;李红 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 管理 方法 装置 | ||
技术领域
本发明涉及存储技术领域,尤其涉及一种文件管理方法及装置。
背景技术
随着大数据时代的到来,客户的应用越来越多样化,数据量也越来越大,选用分布式文件系统保存不同应用的数据成为主流趋势。单一系统支持的客户应用越来越多,对分布式文件系统需要支持的文件数量也就提出了更大的需求,因而导致单个目录下的文件也越来越多。目前一般的文件系统都采用传统的目录树形式组织元数据,如图1所示。目录下顺序保存各文件的列表信息(entry信息),包括文件名和文件元数据信息的保存位置,图2就是一个目录dir1的元数据信息示例。如图2所示,目录的元数据信息首先是目录的各种属性,然后是该目录下各文件的列表记录信息,该信息一般包括文件名和文件元数据信息在磁盘上的保存位置。在目录下新增一个文件,要求遍历该目录的列表,检查同名的文件是否已经存在,如果不存在,则创建该文件,在磁盘上记录文件的元数据信息;然后,把文件的列表记录信息插入到其父目录元数据列表中。访问目录下的某个文件时,也要遍历目录的元数据列表,找到相对应的列表记录信息,进而获得该文件元数据信息在磁盘上的存储位置,才能查到该文件的属性信息。如图2所示,如果要访问是“列表记录1n”对应的文件,首先要遍历目录dir1的列表,在列表的最后找到该文件的列表记录信息,在列表中获得文件列表记录1n元数据的存储位置,从而查得该文件的元数据信息。
在现有的这种顺序保存目录列表信息的方式下,查询文件属性时必须遍历元数据列表,随着目录下文件越来越多,查询的时间也越来越长。在当前一般的文件系统中,一个目录下文件数量达到上万时,就能明显感觉到操作延迟,当目录下文件数量达到千万时,操作延迟就不能接受了。所以目前这种列表信息顺序组织形式,单目录下支持的文件数不能太大,因而也就不能满足日益增大的文件系统的要求。由于单目录下支持大量文件会逐渐增大文件的访问延迟,因而限制了目前分布式文件系统的规模,或者为了保证访问速度,要求系统管理员必须规划系统的目录结构,限制单目录下文件的个数,这样会影响系统的适应性,限制系统的应用场景。
发明内容
有鉴于此,本发明所要解决的问题是提供一种文件管理方法及装置,能够在不限制单目录下文件的个数的前提下,提高文件的访问速度。
为了解决上述问题,第一方面,本发明实施例提供了一种文件管理方法,包括:
接收对目标文件的访问请求;
根据所述目标文件的文件名查找所述目标文件对应的目录;
使用所述目录下每级哈希桶对应的哈希函数对所述目标文件的文件名做哈希运算,并根据所得的散列值找到目标哈希桶,遍历所述散列值所述目标哈希桶,查找所述目标文件对应的列表记录信息;
其中,所述多级哈希桶用于保存目录下各文件的列表记录信息,每个目录下包括至少一级哈希桶,每级哈希桶对应一个哈希函数,且第一级哈希桶包括至少两个哈希桶。
结合第一方面,在第一种可能的实现方式中,每个哈希桶包括属性字段,所述属性字段用于标识所述哈希桶对应的散列值、级数、以及上级哈希桶的存储位置,且除最后一级哈希桶外,每级哈希桶的每个哈希桶的属性字段还包括下级各哈希桶的存储位置。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,使用每级哈希桶对应的哈希函数对所述目标文件的文件名做哈希运算,查找所述目标文件对应的列表记录信息具体包括:
根据当前级哈希桶的哈希函数对所述目标文件的文件名做哈希运算,得到对应的散列值;
根据所述散列值找到目标哈希桶,并遍历所述目标哈希桶,查找所述目标文件对应的列表记录信息;
若所述目标文件对应的列表记录信息在所述目标哈希桶中,则返回查询到的所述目标文件的列表记录信息,否则,判断当前级哈希桶是否为最后一级哈希桶;
若当前级哈希桶为最后一级哈希桶,则结束,否则,查找所述目标哈希桶的下一级哈希桶。
结合第一方面或第一方面的第一或第二种可能的实现方式,在第三种可能的实现方式中,所述访问请求为插入目标文件的请求,所述方法还包括:
在未查找到所述目标文件的列表记录信息的情况下,依次判断使用每级哈希桶对应的哈希函数对所述目标文件的文件名进行哈希运算得到的目标哈希桶是否已满,若已满,则将所述目标文件的列表记录信息插入至未满的下一级哈希桶中的目标哈希桶中。
结合第一方面或第一方面的第一至第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述访问请求为删除目标文件,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210551924.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种油面波动检测装置
- 下一篇:快速标定型路面摩擦系数测定仪