曹振宇,楊 軍,甘 泉,劉建川
(1.武漢大學測繪遙感信息工程國家重點實驗室,湖北武漢430079;2.四川省基礎地理信息中心,四川成都610041)
基于移動Agent的地理信息服務設計與實現
曹振宇1,2,楊 軍2,甘 泉2,劉建川2
(1.武漢大學測繪遙感信息工程國家重點實驗室,湖北武漢430079;2.四川省基礎地理信息中心,四川成都610041)
首先從提升基礎地理信息公共服務平臺地理信息服務能力的角度,引入移動Agent技術,并設計了基于移動Agent的地理信息服務模型;然后,以庫容計算為例,在.NET平臺下研究基于移動Agent的地理信息服務實現過程;最后,對在基礎地理信息公共服務平臺上發布基于移動Agent的地理信息服務提出展望。
移動Agent;地理信息服務;.NET平臺
測繪的發展正經歷一場由地圖生產為主轉向以地理信息服務為主的變革[1]。可以說地理信息服務為測繪成果應用開辟了新途徑。測繪部門不再僅僅是地理信息數據的生產和管理者,而應轉變為地理信息服務的提供者和維護者。近年來,國家、省、市級公眾版基礎地理信息公共平臺陸續上線,開始為政府、企業和公眾提供地理信息服務。這些基礎地理信息公共平臺主要提供的地理信息服務是二維和三維地圖瀏覽、地名搜索定位、距離和面積量算、駕車路徑規劃等。有些平臺還為專業用戶提供API調用地理信息服務以便其搭建自己的業務系統。
國內外開展地理信息服務研究與應用比較多,主要集中在基于Web Services和網格的地理信息服務方面。楊崇俊從網格和Web Services結合的角度,提出了計算環境和數據環境結合實現地理信息服務的途徑[2];王家耀指出網格服務為實現信息資源共享和協同解決問題提供了新的機遇和技術途徑,并分析了Web Services和Grid Service間的相互聯系和區別[3]。Comito基于網格技術建立面向服務分布式空間數據查詢系統[4]。而在地理信息公共服務平臺建設研究方面的文獻可以看出其地理信息服務主要是基于Web Services技術,并且是在基于面向服務架構(SOA)下,遵循OGC服務規范來實現的[5-7]。
由于基于Web Services地理信息服務存在著數據和功能相對綁定、處理功能相對簡單等不足,從而導致目前在線的地理信息公共服務平臺提供的地理處理功能服務簡單,不能按用戶需要提供動態地理信息服務。本文研究在基礎地理信息公共服務平臺構建的基礎上,引入移動 Agent(mobile agent,MA)技術,建立支持分布異構地理信息服務環境,在數據資源、計算資源共享的層次上提供地理信息服務,并整合數據服務提供方、計算服務提供方和用戶之間的關系。
Agent起源于人工智能領域,是能代表用戶完成指定任務的軟件實體,它的基本特性有自治性、反應性、主動性和環境適應性。而MA除了具有上述基本特性外,另一個重要特性就是可以在它的宿主主機間相互遷移。將MA技術引入到地理信息服務領域,使MA成為地理信息服務的載體,具有強大的優勢[8-9]。
1)提升數據安全,減少地理信息服務中的數據傳輸量。MA的本質是將計算移動到數據端,直接在數據端進行本地處理,只返回最終結果,從而避免了大量中間數據在通信兩端的傳輸。
2)提升地理信息服務質量。因為MA支持離線計算,當派出 Agent之后,可以斷開網絡連接,Agent會在網絡上自主地運行,當Agent完成任務之后,會將結果反饋給用戶,而復雜的GIS功能計算往往需要很長的時間消耗。正是因為計算過程可以是離線計算,因此可以避免網絡故障而導致的服務失敗,從而提高了服務的穩健性。
3)具有動態適應性。MA能和其運行環境進行交互,感知環境的變化,并自主地、快速地作出反應,使整個系統始終保持在最優狀態。
4)提供個性化地理信息服務。使用MA技術,用戶可以根據服務器端提供的API編寫滿足自己特定需要的Agent,然后發送到相應的環境中運行,利用MAE數據資源和計算資源提供地理信息服務。這種方式可以有效地增加服務器功能的伸縮性。
國內利用MA技術實現地理信息服務的研究比較多,如李琦提出了基于空間智能體GeoAgent的地理信息服務模式[8],該模式能夠充分利用空間智能體GeoAgent的特點和優勢;方志祥、李清泉研究了基于MA的地理信息服務及其模型,并對MA地理信息服務潛在的領域進行了探討[9]。
本文研究的重點是從地理信息服務提供者的角度,研究了MA地理信息服務模型,設計了基于MA的地理信息服務框架,并利用.NET遠程對象和反射技術開發了基于MA的地理信息服務原型系統。最后對在地理信息公共服務平臺上發布基于MA的地理信息服務提出了展望。
1.基于MA的地理信息服務模型
MA是一種新型的分布式計算技術。作為一個能完成特定任務的軟件實體,MA的網絡結構如圖1所示,MA在網絡中必須駐留在宿主系統中,并根據任務在網絡中自由移動,選擇相應的服務器主機完成計算任務。

