论文部分内容阅读
P2P(Peer-to-Peer)作为Internet的重要技术之一,受到了计算机界越来越多的关注。其核心思想是所有参与系统的节点(指互联网上的计算机)处于完全对等的地位,没有客户机和服务器之分,也可以说每个节点既是客户机,也是服务器,既向别人提供服务,也享受来自别人的服务。 资源定位是P2P网络的核心问题之一,如何快速有效地检索到目标资源,成为P2P面临的首要问题。非结构化P2P网络由于结构简单、组织方便,目前在Internet的资源共享中得到了广泛应用。然而非结构化P2P网络搜索时采用洪泛机制,会产生大量的重复消息,不能提供有效且可扩展的检索机制。于是,近年来提出了基于分布式哈希表的结构化P2P网络,结构化P2P网络路由具有资源定位准确,产生搜索包量少的优点。然而这些系统忽略了节点在地理上的邻近性,在定位目标资源时都存在寻路延时大、路由效率低等问题。另外,P2P网络具有高度的动态性,节点频繁加入和离开网络时需要进行修复操作,系统维护开销大,导致结构化P2P网络不稳定性增加。目前大部分现有的结构化P2P系统没有考虑节点间的差异性,而是将所有的节点都视为在能力上是完全相同的,实际上节点间在带宽、CPU处理能力、存储空间等存在着很大的差异。 本文首先对目前主流P2P网络模型进行了分析和总结,针对上述问题,提出下列方法: 1、提出一种基于组的非结构化P2P文件查询方案,节点根据地理邻接信息形成不同的组,超级节点被选为组长,这些组长节点相互连接形成一个骨干重叠网络。和传统的非结构化对等网络相比,该机制在两个方面有了较大的改进:第一:节点按照物理邻接信息形成不同的组,以减少P2P逻辑网络与真实物理网络拓扑结构的不匹配,减少了网络上的消息所穿越的路径,降低了查询延迟。第二:组间查询采用内容相关机制,减少了因洪泛而产生的冗余消息,并配以缓存机制来利用查询请求的局部性,且提供对远程节点的快速连接,以提高查询性能。 2、为了降低网络中因为节点频繁加入和退出而产生网络的不稳定性,对结构化网络模型Pastry做了进一步的扩展。首先,系统考虑到节点间的异构性,融入混合式模型中超级节点的概念,将网络中的节点按照其能力大小区分为超级节点和普通节点,其次,系统将超级节点组织成一个主Pastry环,普通节点根据自身的物理位置远近关系动态地加入到某个子Pastry环中,主环和子环通过超级节点相连。节点查询文件时,首先在其所在的子Pastry环进行,如果查询失败则在主Pastry环中进行。超级节点缓存查询结果,因为子环内某个节点刚获得的查询结果,很有可能是其它节点需要的,这样可以提高查询效率。 论文对改进后的方案进行了仿真,并给出了仿真结果和分析。