精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

高效壓縮位圖在推薦系統(tǒng)中的應(yīng)用

數(shù)據(jù)庫 系統(tǒng)
在文章中我們探討了在過濾去重的業(yè)務(wù)中,使用Redis存儲(chǔ)的情況下,利用intset,bloom filter 和 RoaringBitMap這三種數(shù)據(jù)結(jié)構(gòu)保存整數(shù)型集合的開銷。

一、背景

用戶在瀏覽游戲中心/應(yīng)用商店的某些模塊內(nèi)容時(shí),會(huì)進(jìn)行一系列滑屏操作并多次請求游戲推薦業(yè)務(wù)來進(jìn)行游戲推薦展示,這段時(shí)間我們稱之為一個(gè)用戶session。

一個(gè)session內(nèi)用戶一般會(huì)進(jìn)行十幾次滑屏操作,每次滑屏操作都會(huì)請求推薦業(yè)務(wù),所以在這個(gè)session內(nèi)游戲推薦需要對推薦過的游戲進(jìn)行去重,避免出現(xiàn)重復(fù)推薦同一款游戲影響用戶體驗(yàn)。

精簡后的業(yè)務(wù)流程如下所示:用戶進(jìn)行滑屏操作時(shí)會(huì)觸發(fā)一次推薦請求,此時(shí)客戶端會(huì)將上一頁的黑名單游戲通過游戲中心服務(wù)端透傳給推薦系統(tǒng),推薦系統(tǒng)將一個(gè)session內(nèi)每次請求的黑名單信息都累加存儲(chǔ)到Redis中作為一個(gè)總的過濾集合,在召回打分時(shí)就會(huì)過濾掉這些黑名單游戲。

以實(shí)際業(yè)務(wù)場景為例,用戶瀏覽某模塊的session時(shí)長一般不會(huì)超過10分鐘,模塊每頁顯示的游戲?yàn)?0個(gè)左右,假設(shè)每個(gè)用戶session內(nèi)會(huì)進(jìn)行15次的滑屏操作,那么一個(gè)session就需要存儲(chǔ)300 個(gè)黑名單游戲的appId(整數(shù)型Id)。因此該業(yè)務(wù)場景就不適合持久化存儲(chǔ),業(yè)務(wù)問題就可以歸結(jié)為如何使用一個(gè)合適的數(shù)據(jù)結(jié)構(gòu)來緩存一系列整數(shù)集合以達(dá)到節(jié)省內(nèi)存開銷的目的。

二、技術(shù)選型分析

接下來我們隨機(jī)選取300個(gè)游戲的appId([2945340, ....... , 2793501,3056389])作為集合來分別實(shí)驗(yàn)分析intset,bloom filter,RoaringBitMap對存儲(chǔ)效果的影響。

2.1 intset

實(shí)驗(yàn)結(jié)果表明用 intset保存300個(gè)游戲集合,得到占用的空間大小為1.23KB。這是因?yàn)閷τ?00個(gè)整數(shù)型appId游戲,每個(gè)appId用4Byte的int32就能表示。根據(jù)intset的數(shù)據(jù)結(jié)構(gòu),其開銷僅為encoding + length + 400 個(gè)int所占的空間。

typedef struct intset{
unit32_t encoding; // 編碼類型
unit32_t length; // 元素個(gè)數(shù)
int8_t contents[]; // 元素存儲(chǔ)
} intset;

2.2 bloom filter

布隆過濾器底層使用的是bitmap,bitmap本身就是一個(gè)數(shù)組可以存儲(chǔ)整形數(shù)字,arr[N] = 1 表示數(shù)組里存儲(chǔ)了N這個(gè)數(shù)字。

