基于Kademlia的游戏服务器架构的研究
| 摘要 | 第1-7页 |
| ABSTRACT | 第7-13页 |
| 1 绪论 | 第13-16页 |
| ·研究的背景及意义 | 第13-14页 |
| ·国内外研究现状 | 第14-15页 |
| ·本文研究内容 | 第15页 |
| ·本文结构 | 第15-16页 |
| 2 P2P技术介绍 | 第16-30页 |
| ·前言 | 第16页 |
| ·P2P的拓扑结构 | 第16-18页 |
| ·中心化拓扑 | 第17页 |
| ·全分布非结构化拓扑 | 第17页 |
| ·半分布式结构拓扑 | 第17页 |
| ·完全分布式结构化拓扑 | 第17-18页 |
| ·Kademlia简介 | 第18页 |
| ·拓扑结构 | 第18-20页 |
| ·距离定义 | 第20页 |
| ·k桶 | 第20-23页 |
| ·RPC操作 | 第23-24页 |
| ·节点查找机制 | 第24-26页 |
| ·数据存放 | 第26页 |
| ·节点的加入 | 第26-28页 |
| ·节点的离开 | 第28页 |
| ·k桶刷新 | 第28-30页 |
| 3 服务器架构的设计 | 第30-40页 |
| ·现有的服务器的弊端 | 第30-31页 |
| ·Kademlia的特点 | 第31-32页 |
| ·设计思想 | 第32-33页 |
| ·系统的结构模型 | 第33-34页 |
| ·服务器的流程 | 第34-35页 |
| ·客户端的流程 | 第35-36页 |
| ·服务器信息的检索 | 第36-37页 |
| ·节点之间通讯的方法 | 第37页 |
| ·节点查找机制 | 第37-38页 |
| ·数据存放机制 | 第38页 |
| ·节点的加入与离开 | 第38-39页 |
| ·路由表刷新 | 第39-40页 |
| 4 基于Kademlia的游戏服务器架构 | 第40-55页 |
| ·双层异构网络 | 第40-42页 |
| ·本地通讯协议 | 第42-44页 |
| ·服务器保存信息至Kademlia网络 | 第42-43页 |
| ·客户端从Kademlia检索服务器信息 | 第43-44页 |
| ·JSON格式说明 | 第44-46页 |
| ·服务器信息存储 | 第46-47页 |
| ·本文所使用的Kademlia协议的实现 | 第47-51页 |
| ·PING | 第48页 |
| ·STORE | 第48-49页 |
| ·FIND_NODE | 第49-50页 |
| ·FIND_VALUE | 第50-51页 |
| ·REMOVE | 第51页 |
| ·核心数据结构 | 第51-55页 |
| ·网络ID | 第51-52页 |
| ·节点设计 | 第52页 |
| ·路由表 | 第52-53页 |
| ·k桶 | 第53页 |
| ·通信包 | 第53页 |
| ·路由表的设计 | 第53-55页 |
| 5 路由算法 | 第55-61页 |
| ·路由表的构造 | 第55-57页 |
| ·在路由表中加入节点的方法 | 第57页 |
| ·在路由表中删除节点的方法 | 第57页 |
| ·在路由表中查找与指定节点最近的k个节点的算法 | 第57-58页 |
| ·在Kademlia网络中查找某个指定节点的方法 | 第58页 |
| ·防止路由表的老化 | 第58-59页 |
| ·本文网络中各节点数据的交换 | 第59页 |
| ·数据的发布与检索 | 第59页 |
| ·序列化 | 第59-61页 |
| 6 总结与展望 | 第61-63页 |
| ·总结 | 第61页 |
| ·展望 | 第61-63页 |
| 参考文献 | 第63-66页 |
| 攻读硕士学位期间发表的学术论文 | 第66-67页 |
| 致谢 | 第67页 |