張桂芬
(上海市測繪院,上海 200063)
云計算是IT的一個概念,狹義云計算是指IT基礎設施的交付和使用模式,通過網絡以按需、易擴展的方式獲得所需的資源(硬件、平臺、軟件)。廣義云計算是指服務的交付和使用模式,通過網絡以按需、易擴展的方式獲得所需的服務,這種服務可以是IT和軟件、互聯網相關的,也可以是任意其他的服務。提供資源(或服務)的網絡被稱為云,云中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。隨著科技的進步,云計算技術已悄然成為熱門,國內企業不甘落后,三大通信運營商推出了自己的云計算計劃,政府也紛紛推出了自己的云計算計劃,像北京、上海等城市都推出了自己的云計算計劃,云計算即將給信息產業帶來翻天覆地的變化。而被認為與人類百分之八十的日常活動有關的地理信息,怎樣通過云計算技術以更高效、更便捷、更準確的方式提供給社會公眾,是從事地理信息產業的所有人員正在研究的課題,也將是影響地理信息產業發展方向的一個關鍵所在。下面就結合城市公共服務平臺建設的項目,淺談云計算技術在地理信息公共服務平臺建設中的應用。
地理信息的發展經歷了桌面型 GIS、WebGIS、Server GIS幾個主要階段。目前,天地圖的建設吹響了中國測繪地理信息公共服務平臺建設的號角,各城市都在建設本地的地理信息公共服務平臺以滿足社會各界對地理信息的需求。以X市的建設為例,平臺建設的總體架構,如圖1所示。

圖1 X市地理信息服務平臺總體架構圖
主要包含數據層、服務層、運行維護層三部分。數據層管理多源異構的各類地理信息資源,有矢量數據、關系型數據庫、柵格數據等。服務層主要是發布并管理各類地理信息服務,如符合OGC標準的WMTS(Web Map Tiled Services)、WFS(Web Feature Services)、WPS(Web Processing Services)等,供用戶在不同平臺進行二次開發調用的API(Application Programming Interface)和為最終用戶直接提供信息的應用程序,服務層是平臺的核心內容,對服務效率與服務質量要求均比較高。運行維護層主要是各種運行維護機制的管理。
原有的地理信息公共服務平臺在架構設計上采用了傳統的Web GIS網絡設計路線,依據層次和功能劃分資源,主要包含數據庫服務器、應用程序服務器、Web Service服務器、地理信息發布服務器、服務管理服務器、安全防御設備和網絡設備等。數據庫服務器由于存儲及管理的數據量大而且結構復雜,需要多臺服務器做支撐。地理信息發布服務器需要發布多種地圖服務,亦由多臺物理機支撐,其他功能服務器均需要進行單獨配置以滿足需求。由于設備有限,僅有一臺機器做備用機,各應用程序及數據均只做物理備份,恢復及拓展均比較困難。
利:該方案根據層次及功能劃分服務器(資源),層次分明,平臺響應及運算效率比較高,而且便于維護。
弊:數據庫服務器、應用程序服務器、Web Service服務器、地理信息發布服務器、服務管理服務器均為物理服務器。為滿足不同層次用戶的需求提供多種服務接口需要不同的軟件環境,確保平臺運行的穩定需要備份服務器,保證數據的安全性(因意外事故能及時恢復數據)也需要服務器資源,使得系統架構起來不僅需要大量的硬件設備,而且根據平臺運行情況增減設備及軟件時均需投入大量的人力物力,各應用程序遷移比較困難。
服務器硬件配置一般都是比較好的,單獨按功能來劃分服務器會導致有些資源的浪費,如果不按功能(或者合并某些功能)來劃分服務器又會使得服務器安裝的軟件系統比較臃腫,某些軟件間的沖突又會影響服務器的性能和處理效率。
云計算以三種基本形式為我們提供在信息技術建設中需要的IT資源,包括基礎設施即服務(把CPU的處理能力和海量的內存、存儲空間當作服務)、平臺即服務(開發平臺也是服務)、軟件即服務(應用軟件即是服務)。作為地理信息公共服務平臺的建設者,考慮到平臺要用有限的資源高效提供多種地理信息服務,我們可以通過建設私有云來實現,下面筆者將結合自己在基于云計算的城市地理信息公共服務平臺建設中進行的嘗試及研究展開介紹。
私有云是一種構建在高效、自動化和虛擬化基礎設施上的共享環境,由于是為一個客戶單獨使用而構建的,因而提供對數據、安全性和服務質量的最有效控制。本文所說的GIS私有云建設是將當前平臺運行中心的服務器、存儲設備、網絡設備等資源整合起來,成為一個虛化的資源池(硬件資源池和軟件資源),然后梳理資源池的各項資源(CPU、內存、硬盤等),進而使運行中心發展出自動性、靈活性、可擴展性的優勢,實現 QoS(Quality of Service)、SLA(Service Level Agreement)的保證。
將機房不同機型的服務器資源(內存、CPU、存儲空間)整合成一個資源池,根據功能需要在資源池劃分一定的資源進行虛擬化,安裝及配置虛擬機。比如數據庫服務器需要8核CPU、16G內存、100G存儲空間,根據需要劃分出指定資源安裝操作系統配置軟件環境,然后用壓力測試軟件對服務器性能進行測試,如果由于CPU或內存等資源不足影響系統響應效率,那么可以動態調整系統的資源,將服務器的內存或CPU數量增加或減少,使服務器既能高效運轉,又不浪費資源。根據功能層次劃分服務器(或服務器集群),每臺虛擬化的服務器均經過仔細評估確定其所需資源,實現真正意義上的按需分配,有些管理用的虛擬機可以在需要使用時才開啟,不用時將其關閉,將其CPU或內存資源讓給其他服務使用。平臺虛擬機映射關系如圖2所示。
如圖2所示,原來只有7臺物理服務器,現在安裝配置了19臺虛擬機,將數據庫服務器、應用服務器、不同方式發布地理信息服務的服務器、運維管理的服務器獨立開來,安裝不同的操作系統配置不同的軟件環境,同時根據需求將部分服務器構建集群以提高效率,使平臺能夠滿足不同終端用戶使用地理信息服務的要求,實現平臺的多種GIS Services的功能。此外,由于合理利用了服務器資源,在架構設計時還為各種應用安裝部署了備用虛擬機,以便出現異常時可以及時恢復系統環境保證平臺的正常運行,確保平臺的穩定性。

