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

一組相關(guān)XML數(shù)據(jù)文件的數(shù)據(jù)類識(shí)別方法

2014-10-11 06:23:42李賽男余金山

李賽男,余金山

(華僑大學(xué) 計(jì)算機(jī)科學(xué)與計(jì)算學(xué)院,福建 廈門361021)

可擴(kuò)展標(biāo)記語言(extensible markup language,XML)數(shù)據(jù)綁定是指將數(shù)據(jù)從一些XML文件中取出,通過程序表示這些數(shù)據(jù)的過程.即把數(shù)據(jù)綁定到計(jì)算機(jī)能夠理解且可以操作的某種內(nèi)存結(jié)構(gòu)中[1],大多數(shù)是綁定到類對(duì)象實(shí)例上.XML數(shù)據(jù)綁定隱藏了XML數(shù)據(jù)的具體結(jié)構(gòu),方便程序直接使用XML文檔中的數(shù)據(jù)內(nèi)容,使得XML數(shù)據(jù)能夠直接轉(zhuǎn)換為可處理的業(yè)務(wù)數(shù)據(jù)[2].目前,將XML數(shù)據(jù)綁定到Java對(duì)象的框架有 XStream,JAXB,XMLBeans,Castor和JiBX[2-6].這些 XML綁定框架的關(guān)鍵是XML數(shù)據(jù)對(duì)應(yīng)數(shù)據(jù)類的獲得,即根據(jù)XML模式文件按一定規(guī)則生成的,或用戶自己編寫綁定映射規(guī)則再字節(jié)碼生成.它們可以很好地對(duì)遵循同個(gè)XML模式文件約束的一組XML文件進(jìn)行XML數(shù)據(jù)綁定.但要解決來自相同應(yīng)用系統(tǒng)中,遵循不同XML模式文件的XML文件的數(shù)據(jù)綁定,會(huì)有數(shù)據(jù)類冗余、生成類系統(tǒng)龐大等問題.基于此,本文提出一種從一組相關(guān)XML數(shù)據(jù)文件的數(shù)據(jù)類識(shí)別方法.

1 XML結(jié)構(gòu)特點(diǎn)及相關(guān)定義

1.1 XML結(jié)構(gòu)特點(diǎn)

每個(gè)XML文檔有且僅有一個(gè)根元素,它是所有其他元素的父元素,而所有元素都可擁有子元素、文本內(nèi)容和屬性.從元素的嵌套關(guān)系可以看出XML文檔是一棵文檔樹.相應(yīng)地有一種抽象數(shù)據(jù)結(jié)構(gòu)——文檔對(duì)象模型(document object model,DOM).DOM將XML文檔中各種類型的數(shù)據(jù)映射到相應(yīng)的類型對(duì)象,構(gòu)建出樹形結(jié)構(gòu)[7],分成文檔節(jié)點(diǎn)、元素節(jié)點(diǎn)、文本節(jié)點(diǎn)、屬性節(jié)點(diǎn)、處理指令節(jié)點(diǎn)、注釋節(jié)點(diǎn)、文檔類型節(jié)點(diǎn)、文檔段節(jié)點(diǎn)、符號(hào)節(jié)點(diǎn)、CDATA段節(jié)點(diǎn)、實(shí)體節(jié)點(diǎn)和實(shí)體引用節(jié)點(diǎn)等12類.

XML文檔可以分為以數(shù)據(jù)為中心和以文檔為中心兩大類.以數(shù)據(jù)為中心的XML文檔常被用于機(jī)器的使用,而以文檔為中心的XML文檔則主要是為人類而設(shè)計(jì)的.文中涉及的XML數(shù)據(jù)文檔均屬于以數(shù)據(jù)為中心的XML文檔.它著重于文檔中的數(shù)據(jù),而非文檔格式.具有結(jié)構(gòu)化的數(shù)據(jù)、數(shù)據(jù)粒度大小適中、很少或沒有混合內(nèi)容,以及文檔順序不重要等特點(diǎn).故在考慮設(shè)計(jì)實(shí)現(xiàn)問題解決方案時(shí),需要考慮的DOM節(jié)點(diǎn)對(duì)象只有屬性節(jié)點(diǎn)、元素節(jié)點(diǎn)和文本節(jié)點(diǎn).

1.2 XML模式節(jié)點(diǎn)定義

