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

得物推薦引擎 - DGraph

開發(fā) 項(xiàng)目管理
DGraph是得物在推薦業(yè)務(wù)上一次非常成功的探索,并在算法指標(biāo)、穩(wěn)定性、機(jī)器成本等多方面取得了收益。搜推場(chǎng)景是互聯(lián)網(wǎng)中算力開銷特別大的場(chǎng)景之一,數(shù)據(jù)更新頻繁,日常業(yè)務(wù)迭代復(fù)雜,因此對(duì)系統(tǒng)的挑戰(zhàn)非常高。

一、前言

隨著得物業(yè)務(wù)規(guī)模的不斷增加,推薦業(yè)務(wù)也越來(lái)越復(fù)雜,對(duì)推薦系統(tǒng)也提出了更高的要求。我們于2022年下半年啟動(dòng)了DGraph的研發(fā),DGraph是一個(gè)C++項(xiàng)目,目標(biāo)是打造一個(gè)高效易用的推薦引擎。推薦場(chǎng)景的特點(diǎn)是表多、數(shù)據(jù)更新頻繁、單次查詢會(huì)涉及多張表。了解這些特點(diǎn),對(duì)于推薦引擎的設(shè)計(jì)非常重要。通過(guò)閱讀本文,希望能對(duì)大家了解推薦引擎有一定幫助。為什么叫DGraph?因?yàn)橥扑]場(chǎng)景主要是用x2i(KVV)表推薦為主,而x2i數(shù)據(jù)是圖(Graph)的邊,所以我們給得物的推薦引擎取名DGraph。

二、正文

整體架構(gòu)

DGraph可以劃分為索引層&服務(wù)層。索引層實(shí)現(xiàn)了索引的增刪改查。服務(wù)層則包含Graph算子框架、對(duì)外服務(wù)、Query解析、輸出編碼、排序框架等偏業(yè)務(wù)的模塊。

圖1 DGraph 整體框架圖1 DGraph 整體框架

索引框架

在DGraph里面參考圖1,索引的管理被抽象成5個(gè)模塊:Reader 索引查詢、Writer 索引寫入、Compaction 增量全量合并、LifeCycle 索引生命周期管理、Schema 索引配置信息。

不同類型的索引只需要實(shí)現(xiàn)上面的5個(gè)類即可,不同類型的索引只需要關(guān)注索引本身的實(shí)現(xiàn)方式,而不需要關(guān)心索引的管理問(wèn)題,通過(guò)這種模式,索引管理模塊實(shí)現(xiàn)了索引的抽象管理,如果業(yè)務(wù)需要,可以快速在DGraph面加入一種新的索引。

DGraph數(shù)據(jù)的管理都是按表(table)進(jìn)行的(圖2),復(fù)雜的索引會(huì)使用到DGraph的內(nèi)存分配器D-Allocator,比如KVV/KV的增量部分 & 倒排索引 & 向量索引等。在DGraph所有數(shù)據(jù)更新都是DUMP(耗時(shí))->索引構(gòu)建(耗時(shí))->引擎更新(圖3),索引平臺(tái)會(huì)根據(jù)DGraph引擎的內(nèi)存情況自動(dòng)選擇在線更新還是分批重啟更新。這種方式讓DGraph引擎的索引更新速度&服務(wù)的穩(wěn)定性得到了很大的提升。

圖2 DGraph索引組織關(guān)系圖2 DGraph索引組織關(guān)系

圖3 Graph索引更新圖3 Graph索引更新


索引

數(shù)據(jù)一致性

