• <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
    av国产久精品久网站免费入址| 熟女人妻精品中文字幕| 超碰97精品在线观看| 欧美变态另类bdsm刘玥| 国产免费一级a男人的天堂| 婷婷色综合大香蕉| 在线观看美女被高潮喷水网站| 一本一本综合久久| 在线观看人妻少妇| 色94色欧美一区二区| av播播在线观看一区| 免费播放大片免费观看视频在线观看| 亚洲欧美一区二区三区黑人 | 日韩精品免费视频一区二区三区 | 2018国产大陆天天弄谢| 少妇的逼好多水| 在线观看国产h片| 国产黄片视频在线免费观看| 午夜福利影视在线免费观看| 亚洲av成人精品一区久久| 亚洲中文av在线| 国产 一区精品| 中国国产av一级| 国产黄色视频一区二区在线观看| 久久精品熟女亚洲av麻豆精品| 狠狠婷婷综合久久久久久88av| 国产欧美日韩综合在线一区二区| 国精品久久久久久国模美| 国产精品久久久久久精品古装| a级片在线免费高清观看视频| 男女啪啪激烈高潮av片| 久久影院123| 一边摸一边做爽爽视频免费| 高清视频免费观看一区二区| 看非洲黑人一级黄片| 亚洲av电影在线观看一区二区三区| 一区二区三区乱码不卡18| 秋霞在线观看毛片| 亚洲精品乱码久久久v下载方式| 久久精品熟女亚洲av麻豆精品| 精品一品国产午夜福利视频| 一个人看视频在线观看www免费| 色网站视频免费| 国产永久视频网站| 亚洲美女视频黄频| 欧美另类一区| 大香蕉97超碰在线| 精品一品国产午夜福利视频| 在线观看免费日韩欧美大片 | 少妇高潮的动态图| 国产成人免费观看mmmm| 一区二区三区免费毛片| 久久狼人影院| 免费高清在线观看视频在线观看| 免费大片18禁| 国产爽快片一区二区三区| 免费大片黄手机在线观看| 亚洲天堂av无毛| 人人妻人人添人人爽欧美一区卜| 如何舔出高潮| 精品国产露脸久久av麻豆| 最近最新中文字幕免费大全7| 一级毛片我不卡| 乱码一卡2卡4卡精品| 99视频精品全部免费 在线| 日韩制服骚丝袜av| 五月天丁香电影| 国产免费又黄又爽又色| 欧美日韩成人在线一区二区| 91在线精品国自产拍蜜月| 嘟嘟电影网在线观看| 日韩,欧美,国产一区二区三区| 看非洲黑人一级黄片| 国产成人a∨麻豆精品| 内地一区二区视频在线| 亚洲成人av在线免费| 少妇人妻久久综合中文| a级毛片黄视频| 日韩精品免费视频一区二区三区 | av播播在线观看一区| 大片电影免费在线观看免费| www.色视频.com| 日本色播在线视频| 成人手机av| 一级毛片 在线播放| 人人澡人人妻人| 成人二区视频| 国产男女超爽视频在线观看| 午夜久久久在线观看| 国产 精品1| 赤兔流量卡办理| 一区二区三区精品91| 黄片播放在线免费| 久久精品国产亚洲av天美| 黑丝袜美女国产一区| 日韩三级伦理在线观看| 最近的中文字幕免费完整| 国产精品人妻久久久久久| 亚洲精品,欧美精品| 人人妻人人添人人爽欧美一区卜| 久久国内精品自在自线图片| 国产免费又黄又爽又色| 成人手机av| 高清不卡的av网站| 亚洲不卡免费看| 九九在线视频观看精品| 欧美国产精品一级二级三级| 欧美 日韩 精品 国产| 看十八女毛片水多多多| 亚洲国产欧美在线一区| 欧美3d第一页| 精品国产一区二区三区久久久樱花| 最近最新中文字幕免费大全7| 在线 av 中文字幕| 免费看光身美女| 欧美bdsm另类| 校园人妻丝袜中文字幕| 一区二区三区乱码不卡18| 欧美激情 高清一区二区三区| 亚洲经典国产精华液单| 亚洲av国产av综合av卡| 中文精品一卡2卡3卡4更新| 精品少妇内射三级| 亚洲欧美一区二区三区国产| 高清在线视频一区二区三区| 日韩,欧美,国产一区二区三区| 制服诱惑二区| 中文精品一卡2卡3卡4更新| 国产免费视频播放在线视频| 亚洲成人一二三区av| 国产av一区二区精品久久| 国产熟女欧美一区二区| 91aial.com中文字幕在线观看| 最新中文字幕久久久久| 街头女战士在线观看网站| 亚州av有码| 久久韩国三级中文字幕| 国产乱来视频区| 晚上一个人看的免费电影| 欧美一级a爱片免费观看看| 亚洲经典国产精华液单| 欧美日韩在线观看h| 午夜久久久在线观看| 高清欧美精品videossex| 国产高清三级在线| 国产精品无大码| 国产免费视频播放在线视频| 久久精品熟女亚洲av麻豆精品| 蜜臀久久99精品久久宅男| 一二三四中文在线观看免费高清| 99久久精品一区二区三区| 成人毛片a级毛片在线播放| 一本色道久久久久久精品综合| 777米奇影视久久| 免费大片18禁| 国内精品宾馆在线| 欧美丝袜亚洲另类| 久久毛片免费看一区二区三区| 亚洲成人av在线免费| 少妇被粗大猛烈的视频| 一级二级三级毛片免费看| 国产精品一区www在线观看| 免费少妇av软件| 亚洲av日韩在线播放| 一级二级三级毛片免费看| 亚洲不卡免费看| 国产高清不卡午夜福利| 黑人高潮一二区| 国产精品一区www在线观看| 久久精品国产亚洲av涩爱| 十分钟在线观看高清视频www| 国产 精品1| 在线精品无人区一区二区三| 亚洲综合色网址| 久久久久国产精品人妻一区二区| 国产精品国产av在线观看| 亚洲精品视频女| 搡女人真爽免费视频火全软件| a级毛片免费高清观看在线播放| 国产精品久久久久成人av| 精品亚洲乱码少妇综合久久| 久久久久国产网址| 亚洲熟女精品中文字幕| 观看美女的网站| 欧美成人精品欧美一级黄| 国产av码专区亚洲av| 亚洲内射少妇av| 蜜桃国产av成人99| 日韩人妻高清精品专区| 人妻人人澡人人爽人人| 99国产精品免费福利视频| 一本—道久久a久久精品蜜桃钙片| 久久人人爽人人片av| 欧美激情国产日韩精品一区| 如日韩欧美国产精品一区二区三区 | 久久av网站| 伊人亚洲综合成人网| www.色视频.com| 精品少妇久久久久久888优播| 老司机影院成人| 极品少妇高潮喷水抽搐| 欧美日韩成人在线一区二区| 一本大道久久a久久精品| 91精品一卡2卡3卡4卡| 菩萨蛮人人尽说江南好唐韦庄| a级毛片黄视频| 十八禁网站网址无遮挡| 国产精品免费大片| 精品亚洲乱码少妇综合久久| 免费观看a级毛片全部| 一本大道久久a久久精品| 色5月婷婷丁香| 一本色道久久久久久精品综合| 在线观看www视频免费| 九九在线视频观看精品| 亚洲欧美日韩卡通动漫| 亚洲人成网站在线观看播放| 在线观看三级黄色| 亚洲国产欧美日韩在线播放| 视频在线观看一区二区三区| 一本一本综合久久| 国产精品一区二区在线观看99| 国产亚洲午夜精品一区二区久久| 18禁动态无遮挡网站| av.在线天堂| 视频中文字幕在线观看| 亚洲第一av免费看| 日本wwww免费看| 欧美日韩av久久| 女人久久www免费人成看片| 2018国产大陆天天弄谢| 亚洲精品乱码久久久v下载方式| 亚洲激情五月婷婷啪啪| 啦啦啦视频在线资源免费观看| videos熟女内射| 日本与韩国留学比较| 一个人免费看片子| 国产精品无大码| 婷婷色综合www| 国产精品99久久久久久久久| 欧美少妇被猛烈插入视频| 伊人久久国产一区二区| 日韩中字成人| 性色av一级| 久久人妻熟女aⅴ| 久久97久久精品| 日本欧美视频一区| 日日撸夜夜添| 中文字幕免费在线视频6| 亚洲av中文av极速乱| 夜夜骑夜夜射夜夜干| 99re6热这里在线精品视频| 久久久国产一区二区| 亚洲人成网站在线播| 国产黄色免费在线视频| 曰老女人黄片| 狠狠婷婷综合久久久久久88av| 久久精品久久精品一区二区三区| 少妇被粗大的猛进出69影院 | 十分钟在线观看高清视频www| 成人二区视频| 大香蕉久久成人网| 少妇熟女欧美另类| 欧美精品一区二区大全| 国产精品嫩草影院av在线观看| 久久精品国产亚洲av涩爱| 亚洲av成人精品一二三区| 日本av手机在线免费观看| 国产精品久久久久久精品古装| 亚洲国产日韩一区二区| 亚洲国产av新网站| 高清欧美精品videossex| 日韩视频在线欧美| 成人毛片a级毛片在线播放| 国产亚洲最大av| 亚洲精品456在线播放app| 夫妻性生交免费视频一级片| 爱豆传媒免费全集在线观看| 亚洲人与动物交配视频| 99精国产麻豆久久婷婷| 国产成人a∨麻豆精品| 亚洲无线观看免费| 有码 亚洲区| 亚洲少妇的诱惑av| 精品一区二区免费观看| 久久精品国产a三级三级三级| 日本av免费视频播放| 久久久久精品性色| 成人毛片60女人毛片免费| 99九九在线精品视频| 日本黄色日本黄色录像| 狂野欧美激情性xxxx在线观看| 免费少妇av软件| 亚洲伊人久久精品综合| 久久久久久久久久久丰满| 欧美精品一区二区免费开放| 久久精品国产亚洲网站| 2022亚洲国产成人精品| 久久久久国产精品人妻一区二区| 久久免费观看电影| 欧美日韩av久久| 免费观看在线日韩| 99久久精品国产国产毛片| 色94色欧美一区二区| 日本爱情动作片www.在线观看| 18+在线观看网站| xxx大片免费视频| 久久精品国产鲁丝片午夜精品| av福利片在线| 晚上一个人看的免费电影| 一区二区三区精品91| 九色亚洲精品在线播放| 国产永久视频网站| 热re99久久国产66热| 国产免费又黄又爽又色| 制服诱惑二区| 成人无遮挡网站| av视频免费观看在线观看| 如日韩欧美国产精品一区二区三区 | 午夜福利视频精品| 久久久久久久国产电影| 成年美女黄网站色视频大全免费 | 91精品一卡2卡3卡4卡| 亚洲美女视频黄频| 亚洲精品国产av蜜桃| 久久99蜜桃精品久久| 最近的中文字幕免费完整| 99热全是精品| 亚洲精品久久久久久婷婷小说| 熟女人妻精品中文字幕| a级毛片在线看网站| 成年人午夜在线观看视频| 久久亚洲国产成人精品v| 国产亚洲午夜精品一区二区久久| 午夜免费观看性视频| 久久人人爽人人爽人人片va| 青春草视频在线免费观看| 日韩中文字幕视频在线看片| 午夜影院在线不卡| 久久久国产一区二区| 国产成人精品一,二区| 久久久久久久久大av| 国产爽快片一区二区三区| 婷婷色综合大香蕉| 免费黄网站久久成人精品| 最黄视频免费看| 丝袜在线中文字幕| 一区在线观看完整版| 成人二区视频| 精品国产乱码久久久久久小说| 超碰97精品在线观看| 在线观看免费日韩欧美大片 | 欧美日韩一区二区视频在线观看视频在线| 综合色丁香网| 日韩一区二区三区影片| 97超碰精品成人国产| 又大又黄又爽视频免费| 亚洲精品国产av成人精品| 考比视频在线观看| 欧美bdsm另类| 成年av动漫网址| 精品国产乱码久久久久久小说| 欧美成人精品欧美一级黄| 成人黄色视频免费在线看| 丰满饥渴人妻一区二区三| 大香蕉久久成人网| 国产精品久久久久久精品古装| 国产精品成人在线| 999精品在线视频| 日本av免费视频播放| 成人二区视频| 国产极品粉嫩免费观看在线 | 亚洲精品视频女| 久久久久国产精品人妻一区二区| 一区二区三区精品91| 久久精品久久久久久久性| 大香蕉久久成人网| 晚上一个人看的免费电影| 五月伊人婷婷丁香| 丝瓜视频免费看黄片| 亚洲国产av新网站| 国产精品麻豆人妻色哟哟久久| 国产精品人妻久久久影院| 国产日韩欧美在线精品| 精品久久国产蜜桃| 精品一品国产午夜福利视频| 久久久久人妻精品一区果冻| 国产在线视频一区二区| 美女内射精品一级片tv| 国产熟女欧美一区二区| a级毛片黄视频| 久久免费观看电影| 欧美3d第一页| 日韩不卡一区二区三区视频在线| 国产亚洲av片在线观看秒播厂| 18禁裸乳无遮挡动漫免费视频| 亚洲第一av免费看| 高清午夜精品一区二区三区| 一本大道久久a久久精品| 午夜福利在线观看免费完整高清在| 2021少妇久久久久久久久久久| 久久99一区二区三区| 夜夜骑夜夜射夜夜干| 伦理电影大哥的女人| 欧美少妇被猛烈插入视频| 亚洲少妇的诱惑av| 久久99蜜桃精品久久| 国产精品久久久久成人av| 亚洲性久久影院| 日韩大片免费观看网站| 久久久久精品性色| 欧美激情极品国产一区二区三区 | 一级片'在线观看视频| 女的被弄到高潮叫床怎么办| 亚洲精品视频女| 亚洲四区av| 国产高清不卡午夜福利| 精品少妇内射三级| 成年美女黄网站色视频大全免费 | 超色免费av| 国产精品一二三区在线看| 成人手机av| 久久久久久久国产电影| 一本色道久久久久久精品综合| 久久狼人影院| 久久综合国产亚洲精品| 国产免费现黄频在线看| 中文字幕精品免费在线观看视频 | 2018国产大陆天天弄谢| 国产精品人妻久久久久久| 中国国产av一级| 伊人久久精品亚洲午夜| 午夜老司机福利剧场| 男女免费视频国产| 麻豆精品久久久久久蜜桃| 国产精品一国产av| 97在线人人人人妻| 九色成人免费人妻av| 国产精品国产av在线观看| 色视频在线一区二区三区| videosex国产| 国内精品宾馆在线| 国产极品天堂在线| 久久久久久久国产电影| 黑人高潮一二区| 午夜视频国产福利| 久久97久久精品| 美女脱内裤让男人舔精品视频| 国产精品熟女久久久久浪| 永久网站在线| 一本大道久久a久久精品| 成人免费观看视频高清| 中文字幕最新亚洲高清| 亚洲三级黄色毛片| 视频区图区小说| 国产精品久久久久久精品古装| 免费高清在线观看视频在线观看| 大香蕉97超碰在线| 伦理电影大哥的女人| 国产综合精华液| 亚洲精品一二三| 国国产精品蜜臀av免费| 久久国产精品男人的天堂亚洲 | 亚洲欧洲日产国产| 免费看光身美女| 国模一区二区三区四区视频| 久久热精品热| 插逼视频在线观看| 我要看黄色一级片免费的| 美女大奶头黄色视频| 国产69精品久久久久777片| 亚洲欧美成人综合另类久久久| 国产高清三级在线| 成人18禁高潮啪啪吃奶动态图 | 中国国产av一级| 国产精品.久久久| 亚洲四区av| av在线观看视频网站免费| 成年av动漫网址| 亚洲综合色网址| 国产毛片在线视频| 99九九在线精品视频| 伊人亚洲综合成人网| 婷婷色av中文字幕| 七月丁香在线播放| 少妇的逼水好多| 久久青草综合色| 大陆偷拍与自拍| 51国产日韩欧美| 美女主播在线视频| 一个人免费看片子| 美女xxoo啪啪120秒动态图| 人人妻人人澡人人爽人人夜夜| 美女国产高潮福利片在线看| 久久99蜜桃精品久久| 亚洲少妇的诱惑av| 国产视频首页在线观看| videosex国产| 熟女人妻精品中文字幕| 成人毛片a级毛片在线播放| 下体分泌物呈黄色| 国产女主播在线喷水免费视频网站| 国产亚洲精品久久久com| 国产av码专区亚洲av| 春色校园在线视频观看| 亚洲成人av在线免费| 亚洲,一卡二卡三卡| 国产午夜精品一二区理论片| 精品久久久久久久久av| 在线观看人妻少妇| 亚洲av.av天堂| 亚洲美女搞黄在线观看| 人人妻人人澡人人看| 亚洲人成网站在线播| 视频区图区小说| 亚洲图色成人| 男女边吃奶边做爰视频| 国产精品.久久久| 丝袜脚勾引网站| 婷婷色综合大香蕉| 久久狼人影院| 国产黄片视频在线免费观看| 我的老师免费观看完整版| 91精品国产九色| 国产一区亚洲一区在线观看| 在线精品无人区一区二区三| 亚洲四区av| 亚洲色图 男人天堂 中文字幕 | 久热这里只有精品99| 久久国产亚洲av麻豆专区| av网站免费在线观看视频| 三上悠亚av全集在线观看| 免费不卡的大黄色大毛片视频在线观看| 国产又色又爽无遮挡免| 亚洲高清免费不卡视频| 成人毛片a级毛片在线播放| 欧美3d第一页| av又黄又爽大尺度在线免费看| 国产成人一区二区在线| 一区二区三区乱码不卡18| av在线观看视频网站免费| 久久精品国产亚洲av天美| 精品久久国产蜜桃| 黄色配什么色好看| 国产精品99久久99久久久不卡 | 国产日韩欧美亚洲二区| 99九九线精品视频在线观看视频| 中文字幕人妻丝袜制服| 在线观看www视频免费| 日韩三级伦理在线观看| 国产在线视频一区二区| 成年人午夜在线观看视频| 看非洲黑人一级黄片| 日韩一区二区视频免费看| 卡戴珊不雅视频在线播放| 欧美精品人与动牲交sv欧美| 国产精品一区www在线观看| 日韩av在线免费看完整版不卡| 狂野欧美激情性bbbbbb| 蜜臀久久99精品久久宅男| 久久精品久久久久久久性| 五月伊人婷婷丁香| 欧美成人午夜免费资源| 中国三级夫妇交换| 秋霞伦理黄片| 91久久精品国产一区二区三区| kizo精华| 免费观看性生交大片5| 国产免费现黄频在线看| 婷婷色综合www| 欧美精品人与动牲交sv欧美| 国产乱来视频区| 3wmmmm亚洲av在线观看| 国产亚洲精品第一综合不卡 | 在线看a的网站| 亚洲精品av麻豆狂野| 国产亚洲一区二区精品| 草草在线视频免费看| 在线观看一区二区三区激情| 亚洲欧洲精品一区二区精品久久久 | 下体分泌物呈黄色| 在线观看免费日韩欧美大片 | 大香蕉久久成人网| 国产在线一区二区三区精| 亚洲内射少妇av| 欧美日本中文国产一区发布| 最后的刺客免费高清国语| 亚洲精品亚洲一区二区| 精品99又大又爽又粗少妇毛片| 国产精品人妻久久久影院| 国产伦理片在线播放av一区| 亚洲成人手机| 91久久精品电影网| 国产乱来视频区| 国产精品秋霞免费鲁丝片| 国产淫语在线视频| 成人漫画全彩无遮挡| 国产成人精品福利久久| 国产精品久久久久成人av| 91久久精品电影网| 国产精品国产三级国产专区5o| 成人黄色视频免费在线看| 丝瓜视频免费看黄片| 国产男人的电影天堂91| 久久久精品免费免费高清| 精品少妇久久久久久888优播| 免费av不卡在线播放| 亚洲四区av| 久久99精品国语久久久| av线在线观看网站| 国产国拍精品亚洲av在线观看| 国产成人精品福利久久| 青春草国产在线视频| 中文精品一卡2卡3卡4更新| 老司机影院毛片|