搜索引擎已经成为一种重要的网络信息导航工具,它帮助人们在海量 Web 数据中快速方便地找到所需信息.随着 Web数据量的持续快速增长,传统集中式搜索引擎已经越来越不能满足人们不断增长的信息获取需求.一方面,集中式搜索引擎的服务器处理能力有限,目前最好的搜索引擎之一 Google 使用上万台 PC 组成的机群服务器,也只能索引到整个 Web 网页总数的大约 1/10,这还不包括数量为表层网页(surface web)400~500 倍的深层网页(deep web),而且,目前的集中式搜索引擎对数据的更新周期都比较长,很难满足人们对信息时效性的需求.另一方面,受网络爬虫(Web Crawler)的信息采集能力所限,传统搜索引擎很难深度挖掘深层网页信息.再者,传统搜索引擎很难实现个性化搜索服务,它对不同需求的用户通常都返回相同的结果.
最近几年,P2P技术发展势头强劲.P2P 是区别于传统C/S模式的一种新型计算模式,它将高度分布的大量普通结点资源组织在一起,每个结点都拥有对等的地位,在享受其他结点提供服务的同时也为其他结点提供服务.由于 P2P 网络具有集中式服务网络所缺乏的优势:可扩展性强、容错性好、成本低廉、充分利用分布资源等,它在文件共享、分布式计算、分布式存储、协同工作、应用层组播、流媒体服务等方面已有广泛应用.
从搜索引擎的角度看,P2P 技术的快速发展引出了两个重要问题:首先,由于 P2P 网络中存在的数据不断增长,有必要为 P2P 网络提供搜索服务;另一方面,P2P 系统提供了大量的计算和存储资源,这些资源可以用来实现对系统外部信息的搜索和挖掘功能.由此引出了一个重要的研究领域——基于 P2P 的 Web 搜索,也就是在 P2P网络中构建 Web 搜索引擎,提供搜索服务.
与传统的集中式搜索引擎相比,基于 P2P 的 Web 搜索具有很多优势:
- 分布式:
P2P 是典型的分布式系统,而 Web 本身广泛分布的特性使得 Web 搜索天生就适合利用 P2P 结构来处理. - 可扩展性:Web 的巨大规模对 Web 搜索系统的可扩展性提出了严峻的挑战,而 P2P 系统具有良好的可扩展性,它可以将大量结点连接起来形成一个巨大的资源池来提供服务.P2P 系统强大的聚合处理能力为在 Web 搜索中引入更多的先进技术和方法提供了保证,例如统计学习、计算语言学、本体知识推理等方法.
- 低成本:P2P 系统通常由边缘网络中的大量普通结点组成,充分利用这些结点的闲置资源来提供服务,因此成本相对低廉.而且结点之间往往是自组织的,这也大大节省了系统的管理和维护成本.
- 鲁棒性:传统搜索引擎采用集中式结构,其中心服务器存在单点失效问题,往往成为性能瓶颈和安全隐患,而 P2P 系统则不存在这样的问题.
对深层网页的处理能力:深层网页主要指那些存储在网站数据库中以动态网页的形式来提供服务的 Web信息.深层网页数量巨大,但很难用传统搜索引擎所使用的网络爬虫来采集,而 P2P 搜索则为此提供了一条可行的方案:这些信息提供者可以作为结点加入 P2P 网络,主动将这些信息贡献出来提供搜索服务,这将使人们能通过搜索引擎获取更丰富的信息.
- 个性化搜索:利用 P2P 系统的特点,更容易利用用户协作、根据用户兴趣偏好以及地理位置等个性化特征提供个性化搜索服务,以满足不同用户的不同需求.
- 打破信息垄断:传统的集中式搜索引擎令很多人担心会产生信息垄断现象,它们易受商业利益、内容审查和垃圾信息等因素的影响,而基于 P2P 的 Web 搜索则可以打破这种可能的垄断.
基于 P2P 的 Web 搜索可以弥补传统集中式搜索引擎的很多不足,正吸引着越来越多研究者的关注,不过该领域研究尚处于起步阶段,很多问题都没有得到解决.本文试图对目前基于 P2P 的 Web 搜索技术的研究现状做一个较为全面的总结,包括该领域面临的挑战、关键技术、已有的原型系统等方面,从而为进一步研究提供参考.