XML文檔模式描述一類XML文檔中數(shù)據(jù)的結(jié)構(gòu)關(guān)系和類型信息,在內(nèi)存可表現(xiàn)為一個(gè)樹圖.樹節(jié)點(diǎn)對(duì)應(yīng)元素節(jié)點(diǎn)、屬性節(jié)點(diǎn),節(jié)點(diǎn)的附加信息有元素或?qū)傩缘拿Q、重?cái)?shù)、數(shù)據(jù)類型等.將模式樹圖中的模式節(jié)點(diǎn)進(jìn)行分類,以建立XML模式到數(shù)據(jù)類之間的映射,并定義如下6個(gè)模式節(jié)點(diǎn)類型.

1)屬性型.該模式節(jié)點(diǎn)對(duì)應(yīng)XML文檔中的屬性節(jié)點(diǎn).

2)屬性類元素型.該模式節(jié)點(diǎn)對(duì)應(yīng)XML文檔中的元素節(jié)點(diǎn),而該元素節(jié)點(diǎn)沒有子元素節(jié)點(diǎn)或只包含文本節(jié)點(diǎn),沒有屬性.

3)List類元素型.該模式節(jié)點(diǎn)僅包含一個(gè)子模式節(jié)點(diǎn),而該子模式節(jié)點(diǎn)是非屬性類節(jié)點(diǎn)且對(duì)應(yīng)元素節(jié)點(diǎn)的重?cái)?shù)大于1.

4)包裝類元素型.該模式節(jié)點(diǎn)包含多個(gè)屬性類節(jié)點(diǎn)和一個(gè)非屬性類節(jié)點(diǎn)的子模式節(jié)點(diǎn).在多XML文件環(huán)境下,包裝類元素型的模式節(jié)點(diǎn)有兩種類型:一種是包含一個(gè)非屬性類型的子模式節(jié)點(diǎn),但具有多套不同的屬性類型的子模式節(jié)點(diǎn)組;另外一種是只有一個(gè)屬性類型的子模式節(jié)點(diǎn)組,但包裝多套非屬性類型的子模式節(jié)點(diǎn).

5)包裝類屬性集型.用于組織包裝類元素型模式節(jié)點(diǎn)下的屬性類型的模式節(jié)點(diǎn).

6)實(shí)體類元素型.該分類設(shè)置為非屬性類型的模式節(jié)點(diǎn)類型的默認(rèn)值,除前面5種類型節(jié)點(diǎn)外,剩下的模式節(jié)點(diǎn)就屬于實(shí)體類元素節(jié)點(diǎn).實(shí)體類元素型模式節(jié)點(diǎn)中有一類節(jié)點(diǎn)具有明顯特征,即該模式節(jié)點(diǎn)有子模式節(jié)點(diǎn)且這些子模式節(jié)點(diǎn)均屬于屬性類型.

上述6類模式節(jié)點(diǎn)類型中,屬性型和屬性類元素型統(tǒng)稱屬性類型.至此,模式節(jié)點(diǎn)中包含的信息可以確定有:模式節(jié)點(diǎn)類型、模式節(jié)點(diǎn)名稱、數(shù)據(jù)類型、映射到類的屬性名稱、重?cái)?shù)、子模式節(jié)點(diǎn)列表、所屬XML文件標(biāo)識(shí)名、根節(jié)點(diǎn)標(biāo)識(shí)、文本標(biāo)識(shí)等.

2 XML模式抽取

文中描述的是從一組相關(guān)XML數(shù)據(jù)文件識(shí)別實(shí)體類的方法,其總體思路是先得到XML文檔的數(shù)據(jù)模式,再將XML數(shù)據(jù)模式映射到實(shí)體類.方法的第一步是得到XML文檔的數(shù)據(jù)模式,即為每個(gè)XML數(shù)據(jù)文件建立一個(gè)XML模式樹圖,并填充模式樹圖中每個(gè)模式節(jié)點(diǎn)的信息.在抽取XML模式時(shí),需要判斷模式樹圖中的模式節(jié)點(diǎn)的類型.預(yù)定義的6種模式節(jié)點(diǎn)類型中,屬性型、屬性類元素型、List類元素型根據(jù)其說明的特征可以很容易判斷出來,包裝類屬性集型不需要判斷,而是最后再生成并填進(jìn)模式樹圖的.

