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

    基于協(xié)處理器的HBase分類二級索引設計

    2021-05-12 04:34:00陳順舉鄭林江
    關鍵詞:協(xié)處理器基數(shù)哈希

    陳順舉,鄒 喆,劉 銳,陶 濤,汪 超,鄭林江

    (1.重慶市公安局渝北區(qū)分局交通巡邏警察支隊,重慶 401120;2.重慶大學計算機學院,重慶 400044)

    隨著物聯(lián)網(wǎng)和傳感器技術的快速發(fā)展,產(chǎn)生了海量的多源異構數(shù)據(jù),針對這些大數(shù)據(jù)的儲存和管理逐漸成為了研究的熱點。傳統(tǒng)關系型數(shù)據(jù)庫由于存儲能力和擴展性等方面的不足,無法滿足海量數(shù)據(jù)實時的查詢處理需求[1]。近年來,非關系型數(shù)據(jù)庫的應用和發(fā)展為海量數(shù)據(jù)的存儲管理帶來了新的研究思路[2]。HBase[3]作為其中的代表,是一種被廣泛應用、高效的分布式數(shù)據(jù)庫。它在行鍵上建立了類B+樹的索引,可以支持基于行鍵的快速查詢。但對于非行鍵列的查詢,由于缺少索引能力,需要對全表進行掃描。全表掃描在海量數(shù)據(jù)下的查詢時延是難以接受的,極大地影響了HBase非行鍵列的查詢性能。

    為了提升HBase對非行鍵列的查詢性能,研究提出二級索引方案,建立非行鍵列和行鍵之間的索引。在查詢非行鍵列時,先從二級索引中查詢對應的行鍵集合,再通過得到的行鍵集在HBase中查找最終結(jié)果。近年來,各類二級索引技術相繼提出,為HBase快速查詢提供了解決方案。但由于應用場景和HBase特性的限制,這些方案仍然存在數(shù)據(jù)不一致、維護代價高等問題,并且在設計中未充分考慮通信開銷和索引結(jié)構的分類和優(yōu)化。

    基于上述問題,設計一種基于協(xié)處理器的HBase分類二級索引方案。該方案提出一種基于協(xié)處理器的索引管理和并行查詢機制,通過Observer在內(nèi)存中建立并維護索引,使得索引和數(shù)據(jù)始終存儲在同一個RegionServer中,能有效降低通信時間開銷,保證數(shù)據(jù)和索引的一致性;同時,通過Endpoint設計Region級別的并行查詢算法,進一步提升了HBase的查詢性能。針對索引結(jié)構單一,未充分利用內(nèi)存性能的問題,本文提出一種分類內(nèi)存索引模型。根據(jù)非行鍵列的基數(shù)大小和有無范圍查詢需求,設計并優(yōu)化3種索引結(jié)構。在構建二級索引時,選擇恰當?shù)慕Y(jié)構,可以有效平衡查詢性能和索引性能。

    1 相關研究

    研究領域常采用二級索引方案來提升HBase的查詢性能。通過對待索引列建立與行鍵對應的二級索引,將非行鍵列的查詢轉(zhuǎn)換成查詢二級索引對應的行鍵和通過所得行鍵在HBase中查詢結(jié)果2個步驟[4]。圖1中對列族 CF下的 id列和time列分別建立屬性值到對應行鍵的映射關系。為滿足組合條件下的查詢需要,可以選擇性的維護組合條件查詢的索引結(jié)構。根據(jù)索引存儲方式的不同,二級索引方案又可分為基于客戶端、基于HBase內(nèi)部機制和基于內(nèi)存的方案。

    圖1 HBase二級索引結(jié)構

    1)基于客戶端的方案:ITHBase[5]是由開源社區(qū)開發(fā)的一款帶索引的事務型HBase擴展,其通過客戶端邏輯構建并維護索引表,一個查詢請求需要2次遠程的過程調(diào)用。近年來,基于Solr構建HBase二級索引的方案[6]受到業(yè)界廣泛應用。Solr[7]是一款高效的基于Lucene的企業(yè)級全文搜索引擎,通過將HBase中的數(shù)據(jù)以HTTP請求的方式發(fā)送到Solr服務器,即可建立非行鍵列到行鍵的二級索引結(jié)構。在查詢索引時,得益于Solr高效的檢索性能,只需通過Get請求即可得到對應的索引結(jié)果。此類方案將索引存儲于HBase集群之外的客戶端或第三方平臺中,需要額外建立和維護索引,會出現(xiàn)索引維護困難,數(shù)據(jù)不一致等問題。

    2)基于HBase內(nèi)部機制的方案:隨著HBase功能的加強,HBase 0.92版本以后引入了協(xié)處理器的概念。它可以將用戶自定義的代碼放在服務器上運行,允許用戶執(zhí)行Region級的操作[8]。協(xié)處理器又分為 Observer和 Endpoint兩類,其中Observer與觸發(fā)器類似,當特定事件發(fā)生時會觸發(fā)回調(diào)函數(shù)的執(zhí)行;Endpoint則更像存儲過程,支持將用戶自定義的操作添加到服務器端。用戶可以組合Observer和Endpoint實現(xiàn)特定的功能,極大豐富了HBase的可用性。Hindex[9]是華為基于協(xié)處理器對HBase二級索引的實現(xiàn),其核心思想是保證索引表和主表在同一個RegionServer上,能有效降低節(jié)點間的數(shù)據(jù)傳輸開銷。Zou等[10]提出了互補聚簇式索引CCIndex,其通過在索引表中額外存儲詳細的數(shù)據(jù)信息,能節(jié)省結(jié)果查詢帶來的時間開銷,從而提升數(shù)據(jù)查詢性能?,F(xiàn)有的這些基于HBase內(nèi)部機制的方案,通常只利用Observer協(xié)處理器建立和維護索引。在查詢時需要修改scan函數(shù)并添加過濾器,未能有效利用Endpoint的并行處理能力,減少通信時間消耗,且需要額外建立索引表,會導致插入性能下降,索引空間開銷過大等問題。

    3)基于內(nèi)存的方案:隨著內(nèi)存性能的提升和價格的下降,內(nèi)存在實時數(shù)據(jù)處理中發(fā)揮了越來越重要的作用。目前,用內(nèi)存計算提升大數(shù)據(jù)處理性能已成為公認的發(fā)展方向[11]。廣泛應用的內(nèi)存索引有:T樹、CSS/CSB+樹、哈希、BD樹以及它們的改進結(jié)構。其中,T樹[12]是針對主存訪問優(yōu)化的索引技術,能有效節(jié)省空間占用,但由于較高的TBL失配率會影響其查詢效率;基于緩存敏感的CSS樹/CSB+樹[13]減少了高速緩存對索引的影響,提高了查詢效率,但會導致更新性能差等問題;哈希索引則具有極好的隨機查詢性能,但存在空間利用問題,改進的可擴展哈希、鏈接桶哈希[14]等結(jié)構可以提升其整體性能;BD樹[15]將樹形結(jié)構與哈希表結(jié)合,既對緩存作了優(yōu)化,又實現(xiàn)了范圍查詢?;谶@些內(nèi)存索引結(jié)構,越來越多的研究選擇將部分或全部二級索引存放在內(nèi)存中,極大地提升了索引的管理和查詢性能。葛微等[16]提出了一種名為HiBase的基于分層式索引的設計方案,在持久化索引表的基礎上,對熱點數(shù)據(jù)在Redis內(nèi)存數(shù)據(jù)庫中進行緩存,并利用熱度累積策略替換緩存,有效提高了查詢效率。Ye等[17]針對傳感器數(shù)據(jù)提出了基于協(xié)處理器的索引方案,在內(nèi)存中建立并維護HT樹索引,顯著提升了索引數(shù)據(jù)的檢索速度。此類方案利用了內(nèi)存查詢處理的速度優(yōu)勢,但仍存在索引結(jié)構單一,未充分考慮待索引列的數(shù)據(jù)特征和查詢需求等問題。

    2 基于協(xié)處理器的分類二級索引

    2.1 整體框架

    基于協(xié)處理器的HBase分類二級索引方案的整體框架如圖2所示,主要由數(shù)據(jù)表模塊、索引模塊和查詢模塊3個部分組成。其中,數(shù)據(jù)表模塊通過設計滿足存儲需求的行鍵和列族,更好地持久化原始數(shù)據(jù)。索引模塊則通過基于Observer的索引管理機制,在數(shù)據(jù)插入和更新的同時,構建并維護每個Region中的二級索引。查詢模塊通過基于Endpoint的并行查詢算法實現(xiàn)對非行鍵列的快速查詢。此外,為防止內(nèi)存索引斷電丟失,索引結(jié)果會定期序列化并存儲至HDFS。

    圖2 整體框架

    1)數(shù)據(jù)表模塊:數(shù)據(jù)表模塊用于持久化需要存儲的數(shù)據(jù),在構建時主要考慮行鍵和列族的設計。設計行鍵時,需要選擇能反映數(shù)據(jù)重要特征的字段組合成行鍵,使其滿足唯一、長度較短、熱點分散等特性。設計列族時,為避免過多列族帶來額外的IO操作,導致系統(tǒng)性能下降的問題,通常僅需設計一個列族,用于存儲一行原始數(shù)據(jù)的所有值。設計表時,為實現(xiàn)對讀寫請求的負載均衡,可以對數(shù)據(jù)表進行預分區(qū)。

    2)索引模塊:索引模塊用于管理Region級別的索引,在內(nèi)存中為每個Region分別構建分類二級索引。采用基于Observer的索引管理機制,在數(shù)據(jù)插入時,按數(shù)據(jù)特征和查詢需求,選擇位圖索引、哈希索引和BD樹索引中的一種結(jié)構構建二級索引。在Region發(fā)生分裂或遷移時,對應的索引也需要分裂或遷移,從而保證索引和數(shù)據(jù)始終在同一RegionServer中。

    3)查詢模塊:查詢模塊用于接收客戶端的查詢需求。采用基于Endpoint的并行查詢算法,在該表所有在線的Region中并行查詢二級索引獲取行鍵集合后,在對應Region中直接批量獲取結(jié)果,并返回至客戶端。客戶端接收所有結(jié)果后,進行匯總。

    2.2 基于協(xié)處理器的索引管理和并行查詢機制

    為了實現(xiàn)高效的索引管理和數(shù)據(jù)查詢,本文提出一種基于協(xié)處理器的索引管理和并行查詢機制,包括基于Observer的索引管理機制和基于Endpoint的并行查詢算法。

    2.2.1 基于Observer的索引管理機制

    索引管理機制流程如圖3所示,包括索引構建和索引維護兩部分。構建索引時,根據(jù)數(shù)據(jù)輸入方式的不同,可分為面向流式數(shù)據(jù)和面向歷史數(shù)據(jù)2類。

    圖3 索引管理流程框圖

    對于流式數(shù)據(jù)的索引構建方法,本文重寫Observer提供的回調(diào)函數(shù)prePut,每插入1條數(shù)據(jù)前會被觸發(fā)調(diào)用。prePut函數(shù)根據(jù)索引信息對用戶發(fā)起的Put操作進行分析,當Put操作的數(shù)據(jù)包含索引列時,根據(jù)分類內(nèi)存索引模型對其構建索引。由于索引存儲于內(nèi)存中,為了防止掉電丟失,需要對索引文件進行序列化,定期轉(zhuǎn)存在HDFS中。歷史數(shù)據(jù)一般相對較大,且已存于HBase數(shù)據(jù)庫中,為了加快這些歷史數(shù)據(jù)的索引構建速度,本文重寫Observer提供的回調(diào)函數(shù)postOpen,當Region加載完成后被觸發(fā)調(diào)用,若HDFS中有存儲完整的索引文件,可以直接對文件進行反序列化操作構建索引。否則,需要遍歷Region中的所有數(shù)據(jù),重新構建索引。

    在索引構建完畢后,為了保證索引與數(shù)據(jù)存儲在同一RegionServer中,需要對索引進行維護。主要體現(xiàn)在2個方面,即Region的split和migrated,這里同樣利用Observer相關的回調(diào)函數(shù)進行維護。當Region發(fā)生split操作時,1個Region會分裂為2個新的Region。通過重寫觸發(fā)調(diào)用的postCompletedSplit函數(shù),刪除原Region的索引文件,并對分裂后產(chǎn)生的Region重新讀取數(shù)據(jù),分別構建索引。當 Region發(fā)生migrated操作時,1個Region會被分配到其他RegionServer中。通過重寫觸發(fā)調(diào)用postBalance函數(shù),根據(jù)從Region計劃參數(shù)中獲取到待分配Region,源RegionServer和目的RegionServer等信息,把索引文件遷移到對應的目的RegionServer中。為了提高框架的查詢效率,發(fā)揮協(xié)處理器處理Region級別操作的優(yōu)勢,需要根據(jù)數(shù)據(jù)特點和查詢需求構建適合的索引結(jié)構,這將在2.3中具體討論。

    2.2.2 基于Endpoint的并行查詢算法

    由于查詢條件是否包含行鍵對查詢時間影響很大,本文在客戶端中對行鍵的查詢和非行鍵列的查詢分別進行處理。對于含有行鍵的查詢,直接使用HBase自帶的Get和Scan函數(shù)處理即可。對于含有非行鍵列的查詢,為了充分利用HBase分布式特性,提升查詢效率,本文實現(xiàn)了基于Endpoint的并行化查詢算法。相較于MapReduce框架,Endpoint更加輕量級,查詢效率更高,花費的構建時間和資源也更少,非常適用于本文的查詢環(huán)境。Endpoint的實現(xiàn)包括了基于Protobuf的RPC定義,協(xié)議接口實現(xiàn)和調(diào)用函數(shù)實現(xiàn)等步驟[18]。

    算法1 基于Endpoint的并行查詢算法輸入:需要查詢的非行鍵列cq,查詢條件qcs。輸出:所有符合要求的查詢結(jié)果集合。1 if secondary index not contain cq,then 2 return table.scan.filter(cq,qcs)//通過過濾器對全表進行掃描,并返回結(jié)果3 else 4 for each Region do in parallel //Region并行查詢5 rs← secondary index.getRowkeys(cq,qcs);//查詢索引得到滿足要求的行鍵集合rs 6 qrs← Region.get(rs);//查詢對應 Region 7 end parallel 8 return client.collect(qrs);//客戶端匯總所有結(jié)果集9 end if

    對非行鍵列的查詢?nèi)缢惴?所示。當系統(tǒng)未對查詢列建立二級索引時,需要利用查詢條件設置過濾器并掃描全表以獲得查詢結(jié)果集合。當查詢列包含相應二級索引時,行4~7描述了所有Region并行執(zhí)行Endpoint中設計的函數(shù)。在每個Endpoint查詢過程中,先查詢對應的二級索引以獲得滿足要求的行鍵集合rs,再根據(jù)rs訪問Region中的數(shù)據(jù),得到結(jié)果集qrs返回至客戶端。在這里由于查詢在每個Region中并行執(zhí)行,可以獲得高效的查詢效率。加之索引和數(shù)據(jù)維護在同一個RegionServer中,在得到行鍵后可以直接在對應Region中查找到數(shù)據(jù),能有效減少傳輸開銷,進一步提高查詢效率。最后,客戶端只需要匯總從Region接收到的結(jié)果即可。

    2.3 分類內(nèi)存索引模型

    列的基數(shù)大小和有無范圍查詢需求直接影響了索引結(jié)構的選擇,構建符合數(shù)據(jù)特征和查詢需求的索引可以節(jié)省索引開銷,穩(wěn)定查詢時間,從而平衡索引性能和查詢性能。為此,本文根據(jù)待索引列的基數(shù)大小和有無范圍查詢需求,構建了3種不同的二級索引結(jié)構。分類內(nèi)存索引模型如圖4所示。針對基數(shù)較小的列,在每個Region中分別構建位圖索引。針對基數(shù)較大但無范圍查詢需求的列,構建哈希索引。針對基數(shù)較大且有范圍查詢需求的列,則構建BD樹索引。索引存儲在Region的內(nèi)存中,詳細的維護和查詢過程見2.2節(jié)。

    圖4 分類內(nèi)存索引模型

    2.3.1 基數(shù)較小列的位圖索引

    列基數(shù)是指該列具有的不相同屬性值的個數(shù),通常將基數(shù)小于總行數(shù)0.1%的列認定為基數(shù)較小列[19]。例如,在作為實驗數(shù)據(jù)集的出租GPS數(shù)據(jù)中,運營狀態(tài)這一列有空車、載客2種值,列基數(shù)為2,屬于基數(shù)較小列。對此列建立索引時,由于屬性的重復值非常多,樹形結(jié)構索引非但不能提升數(shù)據(jù)的查詢性能,還會帶來額外的空間開銷。故本文選擇位圖索引結(jié)構為基數(shù)較小列構建二級索引。

    位圖索引是一種使用位向量表示數(shù)據(jù)信息的索引結(jié)構,其由比特位0和1組成。檢索時,通過將查詢條件轉(zhuǎn)換為布爾邏輯運算,能有效提升索引的查詢性能[20]。設有一個含有n行記錄的數(shù)據(jù)表,其上有一個基數(shù)大小為m的基數(shù)較小列。針對該列構建位圖索引時,需要創(chuàng)建m個長度為n的位向量。其中,每個屬性值b對應1個位向量Y,Yi用于記錄數(shù)據(jù)表中第i行記錄在該列的取值情況。若該列屬性值等于b,則Yi=1;否則,Yi=0。對出租汽車GPS數(shù)據(jù)表中運營狀態(tài)這一列建立位圖索引,如圖5所示。由于運營狀態(tài)的列基數(shù)為2,故需要構建2個長度為N的列向量。

    圖5 出租車GPS數(shù)據(jù)表運營狀態(tài)位圖索引

    位圖索引采用比特位存儲數(shù)據(jù)信息,由此帶來的索引空間開銷很小。8條某個屬性值的取值情況對應8個比特位,只需占用1個字節(jié)的空間。例如,在800萬條實驗數(shù)據(jù)中對運營狀態(tài)為載客的情況構建位圖索引,僅有不到1 MB的索引空間開銷。此外,位圖索引還可以將多個基數(shù)較小列的組合查詢轉(zhuǎn)換為高效的布爾邏輯運算。例如實驗數(shù)據(jù)中,要查詢運營狀態(tài)為“載客”,行駛方向為“30”的行車記錄,只需要將運營狀態(tài)列中屬性值為“載客”的位向量與行駛方向列中屬性值為“30”的位向量進行按位與運算,得到該組合查詢對應的位向量Z。再對Z進行遍歷,查詢Zi=1對應的第i條記錄即為所需的行鍵值。

    2.3.2 基數(shù)較大但無范圍查詢需求列的哈希索引

    待索引列的基數(shù)較大時,可以使用哈希索引或樹形結(jié)構索引。但當該列無范圍查詢需求,即可根據(jù)確定的屬性值進行等值查詢時,一般選擇哈希索引可以獲得更好的索引性能。

    本文選擇鏈接桶哈希對基數(shù)較大但無范圍查詢需求的列構建二級索引。鏈接桶哈希索引由一組鏈表構成,每一個鏈表稱為一個桶,桶中元素具有相同的哈希碼并通過單鏈表進行組織。插入數(shù)據(jù)時,先通過關鍵字生成哈希碼,從而確定所屬桶位置;然后在該桶對應的鏈表頭部插入數(shù)據(jù)即可。這種采用鏈式結(jié)構處理哈希沖突的方法,能較好地適用于海量數(shù)據(jù)頻繁插入的情況。查詢索引時,同樣通過哈希碼先確定桶的位置,然后遍歷對應的鏈表,直到查詢到指定記錄的行鍵。桶的數(shù)量對鏈接桶哈希索引的性能影響較大。若桶的數(shù)量過多,會導致索引空間開銷增大,帶來內(nèi)存空間的浪費;若桶的數(shù)量過少,則會導致同一桶中鏈接的數(shù)據(jù)增多,進而造成查詢性能的降低和退化。由于本文對每個Region分別構建哈希索引,可以根據(jù)Region大小事先確定桶的數(shù)量,從而解決上述空間浪費和性能下降的問題。此外,為了進一步降低哈希索引帶來的空間開銷,本文適當提高了負載因子。負載因子的提高意味著索引結(jié)構更加緊湊,需要構建的桶數(shù)量隨之減少。雖然在一定程度上會增加索引查詢的時間,但這是對索引性能和查詢性能的綜合考量,在可接受范圍內(nèi)。實驗數(shù)據(jù)中,車輛eid就屬于基數(shù)較大但無范圍查詢需求的列。對該列進行索引查詢時,通過在內(nèi)存中對不同Region的哈希索引進行并行檢索,能獲得非常理想的查詢性能,且不會隨著數(shù)據(jù)量的增大而發(fā)生陡變。

    2.3.3 基數(shù)較大且有范圍查詢需求列的BD樹索引

    哈希索引無法支持屬性值的范圍查詢,故本文選擇BD樹對基數(shù)較大且有范圍查詢需求的列構建二級索引。BD樹由上下2層構成:其中,上層的非葉子節(jié)點為樹形結(jié)構,通常采用B+樹進行實現(xiàn);下層的葉子節(jié)點為哈希表,由n個哈希桶組成。其結(jié)合了B+樹索引和哈希索引的優(yōu)點,能實現(xiàn)快速的索引查詢。此外,各個葉子節(jié)點通過指針按順序鏈接,可以滿足范圍查詢的需求。

    在構建BD樹時,先通過關鍵字找到對應的葉子節(jié)點。然后通過計算哈希碼確定哈希桶的位置,并將對應的行鍵值插入到該桶中。若桶中數(shù)據(jù)未滿,則插入操作完成;否則,需要對BD樹進行分裂操作。即將原葉子節(jié)點中所有記錄按關鍵字大小分配到2個新的葉子節(jié)點中,通常將原葉子節(jié)點中關鍵字的最大值和最小值的均值作為分界點。葉子節(jié)點分裂后可能會引發(fā)BD樹索引的調(diào)整,故在插入1個新的葉子節(jié)點時需要判斷對應BD樹結(jié)構是否正常。若正常,則分裂完成;否則,需要對非葉子節(jié)點進行相應的分裂操作,即對上層B+樹的結(jié)構進行修改,從而指向新的葉子節(jié)點。詳細過程可以參考文獻[21]。

    在檢索BD樹時,針對單值查詢,先通過關鍵字在B+樹中定位到葉子節(jié)點對應的哈希表,然后通過計算哈希碼對哈希表進行查詢,可以很快得到索引結(jié)果。針對范圍查詢,假設某個查詢的關鍵字范圍為[qs,qe],首先找到關鍵字 qs所在的哈希表記為U,再找到關鍵字qe所在的哈希表記為V,則U和V間的哈希表的所有值,以及U中關鍵字大于qs對應的值和V中關鍵字小于qe對應的值均為該范圍查詢的結(jié)果。

    3 實驗與結(jié)果分析

    3.1 實驗環(huán)境與數(shù)據(jù)集

    本文從查詢性能和索引性能等多個方面驗證所提方案的有效性。默認實驗環(huán)境共有5個節(jié)點,搭建的HBase集群包含1個Master節(jié)點和4個RegionServer節(jié)點。為了進行對比實驗,本文還搭建了Solr集群和Redis集群,并實現(xiàn)了基于Solr和HiBase的二級索引方案。實驗環(huán)境的節(jié)點配置信息見表1。

    表1 實驗環(huán)境節(jié)點配置信息表

    實驗采用的數(shù)據(jù)集是出租車行車GPS數(shù)據(jù),其來源于重慶市智能交通系統(tǒng)。表2展示了原始數(shù)據(jù)部分樣本,其中各字段的含義分別是:每行數(shù)據(jù)在表中的id號、車輛eid(已脫敏處理)、GPS時間、經(jīng)度、緯度、速度、行駛方向和運營狀態(tài)(1為載客、0為空車)。

    表2 原始數(shù)據(jù)

    二級索引方案中,非行鍵列的查詢由查詢二級索引對應的行鍵和通過所得行鍵在HBase中查詢結(jié)果2個步驟組成。從而有公式:Ttotal=Tindex+Tresult,即整體查詢時間 Ttotal等于索引查詢時間Tindex和結(jié)果查詢時間Tresult之和。為了更充分詳盡地驗證所提方案的查詢性能,本文對索引查詢和結(jié)果查詢2個部分分別進行實驗,并對比了本文方案和基于Solr以及HiBase方案的整體查詢性能。此外,在實時的查詢速度之上,我們期望方案有較好擴展性和數(shù)據(jù)插入性能,以及合理的內(nèi)存占用大小,故對方案的擴展性以及索引的構造時間和內(nèi)存占用情況也進行了實驗和分析。

    3.2 索引查詢對比實驗

    本文所提方案根據(jù)數(shù)據(jù)特征和查詢需求在位圖索引、哈希索引和BD樹索引中選擇適合的結(jié)構構建二級索引。為驗證這3種不同類型索引的查詢性能,在十萬、百萬、千萬數(shù)量級的數(shù)據(jù)下進行對比實驗。圖6的橫坐標是索引查詢結(jié)果的數(shù)據(jù)量,縱坐標分別是3種索引的查詢時間Tindex。每組實驗測試100次并取平均值作為最終結(jié)果。對比實驗中,HiBase方案的索引查詢時間取熱查詢下的最優(yōu)值,即每次索引查詢均在內(nèi)存中命中。由于基于Solr的方案時間消耗較大,等比例坐標無法很好地展示,這里使用指數(shù)坐標。

    圖6 索引查詢時間對比

    3.2.1 位圖索引實驗

    實驗數(shù)據(jù)中,行駛方向這一列的基數(shù)為360,小于總行數(shù)的0.1%,屬于基數(shù)較小的列。在對該列的值構建索引時,采用位圖索引。在查詢行駛方向為“360”的行車記錄實驗中,索引查詢時間Tindex如圖6(a)所示??梢钥闯?,位圖索引查詢時間優(yōu)于基于Solr的方案,但略高于HiBase的熱查詢時間(最優(yōu)值)。這是因為位圖索引存儲在內(nèi)存中能獲得高效的查詢性能,但其需要對位向量進行遍歷,相較于HiBase的熱查詢需要更多的時間。隨著數(shù)據(jù)量增大,本文方案中索引分布式的優(yōu)勢體現(xiàn),查詢性能逐漸接近HiBase熱查詢的水平。

    3.2.2 哈希索引實驗

    實驗數(shù)據(jù)中,車輛id屬于基數(shù)較大但無范圍查詢需求的列,可以在該列上建立哈希索引來獲取相應行鍵。在查找車輛id為“7115”的行車記錄實驗中,索引查詢時間Tindex如圖6(b)所示。可以看出,哈希索引的查詢性能優(yōu)于基于Solr和HiBase的方案。這是由于使用了基于Region的哈希索引和并行化的查詢方式,查詢時間隨著數(shù)據(jù)的增長能保持較好的穩(wěn)定性。

    3.2.3 BD樹索引實驗

    實驗數(shù)據(jù)中,速度這一列屬于基數(shù)較大且有范圍查詢需求的列,可以在該列上建立BD樹索引來獲取相應行鍵。在查找行駛速度在80~81 km/h的行車記錄實驗中,索引查詢時間Tindex如圖6(c)所示。可以看出,BD樹索引查詢時間是毫秒級的。由于其索引結(jié)構的復雜性,故查詢時間稍長但仍優(yōu)于基于Solr和HiBase的方案。

    3.3 結(jié)果查詢對比實驗

    在通過二級索引獲得查詢對應的行鍵后,需要根據(jù)行鍵集合在HBase中查詢結(jié)果。為驗證方案中基于協(xié)處理器的索引管理和并行查詢機制的有效性,對本文所提方案和基于Solr以及HiBase方案的結(jié)果查詢時間進行對比實驗。圖7中的橫坐標是查詢獲得的結(jié)果集大小,縱坐標是結(jié)果查詢時間Tresult。每組實驗測試100次并取平均值,同樣使用指數(shù)指標??梢钥闯?,本文方案的結(jié)果查詢性能大大優(yōu)于對比方案。這是因為基于Solr和HiBase方案都需要在第三方平臺查詢到行鍵集合后,再建立與HBase的連接進行批量的結(jié)果查詢,故兩者的結(jié)果查詢時間相當。而在本文中,得益于基于Observer的索引管理機制,在得到行鍵集合后可以直接查詢對應Region獲得結(jié)果,極大程度地降低了通信開銷。加之基于Endpoint的并行查詢算法在每個Region中進行并行化查詢,本文方案的結(jié)果查詢性能相較于對比方案隨著結(jié)果量的增加而不斷提升。

    圖7 結(jié)果查詢時間對比

    3.4 整體查詢性能對比實驗

    在對索引查詢和結(jié)果查詢分別進行實驗分析后,對本文方案、原生HBase、基于Solr以及HiBase方案的整體查詢性能進行了對比實驗。針對分類索引,對3種不同條件的查詢分別進行100次并取平均值。圖8中的橫坐標是HBase的數(shù)據(jù)量,縱坐標是整體查詢時間Ttotal,使用指數(shù)指標??梢钥闯?,本文方案的整體查詢性能明顯優(yōu)于對比方案。在數(shù)據(jù)量較少(10萬量級)的查詢中,方案的查詢性能相較于基于Solr的方案提升了97%,相較于HiBase提升了45%。在數(shù)據(jù)量較大(1 000萬量級)的查詢中,方案相較于基于Solr的方案查詢性能提升達3.6倍,相較于HiBase性能提升約1.1倍。不僅如此,本文方案隨著數(shù)據(jù)量的增長表現(xiàn)出穩(wěn)定的查詢性能,適用于海量數(shù)據(jù)下的實時查詢。

    圖8 整體查詢時間對比

    3.5 集群擴展實驗

    為了驗證本文方案的集群擴展性能,在千萬數(shù)量級的數(shù)據(jù)下對節(jié)點數(shù)量為3、5、7、9個的集群進行了可擴展性測試。圖9中的橫坐標是集群的節(jié)點數(shù)量,縱坐標是3種查詢平均的整體查詢時間,每組實驗測試100次并取平均值??梢钥闯?,隨著節(jié)點數(shù)量的增長,整體查詢時間逐漸降低。這是因為索引查詢和結(jié)果查詢均是在RegionServer中并行執(zhí)行,隨著節(jié)點數(shù)量的增多,RegionServer增加,故整體查詢時間逐漸降低。

    圖9 集群擴展查詢時間

    3.6 索引構建時間和空間開銷實驗

    二級索引方案是在數(shù)據(jù)導入階段創(chuàng)建索引的。分別在十萬、百萬、千萬的數(shù)據(jù)集上對3種不同條件下的查詢建立索引,并測試本文方案的數(shù)據(jù)導入時間來衡量索引構建時間開銷。同時還測試了原生HBase、基于Solr和HiBase方案的數(shù)據(jù)導入時間,每組實驗重復10次取平均值。索引構建時間的實驗結(jié)果如圖10所示。從中可以發(fā)現(xiàn),原生HBase的導入性能最好,這是由于原生HBase在數(shù)據(jù)導入時無需構建和維護索引,而其他方案需要基于協(xié)處理器觸發(fā)索引插入操作。隨著數(shù)據(jù)量的增長,本文方案的索引構建性能仍然優(yōu)于對比方案。這是因為索引插入操作全部發(fā)生在內(nèi)存中,消耗時間較少。HiBase方案則需要并行地構建索引記錄并插入到索引表中,較為耗時。基于Solr的方案在對插入數(shù)據(jù)構建索引記錄之后,需要將其發(fā)送至Solr集群并插入到索引表中,故耗時最長。實驗結(jié)果表明,本文方案為建立索引所帶來的時間開銷是可以接受的。

    圖10 索引構建時間對比

    空間開銷上,由于基于Solr和HiBase的方案占用的內(nèi)存不是絕對固定的,依賴于用戶的設置,故在此不作對比實驗。對于本文方案,在千萬數(shù)量級的數(shù)據(jù)上建立整體的二級索引(包含關于行駛方向的位圖索引,關于車輛id的哈希索引以及關于速度的BD樹索引),其占用空間的大小約為500 MB,對于采用廉價分布式存儲、具有良好存儲空間可擴展性的Hadoop和HBase系統(tǒng)來說,本文方案占用內(nèi)存空間以換取更快的查詢性能是可取的。

    4 結(jié)論

    本文研究并實現(xiàn)了一種基于協(xié)處理器的HBase分類二級索引方案。其充分利用協(xié)處理器機制,在內(nèi)存中管理索引,并將查詢過程并行化,較大程度上提升了查詢效率。同時,根據(jù)數(shù)據(jù)特征和查詢需求構建不同結(jié)構的二級索引,進一步平衡了查詢性能和索引性能。實驗結(jié)果表明,本文方案的查詢管理性能優(yōu)于基于Solr和HiBase方案。下一步,針對海量數(shù)據(jù)下索引空間開銷較大的問題,會進一步研究緩存機制和替換策略,從而提供更為經(jīng)濟穩(wěn)定的查詢可選方案。

    猜你喜歡
    協(xié)處理器基數(shù)哈希
    一次性傷殘就業(yè)補助金的工資基數(shù)應如何計算?
    基于HBase分布式數(shù)據(jù)庫海量數(shù)據(jù)序列存儲優(yōu)化
    科學與財富(2021年4期)2021-03-08 10:14:32
    基于HBase分布式數(shù)據(jù)庫海量數(shù)據(jù)序列存儲優(yōu)化
    千萬不要亂翻番
    巧妙推算星期幾
    HBase分布式二級索引通用方案研究
    軟件導刊(2018年3期)2018-03-26 02:14:46
    『基數(shù)』和『序數(shù)』
    基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
    基于維度分解的哈希多維快速流分類算法
    計算機工程(2015年8期)2015-07-03 12:20:04
    基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
    計算機工程(2014年6期)2014-02-28 01:25:40
    深夜a级毛片| h日本视频在线播放| a 毛片基地| 国产午夜精品久久久久久一区二区三区| 丁香六月天网| 亚洲欧美清纯卡通| 校园人妻丝袜中文字幕| 丰满人妻一区二区三区视频av| 国产亚洲5aaaaa淫片| av福利片在线观看| 高清毛片免费看| 丝袜脚勾引网站| av在线播放精品| 99九九线精品视频在线观看视频| 两个人的视频大全免费| 中文字幕久久专区| 久久精品久久精品一区二区三区| 日日啪夜夜撸| 亚洲av在线观看美女高潮| 精品少妇久久久久久888优播| 在线观看免费日韩欧美大片 | 在现免费观看毛片| 搡老乐熟女国产| 国产 一区精品| 一个人看视频在线观看www免费| 欧美 日韩 精品 国产| 午夜91福利影院| 欧美精品国产亚洲| 精品人妻偷拍中文字幕| 亚洲成色77777| 国产欧美亚洲国产| 日韩电影二区| 国产精品人妻久久久久久| 国产精品伦人一区二区| 秋霞在线观看毛片| 亚洲婷婷狠狠爱综合网| 少妇猛男粗大的猛烈进出视频| 久久精品国产自在天天线| 大陆偷拍与自拍| 99国产精品免费福利视频| 久久毛片免费看一区二区三区| 亚洲欧美中文字幕日韩二区| 国产日韩一区二区三区精品不卡 | 啦啦啦中文免费视频观看日本| 亚洲av中文av极速乱| 久久亚洲国产成人精品v| 欧美丝袜亚洲另类| 王馨瑶露胸无遮挡在线观看| 777米奇影视久久| 亚洲av欧美aⅴ国产| 日日摸夜夜添夜夜添av毛片| 午夜精品国产一区二区电影| 老司机影院成人| 亚洲国产精品成人久久小说| 秋霞在线观看毛片| 国产一级毛片在线| 黄片无遮挡物在线观看| 夜夜看夜夜爽夜夜摸| 不卡视频在线观看欧美| 国产伦理片在线播放av一区| 成人亚洲精品一区在线观看| 国产在线免费精品| 成人亚洲欧美一区二区av| 亚洲国产精品999| 国产成人一区二区在线| 自线自在国产av| 精品一区二区三区视频在线| 在线观看免费高清a一片| 亚洲国产精品一区三区| 91久久精品电影网| 又黄又爽又刺激的免费视频.| av又黄又爽大尺度在线免费看| 夜夜爽夜夜爽视频| 亚洲av福利一区| 精品一品国产午夜福利视频| 91久久精品国产一区二区三区| 午夜视频国产福利| a 毛片基地| 免费观看a级毛片全部| 欧美成人午夜免费资源| 国产精品一区二区在线不卡| 午夜久久久在线观看| 人人妻人人澡人人看| 久久人妻熟女aⅴ| 国产有黄有色有爽视频| 熟女电影av网| 精品国产露脸久久av麻豆| 欧美最新免费一区二区三区| 国产av精品麻豆| 两个人的视频大全免费| 在线观看免费日韩欧美大片 | 国产精品麻豆人妻色哟哟久久| 嘟嘟电影网在线观看| 最近2019中文字幕mv第一页| 亚洲欧美中文字幕日韩二区| 乱系列少妇在线播放| 日日爽夜夜爽网站| 国精品久久久久久国模美| 一边亲一边摸免费视频| 久久99蜜桃精品久久| 国产一区二区三区综合在线观看 | 日韩欧美 国产精品| av在线观看视频网站免费| 国产精品一区二区三区四区免费观看| 精品亚洲成a人片在线观看| 成人二区视频| 亚洲人与动物交配视频| 亚洲综合精品二区| 热re99久久国产66热| 国产精品三级大全| 亚洲美女视频黄频| 久久99精品国语久久久| 国产熟女午夜一区二区三区 | 下体分泌物呈黄色| 热re99久久国产66热| av国产精品久久久久影院| 久久午夜综合久久蜜桃| 黄色怎么调成土黄色| 国产高清有码在线观看视频| 黄色毛片三级朝国网站 | 人妻一区二区av| 国产成人一区二区在线| 中文资源天堂在线| 国产精品国产av在线观看| 日韩精品免费视频一区二区三区 | 欧美精品一区二区大全| 国产熟女欧美一区二区| 亚洲精品乱码久久久久久按摩| 国内揄拍国产精品人妻在线| av免费在线看不卡| 久久人人爽人人爽人人片va| 亚洲精品色激情综合| 欧美日韩在线观看h| 亚洲av中文av极速乱| 在线观看免费日韩欧美大片 | 欧美丝袜亚洲另类| 国国产精品蜜臀av免费| 七月丁香在线播放| 少妇人妻久久综合中文| 亚洲天堂av无毛| 又大又黄又爽视频免费| 美女主播在线视频| 日本欧美视频一区| 嫩草影院新地址| 最近中文字幕高清免费大全6| 久久午夜福利片| 老司机亚洲免费影院| 中文字幕精品免费在线观看视频 | 久久av网站| 欧美激情国产日韩精品一区| 欧美+日韩+精品| 久久精品国产亚洲av涩爱| 精品少妇黑人巨大在线播放| 岛国毛片在线播放| 亚洲av二区三区四区| 一级毛片黄色毛片免费观看视频| 两个人的视频大全免费| av在线观看视频网站免费| 国产亚洲5aaaaa淫片| 日韩一本色道免费dvd| 国产精品无大码| 久久国产乱子免费精品| 女人精品久久久久毛片| 26uuu在线亚洲综合色| 久久精品久久久久久噜噜老黄| av福利片在线| 亚洲av.av天堂| 国产午夜精品久久久久久一区二区三区| 免费高清在线观看视频在线观看| 最黄视频免费看| av又黄又爽大尺度在线免费看| 色哟哟·www| a级毛片免费高清观看在线播放| 一级a做视频免费观看| 2018国产大陆天天弄谢| 亚洲精品国产色婷婷电影| 9色porny在线观看| 日韩成人av中文字幕在线观看| 日日爽夜夜爽网站| 我要看黄色一级片免费的| 春色校园在线视频观看| 国产片特级美女逼逼视频| 国产精品嫩草影院av在线观看| 日韩一区二区三区影片| 特大巨黑吊av在线直播| 国产在线一区二区三区精| 国产色爽女视频免费观看| 国产免费又黄又爽又色| 另类亚洲欧美激情| 一个人看视频在线观看www免费| 性高湖久久久久久久久免费观看| 大话2 男鬼变身卡| 最新的欧美精品一区二区| 国产 一区精品| 日本vs欧美在线观看视频 | 嘟嘟电影网在线观看| 97在线人人人人妻| 80岁老熟妇乱子伦牲交| 亚洲av二区三区四区| 久久久午夜欧美精品| 国产精品无大码| 丰满人妻一区二区三区视频av| √禁漫天堂资源中文www| 欧美性感艳星| 老司机亚洲免费影院| 欧美日韩亚洲高清精品| 人妻 亚洲 视频| 一级,二级,三级黄色视频| 少妇丰满av| 视频区图区小说| 国产精品女同一区二区软件| 亚洲精品国产av成人精品| 国产片特级美女逼逼视频| 麻豆精品久久久久久蜜桃| 久久久久久久大尺度免费视频| 99久久人妻综合| 高清毛片免费看| 欧美老熟妇乱子伦牲交| 国产在线免费精品| 交换朋友夫妻互换小说| 哪个播放器可以免费观看大片| 久久人人爽人人爽人人片va| 久久99热这里只频精品6学生| 热re99久久国产66热| 久久国内精品自在自线图片| 国产视频内射| 在线观看免费视频网站a站| 国产av码专区亚洲av| 22中文网久久字幕| 观看av在线不卡| 激情五月婷婷亚洲| 日韩成人av中文字幕在线观看| 日本欧美国产在线视频| 久久99热6这里只有精品| 三上悠亚av全集在线观看 | 免费黄频网站在线观看国产| 色5月婷婷丁香| av免费在线看不卡| 中文字幕免费在线视频6| 精品人妻偷拍中文字幕| 欧美 亚洲 国产 日韩一| 一个人看视频在线观看www免费| 欧美精品国产亚洲| 成年av动漫网址| 日韩人妻高清精品专区| 美女cb高潮喷水在线观看| 十八禁网站网址无遮挡 | 亚洲无线观看免费| 欧美国产精品一级二级三级 | 国产精品欧美亚洲77777| 如何舔出高潮| 国产黄频视频在线观看| 人妻少妇偷人精品九色| 欧美三级亚洲精品| 一区二区三区免费毛片| 少妇高潮的动态图| 观看美女的网站| 亚洲国产毛片av蜜桃av| 亚洲综合色惰| 九九爱精品视频在线观看| 亚洲av国产av综合av卡| av女优亚洲男人天堂| 亚洲av二区三区四区| 99九九线精品视频在线观看视频| av视频免费观看在线观看| 菩萨蛮人人尽说江南好唐韦庄| 建设人人有责人人尽责人人享有的| 高清午夜精品一区二区三区| 大片免费播放器 马上看| 中文资源天堂在线| 91久久精品国产一区二区三区| 精品亚洲成国产av| 精品久久久久久电影网| 特大巨黑吊av在线直播| 少妇人妻一区二区三区视频| 韩国高清视频一区二区三区| 亚洲精品aⅴ在线观看| 能在线免费看毛片的网站| 99国产精品免费福利视频| 国产精品三级大全| 成人美女网站在线观看视频| 亚洲伊人久久精品综合| 国产欧美日韩一区二区三区在线 | 男女边吃奶边做爰视频| 大又大粗又爽又黄少妇毛片口| 搡女人真爽免费视频火全软件| 国产69精品久久久久777片| 亚洲av欧美aⅴ国产| 最后的刺客免费高清国语| 久久精品国产亚洲av涩爱| 激情五月婷婷亚洲| 亚洲av成人精品一区久久| 久久久久精品久久久久真实原创| 特大巨黑吊av在线直播| 国产亚洲5aaaaa淫片| 亚洲欧美中文字幕日韩二区| 午夜福利网站1000一区二区三区| 2021少妇久久久久久久久久久| 成人免费观看视频高清| 国精品久久久久久国模美| 国产伦理片在线播放av一区| 久久午夜综合久久蜜桃| 18+在线观看网站| 自拍欧美九色日韩亚洲蝌蚪91 | 男女边吃奶边做爰视频| 精品视频人人做人人爽| 久久久国产一区二区| 国产亚洲av片在线观看秒播厂| 99热国产这里只有精品6| 久久精品国产亚洲网站| 欧美精品人与动牲交sv欧美| 下体分泌物呈黄色| 国产女主播在线喷水免费视频网站| 能在线免费看毛片的网站| 黄色一级大片看看| 一二三四中文在线观看免费高清| 久久精品国产亚洲av涩爱| 成人影院久久| 国产午夜精品一二区理论片| 成人特级av手机在线观看| 黄色欧美视频在线观看| 午夜激情久久久久久久| 99久久人妻综合| 日韩中字成人| 妹子高潮喷水视频| 亚洲精品日韩av片在线观看| 国产一级毛片在线| 如日韩欧美国产精品一区二区三区 | 成人毛片60女人毛片免费| 在线观看免费高清a一片| 日韩成人伦理影院| 久久综合国产亚洲精品| 国产精品99久久久久久久久| 亚洲国产精品一区三区| 国产精品国产av在线观看| 有码 亚洲区| 亚洲国产毛片av蜜桃av| 97超视频在线观看视频| 免费少妇av软件| 18禁裸乳无遮挡动漫免费视频| 日日啪夜夜爽| 日韩大片免费观看网站| 久久久久久久亚洲中文字幕| 国产欧美另类精品又又久久亚洲欧美| 99热这里只有是精品50| 777米奇影视久久| 国产精品麻豆人妻色哟哟久久| 亚洲av男天堂| 中文在线观看免费www的网站| 国产精品秋霞免费鲁丝片| 国产爽快片一区二区三区| 哪个播放器可以免费观看大片| 久久精品久久久久久久性| 久久久午夜欧美精品| 97精品久久久久久久久久精品| 精品人妻偷拍中文字幕| 午夜激情福利司机影院| 国产黄频视频在线观看| 嘟嘟电影网在线观看| 少妇人妻一区二区三区视频| 欧美精品亚洲一区二区| 我的老师免费观看完整版| 99久国产av精品国产电影| 亚洲av二区三区四区| 久久韩国三级中文字幕| 亚洲经典国产精华液单| 亚洲va在线va天堂va国产| 性高湖久久久久久久久免费观看| 亚洲成人手机| 国产熟女欧美一区二区| 女性被躁到高潮视频| 日本黄大片高清| 老司机影院成人| 久久人妻熟女aⅴ| 最近手机中文字幕大全| 国产免费福利视频在线观看| 亚洲四区av| 午夜福利在线观看免费完整高清在| 婷婷色综合www| 亚洲电影在线观看av| 六月丁香七月| 日韩熟女老妇一区二区性免费视频| 高清不卡的av网站| h日本视频在线播放| 毛片一级片免费看久久久久| 久久国产精品大桥未久av | 成人毛片60女人毛片免费| 男人爽女人下面视频在线观看| 日韩欧美 国产精品| 女性被躁到高潮视频| 天天操日日干夜夜撸| 麻豆成人午夜福利视频| 一级,二级,三级黄色视频| 免费黄色在线免费观看| 一区二区三区精品91| 亚洲精品成人av观看孕妇| 2022亚洲国产成人精品| 亚洲成人一二三区av| 国产 一区精品| 亚洲精品456在线播放app| 欧美日韩视频精品一区| 中文字幕免费在线视频6| 亚洲美女视频黄频| 乱码一卡2卡4卡精品| 各种免费的搞黄视频| 观看免费一级毛片| 啦啦啦在线观看免费高清www| 免费人成在线观看视频色| 亚洲内射少妇av| 国产av一区二区精品久久| 高清av免费在线| 日韩一区二区视频免费看| 伦理电影免费视频| a级片在线免费高清观看视频| 9色porny在线观看| 九草在线视频观看| 日韩欧美精品免费久久| 午夜精品国产一区二区电影| 久久久久久久久大av| av在线老鸭窝| 免费av中文字幕在线| 久久久欧美国产精品| 久久人人爽av亚洲精品天堂| 少妇高潮的动态图| 性色avwww在线观看| 大话2 男鬼变身卡| 欧美xxxx性猛交bbbb| 日韩av不卡免费在线播放| 久久精品夜色国产| 日本色播在线视频| 99久久人妻综合| 七月丁香在线播放| av专区在线播放| 在线观看国产h片| 免费看光身美女| 99久久综合免费| 免费观看在线日韩| www.av在线官网国产| av天堂久久9| 日韩电影二区| 美女xxoo啪啪120秒动态图| 久久毛片免费看一区二区三区| 久久久精品94久久精品| 亚洲,欧美,日韩| 一区二区三区四区激情视频| 国产精品不卡视频一区二区| av又黄又爽大尺度在线免费看| 99久国产av精品国产电影| 综合色丁香网| 久久精品久久久久久久性| 亚洲国产日韩一区二区| 九色成人免费人妻av| 免费看av在线观看网站| 九草在线视频观看| 久久久久人妻精品一区果冻| tube8黄色片| 久久久午夜欧美精品| 人妻人人澡人人爽人人| 伦精品一区二区三区| 中国三级夫妇交换| 性色av一级| 两个人的视频大全免费| 久久韩国三级中文字幕| av专区在线播放| 日韩不卡一区二区三区视频在线| 麻豆成人午夜福利视频| 亚洲经典国产精华液单| 国语对白做爰xxxⅹ性视频网站| 日本-黄色视频高清免费观看| 日本欧美国产在线视频| 精品人妻偷拍中文字幕| 女的被弄到高潮叫床怎么办| av福利片在线| 老女人水多毛片| 一边亲一边摸免费视频| 日韩成人伦理影院| av国产久精品久网站免费入址| 你懂的网址亚洲精品在线观看| 18禁在线无遮挡免费观看视频| 中文字幕人妻丝袜制服| 老司机影院成人| 日本黄大片高清| 国产视频内射| 最新中文字幕久久久久| 新久久久久国产一级毛片| 日本猛色少妇xxxxx猛交久久| 国产精品不卡视频一区二区| 18禁在线无遮挡免费观看视频| 欧美日韩一区二区视频在线观看视频在线| av国产精品久久久久影院| 国产在线视频一区二区| 一级毛片我不卡| 亚洲av日韩在线播放| 少妇人妻精品综合一区二区| 美女主播在线视频| 国产色爽女视频免费观看| 国产亚洲欧美精品永久| 精品人妻熟女毛片av久久网站| 亚洲成人手机| 男的添女的下面高潮视频| 91精品国产九色| 日韩不卡一区二区三区视频在线| 日韩精品免费视频一区二区三区 | 日韩电影二区| 免费大片18禁| 插逼视频在线观看| 欧美xxxx性猛交bbbb| 国产精品无大码| 久久精品国产亚洲av天美| 日韩中文字幕视频在线看片| 欧美老熟妇乱子伦牲交| 91精品伊人久久大香线蕉| 亚洲欧美一区二区三区黑人 | 婷婷色综合大香蕉| 丁香六月天网| 亚洲国产精品一区三区| 成人亚洲欧美一区二区av| 女性被躁到高潮视频| freevideosex欧美| 黑人巨大精品欧美一区二区蜜桃 | 搡女人真爽免费视频火全软件| 免费少妇av软件| 观看美女的网站| 精品国产露脸久久av麻豆| 99热全是精品| 草草在线视频免费看| 国产成人精品一,二区| 我要看日韩黄色一级片| 久久精品国产亚洲av涩爱| 99久久精品国产国产毛片| 免费高清在线观看视频在线观看| 久久精品国产鲁丝片午夜精品| 成人特级av手机在线观看| 大香蕉久久网| 麻豆成人午夜福利视频| 久久国产乱子免费精品| 久久国产精品男人的天堂亚洲 | 久久国产精品男人的天堂亚洲 | 汤姆久久久久久久影院中文字幕| 亚洲美女搞黄在线观看| 国产亚洲91精品色在线| 国产成人一区二区在线| 国语对白做爰xxxⅹ性视频网站| 久久免费观看电影| 久久精品国产亚洲av天美| 亚洲欧洲日产国产| 国产成人精品福利久久| 国产黄色视频一区二区在线观看| 精品久久久久久久久亚洲| 中文字幕久久专区| 国产精品女同一区二区软件| 天堂中文最新版在线下载| 国产精品一二三区在线看| 久久精品久久久久久噜噜老黄| 午夜免费观看性视频| 亚洲欧美日韩卡通动漫| 天天躁夜夜躁狠狠久久av| 欧美 日韩 精品 国产| 自拍欧美九色日韩亚洲蝌蚪91 | 国语对白做爰xxxⅹ性视频网站| 2022亚洲国产成人精品| 精品亚洲乱码少妇综合久久| 成人影院久久| 中文字幕人妻丝袜制服| 免费看av在线观看网站| 国产男人的电影天堂91| 伊人久久精品亚洲午夜| 人妻少妇偷人精品九色| av福利片在线| 久久毛片免费看一区二区三区| 黄色毛片三级朝国网站 | 婷婷色av中文字幕| 日本wwww免费看| 欧美一级a爱片免费观看看| 亚洲欧美日韩卡通动漫| 日韩av在线免费看完整版不卡| 中文字幕免费在线视频6| 精品一区在线观看国产| 日韩免费高清中文字幕av| 亚洲精品久久久久久婷婷小说| 免费黄频网站在线观看国产| 久久久久久久精品精品| 22中文网久久字幕| av线在线观看网站| 久久人人爽av亚洲精品天堂| 午夜福利在线观看免费完整高清在| 欧美日韩亚洲高清精品| 国产精品三级大全| 精品国产一区二区三区久久久樱花| 最近的中文字幕免费完整| 国产成人91sexporn| 亚洲性久久影院| 男人和女人高潮做爰伦理| 3wmmmm亚洲av在线观看| 另类亚洲欧美激情| 一级毛片我不卡| 精华霜和精华液先用哪个| 精品久久久噜噜| 中文字幕av电影在线播放| 久久久亚洲精品成人影院| 亚洲精品乱码久久久v下载方式| 国产日韩一区二区三区精品不卡 | 亚洲精品亚洲一区二区| 精品人妻一区二区三区麻豆| 久久午夜综合久久蜜桃| 免费观看av网站的网址| 在线亚洲精品国产二区图片欧美 | 一级黄片播放器| 丰满人妻一区二区三区视频av| 色5月婷婷丁香| 最近手机中文字幕大全| 成人黄色视频免费在线看| 免费少妇av软件| 好男人视频免费观看在线| freevideosex欧美|