《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 本體驅(qū)動(dòng)ETL過程的設(shè)計(jì)研究
本體驅(qū)動(dòng)ETL過程的設(shè)計(jì)研究
來源:微型機(jī)與應(yīng)用2010年第22期
阮文娟1,劉勇軍1,張五生2
(1.武漢理工大學(xué) 管理學(xué)院,湖北 武漢430070;2.廈門大學(xué) 信息科學(xué)與技術(shù)學(xué)院,福建 廈門3
摘要: 針對(duì)建立數(shù)據(jù)倉(cāng)庫(kù)時(shí)數(shù)據(jù)源存在結(jié)構(gòu)多樣性和語(yǔ)義異質(zhì)性的問題,提出了本體驅(qū)動(dòng)ETL過程的設(shè)計(jì)方法。通過元數(shù)據(jù)抽象以及語(yǔ)義建立本體,并運(yùn)用OWL實(shí)現(xiàn)本體;再根據(jù)局部本體與全局本體之間的關(guān)系建立本體映射;最后運(yùn)用本體映射和本體推理驅(qū)動(dòng)ETL過程。該方法能有效解決數(shù)據(jù)源異構(gòu)問題,并實(shí)現(xiàn)ETL過程的部分自動(dòng)化。
關(guān)鍵詞: ETL OWL 本體
Abstract:
Key words :

摘  要: 針對(duì)建立數(shù)據(jù)倉(cāng)庫(kù)時(shí)數(shù)據(jù)源存在結(jié)構(gòu)多樣性和語(yǔ)義異質(zhì)性的問題,提出了本體驅(qū)動(dòng)ETL過程的設(shè)計(jì)方法。通過元數(shù)據(jù)抽象以及語(yǔ)義建立本體,并運(yùn)用OWL實(shí)現(xiàn)本體;再根據(jù)局部本體與全局本體之間的關(guān)系建立本體映射;最后運(yùn)用本體映射和本體推理驅(qū)動(dòng)ETL過程。該方法能有效解決數(shù)據(jù)源異構(gòu)問題,并實(shí)現(xiàn)ETL過程的部分自動(dòng)化。
關(guān)鍵詞: ETL;OWL;本體

    隨著數(shù)據(jù)挖掘技術(shù)的不斷發(fā)展,數(shù)據(jù)倉(cāng)庫(kù)已經(jīng)能夠有效地將數(shù)據(jù)集成到結(jié)構(gòu)一致的數(shù)據(jù)存儲(chǔ)環(huán)境中,從而使分散、不一致的操作數(shù)據(jù)轉(zhuǎn)換為方便查詢和分析所需的信息。但由于數(shù)據(jù)源具有異構(gòu)性,企業(yè)需要一個(gè)能夠從所有平臺(tái)和環(huán)境中抽取數(shù)據(jù),再將數(shù)據(jù)轉(zhuǎn)換后加入目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)的高效處理過程,這個(gè)過程就是數(shù)據(jù)的抽取、轉(zhuǎn)換、裝載,即ETL(Extract-Transform-Load)。
    數(shù)據(jù)源異構(gòu)問題主要表現(xiàn)在:(1)結(jié)構(gòu)的多樣性,如不同的數(shù)據(jù)庫(kù),不同的數(shù)據(jù)類型和不同的概要設(shè)計(jì)等;(2)語(yǔ)義異質(zhì)性,這包括不同的命名定義和不同的表示格式[1]。
    基于傳統(tǒng)的XML元數(shù)據(jù)編碼方法的ETL過程已經(jīng)不能很好地解決數(shù)據(jù)源異構(gòu)問題。首先,XML在處理元數(shù)據(jù)語(yǔ)義上存在兩個(gè)問題[2]:(1)同一概念有多種詞匯表示;(2)同一個(gè)詞有多種含義(概念)。因此XML無法對(duì)元數(shù)據(jù)進(jìn)行準(zhǔn)確的描述,這會(huì)直接影響ETL過程的效果。其次,必要的轉(zhuǎn)換和內(nèi)部模式映射依舊依賴手工操作,這不僅費(fèi)時(shí)而且還容易出錯(cuò)。
    為此,本文提出了一種本體驅(qū)動(dòng)ETL過程的設(shè)計(jì)方法。
