分布式键值对存储系统的设计与实现
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-16页 |
1.1 研究背景及意义 | 第11-12页 |
1.2 国内外研究现状 | 第12-14页 |
1.2.1 键值对存储模型的研究现状 | 第12-13页 |
1.2.2 副本一致性的研究现状 | 第13-14页 |
1.3 主要工作 | 第14-15页 |
1.4 论文结构 | 第15-16页 |
第二章 相关技术介绍 | 第16-29页 |
2.1 键值对存储模型 | 第16-22页 |
2.1.1 存储模型的评价方法 | 第16页 |
2.1.2 Bitcask模型 | 第16-18页 |
2.1.3 LSM-Tree模型 | 第18-22页 |
2.2 分布式系统 | 第22-25页 |
2.2.1 基本概念 | 第22页 |
2.2.2 系统异常 | 第22-23页 |
2.2.3 可靠数据传输 | 第23-24页 |
2.2.4 副本与一致性 | 第24-25页 |
2.3 Paxos算法 | 第25-27页 |
2.3.1 基本概念 | 第25页 |
2.3.2 算法流程 | 第25-27页 |
2.3.3 算法证明 | 第27页 |
2.4 本章小结 | 第27-29页 |
第三章 系统总体设计 | 第29-34页 |
3.1 设计目标 | 第29页 |
3.2 网络结构 | 第29-30页 |
3.3 层次设计 | 第30-31页 |
3.4 总体结构 | 第31-32页 |
3.5 接口设计 | 第32-33页 |
3.6 本章小结 | 第33-34页 |
第四章 系统详细设计 | 第34-50页 |
4.1 接入层的设计 | 第34-35页 |
4.1.1 数据路由模块的设计 | 第34页 |
4.1.2 客户端调用流程 | 第34-35页 |
4.2 数据同步层的设计 | 第35-43页 |
4.2.1 设计思路 | 第35-38页 |
4.2.2 IO多路复用模块的设计 | 第38页 |
4.2.3 强一致性读写操作时序图 | 第38-40页 |
4.2.4 Paxos算法优化 | 第40-41页 |
4.2.5 Paxos状态机模块的设计 | 第41-43页 |
4.3 数据存储层的设计 | 第43-49页 |
4.3.1 设计思路 | 第43-44页 |
4.3.2 精简索引的设计 | 第44-46页 |
4.3.3 关键数据结构 | 第46页 |
4.3.4 操作流程 | 第46-48页 |
4.3.5 性能分析 | 第48页 |
4.3.6 并发访问控制 | 第48-49页 |
4.4 本章小结 | 第49-50页 |
第五章 系统实现 | 第50-61页 |
5.1 数据路由模块的实现 | 第50-51页 |
5.2 RPC模块的实现 | 第51-52页 |
5.3 IO多路复用模块的实现 | 第52-54页 |
5.3.1 实现类图 | 第52-53页 |
5.3.2 IO多路复用器的实现 | 第53页 |
5.3.3 多线程安全队列的实现 | 第53-54页 |
5.4 Paxos状态机模块的实现 | 第54-57页 |
5.4.1 实现类图 | 第54-55页 |
5.4.2 状态缓存的实现 | 第55-56页 |
5.4.3 超时队列的实现 | 第56-57页 |
5.5 存储引擎模块的实现 | 第57-60页 |
5.5.1 实现类图 | 第57-58页 |
5.5.2 索引日志文件的布局 | 第58-59页 |
5.5.3 文件读写操作的实现 | 第59-60页 |
5.6 本章小结 | 第60-61页 |
第六章 系统测试 | 第61-67页 |
6.1 测试环境 | 第61页 |
6.2 功能测试 | 第61-63页 |
6.2.1 基本功能测试 | 第61-62页 |
6.2.2 数据强一致性测试 | 第62-63页 |
6.3 性能测试 | 第63-66页 |
6.3.1 BoB存储模型的性能测试 | 第63-65页 |
6.3.2 分布式键值对存储系统的性能测试 | 第65-66页 |
6.4 本章小结 | 第66-67页 |
总结与展望 | 第67-69页 |
参考文献 | 第69-71页 |
攻读硕士学位期间取得的研究成果 | 第71-72页 |
致谢 | 第72-73页 |
附件 | 第73页 |