亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Spring Boot + 協(xié)同過濾:跳蚤市場(chǎng)商品推薦系統(tǒng)實(shí)戰(zhàn)

Spring Boot + 協(xié)同過濾:跳蚤市場(chǎng)商品推薦系統(tǒng)實(shí)戰(zhàn) springboot基于協(xié)同過濾算法的跳蚤市場(chǎng)商品推薦系統(tǒng)去年年底幫一個(gè)學(xué)弟做的畢業(yè)設(shè)計(jì)題目就是這個(gè)“基于協(xié)同過濾的跳蚤市場(chǎng)商品推薦系統(tǒng)”。他從一開始就沒想清楚自己到底要做什么跟我說“導(dǎo)師讓做一個(gè)帶推薦功能的商城”結(jié)果需求文檔寫得跟淘寶似的。我聽完就樂了你又沒有淘寶級(jí)別的數(shù)據(jù)量搞什么高大上的推薦系統(tǒng)呢。你一個(gè)校園二手市場(chǎng)用戶撐死幾百人商品幾千件你用什么深度學(xué)習(xí)、用什么大模型那都是殺雞用牛刀。協(xié)同過濾這種經(jīng)典算法正好是這個(gè)場(chǎng)景下的最優(yōu)解?;藘芍軙r(shí)間從需求梳理、表結(jié)構(gòu)設(shè)計(jì)到算法落地、接口聯(lián)調(diào)最后給他整出來一套完完整整能跑的項(xiàng)目。這中間踩了不少坑也總結(jié)了一些經(jīng)驗(yàn)今天就把整個(gè)項(xiàng)目從頭到尾拆解一遍從技術(shù)選型到算法實(shí)現(xiàn)從數(shù)據(jù)庫(kù)設(shè)計(jì)到部署上線都寫在這里。無(wú)論你是要做畢設(shè)、課程設(shè)計(jì)還是單純想了解推薦系統(tǒng)在真實(shí)業(yè)務(wù)里怎么落地這篇都值得你耐心看完。1. 項(xiàng)目整體設(shè)計(jì)與思路拆解1.1 核心需求解析先搞清楚這項(xiàng)目到底是干什么的。跳蚤市場(chǎng)說白了就是二手交易平臺(tái)學(xué)生把自己閑置的教材、數(shù)碼產(chǎn)品、自行車、吉他掛上去賣其他人看到合適的就買走。核心功能就是商品發(fā)布、瀏覽、下單、訂單管理、個(gè)人中心這些這些常規(guī)功能網(wǎng)上一抓一大把沒什么技術(shù)含量。真正有技術(shù)含量的是“推薦”兩個(gè)字。系統(tǒng)要能根據(jù)用戶的歷史行為比如瀏覽過什么、收藏過什么、買過什么主動(dòng)把當(dāng)前用戶可能感興趣的商品推送給他。這就是協(xié)同過濾算法的應(yīng)用場(chǎng)景。那為什么不直接做商品分類篩選而是要做推薦呢原因很簡(jiǎn)單跳蚤市場(chǎng)跟淘寶京東不一樣這里沒有海量商家和鋪天蓋地的廣告商品全靠搜索和分類很難被看到。比如某個(gè)用戶是一名大二學(xué)生他剛學(xué)完高數(shù)想賣教材另一個(gè)大四學(xué)生正好在找這本教材。如果靠傳統(tǒng)搜索兩個(gè)人必須先知道對(duì)方上傳了什么關(guān)鍵詞才能匹配。但推薦系統(tǒng)的作用是當(dāng)大四學(xué)生登錄首頁(yè)時(shí)系統(tǒng)會(huì)主動(dòng)把他可能需要的教材推給他用戶甚至不用搜索就能看到。推薦在這里的價(jià)值就是提升交易匹配效率和用戶粘性。1.2 技術(shù)選型背后的考量這套系統(tǒng)我選了Spring Boot 2.7 MyBatis Plus MySQL 8.0 Redis Vue 3作為主技術(shù)棧推薦算法部分用Python實(shí)現(xiàn)??吹絇ython可能有人會(huì)問既然都用了Java為什么算法不也用Java寫因?yàn)槲抑蝗∷惴ㄓ?jì)算出來的推薦結(jié)果通過JSON接口返回給Java后端算法本身和主系統(tǒng)解耦。比如相似度矩陣計(jì)算、用戶商品交互數(shù)據(jù)處理這些用Python的pandas處理比Java方便得多開發(fā)效率完全不是一個(gè)量級(jí)。Spring Boot就不多說了現(xiàn)在做Java后端項(xiàng)目的標(biāo)配自動(dòng)配置省掉一大堆繁瑣的XML配置。MyBatis Plus是我個(gè)人比較喜歡的一個(gè)ORM框架它比原生MyBatis好在單表操作不需要寫SQL代碼生成器一鍵生成實(shí)體類和Mapper太香了。MySQL選8.0是因?yàn)閷?duì)JSON數(shù)據(jù)類型的支持更好后面我們會(huì)用到。Redis這個(gè)很關(guān)鍵它承擔(dān)兩個(gè)任務(wù)一是分布式session存儲(chǔ)解決集群部署時(shí)的會(huì)話共享問題二是緩存熱點(diǎn)數(shù)據(jù)和推薦結(jié)果避免每次刷新頁(yè)面都重復(fù)計(jì)算推薦列表。前端用Vue 3加Element Plus這套組合適合后臺(tái)管理系統(tǒng)場(chǎng)景對(duì)比Vue 2的選項(xiàng)式APIVue 3的組合式API代碼更簡(jiǎn)潔邏輯復(fù)用也方便。UI框架用Element Plus能快速搭出清爽的管理后臺(tái)這活干了這么多年就說句實(shí)話做這種帶后臺(tái)管理的項(xiàng)目Element Plus比Ant Design Vue上手更快。1.3 算法選型為什么是協(xié)同過濾協(xié)同過濾算法是推薦系統(tǒng)里最經(jīng)典的算法之一核心思想就一句話人以群分物以類聚。它的實(shí)現(xiàn)主要分兩種思路?;谟脩舻膮f(xié)同過濾User-Based CF是先找到和你興趣相似的用戶看看你相似用戶都買過什么把這些商品推薦給你?;谖锲返膮f(xié)同過濾Item-Based CF則是先算出物品之間的相似度然后根據(jù)你之前買過或?yàn)g覽過的東西給你推薦相似的物品。這兩個(gè)方案選哪個(gè)我在這里選了基于物品的協(xié)同過濾。為什么看一個(gè)具體的運(yùn)營(yíng)場(chǎng)景你就明白了某用戶在跳蚤市場(chǎng)瀏覽過一本《數(shù)據(jù)結(jié)構(gòu)》教材基于物品協(xié)同過濾就能算出這本《數(shù)據(jù)結(jié)構(gòu)》教材和《算法導(dǎo)論》教材的相似度很高因?yàn)榻?jīng)常被同一批用戶一起瀏覽和購(gòu)買于是推薦算法就會(huì)給這個(gè)用戶推《算法導(dǎo)論》的二手書。而基于用戶的協(xié)同過濾算法更適合那種用戶量遠(yuǎn)大于商品量、用戶興趣標(biāo)簽明顯的平臺(tái)。但跳蚤市場(chǎng)這個(gè)場(chǎng)景校園里用戶就千把人商品卻能不斷新增商品之間的相似關(guān)系比用戶之間的相似關(guān)系穩(wěn)定得多。所以我最終選擇了Item-Based CF作為主力算法。不過這還不夠協(xié)同過濾有兩個(gè)繞不開的痛點(diǎn)一個(gè)是冷啟動(dòng)問題新商品沒有任何用戶行為數(shù)據(jù)協(xié)同過濾就算不出它跟其他商品的相似度一個(gè)是數(shù)據(jù)稀疏問題跳蚤市場(chǎng)的用戶行為本來就少矩陣稀疏得跟漁網(wǎng)似的。后面實(shí)操部分我們會(huì)講怎么用數(shù)據(jù)預(yù)處理和兜底策略來處理這兩個(gè)坑。2. 數(shù)據(jù)庫(kù)設(shè)計(jì)與核心模塊實(shí)現(xiàn)2.1 表結(jié)構(gòu)設(shè)計(jì)的關(guān)鍵細(xì)節(jié)數(shù)據(jù)庫(kù)是一個(gè)業(yè)務(wù)系統(tǒng)的地基這里的表結(jié)構(gòu)設(shè)計(jì)花了不少心思。核心表包括用戶表、商品表、訂單表、收藏表、瀏覽記錄表、評(píng)分表、推薦結(jié)果表。說幾個(gè)關(guān)鍵設(shè)計(jì)的細(xì)節(jié)。第一個(gè)是用戶表。用戶除了常規(guī)的id、用戶名、密碼、昵稱、頭像、手機(jī)號(hào)、角色之外我特意加了一個(gè)字段叫user_type用來區(qū)分買家和賣家身份。有人可能會(huì)說跳蚤市場(chǎng)里每個(gè)人不都既是買家又是賣家嗎你說得對(duì)但實(shí)際運(yùn)營(yíng)中有一部分用戶就是只買東西不賣東西為了后續(xù)運(yùn)營(yíng)分析的便利還是把角色區(qū)分開了。對(duì)于既賣又買的用戶這個(gè)字段就標(biāo)記為both。第二個(gè)是商品表。關(guān)鍵字段有商品標(biāo)題、描述、價(jià)格、原價(jià)、成色、分類、圖片、狀態(tài)。其中成色這個(gè)字段是跳蚤市場(chǎng)特有的業(yè)務(wù)字段是賣家對(duì)商品新舊程度的自評(píng)一般分成全新、幾乎全新、輕微使用痕跡、明顯使用痕跡、有瑕疵這五檔這個(gè)字段在后續(xù)推薦權(quán)重計(jì)算里會(huì)有大用場(chǎng)。狀態(tài)字段是上架中、已下架、已售出三個(gè)值查詢時(shí)永遠(yuǎn)只查上架中的商品。第三個(gè)是訂單表。除了常規(guī)的訂單號(hào)、買家id、賣家id、商品id、價(jià)格、下單時(shí)間、支付時(shí)間之外我把訂單狀態(tài)細(xì)化成了待付款、待發(fā)貨、已發(fā)貨、已完成、已取消、退款中、已退款七個(gè)狀態(tài)。都是做電商的為什么訂單狀態(tài)這么細(xì)你應(yīng)該深有體會(huì)不細(xì)化后面統(tǒng)計(jì)經(jīng)營(yíng)數(shù)據(jù)的時(shí)候哭都來不及。然后是收藏表和瀏覽記錄表。這兩張表是推薦算法最重要的數(shù)據(jù)來源收藏表記錄了用戶對(duì)哪些商品感興趣瀏覽記錄表記錄了用戶看過哪些商品、看了多久。這里有個(gè)實(shí)用的設(shè)計(jì)經(jīng)驗(yàn)瀏覽記錄表不要只存商品id和瀏覽時(shí)間我加了一個(gè)duration字段記錄用戶在該商品詳情頁(yè)停留的秒數(shù)這個(gè)數(shù)據(jù)在后續(xù)算用戶興趣權(quán)重時(shí)非常好用停留時(shí)間長(zhǎng)的商品說明用戶確實(shí)感興趣。評(píng)分表的設(shè)計(jì)也是推薦系統(tǒng)的重頭戲。表面上用戶可以在購(gòu)買完成后給商品打分1到5分這是顯式反饋數(shù)據(jù)。但跳蚤市場(chǎng)這類平臺(tái)用戶主動(dòng)評(píng)分的行為其實(shí)很少所以我在設(shè)計(jì)評(píng)分表時(shí)把收藏行為、瀏覽行為、購(gòu)買行為都?xì)w總到一張偏好記錄表里作為隱式評(píng)分的數(shù)據(jù)來源這樣協(xié)同過濾算法的輸入數(shù)據(jù)才夠用。最后是推薦結(jié)果表。這張表存協(xié)同過濾算法算出來的推薦結(jié)果包含用戶id、商品id、推薦分值、推薦時(shí)間、推薦來源推薦來源區(qū)分了是基于協(xié)同過濾算出來的還是用了兜底策略算出來的。為什么要存這張表一是為了方便運(yùn)營(yíng)人員排查一個(gè)用戶為什么看到這些推薦商品二是方便測(cè)試對(duì)比算法效果再者是避免一次首頁(yè)請(qǐng)求就觸發(fā)一次全量推薦計(jì)算直接把已經(jīng)算好的結(jié)果查出來返回就行。2.2 Spring Boot后端架構(gòu)與業(yè)務(wù)層實(shí)現(xiàn)后端項(xiàng)目用了經(jīng)典的三層架構(gòu)Controller層負(fù)責(zé)接收請(qǐng)求和參數(shù)校驗(yàn)Service層實(shí)現(xiàn)業(yè)務(wù)邏輯Mapper層處理數(shù)據(jù)庫(kù)交互。為了避免代碼量太龐大導(dǎo)致后期難維護(hù)項(xiàng)目做了一點(diǎn)點(diǎn)領(lǐng)域拆分的動(dòng)作把用戶、商品、訂單、推薦這四個(gè)板塊分成獨(dú)立的模塊。用戶模塊相對(duì)傳統(tǒng)主要就是注冊(cè)、登錄、個(gè)人信息修改。注冊(cè)邏輯里加了一道基礎(chǔ)的校驗(yàn)比如用戶名是否已存在、密碼強(qiáng)度是否合規(guī)。密碼存儲(chǔ)用了BCrypt加密這是Spring Security框架提供的加密組件比MD5這種已經(jīng)被撞庫(kù)撞爛的算法要安全得多對(duì)畢設(shè)項(xiàng)目來說這個(gè)安全級(jí)別是夠的。商品模塊除了最基礎(chǔ)的增刪改查核心邏輯在于發(fā)布商品的流程里做了圖片上傳和價(jià)格合理性校驗(yàn)。圖片上傳這塊我用了本地存儲(chǔ)方案而不是對(duì)象存儲(chǔ)服務(wù)因?yàn)轫?xiàng)目還處在學(xué)習(xí)演示階段沒必要上云。改一下配置文件里的路徑就行上傳的圖片通過WebMvcConfigurer配置的虛擬路徑映射暴露給前端。商品查詢列表做成分頁(yè)接口支持按分類篩選、按價(jià)格區(qū)間篩選、按關(guān)鍵字模糊搜索。這里我用了MyBatis Plus的Page分頁(yè)插件配合LambdaQueryWrapper構(gòu)造動(dòng)態(tài)查詢條件單個(gè)接口能應(yīng)對(duì)多種組合查詢場(chǎng)景。這塊也沒人用ES做搜索數(shù)據(jù)量在這兒擺著呢殺雞不用牛刀。訂單模塊是業(yè)務(wù)邏輯最復(fù)雜的一塊。核心難點(diǎn)在于訂單狀態(tài)的流轉(zhuǎn)管理我用了狀態(tài)機(jī)模式來約束訂單狀態(tài)的合法流轉(zhuǎn)比如已發(fā)貨狀態(tài)不能直接跳到已取消必須是已發(fā)貨才能確認(rèn)收貨變成已完成。這塊的代碼核心是提前把每種狀態(tài)允許跳轉(zhuǎn)的狀態(tài)集合定義好每次更新狀態(tài)前做合法性校驗(yàn)這樣一來臟數(shù)據(jù)的問題就能從源頭上杜絕掉。推薦模塊是我重點(diǎn)設(shè)計(jì)的。推薦接口從Redis緩存里查推薦結(jié)果查不到就走數(shù)據(jù)庫(kù)里的推薦結(jié)果表數(shù)據(jù)庫(kù)里也沒有就觸發(fā)實(shí)時(shí)推薦計(jì)算。這個(gè)多級(jí)緩存的設(shè)計(jì)思路很實(shí)用避免了每次請(qǐng)求都打數(shù)據(jù)庫(kù)或者重復(fù)計(jì)算推薦結(jié)果。2.3 前端界面與交互流程前端部分用的是Vue 3加Element Plus做的核心頁(yè)面有首頁(yè)、商品詳情頁(yè)、購(gòu)物車頁(yè)、訂單管理頁(yè)、個(gè)人中心頁(yè)、發(fā)布商品頁(yè)、后臺(tái)管理頁(yè)。首頁(yè)分兩部分頂部是推薦位中間是全部商品列表。推薦位是首頁(yè)最重要的一塊這部分直接調(diào)用后端的推薦接口推薦結(jié)果展示成一行商品卡片每張卡片展示商品封面圖、標(biāo)題、價(jià)格、成色標(biāo)簽。這里我花了點(diǎn)心思被推薦的商品要打一個(gè)“猜你喜歡”的角標(biāo)因?yàn)閾?jù)我觀察有推薦標(biāo)簽的商品點(diǎn)擊率明顯高于普通商品這算是利用推薦算法加運(yùn)營(yíng)策略提升整體點(diǎn)擊率的一個(gè)小技巧。商品詳情頁(yè)展示了商品的完整信息包括圖片、描述、成色、賣家信息同時(shí)也展示了相關(guān)推薦商品相關(guān)推薦的數(shù)據(jù)來源還是協(xié)同過濾算出的相似商品。這個(gè)功能是基于物品的協(xié)同過濾的直接體現(xiàn)用戶正在看某個(gè)商品系統(tǒng)給他推相似商品促使他繼續(xù)瀏覽。訂單流程是這樣的用戶在商品詳情頁(yè)點(diǎn)擊“立即購(gòu)買”會(huì)創(chuàng)建一筆待付款訂單支付成功進(jìn)入待發(fā)貨狀態(tài)賣家發(fā)貨后進(jìn)入已發(fā)貨狀態(tài)買家確認(rèn)收貨后訂單完成。另外做了售后服務(wù)功能買家可以發(fā)起退款申請(qǐng)賣家同意后訂單狀態(tài)變成已退款。整個(gè)交互流程該有的環(huán)節(jié)一個(gè)都沒少。后臺(tái)管理頁(yè)面主要是管理員視角包括用戶管理、商品管理、訂單管理、數(shù)據(jù)統(tǒng)計(jì)管理員可以下架違規(guī)商品可以凍結(jié)違規(guī)用戶。這個(gè)后臺(tái)的權(quán)限控制用了最基礎(chǔ)的攔截器方案管理員接口統(tǒng)一走/admin路徑攔截器里校驗(yàn)當(dāng)前登錄用戶是不是管理員角色。3. 協(xié)同過濾推薦算法的詳細(xì)設(shè)計(jì)與落地3.1 數(shù)據(jù)預(yù)處理從原始行為到評(píng)分矩陣數(shù)據(jù)預(yù)處理是協(xié)同過濾算法工程質(zhì)量的決定性因素比選擇算法本身還重要。所有推薦算法的輸入都是用戶對(duì)物品的評(píng)分矩陣但跳蚤市場(chǎng)的原始數(shù)據(jù)里根本沒有現(xiàn)成的評(píng)分?jǐn)?shù)據(jù)全靠我們自己做數(shù)據(jù)加工。我們把用戶對(duì)商品的反饋分為幾個(gè)等級(jí)。收藏行為權(quán)重是3分加購(gòu)物車是4分購(gòu)買行為是5分瀏覽行為按停留時(shí)間折算成0.5到2分。為什么不直接用統(tǒng)一分?jǐn)?shù)呢這背后的邏輯是一個(gè)用戶買了某個(gè)商品說明他對(duì)這個(gè)商品有強(qiáng)興趣這個(gè)信號(hào)比單純的瀏覽強(qiáng)得多。如果不同強(qiáng)度的行為統(tǒng)一記1分那算法算出來的相似度區(qū)分度就很差。具體的偏好值計(jì)算邏輯我寫成了Python的pandas代碼片段這里是核心部分import pandas as pd import numpy as np def build_user_item_matrix(): # 讀取收藏記錄 df_fav pd.read_sql(SELECT user_id, product_id, create_time FROM fav_record, engine) df_fav[action_weight] 3.0 # 讀取加購(gòu)物車記錄 df_cart pd.read_sql(SELECT user_id, product_id, create_time FROM cart_record, engine) df_cart[action_weight] 4.0 # 讀取購(gòu)買記錄 df_order pd.read_sql(SELECT buyer_id as user_id, product_id, create_time FROM orders WHERE status已完成, engine) df_order[action_weight] 5.0 # 讀取瀏覽記錄按停留時(shí)間折算 df_view pd.read_sql(SELECT user_id, product_id, duration FROM view_record, engine) df_view[action_weight] df_view[duration].apply( lambda x: 0.5 if x 10 else (1.0 if x 30 else 2.0) ) # 合并所有行為并聚合 df_all pd.concat([df_fav[[user_id,product_id,action_weight]], df_cart[[user_id,product_id,action_weight]], df_order[[user_id,product_id,action_weight]], df_view[[user_id,product_id,action_weight]]], ignore_indexTrue) df_score df_all.groupby([user_id,product_id])[action_weight].sum().reset_index() df_score[action_weight] df_score[action_weight].clip(upper10) # 透視成用戶-商品矩陣 matrix df_score.pivot_table(indexuser_id, columnsproduct_id, valuesaction_weight) matrix matrix.fillna(0) return matrix看著代碼不難實(shí)際踩過的坑是在寫入推薦結(jié)果表的時(shí)候如果用戶行為特別多全量寫入的耗時(shí)就會(huì)比較長(zhǎng)容易把接口拖垮。所以我把離線計(jì)算和接口請(qǐng)求做了解耦離線計(jì)算出的推薦結(jié)果由后臺(tái)任務(wù)寫入推薦結(jié)果表接口只做查詢動(dòng)作。這個(gè)等下面部署部分詳細(xì)說。3.2 Item-Based協(xié)同過濾的相似度計(jì)算基于物品的協(xié)同過濾核心分兩步第一步算物品之間的相似度矩陣第二步根據(jù)用戶歷史行為把相似度高的物品推薦給用戶。物品相似度的計(jì)算方式有很多種最常見的有余弦相似度、皮爾遜相關(guān)系數(shù)、Jaccard相似度。我這里用的是余弦相似度因?yàn)檫@個(gè)指標(biāo)計(jì)算簡(jiǎn)單效果穩(wěn)定對(duì)數(shù)據(jù)稀疏場(chǎng)景的容忍度也相對(duì)更高。余弦相似度的公式看著抽象但其實(shí)通俗解釋一下就是兩個(gè)向量夾角的余弦值夾角越小說明兩個(gè)向量越相似。放在場(chǎng)景里理解就是計(jì)算兩件商品被同一群用戶產(chǎn)生過行為的一致程度。比如商品A被用戶甲、乙、丙瀏覽或購(gòu)買過商品B也被用戶甲、乙、丙瀏覽或購(gòu)買過那么這兩件商品的向量就很接近相似度就高。在Python里計(jì)算也很簡(jiǎn)單直接調(diào)用scikit-learn庫(kù)的pairwise_distances函數(shù)就能得到物品之間的相似度矩陣。from sklearn.metrics.pairwise import cosine_similarity # 矩陣轉(zhuǎn)置變成商品-用戶的矩陣行列原來是用戶-商品 item_matrix matrix.T # 計(jì)算商品之間的余弦相似度 item_similarity cosine_similarity(item_matrix) # 轉(zhuǎn)成DataFrame便于處理 item_sim_df pd.DataFrame(item_similarity, indexitem_matrix.index, columnsitem_matrix.index)算完相似度矩陣后關(guān)鍵一步是做相似商品的篩選。一刀切地把所有相似商品都算作候選是不行的一定要設(shè)置相似度閾值做過濾我用的閾值是0.5低于0.5的相似度不參與推薦。同時(shí)每個(gè)商品的相似商品最多保留Top 20。這里控制一下計(jì)算量和推薦精度不然相似度矩陣全量算下來容易內(nèi)存爆炸。3.3 生成推薦列表的核心邏輯有了物品相似度矩陣接下來就是為用戶生成Top N的推薦列表了。核心邏輯是找出用戶最近有過正反饋行為的商品然后去相似度矩陣?yán)镎页鲞@些商品的相似商品按相似度加權(quán)求和排個(gè)序取前N個(gè)。我在實(shí)現(xiàn)的時(shí)候?qū)iT加了一個(gè)時(shí)間衰減函數(shù)。理由是跳蚤市場(chǎng)這類平臺(tái)用戶在一個(gè)月前瀏覽過的商品和昨天剛瀏覽過的商品在當(dāng)前時(shí)刻的興趣權(quán)重不應(yīng)該是一樣的。時(shí)間衰減函數(shù)距離今天越近的行為權(quán)重越高越久遠(yuǎn)的行為權(quán)重越低用指數(shù)衰減來模擬這個(gè)規(guī)律效果明顯好于不衰減的方案。核心代碼是這一段import math from datetime import datetime def generate_recommendations(user_id, user_item_matrix, item_sim_df, top_n10, decay_factor0.98): # 用戶歷史行為 if user_id not in user_item_matrix.index: return [] user_row user_item_matrix.loc[user_id] # 找出用戶有行為的商品 interacted_items user_row[user_row 0].index.tolist() if not interacted_items: return [] # 計(jì)算每個(gè)候選商品的推薦得分 scores {} for item in interacted_items: # 獲取當(dāng)前商品相似度最高的幾個(gè)商品 sim_scores item_sim_df[item].drop(labelsinteracted_items, errorsignore) sim_scores sim_scores[sim_scores 0.5].sort_values(ascendingFalse)[:20] # 用戶對(duì)當(dāng)前商品的興趣強(qiáng)度 user_interest user_row[item] for sim_item, sim_value in sim_scores.items(): if sim_item not in user_row or user_row[sim_item] 0: scores[sim_item] scores.get(sim_item, 0) user_interest * sim_value # 按得分排序取TopN ranked sorted(scores.items(), keylambda x: x[1], reverseTrue)[:top_n] return ranked還記得前面對(duì)瀏覽記錄做了時(shí)長(zhǎng)折算嗎在這里就用上了瀏覽時(shí)間長(zhǎng)的商品user_interest值高一些直接影響推薦得分這樣用戶只看了一眼的商品就不會(huì)成為推薦的主參考而認(rèn)認(rèn)真真看了五分鐘的商品則會(huì)成為主參考。這個(gè)細(xì)節(jié)不算很難但就是這些細(xì)節(jié)決定了算法的推薦質(zhì)量是普通水平還是相對(duì)優(yōu)良。運(yùn)營(yíng)的A同學(xué)做了測(cè)試同一個(gè)用戶用帶時(shí)間衰減和不帶時(shí)間衰減兩版算法跑出來的結(jié)果第一屏的推薦商品準(zhǔn)確率差了大概15%。很直觀的效果差異。3.4 冷啟動(dòng)問題的兜底方案協(xié)同過濾算法最惡心的坑就是冷啟動(dòng)。系統(tǒng)剛上線商品和用戶行為數(shù)據(jù)都很少矩陣稀疏到幾乎每行每列都是0這時(shí)候算法就算跑出來結(jié)果也基本等于瞎推薦。冷啟動(dòng)分為用戶冷啟動(dòng)和物品冷啟動(dòng)。新注冊(cè)的用戶沒有任何行為數(shù)據(jù)推薦算法拿什么算相似度新上架的商品沒有任何人看過買過相似度矩陣?yán)锼l(shuí)都不相似。我的兜底方案分了三層來做。第一次兜底對(duì)于完全沒有行為數(shù)據(jù)的新用戶直接推薦平臺(tái)的熱門商品。熱門商品怎么定義就是最近7天瀏覽次數(shù)最多、收藏次數(shù)最多的商品按權(quán)重排序取前20個(gè)。這個(gè)策略簡(jiǎn)單粗暴但極其有效新用戶進(jìn)來看到大家都在看的商品至少不會(huì)覺得推薦完全不相關(guān)。第二次兜底對(duì)于有少量行為的用戶如果行為數(shù)據(jù)不足以支撐協(xié)同過濾就用基于內(nèi)容的推薦方式。具體實(shí)現(xiàn)是將商品分成若干個(gè)分類比如“教材教輔”、“數(shù)碼產(chǎn)品”、“生活用品”、“運(yùn)動(dòng)戶外”等然后對(duì)用戶瀏覽過的商品類別做統(tǒng)計(jì)找出用戶最感興趣的Top3品類在這些品類下按價(jià)格、熱度綜合排序推薦一些好商品。這套基于內(nèi)容的方案原理不復(fù)雜但實(shí)現(xiàn)后對(duì)冷啟動(dòng)用戶的推薦效果立竿見影。第三次兜底新上架的商品在新品期內(nèi)也就是上架后72小時(shí)內(nèi)在推薦結(jié)果里做一個(gè)加權(quán)操作。具體做法是給新商品一個(gè)初始曝光權(quán)重這樣它們?cè)谟脩羯蓚€(gè)性化推薦列表時(shí)有機(jī)會(huì)被帶上。雖然新商品沒有協(xié)同過濾的相似度數(shù)據(jù)但我們可以在Item-Based協(xié)同過濾的基礎(chǔ)上額外附加一批新商品推薦設(shè)置20%的推薦位留給這類商品。這樣就同時(shí)照顧了用戶體驗(yàn)和新品曝光。這三層兜底方案加起來的實(shí)現(xiàn)成本不高但對(duì)整個(gè)系統(tǒng)的推薦可用性提升是決定性的。沒有兜底方案的推薦系統(tǒng)在早期階段基本是廢的。4. 熱門問題與性能優(yōu)化實(shí)錄4.1 推薦結(jié)果不準(zhǔn)確怎么辦在調(diào)這個(gè)系統(tǒng)時(shí)被問得最多的問題就是推薦結(jié)果不準(zhǔn)推出來的商品用戶根本不想看。這類問題基本可以按下面的思路逐層排查。第一步先檢查數(shù)據(jù)量。如果用戶行為記錄不到50條那協(xié)同過濾效果不好是正常的沒有足夠的歷史數(shù)據(jù)任何推薦算法都白搭。解決辦法是用前面說的兜底策略優(yōu)先走熱門推薦或基于內(nèi)容推薦。第二步檢查評(píng)分矩陣的稀疏度。要算一個(gè)數(shù)據(jù)指標(biāo)矩陣中非零元素占總元素的比例如果低于1%那協(xié)同過濾的效果就會(huì)打折。跳蚤市場(chǎng)數(shù)據(jù)天生稀疏解決辦法是對(duì)行為數(shù)據(jù)進(jìn)行加權(quán)比如購(gòu)買過的商品權(quán)重調(diào)高到5分瀏覽只有1分提高強(qiáng)信號(hào)數(shù)據(jù)的占比。第三步檢查相似度閾值。我默認(rèn)設(shè)置0.5但這個(gè)值不是固定的。如果發(fā)現(xiàn)推薦的相似商品太少可以適當(dāng)降低到0.3如果推薦的相似商品明顯沒多大相關(guān)性就調(diào)高到0.6。這個(gè)參數(shù)需要在不同數(shù)據(jù)集上反復(fù)試驗(yàn)。第四步看推薦結(jié)果表的兜底來源占比。我們每一條推薦記錄都帶一個(gè)來源字段如果發(fā)現(xiàn)大量推薦走的都是熱門推薦而不是協(xié)同過濾說明協(xié)同過濾的有效覆蓋率不足需要針對(duì)性排查是數(shù)據(jù)稀疏還是相似度矩陣計(jì)算錯(cuò)誤。4.2 Redis緩存與接口響應(yīng)優(yōu)化推薦接口和首頁(yè)接口是性能考量的重中之重。首頁(yè)接口要聚合推薦商品、熱門商品、最新商品等多個(gè)數(shù)據(jù)源如果沒有緩存數(shù)據(jù)庫(kù)壓力會(huì)非常大。我用Redis做了一個(gè)兩級(jí)緩存的方案。第一級(jí)緩存存推薦商品的Id列表Key設(shè)計(jì)成recommend:user:{userId}有效時(shí)間設(shè)成了30分鐘。為什么是30分鐘而不是更長(zhǎng)因?yàn)橥扑]結(jié)果如果太久不更新用戶每次打開看到的東西都一模一樣時(shí)間長(zhǎng)了就會(huì)產(chǎn)生審美疲勞30分鐘算是一個(gè)兼顧實(shí)時(shí)性和緩存命中率的折中值。第二級(jí)緩存存了商品本身的詳細(xì)信息Key設(shè)計(jì)成product:info:{productId}有效時(shí)間設(shè)成2小時(shí)。第一級(jí)緩存存儲(chǔ)推薦id列表第二級(jí)緩存存儲(chǔ)商品詳細(xì)信息。三級(jí)緩存把商品詳情從數(shù)據(jù)庫(kù)里挪到Redis里商品詳情的查詢壓力大幅下降實(shí)測(cè)下來首頁(yè)的接口響應(yīng)時(shí)間從150毫秒降到了50毫秒以下流暢度大幅提升。還有一點(diǎn)要注意的細(xì)節(jié)修改商品信息、下架商品時(shí)必須同步刪除對(duì)應(yīng)的商品緩存不然用戶看到的還是舊的商品信息這就是經(jīng)典的一致性維護(hù)問題。我實(shí)現(xiàn)方式是在商品更新的Service方法里統(tǒng)一調(diào)用Redis刪除操作寧多刪勿漏刪。4.3 并發(fā)扣減庫(kù)存與訂單一致性跳蚤市場(chǎng)和常規(guī)電商有一個(gè)本質(zhì)區(qū)別每件商品只有一個(gè)庫(kù)存量。這意味著如果兩個(gè)用戶同時(shí)下單購(gòu)買同一個(gè)商品只能有一個(gè)人成功另一個(gè)人必須收到“手慢了商品已被購(gòu)買”的提示。如果只是減庫(kù)存不加控制用常規(guī)的先查庫(kù)存再更新庫(kù)存的方式高并發(fā)場(chǎng)景下就會(huì)產(chǎn)生超賣問題。兩個(gè)請(qǐng)求同時(shí)查到庫(kù)存是1都判斷可以買都執(zhí)行了下單最后庫(kù)存變成-1這就是超賣。解決辦法是用數(shù)據(jù)庫(kù)行鎖配合樂觀鎖。在扣減庫(kù)存時(shí)執(zhí)行一條帶條件更新的SQL語(yǔ)句只有當(dāng)前庫(kù)存大于0時(shí)才允許扣減同時(shí)受影響的行數(shù)為1才代表更新成功沒成功就說明已經(jīng)被別人搶了。UPDATE product SET stock stock - 1 WHERE id #{productId} AND stock 0MyBatis加不加Transactional這個(gè)細(xì)節(jié)也要留意??蹨p庫(kù)存、創(chuàng)建訂單這兩個(gè)操作必須加事務(wù)任何一個(gè)失敗都要回滾保證數(shù)據(jù)一致性。這段代碼是整個(gè)訂單流程里最容易出bug的地方一定要把單元測(cè)試寫好模擬并發(fā)場(chǎng)景反復(fù)壓測(cè)。4.4 定時(shí)任務(wù)與離線計(jì)算調(diào)優(yōu)推薦結(jié)果的計(jì)算不需要實(shí)時(shí)跑更合理的做法是定時(shí)任務(wù)離線計(jì)算。我用了Spring Boot內(nèi)置的Scheduled注解實(shí)現(xiàn)定時(shí)任務(wù)固定在每天凌晨3點(diǎn)全量計(jì)算一次這個(gè)時(shí)間點(diǎn)服務(wù)器負(fù)載最低。每天凌晨計(jì)算的是全量推薦結(jié)果寫入推薦結(jié)果表。另外內(nèi)部做了一套增量計(jì)算邏輯每30分鐘計(jì)算一次只算最近30分鐘內(nèi)有新行為數(shù)據(jù)的那些用戶更新他們的推薦結(jié)果保證推薦列表的時(shí)效性。兩套計(jì)算邏輯配合起來全量保證數(shù)據(jù)基礎(chǔ)增量保證實(shí)時(shí)反饋服務(wù)器壓力也不會(huì)太大。離線計(jì)算的核心數(shù)據(jù)結(jié)構(gòu)是物品相似度矩陣全量計(jì)算時(shí)我會(huì)把它序列化保存到本地文件。增量計(jì)算時(shí)加載這個(gè)相似度矩陣只更新行為發(fā)生變化的用戶避免每次都要全量重新加載所有數(shù)據(jù)。這個(gè)優(yōu)化直接把定時(shí)任務(wù)的平均執(zhí)行時(shí)間從十幾分鐘壓到了幾分鐘。5. 部署上線與運(yùn)營(yíng)落地5.1 項(xiàng)目部署與安全合規(guī)部署方案選了一臺(tái)2核4G的云服務(wù)器Linux系統(tǒng)。后端項(xiàng)目打成JAR包通過systemd配置成守護(hù)進(jìn)程開機(jī)自啟加崩潰自動(dòng)重啟。前端用Nginx托管靜態(tài)文件后端接口用反向代理映射到域名路徑下Nginx是前端構(gòu)建產(chǎn)物最經(jīng)典的托管方案后端接口也走Nginx代理順便解決跨域問題。Java啟動(dòng)參數(shù)里-Xms和-Xmx設(shè)為512m配合上G1垃圾回收器。2核4G的服務(wù)器配置跑這套系統(tǒng)完全可以駕馭實(shí)測(cè)并發(fā)在50左右時(shí)CPU占用率大約40%響應(yīng)延遲在100毫秒內(nèi)對(duì)校園場(chǎng)景來說綽綽有余。這里要多提一句合規(guī)問題。一個(gè)跳蚤市場(chǎng)交易平臺(tái)不管規(guī)模大小該做的合規(guī)操作一樣不能少用戶實(shí)名注冊(cè)手機(jī)號(hào)驗(yàn)證碼校驗(yàn)必須有商品發(fā)布要做敏感詞過濾違規(guī)內(nèi)容條目要提前準(zhǔn)備交易糾紛要有申訴機(jī)制和客服入口。我特別提醒了學(xué)弟平臺(tái)方對(duì)發(fā)布違禁品的用戶要及時(shí)警告和處理這些不是可選項(xiàng)而是必選項(xiàng)。隱私數(shù)據(jù)這塊用戶的手機(jī)號(hào)和地址在數(shù)據(jù)庫(kù)里需要做加密存儲(chǔ)日志打印也要脫敏處理。5.2 數(shù)據(jù)冷啟動(dòng)后的運(yùn)營(yíng)節(jié)奏系統(tǒng)剛上線的最初兩周是冷啟動(dòng)期數(shù)據(jù)量自然是很貧乏的。這個(gè)階段推薦系統(tǒng)的核心任務(wù)不是算法優(yōu)化而是制造初始數(shù)據(jù)。我的做法是在正式運(yùn)營(yíng)前先導(dǎo)入一批模擬數(shù)據(jù)。用Python的Faker庫(kù)生成模擬用戶、模擬商品、模擬瀏覽和模擬購(gòu)買記錄大概構(gòu)造成500個(gè)用戶、2000件商品、3萬(wàn)條行為數(shù)據(jù)。這波操作對(duì)冷啟動(dòng)階段的推薦系統(tǒng)至關(guān)重要——協(xié)同過濾算法的效果和輸入數(shù)據(jù)的規(guī)模強(qiáng)相關(guān)沒有這批模擬數(shù)據(jù)系統(tǒng)上線后運(yùn)行一整周也未必能收集到足以支撐算法的數(shù)據(jù)量也就談不上推薦效果。這些模擬數(shù)據(jù)的生成不是隨機(jī)亂造的要符合跳蚤市場(chǎng)的業(yè)務(wù)規(guī)律。比如大四學(xué)生購(gòu)買英語(yǔ)考研資料的記錄相對(duì)集中大二學(xué)生瀏覽高數(shù)教材的記錄多一些這樣人為構(gòu)造出幾類標(biāo)簽清晰的用戶群體協(xié)同過濾才有足夠的行為交集可以計(jì)算推薦結(jié)果才能顯得相對(duì)合理。6. 常見問題排查與避坑指南微服務(wù)權(quán)限管理系統(tǒng)是這幾年非常經(jīng)典的一套畢業(yè)設(shè)計(jì)選題但我見過太多人把它做成純粹的CRUD后臺(tái)那樣反而顯得沒深度。我這套跳蚤市場(chǎng)系統(tǒng)的設(shè)計(jì)思路不一樣它的加分項(xiàng)在于推薦算法的運(yùn)用——不是給用戶堆功能頁(yè)面而是把底層算法和業(yè)務(wù)系統(tǒng)結(jié)合成一個(gè)整體。最近有學(xué)弟問這套系統(tǒng)能不能擴(kuò)充成校園綜合二手教學(xué)系統(tǒng)這個(gè)想法完全可以做把商品對(duì)象抽象成類型字段加上閑置教材、尋求輔導(dǎo)、尋找拼車伙伴這些業(yè)務(wù)場(chǎng)景就能復(fù)用現(xiàn)成框架。完成一個(gè)基礎(chǔ)版本之后還可以繼續(xù)優(yōu)化算法參數(shù)調(diào)整、重構(gòu)相似度計(jì)算、引入更細(xì)的行為權(quán)重策略等持續(xù)打磨細(xì)節(jié)比推倒重來做花哨的新功能要更值錢。復(fù)盤自己這幾年做過的項(xiàng)目有推薦算法的價(jià)值感確實(shí)會(huì)高很多這類系統(tǒng)在面試考察中對(duì)項(xiàng)目深度的體現(xiàn)非常加分。最后分享一個(gè)排查問題的技巧。有用戶反饋推薦列表刷不出來我的排查思路按這個(gè)順序進(jìn)行先看請(qǐng)求有沒有打到后端是用瀏覽器開發(fā)者工具的Network面板看的再查Redis里有沒有緩存數(shù)據(jù)用tkey的命令然后查數(shù)據(jù)庫(kù)推薦結(jié)果表有沒有數(shù)據(jù)最后看定時(shí)任務(wù)日志有沒有正常執(zhí)行。查了幾次就發(fā)現(xiàn)是定時(shí)任務(wù)在數(shù)據(jù)量大的時(shí)候執(zhí)行超時(shí)任務(wù)被跳過導(dǎo)致推薦結(jié)果表沒有更新。解決方式是給定時(shí)任務(wù)加一個(gè)分布式鎖同時(shí)把全量計(jì)算改成增量計(jì)算這個(gè)問題就徹底解決了。如果打開一篇文章到這里你正在為推薦系統(tǒng)相關(guān)的項(xiàng)目發(fā)愁這套思路和代碼實(shí)現(xiàn)完全可以復(fù)用到你自己的業(yè)務(wù)場(chǎng)景里核心是掌握“數(shù)據(jù)預(yù)處理 - 相似度計(jì)算 - 推薦生成 - 兜底策略”這條主線邏輯剩下的都只是實(shí)現(xiàn)細(xì)節(jié)問題。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美国产视频| 人人摸人人舔一区二区| 日本一区二区中文字幕久久| 99色婷婷中文字幕乱色| 综合自拍| a片 xxxx受爽视频| 91亚州欧美| 看日韩操逼| av东京热男人的天堂| 在线播放中文字幕| 超碰国产精品无码| 九月伊人中文字幕| 久久人妻一区二区三区高清| 安徽熟妇视频| 99这里有精品| 91呆哥人妻| 欧美性爱精品七区| 精品二区三四区五电影 | 动漫爆乳3D奶水一区在线观看 | 男人天堂久久日韩| 色av中文字| 日韩黄色成人性爱| 午夜一级免费毛片| 日韩熟女无码| 自拍六区| 天美传媒婬乱在| 欧美日韩大陆黑人少妇99| 99热99色| 99精品成人免费看| 国产高清午夜成人在线观看| 97色亚洲| 欧美资源| 欧美色乱| 放黄片放3级黄片没穿衣服| 欧美最大综合网| 男女打扑克高清网站| 色色香蕉| 日本精品一区二区中文字幕| 青青草伊人久久| 亚洲国产成人高清在线| 国产免a费看黄片在线| 婷婷色综合欧美日韩| 一级AAA片一区二区三区| 干B| 岛国小电影| 丁香五月综合| 日日爽夜夜爽| 激情五月天网| 丁香五月影院| 国产视频三区四区| 99天天超碰| 国产精品天美传媒| 欧美成人午夜免费福利785| 夜草网站| 成人性爱美曰韩| 99久在线精品99re8蜜桃| 亚洲偷91色| 超碰98综合网| 亚洲情色在线| 97欧美久久久久久久| 中文字幕丝袜人妻| 天天日美女的B| 色男人色天堂东京热| 五月天婷婷欧美三区| 亚洲天堂男人在线| 国产精品久久久蜜臀| 91红杏| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 九一国产精品| 粉嫩AV一区夜夜嗨| 欧美图片色五月天| 久久中文字幕一区不卡| 手机在线播放国产福利| 97碰碰日本乱偷人妻中文的| 大香蕉欧美伊| 久久久久人| 美国三级日本三级久久99| 国产91丝袜在线播放蜜月| 天堂射| 超碰国产情侣自拍网| 午夜福利久久久噜久噜久久综合 | jazzjazz国产精品麻豆| 亚洲AV噜噜狠狠网址蜜桃动漫| 逼操网站| 激情99| 99综合视频一体| 偷拍欧美综合| 国产免费一区| 岛国色情视频在线观看| 天天操天天日青青草超碰av| 九九九九热| 大二网站亚洲| 色婷婷色99国产综合精品| 丁香九月激情| 激情四射五月天| 玖玖无码超碰| 日韩欧美大力操| 亚洲中文日韩欧美大香蕉视频| 中文字幕在线免费观看视频| 日韩欧美天天爽爽爽天天爽爽| 97在线视频观看免费| 极品色| 欧美一区二区三区另类精品| 日韩情色视频| 97国产精选| 中文字幕免费在线观看| 国产AAAAAABBBBB| 1769精品一区二区三区| 伊人久久久日韩一区| 美欧色综合| xxx0国产在线播放| 超碰97在线中文| 精品对白久久不卡| 久久精品国产96精品亚洲拳交| 久/久精品99看9| 这里只有精品视频在线| 999 久久久| 老鸭窝成人| 秋霞一级鲁丝片A片| 婷婷10月天青娱乐| 翔田千里AⅤHD无码| 激情五月综合网| 日韩欧美水蜜桃人妻| 久久三区四区| 亚洲欧美一区二区三区一猛片| 亚洲男人天堂网久久| 91国产丝袜美女| www久久国产精品| 超碰狠狠操| 亚洲骚男同com| 青草草免费网站av| 四虎永久在线精品免费网址| 国产丝袜啪啪| 色狠狠色| 欧美图片色五月天| 国产亚洲色婷婷久久99精品91| 久久久99久9| 欧美成97爱| 中国东北熟女老太婆内谢| n1038 一二三区| 大肥女高潮bbwbbwhd视频| 久久精品性| 欧洲大香蕉| 人人操人人搞人人草| 欧美日韩国产电影| 亞洲久久直播| 9.1小视频| 日韩人妻一区二区精品| 天天综合麻豆视频| 大香蕉92| 九九性视频| 日本2020一区二区| 亚洲色综合| 亚州再线| 女人天堂AV五区在线| 婷婷色综合欧美日韩| 91久久久久久| 波多野42部激情无码喷潮| 欧美专利1区2区3区4区5区免费| 男人天堂欧美| yazhousetuoumei| 天天看特黄的免费网站 | WWW.加勒比人妻一区不卡.com| 免费a v| 高凊专区人人操| 97爱亚洲| 亚洲情色1区| 免费精品中文字幕| 欧美日韩一二三| 日韩有码免费视频| 国产亚洲美日韩Aⅴ中文字幕无码成人| 加勒比日本在线| caoni国产亚洲av| 亚洲天堂一二| 中文字幕久久精视频久久大全| 亚洲国产尤物yw在线观看| 五月天综合网| 欧美精品99久久久| 翔田千里AⅤHD无码| 国产黄色动态精品| 欧美亚洲日韩16色| 亚洲国产成人精品无码专区| 亚洲午夜精品久久久中文影院| 91精品无码人妻系列| 国产传媒一区二区三区| 啊啊啊啊啊啊啊好爽不要| 亚洲成人福利电影免费| A级片日韩欧美国产欧美视频精选观看| 欧美 中文字幕 一区| 国产精品亚洲天堂网址| 日本性爰一道本| 欧美 日韩第一性色| 午夜天堂精品久久| 久久精品美女一区| 亚洲免费在线探花| 久久久久久99AV无码免费网站| 蜜色网色哟哟| 精品人体无圣光凹凸| 97手机日韩| 超碰一区二区| 999在线电影香蕉| 可以在线观看的黄色网址| 熟女少妇视频| 死我十八禁| 国产精品国产| 亚洲性猛交| 91在线限制级| 97久久精品国产| 精品女人999| 96久久精品一二三区色欲| 国产亚洲深夜激情| 欧美传媒| 精品一区96| 自拍内地三级在线观看| 婷婷激情四射| 欧美一级二级三级| 青草成人免费视频一COm| 国产欧美黑人丰满在线| 激情小说成人日本无码一| 91五十路| 日本天堂在线播放| 欧洲自拍色图gif在线| 天天综合有色网| 欧美人妻精品| 久操九九九九| 白丝1区2区3区| 97色冈| 三级三级三级日本99| 九九性爱网| 桃花色涩综合影院| 日韩草久视频| 99r九九| 99.色网| 爱干爱射网啊啊啊| 亚洲网污污污污| 久久精品视| 伊人宅男大香蕉| 干B网| 综合欧美亚洲| 国产成人99久久亚洲综合| 亚洲成人性爱网站在线播放| 色官网色综合| 人人人人人人少妇| 中文字幕乱偷人妻久久艾草网| 男人的天堂午夜av| 日本色色色视频| 激情AV| 区一二区日韩亚洲乱码av电影| 97超碰亚洲| 人妻少妇久久| 国产一级舔足在线观看| 美女国产一区二区久久| 亚洲情色第一页| 九九夜精品九九在线| 中文子幕一二三| 精品久久久久综合无码| 草莓精品视频在线免费观看| 精品视频久久久久九九九九9999| 久久久久9999妇女| 三四中文字幕| 亚洲αv一区二区三区| 五月天开心网| 手机av亚洲丝袜美腿日韩第一页二页| 99国产精品| 亚乱色| 国产按摩一区二区三区| AV久日| AVE乱伦| 亚洲狠狠入| 18禁久极品美女久久哦哟呀!| 91麻豆一二三区| 日本女人久久久| 欧洲精品欧洲精品| 国内毛片免费h片在线| 狠狠操狠狠| 人人操人人干xxx| 天堂а√在线最新版在线| 五月天激情网图片| 97国产精品久久久久| 亚洲欧美小说| 狠狠综合网| 欧亚揄拍偷拍精品视频 | 九九视频黄色片| 一区二区娱乐网站| 蜜臀99久久精品| 国产成人99久久亚洲综合| 久久激情视频| 另类专区加勒比| AV乱伦专区| 国产精品一区人妻精品阁在线| 淫荡网址| 日韩欧美偷拍美女视频| 97久久超碰| 色九区| 狠狠干妹子| 最新av中文字幕高清| 五月天成人综合| 四虎在线免费视频| 偷拍自拍在线视频观看| 日韩中文字幕宗合在线| 乱伦av麻豆| 乱伦系列一区二区| 中文字幕第9页萱萱影音先锋 | 欧美不卡在线美女| 日本操逼视频在线| 国产白领连续中出在线观看| 99热在线观看| 高清不卡国产| 四虎午夜影院| 爱妻综合网| 四虎视频在线观看| 亚洲成人av电影在线| 欧美 传媒 麻豆 日韩 偷拍| 亚洲第一页第二页激情| 国产精品一区二区后入| 成人黑料社久久| av天堂加勒比| 色五月大香蕉| 国产v片在线免费观看| 久久久久亚洲精品| 欧美一级做a爰片免费视频| 亚洲AV不卡在线观看| 日韩成人大片在线观看| 亚洲丝袜诱惑| 日韩中文字幕宗合在线| 日本国产成人亚洲精品无码| 91丝袜美女视频| 97人肏| 岛国黄片网站| 蜜桃精品视频一区二区三区| 欧美1727免费观看视频| 久操操AV电影| 亚洲图片小说欧洲| 欧美日韩精品久久| 99精品久久久久久久婷婷蜜桃| 色香av| 亚洲天堂第一页| 国产精品久久久久久久毛片1| 91亚洲欧美综合高清在线| 久久久久9| 日韩免费中文字幕视频| 超碰97首页| 婷婷久久网| 国产亚洲精品一区二区三区| 中文字幕免费在线观看| 小草三级久久观看| 婷婷综合五月| 操日韩第| 国产传媒av天美传媒在线| 中日韩久久人妻一区二区| 久久艹逼视频| {男男暴菊gay无套网站| 亚洲操操操无码| 精品久久99| 亚洲国产一区二区三区四区国产| 999精品国产高清一区二区| 久久久无码精品人妻二区| 国产精品青青草| 长久操视频| 天天综合网国产| A片 AV一级在线播放观看免费 | 亚洲无992tv| 欧美人妻另类在线| 久久綜合很很很| 久草五月| 日韩人妻精品久久久久| 亚洲成A∨人影院在线欢看| 无遮挡男女激烈动态图| 欧美亚洲系列| 精久久久| 久久偷偷色综合蜜桃| 成人色女网| 五月天色图| 91美女丝袜诱惑视频| 欧美性爱1080p| 久久 国产 无码| 久久久中文| 狠狠爱大香蕉| 国产AV中文| 久久精品国产97欧美精品亚洲 | 精品视频一区二区| 少妇久久久久| 9色国产精品一区粉嫩| 夫妻日逼| 亚洲日韩精品一区二区| 久久久久久久久久9| 亚洲午夜精品久久久中文影院| 少妇激情AV| 日韩淫色网| 青青伊人久久| 亚洲天堂资源| 五十路成人在线视频二区三区| 人人爽人人精品乱人伦AV| 加勒比AV网| 亚洲97P| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 欧美老妇女内射网址| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 内射黑人| 亚洲无限观看| 日韩人人精品| 中国熟妇| 欧美色999| 思思热在线视频免费| 国产一级内射高清视频| 精品国产乱码| 日本一区二区成人在线| 97人人模人人爽人人| 九九热超碰| 日本91白丝| 久妇网| 成人色女网| 一区二区三区四区久久视1| 伊人久久久日韩一区| 97精品国产手机| 夜夜春夜夜操| 青娱乐国产剧情av一区| 天天草夜夜草高潮片| 人人爱人人操人人性| 国产亚洲99久久精品| 九色97| 91天天爱| 中文字幕三四五区| 超碰色男人操熟女| 久久婷五月天| 大香蕉伊在线久草麻豆天堂故事| 老鸭窝日丰县女人| 久久成人国产精品| 亚洲AV成人无码一区二区三区在线观看 | 亚洲 欧美 日韩另类 麻豆| 亚洲男人在线观看天堂| 色欲av一区二区三区蜜芽| 国产AV高清AV无码| 亚洲精品天天影视综合网 | 久久狠狠色噜噜狠狠狠狠97| 粉嫩绯色AV一区二区在线| 口爆综合网| 色偷综合| 91中文字幕| 强奸乱伦av电影| 精品国产一区二区久久| 欧美姓爱综合网| 操逼国产免费| 亚洲一二三精品久久网 | 曰韩精品视频一区二区| 99热97| 成人久久久精品| 91久久青青草原精品| 精品在线观看视频在线| 天天看人人操屄犊摸阴| 一二三区精品视频| 国产女人91精品嗷嗷嗷嗷| 欧美最婬乱婬爆婬性视频 | 国产色图乱伦| 久久亚洲婷婷| 中文无线日韩一区| www.99中文字幕| 四虎永久在线精品免费网址| 偷窥自拍亚洲| 在线看片国产精品每日更新| 神马久久网| 97超碰人人模人人拍人人| 大香蕉综合| 啊啊啊啊啊啊啊在线| 欧美一区二区三区互相| 嗯嗯嗯啊啊啊在线免费观看| 色综合91好| 国产超碰人人操| 99re6国产精品99re| 吖在线不卡一区二区国产剧情| 天天干,夜夜爽| 一卡二卡三卡| 五月丁香综合啪啪| 91欧美网| 色噜噜综合在线| 三四中文字幕| 五月丁香综合| 97精品一区二区三区免费| 偷窥自拍亚洲天堂网爆| 99在线精品观看视频中文 | 日日97| 日韩久久激情精品| 激情婷婷丁香网| 国产成人在线观看综合| 久久精品操| 婷婷五月天激情四射| 亚洲黄色AV电影| 久久超碰爱| 亚洲图片欧美色| 啪啪视频mP4| 成年人黄色视频免费| 蜜桃臀 后入 一区 二区 三区 在线| 97超碰久久| 日本一片一区| 国产成年免费大片黄在线观看| 99精品久久久久久| 激情综合婷婷| 五月亭亭六月丁香| 成人十八禁日韩欧美一二三| 强奸乱伦中文字幕AV| 亚洲性综合11| 热天堂一区二区| 熟妇xxxxx性春色| 亚洲精品国产av天美传媒| 国产AV精久久| 欧美日韩资源| 九一综合网| AV综合中文字幕干| 人妻色偷色噜| 四虎影视 亚洲无码| 成人情色一区二区| 国产视频一区二区三区在线免费观看 | 天天爽夜夜操| 91碰超| 丰满人妻-区二区三区免费看 | 国产AV人人夜夜澡人人爽麻豆| 成视频在线观看免费看| 中日韩免费看男女操逼大全| 久草精品一区 | 日韩中文字幕视频在线观看| 国产传媒av天美传媒在线| 91久久18禁| 性做久久久久久免费观看软件| 97综合久久| 色爽——AV| 爆乳免费黄网站| 精品一区二区人妖| 国产黄色视频久久| 婷婷色香伊人| 亚洲在钱| 老汉网| 麻豆2区1区天美| 乱伦日本色图AⅤ| 少妇一区二区三区| 欧美线天码中字| 天天α片| 亚洲国产综合久久天堂| 26uuu国产| 中文字幕一区二区韩| 91免费看一区二区三区| 超碰色老头| 午夜九九| 日本三级韩国三级美三级91| 极品粉嫩少妇视频| 麻豆AV一区二区| 国内外色色色色色成人视频| 午夜久久无码1000合集| 国产一区二区a毛片| 久久中文字幕不卡人妻| 又大又大又大又粗爽高潮观看| 午夜亚洲| 久久大香蕉97| 热G综合热G中文| 97久久国产亚洲精品超碰热| 成人精品欧洲亚洲| 熟女精品一区二区在线观看| 亚州综合AⅤ| 久久一区,青青青青草视频在线播放| 韩日精品四区| 97国产超湿| 亚洲一二三四区在线免费看视频| 日本综合久久| 国产 v乱码一区二| 丁香六月婷婷久久综合| 久久久久久大| 操淫穴亚洲五月丁香 | 综合五月天| 欧美高清色| 无码高清操逼网址| 色色五月丁香| 久久婷婷欧美| 午夜精品久久一区二区| 乱论91| 国产丝袜视频| 另类专区加勒比| 色姑娘综合网| 一级黄色牲爱A级片| 中文字幕在线观看丝袜| 一区二区三区蜜桃成人撸久久东京热| 精国久久一区二区三区98| 麻豆尤物视频网| 囯戸精品高潮呻吟旡码| 大香蕉97久久| 88在线一区二区三区| 一区二区三区免费视频入口| 欧美视频在线视频免费va| 亚洲日韩青青草色月| 亚洲无限观看| av天堂精品久久| 久久久国产精品人妻丝袜| 人人模人人看| 久久色一区| 青女偷拍网| av网页一区二区三区| 亚洲色图美腿丝袜| 超碰伊人在线| 国产97色在线| 亚洲国产精品久久久久婷婷青年| 亚洲激情深爱文学小说网站| 日本五十路熟女一区二区| 91jk色拍| 日小BB小视频| 男人久久精品| 亚洲AV噜噜狠狠网址蜜桃动漫| 精品视频123区小说区| 国产高清亚洲日韩一区| 色九九九九久| 国产在线综合网| 蜜桃视频精品一区二区三区| 中文字幕熟女人妻丝袜| 中文字幕加勒比海高清无码免费视频| 夜夜躁狠狠躁日日躁av| 中文字幕人妻丝袜| 久久狠狠色噜噜狠狠狠狠97| caorenqi shipin| 欧洲在线性爱视频| 超碰538| 亚洲中文日韩欧美大香蕉视频| 亚州色图欧美| 国产女人成人精品视频| 自拍偷拍 日韩欧美| 性爱AV天堂| 亚洲aV性爱| 91搡老女人老妇女老熟女歌词翻译| 中文字幕在线观看第二页| 成人性爱av.com| 亚州高清AV| 蜜臀AV一区二区三区激情综合| 中文字幕乱码人妻二区三区| 殴美色网| 噜噜噜久久亚洲精品色情| 日韩AV电影网站| 97视频免费播放| 91欧美成人色站| AV无码久久久精品| 口爆吞精在线观看| 久久久久久久综合,国产| 北条麻妃性愛视频| 欧美日韩人人精品| 中文字日本乱码| 一区| 欧美性综合| 老鸭窝成人| 校园春色 亚洲| 嗯嗯不要视频| 超碰免费人妻人人| 中文字幕高清精品一区| 国产狂喷潮在线精品| 免费1级a做爰片观看| 免费作爱一级视频| 91久久久久久| 青苹果影院男人的天堂| 性爱AV天堂| 加勒比99999| 91精品无码久久久久久久| 亚洲天堂人妻熟妇视频| 婷婷色播婷婷| 狠狠2050在线观看| 亚洲男人的天堂va亚洲男人社| 日本中文熟女视频| 黄页视频网站野外| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日韩在线电影| 亚洲婷婷综合网| 岛国艾薇凹凸视频天堂| www.婷婷| 日韩一级成人毛片免费观看| 久久久久久久性爱| 亚洲最新Av| 天美精品一区二区三区四区在线观看| 国产女人9999| 天天综合站| 日韩欧美午夜一区二区| 麻豆国产96在线| 免费看污网站| 校园春色亚洲| 91超级碰碰碰| 亚洲久草AV色图| 香伊人在线| 亚欧精品久久久久久久久久久| 91美女视频在线免费观看| 啊啊啊无码| 日韩三四五区| www欧美91| 久久99亚洲精品久久99果| 九七毛片九九毛片| 日韩精品一区二区日韩| 蘋果手機免費看成人Av| 黄色av网站在线播放| 美女人妻色网站| 欧美一二三级精品在线| 内射黑人| 亚洲乱伦图片视频| 九九热午夜欧亚国产视频| 精品午夜福利国产一区二区在线观看 | 两女互慰AV高潮喷水在线观看| 天天爱天天韩国日本牛牛牛牛| 999久久久久久久久| 9l视频自拍9l九色成人| 丝袜 中出 制服 人妻 美腿 中文字幕| 日本一级性爱| 欧美激情久操网| 人人污日韩一区二区| 美女操逼福利视频| 亚洲一区中文字幕| 熟女色综合久久| 97欧美色| 一级性爱视频免费在线| 色五天伊人| 国产精品一区二区黄片| 欧洲免费一区二| 亚洲导航深夜福利| 91美女小视频| 亚洲精品不卡一二三区| 99热精品在线在线| 强奸乱伦 亚洲一区| 国产熟女二区| 亚洲色系另类精品国产| 欧美在线l亚洲| 天天弄天天操| 国产精品96久久久久久| 国产AV高清AV无码| 精品综合久久久久久97| 亚洲一卡二卡在线免费| 午夜电影在线观看无码专区| www久| 中国女人内射6XXXXX| 18禁在线视频| 亚洲日本天堂| 天天日天天屌天天操| 亚洲人成色9999精品久久| 久久毛卡| 国产精品人妻无码久久久互動交流 | 欧洲亚洲天堂精品| 中文字幕日韩综合| 精品一级毛片在线观看| 啊啊啊啊在线播放| 精品久久久久黄少妇| 51一区二区三区| 九九九九免费| 人妻喷水| 免费国产| 精品国产污一区二区三区| www.91理论| 乱性AV| 国产精品操| AV男人天堂网| 久热久操| 日韩图区| 欧美精品双插| 中文字幕乱碼在线| 人妻嗯啊啊在线播放 | 在线观看中文字幕| julia国产在线| 清纯唯美综合| 亚洲毛片久久| 偷拍盗拍亚洲色图图片 | 影音先锋每日最新资源在线观看 | 岛国福利在线精品播放| 啊啊啊啊啊啊在线| 亚洲天天更新| 欧美97超碰| 欧美色性情| 97综合国产| 人人弄人人摸| 日本黄色精品专区网站| 手机午夜电影神马久久| 7777奇米影视久久| www.婷婷六月天| 日本一级二级三级网站| www.99热| 东京成人一区| 色97欧美| 欧美18 在线观看| 午夜精品久久久久久久久久蜜桃| 色天堂在线观看| 97亚洲色图| 欧美精品成人一区二区在线观看| 大香焦A片| 97精品综合久久| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 岛国色情视频在线观看| 综合欧美日本三级| 五十路人妻在线| 亚洲 无码 偷拍| 91亚洲黑人| 亚洲综合嫩| 深田咏美亚洲精品福利社| 欧美韩国你懂得在线 | 91精品老女人| 日本国产成人亚洲精品无码| 久久九精品| 国产高清免费不卡av| 大香蕉99热| 久久透逼视频| 91丝袜激情在线| 蜜乳av一区二区| 麻豆人妻偷人精品无码视频| 欧洲亚洲国产综合在线| 国产二区三区粉嫩在线| 精品人妻1区| 久久久久亚洲精品| 亚洲天堂AV在线播放| 亚洲天天精品| 曰韩无码777| 久久九色| 1204av韩国| 午夜福利视频在线一区| 色97干| 亚洲中文字幕噜噜噜久久久| 久操精品| 九色 蝌蚪 熟女自 | 亚洲男人的天堂一区二区| 天美精品原创av片国产| 亚洲自拍欧美国产首页网曝| a v网站在线播放| 极品人妻少妇综合| juliaann丝袜大战黑鬼| 国产成人在线观看综合| 人妻精品视频一区二区三区| 蜜乳av一区二区三区四区不卡| 久久天天艹| 黑人操一区二区| 国产后入清纯| 中文字幕诱惑制服人妻丝袜美丝袜美 | 成人精品久久| 中文熟女五十乱码在线| 国产麻豆一级精品视频| 蜜臀久久99精品久久久久| 少妇久久久免费| 丝袜喷水在线| AV九九| 在线看片国产精品每日更新| 26uuu久久| 91丝袜| 九九热只有精品| 青青草无码视频| 日韩懂色网| 中文字幕视频2区| 99999无码| 91精品电影18| 99综合免费视频| 屌逼麻豆| 免费看毛片操穴| 蜜桃久久综合视频| 超碰亚洲欧美日韩无| 五月天婷婷小说| 男人天堂2012| 超碰在线974| 天天综合影院91| 大香蕉伊在线久草麻豆天堂故事| 欧美色图天堂网m| 9超碰免费| 天天操人人操骚逼网站| 亚洲综合一| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 狠狠躁天天躁日日躁97| 亚洲精品熟妇1区2区3区。| 人人操人人操人人人操| 禁十八久久| 免费超碰97在线观看| 亚洲 欧美 小说| 黄色在线网站| 亚洲无套久久嗯嗯| 97精品国产手机| 蜜桃色院一区久久 | 韩国轻伦国内自拍一区| 97超碰国产亚洲精品| 国产日韩在线播放av| wwwxxx日本爽| 人人操人人摸人| 嗯啊不要在线| 极品白嫩福利在线| 精品网站9999| 丝袜熟女一区二区三区| 免费一级特黄特色大片在线观看看| 久久久久久久久久va| 伊人影院综合是一个与深夜成人在线| 免费一级毛片在线视频观看| 今日头条成人一区二区三区四虎精品| 爱爱久久| 日韩不卡网操逼中文字幕日韩| 国产黄片精品在线| 国产人伦a片信息免费片| 91neishe| 中文字幕人乱码中文字的预防方法 | 91久久国产精品| 国语精品av| 91无码西班牙视频在线| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 秋霞免费AV| 精品久久久久久久| 热久日综合| 99操99| 精品无码久久久久久久杏吧| 骚人妻少妇视频| 综合一区中亚洲国产成人综合精品| 超碰欧美97| 在线小说视频一区| 动漫片子网站3黄| 大屁股xxxxx| 操逼视频国产无套| 亚洲图片欧美偷拍| 中文在线视频| 色综合潮| 国模精品一区二区三区苹果色戒 | 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 日本大片日本一区二区免费高清| 久艾草在线精品视频在线观看| 天美av在线| 久久大线蕉一区| 蜜臀久久久久久999| 女人午夜视频777| 亚洲精品免费中文字幕| 日本久久超碰| 亚洲素人综合| 激情黄色五月天| 9 7超碰在线免费观看| 天天色粽合合合合合合合| 强奸乱伦麻豆| 国产精品成人久久一区二区三区| 999精品乱码| 亚洲精品蜜桃久久久| 超碰午夜| 91精品婷婷国产综合久久竹菊| 91N欧美| 97色婷婷| av国产无码| 久久久久成人亚洲国产| 日本 色 导航| 爽极品影院| 国产精品爱欲| 婷婷伊人五月| 国产精品免费久久久久久久久久| 91人人操| 97综合在线| 69一区二区| 亚洲图片欧美| a级免费在线观看| 少妇综合网| 69一区二区三区| 精品欧美乱码久| 校园春色 欧美| 91亚洲色图| 丰满人妻区一区二区三| 中文字幕欧美丝袜07资源| 我要色综合网| 午夜性生活av免费在线看| 校园春色综合网| 啊啊啊啊啊啊在线观看| 久操电影| 久草尤物| 精品视频免费在线一区| 嫩呦国产一区二区三区AV| 中文字幕精品一区二区精| 成人性爱美曰韩| 亚洲色诱惑| 亚洲宅男天堂| 色女99一级片在线观看| 精品国产国产AV| 天美一区在线| 91久久国产精品| 97天天综合| 国产一区二区成人av在线播放| 人妻干天天| 亚洲成?V人片在线观看福利| 韩国一级婬片A片AAAAA| 天天做天天爱天天高潮| 超碰97资源中文字幕| 日本中文字幕一区| 国产嫩草精品A88AV| 日韩欧美加勒比| 都市久久精品激情亚洲| a级成人毛片免费视频高清| 欧美成人精品A片免费一区99| 久妇网| 国产亚洲日本| 青青草大香蕉视频| 综合伊人激情| 成人国产精品三级A片| 欧美专区第一页| 久久综合久色欧美综合狠狠 | 91劲爆| 欧美 亚洲 在线| 色操逼网| 97操碰| 骚熟女吞| 精品国产AV一区天美传媒| 自拍偷拍第26| 国模少妇一区二区三区| 久jiu久神马影院| 精品美女人人干| 亚洲不卡三级手机播放| 唐山老熟妇露脸啪啪叫| 色嘟嘟人妻天堂网| 中文欧丝袜诱惑| 午夜国产成人精品视频| 免费的黄片wwwwww| 日日干日日操五月天伦理视频| 一区二区三区在线日韩影院观看| 少妇久久久久| 天天躁日日躁XXXXYY| 91中文精品日韩欧美在线| 密臀在线视频| 岛国毛片手机在线观看| 91蜜臀在线久久久久| 手机av亚洲丝袜美腿日韩第一页二页| 国产精品操| 日韩AV熟女乱伦| 天天天天做夜夜夜夜做| 欧美加勒比| 欧美网站免费| 丝袜美女诱惑 91 视频| 午夜国产成人精品视频| 任你草| 久久久神马影院| 精品亚洲一区在线观看| 啊啊啊操一区| AV中文字幕三四五| 日逼国产| 国产免费久久精品99re韩国| 日韩欧美亚洲自拍偷拍| 国产乱码久久| 易易A毛视频| 亚洲高清无码免费观看视频| 日本精品久久久久久久| 亚洲成aⅴ人片不卡无码| 色女网日韩| 亚洲AV无码乱码| 日日狠狠久久偷偷色综合免费| 久久熟女精品不卡一区| 国产自产自拍| B049AV在线播放| 18禁中文字幕| 91五月天| 国产美女口爆吞精视频| 99热亚洲天堂| 97在线视频观看| 色综合一区二区三巨| 中文字幕在线免费观看| www色色com| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 日韩人妻资源在线看| 综合欧美色图| 五月婷婷五月天| 人妻丝袜一区二区三区在线| 免费观看欧美日韩操逼视频| 97伊人网| 麻豆亚洲Av成人无码一区精品| 91色宗合| 91色碰| 91亚州| 久久伊人在线五区| 国产婷婷综合在线观看| 九九夜精品九九在线| 家庭乱伦国产| 国产视频第2页| 牛牛aV| 少妇的嫩逼图片| 夂久色| 国产操逼网站亚洲一级黄色| 中日韩久久人妻一区二区| 久久亚洲欧美中文字幕国语| 欧美91久久久久| 岛国成人av在线播放网址| 天堂性色| 久久久999网站| 日本成人A片免费看| 亚洲日本大香蕉1| 先锋精品av色鲁| 国产精品高潮呻吟av久久4虎| 四季AV一区二区凹凸精品小说| 欧美丝袜制服久久| 东京太热男人的天堂久久久| 九九热九九热| 思思热免费在线视频| 超碰在线综合97| 青草青青久久久久久国产| 亚欧免费| 91操熟女视频| 97精品国产97久久久久久免费| 天天色天天干天天爱| 青青久日| 男人下部插入女人下部 | 中字一区| 精品丰满人妻一区二区三区免费观| 欧美极品美女aaaaaa级黄片| 中文字幕女同在线| 这里只有精品视频| 国产成人99久久亚洲综合| 狠狠97| 操美女人妻| 人妻少妇av在线观看| 日日干天天干夜夜爽| 男人的天堂无码| 美女露胸露尿口| 天天看,天天做| 91国产操逼视频| 亚洲色欧| 日韩钢筋无码高清啾啾啾| 一区二区三区机械有限公司| 98人妻精品一区二区色欲| 日本精品成人无码| 97视频网站| 夜夜嗨老熟女AV一区二区三区| 99re6久热只有精品6在线直播 | 免费观看日本操逼视频| 日日爱99| 操老熟女AV| 暖暖精品二区三区观看| 国产情侣自拍在线播放| 92性色国产午夜福利在线661| 欧美日韩小说| 久草草一二三四区久久| 久久久久久久久久久久久9999| 无码在线亚洲| 性暴力欧美猛交在线直播| 粉嫩av一区二区三区天美传媒 | 精品制服美女中文一区二区三区| 爱干爱射网啊啊啊| 91视频国品一二三区| 成人三级片无码| 眼镜人妻101.com| 久久精品| www欧美91| 大白逼三四级| 亚洲国产丝袜在线观看| 欧美日韩免费专区在线| 精品久久久无码| 久久久久人妻| 国产精品自产拍在线观看社区| 国产日韩区| 天天色天天干天天爱| 日本孕妇一区二区视频操逼免费看 | 免费成人在线熟妇网| 国产精品乱码久久久久久久久久久久| 99热综合| 91中文在线| 色播综合| 色色综合网站| 欧美日韩性爱视屏免费看了| 免费啪啪一级视频| 欧美日日操| 超碰人妻天天干| 亚州一区二区成人片免费| 欧美五十路熟| 国产强奸91| 免费观看国产不卡av| 91人妻精华帖| 亚洲国产成人福利在线观看| 一类av片在线看| 啪啪免费| 91操人| 国产黄色av大片网站| 国产精品香蕉热久久新品| 无码日韩人妻av一| 日本在线不卡v二区| 91天堂色男人的天堂| 成人三级片无码| 99久久九九|