曹振宇,楊 軍,甘 泉,劉建川
(1.武漢大學(xué)測繪遙感信息工程國家重點實驗室,湖北武漢430079;2.四川省基礎(chǔ)地理信息中心,四川成都610041)
基于移動Agent的地理信息服務(wù)設(shè)計與實現(xiàn)
曹振宇1,2,楊 軍2,甘 泉2,劉建川2
(1.武漢大學(xué)測繪遙感信息工程國家重點實驗室,湖北武漢430079;2.四川省基礎(chǔ)地理信息中心,四川成都610041)
首先從提升基礎(chǔ)地理信息公共服務(wù)平臺地理信息服務(wù)能力的角度,引入移動Agent技術(shù),并設(shè)計了基于移動Agent的地理信息服務(wù)模型;然后,以庫容計算為例,在.NET平臺下研究基于移動Agent的地理信息服務(wù)實現(xiàn)過程;最后,對在基礎(chǔ)地理信息公共服務(wù)平臺上發(fā)布基于移動Agent的地理信息服務(wù)提出展望。
移動Agent;地理信息服務(wù);.NET平臺
測繪的發(fā)展正經(jīng)歷一場由地圖生產(chǎn)為主轉(zhuǎn)向以地理信息服務(wù)為主的變革[1]。可以說地理信息服務(wù)為測繪成果應(yīng)用開辟了新途徑。測繪部門不再僅僅是地理信息數(shù)據(jù)的生產(chǎn)和管理者,而應(yīng)轉(zhuǎn)變?yōu)榈乩硇畔⒎?wù)的提供者和維護者。近年來,國家、省、市級公眾版基礎(chǔ)地理信息公共平臺陸續(xù)上線,開始為政府、企業(yè)和公眾提供地理信息服務(wù)。這些基礎(chǔ)地理信息公共平臺主要提供的地理信息服務(wù)是二維和三維地圖瀏覽、地名搜索定位、距離和面積量算、駕車路徑規(guī)劃等。有些平臺還為專業(yè)用戶提供API調(diào)用地理信息服務(wù)以便其搭建自己的業(yè)務(wù)系統(tǒng)。
國內(nèi)外開展地理信息服務(wù)研究與應(yīng)用比較多,主要集中在基于Web Services和網(wǎng)格的地理信息服務(wù)方面。楊崇俊從網(wǎng)格和Web Services結(jié)合的角度,提出了計算環(huán)境和數(shù)據(jù)環(huán)境結(jié)合實現(xiàn)地理信息服務(wù)的途徑[2];王家耀指出網(wǎng)格服務(wù)為實現(xiàn)信息資源共享和協(xié)同解決問題提供了新的機遇和技術(shù)途徑,并分析了Web Services和Grid Service間的相互聯(lián)系和區(qū)別[3]。Comito基于網(wǎng)格技術(shù)建立面向服務(wù)分布式空間數(shù)據(jù)查詢系統(tǒng)[4]。而在地理信息公共服務(wù)平臺建設(shè)研究方面的文獻可以看出其地理信息服務(wù)主要是基于Web Services技術(shù),并且是在基于面向服務(wù)架構(gòu)(SOA)下,遵循OGC服務(wù)規(guī)范來實現(xiàn)的[5-7]。
由于基于Web Services地理信息服務(wù)存在著數(shù)據(jù)和功能相對綁定、處理功能相對簡單等不足,從而導(dǎo)致目前在線的地理信息公共服務(wù)平臺提供的地理處理功能服務(wù)簡單,不能按用戶需要提供動態(tài)地理信息服務(wù)。本文研究在基礎(chǔ)地理信息公共服務(wù)平臺構(gòu)建的基礎(chǔ)上,引入移動 Agent(mobile agent,MA)技術(shù),建立支持分布異構(gòu)地理信息服務(wù)環(huán)境,在數(shù)據(jù)資源、計算資源共享的層次上提供地理信息服務(wù),并整合數(shù)據(jù)服務(wù)提供方、計算服務(wù)提供方和用戶之間的關(guān)系。
Agent起源于人工智能領(lǐng)域,是能代表用戶完成指定任務(wù)的軟件實體,它的基本特性有自治性、反應(yīng)性、主動性和環(huán)境適應(yīng)性。而MA除了具有上述基本特性外,另一個重要特性就是可以在它的宿主主機間相互遷移。將MA技術(shù)引入到地理信息服務(wù)領(lǐng)域,使MA成為地理信息服務(wù)的載體,具有強大的優(yōu)勢[8-9]。
1)提升數(shù)據(jù)安全,減少地理信息服務(wù)中的數(shù)據(jù)傳輸量。MA的本質(zhì)是將計算移動到數(shù)據(jù)端,直接在數(shù)據(jù)端進行本地處理,只返回最終結(jié)果,從而避免了大量中間數(shù)據(jù)在通信兩端的傳輸。
2)提升地理信息服務(wù)質(zhì)量。因為MA支持離線計算,當派出 Agent之后,可以斷開網(wǎng)絡(luò)連接,Agent會在網(wǎng)絡(luò)上自主地運行,當Agent完成任務(wù)之后,會將結(jié)果反饋給用戶,而復(fù)雜的GIS功能計算往往需要很長的時間消耗。正是因為計算過程可以是離線計算,因此可以避免網(wǎng)絡(luò)故障而導(dǎo)致的服務(wù)失敗,從而提高了服務(wù)的穩(wěn)健性。
3)具有動態(tài)適應(yīng)性。MA能和其運行環(huán)境進行交互,感知環(huán)境的變化,并自主地、快速地作出反應(yīng),使整個系統(tǒng)始終保持在最優(yōu)狀態(tài)。
4)提供個性化地理信息服務(wù)。使用MA技術(shù),用戶可以根據(jù)服務(wù)器端提供的API編寫滿足自己特定需要的Agent,然后發(fā)送到相應(yīng)的環(huán)境中運行,利用MAE數(shù)據(jù)資源和計算資源提供地理信息服務(wù)。這種方式可以有效地增加服務(wù)器功能的伸縮性。
國內(nèi)利用MA技術(shù)實現(xiàn)地理信息服務(wù)的研究比較多,如李琦提出了基于空間智能體GeoAgent的地理信息服務(wù)模式[8],該模式能夠充分利用空間智能體GeoAgent的特點和優(yōu)勢;方志祥、李清泉研究了基于MA的地理信息服務(wù)及其模型,并對MA地理信息服務(wù)潛在的領(lǐng)域進行了探討[9]。
本文研究的重點是從地理信息服務(wù)提供者的角度,研究了MA地理信息服務(wù)模型,設(shè)計了基于MA的地理信息服務(wù)框架,并利用.NET遠程對象和反射技術(shù)開發(fā)了基于MA的地理信息服務(wù)原型系統(tǒng)。最后對在地理信息公共服務(wù)平臺上發(fā)布基于MA的地理信息服務(wù)提出了展望。
1.基于MA的地理信息服務(wù)模型
MA是一種新型的分布式計算技術(shù)。作為一個能完成特定任務(wù)的軟件實體,MA的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,MA在網(wǎng)絡(luò)中必須駐留在宿主系統(tǒng)中,并根據(jù)任務(wù)在網(wǎng)絡(luò)中自由移動,選擇相應(yīng)的服務(wù)器主機完成計算任務(wù)。
圖1 MA及其相應(yīng)網(wǎng)絡(luò)環(huán)境
一個基于MA的地理信息服務(wù)系統(tǒng)由MA、移動Agent的宿主(mobile agent host,MAH)、移動Agent環(huán)境(mobile agent environments,MAE)和移動Agent管理中心(mobile agent manager,MAM)等幾個部分構(gòu)成。MAM負責(zé)MA和MAE資源的管理,其服務(wù)過程模型如圖2所示。用戶向MA管理中心提出服務(wù)請求,MA管理中心在MA和MAE資源列表的基礎(chǔ)上進行任務(wù)求解,選擇組織MA,并將MA派遣到相應(yīng)的MAE中計算,得到結(jié)果后返回給用戶。
圖2 基于MA的地理信息服務(wù)模型
2.基于MA地理信息服務(wù)框架體系設(shè)計
根據(jù)基于MA的地理信息服務(wù)模型,筆者設(shè)計了基于MA的地理信息服務(wù)框架,框架包括3個部分,如圖3所示。
1)MAM。MAM由MA目錄管理模塊、MA地址管理模塊、MA通信管理模塊、MA安全管理模塊和MA支撐環(huán)境管理模塊構(gòu)成。MA目錄管理模塊負責(zé)MA功能和描述性信息的發(fā)布和管理;MA通信管理模塊負責(zé)MA通信管理,如通信協(xié)議和通信通道管理;MA地址管理主要管理MA駐留的宿主在網(wǎng)絡(luò)中的位置;MA安全管理模塊負責(zé)服務(wù)過程中安全策略的管理;MA支撐環(huán)境管理模塊負責(zé)MA數(shù)據(jù)環(huán)境和軟、硬件環(huán)境的管理。
2)MA及MAH系統(tǒng)。MA由計算服務(wù)提供方提供,在網(wǎng)絡(luò)上任意節(jié)點間移動。MA的功能、運行環(huán)境、通信等描述性信息在MAM注冊和發(fā)布。
3)(MAE)系統(tǒng)。MAE是MA運行的支撐環(huán)境,包括數(shù)據(jù)環(huán)境、軟件環(huán)境和硬件環(huán)境,相關(guān)信息在MAM中注冊和發(fā)布。
圖3 基于MA的地理信息服務(wù)框架體系
3.Agent實現(xiàn)
MA已經(jīng)從理論走入應(yīng)用,可以選擇基于傳統(tǒng)的解釋性語言、基于Java語言或者CORBA平臺來實現(xiàn)?,F(xiàn)有的比較典型的商業(yè)Agent開發(fā)環(huán)境有General Magic公司的Odysses、IBM公司的Aglet和Recursion公司的Voyager。但由于這幾種商業(yè)開發(fā)環(huán)境和主流開發(fā)語言的兼容性問題制約了它們的普及和發(fā)展。MA系統(tǒng)開發(fā)面臨著通信建立、代碼移動、程序集加載運行等主要難題,而微軟.NET平臺中的Remoting和反射技術(shù),則為系統(tǒng)開發(fā)提供了很好的環(huán)境支撐,簡化了開發(fā)過程。本文選擇.NET平臺實現(xiàn)基于MA的地理信息服務(wù),利用.NET提供的反射機制和通信機制,實現(xiàn)了基于反射機制的MA在新的運行環(huán)境中的重構(gòu),即實現(xiàn)了Agent在不同主機間的遷移,從而完成基于MA的地理信息服務(wù)系統(tǒng)的開發(fā)。
本文參照微軟MSDN中給出的MA系統(tǒng)的實現(xiàn)方法實現(xiàn)了基于MA的地理信息服務(wù)系統(tǒng)[10]。系統(tǒng)主要包括MA基類、AgentHost類。MA類作為所有MA的基類定義成一個抽象類,它包含Run和Move兩個方法,能實現(xiàn)移動MA的移動和工作。具體的MA子類繼承MA基類,并完善基類中Run方法。以庫容計算為例,MA基類和MA子類的關(guān)系如圖4所示,類 GISAgent為 MA基類,GISAgent_ CalStorageCapacity為庫容計算子類。工作時MA子類先調(diào)用Move方法遷移到目標主機,然后調(diào)用Run方法完成庫容計算工作。
圖4 MA類設(shè)計圖
而AgentHost類作為MA接待類,包含一個Host-Agent方法,以實現(xiàn)主機間的通信和遠程對象的調(diào)用。
本文在以上類庫設(shè)計的基礎(chǔ)上開發(fā)原型系統(tǒng),實現(xiàn)了庫容計算地理信息服務(wù),用戶界面如圖5所示。
圖5 基于MA庫容計算服務(wù)界面
本文討論了基于MA地理信息服務(wù)的優(yōu)勢,在.NET平臺下設(shè)計了基于MA的地理信息服務(wù)模型,并以庫容計算為例,實現(xiàn)了基于MA的地理信息服務(wù)。試驗表明,在.NET平臺下開發(fā)的基于MA的地理信息服務(wù)能實現(xiàn)MA的遷移和工作,在節(jié)約網(wǎng)絡(luò)帶寬、突破數(shù)據(jù)遷移限制等情況下實現(xiàn)了地理信息服務(wù),從而提高了地理信息服務(wù)能力。
本文研究的主要目的是提出一個基于MA的地理信息服務(wù)框架,整合數(shù)據(jù)服務(wù)提供方、計算服務(wù)提供方和用戶之間的關(guān)系,創(chuàng)新地理信息服務(wù)的模式,提升省級地理信息公共服務(wù)平臺服務(wù)水平。用戶、數(shù)據(jù)提供方、計算提供方(MA提供方)都可以將本身資源在省級地理信息公共服務(wù)平臺上注冊。用戶在登錄后,既是地理信息服務(wù)的接受方,同時作為基于MA的地理信息服務(wù)系統(tǒng)網(wǎng)絡(luò)中的一個節(jié)點,又可以容許MA遷移到自身進行訪問,轉(zhuǎn)而作為數(shù)據(jù)資源和計算資源的提供方。隨著計算機網(wǎng)絡(luò)和人工智能技術(shù)的進一步發(fā)展,基于MA的地理信息服務(wù)必將進一步整合數(shù)據(jù)服務(wù)提供方、計算服務(wù)提供方和用戶資源之間的關(guān)系,具有很大的商業(yè)價值和應(yīng)用前景。
[1] 李德仁,邵振峰.信息化測繪的本質(zhì)是服務(wù)[J].測繪通報,2008(5):1-4.
[2] 楊崇俊.網(wǎng)格及其對地理信息服務(wù)的影響[J].地理信息世界,2003,1(1):20-22.
[3] 王家耀.地理信息系統(tǒng)的發(fā)展與發(fā)展中的地理信息系統(tǒng)[J].中國工程科學(xué),2009,11(2):10-16.
[4] COMITO C,GOUNARIS A,SAKELLARIOU R,et.al.A Service-oriented System for Distributed Data Querying and Integration on Grids[J].Future Generation Computer Systems,2009,25(5):511-524.
[5] 賈文玨,龔健雅,李斌.Web要素服務(wù)的優(yōu)化方法[J].測繪學(xué)報,2005,34(2):169-174.
[6] 袁存忠.基礎(chǔ)地理信息公共平臺的設(shè)計和實現(xiàn)[J].地理空間信息,2009,7(1):22-24.
[7] 周耀學(xué),衛(wèi)東,邱文.省級地理信息公共服務(wù)平臺服務(wù)體系建設(shè)[J].測繪通報,2011(8):23-25.
[8] 李琦,黃曉斌.基于GeoAgent的地理信息服務(wù)[J].測繪通報,2002(6):44-47.
[9] 方志祥,李清泉.基于Mobile Agent的地理信息動態(tài)服務(wù)模型[J].測繪通報,2005(3):13-15.
[10] MATT N.Write Mobile Agents In.NET to Roam and Interact on Your Network[EB/OL].[2012-02-02].http:∥msdn.microsoft.com/en-us/magazine/cc163649.aspx.
Design and Implementation of Mobile Agent Based Geographic Information Service
CAO Zhenyu,YANG Jun,GAN Quan,LIU Jianchuan
0494-0911(2012)08-0018-03
P208
B
2012-02-02
曹振宇(1978—),男,湖南岳陽人,高級工程師,博士生,主要從事地理信息服務(wù)、多維地理信息數(shù)據(jù)模型方面的研究工作。