王意
(山東省國土測繪院,山東 濟南 250013)
隨著大數(shù)據(jù)應(yīng)用的普及,各行業(yè)已積累了海量的專題數(shù)據(jù)。其中,地理信息時空大數(shù)據(jù)提供了對各類專題數(shù)據(jù)的時空基準,并呈現(xiàn)出 體量大、增速快、樣式多、價值高 的特點,實現(xiàn)了非空間數(shù)據(jù)的“落地”,成為地理信息社會化應(yīng)用的主要形式?;A(chǔ)設(shè)施是地理信息時空大數(shù)據(jù)的基本要素,主要包含面向時空大數(shù)據(jù)資源體系建設(shè)及管理應(yīng)用所需要的硬件設(shè)備、網(wǎng)絡(luò)存儲及軟件支撐系統(tǒng)。其目標是建立、使用和維護一個時空數(shù)據(jù)框架,包含兩方面內(nèi)容:一是時空數(shù)據(jù),即框架基礎(chǔ)數(shù)據(jù)和專題數(shù)據(jù),二是時空信息服務(wù),即提供對時空大數(shù)據(jù)的共享、集成、互操作的功能和接口[1-2]。
傳統(tǒng)的地理信息基礎(chǔ)設(shè)施應(yīng)用模式下,數(shù)據(jù)以項目為單位進行生產(chǎn)和組織,以離線和準在線的方式集中存儲在單一的存儲系統(tǒng)中,可以看作是孤立的數(shù)據(jù)集。在使用時,應(yīng)用系統(tǒng)首先對元數(shù)據(jù)進行查詢,在已有的數(shù)據(jù)中找到合適的數(shù)據(jù)集并篩選出需要的數(shù)據(jù)實體,再按照一定格式將打包的空間數(shù)據(jù)下載到本地,供下一步使用。這種按專項業(yè)務(wù)維度構(gòu)建的體系結(jié)構(gòu)雖然在基礎(chǔ)設(shè)施部署上易于實現(xiàn),但存在著煙囪式管理、各自獨立、服務(wù)類型單一等問題,難以完成大數(shù)據(jù)背景下的海量數(shù)據(jù)處理,無法滿足當下按需定制的多樣化產(chǎn)品的需求[3-5]。以山東省為例,“十一五”到“十三五”期間,測繪地理信息領(lǐng)域積累了豐富的數(shù)據(jù)資源,總量在1.5PB左右,且有非常明顯的異構(gòu)特性(獲取渠道、數(shù)據(jù)格式、存檔結(jié)構(gòu)等)。而現(xiàn)有的基礎(chǔ)設(shè)施依然沿用傳統(tǒng)的體系架構(gòu),不能滿足日益?zhèn)€性化、多場景的應(yīng)用需求。由于軟硬件緊耦合、管理接口不統(tǒng)一等限制因素,現(xiàn)有存儲系統(tǒng)無法做到資源的統(tǒng)一管理和彈性調(diào)度,帶來存儲利用效率較低的現(xiàn)象。以單機為主的服務(wù)器應(yīng)用模式易造成計算資源使用不充分、整合度不高的情況。網(wǎng)絡(luò)環(huán)境在并發(fā)訪問量多的時候會造成網(wǎng)絡(luò)堵塞,導致數(shù)據(jù)訪問的效率難以提升,在連通性、容災(zāi)備份、網(wǎng)絡(luò)吞吐量、擴展性等方面也存在性能瓶頸[6-12]。
針對大數(shù)據(jù)背景下基礎(chǔ)設(shè)施面臨的巨大挑戰(zhàn),本文提出一種基于云架構(gòu)的基礎(chǔ)設(shè)施構(gòu)建方法,構(gòu)建分布式、可擴展、動態(tài)按需的統(tǒng)一資源池。引進時空大數(shù)據(jù)基礎(chǔ)框架,完成對地理信息時空大數(shù)據(jù)分布式存儲與計算的底層技術(shù)支撐,實現(xiàn)基礎(chǔ)設(shè)施即服務(wù),有效支撐地理信息時空大數(shù)據(jù)與各類業(yè)務(wù)應(yīng)用的密切銜接[13-15]。
山東省省級地理信息資源大數(shù)據(jù)中心(以下簡稱大數(shù)據(jù)中心)建設(shè)是山東省“十三五”基礎(chǔ)測繪規(guī)劃的重點工程,目的是通過全面梳理、整合省級數(shù)據(jù)資源,建成標準統(tǒng)一的地理信息時空大數(shù)據(jù)庫[16-19]。大數(shù)據(jù)中心以基礎(chǔ)設(shè)施為支撐,采用云計算技術(shù)將硬件資源抽象成邏輯資源,形成跨虛擬化技術(shù)的統(tǒng)一資源池,提供信息共享、互聯(lián)互通、安全保密、實用便捷的計算資源、存儲資源、網(wǎng)絡(luò)資源等基礎(chǔ)設(shè)施環(huán)境,對外提供統(tǒng)一的資源調(diào)度接口,按需和動態(tài)分配各類資源。在云平臺之上搭建時空大數(shù)據(jù)基礎(chǔ)框架,對傳統(tǒng)業(yè)務(wù)進行分布式、并行化改造升級,提供規(guī)范化的數(shù)據(jù)存取和計算接口,實現(xiàn)支持關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫、文件數(shù)據(jù)庫的混合存儲框架能力以及支持高性能計算、并行計算和分布式計算的混合計算框架能力(圖1)。
圖1 基礎(chǔ)設(shè)施總體架構(gòu)
地理信息時空大數(shù)據(jù)是國家基礎(chǔ)性戰(zhàn)略資源,現(xiàn)有數(shù)據(jù)資源存在標準多樣,內(nèi)容和現(xiàn)勢性各有側(cè)重等特征。山東省通過 “十一五”到“十三五”基礎(chǔ)測繪規(guī)劃的實施,形成了豐富的數(shù)據(jù)資源,涵蓋測繪基準數(shù)據(jù)、省級基礎(chǔ)地理信息數(shù)據(jù)、地理國(省)情普查(監(jiān)測)數(shù)據(jù)、三維數(shù)據(jù)、行業(yè)專題數(shù)據(jù)、檔案資料數(shù)據(jù)等。但是豐富的數(shù)據(jù)資源在管理與應(yīng)用上面臨諸多問題,如數(shù)據(jù)存儲較為分散,冗余存儲現(xiàn)象突出;數(shù)據(jù)表達不一致,關(guān)聯(lián)性差,難以支撐大數(shù)據(jù)分析挖掘。實現(xiàn)基礎(chǔ)設(shè)施的高效利用必須首先解決數(shù)據(jù)模型問題,因此需通過引入大數(shù)據(jù)思維,對時空大數(shù)據(jù)進行模型重構(gòu)和數(shù)據(jù)資源整合,形成以匯集庫、資源庫、服務(wù)庫以及目錄與元數(shù)據(jù)庫為主體的省級時空大數(shù)據(jù)資源體系。通過動態(tài)匯集各類信息資源,形成大數(shù)據(jù)匯集庫;對時空大數(shù)據(jù)資源進行對比、整合,建設(shè)包含6大類數(shù)據(jù)的資源數(shù)據(jù)庫;標準服務(wù)化處理形成的電子地圖、專題圖、地形圖和新型測繪產(chǎn)品等構(gòu)成數(shù)據(jù)服務(wù)庫;對數(shù)據(jù)資源建立統(tǒng)一分類編碼和統(tǒng)一資源分類目錄,采用元數(shù)據(jù)對大數(shù)據(jù)資源進行描述,形成目錄與元數(shù)據(jù)庫。通過資源整合,形成省級基礎(chǔ)地理時空數(shù)據(jù)的統(tǒng)一歸口與出口(圖2)。
圖2 數(shù)據(jù)庫總體架構(gòu)
基礎(chǔ)設(shè)施私有云環(huán)境的搭建,是在分析現(xiàn)有存儲、計算及網(wǎng)絡(luò)設(shè)備的基礎(chǔ)上,將現(xiàn)有硬件資源進行整合,抽象成邏輯資源,形成跨虛擬化技術(shù)的統(tǒng)一資源池。目的是通過云管理系統(tǒng)實現(xiàn)計算資源、存儲資源及網(wǎng)絡(luò)資源動態(tài)分配,完成基礎(chǔ)設(shè)施資源池化,實現(xiàn)基礎(chǔ)設(shè)施即服務(wù)(圖3)。
圖3 基礎(chǔ)設(shè)施私有云環(huán)境
(1)網(wǎng)絡(luò)資源
網(wǎng)絡(luò)設(shè)施是實現(xiàn)大數(shù)據(jù)中心業(yè)務(wù)最底層的基礎(chǔ)設(shè)施。為保證數(shù)據(jù)的傳輸速率,采用萬兆網(wǎng)絡(luò)環(huán)境,同時各節(jié)點啟用雙機熱備模式,服務(wù)器采用雙萬兆光口連接,實現(xiàn)各設(shè)備間高效的數(shù)據(jù)傳輸,提高網(wǎng)絡(luò)容災(zāi)性。通過云管理軟件,將多臺網(wǎng)絡(luò)設(shè)備虛擬化為一臺邏輯設(shè)備,將核心和接入設(shè)備通過異構(gòu)虛擬化技術(shù)形成一臺縱向邏輯虛擬設(shè)備,形成網(wǎng)絡(luò)智能彈性架構(gòu)。
(2)計算資源
計算資源是各類業(yè)務(wù)進行分析應(yīng)用的關(guān)鍵資源。通過云管理系統(tǒng)搭建虛擬化服務(wù)器集群,實現(xiàn)計算資源虛擬化。為匹配大數(shù)據(jù)中心的并發(fā)服務(wù)和并行計算的需求,結(jié)合設(shè)備性能參數(shù),部署30臺物理服務(wù)器用于搭建云平臺。采用最新型的英特爾至強第 14 代 CPU,提供不少于四個10Gbps 高速以太網(wǎng)端口,實現(xiàn)高數(shù)據(jù)吞吐量和低延遲工作負載。
(3)存儲資源
存儲資源是數(shù)據(jù)存放的物理位置,由云管理系統(tǒng)進行統(tǒng)一納管,根據(jù)數(shù)據(jù)存儲需求和設(shè)備性能進行空間劃分和磁盤調(diào)度。當有高性能讀寫數(shù)據(jù)需求時可以將數(shù)據(jù)存放到高速硬盤,當存放沉睡數(shù)據(jù)時,則使用低速盤。保留原有的網(wǎng)絡(luò)附屬存儲和存儲區(qū)域網(wǎng)絡(luò),集成二者的優(yōu)勢,支持多種網(wǎng)絡(luò)協(xié)議方式。
(4)云管理系統(tǒng)
云管理系統(tǒng)是實現(xiàn)基礎(chǔ)設(shè)施資源池化和動態(tài)分配的核心基礎(chǔ)。云管系統(tǒng)將服務(wù)器、網(wǎng)絡(luò)存儲資源進行統(tǒng)一接入和管理,對硬件資源進行虛擬化適配、彈性擴充和負載均衡,提供統(tǒng)一虛擬化管理接口,供業(yè)務(wù)系統(tǒng)集成。云管系統(tǒng)還提供統(tǒng)一的維護管理功能,如性能監(jiān)控及預(yù)警等(圖4)。
圖4 私有云管理系統(tǒng)資源監(jiān)控功能
時空大數(shù)據(jù)基礎(chǔ)框架在云平臺基礎(chǔ)上,面向大數(shù)據(jù)中心提供數(shù)據(jù)統(tǒng)一管理、分布式存儲、高性能處理分析的基礎(chǔ)能力。主要包括時空大數(shù)據(jù)算法模型庫、大數(shù)據(jù)存儲框架、時空大數(shù)據(jù)計算框架、分布式調(diào)度管理系統(tǒng)四大部分(圖5)。
圖5 時空大數(shù)據(jù)基礎(chǔ)框架
(1)大數(shù)據(jù)算法模型庫
應(yīng)用系統(tǒng)的各功能模塊,如數(shù)據(jù)轉(zhuǎn)化、柵格圖片切片等,它們包含的算子或者模型都存放在大數(shù)據(jù)算法模型庫中,利用業(yè)務(wù)邏輯或工作流將對應(yīng)的算法或模型貫穿起來,形成支撐該業(yè)務(wù)的實際功能模塊,并將此信息存儲在業(yè)務(wù)流程管理系統(tǒng)中。
實際業(yè)務(wù)運行中,通過功能模塊指令來激活任務(wù)調(diào)度,將該功能模塊產(chǎn)生的任務(wù)進行列隊,同時獲取資源調(diào)度管理系統(tǒng)關(guān)于存儲資源和計算資源的信息。若資源足夠,則分配足夠的計算資源和存儲資源,反之則在任務(wù)列隊中等待,直到其他任務(wù)執(zhí)行結(jié)束以釋放足夠的資源,執(zhí)行任務(wù)時利用該功能指令在業(yè)務(wù)執(zhí)行系統(tǒng)中對應(yīng)的信息(該功能算法模型集)。在時空大數(shù)據(jù)算法模型庫的對應(yīng)算法模型集中,按照業(yè)務(wù)邏輯調(diào)用存儲資源與計算資源的接口,執(zhí)行數(shù)據(jù)獲取、計算、存儲等命令。
(2)存儲框架
時空大數(shù)據(jù)存儲采用混合存儲和分布式存儲策略,以支撐上層分布式、并行計算的應(yīng)用。在傳統(tǒng)關(guān)系數(shù)據(jù)庫、共享文件系統(tǒng)基礎(chǔ)上,擴展并利用非關(guān)系型的數(shù)據(jù)庫、分布式文件系統(tǒng),形成面向時空大數(shù)據(jù)的關(guān)系數(shù)據(jù)庫集群、非關(guān)系型的數(shù)據(jù)庫集群、分布式文件系統(tǒng)集群(HDFS)的存儲框架,并提供規(guī)范化的數(shù)據(jù)存取接口,實現(xiàn)多種存儲模式數(shù)據(jù)的訪問與管理。
存儲框架通過對數(shù)據(jù)組織結(jié)構(gòu)的建模以及數(shù)據(jù)模型管理,擴展數(shù)據(jù)庫邏輯結(jié)構(gòu),配合入庫插件工具,實現(xiàn)對更為廣泛數(shù)據(jù)資源的接入與管理。對數(shù)據(jù)資源進行層次化組織,從分類、應(yīng)用等多個角度對數(shù)據(jù)資源進行識別和存儲,例如矢量數(shù)據(jù)采用具備幾何特征的關(guān)系表進行存儲;柵格數(shù)據(jù)采用鑲嵌數(shù)據(jù)集進行管理;文件實體存儲于文件系統(tǒng),通過統(tǒng)一數(shù)據(jù)目錄實現(xiàn)對數(shù)據(jù)管理。
(3)計算框架
現(xiàn)有的分布式并行計算系統(tǒng)大致可以分為面向高性能計算的超級計算框架和面向海量數(shù)據(jù)處理的基于分布式內(nèi)存計算框架兩大類,二者在系統(tǒng)結(jié)構(gòu)、編程模型及運行環(huán)境方面都有很大不同[20]。 針對不同場景下的時空大數(shù)據(jù)計算處理需求,應(yīng)構(gòu)建一個綜合性的、包含多種處理模式的大數(shù)據(jù)計算框架,對不同處理模式進行融合設(shè)計,實現(xiàn)綜合計算效率的均衡,完成時空大數(shù)據(jù)計算插件的管理、任務(wù)的管理與監(jiān)控、分布式計算結(jié)果的匯總。
在時空大數(shù)據(jù)中心的計算框架中,超級計算框架通過對傳統(tǒng)應(yīng)用改造升級,實現(xiàn)任務(wù)級并行計算,利用更多的計算資源提升傳統(tǒng)業(yè)務(wù)處理效率,能很好的應(yīng)用于計算量較小、并發(fā)高的場景?;诜植际絻?nèi)存計算框架主要是面向創(chuàng)新型時空大數(shù)據(jù)分析挖掘,應(yīng)用于海量數(shù)據(jù)高效計算的場景。各計算模式通過提供統(tǒng)一的 應(yīng)用程序接口,實現(xiàn)時空大數(shù)據(jù)的高效分析處理。時空大數(shù)據(jù)計算根據(jù)其業(yè)務(wù)特點,將時空大數(shù)據(jù)處理模式分為批處理模式和流處理模式。批處理模式的特點是空間數(shù)據(jù)先存儲后處理,而流處理模式的特點是直接處理獲取的空間數(shù)據(jù)。批處理模式采用超級計算框架的并行計算框架,實現(xiàn)對影像的處理、統(tǒng)計分析等功能。流處理模式適用于一些需要對實時時空大數(shù)據(jù)分析處理的場景,采用基于分布式內(nèi)存計算框架。
(4)管理框架
管理框架主要為了實現(xiàn)對大數(shù)據(jù)計算與存儲過程中資源的動態(tài)調(diào)度與分配。資源管理通過監(jiān)控應(yīng)用系統(tǒng)的各組成子系統(tǒng)(含服務(wù))的平臺及設(shè)備工作狀態(tài),并結(jié)合圖形、列表等多種手段進行展示,實時采集存儲節(jié)點、計算節(jié)點的運行狀態(tài)信息。任務(wù)調(diào)度對任務(wù)進行全程的控制,包括任務(wù)接收、拆分和執(zhí)行等,同時對任務(wù)進行分類顯示,開展任務(wù)檢索定義任務(wù)接口(圖6)。
圖6 存儲資源配置
時空大數(shù)據(jù)基礎(chǔ)框架重點是解決云環(huán)境下的計算和存儲資源與地理信息應(yīng)用服務(wù)平臺內(nèi)核的深度融合,涉及時空大數(shù)據(jù)高效存儲和時空大數(shù)據(jù)高性能計算分析。本研究采取數(shù)據(jù)建庫、圖斑橢球面積計算和圖斑疊加計算等應(yīng)用場景,通過與傳統(tǒng)模式下的相同操作進行對比測試,驗證時空大數(shù)據(jù)基礎(chǔ)框架下的基礎(chǔ)設(shè)施建設(shè)是否達到預(yù)期效果,提升地理信息應(yīng)用服務(wù)的效率和系統(tǒng)資源的利用率。
(1)實驗數(shù)據(jù)
驗證基于時空大數(shù)據(jù)基礎(chǔ)框架下的分布式存儲技術(shù)的有效性,選取山東省省級基礎(chǔ)測繪“十二五”地形要素數(shù)據(jù)(不含青島市和潮間帶)共5977個MDB格式的文件,51.7GB,“十三五”數(shù)字正射影像6578幅、2.73TB。
(2)實驗方法
對比在時空大數(shù)據(jù)基礎(chǔ)框架下的混合存儲策略與傳統(tǒng)的集中式存儲兩種模式下,實驗數(shù)據(jù)入庫的時效。在時空大數(shù)據(jù)基礎(chǔ)框架下,基于云環(huán)境搭建數(shù)據(jù)庫存儲與文件存儲環(huán)境,將實驗數(shù)據(jù)中的地形要素數(shù)據(jù)存儲于空間數(shù)據(jù)庫,數(shù)字正射影像存儲于文件系統(tǒng),采用PostgreSQL-XL作為分布式數(shù)據(jù)庫解決方案,對分布式存儲的數(shù)據(jù)進行入庫操作。
(3)對比結(jié)果
通過實驗對比,證明時空大數(shù)據(jù)基礎(chǔ)框架下的入庫時效和數(shù)據(jù)瀏覽數(shù)據(jù)速度均大幅度優(yōu)于傳統(tǒng)模式,入庫效率大大提升。在入庫過程中的數(shù)據(jù)庫穩(wěn)定性及應(yīng)用響應(yīng)程度都有所優(yōu)化,同時混合存儲和分布式存儲策略給予了用戶業(yè)務(wù)定制最大的靈活性,切實提高了整體的并發(fā)訪問能力。
(1)驗證環(huán)境
1臺服務(wù)器作為主節(jié)點,3臺服務(wù)器作為計算節(jié)點,通過主節(jié)點動態(tài)調(diào)度計算資源、內(nèi)存資源和存儲資源。各節(jié)點的硬件環(huán)境中,2個CPU,12核24線程,128GB內(nèi)存;軟件環(huán)境中,操作系統(tǒng)為Linux,Spark版本為2.1.1,Hadoop版本為2.7。其中,主節(jié)點服務(wù)器:1臺,2個CPU,12核24線程,128GB內(nèi)存;子節(jié)點服務(wù)器:3臺,2個CPU,12核24線程,128GB內(nèi)存。網(wǎng)絡(luò)環(huán)境:千兆交換機,局域網(wǎng)。
(2)圖斑橢球面積計算
對山東省地理省情監(jiān)測成果中地表覆蓋圖斑進行橢球面積計算,并根據(jù)屬性信息進行匯總統(tǒng)計,需要達到準實時計算的效果。在單機模式下,其他商業(yè)軟件完成該項任務(wù)需要1周,而采用時空大數(shù)據(jù)計算框架中的分布式內(nèi)存計算引擎,完成 “面積計算 + 匯總統(tǒng)計 + 可視化”耗時穩(wěn)定在5min左右,效率同比提升2~3個數(shù)量級(表1、表2)。
表1 不同模式下的數(shù)據(jù)入庫效率對比表
表2 不同計算方式的計算效率對比表
(3)地表覆蓋變化流量統(tǒng)計
選取2018年、2019年兩個年度的山東省地理省情監(jiān)測數(shù)據(jù)成果,對兩個年度的地表覆蓋監(jiān)測數(shù)據(jù)進行空間疊加計算,并在疊加結(jié)果中統(tǒng)計地表覆蓋變化信息,按照測區(qū)進行統(tǒng)計。在單機模式下,在數(shù)據(jù)已經(jīng)準備好的情況下,其他商業(yè)軟件完成該項任務(wù)需要8~10h,而采用空間并行計算引擎,完成各疊加統(tǒng)計僅需30min左右,效率同比提升10倍以上(表3)。
表3 不同計算方式的計算耗時對比表
基礎(chǔ)設(shè)施是各類大數(shù)據(jù)中心運行的基礎(chǔ)支撐,對大數(shù)據(jù)中心管理與服務(wù)效率起著至關(guān)重要的基礎(chǔ)作用。該文在實踐的基礎(chǔ)上,討論了通過云管理平臺,將各種物理資源虛擬化,形成跨虛擬化技術(shù)的統(tǒng)一資源池,整合計算資源、存儲資源、網(wǎng)絡(luò)資源等基礎(chǔ)設(shè)施資源,完成云基礎(chǔ)設(shè)施環(huán)境搭建。通過集群并行的工作模式去解決存儲和計算兩個最為核心的技術(shù)需求,將并行計算、GIS 內(nèi)核技術(shù)深度融合在分布式架構(gòu)中,形成時空大數(shù)據(jù)基礎(chǔ)框架以解決時空大數(shù)據(jù)的存儲和計算問題。通過實驗對比,在相同的數(shù)據(jù)操作下,采用時空大數(shù)據(jù)基礎(chǔ)框架能夠加快數(shù)據(jù)入庫速度,縮短數(shù)據(jù)瀏覽時間,提高數(shù)據(jù)計算效率,切實提升時空大數(shù)據(jù)的服務(wù)和管理能力。通過構(gòu)筑技術(shù)先進、高可靠、高擴展的基礎(chǔ)設(shè)施架構(gòu),不僅能滿足當前大數(shù)據(jù)中心各系統(tǒng)運行需求和各類數(shù)據(jù)存儲需求,同時可提供統(tǒng)一的、標準的數(shù)據(jù)接口,保證未來的可擴展,可實現(xiàn)與其他行業(yè)數(shù)據(jù)的有效銜接,為社會經(jīng)濟發(fā)展提供了有效支撐。