摘要 | 第5-6页 |
Abstract | 第6页 |
第一章 绪论 | 第9-14页 |
1.1 研究背景与意义 | 第9-10页 |
1.2 国内外研究现状 | 第10-12页 |
1.3 研究内容 | 第12页 |
1.4 论文结构 | 第12-13页 |
1.5 本章小结 | 第13-14页 |
第二章 相关技术研究 | 第14-23页 |
2.1 分布式锁机制 | 第14-15页 |
2.2 一致性 Hash 负载均衡算法 | 第15-17页 |
2.3 网络通讯相关技术 | 第17-22页 |
2.3.1 I/O 多路复用 | 第17-21页 |
2.3.2 ProtoBufffer | 第21-22页 |
2.4 本章小结 | 第22-23页 |
第三章 系统设计 | 第23-59页 |
3.1 系统功能设计 | 第23页 |
3.2 系统架构设计原则 | 第23-24页 |
3.3 总体架构 | 第24-32页 |
3.3.1 逻辑与数据分离 | 第25-27页 |
3.3.2 客户端实现一致性 Hash | 第27-30页 |
3.3.3 主从锁数据存储管理 | 第30-32页 |
3.4 通讯协议设计 | 第32-36页 |
3.4.1 加锁协议 | 第33-34页 |
3.4.2 解锁协议 | 第34页 |
3.4.3 锁申请客户端获取锁分配服务器列表协议 | 第34-35页 |
3.4.4 锁申请客户端与锁分配服务器的心跳通讯协议 | 第35页 |
3.4.5 推送服务器信息协议 | 第35-36页 |
3.4.6 锁分配服务器之间的心跳通讯协议 | 第36页 |
3.5 锁申请客户端详细设计 | 第36-42页 |
3.5.1 主要模块 | 第36-38页 |
3.5.2 锁申请客户端实例 | 第38-39页 |
3.5.3 主要线程 | 第39-42页 |
3.5.4 锁申请客户端 API | 第42页 |
3.6 锁的存储结构 | 第42-43页 |
3.7 锁分配服务器详细设计 | 第43-52页 |
3.7.1 锁逻辑处理模块 | 第43-48页 |
3.7.2 维护集群状态模块 | 第48-52页 |
3.8 调度策略设计 | 第52页 |
3.9 死锁预防 | 第52-53页 |
3.10 加锁/解锁功能详细设计 | 第53-57页 |
3.10.1 锁申请客户端加锁/解锁代码框架 | 第53-55页 |
3.10.2 锁分配服务器加锁/解锁的工作原理 | 第55-57页 |
3.11 故障检测设计 | 第57-58页 |
3.12 本章小结 | 第58-59页 |
第四章 算法研究 | 第59-63页 |
4.1 一致性 Hash 算法 | 第59-62页 |
4.2 本章小结 | 第62-63页 |
第五章 系统分析与测试 | 第63-66页 |
5.1 测试环境 | 第63页 |
5.2 故障恢复时间测试 | 第63-64页 |
5.3 吞吐量测试 | 第64-65页 |
5.4 本章小结 | 第65-66页 |
第六章 总结与展望 | 第66-67页 |
参考文献 | 第67-69页 |
致谢 | 第69-70页 |
附件 | 第70页 |