圖1 MA及其相應網絡環境
一個基于MA的地理信息服務系統由MA、移動Agent的宿主(mobile agent host,MAH)、移動Agent環境(mobile agent environments,MAE)和移動Agent管理中心(mobile agent manager,MAM)等幾個部分構成。MAM負責MA和MAE資源的管理,其服務過程模型如圖2所示。用戶向MA管理中心提出服務請求,MA管理中心在MA和MAE資源列表的基礎上進行任務求解,選擇組織MA,并將MA派遣到相應的MAE中計算,得到結果后返回給用戶。

圖2 基于MA的地理信息服務模型
2.基于MA地理信息服務框架體系設計
根據基于MA的地理信息服務模型,筆者設計了基于MA的地理信息服務框架,框架包括3個部分,如圖3所示。
1)MAM。MAM由MA目錄管理模塊、MA地址管理模塊、MA通信管理模塊、MA安全管理模塊和MA支撐環境管理模塊構成。MA目錄管理模塊負責MA功能和描述性信息的發布和管理;MA通信管理模塊負責MA通信管理,如通信協議和通信通道管理;MA地址管理主要管理MA駐留的宿主在網絡中的位置;MA安全管理模塊負責服務過程中安全策略的管理;MA支撐環境管理模塊負責MA數據環境和軟、硬件環境的管理。
2)MA及MAH系統。MA由計算服務提供方提供,在網絡上任意節點間移動。MA的功能、運行環境、通信等描述性信息在MAM注冊和發布。
3)(MAE)系統。MAE是MA運行的支撐環境,包括數據環境、軟件環境和硬件環境,相關信息在MAM中注冊和發布。

圖3 基于MA的地理信息服務框架體系
3.Agent實現
MA已經從理論走入應用,可以選擇基于傳統的解釋性語言、基于Java語言或者CORBA平臺來實現。現有的比較典型的商業Agent開發環境有General Magic公司的Odysses、IBM公司的Aglet和Recursion公司的Voyager。但由于這幾種商業開發環境和主流開發語言的兼容性問題制約了它們的普及和發展。MA系統開發面臨著通信建立、代碼移動、程序集加載運行等主要難題,而微軟.NET平臺中的Remoting和反射技術,則為系統開發提供了很好的環境支撐,簡化了開發過程。本文選擇.NET平臺實現基于MA的地理信息服務,利用.NET提供的反射機制和通信機制,實現了基于反射機制的MA在新的運行環境中的重構,即實現了Agent在不同主機間的遷移,從而完成基于MA的地理信息服務系統的開發。
本文參照微軟MSDN中給出的MA系統的實現方法實現了基于MA的地理信息服務系統[10]。系統主要包括MA基類、AgentHost類。MA類作為所有MA的基類定義成一個抽象類,它包含Run和Move兩個方法,能實現移動MA的移動和工作。具體的MA子類繼承MA基類,并完善基類中Run方法。以庫容計算為例,MA基類和MA子類的關系如圖4所示,類 GISAgent為 MA基類,GISAgent_ CalStorageCapacity為庫容計算子類。工作時MA子類先調用Move方法遷移到目標主機,然后調用Run方法完成庫容計算工作。

圖4 MA類設計圖
而AgentHost類作為MA接待類,包含一個Host-Agent方法,以實現主機間的通信和遠程對象的調用。
本文在以上類庫設計的基礎上開發原型系統,實現了庫容計算地理信息服務,用戶界面如圖5所示。

圖5 基于MA庫容計算服務界面
本文討論了基于MA地理信息服務的優勢,在.NET平臺下設計了基于MA的地理信息服務模型,并以庫容計算為例,實現了基于MA的地理信息服務。試驗表明,在.NET平臺下開發的基于MA的地理信息服務能實現MA的遷移和工作,在節約網絡帶寬、突破數據遷移限制等情況下實現了地理信息服務,從而提高了地理信息服務能力。
本文研究的主要目的是提出一個基于MA的地理信息服務框架,整合數據服務提供方、計算服務提供方和用戶之間的關系,創新地理信息服務的模式,提升省級地理信息公共服務平臺服務水平。用戶、數據提供方、計算提供方(MA提供方)都可以將本身資源在省級地理信息公共服務平臺上注冊。用戶在登錄后,既是地理信息服務的接受方,同時作為基于MA的地理信息服務系統網絡中的一個節點,又可以容許MA遷移到自身進行訪問,轉而作為數據資源和計算資源的提供方。隨著計算機網絡和人工智能技術的進一步發展,基于MA的地理信息服務必將進一步整合數據服務提供方、計算服務提供方和用戶資源之間的關系,具有很大的商業價值和應用前景。
[1] 李德仁,邵振峰.信息化測繪的本質是服務[J].測繪通報,2008(5):1-4.
[2] 楊崇俊.網格及其對地理信息服務的影響[J].地理信息世界,2003,1(1):20-22.
[3] 王家耀.地理信息系統的發展與發展中的地理信息系統[J].中國工程科學,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要素服務的優化方法[J].測繪學報,2005,34(2):169-174.
[6] 袁存忠.基礎地理信息公共平臺的設計和實現[J].地理空間信息,2009,7(1):22-24.
[7] 周耀學,衛東,邱文.省級地理信息公共服務平臺服務體系建設[J].測繪通報,2011(8):23-25.
[8] 李琦,黃曉斌.基于GeoAgent的地理信息服務[J].測繪通報,2002(6):44-47.
[9] 方志祥,李清泉.基于Mobile Agent的地理信息動態服務模型[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—),男,湖南岳陽人,高級工程師,博士生,主要從事地理信息服務、多維地理信息數據模型方面的研究工作。