面向ODL网络控制器集群高性能分布式锁的研究与实现
摘要 | 第5-6页 |
Abstract | 第6页 |
缩略词表 | 第9-10页 |
第一章 绪论 | 第10-16页 |
1.1 研究背景与意义 | 第10-11页 |
1.2 国内外研究现状 | 第11-14页 |
1.2.1 分布式锁机制 | 第11-12页 |
1.2.2 分布式锁技术 | 第12-14页 |
1.3 论文研究内容 | 第14页 |
1.4 论文组织结构 | 第14-16页 |
第二章 相关概念和技术介绍 | 第16-28页 |
2.1 ODL控制器 | 第16-17页 |
2.2 ETCD存储服务 | 第17-21页 |
2.2.1 ETCD介绍 | 第17-18页 |
2.2.2 ETCD集群 | 第18-19页 |
2.2.3 ETCD存储、Watch和过期机制 | 第19-21页 |
2.3 GRPC协议 | 第21-25页 |
2.3.1 GRPC框架 | 第21-23页 |
2.3.2 GRPC生命周期 | 第23-24页 |
2.3.3 使用API接口 | 第24-25页 |
2.4 CountDownLatch | 第25-26页 |
2.4.1 CountDownLatch介绍 | 第25页 |
2.4.2 CountDownLatch工作原理 | 第25-26页 |
2.5 本章小结 | 第26-28页 |
第三章 需求分析与系统架构设计 | 第28-34页 |
3.1 需求背景概述 | 第28-29页 |
3.2 需求分析 | 第29-32页 |
3.2.1 功能性需求 | 第29页 |
3.2.2 非功能性需求 | 第29-31页 |
3.2.3 性能需求 | 第31-32页 |
3.3 系统架构 | 第32-33页 |
3.4 本章小结 | 第33-34页 |
第四章 高性能分布式锁的研究与实现 | 第34-60页 |
4.1 分布式锁总体实现 | 第34-35页 |
4.2 分布式锁操作客户端优化 | 第35-45页 |
4.2.1 分布式锁操作客户端弊端 | 第35页 |
4.2.2 优化后客户端整体框架 | 第35-36页 |
4.2.3 使用GRPC协议通信 | 第36-39页 |
4.2.4 增加会话管理模块 | 第39-40页 |
4.2.5 增加重试机制模块 | 第40-45页 |
4.3 分布式互斥锁设计 | 第45-49页 |
4.3.1 分布式互斥锁的API设计 | 第45-46页 |
4.3.2 分布式互斥锁的优化 | 第46-47页 |
4.3.3 分布式互斥锁的实现 | 第47-49页 |
4.4 分布式读写锁设计 | 第49-54页 |
4.4.1 分布式读写锁的API设计 | 第49页 |
4.4.2 分布式读写锁的优化 | 第49-50页 |
4.4.3 分布式读写锁的实现 | 第50-54页 |
4.5 分布式锁可靠性设计 | 第54-56页 |
4.5.1 集群状态监控 | 第54-55页 |
4.5.2 避免锁的重入 | 第55页 |
4.5.3 避免死锁问题 | 第55-56页 |
4.6 分布式锁可维护性设计 | 第56-58页 |
4.7 分布式锁安全性设计 | 第58页 |
4.8 本章小结 | 第58-60页 |
第五章 测试与分析 | 第60-72页 |
5.1 实验测试环境 | 第60页 |
5.2 实验环境搭建 | 第60-63页 |
5.2.1 ODL集群环境搭建 | 第60-62页 |
5.2.2 ETCD集群环境搭建 | 第62-63页 |
5.3 功能测试 | 第63-65页 |
5.3.1 分布式互斥锁加解锁功能测试 | 第64页 |
5.3.2 分布式读写锁加解锁功能测试 | 第64-65页 |
5.4 性能测试 | 第65-68页 |
5.4.1 客户端优化测试 | 第65-67页 |
5.4.2 加锁流程优化测试 | 第67页 |
5.4.3 客户端数目优化测试 | 第67-68页 |
5.5 可靠性测试 | 第68-70页 |
5.5.1 健康状态检测模块测试 | 第68-69页 |
5.5.2 死锁预防与破坏功能测试 | 第69-70页 |
5.6 本章小结 | 第70-72页 |
第六章 总结与展望 | 第72-74页 |
6.1 总结 | 第72-73页 |
6.2 展望 | 第73-74页 |
致谢 | 第74-75页 |
参考文献 | 第75-76页 |