基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法
【專利摘要】基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法,涉及數(shù)據(jù)空間索引技術(shù)領(lǐng)域。旨在把倒排索引分布到不同的索引節(jié)點中,使得各個索引節(jié)點保持負(fù)載均衡,同時最小化查詢處理涉及的通信開銷和減少搜索空間。在垂直劃分中,首先利用查詢?nèi)罩竞蛯嶓w中頻繁出現(xiàn)的詞,聚合索引token詞,使用超圖表示用戶查詢與倒排列表間的訪問模式;在水平劃分中,通過超圖刻畫用戶查詢與實體間的訪問模式信息,把水平劃分問題歸約為超圖劃分問題,使得不同索引節(jié)點的負(fù)載保持均衡,并降低查詢涉及的通信開銷。結(jié)合垂直劃分和水平劃分策略,構(gòu)建二維混合索引并擴展為三維索引。通過在公開數(shù)據(jù)集DBLP上進行實驗表明本發(fā)明方法在吞吐量、查詢響應(yīng)時間及擴展性優(yōu)于已有方法。
【專利說明】
基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種數(shù)據(jù)空間多維索引方法,涉及數(shù)據(jù)空間索引技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著大數(shù)據(jù)和互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,數(shù)據(jù)空間的場景已經(jīng)越來越普遍,尤其是 在像Wikipedia、Google Base和Linked Data之類的Web和個人信息管理系統(tǒng)領(lǐng)域中。與主 要關(guān)注特定領(lǐng)域、固定數(shù)量屬性的傳統(tǒng)關(guān)系數(shù)據(jù)庫不同的是,數(shù)據(jù)空間具有異構(gòu)、稀疏、規(guī) 模大、相互關(guān)聯(lián)等特點。因此,為用戶提供高效的數(shù)據(jù)空間查詢服務(wù)具有重要意義。通常,索 引往往是提高查詢處理效率的重要手段之一,因此,研究一種高效的數(shù)據(jù)空間索引技術(shù)具 有重要意義。
[0003] 目前數(shù)據(jù)空間索引技術(shù)的研究已經(jīng)引起了研究者廣泛關(guān)注,并取得了一些研究成 果。針對iDM模型,Dittrich和Salles提出了一種樸素的數(shù)據(jù)空間索引方法。該方法采用傳 統(tǒng)索引技術(shù)分別索引iDM模型中不同組件,從而構(gòu)成混合索引以支持?jǐn)?shù)據(jù)空間查詢。為解決 樸素數(shù)據(jù)空間索引不統(tǒng)一導(dǎo)致效率低問題,Dong和Halevy首次系統(tǒng)地研究了數(shù)據(jù)空間索引 問題,提出了一種擴展倒排索引技術(shù),以支持結(jié)構(gòu)感知的查詢。其主要思想是把屬性標(biāo)簽、 屬性值、關(guān)聯(lián)與層次信息編碼為tokens詞。然而,在真實數(shù)據(jù)場景中,Song和Chen發(fā)現(xiàn)三個 有趣觀察:(1)數(shù)據(jù)空間具有極端稀疏特性;(2)元組中屬性頻率分布近似遵循Zipf Law分 布;(3)用戶往往對top-k結(jié)果感興趣。受此啟發(fā),他們研究了數(shù)據(jù)空間索引的劃分問題,從 而解決直接擴展的倒排索引易導(dǎo)致數(shù)據(jù)空間訪問效率低問題。針對大圖中已知項搜索查詢 優(yōu)化問題,Zhong等人提出了一種MVP索引,即,基于啟發(fā)式事先盡可能地剪枝掉不參與最終 top-k應(yīng)答的匹配頂點,從而顯著地減少搜索空間。在此基礎(chǔ)上,Zhong等人研究了數(shù)據(jù)空間 效率問題,提出了一種d-距離圖索引。它包含兩種索引結(jié)構(gòu):(1)單一關(guān)鍵詞的3-in-l語義 圖索引;(2)針對非字符串?dāng)?shù)據(jù)類型的屬性圖索引。此外,Wang等人研究了個人數(shù)據(jù)空間中 查詢質(zhì)量問題,提出了一種緊湊索引技術(shù)。該技術(shù)主要是對文檔中最重要和最具代表性的 語義構(gòu)建索引。然而已有的這些方法均無法高效地支持大規(guī)模數(shù)據(jù)查詢處理。這是因為在 進行大規(guī)模數(shù)據(jù)查詢處理過程,硬盤1/0開銷代價遠(yuǎn)高于搜索節(jié)省的開銷,或者內(nèi)存無法加 載龐大的索引圖。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是提供一種基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法,以 高效地支持大規(guī)模數(shù)據(jù)查詢處理。本發(fā)明旨在把倒排索引分布到不同的索引節(jié)點中,使得 各個索引節(jié)點保持負(fù)載均衡,同時最小化查詢處理涉及的通信開銷和減少搜索空間。
[0005] 本發(fā)明為解決上述技術(shù)問題采取的技術(shù)方案是:
[0006] -種基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法,所述方法將倒排索引分 布到不同的索引節(jié)點中,使得各個索引節(jié)點保持負(fù)載均衡,所述方法為:
[0007] 結(jié)合基于負(fù)載均衡與超圖劃分的垂直劃分索引和基于負(fù)載均衡與超圖劃分的水 平劃分索引得到二維劃分索引框架(2D-IL),從吞吐量和容錯率角度出發(fā),擴展二維劃分索 引框架(2D-IL)為三維索引框架(MIL),基于三維索引框架(MIL)實現(xiàn)數(shù)據(jù)空間多維索引方 法。
[0008] 所述方法的具實現(xiàn)過程為:
[0009] 步驟一、獲得二維劃分索引框架(2D-IL)的過程為:
[0010] 步驟一一、確定基于負(fù)載均衡與超圖劃分的垂直劃分索引
[0011] 確定垂直劃分索引框架
[0012]使用查詢?nèi)罩竞蛯嶓w集中tokens偏斜信息來壓縮數(shù)據(jù)空間倒排索引,形成一組聚 合后的tokens詞;然后,按照負(fù)載均衡和超圖劃分把所述tokens詞的倒排列表均衡地分布 到相應(yīng)的索引節(jié)點中;
[0013] 基于負(fù)載均衡與超圖劃分的垂直劃分
[0014] 1)、聚合tokens詞的選?。?br>[0015]通過聚合頻繁地共同出現(xiàn)在實體或者查詢?nèi)罩局械膖okens詞來壓縮索引;
[0016] 2)、給出垂直索引分布方式
[0017]所述垂直索引分布方式基于聚合tokens詞,把壓縮后的倒排索引分布到相應(yīng)的索 引節(jié)點集中,使得保持各個索引節(jié)點負(fù)載均衡,同時最小化索引節(jié)點與索引服務(wù)器的通信 開銷;
[0018] 步驟一二、確定基于負(fù)載均衡與超圖劃分的水平劃分索引
[0019] 水平劃分索引框架的確定:按照負(fù)載均衡和超圖劃分把實體集的倒排列表分布到 相應(yīng)的索引節(jié)點中;
[0020] 水平劃分:基于查詢?nèi)罩镜脑L問模式信息與超圖理論,把實體劃分到不同的索引 節(jié)點中,使得各個索引節(jié)點負(fù)載保持均衡以及索引節(jié)點內(nèi)部任意兩個實體的相似性較高, 同時最小化索引節(jié)點與索引服務(wù)器的通信開銷;
[0021] 步驟一三、獲得二維劃分索引框架:
[0022] 使二維索引分布在不同索引節(jié)點中,使每個索引節(jié)點中索引花費對存儲空間顯著 降低,二維索引邏輯上可以看成一個N X Μ的集群,
[0023] 數(shù)據(jù)空間索引在行維度上是一個基于負(fù)載均衡與超圖劃分的水平劃分索引,按照 實體級劃分;
[0024] 數(shù)據(jù)空間索引在列維度上是一個基于負(fù)載均衡與超圖劃分的垂直劃分索引,按照 聚合tokens詞劃分;
[0025]每個索引節(jié)點對應(yīng)tokens詞壓縮后的倒排索引;
[0026]在第i行和第j列中的索引節(jié)點ISij中,包含tokens詞{a,b, . . .,f}和實體{〇3〇, ...〇5〇},其對應(yīng)的倒排索引格式如虛線箭頭指向的倒排索引;在索引節(jié)點設(shè)沖,其索引詞 匯為原始詞匯的一個子集{a,b,...,f},這些詞匯在垂直劃分后形成三個聚合tokens詞,聚 合tokens詞對應(yīng)實體集都同屬于一個水平劃分;
[0027]步驟二、擴展二維劃分索引框架(2D-IL)為三維索引框架(MIL):
[0028]通過為二維索引中每個索引節(jié)點ISij復(fù)制D份,構(gòu)成三維立方體的多維索引,在索 引節(jié)點ISu的每個副本之間保證通信,防止該索引節(jié)點IS^失敗時導(dǎo)致沒有可用的查詢結(jié) 果的情況;
[0029]步驟三、利用三維索引框架(MIL)實現(xiàn)數(shù)據(jù)空間多維索引:
[0030]所述三維索引邏輯上可以看成一個NXMXD的3D立方體,其中D是復(fù)制的份數(shù); [0031]在索引號(Ni,Mj,Dk)對應(yīng)的單元格中,黑色點表示索引節(jié)點ISijk涉及索引token詞 {a,b, . . .,f}、實體{〇3〇,. . .〇5q}并且是第k個備份;
[0032] 當(dāng)一個查詢Q = tiAt2A . · · Λ?η被提交時,其處理流程為:(1)找出涉及token詞 . . .,tn}的列集合{MJ ;⑵對于這些列集合,選擇出相似性分?jǐn)?shù)大于某個閾值的 行集合{Nj}; (3)在(Nj,Mj)對應(yīng)的備份中,隨機選擇一個立方體;(4)在確定所有的小立方體 后,即(Ni,Mj,Dk)對應(yīng)的立方體,把相應(yīng)的子查詢并發(fā)地發(fā)送到對應(yīng)的索引節(jié)點ISijk中,進 行并發(fā)查詢;如果當(dāng)前索引節(jié)點IS ljk失敗,利用通信機制把子查詢發(fā)送隨機發(fā)送到其它副 本的索引節(jié)點中ISljl; (5)最后把所有并發(fā)查詢結(jié)果進行綜合并返回給用戶。
[0033] 在步驟一一中,基于負(fù)載均衡與超圖劃分的垂直劃分過程中,
[0034] 聚合tokens詞的選取具體為:
[0035] 利用TokensSelection 算法選取聚合 tokens 詞:
[0036] TokensSelection(TDB,C,Τ)
[0037] 輸入:TDB是一個事務(wù)數(shù)據(jù)庫,其中每個事務(wù)為一個實體或者查詢?nèi)罩局幸粋€查 詢,事務(wù)對應(yīng)的項集為實體包含的tokens詞集合或者查詢包含的tokens詞集合,ξ是最小支 持度;
[0038]輸出:Τ為tokens詞的劃分,初始為空;
[0039]首先掃描事務(wù)數(shù)據(jù)庫TDB,尋找非頻繁1-項集NF和頻繁1-項集F,并對F按照支持度 降序進彳丁排序;
[0040] NF中每個token詞單獨作為一個垂直劃分列表加入到集合T中;接下來,對于F來 說,再一次掃描TDB,構(gòu)建FP樹,并對F中每個tokenk詞分別調(diào)用FP-growth (FP樹,tokenk)算 法,從而產(chǎn)生所有的頻繁項集,記為freq_set;
[0041] 為保證頻繁項集互不相交,按照頻繁項集對頻繁項數(shù)量和支持度順序?qū)req_set 進行降序排序;最后進行不斷迭代,直至freq_Set為空,在每次迭代中,先取出第一個頻繁 項集top,并把top作為一個垂直劃分加入到集合T中,同時從freq_set中移除top,然后從 freq_set中移除與top相交不為空對所有頻繁項集;
[0042]給出垂直索引分布方式,具體為:
[0043] 給定一個查詢集合Q= {qi,q2, . . .,q|Q|}、詞匯表T= {ti,t2, . . .,t|T|}、索引節(jié)點集 合15={151,152,...,仏}和壓縮后的倒排索引'={(, 1,1,41),^,心),...,(^')},其中^是 聚合tokens并且和訪問頻率freqi關(guān)聯(lián),Li是ti對應(yīng)的倒排列表,每個% £7 ;聚合tokemsq 包括一個或多個ti,不同的^交集為空且全體4并集為Τ;
[0044] 定義超圖:一個超圖H=(V,E)是由頂點集合V和超邊集合Ε組成,其中每條超邊ej e E與V中頂點子集相連,每個頂點Vi e V具有一個權(quán)重Wi;
[0045] 每個頂點表示聚合tokens詞,其權(quán)重為訪問該聚合tokens詞對應(yīng)倒排列表的開 銷,每條超邊表示查詢中tokens詞在哪些聚合tokens詞^中出現(xiàn),即一個查詢與相應(yīng)的每 一個4,進行連接;
[0046] 11 = {¥1,2,...^}是一個111路的超圖劃分當(dāng)且僅當(dāng)每個部分¥1^傘11¥1=傘 且
[0047] 超圖劃分π是λ-平衡當(dāng)且僅當(dāng)對每一個部分Vke Π ,Wk彡(1+A)wavg,其中權(quán)重 Κ = Σ,α Hvg是所有Wk的平均權(quán)重;
[0048] 對于超圖來說,如果超邊ejeE與部分vk中一(多)個頂點相連,則稱超邊 ejeE與部 分Vk的相連,其連通度Φ( e j,Vk) = 1;
[0049] 超邊e盧E與劃分Π 的連接度扒、卬^^^扒卜^即與超邊相連接的部分?jǐn)?shù); m路超圖劃分問題可以定義為尋找一個λ-平衡的超圖劃分,使得「(Π ) = Σν_,.妁9η)最 小;
[0050] 垂直索引劃分的目標(biāo)是:利用查找日志和實體的偏斜信息,生成一組互不相交的 聚合tokens詞,然后利用用戶查詢?nèi)罩局性L問倒排列表信息均衡地把聚合tokens詞對應(yīng)的 倒排列表分布到不同索引節(jié)點中,并使得通信開銷最小;利用查詢與聚合tokens詞的交互 信息,按照處理聚合token詞的計算負(fù)載情況,把所有聚合tokens詞均衡地劃分到不同對索 引節(jié)點中,并使得查詢涉及的索引節(jié)點數(shù)量最小;
[0051 ]把聚合tokens詞看作超圖中頂點,單個索引節(jié)點ISk中包含的所有聚合token詞看 作超圖中頂點集的一個部分Vk辛Φ,查詢?nèi)罩局幸粋€查詢qjeQ看作一條超邊e」eE,查詢?nèi)?志中所有查詢訪問索引節(jié)點ISk中倒排列表的開銷看作超圖劃分Π 中部分Vk的總權(quán)重Wk,所 有查詢涉及的所有分布式節(jié)點數(shù)量看作超圖劃分Π 的總通信開銷Γ ( Π );
[0052] 垂直索引分布問題歸約為λ-平衡的超圖劃分問題,即Π 中每個部分Vk對應(yīng)分配給 索引節(jié)點ISk的聚合tokens集合Tk,每個Wk對應(yīng)ISk的所有計算負(fù)載,Γ (Π )對應(yīng)查詢Q涉及 的總通信開銷。
[0053]在步驟一二中,確定基于負(fù)載均衡與超圖劃分的水平劃分索引的過程中,
[0054] 水平劃分的過程為:
[0055]給定一個查詢集合Q= {qi,q2, · · ·,q|Q|}、實體集合0= {〇1,〇2, · · ·,0|Q|}、實體間的 相似性矩陣A={sim(〇i,〇j) |l<i,j彡|0| }和索引節(jié)點集合ISyiShlS% . . .,ISn},其中 sim(〇i,〇j)表示兩個實體的相似性,每個查詢% ;
[0056] 定義(λ,η)-平衡且相似的超圖劃分,超圖劃分Π 是(λ,η)-平衡且相似,當(dāng)且僅當(dāng),
[0057] (1)對每一個部分Vke π K(i+x)wavg,其中權(quán)重》? 是所有1的 平均權(quán)重;
[0058] (2)對每一個部分VkG Π ,任意兩個頂點VLVjeVhsinKvijjPn^msinKvijj) 表示兩個頂點的相似性;
[0059] 對于超圖來說,如果超邊ej e E與部分Vk中一(多)個頂點相連,則稱超邊ej e E與部 分Vk的相連,其連通度Φ(ej,Vk) = 1;超邊ej e E與劃分Π 的連接度^VΠ )=2^πG), 即與超邊相連接的部分?jǐn)?shù);m路超圖劃分問題也可以定義為尋找出一個(λ,η)-平衡且相似 的超圖劃分,使得「( Π ) = Π )最小;
[0060] 水平索引劃分的目標(biāo)是:基于查詢?nèi)罩镜脑L問模式信息與超圖理論,把實體劃分 到不同的索引節(jié)點中,使得各個索引節(jié)點負(fù)載保持均衡以及索引節(jié)點內(nèi)部任意兩個實體的 相似性較高,同時最小化索引節(jié)點與索引服務(wù)器的通信開銷;
[0061 ]把每個實體Oi詞看作超圖中頂點Vi e V,其權(quán)重為處理該實體Oi的計算負(fù)載Wi,單 個索引節(jié)點ISk中包含的所有實體Ok看作超圖中頂點集的一個部分Vk# Φ,并且ISk中實體 共享相似的屬性,查詢?nèi)罩局幸粋€查詢qj e Q看作一條超邊ej e E,查詢?nèi)罩局兴胁樵冊L問 索引節(jié)點ISk中倒排列表的開銷看作超圖劃分Π 中部分Vk的總權(quán)重Wk,所有查詢涉及的所有 分布式節(jié)點數(shù)量看作超圖劃分Π 的總通信開銷Γ ( Π );
[0062] 水平索引分布問題可以歸約為(λ,η)-平衡的超圖劃分問題,即Π 中每個子頂點集 Vk對應(yīng)分配給索引節(jié)點ISk的實體集合0k,每個Wk對應(yīng)ISk的所有計算負(fù)載,每對頂點的相似 性對應(yīng)每對實體間的相似性,Γ (Π )對應(yīng)查詢Q涉及的總通信開銷;具體來說,使用超圖H = (V,E)表示用戶查詢集與水平劃分中實體集之間的交互;在超圖Η中,每個實體〇i代表一個 頂點Vi e V,每個查詢qj e Q代表一條超邊ej e E,每個頂點Vi的權(quán)重Wi代表處理該實體〇i的計 算負(fù)載,每個頂點記錄一組它所包含tokens詞的訪問頻率;
[0063] 假定f(ti)為token詞ti的訪問頻率,即查詢?nèi)罩局衪oken詞ti的頻率,在查詢處理 中,頂點 Vl的權(quán)重Wl采用下式進行度量:
[0064] wt = ./(〇* |ΤΓ/Η〇
[0065] 其中I Τ I表示每個實體0的平均tokens詞個數(shù)。
[0066] 本發(fā)明的有益效果是:為高效地訪問數(shù)據(jù)空間,本發(fā)明從負(fù)載均衡和劃分的角度 提出了一種分布式的數(shù)據(jù)空間多維索引。主要思想是基于tokens詞劃分、實體劃分以及復(fù) 制策略構(gòu)建數(shù)據(jù)空間多維索引,并且利用查詢?nèi)罩镜脑L問模式和超圖理論,把倒排列表分 布到集群的不同節(jié)點中,從而保持各個索引節(jié)點負(fù)載均衡、減少查詢通信開銷,進而提高數(shù) 據(jù)空間并行查詢處理性能。具體來說,(1)在垂直劃分中,首先利用查詢?nèi)罩竞蛯嶓w中頻繁 出現(xiàn)的詞,聚合索引token詞,以減少查詢涉及的倒排列表的聚合/合并開銷。接著,使用超 圖表示用戶查詢與倒排列表間的訪問模式,把垂直劃分問題歸約為超圖劃分問題;(2)在水 平劃分中,通過超圖刻畫用戶查詢與實體間的訪問模式信息,把水平劃分問題歸約為超圖 劃分問題,使得不同索引節(jié)點的負(fù)載保持均衡,并降低查詢涉及的通信開銷。(3)結(jié)合前面 的垂直劃分和水平劃分策略,構(gòu)建了二維混合索引。在此基礎(chǔ)上,從查詢吞吐量與容錯率角 度考慮,利用索引副本策略,將二維混合索引擴展為三維索引。最后,通過在公開數(shù)據(jù)集 DBLP上進行大量實驗,實驗結(jié)果表明本發(fā)明方法在吞吐量、查詢響應(yīng)時間及擴展性等方面 優(yōu)于已有方法。
【附圖說明】
[0067]圖1是基于劃分的數(shù)據(jù)空間倒排索引圖,圖中:(a)為基于token的垂直劃分示意 圖,(b)為基于實體的水平劃分示意圖,(c)為基于混合劃分的數(shù)據(jù)空間索引示意圖;圖2是 垂直劃分索引框架圖,圖3是表示查詢?nèi)罩九c壓縮倒排索引關(guān)系的3路超圖劃分示意圖;圖4 是水平劃分索引框架示意圖;圖5表示查詢?nèi)罩九c實體關(guān)系的3路超圖劃分示意圖;圖6為二 維索引架構(gòu)圖;圖7為三維維索引架構(gòu)圖;圖8為涉及某索引節(jié)點數(shù)的查詢比例對比圖;圖9 為MIL與2D-IL方法的容災(zāi)能力對比圖;圖10為不同K值下的性能對比圖;圖11為不同并發(fā)查 詢數(shù)量下的性能對比圖,圖中:(a)為不同并發(fā)查詢數(shù)量下的平均響應(yīng)時間對比圖,(b)為不 同并發(fā)查詢數(shù)量下的平均吞吐量對比圖;圖12為不同索引節(jié)點下的性能對比圖,圖中:(a) 不同索引節(jié)點下的平均響應(yīng)時間對比圖,(b)不同索引節(jié)點下的平均吞吐量對比圖;圖13為 不同數(shù)據(jù)集大小對性能的影響圖。
【具體實施方式】
[0068]【具體實施方式】一:如圖1所示,本實施方式針對所述的基于負(fù)載均衡和查詢?nèi)罩镜?數(shù)據(jù)空間多維索引方法的實現(xiàn)進行詳細(xì)描述如下:
[0069] 一、為成功把倒排索引擴展至數(shù)據(jù)空間中,把屬性標(biāo)簽和屬性值聚合編碼為token 詞:
[0070] 定義Token,對于一個屬性-值對(a,v),它對應(yīng)的token定義為t = v//a。
[0071]本質(zhì)上,一個實體往往是由一組屬性-值對組成(注意,內(nèi)容可以看成一個屬性-值 對)。換句話說,一個實體事實上是一個tokens向量(ti,t2, . . .,t|D|),其中D表示數(shù)據(jù)空間中 所有不同的token標(biāo)識。
[0072] 定義實體向量,一個實體向量定義為o = (wi,W2, . . . .,w|d|),其中Wi表示token詞ti 的權(quán)重。
[0073] 基于劃分的數(shù)據(jù)空間倒排索引(PIL)是在擴展倒排索引(EIL)的基礎(chǔ)上,通過引入 水平劃分(基于實體的劃分)和垂直劃分(基于token詞的劃分)的思想改進得到的一種新型 數(shù)據(jù)空間索引。該索引是目前數(shù)據(jù)空間中最先進的索引技術(shù)。具體來說,一個PIL由D中的詞 匯表和一組混合劃分列表組成。每個混合劃分列表包含頭部和實體列表集兩部分。對于每 個頭部,它包含一個或多個token的聚合詞t及其對應(yīng)出現(xiàn)的水平劃分;對于相應(yīng)的每個實 體列表集,實體集按照水平劃分分為不同塊,在每個塊中,相應(yīng)的實體集根據(jù)垂直劃分進一 步分割為一組子實體列表,如圖1所示。
[0074] 圖1展示了基于劃分的數(shù)據(jù)空間倒排索引框架。在圖1(a)的垂直劃分索引中,對于 token詞d和f來說,d和f的倒排列表合并在一起,即頭部對應(yīng)聚合token詞{d,f},相應(yīng)的實 體列表集由一組實體列表組成,每個實體列表對應(yīng)d和f的一種組合(如d和f均包含)。在圖1 (b)的水平劃分列表中,對于token詞a來說,把a對應(yīng)的倒排列表劃分為不同的類別。即頭部 表明a在哪些劃分中出現(xiàn),對應(yīng)的實體列表集則按照相應(yīng)的劃分(S1,S3, S4)分割為多個實 體列表。在圖1(c)的混合劃分索引中,則綜合了上述兩種劃分方法。例如,對于token詞c、g 和m來說,生成混合列表2,其中頭部包括聚合token詞{c,g,m}和它出現(xiàn)的水平劃分(SI,S2, S3,S4 ),它對應(yīng)的實體列表集則由所屬水平劃分的實體列表組成,每一個實體列表由對應(yīng) 不同token詞組合的子實體列表組成。
[0075] 定義劃分向量,假定〇為劃分P中的任意實體,那么劃分P可以表示為: P ~ 其中,說為劃分P中token詞ti的權(quán)重,Εφ 濃好(0''叫) :? ? 〇
[0076] 一旦采用向量表示劃分P和查詢Q={qi,q2, . . .,q|D|},那么劃分P和查詢Q的相似性 可以采用公式(1):
[0078]其中,|D|表示所有tokens的大小,事實上,sim(P,Q)準(zhǔn)確表達了劃分P中實體與查 詢的分?jǐn)?shù)最大上界。
[0079] 定理1:假定劃分P由一組實體組成,t是P中任意實體,那么實體t與查詢Q的相似度 存在上界,BPP.bound(Q) =sim(P,Q) ^sim(t,Q) ·
[0080] 定理2:假定劃分. . .Pm按照與查詢Q的相似度降序排序,V是在前g個劃分中 top-k應(yīng)答相似性分?jǐn)?shù)最小的實體。對于下一個劃分Pg+i來說,如果sinKi/,Q) >sim(Pg+i, Q),那么劃分Pg+i,Pg+2,...,Pm均可以在查詢中被安全地剪枝掉。
[0081 ] 二、問題提出
[0082] 在上面的索引框架中,其劃分策略是基于以下三個觀察:(1)在數(shù)據(jù)空間的實體集 合中,20%的屬性對同時出現(xiàn)的概率為1; (2)同領(lǐng)域(類別)的實體共享相似的屬性,不同領(lǐng) 域的實體的屬性往往彼此不相同;(3)用戶往往對top-k應(yīng)答感興趣,而不是全體應(yīng)答。基于 觀察1,垂直劃分策略選擇在實體中頻繁一起出現(xiàn)的tokens詞進行聚合,從而顯著減少大數(shù) 據(jù)集下倒排列表聚合和合并的代價;水平劃分策略則按照水平劃分把單個倒排列表劃分為 不同的子倒排列表,從而提前剪枝掉大量的、與查詢相關(guān)性較低的子倒排列表。其剪枝理論 依據(jù)定理1和2。
[0083] 然而,該索引也存在以下問題:(1)選擇哪些tokens詞進行聚合只依賴于數(shù)據(jù)集中 的"二八"偏斜現(xiàn)象。而在實際應(yīng)用中,用戶查詢往往也存在偏斜現(xiàn)象。因此,在查詢?nèi)罩局?經(jīng)常一起出現(xiàn)在實體中tokens也應(yīng)該進行聚合。(2)由于水平劃分基于觀察2和3,因此可能 使得不同類別劃分的實體列表集產(chǎn)生嚴(yán)重的偏斜。(3)在大數(shù)據(jù)量的情況下,內(nèi)存的大小成 為性能瓶頸,直接影響著查詢性能的好壞。由于數(shù)據(jù)集過大,導(dǎo)致索引的空間開銷非常巨 大,從而使得內(nèi)存無法加載龐大的索引。
[0084] 因此,需設(shè)計出一種分布式的數(shù)據(jù)空間多維索引,旨在把倒排索引分布到不同的 索引節(jié)點中,使得各個索引節(jié)點保持負(fù)載均衡,同時最小化查詢處理涉及的通信開銷和減 少搜索空間。
[0085]三、數(shù)據(jù)空間多維索引
[0086] 本發(fā)明提出了一種基于負(fù)載均衡與超圖的垂直劃分索引技術(shù)以及基于負(fù)載均衡 與超圖的水平劃分索引技術(shù);最后,從查詢系統(tǒng)吞吐量和容錯率角度出發(fā),提出了一種分布 式的多維索引技術(shù)。
[0087] 3.1基于負(fù)載均衡與超圖劃分的垂直劃分索引,先概述垂直劃分索引框架,然后詳 細(xì)描述垂直劃分策略。
[0088] 1)垂直劃分索引框架
[0089] PIL索引中垂直劃分索引的問題是:(1)聚合tokens詞的選擇只依賴于數(shù)據(jù)集中的 token詞的偏斜影響;(2)該索引不適用于大數(shù)據(jù)量環(huán)境。然而,在實際應(yīng)用中,用戶查詢?nèi)?志蘊含大量高價值信息,比如,一些查詢tokens頻繁地共同出現(xiàn)在實體中。因此代替只使用 實體集中tokens偏斜信息,綜合使用查詢?nèi)罩竞蛯嶓w集中tokens偏斜信息來壓縮數(shù)據(jù)空間 倒排索引,形成一組聚合后的tokens詞;然后,按照負(fù)載均衡思想和超圖劃分理論把這些 tokens詞的倒排列表均衡地分布到相應(yīng)的索引節(jié)點中。
[0090] 例如,在圖2中,假定a、e、h和i總是一起出現(xiàn)在相同的實體或用戶查詢中,因此,這 些tokens詞對應(yīng)的倒排列表總是相同的,從而聚合這些tokens詞來壓縮倒排索引。其優(yōu)點 是減少硬盤1/0訪問開銷以及避免查詢處理過程中這些tokens對應(yīng)倒排列表的聚合。此外, 除了壓縮出現(xiàn)情況完全一樣的tokens外,還對具有相似倒排列表的tokens進行壓縮。例如, 在索引節(jié)點2中,由于tokens詞d和f頻繁一起出現(xiàn)在實體和tokens詞d和j頻繁地共同出現(xiàn) 在用戶用查詢中,因此對d、f和j進行聚合壓縮,形成一個垂直劃分列表。即,頭部是d、f和j 聚合tokens詞,實體列表集則是由一組子實體列表組成,每個子實體列表對應(yīng)tokens詞d、f 和j的一種組合.最后,把這些垂直劃分列表分布到多個索引節(jié)點中,使得這些節(jié)點負(fù)載均 衡同時最小化查詢涉及的索引節(jié)點數(shù)量。例如,圖2把倒排索引分布到3個索引節(jié)點中。
[0091] 2)基于負(fù)載均衡與超圖劃分的垂直劃分策略
[0092] 從圖2中可知,垂直劃分索引面臨兩個關(guān)鍵挑戰(zhàn):(1)聚合tokens詞的選取問題; (2)垂直索引分布問題,即如何較好地分布到不同索引節(jié)點,從而支持分布式查詢處理,進 而提高查詢處理性能。
[0093] 聚合tokens詞的選取
[0094]在用戶查詢中,詞的頻率也存在偏斜問題,因此代替只考慮實體中tokens詞的偏 斜問題,綜合考慮實體中tokens和查詢?nèi)罩局衪okens的偏斜現(xiàn)象,通過聚合頻繁地共同出 現(xiàn)在實體或者查詢?nèi)罩局械膖okens詞來壓縮索引。例如,對于tokens詞d、f和j來說,如果只 考慮實體中tokens詞的偏斜情況,貝lj聚合tokens詞d和f (如圖1 (a)),事實上,在真實應(yīng)用 下,tokens詞d和j可能頻繁一起出現(xiàn)在查詢?nèi)罩荆虼?,為減少查詢處理中倒排列表的合并 代價,tokens詞d和j也應(yīng)該聚合在一起,從而壓縮索引。所以,壓縮tokens詞d、f和j可能是 一個更佳的選擇.
[0095] 聚合tokens詞的選取問題本質(zhì)上是tokens詞集合劃分問題,其中每個劃分對應(yīng)一 個垂直劃分列表頭部.當(dāng)把實體和查詢?nèi)罩局胁樵兛醋饕粋€事務(wù),同時實體包含的tokens 詞集合或者查詢包含的tokens詞集合看作事務(wù)對應(yīng)的項集時,tokens詞劃分問題類似于頻 繁項集挖掘問題,但顯著區(qū)別是頻繁項集是互不相交的。為此,改進經(jīng)典的FP-growth算法, 給出了一個選取聚合tokens詞的算法TokensSelection,算法TokensSelection(TDB,ξ,T) 過程如下:
[0096]輸入:TDB是一個事務(wù)數(shù)據(jù)庫,其中每個事務(wù)為一個實體或者查詢?nèi)罩局幸粋€查 詢,事務(wù)對應(yīng)的項集為實體包含的tokens詞集合或者查詢包含的tokens詞集合,ξ是最小支 持度;
[0097]輸出:Τ為tokens詞的劃分,初始為空;
[0100] 具體來說,首先掃描事務(wù)數(shù)據(jù)庫TDB,尋找非頻繁1-項集NF和頻繁1-項集F,并對F 按照支持度降序進行排序(行1)。由于NF中每個token詞都是非頻繁的,因此不需要聚合,為 此,NF中每個token詞單獨作為一個垂直劃分列表加入到集合T中(行2);接下來,對于F來 說,再一次掃描TDB,構(gòu)建FP樹,并對F中每個tokenk詞分別調(diào)用FP-growth (FP樹,tokenk)算 法,從而產(chǎn)生所有的頻繁項集,記為freq_Set(行3-4)。為保證頻繁項集互不相交,按照頻繁 項集對頻繁項數(shù)量和支持度順序?qū)req_ Set進行降序排序,從而使得越靠前的頻繁項集, 頻繁項的數(shù)量越大并且頻繁項集的支持度也越大(行5)。最后進行不斷迭代,直至freq_ Set 為空。在每次迭代中,先取出第一個頻繁項集top,并把top作為一個垂直劃分加入到集合T 中,同時從freq_set中移除top.然后從freq_set中移除與top相交不為空對所有頻繁項集 (行6-11)。算法中FP樹構(gòu)建和子算法FP-growth(FP樹,tokenk)的詳細(xì)細(xì)節(jié)本章不再贅述, 感興趣讀者參考文獻。
[0101] 2垂直索引分布策略
[0102] 盡管算法TokensSelection(TDB, ξ,T)能夠利用查詢?nèi)罩竞蛯嶓w中tokens詞的偏 斜現(xiàn)象聚合一些頻繁地、共同出現(xiàn)的tokens詞,從而降低潛在查詢涉及的倒排列表的聚合 代價和存儲空間,但是隨著數(shù)據(jù)集激增,倒排索引大小仍然十分龐大,這顯然成為內(nèi)存的瓶 頸,從而影響查詢性能。為此,一種直觀的方法就是按照聚合tokens詞均勻劃分思想設(shè)計一 個分布式索引。然而,在實際中,垂直劃分列表的長度和查詢?nèi)罩緦Υ怪眲澐至斜淼脑L問頻 率存在嚴(yán)重偏斜,這將導(dǎo)致查詢負(fù)載高度不均衡,因此需要一種高效的垂直索引分布策略。 它基于聚合tokens詞,把壓縮后的倒排索引分布到相應(yīng)的索引節(jié)點集中,使得保持各個索 引節(jié)點負(fù)載均衡,同時最小化索引節(jié)點與索引服務(wù)器的通信開銷。
[0103]給定一個查詢集合Q= {qi,q2, . . .,q|Q|}、詞匯表T= {ti,t2, . . .,t|T|}、索引節(jié)點集 合i s = {i Si,i s2,...,i sm}和壓縮后的倒排索引i = 乂,, ),(Ο,,Λ…,U,,)!,其中氣是 聚合tokens(包括一個或多個U,不同的&交集為空且全體&并集為T)并且和訪問頻率 freqi關(guān)聯(lián),U是ti對應(yīng)的倒排列表,每個% 。
[0104]定義超圖,一個超圖H=(V,E)是由頂點集合V和超邊集合E組成,其中每條超邊幻 e E與V中頂點子集相連,每個頂點Vi e V具有一個權(quán)重Wi。
[0105] 超圖是簡單圖的一種泛化形式,并且超邊反映了多個頂點間的關(guān)系。在本小節(jié)中, 每個頂點表示聚合tokens詞,其權(quán)重為訪問該聚合tokens詞對應(yīng)倒排列表的開銷,每條超 邊表示查詢中tokens詞在哪些聚合tokens詞4:中出現(xiàn),即一個查詢與相應(yīng)的每一個進行 連接,如圖3所示,其中實心黑點表示一個查詢,橢圓表示一個tokens詞4, ·
[0106] 定義m路超圖劃分,nilV^V^ . . .,Vm}是一個m路的超圖劃分當(dāng)且僅當(dāng)每個部分 νι^φ、ν?? I νι=φ 且U^ =F 〇
[0107] 定義λ-平衡的超圖劃分,超圖劃分π是λ-平衡當(dāng)且僅當(dāng)對每一個部分Vke π,wk彡 (l+A)Wavg,其中權(quán)重屺,Wavg是所有Wk的平均權(quán)重。
[0108] 對于超圖來說,如果超邊ej e E與部分Vk中一(多)個頂點相連,則稱超邊ej e E與部 分V k的相連,其連通度Φ ( e j,V k ) = 1。因此超邊e j e E與劃分Π 的連接度 扒&匕),即與超邊相連接的部分?jǐn)?shù)。本質(zhì)上m路超圖劃分問題可以定義為 尋找一個λ-平衡的超圖劃分,使得「(Π ) = Π )最小。
[0109]從前面的敘述可知,垂直索引劃分的目標(biāo)是:利用查找日志和實體的偏斜信息,生 成一組互不相交的聚合tokens詞,然后利用用戶查詢?nèi)罩局性L問倒排列表信息均衡地把聚 合tokens詞對應(yīng)的倒排列表分布到不同索引節(jié)點中,并使得通信開銷最小。也就是說,利用 查詢與聚合tokens詞的交互信息,按照處理聚合token詞的計算負(fù)載情況,把所有聚合 tokens詞均衡地劃分到不同對索引節(jié)點中,并使得查詢涉及的索引節(jié)點數(shù)量最小。此時,把 聚合tokens詞看作超圖中頂點,單個索引節(jié)點ISk中包含的所有聚合token詞看作超圖中頂 點集的一個部分Vk辛Φ,查詢?nèi)罩局幸粋€查詢qjeQ看作一條超邊 e」eE,查詢?nèi)罩局兴胁?詢訪問索引節(jié)點ISk中倒排列表的開銷看作超圖劃分Π 中部分Vk的總權(quán)重Wk,所有查詢涉及 的所有分布式節(jié)點數(shù)量看作超圖劃分Π 的總通信開銷Γ(Π ),因此,垂直索引分布問題可 以歸約為λ-平衡的超圖劃分問題,即Π 中每個部分Vk對應(yīng)分配給索引節(jié)點ISk的聚合tokens 集合Tk,每個Wk對應(yīng)ISk的所有計算負(fù)載,Γ (Π )對應(yīng)查詢Q涉及的總通信開銷。
[0110]從實體偏斜角度考慮,本發(fā)明利用齊夫定律概率來評估排名第i個的token詞^在 實體中的概率,如公式(2)所示:
[0112] μ代表了實體中tokens詞的偏斜程度。例如,倒排列表中80 %的實體資源含有的 20 %的tokens詞,貝lj參數(shù)μ = logO. 8/logO. 2 = 0.14。對于壓縮后的垂直劃分列表來說,它合 并了多個token詞的倒排列表,因此聚合tokens詞^的概率如公式(3)所示。
[0113] /^) = Σ?,⑶
[0114] 假定f(ti)為token詞ti的訪問頻率,即查詢?nèi)罩局衪oken詞ti的頻率,貝lj聚合 tokens詞^的訪問頻率為所有tokerH^A e的組合頻率,如公式(4)所示。
[0116]在查詢處理中,影響計算負(fù)載的因素主要有倒排列表大小及其訪問頻率,因此頂 點^的權(quán)重^采用公式(5)進行度量。
[0118] 其中|E|表示實體個數(shù),|?|表示每個實體E的平均tokens詞個數(shù)。
[0119] 圖3展示了采用負(fù)載均衡與超圖的垂直劃分索引的例子.其中tokens詞a、b、e、h和 1分布到索引節(jié)點ISi,tokens詞d、f、j和k分布到索引節(jié)點IS2,tokens詞c、m、g和i分布到索 弓丨節(jié)點IS 3,使得索引節(jié)點ISi、IS2和IS3的負(fù)載均衡。按照這種分布,查詢{ql,q2,q3}僅被索 引節(jié)點取處理,查詢{q4,q5,q6}僅被索引節(jié)點IS 2處理,查詢{q7,q8}僅被索引節(jié)點IS3處 理,而查詢q9被索引節(jié)點ISjPIS 2,查詢qlO被索引節(jié)點ISUS2和IS3處理,因此總通信代價 Γ (Π )=8Χ0+1Χ2+1Χ3 = 5〇
[0120] 超圖劃分是一個ΝΡ-完全問題,為此采用經(jīng)典的多級的、直接的、Κ-路超圖劃分算 法進行近似劃分。它主要包含三個階段:基于高連通匹配的多級粗劃階段、基于迭代二分的 初始劃分階段以及多級Κ-路細(xì)化階段.下面簡單介紹每個階段過程,詳細(xì)細(xì)節(jié)參考文獻。
[0121] 基于高連通性匹配的多級粗劃階段:核心思想是通過m級連續(xù)的粗化過程,把原始 的超圖妒轉(zhuǎn)換為一個足夠小的超圖Hm,使得盡可能保持原始超圖的結(jié)構(gòu)。在每級粗化過程 時,根據(jù)頂點的高連通性匹配啟發(fā)式原則,把當(dāng)前超圖H 1中頂點集分組為一個集群,集群中 的頂點合并為一個超頂點。啟發(fā)式規(guī)則如下:隨機訪問一個頂點,已訪問頂點vi eV1與未訪 問的頂點v j e V1相匹配,當(dāng)且僅當(dāng)vi e V1和v j e V1共享的超邊數(shù)量最多.
[0122] 基于迭代二分的初始劃分階段:核心思想是采用多級迭代二分機制把最粗的超圖 Hm劃分為K個部分。在每個二分步驟中,采用貪婪的超圖增長啟發(fā)式二分中間超圖。在初始 劃分階段的最后,不斷執(zhí)行頂點移動操作,直到超圖劃分是λ-平衡的。
[0123] 多級Κ-路細(xì)化階段:核心思想是從最粗超圖『開始,迭代地執(zhí)行細(xì)化操作和投影 操作,直至最細(xì)超圖Η*3。在細(xì)化操作時,基于FM啟發(fā)式,移動Κ部分中的頂點,來調(diào)整細(xì)化當(dāng) 前超圖Η 1的劃分Π 1,并使得在保持劃分的各部分負(fù)載均衡的條件下總通信開銷Γ ( Π )最 小。在投影操作時,把當(dāng)前超圖Η1和細(xì)化的劃分Π 1投影到上一級的超圖Η1-1和劃分Π 1-1中。
[0124] 3.2基于負(fù)載均衡與超圖劃分的水平劃分索引:先給出水平劃分索引框架,然后詳 細(xì)描述水平劃分策略。
[0125] (1)水平劃分索引框架
[0126] PIL索引中水平劃分索引的問題是:(1)不同類別的實體集大小可能存在嚴(yán)重的偏 斜問題,從而導(dǎo)致水平劃分負(fù)載不均衡;(2)該索引不適用于大數(shù)據(jù)量環(huán)境。然而,在實際應(yīng) 用中,用戶查詢?nèi)罩痉从巢煌瑫r期的用戶興趣信息,因此可能存在興趣偏斜現(xiàn)象,這將導(dǎo)致 水平劃分的倒排列表的負(fù)載不均衡問題。為解決上述問題,按照負(fù)載均衡思想和超圖劃分 理論把這些實體集的倒排列表分布到相應(yīng)的索引節(jié)點中。
[0127] 例如,圖4展示了水平劃分索引框架。在圖4中,假定數(shù)據(jù)空間中實體根據(jù)相似性和 負(fù)載均衡劃分為Α、Β和C三類以及一個實體只能屬于一個類別,則Α、Β和C三類所屬的實體構(gòu) 建的倒排索引分別分布到索引節(jié)點1、2和3中,其中有些tokens詞可能出現(xiàn)在多個索引節(jié)點 中,如tokens詞a或者f。
[0128] (2)水平劃分策略
[0129] -方面,從實體角度出發(fā),根據(jù)實體間的相似性(例如,屬性標(biāo)簽)進行劃分,可能 導(dǎo)致不同劃分中實體數(shù)量的偏斜問題,從而導(dǎo)致不同索引節(jié)點的負(fù)載嚴(yán)重不均衡;另一方 面,隨著時間的演化,用戶查詢對索引節(jié)點的訪問頻率(或者更準(zhǔn)確地說,倒排列表的訪問 頻率)的差距不斷加大,進而導(dǎo)致訪問頻率嚴(yán)重偏斜,因此在剪枝的作用下,將使得索引節(jié) 點出現(xiàn)嚴(yán)重的負(fù)載不均衡現(xiàn)象。為此,需要一種高效的水平索引分布策略。它基于查詢?nèi)罩?的訪問模式信息與超圖理論,把實體劃分到不同的索引節(jié)點中,使得各個索引節(jié)點負(fù)載保 持均衡以及索引節(jié)點內(nèi)部任意兩個實體的相似性較高,同時最小化索引節(jié)點與索引服務(wù)器 的通信開銷。
[0130] 給定一個查詢集合Q= {qi,q2, · · ·,q|Q|}、實體集合0= {〇1,〇2, · · ·,〇|〇|}、實體間的 相似性矩陣A={sim(〇i,〇j) |l<i,j彡|0| }和索引節(jié)點集合ISyiShlS% . . .,ISn},其中 sim(〇i,〇j)表示兩個實體的相似性,每個查詢% D
[0131] 定義(λ,η)-平衡且相似的超圖劃分,超圖劃分Π 是(λ,η)-平衡且相似,當(dāng)且僅當(dāng),
[0132] (1)對每一個部分Vke Π K(l+A)Wavg,其中權(quán)重% 是所有Wk的平 均權(quán)重;
[0133] (2)對每一個部分VkG Π ,任意兩個頂點 表示兩個頂點的相似性。
[0134] 對于超圖來說,如果超邊ejeE與部分vk中一(多)個頂點相連,則稱超邊ejeE與部 分V k的相連,其連通度Φ ( e j,V k ) = 1。因此超邊e j e E與劃分Π 的連接度 扒6,11)=^^1的9&),即與超邊相連接的部分?jǐn)?shù)。事實上,111路超圖劃分問題也可以定義 為尋找出一個(λ,η)-平衡且相似的超圖劃分,使得「(π) = Σε_Κ(〃.,π)最小。
[0135] 從前面的敘述可知,水平索引劃分的目標(biāo)是:基于查詢?nèi)罩镜脑L問模式信息與超 圖理論,把實體劃分到不同的索引節(jié)點中,使得各個索引節(jié)點負(fù)載保持均衡以及索引節(jié)點 內(nèi)部任意兩個實體的相似性較高,同時最小化索引節(jié)點與索引服務(wù)器的通信開銷。此時,把 每個實體0i詞看作超圖中頂點Vi ev,其權(quán)重為處理該實體〇i的計算負(fù)載Wi,單個索引節(jié)點 ISk中包含的所有實體Ok看作超圖中頂點集的一個部分Vk# Φ,并且ISk中實體共享相似的 屬性,查詢?nèi)罩局幸粋€查詢qj e Q看作一條超邊ej e E(這反映了查詢中tokens詞在哪些實體 中出現(xiàn),因此查詢與相關(guān)的每個實體相連),查詢?nèi)罩局兴胁樵冊L問索引節(jié)點IS k中倒排 列表的開銷看作超圖劃分π中部分Vk的總權(quán)重Wk,所有查詢涉及的所有分布式節(jié)點數(shù)量看 作超圖劃分Π 的總通信開銷Γ(Π ),因此,水平索引分布問題可以歸約為(λ,η)-平衡的超 圖劃分問題,即π中每個子頂點集vk對應(yīng)分配給索引節(jié)點is k的實體集合〇k,每個wk對應(yīng)isk 的所有計算負(fù)載,每對頂點的相似性對應(yīng)每對實體間的相似性,r ( Π )對應(yīng)查詢Q涉及的總 通信開銷。具體來說,使用超圖H=(V,E)表示用戶查詢集與水平劃分中實體集之間的交互。 在超圖Η中,每個實體 〇i代表一個頂點Vi e V,每個查詢qj e Q代表一條超邊e」eE,每個頂點Vi 的權(quán)重Wi代表處理該實體〇i的計算負(fù)載,另外,每個頂點記錄一組它所包含tokens詞的訪問 頻率。
[0136] 假定f(ti)為token詞ti的訪問頻率,即查詢?nèi)罩局衪oken詞ti的頻率,在查詢處理 中,影響計算負(fù)載的因素主要有實體大小及其訪問頻率,因此頂點 Vl的權(quán)重^采用公式(6) 進行度量。
[0137] ^ ^/(Ο?ΤΓΜΟ (6)
[0138] 其中|Τ|表示每個實體0的平均tokens詞個數(shù)。
[0139] 圖5演示了采用負(fù)載均衡與超圖的水平劃分索引的例子。其中,實體〇1、〇2和〇3分布 到索引節(jié)點ISi,實體〇4、〇 5和06分布到索引節(jié)點IS2,實體07、08、09和〇1〇分布到索引節(jié)點IS 3, 使得索引節(jié)點ISi、IS2和IS3的負(fù)載均衡并且每個索引節(jié)點內(nèi)部任意兩個實體間的相似性均 較高。按照這種分布,查詢{ql,q2,q3}僅被索引節(jié)點ISi處理,查詢{q4,q5,q6}僅被索引節(jié) 點IS 2處理,查詢{q7,q8}僅被索引節(jié)點IS3處理,而查詢q9被索引節(jié)點ISjPIS2,查詢qlO被 索引節(jié)點ISi、IS 2和IS3處理,因此總通信代價Γ (11)=8\0+1\2+1\3 = 5。此外,本部分也 是采用上一節(jié)描述的超圖劃分算法來劃分超圖,就不再贅述。
[0140] 3.3多維索引:
[0141] 先介紹了二維劃分索引框架(2D-IL),它結(jié)合基于負(fù)載均衡與超圖劃分的垂直劃 分索引和基于負(fù)載均衡與超圖劃分的水平劃分索引。然后從吞吐量和容錯率角度出發(fā),擴 展2D-IL為三維索引框架(MIL)。
[0142] (1)二維劃分索引框架
[0143] 圖6展示了二維索引架構(gòu)。與只在一個節(jié)點構(gòu)建的集中式PIL索引不同的是,我們 的二維索引分布在不同索引節(jié)點中,因此每個索引節(jié)點中索引花費對存儲空間顯著降低。 也就是說,二維索引邏輯上可以看成一個NXM的集群。在行維度,數(shù)據(jù)空間索引可以看成是 一個基于負(fù)載均衡與超圖劃分的水平劃分索引,即按照實體級劃分。在列維度,數(shù)據(jù)空間索 引可以看成是一個基于負(fù)載均衡與超圖劃分的垂直劃分索引,即按照聚合tokens詞劃分。 每個索引節(jié)點對應(yīng)tokens詞壓縮后的倒排索引。例如,在第i行和第j列中的索引節(jié)點設(shè)沖 (如黑色實心點所示),它包含tokens詞{a,b, . . .,f}和實體{〇3〇, . . .〇5q},其對應(yīng)的倒排索 引格式如虛線箭頭指向的倒排索引。即,在索引節(jié)點IS^中,其索引詞匯為原始詞匯的一個 子集{a,b, . . .,f},這些詞匯在垂直劃分后形成三個聚合tokens詞("abc"、"de"和"f"),這 些聚合tokens詞對應(yīng)實體集都同屬于一個水平劃分。
[0144]當(dāng)提交一個查詢時,可以根據(jù)涉及的聚合tokens詞和計算的相關(guān)性分?jǐn)?shù)較高的劃 分(見定理1和定理2)迅速定位到較少數(shù)量的索引節(jié)點,然后并行訪問這些索引節(jié)點。因此 本索引的優(yōu)點如下:(1)各個索引節(jié)點負(fù)載均衡;(2)查詢處理時,通信開銷較低;(3)剪枝率 尚,從而提尚了查詢性能。
[0145] (2)三維劃分索引框架
[0146] 在查詢處理過程中,當(dāng)某個索引節(jié)點(尤其是查詢涉及的索引節(jié)點)出現(xiàn)故障時, 則可能影響top-k查詢應(yīng)答;另一方面,隨著用戶查詢的并發(fā)數(shù)的激增,查詢的吞吐量就構(gòu) 成一個重要瓶頸。為此,通過為二維索引中每個索引節(jié)點IS^(g卩,圖6中對應(yīng)化和…的單元 格)復(fù)制D份,從而構(gòu)成三維立方體的多維索引,如圖7所示。注意,在索引節(jié)點ISu的每個副 本之間保證通信,旨在防止該索引節(jié)點IS^失敗時導(dǎo)致沒有可用的查詢結(jié)果的情況。
[0147] 圖7展示了三維索引架構(gòu)。三維索引邏輯上可以看成一個NXMXD的3D立方體,其 中D是復(fù)制的份數(shù)。例如,在索引號(Ni,Mj,Dk)對應(yīng)的單元格中,黑色點表示索引節(jié)點IS ijk涉 及索引token詞{a,b,…,f}、實體{〇3〇,…〇5〇}并且是第k個備份。
[0148] 當(dāng)一個查詢Q = tlAt2A. . .AU被提交時,其處理流程大致如下:(1)找出涉及 token詞{ti,t2,. . .,tn}的列集合{Mj}; (2)對于這些列集合{Mj},根據(jù)定理1和2以及公式(1) 計算它們中行劃分與查詢的相似性,并選擇出相似性分?jǐn)?shù)大于某個閾值的行集合{N」}; (3) 在(Nj,Mj)對應(yīng)的備份中,隨機選擇一個立方體;(4)在確定所有的小立方體后(比如,(Ni, Mj,Dk)對應(yīng)的立方體),把相應(yīng)的子查詢并發(fā)地發(fā)送到對應(yīng)的索引節(jié)點ISijk中,進行并發(fā)查 詢;如果當(dāng)前索引節(jié)點IS ljk失敗(比如故障因素),那么利用通信機制把子查詢發(fā)送隨機發(fā) 送到其它副本的索引節(jié)點中,比如(Ni,Mj,Di)對應(yīng)的索引節(jié)點ISiji;(5)最后把所有并發(fā)查 詢結(jié)果進行綜合(例如,進行交運算)并返回給用戶。
[0149] 四、實驗結(jié)果與分析
[0150] 首先介紹實驗設(shè)置情況,然后從效果、性能和可擴展性方面評估本發(fā)明方法(包含 基于負(fù)載均衡與超圖劃分的垂直劃分索引(HP-VIL)、基于負(fù)載均衡與超圖劃分的水平劃分 索引(HP-HIL)和多維索引(MIL))與基準(zhǔn)索引方法(包含垂直劃分索引(VIL)、水平劃分索引 (HIL)和混合劃分索引(PIL))。
[0151] 4.1實驗設(shè)置
[0152]本實驗使用來自2015年3月release版本的DBLP數(shù)據(jù)作為實驗所需的基本數(shù)據(jù)集, 抽取的實體類別包括論文、博士論文、作者、會議、期刊、大學(xué)機構(gòu),數(shù)量大小總共大約4.3M。 抽取原則如下:(1)論文實體來自于inproceedings記錄或者key鍵以"journals"為前綴的 article記錄;(2)博士論文實體來自于phdthesis記錄;(3)作者實體來自于WWW記錄或者 author標(biāo)簽;(4)會議實體來自于key鍵以"conf"為前綴的;[叩1'0066(1;[1^8記錄中的 booktitie標(biāo)簽;(5)期刊實體來自于journal標(biāo)簽或者key鍵以"journals"為前綴的 inproceedings記錄中的booktitle標(biāo)簽;(6)大學(xué)機構(gòu)來自于school標(biāo)簽。
[0153]由于DBLP數(shù)據(jù)集沒有提供相應(yīng)的查詢?nèi)罩?,因此,本章從預(yù)處理后的DBLP數(shù)據(jù)集 中人工合成了具有偏斜特性的用戶查詢?nèi)罩?。它包?0萬條查詢,其中前6萬條用于構(gòu)建超 圖,構(gòu)建時采用kPaToH超圖劃分工具(負(fù)載系數(shù)設(shè)置為5%,相似性閾值設(shè)置為0.5);中間2 萬條用于喚醒系統(tǒng)查詢;最后2萬條用于真實性能評估。實驗過程中考慮6種不同的并發(fā)查 詢等級(即,并發(fā)查詢數(shù)111=1,8,16,32,48,64)。垂直劃分中索引節(jié)點數(shù)默認(rèn)設(shè)置為8,水平 劃分中索引節(jié)點數(shù)默認(rèn)設(shè)置為8,復(fù)制份數(shù)設(shè)置為3。
[0154]實驗環(huán)境設(shè)置如下:采用9個節(jié)點、網(wǎng)絡(luò)互連的PC集群。其中一臺為中央代理器 (Broker,不存儲劃分索引),其它為客戶機(Worker)。每臺PC主機的配置為Intel(R)Core (TM) i5-4570CPU 3.20GHz,內(nèi)存容量為4G,硬盤容量為1TB,操作系統(tǒng)為WIN 7(64bit),算法 均在Java語言下實現(xiàn)。
[0155] 4.2效果評估
[0156] (1)劃分質(zhì)量
[0157] 實驗1評估了本文多維索引MIL與基準(zhǔn)索引方法的混合劃分索引PIL的劃分質(zhì)量情 況。由于基準(zhǔn)測試方法PIL是分配在一個索引節(jié)點中,因此,為公平起見,本文對PIL劃分采 用順序循環(huán)分配策略,從而分配給所有索引節(jié)點。圖8橫坐標(biāo)表示查詢處理過程中涉及的索 弓丨節(jié)點數(shù)量(Broker節(jié)點除外),縱坐標(biāo)表示涉及某索引節(jié)點數(shù)的查詢比例。從圖8可知,在 減少查詢涉及的索引節(jié)點數(shù)量方面,本方法MIL明顯優(yōu)于PIL方法。例如,在MIL方法中,大約 25%的查詢只被1個索引節(jié)點處理,而PIL方法只有14%。主要原因是:本方法劃分的優(yōu)化目 標(biāo)是最小化通信開銷(換句話說,查詢涉及的索引節(jié)點數(shù)量)。這表明本方法能夠有效地提 高共同訪問的倒排列表集存儲在同一索引節(jié)點的概率。
[0158] (2)容災(zāi)能力
[0159]實驗2評估了本文多維索引MIL與不采用復(fù)制策略的二維索引(2D-IL)的容災(zāi)能力 情況。圖9中橫坐標(biāo)表示索引節(jié)點的故障率,縱坐標(biāo)表示top-k查詢平均準(zhǔn)確率,從圖9中可 知,本方法的容災(zāi)能力顯著優(yōu)于二維索引(2D-IL)方法。其原因是MIL中一個維度就是索引 復(fù)制,這樣即使某(些)索引節(jié)點出現(xiàn)故障,也可以通過其備份節(jié)點的索引返回局部查詢結(jié) 果,從而不影響全局查詢結(jié)果。
[0160] 4.3性能評估:評估性能的標(biāo)準(zhǔn)是查詢響應(yīng)時間和吞吐量。
[0161 ] (1)頻繁K項集大小對性能的影響
[0162] 實驗3評估了頻繁K項集大小對兩種垂直劃分(HP-VIL法與VIL法)性能的影響。為 公平起見,HP-VIL法以劃分?jǐn)?shù)為1的情況作為比較。圖10橫坐標(biāo)表示頻繁K項集的K值大小 (從1到5 ),縱坐標(biāo)表示查詢的平均查詢響應(yīng)時間。理想情況下,聚合tokens詞壓縮效果好的 索引方法花費的平均查詢響應(yīng)時間更少。從圖10可知,在K值為1時,兩種方法性能一樣,這 是因為均沒有進行索引tokens詞的壓縮;而隨著K值變大,HP-VIL法明顯優(yōu)于VIL方法,這是 因為除了考慮實體中頻繁的tokens詞外(如VIL法),本方法HP-VIL還考慮了查詢?nèi)罩局蓄l 繁出現(xiàn)在倒排列表的tokens詞。另外,隨著K值進一步變大,兩種方法的效果可能反而下降。 這是因為存在一些只包含聚合tokens詞中的部分tokens詞的查詢,這導(dǎo)致一些1/0開銷用 于讀取剩余部分tokens詞信息。
[0163] (2)不同并發(fā)查詢數(shù)量對性能的影響
[0164] 實驗4評估了不同并發(fā)查詢數(shù)量對性能的影響。性能主要從查詢響應(yīng)時間和吞吐 量來度量,實驗中頻繁項集K為4,垂直劃分與水平劃分的索引節(jié)點數(shù)均設(shè)置為8,索引復(fù)制 份數(shù)設(shè)置為3。圖11(a)展示了在不同的并發(fā)查詢數(shù)量下本文方法(包括HP-VIUHP-HIL與 MIL)與基準(zhǔn)測試方法(VIL、HIL與PIL)的平均查詢響應(yīng)時間對比情況。隨著并發(fā)查詢數(shù)量的 增加,平均響應(yīng)時間不斷增加,這主要是因為:并發(fā)查詢數(shù)量的增加導(dǎo)致索引節(jié)點處理的查 詢數(shù)量大幅增加。從列方向看,在相同并發(fā)查詢數(shù)下,(l)HP-VIL方法優(yōu)于VIL方法,這主要 是由于本文在聚合tokens詞時考慮了查詢?nèi)罩镜男畔⒁约八饕?jié)點間負(fù)載均衡,還使得查 詢通信開銷最小化;(2)HP-HIL方法優(yōu)于HIL方法,這主要是由于本文在劃分實體時不僅考 慮實體間相似性,還考慮劃分的負(fù)載均衡問題,從而剪枝了大量潛在不相關(guān)的候選實體; (3)MIL方法優(yōu)于PIL方法,這主要是由于一方面在劃分時候就致力于負(fù)載均衡,另一方面通 過索引復(fù)制的策略,進一步加強負(fù)載均衡且降低索引節(jié)點的負(fù)載量。圖11(b)展示了在不同 的并發(fā)查詢數(shù)量下本文方法(包括HP-VIL、HP-HIL與MIL)與基準(zhǔn)測試方法(VIL、HIL與PIL) 的吞吐量對比情況。從圖11(b)中可知,(1)在并發(fā)查詢數(shù)為8時,吞吐量顯著增加,但隨著并 發(fā)查詢數(shù)進一步增加,吞吐量趨于平穩(wěn)狀態(tài)。這主要是因為:提交的查詢數(shù)還沒有達到索引 節(jié)點的硬盤訪問上限,而并發(fā)查詢數(shù)從16開始,每個索引節(jié)點處理的查詢太多,從而超過硬 盤訪問上限;(2)HP-HIL方法明顯優(yōu)于HIL方法。這是因為本文方法劃分使得各索引節(jié)點負(fù) 載較均衡;(3)HP-VIL方法優(yōu)于VIL方法。原因在于:由于在基準(zhǔn)測試方法中列表大小及其訪 問頻率的高度偏斜,索引節(jié)點負(fù)載不均衡;(4)MIL方法明顯優(yōu)于PIL方法。本方法的優(yōu)化目 標(biāo)是負(fù)載均衡,提高了索引節(jié)點的利用率。此外,二維索引的復(fù)制增加了系統(tǒng)整體處理能 力。
[0165] (3)不同索引節(jié)點數(shù)量對性能的影響
[0166] 實驗5評估了不同索引節(jié)點數(shù)量對性能的影響。主要從查詢響應(yīng)時間和吞吐量來 度量,實驗中頻繁項集K設(shè)置為4,并發(fā)查詢數(shù)設(shè)置為64。從圖12可知,隨著索引節(jié)點數(shù)量的 增加,本方法優(yōu)于基準(zhǔn)測試方法,并且隨著索引節(jié)點數(shù)的增加,性能更佳。主要原因是本文 方法劃分后的索引節(jié)點負(fù)載相對較均衡。另外,隨著索引節(jié)點數(shù)增加,每個索引節(jié)點的負(fù)載 降低。
[0167] 4.4擴展性評估
[0168] 實驗6評估了不同數(shù)據(jù)集大小對性能影響。本實驗采用top-10查詢的響應(yīng)時間進 行度量。圖13中橫坐標(biāo)表示不同數(shù)據(jù)集大小(百萬個實體為單位),縱坐標(biāo)表示top-10的查 詢響應(yīng)時間。從圖13中可知,本文方法在不同數(shù)據(jù)集大小方面展現(xiàn)了較好的擴展性。
【主權(quán)項】
1. 一種基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法,所述方法將倒排索引分布 到不同的索引節(jié)點中,使得各個索引節(jié)點保持負(fù)載均衡,其特征在于:所述方法為: 結(jié)合基于負(fù)載均衡與超圖劃分的垂直劃分索引和基于負(fù)載均衡與超圖劃分的水平劃 分索引得到二維劃分索引框架(2D-IL),從吞吐量和容錯率角度出發(fā),擴展二維劃分索引框 架(2D-IL)為Ξ維索引框架(MIL),基于Ξ維索引框架(MIL)實現(xiàn)數(shù)據(jù)空間多維索引方法。2. 根據(jù)權(quán)利要求1所述的一種基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法,其 特征在于:所述方法的具實現(xiàn)過程為: 步驟一、獲得二維劃分索引框架(2D-IL)的過程為: 步驟一一、確定基于負(fù)載均衡與超圖劃分的垂直劃分索引 確定垂直劃分索引框架 使用查詢?nèi)罩竞蛯嶓w集中tokens偏斜信息來壓縮數(shù)據(jù)空間倒排索引,形成一組聚合后 的tokens詞;然后,按照負(fù)載均衡和超圖劃分把所述tokens詞的倒排列表均衡地分布到相 應(yīng)的索引節(jié)點中; 基于負(fù)載均衡與超圖劃分的垂直劃分 1 )、聚合tokens詞的選取: 通過聚合頻繁地共同出現(xiàn)在實體或者查詢?nèi)罩局械膖okens詞來壓縮索引; 2)、給出垂直索引分布方式 所述垂直索引分布方式基于聚合tokens詞,把壓縮后的倒排索引分布到相應(yīng)的索引節(jié) 點集中,使得保持各個索引節(jié)點負(fù)載均衡,同時最小化索引節(jié)點與索引服務(wù)器的通信開銷; 步驟一二、確定基于負(fù)載均衡與超圖劃分的水平劃分索引 水平劃分索引框架的確定:按照負(fù)載均衡和超圖劃分把實體集的倒排列表分布到相應(yīng) 的索引節(jié)點中; 水平劃分:基于查詢?nèi)罩镜脑L問模式信息與超圖理論,把實體劃分到不同的索引節(jié)點 中,使得各個索引節(jié)點負(fù)載保持均衡W及索引節(jié)點內(nèi)部任意兩個實體的相似性較高,同時 最小化索引節(jié)點與索引服務(wù)器的通信開銷; 步驟一 Ξ、獲得二維劃分索引框架: 使二維索引分布在不同索引節(jié)點中,使每個索引節(jié)點中索引花費對存儲空間顯著降 低,二維索引邏輯上可W看成一個NXM的集群, 數(shù)據(jù)空間索引在行維度上是一個基于負(fù)載均衡與超圖劃分的水平劃分索引,按照實體 級劃分; 數(shù)據(jù)空間索引在列維度上是一個基于負(fù)載均衡與超圖劃分的垂直劃分索引,按照聚合 tokens詞劃分; 每個索引節(jié)點對應(yīng)tokens詞壓縮后的倒排索引; 在第i行和第j列中的索引節(jié)點15^中,包含tokens詞{a,b,. . .,f}和實體{〇3〇, . . .0日〇}, 其對應(yīng)的倒排索引格式如虛線箭頭指向的倒排索引;在索引節(jié)點ISu中,其索引詞匯為原始 詞匯的一個子集{a,b, ... ,f},運些詞匯在垂直劃分后形成Ξ個聚合tokens詞,聚合tokens 詞對應(yīng)實體集都同屬于一個水平劃分. 步驟二、擴展二維劃分索引框架(2D-IL)為Ξ維索引框架(MIL): 通過為二維索引中每個索引節(jié)點ISij復(fù)制D份,構(gòu)成Ξ維立方體的多維索引,在索引節(jié) 點ISu的每個副本之間保證通信,防止該索引節(jié)點ISu失敗時導(dǎo)致沒有可用的查詢結(jié)果的 情況; 步驟Ξ、利用Ξ維索引框架(MIL)實現(xiàn)數(shù)據(jù)空間多維索引: 所述立維索引邏輯上可W看成一個NXMXD的3D立方體,其中D是復(fù)制的份數(shù); 在索引號(Ni,Mj,Dk)對應(yīng)的單元格中,黑色點表示索引節(jié)點ISi化設(shè)及索引token詞{a, b,. . .,f}、實體{〇3〇,. . .050}并且是第k個備份; 當(dāng)一個查詢Q = tiAt2A...Atn被提交時,其處理流程為:(1)找出設(shè)及token詞{ti, t2, . . .,tn}的列集合{Mj ; (2)對于運些列集合{Mj,選擇出相似性分?jǐn)?shù)大于某個闊值的行 集合{Nj}; (3)在(Nj,Mj)對應(yīng)的備份中,隨機選擇一個立方體;(4)在確定所有的小立方體 后,即(Ni,Mj,Dk)對應(yīng)的立方體,把相應(yīng)的子查詢并發(fā)地發(fā)送到對應(yīng)的索引節(jié)點ISij沖,進 行并發(fā)查詢;如果當(dāng)前索引節(jié)點ISuk失敗,利用通信機制把子查詢發(fā)送隨機發(fā)送到其它副 本的索引節(jié)點中ISui; (5)最后把所有并發(fā)查詢結(jié)果進行綜合并返回給用戶。3.根據(jù)權(quán)利要求1所述的一種基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法,其 特征在于:步驟一一中,基于負(fù)載均衡與超圖劃分的垂直劃分過程中, 聚合tokens詞的選取具體為: 利用TokensSelect ion算法選取聚合tokens詞: TokensSelection(TDB,C,T) 輸入:TDB是一個事務(wù)數(shù)據(jù)庫,其中每個事務(wù)為一個實體或者查詢?nèi)罩局幸粋€查詢,事 務(wù)對應(yīng)的項集為實體包含的tokens詞集合或者查詢包含的tokens詞集合,ξ是最小支持度; 輸出:Τ為tokens詞的劃分,初始為空; 首先掃描事務(wù)數(shù)據(jù)庫TDB,尋找非頻繁1-項集NF和頻繁1-項集F,并對F按照支持度降序 進行排序; NF中每個token詞單獨作為一個垂直劃分列表加入到集合T中;接下來,對于F來說,再 一次掃描TDB,構(gòu)建FP樹,并對F中每個tokenk詞分別調(diào)用FP-growth(FP樹,tokenk)算法,從 而產(chǎn)生所有的頻繁項集,記為打eq_set; 為保證頻繁項集互不相交,按照頻繁項集對頻繁項數(shù)量和支持度順序?qū)req_set進行 降序排序;最后進行不斷迭代,直至freq_set為空,在每次迭代中,先取出第一個頻繁項集 top,并把top作為一個垂直劃分加入到集合T中,同時從打eq_set中移除top,然后從freq_ set中移除與top相交不為空對所有頻繁項集; 給出垂直索引分布方式,具體為: 給定一個查詢集合Q= {qi,q2, . . .,q|Q|}、詞匯表Τ= {ti,t2, . . .,t|T|}、索引節(jié)點集合IS = {ISi,IS2,...,ISm 巧 P 壓縮后的倒排索弓 |/ = {('4,4i),托:,4:),...,相,4,1)),其中 是聚合 tokens并且和訪問頻率打eqi關(guān)聯(lián),以是*1對應(yīng)的倒排列表,每個A £ ?' ;聚合包括 一個或多個ti,不同的交集為空且全體心并集為T; 定義超圖:一個超圖H=(V,E)是由頂點集合V和超邊集合E組成,其中每條超邊ejGE與V 中頂點子集相連,每個頂點Vi e V具有一個權(quán)重wi; 每個頂點表示聚合tokens詞,其權(quán)重為訪問該聚合tokens詞對應(yīng)倒排列表的開銷,每 條超邊表示查詢中tokens詞在哪些聚合tokens詞在中出現(xiàn),即一個查詢與相應(yīng)的每一個?。. 進行連接; 11 = {¥1,¥2,...,¥。}是一個111路的超圖劃分當(dāng)且僅當(dāng)每個部分¥1^聲(1)、¥1<1¥1=(1)且 W*:=:n 超圖劃分Π 是λ-平衡當(dāng)且僅當(dāng)對每一個部分Vke Π ,Wk《(l+λ)Wavg,其中權(quán)重Wavg是所有Wk的平均權(quán)重; 對于超圖來說,如果超邊ejGE與部分Vk中一(多)個頂點相連,則稱超邊ejGE與部分Vk 的相連,其連通度iKej,Vk) = l; 超邊e^eE與劃分Π 的連接g'即與超邊相連接的部分?jǐn)?shù);m路 超圖劃分問題可W定義為尋找一個λ-平衡的超圖劃分,使捐最??; 垂直索引劃分的目標(biāo)是:利用查找日志和實體的偏斜信息,生成一組互不相交的聚合 tokens詞,然后利用用戶查詢?nèi)罩局性L問倒排列表信息均衡地把聚合tokens詞對應(yīng)的倒排 列表分布到不同索引節(jié)點中,并使得通信開銷最小;利用查詢與聚合tokens詞的交互信息, 按照處理聚合token詞的計算負(fù)載情況,把所有聚合tokens詞均衡地劃分到不同對索引節(jié) 點中,并使得查詢設(shè)及的索引節(jié)點數(shù)量最?。? 把聚合tokens詞看作超圖中頂點,單個索引節(jié)點ISk中包含的所有聚合token詞看作超 圖中頂點集的一個部分Vk聲Φ,查詢?nèi)罩局幸粋€查詢weQ看作一條超邊e^eE,查詢?nèi)罩局?所有查詢訪問索引節(jié)點IS沖倒排列表的開銷看作超圖劃分Π 中部分Vk的總權(quán)重Wk,所有查 詢設(shè)及的所有分布式節(jié)點數(shù)量看作超圖劃分Π 的總通信開銷Γ ( Π ); 垂直索引分布問題歸約為λ-平衡的超圖劃分問題,即Π 中每個部分Vk對應(yīng)分配給索引 節(jié)點ISk的聚合tokens集合Tk,每個Wk對應(yīng)ISk的所有計算負(fù)載,Γ (Π )對應(yīng)查詢Q設(shè)及的總 通信開銷。4.根據(jù)權(quán)利要求3所述的一種基于負(fù)載均衡和查詢?nèi)罩镜臄?shù)據(jù)空間多維索引方法,其 特征在于:步驟一二中,確定基于負(fù)載均衡與超圖劃分的水平劃分索引的過程中, 水平劃分的過程為: 給定一個查詢集合Q= {qi,q2, . . .,q|Q|}、實體集合0= {〇1,〇2, . . .,〇|〇|}、實體間的相似 性矩陣A={sim(〇i,〇j) |0|}和索引節(jié)點集合IS={ISi,IS2,. . .,ISn},其中Sim (〇i,〇j)表示兩個實體的相似性,每個查詢f/, £7' ; 定義(λ, η)-平衡且相似的超圖劃分,超圖劃分Π 是(λ, η)-平衡且相似,當(dāng)且僅當(dāng), (1) 對每一個部分VkeΠ ,Wk《(l+λ)Wavg,其中權(quán)重rWavg是所有Wk的平均權(quán) 重; (2) 對每一個部分VkG Π ,任意兩個頂點vi,VjeVk,sim(Vi,Vj)>rl,其中sim(Vi,Vj)表示 兩個頂點的相似性; 對于超圖來說,如果超邊ejGE與部分Vk中一(多)個頂點相連,則稱超邊ejGE與部分Vk 的相連,其連通度iKej,Vk) = l;超邊e^eE與劃分Π 的連接運印與 超邊相連接的部分?jǐn)?shù);m路超圖劃分問題也可W定義為尋找出一個(λ, η)-平衡且相似的超 圖劃分,使得最??; 水平索引劃分的目標(biāo)是:基于查詢?nèi)罩镜脑L問模式信息與超圖理論,把實體劃分到不 同的索引節(jié)點中,使得各個索引節(jié)點負(fù)載保持均衡W及索引節(jié)點內(nèi)部任意兩個實體的相似 性較高,同時最小化索引節(jié)點與索引服務(wù)器的通信開銷; 把每個實體〇1詞看作超圖中頂點viev,其權(quán)重為處理該實體〇1的計算負(fù)載wi,單個索引 節(jié)點1?中包含的所有實體Ok看作超圖中頂點集的一個部分Vk聲Φ,并且1?中實體共享相 似的屬性,查詢?nèi)罩局幸粋€查詢qj e Q看作一條超邊ej e E,查詢?nèi)罩局兴胁樵冊L問索引節(jié) 點ISk中倒排列表的開銷看作超圖劃分Π 中部分Vk的總權(quán)重Wk,所有查詢設(shè)及的所有分布式 節(jié)點數(shù)量看作超圖劃分Π 的總通信開銷Γ ( Π ); 水平索引分布問題可W歸約為(λ, η)-平衡的超圖劃分問題,即Π 中每個子頂點集Vk對 應(yīng)分配給索引節(jié)點I Sk的實體集合Ok,每個Wk對應(yīng)I Sk的所有計算負(fù)載,每對頂點的相似性對 應(yīng)每對實體間的相似性,Γ ( Π )對應(yīng)查詢Q設(shè)及的總通信開銷;具體來說,使用超圖H= (V, E)表示用戶查詢集與水平劃分中實體集之間的交互;在超圖Η中,每個實體〇1代表一個頂點 Vi e V,每個查詢qj e Q代表一條超邊ej e Ε,每個頂點Vi的權(quán)重wi代表處理該實體oi的計算負(fù) 載,每個頂點記錄一組它所包含tokens詞的訪問頻率; 假定f (ti)為token詞ti的訪問頻率,即查詢?nèi)罩局衪oken詞ti的頻率,在查詢處理中,頂 點Vi的權(quán)重Wi采用下式進行度量:其中|?|表示每個實體0的平均tokens詞個數(shù)。
【文檔編號】G06F17/30GK106095951SQ201610422994
【公開日】2016年11月9日
【申請日】2016年6月13日 公開號201610422994.5, CN 106095951 A, CN 106095951A, CN 201610422994, CN-A-106095951, CN106095951 A, CN106095951A, CN201610422994, CN201610422994.5
【發(fā)明人】王紅濱, 王念濱, 周連科, 祝官文, 王瑛琦, 何鳴, 宋奎勇
【申請人】哈爾濱工程大學(xué)