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

一種DDS與ESB通信轉換的適配器模型

2015-01-06 08:20:41熊志剛蘇振揚彭衛平
計算機工程 2015年2期
關鍵詞:定義服務模型

熊志剛,李 晶,蘇振揚,彭衛平

(武漢大學a.計算機學院;b.動力與機械學院,武漢430072)

一種DDS與ESB通信轉換的適配器模型

熊志剛a,李 晶a,蘇振揚a,彭衛平b

(武漢大學a.計算機學院;b.動力與機械學院,武漢430072)

隨著面向服務架構(SOA)的廣泛應用,大量采用不同通信技術的遺留系統以服務的方式接入企業服務總線(ESB)。在實時性要求較高的領域,其信息系統一般采用數據分發服務(DDS)通信技術,將它們接入ESB總線時,必須面對DDS總線與ESB總線間信息通信轉換的問題。為此,設計一種通信轉換適配器模型,該模型是一種三層體系結構,包括SOAP消息收發層、消息與報文映射轉換層及DDS報文發布訂閱層。根據消息與報文名稱,遍歷Mapping映射文件,根據映射規則進行消息與報文的相互轉換,再遍歷消息或報文的信息模型定義文件,將轉換后的結果解析成通信所用的標準格式,用于通信交互。構建一個ESB與DDS的混合通信系統用于測試該適配器模型性能,實驗結果表明,其信息轉換耗時低于100 ms,滿足實時性要求。

企業服務總線;數據分發服務;適配器;消息隊列;消息映射;轉換;解析

1 概述

隨著信息技術的不斷發展,各行各業的信息化、自動化程度不斷提高,企業內部各信息系統間,企業與企業之間就存在大量的數據交互、資源共享問題。原有的一些遺留系統成為信息孤島,為實現對新系統及原有遺留系統的信息共享資源整合,提出一種基于面向服務架構(Service-oriented Architecture,SOA)的企業應用集成[1]。而企業服務總線(Enter-prise Service Bus,ESB)作為SOA架構的核心技術,是一個面向消息的、分布式的、基于標準的、具有智能性路由的系統整合平臺[2]。ESB使用松耦合的方式,實現服務間的通信連接,成為各類應用系統間的通信橋梁[3]。任何獨立系統都作為一個服務連接在ESB總線上,并能實現即插即用[4]。ESB通過預定義的接口和契約聯系異構的組件,通過基于SOAP標準的消息在各服務間進行信息通信,通過UDDI標準實現服務的動態發現,使用分布式管理功能、Web服務池進行智能查找適用的服務,使用開放標準的、非專有的技術實現跨越多種平臺進行互操作[5]。

由于系統應用需求的不同,以及信息技術的不斷發展更新,因此各遺留系統使用的通信技術也不盡相同。比如航空航天、海洋船舶等行業,對信息通信的實時性要求較高,它們的應用系統通常都采用了數據分發服務(Data Distribution Service,DDS)作為系統通信技術[6]。DDS是一種采用實時發布——訂閱協議的分布式系統標準,此標準提供了一種與語言、系統平臺及位置無關的通用應用層接口,為分布式計算環境提供了一種以數據為中心的通信規范。該模式定義了2種基本角色,發布者:創建數據,給數據命名(即主題)并發布該數據;訂閱者:根據自身需求訂閱所需服務,當訂閱服務的數據產生變化時,接收改變后的數據。通過發布訂閱的形式,實現信息交互共享[7]。因此,當將一個采用DDS通信技術的系統,作為一個服務接入到ESB總線時,必然要面對SOAP消息與DDS報文間的信息轉換問題。針對該問題,本文設計一種通信轉換適配器作為ESB總線與DDS總線間連接的橋梁,實現SOAP消息與DDS報文間的信息轉換。

2 ESB與DDS的混合通信系統

為對DDS與ESB通信轉換適配器模型進行研究,本文設計一個基于ESB與DDS混合通信的SOA框架系統[8],通過運行該系統來驗證適配器模型的功能及處理性能。該系統主要由三部分組成[9],前臺的客戶端顯控界面,用于發布服務請求及顯示服務結果;中間的通信適配器,完成SOAP消息與DDS報文的相互轉換分發功能;以及后臺的DDS服務端,實現某種應用服務功能。其中, ESB總線部分使用IBM公司的WebSphere Message Broker來控制消息的路由轉發[10],而DDS通信部分則采用了RTI公司的DDS網絡通信中間件。信息流程見圖1。

