《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 一種MySQL到HBase的遷移策略的研究與實現
一種MySQL到HBase的遷移策略的研究與實現
2016年微型機與應用第13期
宋春紅1,王佳斌2,鄭力新1
(1. 華僑大學 工學院,福建 泉州 362021; 2. 華僑大學 工業智能化技術與系統福建省高校工程研究中心,福建 泉州 362000)
摘要: 隨著Web2.0的到來,互聯網數據快速增長。大規模數據的采集和處理及應用直接影響著用戶體驗,決定著企業的發展。比較傳統關系型數據庫和分布式非關系型數據庫兩者處理大數據的性能,將本地數據遷移到分布式數據庫勢在必行。文章分析了現有遷移工具的利弊,基于HBase數據庫提出了一種有效的數據遷移策略,并依據提出的策略實現了一種半自動化遷移工具。以美國城市和方言系統CityDetail數據庫數據為例,闡述了該遷移工具的工作原理并對遷移后的數據進行多次查詢比較,證明了使用該工具進行數據遷移的高效性。
Abstract:
Key words :

  宋春紅1,王佳斌2,鄭力新1

  (1. 華僑大學 工學院,福建 泉州 362021; 2. 華僑大學 工業智能化技術與系統福建省高校工程研究中心,福建 泉州 362000)

  摘要:隨著Web2.0的到來,互聯網數據快速增長。大規模數據的采集和處理及應用直接影響著用戶體驗,決定著企業的發展。比較傳統關系型數據庫和分布式非關系型數據庫兩者處理大數據的性能,將本地數據遷移到分布式數據庫勢在必行。文章分析了現有遷移工具的利弊,基于HBase數據庫提出了一種有效的數據遷移策略,并依據提出的策略實現了一種半自動化遷移工具。以美國城市和方言系統CityDetail數據庫數據為例,闡述了該遷移工具的工作原理并對遷移后的數據進行多次查詢比較,證明了使用該工具進行數據遷移的高效性。

  關鍵詞:關系型數據庫;HBase;遷移工具

0引言

  Web2.0時代,網絡技術飛速發展,個人與企業都在不斷地創造海量數據,在新的掘金大潮中,如何利用數據以及將數據轉化為有價值信息的速度,越來越成為企業成功與否的決定性因素。實現數據的快速分析,并做出指導,對數據存儲提出了更大的挑戰。雖然傳統數據庫已經發展了很多年,在企業應用方面也形成了很大的使用規模,但是其在處理大數據應用方面仍然存在不足[1]。首先,傳統關系型數據庫無法完成大規模水平拓展,盡管網絡解決方案在一定程度上解決了這個問題,但網絡中仍無法動態地創建集群;其次,關系型數據庫無法有效存儲Web2.0時代的半結構及非結構化數據;此外傳統的關系型數據庫也無法滿足大數據時代對海量數據高效查詢的需求。

  非關系型數據庫的出現彌補了傳統關系型數據庫在處理大規模數據中的不足。非關系型數據庫是對Cassandra、MongoDB和HBase等眾多支持非關系化以及弱關系化數據存儲的數據庫的統稱。非關系型數據庫中的表主要采用聚合的存儲結構,這就使得數據管理更為方便[2];通過預分配空間機制輕松實現了海量數據存儲;可通過連續添加服務節點來實現擴展,不需要停機維護和數據遷移。此外,眾多的非關系型數據庫有著強大的業務針對性,在應用性能上較傳統關系型數據庫有著顛覆性的提升。其中HBase憑借著與Hadoop的無縫集成和強大的高擴展性以及擁有巨大的多元化社區的優勢[3],被各大互聯網企業爭相應用。

  HBase的廣泛應用,使得存儲在傳統關系型數據庫中的歷史數據向HBase的遷移成為當下研究熱點。