bloom filter會(huì)先用hash函數(shù)對數(shù)據(jù)進(jìn)行計(jì)算,映射到bitmap相應(yīng)的位置,為減少碰撞(不同的數(shù)據(jù)可能會(huì)有相同的hash值),會(huì)使用多個(gè)hash算子對同一份數(shù)據(jù)進(jìn)行多次映射。在業(yè)務(wù)中我們假設(shè)線上有一萬個(gè)游戲,同時(shí)業(yè)務(wù)場景不允許出現(xiàn)誤判,那么誤差就必須控制在10^-5,通過bloom filter的計(jì)算工具h(yuǎn)ttps://hur.st/bloomfilter/?n=10000&p=1.0E-5&m=&k=得出,需要17個(gè)hash算子,且bitmap空間要達(dá)到29KB才能滿足業(yè)務(wù)需求,顯然這樣巨大的開銷并不是我們想要的結(jié)果。

2.3 RoaringBitMap

RoaringBitMap和bloom filter本質(zhì)上都是使用bitmap進(jìn)行存儲(chǔ)。但bloom filter 使用的是多個(gè)hash函數(shù)對存儲(chǔ)數(shù)據(jù)進(jìn)行映射存儲(chǔ),如果兩個(gè)游戲appId經(jīng)過hash映射后得出的數(shù)據(jù)一致,則判定兩者重復(fù),這中間有一定的誤判率,所以為滿足在該業(yè)務(wù)場景其空間開銷會(huì)非常的大。而RoaringBitMap是直接將元數(shù)據(jù)進(jìn)行存儲(chǔ)壓縮,其準(zhǔn)確率是100%的。

實(shí)驗(yàn)結(jié)果表明:RoaringBitMap對300個(gè)游戲集合的開銷僅為0.5KB,比直接用intset(1.23KB)還小,是該業(yè)務(wù)場景下的首選。所以下文我們來著重分析下RoaringBitMap為什么為如此高效。

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

每個(gè)RoaringBitMap中都包含一個(gè)RoaringArray,存儲(chǔ)了全部的數(shù)據(jù),其結(jié)構(gòu)如下:

short[] keys;
Container[] values;
int sizer;

它的思路是將32位無符號整數(shù)按照高16位分桶(container),并做為key存儲(chǔ)到short[] keys中,最多能存儲(chǔ)2^16 = 65536 個(gè)桶(container)。存儲(chǔ)數(shù)據(jù)時(shí)按照數(shù)據(jù)的高16位找到container,再將低16位放入container中,也就是Container[] values。size則表示了當(dāng)前keys和values中有效數(shù)據(jù)的數(shù)量。為了方便理解,下圖展示了三個(gè)container:

圖片引用自: https://arxiv.org

  • 高16位為0000H的container,存儲(chǔ)有前1000個(gè)62的倍數(shù)。
  • 高16位為0001H的container,存儲(chǔ)有[2^16, 2^16+100)區(qū)間內(nèi)的100個(gè)數(shù)。
  • 高16位為0002H的container,存儲(chǔ)有[2×2^16, 3×2^16)區(qū)間內(nèi)的所有偶數(shù),共215個(gè)。

當(dāng)然該數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)不是我們關(guān)注的重點(diǎn),有興趣的同學(xué)可以去查閱相關(guān)資料學(xué)習(xí)。現(xiàn)在我們來分析一下在推薦業(yè)務(wù)中RoaringBitMap是如何幫助我們節(jié)省開銷的。RoaringBitMap中的container分為ArrayContainer,BitmapContainer 和 RunContainer 但其壓縮方式主要分為兩種,姑且就稱為可變長度壓縮和固定長度壓縮, 這兩種方式在不同的場景下有不同的應(yīng)用。

2.3.2 壓縮方式與思考

假設(shè)兩串?dāng)?shù)字集合 [112,113,114,115,116,117,118 ], [112, 115, 116, 117, 120, 121]使用可變長度壓縮可以記錄為:

  • 112,1,1,1,1,1,1 使用的字節(jié)大小為 7bit + 6bit = 13bit, 壓縮率為 (7 * 32 bit) / 13 bit = 17.23
  • 112,3,1,1,3,1 使用的字節(jié)大小為 7bit + 2bit + 1bit + 1bit + 2bit + 1bit = 14bit, 壓縮率為(6 * 32bit)/ 14 = 13.7

