• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于D維映射的布谷鳥哈希表

    2022-03-15 00:39:50朱海婷何高峰宛俊美鄧瑩瑩
    關(guān)鍵詞:鍵值布谷鳥哈希

    朱海婷,李 男,張 璐,何高峰,宛俊美,鄧瑩瑩

    (1.南京郵電大學(xué)物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003 2.南京審計大學(xué)信息工程學(xué)院,江蘇 南京 211815)

    隨著云計算、物聯(lián)網(wǎng)、社交網(wǎng)絡(luò)等技術(shù)的快速發(fā)展,大數(shù)據(jù)時代已經(jīng)到來,傳統(tǒng)的數(shù)據(jù)處理、存儲和分析技術(shù)存在著查詢效率低等問題[1]。截至2021年6月30日,F(xiàn)acebook的全球每月活躍用戶超過29億,平均每天有19.1億人登錄Facebook進(jìn)行瀏覽、上傳信息,每日活躍用戶同比增長7%[2]。因此如何在有限的資源內(nèi)處理海量數(shù)據(jù)成為計算機(jī)科學(xué)及數(shù)理統(tǒng)計等領(lǐng)域的挑戰(zhàn)。

    鍵值存儲通過鍵值對 (Key?Value Pairs,KV Pairs)的形式存儲數(shù)據(jù),是現(xiàn)代大規(guī)模存儲系統(tǒng)不可或缺的一部分。哈希表是根據(jù)鍵(key)而直接訪問內(nèi)存存儲位置的數(shù)據(jù)結(jié)構(gòu),能夠支持快速查詢,被廣泛應(yīng)用于數(shù)據(jù)挖掘、數(shù)據(jù)庫、存儲、網(wǎng)絡(luò)等各個領(lǐng)域[3-6]。但當(dāng)負(fù)載較高時,哈希沖突會頻繁發(fā)生,為了更好地解決沖突,誕生了許多解決方案和哈希表存儲結(jié)構(gòu)。

    線性探查法(Linear Hash)和雙重哈希函數(shù)法(Double Hash)是傳統(tǒng)解決哈希沖突方法中的開放尋址法,但其需要額外的時間和資源來解決沖突,會影響插入和查找的性能。經(jīng)典哈希表數(shù)據(jù)結(jié)構(gòu)還包括鏈?zhǔn)焦1恚↙ink Hash),孔雀哈希(Peacock Hashing)[7],d?left Hash[8]等。與傳統(tǒng)哈希結(jié)構(gòu)為每個數(shù)據(jù)元素提供一個候選位置不同,布谷鳥哈希表(Cuckoo Hash)[9]是一種通過多個哈希函數(shù)實現(xiàn)多位置選擇來解決哈希沖突問題的數(shù)據(jù)結(jié)構(gòu)。Cuckoo Hash能夠?qū)崿F(xiàn)高負(fù)載率,且其在最壞情況下具有常數(shù)級查找時間,目前已成為許多領(lǐng)域的首選散列技術(shù),例如存儲系統(tǒng)[10]、數(shù)據(jù)處理[11]等。

    本文是在鍵值對存儲的架構(gòu)下,設(shè)計優(yōu)化其中的內(nèi)存數(shù)據(jù)組織結(jié)構(gòu)——哈希表,以實現(xiàn)更高性能的鍵值對存儲。布谷鳥哈希表作為經(jīng)典的哈希表算法,具有其優(yōu)點的同時也存在一些可以改進(jìn)的地方:(1)布谷鳥哈希在一次查找過程中需要探查多個桶,當(dāng)表太大時,會產(chǎn)生較多額外的訪問,影響效率;(2)當(dāng)在插入過程中無法解決沖突時,布谷鳥哈希建議進(jìn)行重新哈希,極大浪費時間和空間資源;(3)布谷鳥哈希不能預(yù)知鍵值對在插入時是否存在空的候選桶,只能隨機(jī)方式選擇桶探測,需花費大量時間才能找到空余候選桶,甚至可能陷入無限循環(huán)。

    為進(jìn)一步解決上述問題,本文提出了基于D維映射的布谷鳥哈希算法 DC Hash(D?Dimensional Cuckoo Hash),主要思想如下:(1)通過對哈希表進(jìn)行屬性劃分,在查找鍵值對時預(yù)先縮小可能包含該鍵值對的桶的子集范圍,減少內(nèi)存訪問時間,有效提高了查找性能;(2)引入鏈表結(jié)構(gòu)到布谷鳥哈希表結(jié)構(gòu)中,以存儲插入失敗的所有鍵值對,而不必進(jìn)行重新哈希;(3)增加輔助數(shù)據(jù)結(jié)構(gòu),以預(yù)知鍵值對在插入時是否存在空的候選桶,預(yù)先識別踢出是否有必要,減少操作時間,提高效率。最后在NYTimes數(shù)據(jù)集和來自CAIDA的被動測量數(shù)據(jù)集上進(jìn)行了對比實驗,結(jié)果表明,DC Hash有效改進(jìn)了布谷鳥哈希存在的問題,且從平衡綜合性能考慮優(yōu)于其他幾種常見的哈希表。

    1 相關(guān)工作

    近年來,布谷鳥哈希算法得到了廣泛關(guān)注,且為了提高布谷鳥哈希在查找和插入方面的性能,提出了大量的改進(jìn)方案。本節(jié)首先介紹了傳統(tǒng)的布谷鳥哈希算法,然后對不同方向的改進(jìn)方案進(jìn)行簡單介紹。

    1.1 布谷鳥哈希表

    為了解決哈希沖突,Pagh等[9]于2004年最早提出了布谷鳥哈希算法。布谷鳥哈希使用d個哈希函數(shù)為每個待插入的鍵值對提供多個候選存儲桶,以減少沖突。它包含d個長度為n的哈希表(T1,T2,…,Td)和 d 個哈希函數(shù)(H1,H2,…,Hd),把每一個鍵值對在哈希表中的對應(yīng)位置叫做一個桶(bucket)。需要插入的鍵值對(key,value)通過哈希函數(shù)求得d個散列值 H1(key),H2(key),…,Hd(key),對應(yīng)于 d 個哈希表中的候選桶位置,將被存儲在其中一個。因此當(dāng)查詢一個鍵值對時,只需要檢查這d個桶。但是,如果在插入期間所有候選桶都已被占用,則需要“踢”出其中一個占用者以騰出空間放入需要插入的項。被踢出的項同樣通過哈希函數(shù)尋找其他表中的候選桶是否為空,否則“踢出”將繼續(xù),直到每個項找到存儲的桶。踢出機(jī)制使得Cuckoo Hash相比其他的哈希算法能夠更高效靈活地解決沖突,且實現(xiàn)了高負(fù)載率。

    d=2的布谷鳥哈希表的示例如圖1所示,包含兩個長度為4的哈希表(分別為T1,T2),每個哈希表對應(yīng)一個哈希函數(shù)(分別為Hash1,Hash2)。圖1分別展示了布谷鳥哈希在執(zhí)行插入操作時可能會出現(xiàn)的3種情況。圖1(a)中兩個映射位置均為空,則任意選擇一個位置插入;圖1(b)中映射位置僅一個為空,直接插入該空桶;圖1(c)中兩個映射位置都已經(jīng)存在鍵值對,選擇<k1,v1>從當(dāng)前桶中踢出,將<k2,v2>插入該桶,再將<k1,v1>重新在另一個表中使用相應(yīng)哈希函數(shù)尋找位置插入桶中。在插入過程中,若被踢出的次數(shù)達(dá)到設(shè)定的閾值,則認(rèn)為哈希表己滿,進(jìn)行重新哈希。

    圖1 插入Cuckoo Hash

    重新哈希是指讀取所有需要插入的項,并使用不同的哈希函數(shù)將它們放入一個更大的表中,在此期間哈希表完全不可用,這不僅極大浪費時間和空間資源,并且代價高昂。因此自從提出布谷鳥哈希以來這個問題就引起了廣泛關(guān)注,接下來介紹常見的改進(jìn)方案。

    1.2 通過緩解哈希沖突

    緩解哈希沖突的方法也有多種。第一種是對哈希表本身進(jìn)行擴(kuò)展緩解哈希沖突,例如 d?ary Cuckoo[12]和 blocked Cuckoo[13]哈希表將原始的布谷鳥哈希表從單個桶存儲單個鍵值對的簡單設(shè)計擴(kuò)展到在每個存儲桶中存儲l個鍵值對,可將負(fù)載率提高到90%以上。由于這兩種方法都是針對對象的“乘法”擴(kuò)展,因此經(jīng)常將兩者結(jié)合起來,使數(shù)據(jù)結(jié)構(gòu)更加靈活。另外一種是針對哈希沖突的特性,改變哈希沖突處理方式或者預(yù)先識別哈希沖突來處理。例如Min?Counter[14]在構(gòu)造哈希表時統(tǒng)計了每個桶內(nèi)發(fā)生哈希沖突的次數(shù),發(fā)現(xiàn)在此過程中,每個哈希桶中發(fā)生沖突的頻率不平衡。Min?Counter的核心思想是在鍵值對插入過程中發(fā)生踢出操作時,自主選擇計數(shù)器數(shù)值最小的桶來形成“不忙碌”的踢出路徑以盡快找到空桶,從而緩解哈希沖突和實現(xiàn)數(shù)據(jù)遷移,進(jìn)而提高了空間效率和減少了插入延遲。

    1.3 通過增加輔助數(shù)據(jù)結(jié)構(gòu)

    為了在插入過程中減少內(nèi)存中不必要的桶探測,一種策略是在探測所有候選桶之前使用一個小的summary來確定鍵值對的位置。增加的summary需要足夠小,以便存儲在快速內(nèi)存中(如 ASIC/EPGA中的SRAM、CPU緩存)。整個哈希表往往由于太大,只能存儲在慢內(nèi)存中(如 DRAM)。Fast Hash[15]是第一個在快速內(nèi)存中使用summary來減少慢內(nèi)存中內(nèi)存訪問的方案。另一種方法是使用Bloom Filter記錄每個子表的存儲情況。由于對快速內(nèi)存的訪問速度很快,此時哈希表的查詢性能取決于慢內(nèi)存部分所消耗的時間,因此可以使用桶探測數(shù)作為查詢性能的衡量標(biāo)準(zhǔn)。例如孔雀哈希[7]和分段哈希[16](Segmented Hash),在這類哈希表中,由于Bloom Filter的誤報率與插入的鍵值對數(shù)量成正比,一個關(guān)鍵問題是如何減少插入到summary中鍵值對數(shù)量。孔雀哈希很大程度上減少了這個數(shù)量,但由于它使用了多個Bloom Filter,這使得查詢輔助數(shù)據(jù)結(jié)構(gòu)更加復(fù)雜。對孔雀哈希進(jìn)行改進(jìn)的方案有移位哈希表(SHT)[17]。SHT中的哈希表部分將鍵值對分為 abroad和 at?home兩類,在 summary中只插入abroad的項。在summary部分,提出使用一個增強(qiáng)的Bloom Filter來代替多個Bloom Filter,實現(xiàn)了更快的查詢速度。

    Kirsch等[18]提出 CHS 機(jī)制 (Cuckoo Hashing with a Stash)來緩解哈希沖突,CHS在Cuckoo哈希表的基礎(chǔ)上增加一個額外緩沖空間(Stash)。Stash用于臨時存儲踢出次數(shù)超過閾值的鍵值對而不是立刻重新哈希。Multi?Copy Cuckoo Hashing[19]則將鍵值對的副本同時插入d個哈希表中,因此當(dāng)有多個候選桶可用時,不必在插入時隨便選擇一個候選桶。

    1.4 其他改進(jìn)方案

    其他改進(jìn)方案如Single Hash[20]認(rèn)為其他方案的哈希計算開銷都很高,因為這些方案數(shù)據(jù)結(jié)構(gòu)中需要多個哈希函數(shù),而性能好的哈希函數(shù)通常都非常復(fù)雜。哈希函數(shù)的計算是在CPU上進(jìn)行的,將占用大量CPU資源,進(jìn)而影響系統(tǒng)性能。因此,Single Hash提出減少哈希函數(shù)的數(shù)量到一個。Single Hash顯著提高了基于哈希的數(shù)據(jù)結(jié)構(gòu)的速度,同時保持準(zhǔn)確性不變。它可以應(yīng)用于使用多個哈希函數(shù)的大多數(shù)數(shù)據(jù)結(jié)構(gòu),并提高它們的性能。

    面向降低寫操作開銷的存儲系統(tǒng)性能優(yōu)化方法CoCuckoo[21]認(rèn)為由于布谷鳥哈希表在執(zhí)行查詢操作時,需要探測多個位置,執(zhí)行遞歸踢出操作,最終可能因循環(huán)踢出超過給定閾值而插入失敗,表現(xiàn)出其慢寫性能。基于這些,CoCuckoo則是一種面向降低寫操作開銷的并發(fā)布谷鳥哈希方案。CoCuckoo不僅會預(yù)判插入過程中是否會發(fā)生無限循環(huán),并且通過圖粒度鎖機(jī)制使得一次只允許一個線程訪問共享路徑,從而支持并發(fā)寫入和讀取操作,提高吞吐量性能。

    2 D維布谷鳥哈希表

    本文在布谷鳥哈希的基礎(chǔ)上進(jìn)行改進(jìn),提出了基于 D維的布谷鳥哈希表,稱為 DC Hash(D?Dimensional Cuckoo Hash Table,DC Hash),它包括哈希表數(shù)據(jù)結(jié)構(gòu)和輔助數(shù)據(jù)結(jié)構(gòu)兩部分。本結(jié)構(gòu)以布谷鳥哈希表的踢出機(jī)制為基礎(chǔ),不僅有效改善了哈希表中遇見沖突需要重新哈希的問題,并且能夠預(yù)先識別踢出是否有必要,有效減少了操作時間,能夠極大地提升哈希表的負(fù)載率。

    2.1 數(shù)據(jù)結(jié)構(gòu)

    為了達(dá)到理想的插入查找性能,DC Hash建立哈希表數(shù)據(jù)結(jié)構(gòu)。如圖2所示,DC Hash的數(shù)據(jù)結(jié)構(gòu)包括兩個部分:哈希表及輔助數(shù)據(jù)結(jié)構(gòu)。

    (1)哈希表T包含t個子表(t是D的倍數(shù),D為DC Hash的維數(shù)),各子表的大小相等,其中最后一個子表(Tt-1)為鏈?zhǔn)浇Y(jié)構(gòu)表。每個子表內(nèi)有k個桶(bucket),每一個桶能存儲一個鍵值對。DC Hash根據(jù)D的值對哈希表T進(jìn)行劃分,圖2為D=2時的DC Hash結(jié)構(gòu)圖。當(dāng)D=2時,對于哈希表部分,DC Hash 將 T0與 T1,T2與 T3,至 Tt-2與 Tt-1分別結(jié)合在一起,得到t/2組大小相等的哈希表,至此哈希表T 被分為兩個屬性(兩個組):T0,T2,…,Tt-2為同一屬性(同一組),T1,T3,…,Tt-1為同一屬性(同一組),形成2維映射空間。

    (2)輔助數(shù)據(jù)結(jié)構(gòu)部分包含布隆過濾器(Bloom Filter)和位圖(Bitmap)[22]。如圖 2 所示,t個哈希子表(T0,T1,…,Tt-1)對應(yīng) t個布隆過濾過濾器(BF0,BF1,…,BFt-1)。當(dāng) D=2,DC Hash 將哈希子表進(jìn)行結(jié)合時同樣將其對應(yīng)的布隆過濾器進(jìn)行結(jié)合,得到t/2個大小相等的布隆過濾器(B0,B1,…,Bt/2-1),然后將這些大小相等的過濾器疊加在一起,形成一個統(tǒng)一的多位布隆過濾MB(Multi?bit Bloom Filter)。另外每個子表有一個相對應(yīng)的 Bitmap,Bitmap中的每一個比特與其對應(yīng)子表中的一個桶相對應(yīng);空桶對應(yīng)位圖中的比特為0,反之對應(yīng)位圖中的比特為1。利用上述哈希表數(shù)據(jù)結(jié)構(gòu)和輔助數(shù)據(jù)結(jié)構(gòu),實現(xiàn)鍵值對的插入。

    圖2 DC Hash結(jié)構(gòu)圖(D=2)

    接下來詳細(xì)介紹DC Hash的基本操作,包括鍵值對的插入、查詢和刪除。

    2.2 插入操作

    插入給定鍵值對(key,value)的過程如圖3和4所示,包括以下幾個步驟。

    圖3 DC Hash 插入鍵值對(t=4,D=2,k=4)

    圖4 DC Hash的插入操作流程

    (1)判定備選哈希表屬性。將鍵值對中的key值經(jīng)過主哈希函數(shù)Hm進(jìn)行計算,得到對應(yīng)哈希值p=Hm(key),根據(jù) p 決定備選哈希表的屬性(共 t/D個備選哈希表)。

    (2)求得備選桶位置。將鍵值對中的key分別通過在步驟1中確定的備選哈希表對應(yīng)的哈希函數(shù)H1、H2求得相應(yīng)的哈希值 j1=H1(key),j2=H2(key),即為其在備選表中對應(yīng)的備選桶位置。

    (3)判斷備選桶是否為空。通過位圖判斷這t/D個哈希表內(nèi)的備選桶是否為空,B[p][j]=0 代表該位置為空,反之不為空。

    (4)插入鍵值對。若備選桶中僅存在一個空桶,則直接插入;若備選桶存在多個空桶,則將鍵值對插入映射位置為空的負(fù)載率最小的哈希表中;若所有同屬性子表不存在空桶,則采取踢出機(jī)制:按順序選擇出各個候選子表的對應(yīng)桶的值,首先預(yù)判是否能找出另外一個能容納候選桶,若有,選擇負(fù)載因子最小的哈希表進(jìn)行插入,若沒有,則進(jìn)行盲踢(盲踢與踢出機(jī)制類似,為第二個被踢出值采用同樣方式尋找候選桶)。若盲踢達(dá)到閾值上限θ,在最后一個子表上掛鏈表,使用指針將鍵值對掛在鏈表上。

    (5)更新多位布隆過濾器MB和位圖。假設(shè)要插入的子表的索引為m(0≤m≤t-1),則更新m所在組的布隆過濾器,并更新對應(yīng)子表的Bitmap。

    圖3在步驟4展示了插入操作備選桶的3種存在情況示例。情況1為僅有一個位置為空,直接插入該空桶;情況2為兩個位置均為空,選擇負(fù)載因子較小的表進(jìn)行插入;情況3為兩個位置均不為空,則為原本桶中元素尋找新的位置(通過哈希表對應(yīng)的哈希函數(shù)),若能找到位置,將其從原位置踢出并放入新桶中,然后將待插入元素插入(踢出成功);若不能找到位置,則將待插入元素掛在最后一個子表的鏈表上。

    2.3 查詢操作

    若要查詢給定key的value值或者判斷鍵值對是否存在哈希表中,則可以通過查詢操作查詢給定值。過程如圖5所示,包括以下幾個步驟。

    圖5 DC Hash的查詢操作流程

    (1)首先在多位布隆過濾器中查詢key值的返回值。若返回i,表明key的所在組為Bi,則執(zhí)行步驟 2;若返回 false,表明 key不存在于哈希表中。

    (2)通過代入主哈希函數(shù)計算出鍵值對具體存在哈希子表的屬性。

    (3)在返回的哈希子表的對應(yīng)位圖中判斷此處是否存在鍵值對。

    (a)若存在,則查找對應(yīng)哈希子表的映射位置的key是否與其相同:若相同,返回其value值,查找結(jié)束;若不相同且為最后一個哈希鏈表,則到鏈表中查詢鍵值對。

    (b)若不存在,說明不存在于哈希子表中。

    2.4 刪除操作

    若需刪除鍵值對,則首先需要在哈希表中查詢到具體值,若查詢到的相應(yīng)key的value值與需要刪除的鍵值對相同,則進(jìn)行桶內(nèi)部清空操作,最后將對應(yīng)位置的位圖置零;若value值不相同,則代表刪除失敗。

    3 性能評估

    3.1 實驗環(huán)境

    (1)硬件平臺

    所有實驗在一臺4核(8線程,Intel Core i5@4.0 GHz)電腦上運行,所有哈希算法均用C++實現(xiàn)。

    (2) 數(shù)據(jù)集

    實驗數(shù)據(jù)共有兩組,第一組來自DocWords中的NYTimes數(shù)據(jù)集。其來自于UCI機(jī)器學(xué)習(xí)存儲庫,它是數(shù)據(jù)庫、領(lǐng)域理論和數(shù)據(jù)生成器的集合。NYTimes數(shù)據(jù)集總共包含大約7 000萬個項,它包括5個單詞包形式的文本集合,實驗將DocID和WordID組合在一起以形成每個鍵值對的key,value是集合中的單詞總數(shù),選擇前80 000個項組成鍵值對作為第一個數(shù)據(jù)集dataset1。

    第二組來自CAIDA上的被動測量數(shù)據(jù)集,CAIDA通過操作主動和被動測量基礎(chǔ)設(shè)施,并收集、管理、歸檔和共享這些設(shè)施測量產(chǎn)生的數(shù)據(jù)集。被動測量數(shù)據(jù)集包含CAIDA與各種操作網(wǎng)絡(luò)基礎(chǔ)設(shè)施的機(jī)構(gòu)合作被動監(jiān)測選定鏈路上的流量。實驗選擇2016年CAIDA的equinix?chicago監(jiān)視器在高速互聯(lián)網(wǎng)骨干鏈路上的一分鐘匿名流量。將數(shù)據(jù)包中提取的源IP地址設(shè)置為每個鍵值對的key,將value設(shè)置為一分鐘內(nèi)此IP地址出現(xiàn)的頻次。由于一分鐘內(nèi)產(chǎn)生了48萬個不重復(fù)的IP地址,因此將這48萬個鍵值對作為第二個數(shù)據(jù)集dataset2。

    (3)實驗設(shè)置

    將采集到的數(shù)據(jù)集作為輸入來對哈希表性能進(jìn)行測試。數(shù)據(jù)集中每一條項目為一個(key,value)鍵值對,其中每個鍵值對的value值的大小固定為8位。使用β來表示所有子表中的桶的總個數(shù)與需要插入的總項目數(shù)的比率;使用n表示需要插入到哈希表中的鍵值對的數(shù)量,使用T表示哈希子表數(shù)量,則哈希子表的總大?。ㄍ暗膫€數(shù))為β×n,每個子表大小為β×n/T;使用D表示DC Hash的維數(shù);使用θ表示盲踢次數(shù),踢出的次數(shù)達(dá)到閾值則會停止盲踢,并將此鍵值對插入到最后一個哈希鏈表中。

    DC Hash的最后一個哈希表為鏈?zhǔn)焦1恚核怯梢粋€帶有b個桶的哈希表和一個哈希函數(shù)組成,具有均勻分布的輸出。每個桶都有單元鏈,每個單元有3個字段組成,即鍵、值和指針,指針字段指向鏈中的下一個單元(如果有下一個)。每個哈希表的大小根據(jù)插入元素的個數(shù)決定。

    3.2 性能指標(biāo)

    通過如下衡量指標(biāo)比較不同哈希表之間的性能:

    (1)哈希表負(fù)載因子(load factor):是指元素個數(shù)counter與空間大小Tsize的比值。計算方法如式(1)所示。當(dāng)哈希表大小相同且插入相同的數(shù)據(jù)時,哈希表的負(fù)載因子越大,代表哈希表性能越好。

    (2)插入代價(Insert Costs):插入一個元素的內(nèi)存訪問次數(shù),在這里將插入一個元素對桶內(nèi)的平均訪問次數(shù)作為插入時間。內(nèi)存訪問次數(shù)越少,說明哈希表的性能越好。

    (3)查詢代價(Search Costs):查詢一個元素的內(nèi)存訪問次數(shù),在這里將查詢一個元素對桶內(nèi)的平均訪問次數(shù)作為插入時間。內(nèi)存訪問次數(shù)越少,說明哈希表的性能越好。

    3.3 性能比較

    將不同維數(shù)的DC Hash與6種已知的哈希表即Link Hash、Linear Hash、Double Hash、布谷鳥哈希、d?left Hash和孔雀哈希進(jìn)行比較。將盲踢次數(shù)θ設(shè)置為1,β從1.05變化到6。由于存在哈希鏈表,DC Hash不會出現(xiàn)插入失敗的情況,但在Linear Hash、Double Hash和布谷鳥哈希中,每當(dāng)插入過程中發(fā)生碰撞時,就會嘗試探測另一個桶,而這種探測可能不斷重復(fù)。實驗將會為這3種方案設(shè)置探測遞歸的最大次數(shù)500次,每次插入的最大內(nèi)存訪問次數(shù)存在限制。在500次嘗試之后,如果碰撞仍然存在,那么此次無法為鍵值對找到空桶,為插入失敗。在孔雀哈希和d?left Hash中,為了避免插入失敗,也將子表變成哈希鏈表來避免出現(xiàn)插入失敗。接下來,實驗比較這些哈希方法在負(fù)載因子、插入代價和查詢代價方面的性能。

    (1)負(fù)載因子

    在不同的比例下,各個哈希表的負(fù)載因子變化如圖6所示,負(fù)載因子隨著β的增大而減小,兩者成反比。從圖中可以看出,對于DC Hash,當(dāng)D=2時負(fù)載因子最高,且隨著選擇維數(shù)D的增加,負(fù)載因子呈遞減的趨勢,即越來越低。當(dāng)β為1.05時,可以發(fā)現(xiàn)DC Hash(D=2,3),Double Hash 和 Linear Hash 均達(dá)到了0.9以上,Link Hash負(fù)載因子最小,為0.6左右。以情況最好的D=2時為DC Hash的代表,當(dāng)β在1.05~4.00區(qū)間時,DC Hash的負(fù)載因子是最大的,能夠達(dá)到Link Hash的1.5倍。也就是說,DC Hash可以在給定空間的大小下,存儲更多的鍵值對,能夠更充分地利用空間。當(dāng)β更大時(到達(dá)6)Peacock Hash和d?left Hash才能獲得高的負(fù)載因子,即它們需要更大的內(nèi)存空間才能獲得高的負(fù)載因子。

    圖6 不同比例下哈希表負(fù)載因子比較

    (2)插入代價

    在不同比例下,各個哈希表每次插入的內(nèi)存訪問次數(shù)如圖7所示,插入時間隨著β的增大而減小。從圖中可以看出,在β較小時(1.05~2.00區(qū)間),隨著選擇維數(shù)D的增大,DC Hash的插入代價呈遞減趨勢,即越來越小。除了Link Hash每次插入時內(nèi)存訪問次數(shù)最少,DC Hash的訪問代價均低于其他算法。當(dāng)β大于2時,幾乎所有哈希表每次插入內(nèi)存的訪問次數(shù)都在2次以下,而當(dāng)β很小時,Cuckoo Hash和Linear Hash的插入速度非常慢,d?left Hash次之,Link Hash最小。DC Hash在所有的哈希表中,達(dá)到除了Link Hash之外的內(nèi)存訪問次數(shù)最少。這證明了,由于Bloom filters和Bitmap的輔助,DC Hash能夠在實現(xiàn)高負(fù)載率的情況下還能夠有較低的訪問內(nèi)存代價,而其他算法需要更大的內(nèi)存空間才能獲得與DC Hash相似的內(nèi)存訪問代價。

    圖7 不同比例下哈希表插入時間比較

    (3)查詢代價

    在不同比例下,各個哈希表每次查詢的內(nèi)存訪問次數(shù)如圖8所示,插入時間隨著β的增大而減小,兩者成反比。從圖中可以看出,隨著選擇維數(shù)D的增大,DC Hash的查詢代價呈遞減趨勢,即越來越小。且DC Hash同一維數(shù)的查詢代價隨著β的增大并沒有明顯的變化??傮w來看,Cuckoo Hash查詢最快,其次是 Link Hash和 Double Hash。由于 DC Hash對哈希表進(jìn)行了劃分屬性,所以查詢代價相較于其他算法會略高一些。當(dāng)維數(shù)D選取高于2的值時,可以實現(xiàn)與其他算法接近的查詢代價。

    圖8 不同比例下哈希表查詢時間比較

    4 結(jié)束語

    布谷鳥哈希算法是被廣泛認(rèn)可的高效利用存儲空間的哈希算法,本文針對布谷鳥哈希表在進(jìn)行哈希操作時,由于高負(fù)載而產(chǎn)生大量沖突導(dǎo)致最終有元素?zé)o法插入而重新哈希,浪費大量時間和空間的缺點,對哈希表進(jìn)行屬性劃分,加入鏈表結(jié)構(gòu),并將哈希表數(shù)據(jù)結(jié)構(gòu)和輔助數(shù)據(jù)結(jié)構(gòu)兩部分進(jìn)行結(jié)合,提出了一種解決沖突的實現(xiàn)方法 DC Hash(D?Dimensional Cuckoo Hash),能夠預(yù)先識別踢出是否有必要,有效減少了操作時間,提升哈希表的負(fù)載率。最后在NYTimes數(shù)據(jù)集和來自CAIDA的被動測量數(shù)據(jù)集上進(jìn)行了對比實驗,結(jié)果發(fā)現(xiàn),在相同的內(nèi)存空間下,當(dāng)選用合適的維度D時,DC Hash的負(fù)載率大于其他哈希表,且最多能達(dá)到Link Hash負(fù)載率的1.5倍;插入時能夠?qū)崿F(xiàn)除了Link Hash之外的最少內(nèi)存訪問次數(shù)。從平衡綜合性能考慮,DC Hash優(yōu)于其他幾種常見的哈希表。

    猜你喜歡
    鍵值布谷鳥哈希
    布谷鳥讀信
    布谷鳥讀信
    非請勿進(jìn) 為注冊表的重要鍵值上把“鎖”
    噓!布谷鳥來了
    大灰狼(2019年4期)2019-05-14 16:38:38
    一鍵直達(dá) Windows 10注冊表編輯高招
    電腦愛好者(2017年9期)2017-06-01 21:38:08
    布谷鳥叫醒的清晨
    基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
    基于維度分解的哈希多維快速流分類算法
    基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
    一種基于Bigram二級哈希的中文索引結(jié)構(gòu)
    人妻一区二区av| 偷拍熟女少妇极品色| 精品一区二区免费观看| 九九久久精品国产亚洲av麻豆| 一区二区三区高清视频在线| 夜夜看夜夜爽夜夜摸| 人人妻人人澡人人爽人人夜夜 | 亚洲欧美日韩无卡精品| 日本色播在线视频| 亚洲欧洲国产日韩| 国产亚洲91精品色在线| 在线免费观看的www视频| 少妇被粗大猛烈的视频| ponron亚洲| 在线a可以看的网站| 波多野结衣巨乳人妻| 色尼玛亚洲综合影院| 亚洲精品国产av蜜桃| 九九爱精品视频在线观看| 狠狠精品人妻久久久久久综合| 国产中年淑女户外野战色| 午夜激情福利司机影院| 亚洲av免费高清在线观看| 日韩欧美精品免费久久| 91在线精品国自产拍蜜月| 一级毛片电影观看| 夫妻午夜视频| 2018国产大陆天天弄谢| 亚洲av免费在线观看| 国产精品av视频在线免费观看| 男的添女的下面高潮视频| 一级毛片黄色毛片免费观看视频| av.在线天堂| 欧美日韩一区二区视频在线观看视频在线 | 亚洲美女视频黄频| 日韩欧美 国产精品| 国产免费一级a男人的天堂| av在线蜜桃| 纵有疾风起免费观看全集完整版 | 亚洲成人中文字幕在线播放| 亚洲精品亚洲一区二区| 91午夜精品亚洲一区二区三区| 天堂中文最新版在线下载 | 麻豆av噜噜一区二区三区| 成人二区视频| 成人鲁丝片一二三区免费| 久久精品久久久久久久性| 久热久热在线精品观看| 中文字幕亚洲精品专区| 天堂影院成人在线观看| 国产色爽女视频免费观看| 国产激情偷乱视频一区二区| 免费av观看视频| 熟女电影av网| 国产伦在线观看视频一区| 18+在线观看网站| 又爽又黄a免费视频| 欧美一级a爱片免费观看看| 亚洲成人一二三区av| 久热久热在线精品观看| 日韩在线高清观看一区二区三区| 99热这里只有精品一区| 高清在线视频一区二区三区| 精品一区二区三卡| 国产伦一二天堂av在线观看| 97超碰精品成人国产| 少妇高潮的动态图| 国产精品久久久久久久电影| 深夜a级毛片| 国产男人的电影天堂91| 我要看日韩黄色一级片| 美女xxoo啪啪120秒动态图| 久久6这里有精品| 国产成人a∨麻豆精品| 午夜精品在线福利| 国产成人aa在线观看| 亚洲国产色片| 久久精品夜色国产| 亚洲精品中文字幕在线视频 | 在线免费十八禁| 91久久精品国产一区二区成人| 亚洲高清免费不卡视频| 亚洲国产精品成人久久小说| 午夜福利成人在线免费观看| 亚洲精品中文字幕在线视频 | 国产亚洲最大av| 成人特级av手机在线观看| 国产国拍精品亚洲av在线观看| 婷婷六月久久综合丁香| 少妇熟女欧美另类| 69人妻影院| 夫妻午夜视频| 少妇的逼好多水| 久久97久久精品| 卡戴珊不雅视频在线播放| 免费观看无遮挡的男女| 一级a做视频免费观看| 欧美另类一区| 我要看日韩黄色一级片| 久久久久久久久久黄片| 亚洲熟妇中文字幕五十中出| 日韩中字成人| 国产有黄有色有爽视频| 国产av在哪里看| 久久国产乱子免费精品| 色吧在线观看| 99久久中文字幕三级久久日本| 男人舔女人下体高潮全视频| 国产伦精品一区二区三区视频9| 久久久久久久久大av| 99久久精品热视频| 日本色播在线视频| 国产 一区精品| 日日撸夜夜添| 男女边吃奶边做爰视频| 日韩成人av中文字幕在线观看| 免费观看无遮挡的男女| 午夜精品在线福利| 中文在线观看免费www的网站| 女的被弄到高潮叫床怎么办| 午夜福利成人在线免费观看| 国产v大片淫在线免费观看| 午夜精品国产一区二区电影 | av在线播放精品| 免费观看的影片在线观看| 中文乱码字字幕精品一区二区三区 | 国产大屁股一区二区在线视频| 亚洲av成人精品一区久久| 久久精品熟女亚洲av麻豆精品 | 亚洲怡红院男人天堂| 五月玫瑰六月丁香| 九九久久精品国产亚洲av麻豆| 国产精品三级大全| 日韩成人av中文字幕在线观看| 乱人视频在线观看| 嫩草影院入口| 国模一区二区三区四区视频| 春色校园在线视频观看| 午夜精品在线福利| 晚上一个人看的免费电影| 国产在视频线在精品| 国产成人精品一,二区| 国产成人午夜福利电影在线观看| 国产成人午夜福利电影在线观看| 中文字幕av在线有码专区| 乱码一卡2卡4卡精品| 日本-黄色视频高清免费观看| 亚洲真实伦在线观看| 亚洲国产av新网站| 久久久精品欧美日韩精品| videossex国产| 国模一区二区三区四区视频| 男插女下体视频免费在线播放| 午夜福利视频1000在线观看| 国产老妇伦熟女老妇高清| 日本一二三区视频观看| 一本一本综合久久| 国产老妇伦熟女老妇高清| 久久精品国产亚洲网站| 亚洲精品456在线播放app| 亚洲精品国产av蜜桃| 91狼人影院| 成人欧美大片| 大陆偷拍与自拍| 日本午夜av视频| 91久久精品国产一区二区三区| 亚洲综合精品二区| 性插视频无遮挡在线免费观看| 美女高潮的动态| 99热这里只有是精品50| 麻豆成人av视频| 欧美+日韩+精品| 天堂中文最新版在线下载 | 伦理电影大哥的女人| 国产熟女欧美一区二区| 亚洲欧美一区二区三区黑人 | 亚洲精品自拍成人| 汤姆久久久久久久影院中文字幕 | 一个人免费在线观看电影| 国产黄色小视频在线观看| 国产亚洲91精品色在线| 一区二区三区高清视频在线| 日日啪夜夜撸| 国国产精品蜜臀av免费| 国产成人福利小说| av国产久精品久网站免费入址| 久久99热这里只频精品6学生| 国产淫片久久久久久久久| 又爽又黄无遮挡网站| 直男gayav资源| 国产精品伦人一区二区| av线在线观看网站| 久久久久久久久久成人| 夜夜看夜夜爽夜夜摸| 街头女战士在线观看网站| 777米奇影视久久| av国产久精品久网站免费入址| 18禁裸乳无遮挡免费网站照片| 久久久久网色| 好男人在线观看高清免费视频| 亚洲国产成人一精品久久久| 麻豆av噜噜一区二区三区| 国产午夜精品论理片| 亚洲精品视频女| 午夜激情久久久久久久| 最近视频中文字幕2019在线8| 97热精品久久久久久| 国产一级毛片在线| 午夜久久久久精精品| 成人亚洲欧美一区二区av| 国产精品福利在线免费观看| 成人特级av手机在线观看| 最近手机中文字幕大全| 成年免费大片在线观看| 日本一本二区三区精品| 亚洲在久久综合| 一区二区三区高清视频在线| 国产午夜精品久久久久久一区二区三区| 色哟哟·www| 国产人妻一区二区三区在| 如何舔出高潮| 久久久久免费精品人妻一区二区| 国产精品一区二区性色av| 少妇丰满av| 丰满乱子伦码专区| 国产亚洲av嫩草精品影院| av黄色大香蕉| 欧美区成人在线视频| 国产成人91sexporn| 久久6这里有精品| 欧美 日韩 精品 国产| 欧美潮喷喷水| 日本免费在线观看一区| 最近最新中文字幕免费大全7| av在线播放精品| 人妻少妇偷人精品九色| 精品久久久久久久久久久久久| 午夜视频国产福利| 亚洲精品自拍成人| 日本猛色少妇xxxxx猛交久久| 午夜精品在线福利| 特大巨黑吊av在线直播| 久久久久久久国产电影| 免费黄网站久久成人精品| 国产大屁股一区二区在线视频| 国产一区有黄有色的免费视频 | 91精品一卡2卡3卡4卡| 国产精品1区2区在线观看.| 大香蕉久久网| 国内精品一区二区在线观看| 国产欧美日韩精品一区二区| 日本免费在线观看一区| 国产男人的电影天堂91| 干丝袜人妻中文字幕| 日韩一区二区视频免费看| 亚洲人成网站在线观看播放| 日本色播在线视频| 18禁在线无遮挡免费观看视频| 久久久久久久亚洲中文字幕| 亚洲精品自拍成人| 国产精品久久久久久av不卡| 久久久久久久亚洲中文字幕| 女的被弄到高潮叫床怎么办| 国产亚洲精品av在线| 国产精品一区二区性色av| 少妇的逼好多水| 成年免费大片在线观看| 麻豆成人av视频| 亚洲经典国产精华液单| 久久久久久伊人网av| 欧美xxxx性猛交bbbb| 亚洲经典国产精华液单| 色吧在线观看| 中文乱码字字幕精品一区二区三区 | 亚洲三级黄色毛片| 夫妻性生交免费视频一级片| 亚洲成人中文字幕在线播放| 亚洲国产欧美人成| 成人性生交大片免费视频hd| 天堂av国产一区二区熟女人妻| 国产成人精品久久久久久| 久久久久久久午夜电影| 麻豆成人午夜福利视频| 蜜桃亚洲精品一区二区三区| 成人高潮视频无遮挡免费网站| 美女国产视频在线观看| 床上黄色一级片| 麻豆av噜噜一区二区三区| 高清午夜精品一区二区三区| 国产精品女同一区二区软件| 亚洲国产成人一精品久久久| 插逼视频在线观看| 高清av免费在线| 日本黄色片子视频| 午夜免费观看性视频| 自拍偷自拍亚洲精品老妇| 国产精品精品国产色婷婷| 国产成人aa在线观看| 国产日韩欧美在线精品| 蜜臀久久99精品久久宅男| 欧美性猛交╳xxx乱大交人| 最近的中文字幕免费完整| 赤兔流量卡办理| 男人舔女人下体高潮全视频| 大片免费播放器 马上看| 国产一区有黄有色的免费视频 | 日韩av免费高清视频| 欧美3d第一页| 欧美人与善性xxx| 久久精品夜夜夜夜夜久久蜜豆| 成人漫画全彩无遮挡| 在线免费观看不下载黄p国产| 国产又色又爽无遮挡免| 亚洲精品日韩av片在线观看| 亚洲综合精品二区| 午夜免费男女啪啪视频观看| 亚洲欧美成人综合另类久久久| 亚洲精品影视一区二区三区av| 真实男女啪啪啪动态图| 乱系列少妇在线播放| 亚洲av在线观看美女高潮| 亚洲成色77777| 亚洲18禁久久av| 国产老妇伦熟女老妇高清| 尾随美女入室| 久久这里只有精品中国| 一区二区三区免费毛片| 国产高清三级在线| 国产极品天堂在线| 嫩草影院入口| 成人二区视频| 成年人午夜在线观看视频 | 超碰97精品在线观看| 大陆偷拍与自拍| 狂野欧美激情性xxxx在线观看| 国产精品国产三级国产专区5o| 久久久欧美国产精品| 又大又黄又爽视频免费| 亚洲国产精品成人久久小说| 看黄色毛片网站| 亚洲国产精品sss在线观看| 日本免费a在线| 精品亚洲乱码少妇综合久久| 日韩av在线免费看完整版不卡| 青青草视频在线视频观看| 久久久久久久亚洲中文字幕| 日韩一本色道免费dvd| 激情五月婷婷亚洲| 日本一本二区三区精品| 国产一区二区三区综合在线观看 | 美女xxoo啪啪120秒动态图| 蜜桃亚洲精品一区二区三区| 美女脱内裤让男人舔精品视频| 亚洲av免费在线观看| 女人被狂操c到高潮| 免费av不卡在线播放| 有码 亚洲区| 精品人妻熟女av久视频| 熟女电影av网| 激情五月婷婷亚洲| 精品亚洲乱码少妇综合久久| 亚洲精品自拍成人| 成人无遮挡网站| 久久精品熟女亚洲av麻豆精品 | 成人午夜高清在线视频| 国产中年淑女户外野战色| 国产白丝娇喘喷水9色精品| 国产精品国产三级国产av玫瑰| 能在线免费观看的黄片| 日本熟妇午夜| 中文精品一卡2卡3卡4更新| 色尼玛亚洲综合影院| 亚洲精品久久久久久婷婷小说| 校园人妻丝袜中文字幕| 最近最新中文字幕大全电影3| 国产高潮美女av| 欧美日韩视频高清一区二区三区二| 男女那种视频在线观看| 中文天堂在线官网| 能在线免费看毛片的网站| kizo精华| 亚洲综合色惰| 午夜精品国产一区二区电影 | 中文字幕免费在线视频6| av播播在线观看一区| 少妇猛男粗大的猛烈进出视频 | 久久久久久久久久久丰满| 深夜a级毛片| 国产精品熟女久久久久浪| 国产伦一二天堂av在线观看| 26uuu在线亚洲综合色| av在线蜜桃| 深爱激情五月婷婷| 国产欧美日韩精品一区二区| 免费av毛片视频| 久久国内精品自在自线图片| 午夜视频国产福利| 国产精品一区二区三区四区久久| 国产成人aa在线观看| 日韩国内少妇激情av| 亚洲国产av新网站| 国产69精品久久久久777片| .国产精品久久| 嫩草影院精品99| 青春草视频在线免费观看| 精品久久久久久电影网| 能在线免费观看的黄片| 亚洲成色77777| 欧美日韩视频高清一区二区三区二| 伊人久久国产一区二区| 国产精品国产三级专区第一集| 天天躁日日操中文字幕| 日韩在线高清观看一区二区三区| 国产一区二区在线观看日韩| 非洲黑人性xxxx精品又粗又长| 你懂的网址亚洲精品在线观看| 午夜福利视频精品| 午夜视频国产福利| 久久久久久久久大av| 美女高潮的动态| 午夜福利网站1000一区二区三区| 亚洲精品影视一区二区三区av| 国产伦一二天堂av在线观看| 亚洲国产精品专区欧美| 少妇熟女欧美另类| 免费观看av网站的网址| 午夜亚洲福利在线播放| 99久久精品一区二区三区| 777米奇影视久久| 简卡轻食公司| 成人午夜精彩视频在线观看| 看非洲黑人一级黄片| 日韩成人av中文字幕在线观看| videos熟女内射| 日本色播在线视频| 能在线免费观看的黄片| 岛国毛片在线播放| 成人特级av手机在线观看| 亚洲精品一区蜜桃| 久久国产乱子免费精品| 亚洲成人久久爱视频| 又爽又黄a免费视频| 好男人在线观看高清免费视频| 午夜激情欧美在线| 成人亚洲精品一区在线观看 | 欧美日韩视频高清一区二区三区二| 国产 一区 欧美 日韩| 亚洲成人中文字幕在线播放| 两个人的视频大全免费| 国产av不卡久久| 国产视频内射| 你懂的网址亚洲精品在线观看| 免费观看性生交大片5| 国产成人午夜福利电影在线观看| 久久这里只有精品中国| 精品欧美国产一区二区三| 搞女人的毛片| 亚洲精品乱久久久久久| 精品99又大又爽又粗少妇毛片| 神马国产精品三级电影在线观看| 国产亚洲av嫩草精品影院| 国产精品一区二区三区四区免费观看| 日本猛色少妇xxxxx猛交久久| av黄色大香蕉| 久久久久久伊人网av| 色尼玛亚洲综合影院| 欧美bdsm另类| 一级av片app| 自拍偷自拍亚洲精品老妇| 最近的中文字幕免费完整| 永久免费av网站大全| 亚洲va在线va天堂va国产| .国产精品久久| 色播亚洲综合网| 亚洲无线观看免费| 亚洲欧洲日产国产| 久久精品熟女亚洲av麻豆精品 | 国产精品精品国产色婷婷| 夜夜爽夜夜爽视频| 高清日韩中文字幕在线| 伊人久久国产一区二区| 国产伦精品一区二区三区视频9| 亚洲精品456在线播放app| 亚洲成人中文字幕在线播放| 99热6这里只有精品| 麻豆久久精品国产亚洲av| 欧美日韩国产mv在线观看视频 | 国产亚洲最大av| 又粗又硬又长又爽又黄的视频| 国产成人aa在线观看| 成人高潮视频无遮挡免费网站| 激情五月婷婷亚洲| 色5月婷婷丁香| 九色成人免费人妻av| 中文字幕制服av| 国产极品天堂在线| 99久国产av精品国产电影| 日本熟妇午夜| 激情五月婷婷亚洲| 中文字幕久久专区| 国产 亚洲一区二区三区 | 国产亚洲精品久久久com| av福利片在线观看| 国精品久久久久久国模美| 亚洲欧美日韩东京热| 一级二级三级毛片免费看| 国产成人午夜福利电影在线观看| 2018国产大陆天天弄谢| 秋霞伦理黄片| 国产一区二区亚洲精品在线观看| 大又大粗又爽又黄少妇毛片口| www.色视频.com| 极品少妇高潮喷水抽搐| 欧美日韩精品成人综合77777| 成人av在线播放网站| 你懂的网址亚洲精品在线观看| 少妇猛男粗大的猛烈进出视频 | www.av在线官网国产| 一区二区三区四区激情视频| 久久精品国产亚洲av涩爱| av在线播放精品| 看十八女毛片水多多多| 亚洲婷婷狠狠爱综合网| 精品国产一区二区三区久久久樱花 | 好男人在线观看高清免费视频| 欧美日韩综合久久久久久| 天天躁日日操中文字幕| 精品国产露脸久久av麻豆 | av在线老鸭窝| 五月玫瑰六月丁香| 国产伦理片在线播放av一区| 插阴视频在线观看视频| av播播在线观看一区| 丝袜喷水一区| 青春草亚洲视频在线观看| 欧美日韩综合久久久久久| 亚洲精品第二区| 亚洲国产av新网站| 97超碰精品成人国产| 国模一区二区三区四区视频| 国产极品天堂在线| 最近最新中文字幕大全电影3| 成人特级av手机在线观看| 亚洲成色77777| 非洲黑人性xxxx精品又粗又长| 在线观看一区二区三区| 大又大粗又爽又黄少妇毛片口| 国产综合精华液| 国产一级毛片七仙女欲春2| 国产精品一二三区在线看| 亚洲一级一片aⅴ在线观看| 欧美+日韩+精品| 亚洲最大成人手机在线| av国产免费在线观看| 国产大屁股一区二区在线视频| 丰满乱子伦码专区| 精品国产一区二区三区久久久樱花 | 亚洲美女搞黄在线观看| 91精品一卡2卡3卡4卡| 亚洲精品国产成人久久av| 亚洲精华国产精华液的使用体验| 国产精品久久久久久精品电影| 18禁动态无遮挡网站| 免费高清在线观看视频在线观看| 日韩欧美精品免费久久| 天堂中文最新版在线下载 | 黄色日韩在线| 国产精品熟女久久久久浪| 蜜臀久久99精品久久宅男| 内地一区二区视频在线| 免费不卡的大黄色大毛片视频在线观看 | 三级国产精品欧美在线观看| 在线免费观看不下载黄p国产| 欧美日韩在线观看h| 别揉我奶头 嗯啊视频| 777米奇影视久久| 尾随美女入室| 国模一区二区三区四区视频| 国产爱豆传媒在线观看| 欧美3d第一页| 国内揄拍国产精品人妻在线| 国产 一区 欧美 日韩| 天堂√8在线中文| 人妻一区二区av| 日韩欧美精品免费久久| 久久久亚洲精品成人影院| 18禁动态无遮挡网站| 久久久成人免费电影| 精品人妻一区二区三区麻豆| 国内揄拍国产精品人妻在线| 亚洲精品国产av成人精品| 亚洲欧美一区二区三区黑人 | 蜜桃久久精品国产亚洲av| 国产成人91sexporn| 日韩一区二区视频免费看| 欧美激情在线99| 国产精品久久久久久久电影| 国产人妻一区二区三区在| 精品久久久久久久久亚洲| 午夜久久久久精精品| 精品久久久久久久久av| 日韩,欧美,国产一区二区三区| 亚洲国产最新在线播放| 大话2 男鬼变身卡| 韩国高清视频一区二区三区| 亚洲伊人久久精品综合| 天堂av国产一区二区熟女人妻| 噜噜噜噜噜久久久久久91| 免费看光身美女| 国产在视频线精品| 久久久久久九九精品二区国产| 久久精品国产亚洲网站| 草草在线视频免费看| 亚洲在线观看片| 欧美日韩视频高清一区二区三区二|