《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 關系模式下基于SilkRoute的XQuery查詢轉換方法

關系模式下基于SilkRoute的XQuery查詢轉換方法

2009-08-06
作者:姚文雋 劉 園

  摘? 要: 一種使各種關系模式生成技術都可以直接利用SilkRoute中的XQuery轉換算法作為自己的查詢處理器的方法,從而省去構造查詢處理器的復雜工作,提高查詢處理效率。

  關鍵詞: XML文檔? SilkRoute框架? View Forest結構? 共享內嵌

?

  隨著XML文檔的大量涌現,如何有效地存儲和查詢這些文檔中的數據已成為業界關注的問題。通常,將XML數據映射為關系數據,再利用經典的關系數據庫系統來管理XML是一種有效的解決方法。該映射過程大致分為3步:(1)產生關系模式,創建存儲XML數據的關系表;(2)將XML數據分片,存入相應的關系表中;(3)處理XML的查詢,將其轉化為等價的SQL語句。目前通用的XML查詢語言是由W3C提出的XQuery,其描述功能強大,通常由多個子查詢合成,且帶有復雜的文檔結構信息。然而將XQuery轉換成一組等價的SQL語句是一項復雜的工作,而且這種轉換和具體的關系模式生成技術密切相關。不同的生成技術需要開發相應的查詢處理器。

  本文提出了一種有效的方法,使不同的關系模式生成技術可共享通用查詢處理器,且該查詢處理器無需自己開發,可直接應用著名的SilkRoute[1]中轉換Xquery的算法。這樣就可以大大降低開發強度,提高工作效率。

1? 構造View Forest

  SilkRoute是一種發布關系數據的框架。它將關系數據映射為規定格式的XML數據,以便在網絡上傳輸和交換。它提供了一個XQuery轉換算法,可將基于XML數據的XQuery查詢轉化為基于關系數據的SQL查詢,在數據庫引擎上執行后,再把得到的結果按照XQuery中定義的結構組成XML文檔。

  SilkRoute可通過View Forest結構來進行XQuery查詢到SQL語句的轉換。View Forest是由若干棵樹組成的森林,其每個結點都包含一個XML標簽和一個SQL語句片斷。從語義角度看,View Forest定義了從關系數據庫到XML文檔的一個映射。它的結點、邊和結點的XML標簽表示了XML文檔的結構,而結點的SQL語句片斷則表示了由關系數據產生XML文檔內容的計算過程。其中,View Forest的內部結點(即非葉結點)表示XML文檔中的元素或屬性,它的XML標簽即是相應的元素或屬性的名稱。其SQL片斷只包含From子句和Where子句,指定該結點從數據庫中選取數據的范圍;邊表示XML數據間的包含關系;葉結點表示其父結點的值,它的XML標簽為值的類型,其SQL片斷一般只包含select子句,表明具體選擇關系表中與父結點值相對應的某列屬性。

  SilkRoute中轉換XQuery的關鍵算法是VFCA(View Forest合成算法)。它將XQuery查詢涉及到的所有XML數據對應的View Forest作為輸入,通過遞歸調用VFCA,對XQuery表達式逐個轉化,得到表示查詢結果的View Forest;再根據所得View Forest中每個結點的SQL片斷合成完整的SQL語句,從關系數據庫中取得準確的數據,最終生成查詢結果文檔。

  本文的研究對象是利用關系數據庫來存儲和管理XML的系統。它將XML數據映射為關系數據,與SilkRoute的工作過程正好相反。但這二個系統中都定義了關系數據和XML數據之間的映射關系,都需要完成轉換XQuery的任務。因此,在本文研究的系統中,可以將View Forest作為橋梁,應用SilkRoute提供的算法。即在利用關系數據庫存儲和管理XML的系統中,可以先構造出與源XML數據對應的View Forest,然后以它作為輸入參數,使用SilkRoute中的VFCA算法及其他輔助算法,將Xquery查詢轉化成SQL語句,再把查詢結果按要求組成XML文檔。這種查詢轉換方法能適用于多種關系模式生成技術。各種生成技術都可通過構造View Forest,將SilkRoute中轉換XQuery的算法作為自己的查詢處理器,省去自行編寫查詢處理器的復雜工作。

  View Forest結構顯示了XML文檔和關系數據之間的映射關系。所以,根據XML數據的結構信息和在關系數據庫中的存儲模式,可輕松地構造View Forest。算法的基本思路如下:

  (1)根據XML中的元素、屬性及它們之間的包含關系生成View Forest中所有的內部結點和邊。內部結點表示了XML的元素或屬性,它的XML標簽即為元素或屬性的名稱;邊表示結點之間的包含關系。

  (2)為View Forest中的每個屬性結點和每個包含文本值的元素結點創建一個子結點,其XML標簽為其父結點值的類型。該子結點即為View Forest中的葉結點。

  (3)對于View Forest中的每個內部結點,根據其所有祖先元素的SQL片斷以及該結點的數據在關系數據庫中的存儲情況構造它的SQL語句片斷。對于每個葉結點,則根據其父結點值在關系表中對應的列名構造其SQL片斷。

  對于不同的關系模式生成技術,構造View Forest的具體算法也有所不同。下面介紹利用常見的關系模式生成技術——共享內嵌技術構造View Forest的方法。

