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

電話機器人團隊DDD實踐

人工智能 機器人
DDD是一套方法論,一套思想。種類繁多的元模型和名詞概念。其本質都是指導思想對應的解決方案“之一”,初學者容易被表象所困。

簡介 

DDD是一套方法論,一套思想。種類繁多的元模型和名詞概念。其本質都是指導思想對應的解決方案“之一”,初學者容易被表象所困。應始終清醒保持認知“DDD各種元模型都是為解決實際開發中某類問題而起”。在接觸各類元模型時應結合自身業務面臨問題來求證,這樣有助于避免被概念表象所困,回歸解決問題的本質。

 背景 

數據架構團隊從18年開始,受業務需求驅動開發電話機器人,轉眼已近5年。目前,在該平臺下已搭建100+不同類型機器人,為公司經銷商、二手車、主機廠、金融等多個BU業務提供外呼能力,日外呼量幾十萬通。電話機器人項目已初具規模,但過程中也遇到不少挑戰。為了應對這些挑戰,我們團隊最終采用DDD思想進行重構和開發。

在應用DDD的過程中,數據架構團隊落地了一些自己的開發規范。這里就把一些經驗和想法分享給大家,希望能起到拋磚引玉作用。這里解釋一下,篇幅中很多元模型沒有展開講,也沒有給出具體案例。一是考慮到篇幅長度問題。二是理解了DDD思想,結合各自業務來實現就好了,給出在我業務的例子意義并不大。此外這類案例很容易找的到。同時,覺得給出我們團隊遇到的問題、解決方案,落地過程和我們形成的開發規范對大家來說更有價值。對DDD感興趣,想了解更多或對本文有疑問的同學,歡迎找我交流討論。

下面,我從這幾個部分來進行分享:機器人項目中遇到的挑戰、為什么是DDD、DDD落地步驟、對團隊帶來的提升、理論到實戰遇到的沖突以及未來在DDD應用方面的改進和總結。

 1.遇到的挑戰 

挑戰一:業務邏輯復雜度高。隨著各類業務的接入,為應對不同場景下的特定業務,不斷追加新邏輯。

如:流程中的意圖識別邏輯。

意圖識別需要依賴AI的多個模型識別,多個模型識別出來的意圖有可能是沖突的,需要對沖突的意圖配置規則做取舍。同時,對一些冷啟動或者緊急優化的場景,需要支持通過配置規則實時生效的方式來意圖識別。并且在規則的意圖識別中需要支持匹配詞槽。詞槽的類型又有多種,從優先級上區分有場景的全局詞槽、流程上的詞槽。從數據識別來源上區分,可以分為AI識別出來的,詞典規則匹配出來的,還可能是業務方傳遞進來的。業務開展一段時間后,不同類型的詞槽又增加不同屬性,如車系的詞槽有本品、經營范圍、非經營等等;

 挑戰二:代碼架構結構不清晰。隨著業務需求功能的追加,伴隨著代碼規模增大。加之邏輯復雜和團隊開發人員代碼迥異,逐漸導致各種邏輯邊界變得混亂。

如:我們通常的開發方式,按功能模塊拆解,業務流程串聯協調各個模塊,共同完成業務需求。但是處理這類業務復雜的邏輯,這種方案設計有很大的弊端,模塊邊界很容易被穿透。

各模塊關系相互調用,原本作為模塊的隔離設計,實際在實現過程被完完全全的打破了。使原本理想中垂直拆分的模塊,變成網狀的結構。

模塊負責人中間環節開發出來的的屬性或方法,被外部其它模塊外依賴導致功能發散出去。導致后期需求變動時風險增加,又或是發現被依賴了原本可以隨意更改的方法不能變動,不得不增加額外邏輯代碼來實現。造成了本就復雜的代碼更加復雜。

對業務需求拆解不合理,需求功能在實現時就近開發,未嚴格按照模塊拆解,缺少統一思想作為指導。

挑戰三:產品需求多,難以辨別是否有真實價值。

挑戰四:邏輯變化快,不少需求導致需要代碼邏輯重新設計。

