1.2.3場(chǎng)景數(shù)據(jù)存儲(chǔ)管理方法:
常見(jiàn)GIS數(shù)據(jù)存儲(chǔ)管理系統(tǒng):
1.基于關(guān)系數(shù)據(jù)庫(kù),包括基于關(guān)系數(shù)據(jù)庫(kù)空間擴(kuò)展和基于關(guān)系數(shù)據(jù)庫(kù)的空間引擎;
2.基于非關(guān)系數(shù)據(jù)庫(kù)(NoSQL數(shù)據(jù)庫(kù)),包括文檔、鍵值、列、圖四類(lèi)典型的NoSQL數(shù)據(jù)庫(kù);
3.基于文件系統(tǒng)的,基于HDFS分布式文件系統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)。
關(guān)系數(shù)據(jù)庫(kù)支持ACID事務(wù),處理多模態(tài)場(chǎng)景數(shù)據(jù)存儲(chǔ)需求時(shí)寫(xiě)入效率低,難以擴(kuò)展存儲(chǔ)容量。
NoSQL數(shù)據(jù)庫(kù)設(shè)計(jì)遵循CAP理論(即一致性、可用性、網(wǎng)絡(luò)分割),提供了比關(guān)系數(shù)據(jù)庫(kù)ACID事務(wù)更為松散BASE(即基本可用、軟狀態(tài)、最終一致性)并發(fā)事務(wù)模型。
鍵值存儲(chǔ)適合分布時(shí)數(shù)據(jù),但不合適需要表達(dá)關(guān)系、或者復(fù)雜數(shù)據(jù)結(jié)構(gòu)的場(chǎng)景。因?yàn)槟P徒Y(jié)構(gòu)簡(jiǎn)單,數(shù)據(jù)查詢速度遠(yuǎn)高于傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)。但是其查詢和修改操作只支持基于鍵的點(diǎn)對(duì)點(diǎn)查詢和字符串級(jí)別的范圍查詢,不支持地理空間范圍查詢,無(wú)法直接存儲(chǔ)空間數(shù)據(jù)。
列模型中由于每一列的數(shù)據(jù)類(lèi)型相同,可以獲得較大的數(shù)據(jù)壓縮比率,節(jié)省存儲(chǔ)空間。
文檔模型與鍵值模型類(lèi)似,通過(guò)鍵定位存儲(chǔ)在磁盤(pán)中的值。
圖模型源于圖論,通過(guò)節(jié)點(diǎn)以及節(jié)點(diǎn)內(nèi)鍵值對(duì)形式的屬性表達(dá)數(shù)據(jù)對(duì)象,邊及其鍵值對(duì)形式的屬性表示節(jié)點(diǎn)對(duì)象之間的連接和語(yǔ)義,此外對(duì)象模型可以擁有標(biāo)簽從而實(shí)現(xiàn)對(duì)節(jié)點(diǎn)的分類(lèi),關(guān)系邊可以擁有方向表示關(guān)系的起點(diǎn)和終點(diǎn)。
NoSQL數(shù)據(jù)庫(kù)處于發(fā)展初期,對(duì)空間數(shù)據(jù)的支持弱,需要開(kāi)發(fā)獨(dú)立的空間數(shù)據(jù)索引層或者引擎,因此基于關(guān)系數(shù)據(jù)庫(kù)的GIS數(shù)據(jù)存儲(chǔ)管理方式不會(huì)被淘汰,將與NoSQL數(shù)據(jù)庫(kù)一同組成混合持久化方案。
1.3.2:研究?jī)?nèi)容

