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