挑戰五:業務多,各業務表述不一致,溝通成本高。

垂直邊界被打破,代碼復雜度增加,加上業務流程頻繁調整。這些多重維度相互疊加,使得開發和維護難度指數增加。電話機器人這個一級應用系統的穩定性難以保障。即便技術同學都是資深的工程師,已經按照所能理解的微服務思想設計、按照模塊拆解項目,即便代碼邏輯中已經也引用不少設計模式來構建與擴展,即便已經是接入了公司各個平臺質量工具、寫了不少單元測試。但是在項目新需求迭代時,依舊出現不少“驚喜”,使整個團隊很頭疼。

2.為什么是DDD

為什么是DDD?每天那么多技術棧,那么多思想,為什么就是DDD來應對呢?首先DDD修飾的很好“軟件核心復雜性應對之道”,使得不少人想一探究竟。所以來看看DDD是怎么來解決項目中遇到的挑戰。

首先,我們來看看DDD對復雜度的歸類,弄明白DDD要應對的復雜度是否是我面臨的挑戰。DDD相關資料中,從理解能力和預測能力兩個維度來探索剖析復雜度的成因。

理解能力(就是軟件系統對開發人員來說復雜難以理解):

第一規模:影響理解能力的第一要素。幾百上千萬行的代碼,各需求點的關系相互影響。修改一處就會牽一發動全身。

第二結構:不合理甚至混亂的結構,導致開發人員對功能難以維護。

預測能力(就是業務的發展難以預測):

當需求變化時,難以預測軟件實現的走向,會出現過度設計和設計不足問題。過度設計,預留了很多接口,構造了很多模式增加了代碼的實現復雜度,但后來發現用不到。設計不足,需求的實現沒考慮到后期的發展,當變化來臨時需要推翻現有設計重新開發,被產品抱怨設計能力差。

DDD對復雜度的成因歸結為:規模、結構、變化;規模和結構制造了理解能力障礙,變化制造了預測能力障礙,兩者相加形成了復雜度問題。

 其次,DDD并不僅僅是對代碼設計階段的理論,而是還包含從需求分析、架構映射和建模及實現的全流程設計指導。

需求分析階段,通過相關指導思想提前準確獲知業務價值,捕獲未來變化方向。架構映射階段,給出從需求到架構過程的指導思想,增加了設計權重和規范。通過子領域拆分、系統分層和限界上下文業務歸類,給出指導規范,保障了系統架構的清晰,并且降低系統復雜度。建模及實現階段,給出來領域驅動設計相關元模型,使各部分職能分工明確,快速響應業務需求和未來功能變化。

再次,來看DDD給出的指導思想:

規模問題:拆邊界。以子領域、限界上下文對拆解分治。

針對分治思想,DDD給出兩個重要的設計元模型:限界上下文和上下文映射。

結構問題:分層架構+限界隔離。

分層起到了隔離業務邏輯和技術實現復雜度問題。DDD引入的分層架構,將業務邏輯封裝到領域層,支撐業務邏輯的技術實現放到基礎設施層。在領域層之上的應用層封裝應用服務,粘合二者進行協作。

變化問題:主動設計變化。

變化無法控制,只能擁抱變化。需求分析階段運用5W思維識別變化規律,把控業務變化。DDD通過模型驅動設計元模型對限界上下文進行領域建模,形成結合分析、設計和實現一體的領域模型。

最后,來看DDD給出的解決方案。其引入了一套提煉為模式的設計元模型,對業務軟件做到了對規模的控制、結構的拆分以及變化的主動響應。

圖片

 簡單介紹下這張圖,整體分為兩個大部分。第一部分是下面虛線圈出來的部分,不涉及具體技術實現。在需求分析階段進行的,應對問題空間的一些元模型方案。另外部分,在第一部分的基礎上,做具體系統架構分層、對象抽離聚合、服務拆解環節,這個階段做對應的設計落地。

