对等网络搜索技术的研究_白杨
- 格式:pdf
- 大小:239.29 KB
- 文档页数:3
信息技术电子测量技术EL ECT RO NIC M EA SU REM EN T T ECHN O LO GY第29卷第6期2006年12月对等网络搜索技术的研究白杨1杨孟辉2王金刚1杨维康2(1.天津大学电子信息工程学院,天津300072;2.清华大学信息技术研究院,北京100084)摘要:网络资源的动态变化,使得传统的搜索引擎技术有些力不从心。
而JX T A Sea rch是一种基于JXT A对等网络的搜索机制,它具有即时掌握资源状态变化,快速定位资源的特点。
本文详细分析了JX T A Sea rch的工作原理,分别阐述了JX T A Sear ch基于JXT A平台和基于Web服务的2个搜索过程,归纳总结了JX T A Sear ch的技术优势,着重说明了基于JX T A平台搜索和基于W eb服务搜索的实现,最后提出了JX T A Sear ch需要不断完善的方向。
关键词:对等网络;JXT A;JXT A搜索S tudy of search technology in peer-to-peer networksBai Yang1Y ang M enghui2Wang Jing ang1Yang Weikang2(1.S chool of Electronic an d Information Engineering TianJin Un iversity,Tianjin300072;2.Research Institute of Infor mation T ech nology T singh ua Un iversity,Beijing100084)Abstract:T he dy namic change o f netw ork resource makes the conventional search t echnolog y's ability not equal to its ambit ion.JXT A Sear ch is abo ut peer-to-peer search technolog y based o n JXT A platfo rm,it can know the chang e o f the resource in time and go to t he resour ce quickly.We ana lyzed the pr inciple of JXT A Sear ch in detail,r espectively described its search processes based on JX T A platfo rm and based o n Web ser vice,concluded the adv antag e of JXT ASear ch,explained the realizat ion of searching based on JXT A plat form and based on W eb ser vice in this paper.At last,bro ug ht for war d the direction which JXT A Search has to be perfect.Keywords:peer-to-peer netw or ks;JXT A;JXT A Search0引言JXTA Search是基于peer-to-peer网络的搜索技术,能很好地解决由于Peer频繁进出网络而给搜索带来的问题。
而且JXT ASearch是基于JXT A平台的分布式搜索技术,它构建了一个具有高度扩展性的搜索网络,它利用JXT A平台的自身特点进行搜索,可以跟踪资源动态变化情况。
1JXTASearch搜索原理JXTA Search可以搜索JXT A平台上Peer的信息,也可以搜索一般的Web service。
JXT ASearch网络上的通信由寻求路由协议[1-2](Query Routing Prot ocol)完成,该协议定义了请求消息、注册消息和响应消息的格式,类型和选择路由的方式。
这些消息都是基于XM L的结构化文档,可以被网络上所有用户所识别。
JXT ASearch包括3个主要成员,即信息消费者,信息提供者和H U B[1]。
信息消费者,就是发起搜索的一方,它可以是纯的JXTA Peer,也可以是一般Web浏览器。
信息提供者向消费者提供所需要的资源,它可以是纯的JXTA Peer,也可以是通用的Web 服务器。
H U B是信息消费者和信息提供者的中介,它负责处理消费者的请求和提供者的注册信息。
它包括路由器和解析器[3]2个部分。
H UB中的解析器解析提供者的注册信息,并与消费者提交的请求相比较,获得相匹配的提供者。
路由器将请求者发来的请求路由到相匹配的提供者,并将提供者的响应消息路由到请求者。
JXT ASearch 原理如图1所示。
图1JXT A Search的结构图JXT ASearch使用了一些第三方的支持库,其中zlib 库提供了压缩数据包的传输功能,减轻网络负载,节省网络带宽;openSSL库提供了Web服务器的安全功能,它是JXT ASearch搜索技术抵御黑客攻击的一道屏障;A PR (Apache Portable Runtime)提供H T T P传输功能,使得JXT ASearch能够搜索一般的Web service;xml2用于解析传输的xm l文档,用xml描述网络资源,资源可以被网络#157#第29卷电子测量技术上所有Peer使用;sqlit e3提供数据库引擎功能,通过建立一些索引,加快网络资源的定位。
这些支撑库为JXT ASearch的实现提供了有力支持。
2JXTASearch的搜索过程2.1基于JXT A平台的搜索提供者和消费者都是纯JXT A Peer。
只有注册后,提供者的资源才会被检索到。
所以提供者发现H UB后,需要通过pipe(JXTA平台上Peer之间建立的用于通信的虚拟通道)向H U B注册,注册消息中包含pipe ID,查询空间(queryspace)[1,4]。
查询空间是特定类型的查询传播空间,如查询文本文件,就在文本查询空间内传播,这样大大提高查询效率。
这些注册的信息保存在H UB中,充当H UB 的集中结点(Rendezvous Peer)将注册信息存在cache(集中结点保存信息的本地文档)中。
消费者在自己所在的Peer Group中广播需要查询的信息,如果该Peer Group中存在具有这个资源的Peer,就可以直接和消费者建立连接。
如果该Peer Group内没有Peer具有这个资源,则H UB中的路由器接收消费者发出的请求,调用解析器,解析器将注册的各种信息解析成路由服务可以使用的索引结构,每个不同的查询空间对应一个独立的索引表。
索引表分为几类大索引,如computers,arts,science,sh opping 等。
每个大索引中又有许多小类别,不同的分类可以根据具体情况而定,提高解析的效率。
解析器将消费者的请求和提供者的注册信息相比较,找到匹配的提供者后,路由器在对应的查询空间的索引表中查找符合条件的提供者ID,并把请求路由到符合条件的提供者,整理收到的提供者发出的响应[4],响应包括消费者所需资源的具体信息,提供者本身的描述,然后通过管道返回到消费者。
如果H UB中注册的提供者都没有消费者所需要的资源,H UB 就会向网络中的其他H UB转发该请求。
提供者本身资源发生变化,向H UB即时发送资源更新消息。
Peer加入和离开JXT ASearch网络,不会对搜索造成影响,JXT A平台的PDP(peer discovery protocol)协议和PIP(peer inform ation protocol)协议可以实时监测到Peer的状态。
2.2基于Web服务的搜索提供者是一般W eb服务器,消费者是一般的Web浏览器。
Web搜索必须使用H U B作为中介。
基于Web服务搜索与基于JXTA平台搜索的最大区别是基于Web服务搜索中消息的传输是通过H TT P协议,而基于JXT A平台搜索是通过管道进行消息传输。
此外,Web提供者需要向已知的H U B注册,注册消息中包含本地寻求服务的U RL[4],还有查询空间,它规定对某个请求做出应答的条件,H UB保存其注册信息。
基于Web服务的搜索其余的过程与需要H U B做中介的基于JXT A搜索的过程相同。
2.3JXTASearch的技术优势JXTA Search除了可以搜索Peer上的资源外,还可以搜索Web service,这样能搜索到更多的网络资源。
利用JXT A平台自身的特点,通过PDP和PIP等2个协议,可以即时监测到Peer的状态,掌握Peer的在线情况。
当提供者资源发生变化需要主动及时与H UB联系,通知H UB。
通过定义查询空间[5],以及信息提供者通过注册消息主动提供的可以做出应答的检查范围,也大大缩小了搜索请求传播的范围,提高了应答信息的相关性。
3JXTASearch搜索过程的实现JXT ASearch除了技术优势外,还提供了比较友好的人机界面,方便用户的使用。
JXT ASearch需要安装T omcat 4.1,GOODS[6-7]和JDK。
Tomcat用来运行JXTAS earch的各种应用。
GOODS是一种面向对象的数据库,用来存储Web搜索中提供者的信息。
首先将Tomcat的安装路径加入环境变量中。
其次将router.w ar和resolver.w ar复制到T om cat/ Webapps文件夹,再次将jxta.jar,jxt astarter,jar和xerces.jar复制到T omcat/lib文件夹中。
最后在T om cat/ bin下,双击startup.bat来启动Tomcat。
如果启动成功,出现一个配置对话框,需要填入H U B Peer的个人信息和配置信息。
打开IE,在地址栏处输入http://localhost: 8080,出现T om cat的界面,表示H U B已经成功启动。
点击Tomcat Manager,从中可以看出router.w ar和resolver.w ar2个文件已经被解压,点击它们查看其中的内容。
3.1基于JXT A平台搜索的实现本文使用JXT A Shell应用来进行搜索。
为了在JXT A Shell中使用JXT ASearch这个技术,需要将jxt asearch.jar,jxt asearch-shell.jar,jxtasearch-util.jar和xerces.jar加入到jxt ashell.bat的classpat h中。