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

應用REST技術的GML數據管理

2012-11-24 12:53:02張山山吳寶佑隋寧寧
中國有色金屬學報 2012年3期
關鍵詞:資源服務

張山山,吳寶佑,隋寧寧,秦 瑞

(1. 中南大學 有色金屬成礦預測教育部重點實驗室,長沙 410083;2. 中南大學 地球科學與信息物理學院,長沙 410083)

應用REST技術的GML數據管理

張山山1,2,吳寶佑1,2,隋寧寧1,2,秦 瑞1,2

(1. 中南大學 有色金屬成礦預測教育部重點實驗室,長沙 410083;2. 中南大學 地球科學與信息物理學院,長沙 410083)

地理標記語言(GML)作為使用 XML信息編碼來表達地理數據的標準,其主要目的是實現數據共享與互操作。隨著GML廣泛應用,GML數據存儲管理成為研究熱點。面向服務架構(SOA)已經廣泛應用于地理信息服務,表述性狀態轉移(REST)作為一種專門為分布式調用而設計的輕量級架構技術,在構建SOA方面有著明顯的優勢。論文采用對象數據庫對GML進行存儲管理,探討如何利用REST架構技術實現GML空間數據的管理與共享。分析了REST架構的關鍵技術,設計了GML數據管理服務框架。詳細論述了基于微軟WCF框架的REST API的實現過程,最后實現了一個調用GML數據管理服務的數據管理系統。通過客戶端實例驗證表明REST適合于GML地理數據的管理與共享。

面向服務架構;表述性狀態轉移;地理標記語言;數據管理

地理標記語言(Geography markup language,GML)是開放式地理空間信息聯盟(Open geospatial consortium, OGC)推薦的用以描述地理數據的標準格式,在實際中有著廣泛的應用。隨著越來越多的空間數據使用 GML來表達,以及各種地理信息服務的不斷涌現,如何有效地管理這些數據,并提供這些數據的服務,是當前在GML領域亟待解決的問題之一[1]。在 GML的數據存儲方面,目前并沒有一個真正意義上的空間數據庫或者空間數據庫引擎能夠提供對GML空間數據進行有效的存儲與管理。由于GML數據存在著不同層次上的嵌套關系,其特殊的樹形結構同對象數據庫的嵌套對象模型非常吻合,所以將GML空間數據對象化存儲是管理 GML文檔不錯的選擇。在日益復雜的分布式網絡環境下,面向服務架構(Service oriented architecture,SOA)[2]作為一個新型的企業級分布式軟件架構思想,完全可以為地理信息服務的構建提供幫助,并且給用戶提供簡單易懂的地理信息服務接口。目前實現 SOA架構的方法有CORBA、EJB、Web Service和REST等,其中REST技術是為通過HTTP協議來進行分布式調用量身定制的架構。隨著GIS技術和REST架構方法的不斷成熟,國內外學者結合二者作了不少研究。DZENANA等[3]在分析了空間數據及其服務的基礎上,利用REST技術實現了可以利用標準的HTTP協議訪問空間數據的簡單服務。MAZZETTI等[4]從REST架構的角度分析了現有的地理信息服務,并探討了可能的REST的實現。毛峰等[5]結合REST與OGC規范,設計了一種面向資源的地理信息服務,從而實現信息共享與功能的互操作。張利利等[6]提出一種基于 REST架構模式的遙感影像服務方案,并結合 WCF框架實現了該遙感影像服務。如上所述,國內外的研究現狀主要集中在對REST技術應用于地理信息服務的探討和研究,且應用的 GIS數據格式為不同的 GIS數據生產廠商提供。實際上,REST特別適合于處理GML這種XML編碼格式的數據,本文作者在此基礎上提出一種基于REST架構模式的GML土地利用數據管理服務方案,并詳細介紹REST API的設計與實現過程。

1 GML數據存儲管理

本研究采用開源的純面向對象數據庫引擎 db4o(database for objects)[7]來實現GML空間數據存儲,該數據庫引擎為存儲任何復雜的對象提供了持久性的解決方案。

1.1 存儲粒度

在基于db4o的GML空間數據庫中,存儲粒度表示記錄與結點的對應關系,記錄的粒度主要有3種,分別為:節點級、子樹級和文檔級[8]。顧名思義,節點級表示每一個結點對應一個記錄(對象),子樹級表示一個子樹對應一個記錄(對象),文檔級則表示將整個文檔作為一個記錄(對象)。