我的理解是這樣,這套設計元模型給出了從需求分析、設計和實現一體整套解決方案。需求分析階段的系統拆解(對應圖中子領域元模型)。再拆到更新粒度的限界上下文。并給出各限界的協同關系方案(對應圖中上下文映射元模型)。設計實現階段給出模型驅動設計的設計元方案,通過系統的分層架構、領域服務、聚合等粒度的設計。給出一套完善的、有理論支撐的、可落地有標準的解決方案。

上述DDD對問題復雜度的剖析定位,完全就是電話機器人系統中的痛點。給出的解決方案,也完美解決業務面臨的各類挑戰。認識到其價值后,團隊很快達成共識在后續的項目中進行落地。

3. DDD落地步驟 

元模型細節、業務限界的拆解不展開講了,直接給出我們團隊實戰中的步驟和產物。

3.1第一步預研階段

這部分我們的經驗是團隊中有人充當先行者,先花費精力做深入學習DDD相關理念,然后同步到整個團隊。就我們團隊來講,調研階段時間比較零碎不好評估用時多久,團隊科普階段前后4次用時8小時。之后,團隊內同學在有概念指導的基礎上,已具備快速深入學習能力。并組織團隊成內相互探討印證理解。

3.2第二步引入指導思想和落地規范

 3.2.1 需求分析階段引入5W模型理論支撐,有助辨識出真實需求,主動把控變化方向和排除無意義需求。

這部分就是5W理論作為跟產品分析需求的理論的支撐,非常有助于識別出真實的需求,更好的分析出業務的發展方向。也能從源頭上縮減無效需求,直接上圖;

圖片

3.2.2 引入服務規約,以文檔型對照代碼業務功能實現。有助于開發及后續需求梳理,同時也能作為單元測試覆蓋度的考量。

  • 3.2.2.1 團隊成員共識,需求先寫服務規約,再做開發。寫服務規約的時間,其實就是技術對需求理解的梳理,理清了思路,后續寫代碼時把這部分時間賺回來。
  • 3.2.2.2 服務規約及需求,服務規約即對應單測。順帶解決了先前單測沒有標準(我理解的代碼、方法覆蓋率這類,不能稱作為標準)的問題。

這里給出我們團隊采用的服務規約模板:

編號:標記業務服務的唯一編號。

名稱:動詞短語形式的業務服務名。

描述:

         作為<角色>

         我想要<服務功能>

          以便于<服務價值>

觸發事件:

角色主動觸發的該業務服務事件,可以是點擊UI的控件、具體的策略或伴生系統發送的消息等。

基本流程:

用于表現業務服務的主流程,即執行成功的業務場景。也可以稱之為“主成功場景”。

替代流程:

用于表現業務服務的擴展流程,即執行失敗的業務場景。

驗收標準:

一系列可以接受的條件或業務規則,以要點形式列舉。

3.3第三步確定架構方案

學習DDD中模型驅動設計元模型的方案。主要是劃分職責邊界,也就是限界上下文,達到從傳統網狀結構關系變為垂直切分關系,減少彼此依賴。整體采用限界上線文拆解加菱形驅動設計,形成整體思想指導。系統采用分層架構 COLA 4.0

圖片

3.4第四步共識命名標準形成團隊編碼規范

 團隊內共識包命名、類命名、出參入參的消息契約等規范。這里想說的是參考標準就是沒有標準。希望大家先能理解DDD思想,然后參照學習業內共識性高的命名方案。同時需要兼顧團隊內成員編程風格喜好,最終來制定自己團隊的編碼規范。

圖片

依我們入參、出參消息命名來舉例。綜合各方考量,并沒有采用上圖粒度特別細的命名方式。而是團隊內簡單共識為入參*request,出參*reponse命名標準。

3.5第五步結合業務特征識別出限界上下文

 基于DDD思想,對業務進行事件風暴,在統一語言的指導下做全局需求分析、架構映射設計,識別出業務的限界上下文。

技術同學結合自身業務來設計,參照Demo資料還是比較容易找的到,這里不再贅述。這里給出識別限界上下文的一個指導過程,V型映射過程。

圖片

3.6最后進入建模的實現階段

建議采測試驅動開發的方式進行編碼,即用紅綠黃驅動;

圖片

