论文部分内容阅读
P2P系统是一种应用层网络,它能够使联网的计算机以一种分布式形式共享资源。P2P系统的一个重要问题是如何有效地搜索到其他节点的资源。现有的P2P搜索技术大多基于洪泛查询思想/关键字检索方法,因此它们通常不是很有效的。前者限制了P2P系统的可扩展性,这是因为查询消息在一个指定的跳数范围内被传播给所有可达的节点,导致产生大量的消息。后者不支持复杂查询或语义查询,从而限制了检索结果的质量。本文借助本体论和聚类方法开展P2P网络搜索方法研究。根据P2P网络拓扑呈现的Power Law特性,结合现有P2P搜索算法的优点,提出一种混合使用BFS和DFS的混合搜索算法。该算法将查询消息在某些高度数节点处转发给多个邻居节点而在其他节点处只转发给一个邻居节点,并且在搜索过程中利用先前的搜索反馈来指导本次搜索,以便将消息转发给正确的节点,减少不必要的冗余消息和节点开销。实验结果表明,该算法实现了高成功率和高响应率,能够有效地减少冗余消息,具有较高的搜索效率,同时还具有良好的自适应能力,能快速适应不断变化的网络行为。设计一个共享的节点本体来帮助节点对其自身资源进行语义抽取和知识表示,以便于其他节点理解和处理,同时还给出了相应的查询表示及处理方法。在搜索过程中,每个节点记录它收到的所有相关的响应结果,周期性地计算每个邻居节点的等级,通过重新连接一个响应率较高的非邻居节点,同时放弃一个等级最低的邻居节点的连接来动态地将兴趣最相似的节点聚类在一起,进而提出一个基于本体和聚类的P2P网络搜索算法。实验结果表明,该算法实现了高查准率和查全率,且比Gnutella算法降低了约2跳的因发现正确结果而必需的搜索深度,能够快速准确地返回相关的响应结果。