大規(guī)模知識(shí)圖譜的分布式存儲(chǔ)與檢索技術(shù)研究

1? ? 緒論

1.1? ? 課題研究背景

分布式理論上支持無限擴(kuò)充,且增加了系統(tǒng)并發(fā)能力,同時(shí)也可以減輕檢索過程中過多的服務(wù)請(qǐng)求對(duì)單臺(tái)服務(wù)器造成過大的處理壓力,從而有效的增加查詢速度。

分布式方案的選擇也意味著更為復(fù)雜的系統(tǒng)設(shè)計(jì),因此有必要研究針對(duì)大規(guī)模數(shù)據(jù)集的分布式存儲(chǔ)和檢索技術(shù)。

1.2? ? 國(guó)內(nèi)外相關(guān)工作現(xiàn)狀

知識(shí)圖譜的存儲(chǔ)方案目前有:

1、基于關(guān)系數(shù)據(jù)庫,Rstar、3store

2、基于文件系統(tǒng),SystemⅡ

3、圖數(shù)據(jù)庫,Neo4j、Taitan

4、基于內(nèi)存,DBLink、Sesame

5、基于NoSql

數(shù)據(jù)集拆分方法主要有:

1、靜態(tài)方式,直接把ID或者其他關(guān)鍵字給取模

2、動(dòng)態(tài)方式--Hash

3、負(fù)載均衡

1.3? ? 課題研究?jī)?nèi)容及意義

由于分布式的一些特點(diǎn)會(huì)導(dǎo)致分布式環(huán)境中通信開銷大,因此研究如何通過數(shù)據(jù)集合的有效拆分減少查詢的次數(shù),從而減少服務(wù)器之間的通信是有意義的。

1.4? ? 論文的組織結(jié)構(gòu)

第一章、課題相關(guān)內(nèi)容,課題分析與總結(jié),本文組織結(jié)構(gòu)

第二章、描述了基于詞匯語義相似度及節(jié)點(diǎn)度數(shù)的方法

第三章、研究子圖查詢方法

第四章、系統(tǒng)設(shè)計(jì)

第五章、系統(tǒng)搭建,實(shí)驗(yàn)

第六章、對(duì)本文提出的方法進(jìn)行總結(jié),并提出不足之處

2? ? 基于詞匯語義相似度及節(jié)點(diǎn)度數(shù)的分布式存儲(chǔ)

2.1? ? 基于詞匯語義相似度及節(jié)點(diǎn)度數(shù)的知識(shí)圖譜分布式存儲(chǔ)策略

定義1,圖G定義為G(V,E,L),其中V={v1,v2,...,vn}表示頂點(diǎn),E={(v_{i} ,v_{j} ) | v_{i} ,v_{j} \in V}表示邊,即關(guān)系,L為節(jié)點(diǎn)之間關(guān)系的標(biāo)簽。

2.2? ? 圖譜分割

2.2.1? ? 常見的數(shù)據(jù)劃分方法

1、哈希方法

2、聚類劃分方法

聚類包括下列典型類型:

????1、基于層次的算法

? ? 2、基于劃分的算法

? ? 3、基于密度的算法

? ? 4、基于網(wǎng)格的算法(grid)

? ? 5、基于模型的算法(model)

聚類劃分

3、基于知網(wǎng)詞匯語義相似度方法

詞語距離計(jì)算

? ? 1、統(tǒng)計(jì)

? ? 2、把本體或者分類關(guān)系組織成樹狀結(jié)構(gòu)來進(jìn)行量化計(jì)算

基于知識(shí)體系

基于語料庫

在網(wǎng)絡(luò)基礎(chǔ)上計(jì)算相似度