2?共享內嵌關系模式下的View Forest構造算法

  作為實例分析,本節將對使用共享內嵌(shared inline)技術生成的關系模式給出構造View Forest的具體算法。

2.1 共享內嵌技術

  共享內嵌技術根據XML的DTD(或Schema)創建適當的關系表。現以XML文檔(程序1)和其DTD(程序2)中數據為例來演示創建過程。

????(1)對DTD進行簡化,得到對應的DTD圖(見圖1(a))。DTD圖中包含2類結點:一類是表示XML元素或屬性的結點(稱為元素結點或屬性結點);另一類是符號結點,即‘?’或‘*’,介于父元素結點和子元素結點之間,表示子元素在父元素中的出現次數。

(2)遍歷DTD圖。對于DTD圖中入度為0或者入度大于1的元素結點(如圖1(a)中的Dep和Name)創建獨立的關系表存儲。對入度為1的元素結點和屬性結點(例如Intro),則內嵌到存儲父元素的關系表中,作為某個字段存儲。對‘*’下面的子元素結點(例如Stud和Tea),也要創建獨立的關系表予以存儲。

  每個關系表都有id字段作為主鍵。除了根元素關系表外,其他關系表中都有parentid字段作為外鍵,引用其父元素所在關系表中的id,以提供該元素與其父元素之間的鏈接。而入度大于1的元素結點(例如Name),由于存在多個父元素結點,所以其對應的關系表中增加了parentCode字段,存儲父表的編號。生成的關系表如圖1(b)。

?

  程序1:XML文檔

  

??   

????????????? Jack

??   

  

????????????? Chris

???

???

????????????? Ada

???

  

????????????? Grace

  

  

  程序2:DTD

  

  

  

  

  

  

  

2.2 View Forest構造算法

  將圖1(a)所示的DTD圖進行簡化,去掉所有的符號結點,可得簡化后的DTD圖(如圖1(c))。以此為基礎構造View Forest的算法詳見算法1(該算法假設DTD中不存在循環結構)。

  算法1:對應于共享內嵌關系模式生成技術的View Forest構造算法

  Generate_node(DTDGraphNode Dnode,ViewForestNode VparentNode)

  1.  { prefixName:=′′;/*先將prefixName(列名前綴)置空,

     列名前綴為若干層祖先的名字,用′.′隔開。例如Dep

     表中的Dep.Intro字段,“Dep.”就是列名前綴*/

  2.?  if ( Dnode is type Element ) then//若Dnode

     //是元素結點

  3.   { XMLLabel:=Dnode.Name;

  4.   if ( Dnode is stored in a separate table from

      parent ) then

  5.   { tName:=getTableName(Dnode);//取得存儲

     //Dnode元素的關系表名

  6.   alias:=GenAlias(tName);//運用某種規則為

     //該表產生一個別名,不得與已有別名重復

  7.   SQLFragment:=′From′+tName+′as′+alias;

     //待生成的View Forest結點的SQL片斷

  8.  if ( not Dnode.isRoot )? then  //若Dnode不是

     //根元素結點,則需要找到parentid引用的父表

  9.   { tempvfnode:=VparentNode;

     /*找到Form子句不為空的那個祖先,它的From子句

??????   中的表的別名就是需要找的父表別名*/

  10.? while tempvfnode.SQLFragment.From=′′do

  11.???tempvfnode:=tempvfnode.parent;

  12.???ptName:=tempvfnode.SQLFragment.From.alias;

     //ptName為找到的父表的別名

  13.???SQLFragment:=SQLFragment+′where′+alias

     +′.parentid=′+ptName+′.id′;}

  14.???tName:=alias;//下面引用tName時,

     //都引用的是其別名

  15.  }

  16.????else//Dnode的數據和祖先元素的數據

     //存在一張關系表的情況,即Dnode是內嵌元素

  17.???{ tempvfnode:=VparentNode;//尋找該Dnode

     //數據存放的表

  18.  while tempvfnode.SQLFragment.From=′′do

  19.? { tempvfnode:=tempvfnode.parent;

  20.???prefixName:=tempvfnode.XMLLabel+′.′

     +prefixName;}

  21.???tName:=tempvfnode.SQLFragment.From.alias;

     //找到存放Dnode表的別名

  22.???prefixName:=tempvfnode.XMLLabel+′.′+

     prefixName;//獲得正確的列名前綴

  23.???SQLFragment:=′From()′;//由于是內嵌元素,

??????? ? //所以SQL片斷為空

??? 24.??? }

??? 25.?? ?}

??? 26.? ?if ( Dnode is type Attribute ) then//如果Dnode

???????? //是屬性結點,則一定內嵌在元素表中

??? 27.?? ? ... //與處理內嵌元素的方法相同,省略(惟一區別是

??????????? XMLLabel:=′@′+Dnode.Name)