使用固定長度壓縮可以記錄為:

  • 112, 6,使用的字節(jié)大小為 7bit + 3bit = 10bit , 壓縮率為(7 * 32bit)/ 10bit = 22.4
  • 112, 115, 3, 120,2 使用的字節(jié)大小為 7bit + 7bit + 2bit + 7bit + 2bit = 25bit,壓縮率為(6 * 32bit)/ 25 = 7.68

顯然稀疏排列對于兩種壓縮方式都有影響,可變長度壓縮適合于稀疏分布的數(shù)字集合,固定長度壓縮合于連續(xù)分布的數(shù)字集合。但在過于稀疏的情況下,即使是可變長度壓縮方式也不好使。

假設(shè)集合存儲(chǔ)范圍是Interger.MaxValue,現(xiàn)在要存儲(chǔ)數(shù)字集合是[ 2^3 - 1 , 2^9 - 1 , 2^15 -1 , 2^25 - 1 , 2^25 , 2^30 -1 ]這6個(gè)數(shù)。使用可變長壓縮方式表示為: 2^3 -1 , 2^9 - 2^3 , 2^15 - 2^9 , 2^25 - 2^15 , 1 , 2^30 - 2^ 15 使用字節(jié)大小 3bit + 9bit +15bit + 25bit + 1bit + 30bit = 83bit, 壓縮率為 6 * 32 bit / 83 = 2.3。

這個(gè)壓縮率和固定長度壓縮方式無異,均為極限情況下對低位整數(shù)進(jìn)行壓縮,無法利用偏移量壓縮來提高壓縮效率。

2.3.3 業(yè)務(wù)分析

更為極端的情下對于數(shù)據(jù)集合[ 2^25 - 1 , 2^26 - 1 , 2^27 - 1 , 2^28 - 1 , 2^29 - 1 , 2^30 - 1 ], RoaringBitMap壓縮后只能做到 25 + 26 + 27 + 28 + 29 + 30 = 165bit, 壓縮率為 6 * 32 / 165 = 1.16 就更別說加上組件數(shù)據(jù)結(jié)構(gòu),位數(shù)對齊,結(jié)構(gòu)體消耗,指針大小等開銷了。在特別稀疏的情況下,用RoaringBitMap效果可能還更差。

但對于游戲業(yè)務(wù)來說游戲總量就10000多款,其標(biāo)識(shí)appId一般都是自增主鍵,隨機(jī)性很小,分布不會(huì)特別稀疏,理論上是可以對數(shù)據(jù)有個(gè)很好的壓縮。同時(shí)使用RoaringBitMap存儲(chǔ)Redis本身采用的bit,不太受Redis本身數(shù)據(jù)結(jié)構(gòu)的影響,能省下不少額外的空間。

三、總結(jié)

在文章中我們探討了在過濾去重的業(yè)務(wù)中,使用Redis存儲(chǔ)的情況下,利用intset,bloom filter 和 RoaringBitMap這三種數(shù)據(jù)結(jié)構(gòu)保存整數(shù)型集合的開銷。

其中傳統(tǒng)的bloom filter 方式由于對準(zhǔn)確率的要求以及短id映射空間節(jié)省有限的不足,使得該結(jié)構(gòu)在游戲推薦場景中反而增加了存儲(chǔ)開銷,不適合在該業(yè)務(wù)場景下存儲(chǔ)數(shù)據(jù)。而intset結(jié)構(gòu)雖然能滿足業(yè)務(wù)需求,但其使用的空間復(fù)雜度并不是最優(yōu)的,還有優(yōu)化的空間。