相比訂單、交易等對(duì)于數(shù)據(jù)一致性要求非常嚴(yán)格的場(chǎng)景。在搜推場(chǎng)景,數(shù)據(jù)不需要嚴(yán)格的一致性,只需要最終一致性。若一個(gè)集群有N個(gè)引擎,通過(guò)增量向集群寫入一條數(shù)據(jù),每個(gè)引擎是獨(dú)立更新這條數(shù)據(jù)的,因?yàn)槭仟?dú)立的,所以有些機(jī)器會(huì)更新快一點(diǎn),有些機(jī)器會(huì)更新慢一點(diǎn),這個(gè)時(shí)間尺度在毫秒級(jí)附近,理論上在某一時(shí)刻,不同引擎上的數(shù)據(jù)是不一致的,但這對(duì)業(yè)務(wù)影響不大,因?yàn)樽罱K這些數(shù)據(jù)會(huì)保持一致。

最終一致性這個(gè)特性非常重要,因?yàn)閷?shí)現(xiàn)嚴(yán)格的一致性很復(fù)雜,2PC&3PC等操作在分布式場(chǎng)景下,代價(jià)很高。所以事情就變得簡(jiǎn)單了很多,引擎的讀寫模型只需要滿足最終一致性即可。這可以讓我們的系統(tǒng),更偏向于提供更高的讀性能。這個(gè)前提也是DGraph目前很多設(shè)計(jì)的根因。

讀寫模型

推薦場(chǎng)景需要支持在線服務(wù)更新數(shù)據(jù),因此引擎有讀也有寫,所以它也存在讀寫問(wèn)題。另外引擎還需要對(duì)索引的空間進(jìn)行管理,類似于JAVA系統(tǒng)里面JVM的內(nèi)存管理工作,不過(guò)引擎做的簡(jiǎn)單很多。讀寫問(wèn)題常見的解決方案是數(shù)據(jù)加鎖。數(shù)據(jù)庫(kù)和大部分業(yè)務(wù)代碼里面都可以這么做,這些場(chǎng)景加鎖是解決讀寫問(wèn)題最靠譜的選擇。但是在推薦引擎里面,對(duì)于讀取的性能要求非常高,核心數(shù)據(jù)的訪問(wèn)如果引入鎖,會(huì)讓引擎的查詢性能受到很大的限制。

推薦引擎是一個(gè)讀多寫少的場(chǎng)景,因此我們?cè)诩夹g(shù)路線上選擇的是無(wú)鎖數(shù)據(jù)結(jié)構(gòu)RCU。RCU在很多軟件系統(tǒng)里面有應(yīng)用,比如Linux 內(nèi)核里面的kfifo。大部分RCU的實(shí)現(xiàn)都是基于硬件提供的CAS機(jī)制,支持無(wú)鎖下的單寫單讀、單寫多讀、多寫單讀等。DGraph選擇的是單寫多讀+延遲釋放類型的無(wú)鎖機(jī)制。效率上比基于CAS機(jī)制的RCU結(jié)構(gòu)好一點(diǎn),因?yàn)镃AS雖然無(wú)鎖,但是CAS會(huì)鎖CPU緩存總線,這在一定程度上會(huì)影響CPU的吞吐率。

如果簡(jiǎn)單描述DGraph的索引結(jié)構(gòu),可以理解為實(shí)現(xiàn)了RcuDoc(正排)、RcuRoaringBitMap(倒排)、RcuList、RcuArray、RcuList、RcuHashMap等。用推薦場(chǎng)景可推池來(lái)舉一個(gè)例子,可推池表的存儲(chǔ)結(jié)構(gòu)可以抽象成RcuHashMap<Key, RcuDoc> table。這里用RcuList來(lái)舉例子,可以用來(lái)理解DGraph的RCU機(jī)制。其中MEMORY_BARRIER是為了禁止編譯器對(duì)代碼重排,防止亂序執(zhí)行。

圖 4  RcuList 元素插入圖 4 RcuList 元素插入


圖5 RcuList刪除元素圖5 RcuList刪除元素

