方法。本【具體實(shí)施方式】中采用B+Tree數(shù)據(jù)結(jié)構(gòu)存 儲(chǔ),選取數(shù)據(jù)條目中的ID作為Key,其它屬性作為Value。數(shù)據(jù)存儲(chǔ)在葉子節(jié)點(diǎn)上,非葉子 節(jié)點(diǎn)作為葉子節(jié)點(diǎn)的索引,提高數(shù)據(jù)查找效率。葉子節(jié)點(diǎn)采用一個(gè)有序的鏈表,每次查找都 會(huì)到達(dá)葉子節(jié)點(diǎn)才會(huì)結(jié)束。表5-1、5-2、5-3給出了表1中數(shù)據(jù)條目在三個(gè)數(shù)據(jù)塊中的分布 情況。
[0045]
[0046] 表5-1數(shù)據(jù)塊1001中數(shù)據(jù)
[0047]
[0048] 表5-2數(shù)據(jù)塊1002中數(shù)據(jù)
[0049]
[0050] 表5-3數(shù)據(jù)塊1003中數(shù)據(jù)
[0051] 步驟106中,建立新添加感知數(shù)據(jù)條目的數(shù)據(jù)塊內(nèi)索引,所述數(shù)據(jù)塊內(nèi)索引采用 Key-Value數(shù)據(jù)模型,Key值為所述數(shù)據(jù)塊內(nèi)索引所對(duì)應(yīng)的字段,Value值為感知數(shù)據(jù)條目 的鍵值,所述Key值的數(shù)據(jù)結(jié)構(gòu)具體可以為R樹、B+樹、B樹或自定義的方法。。本具體實(shí)施 方式中采用B+Tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),Key值是待查詢的字段或復(fù)合字段,Value是數(shù)據(jù)塊內(nèi)條 目的ID。這樣基于屬性查詢時(shí)只需查詢一次屬性索引樹取出塊內(nèi)ID,再查詢塊內(nèi)ID索引 樹取出數(shù)據(jù)條目的其它屬性信息。
[0052] 圖2是本發(fā)明基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)框圖?;贙ey-Value 數(shù)據(jù)塊的數(shù)據(jù)管理系統(tǒng)包括數(shù)據(jù)分塊規(guī)則獲取模塊201,數(shù)據(jù)分塊規(guī)則與數(shù)據(jù)塊鍵值對(duì)應(yīng) 關(guān)系建立模塊202,數(shù)據(jù)塊鍵值與存儲(chǔ)位置關(guān)系建立模塊203,數(shù)據(jù)條目的Key-Value數(shù)據(jù) 模型建立模塊204,數(shù)據(jù)條目的數(shù)據(jù)塊索引建立模塊205。具體而言:
[0053] 數(shù)據(jù)分塊規(guī)則模塊201用于獲取數(shù)據(jù)分塊規(guī)則,所述數(shù)據(jù)分塊規(guī)則的結(jié)構(gòu)可以參 見上述表2。數(shù)據(jù)分塊規(guī)則模塊201可以從手動(dòng)輸入模塊獲取人為制定的數(shù)據(jù)聚集的維度, 用于生成數(shù)據(jù)分塊規(guī)則。
[0054] 數(shù)據(jù)分塊規(guī)則與數(shù)據(jù)塊鍵值對(duì)應(yīng)關(guān)系建立模塊202用于建立數(shù)據(jù)分塊規(guī)則與數(shù) 據(jù)塊鍵值之間的對(duì)應(yīng)關(guān)系。
[0055] 數(shù)據(jù)塊鍵值與存儲(chǔ)位置關(guān)系建立模塊203用于建立數(shù)據(jù)塊鍵值與數(shù)據(jù)塊實(shí)際存 儲(chǔ)位置的對(duì)應(yīng)關(guān)系。所述數(shù)據(jù)分塊規(guī)則和數(shù)據(jù)塊鍵值及存儲(chǔ)位置存儲(chǔ)在關(guān)系型數(shù)據(jù)庫206 中。
[0056] 數(shù)據(jù)條目的Key-Value數(shù)據(jù)模型建立模塊204用于根據(jù)數(shù)據(jù)條目的ID值將數(shù)據(jù) 條目存儲(chǔ)到數(shù)據(jù)文件207 (Key-Value數(shù)據(jù)塊以數(shù)據(jù)文件形式存儲(chǔ))中并對(duì)應(yīng)Key-Value數(shù) 據(jù)塊。
[0057] 數(shù)據(jù)條目的數(shù)據(jù)塊索引建立模塊205用于根據(jù)條目屬性建立塊內(nèi)索引。所存儲(chǔ)的 數(shù)據(jù)塊中的數(shù)據(jù)條目如表6所示。
[0058]
[0059] 表6
[0060] 本發(fā)明針對(duì)感知數(shù)據(jù)"一次存儲(chǔ),多次應(yīng)用"以及數(shù)據(jù)條目間存在大量重復(fù)信息的 特點(diǎn),從數(shù)據(jù)屬性中提取數(shù)據(jù)聚集的維度,將具有共性的數(shù)據(jù)聚類存儲(chǔ)在同一數(shù)據(jù)塊中,數(shù) 據(jù)塊存儲(chǔ)的位置和相關(guān)屬性信息采用關(guān)系型數(shù)據(jù)庫進(jìn)行存儲(chǔ)和管理,數(shù)據(jù)塊內(nèi)的數(shù)據(jù)采用 Key-Value數(shù)據(jù)模型存儲(chǔ)和管理。相比于關(guān)系型數(shù)據(jù)庫,將共性的數(shù)據(jù)聚集,降低一致性約 束,大大提高了塊內(nèi)數(shù)據(jù)的讀寫效率,同時(shí)只對(duì)數(shù)據(jù)塊的位置和屬性進(jìn)行管理,數(shù)據(jù)規(guī)模大 大減小,查詢速度大幅提升。本發(fā)明支持海量數(shù)據(jù)規(guī)模,數(shù)據(jù)塊內(nèi)高效,數(shù)據(jù)塊間可靠,數(shù)據(jù) 分塊靈活,大幅提升數(shù)據(jù)庫的查詢效率和擴(kuò)展性。
【主權(quán)項(xiàng)】
1.基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理方法,其特征在于,根據(jù)感知數(shù)據(jù)具有的屬 性選取數(shù)據(jù)聚集的維度,將具有同一屬性維度的感知數(shù)據(jù)進(jìn)行聚類并集中存儲(chǔ)在同一 數(shù)據(jù)塊中,將選取的數(shù)據(jù)聚集維度作為數(shù)據(jù)塊對(duì)應(yīng)的屬性信息;數(shù)據(jù)塊內(nèi)部的數(shù)據(jù)采用 Key-Value數(shù)據(jù)格式存儲(chǔ)和管理;數(shù)據(jù)塊的存儲(chǔ)位置及其對(duì)應(yīng)的屬性信息采用關(guān)系型數(shù)據(jù) 庫進(jìn)行存儲(chǔ)和管理。2.如權(quán)利要求1所述的基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理方法,其特征在于,包括以下 步驟: 步驟一、從感知數(shù)據(jù)描述的屬性中選取數(shù)據(jù)聚集的維度; 步驟二、根據(jù)選取的數(shù)據(jù)聚集的維度組建數(shù)據(jù)分塊規(guī)則,所述數(shù)據(jù)分塊規(guī)則用于指示 數(shù)據(jù)聚集的維度與存儲(chǔ)該數(shù)據(jù)的數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系,將選取的數(shù)據(jù)聚集維度作為數(shù)據(jù)塊對(duì) 應(yīng)的屬性信息; 步驟三、根據(jù)數(shù)據(jù)分塊規(guī)則以及數(shù)據(jù)塊與數(shù)據(jù)塊鍵值之間的對(duì)應(yīng)關(guān)系,獲取數(shù)據(jù)分塊 規(guī)則與數(shù)據(jù)塊鍵值的對(duì)應(yīng)關(guān)系以及數(shù)據(jù)塊的存儲(chǔ)位置,所述數(shù)據(jù)塊的存儲(chǔ)位置用于指示數(shù) 據(jù)塊所存儲(chǔ)的計(jì)算機(jī)節(jié)點(diǎn)以及節(jié)點(diǎn)中的路徑和名稱信息; 步驟四、根據(jù)感知數(shù)據(jù)分塊規(guī)則在關(guān)系型數(shù)據(jù)庫中查找對(duì)應(yīng)的數(shù)據(jù)塊鍵值,如果不存 在與所述感知數(shù)據(jù)分塊規(guī)則對(duì)應(yīng)的數(shù)據(jù)條目,則將數(shù)據(jù)塊的存儲(chǔ)位置及其對(duì)應(yīng)的屬性信息 組織成一條數(shù)據(jù)條目添加到關(guān)系型數(shù)據(jù)庫中進(jìn)行存儲(chǔ)和管理; 步驟五、將感知數(shù)據(jù)條目按照對(duì)應(yīng)的數(shù)據(jù)聚集維度和數(shù)據(jù)塊的存儲(chǔ)位置添加存儲(chǔ)到對(duì) 應(yīng)的數(shù)據(jù)塊中,所述數(shù)據(jù)塊內(nèi)的感知數(shù)據(jù)條目采用Key-Value數(shù)據(jù)模型,Key值為感知數(shù)據(jù) 條目的鍵值,Value值為感知數(shù)據(jù)的屬性; 步驟六、建立新添加感知數(shù)據(jù)條目的數(shù)據(jù)塊內(nèi)索引,所述數(shù)據(jù)塊內(nèi)索引采用Key-Value數(shù)據(jù)模型,Key值為所述數(shù)據(jù)塊內(nèi)索引所對(duì)應(yīng)的字段,Value值為感知數(shù)據(jù)條目的鍵值。3.如權(quán)利要求2所述的基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理方法,其特征在于,步驟一 中,選取查詢頻度較高或者取值重復(fù)性較高的屬性作為數(shù)據(jù)聚集的維度。4.如權(quán)利要求2所述的基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理方法,其特征在于,步驟五 中,所述Key值的數(shù)據(jù)結(jié)構(gòu)為R樹、B+樹、B樹中的任意一種。5.如權(quán)利要求2所述的基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理方法,其特征在于,步驟六 中,所述Key值的數(shù)據(jù)結(jié)構(gòu)為R樹、B+樹、B樹中的任意一種。6.基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理系統(tǒng),其特征在于,包括以下模塊: 數(shù)據(jù)分塊規(guī)則獲取模塊,所述數(shù)據(jù)分塊規(guī)則用于指示數(shù)據(jù)聚集的維度; 數(shù)據(jù)分塊規(guī)則與數(shù)據(jù)塊鍵值對(duì)應(yīng)關(guān)系建立模塊,其根據(jù)數(shù)據(jù)分塊規(guī)則和數(shù)據(jù)塊與數(shù)據(jù) 塊鍵值之間的對(duì)應(yīng)關(guān)系,建立數(shù)據(jù)分塊規(guī)則與數(shù)據(jù)塊鍵值之間的對(duì)應(yīng)關(guān)系; 數(shù)據(jù)塊鍵值與存儲(chǔ)位置關(guān)系建立模塊,其根據(jù)數(shù)據(jù)塊鍵值和數(shù)據(jù)塊存儲(chǔ)位置,建立數(shù) 據(jù)塊鍵值與其存儲(chǔ)位置之間的對(duì)應(yīng)關(guān)系; Key-Value數(shù)據(jù)模型建立模塊,根據(jù)數(shù)據(jù)條目在數(shù)據(jù)塊內(nèi)的鍵值建立數(shù)據(jù)條目的Key-Value數(shù)據(jù)模型; 數(shù)據(jù)塊索引建立模塊,其根據(jù)查詢的屬性建立數(shù)據(jù)條目的數(shù)據(jù)塊索引。
【專利摘要】本發(fā)明提出一種基于Key-Value數(shù)據(jù)塊的數(shù)據(jù)管理方法及系統(tǒng)。根據(jù)感知數(shù)據(jù)具有的屬性選取數(shù)據(jù)聚集的維度,將具有共性即具有同一屬性維度的感知數(shù)據(jù)進(jìn)行聚類,并將其集中存儲(chǔ)在同一數(shù)據(jù)塊中,將選取的數(shù)據(jù)聚集維度作為數(shù)據(jù)塊對(duì)應(yīng)的屬性信息;數(shù)據(jù)塊內(nèi)部的數(shù)據(jù)采用Key-Value數(shù)據(jù)格式存儲(chǔ)和管理;數(shù)據(jù)塊的存儲(chǔ)位置及其對(duì)應(yīng)的屬性信息采用關(guān)系型數(shù)據(jù)庫進(jìn)行存儲(chǔ)和管理。本發(fā)明以實(shí)現(xiàn)在較少數(shù)量計(jì)算機(jī)情況下就能夠?qū)A课锫?lián)網(wǎng)感知數(shù)據(jù)進(jìn)行高效讀寫,并可根據(jù)業(yè)務(wù)規(guī)模方便地進(jìn)行擴(kuò)展。
【IPC分類】G06F17/30
【公開號(hào)】CN105404634
【申請(qǐng)?zhí)枴緾N201410470434
【發(fā)明人】張重陽, 陸建峰, 楊靜宇
【申請(qǐng)人】南京理工大學(xué)
【公開日】2016年3月16日
【申請(qǐng)日】2014年9月15日