??? 28.? newvfnode:=VF.new(XMLLabel,SQLFragment);

???????? //構造View Forest中Dnode對應的結點

??? 29.? newvfnode.parent:=VparentNode;//把該新結點

???????? //加入為VparentNode的一個子結點

??? 30.? if (Dnode is type element with text,or Dnode is

????????????? type attribute )? then? //構造葉結點

??? 31.? { XMLLabel:=Type(Dnode.Value);//XML標簽

?????????????????? ?//為值的類型

??? 32.??SQLFragment:=′SELECT′+tName+′.′+prefixName

???????????????????? +Dnode.Name;

??? 33.? newatomicnode:=VF.new(XMLLabel,SQLFragment);

??? 34.??newatomicnode.parent:=newvfnode;}//葉結點的

???????????????? //父結點即為剛剛構造的newvfnode

??? 35.?for every ChildNode in Dnode.Children do

??????????????? //對于Dnode的所有子結點,遞歸調用該函數

??? 36.?Generate_node(ChildNode,newvfnode);

??? 算法1的核心是Generate_node函數,它以DTD圖中的結點作為輸入,創建與之相對應的View Forest結點。函數包含2個參數:Dnode和VparentNode。Dnode是DTD圖中的某個結點,VparentNode是View Forest中與Dnode的父結點相對應的結點。Generate_node函數是遞歸函數,它先作用于DTD圖的根結點(這里為Dep,此時VparentNode參數為空),創建View Forest的根結點;再按照深度優先順序遞歸處理DTD圖中其余結點,從而創建View Forest中相應的子孫結點。函數處理過程具體分為4個步驟:

(1)首先根據Dnode的信息,得到待創建的View Forest結點的XML標簽和SQL片斷。XML標簽即為Dnode所表示的元素或屬性的名稱(行3)。SQL片斷則要分3種情況處理:

??? ①若Dnode為XML中根元素結點,則SQL片斷形式為:From 根元素表 as 別名(行7)。其中根元素表即是數據庫中存儲根元素的關系表。

??? ②若Dnode為XML中普通元素結點,且數據庫中將該元素數據單獨存為一張關系表,則SQL片斷形式為:From 子表 as 子表別名 where 子表別名.parentid=父表別名.id(行13)。其中子表為存儲該元素的關系表,父表為其外鍵parentid引用的關系表。從VparentNode或其祖先結點的SQL語句片斷中可得父表的別名(因為VparentNode是待創建結點的父結點,行10~12)。若存儲該元素的關系表中還存在parentCode字段(如圖1中的Name表),則還需根據父表表名在Where子句中限定parentCode的值,算法中省略了這一點。

??? ③若Dnode是內嵌元素或屬性結點,則由于Dnode的數據內嵌于祖先元素表中,并未產生新的數據選取范圍,所以SQL片斷為空(即From(),行23)。

??? (2)根據XML標簽和SQL片斷創建新的View Forest結點newvfnode(行28),再把新結點作為VparentNode的子結點加入到View Forest中。

??? (3)若Dnode結點為屬性結點或包含文本值的元素結點,則繼續創建newvfnode的子結點newatomicnode(行31~35),即為View Forest中的葉結點。其XML標簽為父結點值的類型,SQL片斷形式為select表別名.字段名。其中表別名是存儲Dnode的關系表的別名,可從newvfnode或其祖先結點的SQL片斷中得到(行14,18~21);字段名是表中存儲Dnode結點文本值(或屬性值)的字段名稱,根據其構成規則,可由newvfnode及其某些祖先結點的XML標簽組合而得到。

??? (4)將新創建的結點vfnewnode作為VparentNode參數,對Dnode的所有的子結點遞歸調用Generate_node函數。重復上述步驟,繼續創建View Forest結點(行35~36)。

  以程序1、程序2中的XML數據為實例,應用該算法構造的View Forest如圖2所示(圖2(a)為View Forest的樹型圖,圖2(b)為部分結點的SQL片斷)。該算法對于存在循環的DTD圖是無效的。因為View Forest本身不能出現環結構。