該方式遵循其三定律,這樣能改善對需求的設計不足和過度設計問題。

定律一

一次只寫一個剛好失敗的測試,作為新加功能的描述。

定律二

不寫任何產品代碼,除非它剛好能讓失敗的測試通過。

定律三

只在測試全部通過的前提下做代碼重構,或開始新加功能。

4.對團隊帶來的提升

4.1被動接收需求到主動應對

 需求分析階段,運用5W原則。剖析需求的合理性,能主動把控項目的變化方向。解決“挑戰三”對需求價值辨別和改善了“挑戰四”的把控業務發展變化方向。

4.2降低溝通成本

運用統一語言思想溝通,降低“挑戰五”的各個環節的協作成本。

4.3架構設計提升

通過設計元模型的子領域模型、限界上下文合理拆解代碼規模。通過DDD的分層思想,隔離業務邏輯與技術維度復雜度,清晰代碼結構。同時項目采用菱形對稱結構,通過南北向網關與外部交互,避免了模塊的網狀情況滋生。解決了“挑戰二”問題和降低了“挑戰一”復雜度問題。

4.4技術實現提升

團隊在開發業務功能時,會考慮需求放到那個限界合理。實現過程會考慮放到領域層還是業務服務層,功能的實現上采用貧血模型還是充血。

4.5 文檔規范提升

文檔規范上,引入服務規約機制。既能作為梳理需求的工具,又能作為單測的依據。同時還為后期提供了服務說明的文檔。

4.6代碼實現提升

代碼實現上,從架構到編碼實現、命名,形成了一套有標注的規范。

總的來說,該模式下,團隊的思維方式發生了轉變。通過應用各類元模型,來應對從需求分析到系統架構、代碼實現不同環節帶來的挑戰。

 5.理論到實戰遇到的沖突 

5.1貧血模型 PK 充血模型

 貧血模型:通俗來說,就是domain object只有屬性的getter/setter方法的純數據類,業務邏輯和應用邏輯都放到服務層中,這種模型下的domain object被Martin Fowler稱之為“貧血的domain object”。

充血模型:反之,充血模型中不僅包含了對象的屬性,還包含了對象的行為,包括業務邏輯。

從面向對象角度分析,對象是包含屬性和行為的,理應是使用充血模型,并且DDD原則上也是建議采用充血模型。但落地到具體開發現狀,即便是貧血模型有很多問題,但業內存在這么多年、運用這么普遍,總歸是有其存在的價值。加上JAVA應用大部分采用Mybatis技術棧,很多對象是插件自動生成的貧血實體。所以問題來了,采用充血模型意味著一部分便利工具的廢棄。這個問題團隊內分歧比較大。最終我們的方式是這部分不做硬性標準,但建議使用充血模式。

5.2嚴格遵守數據轉換約束  

PK 精簡提效的外部數據直接使用

在DDD的思想中,為了確保領域服務的可靠性。要求領域服務依賴的數據為領域內的實體、聚合數據,不允許直接使用外部的消息鍥約數據。對應到菱形對稱架構的南北向網關獲取數據的轉換,會帶來額外的工作量。有團隊同學建議某些相對穩定的結構可以不遵守該原則,理由是能提高開發速度,且認為可能90%的數據都是如數據庫這類結構較為穩定的資源。但最終團隊內還是嚴格要求遵守該指導思想。

5.3緩存處理允許共享 PK 限界隔離

同一系統不同限界中緩存處理:允許共享 PK 各限界隔離。

就當時場景來看,允許共享短期內能減少部分工作量、節約資源等優勢。但之所以要劃分限界,就是為了拆解關系防止過大。這里給到的建議是,首先考慮共用數據的服務是不是合并為一個限界比較合理。如果不能合并,必須隔離數據。

5.4服務規約對照需求的前端 PK 后端

 指導理論思想很美好,需求分析時要求屏蔽技術實現思維。但終歸是要落地到技術棧的,落地到技術實現時就會受技術實現的干擾。當時比較突出的一個問題,功能的實現可以放到前端,也可以后端服務實現。

