李 明 唐 軼
基于移動(dòng)Agent的分布式Web搜索模型的設(shè)計(jì)與實(shí)現(xiàn)
李 明1唐 軼2
1(國(guó)家電網(wǎng)開(kāi)封供電公司 河南 開(kāi)封 475004)
2(中國(guó)建設(shè)銀行武漢數(shù)據(jù)中心 湖北 武漢 430022)
傳統(tǒng)基于C/S模式的Web 搜索方法對(duì)網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)通暢性的要求都比較高,因此在當(dāng)今互聯(lián)網(wǎng)的海量數(shù)據(jù)中的檢索效率比較低。在分析移動(dòng)Agent技術(shù)特點(diǎn)的基礎(chǔ)上,提出一種基于移動(dòng)Agent的分布式Web搜索模型。該模型根據(jù)中文信息搜索的特殊性,將移動(dòng)Agent技術(shù)與分類算法相結(jié)合,在搜索過(guò)程中引入了用戶輸入信息的預(yù)處理過(guò)程來(lái)進(jìn)行信息分類,然后根據(jù)分類結(jié)果形成基于用戶興趣度的移動(dòng)Agent搜索路徑選擇策略以及并發(fā)方法,由此來(lái)提高Web搜索的效率。詳細(xì)介紹框架的組成和所采用的關(guān)鍵技術(shù),并通過(guò)一個(gè)移動(dòng)Agent的開(kāi)發(fā)平臺(tái)——Aglet平臺(tái)對(duì)模型進(jìn)行實(shí)現(xiàn)和實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,采用該模型進(jìn)行Web檢索,比傳統(tǒng)的C/S檢索方式減少50%以上的搜索時(shí)間,而在各資源服務(wù)器存儲(chǔ)的文件資源類別和資源數(shù)量差異較大情況下的搜索效率比非并發(fā)的其他移動(dòng)Agent搜索模型搜索時(shí)間要減少70%以上。
移動(dòng)Agent 分類算法 路由策略 并行方法
隨著互聯(lián)網(wǎng)信息資源爆炸式地增長(zhǎng),網(wǎng)絡(luò)信息搜索面臨著龐大的信息量和有限帶寬之間、單一搜索請(qǐng)求和大量相關(guān)站點(diǎn)之間、用戶個(gè)性化需求和搜索方式單一之間的種種矛盾[1]。而傳統(tǒng)的、基于C/S模式的搜索引擎通過(guò)在客戶和服務(wù)器之間建立一條邏輯信道來(lái)實(shí)現(xiàn)對(duì)需要檢索的遠(yuǎn)程資源的本地文件索引,因此對(duì)網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)通暢性的要求都很高,且降低了檢索效率。而基于BDI(Belief、Desire、Intention)[2]理論模型的,集軟件、通訊、分布式技術(shù)于一體的移動(dòng)Agent技術(shù)[3,4]可以有效運(yùn)用網(wǎng)絡(luò)帶寬來(lái)進(jìn)行高效的分布式計(jì)算。它將代碼遷移到資源所在地進(jìn)行遠(yuǎn)程檢索,只返回檢索結(jié)果,因此能很好地解決傳統(tǒng)搜索方式的不足。
移動(dòng)Agent是一個(gè)具有一定智能性的代替人或其他程序執(zhí)行某種任務(wù)的程序。它能自主地從一臺(tái)主機(jī)遷移到另一臺(tái)主機(jī),當(dāng)任務(wù)完成后,自動(dòng)返回結(jié)果和消息。它主要分為2個(gè)部分:移動(dòng)Agent和移動(dòng)Agent環(huán)境[5]。當(dāng)移動(dòng)Agent遷移到資源所在地主機(jī)后,會(huì)在本地調(diào)用主機(jī)資源,進(jìn)行相應(yīng)的訪問(wèn)和運(yùn)算。由于移動(dòng)Agent自身的特性,其在分布式信息檢索的優(yōu)勢(shì)主要體現(xiàn)在如下幾個(gè)方面[6,7]:
(1) 降低網(wǎng)絡(luò)負(fù)載 傳統(tǒng)的分布式信息搜索需要建立邏輯信道,以保持網(wǎng)絡(luò)通信正常,長(zhǎng)時(shí)間的網(wǎng)絡(luò)連接必導(dǎo)致網(wǎng)絡(luò)阻塞。而移動(dòng)Agent攜帶代碼遷移到資源所在地,避免了大量數(shù)據(jù)資源的傳輸,同時(shí)不需要網(wǎng)絡(luò)長(zhǎng)時(shí)間保持連接狀態(tài),從而大幅度降低了網(wǎng)絡(luò)負(fù)載。
(2) 平臺(tái)無(wú)關(guān) 移動(dòng)Agent的運(yùn)行只依賴于是否有移動(dòng)Agent環(huán)境,與網(wǎng)絡(luò)平臺(tái)無(wú)關(guān)。
(3) 自主性 移動(dòng)Agent可以根據(jù)實(shí)時(shí)網(wǎng)絡(luò)狀況和自身任務(wù)特點(diǎn)自主的選擇移動(dòng)路線。使得移動(dòng)Agent具有一定的智能性和應(yīng)變能力。
(4) 并行性 用戶可以針對(duì)一個(gè)任務(wù)或多個(gè)任務(wù)同時(shí)創(chuàng)建多個(gè)移動(dòng)Agent,使其并行工作,快速高效地完成用戶任務(wù)。
為了提高遠(yuǎn)程資源的搜索效率,本文設(shè)計(jì)了一個(gè)基于特征信息和移動(dòng)Agent的分布式搜索系統(tǒng)(IMADS)框架,該框架主要包含如下幾個(gè)部分:用戶本地Agent系統(tǒng)(ULAS)、遠(yuǎn)程資源管理系統(tǒng)(RRMS)、Agent轉(zhuǎn)接系統(tǒng)(AD),如圖1所示。
圖1 基于移動(dòng)Agent的分布式Web搜索系統(tǒng)架構(gòu)
下面詳細(xì)介紹該框架的三個(gè)主要組成部分:
(1) 用戶本地Agent系統(tǒng) 由用戶輸入處理模塊、日志管理模塊、資源Agent、搜索Agent、管理Agent和路由表構(gòu)成。其中:
a. 輸入處理模塊:其主要任務(wù)為在進(jìn)行信息搜索前,對(duì)創(chuàng)建的Agent進(jìn)行狀態(tài)、知識(shí)庫(kù)、約束條件等的初始化;對(duì)用戶的輸入信息進(jìn)行分詞、去除停用詞等預(yù)處理;將代表用戶興趣目標(biāo)的特征詞寫入知識(shí)庫(kù);設(shè)置返回時(shí)間、站點(diǎn)停留時(shí)間、任務(wù)完成度、搜索范圍等。
b. 資源Agent:是一類移動(dòng)Agent,當(dāng)用戶提出查詢請(qǐng)求后,資源Agent查詢?nèi)罩局写鎯?chǔ)的可移動(dòng)的遠(yuǎn)程資源節(jié)點(diǎn),然后根據(jù)具體信息生成路由表。返回給管理Agent,管理Agent設(shè)置搜索Agent遷移的路徑等。
c. 管理Agent:是用戶Agent的控制中心,它主要負(fù)責(zé)創(chuàng)建資源Agent,并派遣到遠(yuǎn)程資源服務(wù)器上查詢可用的服務(wù)列表,并將目標(biāo)URL地址、資源種類、數(shù)量等遠(yuǎn)程資源信息反饋給用戶管理Agent;接收從用戶輸入接口輸入的查詢、約束條件、路由表等初始化信息,并打包成搜索Agent可攜帶的執(zhí)行格式;接收搜索Agent攜帶回來(lái)的數(shù)據(jù),并轉(zhuǎn)換成本地需要的數(shù)據(jù)格式在GUI上顯示。
d. 搜索Agent:是另一類移動(dòng)Agent,它們攜帶用戶的查詢信息、遷移地址URL、路由表、遷移時(shí)間等在各資源所在地主機(jī)之間移動(dòng)。搜索Agent遷移到遠(yuǎn)程資源服務(wù)器,通過(guò)遠(yuǎn)程資源服務(wù)器的管理Agent接口訪問(wèn)遠(yuǎn)程資源。結(jié)束搜索后,根據(jù)路由表信息決定下一步遷移目的地。搜索Agent在返回到用戶端或者遷移到下一個(gè)站點(diǎn)之前,先調(diào)用Ping命令判斷網(wǎng)絡(luò)的連通性。若連通則表示目的地的Agent環(huán)境已經(jīng)啟動(dòng),搜索Agent可直接遷移到對(duì)方主機(jī)。若不連通,則搜索Agent到AD中等候,AD將搜索Agent保存在硬盤上,并監(jiān)視目標(biāo)主機(jī),一旦連通,將激活搜索Agent讓其傳送到目標(biāo)主機(jī)。
(2) 遠(yuǎn)程資源管理系統(tǒng) 由注冊(cè)Agent和管理Agent等非移動(dòng)的靜態(tài)Agent組成,負(fù)責(zé)給搜素Agent提供運(yùn)行環(huán)境,每個(gè)資源所在地需要部署這樣的環(huán)境。當(dāng)啟動(dòng)該搜索Agent環(huán)境后,會(huì)向ULAS發(fā)送一個(gè)攜帶有該環(huán)境URL地址的注冊(cè)Agent,當(dāng)管理Agent成功接收后,會(huì)將該URL地址保存起來(lái),更新日志文件,以便于資源Agent進(jìn)行實(shí)時(shí)訪問(wèn)。它的另一個(gè)管理Agent為遷移到此環(huán)境的搜索Agent提供服務(wù),保存歷史記錄以及向搜索Agent的下一個(gè)遷移目標(biāo)發(fā)送Ping命令,測(cè)試其連通性。
(3) Agent轉(zhuǎn)接系統(tǒng) 主要功能是解決遷移失效問(wèn)題。當(dāng)一個(gè)搜索Agent遷移到某個(gè)用戶服務(wù)器上時(shí),如果遇到服務(wù)器關(guān)閉或網(wǎng)絡(luò)阻塞等情況時(shí),它將自動(dòng)遷移到該服務(wù)器所在的Dock服務(wù)器上。當(dāng)移動(dòng)Agent到達(dá)Dock服務(wù)器后就不再運(yùn)行,而在Dock服務(wù)器上的固定Agent控制下存儲(chǔ)到硬盤,固定Agent代替移動(dòng)Agent監(jiān)視服務(wù)器狀態(tài)。當(dāng)檢查到服務(wù)器恢復(fù)連接后,喚醒等待遷移到服務(wù)器上的搜索Agent,使得所有在Dock服務(wù)器上等待遷移到目標(biāo)服務(wù)器的移動(dòng)Agent能遷移過(guò)去。
3.1 基于樸素貝葉斯分類算法的用戶輸入預(yù)處理過(guò)程
用戶輸入處理模塊包括:用戶輸入預(yù)處理、關(guān)鍵詞語(yǔ)義擴(kuò)展和關(guān)鍵詞分類三個(gè)部分。
(1) 用戶輸入預(yù)處理模塊
用戶輸入預(yù)處理模塊主要包含用戶輸入信息的分詞和去除停用詞。對(duì)于分詞,采用現(xiàn)有的分詞工具M(jìn)Manalyzie[6]。它基于字符串的最大長(zhǎng)度匹配,分詞效果好,可靠性較高,速度也比較快。由于分詞后,會(huì)出現(xiàn)許多沒(méi)有實(shí)際意義的語(yǔ)氣助詞或沒(méi)有代表性的慣用詞語(yǔ)。為了提高運(yùn)行效率,減少無(wú)謂的系統(tǒng)開(kāi)銷,提高精確度,需要將分詞后的詞語(yǔ)與常用詞表進(jìn)行比對(duì),去除沒(méi)有特殊意義、分類效果不明顯的單詞,最后得到最能代表用戶搜索需求的若干關(guān)鍵詞。例如:今天進(jìn)行的NBA比賽結(jié)果統(tǒng)計(jì)經(jīng)分詞、去除停用詞后就會(huì)變成“NBA/比賽/結(jié)果/統(tǒng)計(jì)”這樣的代表用戶真實(shí)搜索意圖的簡(jiǎn)明、扼要的關(guān)鍵詞組。
(2) 關(guān)鍵詞語(yǔ)義擴(kuò)展模塊
關(guān)鍵詞語(yǔ)義擴(kuò)展的主要用途是為了更好地識(shí)別用戶的興趣度。通過(guò)對(duì)關(guān)鍵詞進(jìn)行擴(kuò)展,擴(kuò)展出多個(gè)同義詞則可以使得后面關(guān)鍵詞分類的結(jié)果更準(zhǔn)確。在這里調(diào)用較為廣泛使用的語(yǔ)義擴(kuò)展系統(tǒng)WordNet[7]來(lái)獲取關(guān)鍵詞的同義詞。
(3) 關(guān)鍵詞分類模塊
在對(duì)關(guān)鍵詞分類上,首先需要大量的數(shù)據(jù)集作為訓(xùn)練級(jí),本文的訓(xùn)練集由資源所在地的索引文檔提供。索引文檔是經(jīng)過(guò)預(yù)處理和TF-IDF[8]算法統(tǒng)計(jì)的所有待搜索文檔,按關(guān)鍵詞TF-IDF值從大到小排列構(gòu)成,然后利用樸素貝葉斯算法對(duì)其進(jìn)行分類。
TF-IDF是一種用于資訊檢索與資訊探勘的常用加權(quán)技術(shù)。其主要思想是:如果某個(gè)詞或短語(yǔ)在一篇文章中出現(xiàn)的頻率TF高,并且在其他文章中很少出現(xiàn),則認(rèn)為此詞或者短語(yǔ)具有很好的類別區(qū)分能力,適合用來(lái)分類。
在形成了用戶輸入關(guān)鍵詞分類的訓(xùn)練集后,就可以開(kāi)始挖掘用戶的搜索興趣傾向了。本文采用簡(jiǎn)單的樸素貝葉斯算法來(lái)實(shí)現(xiàn)對(duì)用戶關(guān)鍵字的分類。
樸素貝葉斯分類算法發(fā)源于古典數(shù)學(xué)理論,有著堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)以及穩(wěn)定的分類效率。同時(shí),樸素貝葉斯分類算法模型所需的參數(shù)很少,對(duì)缺失數(shù)據(jù)不太敏感,算法也比較簡(jiǎn)單,理論上與其他分類方法相比具有最小的誤差率。
樸素貝葉斯分類算法的思想基礎(chǔ)是:對(duì)于給出的待分類項(xiàng),求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,哪個(gè)最大,就認(rèn)為此待分類屬于哪個(gè)類別。用戶輸入處理模塊流程如圖2所示。
圖2 用戶處理模塊流程
圖2中訓(xùn)練集的獲取需要由搜索Agent定時(shí)遍歷遠(yuǎn)程資源服務(wù)器的資源信息,以保證訓(xùn)練集的全面性。這個(gè)過(guò)程優(yōu)先級(jí)不高、花費(fèi)時(shí)間較長(zhǎng)且對(duì)樸素貝葉斯算法的準(zhǔn)確度影響不大。日常的用戶輸入處理可直接調(diào)用本地的訓(xùn)練集數(shù)據(jù),該模塊是一個(gè)獨(dú)立的數(shù)據(jù)挖掘子程序,在用戶點(diǎn)擊搜索按鈕后觸發(fā),為創(chuàng)建用戶個(gè)性化搜索路由表提供條件。
3.2 移動(dòng)Agent的路由策略
在搜索Agent遷移過(guò)程中,為了實(shí)現(xiàn)更優(yōu)的搜索效果,本文為移動(dòng)類型的資源Agent和搜索Agent設(shè)計(jì)了不同的路由策略,其中資源Agent的遷移采用最小生成樹(shù)的路由策略,而搜索Agent則采用基于用戶興趣度的個(gè)性化搜索路由策略。
(1) 最小生成樹(shù)資源路由策略
按如下步驟定義最小生成樹(shù)路由算法:
a. 設(shè)集合S={未訪問(wèn)過(guò)的遠(yuǎn)程資源服務(wù)器},N={已經(jīng)訪問(wèn)過(guò)的遠(yuǎn)程資源服務(wù)器}。初始值S={S1,S2,…,Sn},N={S0}。
b. 對(duì)任意的Si∈N,計(jì)算它到服務(wù)器Sj∈S,發(fā)送Ping命令的時(shí)間Tij,選取minTij。
c. 修改路由表,讓i服務(wù)器上的移動(dòng)Agent遷移到j(luò)服務(wù)器上。若i服務(wù)器沒(méi)有駐留的資源Agent則由管理Agent新產(chǎn)生一個(gè)資源Agent訪問(wèn)j服務(wù)器。
d. 將Sj加入到N。
e. 重復(fù)步驟b ,直到所有的遠(yuǎn)程資源服務(wù)器都被訪問(wèn),資源Agent傳遞資源信息給管理Agent后,銷毀。
(2) 個(gè)性化搜索路由策略
基于用戶興趣度的個(gè)性化搜索路由策略描述如下:
a. 管理Agent根據(jù)用戶輸入處理模塊的用戶興趣度挖掘結(jié)果,從日志文件中將包含用戶最感興趣類別的遠(yuǎn)程資源服務(wù)器信息提取出來(lái)。
b. 管理Agent按遠(yuǎn)程資源服務(wù)器中關(guān)鍵類別資源數(shù)量多少,按照由多到少的次序?qū)Y源服務(wù)器進(jìn)行排序。
c. 管理Agent對(duì)每一條資源服務(wù)器信息添加一個(gè)讀寫狀態(tài)系數(shù),初始化參數(shù)為0,形成初始化搜索Agent路由信息表。
d. 當(dāng)管理Agent派遣一個(gè)搜索子Agent進(jìn)行搜索時(shí),管理Agent將路由表中與該搜索Agent遷移目的地相同的路由信息讀寫狀態(tài)參數(shù)修改為1,表示正有搜索Agent對(duì)該遠(yuǎn)程資源服務(wù)器進(jìn)行搜索任務(wù)。
e. 當(dāng)一個(gè)搜索Agent完成了它所在的遠(yuǎn)程資源服務(wù)器位置的搜索任務(wù)后,通過(guò)消息機(jī)制,管理Agent捕獲到搜索子Agent的狀態(tài)。再一次互斥讀寫搜索路由表,將當(dāng)前搜索Agent停留的遠(yuǎn)程資源服務(wù)器的狀態(tài)參數(shù)改為2,表示該遠(yuǎn)程資源服務(wù)器已經(jīng)被成功訪問(wèn)。
f. 管理Agent訪問(wèn)搜索Agent路由表的下一條路由。并與之前的資源路由表比對(duì),判斷現(xiàn)有的搜索Agent到達(dá)下一條路由的路線是否與資源Agent相同。若相同,則在搜索Agent完成搜索任務(wù)后,搜索Agent會(huì)攜帶管理Agent賦予的新的路由信息,繼續(xù)遷移到下一個(gè)遠(yuǎn)程資源站點(diǎn);若不相同,則管理Agent會(huì)創(chuàng)建一個(gè)新的搜索子Agent,遷移到下一條路由的路線。
g. 搜索Agent在完成搜索任務(wù)后,若管理Agent未賦予其新的遷移地址,搜索Agent自動(dòng)返回管理Agent。
h. 當(dāng)搜索Agent路由表中所有的路由讀寫狀態(tài)參數(shù)均為2時(shí),完成搜索。
搜索路由表的格式如表1所示。
表1 搜索路由表
3.3 搜索的并行化
針對(duì)一個(gè)資源遍歷任務(wù)或文本搜索任務(wù),往往需要多個(gè)Agent并行執(zhí)行,提高速度和效率。資源Agent的并行性主要通過(guò)最小生成樹(shù)的路由協(xié)議控制,搜索Agent的并行化則通過(guò)對(duì)搜索路由表參數(shù)的互斥讀寫并與資源Agent的比對(duì)來(lái)控制。
因此基于以上策略,用戶無(wú)需在搜索前人為規(guī)定需要幾個(gè)Agent并行執(zhí)行。而是將Agent的并發(fā)程度交給系統(tǒng)判斷,管理Agent根據(jù)路由表的訪問(wèn)情況動(dòng)態(tài)的添加、銷毀Agent。體現(xiàn)了移動(dòng)Agent的并發(fā)智能性。
Agent的并發(fā)個(gè)數(shù)并不是越多越好。理論上同時(shí)并發(fā)的Agent數(shù)目不應(yīng)該超過(guò)遠(yuǎn)程資源服務(wù)器的數(shù)量。否則,頻繁的搜索Agent、資源Agent與管理Agent交互的輸入輸出,將影響Agent處理任務(wù)的速度。
本文基于Aglet[9]平臺(tái)對(duì)以上框架進(jìn)行了實(shí)現(xiàn)。Aglet是日本IBM公司基于Java技術(shù)研發(fā)成的Mobile Agent技術(shù),通過(guò)Aglet Workbench供人們開(kāi)發(fā)和實(shí)施Agent系統(tǒng)。它提供了一個(gè)簡(jiǎn)單和全面的編程模型,可以實(shí)現(xiàn)在代理之間建立動(dòng)態(tài)和有效的編程機(jī)制,同時(shí)具有易用的安全機(jī)制。Aglet同時(shí)傳送代碼及其狀態(tài),以線程的形式駐留在計(jì)算機(jī)上,可暫停正在執(zhí)行的工作,并允許將整個(gè)Aglet分派到一臺(tái)計(jì)算機(jī)上,再重新啟動(dòng)執(zhí)行任務(wù)。
本系統(tǒng)主要通過(guò)建立3個(gè)Agent類來(lái)實(shí)現(xiàn),其中AgletFrame繼承Frame類,提供了用戶交互界面;SplitWord類提供了對(duì)文本分詞和去停用詞等預(yù)處理工作;SearchFile類是系統(tǒng)的關(guān)鍵,它是一個(gè)具有搜索功能的移動(dòng)Agent,與AgletFrame交互,攜帶用戶的查詢關(guān)鍵字到文本所在地進(jìn)行查詢。當(dāng)查詢結(jié)束或者最大Agent生存時(shí)間到點(diǎn)后將結(jié)果返回用戶。
本系統(tǒng)采用IBM的Aglet-2.0.2版本,并安裝了jdk1.6。在局域網(wǎng)中選擇4臺(tái)電腦,其中一臺(tái)為客戶端的查詢主機(jī)安裝WindowXP操作系統(tǒng),另外3臺(tái)存有搜索資源的目標(biāo)主機(jī)安裝Win7系統(tǒng),3臺(tái)目標(biāo)主機(jī)中存放有利用爬蟲(chóng)技術(shù)從網(wǎng)頁(yè)抓取下來(lái)的各類信息資源。以文本形式按新聞、體育、科技、財(cái)經(jīng)、娛樂(lè)5種類別進(jìn)行分類存儲(chǔ),信息資源在3臺(tái)目標(biāo)主機(jī)上均勻分布。
在實(shí)驗(yàn)之前,需要先裝好JDK并設(shè)置好環(huán)境變量,然后將Aglets-2.0.2.jar解壓到JDK路徑中并完成相關(guān)配置便可以啟動(dòng)Aglets移動(dòng)Agent平臺(tái)。當(dāng)四臺(tái)主機(jī)都運(yùn)行了移動(dòng)Agent環(huán)境后,便完成了實(shí)驗(yàn)環(huán)境的搭建。
4.1 與傳統(tǒng)分布式搜索對(duì)比
本文分別采用傳統(tǒng)的搜索方法和基于移動(dòng)Agent的分布式搜索方法進(jìn)行了某些主題的搜索,由于采用移動(dòng)Agent的優(yōu)勢(shì)是并發(fā)性和個(gè)性化搜索,因此下面給出實(shí)驗(yàn)的主要測(cè)試內(nèi)容與結(jié)果。
圖3顯示了本系統(tǒng)和傳統(tǒng)的分布式搜索模型的對(duì)比結(jié)果。
圖3 搜索耗費(fèi)時(shí)間對(duì)比結(jié)果
通過(guò)圖3可以看出。隨著文本數(shù)目的增加,傳統(tǒng)分布式技術(shù)的效果越差,移動(dòng)Agent技術(shù)支持的搜索越能體現(xiàn)出其優(yōu)越性。移動(dòng)Agent攜帶搜索代碼遷移到資源所在地實(shí)行本地執(zhí)行,有效地降低了運(yùn)行時(shí)間。這一點(diǎn)在文本資源很龐大的情況下尤為突出。
4.2 與普通Agent搜索系統(tǒng)對(duì)比
圖4顯示了測(cè)試3臺(tái)遠(yuǎn)程資源站點(diǎn)的資源類別相同、各類別的資源的個(gè)數(shù)也基本一致情況下的普通移動(dòng)Agent模型和本文提出的模型的搜索時(shí)間對(duì)比情況。3臺(tái)資源站點(diǎn)的資源各為1000個(gè),共測(cè)試50次。普通Agent模型為3個(gè)搜索Agent遍歷所有遠(yuǎn)程資源服務(wù)器;本文模型為具有智能并發(fā)性的個(gè)性化Agent模型。
圖4 遠(yuǎn)程資源服務(wù)器含資源類別相同的搜索時(shí)間對(duì)比
圖5顯示了測(cè)試3臺(tái)資源站點(diǎn)的資源類別完全不同,且待搜索資源的個(gè)數(shù)差距較大情況下的普通移動(dòng)Agent模型和本文提出的模型的搜索時(shí)間對(duì)比情況。其中3臺(tái)資源站點(diǎn)各有不同類別的資源1000個(gè),共測(cè)試50次。
圖5 遠(yuǎn)程資源服務(wù)器含資源類別不同的搜索時(shí)間對(duì)比
由上面的分析結(jié)果可以看出,本文提出的模型適用于資源分布差異化較大的一系列站點(diǎn)。若在資源分布相似度較高的環(huán)境下,由于涉及到用戶輸入的處理運(yùn)算,搜索效果并不明顯。而將本文模型運(yùn)用在差異化較大的遠(yuǎn)程資源服務(wù)器時(shí),根據(jù)前期的路由選擇可有效地避免對(duì)一些無(wú)效遠(yuǎn)程資源服務(wù)器的訪問(wèn),大幅度提高搜索速度。
若擴(kuò)展到多遠(yuǎn)程資源服務(wù)器的網(wǎng)絡(luò)中,可以預(yù)見(jiàn)由于分類算法預(yù)測(cè)的不確定性必然會(huì)導(dǎo)致搜索結(jié)果精確度降低,故本框架不利于對(duì)資源相似度較高的多站點(diǎn)進(jìn)行全面檢索。而對(duì)于規(guī)定有限搜索結(jié)果返回的資源類別差異性較大的環(huán)境中,則能最好的發(fā)揮效果。
4.3 Agent并行化對(duì)比
對(duì)資源Agent的并行化進(jìn)行測(cè)試,表2分別為一個(gè)資源Agent訪問(wèn)3個(gè)遠(yuǎn)程資源服務(wù)器。規(guī)定3個(gè)資源Agent同時(shí)訪問(wèn)3個(gè)資源服務(wù)器,本系統(tǒng)模型的管理Agent自主分配若干資源Agent。
表2 Agent并行化結(jié)果
根據(jù)表2中的數(shù)據(jù)分析可以得出,多Agent并行訪問(wèn)可顯著提高資源Agent的遍歷速度。與規(guī)定訪問(wèn)數(shù)目的Agent進(jìn)行遍歷相比,本系統(tǒng)對(duì)移動(dòng)Agent智能調(diào)控,減少了一個(gè)資源Agent的創(chuàng)建,從而避免了資源不必要的浪費(fèi),減輕了系統(tǒng)壓力。同時(shí),基于動(dòng)態(tài)最小生成樹(shù)的路由策略,可以讓一部分資源Agent
完成任務(wù)后不必返回管理Agent,而是攜帶新的遷移地址,遷移到新的遠(yuǎn)程資源服務(wù)器,提高了檢索效率。
通過(guò)以上實(shí)驗(yàn),將本文所提出的IMADS模型分別與傳統(tǒng)的分布式模型以及無(wú)并發(fā)的移動(dòng)Agent模型進(jìn)行比較,驗(yàn)證了IMADS模型在差異化程度較大的遠(yuǎn)程資源搜索上具有較大的優(yōu)勢(shì)。智能性的移動(dòng)Agent并行化能在一定程度上提高搜索速度,減輕系統(tǒng)壓力。
通過(guò)以上分析可以得出,將移動(dòng)Agent技術(shù)運(yùn)用在分布式信息搜索上可以解決網(wǎng)絡(luò)信息服務(wù)在實(shí)際過(guò)程中的很多難點(diǎn)和資源限制問(wèn)題,優(yōu)化了程序的執(zhí)行速度,降低了網(wǎng)絡(luò)資源的占用率??梢灶A(yù)見(jiàn),移動(dòng)Agent技術(shù)在分布式搜索上的應(yīng)用將成為未來(lái)信息搜索技術(shù)的一個(gè)發(fā)展方向。隨著移動(dòng)Agent技術(shù)的不斷發(fā)展和成熟,基于移動(dòng)Agent的分布式搜索必將成為搜索領(lǐng)域的潮流。
[1] 張?jiān)朴?移動(dòng)Agent技術(shù)[M].北京:清華大學(xué)出版社,2001.
[2] 何炎祥,陳萃萌.Agent和多Agent系統(tǒng)的設(shè)計(jì)和應(yīng)用[M].武漢:武漢大學(xué)出版社,2001.
[3] 黃佳進(jìn),邱洪君,鐘寧.基于移動(dòng)Agent的非結(jié)構(gòu)化P2P網(wǎng)絡(luò)搜索方法[J].北京大學(xué)學(xué)報(bào),2012,38(1):96-100.
[4] 王素貞,杜治娟.基于移動(dòng)Agent的移動(dòng)云計(jì)算系統(tǒng)構(gòu)建方法[J].計(jì)算機(jī)應(yīng)用,2013,33(5):1276-1280.
[5] 宋寶貴.基于過(guò)程特性的網(wǎng)絡(luò)信息重復(fù)檢索策略研究[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(5):223-225,232.
[6] 潘金貴.一個(gè)個(gè)性化的信息搜索集Agent的設(shè)計(jì)和實(shí)現(xiàn)[J].軟件學(xué)報(bào),2001,12(7):33-38.
[7] 文軍.面向查詢意圖的搜索引擎設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2012,29(10):157-162.
[8] 羅偉.基于移動(dòng)Agent的主題搜索引擎研究[D].武漢:中南民族大學(xué),2005.
[9] 徐朝輝,秦杰,甄彤.基于Agent-Aglet的Web信息檢索方法[J].微電子學(xué)與計(jì)算機(jī),2012,29(1):60-65.
DESIGN AND IMPLEMENTATION OF MOBILE AGENT-BASED DISTRIBUTED WEB SEARCH MODEL
Li Ming1Tang Yi2
1(StateGridKaifengElectricPowerCo.,Ltd.,Kaifeng475004,Henan,China)2(WuhanDataCenter,ChinaConstructionBank,Wuhan430022,Hubei,China)
Traditional Web search methods based on C/S mode have higher requirements in bandwidths and smoothness of network, therefore their retrieval efficiency of mass data in current Internet are rather low. On the basis of analysing the features of mobile Agent technology, we proposed a mobile Agent-based distributed Web search model. According to the particularity of Chinese information search, the model combines the mobile Agent technology with classification algorithms, and introduces the pre-processing process of user inputted information into search process to classify the information, then forms the users interest degree-based route selection strategy of mobile Agent and concurrent method according to classification results, and so as to improve the efficiency of Web search. In the paper we expound the constitution of the framework and the key technologies adopted, as well as the implementation and experiments of the model on Aglet platform, a development platform for mobile Agent. Experimental results indicated that, to carry out Web search using the model could reduce the search time by 50% or lesser than the traditional C/S retrieval mode, and under the condition that there are quite big difference in categories and amounts of documents resources stored in various resource servers, its search efficiency reduced by 70% or higher than the search time of other non-concurrent mobile Agent search model.
Mobile Agent Classification algorithm Route policy Parallel method
2014-08-15。廣東省省部產(chǎn)學(xué)研項(xiàng)目(2012B0911004 90)。李明,工程師,主研領(lǐng)域:Wed信息搜索,調(diào)度自動(dòng)化。唐軼,工程師。
TP18
A
10.3969/j.issn.1000-386x.2016.04.005