999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的微服務故障檢測研究

2022-08-19 08:34:24莊衛金
計算機工程與應用 2022年16期
關鍵詞:故障檢測服務

莊衛金,張 鴻

中國電力科學研究院有限公司 南京分院,南京 210003

近年來,隨著企業信息化的快速發展,現代軟件系統的數量越來越多,規模越來越大,結構也越來越復雜。面對新形勢的變化,傳統的系統架構設計方法顯露出了明顯的弊端:系統變得非常臃腫冗雜,無法提供可靠的服務,維護成本變得越來越高,想要擴展一些新功能變得越來越困難[1]。而微服務則從架構的角度出發,在根本上解決了這些問題。

微服務的概念最早由Fowler 和Lewis[2]提出,它的核心在于將一個大的應用系統按照業務邏輯劃分成若干個獨立的微服務,每個微服務負責完成一項單一的業務功能,各個微服務之間存在清晰的邊界,并通過輕量級的通信機制(例如HTTP)進行信息交互。由于單個微服務的復雜程度并不高,這樣每個微服務都可以由少量的開發人員負責,分別進行開發。而傳統的大型應用服務則需要大量的開發人員共同維護一個代碼庫,維護成本、交流成本都很高,并且容易弱化開發人員的責任意識。此外,由于采用微服務架構的系統賦予了每個微服務不同的業務功能,并且彼此相互獨立,這樣當出現擴展新功能的需求時,通過簡單地向系統中添加一些新的微服務就能實現,具有很強的可擴展性。考慮到微服務架構相對于傳統方法的巨大優勢,目前已經有很多的企業采用了微服務架構,例如Twitter、Netflix、Amazon等。

雖然微服務架構具有更高的可維護性和可擴展性,但同時它也為系統的故障檢測帶來了更大的挑戰。由于采用微服務架構的軟件系統是由一系列彼此獨立并且更新頻繁的組件構成的,這些組件之間還需要通過復雜的網絡交互模型進行通信,從而大大增加了系統發生故障的幾率,并且有關故障點的定位也變得更加困難。除此之外,各個微服務組件之間聯系密切,相互之間往往存在依賴關系,因此一個組件發生故障就可能引發連鎖反應,影響其他組件的正常服務,最終可能造成整個應用系統的崩潰[3]。根據以上分析,不難得出以下結論:故障檢測問題是阻礙微服務架構進一步發展的關鍵問題之一,如何在應用系統發生故障時快速定位出故障發生的位置并準確地分析出故障發生的原因是當前研究的重點方向,對于提高微服務架構的服務質量(quality of service,QoS)具有非常重要的價值和意義。

目前關于面向微服務架構的故障檢測方法主要有建立依賴圖(dependency graphs)和故障樹(fault trees)兩種[4]。其中依賴圖是用來對微服務架構中各個應用服務之間的依賴關系進行建模,并且目前還沒有成熟的自動構建依賴圖的方法,已有的方法往往存在著準確性不足、效率不夠高效的問題。故障樹由Rausand 等人[5]定義,是一種可以顯示應用系統中潛在關鍵事件與該事件原因之間相互關系的邏輯圖,它可以是定性的,也可以是定量的。故障樹分析就是構造這樣一個故障樹的過程。由于一個應用系統中存在著眾多的關鍵事件,這些事件與其對應的原因之間的相互關系錯綜復雜,因此故障樹的構造是一個非常耗時、低效的過程,這影響了這類方法在現實場景中的應用。

深度學習作為機器學習研究中的一個新領域,近年來已經在分類、檢測、識別等多項任務中取得了前所未有的成就,受到了各界的廣泛關注,但目前還沒有人嘗試將深度學習方法用于微服務架構的故障檢測中。本文將深度學習方法引入到面向微服務架構的故障檢測研究中,提出了一個基于門控循環單元(gated recurrent unit,GRU)[6]的故障檢測方法MS-GRU。該方法的核心在于它能夠從以往的應用數據中分析、學習到導致故障發生的模式信息,并將這些信息用于未來的故障診斷和預測中,從而顯著改善了微服務架構的服務質量。GRU是一種特殊的循環神經網絡(recurrent neural network,RNN)[7],與普通的RNN 網絡相比,GRU 能更好地處理長范圍依賴的問題。雖然長短期記憶網絡(long shortterm memory,LSTM)[8]也能處理該問題,但GRU 模型結構更簡單,處理效率更高,效果更好,因此本文選擇GRU作為基礎網絡來構造一個高效的面向微服務架構的故障檢測模型。為了評估本文方法的性能,進行了廣泛的實驗,實驗結果證明了本文方法的有效性和優越性。