哈希方法及其改進(jìn)的一些算法主要集中在數(shù)據(jù)集在分配時(shí)要考慮小同存儲(chǔ)服務(wù)器的負(fù)載升使得服務(wù)器群的容錯(cuò)性高,而聚類劃分和基于知網(wǎng)語義相似度的方法是采用人工智能的非監(jiān)督或者監(jiān)督方法來對(duì)數(shù)據(jù)集合劃分,它們的主要的側(cè)重點(diǎn)是相同或者類似的節(jié)點(diǎn)劃分在一起,從而在查詢中更容易在一臺(tái)機(jī)器查找相關(guān)信息,但是如果給定的數(shù)據(jù)集合聚合程度很高,使得相當(dāng)多的數(shù)據(jù)集中在極少數(shù)的機(jī)器上,必然會(huì)導(dǎo)致機(jī)器的負(fù)載承受的問題,當(dāng)某些服務(wù)器聚集了更多關(guān)系緊密的節(jié)點(diǎn)及關(guān)系數(shù)據(jù),當(dāng)超過負(fù)載,在集群服務(wù)器多線程并發(fā)查找消息時(shí)必然會(huì)影響數(shù)據(jù)查詢的效率。

2.2.2? ? 基于詞匯語義相似度和節(jié)點(diǎn)度數(shù)的分割方法

本文提出基于詞匯語義相似度及節(jié)點(diǎn)密度的分割方法,在分割的時(shí)候綜合考慮了關(guān)系標(biāo)簽語義的相似度以及節(jié)點(diǎn)和關(guān)系的密度,使得關(guān)系密切的點(diǎn)和關(guān)系盡量集中分布到一臺(tái)服務(wù)器上。

對(duì)于N臺(tái)存儲(chǔ)服務(wù)器,首先隨機(jī)選取度數(shù)最大并且不存在直接關(guān)系的N個(gè)節(jié)點(diǎn)(例如,不存在直接關(guān)系的節(jié)點(diǎn),即不允許直接關(guān)系(Vi,Vj)的存在,允許間接聯(lián)系(Vi,Vk),(Vk,Vj) 存在),對(duì)于剩下的全部節(jié)點(diǎn),計(jì)算待分配的節(jié)點(diǎn)和全部的服務(wù)器中的節(jié)點(diǎn)組成的圖中的總度數(shù)和,并且計(jì)算待分配節(jié)點(diǎn)和服務(wù)器中節(jié)點(diǎn)組成新的關(guān)系的標(biāo)簽的語義相似度的平均值(例如待分布節(jié)點(diǎn)Vi和服務(wù)器Ni中的節(jié)點(diǎn)Vj、Vk、Vm組成關(guān)系,求得關(guān)系(Vi,Vj)、(Vi,Vk)、(Vi,Vm)標(biāo)簽的相似度并取平均值,即

其中分子為待計(jì)算的節(jié)點(diǎn)同服務(wù)器中當(dāng)前存在的節(jié)點(diǎn)形成的關(guān)系的標(biāo)簽的語義相似度之和,分母為待計(jì)算的節(jié)點(diǎn)同服務(wù)器中的節(jié)點(diǎn)形成關(guān)系數(shù)量)作為權(quán)重求和的一部分;接著計(jì)算待分配節(jié)點(diǎn)和服務(wù)器中的全部節(jié)點(diǎn)形成的圖的總度數(shù)之和并除以全部節(jié)點(diǎn)數(shù)量的均值,

其中分子為待計(jì)算的節(jié)點(diǎn)同服務(wù)器中的節(jié)點(diǎn)形成關(guān)系數(shù)量之和加上Ni服務(wù)器中已存在的關(guān)系數(shù)量,分母為Ni服務(wù)器中的節(jié)點(diǎn)數(shù)量并加上待加入的節(jié)點(diǎn)數(shù)量1,并選取這些均值作為權(quán)重求和的一部分,最后把相似度的平均值與度數(shù)的平均值相加,然后按照總和最大的順序遞減排列候選服務(wù)器作為待分布的候選服務(wù)器的選擇順序,即

在確定候選服務(wù)器的排序后(優(yōu)先選擇的順序,第一個(gè)為最優(yōu)選擇,最后一個(gè)為最差選擇),接下來考慮負(fù)載均衡的問題。