由于 GML文檔由一個或者多個要素集組成,要素集由一個或多個要素組成,要素由其屬性(包括非空間屬性、空間屬性和拓撲屬性等)組成。要素是描述一個具體的地物對象的最小單位,任何 GML空間數據都是由要素組成的一個集合對象。因此本研究選擇的存儲粒度為子樹級存儲粒度,該子樹大小為一個要素。

1.2 映射方式

德克薩斯大學的LEONIDAS[9]提出了兩種基于對象數據庫的 XML映射技術。第一種是針對無模式的XML文檔,采用固定的對象數據管理組(Object data management group,ODMG)對象定義語言(Object define language,ODL)模式實例化XML對象。第二種是針對有模式的XML文檔,該方法對每一種XML元素類型映射為一個對象類型,對象之間的關系使用ODMG提供的類之間的聯系來實現。

由于 GML文件提供了模式,適合采用第二種對象映射方法,但根據GML的特點作者在此映射方法上作了改進。具體映射過程是將作為存儲粒度的要素映射為對象,要素的屬性結點則映射為對象的屬性,而不是也映射為對象,這樣做的目的是防止大量對象的產生,從而影響系統的性能。

GML模式具體的映射規則如下:

1) 將類型為 complexType作為存儲粒度的要素(GML中的元素)映射為對象;

2) 將類型為 simpleType的要素子節點元素映射為對象的屬性;

3) 內置的元素簡單數據類型(如 int,string等)映射為數據庫中相應的簡單數據類型;

4) 幾何類型(如 pointPropertyType,curver-PropertyType,surfacePropertyType等)統一映射為IList<PointF>類型,并設置要素對象的featureType屬性為具體的幾何類型(點,線,面等)。

根據GML空間數據的特點,由于要素的屬性(空間、非空間屬性)不包含子節點元素,所以要素的子節點元素被轉換為對象的屬性。

1.3 存儲順序

由于本研究采用子樹級存儲粒度,故這里還涉及到記錄的組織順序問題。記錄的存儲順序包括按深度優先存儲、按廣度優先存儲和按同類記錄聚集存儲 3種方案。

為了使得存儲GML順序同GML文檔的原始順序保持一致,同時也是為了實現起來更加方便,本研究采用深度優先的存儲方案。

2 REST架構關鍵技術

表述性狀態轉移(Representational state transfer,REST)并不是一種標準,而是一種面向資源的軟件架構風格,它使用包括 HTTP、URI、XML、MIME等一系列標準來實現[10]。REST將網絡看成是資源的集合,網絡中的每一個資源都是通過一個唯一的URI來標識,如一個GML圖層文檔(行政區圖層)可以標識為http://gisland/REST/GMLServices.svc/gmlDoc/xzq,這種將網絡看成資源集合的觀點非常貼切于我們對GML空間數據的認識,用于標識資源的URI也更容易理解和記憶。REST中所有的資源都是通過表述和HTTP標準方法(包括GET、POST、PUT和DELETE等)對其進行操作,如對一個GML圖層文檔(行政區圖層)進行XQuery查詢,可以構造一個XQuery語句,并將該XQuery語句以POST方式發送給http://gisland/REST/GMLServices.svc/gmlDoc/xzq/xquery,最后得到返回的結果,這種操作網絡資源的方式可以使得組件間的耦合度減小,并且在客戶端的實現難度大大降低。

在REST中,分布式是通過對資源的操作來實現的,并且資源被映射到相應的一套URI規則上,也就是說資源只和URI相關,與具體實現并無關聯,因此REST具有很好的解耦性。GML作為一種OGC推薦的空間數據的標準數據,同時其基于的數據格式XML也是網絡數據交換的標準格式,將 GML運用 REST技術構建空間數據網絡服務是一個不錯的選擇。

3 GML數據管理服務REST API設計

3.1 設計總線

由于 REST是一種對抽象為資源的對象進行標識、操作的網絡架構風格,結合 GML數據文檔包含有XML Schema模式文檔和GML實例文檔的特點[11],可以將該REST設計為如圖1所示的框架。

對于GML的XML Schema模式文檔,可以針對不同的模式文檔設定不同的資源服務標識,以便用戶方便快速地查看 GML文檔對應的模式文件。同時由于GML模式文檔是對GML實例文檔的格式定義,其包含了GML實例文檔中的要素包含的一些屬性字段,故在模式文檔REST服務中還提供了查詢該模式文檔對應的GML實例文檔要素中所含有的屬性字段服務。

圖1 GML數據管理服務框架Fig. 1 Framework of GML data management service