圖1 ESB與DDS通信系統信息流程

根據實時與非實時應用分開的原則,將實時應用與非實時應用分別集成在DDS總線與ESB總線上,適配器作為雙方通信轉換的橋梁,橋接在2條總線之間。適配器模型中通過消息流存取發送的SOAP消息,通過DDS發布訂閱管理器收發DDS報文。其中消息流以服務的方式發布在ESB總線上,消息流接收ESB總線上的SOAP消息后,存入一個消息隊列(MQ)中,適配器則調用MQ的API提取SOAP消息。另一方面對于DDS總線而言,適配器被當作DDS的應用節點,其需要訂閱與ESB總線端通信的所有DDS服務的TOPIC。

啟動仿真系統后,客戶端顯控界面發布自己的服務請求,以SOAP消息的形式封裝請求,并將該消息發送給ESB總線上的某個消息流。消息流將收到的SOAP消息存入到消息隊列Adapterin中,然后消息流調用適配器模型。適配器模型通過MQ的應用接口從Adapterin隊列中取出消息,去除用于封裝SOAP消息的消息頭,提取出該消息有效數據,從消息體中找到UnitID元素,根據該UnitID及信息映射文件的定義,轉換為對應的DDS報文,交由DDS發布訂閱管理器發布該報文。后臺DDS服務端,由于事先已經訂閱了該主題,直接獲取該報文并進行相關服務處理后發布返回的DDS報文,適配器已經訂閱了所有主題的服務,當相關主題的數據改變后,能及時接收該報文,根據報文名稱通過mapping文件找到對應的映射規則,轉換為返回的SOAP消息,存入到AdapterOut消息隊列中,然后由消息流提取并發送回客戶端顯控界面[11]。適配器模型體系結構見圖2。

圖2 適配器體系結構

3 適配器系統解析

3.1 ESB消息及DDS報文結構設計

ESB消息由協議頭與邏輯層次兩部分組成,協議頭中包含了該消息的基本信息,包括消息屬性、發方IP地址、收方IP地址、單位標識、單元長度5個數據字段。其中UnitID為每個消息的唯一標識符,用于不同消息間的區分。邏輯層次則包含了該消息的所有有效字段,例如本文中所用到的消息有效字段就包括速度、方位角、里程等信息字段。該消息所有有效字段都是自定義的數據結構,在esb.xsd信息模型文件中對消息的所有字段類型進行了相關定義[12],該模型文件在后文中將做詳細介紹。在系統應用中,整個ESB消息作為消息體的有效數據,被封裝在一個SOAP消息中,通過SOAP消息進行信息傳遞。

與此類似,DDS報文也由兩部分構成,首先是報文頭,包括了報文的5個基本屬性(報文名稱、關鍵字、域、類型、主題名),其中報文名稱是某一類報文的唯一標示符,而關鍵字則用于同一類型報文之間的區分符號。同樣的第2部分也是報文的邏輯層次,定義了該報文所要傳遞信息的所有有效字段。本文中的DDS報文有效字段包括速度、方向角、里程等信息字段。邏輯層次中所有有效字段都是自定義數據結構,每種數據結構都在dds.xsd文件中進行了詳細定義,包括該字段的長度、基本類型、基本單位等信息。

3.2 信息模型定義文件

本文設計的適配器進行消息與報文間轉換的核心在于,通過mapping映射文件,將對應字段進行替換。替換完成后根據數據結構定義的XSD文件,將報文內容解析成DDS自帶的數據類型,并按順序寫入一段緩存中發布出去。因此,該轉換過程中的關鍵在于數據模型的建立,接下來重點介紹本文中所用的數據模型定義文件。

mapping文件的作用在于定義了SOAP消息及DDS報文之間的映射關系,在mapping根元素下面有多個esbdds子元素,每個子元素定義了一種消息與報文之間的映射關系。該元素主要包含3個部分,第1部分為dds子元素,定義了DDS報文頭的所有內容;第2部分為esb子元素,定義了ESB消息的協議頭部分的所有內容;最后一部分則是elemmap子元素,每個子元素定義了ESB消息與DDS報文邏輯層次中,某對有效字段間的映射關系。mapping文件結構見圖3。

圖3 mapping文件結構

