论文部分内容阅读
近年来,随着中国宽带互联网络发展迅速,各种互联网服务层出不穷,为人们的生活带来了极大的便利,但是传统的网络服务主要是采用C/S(客户端/服务器)模式,服务器以单播的方式和每个客户建立连接。随着客户数目的快速增加,服务器的带宽等资源很快被消耗完,成为系统瓶颈所在,P2P技术作为解决集中式服务方式的诸多技术弊端,充分利用网络资源的一种解决方案,应用日益广泛。本文主要研究了P2P关键技术中的网络拓扑结构和资源搜索算法。首先分析了P2P网络四种拓扑结构(中心化拓扑,全分布式结构化拓扑,全分布式非结构化拓扑和半分布式拓扑)的模型及各自优缺点,提出了一种基于Kademlia去中心化网络的双层异构网络模型,对该模型提出了设计方案并实现。本文的主要研究工作有:1.本文针对传统的C/S游戏服务器架构中,服务器资源占用过大,安全性低、带宽受限等缺点,提出了一个基于双层异构服务器架构的思想,并基于Java Plan-X开源软件设计并实现了一个游戏网络系统,验证了该思想的正确性和可行性。2.本文针对传统Kademlia网络中,k桶查找效率过低的问题,本文使用了HashMap代替了传统的k桶所使用的双端队列,大大提高了查找的效率。3.针对服务器信息的时效性很强的特点,本文扩展了Kademlia RPC旨令,使之能更及时地更新服务器信息到去中心化网络中。4.为了保证数据负载的均衡性,本文使用了SHA1哈希算法对数据进行散列。5.此外,为了提高服务器提供服务的稳定性,本文还设计了一套序列化的机制来保证数据的完整性。本文共分为五章,各章内容介绍如下:第一章是绪论,概述了P2P的定义、分类和应用领域,分析了论文的研究背景和意义,并简要的介绍了本文的主要工作和章节安排。第二章是背景介绍,详细介绍了P2P的多种拓扑架构,以及第三代P2P技术的核心协议Kademlia的关键技术的研究与设计。第三章是本文的设计思路,包括双层异构网络、各个组件的通讯流程、服务器信息检索、节点通讯等。第四章是本文的具体实现,详细说明了本文网络的各个组件的设计、它们之间通讯的方法和路由表的结构设计及其更新算法。最后是对本文工作的总结和对未来工作的展望。