论文部分内容阅读
近年来以Gnutella和KaZaA为代表的无结构P2P文件共享系统已经成为当前Internet中最重要的应用之一。在无结构P2P文件共享系统中,当用户对流行文件进行查询时,系统能够以较短的响应时间搜索到大量的结果,但对数量较少的非流行文件(稀缺文件)的查询,系统在经过较长的响应时间后仍难以搜索到足够的结果来满足用户需求,查询失败的可能性很高。由于对稀缺文件的查询占系统总查询量的3%~15%左右,因此如何在无结构P2P中提高稀缺文件搜索的成功率已成为迫切需要解决的问题。本文主要研究针对稀缺文件的索引机制,通过建立索引系统来协助提高稀缺文件搜索的成功率。
索引机制是提高P2P文件共享系统搜索性能最常用的策略之一。已有的局部索引(Local Indices)和路由索引(Routing Indices)等策略通过在本地记录其它结点的相关信息来辅助提高查询效率,但这些策略都很少或几乎没有提及对稀缺文件查询成功率的提高。本文从建立稀缺文件索引要解决的问题出发,系统地讨论了稀缺文件索引的形成、发布的方式、发布终止的条件、索引的分布和索引的维护,构成了稀缺文件索引策略的基本框架,并在此基础提出了局部索引策略,总结了全局索引策略。在局部索引中,稀缺文件索引向部分或全部邻居一次或多次迭代发布,分布在以稀缺文件拥有者为圆心的一定半径的范围内;在全局索引中,稀缺文件的索引按照一定的交换原则在全网范围内随着交换而“移动”,使得索引被稀疏的分散到更为广阔的领域。
本文通过仿真实验对比了采用两种索引机制的搜索方案和无索引搜索方案在文件查询方面的延迟、命中数、成功率、消息数等衡量指标。结果显示,局部索引和全局索引在各种网络状况下都降低了延迟并且将稀缺文件的命中数增加了至少一倍以上,提高了稀缺文件搜索的成功率,同时在流行文件的查询过程中也起到了一定的优化作用,提高了P2P系统的可用性。