梁 武,苏 燕
(北海职业学院 电子信息工程系,广西 北海 536000)
一种基于移动Agent的Web检索原型系统的开发
梁 武,苏 燕
(北海职业学院 电子信息工程系,广西 北海 536000)
随着信息搜索、分布式计算机以及电子商务的发展,为使用户在网络中获得最佳服务,文中将整个网络虚拟成为一个整体,设计了一种基于移动Agent的Web检索原型系统。仿真实验结果表明,该原型系统可以满足现实生活中用户的个性化需求,提高了查询检索的速度与质量,也为其他应用系统的开发提供了参考。
Agent;信息检索;原型系统;HelloAglet
由于搜索引擎的局限性,网页上信息容量非常大且涉及面广,因此搜索引擎的搜索信息无法达到预期效果。提出了一种新的检索方式,能在短时间内满足不同用户的特定需求,并能帮助用户随时追踪相关信息,提高用户的查询工作效率。信息检索Agent系统是将信息检索技术、智能Agent技术、用户知识学习技术集成为一体,构建成推理机制和多种检索策略与模式的检索机制[1]。
传统的Web信息检索系统主要是对文本信息的查询检索,同时包括对信息的读取、存储等功能,通常由查询服务、搜索引擎、Robot、索引数据库等几部分组成。
信息检索系统主要负责对万维网上文档信息的获取、表示、组织、存储和访问,其工作原理是:每间隔一段时间,搜索引擎就会指派一个或一组Robot,从一个或一组不同类别、被访问频率高的URL(Uiform Resource Locator)开始,指向该URL,并下载所有链接,再按照搜索算法对万维网进行全方位搜索,直到没有查找出新的链接为止。搜索引擎在搜索过程中提前处理预先查询到的网页。
在基于移动Agent的Web信息检索系统中,移动Agent具有信息检索功能,并取代了Robot,Web服务器会对发送过来的移动Agent进行检索查询,且此时只返回检索适当的少数文档,这样就可避免中途传递的大量结果,且能保证检索查询结果与Web内容整体上的统一性[3]。为进一步提高工作效率,Web信息检索系统允许同时发送多个Agent线程,使其在不同的Web子空间中同时进行并行检索的查询。
基于移动Agent的Web信息检索系统,如图1所示。
用户前端:用于处理不同的用户查询需求。
数据库管理系统:用于存储经过用户筛选的检索结果,而具体需要存储哪些信息将取决于数据库表空间的分配;
信息检索终端[2]:根据用户所需的查询内容,向网络搜索引擎服务器,检索出较为接近用户需求的内容信息。
图1 基于移动Agent的Web信息检索系统
在移动Agent系统平台Aglet上开发的Web信息检索原型系统,其主要目标是允许在客户机上生成的Agent能够移动到Web服务器完成全文关键字查询,并把结果返回到客户机[1]。Aglet是IBM公司用Java开发的移动Agent系统。
3.1 Aglet系统框架
Aglet的执行分为若干阶段,如图2所示。
图2 Agent平台的系统框架
假如正在工作的Aglet要将自己发送出去,必然会对Aglet Runtime层发出请求申请;此时Aglet Runtime层一旦接到Aglet提出的请求后,立即会对Aglet的代码及相关信息转换成有规则的字节数组;如果一旦请求成功,Aglet系统就会将这些有规则的字节数组发送到ATCI层进行处理,并且ATCI层能提供可以使用的ATP等接口。执行完上述工作后,Aglet系统便会将相关的系统信息添加到字节数组上,Aglet的程序代码及相关信息便可在远端机器上执行了。
3.2 系统设计
系统由3部分组成:MA、Agletserver和用户接口。将其设计成一个实验系统,但系统设计时并未使用地址信息服务器,因此在查询信息时只需在用户搜索界面中直接输入所需检索的网页站点即可。
系统主要由3个类来实现:InputDialog类继承了Java的Frame类,定义一个可供用户输入查询条件和选择Web服务器的窗体;outputDialog也是一个从Frame继承来的类,其定义了显示返回结果的窗体;HelloAglet类是一个具有检索功能的MA,它从InputDialog中接收查询关键字,移动到远方主机完成检索功能后,将结果返回给OutputDialog。HelloAglet是系统实现的关键。
3.3 HelloAglet方法的驱动
MA里包含了很多类,其中HelloAglet类是其中之一,且具有检索功能,同时HelloAglet也是一个具有检索功能的移动Agent,构成方法很多,例如执行返回源主机goHome()、检索任务retrievalWeb()、迁移startTrip()等。根据发生情况的异同,HelloAglet会使用不同的调用方法:如果用户需要查询,则确定好查询的条件及服务站点,HelloAglet此时则会调用startTrip;并且HelloAglet来到Web站点后,就会改为调用另一个retrievalweb;但当HelloAglet完成检索后,则换为调用goHome。
移动Agent通常要进行通信,主要是以在Aglet系统中用消息传递的方式来实现。考虑到安全因素,外界不能在移动Agent中直接调取它的信息,此时其要与外界沟通只能通过代理提供的接口来实现。以下列这段语句在InputDialog里可以向HelloAglet传递信息:
try{
Send Message(new Message(“sartTrip”);
Aglet Proxy p=InputDialog.getProxy();
}catch(Exceptione)
只要“startTrip”发出传递消息,则HelloAglet就会立即执行startTrip方法,且移除到指定的网站站点。
3.4 HelloAglet检索功能的实现
若要实现HelloAglet的检索功能,必须要在网站上检索出符合网页文件的文档,且涵盖服务器上所有HTML文档。让所有没被访问过的网页链接地址保存在队列的程序中,而对于保存已经被访问过的网页地址就使用队列visitedUrls来处理。首先建立一个原始的网址,一般情况下是服务器的主页,接着将其放入urls中。接着从队列网址终找出最新的链接地址进行分析、提取,如此循环,直到空间内的HTML页全部被访问完。HelloAglet检索代码:
public void go(Message msg) {
URL dest=(URL)msg.getArg();
try {
itinerary.go(dest.toString(),“sayHello”);
} catch (Exception ex) {
ex.printStackTrace();
}
}
随着Agent技术的成熟及相关研究的深入,Agent应用广泛,在检索原型系统的开发中充分展现了它的优越性,可以满足现实生活中用户的个性化需求,提高了查询检索的速度和质量。
[1] 贾莉.基于移动Agent的Web信息检索系统的研究与设计[D].合肥:合肥工业大学,2002.
[2] 陈伟运.基于Agent的个性化信息检索系统研究[D].武汉:华中科技大学,2005.
[3] 李国勇,李维民.人工智能及其应用[D].北京:电子工业出版社,2009.
[4] 曼宁,拉哈万,舒策.信息检索导论[M].王斌,译.北京:人民邮电出版社,2010.
[5] 周敏,龚箭.分布式计算机取证模型研究[J].微电子学与计算机,2012,29(2):40-43.
[6] 司卫国,赵捧未.移动Agent在信息检索中的应用研究[J].电子科技,2004(11):57-60.
[7] 杨兴燚.基于多Agent信任机制的电子商务谈判系统研究[D].厦门:厦门大学,2014.
Development of a Mobile Agent Based Web Retrieval Prototype System
LIANG Wu,SU Yan
(Department of Electronic and Information Engineering,Beihai Vocational College,Beihai 536000,China)
With the development of information searching,distributed computing and e-commerce,this paper virtualizes the whole network into a unity so that users can enjoy optimal services in the network.A Web retrieving prototype system based on mobile Agent is designed.Simulation shows that the prototype system can meet the individualized needs of users in real life,and improves the speed and quality of retrieval.It also serves as a reference for the development of other applications.
Agent;information retrieval;the prototype system;HelloAglet
2014- 09- 10
广西高等教育教改工程基金资助项目(2012JGB404)
梁武(1978—),男,硕士研究生,讲师。研究方向:计算机研究与实际应用。E-mail:lwu0926@126.com。苏燕(1980—),女,讲师。研究方向:计算机研究与实际应用。
10.16180/j.cnki.issn1007-7820.2015.04.023
TP311.56
A
1007-7820(2015)04-084-03