梁 武,蘇 燕
(北海職業(yè)學(xué)院 電子信息工程系,廣西 北海 536000)
一種基于移動(dòng)Agent的Web檢索原型系統(tǒng)的開(kāi)發(fā)
梁 武,蘇 燕
(北海職業(yè)學(xué)院 電子信息工程系,廣西 北海 536000)
隨著信息搜索、分布式計(jì)算機(jī)以及電子商務(wù)的發(fā)展,為使用戶在網(wǎng)絡(luò)中獲得最佳服務(wù),文中將整個(gè)網(wǎng)絡(luò)虛擬成為一個(gè)整體,設(shè)計(jì)了一種基于移動(dòng)Agent的Web檢索原型系統(tǒng)。仿真實(shí)驗(yàn)結(jié)果表明,該原型系統(tǒng)可以滿足現(xiàn)實(shí)生活中用戶的個(gè)性化需求,提高了查詢檢索的速度與質(zhì)量,也為其他應(yīng)用系統(tǒng)的開(kāi)發(fā)提供了參考。
Agent;信息檢索;原型系統(tǒng);HelloAglet
由于搜索引擎的局限性,網(wǎng)頁(yè)上信息容量非常大且涉及面廣,因此搜索引擎的搜索信息無(wú)法達(dá)到預(yù)期效果。提出了一種新的檢索方式,能在短時(shí)間內(nèi)滿足不同用戶的特定需求,并能幫助用戶隨時(shí)追蹤相關(guān)信息,提高用戶的查詢工作效率。信息檢索Agent系統(tǒng)是將信息檢索技術(shù)、智能Agent技術(shù)、用戶知識(shí)學(xué)習(xí)技術(shù)集成為一體,構(gòu)建成推理機(jī)制和多種檢索策略與模式的檢索機(jī)制[1]。
傳統(tǒng)的Web信息檢索系統(tǒng)主要是對(duì)文本信息的查詢檢索,同時(shí)包括對(duì)信息的讀取、存儲(chǔ)等功能,通常由查詢服務(wù)、搜索引擎、Robot、索引數(shù)據(jù)庫(kù)等幾部分組成。
信息檢索系統(tǒng)主要負(fù)責(zé)對(duì)萬(wàn)維網(wǎng)上文檔信息的獲取、表示、組織、存儲(chǔ)和訪問(wèn),其工作原理是:每間隔一段時(shí)間,搜索引擎就會(huì)指派一個(gè)或一組Robot,從一個(gè)或一組不同類別、被訪問(wèn)頻率高的URL(Uiform Resource Locator)開(kāi)始,指向該URL,并下載所有鏈接,再按照搜索算法對(duì)萬(wàn)維網(wǎng)進(jìn)行全方位搜索,直到?jīng)]有查找出新的鏈接為止。搜索引擎在搜索過(guò)程中提前處理預(yù)先查詢到的網(wǎng)頁(yè)。
在基于移動(dòng)Agent的Web信息檢索系統(tǒng)中,移動(dòng)Agent具有信息檢索功能,并取代了Robot,Web服務(wù)器會(huì)對(duì)發(fā)送過(guò)來(lái)的移動(dòng)Agent進(jìn)行檢索查詢,且此時(shí)只返回檢索適當(dāng)?shù)纳贁?shù)文檔,這樣就可避免中途傳遞的大量結(jié)果,且能保證檢索查詢結(jié)果與Web內(nèi)容整體上的統(tǒng)一性[3]。為進(jìn)一步提高工作效率,Web信息檢索系統(tǒng)允許同時(shí)發(fā)送多個(gè)Agent線程,使其在不同的Web子空間中同時(shí)進(jìn)行并行檢索的查詢。
基于移動(dòng)Agent的Web信息檢索系統(tǒng),如圖1所示。
用戶前端:用于處理不同的用戶查詢需求。
數(shù)據(jù)庫(kù)管理系統(tǒng):用于存儲(chǔ)經(jīng)過(guò)用戶篩選的檢索結(jié)果,而具體需要存儲(chǔ)哪些信息將取決于數(shù)據(jù)庫(kù)表空間的分配;
信息檢索終端[2]:根據(jù)用戶所需的查詢內(nèi)容,向網(wǎng)絡(luò)搜索引擎服務(wù)器,檢索出較為接近用戶需求的內(nèi)容信息。
圖1 基于移動(dòng)Agent的Web信息檢索系統(tǒng)
在移動(dòng)Agent系統(tǒng)平臺(tái)Aglet上開(kāi)發(fā)的Web信息檢索原型系統(tǒng),其主要目標(biāo)是允許在客戶機(jī)上生成的Agent能夠移動(dòng)到Web服務(wù)器完成全文關(guān)鍵字查詢,并把結(jié)果返回到客戶機(jī)[1]。Aglet是IBM公司用Java開(kāi)發(fā)的移動(dòng)Agent系統(tǒng)。
3.1 Aglet系統(tǒng)框架
Aglet的執(zhí)行分為若干階段,如圖2所示。
圖2 Agent平臺(tái)的系統(tǒng)框架
假如正在工作的Aglet要將自己發(fā)送出去,必然會(huì)對(duì)Aglet Runtime層發(fā)出請(qǐng)求申請(qǐng);此時(shí)Aglet Runtime層一旦接到Aglet提出的請(qǐng)求后,立即會(huì)對(duì)Aglet的代碼及相關(guān)信息轉(zhuǎn)換成有規(guī)則的字節(jié)數(shù)組;如果一旦請(qǐng)求成功,Aglet系統(tǒng)就會(huì)將這些有規(guī)則的字節(jié)數(shù)組發(fā)送到ATCI層進(jìn)行處理,并且ATCI層能提供可以使用的ATP等接口。執(zhí)行完上述工作后,Aglet系統(tǒng)便會(huì)將相關(guān)的系統(tǒng)信息添加到字節(jié)數(shù)組上,Aglet的程序代碼及相關(guān)信息便可在遠(yuǎn)端機(jī)器上執(zhí)行了。
3.2 系統(tǒng)設(shè)計(jì)
系統(tǒng)由3部分組成:MA、Agletserver和用戶接口。將其設(shè)計(jì)成一個(gè)實(shí)驗(yàn)系統(tǒng),但系統(tǒng)設(shè)計(jì)時(shí)并未使用地址信息服務(wù)器,因此在查詢信息時(shí)只需在用戶搜索界面中直接輸入所需檢索的網(wǎng)頁(yè)站點(diǎn)即可。
系統(tǒng)主要由3個(gè)類來(lái)實(shí)現(xiàn):InputDialog類繼承了Java的Frame類,定義一個(gè)可供用戶輸入查詢條件和選擇Web服務(wù)器的窗體;outputDialog也是一個(gè)從Frame繼承來(lái)的類,其定義了顯示返回結(jié)果的窗體;HelloAglet類是一個(gè)具有檢索功能的MA,它從InputDialog中接收查詢關(guān)鍵字,移動(dòng)到遠(yuǎn)方主機(jī)完成檢索功能后,將結(jié)果返回給OutputDialog。HelloAglet是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。
3.3 HelloAglet方法的驅(qū)動(dòng)
MA里包含了很多類,其中HelloAglet類是其中之一,且具有檢索功能,同時(shí)HelloAglet也是一個(gè)具有檢索功能的移動(dòng)Agent,構(gòu)成方法很多,例如執(zhí)行返回源主機(jī)goHome()、檢索任務(wù)retrievalWeb()、遷移startTrip()等。根據(jù)發(fā)生情況的異同,HelloAglet會(huì)使用不同的調(diào)用方法:如果用戶需要查詢,則確定好查詢的條件及服務(wù)站點(diǎn),HelloAglet此時(shí)則會(huì)調(diào)用startTrip;并且HelloAglet來(lái)到Web站點(diǎn)后,就會(huì)改為調(diào)用另一個(gè)retrievalweb;但當(dāng)HelloAglet完成檢索后,則換為調(diào)用goHome。
移動(dòng)Agent通常要進(jìn)行通信,主要是以在Aglet系統(tǒng)中用消息傳遞的方式來(lái)實(shí)現(xiàn)。考慮到安全因素,外界不能在移動(dòng)Agent中直接調(diào)取它的信息,此時(shí)其要與外界溝通只能通過(guò)代理提供的接口來(lái)實(shí)現(xiàn)。以下列這段語(yǔ)句在InputDialog里可以向HelloAglet傳遞信息:
try{
Send Message(new Message(“sartTrip”);
Aglet Proxy p=InputDialog.getProxy();
}catch(Exceptione)
只要“startTrip”發(fā)出傳遞消息,則HelloAglet就會(huì)立即執(zhí)行startTrip方法,且移除到指定的網(wǎng)站站點(diǎn)。
3.4 HelloAglet檢索功能的實(shí)現(xiàn)
若要實(shí)現(xiàn)HelloAglet的檢索功能,必須要在網(wǎng)站上檢索出符合網(wǎng)頁(yè)文件的文檔,且涵蓋服務(wù)器上所有HTML文檔。讓所有沒(méi)被訪問(wèn)過(guò)的網(wǎng)頁(yè)鏈接地址保存在隊(duì)列的程序中,而對(duì)于保存已經(jīng)被訪問(wèn)過(guò)的網(wǎng)頁(yè)地址就使用隊(duì)列visitedUrls來(lái)處理。首先建立一個(gè)原始的網(wǎng)址,一般情況下是服務(wù)器的主頁(yè),接著將其放入urls中。接著從隊(duì)列網(wǎng)址終找出最新的鏈接地址進(jìn)行分析、提取,如此循環(huán),直到空間內(nèi)的HTML頁(yè)全部被訪問(wèn)完。HelloAglet檢索代碼:
public void go(Message msg) {
URL dest=(URL)msg.getArg();
try {
itinerary.go(dest.toString(),“sayHello”);
} catch (Exception ex) {
ex.printStackTrace();
}
}
隨著Agent技術(shù)的成熟及相關(guān)研究的深入,Agent應(yīng)用廣泛,在檢索原型系統(tǒng)的開(kāi)發(fā)中充分展現(xiàn)了它的優(yōu)越性,可以滿足現(xiàn)實(shí)生活中用戶的個(gè)性化需求,提高了查詢檢索的速度和質(zhì)量。
[1] 賈莉.基于移動(dòng)Agent的Web信息檢索系統(tǒng)的研究與設(shè)計(jì)[D].合肥:合肥工業(yè)大學(xué),2002.
[2] 陳偉運(yùn).基于Agent的個(gè)性化信息檢索系統(tǒng)研究[D].武漢:華中科技大學(xué),2005.
[3] 李國(guó)勇,李維民.人工智能及其應(yīng)用[D].北京:電子工業(yè)出版社,2009.
[4] 曼寧,拉哈萬(wàn),舒策.信息檢索導(dǎo)論[M].王斌,譯.北京:人民郵電出版社,2010.
[5] 周敏,龔箭.分布式計(jì)算機(jī)取證模型研究[J].微電子學(xué)與計(jì)算機(jī),2012,29(2):40-43.
[6] 司衛(wèi)國(guó),趙捧未.移動(dòng)Agent在信息檢索中的應(yīng)用研究[J].電子科技,2004(11):57-60.
[7] 楊興燚.基于多Agent信任機(jī)制的電子商務(wù)談判系統(tǒng)研究[D].廈門(mén):廈門(mén)大學(xué),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
廣西高等教育教改工程基金資助項(xiàng)目(2012JGB404)
梁武(1978—),男,碩士研究生,講師。研究方向:計(jì)算機(jī)研究與實(shí)際應(yīng)用。E-mail:lwu0926@126.com。蘇燕(1980—),女,講師。研究方向:計(jì)算機(jī)研究與實(shí)際應(yīng)用。
10.16180/j.cnki.issn1007-7820.2015.04.023
TP311.56
A
1007-7820(2015)04-084-03