1 相關工作

微服務架構將一個大型的服務拆分成一系列相互獨立、功能各異的微服務,增強了應用系統的可擴展性和可維護性,但同時也為系統內部的故障檢測帶來了更大的挑戰。目前故障檢測問題已經成為阻礙微服務架構進一步發展的瓶頸。為了改善微服務架構的服務質量,使其能夠得到更加廣泛的應用,近些年來研究者們針對故障檢測問題展開了一系列的研究。本文首先對國內外現有的一些面向微服務架構的故障檢測方法進行詳細的介紹。

采用傳統架構的應用系統通常利用人工設定報警規則[9]來進行故障檢測,但該方法并不適用于微服務架構。這是因為采用微服務架構的應用系統中,各個微服務之間往往存在著復雜的交互關系,所以系統管理員很難設定合理的故障檢測規則,也不能細粒度地診斷發生故障的原因。為了解決該問題,王子勇等人[10]提出了一種面向微服務架構的基于執行軌跡監測的故障檢測方法。具體來講,該方法首先借助動態插樁技術來監測各項微服務的處理流程,并利用樹形結構來刻畫各項微服務請求處理的執行軌跡;接著基于樹編輯距離和主成分分析來分別進行系統錯誤的診斷及性能異常的檢測。但該方法也存在一些尚未解決的問題,例如可能會遺漏一些關鍵方法,性能開銷比較大等。

徐康明[11]指出當前基于故障樹的檢測方法在構造故障樹的過程中忽略了應用系統中的差錯容忍因素,并且沒有考慮到在系統實際運行過程中不同執行路徑的執行概率不一致的實際情況。針對這些問題,徐康明[11]提出了一種新的基于故障樹的檢測模型,該模型在系統中增加了差錯容忍機制并考慮了不同執行路徑執行概率的差異,從而增強了系統運行的穩定性,提高了系統運行的成功率。

Ma等人[12]提出了一個能夠有效管理各個微服務組件之間復雜調用關系的基于圖的微服務分析和測試方法(graph-based microservice analysis and testing,GMAT)。GMAT 能夠自動生成服務依賴圖(service dependency graph,SDG),用于分析并可視化各個微服務之間的依賴關系。利用GMAT,人們能夠在開發的早期階段通過分析具有潛在風險的微服務調用鏈來檢測異常,并在開發新版本的系統時有效跟蹤各個微服務之間的聯系。實驗結果證明GMAT 在小型的和大型的微服務應用系統上都有著良好的表現。

劉一田等人[13]針對全鏈路應用服務監控的擴展問題,設計了一個靈活的微服務監控框架并部署在現有的服務管理層,以監控微服務的狀態及不斷變化的服務負載。此外,該框架還使用了Raft算法[14]來增強系統中的數據一致性,從而有效避免了單點故障問題的發生。然而該框架也存在著部署架構較為復雜,性能損耗較大等不足。

Celesti 等人[15]專注于解決物聯網設備中微服務的可靠性問題,提出了一個基于容器虛擬化的物聯網看門狗系統。當在物聯網設備上運行的微服務出現故障時,該系統首先會嘗試修復它,若修復失敗,會嘗試用另一個備用的微服務替換它,從而大大增強了物聯網設備中微服務的可靠性。Heorhiadi 等人[16]指出當前的互聯網應用系統大都采用了微服務架構,這些系統里面的微服務組件一天往往會被更新、部署數百次。為了應對加速的軟件生命周期,Heorhiadi等人[16]提出了Gremlin,一個用來系統性地測試微服務故障處理能力的框架。Gremlin基于這樣的觀察:各個微服務之間是低耦合的,因此它們依賴于網絡中標準的信息交換模式來進行通信。Gremlin允許操作人員通過在網絡層操縱各個微服務之間的通信來輕松地設計和執行系統測試。Mayer等人[17]提出了一個可以實現微服務監控及管理的系統,能夠滿足不同用戶的需要。該系統支持不同監控設施的集成,以收集充足的與微服務相關的運行數據。除了運行數據之外,該系統還支持其他信息源的融合,從而能夠在微服務系統出現故障時,更準確地分析出故障發生的原因。