對于GML實例文檔,REST API提供了資源標識服務、地圖渲染服務、簡單的地圖查詢(包括圖查屬性和屬性查圖)服務和資源操作服務等。其中資源操作服務主要是對GML實例文檔進行XQuery查詢、更新等,這也是REST服務對GML數據操縱的關鍵。

3.2 XML Schema模式服務

GML模式服務采用資源標識的方式實現,每個模式都對應一個全局唯一的URI地址。由于URI是客戶端連接REST服務的接口,故URI的命名規則要做到顧名思義,并且具有一定的符合邏輯的層次感。

為了使得設計的REST資源標識服務遵循一致的規則,本文為模式服務設計的URI模板見表1。

其中資源標識服務的URI模板中第一個網絡層次(xmlSchema)代表的是該目錄為 XML Schema模式服務,第二個網絡層次({tdlyType})代表的是具體的土地利用類型(行政區、宗地、地類圖斑等)。由此可以根據不同的土地利用類型來查詢其對應的GML模式文檔,如 xmlSchema/xzq表示的是行政區的模式文檔URI,xmlSchema/zd表示的是宗地的模式文檔URI,GML要素屬性字段名查詢服務可以依此類推。

REST服務向客戶端輸出的資源內容的格式可以有很多種,可以是標準的XML和JSON等格式,也可以是自定義格式。由于XML Schema資源標識服務向客戶端輸出的資源內容需要為原始的XML Schema文檔,故其輸出的資源內容格式設置為 XML格式;GML要素屬性字段名查詢服務輸出的資源內容格式為JSON格式。

3.3 GML實例文檔服務

GML實例文檔包含的服務較多,具體的資源標識、地圖渲染、地圖查詢和資源操作等REST服務對應的URI模板如表2。

所有服務類型的服務URI模板都是以/gmlDoc為根目錄,表示這些服務都是 GML實例文檔提供的REST服務,{tdlyType}的含義同XML Schema資源標識服務,表示的是土地利用類型。

GML資源標識服務是為不同的土地利用類型返回對應GML實例文檔的REST服務,該資源標識服務向客戶端返回的數據類型為XML格式。

GML地圖渲染服務是對某一土地利用類型的GML實例文檔進行地圖渲染的服務。本研究實現一個簡易的網絡地圖服務(Web Map Service,WMS),采用的地圖渲染方式是根據用戶輸入的地圖圖片寬度(w)、高度(h)以及地圖范圍(minx,miny,maxx,maxy)在服務器端解析 GML數據動態生成地圖。由于該服務向客戶端返回的數據為對應動態渲染地圖的臨時URL地址,故其返回類型為字符串格式。

圖查屬性服務是根據在地圖上查詢選擇到的圖形要素(集)的屬性,其中{queryType}是指查詢的類型(包括點選、線選、矩形選擇和多邊形選擇),{coors}表示的是GML地圖坐標(對),該服務向客戶端返回的數據類型為JSON格式。

屬性查圖服務是REST API中提供的一種比較簡單的通過單一字段值查詢地圖的服務,其中{field}、{operator}和{value}分別代表的是待查詢的字段名、比較運算符和字段值,該服務向客戶端返回的數據類型是表示所有查詢到的要素(集)坐標對及其所有非空間屬性的JSON格式數據。

GML資源操作服務是REST API中提供的較為全面的對 GML實例文檔進行各種操作的服務,主要包括XQuery查詢和更新操作,其中{xqueryExp}表示的是 XQuery查詢、更新語句,該服務向客戶端返回的數據類型統一設置為XML格式。

表1 XML Schema模式服務對應的URI模板Table 1 URI templet of XML Schema service

表2 GML實例文檔服務對應的URI模板Table 2 URI templet of GML instance document service

4 REST API實現與應用

4.1 REST服務實現

隨著REST設計應用越來越廣泛,REST開發框架也是層出不窮,目前比較主流的開發框架有:微軟在.NET Framework3.5中引入的WCF,采用Java語言的 Axis2、CXF、Restlet、Gomba,采用 Python語言的Rails、Django,采用PHP語言的cakephp等。本研究設計的REST API為在WCF框架上采用C#語言進行的開發。

4.1.1 資源標識服務

資源標識服務包括有XML Schema資源標識服務和 GML資源標識服務,按照上一節對這兩個服務的設計原則,并且設置操作響應的 HTTP協議統一為GET 方式,分別對這兩個服務進行實現。

以XML Schema資源標識服務為例,該服務接口設置如下:

[OperationContract]

[WebGet(UriTemplate="/xmlSchema/{tdlyType}")]

System.Xml.XmlElement GetSchema(String tdly-Type);

4.1.2 GML要素屬性字段名查詢服務

要在服務器端查詢出 GML實例文檔中的要素含有的屬性字段名,需要對該實例文檔對應的 XML Schema文檔進行解析。對比不同的XML解析方法,本研究采用開源、非提取的 XML文檔解析API——VTD-XML[12]2.10 C#版本對XML Schema文檔進行解析,得出GML要素屬性名。

按照該服務的設計原則,設置服務器響應協議為GET,并調用VTD-XML API對該服務進行實現。

4.1.3 XQuery服務

XQuery服務主要是對GML實例文檔進行一些查詢和更新操作,以查詢為例,對普通的 XML文檔進行 XQuery查詢實現,可以使用微軟針對 XQuery1.0規范發布的一個 Microsoft.Xml.XQuery.dll動態鏈接庫[13]或者Altova公司提供的免費組件AltovaXML[14]。考慮到 GML具有空間數據的特殊性,對其進行XQuery查詢不僅包括屬性查詢還包括空間查詢,上面兩個API對實現XQuery空間查詢就顯得無能為力了。本研究借助第三方開源軟件包Saxon 9.2[15],利用該軟件包提供的擴展函數庫,在 XQuery查詢語句中調用.NET方法作為外部函數對GML文檔進行XQuery空間查詢。下面為Saxon調用的XQuery空間查詢語句的一個示例。

declare namespace ext = "clitype:Spatail.Spatial Relations?from=" + dllPath + "Spatial.dll";

for $b in doc("xzq.gml")/yf:TDLY/yf:XZQ

where ext:Contains($b//gml:posList,rectangle)

order by $b/yf:BSM

return $b;

按照該服務的設計原則,設置服務器響應協議為POST,并調用Saxon API對該服務進行實現。

4.1.4 GML地圖渲染服務

由于WMS采用在服務器端動態生成GML地圖的技術,當用戶輸入參數向服務器請求圖片時,服務器端在此過程中執行的操作包括:從db4o數據庫中查詢解析GML數據、渲染GML數據、將動態生成的臨時地圖圖片URL地址發送給客戶端。這個過程如圖2所示。

在 WEB服務器端生成臨時地圖時,首先使用VTD-XML解析GML實例文檔,然后利用.NET提供的GDI+繪圖接口對解析出來的地理信息繪制成地圖。

按照該服務的設計原則,設置服務器響應協議為GET,并調用VTD-XML API對該服務進行實現。

4.1.5 圖文互查服務

圖文互查服務包括圖查屬性服務和屬性查圖服務。

1) 圖查屬性服務

該服務是通過與地圖交互得到地圖信息的服務,在服務器端,通過 GML地圖坐標(對)構造標準的XQuery空間查詢語句,然后通過此 XQuery語句對GML文檔進行查詢,最后將屬性值返回。在瀏覽器客戶端,用戶與地圖交互的屏幕坐標(對)需要轉換為GML地圖坐標(對)方能調用此服務。由于該服務最后返回的屬性值是以JSON的形式表達的,這樣使得用戶可以很方便地在瀏覽器客戶端通過 JavaScript腳本語言將其以某種方式顯示出來。

按照該服務的設計原則,設置服務器響應協議為POST,并調用Saxon API對該服務進行實現。

2) 屬性查圖服務

該服務是對單個字段進行屬性查詢的服務,本研究根據用戶輸入的{field}、{operator}和{value} 3個參數構造一標準的 XQuery非空間查詢語句,然后通過此XQuery語句對GML文檔進行查詢,最后將查詢到的要素(集)坐標對和所有非空間屬性以JSON形式返回。在得到坐標(對)以后,在客戶端可以通過客戶端代碼(如JavaScript)以傳統的矢量式地圖(VML和SVG等)的方式將其繪制到瀏覽器上。按照該服務的設計原則,設置服務器響應協議為GET,并調用Saxon API對該服務進行實現。

圖2 客戶端調用地圖渲染服務的過程Fig. 2 Process of client call WMS

4.2 GML數據管理系統

本研究在根據已經發布的 REST服務,利用JavaScript/Ajax技術在客戶端調用 GML地理數據服務,實現了一個簡易的 GML數據管理系統。該系統提供了GML地理數據查看、GML地圖數據瀏覽、圖文互查、XQuery查詢與更新等基本功能。圖3所示為進行圖查屬性以及執行了 XQuery空間查詢后的系統界面圖。

