一種基于列數(shù)據(jù)庫的空間數(shù)據(jù)存儲方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種基于列數(shù)據(jù)庫的空間數(shù)據(jù)存儲方 法。
【背景技術(shù)】
[0002] 目前,基于矢量空間數(shù)據(jù)的管理方法主要包括兩種:一種是直接在關(guān)系數(shù)據(jù)庫管 理系統(tǒng)上進(jìn)行擴(kuò)展形成具有空間數(shù)據(jù)存儲管理能力;另一種是在RDBMS基礎(chǔ)上通過建立空 間數(shù)據(jù)引擎中間件,使用RDBMS的關(guān)系模型對空間數(shù)據(jù)進(jìn)行存儲管理。與這兩個方法對應(yīng), 形成了基于拓?fù)潢P(guān)系的矢量數(shù)據(jù)模型、面向?qū)嶓w的矢量數(shù)據(jù)模型和面向?qū)ο蟮氖噶繑?shù)據(jù)模 型。
[0003] 具體地,基于拓?fù)潢P(guān)系的矢量數(shù)據(jù)模型能夠詳細(xì)的表達(dá)地理空間實體的拓?fù)潢P(guān) 系,并且其數(shù)據(jù)結(jié)構(gòu)較為緊湊?;诿嫦?qū)嶓w的矢量數(shù)據(jù)模型以單個地理實體對象為對象 進(jìn)行組織與管理。大量的地理實體對象單獨管理,這種數(shù)據(jù)模型有利于擴(kuò)展與管理?;诿?向?qū)ο蟮氖噶繑?shù)據(jù)模型將所有的實體對象都抽象為一個對象,通過繼承與多態(tài)的方式來描 述與管理空間對象。
[0004]但是,對于基于拓?fù)潢P(guān)系的矢量數(shù)據(jù)模型來說,當(dāng)涉及到更改一個簡單拓?fù)鋵嶓w 的時候,將會更改其他的拓?fù)湫畔?,不利于管理與擴(kuò)展;對于基于面向?qū)嶓w的矢量數(shù)據(jù)模型 來說,由于其缺乏拓?fù)湫畔⒍荒軌蚝芎玫倪\(yùn)用到空間分析當(dāng)中;基于面向?qū)ο蟮氖噶繑?shù) 據(jù)模型雖然能夠很好的保存地理實體之間的邏輯關(guān)系,尤其是在復(fù)雜地理實體的邏輯關(guān)系 表達(dá);然而由于不同的層中存在相同的空間對象,帶來大量的數(shù)據(jù)冗余與管理不便。并且, 以上三種矢量數(shù)據(jù)模型主要適用于關(guān)系型數(shù)據(jù)庫中。但是面對空間大數(shù)據(jù)的要求,傳統(tǒng)的 文件系統(tǒng)與關(guān)系型數(shù)據(jù)庫由于高并發(fā)能力弱、擴(kuò)展性差、建設(shè)與運(yùn)營成本高等缺陷,已經(jīng)無 法滿足空間大數(shù)據(jù)環(huán)境下的需求。
[0005] 另外,作為大數(shù)據(jù)研究及應(yīng)用的基礎(chǔ)技術(shù)之一,云計算技術(shù)在分布式處理、分布式 數(shù)據(jù)庫、大數(shù)據(jù)存儲和虛擬化等方面發(fā)揮著越來越重要的作用,為大規(guī)??臻g數(shù)據(jù)存儲提 供了新的理論和技術(shù)支撐。云計算為解決矢量空間大數(shù)據(jù)提供了一個很好的方法。但是由 于矢量空間數(shù)據(jù)的拓?fù)鋵傩缘奶厥庑裕荒軐㈥P(guān)系型數(shù)據(jù)庫下的矢量空間數(shù)據(jù)存儲管理方 法直接運(yùn)用到云環(huán)境下。因為傳統(tǒng)的關(guān)系型數(shù)據(jù)庫是基于行的數(shù)據(jù)庫,而在云環(huán)境系的數(shù) 據(jù)庫是基于列或者基于文檔的數(shù)據(jù)庫。由于數(shù)據(jù)庫底層的數(shù)據(jù)組織方式不一樣,決定了關(guān) 系型數(shù)據(jù)庫對矢量數(shù)據(jù)的存儲及管理方法不能適用于基于列的數(shù)據(jù)庫中。
[0006] 基于此,目前亟需一種新的存儲方法以能在云環(huán)境下實現(xiàn)對矢量空間大數(shù)據(jù)的存 儲與管理。
【發(fā)明內(nèi)容】
[0007] 針對現(xiàn)有技術(shù)存在的問題,本發(fā)明實施例提供了一種基于列數(shù)據(jù)庫的空間數(shù)據(jù)存 儲方法,用于解決現(xiàn)有技術(shù)中的存儲模型無法對云環(huán)境下的矢量空間數(shù)據(jù)進(jìn)行存儲及管理 的技術(shù)問題。
[0008] 本發(fā)明提供一種基于列數(shù)據(jù)庫的空間數(shù)據(jù)存儲方法,所述方法包括:
[0009] 將矢量空間數(shù)據(jù)模型劃分為幾何數(shù)據(jù)、屬性數(shù)據(jù)及空間拓?fù)潢P(guān)系數(shù)據(jù);
[0010] 利用簡化后的九交模型確定所述空間拓?fù)潢P(guān)系數(shù)據(jù)的拓?fù)湟?guī)則;
[0011] 以行標(biāo)識符為所述矢量空間數(shù)據(jù)的唯一標(biāo)識符,根據(jù)所述拓?fù)湟?guī)則將存儲模型中 的列族與所述幾何數(shù)據(jù)、所述屬性數(shù)據(jù)及所述空間拓?fù)潢P(guān)系數(shù)據(jù)一一對應(yīng),對所述矢量空 間數(shù)據(jù)進(jìn)行存儲。
[0012] 上述方案中,所述簡化后的九交模型包括;
[0013]
:其中,所述B為空間實體的邊界,所述I為所述空間 實體的內(nèi)部。
[0014] 上述方案中,所述拓?fù)湟?guī)則包括:點與點之間的拓?fù)潢P(guān)系規(guī)則、點與線段之間的拓 撲關(guān)系規(guī)則、點與面之間的拓?fù)潢P(guān)系規(guī)則、線段與線段之間的拓?fù)潢P(guān)系規(guī)則、線段與面之間 的拓?fù)潢P(guān)系規(guī)則及面與面之間的拓?fù)潢P(guān)系規(guī)則。
[0015] 上述方案中,所述點與點之間的拓?fù)潢P(guān)系規(guī)則包括:
[0016]
,所述點與點之間對應(yīng)的拓?fù)潢P(guān) 系為兩點相離;
[0017]
,所述點與點之間對應(yīng)的拓?fù)潢P(guān)系 為兩點重合。
[0018] 上述方案中,所述點與線段之間的拓?fù)潢P(guān)系規(guī)則包括:
[0019]
,所述點與線段之間對應(yīng)的拓?fù)?關(guān)系為點與線段相離;
[0020]
,所述點與線段之間對應(yīng)的拓?fù)潢P(guān) 系為點包含于線段中;
[0021]
,所述點與線段之間對應(yīng)的拓?fù)潢P(guān) 系為所述點位于所述線段的一個結(jié)點中;
[0022]
,所述點與線段之間對應(yīng)的拓?fù)潢P(guān) 系為所述點與所述線段相切。
[0023]上述方案中,所述點與面之間的拓?fù)潢P(guān)系規(guī)則包括:
[0024]
,所述點與面之間對應(yīng)的拓?fù)潢P(guān) 系為所述點與所述線段相離;
[0025]
',所述點與面之間對應(yīng)的拓?fù)潢P(guān)系 為所述點位于所述面的內(nèi)部;
[0026]
,所述點與面之間對應(yīng)的拓?fù)潢P(guān)系 為所述點位于所述面的邊上。
[0027] 上述方案中,所述線段與線段之間的拓?fù)潢P(guān)系規(guī)則包括:
[0028]
,所述線段與線段之間對應(yīng)的拓?fù)?關(guān)系為線段與線段相離;
[0029]
,所述線段與線段之間對 應(yīng)的拓?fù)潢P(guān)系為包含關(guān)系;
[0030]
,所述線段與線段之間對應(yīng)的拓?fù)?關(guān)系為相交關(guān)系;
[0031]
所述線段與線段之間對應(yīng)的拓?fù)?關(guān)系為鄰接關(guān)系。
[0032] 上述方案中,所述線段與面之間的拓?fù)潢P(guān)系規(guī)則包括:
[0033]
,所述線段與面之間對應(yīng)的拓?fù)潢P(guān) 系為相離關(guān)系;
[0034]
,所述線段與面之間對應(yīng)的拓?fù)潢P(guān) 系為鄰接關(guān)系;
[0035]
,所述線段與面之間對應(yīng) 的拓?fù)潢P(guān)系為所述線段位于所述面的內(nèi)部;
[0036]
,所述線段與面之間對應(yīng)的拓?fù)潢P(guān) 系為相交關(guān)系;
[0037]
,所述線段與面之間對應(yīng) 的拓?fù)潢P(guān)系為相切關(guān)系。
[0038] 上述方案中,所述面與面之間的拓?fù)潢P(guān)系規(guī)則包括:
[0039]
,所述面與面之間對應(yīng)的拓?fù)潢P(guān)系 為相離關(guān)系;
[0040]
',所述面與面之間對應(yīng)的 拓?fù)潢P(guān)系為包含關(guān)系;
[0041 ]
,所述面與面之間對應(yīng)的拓?fù)潢P(guān)系 為鄰接關(guān)系。
[0042]上述方案中,所述存儲模型為:
[0043] M(f) = (Rowkey,Times tamp,{Geometry ;Property ;Topology});其中,所述 Rowkey 為行標(biāo)識符,所述Timestamp用于記錄需要更新的對象數(shù)據(jù);所述Geometry、Property及所 述Topology為所述存儲模型的列族。
[0044] 本發(fā)明提供了一種基于列數(shù)據(jù)庫的空間數(shù)據(jù)存儲方法,所述方法包括:將矢量空 間數(shù)據(jù)模型劃分為幾何數(shù)據(jù)、屬性數(shù)據(jù)及空間實體拓?fù)潢P(guān)系數(shù)據(jù);利用簡化后的九交模型 確定所述空間實體拓?fù)潢P(guān)系數(shù)據(jù)的拓?fù)湟?guī)則;以行標(biāo)識符為所述矢量空間數(shù)據(jù)的唯一標(biāo)識 符,根據(jù)所述拓?fù)湟?guī)則將存儲模型中的列族與所述幾何數(shù)據(jù)、所述屬性數(shù)據(jù)及所述空間實 體拓?fù)潢P(guān)系數(shù)據(jù)一一對應(yīng),對所述矢量空間數(shù)據(jù)進(jìn)行存儲;如此,能夠充分發(fā)揮分布式列數(shù) 據(jù)庫的高吞吐性,高擴(kuò)展性,稀松性等優(yōu)點;并在矢量空間數(shù)據(jù)的處理上兼顧了空間拓?fù)潢P(guān) 系,便于進(jìn)行空間拓?fù)浞治雠c空間數(shù)據(jù)的檢索與查詢,解決了當(dāng)前云環(huán)境下如何高效存儲 空間數(shù)據(jù)的問題,為大數(shù)據(jù)時代矢量空間數(shù)據(jù)的存儲提供了新的解決方案。
【附圖說明】
[0045] 圖1為本發(fā)明實施例提供的存儲方法流程示意圖;
[0046] 圖2為本發(fā)明實施例提供的矢量空間數(shù)據(jù)的整體結(jié)構(gòu)示意圖;
[0047] 圖3為本發(fā)明實施例提供的空間實體拓?fù)潢P(guān)系示意圖;
[0048] 圖4為本發(fā)明實施例提供的矢量空間數(shù)據(jù)的存儲模型結(jié)構(gòu)示意圖。
【具體實施方式】
[0049] 為了可以對云環(huán)境下的矢量空間數(shù)據(jù)進(jìn)行存儲及管理,本發(fā)明提供了一種基于列 數(shù)據(jù)庫的空間數(shù)據(jù)存儲方法,所述方法包括:將矢量空間數(shù)據(jù)模型劃分為幾何數(shù)據(jù)、屬性數(shù) 據(jù)及空間實體拓?fù)潢P(guān)系數(shù)據(jù);利用簡化后的九交模型確定所述空間實體拓?fù)潢P(guān)系數(shù)據(jù)的拓 撲規(guī)則;以行標(biāo)識符為所述矢量空間數(shù)據(jù)的唯一標(biāo)識符,根據(jù)所述拓?fù)湟?guī)則將存儲模型中 的列族與所述幾何數(shù)據(jù)、所述屬性數(shù)據(jù)及所述空間實體拓?fù)潢P(guān)系數(shù)據(jù)一一對應(yīng),對所述矢 量空間數(shù)據(jù)進(jìn)行存儲。
[0050] 下面通過附圖及具體實施例對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明。
[0051] 本實施例提供一種基于列數(shù)據(jù)庫的空間數(shù)據(jù)存儲方法,如圖1所示,所述方法包括 以下步驟:
[0052]步驟1