论文部分内容阅读
近年来,对等(Peer-to-Peer ,P2P)网络技术是计算机网络技术中的一个热点。对等网络是一个完全分布式的网络,所有对等点都是自治的,每一个对等点可以同时充当客户端和服务器两种角色,它们没有统一的管理,共同组成一个系统。目前P2P技术被广泛应用于文件共享、协同工作、分布式计算等领域,其中最流行的应用是非结构化P2P环境下的文件共享。对等网络中的一个基本问题就是如何找到储存有特定数据的节点,即分布式搜索问题。不同的网络结构会采用不同的搜索算法,搜索算法对于对等网络系统的性能、网络流量和可扩展性等方面都有很大的影响。由于非结构化P2P网络模型设计简单,节点的频繁加入和离开对系统的影响比较小,同时又支持目前流行的关键字搜索,搜索机制简单易实现,使得非结构化P2P系统应用最为广泛。然而由于非结构化P2P系统采取传统的泛洪搜索方式查找资源,产生大量冗余消息,也消耗了大量的带宽。研究人员在传统泛洪算法基础上提出了许多改进的算法,其中动态搜索算法利用节点的历史行为信息来动态地设置查询信息包的TTL值,以此降低网络流量、节省网络开销、提高搜索性能,但查找不流行文件时使用户可感知的时延比较长,从而降低了网络的可用性。鉴于此,本文对动态搜索算法进行了改进,以此达到减少搜索时延,降低网络流量和节省网络开销的目的。本文首先介绍了P2P网络的相关技术背景知识,然后重点研究了基于非结构化P2P网络的搜索算法,并分析了各种搜索算法的优势与不足。在详细研究了基于非结构化P2P网络的动态搜索算法的基础上,利用概率与数理统计中的理论知识以及非结构化P2P网络的结构和节点特性等对动态搜索算法进行了改进。主要是在三个方面对算法进行的改进:首先是将首次探测搜索过程中查询信息包的初始TTL值设置得更小,以此达到控制网络上冗余消息的传播、降低网络流量的目的;其次是利用概率与数理统计中的区间估计方法对查询信息受欢迎程度进行了更为安全准确地估计,从而可以减少搜索时延、降低网络流量和节省网络开销;最后是在重复深度搜索过程中源节点对邻居节点的选择个数由3个减少到1个,使得搜索规模更加稳定,搜索范围也更加有节制,提高了搜索性能。本文最后还对动态搜索算法和改进后算法进行了模拟仿真实验分析,实验结果表明改进后的算法针对原有算法在搜索时延、网络流量以及网络开销等方面的不足之处进行了完善。