對(duì)于負(fù)載均衡,采用一致性哈希方法的改進(jìn)算法即帶負(fù)載上限的方法來解決此問題。就是為每臺(tái)服務(wù)器加入了一個(gè)能夠承擔(dān)的最大負(fù)載上限,其中最大負(fù)載上限為平均負(fù)載的(1+e)倍,此處的自定義e值自定為0.2,(例如存儲(chǔ)服務(wù)的平均負(fù)載為100,當(dāng)此服務(wù)器的負(fù)載為100 ? (1 + 0.2)時(shí),如果當(dāng)前待加入的節(jié)點(diǎn)及關(guān)系在加入服務(wù)器Ni后會(huì)導(dǎo)致此服務(wù)器的負(fù)載容量與平均負(fù)載相差20%時(shí),就要排除當(dāng)前候選服務(wù)器,然后按排好的順序順位選擇下一個(gè)候選服務(wù)器,以此類推)。

分割算法偽代碼

2.3? ? 跨服務(wù)器關(guān)系節(jié)點(diǎn)冗余方法

CAP原則又稱CAP定理,指的是在一個(gè)分布式系統(tǒng)中,一致性(Consistency)、可用性(Availability)、分區(qū)容錯(cuò)性(Partition tolerance)。CAP 原則指的是,這三個(gè)要素最多只能同時(shí)實(shí)現(xiàn)兩點(diǎn),不可能三者兼顧。

因?yàn)榉謪^(qū)容錯(cuò)性是分布式數(shù)據(jù)庫的一個(gè)根本條件,所以只存在CP、AP兩種組合,其中CP對(duì)應(yīng)一致性和分區(qū)容錯(cuò)性,所以可用性相對(duì)不高,而AP對(duì)應(yīng)可用性和分區(qū)容錯(cuò)性,所以一般會(huì)導(dǎo)致一致性不太好。本文由于要對(duì)數(shù)據(jù)節(jié)點(diǎn)之間的關(guān)系進(jìn)行冗余,由于冗余會(huì)導(dǎo)致一致性問題,這里主要選擇CP模式。

冗余方法偽代碼

數(shù)據(jù)集合復(fù)制冗余流程圖

2.4? ? 本章小結(jié)

本章節(jié)主要討論了數(shù)據(jù)集合在分布式數(shù)據(jù)庫中是如何劃分的問題,分別對(duì)哈希方法及其相關(guān)的一些改進(jìn)方法包括一致性哈希算法、考慮了負(fù)載上限的一致性哈希算法、加入了虛擬節(jié)點(diǎn)的一致性哈希算法)、聚類劃分、基于知網(wǎng)詞匯語義劃分三類方法進(jìn)行了介紹,,然后根據(jù)上面討論的方法的相應(yīng)優(yōu)缺點(diǎn),提出了本文采用的數(shù)據(jù)分割方法,即基于詞匯語義相似度及節(jié)點(diǎn)密度的分割方法,此方法在考慮了節(jié)點(diǎn)關(guān)系密度的同時(shí)考慮了關(guān)系標(biāo)簽的語義相似度,使得關(guān)系更為緊密的圖分布到同一臺(tái)服務(wù)器,最后在此基礎(chǔ)上加入了負(fù)載均衡的考慮,在本文中自定義負(fù)載上限值為1+e,其中e自定義為0.2。在均衡分割完數(shù)據(jù)集合后,對(duì)于跨不同服務(wù)器的節(jié)點(diǎn)和關(guān)系采用了復(fù)制冗余的方法,并對(duì)這些節(jié)點(diǎn)關(guān)系進(jìn)行了標(biāo)記。以上這些方法將會(huì)對(duì)下面的子圖查詢產(chǎn)生影響。

3? ? 知識(shí)圖譜子圖檢索

3.1? ? 常用子圖查詢方法