第一種類型包裝型模式節(jié)點(diǎn)具有一個(gè)非屬性類型和多套不同屬性類型的子模式節(jié)點(diǎn)組.對(duì)于這種類型,模式節(jié)點(diǎn)下的屬性類型的子模式節(jié)點(diǎn)的相似度超過閾值A(chǔ)則為實(shí)體類元素型,否則為包裝類元素型.第二種類型包裝類元素型模式節(jié)點(diǎn)具有一個(gè)屬性類型的子模式節(jié)點(diǎn)組和多套單個(gè)非屬性類型的子模式節(jié)點(diǎn).對(duì)于這種類型,模式節(jié)點(diǎn)下的屬性類型的子模式節(jié)點(diǎn)的相似度超過閾值B,并且非屬性類型的子模式節(jié)點(diǎn)的相似度低于閾值C則為包裝類元素型,否則為實(shí)體類元素型.

在同一個(gè)應(yīng)用系統(tǒng)環(huán)境下,從多個(gè)XML文檔生成的多個(gè)XML模式樹圖中會(huì)有相同名稱的實(shí)體類元素型模式節(jié)點(diǎn).因此,可利用它們的子模式節(jié)點(diǎn)的余弦距離進(jìn)行基于密度聚類,把屬于同一個(gè)聚類簇的模式節(jié)點(diǎn)的子模式節(jié)點(diǎn)合并當(dāng)做同一個(gè)模式節(jié)點(diǎn)進(jìn)行處理,以此避免模式節(jié)點(diǎn)映射成數(shù)據(jù)類時(shí)生成冗余的數(shù)據(jù)類.

對(duì)XML數(shù)據(jù)文檔進(jìn)行模式抽取,有如下5個(gè)主要步驟.

步驟1 把XML數(shù)據(jù)轉(zhuǎn)換為DOM樹.

步驟2 先根遍歷DOM樹,從中獲得相關(guān)模式信息,創(chuàng)建相應(yīng)類型的模式節(jié)點(diǎn),并構(gòu)建初步的模式樹圖,具體流程如圖1所示.輸入XML數(shù)據(jù)文檔的DOM元素節(jié)點(diǎn),輸出結(jié)果是相應(yīng)的模式節(jié)點(diǎn),且能判斷出相應(yīng)的節(jié)點(diǎn)類型.最先獲得元素節(jié)點(diǎn)的名稱用于設(shè)置模式節(jié)點(diǎn)名,再判斷元素節(jié)點(diǎn)是否符合屬性元素型模式節(jié)點(diǎn)的特征,即元素節(jié)點(diǎn)沒有屬性且沒包含子元素.符合特征,則根據(jù)元素文本內(nèi)容判斷其數(shù)據(jù)類型用于設(shè)置模式節(jié)點(diǎn)的數(shù)據(jù)類型,并返回屬性元素型模式節(jié)點(diǎn).處理元素節(jié)點(diǎn)及其屬性列表創(chuàng)建的默認(rèn)類型的模式節(jié)點(diǎn),并設(shè)置模式節(jié)點(diǎn)的重?cái)?shù)信息和文本標(biāo)識(shí)等.最后再判斷當(dāng)前模式節(jié)點(diǎn)是否僅包含一個(gè)子模式節(jié)點(diǎn),該子模式節(jié)點(diǎn)是非屬性類節(jié)點(diǎn)且對(duì)應(yīng)的元素節(jié)點(diǎn)的重?cái)?shù)大于1,如果是,則將節(jié)點(diǎn)類型設(shè)置為L(zhǎng)ist類元素型.

圖1 初步構(gòu)建模式樹圖的流程Fig.1 Process of the preliminary constructing pattern tree diagram