彭天舒[18]分析總結了采用微服務架構的應用系統可能會遇到的一些異常情況,主要包括兩方面:由于微服務之間互相信任而引發的內部攻擊,以及攻擊者通過避開權限管理機制來提升自身權限而引發的權限攻擊。這些攻擊可能會造成調用路徑的異常,調用順序與層次關系的異常,功能與角色對應關系的異常等。為了能對上述異常進行及時有效的檢測,彭天舒將入侵檢測技術和分布式追蹤技術結合在一起,提出了基于特征規則的異常檢測方法。不過由于該方法采用離線的檢測方式,會有一定的滯后性。

以上的故障檢測方法都是基于傳統方法,本文將深度學習方法引入到面向微服務架構的故障檢測研究中,提出了一個基于GRU 的故障檢測方法MS-GRU,顯著提升了故障檢測的精度和效率,從而改善了微服務架構的服務質量。

2 MS-GRU故障檢測模型

基于微服務架構設計的應用系統中的每個微服務組件都有可能發生故障,如何快速地檢測到故障的發生,并準確地定位出故障發生的位置,對于改善微服務架構的服務質量有著非常重要的意義。為此,本文提出了一個基于GRU[6]的故障檢測模型MS-GRU,模型架構如圖1所示。

圖1 MS-GRU模型架構圖Fig.1 Architecture of proposed MS-GRU model

首先對MS-GRU 模型進行一個整體的概述。MSGRU模型是一個數據驅動(data-driven)的方法,與傳統的微服務故障檢測方法相比,MS-GRU對于未知以及不斷變化的應用場景更具魯棒性。MS-GRU 輸入層神經元和輸出層神經元的數量與處于激活狀態的微服務組件數量保持一致。各個微服務組件的工作狀態信息、與其他組件的依賴關系、通信狀況等各類有關數據在經過標準化處理后得到一組向量,作為MS-GRU 模型的輸入。MS-GRU利用這些數據進行網絡的訓練,以從歷史數據中學習導致故障發生的模式信息,包括空間模式和時間模式兩種。其中空間模式主要指各個微服務組件之間的依賴關系,時間模式主要指輸入的負載情況、資源沖突情況等。MS-GRU的核心思想在于,以往導致故障發生的條件可用于預測在未來的某個時間點是否會有故障發生。MS-GRU 的輸出即是每個微服務組件將要發生故障的概率。

MS-GRU 模型是將深度學習方法引入微服務故障檢測任務的首次嘗試,如何設計一個與該任務特性相適配的神經網絡是本文要重點解決的問題。具體來講,針對微服務故障檢測任務中存在的數據類型不統一,數據量龐大,各特征間依賴關系難以學習,網絡訓練容易出現梯度消失和梯度爆炸等各個問題,設計了一系列相應的模塊來解決。下面對MS-GRU 模型的各個模塊進行具體的介紹。

數據預處理模塊。MS-GRU 模型的輸入包含了屬性不同、度量單位各異、值域差異明顯的各類數據,如果不對這些數據進行預處理,可能會對最終結果造成不可預估的影響。例如,時間數據采用秒或毫秒,距離數據采用米或厘米,可能會導致完全不同的結果。一般而言,使用較小的度量單位來表示屬性會導致該屬性具有較大的值域,而值域較大的屬性往往具有更大的“權重”去影響最終結果。為了避免由于度量單位的不同而對最終結果產生干擾,在將原始數據送入網絡模型之前應該預先對其進行標準化處理,以賦予所有屬性相同的權重。這里采用了z-score標準化方法來處理MS-GRU模型的原始輸入數據x:

其中,xi為x中第i項數據,μx為x的均值,σx為x的標準差,xi′為經過標準化處理后的數據。

