王梅紅,侯笑宇,賀 風(fēng)
(中國(guó)地圖出版社,北京 100054)
隨著大數(shù)據(jù)、物聯(lián)網(wǎng)、云計(jì)算等技術(shù)的不斷成熟與普及,各個(gè)行業(yè)都產(chǎn)生了海量的數(shù)據(jù)資源,這些資源大多與人類(lèi)活動(dòng)息息相關(guān),隱含著地理空間位置信息,蘊(yùn)含著巨大的價(jià)值。然而,這些數(shù)據(jù)缺乏在空間位置和時(shí)間序列方面地展示管理和分析應(yīng)用,缺乏基于時(shí)空位置的信息挖掘和成果可視化方法。
以Hadoop,Greenplum為代表的大數(shù)據(jù)技術(shù)的蓬勃發(fā)展為海量地圖數(shù)據(jù)的存儲(chǔ)、管理和共享提供了新的解決方案。為了充分發(fā)揮地理空間信息的基礎(chǔ)性、公共性和載體性功能,越來(lái)越多的企業(yè)開(kāi)始搭建自己的地圖數(shù)據(jù)云平臺(tái)。
本文擬設(shè)計(jì)和實(shí)現(xiàn)集數(shù)據(jù)入庫(kù)融合、存儲(chǔ)管理、共享分發(fā)于一體的云平臺(tái),提供多尺度多維度的地圖數(shù)據(jù)服務(wù)。
平臺(tái)整體技術(shù)路線(xiàn)基于大數(shù)據(jù)技術(shù),使用分布式集群數(shù)據(jù)庫(kù)Greenplum結(jié)合空間擴(kuò)展插件PostGIS實(shí)現(xiàn)結(jié)構(gòu)化海量地圖數(shù)據(jù)的存儲(chǔ),使用分布式文件存儲(chǔ)系統(tǒng)HDFS存儲(chǔ)相關(guān)文件。
Greenplum是一款開(kāi)源的分布式集群數(shù)據(jù)庫(kù),采用大規(guī)模并行處理(MPP)架構(gòu),具有PB級(jí)海量數(shù)據(jù)的存儲(chǔ)、處理和實(shí)時(shí)分析能力。支持上百臺(tái)集群、支持標(biāo)準(zhǔn)SQL,能夠部署在廉價(jià)的機(jī)器上降低企業(yè)成本,能夠根據(jù)數(shù)據(jù)規(guī)模隨時(shí)擴(kuò)展節(jié)點(diǎn),并采用存儲(chǔ)冗余數(shù)據(jù)方式保證數(shù)據(jù)安全,具有可擴(kuò)展、高容錯(cuò)等優(yōu)點(diǎn)。
PostGIS是運(yùn)行在Greenplum集群上的空間擴(kuò)展插件,支持空間對(duì)象存儲(chǔ)、空間索引、空間操作函數(shù)和空間操作符等一系列功能,能夠滿(mǎn)足大規(guī)模空間數(shù)據(jù)的索引、存取和計(jì)算等要求。
Spark SQL是一個(gè)開(kāi)源集群運(yùn)算框架,基于內(nèi)存并行計(jì)算。使用Spark SQL和GIS技術(shù)研發(fā)業(yè)務(wù)引擎能夠滿(mǎn)足海量時(shí)空數(shù)據(jù)的計(jì)算和分析需求。
總體設(shè)計(jì)為5層架構(gòu)。(1)基礎(chǔ)設(shè)施層:包括服務(wù)器集群、網(wǎng)絡(luò)環(huán)境、HDFS、Greenplum、Spark等大數(shù)據(jù)環(huán)境。(2)數(shù)據(jù)融合層:將各類(lèi)結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)抽取融合。(3)數(shù)據(jù)存儲(chǔ)層:存儲(chǔ)原始數(shù)據(jù)、預(yù)處理后的數(shù)據(jù)、挖掘分析后的數(shù)據(jù)等。(4)挖掘分析與服務(wù)層:為應(yīng)用層服務(wù),包括地圖資源、空間檢索、計(jì)算和分析等業(yè)務(wù)引擎。(5)應(yīng)用層:提供各類(lèi)地圖數(shù)據(jù)資源可視化查詢(xún)、空間特性動(dòng)態(tài)可視化展示;接受客戶(hù)請(qǐng)求,調(diào)用服務(wù)層的業(yè)務(wù)引擎將請(qǐng)求指標(biāo)和時(shí)空大數(shù)據(jù)聚合分析,最終形成分析結(jié)果返回給客戶(hù)。
數(shù)據(jù)庫(kù)采取“縱向分尺度、橫向分區(qū)域、內(nèi)容分領(lǐng)域”的分庫(kù)分表原則,統(tǒng)一數(shù)據(jù)表命名規(guī)范,統(tǒng)一時(shí)間、空間基準(zhǔn),為矢量要素分別構(gòu)建唯一身份編碼,將時(shí)間屬性、空間屬性與其他屬性整理融合,并建立高效的空間檢索引擎,實(shí)現(xiàn)時(shí)空信息一體化存儲(chǔ)。
平臺(tái)以分要素分尺度、實(shí)體化矢量化并能夠掛接各類(lèi)大數(shù)據(jù)為原則建設(shè)地圖資源。
(1)時(shí)空行政區(qū)劃資源:全國(guó)建設(shè)到區(qū)縣級(jí),重點(diǎn)城市到街道/鄉(xiāng)鎮(zhèn)級(jí)。建設(shè)內(nèi)容包括政區(qū)面、行政中心點(diǎn)等空間信息,也包括名稱(chēng)、代碼、人口、面積、駐地等屬性信息。保存政區(qū)的完整生命周期、可還原追溯歷史時(shí)間點(diǎn)的政區(qū)邊界、輪廓等信息。數(shù)據(jù)入庫(kù)前進(jìn)行空間拓?fù)錂z查,包括行政界線(xiàn)無(wú)懸掛點(diǎn)、偽節(jié)點(diǎn),同等級(jí)拓?fù)涿鏌o(wú)重疊、無(wú)縫隙,飛地結(jié)合等。
(2)城市地表全覆蓋的地理區(qū)塊:建設(shè)尺度為區(qū)域級(jí)和樓宇級(jí)。建設(shè)原則為各地理區(qū)塊能夠正確表示樓宇和區(qū)塊范圍,形狀流暢、美觀,各地理區(qū)塊、道路、水系之間無(wú)重疊壓蓋,拓?fù)潢P(guān)系正確。同時(shí),制定命名規(guī)范和分類(lèi)規(guī)范,針對(duì)使用場(chǎng)景將分類(lèi)細(xì)化為機(jī)關(guān)單位、住宅小區(qū)等17個(gè)大類(lèi)67個(gè)小類(lèi)。以北京市為例,共建成區(qū)塊個(gè)數(shù)4.3萬(wàn)個(gè),數(shù)據(jù)精細(xì)度如圖1所示。
圖1 地理區(qū)塊數(shù)據(jù)
入庫(kù)過(guò)程包括數(shù)據(jù)準(zhǔn)備、庫(kù)體創(chuàng)建、入庫(kù)前數(shù)據(jù)質(zhì)量檢查、時(shí)空標(biāo)識(shí)處理、規(guī)范化處理、空間化處理、數(shù)據(jù)入庫(kù)、入庫(kù)后檢查、數(shù)據(jù)歸檔等步驟。入庫(kù)存儲(chǔ)流程規(guī)范如圖2所示。
圖2 時(shí)空地圖數(shù)據(jù)的入庫(kù)存儲(chǔ)流程
系統(tǒng)除了滿(mǎn)足海量地理數(shù)據(jù)的入庫(kù)存儲(chǔ)、高吞吐隨機(jī)讀寫(xiě)和高效檢索,還具有數(shù)據(jù)空間化、坐標(biāo)及投影變換、入庫(kù)質(zhì)量檢查、地理實(shí)體批量更新、歷史數(shù)據(jù)版本管理等功能。
平臺(tái)發(fā)布了一套訪問(wèn)與共享城市地圖數(shù)據(jù)的標(biāo)準(zhǔn)接口,解決了海量數(shù)據(jù)傳輸效率、傳輸安全和客戶(hù)訪問(wèn)安全性問(wèn)題。
接口功能包括獲取各級(jí)政區(qū)的當(dāng)前、歷史、上級(jí)、下轄政區(qū)信息和政區(qū)內(nèi)的地理區(qū)塊信息,支持用戶(hù)拉框(矩形、正方形)搜索、緩沖區(qū)搜索。
政區(qū)內(nèi)容包括政區(qū)的邊界、拓?fù)涿?、行政中心點(diǎn)的坐標(biāo)串,以及區(qū)劃名稱(chēng)、代碼、級(jí)別、人口、面積、政府駐地等。地理區(qū)塊內(nèi)容包括空間面坐標(biāo)串、名稱(chēng)、分類(lèi)、面積、所在政區(qū)等。
云平臺(tái)共包含6臺(tái)服務(wù)器、1臺(tái)負(fù)載均衡和1個(gè)硬件防火墻。5臺(tái)服務(wù)器作為存儲(chǔ)和計(jì)算節(jié)點(diǎn),安裝和部署Hadoop,Spark,Greenplum環(huán)境,1臺(tái)服務(wù)器作為Web服務(wù)器。系統(tǒng)研發(fā)的通用框架采用B/S架構(gòu)和前后端分離技術(shù),服務(wù)端以Spring Boot框架為核心,通過(guò)JDBC連接和操作Greenplum集群中的數(shù)據(jù)資源。大規(guī)模數(shù)據(jù)的計(jì)算和分析基于Spark和地理信息技術(shù),研發(fā)各類(lèi)引擎實(shí)現(xiàn)億級(jí)矢量地圖數(shù)據(jù)的存取、計(jì)算和時(shí)空聚合等功能,計(jì)算性能指標(biāo)控制在毫秒級(jí)。
平臺(tái)于2017年底上線(xiàn)運(yùn)行,平臺(tái)成果與手機(jī)信令大數(shù)據(jù)深度融合,形成反映城市實(shí)際人口規(guī)模數(shù)量和空間分布特征的人口屬性標(biāo)簽云,并建成“時(shí)空洞察服務(wù)”“渠道選址大師”等多項(xiàng)人口大數(shù)據(jù)分析系統(tǒng)。
圖3 渠道選址大師
本文基于大數(shù)據(jù)技術(shù)設(shè)計(jì)和實(shí)現(xiàn)了集數(shù)據(jù)入庫(kù)融合、存儲(chǔ)管理、數(shù)據(jù)安全、共享分發(fā)于一體的云平臺(tái),解決了海量數(shù)據(jù)資源的存儲(chǔ)管理和分發(fā)共享難題,為開(kāi)展面向城市管理和商企洞察等方向的大數(shù)據(jù)分析提供了地理信息支撐。