劉建川,楊 軍,甘 泉,譚明建
(四川省基礎地理信息中心,四川成都610041)
一種地理信息服務聚合軟件框架的設計與實現
劉建川,楊 軍,甘 泉,譚明建
(四川省基礎地理信息中心,四川成都610041)
在分析國內外GIS服務聚合的研究狀況和地理信息公共服務平臺發(fā)展趨勢的基礎上,設計一種面向服務群的地理信息服務聚合軟件框架。并在此基礎上,設計聚合服務質量評價模型,該模型實現了GIS元服務質量的動態(tài)記錄和評價,可有效支持GIS服務聚合流程的執(zhí)行、監(jiān)控及服務選擇等操作,提高聚合后的地理信息服務的健壯性。該軟件框架已廣泛應用于四川省地理信息公共服務平臺和多個數字城市地理空間框架建設中,并聚合了天地圖、ArcGIS、SuperMAP、MapGIS、NewMAP等多種格式的地理信息服務,驗證了該軟件框架的實用性。
GIS;服務聚合;服務群;軟件框架;服務質量;評價模型
目前,國家、省、市地理信息公共服務平臺正在有條不紊地建設中,如何將國家、省、市分布式的地理信息服務聚合起來,實現三級縱向互聯互通,是目前公共服務平臺研究的熱點。通過分析發(fā)現,國家公共服務平臺(天地圖)采用的是以GeoGlobe作為基礎的GIS軟件,而各省、市由于自身建設基礎和條件的不同,采用了各種各樣的基礎GIS軟件,如ArcGIS、SuperMap、MapGIS、NewMap等,而這些軟件所使用的數據、服務接口和對服務的管理方式也都有著自己的特點。與普通Web服務不同,這些異構的GIS服務面向的是復雜的分布式空間處理功能與分布式空間數據,因此,具有計算密集和數據密集等特點。GIS服務聚合應用中各個組件服務的任何異常和錯誤都可能造成聚合流程執(zhí)行的失敗,從而造成計算資源的極大浪費。
基于此,本文通過將各種相同功能的地理信息服務劃歸為一個地理信息服務群,設計了基于地理信息服務群的地理信息服務聚合軟件框架。該軟件框架首先通過服務接口的方式將服務聚合流程模型與服務發(fā)布和管理模型分離,服務聚合流程模型通過不同的服務群采用自適應的方式進行服務聚合;其次采用統一的服務發(fā)布和管理模型發(fā)布服務,用戶無需了解該聚合服務是哪幾種底層元服務聚合而成,只需要一個URL地址就能調用該地理信息服務;然后對地理信息服務的質量評價模型進行了詳細設計,從服務本身、網絡環(huán)境和服務消費者3個層次出發(fā)對元服務的服務質量(quality of service,QoS)進行描述和記錄,并通過服務質量評價模型實時向聚合服務引擎提供最優(yōu)的元服務,從而保證了聚合服務的健壯性;最后通過具體的實例說明該軟件框架是有效的。
1.GIS服務群描述
要完成不同地理信息服務之間的聚合,最重要的是將各種不同地理信息服務按照功能和服務范圍分成不同的地理信息服務群。所謂服務群,是指由不同服務提供商提供的,具有相同調用接口,能夠實現相同功能且服務范圍相同的一組地理信息服務。
服務群可表示為一個七元組。其中,ID表示服務群的標識;Name表示服務群名稱;Description表示服務群描述;Operation表示服務群提供操作的名稱;Input表示服務群中服務的輸入參數;Output表示服務群中服務的輸出參數;Capability表示服務群中服務的能力描述(如對于空間信息數據服務,能力描述包括數據范圍、提供的數據類型等)。
同一服務群中的服務具有相同的功能和調用接口,所不同的是各個服務網址和服務的QoS屬性(非功能屬性)。服務群中的每一個地理信息服務被稱作該服務群的元服務。對于元服務的常規(guī)描述可以表示為一個八元組,即MS=(ID,Name,SGID,Description,URL,Token,Range,Qos)。其中,ID表示元服務的標識;Name表示元服務名稱; Description表示元服務描述;SGID表示元服務所屬的服務群標識;URL表示元服務的調用網址;Token表示元服務使用授權標識,元服務分為公開服務和授權服務,對于授權服務應使用授權標識才能使用該服務;Range表示元服務的服務范圍;Qos表示對元服務的服務質量描述,在后續(xù)會詳細論述。
2.GIS服務聚合軟件框架設計
筆者以服務群和元服務描述為基礎,設計了基于服務群的GIS服務聚合軟件框架(如圖1所示),主要分為幾個部分:異構服務轉換模型、抽象的服務接口、服務注冊中心、聚合服務群、服務聚合流程模型。下面對這些部分作詳細介紹。
圖1 基于服務群的GIS服務聚合軟件框架圖
(1)異構服務轉換模型
在進行服務聚合時常常遇到的問題是服務的接口不同,不同的軟件廠商對同一類服務定義了不同的服務接口,如果直接對這些服務進行聚合處理,編程難度和工作量相當大。因此,筆者設計了異構服務轉換模型將這些異構的服務接口,通過一定的算法和動態(tài)類庫,轉換為抽象的GIS服務接口,這樣就大大簡化了服務的映射過程,降低了聚合的難度。
(2)抽象的服務接口
通過對地理信息服務進行研究,對其進行分類,分為地圖緩存服務、地名搜索服務、網絡分析服務、要素查詢服務、拓撲分析服務等抽象接口。通過抽象接口將基礎GIS軟件與平臺的應用服務接口進行分離,使得平臺服務不依賴于具體的GIS軟件。在數字城市和公共平臺的建設過程中,可以根據需要更換任意的基礎GIS軟件,而平臺的二次開發(fā)用戶使用的是平臺的服務接口,不會發(fā)現這些變化,不需要更改自己的業(yè)務系統。
(3)服務注冊中心
設計了統一的服務群和元服務注冊中心,用戶(管理員)可以注冊各種類型的服務群和元服務,然后將這些描述信息統一使用XML語言的形式進行表達,形成服務聚合的元服務描述庫。最后,通過讀取這些元服務的描述信息,將元服務加入到不同的服務群中,為服務聚合打下基礎。
(4)聚合服務群
將相同類型的地理信息服務組成一個服務群,如緩存地圖服務群、地名搜索服務群、網絡分析服務群、要素查詢服務群、拓撲分析服務群等。服務群中有一個或多個相同的GIS元服務,在服務聚合時,服務聚合模型通過對服務群中的元服務的QoS進行查詢,從中選擇出最佳的元服務進行聚合,從而保證了服務聚合的質量和服務的健壯性。
(5)服務聚合流程模型
根據用戶對聚合后的服務的要求,并根據服務群的類型,聚合出各種滿足用戶需求的地理信息服務。主要分為單一聚合服務和復合聚合服務。單一服務主要用于國家、省、市之間的基礎地理信息服務的聚合,如地名搜索時,以詳盡程度優(yōu)先原則,在國家層面搜索1∶5萬的地名庫,在省服務中搜索1∶1萬的地名庫,在市服務中搜索1∶2000、1∶500的地名庫,然后進行綜合取舍,向用戶返回最終的結果。復合服務主要用于橫向與各政府部門之間進行服務聚合,如省統計局提供了詳細的各區(qū)市縣的統計數據,聚合服務通過流程模型,將基礎地理信息服務與統計專題數據服務相聚合,向用戶提供各種統計專題地圖服務。
總之,服務聚合通過具體的聚合服務流程模型設計與編程實現,形成具體的軟件模塊和聚合類庫,加入到聚合服務軟件框架中,最終實現各種服務聚合實例。
1.GIS元服務的QoS
QoS是描述一個產品或者服務滿足消費者需求的能力,是GIS元服務能否被服務聚合實例成功使用的關鍵。如何保證為服務聚合實例提供最佳元服務,成為研究的熱點。
對于GIS服務,應從服務本身(服務軟件和服務宿主)、網絡環(huán)境和服務消費者3個方面對QoS進行定義,可以表示為一個六元組。QoS=(Time,Cost,Reliability,Bandwidth,ServerCapability,Throughput-Capacity)。其中:
1)執(zhí)行時間(Time,T)表示從發(fā)出GIS服務調用請求到獲得該服務處理結果所花的時間。執(zhí)行時間是描述GIS服務的動態(tài)性質量的最重要的參數,它具有動態(tài)性和不確定性的特征,受到服務器性能和網絡傳輸等多方面的影響。
2)執(zhí)行費用(Cost,C)表示消費者調用GIS服務所需支付的費用。該參數為GIS服務的靜態(tài)性參數。
3)可靠性(Reliability,R)表示GIS服務調用成功并執(zhí)行的概率。該參數是GIS服務的動態(tài)性質量的最重要的參數。
4)可用網絡帶寬(Bandwidth,B)表示GIS服務所在網絡的當前可用帶寬。該參數是GIS服務的動態(tài)性參數。
5)服務器性能(Server Capability,SC)表示服務宿主的性能信息。該參數是GIS服務的動態(tài)性參數。
6)吞吐量(Throughput Capacity,TC)表示服務所支持的最大用戶數。該參數是GIS服務的靜態(tài)性參數。
2.聚合服務質量評價模型實現機制
在服務的聚合流程模型中,為了提高聚合后的服務的健壯性和有效性,在具體的聚合服務實例運行中,聚合服務質量評價模型可分為聚合服務執(zhí)行前對元服務的選擇、執(zhí)行中對元服務的調用和執(zhí)行后對元服務的動態(tài)QoS進行實時保存等過程(如圖2所示)。
圖2 聚合服務質量評價模型實現機制邏輯圖
1)在聚合服務執(zhí)行之前,聚合服務選擇引擎先在同一服務群的一組元服務中選擇最有效的元服務進行服務聚合。
2)在聚合服務執(zhí)行中,聚合服務執(zhí)行引擎按照服務聚合流程模型調用服務群中最有效的元服務完成服務聚合操作。
3)在聚合服務執(zhí)行完成后,將所使用的元服務的最新QoS信息記錄到元服務質量評價(QoS)數據庫中,使得在下一次服務聚合實例執(zhí)行過程中,可以根據最新的服務質量評價(QoS)選擇服務群中的最佳元服務進行聚合,聚合后的服務始終是使用的最佳的元服務進行聚合操作,從而保證了聚合服務的質量。
在實際工作中,筆者采用.NET Framework編程環(huán)境實現了該服務聚合軟件框架,并將其應用到四川省地理信息公共服務平臺和多個數字城市建設中,驗證了該軟件框架的有效性。
四川省地理信息公共服務平臺作為國家地理信息公共服務平臺建設的省級節(jié)點,首先需要與國家地理信息公共服務平臺(天地圖)之間實現GIS服務的聚合,然后需要與省內的數據城市建設(信息基地)之間實現GIS服務聚合。在具體實現中,首先將天地圖服務、省平臺使用的ArcGIS服務、數字綿陽使用的ArcGIS、數字宜賓使用的MapGIS、數字雅安使用的SuperMap等異構GIS服務,統一轉換為抽象的服務接口;然后按照不同的服務類型和范圍等信息將這些GIS服務分成了不同的服務群;最后實現不同的服務群之間的聚合,聚合實例如圖3所示。
圖3 省平臺聚合天地圖的GIS服務
本文根據國家地理信息公共服務平臺的建設要求和異構GIS服務之間的聚合實際存在的問題,設計了基于服務群的地理信息服務聚合軟件框架。該軟件框架通過設計標準抽象服務接口的方式將異構GIS服務轉換為統一的、標準的服務接口,從而實現服務聚合模型與基礎GIS軟件的分離,用戶無需了解該聚合服務是哪幾種底層元服務聚合而成的,只需要一個URL地址就能調用該地理信息服務。在此基礎上,設計了聚合服務質量評價模型的實現機制,從而保證了聚合后的服務的健壯性和有效性。該軟件框架已廣泛應用于四川省地理信息公共服務平臺和多個數字城市地理空間框架建設中,驗證了該軟件框架的實用性。
[1] 王勇,代桂平,侯亞.信任感知的聚合動態(tài)選擇方法[J].計算機學報,2009,32(8):1668-1675.
[2] 劉書雷,劉云翔,張帆,等.一種服務聚合中QoS全局最優(yōu)服務動態(tài)選擇算法[J].軟件學報,2007,18(3): 646-656.
[3] 宋現鋒,劉軍志.OoS支持下的GIS服務鏈最優(yōu)化問題研究[J].電子科技大學學報,2010,39(2):298-301.
[4] ZENG Liangzhao,BENATALLAH B,DUMAS M.Quality Driven Web Service Aggregation[C]∥Proceeding of WWW.Budapest:[s.n.],2003.
[5] K?KSALAN M M,ZIONTS S,Multiple Criteria Decision Making in the New Millennium[M].[S.l.]:Spinger-Verlag,2001.
[6] YOON K.Multiple Criteria Decision Making.Lecture Notes in Economics and Mathematical Systems[M].[S.l.]:Springer-Verlag,1981.
A Software Architecture of GIS Web Service Aggregation: Design and Realization
LIU Jianchuan,YANG Jun,GAN Quan,TAN Mingjian
0494-0911(2012)08-0065-04
P208
B
2011-08-19
劉建川(1977—),男,四川成都人,碩士,主要研究方向為GIS開發(fā)和3S技術及應用。