1國內外研究現狀

  針對傳統關系型數據向HBase遷移的研究,目前,業界只提出了一些數據遷移的方法,卻很少有比較權威的數據遷移工具,更沒有可以遷移原有表模式或者自動化的遷移工具。

  現有的遷移工具如Hadoop的官方工具Sqoop只支持單表的增量加載,無法完成數據庫系統中眾多表模式的遷移;HBase的Importtsv工具只支持TSV等指定文件的遷移;Put方法雖然簡單直接但也只是完成數據的遷移且遷移效率不佳。此外國內外的大型互聯網公司如微軟、華為等也都爭相開發自己的遷移工具,但多是基于自身的商業應用[4]。

  綜上所述,實現一個自動化或半自動化的數據遷移工具很有必要。這樣可以更大限度地利用業務存儲在原有關系型數據庫中的歷史數據,減少數據之間關系等珍貴資源的浪費,此外,也將避免人工再次錄入。本文針對關系型數據庫MySQL和非關系型數據庫HBase的存儲原理和表結構進行了深入研究,并以CityDetail系統為例闡述了傳統關系型數據庫向HBase遷移的思想,并設計實現了遷移工具。最終,驗證了通過此方法進行數據遷移后,對數據庫查詢的高效性。

2數據庫的存儲原理分析

  2.1關系型數據庫存儲原理

  關系型數據庫[5]是一種建立在關系模型基礎上的數據庫。關系型數據庫中用一張二維表代表現實世界中的實體,用表中的字段代表實體的屬性,用外鍵等聯合操作代表實體之間的關系。表中的一行即一個記錄代表了一個實體,一個或多個這樣的表以及表之間的關系組成了一個關系型數據庫。

  關系型數據庫MySQL中默認安裝INFORMATION_SCHEMA數據庫。INFORMATION_SCHEMA數據庫中存儲著MySQL中所有數據庫的表名、列名、記錄條數、主鍵、外鍵以及過程和方法等信息。這些存儲在INFORMATION_SCHEMA中的數據就叫做數據庫系統的元數據。如圖1所示。

001.jpg

  元數據是用來描述數據的數據[6],用來支持如數據的存儲位置、歷史數據、資源查找等功能。元數據可以視為一種電子目錄,用來協助數據檢索。在關系型數據庫中利用DESCRIB等SQL語句進行檢索時就是查詢的數據庫中的這些元數據。因此,在數據遷移的過程中,可以利用對關系型數據庫中元數據表的查詢快速獲取關系型數據庫中各個表的模式和各表之間的關系,然后進行遷移。

  2.2HBase的存儲原理

  非關系型數據庫HBase是對Google的BigTable數據庫的開源實現。它經常被描述為是一種稀疏的、分布式的、持久化的多為映射[7]。HBase中的邏輯視圖如圖2所示。

  

002.jpg

  由圖2可以看出HBase的表是一個稀疏矩陣。HBase與傳統關系型數據庫表所不同的是:它可以存儲半結構化數據,即HBase中的表在設計上沒有嚴格的限制[8],數據記錄可能包含不一致的列、不確定大小等。此外,與關系型數據庫不同,HBase在存儲上基于列而非行,因此對同列中的數據具有較好的查詢性能。HBase表可以有數百萬列和數十億行,因此可以用來存儲大規模數據。HBase中實際上定義了如下的思維數據模型[7],分別為:

  (1)表。HBase用表來組織數據,表名為字符串。

  (2)行鍵。HBase表中,數據按行存儲。行由行鍵唯一標志,行鍵沒有數據類型,總是被視為字節數組。

  (3)列族。表中的數據在行中被組織成列族,列族也影響到HBase數據的物理存放。系統會把列族存儲在HBase自己的數據庫中,所以列族要在建表時定義好并且不能輕易修改。此外,HBase中每行有相同的列族,相同列族下可以擁有不同的列限定符。

 ?。?)列限定符。列族里的數據通過列限定符或列來定位。與列族不同,列限定符可以不必事前定義。列限定符也不必在不同行之間保持一致。列限定符沒有數據類型,總是視為字節數組。

 ?。?)單元。行鍵、列族和列限定符一起確定了一個單元。存儲在單元里的數據稱為單元值。值沒有數據類型,視為字節數組byte[]。

 ?。?)時間版本。HBase中用版本來存儲單元值在不同時間的值,默認存儲3個版本。時間版本用時間戳來標識。

  在物理上,HBase的數據存儲在HDFS中,能夠很好地利用HDFS的分布式處理模式,并從Hadoop的MapReduce程序模型中獲益。HBase邏輯上的表在行的方向上分割成多個HRegion,HRegion按大小分割,每張表開始只有一個Region,隨著記錄數的不斷增加,Region不斷增大,當增大到一定程度時,HRegion會被等分成兩個新的HRegion。HRegion是HBase中分布式存儲和負載均衡的最小單元,但卻不是存儲的最小單元。HRegion由一個或者多個Store組成,每個Store保存了表中的一個列族。每個Store又由一個Memstore和0至多個StoreFile(HFile)組成,StoreFile用來存儲數據并以HFile的形式保存在HDFS上[9]。