圖5是刪除的例子,簡(jiǎn)單講一下,在RcuList里面,刪除一個(gè)元素的時(shí)候,比如Node19,因?yàn)閯h除期間可能有其他線程在訪問(wèn)數(shù)據(jù),所以對(duì)List的操作和常規(guī)的操作有些不同,首先將Node11的Next節(jié)點(diǎn)指向Node29,保證后面進(jìn)來(lái)的線程不會(huì)訪問(wèn)Node19,然后把Node19的Next指向Null,因?yàn)檫@個(gè)時(shí)候可能還有線程在訪問(wèn)Node19,因此我們不能立即把Node19刪除,而是把Node19放入刪除隊(duì)列,延遲15秒之后再刪除,另外刪除的動(dòng)作不是主動(dòng)的,而是由下一個(gè)需要申請(qǐng)內(nèi)存的操作觸發(fā),因此刪除是延時(shí)且Lazy的。

數(shù)據(jù)持久化

在DGraph里面我們構(gòu)建了一個(gè)內(nèi)存分配器D-Allocator(每個(gè)索引只能申請(qǐng)一個(gè)/可選),用于存儲(chǔ)增量或者倒排索引等復(fù)雜數(shù)據(jù)結(jié)構(gòu)。采用了類似TcMalloc按大小分類的管理模式。D-Allocator利用Linux系統(tǒng)的mmap方法每次從固定的空間申請(qǐng)128M ~ 1GB大小,然后再按塊劃分&組織。由系統(tǒng)的文件同步機(jī)制保證數(shù)據(jù)的持久化。目前64位x86 CPU實(shí)際尋址空間只有48位,而在Linux下有效的地址區(qū)間是 0x00000000 00000000 ~ 0x00007FFF FFFFFFFF 和 0xFFFF8000 00000000 ~ 0xFFFFFFFF FFFFFFFF 兩個(gè)地址區(qū)間。而每個(gè)地址區(qū)間都有128TB的地址空間可以使用,所以總共是256TB的可用空間。在Linux下,堆的增長(zhǎng)方向是從下往上,棧的增長(zhǎng)方向是從上往下,為了盡可能保證系統(tǒng)運(yùn)行的安全性,我們把0x0000 1000 0000 0000 到 0x0000 6fff ffff ffff分配給索引空間,一共96TB,每個(gè)內(nèi)存分配器可以最大使用100GB空間。為了方便管理,我們引入了表keyID,用于固定地址尋址,表地址 = 0x0000 1000 0000 0000 + keyId * 100GB, 引擎管理平臺(tái)會(huì)統(tǒng)一管理每個(gè)集群的keyId,偶數(shù)位分配給表,奇數(shù)位保留作為表切換時(shí)使用。keyId 0 - 600 分配給集群獨(dú)享表,keyId 600-960分配給全局表。因此單個(gè)集群可以最多加載300個(gè)獨(dú)享表+最多180共享表(備注:不是所有表都需要D-Allocator,目前沒(méi)有增量的KVV/KV表不受這個(gè)規(guī)則限制)。

圖6 引擎內(nèi)存管理圖6 引擎內(nèi)存管理

KV/KVV索引

KV -> Map<Key, Object> 、 KVV -> Map<Key, List<Object>>。推薦引擎絕大部分表都是KVV索引,數(shù)據(jù)更新特點(diǎn)是,定期批量更新 & 大部分表沒(méi)有實(shí)時(shí)增量。針對(duì)這些業(yè)務(wù)特性,DGraph設(shè)計(jì)了內(nèi)存緊湊型KV\KVV索引(圖7)。這里簡(jiǎn)單講一下DenseHashMap的實(shí)現(xiàn),傳統(tǒng)的HashMap是ArrayList+List或者ArrayList+紅黑樹的結(jié)構(gòu)。DGraph的DenseHashMap,采用的ArrayList(Hash)+ArrayList(有序)方式,在ArrayList(Hash)任意桶區(qū)域,存儲(chǔ)的是當(dāng)前桶的首個(gè)KVPair信息,以及當(dāng)前桶Hash沖突的個(gè)數(shù),沖突數(shù)據(jù)地址偏移量,存儲(chǔ)在另外一個(gè)ArrayList(有序)地址空間上(Hash沖突后可以在這塊區(qū)域用二分查找快速定位數(shù)據(jù))。這種結(jié)構(gòu)有非常好的緩存命中率,因?yàn)樗趦?nèi)存空間是連續(xù)的。但是它也是有缺點(diǎn)的,不能修改,全量寫入也非常復(fù)雜。首先我們要把數(shù)據(jù)加載到一個(gè)普通的HashMap,然后計(jì)算每個(gè)Hash桶上面元素的個(gè)數(shù),知道了桶的數(shù)量和每個(gè)桶下面的元素個(gè)數(shù),遍歷HashMap,把數(shù)據(jù)固化成DenseHash。KV/KVV的增量部分則是由RcuHashMap + RcuDoc基于D-Allocator(圖6)實(shí)現(xiàn)。