1 ETL和本體論
1.1 ETL概念

    ETL是負(fù)責(zé)將數(shù)據(jù)從源加載到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)的過程,也是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的重要環(huán)節(jié)。ETL包括以下三個(gè)過程[3]:(1)抽取,數(shù)據(jù)抽取是捕獲數(shù)據(jù)源的過程,即將數(shù)據(jù)從各種原始的業(yè)務(wù)系統(tǒng)中讀取出來,這是所有工作的前提。(2)轉(zhuǎn)換,按照預(yù)先設(shè)計(jì)的規(guī)則將抽取得到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換、清洗,處理一些冗余、歧義、不完整、違反業(yè)務(wù)規(guī)則的數(shù)據(jù),統(tǒng)一數(shù)據(jù)的粒度,使本來異構(gòu)的數(shù)據(jù)格式統(tǒng)一起來。(3)裝載,將轉(zhuǎn)換后的數(shù)據(jù)按照計(jì)劃增量全部導(dǎo)入到數(shù)據(jù)倉(cāng)庫(kù)中。
    ETL作為DW的核心和靈魂,大約占整個(gè)DW項(xiàng)目60%~80%的時(shí)間。在現(xiàn)實(shí)應(yīng)用中ETL的執(zhí)行效率往往成為實(shí)施DW項(xiàng)目的瓶頸,而ETL規(guī)則的設(shè)計(jì)和實(shí)施又是其中工作量最大的部分。
1.2 本體論和OWL
    Ontology概念起源于哲學(xué)領(lǐng)域,即“對(duì)世界上客觀存在物的系統(tǒng)描述”。但其明確定義是在1991年由Neches[4]等人引入人工智能領(lǐng)域。其后在1993年Gruber和1997年Borst也給出了Ontology的定義。直到1998年Studer[5]等人在前人基礎(chǔ)上給出了較為廣泛接受的概念,即“Ontology是共享概念模型的明確的形式化規(guī)范說明”,并指出該定義包含四層含義:概念模型(conceptualization)、明確(explicit)、形式化(formal)和共享(share)。此外2001年Hendler[6]也試圖作出解釋。
    W3C為本體的開發(fā)提供了一種網(wǎng)絡(luò)本體語(yǔ)言O(shè)WL[7](Web Ontology Language),該語(yǔ)言包含了三種表達(dá)能力依次增強(qiáng)的子語(yǔ)言,即OWL Lite、OWL DL和OWL Full。OWL Lite支持只需要一個(gè)分類層次和簡(jiǎn)單約束的用戶;OWL DL 支持需要最強(qiáng)表達(dá)能力的推理系統(tǒng)的用戶,且這個(gè)推理系統(tǒng)必須確保計(jì)算的完全性和可判定性,OWL DL包括了OWL語(yǔ)言的所有語(yǔ)言成分,但使用時(shí)必須符合一定的約束,受到一定的限制;OWL Full支持那些不需要可計(jì)算保證的,但能在完全自由的RDF上進(jìn)行最強(qiáng)描述的用戶,包含OWL的全部語(yǔ)言成分并取消了OWL DL中的限制。
    相比于傳統(tǒng)XML,OWL有更豐富的建模原語(yǔ),能夠表達(dá)語(yǔ)義并描述復(fù)雜邏輯關(guān)系,可以解決XML無法對(duì)元數(shù)據(jù)進(jìn)行準(zhǔn)確描述的問題。而且本體語(yǔ)言還可以通過建立本體映射,并運(yùn)用本體推理來實(shí)現(xiàn)部分必要轉(zhuǎn)換和內(nèi)部模式映射的自動(dòng)化。因此引入本體驅(qū)動(dòng)ETL過程能有效地解決數(shù)據(jù)源異構(gòu)問題,并實(shí)現(xiàn)ETL過程的部分自動(dòng)化。