舉例一:需求要求“id+名字”組合展示,但是后端接口返回的id、名字兩個字段,實際前端技術棧來組合,那面向前端與后端的服務規約不一致。

舉例二:需求要求驗證參數非空。在一些內部系統中,我們團隊技術都是前后端全棧工程師,分工按需求模塊開發。往往不會特別嚴謹到兩端都做驗證。也導致服務規約面向哪端有沖突。

我們最終的取舍:團隊采用面向后端服務層面。但同時做一些改進,如驗證這類功能轉移到接口層面來實現。

5.5誰來確保服務規約編寫是否正確產品PK 技術

 最開始階段理想狀態是由需求側產品來核驗,本著誰的需求誰確認原則。但由于存在4.4的差異問題,我們實際落地是由技術負責人來審核。

6.未來在DDD應用方面的改進和總結

DDD的應用,團隊目前做到了從架構和規范上面進行落地。但一些細節如:聚合類、實體、值對象這些設計,并沒有特別精細。后期會進一步推進在這些細粒度上面的改進。同時,對一些在用的老項目,按照DDD思想進行改造重構。

有人認為應用DDD會降低開發效率,這個也是很多團隊的一個顧慮。我們是這么看待這個問題的,應用DDD的場景是解決復雜性業務問題的,確實是會增加代碼量。但不等于降低開發效率。清晰的架構結構、聚合的領域服務和規范的標準,對后期需求升級、代碼維護、復雜度控制帶來的收益,遠大于投入。并且,軟件行業給出的數據,80%的時間是在需求分析和設計,開發時間只占到20%。因此這部分損耗不是重點。

最后,陳述一下使用DDD的感受。DDD各種元模型種類繁多,大家可以根據業務面臨的痛點有目的來學習和采用。在實際的業務環境中,我們的領域模型或多或少的都有一定的“特殊性”,如果100%的要符合DDD規范可能成本會比較高,所以最主要的是理解DDD思想,最終選擇合適自身業務的方案。

作者簡介

圖片

李曉華 

  • 經銷商事業部-經銷商技術部。
  • 2016年加入汽車之家,目前任職于經銷商數據架構組團隊,負責電話機器人項目。
責任編輯:武曉燕 來源: 之家技術
相關推薦

2019-12-12 14:30:15

智能一點智能導購對話機器人

2020-10-19 17:41:59

華為云AI機器人

2019-09-19 16:35:50

華為

2021-07-19 09:11:05

機器人人工智能算法

2020-06-09 10:51:42

人工智能

2017-03-28 17:18:20

2021-07-21 17:24:28

OpenAI機器人AI

2009-04-07 08:26:52

AndroidGoogle移動OS

2020-10-15 15:42:00

人工智能

2021-02-15 15:17:15

人工智能機器人技術

2018-03-20 13:32:16

深度學習機器學習人工智能

2021-07-22 10:17:55

加密機器人加密貨幣機器人

2021-08-19 15:44:20

機器人人工智能機器學習

2015-07-28 09:36:11

機器人

2022-05-20 13:47:47

黑客網絡攻擊

2021-10-09 11:54:46

DDD微服務業務

2021-07-07 17:59:22

AI

2018-03-28 16:48:12

深度學習

2015-12-10 21:49:32

IM機器人
點贊
收藏

51CTO技術棧公眾號

