声明
摘要
第1章 绪论
1.1 研究背景和意义
1.1.1 云存储的概念
1.1.2 云存储的背景和意义
1.1.3 小文件研究的意义
1.2 本文主要研究问题
1.2.1 基于P2P架构的云存储模型
1.2.2 系统的可用性优化问题
1.2.3 主从架构中心服务器扩展性问题
1.3 本文主要贡献
1.4 本文组织结构
1.5 本章小结
第2章 存储相关技术研究进展
2.1 单机文件系统
2.1.1 目录索引机制的改进
2.1.2 提高磁盘的单次访问效率
2.2 分布式文件系统
2.2.1 Lustre文件系统
2.2.2 PVFS文件系统
2.2.3 MogileFS文件系统
2.2.4 MooseFS文件系统
2.2.5 GlusterFS文件系统
2.2.6 用户空间文件系统FUSE
2.3 云存储系统
2.3.1 云存储系统的分类
2.3.2 Google的GFS分布式文件系统
2.3.3 Facebook的Haystack Blob存储系统
2.4 CDN网络
2.4.1 CDN网络介绍
2.4.2 CDN网络的发展
2.5 P2P相关技术
2.5.1 P2P的概念
2.5.2 P2P的架构
2.6 本章小结
第3章 基于P2P的云存储模型
3.1 相关研究
3.1.1 主从架构系统缺点
3.1.2 主从架构中小文件的研究进展
3.2 基于P2P的小文件云存储模型
3.2.1 基于P2P的系统架构图
3.2.2 虚拟节点技术
3.2.3 路由信息预取算法
3.2.4 文件一致性维护
3.2.5 解决单点故障问题
3.2.6 解决系统性能瓶颈
3.2.7 节点平均故障率与系统可用性的关系
3.3 文件分布和IO操作
3.3.1 文件组织
3.3.2 基于分布式哈希表协议(DHT)的文件分布
3.3.3 节点加入退出对备份影响
3.3.4 基于有限状态机的迁移策略
3.3.5 基本操作
3.4 小文件的优化策略
3.4.1 虚拟节点小文件合并
3.4.2 小文件合并数量对系统读写的影响
3.5 实验及分析
3.5.1 测试基准Benchmark及性能指标
3.5.2 Microbenchmark测试
3.5.3 Hadoop HDFS系统时间对比
3.5.4 文件大小对系统性能影响
3.5.5 存储节点数量对系统可用性影响
3.5.6 副本数对系统可用性的影响
3.5.7 与Taobao FS的比较
3.5.8 虚拟节点迁移时间
3.5 本章小结
第4章 云存储模型中的索引构造算法研究
4.1 相关研究
4.1.1 索引构造的相关研究
4.1.2 Trie介绍
4.1.3 DAT介绍
4.1.4 串行Trie树构造算法
4.2 索引字符频率及预处理
4.2.1 索引字符频率
4.2.2 磁盘排序文件的预处理算法
4.3 索引快速构造算法
4.3.1 快速构造算法
4.3.2 磁盘存放表的插入
4.3.3 磁盘存放表的删除
4.3.4 磁盘存放表的更新
4.3.5 快速算法评估
4.4 实验与分析
4.4.1 等长串磁盘空间压缩对比
4.4.2 等长串建立索引时间对比
4.4.3 非等长串磁盘空间对比
4.4.4 非等长串建立索引时间对比
4.5 本章小结
第5章 云存储模型中心服务器扩展性研究
5.1 引言
5.2 去中心化架构设计
5.2.1 架构设计
5.2.2 文件描述符
5.2.3 备份及分块大小
5.3 Master节点设计
5.3.1 Master节点功能
5.3.2 Master节点内存数据结构
5.4 数据节点设计
5.4.1 磁盘存储优化
5.4.2 内存索引结构
5.4.3 主节点选择协议
5.5 数据操作
5.5.1 读文件
5.5.2 写文件
5.5.3 删除文件和修改文件
5.5.4 元数据操作
5.6 实验分析
5.6.1 Master节点比较
5.6.2 数据节点的存储比较
5.6.3 文件操作时间比较
5.6.4 Master节点扩展性比较
5.7 本章小结
第6章 总结与展望
6.1 研究总结
6.2 研究展望
参考文献
作者简历及博士期间成果
致谢