全連接層(fully connected layers,FC)和卷積層(convolutional neural networks,CNN)。輸入MS-GRU的數據除了種類各異外,在數量上也非常龐大,其中往往蘊含著很多無用和冗余的信息,它們會阻礙模型檢測精度和檢測效率的提升。為了從原始數據中提取出關鍵特征(feature)信息,傳統方法通常采用手工設計(hand-crafted)的方式,但這種提取特征的方式是非常主觀、低效的,很難處理海量的輸入數據。為了解決這個問題,本文引入了深度學習的方法,將經過數據預處理后的微服務數據輸入若干個全連接層和卷積層,這里網絡層包含了成千上萬的參數(parameters),能夠在模型的訓練過程中自動、高效地從輸入數據中提取出關鍵的特征信息,用于后續的故障檢測。

注意力層(attention layer)。各個關鍵特征之間往往不是相互獨立的,而是存在一定的依賴關系,并有著強弱之分。而全連接層和卷積層只對數據中的關鍵特征進行了提取,沒有考慮各個特征之間的依賴關系,限制了故障檢測模型的性能。為了解決這個問題,本文提出了一種新的注意力機制(attention mechanism)來學習各個關鍵特征之間的依賴關系。注意力機制最初由Bahdanau等人[19]提出,現已成為神經網絡結構的重要組成部分,并被廣泛應用于自然語言處理、計算機視覺、統計學習等領域。本文針對故障檢測任務的獨特性,提出了一個與其特性相適應的新的注意力層。具體來講,對于前一卷積層輸出的任意兩個特征Fx和Fy,將其轉換到兩個特征空間s和t以計算它們之間的attention:

其中,Ws、Wt和Wh是可學習的權重矩陣,對應于圖1中的1×1 卷積。i是輸出位置的索引,j代表所有可能位置的索引。

本文提出的注意力機制與傳統的注意力機制的主要區別在于:傳統的注意力機制的目標在于學習一個注意力權重矩陣,應用于當前層的各個神經節點,對于那些重要的節點,賦予它們較大的權重,對于那些次要的節點,賦予它們較小的權重。由于每個神經節點都包含著某種特征信息,經過上述操作,神經網絡就能從眾多特征信息中選擇出對當前任務目標更關鍵的信息。而本文所提出的注意力機制則不同,其更多地關注到了各個特征信息間的依賴關系,這是與面向微服務架構的故障檢測任務更相適應的。而對于關鍵特征信息的提取,通過前面的全連接層和卷積層已經實現。

總的來說,通過本文提出的注意力層,模型學習到了各個關鍵特征之間的依賴關系,有利于模型檢測精度的提升。

GRU 層和Softmax 層。GRU 網絡解決了長序列訓練過程中經常發生的梯度爆炸和梯度消失問題,因此即使對于很長的數據序列,GRU 也有著很好的表現。這里引入了多個GRU 層,它們以注意力層的輸出作為輸入,在不斷的網絡訓練中去學習導致故障發生的模式信息。接著Softmax 層以GRU 層輸出的模式信息f作為輸入,輸出各個微服務組件發生故障的概率p:

其中,pi代表第i個微服務組件發生故障的概率,fi代表最后一層GRU里第i個神經元的輸出,n代表應用系統中微服務組件的數量。

值得指出的是,雖然GRU層和Softmax層都不是新的方法或技術,現已得到了廣泛的研究和驗證,但本文主要的貢獻在于將它們擴展應用于一個更具挑戰性的新任務:面向微服務架構的故障檢測。并且為了讓GRU網絡與新任務更加適配,還對其進行了結構上的調整:對于GRU 網絡中的狀態單元,先使用Leaky ReLU激活函數對其進行處理,之后再讓其進行下一步的計算。經過這樣的調整,進一步避免了梯度爆炸和梯度消失問題,從而可以使用更深的網絡結構,能夠解決傳統的面向微服務架構的故障檢測方法難以深入挖掘數據的問題,有利于提高模型的檢測精度。本文將深度學習方法引入該領域,這為該領域的進一步發展提供了一種新的思路。

損失函數。根據模型預測結果與實際情況的差異,定義了交叉熵損失函數(cross entropy error function):

其中,m代表樣本數據的數量,yi代表現實中的故障發生情況(0代表未發生故障,1代表發生了故障),pi代表MS-GRU所預測的故障發生的概率。

