個(gè)節(jié)點(diǎn)之間負(fù)載均衡。由譜哈希定義可知,相似的數(shù)據(jù)極有 可能映射到同一個(gè)哈希桶中,再通過(guò)使用映射函數(shù)ξ,相似的桶編號(hào)有極大概率被映射為相 近的整數(shù),即這些整數(shù)之間擁有較小的I 1距離。這樣我們認(rèn)為I1能夠表征哈希桶之間的距 離,即若桶編號(hào)為% V2的哈希桶中包含相似的高維數(shù)據(jù)點(diǎn),那么對(duì)應(yīng)哈希桶在分布式網(wǎng)絡(luò) 中的位置越相近。因此由上述結(jié)論我們得到如下結(jié)論:對(duì)于任意兩個(gè)點(diǎn)^,^£5,?(| &.^-a. V21 <δ)關(guān)于I |V1-V2| I :單調(diào)遞減。其證實(shí)過(guò)程如下:
[0032]當(dāng)|卜1_¥2||1 = (3時(shí),令8((3,5)=?(|3.¥1-3.¥2|<3),因此只需要證明對(duì)于5,8((3, S)關(guān)于C單調(diào)遞減。
[0033]已知向量a滿(mǎn)足標(biāo)準(zhǔn)柯西分布,從P-穩(wěn)態(tài)分布中抽取k個(gè)隨機(jī)變量組成k維向量a。 由口-穩(wěn)態(tài)分布定義可知:3.¥與|卜||3同分布(乂是口-8七31316分布的一個(gè)隨機(jī)變量),則3.¥1-a. V2與cX同分布。
[0034]因 I a. vi_a. V21 = I I V1-V21 |i|X|=c|X|(p = l),說(shuō)明 I a. vi_a. V21 與c IX I 同分布,因 此I a. V1_a. V21的概率密度函數(shù)
其中f(t)是滿(mǎn)足標(biāo)準(zhǔn)柯西分布的隨機(jī)變量絕對(duì)值 的概率密度函數(shù):
[0037] 并對(duì)c求偏導(dǎo)可得:
[0039] 由P-穩(wěn)態(tài)分布的定義可知,|a.V1_a.V2|與I |V1-V2| UlXl同分布,而a滿(mǎn)足柯西概率
Vi,V2表示k-維整數(shù)向量的桶的ID。因此,可以通過(guò)ε Cauchy將各個(gè)桶 ID映射到不同的整數(shù)值,這些值滿(mǎn)足柯西分布。
[0040] 以上推理過(guò)程表明了若兩個(gè)桶相似,則桶映射后的整數(shù)也相近。這說(shuō)明用eCauchy表 示哈希桶在Chord環(huán)上的位置是有意義的。
[00411 (3)分布式節(jié)點(diǎn)網(wǎng)絡(luò)的構(gòu)建
[0042] Chord提供一種能在P2P網(wǎng)絡(luò)快速定位資源的的算法,其實(shí)就是給定一個(gè)關(guān)鍵字 Key,并能夠?qū)⑵溆成涞侥硞€(gè)節(jié)點(diǎn)。Chord采用一致性哈希為每個(gè)節(jié)點(diǎn)和關(guān)鍵字產(chǎn)生一個(gè)m位 的ID,并按照ID的大小構(gòu)成環(huán)形拓?fù)?,同時(shí)Chord還維護(hù)了一張最多m項(xiàng)的路由表即Finger 表。這里我們?cè)O(shè)計(jì)了一個(gè)虛擬桶Virtual Bucket(VB) ,Virtual Bucket用來(lái)存儲(chǔ)buckets, 并且Virtual Bucket上維護(hù)一個(gè)有關(guān)Bucket的索引表,索引項(xiàng)為〈Bucket ID,VB ID>,索引 表用于定位每個(gè)VB上的Buckets; Chord環(huán)Virtual Bucket(VB)上可能會(huì)發(fā)生數(shù)據(jù)分布不均 的情形,對(duì)此要對(duì)虛擬桶進(jìn)行負(fù)載均衡,具體實(shí)現(xiàn)如下:
[0043] Al.計(jì)算負(fù)載過(guò)重的虛擬桶的節(jié)點(diǎn)P上的各個(gè)ε的一維實(shí)數(shù)值ε '所對(duì)應(yīng)的虛擬桶內(nèi) 的原始數(shù)據(jù)項(xiàng)數(shù)量之和,并記包含最大、最小值的虛擬桶對(duì)應(yīng)的位置分別為emax'和
[0044] A2.選擇適當(dāng)?shù)恼麛?shù)',它使得[emin ',' ]和(',emax ' ]之間的虛擬桶 內(nèi)的原始數(shù)據(jù)項(xiàng)數(shù)量之和均等;
[0045] A3.分配一個(gè)新的虛擬節(jié)點(diǎn)P',其位置為errf(3r',將[emin',e rrfe3r']范圍內(nèi)的虛擬桶 包含的數(shù)據(jù)迀移到P'所在的虛擬桶,同時(shí)修改兩個(gè)節(jié)點(diǎn)的索引表。
[0046] 通過(guò)將數(shù)據(jù)存儲(chǔ)在Chord環(huán)上,既滿(mǎn)足了數(shù)據(jù)的相似性存儲(chǔ)又滿(mǎn)足了節(jié)點(diǎn)的負(fù)載 均衡,降低了系統(tǒng)的負(fù)載率和相似性查詢(xún)開(kāi)銷(xiāo)。
[0047] 本發(fā)明方案所公開(kāi)的技術(shù)手段不僅限于上述實(shí)施方式所公開(kāi)的技術(shù)手段,還包括 由以上技術(shù)特征任意組合所組成的技術(shù)方案。
【主權(quán)項(xiàng)】
1. 基于譜哈希的相似性存儲(chǔ)設(shè)計(jì)方法,其特征在于,包括 步驟1、通過(guò)對(duì)數(shù)據(jù)集進(jìn)行學(xué)習(xí)并且訓(xùn)練得到譜哈希的映射函數(shù),然后將高維原始數(shù)據(jù) 項(xiàng)U作為映射函數(shù)的輸入項(xiàng),計(jì)算出每個(gè)數(shù)據(jù)項(xiàng)的k維二進(jìn)制哈希編碼V,把具有相同哈希編 碼的數(shù)據(jù)項(xiàng)放入同一個(gè)哈希桶中,v作為相應(yīng)哈希桶的桶編號(hào); 步驟2、根據(jù)哈希桶編號(hào)v計(jì)算每個(gè)哈希桶在Chord環(huán)上的位置, ε Cauchy (v ) - ? . V 其中向量a滿(mǎn)足標(biāo)準(zhǔn)柯西分布,為從ρ-穩(wěn)態(tài)分布中抽取k個(gè)隨機(jī)變量組成的k維向量,v 表示哈希桶的桶編號(hào); 步驟3、查找Chord路由表找到V所屬的哈希桶所在的Chord環(huán)上的虛擬桶。2. 根據(jù)權(quán)利要求1所述的基于譜哈希的相似性存儲(chǔ)設(shè)計(jì)方法,其特征在于,步驟3后還 包括步驟4、虛擬桶負(fù)載過(guò)大時(shí),對(duì)Chord環(huán)上的虛擬桶進(jìn)行桶負(fù)載調(diào)控。3. 根據(jù)權(quán)利要求2所述的基于譜哈希的相似性存儲(chǔ)設(shè)計(jì)方法,其特征在于,所述桶負(fù)載 調(diào)控的過(guò)程為: A4-1.計(jì)算負(fù)載過(guò)重的虛擬桶的節(jié)點(diǎn)P上的各個(gè)ε的一維實(shí)數(shù)值ε '所對(duì)應(yīng)的虛擬桶內(nèi)的 原始數(shù)據(jù)項(xiàng)數(shù)量之和,并記包含最大、最小值的虛擬桶對(duì)應(yīng)的位置分別為£_'和£_'; Α4-2 .選擇適當(dāng)?shù)恼麛?shù)ε refer ',它使得[emin ',er ' ]和(ε ref er ',emax ' ]之間的虛擬桶內(nèi) 的原始數(shù)據(jù)項(xiàng)數(shù)量之和均等; A4-3.分配一個(gè)新的虛擬節(jié)點(diǎn)P',其位置為errf(3r',將[emin',errfe3r']范圍內(nèi)的虛擬桶包 含的數(shù)據(jù)迀移到P '所在的虛擬桶,同時(shí)修改兩個(gè)節(jié)點(diǎn)的索引表。
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種基于譜哈希的相似性存儲(chǔ)設(shè)計(jì)方法,利用譜哈希方法與數(shù)據(jù)映射算法相結(jié)合,快速地將不同種類(lèi)的高維數(shù)據(jù)映射到基于分布式哈希表的分布式節(jié)點(diǎn)空間。通過(guò)將哈希表分布在Chord環(huán)上構(gòu)建,同時(shí)利用設(shè)計(jì)的新型數(shù)據(jù)映射算法將相應(yīng)的哈希桶映射到Chord環(huán)上,從而保證了兩個(gè)哈希桶內(nèi)的數(shù)據(jù)越相近則兩個(gè)桶在Chord環(huán)上距離越近,并且提出了虛擬桶的概念,將每個(gè)物理節(jié)點(diǎn)服務(wù)器看作一個(gè)或多個(gè)虛擬桶,通過(guò)動(dòng)態(tài)的調(diào)整每個(gè)虛擬桶的負(fù)載,使得Chord環(huán)上的節(jié)點(diǎn)滿(mǎn)足負(fù)載均衡。解決了相似性查詢(xún)時(shí)系統(tǒng)查詢(xún)開(kāi)銷(xiāo)過(guò)大問(wèn)題,提高了數(shù)據(jù)的查詢(xún)效率。
【IPC分類(lèi)】G06F17/30
【公開(kāi)號(hào)】CN105550208
【申請(qǐng)?zhí)枴緾N201510872820
【發(fā)明人】胡海峰, 黃賽金, 吳建盛
【申請(qǐng)人】南京郵電大學(xué)
【公開(kāi)日】2016年5月4日
【申請(qǐng)日】2015年12月2日