陸妍玲,李景文,葉蘇嫻,姜建武,殷 敏,周艷柳
(1. 桂林理工大學,廣西 桂林 541004; 2. 廣西空間信息與測繪重點實驗室,廣西 桂林 541004)
近年來,由于移動互聯網與物聯網等技術的不斷發展,全球范圍內數據量增長迅猛,昭示著大數據(big data)時代已經來臨[1-2]。根據國際數據公司IDC統計,全球數據總量將維持50%左右的增長率。預計到2020年,全球數據總量達到40 ZB;同時,中國的數據總量將達到8.6 ZB,占全球總量的21%,其中,80%的數據與空間位置相關[3]。地理信息數據得到了空前的發展,大數據時代背景下的地理時空數據量不斷膨脹,與GIS系統相關的應用也在迅速豐富和增長。大數據的特征不止體現在數據量大方面,更有速度快、模態多樣、真偽難辨、價值性等多個特征[4]。其中,海量異構性在GIS數據管理方面一直是熱門研究領域。因此,在大數據時代中,超大體量的數據研究為GIS帶來了挑戰的同時也提供了數據分析的新機遇。
傳統GIS多采用關系型數據庫,針對大數據的云端服務模式,使得單一的關系型數據庫在海量空間數據的存儲管理、異地多點查詢、關聯與聚合等方面顯示出了一定的局限性[5-6]。同時,傳統的空間數據庫存儲多以靜態的關系型數據記錄為主要形式,管理方式缺少應對高動態的時空大數據的解決方法[7]。除去大體量、動態等特性,大數據的異構特征在現有的GIS數據模型中,也存在很大的管理難度。不同的時空粒度,從數據格式到數據存儲都存在較大的差異性,常用的關系型數據結構已經難以對非結構化數據進行有效組織和管理,同時對結構性和非結構性等異構數據的統一管理成為GIS時空大數據急需解決的主要問題之一[3,8]。
大體量、動態、異構等多特征的大數據必將為GIS數據存儲和管理帶來跳躍性發展。相對于傳統關系型或分布式數據庫,對靜態、有限的數據集管理系統需要具備擴展性,對多源異構的數據類型的包容性,對關系型和非關系型數據協同管理性,以滿足動態無限增長的大數據存儲和查詢問題,GIS時空大數據需要一種應對大數據時代挑戰的數據管理新方法[9]。由此,針對現有空間數據存儲的靜態關系型記錄的不足,通過以實時存儲和實時分析為目標,基于流數據的地理時空大數據動態管理方法,將改善現有的數據結構在大數據存儲和管理的局限性,結合擴展數據源、數據類型及數據操作等屬性,突出多源異構地理時空大數據的時空關系和演變過程關系等特征,實現對GIS時空大數據進行數據一體化組織、存儲和分析。
與傳統靜態數據相對應的流數據,是一種具有實時、快速和連續到達等特性的動態數據。所謂流數據,是按時間序列動態增加的數據觀測值向量所組成的數據序列,有連續性及無線增長性的特性。在對大數據GIS特征分析中,李清泉等提出采用現有的空間數據管理方式難以應對高動態的空間流數據,相比于靜態有限的數據集,地理空間大數據的存儲管理應該具備擴展性,并且能對非結構性數據進行有效存儲。因此,基于“瞬間流”的數據集概念,對流數據的存儲技術進行動態改進,能有效解決非結構性的超大規模數據帶來的存儲上的問題,可擴展的立方體存儲處理方法同時能滿足高動態性的異構地理空間大數據管理需求[3]。
結合地理時空大數據的數據概念、結構特點,地理時空大數據可以分為結構化和非結構化數據類型,同時,數據特征描述從傳統的3V擴展到了5V或新3V等多維模態。通過分析從海量到大數據的跨越面臨的存儲和分析問題,描述以流數據為對象的數據存儲結構,按照時間序列動態增加數據向量所組成的數據立方體。考慮到非結構性數據特點,地理時空大數據存儲需要具備擴展性。因此,在水平方向二維數據流的基礎上,增加垂直方向上的二維非結構數據流,并在時間序列的框架下,構建基于流數據的可擴展立方體(streaming data cube,SDC),為實現地理時空大數據的實時處理奠定基礎,如圖1所示。

圖1 地理時空大數據的流數據擴展立方體結構
流數據擴展立方體為
CPLXYZT=VP,L,X,Y,Z,T
(1)
式中,P為關聯的信息類型;L為空間分辨率的層級;X、Y、Z為體位置的三維坐標;T為時間。
基于流數據的可擴展立方體結構(SDC),通過回歸與聚類等方法為多維流數據建立一個較為完整的實時處理框架,采用梯形體,將不同維度的流數據立方體疊加,按照時間序列對數據流作聚類處理;同時,在垂直方向上,由下往上對聚類作回歸。具體如圖2所示,底層到上層的延伸是對聚類進行回歸的過程,越往上層聚類數據越少。某層截面表示在該層上需存儲的立方體,其體積與其相應的回歸層上所存儲的聚類立方體個數成正比關系[10]。