最終我們選擇了RoaringBitMap這個(gè)結(jié)構(gòu)進(jìn)行存儲(chǔ),這是因?yàn)橛螒蛲扑]業(yè)務(wù)保存的過濾集合中,游戲id在大趨勢上是自增整數(shù)型的,且排列不是十分稀疏,利用RoaringBitMap的壓縮特性能很好的節(jié)省空間開銷。我們隨機(jī)抽選300個(gè)游戲的id集合進(jìn)行測試,結(jié)合表格可以看到,相比于intset結(jié)構(gòu)使用的1.23KB空間,RoaringBitMap僅使用0.5KB的大小,壓縮率為2.4。

對于Redis這種基于內(nèi)存的數(shù)據(jù)庫來說,使用適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)提升存儲(chǔ)效率其收益是巨大的:不僅大大節(jié)約了硬件成本,同時(shí)減少了fork阻塞線程與單次調(diào)用的時(shí)延,對系統(tǒng)性能的提升是十分顯著的,因此在該場景下使用RoaringBitMap是十分合適的。

責(zé)任編輯:張燕妮 來源: vivo互聯(lián)網(wǎng)技術(shù)
相關(guān)推薦

2024-07-22 09:10:04

大語言模型推薦系統(tǒng)人工智能

2022-12-30 15:35:30

智慧醫(yī)療人工智能

2023-08-22 15:37:45

深度學(xué)習(xí)人工智能

2017-06-29 13:02:54

大數(shù)據(jù)自然語言NLP

2023-10-11 07:20:17

2024-08-26 08:32:53

2024-06-26 19:18:53

2022-08-31 10:04:28

模型算法

2021-07-01 07:34:08

NLP推薦系統(tǒng)

2022-07-20 23:04:59

矩陣分解算法Spark

2022-09-19 09:53:37

機(jī)器學(xué)習(xí)實(shí)踐

2009-07-14 17:10:53

綜合布線門禁系統(tǒng)應(yīng)用

2017-05-09 09:36:52

Android App高效顯示位圖

2023-10-07 07:24:58

2013-07-24 14:03:06

Active Powe電源銀行系統(tǒng)

2009-04-22 09:46:00

無線網(wǎng)絡(luò)WiMAX視頻傳輸

2012-07-05 09:52:06

EFS文件加密

2019-12-12 19:07:55

物聯(lián)網(wǎng)技術(shù)軟件

2014-04-25 10:14:39

2022-03-15 09:10:00

分布式訓(xùn)練實(shí)踐
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

