论文部分内容阅读
Peer-to-Peer:简称P2P)技术的核心思想是所有参与的节点在地位上是平等的,各节点在享受来自其它节点服务的同时也向其它节点提供服务。换而言之该技术并不区分客户机和服务器,各个节点不只是客户机还是服务器,这种模式使互联网中的资源被广泛发掘和利用,已经在各个领域得到了广泛应用。P2P系统的最大挑战是在没有中心服务器的情况下,高效的查询和资源定位。目前这方面的研究都集中在结构化的路由算法上,其中Chord算法因简单易实施,良好的鲁棒性和扩展性等优点成为国内外研究的热点。本文首先对P2P网络的理论基础进行简要概述,简单分析P2P网络的四种拓扑结构,并介绍了它们的经典模型Napster、Gnutella和KaZaa,然后介绍全分布式结构化拓扑下基于分布式哈希(DHT)技术的四种经典资源查找算法,并着重描述了Chord查找算法。传统Chord查找算法的一个明显的缺点,是没有考虑P2P网络的物理拓扑结构,以致其查找过程的网络延迟较大。除此之外,存储空间的问题也很少被考虑。为弥补这些缺陷,本文的研究工作如下:1.针对传统Chord物理拓扑和逻辑拓扑不匹配的问题,结合蚂蚁优化算法和双向查找技术的优点,我们提出了一种基于蚂蚁优化算法的双向查找Chord算法。首先,利用蚂蚁优化算法建立Chord环,解决物理拓扑和逻辑拓扑不匹配的问题,在此基础上,使用双向查找方法,进一步加快查找速度。实验结果表明,该算法比传统的Chord算法有更高的查找效率。2.针对物理拓扑和逻辑拓扑不匹配以及空间复杂度的问题,结合Counting Bloom Filter技术和基于位置查找算法的优点,我们提出一种基于Counting Bloom Filter和物理拓扑的Chord查找算法。首先,Counting Bloom Filter用于数据存储,以减少空间复杂度,然后,用基于物理拓扑的方法,解决物理拓扑和逻辑拓扑不匹配的问题,进一步加快资源定位的速度。实验结果表明,该算法能够进一步节省存储空间并提高查找效率。3.在路径长度、存储空间、查找跳数方面,将三种方法进行对比,验证两种改进方法各自的优缺点。