Chinaunix首页 | 论坛 | 博客
  • 博客访问: 756116
  • 博文数量: 128
  • 博客积分: 7079
  • 博客等级: 少将
  • 技术积分: 1326
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-16 08:53
文章分类

全部博文(128)

文章存档

2011年(3)

2010年(12)

2009年(9)

2008年(23)

2007年(61)

2006年(20)

我的朋友

分类: 系统运维

2007-07-03 16:49:59

基于P2P技术的搜索引擎

窦天芳,李健,张成昱

(清华大学图书馆,北京100084)

摘要:搜索引擎已经成为人们最常使用的网络服务之一。而随着互联网与人们生活的联系日益紧密和深入,人们更渴望对分散在各个计算机上的信息进行直接检索。而基于P2P的搜索引擎提供更直接的共享方式,可以提高沟通效率、减少资源浪费并保障信息服务及时有效。目前,已经有比较成熟的基于P2P的搜索软件,在搜索深度和自由共享方面呈现出很大优势。本文就具体技术和工具进行探讨,并对未来应用进行展望。

关键词:搜索引擎;对等网络;共享;智能搜索

中图分类号:G250.7  文献标识码:A  文章编号:1007-7634(2006)03-0417-04

1 搜索引擎发展回顾

近年来,搜索引擎已经成为人们最常使用的网络服务之一。据CNNIC(中国互联网络信息中心)2004年发布的调查报告表明:搜索引擎成为仅次于电子邮件的第二大“用户最常使用的网络服务”。而在“用户得知新网站的主要途径”调查中,搜索引擎排名第一,占83.4%。如果说网络改变了人类生活,那么搜索引擎正是改变人类生活的工具。搜索引擎的历史可以追溯到20世纪90年代初。当人们意识到网络是个丰富的知识宝库时,试图借助各种工具挖掘分布在网络上浩如烟海的信息资源。Archie(ArchieFAQ)就是最早的尝试。其对分布在FTP站点上的信息资源进行搜索并提供服务,也有人称之为最早的搜索引擎。1993年,人们开始关注对web上的信息资源进行检索,以下是两个典型的例子:Archie的HTTP版,网站自己提交网页的索引信息;MIT的MatthewGray开发的WorldwideWebWanderer,依靠spider程序捕获网页的URL。随着WWW服务的深入人心,大量网页资源充斥互联网,搜索速度和结果排序成为搜索引擎重点解决的问题,于1998年前后,采用“超链”分析技术的新的搜索引擎脱颖而出。如今,以google为代表的采用“超链”技术的搜索引擎已经成为改变人们上网习惯的中坚力量。

2 人们对搜索引擎的期望

以google为代表的主流搜索引擎依靠大量的固定的webserver发挥功效。人们在使用这些搜索引擎时,常常会被这样的问题困扰:如果我们不把信息置于web上,搜索引擎怎样获取信息;如果web页面因为信息过时而被更新或删除,搜索引擎能及时发现,面对那些过时信息或“死”的链接,用户花费了大量精力去浏览,却毫无意义。时至今日,已经有很多人对搜索引擎进行研究,结果表明:“超链”分析技术是当前搜索引擎制胜的法宝,那么我们不禁要问:如果在一个很窄的研究领域里“赫赫有名”的站点资源,“超链”技术如何使这种资源引起人们的注意,而不被“淹没”在信息的海洋之中,毫无疑问,这种基于web的搜索引擎是无法解决上述困扰的。基于web的搜索引擎的工作原理是:搜索引擎公司负责搜集发布于web(当然还有发布在FTP站点)上的信息,对信息进行提取、组织和处理,并建立索引信息保留在特定服务器上。人们在需要搜索信息的时候向特定服务器发出指令,由特定服务器把检索出来的相关目录通过一定的排序法则呈现在用户面前。读者可以看到,信息从产生到被检索经历了web(FTP)发布——搜集——处理——索引——存储——再次呈现6个环节。在信息飞速变化的今天,往往是这样的流程刚刚结束,Web一端的数据已经被修改,或者,在实际工作中应用的技术已经是成熟的第3版了,而发布在网页上的技术还停留在测试版的水平。更严重的是,保存在ERP(EnterpriseResourcePlanning)系统中的重要信息仅仅因为没有发布在web上而f被永远忽视,诸如上述的种种遗憾,恐怕是基于web的搜索引擎一生一世的都不解开的难题。

与此同时,互联网也洗去铅华,冲出“泡沫”。人们在对互联网回归本质的探讨中发现:自由平等地沟通和共享资源才是最初的互联网。分布在互联网上的信息是存储在每台电脑里的,人们没有必要也不可能将全部信息发布在web上;互联上的成员在网络上共享他们认为最有价值的东西,渴望在互联网络中自由搜索、更新、回答和传送信息,而不必借助某个服务器的干预。这种理念正是互联网最初的特征——P2P(peertopeer),中文译成端到端或对等网络。可惜的是,由于受早期的计算机性能、资源等因素的限制,互联网逐渐形成了cPs(clientPserver)的架构。而随着互联网对人们生活的联系日益紧密和深入,普通用户希望直接参与到信息交互中,进行更广泛的信息交流。而计算机和网络性能的提升也使其具有了现实的可能性。在此背景下,P2P再度受到关注。