圖2 平臺虛擬機映射關系圖
3.3.1 虛擬化技術
虛擬化是云計算的基礎,虛擬化可以在一臺物理服務器上聚集多個操作系統和應用程序,以更好地利用服務器的計算資源。虛擬化通常由虛擬平臺軟件提供,如Hyper-V、VMware、PowerVM、Xen等。虛擬化平臺軟件幫助客戶搭建公有或私有的虛擬平臺,供客戶部署應用,實現服務器資源的靈活伸縮,降低維護/升級成本。
X市地理信息公共服務平臺基于VMware進行架構,涉及的關鍵技術主要包括:虛擬機的部署、虛擬機的安裝、虛擬機的管理、虛擬機與外界的文件傳輸。部署:根據規劃的功能設計虛擬機所需的資源、規劃物理服務器安裝哪些虛擬機,以確保系統的穩定。安裝:根據設計安裝虛擬機操作系統及各種軟件環境,部署應用程序,同時將虛擬機保存為模板,以便出現意外時可以及時恢復。管理:通過Vcenter來管理Clusters(集群)、Resource Pool(資源池)、ESXI hosts(主機)、Virtual Machine(虛擬機)。傳輸:虛擬機可以實現與主機或客戶端機器共享光驅,有些資源(比如說一些文件)可以通過網絡技術上傳或下載(如FTP)或借助第三方軟件實現。
3.3.2 負載/壓力測試技術
不同虛擬機安裝的軟件不同,實現的功能也不同,怎樣才能正確評估虛擬機分配的資源(CPU、內存、網絡、硬盤空間)等是否滿足了系統設計的要求,需要我們對不同類型的服務器進行負載/壓力測試,根據測試結果動態調整虛擬機的各項配備資源,最終達到一個既保證系統高效運行又充分利用資源的效果。
X市地理信息公共服務平臺采用LoadRunner軟件進行壓力測試,進行負載/壓力測試主要分4個步驟:
(1)Vitrual User Generator創建腳本
①創建腳本,選擇協議
②錄制腳本
③編輯腳本
④檢查修改腳本是否有誤
(2)中央控制器(Controller)調度虛擬用戶
①創建Scenario,選擇腳本
②設置機器虛擬用戶數
③設置Schedule
④如果模擬多機測試,設置Ip Spoofer
(3)運行腳本
分析scenario
(4)分析測試結果
測試完成后每個場景均會生成如圖3所示的測試報告(也可以根據需要生成詳細的分析報告)。

