張衛柱,熊 順,徐道柱
1.西安測繪研究所,陜西 西安,710054;2.地理信息工程國家重點實驗室,陜西 西安,710054
?
基于云計算的DEM生成技術
張衛柱1,2,熊 順1,2,徐道柱1,2
1.西安測繪研究所,陜西 西安,710054;2.地理信息工程國家重點實驗室,陜西 西安,710054
本文針對海量DEM串行化生成處理效率低、數據準備過程繁雜等技術問題,充分利用云計算技術的虛擬存儲、跨平臺應用、計算和存儲資源高效調度、軟件架構和服務可重組共享等特點,提出了基于云計算的DEM生成算法模型,設計了基于云計算的DEM生成處理模型,并對軟件進行改化。通過實驗分析,基于云計算的DEM生成技術處理效率提高顯著。
數字高程模型(DEM)生成;三角網;云計算;并行化處理
隨著測繪地理信息技術發展,各種DEM數據資源呈幾何量級增長,多樣化測繪導航任務對DEM產品規模、質量和時效性提出更高的需求。傳統的串行化的DEM生成技術因耗時比較長,工序組織復雜,對作業人員要求很高,DEM生成處理效率和質量問題凸顯[1]。云計算技術具有虛擬存儲、跨平臺應用、計算和存儲資源高效調度、軟件架構和服務可重組共享、數據安全等特點,已經成為GIS行業發展的新趨勢[2]。本文基于云計算技術,對原有單機版DEM生成處理軟件進行跨平臺改造,構建云計算處理的軟件框架,將原來的串行化處理流程進行并行化改進,采用分布式多任務調度技術,實現批量數據并行化處理,并在小型云計算實驗環境進行實驗,驗證了技術框架、技術流程的可行性以及處理效率的提高程度。
2.1 系統架構設計
根據層次化軟件體系架構設計原則,系統軟件架構采用5層設計模式,自下向上分別為:基礎設施層、存儲管理層、基礎平臺層、業務應用層和用戶層。其中,基礎設施層作為整個系統軟件的硬件支撐平臺,它是其它層的物理運行介質;存儲管理層負責所有管理數據的存儲管理,不同類型數據分類獨立存儲,它是整個系統數據交互和存儲管理的支撐平臺;基礎平臺層為業務應用層提供基礎軟件支撐,包括軟件運行的操作系統、共享文件系統、數據庫系統等;業務應用層作為系統軟件功能實現的核心,負責實現具體的任務分解、任務分發、任務執行監控、數據拼接、構建三角網、三角網內插、DEM生成;用戶層是整個軟件系統與用戶交互的平臺,為各類用戶提供人機交互的可視化控制窗口。
2.2 軟件功能組成
云計算DEM生成軟件是基于現有Windows系統DEM生成軟件改造而成,軟件功能包括:矢量數據拼接、三角網構建、三角網內插和DEM生成等。矢量數據拼接是將給定的圖幅數據向鄰接圖幅外擴一定的距離;構建三角網是利用拼接后的點、線、面數據進行構網[3];三角網內插是直接利用三角網數據遍歷檢查三角網周圍的采樣區域的每個點[4], 得到該點的高程值; DEM生成算法使用鄰接圖幅有效數據對無效值填充,去除無效值。軟件功能組成如圖1所示。
2.3 物理組成設計
基于云計算環境的DEM生成物理組成如圖2所示,主要包括:用于任務分發的計算機、用于DEM生成算法實現的計算機集群、用于控制任務調度的兩臺計算機、共享存儲服務器和交換機等網絡附屬設備。其中用于DEM生成的計算機集群可以自動化處理,用于任務分發的計算機應人工操作。數據存儲采用NFS存儲網絡架構,實現了以共享存儲為核心的高性能數據處理。

圖2 基于云計算環境的DEM生成算法物理組成圖
2.4 業務流程設計
基于云計算的DEM生成處理借鑒新一代Gearman框架的設計思想與理念,在基礎任務的設計上提供數據接口,提供與作業過程、任務調度系統以及任務序列維持的接口,同時數據庫的設計上強調數據的維護、更新、安全、海量、支持多平臺[5],充分考慮數據的安全性,包括硬件、軟件、網絡帶來的數據的安全性和系統的高可用性,在任務調度處理流程分為任務分解、任務分發、任務執行監控三個部分。
任務分解就是對生產需求的分析和解釋,根據有限數量的生產任務生成邏輯上的任務序列,任務控制服務器將任務下發到最優的算法模塊,執行單個任務對應的功能并對任務執行過程進行監控。一條單一的DEM生產任務可以拆分成數據拼接、構建三角網、三角網內插和DEM生成四個步驟,其生成處理的業務流程如圖3所示。