3遷移工具的主要模塊

  本遷移系統的主要組成模塊為如下幾個部分。

  3.1提取源數據庫中的表模式

  通過對傳統關系型數據庫中存儲結構的分析可知,INFORMATION_SCHEMA數據庫存儲了MySQL中所有數據表的元數據,因此可以通過對這些元數據的訪問,快速提取到要遷移的MySQL數據庫中所有源數據的表模式。

  INFORMATION_SCHEMA數據庫中的SCHEMATA表提供了當前MySQL實例中所有數據庫的信息,SQL查詢語言show datatables的結果就是出自此表。TABLES表提供了關于數據庫中的表信息,詳細描述了某個表屬于哪個SCHEMA以及表類型、表名稱、每個表的記錄數以及創建時間等信息。COLUMNS表提供了表中的列信息,詳細表述了某張表的所有列以及每個列的信息。STATISTICS表提供了表中所有的索引信息,此外還有描述表的用戶權限等的元數據。通過對這些表的聯合訪問,可以快速提取源數據庫模式,避免因對數據庫中的數據表的訪問而延長響應時間。

  3.2表模式的轉換

  通過對HBase數據庫存儲結構的研究可知,HBase數據庫中表的結構與傳統關系型數據庫有所不同。HBase中的各表之間不存在關聯關系,也不存在關系型數據庫中的Join連接查詢等操作。要進行表模式的遷移就必須將傳統關系型數據庫中存在相互聯系的數據遷移到HBase中的同一行中。考慮到HBase數據庫的特殊表結構和存儲結構,為了使遷移后的數據盡量不影響業務功能,對數據的表模式做以下轉換[10]:

 ?。?)基本表的轉換

  對CityDetail系統中的所有表進行基本轉換就是直接將源數據表遷移到HBase端。把源數據表的表名作為HBase表的表名,主鍵作為行鍵,表名和列名的組合作為HBase端表中的列限定符,版本設置為1。

 ?。?)內嵌轉換

  在CityDetail系統中存在Country表與City表之間的關聯關系,同時存在Country表與CountryLanguage表之間的關聯關系。HBase中的物理存儲結構決定了HBase表的不同列族存儲在不同的Store文件中,又因為源數據中對不同表的連接查詢操作要遠遠少于單表的操作,因此將City表和CountryLanguage表分別作為Country表的一個列族進行存儲即可。所以,要實現這類表的遷移就要保留Country的表模式,然后對City表和CountryLanguage表進行分割,作為Country表的一個列族添加在Country表中。

 ?。?)遞歸轉換

  在CityDetail系統中除存在Country表與City表之間的關聯關系外,還存在著下一級如Detail表和City表之間的關聯關系。要完成這一類型表的遷移,就要在Country表和City表進行內嵌轉換的基礎上,對City表和Detail表也進行深一級的內嵌變換。根據遞歸原理,先將Detail表進行分割,作為City表相應行中的一個列族,然后再對City表進行分割,作為Country表的一個列族進行遷移。

  (4)分割轉換

  根據關系型數據庫的關系范式[11]可知,表之間還可能存在同一個表Describe是另外三個表Country、City和CountryLanguage的子表的情況,針對這類關系的轉換可以通過對Describe表進行分割,并分別添加到三個表對應的列族下的方法來完成。

  通過以上四種轉換方式的整合應用,最終完成CityDetail系統的所有表模式的遷移。