圖7 緊湊型KV/KVV索引圖7 緊湊型KV/KVV索引

Invert索引

基于開源RoaringBitmap實(shí)現(xiàn)的RCU版本(基于D-Allocator實(shí)現(xiàn))。RoaringBitmap 將一個(gè)文檔ID(uint32)分為高位和低位,高16位的ID用來(lái)建一級(jí)索引,低16位的ID用來(lái)構(gòu)建二級(jí)索引(原文稱之為Container),在二級(jí)索引中,因?yàn)?^16=65536,一個(gè)short占用空間16bit,65536剛好可以存儲(chǔ)4096個(gè)short,因此當(dāng)分段內(nèi)文檔數(shù)量少于等于4096是,用short數(shù)組存儲(chǔ)文檔,當(dāng)分段內(nèi)的文檔數(shù)量大于4096時(shí)則轉(zhuǎn)為Bitmap存儲(chǔ),最多可以存儲(chǔ)65536個(gè)文檔。這種設(shè)計(jì)對(duì)于稀疏倒排&密集倒排在存儲(chǔ)空間利用率&計(jì)算性能上都表現(xiàn)優(yōu)異。

圖8 倒排(Invert)索引圖8 倒排(Invert)索引


Embedding索引

基于開源的Kmeans聚類。Kmeans聚類后,引擎會(huì)以每個(gè)中心向量(centroids)為基點(diǎn),構(gòu)建倒排,倒排的數(shù)據(jù)結(jié)構(gòu)也是RoaringBitmap,同一個(gè)聚簇的向量都回插入同一個(gè)RoaringBitmap里面。這樣的好處是,可以在向量檢索中包含普通文本索引,比如你可以在向量召回的基礎(chǔ)上限制商品的tile必須要包含椰子、男鞋、紅色等文本信息。

圖9 向量索引圖9 向量索引

算子調(diào)度框架

推薦存儲(chǔ)引擎最開始只提供了簡(jiǎn)單的數(shù)據(jù)查詢&數(shù)據(jù)補(bǔ)全功能,由于擴(kuò)招回需要,后期又引入了算子框架,初步提供了基本的多算子融合調(diào)度能力(Merge/LeftJoin/Query),可以將多次引擎查詢合并為單次查詢,降低召回RT,  提升召回能力。老的框架有很多問(wèn)題:1)只提供了JAVA API接入,API可解釋性比較差,用戶接入上存在一定困難。2)算子調(diào)度框架效率偏低,采用OMP+階段策略調(diào)度,對(duì)服務(wù)器硬件資源利用率偏低,部分場(chǎng)景集群CPU超過(guò)20%后99線95線即開始惡化。3)Graph運(yùn)行時(shí)中間數(shù)據(jù)采用行式存儲(chǔ),在空間利用率和運(yùn)算開銷上效率低,導(dǎo)致部分業(yè)務(wù)在遷移算子框架后RT反而比之前高。4)缺少調(diào)試 & 性能分析手段。

