王意
(山東省國土測繪院,山東 濟南 250013)
隨著大數據應用的普及,各行業已積累了海量的專題數據。其中,地理信息時空大數據提供了對各類專題數據的時空基準,并呈現出 體量大、增速快、樣式多、價值高 的特點,實現了非空間數據的“落地”,成為地理信息社會化應用的主要形式。基礎設施是地理信息時空大數據的基本要素,主要包含面向時空大數據資源體系建設及管理應用所需要的硬件設備、網絡存儲及軟件支撐系統。其目標是建立、使用和維護一個時空數據框架,包含兩方面內容:一是時空數據,即框架基礎數據和專題數據,二是時空信息服務,即提供對時空大數據的共享、集成、互操作的功能和接口[1-2]。
傳統的地理信息基礎設施應用模式下,數據以項目為單位進行生產和組織,以離線和準在線的方式集中存儲在單一的存儲系統中,可以看作是孤立的數據集。在使用時,應用系統首先對元數據進行查詢,在已有的數據中找到合適的數據集并篩選出需要的數據實體,再按照一定格式將打包的空間數據下載到本地,供下一步使用。這種按專項業務維度構建的體系結構雖然在基礎設施部署上易于實現,但存在著煙囪式管理、各自獨立、服務類型單一等問題,難以完成大數據背景下的海量數據處理,無法滿足當下按需定制的多樣化產品的需求[3-5]。以山東省為例,“十一五”到“十三五”期間,測繪地理信息領域積累了豐富的數據資源,總量在1.5PB左右,且有非常明顯的異構特性(獲取渠道、數據格式、存檔結構等)。而現有的基礎設施依然沿用傳統的體系架構,不能滿足日益個性化、多場景的應用需求。由于軟硬件緊耦合、管理接口不統一等限制因素,現有存儲系統無法做到資源的統一管理和彈性調度,帶來存儲利用效率較低的現象。以單機為主的服務器應用模式易造成計算資源使用不充分、整合度不高的情況。網絡環境在并發訪問量多的時候會造成網絡堵塞,導致數據訪問的效率難以提升,在連通性、容災備份、網絡吞吐量、擴展性等方面也存在性能瓶頸[6-12]。
針對大數據背景下基礎設施面臨的巨大挑戰,本文提出一種基于云架構的基礎設施構建方法,構建分布式、可擴展、動態按需的統一資源池。引進時空大數據基礎框架,完成對地理信息時空大數據分布式存儲與計算的底層技術支撐,實現基礎設施即服務,有效支撐地理信息時空大數據與各類業務應用的密切銜接[13-15]。
山東省省級地理信息資源大數據中心(以下簡稱大數據中心)建設是山東省“十三五”基礎測繪規劃的重點工程,目的是通過全面梳理、整合省級數據資源,建成標準統一的地理信息時空大數據庫[16-19]。大數據中心以基礎設施為支撐,采用云計算技術將硬件資源抽象成邏輯資源,形成跨虛擬化技術的統一資源池,提供信息共享、互聯互通、安全保密、實用便捷的計算資源、存儲資源、網絡資源等基礎設施環境,對外提供統一的資源調度接口,按需和動態分配各類資源。在云平臺之上搭建時空大數據基礎框架,對傳統業務進行分布式、并行化改造升級,提供規范化的數據存取和計算接口,實現支持關系型數據庫、非關系型數據庫、文件數據庫的混合存儲框架能力以及支持高性能計算、并行計算和分布式計算的混合計算框架能力(圖1)。

圖1 基礎設施總體架構
地理信息時空大數據是國家基礎性戰略資源,現有數據資源存在標準多樣,內容和現勢性各有側重等特征。山東省通過 “十一五”到“十三五”基礎測繪規劃的實施,形成了豐富的數據資源,涵蓋測繪基準數據、省級基礎地理信息數據、地理國(省)情普查(監測)數據、三維數據、行業專題數據、檔案資料數據等。但是豐富的數據資源在管理與應用上面臨諸多問題,如數據存儲較為分散,冗余存儲現象突出;數據表達不一致,關聯性差,難以支撐大數據分析挖掘。實現基礎設施的高效利用必須首先解決數據模型問題,因此需通過引入大數據思維,對時空大數據進行模型重構和數據資源整合,形成以匯集庫、資源庫、服務庫以及目錄與元數據庫為主體的省級時空大數據資源體系。通過動態匯集各類信息資源,形成大數據匯集庫;對時空大數據資源進行對比、整合,建設包含6大類數據的資源數據庫;標準服務化處理形成的電子地圖、專題圖、地形圖和新型測繪產品等構成數據服務庫;對數據資源建立統一分類編碼和統一資源分類目錄,采用元數據對大數據資源進行描述,形成目錄與元數據庫。通過資源整合,形成省級基礎地理時空數據的統一歸口與出口(圖2)。

圖2 數據庫總體架構
基礎設施私有云環境的搭建,是在分析現有存儲、計算及網絡設備的基礎上,將現有硬件資源進行整合,抽象成邏輯資源,形成跨虛擬化技術的統一資源池。目的是通過云管理系統實現計算資源、存儲資源及網絡資源動態分配,完成基礎設施資源池化,實現基礎設施即服務(圖3)。