DDS報文數據模型的定義文件dds.xsd,該文件中定義了本系統所有DDS報文的數據結構,每個報文都是一種自定義的復雜數據類型,包含一個sequence子元素,即報文中每個有效字段都是按指定順序排列。每個有效字段也是一種自定義的復雜數據類型,每種字段的復雜數據類型又在basicdds. xsd文件中做了詳細定義。在basicdds.xsd文件中,將每種自定義數據類型,分解成某種基本數據類型(如string、octets等),并且含有該數據類型的字段長度、單位等基本屬性。與此相同,esb.xsd文件則是定義了系統中所有用到的ESB消息的數據結構。

3.3 數據類型的基本屬性

每種數據類型都含有3個基本屬性:datatype, bytes及baseunit。其中,datatype為數據類型代碼,共定義了7種數據類型(0代表未指定類容,1代表BCD碼,2代表無符號整形,3表示二進制補碼,4代表離散數值,5表示編碼值,6是字符型)。Bytes則定義了該數據類型所占緩存大小。Baseunit表示基本單位,初始值為1.0,不同數據類型基本單位值不同,用于該數據類型與二進制代碼間的轉換。

由于收發的DDS報文都是一段連續的緩存,要按照報文信息模型的定義,依次取出各字段的有效值。此時就需要用到各字段的3個基本屬性,根據默認定義,該緩存前16個字節默認存儲報文名稱,此后按照信息模型的定義順序,及各字段的字段長度,依次獲得各字段的二進制代碼。然后根據該字段的數據類型代碼,調用對應轉換語句,獲得該字段對應數據類型的有效值。

3.4 自定義數據結構

在信息轉換過程中,為方便數據存儲,自定義了多種數據結構,以下簡單的介紹幾種重要數據結構。包括用于存儲消息或報文有效字段名稱及取值的mapnode,用于映射轉化時存儲消息或報文定義特征值及其在映射文件中的元素地址值,各結構體的具體定義及功能如表1所示。

表1 重要結構體定義及功能

此外,本文還用到了3個Vector容器ESBInfo, DDSInfo,MappingMap(容器類型都是Vector<Mapnode>類型),其中,ESBInfo用于存儲ESB消息協議頭及其邏輯層次、各有效字段名及其取值。同樣DDSInfo用于存儲DDS報文協議頭及其邏輯層次,各有效字段名及其取值。而Mappingmap則是存儲映射文件中定義的,ESB消息及其對應DDS報文各有效字段的映射關系。

4 SOAP消息與DDS報文的相互轉換

4.1 SOAP消息轉換為DDS報文的過程

系統啟動后,客戶端顯控界面發出服務請求的SOAP消息,經消息流接收并存儲于AdapterIn消息隊列中。適配器模型從AdapterIn消息隊列中取出該消息,去除消息頭,提取出消息體中的有效信息ESB消息(以xml的元素節點形式)。然后用xerces c++DOM解析該元素,得到該ESB消息的協議頭及邏輯層次的所有有效字段名及其取值。各字段名稱及取值以MapNode結構體的形式,依次存入ESBInfo容器中。

然后再用xerces c++DOM解析信息映射文件Mapping.xml[13],依次遍歷該文件的每個esbdds子元素,從而得到每個子元素的UnitID值。將每個UnitID值及其所屬元素的地址值以esbiden的結構體形式,依次存入名為set的vector容器中。然后再遍歷set容器,從中找到與所要轉換的ESB消息UnitID值相同的esbdds元素,得到該元素的地址值。再用xerces c++DOM解析該元素,將它所有的elemmap子元素中有效字段的映射關系存入mapping容器中,并獲取該SOAP消息轉換后對應的DDS報文名稱,及轉換后對應DDS報文協議頭部分,然后根據提取出的映射關系,將ESBInfo中存儲的所有邏輯層次有效字段值,賦值給對應DDS報文邏輯層次的有效字段,從而得到了完整的DDS報文內容。再按照預先定義好的xml文檔格式,將該DDS報文內容轉換生成一個xml文件。

