范理信,黨 琦,魯 釗
(1.湖北省地圖院,湖北 武漢 430074)
國家地理信息公共服務(wù)平臺(tái)公眾版——“天地圖”,是中國區(qū)域內(nèi)基礎(chǔ)地理信息數(shù)據(jù)資源最全面的互聯(lián)網(wǎng)地圖服務(wù)網(wǎng)站。天地圖·湖北作為天地圖的省級(jí)節(jié)點(diǎn),是天地圖的重要組成部分,提供湖北省最新最全面的基礎(chǔ)地理數(shù)據(jù)和地理信息公眾服務(wù)。隨著湖北省數(shù)據(jù)的不斷增多,如何使數(shù)據(jù)有更好的查詢效率和容錯(cuò)性,以及如何深入挖掘這些數(shù)據(jù)的價(jià)值十分重要。本文結(jié)合大數(shù)據(jù)時(shí)代的相關(guān)技術(shù)知識(shí),闡述在大數(shù)據(jù)時(shí)代下天地圖·湖北的發(fā)展。
大數(shù)據(jù)是指涉及資料量規(guī)模過大,無法透過目前的主流軟件工具,在合理時(shí)間內(nèi)達(dá)到擷取、管理、處理,并整理成為幫助企業(yè)經(jīng)營決策更積極目的的資訊[1]。大數(shù)據(jù)有數(shù)據(jù)量大(Volume)、速度快(Velocity)、種類多(Variety)等特點(diǎn)。
數(shù)據(jù)量大:通常以GB為單位,甚至大量TB、PB、ZB級(jí)的數(shù)據(jù)。2016年全球數(shù)據(jù)量已達(dá)到6萬億GB,預(yù)計(jì)2020年全球數(shù)據(jù)量將達(dá)到40 ZB。
速度快:產(chǎn)生速度快,目前只需2 d就能創(chuàng)造出自文明誕生以來到2003年全球所產(chǎn)生的數(shù)據(jù)總量。
種類多:數(shù)據(jù)來源和類型繁多,結(jié)構(gòu)化數(shù)據(jù)和文檔、圖片、視頻等非結(jié)構(gòu)化數(shù)據(jù)并存。
大數(shù)據(jù)已經(jīng)開始逐漸滲入到人們社會(huì)生活的各個(gè)層面,包括地理信息(GIS)領(lǐng)域。在GIS領(lǐng)域中,“智慧城市”、導(dǎo)航衛(wèi)星數(shù)據(jù)、高光譜分辨率的衛(wèi)星圖像等各種數(shù)據(jù)的不斷產(chǎn)生,如何存儲(chǔ)并充分利用這些大數(shù)據(jù)是地理信息研究的一個(gè)方向。
國家地理信息公共服務(wù)平臺(tái)公眾版——“天地圖”,是“數(shù)字中國”的重要組成部分,是中國區(qū)域內(nèi)基礎(chǔ)地理信息數(shù)據(jù)資源最全的互聯(lián)網(wǎng)地圖服務(wù)網(wǎng)站。加快“天地圖”的建設(shè),對(duì)提供公共服務(wù)、推動(dòng)信息化進(jìn)程、繁榮地理信息產(chǎn)業(yè)、維護(hù)國家安全意義重大。
“天地圖·湖北”作為國家“天地圖”主節(jié)點(diǎn)的省級(jí)節(jié)點(diǎn),其建設(shè)目的是綜合利用湖北省全省基礎(chǔ)地理信息數(shù)據(jù)、專題數(shù)據(jù)集、多源多分辨率影像數(shù)據(jù),為社會(huì)公眾提供一站式、便捷的地理信息服務(wù),發(fā)揮測(cè)繪成果在湖北省國民經(jīng)濟(jì)中的作用。
天地圖·湖北目前主要使用空間數(shù)據(jù)庫的方式存儲(chǔ)數(shù)據(jù)??臻g數(shù)據(jù)庫是為適應(yīng)空間數(shù)據(jù)的特殊性而出現(xiàn)的專用數(shù)據(jù)庫,用于存儲(chǔ)空間數(shù)據(jù)所特有的位置和屬性數(shù)據(jù)。
在天地圖·湖北架構(gòu)體系中,使用空間數(shù)據(jù)庫管理、存儲(chǔ)復(fù)雜的空間信息數(shù)據(jù)。在處理空間信息時(shí),需要大量的數(shù)據(jù)存儲(chǔ)和高效的計(jì)算資源。在大數(shù)據(jù)時(shí)代下,隨著天地圖·湖北矢量、影像、專題、地名地址、文檔視頻、圖片等非結(jié)構(gòu)化數(shù)據(jù)不斷更新,不斷增多的數(shù)據(jù)造成查詢效率不斷降低。所需要的存儲(chǔ)空間不斷增多,導(dǎo)致傳統(tǒng)的空間數(shù)據(jù)庫存儲(chǔ)方式讀寫效率低下,可擴(kuò)展性差。傳統(tǒng)的數(shù)據(jù)管理已經(jīng)不能滿足日益劇增的數(shù)據(jù)量,為提高查詢效率,必須對(duì)天地圖·湖北數(shù)據(jù)存儲(chǔ)模型進(jìn)行升級(jí)。
天地圖·湖北數(shù)據(jù)包含基礎(chǔ)地理信息數(shù)據(jù),如矢量數(shù)據(jù)、影像數(shù)據(jù)、地理實(shí)體數(shù)據(jù)、地名地址數(shù)據(jù)、專題數(shù)據(jù)、文檔視頻、圖片等多種類型數(shù)據(jù)。其中,基礎(chǔ)地理信息數(shù)據(jù)擁有湖北省全省范圍的1∶500、1∶1 000、1∶2 000、1∶10 000 DLG和0.5 m DOM數(shù)據(jù),且富含比較全面的專題POI數(shù)據(jù),包括社會(huì)、經(jīng)濟(jì)、人文、交通、行政、旅游等信息,現(xiàn)勢(shì)性較好。
天地圖·湖北中的數(shù)據(jù)主要用于查詢,而對(duì)于隱含、非顯見的數(shù)據(jù)挖掘分析能力較弱。在大數(shù)據(jù)時(shí)代,不斷發(fā)展數(shù)據(jù)挖掘分析算法、技術(shù),為研究探索數(shù)據(jù)的潛在價(jià)值提供有力的支撐。天地圖·湖北在有數(shù)據(jù)支持作為基礎(chǔ)的情況下,如何從數(shù)據(jù)中發(fā)現(xiàn)價(jià)值創(chuàng)造價(jià)值,是天地圖·湖北發(fā)展的一個(gè)方向。
在大數(shù)據(jù)時(shí)代,對(duì)于傳統(tǒng)空間數(shù)據(jù)庫的各種問題,可使用大數(shù)據(jù)的相關(guān)技術(shù)來解決,如Hadoop和NoSQL數(shù)據(jù)庫。
Hadoop是目前使用最廣泛的云計(jì)算技術(shù)之一,主要包括HDFS分布式文件系統(tǒng)和Map Reduce批處理框架。HDFS全名是Hadoop Distributed File System,即Hadoop分布式文件系統(tǒng),主要用于以流式數(shù)據(jù)存儲(chǔ)超大文件[2]。在HDFS集群上數(shù)據(jù)以分塊的形式存儲(chǔ),即文件分成若干個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊64 M。數(shù)據(jù)塊使用多備份機(jī)制。默認(rèn)情況下在HDFS 集群的3個(gè)不同的服務(wù)器,保存一個(gè)相同的數(shù)據(jù)塊。如圖1所示為數(shù)據(jù)塊X在HDFS上的存儲(chǔ)模型,數(shù)據(jù)塊X有3份備份存儲(chǔ)在HDFS集群的各個(gè)節(jié)點(diǎn)上。
圖1 數(shù)據(jù)塊在HDFS上的存儲(chǔ)模型
對(duì)于天地圖·湖北數(shù)據(jù)而言,其具有數(shù)據(jù)量大、種類繁多等特點(diǎn),非常適合使用HDFS存儲(chǔ)。以天地圖·湖北瓦片數(shù)據(jù)為例,將天地圖·湖北發(fā)布服務(wù)的多個(gè)瓦片數(shù)據(jù)聚合在一起,形成一個(gè)大的文件,以分塊的方式存儲(chǔ)在HDFS上。用戶在瀏覽地圖查詢瓦片時(shí),根據(jù)HDFS的調(diào)度可查詢?nèi)我粩?shù)據(jù)塊副本所在節(jié)點(diǎn)的數(shù)據(jù)塊,從而更加高效、方便、安全地查詢,使天地圖·湖北具有高可靠性、高可擴(kuò)展性、高吞吐率等特點(diǎn)。
NoSQL全名Not Only SQL,是關(guān)系型數(shù)據(jù)庫之外的一種數(shù)據(jù)庫——非關(guān)系型數(shù)據(jù)庫,有別于傳統(tǒng)的以表的形式存儲(chǔ)數(shù)據(jù),分為key-value存儲(chǔ)、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫3類[3],適合存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),具有高可靠性、高可擴(kuò)展性等特性,主要包括HBase、MongoDB、Cassandra、Redis等數(shù)據(jù)庫。
NoSQL數(shù)據(jù)庫適合存儲(chǔ)小文件,通過使用NoSQL數(shù)據(jù)庫存儲(chǔ)天地圖·湖北數(shù)據(jù),可以將天地圖·湖北發(fā)布服務(wù)的瓦片數(shù)據(jù)、圖片文檔數(shù)據(jù)、屬性數(shù)據(jù)等存儲(chǔ)于NoSQL數(shù)據(jù)庫。
以HBase這款key-value存儲(chǔ)的NoSQL為例,本文設(shè)計(jì)一個(gè)表名為TiandituHubeiHBase的表,將瓦片數(shù)據(jù)存儲(chǔ)在TiandituHubeiHBase表中(如表1)。
表1 TiandituHubeiHBase表結(jié)構(gòu)
在該表中,行鍵Rowkey是由地圖服務(wù)名、級(jí)別、行、列組合而成,列族定義為image,列限定符定義為空,瓦片數(shù)據(jù)以二進(jìn)制數(shù)組形式存儲(chǔ)在單元值中。
將行鍵定義為組合鍵形式, HBase根據(jù)行鍵排序,將相同地圖服務(wù)的瓦片數(shù)據(jù)匹配在一起。在同一個(gè)服務(wù)中,將相同級(jí)別的排列在一起。依此類推,當(dāng)用戶訪問獲取同一服務(wù)或是同一級(jí)別、同一行、同一列上的多張瓦片地圖數(shù)據(jù)時(shí),HBase定位到某一位置后,順序掃描表即可,不需隨機(jī)訪問獲取數(shù)據(jù),可提高瓦片數(shù)據(jù)查詢讀取的效率。
將HBase表的列限定符設(shè)計(jì)為null,因?yàn)镠Base通過行鍵、列族、列限定符和時(shí)間戳四元組定位一個(gè)單元值。在網(wǎng)絡(luò)傳輸速率一定時(shí),如果列族占用更小,則傳輸數(shù)據(jù)的時(shí)間消耗越少,查詢速度越快。瓦片數(shù)據(jù)查詢無需使用列限定符,可以將其設(shè)置為空,提高查詢HBase表中瓦片數(shù)據(jù)的性能。
此外,還有多部文獻(xiàn)介紹大數(shù)據(jù)數(shù)據(jù)存儲(chǔ)模型。文獻(xiàn)[4]使用HadoopMapFile文件封裝瓦片存儲(chǔ)在HDFS上;文獻(xiàn)[5]使用HBase提出一種新的行鍵設(shè)計(jì)方法,將坐標(biāo)數(shù)據(jù)轉(zhuǎn)化為一維字符串,在行鍵設(shè)計(jì)的基礎(chǔ)上設(shè)計(jì)一種新的適合存儲(chǔ)空間數(shù)據(jù)的方式。
在大數(shù)據(jù)時(shí)代下,數(shù)據(jù)挖掘分析算法與技術(shù)不斷出現(xiàn),利用大數(shù)據(jù)技術(shù)手段挖掘分析數(shù)據(jù),提取有用信息,獲得數(shù)據(jù)的價(jià)值,正在成為企業(yè)發(fā)展的必由之路。
大數(shù)據(jù)來源的多樣性,造成無價(jià)值內(nèi)容多,需要在數(shù)據(jù)入庫之前對(duì)數(shù)據(jù)進(jìn)行清洗等操作,以減少誤差、降低冗余,提高數(shù)據(jù)準(zhǔn)確性,再入庫分析。數(shù)據(jù)挖掘分析流程如圖2所示。
圖2 數(shù)據(jù)挖掘分析流程
數(shù)據(jù)挖掘分析是獲取數(shù)據(jù)價(jià)值最重要的步驟。近年來,以MapReduce等技術(shù)為代表的挖掘與分析技術(shù)日趨成熟。MapReduce是一種處理海量數(shù)據(jù)的并行編程模型和計(jì)算框架,用于對(duì)大規(guī)模數(shù)據(jù)集的并行計(jì)算。它是把大規(guī)模數(shù)據(jù)集的操作,分發(fā)給一個(gè)主節(jié)點(diǎn)管理下的各分節(jié)點(diǎn)共同完成,然后通過整合各分節(jié)點(diǎn)的中間結(jié)果,得到最終結(jié)果[6]。
天地圖·湖北中,包括各種導(dǎo)航數(shù)據(jù)、專題數(shù)據(jù)等。為了提取、分析天地圖·湖北的有用信息,可使用MapReduce對(duì)數(shù)據(jù)進(jìn)行挖掘統(tǒng)計(jì)分析。
以天地圖·湖北中的湖北省貧困人口POI專題數(shù)據(jù)為例,由于數(shù)據(jù)量大,使用傳統(tǒng)的分析工具效率不高。結(jié)合目前最新的大數(shù)據(jù)技術(shù),使用MapReduce對(duì)數(shù)據(jù)進(jìn)行分析,可得出湖北省內(nèi)各市、縣、鄉(xiāng)、鎮(zhèn)、區(qū)的貧困人口總數(shù),如表2所示。
表2 天地圖·湖北貧困人口表結(jié)構(gòu)
以天地圖·湖北中的湖北省貧困人口POI專題數(shù)據(jù)為數(shù)據(jù)源,首先經(jīng)Map操作,將相同的RegionId進(jìn)行合并處理;其次通過Reduce,根據(jù)MapReduce計(jì)算框架的原理,相同的RegionId會(huì)分配到同一Reduce節(jié)點(diǎn)進(jìn)行處理。由于貧困人口數(shù)據(jù)表ID的唯一性,所以只需要計(jì)算RegionId相同的ID的數(shù)量,就可以得到某一地區(qū)貧困人口的總數(shù)。經(jīng)過Map和Reduce兩個(gè)步驟,最終將結(jié)果輸出到HDFS上保存。MapReduce操作流程如圖3所示。
圖3 MapReduce操作流程
此外,還有多部文獻(xiàn)介紹空間大數(shù)據(jù)的挖掘與分析。文獻(xiàn)[7]基于Shark/Spark設(shè)計(jì)一個(gè)分布式空間數(shù)據(jù)分析框架;文獻(xiàn)[8]闡述空間數(shù)據(jù)挖掘的算法,并探討空間數(shù)據(jù)挖掘未來的發(fā)展趨勢(shì)。
[1] 林媛媛,林川,何德.淺談大數(shù)據(jù)時(shí)代下的GIS發(fā)展[J].江西測(cè)繪,2013,97(3):15-16
[2] Whte Tom. Hadoop: The Definitive Guide [M]. O’Reilly Media Inc, 2009
[3] 申德榮,于戈,王習(xí)特,等.支持大數(shù)據(jù)管理的NoSQL系統(tǒng)研究綜述[J].軟件學(xué)報(bào),2013(8):1 786-1 803
[4] 萬波,黨琦,楊林.基于HDFS管理MapGIS K9瓦片地圖集的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(12):232-235
[5] 丁?。贖Base的空間數(shù)據(jù)分布式存儲(chǔ)和并行查詢算法研究[D].南京:南京師范大學(xué),2014
[6] 劉鵬.實(shí)戰(zhàn)Hadoop——開啟通向云計(jì)算的捷徑[M].北京:電子工業(yè)出版社, 2011
[7] 溫馨,羅侃,陳榮國.基于Shark/Spark的分布式空間數(shù)據(jù)分析框架[J].地球信息科學(xué)學(xué)報(bào), 2015, 17(4):401-407
[8] 馬宏斌,王柯,馬團(tuán)學(xué).大數(shù)據(jù)時(shí)代的空間數(shù)據(jù)挖掘綜述[J].測(cè)繪與空間地理信息,2014,37(7):19-22