通過此客戶端GML地圖管理系統的實例驗證,本研究設計實現的REST服務能夠很方便地對GML文檔數據進行查看與管理,系統的具有較快的響應速度。

圖3 GML數據管理系統界面Fig. 3 Interface of GML data management system

5 結語

1) 首先分析 REST架構的關鍵技術,然后根據GML文檔的特點結合REST風格設計了GML數據管理服務REST API,接著實現了GML數據文檔的Web服務,并詳細介紹了REST API的實現過程中的關鍵處理技術,最后搭建了一簡易的基于 REST的 GML數據管理系統。

2) 通過對該系統可靠性和響應速度的驗證,表明REST這種面向資源的架構風格非常適合于對基于XML編碼的GML地理數據的管理。

REFERENCES

[1] 陳建華. 原生模式GML空間數據管理機制研究[D]. 成都: 成都理工大學, 2008: 1-5.CHEN Jian-hua. Research on native mode GML spatial data management mechanism[D]. Chengdu: Chengdu University of Technology, 2008: 1-5.

[2] 譚永明, 蘇 斌. 面向服務架構體系的研究[J]. 計算機技術與發展, 2007, 17(3): 132-134.TAN Yong-ming, SU Bin. Research of service-oriented architecture [J]. Computer Technology and Development, 2007,17(3): 132-134.

[3] DZENANA M, HARIS K. Geospatial SOA using RESTful web services [C]// LUZAR-STIER V, JAREC I, BEKIC Z.Proceedings of the ITI 2009 31st Int Conf on Information Technology Interfaces. Zagreb, Croatia: University of Zagreb,2009: 199-204.

[4] MAZZETTI P, NATIVI S, CARON J. RESTful implementation of geospatial services for earth and space science applications [J].International Journal of Digital Earth, 2009, 2(1): 40-61.

[5] 毛 峰, 劉 婷, 劉仁義, 劉 南, 張 豐. 基于 REST 面向資源的地理信息服務設計[J]. 計算機工程, 2011, 37(8):238-240.MAO Feng, LIU Ting, LIU Ren-yi, LIU Nan, ZHANG Feng.Design of resource-oriented geospatial information service based on REST [J]. Computer Engineering, 2011, 37(8): 238-240.

[6] 張利利, 劉峻明, 張 旭, 于新文. 基于 REST架構模式的遙感影像數據服務設計[J]. 計算機應用, 2010, 30(S1): 57-59.ZHANG Li-li, LIU Jun-ming, ZHANG Xu, YU Xin-wen.Design of remote sensing image service based on REST [J].Journal of Computer Applications, 2010, 30(S1): 57-59.

[7] Db4objects, Inc. db4objects [EB/OL]. [2011-02-22]. http://www.db4o.com.

[8] 萬常選, 劉喜平. XML數據庫技術(第2版)[M]. 北京: 清華大學出版社, 2008: 72-77.WAN Chang-xuan, LIU Xi-ping. XML database technology (2nd edition) [M]. Beijing: Tsinghua University Press, 2008: 72-77.

[9] LEONIDAS F, RAMEZ E. Query engines for web-accessible XML data [C]// PETER M G, ATZENI A P, CERI S,PARABOSCHI S, RAMAMOHANARAO K, SNODGRASS R T. Proceeding of the 27th VLDB Conference. Roma, Italy:Morgan Kaufmann, 2001: 251-260.

[10] FIELDNIG R T. Architectural styles and the design of network-based software architectural doctoral dissertation [D].California: University of California Irvine, 2000: 76-106.

[11] Open Geospatial Consortium, Inc. OpenGIS geography markup language (GML) encoding Standard 3.2.1 [EB/OL]. [2011-06].http://www.opengeospatial.org/standards/gml.

[12] ZHANG J M. vtd-xml [EB/OL]. [2011-06]. http://vtd-xml.sourceforge. net.

[13] 胡立輝, 周春華. 基于.NET的 XQuery處理器的實現及性能分析[J]. 長沙理工大學學報: 自然科學版, 2005, 2(2): 57-62.HU Li-hui, ZHOU Chun-hua. Implementation and performance analysis of an XQuery processor based on .NET [J]. Journal of Changsha University of Science and Technology: Natural Science, 2005, 2(2): 57-62.

[14] AltovaXML. AltovaXML-XSLT 1.0/2.0 Engine, XQuery Engine,XML Validator [EB/OL]. [2011-06]. http://www.altova.com/altovaxml.html.