然后再用xerces c++DOM解析DDS報文的信息模型定義文件dds.xsd,依次遍歷該文件的每個子元素,找到轉換后報文的結構定義子元素。繼續解析該元素,找到該報文每個有效字段的自定義數據類型,再解析basicdds.xsd文件,找到每種自定義數據類型的結構定義,得到其基本類型名及其3個基本屬性(bytes,datatype,baseunit)。將前面得到的DDS報文的內容,轉換為DDS內含數據類型,并依次存入一段緩存中。開始的16個字節默認為存儲關鍵字,其后按信息模型定義的順序,依次寫入各有效字段值。通過提取每個有效字段的3個基本屬性,根據bytes值得到該字段所占內存大小,根據datatype值等到其所屬數據類型,再調用相應處理函數轉換為其對應的DDS內含數據類型值。將該報文的所有內容轉換并存儲于一段緩存后,將該段緩存交由DDS發布訂閱管理器,通過發布者將報文發布出去[14]。

4.2 DDS報文轉換為SOAP消息的過程

在適配器運行時,就已創建了DDS發布訂閱管理對象,其一直監聽網絡中是否有自己訂閱主題的DDS服務,一旦發現則接收并讀取該報文[15]。將獲取的內容存在一段緩存中,按照該報文定義格式,依次讀取該緩存,獲取報文各字段的二進制代碼,然后交由報文處理對象進行報文解析。

首先根據報文名稱,將該報文的關鍵字及其有效值成對存入一個名為respDDSMap的VECTOR容器中。然后按照報文名稱,從dds.xsd文件中剛找到該報文數據模型的定義元素eltpack。用xerces c++ DOM解析該元素,從而提取出該DDS報文中報文頭的field,theme,type這3個基本屬性,并與其對應值一起存入respDDSMap容器中。

然后解析遍歷eltpck元素,獲取該報文所有有效字段名及其數據類型。解析遍歷basicdds.xsd文件,從而得到各字段數據類型的詳細信息(如bytes, datatype,baseunit這3個基本屬性及備注信息)。根據各字段的詳細信息,從該DDS報文緩存中,依次取出各字段所占內存中的二進制代碼。按照轉換規則,轉換成該字段數據類型的對應取值。按照定義好的xml文件結構,將獲取的DDS報文內容生成一個DOMElement?的元素節點。解析該xml元素,提取出DDS報文各有效字段名稱及取值,成對的存入一個名為DDSInfo的容器中。遍歷解析mapping文件,按照該報文名稱,得到該報文所在的esbdds元素。從該esbdds元素中找到UnitID,unitlenth等對應ESB消息協議頭部分的有效字段。根據映射規則,將DDS報文所有字段的內容,賦予對應ESB消息的相應字段。再按照xml文件的格式定義,生成ESB消息。將該ESB消息作為消息體的有效數據字段,加上SOAP消息頭,封裝成一個SOAP消息,再將該SOAP消息存入adapterOut消息隊列中,由消息流取出發送出去。

5 實驗及結果分析

針對上文提出的適配器模型設計方案,編寫完成適配器模型后,將其應用于上述的ESB與DDS通信仿真系統中。運行系統,對適配器進行功能與轉化時間的測試。實驗環境介紹如下:

實驗設備:惠普工作站;

CPU:Intel Xeon 5160;

內存:3 GB;

操作系統:Microsoft Windows XP專業版SP3;

軟件環境:Microsoft Visual 2005,RTI DDS, Altora XMLSpy 2006;Websphere MQ version 7.0.1.0 Message Broker Toolkit 7.0。

實驗數據檢查表如圖4所示,其中詳細列出了SOAP消息及DDS報文所含數據項,供實驗人員記錄并分析實驗結果使用。

圖4 實驗數據檢查表

5.1 功能測試

啟動仿真系統后,適配器不斷接收服務請求的SOAP消息,完成信息轉換及轉發功能。測試工具分別在2條數據總線上監視對應信息,通過ADO方式操作ACCESS數據庫,將每個ESB消息及DDS報文的內容存入數據庫中,待實驗結束時提取數據庫中內容,對實驗結果進行分析。根據實驗要求,從數據庫中隨機抽取60組實驗數據,按照圖4格式,將實驗數據填入表格中,將每組報文及消息數據字段與目標數據進行比對,得到實驗結果100%正確。

5.2 處理時間性能測試

方法與功能測試相似,在系統運行過程中,每當適配器提取一條ESB消息時,程序會將此刻的系統時間t1存入數據庫中,然后經過信息轉換生成DDS報文,在發布報文的同時將此刻的系統時間t2存入數據庫。待DDS處理服務處理完成后,適配器根據訂閱的主題名,獲取返回的DDS報文并將此刻的系統時間t3存入數據庫。完成信息轉換后,將生成的ESB消息存入消息隊列,同時存入此刻的系統時間t4。實驗完成后,從數據庫中隨機抽取60組實驗數據,計算出ESB消息轉換為DDS報文所需處理時間Te,及逆向DDS報文轉換為ESB消息處理時間Td。處理時間實驗結果見圖5、圖6。

