本發(fā)明可應(yīng)用與分布式圖數(shù)據(jù)檢索領(lǐng)域、智能制造等領(lǐng)域,具體的提出了面向工業(yè)場景的云邊協(xié)同數(shù)據(jù)存儲與檢索架構(gòu),該架構(gòu)針對業(yè)務(wù)系統(tǒng)多而復(fù)雜、數(shù)據(jù)量龐大且部分?jǐn)?shù)據(jù)不可上云的問題,對數(shù)據(jù)協(xié)同存儲管理,與現(xiàn)有存儲方式相比具有很好的優(yōu)勢。
背景技術(shù):
1、當(dāng)前主流的分布式存儲與檢索方法分為兩種:基于云的方法和基于分區(qū)的方法?;谠频姆椒ɡ矛F(xiàn)有的云計算平臺,如hadoop、trinity等,hadoop的架構(gòu)最核心的設(shè)計就是:hdfs和mapreduce。rdf數(shù)據(jù)使用hdfs存儲,而mapreduce為rdf數(shù)據(jù)提供了計算,現(xiàn)有很多分布式rdf數(shù)據(jù)管理方法[7-10]也是利用hdfs進行存儲,同時利用mapreduce進行查詢處理。基于云的方法考慮了利用云計算平臺的彈性和可擴展性,以及通過分布式處理提高存儲和檢索效率的需求。它實現(xiàn)了大規(guī)模rdf圖數(shù)據(jù)的存儲和查詢,并具有一定的擴展性和容錯性。
2、與此相反,基于分區(qū)的方法首先將rdf數(shù)據(jù)圖劃分成若干子圖,然后將這些子圖分配到不同計算節(jié)點上,各個計算節(jié)點安裝單機的rdf數(shù)據(jù)管理系統(tǒng),以管理被分配來的rdf數(shù)據(jù)圖子圖。當(dāng)sparql查詢輸入這些系統(tǒng)中后,查詢首先被劃分成若干子查詢,然后也被分配到各個計算節(jié)點上執(zhí)行得到部分解,最后所有部分解被收集起來進行連接操作得到最終解?;诜謪^(qū)的方法考慮了將rdf圖劃分為多個子圖,利用分布式數(shù)據(jù)庫技術(shù)進行查詢處理的需求實現(xiàn)了對rdf數(shù)據(jù)的分布式存儲和查詢,能夠更好地利用分布式計算資源。然而,在滿足數(shù)據(jù)存儲需求的同時,保證計算資源的有效利用仍然面臨著巨大挑戰(zhàn)。
技術(shù)實現(xiàn)思路
1、本發(fā)明核心是提出了云邊協(xié)同數(shù)據(jù)存儲與檢索架構(gòu),下文將從基于hash編碼來敘述ceci-tree方法,為了對數(shù)據(jù)有效管理,還設(shè)計了云邊協(xié)同檢索。
2、云邊協(xié)同數(shù)據(jù)存儲與檢索架構(gòu)中,首先將rdf數(shù)據(jù)集表示為一個rdf圖,并使用鄰接表進行存儲。每個圖中的實體和非實體節(jié)點都被編碼為位串,在鄰接表里節(jié)點編碼和邊編碼根據(jù)“or”操作得到節(jié)點標(biāo)簽。隨后,根據(jù)rdf圖的結(jié)構(gòu),這些節(jié)點標(biāo)簽被連接形成數(shù)據(jù)標(biāo)簽圖g*,其中每個節(jié)點對應(yīng)一個rdf圖中的實體節(jié)點。
3、針對傳入的sparql查詢,同樣將其編碼為查詢圖q,并將其轉(zhuǎn)換成查詢標(biāo)簽圖q*。然而,由于查詢圖q*在數(shù)據(jù)標(biāo)簽圖g*上的匹配屬于np困難問題,類似于圖同態(tài),架構(gòu)中采用了s-tree對頂點標(biāo)簽進行存儲,以降低匹配的搜索復(fù)雜度。這一策略提高了本地匹配的效率,并保證在大規(guī)模數(shù)據(jù)集上的良好性能。
4、架構(gòu)中還考慮了傳統(tǒng)數(shù)據(jù)存儲與檢索方法所面臨的不足,在云側(cè)設(shè)計了ceci-tree,旨在解決云邊數(shù)據(jù)協(xié)同存儲的問題。ceci-tree是一種新型的索引結(jié)構(gòu),結(jié)合了云側(cè)和邊緣側(cè)的存儲資源,對邊緣側(cè)索引進行了“選擇性”存儲。通過ceci-tree的設(shè)計實現(xiàn)對數(shù)據(jù)的分布式存儲和管理,充分利用云側(cè)和邊緣側(cè)的計算資源,提高了數(shù)據(jù)的檢索效率和計算利用率。與傳統(tǒng)的分布式架構(gòu)相比,ceci-tree能夠更好地適應(yīng)分布式存儲與檢索的需求,實現(xiàn)了數(shù)據(jù)的分布式存儲和協(xié)同管理。以下是ceci-tree的定義:
5、邊緣側(cè)的索引樹高度為h,其各層節(jié)點編碼集合表示為c1,c2,....ch。對于每相鄰的兩層節(jié)點編碼ci和ci+1,定義其差異值為di,形式化表示為:其中m表示每層節(jié)點個數(shù),x、xchild分別表示在ci的節(jié)點x和在ci+1中x的節(jié)點節(jié)點,符號表示按位異或運算。將所有相鄰層之間的最大差異值di存儲在數(shù)組m=[m1,m2,....mn-1]中。
6、針對云邊協(xié)同環(huán)境,設(shè)計了基于圖同態(tài)的協(xié)同算法lpm,以下是算法的具體定義:
7、給定一個m個頂點{v1,...,vm}的sparql查詢圖q和一個在分區(qū)gc/i有n個頂點{u1,...,un}(n≤m)的連通子圖lpm片段,lpm是一個本地部分匹配當(dāng)且僅當(dāng)存在一個函數(shù)f:{v1,...,vm}→{u1,...,un}∪{null}持有以下條件:
8、(1)vi不是參數(shù),vi=f(vi);若vi是參數(shù)f(vi)∈{u1,...um};或者f(vi)=null;
9、(2)在q中存在lpm必然滿足以下條件之一:
10、a.在lpm中存在一條屬性為p的邊與邊的屬性p相同,或者是參數(shù);
11、b.在lpm中不存在但是f(vi)或f(vj)屬于邊界節(jié)點;
12、c.f(vi)=null或f(vj)=null;
13、(3)至少包含1條邊界邊,確保了上述空匹配符合條件。
14、(4)如果(內(nèi)部節(jié)點),在q中存在邊則f(vi)≠null,并且如果邊的邊屬性是p,那么邊也具有相同的屬性p。
15、與現(xiàn)有技術(shù),本發(fā)明的優(yōu)勢所在如下:
16、(1)本發(fā)明在復(fù)雜的工業(yè)環(huán)境下,可以對數(shù)據(jù)的隔離存儲,進行協(xié)同管理的同時降低cpu占用率,提高并發(fā)性。
17、(2)本發(fā)明具有很好的擴展性,面對不斷增長的數(shù)據(jù),可以動態(tài)調(diào)整數(shù)據(jù)存儲。
18、(3)本發(fā)明應(yīng)用領(lǐng)域包括但不限于分布式圖數(shù)據(jù)存儲領(lǐng)域、智能制造領(lǐng)域、,應(yīng)用前景廣泛。
1.一種基于hash編碼方法,其特征包含如下:
2.根據(jù)權(quán)利1所示編碼技術(shù)方法,為了減少搜索空間,使用s-tree樹存儲節(jié)點標(biāo)簽,具體特征如下:根據(jù)節(jié)點簽名的編碼特性,頂點標(biāo)簽的插入位置是根據(jù)它們之間的相似度來確定的。在進行標(biāo)簽插入時,依據(jù)每個節(jié)點編碼之間的差異來進行評估。每次插入標(biāo)簽時,將要插入的節(jié)點與葉子節(jié)點進行比較,記錄它們在相同位置上的編碼中有多少位相同,然后選擇與其相似度最大的葉子節(jié)點進行插入。在每次插入新的葉子節(jié)點時,整棵樹會不斷地進行遞歸,以修改父節(jié)點編碼。當(dāng)出現(xiàn)兩個相同的相似度,遵循就近原則。
3.根據(jù)權(quán)利2所示,在分布式環(huán)境中索引存儲,構(gòu)建ceci-tree其特征如下:根據(jù)數(shù)據(jù)編碼的特性,對數(shù)據(jù)進行選擇性存儲,將一部分邊緣側(cè)索引存儲在云側(cè),比較邊緣側(cè)整個索引樹中每兩層節(jié)點與其子節(jié)點編碼之間的差異值,并通過數(shù)組存儲這些差異值。然后,通過對數(shù)組進行分析,可以確定整個索引樹中哪兩層之間的差異值最大。確定差異最大的兩層,并將其中差異最大的一層及其上方的索引樹存儲在云側(cè)。
4.根據(jù)權(quán)利3得到一個候選集合,通過三元組中同節(jié)點匹配構(gòu)造本地連通子圖lpm,基于圖同態(tài)匹配方法設(shè)計了lpm剪枝方法,對數(shù)據(jù)結(jié)果合并返回。