張衛(wèi)柱,熊 順,徐道柱
1.西安測(cè)繪研究所,陜西 西安,710054;2.地理信息工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,陜西 西安,710054
?
基于云計(jì)算的DEM生成技術(shù)
張衛(wèi)柱1,2,熊 順1,2,徐道柱1,2
1.西安測(cè)繪研究所,陜西 西安,710054;2.地理信息工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,陜西 西安,710054
本文針對(duì)海量DEM串行化生成處理效率低、數(shù)據(jù)準(zhǔn)備過(guò)程繁雜等技術(shù)問(wèn)題,充分利用云計(jì)算技術(shù)的虛擬存儲(chǔ)、跨平臺(tái)應(yīng)用、計(jì)算和存儲(chǔ)資源高效調(diào)度、軟件架構(gòu)和服務(wù)可重組共享等特點(diǎn),提出了基于云計(jì)算的DEM生成算法模型,設(shè)計(jì)了基于云計(jì)算的DEM生成處理模型,并對(duì)軟件進(jìn)行改化。通過(guò)實(shí)驗(yàn)分析,基于云計(jì)算的DEM生成技術(shù)處理效率提高顯著。
數(shù)字高程模型(DEM)生成;三角網(wǎng);云計(jì)算;并行化處理
隨著測(cè)繪地理信息技術(shù)發(fā)展,各種DEM數(shù)據(jù)資源呈幾何量級(jí)增長(zhǎng),多樣化測(cè)繪導(dǎo)航任務(wù)對(duì)DEM產(chǎn)品規(guī)模、質(zhì)量和時(shí)效性提出更高的需求。傳統(tǒng)的串行化的DEM生成技術(shù)因耗時(shí)比較長(zhǎng),工序組織復(fù)雜,對(duì)作業(yè)人員要求很高,DEM生成處理效率和質(zhì)量問(wèn)題凸顯[1]。云計(jì)算技術(shù)具有虛擬存儲(chǔ)、跨平臺(tái)應(yīng)用、計(jì)算和存儲(chǔ)資源高效調(diào)度、軟件架構(gòu)和服務(wù)可重組共享、數(shù)據(jù)安全等特點(diǎn),已經(jīng)成為GIS行業(yè)發(fā)展的新趨勢(shì)[2]。本文基于云計(jì)算技術(shù),對(duì)原有單機(jī)版DEM生成處理軟件進(jìn)行跨平臺(tái)改造,構(gòu)建云計(jì)算處理的軟件框架,將原來(lái)的串行化處理流程進(jìn)行并行化改進(jìn),采用分布式多任務(wù)調(diào)度技術(shù),實(shí)現(xiàn)批量數(shù)據(jù)并行化處理,并在小型云計(jì)算實(shí)驗(yàn)環(huán)境進(jìn)行實(shí)驗(yàn),驗(yàn)證了技術(shù)框架、技術(shù)流程的可行性以及處理效率的提高程度。
2.1 系統(tǒng)架構(gòu)設(shè)計(jì)
根據(jù)層次化軟件體系架構(gòu)設(shè)計(jì)原則,系統(tǒng)軟件架構(gòu)采用5層設(shè)計(jì)模式,自下向上分別為:基礎(chǔ)設(shè)施層、存儲(chǔ)管理層、基礎(chǔ)平臺(tái)層、業(yè)務(wù)應(yīng)用層和用戶層。其中,基礎(chǔ)設(shè)施層作為整個(gè)系統(tǒng)軟件的硬件支撐平臺(tái),它是其它層的物理運(yùn)行介質(zhì);存儲(chǔ)管理層負(fù)責(zé)所有管理數(shù)據(jù)的存儲(chǔ)管理,不同類型數(shù)據(jù)分類獨(dú)立存儲(chǔ),它是整個(gè)系統(tǒng)數(shù)據(jù)交互和存儲(chǔ)管理的支撐平臺(tái);基礎(chǔ)平臺(tái)層為業(yè)務(wù)應(yīng)用層提供基礎(chǔ)軟件支撐,包括軟件運(yùn)行的操作系統(tǒng)、共享文件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)等;業(yè)務(wù)應(yīng)用層作為系統(tǒng)軟件功能實(shí)現(xiàn)的核心,負(fù)責(zé)實(shí)現(xiàn)具體的任務(wù)分解、任務(wù)分發(fā)、任務(wù)執(zhí)行監(jiān)控、數(shù)據(jù)拼接、構(gòu)建三角網(wǎng)、三角網(wǎng)內(nèi)插、DEM生成;用戶層是整個(gè)軟件系統(tǒng)與用戶交互的平臺(tái),為各類用戶提供人機(jī)交互的可視化控制窗口。
2.2 軟件功能組成
云計(jì)算DEM生成軟件是基于現(xiàn)有Windows系統(tǒng)DEM生成軟件改造而成,軟件功能包括:矢量數(shù)據(jù)拼接、三角網(wǎng)構(gòu)建、三角網(wǎng)內(nèi)插和DEM生成等。矢量數(shù)據(jù)拼接是將給定的圖幅數(shù)據(jù)向鄰接圖幅外擴(kuò)一定的距離;構(gòu)建三角網(wǎng)是利用拼接后的點(diǎn)、線、面數(shù)據(jù)進(jìn)行構(gòu)網(wǎng)[3];三角網(wǎng)內(nèi)插是直接利用三角網(wǎng)數(shù)據(jù)遍歷檢查三角網(wǎng)周圍的采樣區(qū)域的每個(gè)點(diǎn)[4], 得到該點(diǎn)的高程值; DEM生成算法使用鄰接圖幅有效數(shù)據(jù)對(duì)無(wú)效值填充,去除無(wú)效值。軟件功能組成如圖1所示。
2.3 物理組成設(shè)計(jì)
基于云計(jì)算環(huán)境的DEM生成物理組成如圖2所示,主要包括:用于任務(wù)分發(fā)的計(jì)算機(jī)、用于DEM生成算法實(shí)現(xiàn)的計(jì)算機(jī)集群、用于控制任務(wù)調(diào)度的兩臺(tái)計(jì)算機(jī)、共享存儲(chǔ)服務(wù)器和交換機(jī)等網(wǎng)絡(luò)附屬設(shè)備。其中用于DEM生成的計(jì)算機(jī)集群可以自動(dòng)化處理,用于任務(wù)分發(fā)的計(jì)算機(jī)應(yīng)人工操作。數(shù)據(jù)存儲(chǔ)采用NFS存儲(chǔ)網(wǎng)絡(luò)架構(gòu),實(shí)現(xiàn)了以共享存儲(chǔ)為核心的高性能數(shù)據(jù)處理。
圖2 基于云計(jì)算環(huán)境的DEM生成算法物理組成圖
2.4 業(yè)務(wù)流程設(shè)計(jì)
基于云計(jì)算的DEM生成處理借鑒新一代Gearman框架的設(shè)計(jì)思想與理念,在基礎(chǔ)任務(wù)的設(shè)計(jì)上提供數(shù)據(jù)接口,提供與作業(yè)過(guò)程、任務(wù)調(diào)度系統(tǒng)以及任務(wù)序列維持的接口,同時(shí)數(shù)據(jù)庫(kù)的設(shè)計(jì)上強(qiáng)調(diào)數(shù)據(jù)的維護(hù)、更新、安全、海量、支持多平臺(tái)[5],充分考慮數(shù)據(jù)的安全性,包括硬件、軟件、網(wǎng)絡(luò)帶來(lái)的數(shù)據(jù)的安全性和系統(tǒng)的高可用性,在任務(wù)調(diào)度處理流程分為任務(wù)分解、任務(wù)分發(fā)、任務(wù)執(zhí)行監(jiān)控三個(gè)部分。
任務(wù)分解就是對(duì)生產(chǎn)需求的分析和解釋,根據(jù)有限數(shù)量的生產(chǎn)任務(wù)生成邏輯上的任務(wù)序列,任務(wù)控制服務(wù)器將任務(wù)下發(fā)到最優(yōu)的算法模塊,執(zhí)行單個(gè)任務(wù)對(duì)應(yīng)的功能并對(duì)任務(wù)執(zhí)行過(guò)程進(jìn)行監(jiān)控。一條單一的DEM生產(chǎn)任務(wù)可以拆分成數(shù)據(jù)拼接、構(gòu)建三角網(wǎng)、三角網(wǎng)內(nèi)插和DEM生成四個(gè)步驟,其生成處理的業(yè)務(wù)流程如圖3所示。
圖3 基于云計(jì)算的DEM生成任務(wù)調(diào)度流程
3.1 設(shè)計(jì)實(shí)現(xiàn)總體流程
基于云計(jì)算的DEM生成技術(shù)實(shí)現(xiàn)采用結(jié)構(gòu)化設(shè)計(jì)方法,以任務(wù)流為中心,自上而下,逐層分解軟件工作過(guò)程,通過(guò)數(shù)據(jù)流圖、數(shù)據(jù)字典、算法說(shuō)明等分析途徑,將系統(tǒng)功能分解、描述出來(lái);使用標(biāo)準(zhǔn)C++編程語(yǔ)言進(jìn)行軟件跨平臺(tái)移植改造,使移植改造后的算法適用于Linux操作系統(tǒng)和并行化環(huán)境;現(xiàn)有功能模塊移植改造完成后,使用Gearman任務(wù)調(diào)度技術(shù)框架實(shí)現(xiàn)數(shù)據(jù)拼接、構(gòu)建三角網(wǎng)、三角網(wǎng)內(nèi)插算法的并行化,充分利用集群系統(tǒng)實(shí)現(xiàn)DEM生成軟件的規(guī)?;渴稹U麄€(gè)軟件設(shè)計(jì)實(shí)現(xiàn)流程如圖4所示:
圖4 基于云計(jì)算的DEM生成設(shè)計(jì)實(shí)現(xiàn)流程圖
3.2 軟件部署結(jié)構(gòu)
基于云計(jì)算環(huán)境的DEM生成軟件部署架構(gòu)如圖5所示:
圖5 基于云計(jì)算環(huán)境的DEM生成算法部署架構(gòu)圖
3.3 Gearman任務(wù)調(diào)度實(shí)現(xiàn)
基于云計(jì)算環(huán)境的DEM生成算法采用Gearman任務(wù)調(diào)度框架實(shí)現(xiàn)功能算法的并行計(jì)算。Gearman是一個(gè)分布式的任務(wù)調(diào)度框架,它提供了Job Server、Client API和Worker API,可直接運(yùn)行Gearman服務(wù)程序作為Job Server實(shí)現(xiàn)對(duì)客戶端(Client)和執(zhí)行體(Worker)的管控。Gearman框架的核心技術(shù)是Job Server,Job Server是Client和Worker通信的橋梁,Client和Worker的任何通信必須經(jīng)過(guò)Job Server。一個(gè)Client端應(yīng)用可以調(diào)用多個(gè)Worker,調(diào)度信息先注冊(cè)到Job Server服務(wù)端,Job Server根據(jù)Worker端的主機(jī)資源情況自動(dòng)實(shí)現(xiàn)負(fù)載均衡,而Client應(yīng)用可以選擇執(zhí)行后不等待任務(wù)執(zhí)行的結(jié)果立即退出,也可以一直等待到整個(gè)任務(wù)執(zhí)行結(jié)束并獲取任務(wù)執(zhí)行狀態(tài)后再退出。
圖6 調(diào)度框架示意圖
如圖6所示, Gearman的執(zhí)行過(guò)程:客戶端(Client)通過(guò)客戶端API創(chuàng)建一個(gè)任務(wù)發(fā)送到Job Server上,Job Server通過(guò)客戶端指定的Worker名找到相應(yīng)的Worker并將任務(wù)分到該Worker上。Worker接到任務(wù)后根據(jù)Worker的規(guī)則執(zhí)行并將返回結(jié)果發(fā)送給Job Server,而Job Server把結(jié)果數(shù)據(jù)返回給客戶端(Client)??梢愿鶕?jù)不同的需求定制不同的Worker來(lái)處理不同的任務(wù),可以將這些Worker放置到不同的計(jì)算節(jié)點(diǎn)服務(wù)器上,由Job Server根據(jù)計(jì)算節(jié)點(diǎn)和任務(wù)情況尋找合適的Worker執(zhí)行任務(wù),從而達(dá)到計(jì)算節(jié)點(diǎn)減輕壓力、負(fù)載均衡的目的。結(jié)合Gearman Worker API將DEM生成軟件各部分功能算法進(jìn)行拆分,一個(gè)或多個(gè)Worker組合就可以實(shí)現(xiàn)一個(gè)完整的處理任務(wù)。Gearman Client就是調(diào)用多個(gè)Worker的邏輯。此軟件中使用了如下三種關(guān)鍵技術(shù):基于Gearman框架的雙機(jī)熱備份技術(shù)、基于Gearman框架的任務(wù)調(diào)度技術(shù)和NFS共享存儲(chǔ)技術(shù)[6]。
為驗(yàn)證基于云計(jì)算的DEM生成算法效率和質(zhì)量,分別對(duì)某一地理區(qū)域下的多種比例尺、多批量的地形圖數(shù)據(jù)進(jìn)行DEM生成實(shí)驗(yàn),通過(guò)與現(xiàn)有單機(jī)版DEM生成軟件進(jìn)行對(duì)比檢驗(yàn),驗(yàn)證實(shí)驗(yàn)結(jié)果的可靠性、處理性能提高程度,最終獲得DEM生成算法效率評(píng)估[7]。
4.1 實(shí)驗(yàn)環(huán)境
4.1.1 軟、硬件及網(wǎng)絡(luò)環(huán)境
實(shí)驗(yàn)的硬件環(huán)境為三臺(tái)工作站、兩臺(tái)PC機(jī),局域千兆網(wǎng)卡環(huán)境,PC機(jī)為百兆網(wǎng)卡,連接至千兆交換機(jī),采用TCP/IP方式進(jìn)行網(wǎng)絡(luò)通信。除一臺(tái)PC機(jī)(硬件配置見(jiàn)下表pc5)部署單機(jī)版DEM生成軟件外,其余物理機(jī)用于部署基于云計(jì)算的DEM生成處理的NFS服務(wù)器、日志服務(wù)器、服務(wù)端和客戶端。這三臺(tái)工作站和兩臺(tái)PC機(jī)的具體配置和其所安裝的操作系統(tǒng)及所需軟件見(jiàn)表1。
表1 工作站及PC機(jī)配置
計(jì)算機(jī)序號(hào)處理器型號(hào)內(nèi)核個(gè)數(shù)內(nèi)存角色分配操作系統(tǒng)所需軟件名稱pc1IntelXeon(R)w335086GB計(jì)算節(jié)點(diǎn)中標(biāo)麒麟64位gcc、make、gearman、nfs_commonpc2IntelXeon(R)w335086GB計(jì)算節(jié)點(diǎn)中標(biāo)麒麟64位gcc、make、gearman、nfs_commonpc3i5-345044GBNFS中標(biāo)麒麟32位nfs-kernel-serverpc4IntelXeon(R)w335024GB日志服務(wù)中標(biāo)麒麟32位mysql_server、Loganalyzerpc5Intel(R)Core(TM)i3-212044GB單機(jī)版軟件Windows732位MicrosoftVisualStudio2010
4.1.2 實(shí)驗(yàn)數(shù)據(jù)
本實(shí)驗(yàn)使用比例尺為1萬(wàn)的數(shù)據(jù)4幅、比例尺為2.5萬(wàn)的數(shù)據(jù)65幅、比例尺為5萬(wàn)的數(shù)據(jù)558幅、比例尺為10萬(wàn)的數(shù)據(jù)219幅、比例尺為100萬(wàn)的數(shù)據(jù)2101幅作為實(shí)驗(yàn)數(shù)據(jù),在數(shù)據(jù)量擴(kuò)大時(shí), 將558幅1∶5萬(wàn)矢量數(shù)據(jù)復(fù)制4倍進(jìn)行。
分別驗(yàn)證基于云計(jì)算的DEM生成軟件功能是否正確,以及不同比例尺數(shù)據(jù)的處理性能、處理結(jié)果的正確性,用單機(jī)版的DEM生成軟件處理相同圖幅結(jié)果進(jìn)行對(duì)比來(lái)驗(yàn)證。
4.2 實(shí)驗(yàn)結(jié)果及分析
4.2.1 實(shí)驗(yàn)結(jié)果
表2 不同實(shí)驗(yàn)數(shù)據(jù)量結(jié)果統(tǒng)計(jì)
圖幅數(shù)量(幅)用時(shí)(秒)單機(jī)版基于云計(jì)算(Ubuntu64位)基于云計(jì)算(中標(biāo)麒麟64位)輸入數(shù)據(jù)大小(MB)輸出數(shù)據(jù)大小(MB)259118367392137501493146140615276100355824024513315532007270459441263211064001221813101306549922325582497018871939863231231116499823885388017264624616747491258725819258969369223299886764277463452812492
根據(jù)表2,單機(jī)版DEM生成軟件與基于云計(jì)算的DEM生成軟件處理相同圖幅下,時(shí)間對(duì)比如圖7、圖8所示。
圖7 不同數(shù)據(jù)量處理時(shí)間對(duì)比
圖8 不同數(shù)據(jù)量處理時(shí)間趨勢(shì)對(duì)比
根據(jù)本章節(jié)實(shí)驗(yàn)過(guò)程的統(tǒng)計(jì)數(shù)據(jù),可以得出:(1)基于云計(jì)算的DEM生成處理在Ubuntu和中標(biāo)麒麟操作系統(tǒng)下處理效率基本一致;(2)單機(jī)版DEM生成軟件的處理效率平均為35s/幅,且在圖幅量增大到一定量時(shí),基本呈線性增長(zhǎng);(3)基于云計(jì)算的DEM生成軟件的處理效率平均為3s/幅,且在圖幅量增大到一定量時(shí),基本呈線性增長(zhǎng);(4)批量DEM生成的速度相較于單機(jī)版DEM生成軟件提高達(dá)10倍左右。
4.2.2 實(shí)驗(yàn)結(jié)果分析
單機(jī)版DEM生成軟件在0~558幅圖隨著圖幅量的增加,處理時(shí)間也逐步增加,但是并不嚴(yán)格呈現(xiàn)線性遞增,主要是因?yàn)槊糠鶊D數(shù)據(jù)的數(shù)據(jù)量大小不一致造成。對(duì)于基于云計(jì)算的DEM生成處理,數(shù)據(jù)量之間的差異在并行計(jì)算中被削弱,在558~2232幅的DEM生成處理中,數(shù)據(jù)是成倍的復(fù)制重復(fù),且以批數(shù)據(jù)形式測(cè)量,因此,單幅圖數(shù)據(jù)的數(shù)據(jù)量影響不大。
基于云計(jì)算的DEM生成處理在現(xiàn)有硬件條件下,使用兩個(gè)計(jì)算節(jié)點(diǎn),每個(gè)計(jì)算節(jié)點(diǎn)開(kāi)啟16個(gè)工作進(jìn)程,處理558幅圖數(shù)據(jù)耗時(shí)33分鐘左右,估計(jì)成倍增加相同配置的計(jì)算節(jié)點(diǎn),處理性能會(huì)成倍提高。
通過(guò)本次實(shí)驗(yàn),基于云計(jì)算的DEM生成軟件能夠根據(jù)現(xiàn)有硬件環(huán)境靈活部署,充分利用已有資源,與傳統(tǒng)單機(jī)版的DEM生成軟件相比,批量DEM生成的速度相較于單機(jī)版DEM生成軟件大大提高。
本文通過(guò)對(duì)DEM生成軟件進(jìn)行結(jié)構(gòu)化處理,采用跨平臺(tái)語(yǔ)言進(jìn)行改造,利用Gearman框架及其調(diào)度原理,對(duì)DEM生成任務(wù)進(jìn)行模塊劃分,在此基礎(chǔ)上,提出并實(shí)現(xiàn)了基于云計(jì)算的DEM并行化生成處理技術(shù)。經(jīng)實(shí)驗(yàn)對(duì)比,基于云計(jì)算的DEM生成技術(shù)極大地提高了單機(jī)、串行的DEM生成處理的性能,驗(yàn)證了云計(jì)算環(huán)境進(jìn)行海量基礎(chǔ)地理信息數(shù)據(jù)生產(chǎn)的可行性,為地理信息工程建設(shè)和綜合服務(wù)規(guī)模化、批量化、自動(dòng)化開(kāi)展提供新的模式和技術(shù)途徑。
[1]錢俊.GIS空間數(shù)據(jù)處理與質(zhì)量控制系統(tǒng)[D]. 上海:同濟(jì)大學(xué),2007.
[2]于戈,谷峪,鮑玉斌等.云計(jì)算環(huán)境下的大規(guī)模圖數(shù)據(jù)處理技術(shù)[J]. 計(jì)算機(jī)學(xué)報(bào),2011(10):1753-1765.
[3]劉少華,吳東勝等. Delaunay三角網(wǎng)內(nèi)插多邊形算法研究[J].測(cè)繪科學(xué)技術(shù)學(xué)報(bào),2007,24(2):136-138.
[4]陳敬周.數(shù)字高程模型的生成與應(yīng)用[D].山西:太原理工大學(xué),2007.
[5]萬(wàn)劍華,劉娜等.“數(shù)字城市”的空間數(shù)據(jù)庫(kù)設(shè)計(jì)方法研究[J].測(cè)繪科學(xué),2006,31(6):107-108.
[6]程果,陳犖等.一種面向復(fù)雜地理空間柵格數(shù)據(jù)處理算法并行化的任務(wù)調(diào)度方法[J].國(guó)防科技大學(xué)學(xué)報(bào),2012,34(6):61-65.
[7]張衛(wèi)柱,孫亮等.基于等高線套合的ASTER DEM精度分析[J].軍事測(cè)繪導(dǎo)航,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。
張衛(wèi)柱(1970—),男,高級(jí)工程師,主要從事地理信息工程、DEM生成及精度評(píng)估等方面研究。
P283
A