?

輕量級地理數據分布式處理框架關鍵技術研究

2024-02-22 06:52吳浩偉
地理空間信息 2024年1期
關鍵詞:任務調度執行器數據處理

高 微,楊 婷*,楊 溯,吳浩偉

(1.自然資源部第三大地測量隊,四川 成都 610100)

近年來,地理空間數據的數據量呈現爆炸式增長[1],數據密集、計算密集、并發密集和時空密集已成為GIS軟件技術與應用面臨的挑戰[2]。密集的數據尤其是遙感影像數據[3],需耗費大量的人力物力和時間進行處理;且在實際測繪生產中,自主研發的針對數據處理的GIS 應用程序往往僅支持單機執行,時間消耗長、處理效率低,局域網內的計算資源也得不到充分利用。為高效解決測繪生產中個性化GIS 應用程序地理數據處理效率低的問題,本文充分利用局域網內的計算資源,通過融合Docker容器技術[4-5]與分布式任務調度技術,搭建了基于Docker的輕量級地理數據分布式處理框架,以接口的方式為地理數據處理用戶提供分布式處理能力,輕量靈活、可跨平臺。通過實際測試發現,該框架能有效提高作業機器資源利用率,提升地理數據處理效率。

1 關鍵技術

1.1 分布式任務調度技術

分布式任務調度技術可實現在集群環境下多節點任務的靈活分配與處理,是數據分布式處理的核心,包括資源調度、任務分割、任務分配、狀態探測、負載均衡等內容。本文搭建的是一個基于.NET Core的地理數據分布式處理框架,支持將作業分割后分發到多臺服務器并行處理,可成倍提升海量數據的處理速度。地理數據分布式處理框架作業處理程序包括分割任務、執行任務、合并任務3 部分,包含節點和管理界面兩個核心程序,其中節點程序是控制臺程序;管理界面程序是網頁端程序,負責管理操作作業,包括查看集群節點、上傳作業包、監控作業運行、下載作業結果等。

1.2 輕量級虛擬化技術

針對常規分布式地理數據處理框架與專業軟件集成度高、跨平臺處理能力弱、普適性弱等問題,本文在充分分析地理數據處理流程的基礎上,提出了分割、分發、處理、匯聚的任務處理基本流程,并研究了一種輕量級虛擬化技術——Docker 容器技術[6],可完成虛擬機能完成的所有功能[7]。由于在創建時Dock?er容器不會虛擬獨立的系統內核,而是共用主機的系統內核,因此為應用節約了虛擬環境系統部署的資源,具有輕量、資源利用率高、啟動時間短、遷移速度快、維護成本低和擴展性優良等優點[8-10]。同時,Docker容器在任何操作系統上都是一致的,將應用程序運行在Docker容器上即可實現跨平臺、跨服務器的操作[11]?;贒ocker 容器的特性,本文將GIS 應用程序運行在各輕量且相互隔離的Docker容器上,以實現分布式計算與資源的高效利用。

2 地理數據分布式處理框架

2.1 基本原理

本文構建的地理數據分布式處理框架的基本原理為將地理數據處理作業在邏輯上劃分為若干個分片,并通過作業分片調度器將作業分片指派給特定的執行節點;執行節點通過任務調度狀態觸發執行作業,執行時將分片序號和參數作為參數傳入(圖1)。作業的實施邏輯需分析分片序號和分片參數,并以此為依據調用具體的實現,如一個批量處理影像作業,可劃分0號分片處理1~10號影像數據,1號分片處理11~20號影像數據。

圖1 框架基本原理

2.2 分布式任務調度架構

地理數據分布式處理框架包括調度中心和執行器兩大部分,調度中心是一個網頁端的管理系統,是整個調度系統的大腦,主要負責管理調度信息、按照調度配置發出調度請求、將作業任務分配到各執行器,支持可視化、簡單且動態的管理調度信息,包括任務管理、執行器管理、日志管理等功能;執行器則負責接收調度請求并執行任務。本文構建的分布式任務調度總體架構見圖2。

圖2 分布式任務調度總體架構

基于Docker的地理數據分布式處理平臺調度中心與任務解耦,自身不執行任務,而是將任務以作業包的形式分發至各執行器,性能不再受限于任務模塊,可提高系統的可用性和穩定性。平臺調度中心與各執行器之間的對應關系見圖3。

圖3 調度中心與各執行器的關系圖

2.3 總體技術流程

地理數據分布式處理框架為GIS 應用程序提供了標準的數據接口與處理接口,用戶根據自身業務需求,利用接口實現地理數據處理應用,并結合管理應用程序實現地理數據分布式處理??傮w技術流程為:式處理框架的接口規范編寫,主要包括分割任務、執行任務、合并任務3 部分,分別按照框架規定的方法名稱和輸入輸出類型,實現應用程序內部邏輯;②部署環境,在Docker 宿主機器上部署GIS 應用程序所需的運行環境,部署成功后啟動執行器監測任務;③分發任務,將GIS 應用程序編譯后進行打包,以作業包的形式分發至Docker集群進行處理;④結果下載,將集群各節點處理情況匯聚成用戶的最終結果,用戶按需進行資源下載。

3 案例分析

①規范程序,GIS 應用程序需嚴格按照地理數據分布

以柵格數據裁切為例,本文對比測試了地理數據分布式處理框架作業模式和傳統單機作業模式的效率。案例采用6 組柵格影像,數據量約為50 GB,裁切為6 組規整的圖斑,分3 組測試,每組測試6 次。測試期間測試電腦除進行柵格數據裁切外不做任何其他操作,測試組環境、執行時間等信息見表1 所示,可以看出,相較于單機作業,該框架能減少數據處理時間,提升地理信息數據處理效率。

表1 測試環境、執行時間信息統計

4 結 語

基于Docker 的輕量級地理數據分布式處理框架,以接口的方式為地理數據處理用戶提供分布式處理能力,用戶不再考慮分布式地理程序的設計與實現,只需按需定制數據處理算法,即可快速實現一個地理數據分布式處理應用,從而充分利用閑置的計算機資源,并發式進行地理數據自動化處理,有效提高數據處理效率。在實際測繪生產中,該框架為提升個性化GIS 應用程序處理大數據量地理數據的效率提供了可行的思路和方法。

猜你喜歡
任務調度執行器數據處理
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
基于改進NSGA-Ⅱ算法的協同制造任務調度研究
基于時間負載均衡蟻群算法的云任務調度優化
測控技術(2018年12期)2018-11-25
飛機裝配預連接緊固件自動化安裝末端執行器設計
考慮執行器飽和的改進無模型自適應控制
一類具有執行器飽和的非線性系統抗飽和方法研究
云計算環境中任務調度策略
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合