韩国美女久久| 久久久久久久久亚洲精品| 欧美久久久久| 日韩精品免费观看| 亚洲一级免费在线观看| 爱情岛亚洲播放路线| 国产蜜臀av在线一区二区三区| 91精品啪在线观看麻豆免费| 中文字幕av免费在线观看| 女同久久另类99精品国产| 欧美日韩一卡二卡三卡 | 日韩中文字幕观看| 日本大胆欧美人术艺术动态| 久久久女人电视剧免费播放下载 | 亚洲一级免费在线观看| 九色porny丨国产首页在线| 国产精品午夜久久| 麻豆av一区二区| 成人激情四射网| 久久精品国产99久久6| 91国内精品久久| 成人在线观看小视频| 国产麻豆精品久久| 亚洲国产精品美女| 在线观看网站黄| 日韩av懂色| 色视频欧美一区二区三区| 日韩久久久久久久久久久久| 在线免费观看的av网站| 国产午夜精品福利| 精品久久久久亚洲| 亚洲精品一区二区三区区别| 精品一区二区影视| 国产精品久久久久久久久| 国产成人愉拍精品久久| 欧美久久影院| 久久国产精品久久久| 精品人体无码一区二区三区| 美女毛片一区二区三区四区最新中文字幕亚洲 | 男插女免费视频| 91啦中文在线| 国产精品丝袜黑色高跟| 婷婷久久五月天| 国产精品一区二区婷婷| 久久久午夜精品理论片中文字幕| 精品视频高清无人区区二区三区| 亚洲免费黄色片| 国产不卡视频在线播放| 91大片在线观看| 精品人妻无码一区二区色欲产成人| 经典一区二区三区| 成人免费淫片视频软件| 99国产精品久久久久久久成人 | 极品白嫩的小少妇| 1313精品午夜理伦电影| 精品国免费一区二区三区| 在线观看网站黄| 成人三级av在线| 亚洲精品久久久久久久久久久| 国产视频久久久久久| 另类ts人妖一区二区三区| 亚洲国产美女精品久久久久∴| 午夜剧场免费看| 婷婷亚洲精品| 一本色道久久综合狠狠躁篇怎么玩 | 妞干网在线观看视频| 97人人爽人人澡人人精品| 一区二区三区av电影| 日韩 欧美 视频| 国产福利电影在线播放| 欧美性猛交xxxx久久久| 免费看污污网站| 国产在线一区不卡| 亚洲风情亚aⅴ在线发布| 在线免费看黄视频| 成人三级视频| 欧美日本黄视频| 成人毛片在线播放| 免费精品视频在线| 懂色一区二区三区av片| 九色在线观看视频| 亚洲欧洲日韩一区二区三区| 8x8ⅹ国产精品一区二区二区| 国产一线二线在线观看| 欧美性生交xxxxx久久久| 男人添女人下面免费视频| 日韩中文字幕无砖| 日韩精品免费视频| 国产日韩欧美在线观看视频| 99国产精品自拍| 国产精品热视频| 欧美性猛交 xxxx| 国产女人aaa级久久久级| 免费国产成人看片在线| 中文在线最新版地址| 3d动漫精品啪啪| 欧美 日本 国产| 在线电影一区二区| 国产成一区二区| 高h放荡受浪受bl| 中文字幕免费观看一区| 无码粉嫩虎白一线天在线观看 | 国产偷自视频区视频一区二区| 国产精品扒开腿做爽爽爽男男| 亚洲AV午夜精品| 欧美高清在线精品一区| 极品美女扒开粉嫩小泬| 韩国三级大全久久网站| 一本色道久久88精品综合| 国产大片aaa| 精品无人码麻豆乱码1区2区 | 在线电影院国产精品| 成人无码www在线看免费| 亚洲精品2区| 国产精品久久久久久久午夜| 天天爱天天干天天操| 国产精品国产精品国产专区不片| 少妇人妻在线视频| 色悠久久久久综合先锋影音下载| 深夜精品寂寞黄网站在线观看| 男女视频免费看| 国产高清在线观看免费不卡| 日韩福利一区二区三区| 人人草在线视频| 亚洲成人在线视频播放| 青青草手机视频在线观看| 久久99久久99| 天堂av一区二区| 美女一区网站| 日韩不卡中文字幕| 国产一级视频在线| 国产91精品欧美| 大片在线观看网站免费收看| 亚洲影视资源| 俺也去精品视频在线观看| 在线观看国产区| 欧美日韩精品免费观看视频完整| 亚洲视频一区二区在线观看| 国产二区视频在线播放| 久久九九热re6这里有精品| 欧美成人亚洲成人日韩成人| 国产精品伦一区二区三区| 国产精品三级视频| 三级a三级三级三级a十八发禁止| 精品国产一区二区三区小蝌蚪| 奇米四色中文综合久久| 牛牛澡牛牛爽一区二区| 一本久久综合亚洲鲁鲁五月天| 懂色av粉嫩av蜜乳av| 国产日韩一区二区三区在线| 久久精品国产精品国产精品污 | 视频二区在线| 亚洲一区二区三区美女| 亚洲一区二区三区四区av| 亚洲国产高清一区二区三区| 国产精品视频免费观看| 僵尸再翻生在线观看| 亚洲嫩模很污视频| 久久午夜鲁丝片| 自拍偷拍国产精品| 少妇献身老头系列| 在线亚洲国产精品网站| 欧美一区1区三区3区公司 | 欧美精品国产精品久久久| 中文字幕不卡三区视频| 国产午夜精品全部视频在线播放| 黄色网址中文字幕| 国产精品不卡一区| 妖精视频在线观看| 国产亚洲福利| 色女人综合av| 欧美一级免费| 欧美国产在线视频| 免费资源在线观看| 欧美日韩国产一二三| 东方av正在进入| 2023国产精品自拍| 伊人色在线观看| 国内久久视频| 性欧美大战久久久久久久免费观看| 综合久草视频| 97人人模人人爽人人喊中文字| 黄色av免费在线观看| 91精品国产色综合久久不卡蜜臀| 国产91av视频| 国产欧美日韩精品一区| 中文字幕av一区二区三区人妻少妇| 99亚洲一区二区| 正在播放国产精品| 国产精品22p| 国产乱人伦真实精品视频| 国内在线免费视频| 深夜成人在线观看| 亚洲 欧美 精品| 欧美一激情一区二区三区| 在线观看免费av片| 亚洲激情综合网| 日本人亚洲人jjzzjjz| 高清av一区二区| 五月激情婷婷在线| 丝袜诱惑制服诱惑色一区在线观看| 黄色网络在线观看| 欧美亚洲精品在线| 激情五月综合色婷婷一区二区| 亚洲精品大片| 国产97在线视频| 牛牛精品视频在线| 日韩在线观看免费高清完整版| 天堂中文字幕av| 日韩一区二区三区视频在线| av手机天堂网| 精品国产91久久久| 私库av在线播放| 国产精品国产精品国产专区不片| 疯狂揉花蒂控制高潮h| 国产激情一区二区三区四区| 中文字幕第38页| 视频一区二区欧美| 乱妇乱女熟妇熟女网站| 欧美日韩国产成人精品| 日日噜噜噜夜夜爽爽| 精品国产aⅴ| 免费看成人片| 伊人久久大香线蕉综合网站| 国产福利不卡| 99久久婷婷国产综合精品青牛牛| 国产日韩精品在线| 成人全视频免费观看在线看| 日本国产欧美一区二区三区| 国产精品论坛| 午夜精品一区二区三区av| 手机电影在线观看| 色综合色综合久久综合频道88| 麻豆av在线免费看| xx视频.9999.com| 欧美成人高清在线| 色偷偷av一区二区三区| 午夜在线小视频| www.99久久热国产日韩欧美.com| 欧美成年黄网站色视频| 自拍视频国产精品| 日本中文字幕在线看| 日韩中文字幕视频| 麻豆传媒在线完整视频| 欧美www在线| 污网站在线免费看| 欧美激情日韩图片| 丁香花在线影院| 国内精久久久久久久久久人| 国产777精品精品热热热一区二区| 国外成人在线直播| 毛片在线网站| 国产成人精品久久二区二区| 日韩欧美一区二区三区在线观看| 国产精品国产自产拍高清av水多| 免费成人黄色网| 亚洲影院色无极综合| 91精品丝袜国产高跟在线| 国产欧美丝袜| 国产中文精品久高清在线不| 亚洲日本理论电影| 伊人久久大香线蕉精品组织观看| 久青草视频在线播放| 狠色狠色综合久久| 欧美激情国产精品日韩| 蜜臀av一区二区在线免费观看| 亚洲精品mv在线观看| 成人网在线播放| 欧美老熟妇乱大交xxxxx| 中文字幕精品三区| 欧美日韩在线视频免费| 午夜亚洲福利老司机| 手机av免费观看| 欧美一区二区三区免费在线看| 免费a级片在线观看| 亚洲视频在线看| 婷婷在线播放| 日本aⅴ大伊香蕉精品视频| 日韩欧国产精品一区综合无码| 91视频最新| 国产探花一区| 欧美日韩中文字幕在线播放 | 亚洲欧美视频在线观看| 国产污视频在线观看| 在线观看视频欧美| 亚洲第一视频在线| 一区二区三区动漫| 超碰在线资源| 国产剧情久久久久久| 日韩免费电影在线观看| 懂色av粉嫩av蜜臀av| 久久国产日本精品| 国产乱淫av片| 国产精品电影一区二区| 九九热在线视频播放| 欧美精品黑人性xxxx| 亚洲欧美日韩动漫| 久久国产精品久久国产精品| 国精产品一区一区三区四川| 国产高清精品一区二区三区| 日韩免费一区| 国产精品视频一区二区三区四区五区 | 日韩一区在线看| 亚洲欧美一区二区三区在线观看| 日韩欧美国产成人一区二区| www日韩tube| 96精品视频在线| 一区二区三区在线资源| 亚洲 日韩 国产第一区| 欧美亚洲三级| 波多野结衣有码| 亚洲制服丝袜av| 国产又粗又长又黄| 永久免费毛片在线播放不卡 | 91九色国产视频| 精品一区二区三| 国产欧美在线一区| 成人av午夜电影| 久久久精品人妻一区二区三区四| 欧美日韩精品一区二区三区四区 | 日本一二三区在线视频| 欧美极品第一页| 亚洲三区欧美一区国产二区| 欧美 日韩 国产 在线观看| 日本视频中文字幕一区二区三区| 黄色工厂在线观看| 午夜精品福利一区二区蜜股av | 成人99免费视频| 久久免费视频99| 日韩欧美不卡一区| 91国内在线| 97超碰人人看人人| 亚洲色图二区| 性生活一级大片| 一区二区三区欧美日韩| 午夜精品久久久久久久99老熟妇| 美女视频黄免费的亚洲男人天堂| 亚洲欧美一级| 三级在线免费观看| 国产东北露脸精品视频| 69av.com| 亚洲国产精品女人久久久| 九色porny自拍视频在线播放| 国产亚洲一区二区三区在线播放 | 一区二区三区91| 国产小视频免费观看| 国内偷自视频区视频综合| 精品国产18久久久久久洗澡| 黄色国产一级视频| 95精品视频在线| 中文字幕精品视频在线观看| 国产一区二区日韩| 99久久伊人| 超碰在线免费观看97| 国产黄色精品视频| 国产亚洲欧美精品久久久久久| 精品sm在线观看| 亚洲天堂手机| 亚洲综合av一区| 国产精品小仙女| 国产小视频在线免费观看| 亚洲欧美一区二区精品久久久| 992tv国产精品成人影院| 午夜探花在线观看| 不卡电影一区二区三区| 无码人妻精品一区二区| www.日韩系列| 国产图片一区| 99视频免费播放| 亚洲手机成人高清视频| 好男人www在线视频| 国产精品福利网站| 欧美在线网址| 四虎永久免费影院| 91精品国产综合久久久久| 19禁羞羞电影院在线观看| 亚洲成人第一| 成人一级黄色片| 艳妇乳肉豪妇荡乳av无码福利| 久热99视频在线观看| 香蕉久久精品日日躁夜夜躁| 亚洲这里只有精品| 婷婷一区二区三区| 77777影视视频在线观看| 国产精品视频免费一区| 免费人成黄页网站在线一区二区 | 欧美伊人久久大香线蕉综合69 | 亚洲一二三四久久| 成人性爱视频在线观看| 7777精品久久久大香线蕉小说| 国产精品社区| 2025国产精品自拍| 国产手机视频精品| 日本精品视频| 欧美精品aaaa| 精品久久久久久久久久久久| 久久久久久国产精品免费无遮挡 | 欧美日韩影视| av免费精品一区二区三区| 日韩avvvv在线播放|