1.3 本體驅(qū)動(dòng)ETL的一般步驟
    運(yùn)用本體理論指導(dǎo)ETL過程的一般步驟為確定領(lǐng)域本體、尋找本體映射以及選擇適當(dāng)?shù)谋倔w推理規(guī)則。具體過程為:
    (1)用本體論的理論知識(shí)指導(dǎo)元數(shù)據(jù)的確立,然后運(yùn)用本體語(yǔ)言建立本體。
    (2)建立局部本體到全局本體之間的關(guān)系,即本體映射。包括一個(gè)領(lǐng)域基本概念之間的層次關(guān)系,同時(shí)要滿足不同局部本體之間的相互查詢需求。目前有很多種本體映射的方法,如GLUE[8]方法是一種利用概念的實(shí)例作為計(jì)算概念間相似度的依據(jù),然后通過機(jī)器學(xué)習(xí)技術(shù)尋找單獨(dú)分開存儲(chǔ)的概念與自治本體之間的語(yǔ)義映射;SF(Similarity Flooding)[9]是一種基于相鄰概念節(jié)點(diǎn)之間的相似傳遞性的算法;H-MATCH[10]是一種動(dòng)態(tài)分布式本體匹配的算法。
    (3)本體推理,即通過一定的規(guī)則推理出本體內(nèi)部或是局部本體與全局本體之間的關(guān)系,來幫助確立映射關(guān)系。KAON2[11]是一個(gè)OWL推理機(jī)制,帶SWRL子集DLsafe擴(kuò)展;Pellet[12]是一個(gè)用Java構(gòu)建的推理機(jī)制,專門為OWL推理設(shè)計(jì)的,這兩種工具都可以用來推理。
    (4)將本體推理所得到的映射轉(zhuǎn)化為熟悉的ETL過程。
2 基于本體的ETL架構(gòu)設(shè)計(jì)
    在對(duì)本體論和ETL過程研究的基礎(chǔ)上,本文提出了基于本體的ETL架構(gòu)設(shè)計(jì),這一架構(gòu)包括三個(gè)主要階段:(1)元數(shù)據(jù)抽象階段:任務(wù)是從數(shù)據(jù)源中抽取元數(shù)據(jù),然后將元數(shù)據(jù)抽象為本體。它包括局部本體和全局本體的定義。(2)本體映射階段:目的就是找到局部本體和全局本體內(nèi)部以及它們之間的語(yǔ)義關(guān)聯(lián),解決不同本體間的知識(shí)共享和重用使使用者更好地認(rèn)識(shí)結(jié)構(gòu)和語(yǔ)義領(lǐng)域的異構(gòu)。本體映射的方法之一是計(jì)算兩個(gè)本體的相似性。(3)基于ETL規(guī)則的本體推理階段:即根據(jù)ETL的一般規(guī)則來制定本體推理規(guī)則,幫助從映射關(guān)系中找到隱含的與相沖突的之間的關(guān)系。如果數(shù)據(jù)源更傾向于用自動(dòng)化過程開發(fā),則對(duì)映射階段進(jìn)行描述的推理至關(guān)重要,特別是ETL過程。從數(shù)據(jù)源到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)的ETL過程如圖1所示。

3 本體驅(qū)動(dòng)的ETL過程
    假設(shè)有兩個(gè)主要實(shí)體,即客戶和訂單,整個(gè)設(shè)置如表1所示。一個(gè)客戶有一個(gè)名字(包括他/她的姓和名)和相應(yīng)的地址(其中包括他/她的國(guó)家、城市和街道)。一個(gè)訂單包括一個(gè)特定的日期,其格式可以為“日/月/年”或“月/日/年”。訂單的價(jià)格有美元和人民幣兩種貨幣表現(xiàn)形式。還有購(gòu)貨數(shù)量,其訂貨形式為“零售”或“批發(fā)”。而且有兩個(gè)數(shù)據(jù)源分別是以O(shè)racle數(shù)據(jù)庫(kù)和SQL Server 2005存儲(chǔ)客戶購(gòu)買商品的資料。