4設計實現

  本文設計的遷移系統流程圖如圖3所示。

  

003.jpg

 ?。?)連接關系型數據庫MySQL

  首先在Java程序中使用Class.forName()語句加載MySQL的JDBC驅動程序,然后用語句“Connection conn = DriverManager.getConnection(url, user, password)”創建一個新的連接,進而訪問數據庫的元數據,獲取表模式。

 ?。?)模式轉換

  遍歷(1)中獲取的所有表模式,利用前文提到的四種轉換方式轉換得到遷移后的HBase中的表模式。

  (3)連接HBase數據庫

  通過語句“Configuration conf=HBaseConfigurAtion.create()”獲取HBase數據庫中的配置信息,然后用語句“table=new HTable(conf,tablename)”在HBase中創建新表,根據(2)中轉換得到的表模式,用語句“byte[] family=Bytes.toBytes("n")”指定各列族的名稱。至此,遷移系統的表模式遷移完畢。

  (4)數據遷移

  在數據遷移模塊中要分別連接兩個數據庫。首先,連接MySQL數據庫,創建一個MySQL Object用于訪問MySQL中指定的數據庫,用SQL查詢語句循環遍歷數據,獲取數據庫中的記錄,然后連接創建的HBase數據表,生成HBase Object,用Put方法依次將SELECT查詢獲取的數據記錄插入到HBase的表中,最終關閉數據對象,完成數據遷移。

5測試與結論

  實驗測試在Hadoop集群上進行,集群包括4臺主機,每臺主機都安裝了Hadoop、HBase和Zookeeper,集群信息如表1所示。

005.jpg

  本試驗分別用本文所提數據遷移工具與Apache為Hadoop配置的官方數據遷移工具Sqoop對CityDetail系統進行遷移,并使用不同大小的數據集對兩種工具的遷移過程和結果進行了對比。

  首先,在遷移過程的繁簡方面,Sqoop工具是在終端上通過指定參數包括連接數據庫的語句、遷移前后的數據表名、屬性名等來完成數據的遷移。在參數指定上比較繁瑣,不容易操作。而本文遷移工具從獲取表模式到建立HBase數據表和遷移數據均由系統自動完成,比較而言,自動化程度較高。

  其次,在查詢性能上,由于本文遷移工具完成了表模型的轉換和遷移,而Sqoop只是機械化地遷移了特定表中的數據,并沒有進行表模式的遷移,兩者比較,前者遷移結果存在很大的優勢。以典型的SQL查詢語句:“SELECT Name,Language where Country.CountryCode=Language.CountryCode” 為例,兩者的查詢結果如圖4。

004.jpg

  從圖4可以看出,本文遷移工具較Sqoop在查詢性能上有了很大的改善。因為本文遷移工具通過對表模式的轉換,將屬于同一條記錄的信息存儲在了一個HRegion中,同一表中的數據存儲在了同一個Store文件中,查詢時,減少了多次尋址的過程,從而降低了系統響應時間。

6結論

  本文通過對CityDetail系統從MySQL數據庫到HBase數據庫的遷移案例分析,研究了MySQL數據庫和HBase數據庫存儲數據的原理,提出通過訪問MySQL數據庫元數據快速提取表模式并轉換遷移的方法,解決了以往遷移工具不能遷移表模式的問題。在盡量保證數據完整性的前提下,提高了遷移速度、自動化程度和遷移后數據的查詢性能。但是,由于HBase中存在唯一索引,在多條件查詢上的查詢性能肯定會較MySQL有較大的下降,因此關于索引的優化還有待學習和研究。

