论文部分内容阅读
对等网络(P2P)技术有效整合互联网的资源,为人们在大规模信息中获取目标资源提供了更有效的途径。其中非结构化P2P网络具有网络拓扑简单,容易维护,支持模糊查询等优点,但由于其拓扑结构简单、松散,其资源搜索与定位效率一直是研究和关注的问题。传统的非结构化P2P网络资源搜索算法使用泛洪算法(Flooding)来定位资源,但随着网络规模的扩大,这种通过Flooding来定位资源的方法会产生大量的冗余信息,使得网络负载加大,导致搜索效率较低。为了解决非结构化P2P网络资源搜索的效率问题,一种可行的方法是精确的选择邻居节点进行查询转发,从而减少冗余信息的产生,降低搜索时间,最终提高搜索算法效率。蚁群算法起源于对蚂蚁觅食行为的观察,是一种模拟进化算法,它具有正反馈机制,这种机制可以使算法精确的选择邻居节点进行查询转发,提高搜索效率。论文在对传统蚁群算法解决非结构化P2P网络资源搜索问题研究的基础上,给出了一种基于改进蚁群算法的非结构化P2P网络资源搜索算法。传统的蚁群算法只有一种信息素指导查询转发,没有考虑节点之间的联系,并且在搜索后期,由于信息素的累积,算法只会对局部网络资源进行搜索,使搜索过早陷入停滞状态。针对以上问题,论文对传统的蚁群算法进行了以下两点改进:(1)设置了节点兴趣信息素。在传统蚁群算法的关键字信息素的基础上,引入了节点兴趣信息素。关键字信息素反映了节点对于某一关键字的历史搜索行为;节点兴趣信息素反映了节点之间的通信频率和节点拥有资源的相似性。用这两种信息素指导查询转发,考虑了节点之间的联系,同时通过这种正反馈机制,能够精确的选择邻居节点进行查询转发,减少冗余信息的产生。(2)加入了伪随机比例规则,平衡了蚂蚁在利用已有历史信息和探索新的网络资源之间的关系,从而避免了算法陷入只对局部进行搜索,过早陷入停滞状态的困境。论文利用PeerSim网络仿真模拟器对该算法进行仿真实验,并且把该算法与传统的非结构化P2P资源搜索算法——泛洪算法和随机漫步算法进行对比,实验结果表明该算法提高了搜索成功率,并且在搜索效果相同的情况下,减少了冗余信息包在网络中的传播。