步驟3 對(duì)分布在不同XML模式樹圖中的同名模式節(jié)點(diǎn)進(jìn)行相似度分析,識(shí)別包裝類元素型和實(shí)體類元素型,并對(duì)實(shí)體類元素型模式節(jié)點(diǎn)進(jìn)行聚類來完成合并工作,具體流程如圖2所示.先進(jìn)行一個(gè)快速優(yōu)化的判斷,即如果輸入的模式節(jié)點(diǎn)列表只有一個(gè)模式節(jié)點(diǎn),且該模式節(jié)點(diǎn)只包含一個(gè)多重的默認(rèn)類型的子模式節(jié)點(diǎn)或一個(gè)List類元素型子模式節(jié)點(diǎn),則把該模式節(jié)點(diǎn)的類型設(shè)置為包裝類元素型后結(jié)束;否則,接著根據(jù)輸入的模式節(jié)點(diǎn)列表建立屬性和非屬性類節(jié)點(diǎn)的Base,以此計(jì)算出模式節(jié)點(diǎn)列表中每個(gè)模式節(jié)點(diǎn)的屬性類和非屬性類節(jié)點(diǎn)向量.如果非屬性節(jié)點(diǎn)列表為空,則說明該模式節(jié)點(diǎn)一定是實(shí)體類型;否則,計(jì)算屬性類和非屬性類節(jié)點(diǎn)向量列表的相似度A和E.根據(jù)兩次條件判斷模式節(jié)點(diǎn)是否屬于包裝類元素型,如果是,則將模式節(jié)點(diǎn)設(shè)置為包裝類元素型;不是,則將屬性類和非屬性類節(jié)點(diǎn)向量合并得到模式節(jié)點(diǎn)向量列表,再對(duì)模式節(jié)點(diǎn)向量列表使用余弦距離進(jìn)行聚類.把聚類得到聚類簇中模式節(jié)點(diǎn)的子節(jié)點(diǎn)合并成新的子模式節(jié)點(diǎn)列表,并替換簇中模式節(jié)點(diǎn)的子模式節(jié)點(diǎn)列表.另外,為區(qū)別同名的不同實(shí)體類節(jié)點(diǎn)的模式節(jié)點(diǎn),在模式節(jié)點(diǎn)名稱后加上序列數(shù)1,2,….

步驟4 從所有的模式樹圖中識(shí)別創(chuàng)建不重復(fù)的包裝類屬性集型模式節(jié)點(diǎn).將所有模式樹圖中包裝類元素型模式節(jié)點(diǎn)下的屬性類子節(jié)點(diǎn)打包到一個(gè)新建的包裝類屬性集型模式節(jié)點(diǎn)的子模式節(jié)點(diǎn)列表中,再將此新建的模式節(jié)點(diǎn)替代原來的屬性類子節(jié)點(diǎn),插入到包裝類元素型模式節(jié)點(diǎn)下作為新子模式節(jié)點(diǎn).包裝類屬性集型模式節(jié)點(diǎn)是可以重用的,但必須保證包裝類元素型模式節(jié)點(diǎn)下的每個(gè)屬性類型模式節(jié)點(diǎn)的名稱和重?cái)?shù)是相同的.

步驟5 后根遍歷所有模式樹圖,填充模式節(jié)點(diǎn)中剩余的模式信息.包括映射到類的屬性名稱的設(shè)置,數(shù)據(jù)類型的設(shè)置.List類元素型和包裝類元素型模式節(jié)點(diǎn)需要添加子模式節(jié)點(diǎn)的數(shù)據(jù)類型添加泛型信息,包裝類屬性集型和實(shí)體類元素型需要確定映射的數(shù)據(jù)類的類名.

將一組相關(guān)XML數(shù)據(jù)文檔經(jīng)過5個(gè)步驟處理后得到完整的XML模式樹圖.圖中的每個(gè)模式節(jié)點(diǎn)包含了完整的模式信息,作為XML數(shù)據(jù)模式映射到實(shí)體類的輸入數(shù)據(jù).

圖2 模式樹圖的模式節(jié)點(diǎn)的進(jìn)一步分類流程Fig.2 Further classification process of the mode pattern tree node

3 XML模式樹圖到類的映射

從一組XML數(shù)據(jù)文件中識(shí)別數(shù)據(jù)類的最后步驟是,將XML模式樹圖中的模式節(jié)點(diǎn)按照一定規(guī)則映射到數(shù)據(jù)類.把識(shí)別出的模式節(jié)點(diǎn)特征信息存儲(chǔ)在模式節(jié)點(diǎn)的類型信息中,在XML模型到類層次的映射過程會(huì)根據(jù)模式節(jié)點(diǎn)類型,將模式節(jié)點(diǎn)映射成不同類型的數(shù)據(jù)類.

