论文部分内容阅读
资源定位是P2P网络的核心问题之一,也是P2P网络研究的热点。资源定位机制直接关系到P2P应用系统(例如P2P文件共享系统等)的性能和可扩展性。P2P的资源定位模型,按照网络拓扑结构可分为四种:中心拓扑的定位模型,分布式非结构化的定位模型,分布式结构化的定位模型和混合式定位模型。在P2P文件共享系统中,既有传统的集中式资源定位模型,如Napster;又有使用非常广泛的分布式非结构化资源定位模型,如Gnutella;还有目前最受研究者们关注的基于DHT(分布式哈希表)的分布式结构化资源定位模型。集中式资源定位模型的目录索引和定位信息维护简单,资源定位效率高,并且支持复杂关键字的查询,但存在中央服务器的单点失效问题,成本高,可扩展性差并存在版权方面的问题;分布式非结构化资源定位模型解决了单点失效的问题,整个系统的容错性好,但是资源定位机制复杂,定位延迟大并产生大量冗余信息,白白消耗大量带宽;结构化P2P资源定位模型使用DHT进行资源定位,资源定位效率高,可扩展性好,但是只支持关键字的精确查找,且没有考虑节点间的物理位置信息。本文在北京市科委“基于IPv6的下一代互联网关键技术研发及产业化推进”项目课题“IPv6流媒体分发应用系统支撑系统的开发”的带动下,综合了集中式和分布式结构化资源定位模型的优点,提出了一种混合式分层的P2P网络资源定位模型-上层采用基于Chord的DHT结构,下层是非结构化子网,并对该资源定位模型中的资源索引服务器(Index Server in Hybrid P2P Network,ISHPN)进行了设计和实现。ISHPN基于Linux平台,采用模块化的思想进行设计,系统各模块运行在一个基于异步事件驱动的程序框架之上;针对资源索引服务器高网络IO的特点,采用Linux2.6内核的epoll机制进行网络事件监测,是一个单线程非阻塞、高性能的集中式索引服务器。ISHPN是构成本文混合式P2P网络资源定位模型上层Chord型主干网络的基本元素,并为下层非结构化子网提供集中式资源发布及索引服务。子网节点按照与ISHPN的物理距离进行聚类,并可以通过ISHPN在子网内以及Chord型主干网上进行资源发布及索引,资源定位速度快,可扩展性强。经系统压力测试,该资源索引服务器能够很好的支持大量节点的并发连接,使用自定义的功能协议,能够通过添加新的模块支持更多的开放标准协议。上层由资源索引服务器构成的DHT网络也使整个资源定位模型具有优秀的可扩展性,给中小型机构提供了一种低成本、高性能的文件共享方案。