3.1 本體建立
3.1.1 建立局部本體

    在構(gòu)建局部本體前,先用本體理論指導(dǎo)理清字段間的關(guān)系,需明確以下關(guān)系:字段“country”、“city”和“street”是字段“address”的一部分;字段“mmddyy”和“ddmmyy”是字段“date”的不同類型;字段“retail”和“wolesale”是字段“amount”的兩種售出形式。
    在明確了上述關(guān)系的基礎(chǔ)上,開始建立局部本體。以表1中數(shù)據(jù)源1(DS1)為例進(jìn)行說明,采用數(shù)據(jù)源的名字作為局部本體owl名,每個(gè)表對(duì)應(yīng)一個(gè)類(概念),實(shí)例數(shù)據(jù)源1的DBMS為Oracle,以下是為DS1建立局部本體的主要OWL語(yǔ)句。
<owl:Class rdf:ID="#s_customer"/>//定義客戶類中的元素
<owl:DatatypeProperty rdf:ID="s_table">
    <rdfs:range rdf:resource="http://www.w3.org/2001/
XMLSchema#string"/>
    <rdfs:domain rdf:resource="#s_customer"/>
</owl:DatatypeProperty>
<owl:Class rdf:ID="cid">
    <rdfs:subClassOf rdf:resource="#s_customer"/>
    </owl:Class>
3.1.2 建立全局本體
    全局本體可以通過集成各個(gè)數(shù)據(jù)源所包括的領(lǐng)域信息而得到。它就像一個(gè)共享的詞匯庫(kù),建立了數(shù)據(jù)源領(lǐng)域的知識(shí)模型,且為數(shù)據(jù)源提供了公共的語(yǔ)義描述,從而做到將系統(tǒng)的全局視圖進(jìn)行語(yǔ)義化描述,從而解決不同局部本體之間的語(yǔ)義異構(gòu)性。
    對(duì)于全局本體元素的定義基本可以借鑒對(duì)DS1元素的定義。建立全局本體還有一個(gè)重要的任務(wù)就是確定術(shù)語(yǔ),從而對(duì)數(shù)據(jù)源有一個(gè)全局的把握。本例的術(shù)語(yǔ)有:客戶、訂單、地址、名字、數(shù)額、價(jià)格和日期。
3.2 本體映射
    本體映射有多種方法,在實(shí)際應(yīng)用中,可以將這些方法結(jié)合起來使用。因此發(fā)現(xiàn)以下關(guān)系:
<owl:Class rdf:ID="city">        //表明city與street是
不相交的關(guān)系。
<rdfs:subClassOf rdf:resource="# s_customer "/>
   <owl:disjointWith>
   <owl:Class rdf:ID="street">
    </owl:disjointWith>  
</owl:Class>
    以上是運(yùn)用OWL DL描述映射關(guān)系包括層次、等價(jià)、交集、并集、互補(bǔ)和不相交關(guān)系。在此運(yùn)用OWL DL提供的rdfs:用subClassOf聲明一個(gè)類是通過另一個(gè)或多個(gè)類的子類創(chuàng)建層次關(guān)系,用equivalentProperty以描述本體中屬性間的等價(jià)關(guān)系,用disjointWith描述了類之間不相交關(guān)系。
