论文部分内容阅读
P2P网络(Peer-to-Peer network,对等网络)技术是Internet上实施分布式计算的新模式,其致力于合理、高效地组织和利用Internet上大量分布的计算、存储以及信息等资源,充分释放互联网蕴含的巨大的边缘资源,以实现信息共享、即时通信、超级计算等目标。P2P技术在当今互联网中有着广泛的应用,美国财富杂志更是将P2P技术列为未来影响IT技术的四大关键技术之一[31]。然而,计算机网络是一个用户广泛分布,数量巨大,节点行为不可控,计算能力和网络连接不均匀的复杂网络,如何实现资源高效地搜索服务是P2P技术面临的一个难题。本文针对现有非结构化P2P网络资源搜索效率不高,容易产生冗余信息等问题,提出了一种改进策略,在一定程度上提高P2P网络资源搜索效率。本文将那些资源搜索成功的搜索结果以历史记录的形式保存起来,用以对后来的资源搜索产生借鉴意义,同时利用历史记录为网络中的节点建立朋友节点列表。与其他节点相比,朋友节点中共享资源丰富,资源搜索的成功率较高;资源搜索时利用两级搜索,使得资源搜索信息能够覆盖网络中的大部分节点。本文以非结构化P2P网络为研究对象,主要包括以下四个方面:1.分析了P2P网络资源搜索的研究背景及意义,介绍了国外的P2P文件共享系统的发展历史以及国内各大学开发的P2P文件系统,分析了P2P网络的几种拓扑结构以及现有的P2P网络的资源搜索算法,并总结它们的优点和缺点。2.提出了历史记录的概念,并且利用广播算法广播历史记录。历史记录(HistoryRecord)是在P2P网络资源搜索过程中产生的,可以对后来的资源搜索产生借鉴意义的,以一定数据结构组织的信息集合。当网络中的某一节点资源搜索成功时,就会得到一条历史记录,然后利用广播算法将该条历史记录广播到网络中其他节点上。资源搜索时先匹配历史记录中保存的信息。3.利用历史记录为P2P网络中的节点建立朋友节点列表,与其它节点相比,朋友节点具有丰富的资源,和搜索节点具有相同的兴趣[26],能在很大程度上使得资源搜索成功。并且重新设计了资源搜索算法,即用两级资源搜索的泛洪(Flooding)搜索算法,使得资源搜索信息能够尽量转发到那些资源搜索成功率比较高的节点上,即朋友节点上,这样在一定程度上就提高了P2P网络的资源搜索效率。4.对本文所做工作进行验证与实验仿真。本文选择的模拟实验工具是PeerSim,PeerSim是由Java语言编写的,支持平台的移植性。实验在一台PC上完成,在实验前对各文件进行了配置以及设置了仿真实验参数。实验的衡量标准有资源搜索成功时的查找路径长度以及产生的网络通信开销,参照的算法是泛洪(Flooding)搜索算法,模拟实验表明本文的资源搜索算法是有效的,能够提高非结构化P2P网络的资源搜索效率。