當(dāng)前子圖查詢作為nosql數(shù)據(jù)庫的研究重點(diǎn),受到了相當(dāng)?shù)年P(guān)注。子圖查詢通常采用“過濾??>驗(yàn)證”策略。

3.1.1? ? 圖的相關(guān)定義

定義2.子圖查詢,對(duì)于給定的圖數(shù)據(jù)庫G = {G1, G2, … Gn}和查詢圖q,找出所有匹配的圖Gi,其中Gi ∈ D,使得q ? Gi。

3.2? ? 基于節(jié)點(diǎn)度數(shù)遞減的子圖查詢方法

圖的遍歷包括深度和廣度優(yōu)先遍歷兩種方式。

兩種方法都只能遍歷每一個(gè)節(jié)點(diǎn),卻不能遍歷每?jī)蓚€(gè)節(jié)點(diǎn)之間的關(guān)系(也就是圖中所有的路徑),而子圖查詢需要在存儲(chǔ)服務(wù)器中查找所有節(jié)點(diǎn)及路徑都相同的圖,要遍歷所有的關(guān)系,可以通過剪枝的方式來實(shí)現(xiàn)。

此算法在剪枝過程中要遵循正確性、準(zhǔn)確性、高效性。前者正確性要求樹枝不是隨意的去修剪的,假如無所限制的修剪,很有可能會(huì)把含有最優(yōu)解的樹枝給剪掉。

因此,在剪枝過程中首先要保證的就是此操作不會(huì)使正確結(jié)果丟失從而影響最終結(jié)果的優(yōu)良程度。

第二個(gè)準(zhǔn)確的特性要求在保證了正確的前提上,在某個(gè)應(yīng)用場(chǎng)景中去剪掉不可能包含最優(yōu)解的枝條,最大化的去修剪,從而使得最終結(jié)果達(dá)到最優(yōu)化,故評(píng)估一個(gè)算法設(shè)計(jì)是否優(yōu)異的重要標(biāo)準(zhǔn)就是剪枝過程中每個(gè)步驟的準(zhǔn)確性。

最后的高效性要求一個(gè)算法的好壞取決于搜索次數(shù)以及運(yùn)行時(shí)間的減少,但是較少的搜索的次數(shù)與較少的搜索時(shí)間是相互矛盾的,因此在效率和優(yōu)化上選擇一個(gè)合適的折中方案,以期搜索的次數(shù)以及運(yùn)行的時(shí)間盡可能的少。

剪枝算法優(yōu)化,簡(jiǎn)單來說就是在遍歷過程中加上某些限制條件,這些條件可以防止某些不必要的搜索,從而提高遍歷的效率,但是剪枝到最后會(huì)剪掉所有的節(jié)點(diǎn)及關(guān)系,也就是相當(dāng)于剪掉的枝條最后可以完整的組織成原始圖。

原始圖

方法一:按任意節(jié)點(diǎn)開始剪枝

隨機(jī)剪枝

方法二:按節(jié)點(diǎn)最大度數(shù)遞減剪枝

度數(shù)遞減剪枝

方法三:按層次進(jìn)行剪枝

層次剪枝

方法四:按節(jié)點(diǎn)度數(shù)遞增進(jìn)行剪枝

度數(shù)遞增剪枝

如果子圖分割成2級(jí)子圖的個(gè)數(shù)越少,那么需要的查詢的次數(shù)必定也最少,比較上面的方法,只有最大度數(shù)降低遞減方法得到的子圖數(shù)量最少,所以此文選取節(jié)點(diǎn)度數(shù)遞減剪枝方法來分割子圖,從而保證子圖查詢的次數(shù)降到最低。

子圖查詢的偽代碼
子圖查詢的流程圖

3.3? ? 本章小結(jié)

