论文部分内容阅读
由于P2P结构上的独特优势,P2P系统近年来得到了快速的发展,以Gnutella,和KaZaA为代表的文件共享系统已成为Internet上增长最迅速的应用。在无结构化P2P文件共享系统中,当用户对流行文件进行查询时,系统能够以较短的响应时间搜索到大量的结果,但对数量较少的非流行文件(稀缺文件)的查询,系统在经过较长的响应时间后仍难以搜索到足够的结果来满足用户需求,查询失败的可能性很高。由于对稀缺文件的查询占系统总查询量的3%~15%左右,因此如何在无结构P2P中提高稀缺文件搜索的成功率已成为迫切需要解决的问题。为此,本文针对稀缺文件提出了一种基于信息量的索引方案和搜索算法IBFS(Index-and-information-based BFS)。
IBFS在PFIS索引方案的基础上加以改进,在信息量指导下将稀缺文件的索引动态发布到流行节点上,并使搜索算法尽可能向流行节点路由查询消息,从而通过索引机制提高稀缺文件的查询成功率。IBFS算法主要有三方面的特点。第一,区别对待流行文件和稀缺文件,针对二者使用不同的搜索策略,使搜索算法对各种不同流行度文件的查询更有针对性。第二,搜索算法的动态终止机制,能够克服传统P2P搜索机制中缺乏动态控制的弱点,解决了流行文件命中数目过多和稀缺文件查询数量不足两个问题。第三,索引方案按信息量平衡原则进行索引发布,消除了网络中大量存在的Free-rider节点对搜索效率的严重影响。
仿真实验结果表明IBFS方法大大降低了稀缺文件的搜索范围和查询消息数量,与Gnutella基本洪泛算法相比,针对稀缺文件的查询在成功率相同情况下网络流量减少了1个数量级,比使用随机索引方案的PFIS算法节省大约50%的网络带宽,而仅以增加少量的延迟为代价,提高了稀缺文件的搜索效率。对于给定结果需求数量的查询,其动态终止机制可返回适量但足够的搜索结果,IBFS方法的满意度与Gnutella洪泛和PFIS相比分别提高了3.5%和5%,从而帮助用户获得可用性更强的P2P文件共享系统。