研究?jī)?nèi)容1:多模態(tài)場(chǎng)景數(shù)據(jù)時(shí)空索引機(jī)制
研究?jī)?nèi)容2:基于時(shí)空關(guān)系圖的多層次混合時(shí)空索引方法
研究?jī)?nèi)容3:基于微服務(wù)架構(gòu)的場(chǎng)景數(shù)據(jù)組織管理引擎
研究?jī)?nèi)容4:場(chǎng)景數(shù)據(jù)組織管理原型系統(tǒng)及實(shí)驗(yàn)分析
2.1多模態(tài)場(chǎng)景數(shù)據(jù)
2.1.1場(chǎng)景數(shù)據(jù)多模態(tài)特點(diǎn)
多模態(tài):場(chǎng)景數(shù)據(jù)來(lái)源廣泛和類(lèi)型多樣。
場(chǎng)景數(shù)據(jù):不同于傳統(tǒng)GIS數(shù)據(jù)庫(kù)或者云數(shù)據(jù)中心基于外存儲(chǔ)管理的數(shù)據(jù),更靠近應(yīng)用端。
特點(diǎn):多元、多維、多尺度、動(dòng)態(tài)變化、復(fù)雜關(guān)聯(lián)、全生命周期管理需求。
數(shù)據(jù)分類(lèi):
1.基礎(chǔ)框架數(shù)據(jù):是場(chǎng)景構(gòu)建的背景數(shù)據(jù),其空間位置和幾何形狀相對(duì)穩(wěn)定,具有規(guī)模大、變化小、跟新慢等特點(diǎn)。
2.智能感知數(shù)據(jù):具有時(shí)空信息的動(dòng)態(tài)數(shù)據(jù),其空間位置或狀態(tài)值隨時(shí)間顯著變化,具有時(shí)空序列性強(qiáng)、數(shù)據(jù)量大、更新快等特點(diǎn)。
3.關(guān)聯(lián)關(guān)系數(shù)據(jù):場(chǎng)景中廣泛存在的,在社會(huì)空間、物理空間和信息空間三元世界交叉融合、相互作用中產(chǎn)生,表示時(shí)空對(duì)象、過(guò)程和事件在空間、時(shí)間和語(yǔ)義等方面的關(guān)聯(lián)關(guān)系,具有典型的高維、動(dòng)態(tài)和復(fù)雜交織特點(diǎn),如社交網(wǎng)絡(luò)、物聯(lián)網(wǎng)、道路網(wǎng)等關(guān)系數(shù)據(jù)。

2.2多層次可視化任務(wù)需求
三個(gè)層次:
展示性可視化:這一類(lèi)可視化以數(shù)據(jù)為驅(qū)動(dòng)力,屬于數(shù)據(jù)I/O密集型應(yīng)用。與基礎(chǔ)框架數(shù)據(jù)對(duì)應(yīng)。
分析性可視化:這一類(lèi)可視化任務(wù)以數(shù)據(jù)+模型為驅(qū)動(dòng)力,屬于數(shù)據(jù)I/O密集型和計(jì)算密集型應(yīng)用。與智能感知數(shù)據(jù)對(duì)應(yīng)。
探索性可視化:這一類(lèi)可視化任務(wù)以數(shù)據(jù)+模型+交互為驅(qū)動(dòng)力,屬于計(jì)算密集型和交互探索密集型應(yīng)用。與關(guān)聯(lián)關(guān)系數(shù)據(jù)對(duì)應(yīng)。

索引算法選擇:對(duì)于屬性字段可采用B樹(shù)及其變種索引,對(duì)于DEM(數(shù)字地形數(shù)據(jù))和DOM(正射影像數(shù)據(jù))這一類(lèi)呈現(xiàn)多分辨率平面分布特點(diǎn)的數(shù)據(jù)可以采用四叉樹(shù)進(jìn)行索引組織,對(duì)于建筑和單體模型可采用LOD-R樹(shù)空間索引計(jì)算其包圍盒范圍并進(jìn)行索引組織。
查詢則需要提供面向需求的點(diǎn)查詢、范圍查詢、拓?fù)潢P(guān)系查詢和屬性字段查詢等。
2.2全局-局部協(xié)同的時(shí)空索引機(jī)制
全局索引位于是整個(gè)索引框架的最上層,位于內(nèi)存,作用是對(duì)進(jìn)入系統(tǒng)的多模態(tài)場(chǎng)景數(shù)據(jù)在全局層面快速建立時(shí)間、空間、語(yǔ)義和關(guān)聯(lián)關(guān)系索引。常見(jiàn)分為4類(lèi):空間劃分、數(shù)據(jù)劃分、時(shí)間劃分和降維。圖模型具有和樹(shù)索引相似的結(jié)構(gòu)組成,相較于樹(shù)索引它將空間拓?fù)潢P(guān)系、時(shí)間關(guān)系擴(kuò)展為了場(chǎng)景中更為廣泛存在的關(guān)聯(lián)關(guān)系。局部索引是指對(duì)全局索引處理后的數(shù)據(jù)單元進(jìn)行進(jìn)一步索引組織的過(guò)程,存在于外存磁盤(pán),用作處理框架數(shù)據(jù)和備份的歷史智能感知數(shù)據(jù)。