3.3 基于ETL規(guī)則的本體推理
    通過單純的本體映射,只是找出了本體之間存在的一般關(guān)系。還需要運(yùn)用基于適當(dāng)規(guī)則的本體推理進(jìn)一步指導(dǎo)ETL過程,即基于ETL規(guī)則的本體推理。
    通過本體推理,可以找出每一個(gè)數(shù)據(jù)和數(shù)據(jù)倉(cāng)庫(kù)之間的關(guān)系,例如:等價(jià)關(guān)系、包含關(guān)系、父子關(guān)系、兄弟關(guān)系。對(duì)于本例,通過本體推理可以發(fā)現(xiàn)如下關(guān)系:(1)等價(jià)關(guān)系。id1字段等價(jià)于id2字段,并且有相同的關(guān)系,從而推出字段id1與字段tid等價(jià)。(2)包含關(guān)系。字段cus_address與字段country、 city和street是包含關(guān)系,因字段cus_address與字段address等價(jià),從而可以推導(dǎo)出字段address也包含字段country、city和street 。(3)兄弟關(guān)系。很容易發(fā)現(xiàn)每個(gè)類下面的屬性之間都是兄弟關(guān)系,即互不相交。
    在已經(jīng)明確以上關(guān)系的情況下,還需要用ETL規(guī)則指導(dǎo)本體推理。為了完成ETL過程,需要把DS1中的city、street和country字段通過一定的規(guī)則加載成為DW中的address字段。因city、 street和country三個(gè)字段是互不相交的,可知DS1中的city、street和country字段可以構(gòu)成DW中的address字段。在ETL規(guī)則和推理規(guī)則的指導(dǎo)下可知city、street和country三個(gè)字段必須先組合在一起,然后再加載到目標(biāo)數(shù)據(jù)庫(kù)中。
    同理,可以推導(dǎo)出從name字段中抽取出firstname和lastname兩個(gè)字段。為了完成數(shù)據(jù)源字段name加載到目標(biāo)數(shù)據(jù)庫(kù),根據(jù)ETL規(guī)則需要將字段name拆分成字段firstname和字段lastname,然后再加載到目標(biāo)數(shù)據(jù)庫(kù)。
    因price字段有兩種貨幣形式,在把該字段從數(shù)據(jù)源加載到目標(biāo)數(shù)據(jù)庫(kù)的過程中需要注意將數(shù)據(jù)源的貨幣先轉(zhuǎn)換成對(duì)應(yīng)目標(biāo)數(shù)據(jù)庫(kù)的字段或是對(duì)應(yīng)的中間字段,然后再加載到目標(biāo)數(shù)據(jù)庫(kù)。在實(shí)際ETL過程中先將該字段過濾,然后對(duì)格式與目標(biāo)數(shù)據(jù)庫(kù)不一致的price字段進(jìn)行格式轉(zhuǎn)換。
3.4 本體驅(qū)動(dòng)的ETL過程
    經(jīng)過本體映射和推理,得到了一系列的相關(guān)關(guān)系。然后在上述基礎(chǔ)上完成本例的數(shù)據(jù)從數(shù)據(jù)源到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)的加載過程,具體步驟為:
    (1)確定簡(jiǎn)單操作及可以直接從源到目標(biāo)的操作。
    (2)從源節(jié)點(diǎn)開始引進(jìn)ETL數(shù)據(jù)轉(zhuǎn)換操作,對(duì)相對(duì)復(fù)雜的轉(zhuǎn)化過程引入中間節(jié)點(diǎn);然后從中間節(jié)點(diǎn)出發(fā),繼續(xù)采取額外的轉(zhuǎn)換直至到達(dá)目標(biāo)節(jié)點(diǎn)。
    (3)結(jié)合ETL規(guī)則做最后的規(guī)范,如圖2所示。

    說明:對(duì)于數(shù)據(jù)源中的“customer”、“order”、“firstname”和“lastname”等字段可以直接從源加載到目標(biāo)。字段“street”、“country”和“city”三者合在一起可以構(gòu)成目標(biāo)字段“address”。而“date”字段需通過轉(zhuǎn)換,“name”字段需要拆分,“amount”字段需要過濾。對(duì)于“price”字段,首先過濾,然后轉(zhuǎn)換。最后用ETL規(guī)則規(guī)范整個(gè)過程。
    本文提出了一個(gè)本體驅(qū)動(dòng)的ETL過程的架構(gòu)模型;在此基礎(chǔ)上,建立了本體、找出了本體間的映射并在ETL規(guī)則的基礎(chǔ)上進(jìn)行了本體推理;最后通過實(shí)例圖表的方式展現(xiàn)了本體驅(qū)動(dòng)ETL過程。本體的應(yīng)用使ETL過程更加靈活、高效,并且架構(gòu)中的ETL過程可以部分實(shí)現(xiàn)自動(dòng)化,從而解決了數(shù)據(jù)源結(jié)構(gòu)異構(gòu)和語(yǔ)義異構(gòu)的集成問題。

