论文部分内容阅读
P2P(Peer-to-Peer)网络又名对等网络,主要应用在文件共享、流媒体即时通讯和资源搜索等领域。与传统的C/S模式不同的是,P2P网络减少了对中央服务器依赖,并且具有扩展性好、负载均衡等优势。P2P网络中所有节点都是对等体,网络中所有节点既能向其他节点进行资源或者服务的请求,又可以享受其他节点所提供的服务。非结构化P2P网络由于拓扑简单、资源搜索容易实现、网络限制少等特点,获得了越来越多的关注。现今对于非结构化P2P网络资源搜索算法的研究主要是在洪泛算法的基础上进行一定的改进,但这些算法存在明显的问题:一是算法在搜索过程中有一定的盲目性,是一种随机搜索,搜索效率不高;二是搜索过程中会向所有邻居节点发送消息从而产生大量的冗余消息,这容易造成网络阻塞。本论文针对非结构化P2P网络中资源搜索算法的缺点,提出了下面三个方面的改进:1.针对非结构化P2P网络自适应和松散特性,提出了一种基于兴趣相似度的非结构化P2P覆盖网络拓扑结构,将兴趣相似度值较高的节点之间通过构建二叉搜索树建立逻辑连接。在二叉搜索树中根节点左边的节点与根节点之间兴趣相似度小于根节点本身阈值,而右边节点与根节点之间兴趣相似度则大于等于根节点本身的阈值。由于二叉搜索树本身的特性,在资源搜索的过程中该算法可以获得更高的搜索成功率,并且会极大减少搜索过程中的冗余消息。2.针对传统蚁群算法搜索效率较低和过多的依赖于路径信息浓度导致容易陷入局部最优解的问题,本文在搜索过程通过对节点信誉评价从而优化查询请求的传递,同时引入了伪随机比例的规则,使在资源搜索过程中可以访问到更多的节点,从而有效的避免了蚁群算法过早陷入局部最优解的问题。3.在基于改进蚁群算法的非结构化P2P网络搜索算法的基础上,针对蚁群算法中常见的计算量过大的问题,提出了一种新蚁群算法的非结构化P2P网络搜索算法。本文将构建二叉树拓扑结构,在二叉树中子节点将自己的资源存储在父节点中。在利用蚁群算法进行资源搜索过程中只有部分节点会参与资源搜索和查询请求的转发,这在一定程度上减少了节点的转发,降低了蚁群算法的计算量。