圖3 基礎設施私有云環境
(1)網絡資源
網絡設施是實現大數據中心業務最底層的基礎設施。為保證數據的傳輸速率,采用萬兆網絡環境,同時各節點啟用雙機熱備模式,服務器采用雙萬兆光口連接,實現各設備間高效的數據傳輸,提高網絡容災性。通過云管理軟件,將多臺網絡設備虛擬化為一臺邏輯設備,將核心和接入設備通過異構虛擬化技術形成一臺縱向邏輯虛擬設備,形成網絡智能彈性架構。
(2)計算資源
計算資源是各類業務進行分析應用的關鍵資源。通過云管理系統搭建虛擬化服務器集群,實現計算資源虛擬化。為匹配大數據中心的并發服務和并行計算的需求,結合設備性能參數,部署30臺物理服務器用于搭建云平臺。采用最新型的英特爾至強第 14 代 CPU,提供不少于四個10Gbps 高速以太網端口,實現高數據吞吐量和低延遲工作負載。
(3)存儲資源
存儲資源是數據存放的物理位置,由云管理系統進行統一納管,根據數據存儲需求和設備性能進行空間劃分和磁盤調度。當有高性能讀寫數據需求時可以將數據存放到高速硬盤,當存放沉睡數據時,則使用低速盤。保留原有的網絡附屬存儲和存儲區域網絡,集成二者的優勢,支持多種網絡協議方式。
(4)云管理系統
云管理系統是實現基礎設施資源池化和動態分配的核心基礎。云管系統將服務器、網絡存儲資源進行統一接入和管理,對硬件資源進行虛擬化適配、彈性擴充和負載均衡,提供統一虛擬化管理接口,供業務系統集成。云管系統還提供統一的維護管理功能,如性能監控及預警等(圖4)。

圖4 私有云管理系統資源監控功能
時空大數據基礎框架在云平臺基礎上,面向大數據中心提供數據統一管理、分布式存儲、高性能處理分析的基礎能力。主要包括時空大數據算法模型庫、大數據存儲框架、時空大數據計算框架、分布式調度管理系統四大部分(圖5)。

圖5 時空大數據基礎框架
(1)大數據算法模型庫
應用系統的各功能模塊,如數據轉化、柵格圖片切片等,它們包含的算子或者模型都存放在大數據算法模型庫中,利用業務邏輯或工作流將對應的算法或模型貫穿起來,形成支撐該業務的實際功能模塊,并將此信息存儲在業務流程管理系統中。
實際業務運行中,通過功能模塊指令來激活任務調度,將該功能模塊產生的任務進行列隊,同時獲取資源調度管理系統關于存儲資源和計算資源的信息。若資源足夠,則分配足夠的計算資源和存儲資源,反之則在任務列隊中等待,直到其他任務執行結束以釋放足夠的資源,執行任務時利用該功能指令在業務執行系統中對應的信息(該功能算法模型集)。在時空大數據算法模型庫的對應算法模型集中,按照業務邏輯調用存儲資源與計算資源的接口,執行數據獲取、計算、存儲等命令。
(2)存儲框架
時空大數據存儲采用混合存儲和分布式存儲策略,以支撐上層分布式、并行計算的應用。在傳統關系數據庫、共享文件系統基礎上,擴展并利用非關系型的數據庫、分布式文件系統,形成面向時空大數據的關系數據庫集群、非關系型的數據庫集群、分布式文件系統集群(HDFS)的存儲框架,并提供規范化的數據存取接口,實現多種存儲模式數據的訪問與管理。
存儲框架通過對數據組織結構的建模以及數據模型管理,擴展數據庫邏輯結構,配合入庫插件工具,實現對更為廣泛數據資源的接入與管理。對數據資源進行層次化組織,從分類、應用等多個角度對數據資源進行識別和存儲,例如矢量數據采用具備幾何特征的關系表進行存儲;柵格數據采用鑲嵌數據集進行管理;文件實體存儲于文件系統,通過統一數據目錄實現對數據管理。
(3)計算框架
現有的分布式并行計算系統大致可以分為面向高性能計算的超級計算框架和面向海量數據處理的基于分布式內存計算框架兩大類,二者在系統結構、編程模型及運行環境方面都有很大不同[20]。 針對不同場景下的時空大數據計算處理需求,應構建一個綜合性的、包含多種處理模式的大數據計算框架,對不同處理模式進行融合設計,實現綜合計算效率的均衡,完成時空大數據計算插件的管理、任務的管理與監控、分布式計算結果的匯總。
在時空大數據中心的計算框架中,超級計算框架通過對傳統應用改造升級,實現任務級并行計算,利用更多的計算資源提升傳統業務處理效率,能很好的應用于計算量較小、并發高的場景。基于分布式內存計算框架主要是面向創新型時空大數據分析挖掘,應用于海量數據高效計算的場景。各計算模式通過提供統一的 應用程序接口,實現時空大數據的高效分析處理。時空大數據計算根據其業務特點,將時空大數據處理模式分為批處理模式和流處理模式。批處理模式的特點是空間數據先存儲后處理,而流處理模式的特點是直接處理獲取的空間數據。批處理模式采用超級計算框架的并行計算框架,實現對影像的處理、統計分析等功能。流處理模式適用于一些需要對實時時空大數據分析處理的場景,采用基于分布式內存計算框架。
(4)管理框架
管理框架主要為了實現對大數據計算與存儲過程中資源的動態調度與分配。資源管理通過監控應用系統的各組成子系統(含服務)的平臺及設備工作狀態,并結合圖形、列表等多種手段進行展示,實時采集存儲節點、計算節點的運行狀態信息。任務調度對任務進行全程的控制,包括任務接收、拆分和執行等,同時對任務進行分類顯示,開展任務檢索定義任務接口(圖6)。