本章講解了圖的兩種遍歷方法,這些方法主要用于節(jié)點(diǎn)的遍歷而不是關(guān)系的遍歷,接著介紹了剪枝的方法,本文采用節(jié)點(diǎn)最大度數(shù)遞減的方式來進(jìn)行剪枝,這樣得到的2級(jí)子圖個(gè)數(shù)最少,也使得待查詢的子圖查詢數(shù)據(jù)庫的次數(shù)最少,查詢后根據(jù)查詢到的結(jié)果匯聚成符合需要的圖。

4? ? 原型系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

4.1? ? 總體設(shè)計(jì)

分布式數(shù)據(jù)和存儲(chǔ)

4.2? ? 存儲(chǔ)子系統(tǒng)實(shí)現(xiàn)

此部分主要將數(shù)據(jù)集合按照上文介紹的方式存放到各個(gè)機(jī)器中。首先因?yàn)橹R(shí)圖譜是非結(jié)構(gòu)化的數(shù)據(jù)模型,此文準(zhǔn)備采用nosql數(shù)據(jù)庫來表示這種類型的數(shù)據(jù),本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)選用Neo4j。

具體功能實(shí)現(xiàn),首先用本文提出的方法對(duì)數(shù)據(jù)集合進(jìn)行分割,然后利用Neo4j的批量導(dǎo)入工具—neo4j-import來分別對(duì)不同存儲(chǔ)服務(wù)器中的Neo4j數(shù)據(jù)庫導(dǎo)入分割完成并冗余的關(guān)系和節(jié)點(diǎn)。

4.3? ? 檢索子系統(tǒng)實(shí)現(xiàn)

首先在子圖查詢中,根據(jù)客戶端的子圖輸入,首先對(duì)查詢子圖按照上文介紹的剪枝方法進(jìn)行查詢圖分割;

然后根據(jù)分割后的不同2級(jí)子圖多線程的形式在分布式存儲(chǔ)服務(wù)器中去查詢結(jié)果。具體實(shí)現(xiàn)用鍵值對(duì)來存放2級(jí)子圖,其中key值為2級(jí)子圖的根節(jié)點(diǎn),value為保存2級(jí)子圖的葉子節(jié)點(diǎn)的對(duì)象。

最后對(duì)查詢的圖進(jìn)行過濾驗(yàn)證后得到最終結(jié)果。具體實(shí)現(xiàn)為,根據(jù)每個(gè)2級(jí)子圖的根節(jié)點(diǎn)去查詢此根節(jié)點(diǎn)的所有關(guān)系及節(jié)點(diǎn),然后根據(jù)這些結(jié)果與鍵值對(duì)進(jìn)行比對(duì),如果某一個(gè)key值對(duì)應(yīng)的葉子節(jié)點(diǎn)對(duì)象缺失或者不同,那說明這個(gè)子圖在分布式存儲(chǔ)服務(wù)器中不存在,如果葉子對(duì)象存在,繼續(xù)比較,直到待查詢的2級(jí)子圖的所有葉子節(jié)點(diǎn)均存在為止。

此處查詢由于是采用的剪枝方法,故而只需要查詢剪枝后的2級(jí)子圖的根節(jié)點(diǎn),而不是對(duì)所有的節(jié)點(diǎn)或者關(guān)系去查詢,因而查詢的次數(shù)相對(duì)較少,剪枝的2級(jí)子圖根據(jù)剪枝的原則,所有的2級(jí)子圖正好可以組成待查詢的子圖,利用這個(gè)原則,系統(tǒng)的子圖查詢,也只需要查詢節(jié)點(diǎn)的所有直接關(guān)系,而不需要去查詢節(jié)點(diǎn)的間接關(guān)系,查詢速度也會(huì)相對(duì)較快。

4.4? ? 本章小結(jié)

