论文摘要
随着近年来社会进入了信息时代,企事业单位、政府机构对文件服务系统的要求越来越高,文件服务系统越来越向着专业化的方向发展,体现为网络存储、集群技术、企业文件系统以及网格技术的发展。提高高性能文件服务是文件服务系统发展的必然趋势,未来的文件服务系统必将可以提供面向通用文件以及不同特征文件的文件服务,这就要求文件服务系统必须在优化通用文件存储的同时优化不同特征文件的存储。目前文件服务系统无处不在,但几乎所有的文件服务系统均面向通用文件存储服务,并不考虑系统存储文件的类型、大小、安全级别等需求,因此服务也不能提供不同内容的优化机制。文件服务系统保证对所有类型文件的存储,但无法保证对所有类型的文件的服务效率相同。文件服务系统对于某些特征的文件的存储,其性能可能非常低下。以小文件存储为例,当文件服务系统中存放的文件都是小文件(一般为几k到几十k大小),而且数量众多时,文件服务系统的性能以及文件服务的效率会急剧下降,这是由于文件列表过于庞大,传统的文件系统在检索文件时采用的线性搜索方式带来的检索效率低下导致。可能采用文件服务系统来存储小文件的应用有文件缓存服务器、网络监视服务器、代理服务器等等。本文针对文件服务系统的文件服务机制,通过多层可堆叠文件系统/文件驱动机制,研究探索文件服务系统如何保证文件服务的通用性的同时提供更高的适用性,以及通过分析不同特征文件的特性,研究不同特征文件存取的特性以及相应的优化机制。在原来的文件系统算法中,例如cookies这样大量的小文件是存放在同一个目录下的,这样造成的问题是线性搜索的效率低下,作者设想通过在VFS和实际的FS之间插入一层,即本项目的小文件文件系统SFS,起到路径转换的作用。把原来在一个目录下的大量小文件按照一定的规则分别存储与不同的目录中,路径变换时,先搜寻得到目录,然后在此目录下再搜索所需要查找的文件,这样,由于分散在不同的目录中,同一目录下的小文件数目就大大减少了,搜索效率必定会有明显的提高。在实现上,采用可堆叠文件系统技术,利用了开发可堆叠文件系统的高级语言系统FiST。即用FIST得到一个可堆叠文件系统的模型,在这个基础上做了一些与文件操作相关的修改,是基于Linux下完成的。在设计完成之后,对SFS进行了测试,测试结果表明,SFS基本达到预期的小文件存储与检索优化的目的。文中的实现成果大致与设计的过程相符,但在与预期目标相比较还存在不足,对于一些偏向极端的情况会产生不理想的结果,此项研究仍有待改进。