參考文獻

  [1] 莫扎特.大數據和NoSQL:關系型數據庫的不足之處[EB/OL].(20140811)[20160310].http://www.36dsj.com/archives/11078.

 ?。?] 邱勝海,高成沖,王云霞,等.大數據時代非關系型數據庫教學與實驗改革探索[J].電腦知識與技術,2013(31):70467048.

  [3] 唐長城,楊峰,代棟,等.一種基于HBase的數據持久性和可用性研究[J].計算機系統應用,2013,22(10):175178.

 ?。?] 蔣燚峰.HBase管理指南[M].北京:人民郵電出版社,2013.

 ?。?] 黎明.昆明學院信息系統分析與設計[D].昆明:云南大學,2013.

  [6] 趙慶峰,鞠英杰.國內元數據研究綜述[J].現代情報,2003,23(11):4245.

 ?。?] DIMIDUK N, KAURANA A.HBase實戰[M].謝磊,譯.北京:人民郵電出版社,2013.

 ?。?] 平利強.基于云計算的海量時空數據存儲及挖掘方法的研究和應用[D].杭州:杭州電子科技大學,2014.

 ?。?] 郝樹魁. 分布式存儲系統HBase原理解析[EB/OL].(20101216)[20160310].http://www.paper.edu.cn/releasepaper/content/201012591.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美福利一区二区| 亚洲一区观看| 中文亚洲视频在线| 亚洲国产一区二区在线| 99国产精品久久久久久久成人热| 亚洲激情在线播放| 在线视频国内自拍亚洲视频| 蜜桃av噜噜一区二区三区| 久久精品一区二区三区中文字幕| 91久久精品日日躁夜夜躁欧美| 久久女同互慰一区二区三区| 国外成人免费视频| 国产精品免费看久久久香蕉| 亚洲黄色在线视频| 欧美日韩不卡视频| 亚洲国产三级网| 亚洲福利视频三区| 国产精品久久久久久模特| 亚洲国产一区二区精品专区| 久久国产一区二区三区| 欧美四级电影网站| 欧美日韩国产一区二区三区| 国产欧美 在线欧美| 亚洲综合国产| 欧美在线高清视频| 午夜一级在线看亚洲| 欧美视频日韩| 亚洲二区在线| 亚洲剧情一区二区| 欧美日韩在线观看一区二区三区| 亚洲精品欧美日韩| 国产日韩一区二区三区在线| 国产精品女同互慰在线看| 国产精品久久久久秋霞鲁丝| av不卡在线| 久久精品视频在线免费观看| 亚洲一区二区精品| 亚洲大胆人体视频| 亚洲欧美在线高清| 亚洲国产精品va在线观看黑人| 亚洲人成网站999久久久综合| 黄色日韩精品| 欧美视频亚洲视频| 西西裸体人体做爰大胆久久久| 亚洲激情第一区| 欧美日韩国产色综合一二三四| 欧美激情一级片一区二区| 国产一区二区三区在线免费观看| 国内精品写真在线观看| 欧美片在线观看| 99人久久精品视频最新地址| 欧美在线视频播放| 欧美一区二区三区视频免费播放| 亚洲深爱激情| 狠狠爱综合网| 亚洲国产成人精品女人久久久| 午夜精品短视频| 韩日成人av| 亚洲夜间福利| 一区二区日韩免费看| 国产精品一区二区三区四区| 亚洲欧洲三级| 一区二区毛片| 国产日本欧美视频| 久久久久一区二区| 欧美丝袜一区二区| 免费久久99精品国产自在现线| 亚洲欧美视频在线观看| 亚洲欧美视频一区二区三区| 亚洲一区在线免费观看| 欧美一区二区三区视频在线| 久久九九国产精品怡红院| 一本大道久久a久久精二百| 久久精品道一区二区三区| 最新国产精品拍自在线播放| 久久久久一区二区三区四区| 国产一区二区三区四区在线观看| 国产精品久久久久久av下载红粉| 国产一区二区三区奇米久涩| 亚洲国产91| 国产精品国产三级国产aⅴ入口| 欧美午夜激情视频| 亚洲国产精品一区制服丝袜| 欧美影院久久久| 狂野欧美激情性xxxx欧美| 国产一区二区三区日韩欧美| 欧美mv日韩mv国产网站| 欧美一级淫片播放口| 欧美久久久久久久久久| 亚洲一区在线免费| 久久久精品久久久久| 国产曰批免费观看久久久| 欧美国产日韩一区二区在线观看| 欧美成人xxx| 亚洲美女性视频| 欧美在线观看视频| 亚洲黄色片网站| 国产日韩欧美中文| 免费久久99精品国产自在现线| 亚洲国产91精品在线观看| 欧美精品一区在线观看| 亚洲福利视频免费观看| 久久综合99re88久久爱| 亚洲国产一区二区视频| 欧美日韩一区二区三区在线视频| 国产一区二区三区av电影| 国产一区二区无遮挡| 欧美日韩精品一区二区三区四区| 亚洲七七久久综合桃花剧情介绍| 久久国产精品99精品国产| 午夜久久久久久久久久一区二区| 在线日韩日本国产亚洲| 国产欧美日韩视频在线观看| 一本久久综合亚洲鲁鲁| 激情一区二区三区| 午夜精品美女久久久久av福利| 国产一区二区三区久久悠悠色av| 午夜一区不卡| 欧美日韩理论| 久久精品成人欧美大片古装| 嫩草国产精品入口| 亚洲一二三级电影| 国产亚洲精品aa| 蜜臀av国产精品久久久久| 国产精品久久久久久久久久久久久| 午夜视频精品| 亚洲高清精品中出| 亚洲激情网站| 欧美午夜精品| 99国产一区| 国产综合精品一区| 在线综合亚洲欧美在线视频| 国产一区在线观看视频| 国产精品日本一区二区| 欧美二区乱c少妇| 亚洲视频欧洲视频| 国产精品成av人在线视午夜片| 久久人人97超碰精品888| 欧美不卡高清| 国产精品性做久久久久久| 国产精品久久久久久一区二区三区| 一区二区三区中文在线观看| 国内精品久久久久国产盗摄免费观看完整版| 美女成人午夜| 米奇777超碰欧美日韩亚洲| 欧美精选午夜久久久乱码6080| 黑人操亚洲美女惩罚| 亚洲欧洲一区二区三区| 国产日韩欧美成人| 欧美一级午夜免费电影| 国产欧美一区二区三区在线老狼| 国产精品久久久一区麻豆最新章节| 蜜桃av噜噜一区| 欧美日本在线看| 蜜桃av久久久亚洲精品| 国产免费成人在线视频| 欧美日本在线观看| 女人色偷偷aa久久天堂| 免费中文字幕日韩欧美| 欧美一级视频| 久热国产精品| 欧美一区二区三区精品电影| 久久精品国产欧美激情| 欧美本精品男人aⅴ天堂| 亚洲欧洲日产国产网站| 美女视频一区免费观看| 欧美图区在线视频| 激情久久久久久久久久久久久久久久| 欧美色精品天天在线观看视频| 久久日韩粉嫩一区二区三区| 狠狠狠色丁香婷婷综合激情| 亚洲午夜一区二区| 欧美在线综合| 欧美亚洲免费电影| 久久动漫亚洲| 国产精品久久久一区二区| 欧美日韩国产在线播放网站| 欧美成人综合| 免费观看一级特黄欧美大片| 国产精品一级二级三级| 国产欧美视频一区二区| 99re66热这里只有精品4| 国产精品日日摸夜夜添夜夜av| 国产亚洲精品激情久久| 亚洲人成在线播放网站岛国| 一区二区三区欧美激情| 久久久国际精品| 国产精品乱人伦一区二区| 欧美日韩亚洲视频| 一本色道久久综合亚洲精品小说| 亚洲欧洲在线视频| 麻豆av一区二区三区久久| 欧美777四色影视在线| 久久阴道视频| 欧美成人精品在线| 久久免费视频一区| 国产啪精品视频| 欧美日韩精品欧美日韩精品| 老司机精品福利视频| 伊人成年综合电影网| 久久一二三国产| 国产视频一区二区在线观看| 一本久久知道综合久久| 欧美日韩精品三区| 国产精品揄拍500视频| 一区二区日本视频| 亚洲欧洲偷拍精品| 亚洲乱码日产精品bd| 久久久久久久综合狠狠综合| 免费在线观看成人av| 久久久久久尹人网香蕉| 美女尤物久久精品| 激情综合在线| 老鸭窝毛片一区二区三区| 国产精品成人国产乱一区| 最新国产の精品合集bt伙计| 欧美日韩一区二区在线视频| 欧美一级一区| 欧美特黄a级高清免费大片a级| 欧美国产综合视频| 亚洲欧美综合精品久久成人| 国产美女诱惑一区二区| 欧美成人自拍视频| 这里是久久伊人| 欧美国产日韩一二三区| 亚洲图中文字幕| 亚洲中无吗在线| 欧美亚日韩国产aⅴ精品中极品| 亚洲精选在线观看| 亚洲乱码久久| 国产精品欧美日韩久久| 国产欧美精品在线观看| 亚洲午夜激情在线| 欧美激情一区二区三区四区| 久久精品道一区二区三区| 欧美视频中文字幕在线| 麻豆久久婷婷| 久久久久久久性| 国产精品日韩久久久| 国产一区二区在线观看免费播放| 欧美区一区二| 亚洲欧美怡红院| 欧美精品入口| 欧美日韩综合视频网址| 一本色道久久精品| 国语自产偷拍精品视频偷| 欧美日韩播放| 亚洲人成在线播放网站岛国| 亚洲精品乱码久久久久久| 久久久久久久网| 日韩午夜黄色| 国产精品色网| 国产精品午夜在线观看| 欧美激情欧美狂野欧美精品| 亚洲精品美女在线| 国产精品国产三级国产专区53| 国产精品99免视看9| 国产日韩欧美视频在线| 伊人影院久久| 国产精品久久一区主播| 欧美三级特黄| 一区二区三区蜜桃网| 国产精品理论片| 亚洲人成亚洲人成在线观看图片| 欧美一区二区三区四区夜夜大片| 亚洲视频免费| 国产一区二区丝袜高跟鞋图片| 国产精品久久久久久久午夜| 久久久91精品| 欧美国产精品| 国产日韩精品一区二区浪潮av| 精品成人一区二区三区四区| 欧美国产视频一区二区| 亚洲国产精品一区二区第四页av| 欧美国产精品日韩| 欧美日韩午夜在线视频| 国产精品卡一卡二| 亚洲缚视频在线观看| 国产真实乱子伦精品视频| 国产精品久久久久久久午夜片| 亚洲裸体在线观看| 久久福利视频导航| 国产精品高清一区二区三区| 久久永久免费| 欧美日韩精品在线| 国产日韩欧美a| 国产一区二区三区高清播放| 国产精品午夜视频| 国外视频精品毛片| 久久久成人精品| 国产欧美一区二区在线观看| 黄页网站一区| 欧美综合国产| 亚洲视频在线视频| 久久福利毛片| 国产精品一区二区三区久久久| 一区二区视频免费完整版观看| 亚洲一区二区三区高清不卡| 久久久久久亚洲综合影院红桃| 乱码第一页成人| 欧美日韩一区二区三区高清| 久久只有精品| 99成人在线| 欧美日韩中文字幕综合视频| 亚洲自拍偷拍一区| 中日韩午夜理伦电影免费| 欧美国产视频一区二区| 亚洲国产成人精品久久久国产成人一区| 中日韩美女免费视频网址在线观看| 国产日本欧美一区二区三区| 亚洲天堂免费观看| 久久综合中文色婷婷| 欧美一区二区视频在线| 亚洲一区在线观看视频| 久久精品麻豆| 午夜激情久久久| 欧美日在线观看| 久久久精品国产免大香伊| 欧美精品观看| 欧美欧美午夜aⅴ在线观看| 免费成人av在线| 久久成人精品视频| 国产精品性做久久久久久| 久久精品二区亚洲w码| 欧美不卡激情三级在线观看| 亚洲欧美www| 亚洲一区二区三区影院| 欧美精品一区二区三区高清aⅴ|