对等网络中资源搜索算法的研究是近十几年的一个研究热点。当前无结构对等网中的搜索算法很多是基于泛洪算法的改进,这些算法在网络中查全率和查准率都比较高,但由于在搜索过程中产生大量的冗余信息导致对等网的扩展性很差,不能满足大范围组网的要求。本文提出一种对等网中基于稳定性和相似性的改进破圈路由搜索算法,在此算法中,如果节点在路由中发现与另外几个节点形成一个圈,则节点根据与圈中邻居节点之间的稳定性和内容相似性等因素选择其中的一个邻居节点转发信息。在这种破圈法构造的拓扑结构中采用泛洪协议去搜索资源,转发信息数将从指数级增长有效地减少到常数值,并且资源搜索成功率始终在一个稳定的范围。仿真实验表明所提算法在保证一定搜索成功率的前提下大大减少了搜索中产生的冗余信息。
The resource location on the P2P network is a basic issue of its realization. Many algorithms have pay attention on the P2P re- trieval and some of them have made contributions on the reduction of redundant transmitting messages. In our paper, we give a retrieval algorithm based on breaking loop in the routing. In this algorithm, if a node finds a loop of route on the overlay, it should only choose one of the neighbors in this loop to transmit the query by calculating the similarity between it and neighbors. We construct the topology by this algorithm and then apply the flooding to retrieve the resource. Intuitively, the increment of transmitting query numbers will decrease greatly. The results of simulations show that our algorithm indeed can significantly reduce the redundant retrieval messages. The number of transmitting messages is constant in contrast to others that the increment is exponential. Meanwhile, we get an acceptable retrieval per- formance.