圖3 基于云計算的DEM生成任務調度流程
3.1 設計實現總體流程
基于云計算的DEM生成技術實現采用結構化設計方法,以任務流為中心,自上而下,逐層分解軟件工作過程,通過數據流圖、數據字典、算法說明等分析途徑,將系統功能分解、描述出來;使用標準C++編程語言進行軟件跨平臺移植改造,使移植改造后的算法適用于Linux操作系統和并行化環境;現有功能模塊移植改造完成后,使用Gearman任務調度技術框架實現數據拼接、構建三角網、三角網內插算法的并行化,充分利用集群系統實現DEM生成軟件的規模化部署。整個軟件設計實現流程如圖4所示:

圖4 基于云計算的DEM生成設計實現流程圖
3.2 軟件部署結構
基于云計算環境的DEM生成軟件部署架構如圖5所示:

圖5 基于云計算環境的DEM生成算法部署架構圖
3.3 Gearman任務調度實現
基于云計算環境的DEM生成算法采用Gearman任務調度框架實現功能算法的并行計算。Gearman是一個分布式的任務調度框架,它提供了Job Server、Client API和Worker API,可直接運行Gearman服務程序作為Job Server實現對客戶端(Client)和執行體(Worker)的管控。Gearman框架的核心技術是Job Server,Job Server是Client和Worker通信的橋梁,Client和Worker的任何通信必須經過Job Server。一個Client端應用可以調用多個Worker,調度信息先注冊到Job Server服務端,Job Server根據Worker端的主機資源情況自動實現負載均衡,而Client應用可以選擇執行后不等待任務執行的結果立即退出,也可以一直等待到整個任務執行結束并獲取任務執行狀態后再退出。

圖6 調度框架示意圖
如圖6所示, Gearman的執行過程:客戶端(Client)通過客戶端API創建一個任務發送到Job Server上,Job Server通過客戶端指定的Worker名找到相應的Worker并將任務分到該Worker上。Worker接到任務后根據Worker的規則執行并將返回結果發送給Job Server,而Job Server把結果數據返回給客戶端(Client)。可以根據不同的需求定制不同的Worker來處理不同的任務,可以將這些Worker放置到不同的計算節點服務器上,由Job Server根據計算節點和任務情況尋找合適的Worker執行任務,從而達到計算節點減輕壓力、負載均衡的目的。結合Gearman Worker API將DEM生成軟件各部分功能算法進行拆分,一個或多個Worker組合就可以實現一個完整的處理任務。Gearman Client就是調用多個Worker的邏輯。此軟件中使用了如下三種關鍵技術:基于Gearman框架的雙機熱備份技術、基于Gearman框架的任務調度技術和NFS共享存儲技術[6]。
為驗證基于云計算的DEM生成算法效率和質量,分別對某一地理區域下的多種比例尺、多批量的地形圖數據進行DEM生成實驗,通過與現有單機版DEM生成軟件進行對比檢驗,驗證實驗結果的可靠性、處理性能提高程度,最終獲得DEM生成算法效率評估[7]。
4.1 實驗環境
4.1.1 軟、硬件及網絡環境
實驗的硬件環境為三臺工作站、兩臺PC機,局域千兆網卡環境,PC機為百兆網卡,連接至千兆交換機,采用TCP/IP方式進行網絡通信。除一臺PC機(硬件配置見下表pc5)部署單機版DEM生成軟件外,其余物理機用于部署基于云計算的DEM生成處理的NFS服務器、日志服務器、服務端和客戶端。這三臺工作站和兩臺PC機的具體配置和其所安裝的操作系統及所需軟件見表1。
表1 工作站及PC機配置

計算機序號處理器型號內核個數內存角色分配操作系統所需軟件名稱pc1IntelXeon(R)w335086GB計算節點中標麒麟64位gcc、make、gearman、nfs_commonpc2IntelXeon(R)w335086GB計算節點中標麒麟64位gcc、make、gearman、nfs_commonpc3i5-345044GBNFS中標麒麟32位nfs-kernel-serverpc4IntelXeon(R)w335024GB日志服務中標麒麟32位mysql_server、Loganalyzerpc5Intel(R)Core(TM)i3-212044GB單機版軟件Windows732位MicrosoftVisualStudio2010
4.1.2 實驗數據
本實驗使用比例尺為1萬的數據4幅、比例尺為2.5萬的數據65幅、比例尺為5萬的數據558幅、比例尺為10萬的數據219幅、比例尺為100萬的數據2101幅作為實驗數據,在數據量擴大時, 將558幅1∶5萬矢量數據復制4倍進行。
分別驗證基于云計算的DEM生成軟件功能是否正確,以及不同比例尺數據的處理性能、處理結果的正確性,用單機版的DEM生成軟件處理相同圖幅結果進行對比來驗證。
4.2 實驗結果及分析
4.2.1 實驗結果
表2 不同實驗數據量結果統計