圖6 存儲資源配置
時空大數據基礎框架重點是解決云環境下的計算和存儲資源與地理信息應用服務平臺內核的深度融合,涉及時空大數據高效存儲和時空大數據高性能計算分析。本研究采取數據建庫、圖斑橢球面積計算和圖斑疊加計算等應用場景,通過與傳統模式下的相同操作進行對比測試,驗證時空大數據基礎框架下的基礎設施建設是否達到預期效果,提升地理信息應用服務的效率和系統資源的利用率。
(1)實驗數據
驗證基于時空大數據基礎框架下的分布式存儲技術的有效性,選取山東省省級基礎測繪“十二五”地形要素數據(不含青島市和潮間帶)共5977個MDB格式的文件,51.7GB,“十三五”數字正射影像6578幅、2.73TB。
(2)實驗方法
對比在時空大數據基礎框架下的混合存儲策略與傳統的集中式存儲兩種模式下,實驗數據入庫的時效。在時空大數據基礎框架下,基于云環境搭建數據庫存儲與文件存儲環境,將實驗數據中的地形要素數據存儲于空間數據庫,數字正射影像存儲于文件系統,采用PostgreSQL-XL作為分布式數據庫解決方案,對分布式存儲的數據進行入庫操作。
(3)對比結果
通過實驗對比,證明時空大數據基礎框架下的入庫時效和數據瀏覽數據速度均大幅度優于傳統模式,入庫效率大大提升。在入庫過程中的數據庫穩定性及應用響應程度都有所優化,同時混合存儲和分布式存儲策略給予了用戶業務定制最大的靈活性,切實提高了整體的并發訪問能力。
(1)驗證環境
1臺服務器作為主節點,3臺服務器作為計算節點,通過主節點動態調度計算資源、內存資源和存儲資源。各節點的硬件環境中,2個CPU,12核24線程,128GB內存;軟件環境中,操作系統為Linux,Spark版本為2.1.1,Hadoop版本為2.7。其中,主節點服務器:1臺,2個CPU,12核24線程,128GB內存;子節點服務器:3臺,2個CPU,12核24線程,128GB內存。網絡環境:千兆交換機,局域網。
(2)圖斑橢球面積計算
對山東省地理省情監測成果中地表覆蓋圖斑進行橢球面積計算,并根據屬性信息進行匯總統計,需要達到準實時計算的效果。在單機模式下,其他商業軟件完成該項任務需要1周,而采用時空大數據計算框架中的分布式內存計算引擎,完成 “面積計算 + 匯總統計 + 可視化”耗時穩定在5min左右,效率同比提升2~3個數量級(表1、表2)。

表1 不同模式下的數據入庫效率對比表

表2 不同計算方式的計算效率對比表
(3)地表覆蓋變化流量統計
選取2018年、2019年兩個年度的山東省地理省情監測數據成果,對兩個年度的地表覆蓋監測數據進行空間疊加計算,并在疊加結果中統計地表覆蓋變化信息,按照測區進行統計。在單機模式下,在數據已經準備好的情況下,其他商業軟件完成該項任務需要8~10h,而采用空間并行計算引擎,完成各疊加統計僅需30min左右,效率同比提升10倍以上(表3)。

表3 不同計算方式的計算耗時對比表
基礎設施是各類大數據中心運行的基礎支撐,對大數據中心管理與服務效率起著至關重要的基礎作用。該文在實踐的基礎上,討論了通過云管理平臺,將各種物理資源虛擬化,形成跨虛擬化技術的統一資源池,整合計算資源、存儲資源、網絡資源等基礎設施資源,完成云基礎設施環境搭建。通過集群并行的工作模式去解決存儲和計算兩個最為核心的技術需求,將并行計算、GIS 內核技術深度融合在分布式架構中,形成時空大數據基礎框架以解決時空大數據的存儲和計算問題。通過實驗對比,在相同的數據操作下,采用時空大數據基礎框架能夠加快數據入庫速度,縮短數據瀏覽時間,提高數據計算效率,切實提升時空大數據的服務和管理能力。通過構筑技術先進、高可靠、高擴展的基礎設施架構,不僅能滿足當前大數據中心各系統運行需求和各類數據存儲需求,同時可提供統一的、標準的數據接口,保證未來的可擴展,可實現與其他行業數據的有效銜接,為社會經濟發展提供了有效支撐。