摘要
基于Hadoop分布式文件系统(HDFS)研发的海量小文件系统(SMDFS)遗留了HDFS不兼容可移植操作系统接口(POSIX)约束的问题,为解决SMDFS的这一问题,提出基于本地缓存的POSIX兼容技术和基于数据暂存区的元数据高效管理技术。首先,通过设置数据暂存区来实现读写模式文件流的重定向,然后建立异步线程池模型,实现数据暂存区镜像文件的同步,从而完成用户层到存储层的所有POSIX相关的文件操作。此外,借助跳表结构的元数据缓存实现List目录等元数据操作效率优化。测试表明,相较于HDFS的Linux客户端,基于技术成果实现的SMDFS3. 0的随机读性能有10倍以上的性能提升,顺序读和顺序写性能有约3~4倍的提升,随机写性能可以达到本地文件系统的20%,基于目录的元数据缓存的设计使目录的List操作效率提升近10倍。但是,由于用户空间文件系统(FUSE)挂载的客户端会引入额外的内核态和用户态切换等带来的开销,因此SMDFS3. 0的Linux客户端相对于系统的Java接口会有大约50%的性能损耗。
- 单位