一种确定文件所在分区的方法及装置的制造方法

文档序号:8223538阅读:231来源:国知局
一种确定文件所在分区的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种确定文件所在分区的方法及装置。
【背景技术】
[0002] 传统的文件系统是基于目录树的元数据管理结构,通过对文件系统中的所有文件 构造目录树,参阅图1所示,通过检索目录树进行文件管理,基于目录树结构的管理方式适 用于文件系统中的文件和目录规模不大的场景。
[0003] 在当今的海量文件系统中,管理的文件规模达到上百万乃至上亿级别,显然,传统 的基于目录树结构的管理方式已远远无法满足海量文件的文件检索的性能要求。为了解决 这一问题,通常将海量文件系统按目录树进行分区,参阅图2所示,每个分区包含一定数量 的文件或目录个数(比如1万个目录或10万个文件),根据查询时输入的文件路径来筛选 出一个或少数几个分区,然后在这些分区中利用其它文件属性进行更细致的搜索,从而加 速元数据搜索。
[0004] 为了实现在所有分区中通过输入路径筛选出一个或几个分区,现有技术通常按照 目录进行分区(比如一个分区包含1万个目录),然后维持一个包括所有目录路径到分区的 映射表(简称路径分区映射表),参阅表1所示。查询时,根据用户输入的路径在路径分区 映射表中找到相应的分区,然后,在这些筛选出的分区内进行搜索需要的文件。
[0005] 表1针对图2中的目录树分区构建的路径分区映射表
【主权项】
1. 一种确定文件所在分区的方法,其特征在于,包括: 获取待查询文件的路径; 根据本地所有文件的目录树的分区,构建分区的索引信息表,其中,分区的索引信息表 中保存有每个父分区W及每个父分区对应的至少一个关键路径的对应关系,任意一个父分 区的一个关键路径为任意一个父分区的一个子分区中字典序最小的绝对路径,任意一个父 分区的一个子分区对应所述任意一个父分区中的一个文件,且该文件中包含对应于该文件 的子分区中的所有文件; 根据待查询文件的路径在所述分区的索引信息表中遍历,确定所述分区的索引信息表 中一个父分区对应的一个关键路径为所述待查询文件的路径的前缀路径时,将确定的所述 关键路径作为第一目标关键路径; 在所述一个父分区的各个子分区中,确定具有与确定的第一目标关键路径相同的字典 序最小的绝对路径的子分区; 将确定的子分区确定为所述待查询文件所归属的分区。
2. 如权利要求1所述的方法,其特征在于,获得本地所有文件的目录树的分区,包括: 针对本地保存的所有文件构造目录树; 将所述目录树进行分区,生成多个分区,所述多个分区包括多个父分区W及与每个父 分区对应的不同子分区。
3. 如权利要求1或2所述的方法,其特征在于,根据待查询文件的路径在分区的索引信 息表中遍历,包括: 按照每个父分区分别对应的子分区的字典序最小的绝对路径中的字典序从小到大的 顺序,对所述分区的索引信息表进行遍历。
4. 如权利要求1-3任一项所述的方法,其特征在于,在所述一个父分区的各个子分区 中,确定具有与确定的第一目标关键路径相同的字典序最小的绝对路径的子分区,包括; 所述分区的索引信息表中每个父分区对应的任意一个关键路径对应一个分区指针,该 分区指针指示与具有与所述任意一个关键路径相同的字典序最小的绝对路径的子分区; 在所述分区的索引信息表中确定所述第一目标关键路径对应的分区指针,根据确定的 所述分区指针,在所述一个父分区的各个子分区中,确定具有与确定的第一目标关键路径 相同的字典序最小的绝对路径的子分区。
5. 如权利要求1-4任一项所述的方法,其特征在于,将确定的子分区确定为所述待查 询文件所归属的分区,包括: 将确定的子分区作为一个父分区,在所述分区的索引信息表中索引与该父分区对应的 至少一个关键路径; 若索引到的至少一个关键路径中的每个关键路径均不为所述待查询文件的路径的前 缀路径时,将确定的子分区确定为所述待查询文件所归属的分区。
6. 如权利要求5所述的方法,其特征在于,所述方法还包括: 若索引到的至少一个关键路径中存在一个关键路径为所述待查询文件的路径的前缀 路径时,返回在所述一个父分区的各个子分区中,确定具有与确定的第一目标关键路径相 同的字典序最小的绝对路径的子分区的操作。
7. -种确定文件所在分区的装置,其特征在于,包括: 获取单元,用于获取待查询文件的路径; 第一处理单元,用于根据本地所有文件的目录树的分区,构建分区的索引信息表,其 中,分区的索引信息表中保存有每个父分区W及每个父分区对应的至少一个关键路径的对 应关系,任意一个父分区的一个关键路径为任意一个父分区的一个子分区中字典序最小的 绝对路径,任意一个父分区的一个子分区对应所述任意一个父分区中的一个文件,且该文 件中包含对应于该文件的子分区中的所有文件; 第二处理单元,用于根据待查询文件的路径在所述分区的索引信息表中遍历,确定所 述分区的索引信息表中一个父分区对应的一个关键路径为所述待查询文件的路径的前缀 路径时,将确定的所述关键路径作为第一目标关键路径; 确定单元,用于在所述一个父分区的各个子分区中,确定具有与确定的第一目标关键 路径相同的字典序最小的绝对路径的子分区; 运行单元,用于将确定的子分区确定为所述待查询文件所归属的分区。
8. 如权利要求7所述的装置,其特征在于,所述第一处理单元在获得本地所有文件的 目录树的分区时,具体用于: 针对本地保存的所有文件构造目录树; 将所述目录树进行分区,生成多个分区,所述多个分区包括多个父分区W及与每个父 分区对应的不同子分区。
9. 如权利要求7或8所述的装置,其特征在于,所述第二处理单元在根据待查询文件的 路径在分区的索引信息表中遍历时,具体用于: 按照每个父分区分别对应的子分区的字典序最小的绝对路径中的字典序从小到大的 顺序,对所述分区的索引信息表进行遍历。
10. 如权利要求7-9任一项所述的装置,其特征在于,所述确定单元,具体用于: 所述分区的索引信息表中每个父分区对应的任意一个关键路径对应一个分区指针,该 分区指针指示与具有与所述任意一个关键路径相同的字典序最小的绝对路径的子分区; 在所述分区的索引信息表中确定所述第一目标关键路径对应的分区指针,根据确定的 所述分区指针,在所述一个父分区的各个子分区中,确定具有与确定的第一目标关键路径 相同的字典序最小的绝对路径的子分区。
11. 如权利要求7-10任一项所述的装置,其特征在于,所述运行单元,具体用于: 将确定的子分区作为一个父分区,在所述分区的索引信息表中索引与该父分区对应的 至少一个关键路径; 若索引到的至少一个关键路径中的每个关键路径均不为所述待查询文件的路径的前 缀路径时,将确定的子分区确定为所述待查询文件所归属的分区。
12. 如权利要求11所述的装置,其特征在于,所述运行单元,还用于: 若索引到的至少一个关键路径中存在一个关键路径为所述待查询文件的路径的前缀 路径时,返回在所述一个父分区的各个子分区中,确定具有与确定的第一目标关键路径相 同的字典序最小的绝对路径的子分区的操作。
【专利摘要】本发明公开了一种确定文件所在分区的方法及装置,用以解决现有技术中的路径分区映射表规模庞大,占用的存储空间较大,文件搜索性能下降的问题。该方法为:根据本地所有文件的目录树的分区,构建保存有每个父分区以及对应的关键路径的对应关系的分区的索引信息表,根据待查询文件的路径在该分区的索引信息表中遍历,得到一个是待查询文件的路径的前缀路径的关键路径,并根据该关键路径确定待查询文件所归属的分区。这样,用于确定文件所归属的分区的索引信息表中的数据项数较少,极大的节省了存储空间,同时提高了文件检索性能,以及分区的索引信息表的查询更新效率。
【IPC分类】G06F17-30
【公开号】CN104537016
【申请号】CN201410795852
【发明人】薛贞文, 张程伟, 林春恭
【申请人】华为技术有限公司
【公开日】2015年4月22日
【申请日】2014年12月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1