论文部分内容阅读
近年来,P2P网络成为计算机网络技术研究中的一个热点,其是建立在网络应用层上的逻辑覆盖网。与传统的客户机/服务器(C/S)模式相比,P2P网络的容错性强、成本低、可扩展性好、资源来源更广。P2P网络中的重要问题之一就是如何快速、高效的查找和定位所需要的信息资源,即网络资源搜索问题。相对于结构化P2P网络,非结构化P2P网络没有严格定义的拓扑结构,网络节点随机连接,组织松散。由于非结构化P2P网络更能适应P2P网络的特点,所以当前大部分的P2P网络应用都是基于非结构化模式的。本文重点研究了非结构化P2P网络中的资源搜索算法,提出了一种基于索引表的改进算法(MABIT)。在MABIT算法中,网络节点需要维护两个资源索引表,即本节点索引表和邻居节点索引表。节点在选择自己的邻居节点时会优先考虑实际网络距离较近的节点,随着网络通信的进行,当节点发现有离自己网络距离更近的节点或者参考节点更新时,节点会更新自己的邻居节点,并更新邻居节点资源索引信息。在MABIT算法中,主要由在索引半径上的节点负责查询资源索引表,而不在索引半径上的节点只需转发查询消息即可。为了提高提高资源搜索成功率,本文在MABIT算法中引入了一种基于节点资源相关度的消息转发策略,首先将节点文档资源表示成后缀树数据结构,然后利用空间向量模型计算节点之间的相似度。节点通过比较自身和其邻居节点之间的资源相关度,在邻居节点资源索引表中,将资源相关度较大的邻居节点排在前面,相关度较小的邻居节点排在后面。因此,当节点收到资源查询请求时,如果需要将查询请求转发给邻居节点,就直接从邻居节点资源索引表中选择排名较靠前的k个邻居节点转发查询请求消息。本文利用OPNET网络仿真软件,对MABIT算法进行性能仿真,并对比现有的四种用于非结构化P2P网络的资源搜索算法,实验结果表明MABIT算法可以有效降低系统中的网络负载和搜索延时,并提高资源搜索成功率