李天鳴
摘 要: 闡述了基于移動(dòng)Agent的空間信息服務(wù)以及移動(dòng)Agent與空間信息服務(wù)結(jié)合的優(yōu)勢(shì),在此基礎(chǔ)上,對(duì)基于移動(dòng)Agent的地理信息公共服務(wù)平臺(tái)框架和空間信息服務(wù)集成流程的實(shí)現(xiàn)方式進(jìn)行了研究與設(shè)計(jì)。該套框架和流程能夠使各級(jí)地理信息公共服務(wù)平臺(tái)在不同層面上實(shí)現(xiàn)共享與互操作,并為空間信息服務(wù)和其他應(yīng)用/服務(wù)之間提供有效的集成機(jī)制。
關(guān)鍵詞: 移動(dòng)Agent; 空間信息服務(wù); 地理信息公共服務(wù)平臺(tái)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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)提供了對(duì)地理空間數(shù)據(jù)的輸入、存儲(chǔ)、檢索、管理、維護(hù)、分析與表現(xiàn)等功能,但是由于其采用高度集中式的體系結(jié)構(gòu),缺乏靈活的互操作性、模塊性和可擴(kuò)展性,使得傳統(tǒng)的系統(tǒng)不能適應(yīng)在分布、異構(gòu)環(huán)境下對(duì)地理空間信息進(jìn)行有效的處理。隨著Internet的普及和網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展,地理空間信息處理與應(yīng)用方式也逐漸產(chǎn)生變化,采用地理空間信息服務(wù)來(lái)解決分布式空間信息集成、處理成為一種新的解決方案。在以往數(shù)據(jù)集成研究中,集成對(duì)象主要是分布的空間數(shù)據(jù)文件、異構(gòu)的空間數(shù)據(jù)庫(kù)系統(tǒng)等,但在服務(wù)體系結(jié)構(gòu)下,集成對(duì)象是分布于Web上的多種空間數(shù)據(jù)服務(wù),在數(shù)據(jù)訪問方法、查詢接口和應(yīng)用模式等方面存在很大的不同。例如,由于空間數(shù)據(jù)服務(wù)之間的數(shù)據(jù)傳輸代價(jià)往往較大,基于數(shù)據(jù)倉(cāng)庫(kù)模型進(jìn)行空間數(shù)據(jù)服務(wù)集成便難以實(shí)現(xiàn),又由于空間數(shù)據(jù)服務(wù)的查詢能力受限,傳統(tǒng)的查詢分解與重構(gòu)方法不能直接應(yīng)用,因此,本文提出了一種基于移動(dòng)Agent的地理信息公共服務(wù)平臺(tái),并對(duì)其實(shí)現(xiàn)方式進(jìn)行了研究與設(shè)計(jì)。
1 基于移動(dòng)Agent的空間信息服務(wù)
Agent技術(shù)是人工智能的一個(gè)重要分支,目前已融入主流計(jì)算機(jī)的各個(gè)領(lǐng)域,被譽(yù)為是“軟件開發(fā)的又一重大突破”,“軟件界的革命”。Agent是處于某個(gè)環(huán)境中的一個(gè)封裝好的計(jì)算實(shí)體,具有社交能力、反應(yīng)能力、主動(dòng)能力、學(xué)習(xí)能力和協(xié)商能力。移動(dòng)Agent是Agent技術(shù)與分布式計(jì)算技術(shù)相結(jié)合的產(chǎn)物,是Agent的一個(gè)新的研究方向,除具有Agent的基本特性外,還具有移動(dòng)性、協(xié)作性、自主性、共享和互操作性等特性[1]。
⑴ 移動(dòng)性:移動(dòng)Agent能夠在某一臺(tái)機(jī)器上暫停執(zhí)行,然后根據(jù)要求或者在動(dòng)態(tài)決定了遷移路線之后,在網(wǎng)絡(luò)上由一臺(tái)機(jī)器遷移到另一臺(tái)機(jī)器上再次運(yùn)行。
⑵ 協(xié)作性:Agent之間具有高度協(xié)作性,既能根據(jù)自己的需要發(fā)送有關(guān)信息給其他Agent,也能接收、理解和處理來(lái)自其他Agent的消息,并能夠通過(guò)一定的機(jī)制共同完成復(fù)雜任務(wù)。
⑶ 自主性:移動(dòng)Agent能在沒有人或其他Agent直接干涉和指導(dǎo)的情況下持續(xù)運(yùn)行,并能控制其內(nèi)部狀態(tài)和動(dòng)作。
⑷ 共享和互操作性:移動(dòng)Agent為構(gòu)件(處理單元)共享和互操作提供了有效途徑。
由于移動(dòng)Agent所具有的這些特點(diǎn)和優(yōu)勢(shì),使得基于移動(dòng)Agent的空間信息服務(wù)模式能夠克服現(xiàn)有地理信息系統(tǒng)的一些不足之處,更好地服務(wù)于地理信息公共服務(wù)平臺(tái)這樣的綜合性復(fù)雜的系統(tǒng),這主要體現(xiàn)在以下幾個(gè)方面。
⑴ 基于移動(dòng)Agent的空間信息服務(wù)能很好地適應(yīng)開發(fā)式的網(wǎng)絡(luò)環(huán)境。
由于Agent本來(lái)就是為網(wǎng)絡(luò)而提出的,對(duì)于網(wǎng)絡(luò)環(huán)境有著天然的適應(yīng)性。帶有移動(dòng)特性的Agent使得計(jì)算單元能在盡量靠近數(shù)據(jù)源的地方進(jìn)行相關(guān)的處理,實(shí)現(xiàn)從地理信息數(shù)據(jù)的網(wǎng)絡(luò)遷移到地理數(shù)據(jù)服務(wù)網(wǎng)絡(luò)遷移的轉(zhuǎn)變,從而避免了大量地理信息數(shù)據(jù)的網(wǎng)絡(luò)傳輸;避免了信息處理過(guò)程中長(zhǎng)時(shí)間持續(xù)性網(wǎng)絡(luò)連接的出現(xiàn);降低了運(yùn)行系統(tǒng)對(duì)網(wǎng)絡(luò)性能和質(zhì)量的要求。
基于Agent 的分布式計(jì)算模式以及Agent之間靈活有效的協(xié)作模式為地理信息服務(wù)共享平臺(tái)在分布式網(wǎng)絡(luò)環(huán)境下分布式問題和需要協(xié)作的復(fù)雜問題提供了良好的解決途徑,主要協(xié)作模式包括結(jié)構(gòu)化組織模式、合約模式、多Agent規(guī)劃模式和協(xié)商模式等[2]。
⑵ 能夠提供粒度適宜的空間信息服務(wù)。
移動(dòng)Agent的按需裝配特性令其能夠把各種空間信息處理功能按需動(dòng)態(tài)地裝配起來(lái),為不同的應(yīng)用提供不同粒度的空間信息服務(wù)。這種裝配模式比組件模式擁有更高的靈活度和智能型。只要系統(tǒng)的用戶或開發(fā)人員把符合開發(fā)規(guī)范的組件按規(guī)定正確地注冊(cè)到系統(tǒng)的構(gòu)件管理器,Agent就能在執(zhí)行過(guò)程中根據(jù)實(shí)際需求主動(dòng)加載和調(diào)用這些構(gòu)件,而無(wú)需開發(fā)人員和用戶的過(guò)多干預(yù)。從某種意義上說(shuō),這種模式已屏蔽了組件層的信息,體現(xiàn)出更高層次的智能型和解決問題的自主性和主動(dòng)性。
⑶ 能夠提供靈活多樣的應(yīng)用和集成模式。
基于移動(dòng)Agent的空間信息服務(wù)可以被符合Agent領(lǐng)域有關(guān)標(biāo)準(zhǔn)的Agent系統(tǒng)進(jìn)行調(diào)用和集成。這種模式是最根本的工作模式,其優(yōu)勢(shì)是可以充分發(fā)揮Agent系統(tǒng)的優(yōu)勢(shì)以及Agent之間靈活有效的協(xié)作模式來(lái)解決問題。
基于移動(dòng)Agent的空間信息服務(wù)可以被包裝稱Web服務(wù)被各種基于Internet的應(yīng)用系統(tǒng)按照標(biāo)準(zhǔn)Web服務(wù)的模式進(jìn)行有效的調(diào)用和集成,包括WMS、WFS、WCS、KML、GeoRSS、REST等多種主流服務(wù)都可以實(shí)現(xiàn)輕松的服務(wù)發(fā)布和服務(wù)集成。
⑷ 良好的共享和互操作機(jī)制[3]。
只要特定功能的服務(wù)構(gòu)件符合相應(yīng)的接口,并按照規(guī)定的機(jī)制注冊(cè)到服務(wù)構(gòu)件注冊(cè)管理器中,移動(dòng)Agent就能夠利用這些服務(wù)構(gòu)件來(lái)完成相應(yīng)的任務(wù),并為不同開發(fā)人員所開發(fā)的服務(wù)構(gòu)件之間的交互帶來(lái)良好的途徑,從而實(shí)現(xiàn)服務(wù)構(gòu)件層次的共享和互操作性。移動(dòng)Agent和Web服務(wù)的集合,使得基于移動(dòng)Agent的空間信息服務(wù)能夠和采用其他機(jī)制實(shí)現(xiàn)的空間信息服務(wù)或者非空間信息服務(wù)以Web服務(wù)的模式進(jìn)行交互和集成,從而實(shí)現(xiàn)服務(wù)或者應(yīng)用層面的互操作。此外,對(duì)于一些歷史遺留系統(tǒng),還可以利用包裝Agent(Wrapper Agent)來(lái)進(jìn)行包裝,然后通過(guò)包裝Agent和移動(dòng)Agent以Agent的模式進(jìn)行交互,實(shí)現(xiàn)新型空間信息服務(wù)和遺留系統(tǒng)之間的互操作。這些優(yōu)勢(shì)將使得基于移動(dòng)Agent的空間信息服務(wù)能夠克服現(xiàn)有地理信息系統(tǒng)的一些不足,打破系統(tǒng)之間相對(duì)孤立的狀態(tài),以一種更靈活有效的模式融入到各級(jí)地理信息共享平臺(tái),在更多的領(lǐng)域和層次發(fā)揮相應(yīng)的作用。
2 基于移動(dòng)Agent的地理信息公共服務(wù)平臺(tái)框架設(shè)計(jì)
針對(duì)分布式空間信息服務(wù)集成和網(wǎng)格計(jì)算的特點(diǎn),設(shè)計(jì)和實(shí)現(xiàn)了全新的地理信息公共服務(wù)平臺(tái)集成框架,該框架由用戶接口層、應(yīng)用層、服務(wù)層構(gòu)成,如圖1所示。
⑴ 接口層:用戶接口Agent是代替用戶參與任務(wù)的軟件Agent,用戶接口Agent應(yīng)該充分了解用戶的需求、偏好等相關(guān)信息,負(fù)責(zé)將各種需求結(jié)構(gòu)化為標(biāo)準(zhǔn)的XML或者REST流,將用戶需求準(zhǔn)確地傳遞給應(yīng)用層Agent。
⑵ 應(yīng)用層:應(yīng)用Agent提供面向分布式空間信息集成功能模塊,它針對(duì)特定的功能需求并提供解決方法,引入領(lǐng)域本體(Ontology)對(duì)應(yīng)用Agent之間實(shí)現(xiàn)語(yǔ)義層面空間數(shù)據(jù)集成,并利用本體信息動(dòng)態(tài)調(diào)整法,力圖解決移動(dòng)Agent與本地Agent多次通訊時(shí)的接口異構(gòu)、動(dòng)態(tài)構(gòu)造等問題。
⑶ 服務(wù)層:服務(wù)Agent(Service Agent)定義為多個(gè)不同領(lǐng)域的應(yīng)用的共同需求抽象成基本的元服務(wù),并以Agent方式實(shí)現(xiàn),我們稱這類Agent為服務(wù)Agent(Service Agent)。這兩類Agent之間沒有截然明確的劃分界限,只是粒度大小的區(qū)別。多個(gè)服務(wù)Agent可以一起互相通訊,相互協(xié)作完成復(fù)雜的任務(wù)。位于服務(wù)層的服務(wù)可以分為三類:注冊(cè)服務(wù),數(shù)據(jù)服務(wù),操作服務(wù),相應(yīng)的服務(wù)層的Agent也就分成三類:Registry Agent、Data Agent和Process Agent。
Registry Agent在服務(wù)層提供了名稱和目錄服務(wù)。它允許元服務(wù)Agent注冊(cè),描述和維護(hù)自身元服務(wù)信息,同時(shí)提供元服務(wù)信息的查詢、檢索和定位服務(wù)。我們需要定義一個(gè)能為計(jì)算機(jī)解析和理解的對(duì)GIS元服務(wù)的能力,服務(wù)方式的清晰無(wú)歧義的描述機(jī)制。
Data Agent一般與一個(gè)特定的空間信息服務(wù)關(guān)聯(lián),提供該空間信息服務(wù)指定部分的訪問和傳輸服務(wù)。Data Agent包含的元數(shù)據(jù)項(xiàng)對(duì)Data Agent的行為和作用起到關(guān)鍵的指導(dǎo)作用,通過(guò)其空間操作元數(shù)據(jù)集,Data Agent可以清晰地知道自身關(guān)聯(lián)的服務(wù),可以接收哪些Process Agent請(qǐng)求,適合與哪些Process Agent交互,這樣就架設(shè)起Data Agent與Process Agent之間的橋梁。
Process Agent[4]:負(fù)責(zé)數(shù)據(jù)集成和空間處理。Process Agent提供的數(shù)據(jù)集成與空間操作功能均不跟特定的空間信息服務(wù)相關(guān),Process Agent接受Task Agent的派遣與調(diào)配。通過(guò)元數(shù)據(jù)Data Agent和Process Agent可以相互了解對(duì)方對(duì)數(shù)據(jù)格式、訪問方式及處理方式等需求,可通過(guò)互相協(xié)作來(lái)完成不同的GIS作業(yè)。Process Agent可以根據(jù)運(yùn)行環(huán)境要求,判斷是否自身遷移到Data Agent所在目的節(jié)點(diǎn),還是雙方(Data Agent、Process Agent)遷移到能夠同時(shí)容納兩者的第三方節(jié)點(diǎn)上[5]。
3 基于移動(dòng)Agent的空間信息服務(wù)集成流程
基于Agent的空間信息服務(wù)集成流程為:
⑴ 對(duì)于用戶提交的一個(gè)任務(wù),接口Agent處理用戶的輸入;
⑵ 任務(wù)Agent接受來(lái)自接口Agent的任務(wù)請(qǐng)求,并與資源管理Agent 通信提交完成任務(wù)所需的資源請(qǐng)求, 需要根據(jù)當(dāng)前數(shù)據(jù)服務(wù)的分布情況制定一個(gè)執(zhí)行策略[6];
⑶ 移動(dòng)空間信息服務(wù)代理MSAgent通過(guò)調(diào)度Agent查找最優(yōu)化全局資源Agent,并通過(guò)解析WSDL來(lái)獲取實(shí)際空間信息服務(wù)資源的調(diào)用參數(shù),將分析處理的請(qǐng)求(來(lái)自任務(wù)Agent)發(fā)送到特定網(wǎng)格節(jié)點(diǎn)中(其他公共平臺(tái)節(jié)點(diǎn)或GIS在線服務(wù)平臺(tái)),激活遠(yuǎn)程服務(wù)并收集處理結(jié)果,并將結(jié)果反饋給用戶。 如圖2所示。
4 結(jié)束語(yǔ)
本文提出了一種基于移動(dòng)Agent的地理信息公共服務(wù)平臺(tái),并對(duì)其實(shí)現(xiàn)進(jìn)行了研究與設(shè)計(jì),該體系能夠充分利用移動(dòng)Agent和空間信息服務(wù)的特點(diǎn)與優(yōu)勢(shì),克服現(xiàn)有地理信息系統(tǒng)在應(yīng)用模式和集成模式等方面的不足,更好地滿足跨地區(qū)、跨部門的地理信息系統(tǒng)之間的空間信息共享和集成,為數(shù)字城市中各種相關(guān)應(yīng)用靈活地調(diào)用、集成各種粒度適應(yīng)、易于裝配與集成的空間信息服務(wù)提供了良好的機(jī)制。
在后續(xù)研究中,還需要根據(jù)Agent領(lǐng)域和Web服務(wù)領(lǐng)域的最新研究進(jìn)展,進(jìn)一步研究移動(dòng)Agent之間的協(xié)作機(jī)制,以及移動(dòng)Agent與云服務(wù)之間的集成等內(nèi)容。
參考文獻(xiàn):
[1] 衛(wèi)肖珺,雒翠萍,張其斌,劉光明.基于Web服務(wù)和移動(dòng)Agent的GIS動(dòng)態(tài)服務(wù)技術(shù)[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服務(wù)的空間信息服務(wù)及應(yīng)用集成體系[J].計(jì)算機(jī)科學(xué),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] 曹振宇,楊軍,甘泉,劉建川.基于移動(dòng)Agent的地理信息公共服務(wù)平臺(tái)研究與設(shè)計(jì)[J].測(cè)繪通報(bào),2012.8.
[6] 袁存忠.基礎(chǔ)地理信息公共平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)[J].地理空間信息,2009.1.