论文部分内容阅读
随着互联网的飞速发展,各种信息资源急剧膨胀。如何在大规模网络环境下快速高效的检索到用户感兴趣的资源,成为目前互联网面临的严峻挑战。对等网络(Peer-to-Peer, P2P)技术能够提供快速、准确的查询服务,能够很好的解决计算机网络中大规模信息资源共享的问题。非结构化P2P网络由于查询的灵活性和对动态环境的适应性,在互联网环境中得到了广泛的应用,但是由于非结构化P2P网络主要采用泛洪的搜索方法,查询消息在节点之间的转发带有一定的盲目性,使得网络中冗余消息比较多,搜索的效率比较低,所以非结构化P2P网络资源搜索算法还有待更进一步地研究。蚁群算法是一种基于群智能的新型优化方法,它已经成功解决了一系列组合优化的问题。本文在对现有的非结构化P2P网络资源搜索算法深入研究的基础上,针对目前非结构化P2P网络资源搜索存在冗余消息多,搜索效率低,对网络中恶意节点行为考虑不足等缺点的情况,引入蚁群优化算法的思想,提出了一种基于蚁群优化算法的非结构化P2P网络资源搜索算法。该算法通过模拟蚂蚁的觅食行为来查找用户所需要的文件,在设置信息素时加入节点的信誉度,这样节点的信息素浓度也能够反映出该节点的可信程度。利用蚂蚁留下的信息素来指导查询消息的转发方向,可以将用户提出的查询请求转发到最有可能响应的节点。通过修改信息素浓度又可以有效的指导后面的蚂蚁选择转发节点,正反馈的机制加快了算法收敛的时间。本文利用OPNET网络仿真工具对算法进行了建模仿真,从网络域、节点域及进程域三个方面对建模过程进行了详细的介绍。通过将仿真结果与经典的非结构化P2P资源搜索算法泛洪搜索(Fooding)和K-随机漫步(K-Random Walker)相比较,笔者从平均搜索命中率、平均响应时间及平均搜索带宽利用率三个方面对算法的性能进行了分析。通过分析比较可知,本文中提出的算法在一定程度上减少了网络中冗余消息的数量,加快了搜索的响应速度,从而使得搜索的效率得到提高。