The invention relates to a method of query data friendly compression method, the method comprises the following steps: define the relation rules mining, mining potential correlation of three tuples in a query definition; compressed memory model, composed of the subject, predicate and object vector vector matrix; definition compression query memory model serialization, using three auxiliary symbols to achieve serialization and deserialization; to define and implement the SPARQL in the compressed query memory model on the query mode, the subject and the predicate query uses two search methods, object query using a linear traversal method; when the object matrix leads to the definition of query solution is slow, the big data block is split into a plurality of small blocks of data. The associated data set processed by the method of the invention improves the compression ratio relative to most of the existing compression schemes, and can directly carry out SPARQL query operation in the compressed state.
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種對(duì)查詢友好的關(guān)聯(lián)數(shù)據(jù)壓縮方法
本專利技術(shù)涉及大數(shù)據(jù)領(lǐng)域,用于海量RDF、LOD及知識(shí)圖譜相關(guān)數(shù)據(jù)的存儲(chǔ)、傳輸和查詢。尤其涉及一種對(duì)查詢友好的關(guān)聯(lián)數(shù)據(jù)壓縮方法
技術(shù)介紹
現(xiàn)有的關(guān)聯(lián)數(shù)據(jù)壓縮方案有很多種,但大部分對(duì)于查詢并不友好。普遍認(rèn)同的壓縮方案有HDT,這種壓縮方案壓縮率較高,但是查詢時(shí)需要先解壓縮,對(duì)查詢并不友好。受HDT方案的啟發(fā),很多基于HDT方案的壓縮技術(shù)也被提出,如HDTFoQ、WaterFowl、HDT++,這些壓縮技術(shù)都有一個(gè)共同的特點(diǎn):高壓縮率,但對(duì)查詢并不友好。也有一些對(duì)查詢友好的方案,譬如BitMat方法,這種壓縮方案采用三維矩陣的方式表述三元組關(guān)系,為很多不存在的三元組關(guān)系也預(yù)留存儲(chǔ)空間。當(dāng)關(guān)聯(lián)數(shù)據(jù)集大到一定規(guī)模時(shí),這個(gè)三維矩陣就變成了一個(gè)超級(jí)稀疏矩陣,由于存儲(chǔ)了很多冗余信息,壓縮率并不理想。為了減少存儲(chǔ)的冗余信息,K2-triple方案被提出來,它按照謂語將三維矩陣劃分為多個(gè)二維矩陣,用K2樹的結(jié)構(gòu)存儲(chǔ)二維矩陣。這種方法在一定程度上提高了壓縮率,但也破壞了原有直觀的矩陣結(jié)構(gòu),所以在進(jìn)行查詢的時(shí)候需要先還原矩陣,而這個(gè)操作會(huì)降低RDF的查詢效率。越來越多的關(guān)聯(lián)數(shù)據(jù)充斥著整個(gè)數(shù)據(jù)網(wǎng)絡(luò),當(dāng)需要管理和查詢這些數(shù)據(jù)時(shí),查詢性能和數(shù)據(jù)可擴(kuò)展便成了焦點(diǎn)問題。雖然可以使用足夠多的存儲(chǔ)介質(zhì)來存儲(chǔ)越來越龐大的關(guān)聯(lián)數(shù)據(jù)集,但是龐大的數(shù)據(jù)集不僅會(huì)導(dǎo)致查詢效率降低,還會(huì)加劇其它常見的過程(如RDF發(fā)布和交換)的性能問題。隨著通過網(wǎng)絡(luò)傳輸執(zhí)行結(jié)果的遠(yuǎn)程SPARQL端點(diǎn)查詢方式越來越受歡迎,RDF的發(fā)布和交換在關(guān)聯(lián)數(shù)據(jù)的查詢中使用得越來越頻繁。因此尋找一種查 ...
【技術(shù)保護(hù)點(diǎn)】
一種對(duì)查詢友好的關(guān)聯(lián)數(shù)據(jù)壓縮方法,其特征在于,一個(gè)構(gòu)建結(jié)構(gòu)模型的步驟,具體包括:步驟1,將三元組內(nèi)存模型基于N?Triple格式關(guān)聯(lián)數(shù)據(jù)并解析,得到三元組集合,然后構(gòu)建字典,并將三元組ID化,其中,解析的過程包括:步驟1.1,過濾掉以#開始的行或者空行;步驟1.2,讀取每一行數(shù)據(jù)按空格切分字符串;步驟1.3,將切分后數(shù)據(jù)映射到三元組的主語、謂語和賓語,構(gòu)建成一個(gè)三元組;步驟2,基于關(guān)系挖掘約束,挖掘三元組中潛在的關(guān)聯(lián);步驟3,定義壓縮查詢內(nèi)存模型,由頭部信息、字典和數(shù)據(jù)塊集合組成,每個(gè)數(shù)據(jù)塊由主語向量、謂語向量和賓語矩陣組成;所述壓縮查詢內(nèi)存模型使用主語向量、謂語向量和賓語矩陣的方式表示三元組關(guān)系:定義主語向量為一個(gè)長(zhǎng)度為m的列向量,謂語向量為一個(gè)長(zhǎng)度為n的行向量,賓語矩陣為一個(gè)m*n的矩陣,主語向量和謂語向量做向量乘法,得到一個(gè)和賓語矩陣大小相同的由主謂語組成的矩陣,再與賓語矩陣的數(shù)據(jù)項(xiàng)一一映射,映射后的每一項(xiàng)為一個(gè)三元組關(guān)系;一個(gè)基于結(jié)構(gòu)模型進(jìn)行高壓縮率數(shù)據(jù)存儲(chǔ)的步驟,具體包括:步驟4,定義每個(gè)ID的存儲(chǔ)長(zhǎng)度相同,基于壓縮查詢內(nèi)存模型的序列化方式:使用輔助標(biāo)示進(jìn)行序列化和反序列化操 ...
【技術(shù)特征摘要】
1.一種對(duì)查詢友好的關(guān)聯(lián)數(shù)據(jù)壓縮方法,其特征在于,一個(gè)構(gòu)建結(jié)構(gòu)模型的步驟,具體包括:步驟1,將三元組內(nèi)存模型基于N-Triple格式關(guān)聯(lián)數(shù)據(jù)并解析,得到三元組集合,然后構(gòu)建字典,并將三元組ID化,其中,解析的過程包括:步驟1.1,過濾掉以#開始的行或者空行;步驟1.2,讀取每一行數(shù)據(jù)按空格切分字符串;步驟1.3,將切分后數(shù)據(jù)映射到三元組的主語、謂語和賓語,構(gòu)建成一個(gè)三元組;步驟2,基于關(guān)系挖掘約束,挖掘三元組中潛在的關(guān)聯(lián);步驟3,定義壓縮查詢內(nèi)存模型,由頭部信息、字典和數(shù)據(jù)塊集合組成,每個(gè)數(shù)據(jù)塊由主語向量、謂語向量和賓語矩陣組成;所述壓縮查詢內(nèi)存模型使用主語向量、謂語向量和賓語矩陣的方式表示三元組關(guān)系:定義主語向量為一個(gè)長(zhǎng)度為m的列向量,謂語向量為一個(gè)長(zhǎng)度為n的行向量,賓語矩陣為一個(gè)m*n的矩陣,主語向量和謂語向量做向量乘法,得到一個(gè)和賓語矩陣大小相同的由主謂語組成的矩陣,再與賓語矩陣的數(shù)據(jù)項(xiàng)一一映射,映射后的每一項(xiàng)為一個(gè)三元組關(guān)系;一個(gè)基于結(jié)構(gòu)模型進(jìn)行高壓縮率數(shù)據(jù)存儲(chǔ)的步驟,具體包括:步驟4,定義每個(gè)ID的存儲(chǔ)長(zhǎng)度相同,基于壓縮查詢內(nèi)存模型的序列化方式:使用輔助標(biāo)示進(jìn)行序列化和反序列化操作;步驟4.1,序列化:對(duì)于每個(gè)數(shù)據(jù)塊,將賓語矩陣扁平化,用介詞輔助標(biāo)識(shí)將主語向量、謂語向量和扁平化的賓語矩陣數(shù)據(jù)連接成線性數(shù)據(jù)結(jié)構(gòu),再將處理后的線性數(shù)據(jù)結(jié)構(gòu)用數(shù)據(jù)塊輔助標(biāo)識(shí)連接在一起;步驟4.2,反序列化:根據(jù)數(shù)據(jù)塊輔助標(biāo)識(shí)符將序列化的數(shù)據(jù)劃分成每個(gè)一個(gè)個(gè)數(shù)據(jù)塊,對(duì)于每個(gè)數(shù)據(jù)塊,根據(jù)介詞輔助標(biāo)識(shí)符劃分為主語向量、謂語向量和扁平化的賓語矩陣,再根據(jù)主語向量的長(zhǎng)度將扁平化的賓語矩陣還原成真實(shí)矩陣;一個(gè)基于結(jié)構(gòu)模型進(jìn)行數(shù)據(jù)查詢的步驟,具體包括:步驟5,基于壓縮查詢內(nèi)存模型的SPARQL的查詢:對(duì)主語和謂語的查詢使用二分查找,對(duì)于賓語的查詢使用線性遍歷查找,具體包括:步驟5.1,主語查詢方法具體包括:遍歷所有數(shù)據(jù)塊的主語向量,因?yàn)橹髡Z向量?jī)?nèi)部已排序,使用二分查找方法,因此主語查詢時(shí)間復(fù)雜度為O(log2n);步驟5.2,謂語查詢方法具體包括:遍歷所有數(shù)據(jù)塊的謂語向量,因?yàn)橹^語向量?jī)?nèi)部已排序,使用二分查找方法,因此謂語查詢時(shí)間復(fù)雜度為O(log2n);步驟5.3,賓語查詢方法具體包括:遍歷所有數(shù)據(jù)塊的賓語矩陣,因?yàn)橘e語矩陣內(nèi)部未排序,只能順序查找,時(shí)間復(fù)雜度為O(n)。2.根據(jù)權(quán)利要求...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:顧進(jìn)廣,彭燊,黃智生,符海東,梅琨,
申請(qǐng)(專利權(quán))人:武漢科技大學(xué),武漢楚天云科技股份有限公司,
類型:發(fā)明
國別省市:湖北,42
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。