云計算與地理信息系統(tǒng)應(yīng)用
摘要:云計算作為一種新興的技術(shù),它向中小規(guī)模的企業(yè)用戶和個人用戶提供了一種可以在幾乎不需要任何初始投入的同時,可以動態(tài)組合或擴展IT資源。在地理信息系統(tǒng)領(lǐng)域,云計算可以幫助處理大量的可以進行分布式運算的數(shù)據(jù),和不同物理位置的用戶存儲和共享應(yīng)用成果。在這里,我們要建立一個可使用云來進行數(shù)據(jù)處理的GIS系統(tǒng)架構(gòu)。
關(guān)鍵詞:云計算;分布式系統(tǒng);GIS;系統(tǒng)架構(gòu)
0 引言
GIS應(yīng)用程序所處理的問題,大多涉及到高密度的數(shù)據(jù)的計算。GIS技術(shù)的出現(xiàn)已有幾十年了,隨著技術(shù)成熟度的提高,越來越多的空間數(shù)據(jù)和非空間數(shù)據(jù)被應(yīng)用其中。日益進步的數(shù)據(jù)采集技術(shù)也使得我們可以從各種不同的數(shù)據(jù)源得到各種豐富的數(shù)據(jù)。與此同時,這一趨勢帶來的問題是如此海量的數(shù)據(jù)使得任何單一的機構(gòu)都很難保存或處理。此外,GIS系統(tǒng)主要處理的位置、邏輯或物理數(shù)據(jù)大都是來自于不同的運算機構(gòu)。GIS系統(tǒng)對這些數(shù)據(jù)進行的空間分析不但過程復(fù)雜而且對運算能力的要求也是很高的。
為了和那些在不同物理位置的分散用戶分享GIS數(shù)據(jù)和運算結(jié)果,一個像云計算這樣可擴展、低成本的計算平臺對GIS來說是至關(guān)重要的。
一個普遍的理解是,云計算是一個支持“即用即付”模式的可以動態(tài)縮放的計算平臺。云計算是“由相互聯(lián)接的和虛擬化的計算機組成的一個并行的、分布式的系統(tǒng),其中的計算機在定義好的服務(wù)協(xié)議下被動態(tài)的分配任務(wù)。通過這一定義可以知道像云計算這樣高數(shù)據(jù)密度、高運算強度的運算是很適合移植到云計算平臺上的。
本文提出了一個基于云計算平臺的GIS系統(tǒng)應(yīng)用的架構(gòu)概述。首先,我們提出一個集成了GIS應(yīng)用的云計算的架構(gòu)模型;接下來給出一個應(yīng)用云計算的GIS應(yīng)用系統(tǒng)的典型范例。
1 云計算架構(gòu)
在這一節(jié)中,我們提出了一個通用的云計算架構(gòu),圖1描述了通用的云計算結(jié)構(gòu)和地理信息系統(tǒng)相結(jié)合的示意架構(gòu)。
本文中選擇應(yīng)用廣泛的Amazon彈性云(EC2)平臺。通過EC2提供的Web界面,終端用戶可以很方便地訪問到云平臺提供的虛擬高性能計算節(jié)點和大容量存儲空間。當用戶使用這些服務(wù)時,采用“即用即付”原則按小時支付很少的費用即可。在圖1描述的系統(tǒng)中,分別使用了Amazon的EC2和簡單存儲(S3)功能來處理和存儲GIS應(yīng)用系統(tǒng)。
GIS應(yīng)用系統(tǒng)在用戶的終端將任務(wù)分解后把程序和數(shù)據(jù)提交給系統(tǒng)前端的Web服務(wù)。Web服務(wù)在接受到任務(wù)后使用一個合適的中間件分解這個應(yīng)用給“云”中虛擬的節(jié)點。通過這一任務(wù)分解過程用戶的任務(wù)將變得可以被并行處理。與上述過程相類似,前端的Web服務(wù)可以直接使用Amazon的S3 API接口將海量數(shù)據(jù)存儲到S3上。當這一過程在Amazon的EC2上執(zhí)行時,在S3中存儲的數(shù)據(jù)可以被實時檢索或處理。通過在云計算上的分析和計算所得到的結(jié)果也可以存儲到S3中做進一步的處理。用戶可以在需要時隨時使用這些數(shù)據(jù)。
在圖1所描述的架構(gòu)中,對于應(yīng)用系統(tǒng)的使用者來說最重要的是可以靈活地獲得GIS系統(tǒng)提供的服務(wù)。用戶可以在世界的不同地方方便地獲得服務(wù);他所需要的只是接入Internet并擁有一個GIS應(yīng)用系統(tǒng)的服務(wù)賬戶。
系統(tǒng)依靠一個GIS中間件向用戶提供計算和分析服務(wù)。這個程序被放置于Amazon的虛擬節(jié)點中,并能實時的將用戶的請求分解到各個工作節(jié)點中。其他的一些中間件,類似于Aneka、Condor、SGE等也是用來完成類似的工作的。
傳統(tǒng)的GIS應(yīng)用程序需要大量的計算集群和數(shù)據(jù)空間來計算和分析海量的數(shù)據(jù)。如果引入了云計算,這一過程就可以交由云計算平臺來完成了。用戶所需要做的就只是通過一個Web界面來執(zhí)行程序和管理數(shù)據(jù)了,而最終的結(jié)果幾乎可以實時得到并且不需要用戶的過多參與。一個基于云的GIS應(yīng)用系統(tǒng)的執(zhí)行和分析過程和傳統(tǒng)方式相比其優(yōu)勢見表1。
2 結(jié)論
對于GIS應(yīng)用系統(tǒng)來說,云計算提供了很多相對于傳統(tǒng)方式的優(yōu)勢;通過云,GIS系統(tǒng)可以方便地應(yīng)用集群和網(wǎng)格等技術(shù)。文章中設(shè)計了把GIS應(yīng)用程序接入云系統(tǒng)的一個系統(tǒng)架構(gòu),并使用Amazon EC2作為應(yīng)用的云平臺。