声明
1绪论
1.1研究背景与意义
1.2国内外研究现状
1.2.1 NVM研究现状
1.2.2键值存储系统研究现状
1.2.3针对小文件的本地文件系统研究现状
1.3研究内容与论文结构组织
2相关技术分析
2.1 NVM存储器技术分析
2.2键值存储技术分析
2.3文件系统技术分析
2.3.1文件实现
2.3.2目录实现
2.3.3虚拟文件系统
2.3.4用户空间文件系统
2.4本章小结
3 KVFS 系统设计
3.1问题分析
3.2整体架构
3.2.1文件系统架构
3.2.2 FlatDB存储架构
3.3性能分析
3.3.1范围读操作分析
3.3.2单点读操作分析
3.3.3写操作分析
3.4文件系统元数据设计
3.4.1元数据格式
3.4.2目录的数据
3.5 FlatDB的DTable的设计
3.5.1 DTable的结构
3.5.2 DTable的更新
3.6 FlatDB的SSTable 的设计
3.6.1 SSTable的组织
3.6.2 SSTable合并算法
3.7本章小结
4 KVFS文件系统实现
4.1 KVFS整体模块结构
4.2元数据存储模块的实现
4.2.1元数据实现
4.2.2系统初始化
4.2.3 FUSE 接口实现
4.3 FlatDB模块的实现
4.3.1存储系统的模块
4.3.2 DTable 的成员
4.3.3写入和读取的线程同步
4.4主要流程的实现
4.4.1 RocksDB的Flush流程
4.4.2 RocksDB的Get流程
4.4.3 FlatDB单点查询流程
4.4.4 FlatDB范围查询流程
4.4.5 DTable写入算法
4.4.6 DTable 更新算法
4.5本章小结
5测试与结果分析
5.1测试环境
5.2测试结果与分析
5.2.1文件系统读写测试
5.2.2范围读测试
5.2.3读放大测试
5.2.4空间利用率测试
5.3本章小结
6总结与展望
6.1全文总结
6.2研究展望
致谢
参考文献