張桂芬
(上海市測(cè)繪院,上海 200063)
云計(jì)算是IT的一個(gè)概念,狹義云計(jì)算是指IT基礎(chǔ)設(shè)施的交付和使用模式,通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需的資源(硬件、平臺(tái)、軟件)。廣義云計(jì)算是指服務(wù)的交付和使用模式,通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需的服務(wù),這種服務(wù)可以是IT和軟件、互聯(lián)網(wǎng)相關(guān)的,也可以是任意其他的服務(wù)。提供資源(或服務(wù))的網(wǎng)絡(luò)被稱(chēng)為云,云中的資源在使用者看來(lái)是可以無(wú)限擴(kuò)展的,并且可以隨時(shí)獲取,按需使用,隨時(shí)擴(kuò)展,按使用付費(fèi)。隨著科技的進(jìn)步,云計(jì)算技術(shù)已悄然成為熱門(mén),國(guó)內(nèi)企業(yè)不甘落后,三大通信運(yùn)營(yíng)商推出了自己的云計(jì)算計(jì)劃,政府也紛紛推出了自己的云計(jì)算計(jì)劃,像北京、上海等城市都推出了自己的云計(jì)算計(jì)劃,云計(jì)算即將給信息產(chǎn)業(yè)帶來(lái)翻天覆地的變化。而被認(rèn)為與人類(lèi)百分之八十的日?;顒?dòng)有關(guān)的地理信息,怎樣通過(guò)云計(jì)算技術(shù)以更高效、更便捷、更準(zhǔn)確的方式提供給社會(huì)公眾,是從事地理信息產(chǎn)業(yè)的所有人員正在研究的課題,也將是影響地理信息產(chǎn)業(yè)發(fā)展方向的一個(gè)關(guān)鍵所在。下面就結(jié)合城市公共服務(wù)平臺(tái)建設(shè)的項(xiàng)目,淺談云計(jì)算技術(shù)在地理信息公共服務(wù)平臺(tái)建設(shè)中的應(yīng)用。
地理信息的發(fā)展經(jīng)歷了桌面型 GIS、WebGIS、Server GIS幾個(gè)主要階段。目前,天地圖的建設(shè)吹響了中國(guó)測(cè)繪地理信息公共服務(wù)平臺(tái)建設(shè)的號(hào)角,各城市都在建設(shè)本地的地理信息公共服務(wù)平臺(tái)以滿足社會(huì)各界對(duì)地理信息的需求。以X市的建設(shè)為例,平臺(tái)建設(shè)的總體架構(gòu),如圖1所示。
圖1 X市地理信息服務(wù)平臺(tái)總體架構(gòu)圖
主要包含數(shù)據(jù)層、服務(wù)層、運(yùn)行維護(hù)層三部分。數(shù)據(jù)層管理多源異構(gòu)的各類(lèi)地理信息資源,有矢量數(shù)據(jù)、關(guān)系型數(shù)據(jù)庫(kù)、柵格數(shù)據(jù)等。服務(wù)層主要是發(fā)布并管理各類(lèi)地理信息服務(wù),如符合OGC標(biāo)準(zhǔn)的WMTS(Web Map Tiled Services)、WFS(Web Feature Services)、WPS(Web Processing Services)等,供用戶在不同平臺(tái)進(jìn)行二次開(kāi)發(fā)調(diào)用的API(Application Programming Interface)和為最終用戶直接提供信息的應(yīng)用程序,服務(wù)層是平臺(tái)的核心內(nèi)容,對(duì)服務(wù)效率與服務(wù)質(zhì)量要求均比較高。運(yùn)行維護(hù)層主要是各種運(yùn)行維護(hù)機(jī)制的管理。
原有的地理信息公共服務(wù)平臺(tái)在架構(gòu)設(shè)計(jì)上采用了傳統(tǒng)的Web GIS網(wǎng)絡(luò)設(shè)計(jì)路線,依據(jù)層次和功能劃分資源,主要包含數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用程序服務(wù)器、Web Service服務(wù)器、地理信息發(fā)布服務(wù)器、服務(wù)管理服務(wù)器、安全防御設(shè)備和網(wǎng)絡(luò)設(shè)備等。數(shù)據(jù)庫(kù)服務(wù)器由于存儲(chǔ)及管理的數(shù)據(jù)量大而且結(jié)構(gòu)復(fù)雜,需要多臺(tái)服務(wù)器做支撐。地理信息發(fā)布服務(wù)器需要發(fā)布多種地圖服務(wù),亦由多臺(tái)物理機(jī)支撐,其他功能服務(wù)器均需要進(jìn)行單獨(dú)配置以滿足需求。由于設(shè)備有限,僅有一臺(tái)機(jī)器做備用機(jī),各應(yīng)用程序及數(shù)據(jù)均只做物理備份,恢復(fù)及拓展均比較困難。
利:該方案根據(jù)層次及功能劃分服務(wù)器(資源),層次分明,平臺(tái)響應(yīng)及運(yùn)算效率比較高,而且便于維護(hù)。
弊:數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用程序服務(wù)器、Web Service服務(wù)器、地理信息發(fā)布服務(wù)器、服務(wù)管理服務(wù)器均為物理服務(wù)器。為滿足不同層次用戶的需求提供多種服務(wù)接口需要不同的軟件環(huán)境,確保平臺(tái)運(yùn)行的穩(wěn)定需要備份服務(wù)器,保證數(shù)據(jù)的安全性(因意外事故能及時(shí)恢復(fù)數(shù)據(jù))也需要服務(wù)器資源,使得系統(tǒng)架構(gòu)起來(lái)不僅需要大量的硬件設(shè)備,而且根據(jù)平臺(tái)運(yùn)行情況增減設(shè)備及軟件時(shí)均需投入大量的人力物力,各應(yīng)用程序遷移比較困難。
服務(wù)器硬件配置一般都是比較好的,單獨(dú)按功能來(lái)劃分服務(wù)器會(huì)導(dǎo)致有些資源的浪費(fèi),如果不按功能(或者合并某些功能)來(lái)劃分服務(wù)器又會(huì)使得服務(wù)器安裝的軟件系統(tǒng)比較臃腫,某些軟件間的沖突又會(huì)影響服務(wù)器的性能和處理效率。
云計(jì)算以三種基本形式為我們提供在信息技術(shù)建設(shè)中需要的IT資源,包括基礎(chǔ)設(shè)施即服務(wù)(把CPU的處理能力和海量的內(nèi)存、存儲(chǔ)空間當(dāng)作服務(wù))、平臺(tái)即服務(wù)(開(kāi)發(fā)平臺(tái)也是服務(wù))、軟件即服務(wù)(應(yīng)用軟件即是服務(wù))。作為地理信息公共服務(wù)平臺(tái)的建設(shè)者,考慮到平臺(tái)要用有限的資源高效提供多種地理信息服務(wù),我們可以通過(guò)建設(shè)私有云來(lái)實(shí)現(xiàn),下面筆者將結(jié)合自己在基于云計(jì)算的城市地理信息公共服務(wù)平臺(tái)建設(shè)中進(jìn)行的嘗試及研究展開(kāi)介紹。
私有云是一種構(gòu)建在高效、自動(dòng)化和虛擬化基礎(chǔ)設(shè)施上的共享環(huán)境,由于是為一個(gè)客戶單獨(dú)使用而構(gòu)建的,因而提供對(duì)數(shù)據(jù)、安全性和服務(wù)質(zhì)量的最有效控制。本文所說(shuō)的GIS私有云建設(shè)是將當(dāng)前平臺(tái)運(yùn)行中心的服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備等資源整合起來(lái),成為一個(gè)虛化的資源池(硬件資源池和軟件資源),然后梳理資源池的各項(xiàng)資源(CPU、內(nèi)存、硬盤(pán)等),進(jìn)而使運(yùn)行中心發(fā)展出自動(dòng)性、靈活性、可擴(kuò)展性的優(yōu)勢(shì),實(shí)現(xiàn) QoS(Quality of Service)、SLA(Service Level Agreement)的保證。
將機(jī)房不同機(jī)型的服務(wù)器資源(內(nèi)存、CPU、存儲(chǔ)空間)整合成一個(gè)資源池,根據(jù)功能需要在資源池劃分一定的資源進(jìn)行虛擬化,安裝及配置虛擬機(jī)。比如數(shù)據(jù)庫(kù)服務(wù)器需要8核CPU、16G內(nèi)存、100G存儲(chǔ)空間,根據(jù)需要?jiǎng)澐殖鲋付ㄙY源安裝操作系統(tǒng)配置軟件環(huán)境,然后用壓力測(cè)試軟件對(duì)服務(wù)器性能進(jìn)行測(cè)試,如果由于CPU或內(nèi)存等資源不足影響系統(tǒng)響應(yīng)效率,那么可以動(dòng)態(tài)調(diào)整系統(tǒng)的資源,將服務(wù)器的內(nèi)存或CPU數(shù)量增加或減少,使服務(wù)器既能高效運(yùn)轉(zhuǎn),又不浪費(fèi)資源。根據(jù)功能層次劃分服務(wù)器(或服務(wù)器集群),每臺(tái)虛擬化的服務(wù)器均經(jīng)過(guò)仔細(xì)評(píng)估確定其所需資源,實(shí)現(xiàn)真正意義上的按需分配,有些管理用的虛擬機(jī)可以在需要使用時(shí)才開(kāi)啟,不用時(shí)將其關(guān)閉,將其CPU或內(nèi)存資源讓給其他服務(wù)使用。平臺(tái)虛擬機(jī)映射關(guān)系如圖2所示。
如圖2所示,原來(lái)只有7臺(tái)物理服務(wù)器,現(xiàn)在安裝配置了19臺(tái)虛擬機(jī),將數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器、不同方式發(fā)布地理信息服務(wù)的服務(wù)器、運(yùn)維管理的服務(wù)器獨(dú)立開(kāi)來(lái),安裝不同的操作系統(tǒng)配置不同的軟件環(huán)境,同時(shí)根據(jù)需求將部分服務(wù)器構(gòu)建集群以提高效率,使平臺(tái)能夠滿足不同終端用戶使用地理信息服務(wù)的要求,實(shí)現(xiàn)平臺(tái)的多種GIS Services的功能。此外,由于合理利用了服務(wù)器資源,在架構(gòu)設(shè)計(jì)時(shí)還為各種應(yīng)用安裝部署了備用虛擬機(jī),以便出現(xiàn)異常時(shí)可以及時(shí)恢復(fù)系統(tǒng)環(huán)境保證平臺(tái)的正常運(yùn)行,確保平臺(tái)的穩(wěn)定性。
圖2 平臺(tái)虛擬機(jī)映射關(guān)系圖
3.3.1 虛擬化技術(shù)
虛擬化是云計(jì)算的基礎(chǔ),虛擬化可以在一臺(tái)物理服務(wù)器上聚集多個(gè)操作系統(tǒng)和應(yīng)用程序,以更好地利用服務(wù)器的計(jì)算資源。虛擬化通常由虛擬平臺(tái)軟件提供,如Hyper-V、VMware、PowerVM、Xen等。虛擬化平臺(tái)軟件幫助客戶搭建公有或私有的虛擬平臺(tái),供客戶部署應(yīng)用,實(shí)現(xiàn)服務(wù)器資源的靈活伸縮,降低維護(hù)/升級(jí)成本。
X市地理信息公共服務(wù)平臺(tái)基于VMware進(jìn)行架構(gòu),涉及的關(guān)鍵技術(shù)主要包括:虛擬機(jī)的部署、虛擬機(jī)的安裝、虛擬機(jī)的管理、虛擬機(jī)與外界的文件傳輸。部署:根據(jù)規(guī)劃的功能設(shè)計(jì)虛擬機(jī)所需的資源、規(guī)劃物理服務(wù)器安裝哪些虛擬機(jī),以確保系統(tǒng)的穩(wěn)定。安裝:根據(jù)設(shè)計(jì)安裝虛擬機(jī)操作系統(tǒng)及各種軟件環(huán)境,部署應(yīng)用程序,同時(shí)將虛擬機(jī)保存為模板,以便出現(xiàn)意外時(shí)可以及時(shí)恢復(fù)。管理:通過(guò)Vcenter來(lái)管理Clusters(集群)、Resource Pool(資源池)、ESXI hosts(主機(jī))、Virtual Machine(虛擬機(jī))。傳輸:虛擬機(jī)可以實(shí)現(xiàn)與主機(jī)或客戶端機(jī)器共享光驅(qū),有些資源(比如說(shuō)一些文件)可以通過(guò)網(wǎng)絡(luò)技術(shù)上傳或下載(如FTP)或借助第三方軟件實(shí)現(xiàn)。
3.3.2 負(fù)載/壓力測(cè)試技術(shù)
不同虛擬機(jī)安裝的軟件不同,實(shí)現(xiàn)的功能也不同,怎樣才能正確評(píng)估虛擬機(jī)分配的資源(CPU、內(nèi)存、網(wǎng)絡(luò)、硬盤(pán)空間)等是否滿足了系統(tǒng)設(shè)計(jì)的要求,需要我們對(duì)不同類(lèi)型的服務(wù)器進(jìn)行負(fù)載/壓力測(cè)試,根據(jù)測(cè)試結(jié)果動(dòng)態(tài)調(diào)整虛擬機(jī)的各項(xiàng)配備資源,最終達(dá)到一個(gè)既保證系統(tǒng)高效運(yùn)行又充分利用資源的效果。
X市地理信息公共服務(wù)平臺(tái)采用LoadRunner軟件進(jìn)行壓力測(cè)試,進(jìn)行負(fù)載/壓力測(cè)試主要分4個(gè)步驟:
(1)Vitrual User Generator創(chuàng)建腳本
①創(chuàng)建腳本,選擇協(xié)議
②錄制腳本
③編輯腳本
④檢查修改腳本是否有誤
(2)中央控制器(Controller)調(diào)度虛擬用戶
①創(chuàng)建Scenario,選擇腳本
②設(shè)置機(jī)器虛擬用戶數(shù)
③設(shè)置Schedule
④如果模擬多機(jī)測(cè)試,設(shè)置Ip Spoofer
(3)運(yùn)行腳本
分析scenario
(4)分析測(cè)試結(jié)果
測(cè)試完成后每個(gè)場(chǎng)景均會(huì)生成如圖3所示的測(cè)試報(bào)告(也可以根據(jù)需要生成詳細(xì)的分析報(bào)告)。
圖3 壓力測(cè)試報(bào)告
根據(jù)并發(fā)用戶數(shù)、平均每秒點(diǎn)擊數(shù)、吞吐量、事務(wù)摘要、平均事務(wù)響應(yīng)時(shí)間、每秒http響應(yīng)時(shí)間等分析圖結(jié)合分析報(bào)告查看當(dāng)前設(shè)置是否已復(fù)合設(shè)計(jì)要求,如果沒(méi)有,則增加有關(guān)資源的配置,再次測(cè)試,逐步達(dá)到完美的效果。
3.3.3 Service GIS技術(shù)
GIS軟件經(jīng)歷了傳統(tǒng)的一體化、面向組件、面向服務(wù)三個(gè)階段。面向組件實(shí)現(xiàn)了對(duì)傳統(tǒng)一體化軟件的改革:首先使GIS功能可靈活組裝,簡(jiǎn)化了GIS系統(tǒng)的開(kāi)發(fā)流程,使GIS與業(yè)務(wù)功能更加緊密;其次解決了對(duì)具體開(kāi)發(fā)語(yǔ)言的依賴(lài)。Service GIS則進(jìn)一步簡(jiǎn)化了GIS系統(tǒng)的開(kāi)發(fā)流程,并使GIS系統(tǒng)適用于更多客戶端。Service GIS將GIS功能的實(shí)現(xiàn)由客戶端轉(zhuǎn)移到了服務(wù)器端,以Web接口的形式提供GIS功能,使基于各個(gè)云平臺(tái)發(fā)布出來(lái)的GIS功能提供形式無(wú)差別,便于客戶端開(kāi)發(fā)使用。
地理信息公共服務(wù)平臺(tái)需要提供給用戶的GIS功能應(yīng)該是以Web服務(wù)方式提供的,X市基礎(chǔ)地理信息公共服務(wù)平臺(tái)提供的各種地圖顯示、查詢(xún)接口(WMS、WMTS、WFS、CSW等)均是符合OGC標(biāo)準(zhǔn)且基于 http協(xié)議方式提供的。不同層次的用戶均不用考慮數(shù)據(jù)的格式及運(yùn)算方式,通過(guò)規(guī)范的接口實(shí)現(xiàn)云端的GIS功能(如與自己專(zhuān)題數(shù)據(jù)的融合分析等功能),達(dá)到自己的研究或應(yīng)用的目的。這樣,地理信息公共服務(wù)平臺(tái)即實(shí)現(xiàn)了向不同層次的終端用戶提供GIS服務(wù)的功能。
基于私有云構(gòu)建的城市地理信息公共服務(wù)平臺(tái)實(shí)現(xiàn)了發(fā)布管理各種服務(wù)的功能,實(shí)現(xiàn)效果如圖4所示。
圖4 X市地理信息公共服務(wù)平臺(tái)實(shí)現(xiàn)效果圖
基于云計(jì)算技術(shù)而設(shè)計(jì)并搭建的城市級(jí)基礎(chǔ)地理信息公共服務(wù)平臺(tái),有效解決了基于傳統(tǒng)Web GIS架構(gòu)引發(fā)的一系列問(wèn)題(如服務(wù)器資源不夠、拓展遷移困難、系統(tǒng)穩(wěn)定性無(wú)法保證)。通過(guò)虛擬化技術(shù),實(shí)現(xiàn)了不同操作系統(tǒng)及應(yīng)用程序在同一臺(tái)物理服務(wù)器上運(yùn)行的可能,進(jìn)而使得服務(wù)器在架構(gòu)設(shè)計(jì)時(shí)將各服務(wù)器的分工更明確、架構(gòu)層次更合理,而且充分利用了服務(wù)器的資源,可根據(jù)具體運(yùn)行情況及時(shí)對(duì)服務(wù)器分配的資源進(jìn)行調(diào)整,達(dá)到最優(yōu)整合的效果,同時(shí),虛擬機(jī)可以保存成模板,方便在緊急情況下快速恢復(fù)系統(tǒng)保證平臺(tái)運(yùn)行的穩(wěn)定。
基于私有云進(jìn)行服務(wù)器架構(gòu)設(shè)計(jì)合理、層次明確,在此基礎(chǔ)上開(kāi)發(fā)各種云端的GIS服務(wù),服務(wù)內(nèi)容豐富、形式多樣、服務(wù)性能穩(wěn)定高效,使為公眾提供最便捷、最高效的GIS服務(wù)成為現(xiàn)實(shí)。
本文結(jié)合城市公共服務(wù)平臺(tái)項(xiàng)目的建設(shè),對(duì)基于云計(jì)算的城市地理信息公共服務(wù)平臺(tái)的設(shè)計(jì)進(jìn)行分析和探究,云計(jì)算給地理信息產(chǎn)業(yè)帶來(lái)的影響遠(yuǎn)不止本文提到的這么多。它不僅降低了地理信息服務(wù)提供者的成本(如降低了本地服務(wù)器數(shù)量和機(jī)房配置復(fù)雜度,并使遠(yuǎn)程服務(wù)器也隨實(shí)際需求動(dòng)態(tài)開(kāi)啟和關(guān)閉,減少了服務(wù)器的電力耗費(fèi),噪音污染,促進(jìn)綠色環(huán)保),也為地理信息服務(wù)的二次開(kāi)發(fā)商帶來(lái)了福音(例如他們可以動(dòng)態(tài)的增加、減少私有云中物理服務(wù)器的數(shù)量,甚至由一臺(tái)物理服務(wù)器平滑遷移到另外一臺(tái)物理服務(wù)器,提升最終用戶滿意度。),還為最終用戶帶來(lái)了價(jià)值、拓寬了地理信息的應(yīng)用面(主要是能為最終用戶節(jié)約GIS系統(tǒng)構(gòu)建成本,極大降低開(kāi)發(fā)難度),將進(jìn)一步促進(jìn)中國(guó)的地理信息產(chǎn)業(yè)的快速發(fā)展。
[1]熊信彰.VMware vSphere 4云操作系統(tǒng)搭建配置入門(mén)與實(shí)踐[M].北京:中國(guó)水利水電出版社,2011.
[2]北京超圖軟件股份有限公司.超圖通訊[R].2011.
[3]毛煒青.云的暢想[J].中國(guó)測(cè)繪報(bào),2011(98).
[4]國(guó)家基礎(chǔ)地理信息中心.“天地圖”建設(shè)技術(shù)文檔匯編[R].2011.
[5]胡嘉璽.虛擬智慧:VMware vSphere運(yùn)維實(shí)錄[M].北京:清華大學(xué)出版社,2011.
[6]http://www.51testing.com.
[7]王少一,于海波,蔣許鋒.天津市基礎(chǔ)環(huán)保地理信息公共服務(wù)平臺(tái)設(shè)計(jì)與應(yīng)用[J].城市勘測(cè),2011(5).