DGraph后期針對(duì)這些問(wèn)題我們做了很多改進(jìn):1)引入了Graph存儲(chǔ),用于可以通過(guò)傳入GraphID訪問(wèn)一個(gè)圖,配合引擎管理平臺(tái)的DAG展示&構(gòu)圖能力,降低圖的使用門檻。2)開發(fā)了全新的調(diào)度框架:節(jié)點(diǎn)驅(qū)動(dòng)+線程粘性調(diào)度。3)算子中間結(jié)果存取等計(jì)算開銷比較大的環(huán)節(jié),通過(guò)引入了列存儲(chǔ),虛擬列等有效的降低了運(yùn)行時(shí)開銷。上線后在平均RT和99線RT都取得了不錯(cuò)的結(jié)果。

圖10 算子框架演進(jìn)圖10 算子框架演進(jìn)

三、后記

DGraph是得物在推薦業(yè)務(wù)上一次非常成功的探索,并在算法指標(biāo)、穩(wěn)定性、機(jī)器成本等多方面取得了收益。搜推場(chǎng)景是互聯(lián)網(wǎng)中算力開銷特別大的場(chǎng)景之一,數(shù)據(jù)更新頻繁,日常業(yè)務(wù)迭代復(fù)雜,因此對(duì)系統(tǒng)的挑戰(zhàn)非常高。在DGraph的研發(fā)過(guò)程中,我們投入了非常多的精力在系統(tǒng)的穩(wěn)定性 & 易用性上面,積累了很多些經(jīng)驗(yàn),簡(jiǎn)單總結(jié)下:1)平臺(tái)側(cè)需要做好數(shù)據(jù)的校驗(yàn),數(shù)據(jù)的增刪的改是搜推場(chǎng)景最容易引發(fā)事故的源頭。2)提供靈活的API,類SQL或者DAG都可以,在C++內(nèi)部做業(yè)務(wù)開發(fā)是非常危險(xiǎn)的。3)索引必須是二進(jìn)制結(jié)構(gòu)并且采用mmap方式加載,這樣即使發(fā)生崩潰的情況,系統(tǒng)可以在短時(shí)間快速恢復(fù),日常調(diào)試重啟等操作也會(huì)很快。

責(zé)任編輯:武曉燕 來(lái)源: 得物技術(shù)
相關(guān)推薦

2025-04-17 04:00:00

2011-08-16 16:24:28

全文檢索數(shù)據(jù)挖掘

2025-04-08 02:30:00

2024-08-22 12:35:37

2023-05-10 18:34:49

推薦價(jià)格體驗(yàn)優(yōu)化UV

2023-01-11 18:34:22

推薦精排模型

2025-09-04 01:21:00

2023-05-12 18:42:13

得物AI平臺(tái)

2012-12-31 12:02:56

百度推薦引擎數(shù)據(jù)架構(gòu)

2025-05-13 05:00:00

2022-12-02 18:45:06

SOP機(jī)器人技術(shù)

2024-03-07 10:46:13

人工智能?

2012-12-28 13:16:35

大數(shù)據(jù)架構(gòu)

2025-11-11 01:55:00

2023-03-30 18:39:36

2023-06-09 20:45:35

得物多場(chǎng)景推薦平臺(tái)

2023-10-09 18:35:37

得物Redis架構(gòu)

2025-03-13 06:48:22

2023-04-28 18:37:38

直播低延遲探索

2023-11-27 18:38:57

得物商家測(cè)試
點(diǎn)贊
收藏

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

