吳瑞龍,何華貴,王明省,張鵬程,龔磊,曲寧
(廣州市城市規(guī)劃勘測設(shè)計研究院,廣東 廣州 510060)
城市地理空間大數(shù)據(jù)是指包含位置信息的特定類型的大數(shù)據(jù),位置信息在大數(shù)據(jù)時代扮演著重要的角色,目前大多數(shù)數(shù)據(jù)本質(zhì)上是空間數(shù)據(jù),通過無處不在的位置感知傳感器如衛(wèi)星、GPS等[1~3],地理空間大數(shù)據(jù)在氣候科學、災害管理、公共衛(wèi)生、精準農(nóng)業(yè)和智慧城市等廣泛領(lǐng)域的科學發(fā)現(xiàn)提供了巨大機遇[4,5]。如何從大數(shù)據(jù)中高效、及時地提取有意義信息的能力顯得尤為重要,由于大數(shù)據(jù)的“5V”特性:數(shù)量(Volume)、速度(Velocity)、多樣性(Variety)、準確性(Veracity)、價值(Value),以及地理空間數(shù)據(jù)的內(nèi)在時空特征[6,7],高效提取這些有意義的信息和模式具有挑戰(zhàn)性,尤其對于地理空間大數(shù)據(jù)而言,前四個特征必須在動態(tài)時空的背景下處理,才能從大數(shù)據(jù)中提取“價值”,這就給地理空間大數(shù)據(jù)帶來了進一步的挑戰(zhàn)[8]。高性能計算(HPC)其基本思路是對問題進行分而治之,為大數(shù)據(jù)分析提供了一個基本可行的解決方案[9~11],HPC處理地理空間大數(shù)據(jù)可以幫助我們在時間和空間約束條件下做出更快更好的決策,如自然資源調(diào)查監(jiān)測、國土空間規(guī)劃、遙感影像在線服務(wù)、應急響應等[12~15]。
(1)對地觀測
地球觀測系統(tǒng)利用遠程傳感器生成大量不同的、動態(tài)的、地理分布的地理空間數(shù)據(jù),隨著其越來越高的空間、時間和光譜分辨率[16],遙感成為全球范圍內(nèi)收集對地觀測數(shù)據(jù)的主要手段之一,近年來無人機遙感為大數(shù)據(jù)采集開辟了另一條渠道,以其高機動性、靈活性、時效性強等優(yōu)勢被廣泛應用于自然資源調(diào)查監(jiān)測、氣象、測繪、應急等領(lǐng)域,成為城市地理空間大數(shù)據(jù)的重要數(shù)據(jù)來源[17,18]。
(2)物聯(lián)網(wǎng)
物聯(lián)網(wǎng)(IoT)是Kevin Ashton在1999年使用射頻識別(RFID)進行供應鏈管理時首次提出的,簡單地說,物聯(lián)網(wǎng)將“物”與互聯(lián)網(wǎng)連接起來,讓“物”之間相互交流和互動,形成一個由物聯(lián)網(wǎng)組成的龐大網(wǎng)絡(luò),包括設(shè)備和對象,如傳感器、手機、車輛、家電和醫(yī)療設(shè)備[19,20],這些設(shè)備加上無處不在的基于位置的傳感器,正在生成大量的地理空間數(shù)據(jù),與對地球觀測生成的結(jié)構(gòu)化多維地理空間數(shù)據(jù)不同,物聯(lián)網(wǎng)持續(xù)生成全球范圍內(nèi)的非結(jié)構(gòu)化或半結(jié)構(gòu)化地理空間數(shù)據(jù)流,這些數(shù)據(jù)流更具動態(tài)性、異構(gòu)性等特點[21]。
(3)自發(fā)地理信息
自發(fā)地理信息(VGI)是指由公眾創(chuàng)造和傳播地理信息的過程,在這個過程中,大眾被視為地表自由移動的傳感器,無時無刻不在生產(chǎn)空間相關(guān)的數(shù)據(jù)[22,23],同時隨著5G的發(fā)展普及,數(shù)據(jù)呈爆發(fā)式增長,在GPS和智能終端的支持下,全球數(shù)十億用戶傳感器正在生成和傳播大量的基于位置的數(shù)據(jù)[24,25]。
數(shù)據(jù)存儲和管理對于任何系統(tǒng)都是必不可少的,使用高性能計算處理地理空間大數(shù)據(jù)需要考慮兩個因素:首先,海量的數(shù)據(jù)需要大而可靠的數(shù)據(jù)存儲方案,傳統(tǒng)存儲和保護容錯機制不能有效地處理PB級以上數(shù)據(jù);其次,地理空間大數(shù)據(jù)的快速增長要求存儲方案具有靈活性,方便擴展,以滿足數(shù)據(jù)不斷增長的存儲需求。高性能計算通常采用三種數(shù)據(jù)存儲方案,如圖1所示:
(1)一切共享架構(gòu)SEA(Share Everything):該架構(gòu)的數(shù)據(jù)存儲和處理通常由一臺高性能計算機支持,并行化通常通過多核或圖形處理單元(GPU)訪問本地磁盤上的數(shù)據(jù)來實現(xiàn),SEA的存儲限制在一臺計算機上,不能有效地處理大容量的數(shù)據(jù)集,不能滿足地理空間大數(shù)據(jù)需求。
(2)共享磁盤架構(gòu)SDA(Share Disks):SDA是一種傳統(tǒng)高性能數(shù)據(jù)存儲體系結(jié)構(gòu),它將數(shù)據(jù)存儲在一個共享系統(tǒng)中,該系統(tǒng)可以由網(wǎng)絡(luò)上的計算機集群并行訪問,在大數(shù)據(jù)時代之前,該架構(gòu)廣泛應用于計算密集型的地理空間應用,然而SDA并不能很好地處理大數(shù)據(jù),因為大數(shù)據(jù)量的網(wǎng)絡(luò)傳輸會迅速造成系統(tǒng)瓶頸,同時共享磁盤容易成為系統(tǒng)單點故障。
(3)無共享架構(gòu)SNA(Share Nothing):該架構(gòu)將數(shù)據(jù)分布式地存儲在集群計算機上,每個計算機本地存儲數(shù)據(jù)的一個子集,各處理單元相互獨立并通過協(xié)議通信,各自處理自己的數(shù)據(jù),處理后的結(jié)果向上層匯總或在節(jié)點間流轉(zhuǎn),具有良好的并行處理和擴展能力,SNA的一個經(jīng)典實現(xiàn)是Hadoop的分布式文件系統(tǒng)HDFS,HDFS將數(shù)據(jù)分割成塊,并將它們存儲在Hadoop集群中不同的計算節(jié)點上進行并行處理,大多數(shù)NoSQL數(shù)據(jù)庫包括HBase、MongoDB都是像HDFS一樣,采用SNA來存儲和管理大型非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)。由于HDFS和NoSQL數(shù)據(jù)庫不是為存儲和管理地理空間數(shù)據(jù)而設(shè)計的,因此有很多研究通過整合空間數(shù)據(jù)來修改或擴展這些系統(tǒng)以支撐海量的地理空間數(shù)據(jù),如HadoopGIS、SpatialHadoop、GeoSpark等框架,都是通過擴展HDFS來支持海量空間數(shù)據(jù)的存儲與管理[26~29]。
圖1 高性能計算系統(tǒng)中不同的數(shù)據(jù)存儲架構(gòu)
空間索引用于從海量空間數(shù)據(jù)集中快速查詢所需數(shù)據(jù),空間索引的性能決定了空間數(shù)據(jù)訪問的效率,直接影響并行數(shù)據(jù)處理的性能和空間分析能力。大多數(shù)空間索引基于樹結(jié)構(gòu),如四叉樹、Kd-樹、R-樹及其變體,四叉樹遞歸地根據(jù)每個葉單元的最大數(shù)據(jù)容量將二維空間劃分為四個象限,Kd樹是一種二叉樹,通常用于最近鄰搜索,R-樹類似于Kd樹,但它不僅可以處理點數(shù)據(jù),而且還能處理多邊形數(shù)據(jù),因此R-樹及其變體被廣泛用于空間索引,特別是針對地理空間大數(shù)據(jù),樂鵬、向隆剛等通過對SparkRDD進行優(yōu)化擴展,提升Spark處理大規(guī)??臻g數(shù)據(jù)的查詢分析速度,其本質(zhì)也是對空間索引的優(yōu)化[30,31],SpatialHadoop使用一種基于R樹的兩級空間索引機制來管理矢量數(shù)據(jù)[26],GeoMesa擴展了HBase作為存儲地理空間大數(shù)據(jù)的底層數(shù)據(jù)庫支撐,基本原理是將時空數(shù)據(jù)的三個維度,經(jīng)度、緯度、時間數(shù)據(jù)按照Z曲線進行降維,得到一維數(shù)據(jù)作為RowKey使用,能夠快速有效地實現(xiàn)對海量空間大數(shù)據(jù)的查詢處理[32,33],在高性能計算環(huán)境中處理地理空間大數(shù)據(jù)的大多數(shù)索引方法都需要對數(shù)據(jù)進行轉(zhuǎn)換或預處理。HBase中GeoMesa的索引結(jié)構(gòu)如圖2所示。
圖2 HBase中GeoMesa的索引結(jié)構(gòu)
任務(wù)調(diào)度是指將子任務(wù)分配給并行處理的并行計算單元如CPU或GPU,是高性能計算中必不可少的技術(shù),子任務(wù)的分配和執(zhí)行直接影響并行化的性能,為地理空間大數(shù)據(jù)處理設(shè)計高效的任務(wù)調(diào)度方法,負載均衡是關(guān)鍵,用以保證每個計算單元接收的數(shù)據(jù)處理子任務(wù)數(shù)量相似,以便每個子任務(wù)同時完成,在并行計算中,任務(wù)的完成時間由最后完成的任務(wù)決定,因此應該考慮子任務(wù)處理的數(shù)量和工作負載[34~36]。雖然大多數(shù)大數(shù)據(jù)處理平臺如Hadoop都有內(nèi)置的負載平衡機制,但它們在處理地理空間大數(shù)據(jù)時效率并不高,如GeoSpark、SpatialHadoop等以Hadoop為基礎(chǔ)的框架都是采用通用的負載平衡機制[26,27],這就需要結(jié)合地理空間大數(shù)據(jù)的空間特性,有針對地設(shè)計負載均衡算法,使其能夠有效地將地理大數(shù)據(jù)處理進行任務(wù)分解,提高并行效率。多任務(wù)并行處理基本框架如圖3所示。
圖3 多任務(wù)并行處理基本框架
霧計算是一種新興的計算范式,位于智能終端設(shè)備和傳統(tǒng)云計算中心之間,其目標是實時處理分布式物聯(lián)網(wǎng)設(shè)備產(chǎn)生的大數(shù)據(jù),以支持智能城市、精準農(nóng)業(yè)、災害監(jiān)測和自動駕駛等應用。傳統(tǒng)物聯(lián)網(wǎng)架構(gòu)中,邊緣設(shè)備計算能力有限,需要將其產(chǎn)生的數(shù)據(jù)上傳到云進行處理,因為數(shù)據(jù)通常遠離云,造成明顯的網(wǎng)絡(luò)延遲[37,38]。霧計算在邊緣設(shè)備之間提供了一個中間計算層,即霧節(jié)點集群,霧節(jié)點具有更強的計算能力,且靠近網(wǎng)絡(luò)延遲較低的邊緣設(shè)備,可快速將邊緣設(shè)備的數(shù)據(jù)傳輸給它們進行實時過濾和處理,邊緣設(shè)備上無處不在的位置傳感器產(chǎn)生海量地理空間大數(shù)據(jù),實時地理空間數(shù)據(jù)處理在霧計算中至關(guān)重要[39,40],高性能計算成為霧環(huán)境中地理空間數(shù)據(jù)處理分析快速響應的重要保障,研究如何有效地從邊緣設(shè)備傳輸數(shù)據(jù)到云環(huán)境中是非常必要的,需要研究適合霧計算節(jié)點的地理空間數(shù)據(jù)傳輸、并行計算算法及平臺,如圖4所示基于霧計算的地理空間大數(shù)據(jù)計算框架。
圖4 基于霧計算的地理空間大數(shù)據(jù)計算框架
人工智能(AI)是一個計算機科學領(lǐng)域,它使用計算機模擬人類智能來解決問題,深度學習作為機器學習在人工智能中的一個分支[41,42],近年廣泛應用在自然語言處理和計算機視覺,地理空間人工智能(GeoAI)利用深度學習等人工智能技術(shù)從地理空間大數(shù)據(jù)中提取有價值的信息,GeoAI已經(jīng)廣泛應用于各個領(lǐng)域,特別是在遙感應用領(lǐng)域,如圖像分類、目標檢測、土地覆蓋制圖等[43~45]。將高性能計算應用于GeoAI能夠訓練更優(yōu)的神經(jīng)網(wǎng)絡(luò)模型,較大程度改善學習成果,國內(nèi)外科技巨頭一直致力于運行在大型計算集群上的人工智能平臺研究,然而目前大多數(shù)GeoAI研究都是在單節(jié)點計算機或工作站上進行的,使用相對少量的數(shù)據(jù)來訓練模型,大多缺乏面向地理空間數(shù)據(jù)的深度學習平臺,只支持將整個訓練集讀取到計算機內(nèi)存中,難以擴展到大數(shù)據(jù)集中,這就迫切需要從地理空間大數(shù)據(jù)和工程學角度開展更多的研究,開發(fā)高性能、可擴展的地理空間大數(shù)據(jù)框架和平臺,充分利用地理空間大數(shù)據(jù)構(gòu)建更大、更好的模型。
地理空間異質(zhì)性體現(xiàn)在多個方面,包括數(shù)據(jù)收集方法、數(shù)據(jù)模型、數(shù)據(jù)格式、時空尺度、分辨率等,基于位置的傳感器從各行各業(yè)收集地理空間大數(shù)據(jù),進一步造成異質(zhì)性,這種異構(gòu)性使得地理空間大數(shù)據(jù)與高性能計算的集成和融合更具挑戰(zhàn)性[46,47]。目前的高性能計算研究側(cè)重于使用特定并行算法處理特定類型的地理空間數(shù)據(jù),主要原因是缺乏統(tǒng)一的參考框架對地理空間數(shù)據(jù)進行有效存儲、集成和管理,傳統(tǒng)坐標系統(tǒng)如CGCS2000,WGS84作為參考框架已經(jīng)被廣泛應用,在異構(gòu)空間大數(shù)據(jù)場景下,往往需要將各種坐標系進行統(tǒng)一,會產(chǎn)生大量的坐標投影轉(zhuǎn)換工作,OGC在2017年提出了全球離散網(wǎng)格系統(tǒng)(DGGS)新一代參考系統(tǒng)標準規(guī)范,該參考系統(tǒng)旨在提供一個統(tǒng)一的、全局一致的參考框架,以集成不同時空尺度和分辨率的異構(gòu)空間數(shù)據(jù),如柵格數(shù)據(jù)、矢量數(shù)據(jù)和點云數(shù)據(jù)等,DGGS通過劃分離散的數(shù)據(jù)子集,進行存儲和管理[48,49],非常適合高性能計算的并行處理,目前大多數(shù)基于高性能計算的空間數(shù)據(jù)處理研究和工具仍停留在傳統(tǒng)的參考框架上,DGGS框架下結(jié)合高性能計算的時空索引、并行算法和大數(shù)據(jù)計算平臺有待進一步研究。
城市地理空間大數(shù)據(jù)在大數(shù)據(jù)時代發(fā)揮著越來越重要的作用,高效地處理地理空間大數(shù)據(jù)對于挖掘地理信息進行知識發(fā)現(xiàn)和決策輔助具有重要意義,利用高性能計算來處理地理空間大數(shù)據(jù)是可行的解決方案。本文首先總結(jié)了地理空間大數(shù)據(jù)的主要來源,討論了使用高性能計算處理地理空間大數(shù)據(jù)的關(guān)鍵技術(shù),最后在高性能計算和地理空間大數(shù)據(jù)的背景下,討論了高性能計算在處理地理空間大數(shù)據(jù)的發(fā)展趨勢,地理空間大數(shù)據(jù)同時給高性能計算帶來了新的挑戰(zhàn)和機遇,地理空間大數(shù)據(jù)、云計算、霧計算和人工智能的交叉學科影響正推動和重塑地理空間數(shù)據(jù)科學。