欧美色图一区二区| 日韩一级片播放| 亚洲av无码乱码在线观看性色| 亚洲小说区图片区| 亚洲精品日韩欧美| 亚洲77777| jizz性欧美| 91蝌蚪porny成人天涯| 国产免费一区二区三区在线观看| 国产一级一级片| av在线不卡顿| 精品福利在线导航| 奇米视频888| 538在线视频| 国产精品入口麻豆原神| 国产主播一区二区三区四区| 中文字幕一区二区免费| 99精品国产在热久久下载| 中文字幕精品在线视频| 看全色黄大色黄女片18| 男女啪啪999亚洲精品| 亚洲成av人片一区二区梦乃| 一级做a爰片久久| 深夜福利在线看| 国产一区二区三区av电影 | 欧美精品777| 国产极品尤物在线| www久久日com| 中文字幕精品一区二区精品绿巨人| 国产精品免费看一区二区三区| 中文字幕在线视频免费| 美女久久一区| 国内精品久久久久影院优 | 免费a在线观看| 国产成人av一区二区三区在线 | 国产精品乱码一区二区| 久久亚洲精品伦理| 欧美亚洲在线播放| 亚洲一区 视频| 欧美日韩视频一区二区三区| 久久精品国产亚洲一区二区| 91视频免费在观看| 在线看成人短视频| 精品亚洲一区二区三区在线观看 | 亚洲欧美偷拍卡通变态| 天堂av一区二区| 美丽的姑娘在线观看免费动漫| 国产成人丝袜美腿| 91久久国产综合久久蜜月精品 | 亚洲大胆人体在线| 精产国品一区二区三区| www一区二区三区| 欧美日韩aaaaa| 中国黄色片免费看| 久久91视频| 欧美日韩一级视频| 亚洲一区日韩精品| 日韩精品一级毛片在线播放| 欧美三片在线视频观看| 艹b视频在线观看| 成人国产激情在线| 欧美日韩一区二区三区高清 | 一区二区三区久久精品| 中文幕无线码中文字蜜桃| 精品亚洲自拍| 亚洲国产美女精品久久久久∴| 97精品人人妻人人| 欧美成a人免费观看久久| 精品国产乱码久久久久久久| 国产+高潮+白浆+无码| 欧美性生活一级片| 亚洲精品久久久久中文字幕二区 | 99国产成人精品| 国产伦精一区二区三区| 国产伦精品一区二区三区视频孕妇| 熟妇高潮一区二区三区| 久久久亚洲综合| 日韩资源av在线| 免费黄网站在线播放| 一区二区三区蜜桃网| 老司机激情视频| 超碰一区二区| 欧美日韩一区不卡| www.com日本| 中文字幕亚洲影视| 日韩在线小视频| 欧美成欧美va| 久久av在线| 成人女保姆的销魂服务| 熟妇人妻中文av无码| 亚洲国产高清aⅴ视频| 色哺乳xxxxhd奶水米仓惠香| 97天天综合网| 欧美亚洲国产一区二区三区va | 精品少妇一区二区三区在线| 成人免费在线观看视频| 日韩欧美123| 中文字幕av网址| 亚洲一本二本| 日本aⅴ大伊香蕉精品视频| 国产一区二区麻豆| 91一区一区三区| 一区二区三区四区五区精品| av电影在线免费| 欧美无砖砖区免费| 国产精品久久久久久在线观看| 狠狠做深爱婷婷综合一区| 欧美成人三级视频网站| 日韩 国产 欧美| 国产成人av资源| 亚洲午夜在线观看| 91在线超碰| 欧美剧情片在线观看| 亚洲天堂网一区二区| 亚洲色图插插| 国产精品xxxxx| 好吊视频一二三区| 亚洲色图丝袜美腿| 国产又黄又猛又粗又爽的视频| 超碰在线成人| 久久视频在线播放| 亚洲精品毛片一区二区三区| av一二三不卡影片| 免费日韩在线观看| 国产精品久久乐| 亚洲欧美另类自拍| 日韩女同强女同hd| 国产成人综合精品三级| 亚洲精品在线观看免费| 亚洲妇女成熟| 亚洲国产日韩欧美在线99| 丝袜 亚洲 另类 欧美 重口| 日本欧美一区二区三区| 欧美国产综合视频| 密臀av在线播放| 日韩精品一区二区三区三区免费| 三级黄色录像视频| 麻豆91在线看| 亚洲欧美在线网| se69色成人网wwwsex| 日韩高清a**址| 日本少妇xxxx动漫| 成人av免费网站| 亚洲精品无码国产| 国产一区福利| 久久久之久亚州精品露出| 成 人 免费 黄 色| 一区二区三区在线观看动漫| www.cao超碰| 香蕉av一区二区| 91精品综合久久久久久五月天| 日本高清视频在线观看| 欧美日韩精品一区二区天天拍小说 | 高清av一区| 一区二区三区在线播放欧美| 波多野结衣在线观看一区| 久久久久88色偷偷免费| 久久午夜夜伦鲁鲁一区二区| 国产欧美日韩精品高清二区综合区| 欧美在线亚洲在线| 成人77777| 欧美日韩一二三| 多男操一女视频| 久久99精品久久久久久国产越南| 一区二区精品在线观看| 国产一区二区三区黄网站| 久久成年人视频| 亚洲精品成人区在线观看| 精品国产户外野外| 少妇真人直播免费视频| 免费在线观看精品| 亚洲天堂av免费在线观看| 日韩第一区第二区| 91精品国产99久久久久久| 暖暖视频在线免费观看| 欧美亚洲高清一区二区三区不卡| 欧美成人777| 国产.精品.日韩.另类.中文.在线.播放 | 国产黄在线看| 欧美日韩在线精品一区二区三区激情| 色婷婷粉嫩av| 成人看片黄a免费看在线| 成熟了的熟妇毛茸茸| av亚洲免费| 成人av电影免费| 97成人资源| 九九热视频这里只有精品| 亚洲aaa在线观看| 欧美日韩一区 二区 三区 久久精品| 欧美成人一二三区| 久久久久久夜精品精品免费| 天堂av手机在线| 校园激情久久| 日韩人妻一区二区三区蜜桃视频| 色狼人综合干| 91人成网站www| 看黄在线观看| 久久国产精品久久国产精品| 日本大片在线观看| 91精品国产免费| 国内精品福利视频| 亚洲男人的天堂一区二区| 男生裸体视频网站| 国产在线视频精品一区| 日av中文字幕| 国产精品99一区二区| 五月天亚洲综合小说网| 91久久精品无嫩草影院| 国产精品久久一区主播| 牛牛精品一区二区| 久久久精品一区二区三区| 嫩草在线播放| 精品处破学生在线二十三| 影音先锋国产在线| 午夜精品久久一牛影视| 青草草在线视频| 欧美国产在线观看| 熟女俱乐部一区二区视频在线| 国产麻豆欧美日韩一区| 欧美成人三级在线播放| 国产精品毛片在线看| 国产制服91一区二区三区制服| 不卡视频在线| 日韩免费毛片| 亚洲色图美女| 国产在线精品一区| 大奶在线精品| 超碰97在线资源| 亚洲伦理网站| 国产日韩欧美中文在线播放| 亚洲一二三四| 欧美在线视频观看| av资源在线播放| 欧美日韩成人精品| 国产原创在线观看| 久久精品色欧美aⅴ一区二区| av网站在线播放| 亚洲男人的天堂在线播放| 亚洲aⅴ乱码精品成人区| 精品成a人在线观看| 狠狠人妻久久久久久综合麻豆| 欧美一级二级三级蜜桃| 国产老妇伦国产熟女老妇视频| 欧美四级电影网| 午夜视频网站在线观看| 在线观看91精品国产入口| 四虎精品永久在线| 一本久道中文字幕精品亚洲嫩| 日韩精品视频播放| 午夜视频一区在线观看| 国产精品美女毛片真酒店| 亚洲无人区一区| 国产精品变态另类虐交| 午夜欧美一区二区三区在线播放| 中文字幕一区二区三区手机版| 亚洲成人中文在线| 亚洲一区欧美在线| 狠狠躁夜夜躁人人躁婷婷91 | 久久香蕉av| 午夜精品一区二区三区在线播放| 黄色18在线观看| 欧美最猛性xxxxx亚洲精品| 丝袜美腿诱惑一区二区三区| 国产精品国产福利国产秒拍| jizz亚洲女人高潮大叫| 国产玖玖精品视频| 亚洲视频三区| 国内一区在线| 国产乱码精品一区二区亚洲| 亚洲欧美丝袜| 国产精品www.| 亚洲乱码中文字幕久久孕妇黑人| 爽爽淫人综合网网站| 午夜剧场高清版免费观看 | 色呦呦一区二区| 久久久国际精品| 亚洲熟女少妇一区二区| 亚洲一区二区三区在线播放| 久久黄色精品视频| 欧美日韩中文精品| 性少妇videosexfreexxx片| 亚洲国产天堂久久综合| 国产精品免费观看| 色综合久久中文字幕综合网小说| h片在线观看视频免费免费| 日韩女在线观看| 国产日韩中文在线中文字幕| 精品国产乱码久久久久久久软件| 欧美三级美国一级| 亚洲色图都市激情| 久久视频一区| 国模大尺度视频| 久久久激情视频| 印度午夜性春猛xxx交| 日韩人在线观看| 国产欧美一区二区三区视频在线观看| 亚洲精品国产拍免费91在线| 国产黄网站在线观看| 欧美一区二区三区图| 免费看日产一区二区三区| 久久精品中文字幕一区二区三区| 天天天综合网| 热久久精品国产| 粉嫩久久99精品久久久久久夜| 亚洲午夜精品久久久久久高潮| 一区二区三区毛片| 亚洲香蕉在线视频| 精品亚洲精品福利线在观看| 超碰免费在线播放| 国产精品入口日韩视频大尺度| 国产精品色在线网站| 亚洲一区bb| 久久久久久久欧美精品| 无码人妻一区二区三区精品视频| 亚洲国产精品高清| 久久国产精品系列| 精品国产免费久久| 麻豆传媒视频在线| 国产精品一区二区久久| 亚洲区小说区图片区qvod| 日韩美女爱爱视频| 国产在线视频一区二区三区| 欧美人与禽zoz0善交| 色噜噜狠狠色综合中国| 蜜臀av免费在线观看| 美女少妇精品视频| 婷婷久久综合九色综合99蜜桃| 日本午夜精品一区二区三区| 一区二区三区导航| 亚洲av无码一区东京热久久| 亚洲靠逼com| 国产又爽又黄又嫩又猛又粗| 一本色道久久综合狠狠躁篇怎么玩 | 四虎成人在线播放| 国产精品福利av| 中文字幕视频二区| 伊人久久久久久久久久久久久| 国产免费拔擦拔擦8x高清在线人| 国产精品99久久久久久久 | 国内精品久久久久久久久| 精品国产亚洲一区二区三区在线| 永久免费精品视频网站| 久久99精品久久久久| 任我爽在线视频| 8x福利精品第一导航| 无遮挡的视频在线观看| 国产精品吴梦梦| 91综合久久| 被黑人猛躁10次高潮视频| 亚洲激情图片qvod| 成人av免费播放| 性亚洲最疯狂xxxx高清| 日韩中文av| 日本三区在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| chinese国产精品| 正在播放亚洲1区| 福利一区二区免费视频| 中文字幕中文字幕一区三区| 国产精品亚洲一区二区三区妖精 | 久久久久久久高潮| 女人黄色一级片| 6080日韩午夜伦伦午夜伦| 超碰在线免费公开| 国产精品一区二区三区在线观| 一区二区三区导航| 亚洲欧美va天堂人熟伦| 欧美日韩国产精品成人| av黄色在线| 精品国产福利| 蜜桃久久av一区| 国产大片免费看| 精品亚洲男同gayvideo网站| 澳门av一区二区三区| 一区二区三区四区久久| 高清不卡一区二区在线| 你懂的国产在线| 精品国偷自产在线视频99| 国产suv精品一区| 亚洲男人天堂色| 一区二区成人在线| 日本福利在线观看| 91在线观看欧美日韩| 日韩视频免费| 亚洲欧美精品aaaaaa片| 亚洲成色www8888| 亚洲成人高清| 免费看日本毛片| 中文字幕在线免费不卡| 国内爆初菊对白视频| 国产精品一区二区电影| 尹人成人综合网| 日韩av片在线免费观看| 337p日本欧洲亚洲大胆色噜噜| 春暖花开亚洲一区二区三区| 国产精品啪啪啪视频| 久久久99久久精品欧美| 精品人妻一区二区三区日产乱码| 国产91在线高潮白浆在线观看| 午夜激情一区|