映射規(guī)則有如下8個(gè)方面:1)模式節(jié)點(diǎn)的模式節(jié)點(diǎn)名稱映射成數(shù)據(jù)類的類名;2)模式節(jié)點(diǎn)的子模式節(jié)點(diǎn)映射成數(shù)據(jù)類的成員變量,該子模式節(jié)點(diǎn)映射到類字段名稱映射成成員變量名,子模式節(jié)點(diǎn)的數(shù)據(jù)類型映射成成員變量的數(shù)據(jù)類型;3)如果是模式節(jié)點(diǎn)的文本標(biāo)識(shí),則新增一個(gè)名為_value,類型為字符串的成員變量;4)如果子模式節(jié)點(diǎn)的重?cái)?shù)大于1,則需將用集合類類名包裝原數(shù)據(jù)類型作為其數(shù)據(jù)類型;5)若成員變量的數(shù)據(jù)類型是泛型,則還需在該成員變量之前添加注解的配置信息說明具體的泛型信息;6)給每個(gè)數(shù)據(jù)類的成員變量生成setter和getter;7)將包裝類屬性集節(jié)點(diǎn)類型、實(shí)體類元素節(jié)點(diǎn)類型和包裝類元素節(jié)點(diǎn)類型的模式節(jié)點(diǎn)分別生成放在vo.attribute包中的屬性類、放在vo.entity包中的實(shí)體類和放在vo.wrapper包中的包裝類;8)包裝類元素節(jié)點(diǎn)類型的模式節(jié)點(diǎn)映射成的包裝類是預(yù)先定義的泛型類ListWrapper〈S,T〉和SingleWrapper〈S,T〉.這2個(gè)包裝類的只有2個(gè)成員變量分別對(duì)應(yīng)包裝類屬性集節(jié)點(diǎn)類型的子模式節(jié)點(diǎn)和非屬性類節(jié)點(diǎn)類型的子模式節(jié)點(diǎn).

經(jīng)過上述映射規(guī)則,得到數(shù)據(jù)類從一組XML數(shù)據(jù)文件中識(shí)別出的數(shù)據(jù)類.XML模式到類層次映射方法和目前XML綁定框架的模式編譯器生成類文件的映射規(guī)則不同的是,還要根據(jù)模式節(jié)點(diǎn)的類型進(jìn)一步區(qū)分映射成不同類型的類,如集合類、泛型類、實(shí)體類等,以減小生成類系統(tǒng)的規(guī)模.

4 應(yīng)用實(shí)例

將提出的一組相關(guān)XML數(shù)據(jù)識(shí)別方法應(yīng)用在一個(gè)Last.FM OpenAPI的數(shù)據(jù)實(shí)體類代碼生成器的實(shí)現(xiàn)中.該代碼生成器先從網(wǎng)絡(luò)上抓取每個(gè)Last.FM OpenAPI返回的XML數(shù)據(jù),得到一組相關(guān)XML數(shù)據(jù)文件;然后,使用文中方法獲得識(shí)別出的數(shù)據(jù)類的元數(shù)據(jù);最后,在結(jié)合類模板輸出類定義代碼源文件.該代碼生成器從網(wǎng)絡(luò)上獲取的Last.FM OpenAPI返回的XML文件有131個(gè),使用文中方法輸入預(yù)定義的閾值A(chǔ)、閾值B、閾值C是經(jīng)驗(yàn)估計(jì)值,分別是70%,70%,30%.經(jīng)過計(jì)算,最終識(shí)別出47個(gè)實(shí)體類,38個(gè)屬性類,總共85個(gè)類.如果使用傳統(tǒng)的數(shù)據(jù)綁定框架對(duì)131個(gè)XML文件進(jìn)行數(shù)據(jù)類生成,最終得到的數(shù)據(jù)類最少有131個(gè).使用文中方法生成類的個(gè)數(shù)比之前的方法降低35%,而且生成的實(shí)體類和實(shí)體一一對(duì)應(yīng)沒有存在冗余.該代碼生成器的結(jié)果說明,文中提出的方法可以較好地解決當(dāng)前XML綁定框架類中生成器產(chǎn)生的類冗余和生成類系統(tǒng)規(guī)模過大的問題.

5 結(jié)束語

提出從一組相關(guān)XML數(shù)據(jù)文件的數(shù)據(jù)實(shí)體類識(shí)別的方法.該方法能有效解決當(dāng)前XML綁定框架在綁定一組來自同一個(gè)應(yīng)用框架下,遵循多個(gè)XML模式文件的XML文件時(shí)產(chǎn)生的類冗余和生成類系統(tǒng)規(guī)模過大的問題.但該方法存在的不足是,區(qū)別包裝類元素型和實(shí)體類元素型的模式節(jié)點(diǎn)中的相似度閾值是預(yù)先給定的,后續(xù)工作需采用啟發(fā)式及回歸模型[10]對(duì)相似度閾值進(jìn)行調(diào)整確定.