3? 結束語

  使用關系數據庫存儲和查詢XML數據一直是研究者們關注的熱點。根據XML數據的特性,有多種生成關系模式的技術。但對于每一種生成技術都需要開發復雜的查詢處理器,將XQuery轉換成SQL語句。本文提出的方法,使得絕大部分關系模式生成技術都可直接利用SilkRoute中轉換及優化XQuery的算法作為自己的查詢處理器,省去了大量的開發工作,提高了處理查詢的效率。該方法的核心思想是根據XML數據的結構信息和存儲模式來構造SilkRoute中的重要的數據結構View Forest,隨后利用SilkRoute中的算法轉換XQuery。作為分析實例,本文針對典型的關系模式生成技術——共享內嵌技術,給出了相應的構造View Forest的算法。以本文的方法為基礎,可以很容易地推導出對應于其他關系模式生成技術的算法。

  上述方法的缺陷是如果XML數據存在循環結構,則無法構造View Forest,因為View Forest中不能帶有回路。因此今后將進一步研究如何對循環結構進行轉化,從而構造相應的View Forest的方法。

?

參考文獻

1? Fernández M,Kadiyska Y,Suciu D et al.SilkRoute:A framework for publishing relational data in XML.ACM

Transactions on Database Systems,2002;27(4)

2? Shanmugasundaram J.Relational Databases for Querying XML Documents:Limitations and opportunities.In:

VLDB Conference,Edinburgh Scotland,1999

3? World-WideWeb Consortium.XQuery 1.0:An XML Query Language.W3C Working Draft,2002,11.http://www.w3.org/TR/xquery/.

4? Florescu D,Kossmann D.Storing and Querying XML?Data using an RDBMS.IEEE Data Engineering

