当前位置:问答库>论文摘要

题目:基于Windows的文件存储系统的设计与实现

关键词:文件存储系统;分布式文件系统;分布式文件存储

  摘要


文件存储系统一直都是其它系统的基础,由于企业业务及采用平台不同,使得很多现有存储系统(GFS、HDFS及TFS等)不适宜我们,我们企业的所有系统都架设在windows平台下,我们的业务是本地化翻译,公司的ERP系统及本地化商业管理系统都需要一个文件存储系统为其提供文件存储服务,由于以上系统所处理的文件通常都在几十K字节到几十兆字节之间,因此如何在海量的小文件存储系统中有效地管理、检索元数据,如何有效地存储小文件,如何减少I/O操作次数将是提高系统效率的关键。

为了更好地支持现有业务及可扩展性,存储架构设计为元数据服务和数据服务两部分。针对以上架构需要解决以下几个关键技术。首先,如何在海量的小文件存储系统中怎样有效地管理、检索元数据将直接影响着整个系统的效率。由于业务需要支持目录树的结构显示文件结构,综合考虑目录操作及快速查找的功能,文件命名空间采用了基于全内存的分层设计及与hash相结合的方案。分层设计用来快速地形成文件的目录结构,hash用于快速地定位文件。其次,小文件的具体存储方案也将影响文件存储系统的性能。为了改善小文件存储性能,将多个小文件合并存储到一个大文件中,大文件以块的形式存储到磁盘上。最后,对重复文件的解决方案也将影响到系统的性能。采用了惰性存储设计,如果上传同一个文件多次,元数据只记录一条,并把重复的次数记录到元数据中,物理文件只保存一份。判断两个文件是否相同先对文件名及文件大小比较后,如果相同再把文件内容计算的MD5值与己上传文件的MD5值比较,如果都相等,则认为是相同的文件,这样文件就可以做到秒传,而且还节省了空间。

以上方案通过减少元数据服务器中存储元数据的数量,使得元数据服务器提供的查询和检索服务得到极大的提升,另一方面通过减少数据量降低了I/O操作的次数,节省了数据通信时间。由于此架构中元数据服务器是性能的瓶颈,因此通过提升元数据服务器的性能可以有效地提升文件系统的整体性能。最后通过自动化测试工具Iozone对大量小文件(10KB-10MB)的读写性能进行测试,其读取速度在15MB/S左右,写入速度在10MB/S左右,写速度低于读速度是由于写入数据时需要验证文件及写日志等操作造成的。就目前的运行效果此系统满足了预期的目标,但还需进一步优化来提高写数据的效率。