[15] KAY M H. The SAXON XSLT and XQuery processor [EB/OL].[2011-06]. http://saxon.sourceforge.net.

GML data management using REST

ZHANG Shan-shan1,2, WU Bao-you1,2, SUI Ning-ning1,2, QIN Rui1,2
(1. Key Laboratory of Metallogenic Prediction of Nonferrous Metals, Ministry of Education,Central South University, Changsha 410083, China;2. School of Geosciences and Info-Physics, Central South University, Changsha 410083, China)

It is necessary that geography markup language (GML) which uses XML as the encoding information to express the geographic data provides data sharing and interoperability. As the application of GML is more extensive,GML data storage and management is one of the hot spots. With the development of the network technology and GIS technology, service oriented architecture (SOA) was widely used in geographic information services. Representational state transfer (REST) is a lightweight architecture technology for distributed call, which has a distinct advantage in building SOA. The object database is used in GML data storage, and how to use REST architecture technology to realize the management and sharing of GML spatial data is mainly discussed. First, the key REST architecture technology and the design guidelines of GML data management service were introduced. Then the process of realizing the API based on the WCF framework was introduced. Finally, a data management system that is called GML data management service is achieved. This system shows that REST is ideal for GML geographic data management.

service oriented architecture (SOA); representational state transfer (REST); geography markup language(GML); data management

P208

A

1004-0609(2012)03-0954-07

湖南省自然科學基金資助項目(07JJ6076)

2011-12-01;

2012-01-04

張山山,副教授,博士;電話:13974991331;E-mail: z33@sohu.com

(編輯 何學鋒)

猜你喜歡
資源服務
基礎教育資源展示
一樣的資源,不一樣的收獲
服務在身邊 健康每一天
今日農業(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
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
主站蜘蛛池模板: 日韩精品亚洲人旧成在线| 中文国产成人精品久久| 国产精品一区在线观看你懂的| 国产精品视频导航| 国产欧美日韩va另类在线播放| 91小视频在线| a毛片在线播放| 中文字幕欧美日韩高清| 久青草免费在线视频| 国产精选自拍| 日韩在线永久免费播放| 国产老女人精品免费视频| 国产玖玖玖精品视频| 国国产a国产片免费麻豆| 日韩精品高清自在线| 免费一级无码在线网站| 亚洲经典在线中文字幕| 国产尹人香蕉综合在线电影| 国产国产人成免费视频77777| 欧美性天天| 精品人妻无码区在线视频| 亚洲香蕉伊综合在人在线| 香蕉综合在线视频91| 国产福利影院在线观看| 久久综合干| 毛片基地视频| 欧美日韩成人| 亚洲天堂网2014| 99ri国产在线| 制服无码网站| 日本成人福利视频| 国产SUV精品一区二区| 日a本亚洲中文在线观看| 99国产精品国产高清一区二区| 无码人中文字幕| 欧美日韩成人在线观看| 精品亚洲麻豆1区2区3区| 熟妇无码人妻| 毛片免费在线| 一本久道久久综合多人| 国产午夜一级淫片| 亚洲成a人片在线观看88| 国产精品视频系列专区| 热re99久久精品国99热| 亚洲精品亚洲人成在线| 999精品在线视频| 天堂成人在线| 试看120秒男女啪啪免费| 丁香亚洲综合五月天婷婷| 老司机精品久久| 国产精品极品美女自在线网站| 风韵丰满熟妇啪啪区老熟熟女| 日本不卡视频在线| 亚洲成人一区二区| 91免费国产高清观看| 视频在线观看一区二区| 香蕉久久国产精品免| 国产美女久久久久不卡| 久久女人网| 欧美激情视频二区| 国产AV无码专区亚洲精品网站| 人妻丰满熟妇αv无码| 国产性生交xxxxx免费| 国产人成在线观看| 中文字幕亚洲第一| 粗大猛烈进出高潮视频无码| 9久久伊人精品综合| 少妇精品网站| 亚洲午夜久久久精品电影院| 依依成人精品无v国产| 亚洲码在线中文在线观看| 青青草欧美| 国产 在线视频无码| 亚洲色图欧美| 成人免费视频一区| 激情六月丁香婷婷四房播| 国产欧美亚洲精品第3页在线| 无码高潮喷水在线观看| 成人综合在线观看| 人妻无码中文字幕一区二区三区| 99久久这里只精品麻豆| 国产草草影院18成年视频|