3 基于P2P的搜索引擎

3.1 P2P的功能 

P2P是与C/S相对应的网络运作模式,其显著的特点是整个网络不存在中心节点(或中心服务器),其中的每一个节点(peer)大都同时具有信息消费者、信息提供者和信息通讯等三方面的功能。随着各类数字终端、服务器资源、网络带宽等资源持续保持类摩尔定律式的增长,通过更直接的共享方式来提高沟通效率,从而进一步提升网络、设备和信息服务的效能是人们正追求的目标。基于P2P的网络中的每个节点兼具Client和Server的双重身份,既是信息资源的获取者又是信息资源的提供者。目前P2P在加强网络上的文件交换、集群计算、协同工作、服务共享等方面已经充分显示出了其强大的技术优势,工作模型见图1所示。

如图1所示,与C/S模式不同的是,在P2P模式中,网络中的每一个节点(peer)既可以作为客户机,又可以作为服务器,它们在网络中是完全平等的对等实体。每一个节点(peer)都是信息的发布者和信息的受益者,只要节点在网络中处于on2line状态,就可以参与到信息的交换过程中,这一特点使得信息获取方随时可以获得现时的有效的信息资源。 

3.2 P2P搜索引擎的技术优势

基于P2P技术搜索工具显现出强大优势。基于P2P的搜索引擎可以搜索硬盘上的数据而不仅局限

在服务器上的数据,搜索到的信息都是及时有效的。P2P技术使用户能够深度搜索文档,而且这种搜索无需通过Web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎(只能搜索到20%-30%的网络资源)无可比拟的深度,理论上讲,基于P2P的搜索将包括网络上的所有开放的信息资源。

如图2所示,当节点2要搜索一个文件,它将带有该文件的标识的搜索请求发送给它的邻居节点1、3、6,然后节点1、3、6又将搜索请求发送给它们各自的邻居节点,最终到达节点5和节点7,因为节点5和节点7都存储有这个文件,它们就可以响应节点2,然后节点2就可以直接从节点5或者节点7下载该文件,表1是基于P2P的搜索引擎和基于CPS搜索引擎的比较。

当然基于P2P的搜索引擎还要解决很多问题。即:一旦形成P2P专用网,其上的数据搜索与现在互联网中数据存在中央服务器的情况有所不同。P2P网用户中相当数量在联网方式上不同,专线、拨号、宽带、窄带都会碰到;在线的时间不同,联网的时间可以一个是24小时在线,而另一个完全可能仅联机几十分钟;使用的操作系统也不一定相同。如何动态地、快速地将当前P2P网络中各个peer(节点)的内容进行收集,有效地向用户传递是其必须解决的技术问题。事实上,基于P2P的搜索引擎总是和P2P文件共享连在一起的。通常一个基于P2P的软件集多种功能于一身,为了更好地实现文件共享,总是先对当前P2P网络上所有节点的共享内容进行搜索,然后选择用户需要的内容下载。 

3.3 典型工具 

(1)Napster。想必读者对Napster不会陌生,其因官司缠身而闻名于世,从1999年5先后被美国唱片业协会(RIAA)、重金属乐队Metallica等多家组织多次起诉侵犯版权。而事实上,正是由于Napster采用P2P技术和理念而广受欢迎,从而造成RIAA蒙受严重经济损失。Napster是采用P2P技术的典型软件之一,其为用户提供一种便捷、易用的界面以实现媒体文件的搜寻及共享。由于媒体文件的特殊性,使得基于P2P的Napster在全球迅速推广,并以极快的速度暴露出版权问题。可喜的是,2001年之后的Napster开始采取措施,与著名的媒体集团建立伙伴关系,以会员制度的音乐发放系统找到了自己的前途。Napster并没有完全抛弃中心服务器的干预,网络上的节点下载文件或对外提供文件共享,中心服务器的用于建立当前所有在线的Napster节点所存文件的目录索引,并记录每个节点的地址、端口、共享的内容,当一个节点向中心服务器发送搜索请求时,中心服务器会通过目录索引查找与搜索请求相匹配的内容资源,并指引节点获取。可以说,Napster软件还不是真正意义上的搜索引擎,其还在P2P节点之外设置中心服务器。但它使人们更加关注P2P,开始意识到基于P2P的搜索和共享深得人心。 