圖2 流數據立方體SDC處理框架
其中聚類算法為:Algorithm index-D(K,M,N,α),設定給出的流數據立方體個數為K,每個最少去除的采集點數為M,當前立方體存儲結構的個數為N,試驗因子為α。聚類過程為:流數據立方體Streaming cube(Ti,Tj)表示從時間Ti到Tj這段時間的聚類結果:
(1) 對所有ID進行初始化,使之為零。
(2) 對每一個新到來的立方體數據塊Dj計算聚類Streaming cube(j-1,j)。
(3) 從水平二維的第0層開始計算,判斷每一層是否有空的存儲單元,設置判斷標準至少有一個ID為0,直至出現空的立方體存儲單元的那一層位置為止。
通過梯形體的方式,對水平方向流數據立方體進行聚類,垂直方向流數據立方體進行回歸。在多維時間序列流數據立方體的回歸分析中,采用壓縮后的回歸數據,可大量節省時空大數據的存儲空間。在該立方體存儲結構中,利用一維的線性回歸方法,描述了對流數據立方體進行不同時間序列組成的不同立方體,以及對同一時間序列的不同時段的立方體進行最小二乘線性回歸運算。通過ISB表示法,由參數[Ta,Tb],θ,η組成。以上參數相互不相關,其中[Ta,Tb]為時間序列間隔,θ為線性擬合的基數,η是斜率。最后,為有效實時分析處理流數據立方體,在垂直方向的回歸上層進行觀察,利用數據異常驅動的方法,找出流數據異常立方體,在有限的存儲空間中切實可行地對快速、動態的流數據立方體做出實時響應。
隨著超大數據規模的不斷上升,其局限性越來越明顯,面臨諸多難以解決的問題,如非結構化數據難以確定統一的數據關系模型;大部分的關系數據庫不支持大規模的分布式存儲。基于SQL的接口設計在超大數據集面前效率低下,難以滿足實時性要求[11]。但在非關系型數據模型應用中,體現在各類非關系型數據量(NoSQL)和分布式文件系統。典型的NoSQL數據庫有Redis、Memcached、Cassandra、MongoDB、Neo4j等,此類數據庫相比于關系型數據庫確定存在多方面優勢,但是卻不能支持SQL查詢。即使對非關系型數據庫的爭議從未間斷,但其與關系數據庫并存的數據管理方式已經被認可[3]。李德仁等學者對一體化組織、管理、存儲地理時空大數據了進行研究;康俊鋒等基于互聯網操作軟件架構,建立了新一代網格計算技術下的非關系、開放、并行的數據存儲管理方法[12]。
同時,考慮關系數據庫目前的主導地位,在異構性地理時空大數據模型構建中,基于關系數據庫的設計工具和語言接口,為水平方向上的二維結構化數據流進行存儲管理;也為解決現有關系型數據庫缺乏非結構化數據管理與實時性分析的問題,采用靈活、分布式、擴展開放的多維流數據立方體存儲管理垂直方向上的非結構型數據;使其實現同時支持結構化與非結構化數據源和數據模型描述。
因此,基于流數據立方體(SDC)處理框架,結合立方體數據組織模型的定義和特征,根據流數據的地理時空大數據的組織形態,構建擴展關系型數據庫與協同非關系型數據庫(extension-synergy,簡稱E-S)的模型,將非關系數據庫用作關系數據庫的擴展,關系數據庫中數據量大、關系較為復雜的通過中間件移植到非關系數據庫中,只在關系數據庫中保留需要復雜關系操作的流數據立方體。具體如圖3所示。

圖3 基于SDC的E-S數據庫
基于SDC的E-S數據庫,面向實時分析的動態流數據處理過程,考慮到地理時空大數據的建模重點,基于流數據立方體存儲的地理時空大數據時空聚類方法,把任意多個流數據立方體組合通過回歸聚類等方法映射成唯一立方體,在類體空間中保存有效數據單元信息,并且構建時空序列索引提高檢索和信息分析效率。結合數據驅動分析,通過插入異常源數據,在計算模擬過程中,探索實現發現未來地理時空大數據管理新模式的方法,具體如圖4所示。

圖4 基于流數據立方體的地理時空大數據組織
在時空聚類過程中,單元列棧U為一個規格化時空單元上的聚類全部數據,按照時空序列堆棧的數據集為
(2)
基于流數據的可擴展立方體存儲區結果D為相同時空層級上全部規格化時空單元上的U的集合為
(3)
基于SDC的E-S時空大數據組織方法,采用具有連續性及無限增長性的流數據為數據結構,考慮到非結構性數據,在典型流數據的基礎上,對其進行垂直方向上的擴展,并且在時間序列下,進行靈活實時的數據管理;既滿足GIS大數據可擴展的動態數據管理需求,該流數據立方體與時空序列的結合,還為面向實時分析與挖掘的動態處理提供解決方案。在SDC存儲結構基礎上,基于擴展關系型和協同非關系型數據庫,既符合SDC存儲結構和運算方式,又不舍棄當下主流關系數據庫對于復雜關系操作的優點,還能對地理時空大數據的非結構數據進行有效管理,符合未來大數據GIS新型通用數據管理系統的標準。
在GIS領域中,海量數據的處理一直是一個重要問題,從海量數據跨越到大數據,不止擁有超大規模的數據體量,還兼具了多源、快速、動態、異構和挖掘等關鍵的特征[13-14]。針對目前GIS數據模型的管理局限性,本文提出了一種基于流數據的可擴展立方體動態數據組織方法,在典型的流數據二維數據序列基礎上,增加垂直方向的非結構數據立方體序列,在時間序列下,統一管理地理時空大數據的結構型和非結構型數據,滿足地理時空大數據高動態、連續性與無限增長性的數據管理需求。同時,為了優化地理時空大數據模型管理,在數據層面,針對傳統關系型數據庫在異構和可擴展方面的不足,將關系型與非關系型數據庫并存,基于SDC的E-S地理時空大數據模型構建方法,既發揮關系型模型對復雜關系操作的優勢,也將海量、異構和動態的地理時空大數據存儲管理在非關系型數據庫,同時適應結構化和非結構化數據的統一數據模型。