3.1基于稀疏矩陣的時(shí)空關(guān)系圖索引
構(gòu)建時(shí)空關(guān)系圖:
使用LPG(Labeled Property Graphs,標(biāo)簽屬性圖)對(duì)場(chǎng)景數(shù)據(jù)進(jìn)行抽象表達(dá),主要包含四種表達(dá)方式:節(jié)點(diǎn)(數(shù)據(jù)實(shí)體)、關(guān)系(節(jié)點(diǎn)之間的聯(lián)系)、屬性(鍵值形式存在于節(jié)點(diǎn)和關(guān)系之間)、標(biāo)簽(表示節(jié)點(diǎn)的角色和類(lèi)型)。



基于平面四叉樹(shù)生成地理字符編碼。

3.1.3基于系數(shù)矩陣的內(nèi)存存儲(chǔ)和操作
將時(shí)空關(guān)系圖索引存儲(chǔ)在內(nèi)存環(huán)境中,避免索引節(jié)點(diǎn)訪問(wèn)時(shí)因內(nèi)外存交換產(chǎn)生I/O時(shí)延。每一個(gè)節(jié)點(diǎn)和關(guān)系都與內(nèi)存中唯一鍵值類(lèi)型的內(nèi)存對(duì)象通過(guò)ID唯一綁定。不同于以節(jié)點(diǎn)分裂、合并為核心的樹(shù)形結(jié)構(gòu)空間索引不同,時(shí)空關(guān)系圖索引操作主要涉及到對(duì)內(nèi)存對(duì)象的更新和稀疏矩陣運(yùn)算。
3.2多層次混合時(shí)空索引方法結(jié)構(gòu)及原理
3.2.1總體架構(gòu)

全局索引模塊除了時(shí)空關(guān)系圖索引之外,在內(nèi)存處理部分還采用了基于HashMap和SkipList的數(shù)據(jù)緩存結(jié)構(gòu),HashMap是用來(lái)緩存進(jìn)入系統(tǒng)的待處理多模態(tài)場(chǎng)景數(shù)據(jù),而SkipList則在HashMap的基礎(chǔ)上提供數(shù)據(jù)記錄的排序功能。
3.2.3典型多模態(tài)場(chǎng)景數(shù)據(jù)局部索引組織方法
(1)基礎(chǔ)框架數(shù)據(jù)的索引組織
一維的示意性對(duì)象符號(hào)及其屬性描述。
二維的柵格瓦片數(shù)據(jù)。
三維的建筑物和管線模型。

(2)智能感知數(shù)據(jù)的索引組織
實(shí)時(shí)產(chǎn)生的智能感知數(shù)據(jù)有人流、物流、信息流等。這些屬于時(shí)序數(shù)據(jù),可以采用時(shí)序數(shù)據(jù)模型。

Key值對(duì)應(yīng)時(shí)空關(guān)系圖中相應(yīng)數(shù)據(jù)節(jié)點(diǎn)ID。將近一段時(shí)間內(nèi)的數(shù)據(jù)全部存儲(chǔ)在內(nèi)存緩存之中。對(duì)于歷史數(shù)據(jù),可以設(shè)定存儲(chǔ)時(shí)間粒度(如30分鐘),將這段時(shí)間的數(shù)據(jù)進(jìn)行打包存儲(chǔ)。
3.3內(nèi)外存索引更新與優(yōu)化
3.3.1內(nèi)外存索引更新機(jī)制
預(yù)先設(shè)置同步跟新規(guī)則,批量處理緩存在內(nèi)存中的各類(lèi)基礎(chǔ)框架數(shù)據(jù)、智能感知數(shù)據(jù)和關(guān)聯(lián)關(guān)系數(shù)據(jù),避免對(duì)全局索引和局部索引的頻繁寫(xiě)入和更新操作。智能感知數(shù)據(jù)實(shí)時(shí)接入導(dǎo)致全局索引中對(duì)應(yīng)實(shí)體對(duì)象節(jié)點(diǎn)產(chǎn)生大量的數(shù)據(jù)節(jié)點(diǎn),所以為了維持內(nèi)存中時(shí)空關(guān)系圖索引節(jié)點(diǎn)和關(guān)系數(shù)目規(guī)模在一個(gè)合理的范圍內(nèi),需要設(shè)置淘汰機(jī)制。本文設(shè)計(jì)一種基于時(shí)間的節(jié)點(diǎn)更新機(jī)制。
3.3.2時(shí)空關(guān)系圖索引優(yōu)化
當(dāng)單個(gè)節(jié)點(diǎn)的連接數(shù)目超過(guò)一定閾值時(shí),對(duì)單個(gè)關(guān)系的查詢和修改開(kāi)銷(xiāo)會(huì)急劇增加,產(chǎn)生超級(jí)節(jié)點(diǎn)。解決方法時(shí)在內(nèi)存中通過(guò)HashMap和SkipList這兩種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)一個(gè)有序集合,對(duì)時(shí)間節(jié)點(diǎn)和空間節(jié)點(diǎn)的連接數(shù)目進(jìn)行排序,當(dāng)連接數(shù)目超過(guò)閾值,會(huì)額外在內(nèi)存中記錄該節(jié)點(diǎn)的連接情況。
4.1場(chǎng)景數(shù)據(jù)引擎設(shè)計(jì)
4.1.1概述
分為三層,存儲(chǔ)層、索引層、查詢層。