(2)Gnutella。Gnutella采用完全分布的信息共享技术,安装了Gnutella的计算机既是client端又是server端,它会发现其他Gnutella节点并与之交流,节点之间的交流变得直接和容易。GnutellaP2P模式完全没有服务器,当节点A搜索某个文件时,把其请求传送给与它相连的每个节点。以节点B为例,如果没有这个文件,再把请求传给与B相连的每个节点。如果C节点有这个文件,再按顺序返回给节点A,于是节点A便从节点C直接取到这个文件。Gnutella的每一次搜索都是分布进行的,其模式要比Napster复杂得多。节点向相邻节点发送请求成为一次“跳跃”,每经过一次“跳跃”,被搜索的节点数按幂级数增加,如不加以限制则会使全世界联网的计算机都会被触及。Gnutella协议规定一个存活时间(TTL:TimeToLive),通常,Gnu2tella模式对TTL限制在5或6,即限制“跳跃”次数不超过6次,每“跳跃”一个节点,TTL减少1直至为0,包转发中止。在这个规定下,Gnutel2laP2P也能在瞬间搜索到几万个节点。为避免重复搜索,甚至进入“死循环”,Gnutella的每个节点都会保留一个记录表。按照这个记录,也能准确地返回查询的响应。可以说,基于Gnutella能快速搜索共享在互联网上的资源,为互联网的信息搜索提供了全新的解决之道。 

(3)WonGoo。WonGoo是中科院计算所研制的一套P2P技术平台,该平台主要为信息安全、网格计算提供支撑技术和试验环境。其中,WonGoo-Search是一个基于内容搜索的P2P网络协议。其目标是构架一个P2P环境下的高效全文信息检索的平台。借助该平台,各个分布的节点可以自主的发布信息,无需建立集中式的索引就可以被高效的检索到。WonGoo-Search在使用过程中自动优化,通过网络存储的内容实现按目标聚类,从而使整个网络的内容表示与拓扑结构更加合理有序,提高未来内容定位的效率。其目标之一就是:基于内容向量表示的P2P全文信息检索。这一目标需要完成内容特征的抽取和量化,并定义特征向量之间的距离,通过散列的方法,将具有不同特征的内容(或内容的映射)散列到具有相应P2P地址的节点上去,从而可以通过查找这些P2P节点获得目标内容。

4 基于P2P的搜索引擎与智能搜索引擎的关系

人们习惯于将基于P2P的搜索引擎与智能搜索引擎对立起来,笔者认为这是不正确的。基于P2P的搜索引擎的优势在于其工作模式采用了对等的理念,而智能搜索则是应用了人工智能技术在搜索内容层面上的深化,它可以工作在P2P工作模式,也可以工作在CPS模式。这两种搜索引擎都是试图突破当前搜索引擎的尝试。

智能搜索引擎是搜索引擎运用先进的人工智能技术的新一代产品,它突破传统搜索引擎的局限性,将信息检索从基于关键词层面提高到基于知识(或概念)层面,对知识有一定的理解和处理能力,能够实现汉语分词、短语识别、同义词处理等技术。其目的在于提高搜索结果的准确度,使之更接近人的搜索需求。智能搜索可以提供智能化、人性化的信息服务,允许用户使用自然语言进行信息的检索,为他们提供更方便、更确切的搜索服务。不过,现在还没有一种可行的方式真正实现智能化,很难将所需信息一定显示在前两三页的搜索结果之中。但归根到底,智能搜索还是基于web的搜索引擎,没有脱离在服务器上搜索信息,从web上获取信息的思想。

基于P2P的搜索引擎是一种开放理念下的搜索引擎,它应用先进的对等搜索理念,搜索的是互联网上所有开放的信息,即分布在所有计算机硬盘中的共享资源。它的搜索深度和广度是传统搜索引擎所难以比拟的,其搜索范围将集中在服务器上的资源扩大到所有互联网上的计算机,并可在短时间内以几何级数迅速增长,理论上最终将包括网络上的所有开放的信息资源,采集到的信息将有更强的实时性和有效性。但是我们必须看到:以Gnutella为代表的多数P2P搜索共享软件,发送的搜索请求还有限制,这就要求使用者对P2P网络节点上的资源比较熟悉,事先能够定位自己需求的文件类型或文件名,这从某个角度看是限制了资源共享。

目前,已经有些P2P搜索软件开始采用某些智能搜索的技术,通过对内容特征进行抽取和量化来优化搜索效果。我们希望未来的基于P2P的搜索引擎能够更多地吸收智能搜索的思想和技术。

5 结语

基于P2P技术的搜索引擎由于自由沟通和深度挖掘正成为新一代搜索引擎的焦点,同时也为信息安全带来了新挑战。出于对知识产权的保护,对个人隐私的保护等角度考虑,人们对匿名通讯还充满质疑,但随着未来社会法律法规的健全,和人们观念的转变,人们逐渐会喜欢这种自由的互联网,那时基于P2P的搜索引擎将是畅游互联网的有力工具。

图片
  
阅读(3064) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~