收稿日期:2007-10-30;
修回日期:2008-05-30
基金項目:國家“十五”計劃資助項目(2004-BA608B)
作者簡介:譚慶全(1980-),男,山東臨沂人,博士,主要研究方向為遙感空間信息服務、網絡地理信息系統等(tanqq@irsa.ac.cn);
劉群(1978-),女,山東淄博人,講師,碩士,主要研究方向為固體激光器與光電子技術等;
畢建濤(1976-),男,山東威海人,博士,主要研究方向為信息共享與信息服務;
池天河(1961-),男,福建長樂人,研究員,博導,主要研究方向為數字城市、信息共享、大型地理信息網絡服務系統建設等.
(1.中國科學院 遙感應用研究所 北京 100101; 2.北京市地震局 北京 100080; 3.山東理工大學 電氣與電子工程學院 山東 淄博 255049)
摘要:
當前網絡地理信息系統(WebGIS)的應用多以瘦客戶端模式為主,而瘦客戶端WebGIS又有多種實現模式,但有關不同實現模式下系統性能的測試與研究尚不多見。首先總結了瘦客戶端WebGIS的三種實現模式;其次利用負載測試軟件LoadRunner對不同實現模式下系統的性能進行仿真測試;最后對測試結果進行對比分析,對不同實現模式下系統的性能及應用范圍進行了討論。該研究結果為用戶采用哪種實現方式進行WebGIS的設計與開發提供了參考依據,具有一定的指導作用。
關鍵詞:網絡地理信息系統; 瘦客戶端; LoadRunner; 仿真測試
中圖分類號:TP391
文獻標志碼:A
文章編號:1001-3695(2008)10-3145-03
System simulation test and analysis on thin-client WebGIS
TAN Qing-quan1,2 LIU Qun3 BI Jian-tao CHI Tian-he1
(1.Institute of Remote Sensing Applications Chinese Academy of Sciences Beijing 100101 China;
2.Earthquake Administration of Beijing Municipality Beijing 100080 China;
3.College of Electrical Electronic Engineering Shandong University of Technology Zibo Shandong 255049 China)
Abstract:
Thin-client WebGIS dominates the applications of WebGIS. There are different methods to implement thin-client WebGIS. However there is little research work made on the simulation test and analysis on the system performance of thin-client WebGIS. This paper summarized three methods to implement thin-client WebGIS simulated and tested the system performance using the load testing software of LoadRunner and eventually discussed the system performance and application conditions of different implementation methods by analyzing the test results. The research results are constructive for the design and exploitation of WebGIS.
Key words:WebGIS; thin-client; LoadRunner; simulation test
地理信息系統(geographic information system,GIS)自20世紀60年代誕生以來,經過四十多年的發展,已經在農業、林業、氣象、水利、海洋、礦產、環境、交通和城市建設等社會各領域得到了廣泛應用。網絡地理信息系統(WebGIS)是Web技術與GIS技術相結合的產物,隨著計算機技術和網絡技術的迅猛發展,WebGIS已成為當前GIS領域的研究熱點。其實現方式多種多樣,其中以基于HTTP的B/S結構的瘦客戶端模式為主流,即用戶只要擁有一臺上網的計算機和任一款瀏覽器,不需要安裝任何插件或其他客戶端軟件,就可以使用WebGIS帶來的服務。所有的GIS功能都集中在服務器端實現,因此,服務器端的實現方式會直接決定WebGIS系統的性能。由于不同WebGIS實現方式在其實現過程中的數據管理、程序設計、緩存利用等方面各不相同,它們在性能與穩定性方面也存在很大的差別。為了使用戶在進行WebGIS的設計中,能夠根據不同的需求靈活選用合適的實現模式,對各種實現模式下的系統性能進行仿真測試與分析就成為一項很值得研究的工作。
1瘦客戶端WebGIS實現模式
在基于B/S架構的瘦客戶端WebGIS中,Web瀏覽器充當與前端用戶的接口,整個信息系統的GIS分析和產生圖形輸出等功能全由服務器來完成。用戶輸入一個URL地址訪問服務器作為第一個GIS請求,服務器將默認的地圖顯示結果通過網絡返回給客戶端;之后,用戶的每一個基本操作(如放大、縮小、漫游等)都會作為一個新的GIS請求等服務器處理完成后再以圖片形式返回給客戶端。瘦客戶端WebGIS實現框圖如圖1所示。
根據空間數據的組織管理與網絡發布實現方法的不同,瘦客戶端WebGIS的實現可分為以下兩大類:
a)空間數據實時生成模式(模式1)。
所謂空間數據實時生成模式是指在客戶端提出數據請求后,服務器端根據數據請求,進行數據處理與計算;然后將生成的各種結果數據實時轉換為圖片數據,并返回到客戶端的過程。該模式的典型代表是美國ESRI公司的ArcIMS軟件,該軟件根據用戶請求的地圖范圍及GIS操作結果實時生成一個圖片并以URL地址返回給用戶。它可以實現各種形式的空間數據操作與處理,但反映到客戶端都是采用圖片方式實現。
b)空間數據預緩存模式。
所謂空間數據預緩存模式是指在服務器端預先對各種數據進行處理,主要是對空間數據進行分層切割,建立金字塔模型,采用數據庫或文件目錄的方式對預處理的數據進行存儲。金字塔的每層分別對應某個比例尺的數據集,最底層比例尺最大,最頂層比例尺最小。當用戶請求某一范圍的地圖時,服務器只需將相應的預處理數據返回給用戶即可。由于圖片無須實時生成,大大減輕了服務器的負擔,并縮短了系統響應時間。
按照空間數據預緩存模式中數據的存儲方式可以進一步分為以下兩種模式:
(a)基于數據庫的空間數據預緩存模式(模式2)。
在模式2下,將金字塔切片文件導入數據庫統一存儲管理。中國科學院遙感應用研究所開發的遙感影像數據庫引擎(imageDE)就屬于這種工作模式,實現了基于C/S架構的影像數據管理平臺和基于B/S架構的影像數據發布平臺。地圖切片通過數據庫統一存儲和管理,便于查詢、更新和維護。其模式結構框架如圖2所示。
(b)基于文件目錄的空間數據預緩存模式(模式3)。
在模式3下,將金字塔切片文件直接以文件目錄的結構來存儲。不同分層上的數據按不同的目錄存儲,且目錄名和文件名是由原始地圖的經緯度范圍根據某種換算生成,根據用戶請求的地圖數據的范圍可以直接定位到相應目錄下的切片文件。其模式框架如圖3所示。
2LoadRunner簡介
LoadRunner是美國Mercury Interactive公司開發的工業級負載測試工具。它是一種適用于各種體系架構的自動負載測試工具,能預測系統行為并優化系統性能。LoadRunner的虛擬用戶引擎(virtual user generator)可以生成虛擬用戶,以虛擬用戶的方式來模擬真實用戶的操作行為,并記錄下用戶的業務流程,然后將其轉換為測試腳本。利用虛擬用戶可以同時產生成千上萬個用戶訪問;而且,利用LoadRunner 的TurboLoad 專利技術,可以產生每天幾十萬名在線用戶和數以百萬計的點擊數的負載。另外,LoadRunner支持廣泛的協議和技術,可為特殊的環境提供特殊的解決方案。
3測試方案與結果
WebGIS的網絡地圖發布功能是最基本、與用戶交互最多的一項功能,也是最可能影響服務性能的因素。GIS的其他分析、計算功能全由服務器運算完成,不會造成網絡負擔。本文將針對三種模式下請求同一范圍的地圖數據為測試場景,研究其在并發用戶數不斷增加及地圖數據加倍的情況下,系統響應的平均時間及響應時間的均方差的變化趨勢。
3.1測試環境
服務器:Windows XP操作系統,2.9 GHz CPU,512 MB內存;
客戶機:與服務器配置完全相同;
網絡:100 Mbps局域網;
服務器配置:Apache 2.0,Tomcat 5.5,JDK 1.5,Oracle 9.2,ArcIMS 9.0,ImageDE 1.0;
測試軟件:LoadRunner 8.0;
測試數據:全球影像圖,21 600×10 800像素,699 857 080 Byte。
3.2測試步驟
a)錄制測試腳本。針對同一范圍的地圖請求,利用LoadRunner分別錄制三種模式下基于Web(HTTP/HTML)協議的測試腳本。為了準確測試系統的響應時間,三種模式下用相同結構的網頁發布界面(圖4),且使三個頁面的靜態文件大小相等。生成的影像地圖為500×500像素,對于模式2與模式3則分別是由5行5列100×100像素的地圖切片拼接而成。
b)在并發用戶數不斷增加的情況下,分別測試三種模式下系統的響應時間及響應時間的均方差。
c)將原始數據加倍,再進行步驟b)中的測試。
d)分析測試結果。
3.3測試結果
由于受操作系統、網絡及軟件等多種因素的影響,同一測試腳本在相同的測試條件下,重復測試得到的結果也不完全相同。本文對每一次仿真測試都重復執行10次,然后取其平均值作為該次測試的結果。比如,在模式3中并發用戶數為10時,測試結果如表1所示。對三種模式分別測試,并發用戶數由1增加至30,最后得到的測試結果如表2所示。將原始數據加倍后,再對三種模式分別測試,得到的測試結果如表3所示。兩次測試結果曲線對比如圖5所示。其中:u為并發用戶數;t為平均響應時間;δ為響應時間均方差。
表1模式3中的一次測試結果
參數12345678910平均值
t/s0.4050.3490.3670.3000.3340.2940.4030.3070.4260.3540.357
δ0.0330.0900.0210.1000.0890.0850.0260.0560.0570.0830.061
表2三種模式的測試結果
并發用戶
模式1模式2模式3
t/sδt/sδt/sδ
12.73700.41300.0670
54.4270.7571.5600.1030.1760.035
106.6181.6222.7330.2140.3570.061
158.7832.5133.4810.5320.5500.052
2010.3433.2835.0880.5410.6390.124
2512.4044.0406.3860.6000.7710.187
3014.4175.1407.7320.8350.9660.214
4測試結果分析
4.1系統響應時間分析
由表2、3的測試結果及圖5中的(a) (c) (e)曲線可以看出,在相同的條件下,模式3響應速度最快,模式2次之,模式1響應速度最慢。而且隨著并發用戶數的增加,三種模式下系統的響應時間都呈明顯的增長變化趨勢。由表2和3均可看出,當并發用戶數由1增加到30時,平均響應時間的變化情況是:模式3增加了1 s左右;模式2增加了7~8 s的時間;模式1增加了十幾秒之多。另外,當數據量增加后,系統的響應速度都有變慢的變化趨勢,隨著數據量和并發用戶數的進一步增加這種趨勢會更加明顯。因而,在給定并發用戶數的情況下,響應速度取決于實現模式和數據量。
表3數據加倍后三種模式的測試結果
并發用戶
模式1模式2模式3
t/sδt/sδt/sδ
12.95200.39700.0600
55.3650.6961.6430.0700.1750.035
107.4191.5432.5850.1940.3670.061
159.7872.4883.7910.3770.4820.052
2011.4543.3215.3820.5290.6910.124
2514.5684.2406.6220.6290.8110.187
3016.4325.1208.3850.8241.0700.214
4.2系統穩定性分析
由表2、3的測試結果及圖5中的(b) (d) (f)曲線可以看出,在相同的條件下,模式3的穩定性最好(響應時間均方差最小),模式2次之,模式1的穩定性最差(響應時間均方差最大)。并且隨著并發用戶數的增加,三種模式下系統的穩定性都有越來越不穩定的變化趨勢,即在多用戶并發訪問時,用戶等待的時間長短不一,甚至有個別用戶會由于超時而得不到服務結果。由圖5(b)可以看出,模式1的不穩定性幾乎與并發用戶數呈線性變化關系;由圖5(d)(f)可以看出,模式2、3的不穩定性變化則有明顯的波動性。這是由于操作系統、軟件及網絡等干擾因素對其穩定性存在細微的影響,對于響應時間很長的模式1來說,這種影響微乎其微;而對響應時間很短的模式2、3來說,這種影響就表現得很明顯。此外,隨著數據量的增加,同一實現模式下系統的穩定性并沒有明顯的變化趨勢。所以說,穩定性與響應速度不同,它僅僅是實現模式的表征。
4.3不同模式優缺點及適用范圍討論
通過上述分析可以看出,較模式2、3而言,模式1的系統響應時間長、穩定性差。這是因為對每一次請求服務器都要實時生成一個新的圖片,使服務器負擔很重,造成系統響應時間很慢,且在系統穩定性方面存在一定隱患。但是,該模式無須對空間數據進行特殊處理,可以很容易地構建起整個系統平臺,并可實現任意比例尺的放大或縮小,實現大部分空間數據實時處理與操作,能夠滿足專業人士的使用需求。因而,在對速度要求不高、用戶訪問量不大的情況下,尤其是在部門內部的局域網上或在專業空間信息應用領域實現時,這種模式具有很大的優勢。
模式2、3均事先對原始數據進行分層、切割、建立切片金字塔,因此大大減輕了服務器的負擔,且響應時間及穩定性較模式1都有很大改善。模式2借助數據庫管理平臺可以方便地實現更新和維護;但是,對原始數據的處理、入庫、查詢、網絡發布等,都需要編寫代碼實現,實現起來比較復雜。由于系統響應速度較快、穩定性好,并兼顧了后臺管理和前臺快速發布,其在大多數場合下都很適用。此外,為了進一步提高系統的響應速度,可以在服務器開辟一定的緩存空間用來保存最近查詢的數據,當被檢索的數據在緩存區時就無須重新從數據庫中查詢、讀取。模式3直接使用文件夾進行管理,較模式2的數據庫管理實現起來更容易,系統響應速度更快、穩定性更好;但是,由于大量的切片文件沒有統一的管理平臺,維護和更新比較麻煩。這種模式非常適合于用戶訪問量大、對響應速度要求高且對GIS功能要求較少的場合,如面向公眾的提供WebGIS服務的門戶網站。在該模式中,當數據量不斷增加,在線訪問用戶不斷增加時,如何更加有效地組織和管理數以千萬級的地圖切片文件;如何更快速地實現切片文件的檢索與讀取是需要進一步研究的問題。由于這兩種模式均基于金字塔多級分層處理,數據存在一定的冗余,會占用更多的磁盤空間;且不能實現無級放大或縮小,還難以實現實時的數據處理與計算功能。借助多線程和Ajax等技術,可進一步提高系統的性能。
5結束語
本文對三種常見的瘦客戶端WebGIS實現模式,利用負載測試軟件LoadRunner對其性能進行了仿真測試與分析。三種模式各有優缺點,針對不同的應用場合,應采取不同的解決方案。基于本文的研究,筆者實現了三種具體應用案例:基于模式1的深圳防洪管理支持系統、基于模式2的中國可持續發展科學數據共享網(www.sdinfo.net.cn);基于模式3的面向公眾的網絡地理信息服務網(www.mapgoo.cn)。
隨著網絡技術的進一步發展和WebGIS的更廣泛的應用,新的WebGIS實現方案還需要進一步研究與探索。由于受測試條件的限制,更詳細、全面、深入的測試與分析,還需要在將來的工作中進一步研究。
參考文獻:
[1]陳述彭,魯學軍,周成虎.地理信息系統導論[M].北京:科學出版社,1999.
[2]劉鵬,畢建濤,曹彥榮,等.遙感影像數據庫引擎設計與實現[J].地球信息科學,2005,7(2):105-110.
[3]Mercury Interactive Company. Mercury LoadRunner introduction[EB/OL].http://www.mercury.com.
[4]YANG Chao-wei. Performance-improving techniques in Web-based GIS[J]. International Journal of Geographical Information-Science 2005,19(3):319-342.
[5]CALDEWEYHER D. OpenCIS-open source GIS-based Web community information system[J]. International Journal of Geographical Information Science 2006,20(8):885-898.
[6]DUNFEY R I. Towards an open architecture for vector GIS[J]. Computers Geosciences 2006,32(10):1720-1731.
[7]畢建濤.面向網絡共享的地理信息服務研究[D].北京:中國科學院地理科學與資源研究所,2005.
[8]鐘大偉.空間信息服務模式及技術研究[D].北京:中國科學院遙感應用研究所 2007.