[发明专利]基于SSD的文件系统目录路径解析方法有效
申请号: | 201310096933.0 | 申请日: | 2013-03-25 |
公开(公告)号: | CN103150395A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 卢宇彤;廖湘科;肖侬;周恩强;董勇;所光;张伟;陈志广 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;谭武艺 |
地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ssd 文件系统 目录 路径 解析 方法 | ||
技术领域
本发明涉及计算机操作系统领域,具体涉及一种面向包含大量文件和目录的文件系统的基于SSD的文件系统目录路径解析方法。
背景技术
文件系统是一种重要的管理存储设备和组织用户数据的方法。目前,大部分文件系统都采用树形结构管理文件。树的内部节点代表目录,叶子节点代表普通文件,从树根到每个文件都有一条唯一的路径。用户访问一个文件时,文件系统需要解析通向该文件的路径。这条路径包含多个分量,每个分量对应一个目录名称。路径解析的过程就是逐个分析这些目录,直到取得目标文件的元信息。
由于数字信息的爆炸式增长,文件系统管理的数据量不断增加,包含的目录和文件逐步增多,在这种大规模的文件系统中,目录路径解析存在两方面的问题。
首先,由于每个目录中包含大量的文件和子目录,解析一个目录需要很长的时间。在Unix类文件系统中,目录被当作一种特殊的文件,这种特殊文件的数据就是该目录下所有普通文件和子目录的元信息。所谓解析一个目录,就是在该目录下的所有文件和子目录中匹配目录路径的下一个分量。这就需要从底层存储设备读出该目录下的所有文件和子目录,然后逐个匹配。由于所包含的文件和子目录数量庞大,以上过程需要多次访问底层存储设备。而以磁盘为代表的底层存储设备是整个存储系统的瓶颈,频繁的磁盘访问使解析一个目录的时延显著延长。另外,线性地匹配一个目录中的所有文件和子目录也需要很长的时间。
其次,由于文件系统包含大量的文件和目录,在文件系统的目录树中,从根节点到叶子节点的路径很长。访问一个文件时,需要解析很长的目录路径。所以,加速文件系统目录路径的解析过程异常重要。目前采用的方法主要有以下几种:
1、Dcache(DirectoryCache,目录缓存)。根据局部性原理,近期访问过的目录还会被再次访问。Dcache将近期访问的目录信息保存在内存中。解析目录路径时,先在Dcache中查找。如果一个目录在Dcache中命中,则无需访问磁盘。Dcache对小规模的文件系统尤其有效,但针对包含大量目录的文件系统,Dcache命中率较低。
2、InodeCache(索引节点缓存)。在Unix类文件系统中,每个文件都对应一个Inode(IndexNode,索引节点),Inode中包含文件的所有描述信息,目录路径解析的最终目的就是得到待访问文件的Inode信息。InodeCache保存近期频繁访问文件的Inode信息,如果待访问文件的Inode在缓存中命中,则不用解析通向该文件的目录路径。InodeCache实现在内存中,只能缓存少量的Inode信息,在大规模文件系统中很难发挥作用。
发明内容
本发明要解决的技术问题是提供一种目录解析速度快、目录解析加速效果好、并发处理能力强、兼容性好、功耗低、时间和空间开销低的基于SSD的文件系统目录路径解析方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于SSD的文件系统目录路径解析方法,其实施步骤如下:
1)在内存中初始化计数型布隆选择器(Counting Bloom Filter)的整数数组,维护计数型布隆选择器的多个哈希函数;配置用于缓存索引节点信息的SSD,跳转执行下一步;
2)响应应用程序对文件的读写请求,获取请求文件的绝对路径,跳转执行下一步;
3)根据所述请求文件的绝对路径生成唯一且长度固定的目标索引节点标签,跳转执行下一步;
4)将所述目标索引节点标签代入计数型布隆选择器,通过计数型布隆选择器检查目标索引节点标签是否在SSD上命中,当目标索引节点标签在SSD上命中时,判断应用程序对文件的读写请求是否会修改请求文件的索引节点信息,如果不会修改请求文件的索引节点信息则跳转执行步骤5),如果会修改请求文件的索引节点信息,则从SSD中删除请求文件的索引节点信息并跳转执行步骤7);当目标索引节点标签在SSD上未命中时,跳转执行步骤7);
5)根据目标索引节点标签从SSD上读出指定页上缓存的多个索引节点信息,跳转执行下一步;
6)将目标索引节点标签与读出的多个索引节点信息进行匹配,如果找到匹配目标索引节点标签的索引节点信息,则说明请求文件在SSD上命中索引节点信息,将命中的索引节点信息返回给文件系统,本次目录解析完毕,等待在下一次应用程序对文件的读写请求时跳转执行步骤2);如果没有找到匹配目标索引节点标签的索引节点信息,则跳转执行下一步;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310096933.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:保湿花盆
- 下一篇:以米糠为原料制备葡萄糖浆的方法