Bulletin,1999,22(3)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 黄色精品网站 | 国产精品一二三区成毛片视频 | 国产ts人妖另类 | 国产男女性潮高清免费网站 | 成人午夜免费在线观看 | 九九伊在人线 | 国产成人精品一区二 | 成人男男视频拍拍拍在线观看 | 加勒比一区二区三区 | 成人aaaaa日本黄绝录象片 | 亚洲一区二区三区在线看 | 麻豆一区二区三区蜜桃免费 | 91红桃视频 | 夜夜添无码一区二区三区 | 欧美黄色小视频 | 美女黄视频网站 | 日本一区二区三区精品视频 | 永久免费的av在线电影网无码 | 夜色福利院在线观看免费 | 国产91久| 日本人与黑人做爰视频 | 国产精品岛国久久久久久久久红粉 | 91超碰免费在线 | 亚洲女同一区二区 | 免费无码午夜福利片69 | 我要看一级黄色 | 性视频欧美 | 日韩性视频 | 欧美日本三级少妇三级久久 | 性xx十八spa按摩 | 91视频综合网 | 国产a在亚洲线播放 | 日韩中文字幕免费观看 | 大尺度av | 日韩成人av在线 | 国产在线观看一区二区三区 | 老汉老妇姓交视频 | 中日韩一线二线三线视频 | 一区二区久久久 | 亚洲欧美一区二区三区久久 | 国产精品乱码久久久久 | 女人夜夜春高潮爽a∨片传媒 | 毛片av在线播放 | 影音先锋男人天堂 | 国产女人18毛片18精品 | 在线麻豆av | 欧美国产在线一区 | 日韩欧美在线观看视频 | 日本午夜免费福利视频 | 美女高潮久久 | 日本中文视频 | 92看片淫黄大片看国产片图片 | jizz4 在线观看| 国产精品99久久久久久久久久 | 国产网站入口 | 中日av乱码一区二区三区乱码 | 日本一级特黄aa大片 | 91av在线播放| 2023亚洲精品国偷拍自产在线 | 三叶草欧洲码在线 | 成人免费8888在线视频 | 激情综合色综合久久综合 | 日韩综合夜夜香内射 | 欧美久久久久久久 | 欧美激情欧美激情在线五月 | 久久国产精品99久久人人澡 | 一二三四观看视频社区在线 | 欧美噜噜久久久xxx 久久精品一区二区免费播放 | 欧美大片在线看免费观看 | 色综合中文字幕 | 怡春院欧美 | 亚洲精品女人久久久 | 欧美精品亚洲精品日韩专区 | 免费爱爱网址 | 激情五月av久久久久久久 | 中文字幕国产在线 | 在线播放日韩精品 | 91嫩草私人成人亚洲影院 | 大伊香蕉在线精品视频75 | 狠狠色噜噜狠狠狠狠777米奇 | 精品少妇一区二区视频在线观看 | 韩国三级视频在线 | 久久夜色精品国产www红杏 | 青青草国产 | 国产精品人妻一码二码尿失禁 | 欧美色老头 | 久久精品96入口 | 中文字幕永久在线播放 | 免费看美女隐私网站 | 麻豆久久久9性大片 | 日一区二区三区 | 操操操免费视频 | 国产女主播av在线 | 亚洲精品国产精华液 | 久久免费看少妇a高潮一片黄特 | 亚洲影音 | 成人性做爰av片免费看 | 久久久久国产精品免费免费搜索 | 精品久久久久一区二区国产 | 娇小激情hdxxxx学生住处 | 婷婷久久网 | 黄色毛片在线观看 | 无码人妻精品一区二区三区在线 | 乱色欧美 | 国产91av在线 | 色呦呦在线免费观看 | 国产精品毛片va一区二区三区 | 国产黄三级看三级 | 欧洲无码一区二区三区在线观看 | a√天堂网 | 日韩一区在线视频 | a级高清免费毛片av播放 | youjizz欧美| 久久国语露脸国产精品电影 | 成人性生交大片免费卡看 | 老司机午夜精品 | 吸咬奶头狂揉60分钟视频 | 欧美一二三级 | 日韩成人三级 | 无遮挡呻吟娇喘视频免费播放 | 91爱爱com| 久久精品国产一区二区三区不卡 | 久久亚洲色www成人欧美 | 天堂av一区二区三区 | 国产精品中文久久久久久 | 欧美最猛黑人xxxx黑人猛交98 | 少妇愉情理仑片高潮日本 | 综合一区av | 小柔好湿好紧太爽了国产网址 | 一区二区精彩视频 | 亚洲第一成肉网 | 一出一进一爽一粗一大视频 | 天干天干天啪啪夜爽爽av小说 | 日少妇av | 成人在线播放网站 | 精品久久久久久 | 青青久久av北条麻妃海外网 | 日本三级欧美三级人妇视频黑白配 | 夜夜综合网| 夜夜嗨国产 | 国产伦精品一区二区三区四区视频 | 亚洲精品乱码久久久久红杏 | 国产精品日产欧美久久久久 | 国产综合久久久久鬼色 | 国产人妻丰满熟妇嗷嗷叫 | 在线成人观看 | 久久中文字幕伊人小说小说 | 污污网站在线观看视频 | 中国女人高潮hd | 日本高清不卡aⅴ免费网站 久久精品国产av一区二区三区 | 日日干日日操 | 午夜精品久久久久久久99热黄桃 | 国产偷亚洲偷欧美偷精品 | 一本大道久久加勒比香蕉 | a天堂资源 | 亚洲热妇无码av在线播放 | 黑人狂躁中国少妇and | 久久这里有精品视频 | 欧美爽爽爽 | 国产婷婷一区二区三区 | 亚洲三级在线 | 国产又黄又爽又色的免费视频白丝 | 公的~yin之手筱田优中文字幕 | 国产一级淫片免费放大片 | 日韩国产二区 | 亚洲国产成人久久 | 伊人影院中文字幕 | 在线播放日韩av | 亚洲精品视频大全 | 国产亚洲精品久久久久久青梅 | 中文字幕乱码日本亚洲一区二区 | 中日韩美中文字幕av一区 | 91网站在线观看视频 | 色五月丁香五月综合五月4438 | 国产91在线亚洲 | 我要色综合天天 | 国内精品久久久久 | 亚洲aⅴ天堂av天堂无码麻豆 | 亚洲中文字幕无码av永久 | 国内自拍视频在线观看 | 国产精品乱码一区二区视频 | 日本一区二区免费在线观看 | 欧美亚洲伦理 | 日本人视频69式jzzij | 99资源在线 | av动漫大尺度在线 | 96sao精品视频在线观看 | 亚洲成人中文字幕 | 久久视频在线看 | 激情综合网婷婷 | 亚洲成色 | 337p日本欧洲亚洲大胆色噜噜 | 国产精品ⅴ无码大片在线看 | 免费视频亚洲 | 国产亚洲精品久久久久久打不开 | 日本公妇乱淫免费 | 精品在线免费观看视频 | 中国妞xxxhd露脸偷拍视频 | 久久久久久久黄色 | 狠狠色综合网站久久久久久久 | 亚洲精品国产自在久久 | 国产美女在线观看 | 亚洲人成人一区二区在线观看 | 99久久婷婷国产综合亚洲 | 全部免费毛片在线播放一个 | 国精品无码一区二区三区在线 | 国产精品视频一区国模私拍 | 亚洲视频播放 | 丝袜脚交一区二区三区 | 精品欧美一区二区三区 | 欧洲在线观看 | 一级全黄少妇性色生活片毛片 | 国产精品99蜜臀久久不卡二区 | 91九色pron| 国产一区二区三区四区五区加勒比 | 51久久国产露脸精品国产 | 嫩模周妍希视频一区二区 | 国产精品入 | 无码人妻精品一区二区三区下载 | 国产又爽又黄的激情精品视频 | 天天综合日日夜夜 | 成年人黄色免费网站 | 综合图区亚洲欧美另类图片 | 欧美午夜精品理论片a级按摩 | 啪啪国产精品 | 亚洲一区二区三区四区五区午夜 | 中文字幕精品一二三四五六七八 | 欧美福利在线视频 | 日本ⅹxxxxoo69 | 黄色美女片 | 久久久免费在线观看 | 中日韩毛片 | 国产欧美一区二区精品秋霞影院 | 久久久久久婷婷 | 波多野结衣在线视频免费观看 | 九一毛片| 亚洲国产一区在线 | 国产在线视频你懂的 | 国产高清一区二区 | 天天躁日日躁狠狠躁性色av王爷 | 天天操天天爽天天射 | av中文字幕在线免费观看 | 黄色片视频免费看 | 偷拍亚洲综合 | 欧美在线精品一区 | 一本加勒比hezyo黑人 | 欧美精品密入口播放 | 人妖粗暴刺激videos呻吟 | 欧美日韩丝袜 | 欧美成人无尺码免费视频软件 | 久久久久久久久国产精品 | 农村黄性色生活片 | 色交视频 | 泽村玲子av| 91丨九色丨丰满 | 日韩免费播放 | av在线资源站 | 色丁香在线 | 国产免费高清 | 久久99网| 国产亚洲精品a在线 | 成人免费观看a | 大屁股大乳丰满人妻 | 欧美成人做爰大片免费看黄石 | 亚洲国产精品一区 | 在线观看亚洲天堂 | 久久av无码精品人妻糸列 | 99热亚洲精品 | 欧美日本国产va高清cabal | 五月婷婷伊人网 | 日本激情一区二区三区 | 欧美一区二区三区久久精品 | 无遮挡很爽很污很黄的网站 | 咪咪成人网 | 国产在线视频卡一卡二 | 天天玩天天干天天操 | 依人成人综合网 | 国产亚洲精品久久久久久国模美 | wwww亚洲| 男女男精品视频站 | 一区一区三区四区产品动漫 | www.色涩涩.com网站 | 偷拍亚洲综合 | 丰满少妇在线观看网站 | 亚州av一区二区 | 嫩草网站在线观看 | 极品少妇啪啪高清免费 | 伊人久久一区二区三区 | 成人三级无码视频在线观看 | 性欧美18一19内谢 | 国产98色在线 | 国产 | 94精品激情一区二区三区 | 性久久久久久久 | 91少妇精拍在线播放 | 欧美粗暴se喷水 | 一区二区三区无码高清视频 | 偷偷操网站 | 蜜桃视频插满18在线观看 | 国模小丫大尺度啪啪人体 | 久久久久成人精品 | 国产视频一区二区三区四区五区 | 三级黄色片免费观看 | 91精品啪在线观看国产线免费 | 一夲道无码人妻精品一区二区 | 日本精品久久久久久 | 国产91av在线 | 欧美亚洲韩国 | 中文娱乐综合网777 中文在线第一页 | 奇米影视第四色首页 | 亚洲日本va中文字幕 | 国产超91| 久久久久国精品产熟女久色 | 丝袜老师办公室里做好紧好爽 | 成人国内精品久久久久影院成.人国产9 | 中文字幕人妻无码专区 | 欧美日韩黄色 | 亚洲妇女无套内射精 | 偷拍女人私密按摩高潮视频 | 深夜福利视频在线 | 日韩在线高清视频 | 无码人妻啪啪一区二区 | wwwxxx亚洲| 欧美va在线观看 | 色哒哒影院| 成人精品视频一区二区三区 | 蜜桃91丨九色丨蝌蚪91桃色 | 婚后打屁股高h1v1调教 | 成年人免费网站视频 | 日韩色图片 | 图片区乱熟图片区小说 | asian日本若图pics | 亚洲欧美国产精品久久久久久久 | 色婷婷精品视频 | 91亚洲成a人片在线观看www | 国产黄色自拍视频 | 中文字幕无码av波多野吉衣 | 亚洲永久精品ww47 | 天天操操操 | www.youjizz.com日本 | 国产成人精品123区免费视频 | 国产一区二区在线免费 | 二级大黄大片高清在线视频 | 成人免费高清在线观看 | 国产女主播一区二区三区 | 黄色毛片一级片 | 最近中文2019字幕第二页 | 日韩在线欧美在线 | 中国无码人妻丰满熟妇啪啪软件 | 四色网址 | 狠狠综合久久av | 日本亲子乱子伦xxxx | 亚洲狼人精品一区二区三区 | 亚洲在线视频免费观看 | 日本成人免费 | 97在线观看免费视频 | 巨大乳沟h晃动双性总受视频一区 | 天天干天天草 | 精品国产品香蕉在线 | 四虎在线观看 | 一本在线免费视频 | 亚州一二区 | 91亚洲精品国偷拍自产在线观看 | 亚洲人体av | 色妞av| 成年美女黄网站色大免费视频 | 黄色三级毛片网站 | 亚洲国产一区二区三区在线观看 | 欧美自拍区 | 欧美视频精品在线观看 | 26uuu国产精品视频 | 色女仆影院 | 国产黄三级看三级 | 夜夜添无码试看一区二区三区 | 狠狠色噜噜狠狠米奇777 | 国产午夜av| 日本理伦少妇4做爰 | 免费av看| 日本特黄特黄刺激大片 | 国产清纯白嫩美女正无套播放 | 亚洲国产精品一区二区尤物区 | 性欧美丰满熟妇xxxx性仙踪林 | 天天摸天天看天天做天天爽 | 欧美野外疯狂做受xxxx高潮 | 欧美精品久久一区 | 国产精品国产三级国产密月 | 2021国产精品 | 色综合久久久久无码专区 | 毛片其地| 揉着我的奶从后面进去视频 | 久久女女 | 天堂va蜜桃一区二区三区 | 日产精品久久久一区二区福利 | 日中文字幕 | 国产亚洲欧美日韩精品一区二区三区 | www桃色av嫩草com| 欧美色图中文字幕 | 国产高清视频在线 | 国产激情午夜 | 美女张开腿黄网站免费下载 | 久久综合a∨色老头免费观看 | 美女久久久久久久久久 | 日韩视频在线观看免费 | 欧美成人性生活视频 | 在线观看黄色大片 | 在线观看免费av网 | 日韩一区二区在线观看视频 | 中文字幕高清 | 疯狂做受xxxx欧美肥白少妇 | 亚洲春色av无码专区在线播放 | 91超碰caoporm国产香蕉 | 成人免费一区二区三区视频 | 男女毛片视频 | 婷婷精品久久久久久久久久不卡 | 国产精品永久在线观看 | 亚洲日本欧美在线 | 未满成年国产在线观看 | 羞羞视频在线观看免费观看 | 日本大尺度做爰呻吟 | 国产一区二区三区免费播放 | www黄色com| 黄色日韩 | 亚洲国产美女精品久久久 | 成人性生交大片免费网站 | 免费在线h | 深爱激情久久 | 99成人在线 | 午夜尤物丰满大乳美女 | 亚洲乱码一区二区 | 丁香激情五月 | 婷婷色中文字幕综合在线 | 成人一级网站 | 人妻奶水人妻系列 | avhd101高清在线迷片麻豆 | 人妻系列无码专区久久五月天 | 国产人妖在线观看 | 三级av毛片 | 久久精品99久久香蕉国产色戒 | 婷婷激情亚洲 | 秋霞成人| 无码人妻黑人中文字幕 | 爱爱小视频网站 | 成年视频在线播放 | 欧美牲交40_50a欧美牲交aⅴ | 国产毛片毛片毛片毛片毛片毛片 | 性征服新婚少妇69xx | 一级bbbbbbbbb毛片 | 欧美精品人人做人人爱视频 | 红桃17c视频永久免费入口 | 色天天色综合 | 天天拍天天操 | 国产产无码乱码精品久久鸭 | 五月天六月婷婷 | 青青草精品在线视频 | 久久久国产精华特点 | 亚洲成av人在线观看天堂无码 | 人妻互换 综合 | 午夜天堂av天堂久久久 | 国产女主播自拍 | www.玖玖玖| 99精品国产99久久久久久白柏 | 蜜臀久久99精品久久久无需会员 | 在线观看h网站 | 一区二区三区黄色 | 亚洲欧美日韩久久 | 国产a自拍 | 成人伊人网站 | 久久av影视 | 精品国产18久久久久久依依影院 | 欧美三级黄色 | 国产女人第一次做爰视频 | 欧美丰满少妇xxxx性 | 又粗又硬又大又爽免费视频播放 | 欧美人与zoxxxx视频 | 免费看av大片 | 天堂а√在线地址中文在线 | 欧美国产日韩在线观看 | 久久精品免费观看 | 久久久欧洲 | 国产午夜精品无码一区二区 | fee性满足he牲bbw | 国产一区调教91鞭打 | 欧美老肥妇做.爰bbww视频 | 催眠肉高h喷汁呻吟np | 中文精品一区二区 | 一级一片免播放 | 国产欧美日韩精品一区二区三区 | 狠狠精品干练久久久无码中文字幕 | 日韩 欧美 亚洲 国产 | 中国黄色毛片 | 午夜成人理论无码电影在线播放 | 免费人成在线观看视频高潮 | 黄色av免费在线播放 | 久久国产精品免费 | 第一福利在线 | 波多野结衣电车痴汉 | 羞羞动漫在线看免费 | 怡红院怡春院a∨免费十部 怡红院最新网址 | 国产自在现线2019 | av免费网站观看 | 88xx永久免费看大片 | 欧美性猛交ⅹxxx乱大交3 | 人操人爽 | 国产黄色a| 免费久久日韩aaaaa大片 | 少妇啪啪高潮全身舒爽 | 无码专区天天躁天天躁在线 | av在线播放国产 | 少妇做爰免费视频网站 | 亚洲色图27p| 色噜噜狠狠狠狠色综合久 | 公妇乱淫中文字幕 | 五月婷婷久久久 | 久久品 | 欧色图| 丰满少妇弄高潮了www | 玖玖zyz| 天堂中文字幕在线观看 | 懂色av一区二区三区四区五区 | 日产国产欧美视频一区精品 | 好吊色欧美一区二区三区视频 | 成年男女免费视频网站 | 91丨porny丨对白 | 国产一级片毛片 | 欧美激情16p| 国产精品无码专区在线播放 | 寂寞的日本美妇 | 日韩伦理av| 尤物在线免费视频 | 国产一级精品毛片 | 大肉大捧一进一出好爽视频动漫 | 久久人妻精品白浆国产 | 亚洲成av人在线观看天堂无码 | 51久久精品夜色国产麻豆 | www在线观看免费视频 | 亚洲图色在线 | 国产盗摄xxxx视频xxxx | 17c在线视频 | 国产一区视频在线免费观看 | 特级毛片内射www无码 | 草草影院发布页 | 国产成人精品免费视频大全最热 | 欧美激情久久久久久 | 一本一道波多野结衣中文av字幕 | 熟妇人妻无码xxx视频 | 日韩激情一区 | 欧美人人爽 | 欧美激情视频在线播放 | 女人裸体做爰免费视频 | 亚洲专区一 | 亚洲一级片网站 | 色综合色综合久久综合频道88 | 日韩中文字幕av在线 | 少妇精品久久久一区二区三区 | 国产午夜精品理论片a级探花 | 99精品国产成人一区二区 | 久久人人爽天天玩人人妻精品 | 女人被男人躁得好爽免费视频 | 热の国产 | 国产精品亚洲精品日韩已满 | 国产美女一区二区三区 | 久久r精品 | 欧美我不卡 | 国产又黄又爽又色的免费视频白丝 | 亚洲综合在线一区 | 野外做受又硬又粗又大视频 | 成人高清在线观看 | 国产精品久久国产精品 | 国产丝袜一区二区三区 | 激情综合网五月 | 国产色视频免费 | 日本一区二区三区视频在线播放 | 成人做爰69片免费看网站野花 | 欧美 国产 综合 欧美 视频 | 亚洲一区二区三区日本久久九 | 四虎午夜影院 | 夜夜撸网站 | 久久99精品久久久久久水蜜桃 | 国产无套喷白浆在线播放 | 性开放的女人aaa片 久久视频在线观看精品 | 亚洲一区二区三区四区五区不卡 | 亚洲国产网 | 国产三级网 | 开心色站 | 国产精品jizz在线观看网站 | 国产又色又爽又黄的 | 免费看污黄网站在线观看 | 亚洲一区二区三区av无码 | 久久精品79国产精品 | 久久久久免费精品国产 | 亚洲一区二区三区四 | 91精品亚洲影视在线观看 | 日韩欧美国产成人精品免费 | 国产美女视频国产视视频 | 一本大道久久a久久精品综合1 | 午夜福利一区二区三区在线观看 | 日本aaaaa级毛片片 | 潮喷大喷水系列无码久久精品 | 午夜少妇一级福利 | 国产蜜臀av在线一区尤物 | 亚洲毛片av日韩av无码 | 伊伊人成亚洲综合人网香 | www.中文字幕在线观看 | 日韩www在线观看 | 欧美成人精品第一区二区三区 | 久久精品一区二区国产 | 久久久亚洲国产精品 | 日批视频免费在线观看 | 午夜av亚洲翘臀国产精网 | 9999热视频| 久久99精品久久久久婷婷 | 精品一区二区三区免费视频 | 天堂av免费在线观看 | 国产精品亚洲一区二区在线观看 | 精品视频一区在线观看 | 国产精品久久久久9999爆乳 |