[1] MCLAUGHLIN B.Practical data binding:Get your feet wet in the real world[EB/OL].[2004-05-20].http:∥www.ibm.com/developerworks/xml/library/x-pracdb1/index.html.

[2] 焦春芳,羅曉沛.基于Castor的數(shù)據(jù)綁定技術(shù)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(17):4550-4553.

[3] 吳翔,饒若楠.連接 XML與對(duì)象的橋梁——XMLBean[J].計(jì)算機(jī)工程,2004,30(增刊1):69-71.

[4] BANGALORE R.Use XStream to serialize java objects into XML[EB/OL].[2008-07-23].http:∥www.ibm.com/developerworks/xml/library/x-xstream/.

[5] SIMEONI F,LIEVENS D,CONNOR R,et al.Language bindings to XML[J].IEEE Internet Computing,2003,7(1):19-27.

[6] 許暉.應(yīng)用XML實(shí)現(xiàn)Java對(duì)象序列化技術(shù)簡(jiǎn)述[C]∥第七屆中國(guó)Java技術(shù)及應(yīng)用交流大會(huì)文集.北京:[s.n.],2004:73-78.

[7] 李青山,陳平.對(duì)象層次上的XML數(shù)據(jù)綁定模型的研究[J].西安電子科技大學(xué)學(xué)報(bào),2001,28(6):768-771.

[8] 龐劍鋒,卜東波,白碩.基于向量空間模型的文本自動(dòng)分類系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2001,18(9):23-26.

[9] 李桂林,陳曉云.關(guān)于聚類分析中相似度的討論[J].計(jì)算機(jī)工程與應(yīng)用,2004(31):64-66.

[10] ZHANG Yi,CALIAN J.Maximum likelihood estimation for filtering thresholds[C]∥Proc of the 24th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM Press,2001:294-302.

主站蜘蛛池模板: 久久精品女人天堂aaa| www.精品视频| 国产日韩AV高潮在线| 爆操波多野结衣| 欧美午夜一区| 一本一道波多野结衣一区二区| 国产人成在线视频| 国产伦精品一区二区三区视频优播 | 91蝌蚪视频在线观看| 黄色一级视频欧美| 亚洲欧洲日韩综合色天使| 精品福利视频网| 人妻精品全国免费视频| 美女高潮全身流白浆福利区| 亚洲乱码视频| 亚洲IV视频免费在线光看| 红杏AV在线无码| 毛片视频网| 婷婷激情亚洲| 99久久99这里只有免费的精品| 久久综合干| 久久国产精品麻豆系列| 亚洲欧美日本国产专区一区| 亚洲视频免费播放| 欧美日韩成人| 手机成人午夜在线视频| 国产第一福利影院| 日本欧美一二三区色视频| 午夜精品久久久久久久无码软件| 欧美日韩一区二区在线播放| 香蕉久人久人青草青草| 一级毛片在线免费视频| 久久青草视频| 国产在线91在线电影| 国产主播在线一区| 伊人色天堂| 香蕉视频在线精品| 久草视频一区| 成人在线欧美| 久久综合AV免费观看| 日韩在线欧美在线| 国产成年女人特黄特色大片免费| 亚洲精品第一页不卡| 中文字幕人妻无码系列第三区| 3344在线观看无码| 国产精品流白浆在线观看| 天天色天天综合网| 91无码人妻精品一区二区蜜桃| 久久久精品久久久久三级| 久久黄色免费电影| 亚洲系列中文字幕一区二区| 国产凹凸视频在线观看| 中文天堂在线视频| 国产成人啪视频一区二区三区 | vvvv98国产成人综合青青| 亚洲日本中文综合在线| 国产一级精品毛片基地| 国产日韩久久久久无码精品| 国产鲁鲁视频在线观看| 99资源在线| 91麻豆精品视频| 国产欧美在线观看精品一区污| 国产人成在线观看| 国产精品熟女亚洲AV麻豆| a亚洲天堂| 国产正在播放| 国产日本一区二区三区| 久久精品国产在热久久2019 | 粗大猛烈进出高潮视频无码| 亚洲欧洲日韩久久狠狠爱| 91色国产在线| 亚洲视频四区| 国产乱子伦视频三区| 狼友av永久网站免费观看| 国产第一页亚洲| 免费人成又黄又爽的视频网站| 亚洲中文精品人人永久免费| 国产精品偷伦视频免费观看国产 | 色噜噜久久| 女人18一级毛片免费观看| 无码啪啪精品天堂浪潮av | 中文字幕资源站|