成人黄色激情网| 伊人久久大香线蕉av一区二区| 国产欧美综合一区| 国产成a人亚洲精v品无码| 精品成人免费| 亚洲国产欧美自拍| 无码日韩人妻精品久久蜜桃| 午夜视频成人| 国产一区二区三区四区五区入口 | 伊人色综合久久天天人手人婷| 91麻豆蜜桃| 天堂中文在线网| 小小影院久久| 精品一区二区亚洲| 99精品视频国产| 理论不卡电影大全神| 中文字幕av一区二区三区免费看| 999日本视频| 天堂网免费视频| 欧美在线黄色| 在线观看日韩av| 久久久久久久穴| 国产精品久久久久77777丨| 亚洲第一福利一区| 一区二区三区四区欧美日韩| 五月婷婷六月丁香| 蜜桃在线一区二区三区| 136fldh精品导航福利| 欧美爱爱免费视频| 欧美猛男同性videos| 精品国产区一区| 午夜福利123| 中韩乱幕日产无线码一区| 性感美女极品91精品| 免费看啪啪网站| 成黄免费在线| 久久一二三国产| 国产综合动作在线观看| 国产成人三级一区二区在线观看一| 日本伊人午夜精品| 日韩免费高清在线观看| 日韩三级视频在线| 国产精品mm| 久久精品国产成人精品| 黄色免费一级视频| 欧美精品momsxxx| 亚洲精品视频播放| 日韩av一二区| 美女主播精品视频一二三四| 欧美videos中文字幕| 在线免费观看av网| 欧美天堂一区二区| 欧美色图12p| 日韩中文字幕免费在线| 性国裸体高清亚洲| 欧美色图在线视频| 日本精品一区二区三区四区 | 日本免费在线精品| 国产精品视频123| 亚洲一区二区三区四区五区午夜| 久久久这里只有精品视频| 精品99在线观看| 午夜国产精品视频| 欧美激情亚洲另类| 国产午夜精品一区二区理论影院| 精品二区视频| 97视频在线播放| 色网站在线播放| 亚洲一区二区三区高清| 国产成人精品在线| 国产成人av免费| 紧缚奴在线一区二区三区| 成人黄色大片在线免费观看| 99久久精品国产一区二区成人| 国产一区在线观看麻豆| 超碰97在线播放| 免费国产黄色片| 久久久www免费人成精品| 神马欧美一区二区| 久草资源在线| 午夜亚洲国产au精品一区二区| 男人和女人啪啪网站| 欧美大片高清| 欧美久久久影院| 成年人小视频在线观看| 天堂在线精品| 最新国产成人av网站网址麻豆| 国产天堂av在线| 亚洲国产网站| 国产suv精品一区二区三区88区| 中文字幕人妻精品一区| 国产精品综合二区| 免费成人深夜夜行视频| 欧美精品电影| 亚洲国产另类av| 91av俱乐部| 天堂av一区| 亚洲免费视频观看| 日本中文在线视频| 国产精品一页| 91精品国产自产在线老师啪| 国产综合在线播放| 中文字幕欧美区| 国产精品视频网站在线观看| 欧美一区久久久| 欧美一区二区三区免费视频 | www在线观看免费| 成人在线免费| 亚洲国产婷婷香蕉久久久久久| 黄色av免费播放| 亚洲香蕉网站| 国产精品影院在线观看| 神马午夜在线观看| 亚洲免费观看高清完整| 欧美一级片中文字幕| 玖玖精品一区| 在线日韩第一页| 自拍偷拍欧美亚洲| 国产精品夜夜嗨| 亚洲在线不卡| 欧美xo影院| 日韩成人中文电影| 国产a免费视频| 麻豆一区二区三区| 欧美亚洲免费高清在线观看| 麻豆福利在线观看| 在线播放91灌醉迷j高跟美女| 亚洲第一香蕉网| 在线成人国产| 国产精品国产精品| av在线影院| 欧美精品99久久久**| 色屁屁草草影院ccyy.com| 亚洲伊人观看| 国产欧美亚洲日本| 色呦呦网站在线观看| 欧美高清视频在线高清观看mv色露露十八| 性欧美成人播放77777| 欧美激情综合色综合啪啪| 国产精品你懂得| 你懂的免费在线观看| 精品福利在线视频| 中文字幕乱视频| 黄色综合网站| 国产激情一区二区三区在线观看| 99自拍视频在线观看| 欧美日本韩国一区二区三区视频 | 色棕色天天综合网| 2019亚洲男人天堂| 偷拍自拍在线| 欧美视频免费在线| 免费中文字幕av| 国产精品久久久久毛片大屁完整版| 国产精品swag| yellow字幕网在线| 日韩电影网在线| 亚洲自拍一区在线观看| 久久这里只精品最新地址| 国产 福利 在线| 一个色免费成人影院| 国产精品成人aaaaa网站| 国产在线观看网站| 欧美伊人久久久久久久久影院| 成人黄色a级片| 九九在线精品视频| 亚洲国产精品女人| 99re8这里有精品热视频免费 | 日韩成人激情在线| 国产精品一区二区三区四| 久久久久国产精品免费免费搜索| 日本在线视频www| 国产一区国产二区国产三区| 国产美女直播视频一区| av毛片在线看| 日韩久久午夜影院| 中文字幕av无码一区二区三区| 国产精品看片你懂得| 免费人成视频在线播放| 亚洲久久视频| 色一情一区二区三区四区| 亚洲精品一区二区在线播放∴| 久久综合国产精品台湾中文娱乐网| 精品国产伦一区二区三| 精品日本高清在线播放| 中文字幕黄色网址| 国产福利一区二区三区视频| 日韩av三级在线| 精品av一区二区| 亚洲a中文字幕| 在线能看的av网址| zzjj国产精品一区二区| 日本xxxxxwwwww| 在线精品视频一区二区三四| 成年人二级毛片| 91在线观看视频| 免费成年人高清视频| 在线观看一区| 小说区图片区图片区另类灬| 亚洲网一区二区三区| 亲爱的老师9免费观看全集电视剧| 亚洲精品承认| 日韩国产在线播放| 99热这里只有精品1| 国产视频一区二| 在线观看污污网站| 午夜在线小视频| 性做久久久久久免费观看 | av久久网站| 色综合91久久精品中文字幕| 国产小视频在线播放| 日韩欧美一区二区久久婷婷| 久久精品视频5| 亚洲一区精品在线| 国产黄a三级三级| www国产精品av| 久久久精品视频国产| 日韩制服丝袜av| 国产69精品久久久久久久| 99久久99视频只有精品| 欧洲一区二区在线观看| 国产精品超碰| 国产美女精品视频免费观看| 91精品论坛| 国模精品视频一区二区| 欧美日韩在线看片| 在线一区二区日韩| 伦理片一区二区三区| 亚洲黄色在线观看| 亚洲AV无码一区二区三区性| 欧美精品色一区二区三区| 免费av中文字幕| 天天综合色天天综合色h| 麻豆国产尤物av尤物在线观看| 国产日韩欧美精品电影三级在线| 菠萝菠萝蜜网站| 成人激情小说乱人伦| 午夜福利123| 国内久久婷婷综合| av中文字幕网址| 毛片av一区二区三区| 热久久精品免费视频| 久久五月激情| 无码人妻丰满熟妇区毛片| 国产精品日韩| 草草久久久无码国产专区| 亚洲久久一区二区| 国产成人无码a区在线观看视频| 在线欧美日韩| 欧美一级片免费播放| 欧美激情五月| 韩日视频在线观看| 亚洲激情综合| 国产二级片在线观看| 在线一区视频| 成年人视频观看| 日韩精品视频网站| 久久久精品三级| 另类小说一区二区三区| 亚洲欧美日韩精品一区| 韩国v欧美v日本v亚洲v| 无套白嫩进入乌克兰美女| 国产成人精品一区二| 国产精品亚洲一区二区无码| k8久久久一区二区三区| 欧洲女同同性吃奶| 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品99久久久久久似苏梦涵 | 国产一二三在线视频| aa亚洲婷婷| 超碰97人人射妻| 免费观看在线综合色| 热久久久久久久久| 处破女av一区二区| xxx在线播放| 亚洲欧洲国产日本综合| 麻豆疯狂做受xxxx高潮视频| 黑人巨大精品欧美一区免费视频 | 日本在线观看一区| 欧美激情国产在线| 成人免费在线网| 日韩黄色片在线观看| 99九九99九九九99九他书对| 国产成a人无v码亚洲福利| 我和岳m愉情xxxⅹ视频| 亚洲欧美在线视频观看| 在线看成人av| 欧美日韩一区二区三区免费看| 国产高清在线观看视频| 亚洲老头同性xxxxx| 黄色成年人视频在线观看| 韩日精品中文字幕| 久久天天久久| 官网99热精品| 日韩国产一区二区三区| 欧美日韩福利在线| 男人操女人的视频在线观看欧美 | 国产成年精品| 久久五月天婷婷| 亚洲精品一区二区在线看| www在线观看免费| 久久黄色级2电影| 亚洲男人在线天堂| 亚洲视频在线观看三级| 免费看毛片网站| 日韩美女在线视频 | 91久久精品无嫩草影院| 日本精品免费| 亚洲黄色在线| 欧美性受xxxx黒人xyx性爽| 91免费观看视频| 久久婷婷国产麻豆91| 欧美三级三级三级| 四虎影视2018在线播放alocalhost| 正在播放国产一区| 亚洲精品中文字幕| 国产精品视频500部| 91精品啪在线观看国产18| 丁香啪啪综合成人亚洲| av成人老司机| 欧美色图亚洲天堂| 欧美色窝79yyyycom| 青青色在线视频| 久久久人成影片一区二区三区观看 | 精品久久久久久中文字幕一区奶水 | 在线电影欧美成精品| 国产女主播在线直播| 97在线视频免费看| 91精品久久久久久综合五月天| 一区二区高清视频| 日韩电影免费一区| 亚洲av无码一区二区三区人| 五月天精品一区二区三区| 国产福利第一视频| 久久人人爽亚洲精品天堂| 久草综合在线| 亚洲精品一区二| 日本系列欧美系列| 中国女人特级毛片| 在线免费不卡电影| 国产在线网站| 国产成人精品国内自产拍免费看| 丝袜久久网站| 欧美三级一级片| 26uuu成人网一区二区三区| 国产成人无码精品| 日韩精品视频在线观看网址| 日本乱码一区二区三区不卡| 久久国产一区二区| 亚洲一区国产| 97超碰在线资源| 欧美综合亚洲图片综合区| 国产在线日本| 国产一区二区色| 99久久久久国产精品| 999这里有精品| 亚洲人成网站在线| 国产高清免费av| 97久久精品视频| 日韩精品导航| 北条麻妃av高潮尖叫在线观看| 久久久精品黄色| 精品乱码一区内射人妻无码| 日韩视频在线免费观看| 国产精选久久| 人妻夜夜添夜夜无码av | 娇小11一12╳yⅹ╳毛片| 欧美日韩mp4| 天堂8中文在线| 九九九九精品| 久久久国产精品一区二区中文| 无码 人妻 在线 视频| 欧美日韩你懂的| 在线免费观看a视频| 国产亚洲精品美女久久久m| 亚洲一区二区三区高清不卡| 九九热免费在线| 日韩欧美精品三级| 亚洲同志男男gay1069网站| 少妇特黄a一区二区三区| 国产精品一区不卡| 中文字幕亚洲精品一区| 中文字幕日韩专区| 欧洲大片精品免费永久看nba| 免费看又黄又无码的网站| 国产午夜精品一区二区三区视频| ,亚洲人成毛片在线播放| 欧美激情乱人伦| 狠狠操综合网| 欧洲成人午夜精品无码区久久| 日韩欧美在线字幕| 国产视频中文字幕在线观看| 精品国产一区二区三区麻豆免费观看完整版| 久久久久久亚洲精品杨幂换脸| 亚洲 欧美 国产 另类| 精品久久国产老人久久综合| 四虎4545www精品视频| 国产精品视频一二三四区| 久久久国产精品不卡| 丰满人妻一区二区三区无码av | 伊人精品在线视频|