本章主要介紹了本文系統(tǒng)是如何設(shè)計(jì)的。首先在數(shù)據(jù)庫的選擇上比較了當(dāng)前主流的一些支持非結(jié)構(gòu)化數(shù)據(jù)的nosql數(shù)據(jù)庫,主要比較了Redis、Mongo DB、Neo4j等數(shù)據(jù)庫的優(yōu)缺點(diǎn),最終選擇在查詢及支持圖數(shù)據(jù)結(jié)構(gòu)上具有優(yōu)勢(shì)的Neo4j數(shù)據(jù)庫;接著按照在第二章第二節(jié)節(jié)討論的方法對(duì)數(shù)據(jù)集合的分割,并按照第二章第三節(jié)介紹的方法進(jìn)行復(fù)制冗余,然后根據(jù)Neo4j的批量數(shù)據(jù)導(dǎo)入命令導(dǎo)入節(jié)點(diǎn)及關(guān)系數(shù)據(jù),包括復(fù)制冗余數(shù)據(jù);最后介紹子圖查詢的功能實(shí)現(xiàn)方法,首先根據(jù)上文介紹的方法分割子圖,然后查詢,根據(jù)查詢結(jié)果進(jìn)行過濾驗(yàn)證匯聚等得出查詢結(jié)果。

5? ? 實(shí)驗(yàn)與分析

5.1? ? 實(shí)驗(yàn)方案

5.1.1? ? 程序開發(fā)硬件環(huán)境

5.1.2? ? 程序開發(fā)軟件環(huán)境

5.2? ? 數(shù)據(jù)集

數(shù)據(jù)集統(tǒng)計(jì)信息

實(shí)驗(yàn)數(shù)據(jù)集主要來自網(wǎng)絡(luò)及模擬數(shù)據(jù),其中實(shí)體數(shù)量為 960萬個(gè),關(guān)系數(shù)量為10000萬個(gè),每個(gè)實(shí)體包含標(biāo)簽及屬性,每個(gè)關(guān)系包含標(biāo)簽及屬性,整個(gè)數(shù)據(jù)集為非連通、無向結(jié)構(gòu)。

5.3? ? 實(shí)驗(yàn)方法

實(shí)驗(yàn)的目的在于驗(yàn)證本文提出的方法在子圖查詢中是否有效,評(píng)定的方式主要為同一個(gè)子圖在四種不同條件下分割的數(shù)據(jù)集中的平均查詢時(shí)間,這四種條件分別為:一致性hash分割方法(數(shù)據(jù)集不包含冗余)、基于詞匯語義相似度和節(jié)點(diǎn)度數(shù)分割方法(數(shù)據(jù)集不包含冗余)、一致性hash分割方法(數(shù)據(jù)集包含冗余)、基于詞匯語義相似度和節(jié)點(diǎn)度數(shù)分割方法(數(shù)據(jù)集包含冗余)。

5.3.1? ? 子圖檢索實(shí)驗(yàn)

5.4? ? 實(shí)驗(yàn)結(jié)果及其分析

5.4.1? ? 實(shí)體關(guān)系非冗余

5.4.2? ? 實(shí)體關(guān)系冗余

圖 5-3 實(shí)驗(yàn)結(jié)果對(duì)比

從圖5-3中可以發(fā)現(xiàn),冗余的數(shù)據(jù)集合比非冗余的數(shù)據(jù)集合在子圖查詢中的時(shí)間要少,這個(gè)結(jié)果不受子圖拆分成2級(jí)子圖數(shù)量的影響,總結(jié)得出本文提出的數(shù)據(jù)集合分割方法要優(yōu)于hash方法。

5.5? ? 本章小結(jié)

本章主要首先介紹了實(shí)驗(yàn)所用的計(jì)算機(jī)硬件方面以及軟件方面的配置,隨后實(shí)驗(yàn)結(jié)果部分對(duì)比了子圖在采用不同分割方法的數(shù)據(jù)集中查詢的效率,最后實(shí)驗(yàn)分析部分對(duì)實(shí)驗(yàn)的結(jié)果給出了解釋,實(shí)驗(yàn)結(jié)果顯示無論在數(shù)據(jù)不冗余的情況下還是冗余的情況下本文提出的方法的查詢速度較hash方法快。

6? ? 總結(jié)與展望

6.1? ? 總結(jié)

