摘要 | 第3-4页 |
ABSTRACT | 第4页 |
1 绪论 | 第8-11页 |
1.1 研究背景 | 第8-9页 |
1.2 研究内容 | 第9-11页 |
2 分析 | 第11-22页 |
2.1 海量小文件存取的应用需求 | 第11-12页 |
2.2 海量小文件存储系统的性能需求 | 第12-13页 |
2.3 主流分布式文件系统 | 第13-17页 |
2.3.1 Lustre文件系统 | 第13-14页 |
2.3.2 MogileFS文件系统 | 第14页 |
2.3.3 FastDFS文件系统 | 第14-15页 |
2.3.4 TFS文件系统 | 第15-16页 |
2.3.5 HDFS文件系统 | 第16-17页 |
2.3.6 文件系统选择 | 第17页 |
2.4 基于HDFS的海量小文件优化方法 | 第17-20页 |
2.4.1 HBase | 第18-19页 |
2.4.2 基于小文件合并成大文件方法 | 第19-20页 |
2.5 多Namenode方法 | 第20-21页 |
2.6 本章小结 | 第21-22页 |
3 分层索引方法设计 | 第22-30页 |
3.1 HDFS存储小文件的问题 | 第22-23页 |
3.1.1 存储耗时过长 | 第22页 |
3.1.2 内存开销过大 | 第22-23页 |
3.2 分层索引方法的设计思路 | 第23页 |
3.3 小文件合并机制与索引文件的结构 | 第23-25页 |
3.3.1 小文件合并机制 | 第24页 |
3.3.2 索引文件的存储结构 | 第24-25页 |
3.4 数据文件内容动态增加机制 | 第25-26页 |
3.5 索引文件存储和预加载机制 | 第26-28页 |
3.5.1 索引文件存储 | 第26-27页 |
3.5.2 索引文件预加载 | 第27-28页 |
3.6 数据预取机制 | 第28页 |
3.7 分层索引方法与其他小文件合并方法的比较 | 第28页 |
3.8 本章小结 | 第28-30页 |
4 基于分层索引方法的海量小文件存储系统实现 | 第30-45页 |
4.1 系统架构 | 第30-31页 |
4.2 小文件合并和索引存储机制的实现 | 第31-36页 |
4.2.1 小文件合并机制的实现 | 第31-33页 |
4.2.2 索引文件存储机制 | 第33-36页 |
4.3 数据文件内容动态增加机制的实现 | 第36-39页 |
4.3.1 NameNode端元信息创建流程 | 第36-37页 |
4.3.2 DataNode端数据文件创建流程 | 第37-38页 |
4.3.3 NameNode与DataNode的改进 | 第38-39页 |
4.4 索引文预加载机制的实现 | 第39-41页 |
4.5 存储系统操作流程 | 第41-44页 |
4.5.1 小文件存储流程 | 第41-42页 |
4.5.2 小文件读取流程 | 第42-43页 |
4.5.3 小文件删除流程 | 第43-44页 |
4.6 本章小结 | 第44-45页 |
5 系统性能评测与分析 | 第45-52页 |
5.1 实验环境 | 第45页 |
5.2 实验数据集 | 第45-46页 |
5.3 实验设计 | 第46-47页 |
5.3.1 实验测试指标 | 第46页 |
5.3.2 实验过程 | 第46-47页 |
5.4 实验对比 | 第47-51页 |
5.4.1 NameNode和DataNode内存使用对比 | 第47-49页 |
5.4.2 小文件存储性能对比 | 第49页 |
5.4.3 小文件读取性能对比 | 第49-51页 |
5.4.4 对分层索引方法的分析 | 第51页 |
5.5 本章小结 | 第51-52页 |
6 总结与展望 | 第52-54页 |
6.1 论文工作总结 | 第52页 |
6.2 下一步工作展望 | 第52-54页 |
参考文献 | 第54-56页 |
致谢 | 第56-58页 |