李天鳴
摘 要: 闡述了基于移動Agent的空間信息服務以及移動Agent與空間信息服務結合的優(yōu)勢,在此基礎上,對基于移動Agent的地理信息公共服務平臺框架和空間信息服務集成流程的實現方式進行了研究與設計。該套框架和流程能夠使各級地理信息公共服務平臺在不同層面上實現共享與互操作,并為空間信息服務和其他應用/服務之間提供有效的集成機制。
關鍵詞: 移動Agent; 空間信息服務; 地理信息公共服務平臺
中圖分類號:TP393 文獻標志碼:A 文章編號:1006-8228(2014)07-26-03
Abstract: The spatial information service based on mobile Agent is introduced. The advantages of integrating mobile Agent and spatial information service are discussed. The geographic information public service platform framework based on mobile Agent and the integration process are studied. This framework and process can make geographic information public service share and interoperate at all levels. An effective integration mechanism between the spatial information service and other applications services is provided.
Key words: mobile agent; spatial information service; geographic information public service platform
0 引言
傳統(tǒng)的地理信息系統(tǒng)提供了對地理空間數據的輸入、存儲、檢索、管理、維護、分析與表現等功能,但是由于其采用高度集中式的體系結構,缺乏靈活的互操作性、模塊性和可擴展性,使得傳統(tǒng)的系統(tǒng)不能適應在分布、異構環(huán)境下對地理空間信息進行有效的處理。隨著Internet的普及和網絡通信技術的飛速發(fā)展,地理空間信息處理與應用方式也逐漸產生變化,采用地理空間信息服務來解決分布式空間信息集成、處理成為一種新的解決方案。在以往數據集成研究中,集成對象主要是分布的空間數據文件、異構的空間數據庫系統(tǒng)等,但在服務體系結構下,集成對象是分布于Web上的多種空間數據服務,在數據訪問方法、查詢接口和應用模式等方面存在很大的不同。例如,由于空間數據服務之間的數據傳輸代價往往較大,基于數據倉庫模型進行空間數據服務集成便難以實現,又由于空間數據服務的查詢能力受限,傳統(tǒng)的查詢分解與重構方法不能直接應用,因此,本文提出了一種基于移動Agent的地理信息公共服務平臺,并對其實現方式進行了研究與設計。
1 基于移動Agent的空間信息服務
Agent技術是人工智能的一個重要分支,目前已融入主流計算機的各個領域,被譽為是“軟件開發(fā)的又一重大突破”,“軟件界的革命”。Agent是處于某個環(huán)境中的一個封裝好的計算實體,具有社交能力、反應能力、主動能力、學習能力和協商能力。移動Agent是Agent技術與分布式計算技術相結合的產物,是Agent的一個新的研究方向,除具有Agent的基本特性外,還具有移動性、協作性、自主性、共享和互操作性等特性[1]。
⑴ 移動性:移動Agent能夠在某一臺機器上暫停執(zhí)行,然后根據要求或者在動態(tài)決定了遷移路線之后,在網絡上由一臺機器遷移到另一臺機器上再次運行。
⑵ 協作性:Agent之間具有高度協作性,既能根據自己的需要發(fā)送有關信息給其他Agent,也能接收、理解和處理來自其他Agent的消息,并能夠通過一定的機制共同完成復雜任務。
⑶ 自主性:移動Agent能在沒有人或其他Agent直接干涉和指導的情況下持續(xù)運行,并能控制其內部狀態(tài)和動作。
⑷ 共享和互操作性:移動Agent為構件(處理單元)共享和互操作提供了有效途徑。
由于移動Agent所具有的這些特點和優(yōu)勢,使得基于移動Agent的空間信息服務模式能夠克服現有地理信息系統(tǒng)的一些不足之處,更好地服務于地理信息公共服務平臺這樣的綜合性復雜的系統(tǒng),這主要體現在以下幾個方面。
⑴ 基于移動Agent的空間信息服務能很好地適應開發(fā)式的網絡環(huán)境。
由于Agent本來就是為網絡而提出的,對于網絡環(huán)境有著天然的適應性。帶有移動特性的Agent使得計算單元能在盡量靠近數據源的地方進行相關的處理,實現從地理信息數據的網絡遷移到地理數據服務網絡遷移的轉變,從而避免了大量地理信息數據的網絡傳輸;避免了信息處理過程中長時間持續(xù)性網絡連接的出現;降低了運行系統(tǒng)對網絡性能和質量的要求。
基于Agent 的分布式計算模式以及Agent之間靈活有效的協作模式為地理信息服務共享平臺在分布式網絡環(huán)境下分布式問題和需要協作的復雜問題提供了良好的解決途徑,主要協作模式包括結構化組織模式、合約模式、多Agent規(guī)劃模式和協商模式等[2]。
⑵ 能夠提供粒度適宜的空間信息服務。
移動Agent的按需裝配特性令其能夠把各種空間信息處理功能按需動態(tài)地裝配起來,為不同的應用提供不同粒度的空間信息服務。這種裝配模式比組件模式擁有更高的靈活度和智能型。只要系統(tǒng)的用戶或開發(fā)人員把符合開發(fā)規(guī)范的組件按規(guī)定正確地注冊到系統(tǒng)的構件管理器,Agent就能在執(zhí)行過程中根據實際需求主動加載和調用這些構件,而無需開發(fā)人員和用戶的過多干預。從某種意義上說,這種模式已屏蔽了組件層的信息,體現出更高層次的智能型和解決問題的自主性和主動性。
⑶ 能夠提供靈活多樣的應用和集成模式。
基于移動Agent的空間信息服務可以被符合Agent領域有關標準的Agent系統(tǒng)進行調用和集成。這種模式是最根本的工作模式,其優(yōu)勢是可以充分發(fā)揮Agent系統(tǒng)的優(yōu)勢以及Agent之間靈活有效的協作模式來解決問題。
基于移動Agent的空間信息服務可以被包裝稱Web服務被各種基于Internet的應用系統(tǒng)按照標準Web服務的模式進行有效的調用和集成,包括WMS、WFS、WCS、KML、GeoRSS、REST等多種主流服務都可以實現輕松的服務發(fā)布和服務集成。
⑷ 良好的共享和互操作機制[3]。
只要特定功能的服務構件符合相應的接口,并按照規(guī)定的機制注冊到服務構件注冊管理器中,移動Agent就能夠利用這些服務構件來完成相應的任務,并為不同開發(fā)人員所開發(fā)的服務構件之間的交互帶來良好的途徑,從而實現服務構件層次的共享和互操作性。移動Agent和Web服務的集合,使得基于移動Agent的空間信息服務能夠和采用其他機制實現的空間信息服務或者非空間信息服務以Web服務的模式進行交互和集成,從而實現服務或者應用層面的互操作。此外,對于一些歷史遺留系統(tǒng),還可以利用包裝Agent(Wrapper Agent)來進行包裝,然后通過包裝Agent和移動Agent以Agent的模式進行交互,實現新型空間信息服務和遺留系統(tǒng)之間的互操作。這些優(yōu)勢將使得基于移動Agent的空間信息服務能夠克服現有地理信息系統(tǒng)的一些不足,打破系統(tǒng)之間相對孤立的狀態(tài),以一種更靈活有效的模式融入到各級地理信息共享平臺,在更多的領域和層次發(fā)揮相應的作用。
2 基于移動Agent的地理信息公共服務平臺框架設計
針對分布式空間信息服務集成和網格計算的特點,設計和實現了全新的地理信息公共服務平臺集成框架,該框架由用戶接口層、應用層、服務層構成,如圖1所示。
⑴ 接口層:用戶接口Agent是代替用戶參與任務的軟件Agent,用戶接口Agent應該充分了解用戶的需求、偏好等相關信息,負責將各種需求結構化為標準的XML或者REST流,將用戶需求準確地傳遞給應用層Agent。
⑵ 應用層:應用Agent提供面向分布式空間信息集成功能模塊,它針對特定的功能需求并提供解決方法,引入領域本體(Ontology)對應用Agent之間實現語義層面空間數據集成,并利用本體信息動態(tài)調整法,力圖解決移動Agent與本地Agent多次通訊時的接口異構、動態(tài)構造等問題。
⑶ 服務層:服務Agent(Service Agent)定義為多個不同領域的應用的共同需求抽象成基本的元服務,并以Agent方式實現,我們稱這類Agent為服務Agent(Service Agent)。這兩類Agent之間沒有截然明確的劃分界限,只是粒度大小的區(qū)別。多個服務Agent可以一起互相通訊,相互協作完成復雜的任務。位于服務層的服務可以分為三類:注冊服務,數據服務,操作服務,相應的服務層的Agent也就分成三類:Registry Agent、Data Agent和Process Agent。
Registry Agent在服務層提供了名稱和目錄服務。它允許元服務Agent注冊,描述和維護自身元服務信息,同時提供元服務信息的查詢、檢索和定位服務。我們需要定義一個能為計算機解析和理解的對GIS元服務的能力,服務方式的清晰無歧義的描述機制。
Data Agent一般與一個特定的空間信息服務關聯,提供該空間信息服務指定部分的訪問和傳輸服務。Data Agent包含的元數據項對Data Agent的行為和作用起到關鍵的指導作用,通過其空間操作元數據集,Data Agent可以清晰地知道自身關聯的服務,可以接收哪些Process Agent請求,適合與哪些Process Agent交互,這樣就架設起Data Agent與Process Agent之間的橋梁。
Process Agent[4]:負責數據集成和空間處理。Process Agent提供的數據集成與空間操作功能均不跟特定的空間信息服務相關,Process Agent接受Task Agent的派遣與調配。通過元數據Data Agent和Process Agent可以相互了解對方對數據格式、訪問方式及處理方式等需求,可通過互相協作來完成不同的GIS作業(yè)。Process Agent可以根據運行環(huán)境要求,判斷是否自身遷移到Data Agent所在目的節(jié)點,還是雙方(Data Agent、Process Agent)遷移到能夠同時容納兩者的第三方節(jié)點上[5]。
3 基于移動Agent的空間信息服務集成流程
基于Agent的空間信息服務集成流程為:
⑴ 對于用戶提交的一個任務,接口Agent處理用戶的輸入;
⑵ 任務Agent接受來自接口Agent的任務請求,并與資源管理Agent 通信提交完成任務所需的資源請求, 需要根據當前數據服務的分布情況制定一個執(zhí)行策略[6];
⑶ 移動空間信息服務代理MSAgent通過調度Agent查找最優(yōu)化全局資源Agent,并通過解析WSDL來獲取實際空間信息服務資源的調用參數,將分析處理的請求(來自任務Agent)發(fā)送到特定網格節(jié)點中(其他公共平臺節(jié)點或GIS在線服務平臺),激活遠程服務并收集處理結果,并將結果反饋給用戶。 如圖2所示。
4 結束語
本文提出了一種基于移動Agent的地理信息公共服務平臺,并對其實現進行了研究與設計,該體系能夠充分利用移動Agent和空間信息服務的特點與優(yōu)勢,克服現有地理信息系統(tǒng)在應用模式和集成模式等方面的不足,更好地滿足跨地區(qū)、跨部門的地理信息系統(tǒng)之間的空間信息共享和集成,為數字城市中各種相關應用靈活地調用、集成各種粒度適應、易于裝配與集成的空間信息服務提供了良好的機制。
在后續(xù)研究中,還需要根據Agent領域和Web服務領域的最新研究進展,進一步研究移動Agent之間的協作機制,以及移動Agent與云服務之間的集成等內容。
參考文獻:
[1] 衛(wèi)肖珺,雒翠萍,張其斌,劉光明.基于Web服務和移動Agent的GIS動態(tài)服務技術[J].甘肅科技,2010.26(13):19-22
[2] Nwana H S, Lee L, Jennings N R. Co-ordination in Multi-AgentSystems. In: H.S. Nwana, N. Azarmi,eds.Software Agents and Soft Computing[C];Towards Enhancing Machine Intelligence, Lecture Notes in Artificial Intelligence 1198, Springer-Verlag, Berlin and Heidelberg,1996.
[3] 黃曉斌,李琦,董寶青.基于GeoAgent和Web服務的空間信息服務及應用集成體系[J].計算機科學,2004.31(9):72-74
[4] Hesam Chiniforooshan Esfahani, Seyed Hassan Mirian Hosseinabadi,Amirreza Abdolrashidi. Process Agent: A Solution for Workflow Automation [R]. In:12th International CSI Computer Conference(CSICC'07). Shahid Beheshti University, Tehran, Iran, 20-22 February 2007.
[5] 曹振宇,楊軍,甘泉,劉建川.基于移動Agent的地理信息公共服務平臺研究與設計[J].測繪通報,2012.8.
[6] 袁存忠.基礎地理信息公共平臺的設計和實現[J].地理空間信息,2009.1.