本文主要在分布式存儲(chǔ)中對(duì)數(shù)據(jù)集合的劃分方法做了一些探討,提出了基于語義相似度及節(jié)點(diǎn)度數(shù)的數(shù)據(jù)集合分割方法,然后用子圖查詢來檢驗(yàn)此方法是否可行。通過實(shí)驗(yàn)結(jié)果分析,在此種分割方法下,能夠有效提高查詢的速度。

本文的研究工作主要有以下幾個(gè)方面:

1、對(duì)數(shù)據(jù)集根據(jù)其數(shù)據(jù)結(jié)構(gòu)特點(diǎn)進(jìn)行劃分,使得關(guān)系緊密的節(jié)點(diǎn)盡可能的劃分到同一臺(tái)服務(wù)器中,并通過對(duì)每臺(tái)服務(wù)器設(shè)定負(fù)載上限值來平衡每臺(tái)服務(wù)器的負(fù)載,最后對(duì)數(shù)據(jù)集進(jìn)行了適當(dāng)?shù)娜哂?,這種冗余主要是為了查詢的方便,對(duì)跨不同服務(wù)器的關(guān)系,對(duì)關(guān)系上的兩個(gè)節(jié)點(diǎn)在不同的服務(wù)器上分別進(jìn)行復(fù)制備份。

2、在子圖查詢上,對(duì)子圖的拆分采用節(jié)點(diǎn)度數(shù)遞減的方法來進(jìn)行剪枝,剪下的枝條為擁有一個(gè)根節(jié)點(diǎn)的2級(jí)子圖,此種剪枝方法相對(duì)其它方法,生成的2級(jí)子圖數(shù)量較少。

最后,相對(duì)于傳統(tǒng)數(shù)據(jù)集分割方法,本文采用的方法,無論在查詢時(shí)間上還是存儲(chǔ)空間占用上都具有一定的優(yōu)勢(shì)。

6.2? ? 展望

此方法盡管相對(duì)普通方法查詢有一定的速度的提高,但是還有諸多不足的地方,下面對(duì)未來的研究的工作展望如下:

1、本文是基于語義相似度及節(jié)點(diǎn)度數(shù)的權(quán)重求和方式來使得關(guān)系緊密的節(jié)點(diǎn)及關(guān)系盡量分割到一塊,同時(shí)也考慮了負(fù)載均衡,并設(shè)置了自定義的值來作為負(fù)載上限的參數(shù)值,但是在實(shí)際情況中,當(dāng)數(shù)據(jù)集合關(guān)系密集的節(jié)點(diǎn)及關(guān)系的規(guī)模遠(yuǎn)遠(yuǎn)超過單臺(tái)存儲(chǔ)服務(wù)器的負(fù)載時(shí),這樣會(huì)使得緊密關(guān)系的節(jié)點(diǎn)之間完全分開,從而違背了關(guān)系相近的節(jié)點(diǎn)關(guān)系分布到一起的初衷。同時(shí)關(guān)于負(fù)載參數(shù)的設(shè)置也應(yīng)該針對(duì)不同的情況采用不同的方法。

2、對(duì)于子圖的查詢,子圖的拆分方法選用的是節(jié)點(diǎn)最大度數(shù)剪枝,這個(gè)目的使得在遍歷整個(gè)圖節(jié)點(diǎn)及關(guān)系的情況下,節(jié)點(diǎn)的查詢次數(shù)最少。這里沒有針對(duì)具體關(guān)系的查詢,并且在節(jié)點(diǎn)查詢時(shí)會(huì)查詢與此節(jié)點(diǎn)所有相關(guān)的關(guān)系,如果在與此節(jié)點(diǎn)關(guān)系數(shù)量非常多的情況下,會(huì)產(chǎn)生大量的多余的結(jié)果,從而會(huì)增加服務(wù)器的負(fù)荷,因此在不同的應(yīng)用背景下要考慮不同的方法以適合當(dāng)時(shí)情形。

致謝

參考文獻(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容