參考文獻(xiàn)
[1] ZHANG Zhuo Lun,WANG Su Fen.A framework model  study for ontology-driven ETL processes[C].IEEE International Conference on Wireless Communications, Networking and Mobile computing, 2008.
[2] 鄧志鴻,唐世渭,張銘,等.Ontology研究綜述[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2002,38(5):730-737.
[3] 張忠平,趙瑞珍.基于元數(shù)據(jù)驅(qū)動(dòng)的ETL架構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(6):61-63.
[4] NECHES R, FIKES R E, GRUBER T R, et al. Enabling  technology for knowledge sharing[J]. Artificial Intelligence,1991,12(3):36-56.
[5] STUDER R, BENJAMINS V R, FENSEL D. Knowledge engineering: principles and methods[J]. Data and Knowledge Engineering, 1998, 25:161-197.
[6] HENDLER J A. Agents and the semantic web[J]. IEEE Intelligent Systems, 2001,16(2):30-37.
[7] W3C Candidate Recommendation.OWL Web Ontology Language Guide[EB/OL].[2003-08-18].http://www.w3.org/TR/2003/CR-owl-guide-20030818/.
[8] ANHAI D, JAYANT M, PEDRO D, et al. Learning to map between ontologies on the semantic web[C].Proceedings of the Eleventh International World Wide Web Conference, 2002.
[9] MELNIK S,GARCIA-MOLINA H,RAHM E. Similarity  flooding: a versatile garph matching algorithm[C]. On Data Engineering(ICDE),2002.
[10] CASTANO S, FERRARA A, MONTANELLI S. An algorithm for dynamically matching ontologies in peer based systems Berlin[C]. Proc of the 1st Workshop on Semantic Web and Databases,2003,231-250.
[11] KAON2[EB/OL].[2008-01-14].http://kaon2.semanticweb.org/.
[12] Pellet:OWL 2 Reasoner for Java[EB/OL].[2008-10-27]. http://clarkparsia.com/pellet.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲日本欧美天堂| 久久久精彩视频| 欧美在线观看网站| 亚洲欧美成人一区二区在线电影 | 亚洲人成艺术| 亚洲黄色免费网站| 亚洲国产另类精品专区| 欧美在线一级视频| 欧美综合国产| 亚洲电影免费观看高清| 久久成人在线| 亚洲国产精品ⅴa在线观看 | 国产精品三级视频| 国产精品毛片va一区二区三区| 欧美日韩一本到| 欧美午夜免费电影| 国产精品久久久久9999| 国产精品视频一二| 国产视频欧美| 黄色精品在线看| 怡红院精品视频| 亚洲国产精品电影| 亚洲精品一线二线三线无人区| 亚洲精品久久嫩草网站秘色| 日韩五码在线| 亚洲午夜久久久| 亚洲欧美另类国产| 欧美在线视频免费播放| 亚洲黄网站在线观看| 亚洲精品一线二线三线无人区| 夜久久久久久| 亚洲欧美韩国| 久久国产精品亚洲77777| 久久人人爽人人爽爽久久| 欧美成va人片在线观看| 欧美日韩一卡二卡| 国产精品影院在线观看| 一区二区三区在线高清| 亚洲欧洲精品天堂一级| 亚洲一区二区三区在线观看视频| 亚洲欧美在线磁力| 亚洲国产精品电影在线观看| a91a精品视频在线观看| 亚洲欧美国产毛片在线| 久久人人爽爽爽人久久久| 欧美劲爆第一页| 国产精品丝袜白浆摸在线| 一区在线影院| 一区二区三区视频免费在线观看| 亚洲欧美国产一区二区三区| 亚洲国产成人精品久久久国产成人一区| 亚洲人成久久| 亚洲欧美国产77777| 久久亚洲春色中文字幕久久久| 欧美极品影院| 国产伦精品一区| 亚洲国产精品一区二区三区| 一区二区久久久久久| 欧美一区二区三区四区夜夜大片| 亚洲日本在线视频观看| 午夜精品久久久久久久| 美国成人直播| 国产精品视频免费观看www| 狠狠做深爱婷婷久久综合一区| 91久久极品少妇xxxxⅹ软件| 亚洲在线观看视频| 亚洲精品一区二区三区av| 香蕉国产精品偷在线观看不卡| 蜜桃av久久久亚洲精品| 国产精品多人| 亚洲国产精品ⅴa在线观看| 亚洲午夜精品一区二区| 亚洲破处大片| 欧美一区二区黄| 欧美日本不卡| 韩国精品主播一区二区在线观看| aa级大片欧美三级| 亚洲国产裸拍裸体视频在线观看乱了中文 | 激情另类综合| 亚洲一区二区三区777| 亚洲精品一区中文| 久久久久99| 国产精品少妇自拍| 亚洲欧洲精品一区二区三区不卡 | 亚洲风情在线资源站| 亚洲综合色噜噜狠狠| 欧美激情91| 狠狠久久亚洲欧美| 亚洲免费视频观看| 亚洲视频精选在线| 欧美激情国产精品| 激情一区二区| 性xx色xx综合久久久xx| 亚洲网站啪啪| 欧美精品性视频| 在线观看国产精品淫| 欧美一区二区免费观在线| 亚洲欧美日韩国产中文在线| 欧美精品久久一区二区| 在线观看av不卡| 久久国产一二区| 欧美在线|欧美| 国产精品久久久久久福利一牛影视| 亚洲精品欧美在线| 亚洲精品中文字幕在线| 美国成人直播| 在线观看久久av| 亚洲国产欧美精品| 久久久亚洲精品一区二区三区| 国产精品尤物| 亚洲一区精品在线| 亚洲综合999| 国产精品盗摄一区二区三区| 日韩视频第一页| 一区二区三区国产精品| 欧美人妖另类| 一本色道精品久久一区二区三区| 一区二区高清视频| 欧美日韩不卡视频| 亚洲精品久久久久久一区二区| 亚洲美女av黄| 欧美另类69精品久久久久9999| 亚洲国产婷婷| 夜夜狂射影院欧美极品| 欧美精品成人| 亚洲欧洲中文日韩久久av乱码| 亚洲三级网站| 欧美国产精品专区| 亚洲伦理在线| 亚洲一区欧美一区| 国产老女人精品毛片久久| 亚洲女性喷水在线观看一区| 欧美亚洲网站| 国产日韩欧美精品在线| 久久精品盗摄| 国产女优一区| 久久不射中文字幕| 欧美不卡在线| 最新中文字幕亚洲| 宅男精品视频| 国产精品欧美精品| 午夜国产精品视频免费体验区| 久久www成人_看片免费不卡| 国产视频精品xxxx| 亚洲国产成人av| 欧美精品综合| 中日韩男男gay无套| 欧美制服丝袜第一页| 国内不卡一区二区三区| 亚洲精品一级| 国产精品扒开腿做爽爽爽视频| 亚洲欧美在线一区二区| 久久尤物视频| 日韩一区二区精品葵司在线| 亚洲女性喷水在线观看一区| 国产日韩一区二区三区在线播放 | 日韩亚洲欧美成人| 国产精品久久久久久超碰| 欧美一区二区大片| 欧美国产在线电影| 亚洲无限乱码一二三四麻| 久久精品视频一| 亚洲国产裸拍裸体视频在线观看乱了| 中文久久精品| 国内精品久久国产| 亚洲深夜福利| 国产一区深夜福利| 日韩视频不卡中文| 国产欧美日韩免费| 亚洲精品视频在线看| 国产精品亚洲第一区在线暖暖韩国| 亚洲第一区在线观看| 欧美片在线观看| 午夜精品国产| 欧美激情久久久久| 午夜精品一区二区三区四区| 欧美第一黄网免费网站| 亚洲午夜激情免费视频| 欧美成人69| 午夜精品久久久久久久久久久久 | 欧美激情一区二区久久久| 亚洲午夜影视影院在线观看| 久久综合久久美利坚合众国| 9人人澡人人爽人人精品| 久久久精品久久久久| 99精品国产在热久久婷婷| 老司机久久99久久精品播放免费| 一区二区三区精品| 欧美成人网在线| 午夜精彩视频在线观看不卡| 欧美日韩日日夜夜| 91久久精品国产| 国产私拍一区| 亚洲小说欧美另类社区| 亚洲第一天堂无码专区| 欧美主播一区二区三区| 日韩午夜在线观看视频| 欧美成人a视频| 久久精品视频播放| 国产精品一区二区在线观看不卡|