圖5 ESB消息轉換為DDS報文的處理時間

圖6 DDS報文轉換為ESB消息的處理時間

實驗的數據結果如表2所示,從表中可以清楚地看出,2組實驗結果都符合實驗設計處理時長100 ms的要求,處理時間基本都在47 ms左右,最高不超過63 ms。通過樣本方差及樣本期望值的比較,可知ESB消息轉換為DDS報文時,適配器模型平均處理時間稍短且更加穩定。

表2 實驗數據統計

6 結束語

針對SOA架構中原有遺留系統的不同通信技術與ESB總線間通信適配問題,本文設計了一種DDS與ESB通信轉換的適配器模型,并通過一個ESB與DDS混合通信系統的運行驗證,該適配器程序能準確、及時地完成SOAP消息與DDS報文間的轉換及分發功能。通過預定義的信息模型文件,解析自定義的映射文件,完成信息數據間的映射轉換。但還有一些不足之處,如消息與報文間的轉換只能在預先定義好的消息報文之間,不能達到運行時自定義轉換關系,這也是今后研究的重點內容。

[1] Papazoglou M P,van den Heuvel W J.Service Oriented Architectures:Approaches,Technologies and Research Issues[J].VLDB Journal,2007,16(3):389-415.

[2] Schmidt M T,Hutchison B,Lambros P.The Enterprise ServiceBus:MakingService-orientedArchitecture Real[J].IBM Systems Journal,2005,44(4):781-797.

[3] 李曉東,楊 揚,郭文彩.基于企業服務總線的數據共享與交換平臺[J].計算機工程,2006,32(21): 217-219.

[4] 邵歡慶,康建初.企業服務總線的研究與應用[J].計算機工程,2007,33(2):220-222.

[5] 曾文英,趙躍龍,齊德昱.ESB原理、構架、實現及應用[J].計算機工程與應用,2008,44(25):225-228.

[6] 姚 兵,蔡 婷,李峻林,等.基于DDS模型的數據分發中間件的設計與實現[J].計算機工程與設計, 2009,30(3):619-623.

[7] Tijero H P,Gutierrez J J.On the Schedulability of a Data-centric Real-time Distribution Middleware[J]. Computer Standards&Interfaces,2012,34(1):203-211.

[8] 麻志毅,陳漢婕.一種面向服務的體系結構參考模型[J].計算機學報,2006,29(7):1011-1019.

[9] 張廣勝,蔣昌俊,湯憲飛,等.面向服務的企業應用集成系統描述與驗證[J].軟件學報,2007,18(12): 3015-3030.

[10] 劉振頂.企業服務總線(ESB)在SOA中SOAP消息路由機制的研究與實現[D].濟南:山東大學,2008.

[11] 郭文越,陳 虹,劉萬軍.基于SOA的數據共享與交換平臺[J].計算機工程,2010,36(19):217-219.

[12] 張 濤.基于XML和Web services異構數據轉換的設計和實現[D].青島:中國海洋大學,2009.

[13] 章 明,許青松,沈錫臣.基于XML數據交換共享平臺模型[J].清華大學學報:自然科學版,2003,43(1): 105-107.

[14] 曹萬華,謝 蓓,吳海昕,等.基于DDS的發布/訂閱中間件設計[J].計算機工程,2007,33(18):78-83.

[15] Sanchez-Monedero Javier,Povedano-Molina J,Lopez-Vega J M.Bloom Filter-based Discovery Protocol for DDS Middleware[J].Journal of Parallel and Distributed Computing,2011,71(10):1305-1317.

編輯 金胡考

An Adapter Model for DDS and ESB Communication Conversion

XIONG Zhiganga,LI Jinga,SU Zhenyanga,PENG Weipingb
(a.Computer School;b.School of Power and Mechanical Engineering,Wuhan University,Wuhan 430072,China)