4.1.2引擎機(jī)制
該機(jī)制由三部分組成:以內(nèi)存為中心的場(chǎng)景數(shù)據(jù)存儲(chǔ)機(jī)制、全局-局部協(xié)同的時(shí)空索引機(jī)制、面向任務(wù)的時(shí)空關(guān)系查詢和調(diào)度機(jī)制。?

內(nèi)存為中心的場(chǎng)景數(shù)據(jù)存儲(chǔ)機(jī)制:如圖所示,前文已有介紹,這里主要提及內(nèi)存集群。
全局-局部協(xié)同的時(shí)空索引機(jī)制:上一章詳細(xì)介紹。
面向任務(wù)的時(shí)空關(guān)系圖查詢與調(diào)度機(jī)制:本文主要針對(duì)3種可視化,在鋼鐵物流場(chǎng)景中可以擴(kuò)展延伸到各個(gè)應(yīng)用場(chǎng)景中。
4.2.2多模型數(shù)據(jù)存儲(chǔ)與多模式數(shù)據(jù)視圖
實(shí)現(xiàn)支持多種數(shù)據(jù)模型的數(shù)據(jù)存儲(chǔ)管理系統(tǒng)常見(jiàn)方法有2種:1.通過(guò)選擇多種模型的數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行一體化集成,缺點(diǎn)時(shí)引擎開(kāi)發(fā)與維護(hù)困難,需要深入研究多種模型ide數(shù)據(jù)庫(kù)促成農(nóng)戶優(yōu)化方案。2.基于單一原生的基礎(chǔ)模型構(gòu)建并實(shí)現(xiàn)其他數(shù)據(jù)模型,這樣做法的優(yōu)點(diǎn)是分層數(shù)據(jù)模型更能展現(xiàn)底層基本模型的特性,但系統(tǒng)設(shè)計(jì)更為復(fù)雜,性能上也會(huì)降低。論文實(shí)現(xiàn)對(duì)表、文檔、鍵值、圖四種數(shù)據(jù)模型的支持。表模型選擇關(guān)系型數(shù)據(jù)庫(kù)PostgreSQL;文檔模型選取文檔類(lèi)型NoSQL數(shù)據(jù)庫(kù)MongoDB;鍵值模型采用鍵值類(lèi)型NoSQL數(shù)據(jù)庫(kù)Redis實(shí)現(xiàn);圖模型是在鍵值模型基礎(chǔ)上實(shí)現(xiàn)。

4.3多樣化場(chǎng)景數(shù)據(jù)查詢
4.3.1時(shí)空查詢
考慮先對(duì)時(shí)間維度還是空間維度進(jìn)行篩選。
4.3.1模糊時(shí)空關(guān)系查詢
5.原型系統(tǒng)與實(shí)驗(yàn)分析
原型系統(tǒng)

6.總結(jié)與展望
進(jìn)一步工作:
1.多模態(tài)場(chǎng)景數(shù)據(jù)時(shí)空索引機(jī)制有待進(jìn)一步完善。
2.基于時(shí)空關(guān)系圖的多層次混合時(shí)空索引方法性能有待進(jìn)一步提升。
3.場(chǎng)景數(shù)據(jù)多模型存儲(chǔ)微服務(wù)有待進(jìn)一步改進(jìn)。