圖3 壓力測試報告
根據并發用戶數、平均每秒點擊數、吞吐量、事務摘要、平均事務響應時間、每秒http響應時間等分析圖結合分析報告查看當前設置是否已復合設計要求,如果沒有,則增加有關資源的配置,再次測試,逐步達到完美的效果。
3.3.3 Service GIS技術
GIS軟件經歷了傳統的一體化、面向組件、面向服務三個階段。面向組件實現了對傳統一體化軟件的改革:首先使GIS功能可靈活組裝,簡化了GIS系統的開發流程,使GIS與業務功能更加緊密;其次解決了對具體開發語言的依賴。Service GIS則進一步簡化了GIS系統的開發流程,并使GIS系統適用于更多客戶端。Service GIS將GIS功能的實現由客戶端轉移到了服務器端,以Web接口的形式提供GIS功能,使基于各個云平臺發布出來的GIS功能提供形式無差別,便于客戶端開發使用。
地理信息公共服務平臺需要提供給用戶的GIS功能應該是以Web服務方式提供的,X市基礎地理信息公共服務平臺提供的各種地圖顯示、查詢接口(WMS、WMTS、WFS、CSW等)均是符合OGC標準且基于 http協議方式提供的。不同層次的用戶均不用考慮數據的格式及運算方式,通過規范的接口實現云端的GIS功能(如與自己專題數據的融合分析等功能),達到自己的研究或應用的目的。這樣,地理信息公共服務平臺即實現了向不同層次的終端用戶提供GIS服務的功能。
基于私有云構建的城市地理信息公共服務平臺實現了發布管理各種服務的功能,實現效果如圖4所示。

圖4 X市地理信息公共服務平臺實現效果圖
基于云計算技術而設計并搭建的城市級基礎地理信息公共服務平臺,有效解決了基于傳統Web GIS架構引發的一系列問題(如服務器資源不夠、拓展遷移困難、系統穩定性無法保證)。通過虛擬化技術,實現了不同操作系統及應用程序在同一臺物理服務器上運行的可能,進而使得服務器在架構設計時將各服務器的分工更明確、架構層次更合理,而且充分利用了服務器的資源,可根據具體運行情況及時對服務器分配的資源進行調整,達到最優整合的效果,同時,虛擬機可以保存成模板,方便在緊急情況下快速恢復系統保證平臺運行的穩定。
基于私有云進行服務器架構設計合理、層次明確,在此基礎上開發各種云端的GIS服務,服務內容豐富、形式多樣、服務性能穩定高效,使為公眾提供最便捷、最高效的GIS服務成為現實。
本文結合城市公共服務平臺項目的建設,對基于云計算的城市地理信息公共服務平臺的設計進行分析和探究,云計算給地理信息產業帶來的影響遠不止本文提到的這么多。它不僅降低了地理信息服務提供者的成本(如降低了本地服務器數量和機房配置復雜度,并使遠程服務器也隨實際需求動態開啟和關閉,減少了服務器的電力耗費,噪音污染,促進綠色環保),也為地理信息服務的二次開發商帶來了福音(例如他們可以動態的增加、減少私有云中物理服務器的數量,甚至由一臺物理服務器平滑遷移到另外一臺物理服務器,提升最終用戶滿意度。),還為最終用戶帶來了價值、拓寬了地理信息的應用面(主要是能為最終用戶節約GIS系統構建成本,極大降低開發難度),將進一步促進中國的地理信息產業的快速發展。
[1]熊信彰.VMware vSphere 4云操作系統搭建配置入門與實踐[M].北京:中國水利水電出版社,2011.
[2]北京超圖軟件股份有限公司.超圖通訊[R].2011.
[3]毛煒青.云的暢想[J].中國測繪報,2011(98).
[4]國家基礎地理信息中心.“天地圖”建設技術文檔匯編[R].2011.
[5]胡嘉璽.虛擬智慧:VMware vSphere運維實錄[M].北京:清華大學出版社,2011.
[6]http://www.51testing.com.
[7]王少一,于海波,蔣許鋒.天津市基礎環保地理信息公共服務平臺設計與應用[J].城市勘測,2011(5).