訓練方式。本文采用反向傳播算法(back propagation)來訓練網絡模型,主要包含激勵傳播、權重更新這兩個環節。其中激勵傳播指正向傳播過程:輸入數據經由各個網絡層逐層處理最終得到預測結果,然后根據預先定義的損失函數計算預測結果與實際情況之間的誤差值。權重更新指反向傳播過程:根據預測結果與實際情況之間的誤差值,從輸出層開始向著輸入層逐層計算損失函數對各神經元權重的偏導數,并隨之更新各神經元的權重,完成一次迭代。在本文的實驗中,MS-GRU模型共經歷了20萬次迭代。

圖2展示了MS-GRU 模型具體的工作流程。其中(a)展示的是訓練階段的工作流程,具體來講,主干部分為正向傳播時的工作流程,左側分支為反向傳播時的工作流程。(b)展示的是測試階段的工作流程。

圖2 MS-GRU模型工作流程圖Fig.2 Flowchart of proposed MS-GRU model

3 實驗

為了證明本文所提出的MS-GRU 模型的有效性和優越性,在仿真數據和真實數據上分別進行了廣泛的實驗,并和一系列現有的故障檢測方法進行了對比。

3.1 仿真實驗環境搭建

本文使用了一臺PC機及七臺虛擬機搭建了一個面向電網調控的微服務架構的應用系統。其中PC機主要負責面向電網調控的微服務故障檢測系統的部署和運行,七臺虛擬機主要負責微服務應用程序的運行。表1展示了PC機和虛擬機的具體配置信息。

表1 實驗軟硬件環境信息Table 1 Information on software and hadware used in experiments

3.2 評價指標和基準模型

本文采用精度(precision)、召回率(recall)和F1分數這三個量化指標來評估故障檢測模型的效果,它們的定義如下:

其中,TP(ture positive)代表真陽性,即被故障檢測模型正確分類的故障;FP(false positive)代表假陽性,即本來沒有故障卻被故障檢測模型判定為有故障;FN(false negative)代表假陰性,即本來有故障卻被故障檢測模型判定為沒有故障。除了上述出現的三種情況,還有一種情況為TN(true negative),代表真陰性,即被故障檢測模型正確分類的無故障情況。

精度是準確性的度量,召回率是完全性的度量,而F1分數則將精度和召回率組合到了一個度量中,可以視作二者的調和均值。

本文將王子勇等人[10]提出的基于執行軌跡監測的故障檢測模型(簡稱為軌跡監測模型)、徐康明[11]提出的基于故障樹的故障檢測模型(簡稱為故障樹模型)、彭天舒[18]提出的基于特征規則的故障檢測模型(簡稱為特征規則模型)作為基準模型,與本文所提出的MS-GRU 模型進行性能對比。

3.3 仿真實驗結果

受文獻[16-17,20-22]的啟發,本文采用人為注入故障的方式來評估各個故障檢測方法的表現。注入的故障主要分為四類,分別為應用程序故障(例如設置不當、配置出錯等)、服務器故障(例如端口被占、Java Virtual Machine、線程池配置錯誤等)、數據庫故障(例如運算溢出、并發事物死鎖、違反完整性限制規則等)、操作系統故障(例如CPU、網絡、內存、IO 等出現異常)。將各類故障單獨注入到本文所搭建的微服務應用系統中,每類故障各注入25次,然后分別使用軌跡監測模型、故障樹模型、特征規則模型以及MS-GRU 模型進行故障的檢測。檢測結果如表2所示,可以看到相較于其他的故障檢測模型,本文提出的MS-GRU 模型在精度、召回率和F1分數這三個指標上都有著更好的表現。

表2 各模型檢測準確性對比Table 2 Comparison of different methods about accuracy

除了準確性之外,效率也是衡量一個故障檢測模型性能的重要指標。圖3 展示了各個方法的平均檢測時間,可以看到MS-GRU模型具有最高的檢測效率。

圖3 各模型檢測效率對比Fig.3 Comparison of different methods about efficiency

此外,為了評估本文提出的注意力機制的有效性,在三種不同的條件下進行了實驗:(1)不使用注意力機制;(2)使用傳統的注意力機制;(3)使用本文提出的注意力機制。實驗結果如表3所示,可以看到與傳統的注意力機制相比,本文提出的注意力機制能夠以更小的時間成本獲得更高的檢測準確度。

表3 注意力機制的有效性評估Table 3 Effectiveness evaluation of attention mechanism

3.4 真實數據上的實驗結果