With Service-oriented Architecture(SOA)being widely used,a large number of legacy systems with different communication technologies are accessing the Enterprise Service Bus(ESB)by the way of a service.In some real-time field with higher requirements,these information systems generally adopt the Data Distribution Service(DDS) communication technology.When these systems are accessing the ESB,it meets the communication conversion problem between ESB and DDS.On this basis,this paper designs a communication adapter model which is a three-tier architecture,including ESB messaging layer,messages and packets conversion layer and DDS packets publish-subscribe layer.According to the message and packet name,adapter traverses the mapping file and achieves conversion function between packet and message.Adapter traverses the information model definition file.The results after conversion is converted into a standard format used for communication.This paper builds a hybrid communication system between ESB and DDS to test the performance of the adapter model.Experimental results show that the communication conversion costs lower than100 ms and meets the real-time requirements.

Enterprise Service Bus(ESB);Data Distribution Service(DDS);adapter;message queue;message mapping;conversion;parse

熊志剛,李 晶,蘇振揚,等.一種DDS與ESB通信轉換的適配器模型[J].計算機工程, 2015,41(2):70-75.

英文引用格式:Xiong Zhigang,Li Jing,Su Zhenyang,et al.An Adapter Model for DDS and ESB Communication Conversion[J].Computer Engineering,2015,41(2):70-75.

1000-3428(2015)02-0070-06

:A

:TP393

10.3969/j.issn.1000-3428.2015.02.014

國家“863”計劃基金資助項目(2012AA040910);國家自然科學基金資助項目(51275362)。

熊志剛(1987-),男,碩士研究生,主研方向:SOA架構,信息系統;李 晶(通訊作者),教授、博士;蘇振揚,博士研究生;彭衛平,教授、博士。

2014-03-05

:2014-04-15E-mail:leejingcn@msn.com

猜你喜歡
定義服務模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
服務在身邊 健康每一天
今日農業(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
3D打印中的模型分割與打包
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 五月婷婷丁香综合| 日韩精品高清自在线| 久久综合成人| 国产成人综合久久精品下载| 欧美国产菊爆免费观看| 精品视频一区二区三区在线播| 亚洲欧美在线综合图区| 国产草草影院18成年视频| 日本道中文字幕久久一区| 婷婷色中文| 亚洲天堂网在线视频| 伊人久久婷婷| 97色婷婷成人综合在线观看| 国产成人精品高清不卡在线| 日本在线视频免费| 狠狠色狠狠色综合久久第一次 | 亚洲第一区欧美国产综合| 亚洲无码高清一区二区| 国产精品欧美激情| 中文字幕在线一区二区在线| 中文一级毛片| 91在线国内在线播放老师| 欧美另类视频一区二区三区| 538国产视频| 日韩视频精品在线| 99精品在线看| 国产真实乱了在线播放| 黄色免费在线网址| 欧美国产综合视频| 99这里只有精品免费视频| 国产成人禁片在线观看| 怡红院美国分院一区二区| 日日摸夜夜爽无码| 精品久久777| 国产香蕉97碰碰视频VA碰碰看| 免费三A级毛片视频| 亚洲狼网站狼狼鲁亚洲下载| 国产精品亚洲欧美日韩久久| 午夜性刺激在线观看免费| 亚洲人成高清| 广东一级毛片| 国产精品吹潮在线观看中文| 欧美午夜在线播放| 国产尤物jk自慰制服喷水| 欧美一级高清片欧美国产欧美| 性视频一区| 久久综合干| 久久成人18免费| 成人国产精品2021| 亚洲女同欧美在线| 92午夜福利影院一区二区三区| 波多野结衣亚洲一区| 日韩精品毛片| 毛片免费视频| 谁有在线观看日韩亚洲最新视频| 熟女成人国产精品视频| 亚洲成综合人影院在院播放| 伊人久久精品无码麻豆精品| 欧美午夜视频| 国产日本欧美在线观看| 亚洲一区二区三区国产精华液| 福利片91| 日本日韩欧美| 嫩草国产在线| 中文一区二区视频| 国产在线视频自拍| 欲色天天综合网| 中国国产A一级毛片| 无码日韩人妻精品久久蜜桃| 91区国产福利在线观看午夜| 精品国产免费人成在线观看| 亚洲国产理论片在线播放| 欧美国产日韩在线观看| 激情六月丁香婷婷四房播| 久草网视频在线| 精品人妻系列无码专区久久| 国产亚卅精品无码| 亚洲中文字幕久久无码精品A| 真实国产精品vr专区| 国产香蕉97碰碰视频VA碰碰看| 久夜色精品国产噜噜| 日韩a级毛片|