圖幅數量(幅)用時(秒)單機版基于云計算(Ubuntu64位)基于云計算(中標麒麟64位)輸入數據大小(MB)輸出數據大小(MB)259118367392137501493146140615276100355824024513315532007270459441263211064001221813101306549922325582497018871939863231231116499823885388017264624616747491258725819258969369223299886764277463452812492
根據表2,單機版DEM生成軟件與基于云計算的DEM生成軟件處理相同圖幅下,時間對比如圖7、圖8所示。

圖7 不同數據量處理時間對比

圖8 不同數據量處理時間趨勢對比
根據本章節實驗過程的統計數據,可以得出:(1)基于云計算的DEM生成處理在Ubuntu和中標麒麟操作系統下處理效率基本一致;(2)單機版DEM生成軟件的處理效率平均為35s/幅,且在圖幅量增大到一定量時,基本呈線性增長;(3)基于云計算的DEM生成軟件的處理效率平均為3s/幅,且在圖幅量增大到一定量時,基本呈線性增長;(4)批量DEM生成的速度相較于單機版DEM生成軟件提高達10倍左右。
4.2.2 實驗結果分析
單機版DEM生成軟件在0~558幅圖隨著圖幅量的增加,處理時間也逐步增加,但是并不嚴格呈現線性遞增,主要是因為每幅圖數據的數據量大小不一致造成。對于基于云計算的DEM生成處理,數據量之間的差異在并行計算中被削弱,在558~2232幅的DEM生成處理中,數據是成倍的復制重復,且以批數據形式測量,因此,單幅圖數據的數據量影響不大。
基于云計算的DEM生成處理在現有硬件條件下,使用兩個計算節點,每個計算節點開啟16個工作進程,處理558幅圖數據耗時33分鐘左右,估計成倍增加相同配置的計算節點,處理性能會成倍提高。
通過本次實驗,基于云計算的DEM生成軟件能夠根據現有硬件環境靈活部署,充分利用已有資源,與傳統單機版的DEM生成軟件相比,批量DEM生成的速度相較于單機版DEM生成軟件大大提高。
本文通過對DEM生成軟件進行結構化處理,采用跨平臺語言進行改造,利用Gearman框架及其調度原理,對DEM生成任務進行模塊劃分,在此基礎上,提出并實現了基于云計算的DEM并行化生成處理技術。經實驗對比,基于云計算的DEM生成技術極大地提高了單機、串行的DEM生成處理的性能,驗證了云計算環境進行海量基礎地理信息數據生產的可行性,為地理信息工程建設和綜合服務規模化、批量化、自動化開展提供新的模式和技術途徑。
[1]錢俊.GIS空間數據處理與質量控制系統[D]. 上海:同濟大學,2007.
[2]于戈,谷峪,鮑玉斌等.云計算環境下的大規模圖數據處理技術[J]. 計算機學報,2011(10):1753-1765.
[3]劉少華,吳東勝等. Delaunay三角網內插多邊形算法研究[J].測繪科學技術學報,2007,24(2):136-138.
[4]陳敬周.數字高程模型的生成與應用[D].山西:太原理工大學,2007.
[5]萬劍華,劉娜等.“數字城市”的空間數據庫設計方法研究[J].測繪科學,2006,31(6):107-108.
[6]程果,陳犖等.一種面向復雜地理空間柵格數據處理算法并行化的任務調度方法[J].國防科技大學學報,2012,34(6):61-65.
[7]張衛柱,孫亮等.基于等高線套合的ASTER DEM精度分析[J].軍事測繪導航,2014(3):37-39.
DEM Generating Technology Based on the Cloud Operating
Zhang WeiZhu1,2,Xiong Shun1,2,Xu DaoZhu1,2
1. Xi’an Research Institute of Surveying and Mapping, Xi’an 710054,China 2.State Key Laboratory of Geo-information Engineering, Xi’an 710054,China
In vien of the problems that low efficiency of massive DEM generating and complex data preparing, the paper proposes an algorithm model of DEM generating and designs a processing model based on the characteristics of cloud operating, such as virtual storage, cross platform, efficient scheduling computing and storage resources, reassemble and share of software architecture and services. Besides, the paper modifies the related software. The experiments results show that the new technology based on the cloud operating can improve the processing efficiency of DEM generating.
DEM generating; triangle network; cloud operating, parallel process
2015-04-29。
張衛柱(1970—),男,高級工程師,主要從事地理信息工程、DEM生成及精度評估等方面研究。
P283
A