前面的實驗已經證明了本文所提出的MS-GRU 模型在仿真數據上的有效性,為了進一步測試MS-GRU在實際應用場景中的性能,將其部署到了某真實電網系統上。在部署之后兩個月的時間里,MS-GRU模型共檢測到了465 次故障(87%的準確率),避免了427 次故障(80%的準確率)。此外,借助于MS-GRU,開發人員對于故障發生的條件、模式、原因等都有了更為深入的理解和認識,在系統的設計上也做出了相應的改進,從而進一步避免了故障的發生。圖4 展示了部署MS-GRU模型后,該電網系統在兩個月內的故障發生情況,可以看到故障發生的次數呈現出明顯的下降趨勢,這再次驗證了本文方法的有效性。

圖4 MS-GRU模型兩個月內的故障發生情況Fig.4 Fault occurrence of MS-GRU model in two months

4 結束語

本文針對微服務應用系統里的故障檢測問題,引入了深度學習的方法,提出了一個基于GRU 的故障檢測模型(MS-GRU)。本文方法的核心在于它能夠從以往的應用數據中分析、學習到導致故障發生的模式信息,并將這些信息用于未來的故障診斷和預測中。為了評估MS-GRU模型的性能,在仿真系統和真實系統上進行了廣泛的實驗。實驗結果表明與傳統的故障檢測方法相比,MS-GRU模型有著更高的效率和準確度。在未來的工作中,希望能夠進一步精簡網絡模型,在不影響檢測準確度的同時進一步提升檢測效率,以實現實時檢測,這樣本文模型的實用性可以得到進一步的增強。

猜你喜歡
故障檢測服務
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
故障一點通
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
奔馳R320車ABS、ESP故障燈異常點亮
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 热99re99首页精品亚洲五月天| 欧美A级V片在线观看| 久久狠狠色噜噜狠狠狠狠97视色| 亚洲午夜久久久精品电影院| 一本大道无码高清| 97国产成人无码精品久久久| 久久香蕉国产线看观看式| 国产丝袜啪啪| 亚洲成人手机在线| 99热这里只有精品免费国产| 亚洲国产精品VA在线看黑人| 国产97区一区二区三区无码| 中文字幕自拍偷拍| 午夜小视频在线| 免费国产不卡午夜福在线观看| 试看120秒男女啪啪免费| 国产第二十一页| 亚洲精品你懂的| 欧美另类第一页| 亚洲色欲色欲www网| 日韩中文无码av超清| 欧美一级高清片欧美国产欧美| 女人18毛片一级毛片在线 | 亚洲一级毛片在线观播放| 国产97色在线| 亚洲精品第1页| 国产一级片网址| 一区二区三区精品视频在线观看| 天天婬欲婬香婬色婬视频播放| jizz在线免费播放| 呦女精品网站| 精品伊人久久久久7777人| 成人精品区| 在线看片免费人成视久网下载| 伦伦影院精品一区| 欧美精品亚洲二区| 女人18毛片水真多国产| 国产综合色在线视频播放线视| 精品国产免费观看一区| 亚洲婷婷六月| 国产精品女主播| 亚洲AV无码乱码在线观看代蜜桃 | 热re99久久精品国99热| 欧美国产综合视频| 六月婷婷精品视频在线观看| 亚洲日韩第九十九页| 国产va在线观看免费| 亚洲无码91视频| 91无码人妻精品一区二区蜜桃| 精品一区二区久久久久网站| 亚洲成人高清无码| 国产幂在线无码精品| 亚洲人成高清| 亚洲成人网在线播放| 婷婷六月综合| 2021国产精品自产拍在线观看| 男女性午夜福利网站| 成年人国产网站| 亚州AV秘 一区二区三区| 波多野结衣二区| av在线人妻熟妇| 久久超级碰| 国产99免费视频| 日韩第九页| 伊人91在线| 久久精品这里只有国产中文精品| 欧美亚洲一二三区| 精品综合久久久久久97超人该| 亚洲二区视频| 国产精品3p视频| 色综合天天娱乐综合网| 国产在线专区| 欧美日韩一区二区在线播放| 欧美一级片在线| 久久99久久无码毛片一区二区| 国产成人高精品免费视频| 成年人免费国产视频| 亚洲成人在线免费观看| 99久久亚洲综合精品TS| 色哟哟国产精品| 亚洲一区国色天香| 久久久久亚洲精品成人网|