《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Hadoop的測(cè)試數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于Hadoop的測(cè)試數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2015年電子技術(shù)應(yīng)用第7期
劉有耀,李 彬
西安郵電大學(xué) 專用集成電路設(shè)計(jì)中心,陜西 西安710061
摘要: 提出一種基于Hadoop軟件框架進(jìn)行海量測(cè)試數(shù)據(jù)處理的解決方案。在深入研究Hadoop分布式系統(tǒng)構(gòu)架、HDFS分布式文件系統(tǒng)以及MapReduce分布式編程模型的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了二進(jìn)制測(cè)試數(shù)據(jù)文件到HDFS的傳輸機(jī)制以及基于MapReduce的測(cè)試數(shù)據(jù)分布式格式轉(zhuǎn)換系統(tǒng)。最后搭建實(shí)驗(yàn)環(huán)境,驗(yàn)證了整個(gè)系統(tǒng)的正確性并對(duì)分布式格式轉(zhuǎn)換系統(tǒng)進(jìn)行性能評(píng)估。與本地單機(jī)相比,系統(tǒng)在處理海量數(shù)據(jù)時(shí)具有更高的效率及更好的可拓展性。
中圖分類號(hào): TP311
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.039
中文引用格式: 劉有耀,李彬. 基于Hadoop的測(cè)試數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(7):140-143.
英文引用格式: Liu Youyao,Li Bin. The design and implementation of test data processing system based on Hadoop[J].Application of Electronic Technique,2015,41(7):140-143
The design and implementation of test data processing system based on Hadoop
Liu Youyao,Li Bin
Design Center of Application-Specific Integrated Circuits, Xi′an University of Posts and Telecommunications,Xi′an 710061,China
Abstract: This paper proposes a Hadoop-based software framework for massive testing data processing scheme. Based on the related technology of Hadoop distributed system architecture, Hadoop distributed file system and MapReduce programming model, it designed and implemented the binary test data files to HDFS transport mechanism and the test data format conversion system based on MapReduce. Finally, it set up the experimental environment to verify the correctness of the whole system and did the distributed format conversion system performance evaluation. Compared with one node conversion in local, this system has higher efficiency and better expansibility in dealing with a huge amounts of data.
Key words : semiconductor testing data;distributed storage;Hadoop;MapReduce

  

0 引言

    在半導(dǎo)體業(yè)日漸成熟的今天,半導(dǎo)體測(cè)試已逐漸成為整條產(chǎn)業(yè)鏈中必不可少的重要環(huán)節(jié)。與此同時(shí),計(jì)算機(jī)科學(xué)與技術(shù)的不斷發(fā)展同樣為半導(dǎo)體測(cè)試提供了全方位的支持。集成電路規(guī)模的不斷增大,使得所要測(cè)試的項(xiàng)目隨之增多,同時(shí),測(cè)試數(shù)據(jù)量也在不斷增加。如何對(duì)海量的測(cè)試數(shù)據(jù)進(jìn)行有效的存儲(chǔ)以及處理成為集成電路測(cè)試數(shù)據(jù)研究領(lǐng)域里的熱門問題。

    本文首先介紹了現(xiàn)階段主流的大數(shù)據(jù)解決方案Hadoop的相關(guān)技術(shù),詳細(xì)研究Hadoop相關(guān)組件的功能和架構(gòu)。在此基礎(chǔ)上,設(shè)計(jì)并且實(shí)現(xiàn)了基于Hadoop的測(cè)試數(shù)據(jù)分布式處理系統(tǒng)。最后搭建實(shí)際的測(cè)試環(huán)境,對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試,驗(yàn)證了平臺(tái)的有效性和穩(wěn)定性,并對(duì)結(jié)果進(jìn)行了分析。

1 分布式系統(tǒng)相關(guān)技術(shù)研究

1.1 Hadoop

    Hadoop[1]的整體構(gòu)架如圖1所示,圖中每個(gè)最底層的長(zhǎng)方形代表一臺(tái)物理服務(wù)器,每臺(tái)物理服務(wù)器或稱物理節(jié)點(diǎn),通過網(wǎng)線連接到交換機(jī),交換機(jī)再連接到中心交換機(jī),客戶端通過互聯(lián)網(wǎng)來訪問。NameNode(名稱節(jié)點(diǎn))[2]、Secondary NameNode(輔助名稱節(jié)點(diǎn))[3]、DataNode(數(shù)據(jù)節(jié)點(diǎn))組成了Hadoop內(nèi)整個(gè)分布式文件系統(tǒng)的體系。

jsj1-t1.gif

1.2 HDFS

    HDFS[4]的分布式文件系統(tǒng)架構(gòu)如圖2所示。其中,NameNode的工作是管理文件系統(tǒng)的命名空間,它是整個(gè)系統(tǒng)的總控節(jié)點(diǎn),會(huì)記錄每個(gè)文件的數(shù)據(jù)塊在各個(gè)DataNode里的位置以及副本的信息,除此之外,它還需要記錄每個(gè)文件具體所在的集群節(jié)點(diǎn)。另外,NameNode還要協(xié)調(diào)客戶端對(duì)文件的訪問,當(dāng)有節(jié)點(diǎn)需要訪問某個(gè)文件時(shí),它會(huì)先去訪問NameNode來獲取此文件的位置信息,獲取信息后,它就可以與DataNode直接通信,來獲取數(shù)據(jù)塊[5]

jsj1-t2.gif

    在HDFS中,另外一種節(jié)點(diǎn)的角色是DataNode,主要是用來管理所在的物理節(jié)點(diǎn)。DataNode的讀寫方式一般是文件一次性寫入,不能修改,可以刪除,并且可以多次讀取。由于其有此特性,就不需要考慮一致性。在DataNode中,文件是由數(shù)據(jù)塊組成,從Linux的角度來看,每個(gè)數(shù)據(jù)塊就是一個(gè)Block文件,一般缺省的數(shù)據(jù)塊最大可以達(dá)到64 MB。在調(diào)度時(shí),Hadoop系統(tǒng)會(huì)盡量讓數(shù)據(jù)塊散布在集群里的各個(gè)節(jié)點(diǎn)中,來實(shí)現(xiàn)冗余的效果。

1.3 MapReduce

    MapReduce的主要思想是“分而治之”[6-7]。這個(gè)思想在MapReduce模型中被反映得淋漓盡致,其中,mapper用來做“分”的工作,把一個(gè)很龐大的工作任務(wù),在數(shù)據(jù)上分配到每個(gè)節(jié)點(diǎn)上,然后在程序計(jì)算上進(jìn)行分割,mapper一般會(huì)跟它處理的數(shù)據(jù)被存放在同一個(gè)節(jié)點(diǎn)中,而不需要網(wǎng)絡(luò)再傳輸數(shù)據(jù),這樣可以減少很多在網(wǎng)絡(luò)中I/O的時(shí)間;reducer的任務(wù)是對(duì)map進(jìn)程中的處理結(jié)果進(jìn)行集中。MapReduce工作原理如圖3所示。

jsj1-t3.gif

2 測(cè)試數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)

    本文所研究的測(cè)試數(shù)據(jù)是基于泰瑞達(dá)公司的J750自動(dòng)測(cè)試機(jī),通過對(duì)集成電路測(cè)試得到標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)格式文件(Standard Test Data Format,STDF)[8]。STDF是一種由泰瑞達(dá)公司開發(fā)的通過自動(dòng)測(cè)試機(jī)來收集測(cè)試數(shù)據(jù)的文件格式,它具有簡(jiǎn)單、靈活、便捷的特點(diǎn),為了最小化地占用存儲(chǔ)空間,它被設(shè)計(jì)為二進(jìn)制文件格式,由于很容易被快速且穩(wěn)定地進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,因此逐漸被很多自動(dòng)測(cè)試機(jī)供應(yīng)商所接受。

    隨著芯片制造工廠的不斷涌現(xiàn)及自動(dòng)測(cè)試機(jī)數(shù)量的不斷增加,產(chǎn)生的測(cè)試數(shù)據(jù)量將是海量的。因此,對(duì)測(cè)試數(shù)據(jù)處理時(shí)產(chǎn)生的時(shí)間損耗及運(yùn)算資源的需求量會(huì)不斷增大。

    本文基于MapReduce設(shè)計(jì)并實(shí)現(xiàn)一個(gè)測(cè)試數(shù)據(jù)分布式處理系統(tǒng),該系統(tǒng)通過對(duì)可擴(kuò)展運(yùn)算資源的集中使用,達(dá)到高處理性能。此系統(tǒng)實(shí)現(xiàn)了測(cè)試數(shù)據(jù)的分布式存儲(chǔ),同時(shí)使用了基于MapReduce的程序?qū)崿F(xiàn)了分布式的格式轉(zhuǎn)換功能,將STDF格式文件轉(zhuǎn)換為CSV格式文件,系統(tǒng)顯著提高了格式轉(zhuǎn)換的性能。

    系統(tǒng)總體架構(gòu)圖如圖4所示。系統(tǒng)主要由測(cè)試數(shù)據(jù)的分布式存儲(chǔ)與分布式格式轉(zhuǎn)換兩個(gè)部分組成。系統(tǒng)使用HDFS作為分布式并行處理的存儲(chǔ)平臺(tái),從FTP收集到的海量測(cè)試數(shù)據(jù)會(huì)被自動(dòng)分布到HDFS的數(shù)據(jù)節(jié)點(diǎn)中,然后,系統(tǒng)會(huì)利用Hadoop MapReduce對(duì)數(shù)據(jù)進(jìn)行分布式并行處理。

jsj1-t4.gif

    系統(tǒng)執(zhí)行的具體步驟如下:

    (1)數(shù)據(jù)采集。ATE收集的測(cè)試數(shù)據(jù)存儲(chǔ)在本地硬盤上,系統(tǒng)將會(huì)采集FTP上的所有STDF文件,并通過DFSClient程序?qū)⑽募蟼鞯紿DFS中,實(shí)現(xiàn)測(cè)試數(shù)據(jù)的分布式存儲(chǔ)。

    (2)數(shù)據(jù)處理。系統(tǒng)將HDFS中的數(shù)據(jù)傳遞給Map-Reduce框架,實(shí)現(xiàn)數(shù)據(jù)的分布式處理。這是本系統(tǒng)的主要工作。

    (3)數(shù)據(jù)返回。格式轉(zhuǎn)換完成后,數(shù)據(jù)將自動(dòng)上傳到HDFS中。

    步驟(2)中的數(shù)據(jù)格式轉(zhuǎn)換為本系統(tǒng)的主要工作部分。首先,通過程序?qū)y(cè)試數(shù)據(jù)文件的目錄路徑作為MapReduce程序的輸入,傳遞給MapReduce框架,也就是將HDFS中的測(cè)試數(shù)據(jù)分發(fā)到集群中的各個(gè)節(jié)點(diǎn);然后,系統(tǒng)將會(huì)利用Hadoop提供給MapReduce框架的文件緩存工具DistributedCache,在運(yùn)行任務(wù)之前,該軟件將會(huì)自動(dòng)被分發(fā)到每臺(tái)機(jī)器上的某個(gè)目錄中,這樣就無需預(yù)先在各個(gè)節(jié)點(diǎn)上放置格式轉(zhuǎn)換軟件,減少了工作量的同時(shí)提高了工作效率;最后,在map()函數(shù)中調(diào)用第三方軟件“StdfToCsv.exe”進(jìn)行格式轉(zhuǎn)換。由于考慮到數(shù)據(jù)實(shí)際并不需要在reduce階段進(jìn)行合并處理過程,因此,系統(tǒng)僅實(shí)現(xiàn)map階段,這樣不僅能夠避免在reduce階段對(duì)數(shù)據(jù)進(jìn)行合并,而且提升了系統(tǒng)的工作效率。

3 測(cè)試數(shù)據(jù)處理系統(tǒng)實(shí)現(xiàn)

3.1 測(cè)試數(shù)據(jù)在HDFS上的存儲(chǔ)實(shí)現(xiàn)

    測(cè)試數(shù)據(jù)文件將已“測(cè)試時(shí)間_LotID_WaferID”的格式進(jìn)行命名,DFS Client把測(cè)試數(shù)據(jù)上傳到HDFS中。

    圖5為DFS Client將STDF文件上傳到HDFS的流程圖。首先,打開本地文件的輸入流與HDFS的輸出流;然后,將STDF文件全部上傳的HDFS中,直到所有數(shù)據(jù)上傳完畢;最后,關(guān)閉輸入、輸出流。為了實(shí)現(xiàn)測(cè)試數(shù)據(jù)實(shí)時(shí)上傳到HDFS中,需要采用定時(shí)刷新檢測(cè)機(jī)制,將測(cè)試數(shù)據(jù)定時(shí)上傳到HDFS中。

jsj1-t5.gif

3.2 測(cè)試數(shù)據(jù)格式轉(zhuǎn)換實(shí)現(xiàn)

    應(yīng)用程序在JobConf中通過url(hdfs://)指定需要被緩存的文件,即“StdfToCsv.exe”文件。此時(shí)該文件已經(jīng)被存放在HDFS上。MapReduce會(huì)在任務(wù)開始之前,將該文件分發(fā)到Slave節(jié)點(diǎn)上,而且僅會(huì)為沒有該文件的Slave節(jié)點(diǎn)緩存文件,這樣可以節(jié)約網(wǎng)絡(luò)帶寬,提高系統(tǒng)的運(yùn)行效率。測(cè)試數(shù)據(jù)格式轉(zhuǎn)換實(shí)現(xiàn)過程如下:

    (1)數(shù)據(jù)格式轉(zhuǎn)換模塊使用InputFormat類中的Record-Reader方法從HDFS中讀取STDF文件。在該系統(tǒng)中,InputFormat主要承擔(dān)兩項(xiàng)工作,第一是預(yù)先向MapReduce框架提供map任務(wù)的數(shù)量信息,從而使MapReduce框架預(yù)先安排所有的map任務(wù);第二是讀取從原始測(cè)試數(shù)據(jù)集傳遞到map類中map()函數(shù)的記錄,這個(gè)函數(shù)通過RecordReader來執(zhí)行,RecordReader是由FileInputFormat提供,用來讀取原始文件,并將它傳遞給map()。

    (2)InputFormat將Key-Value對(duì)傳遞給mapper。mapper將會(huì)使用格式轉(zhuǎn)換軟件以完全分布式方式將STDF文件轉(zhuǎn)換為CSV文件,在mapper完成測(cè)試數(shù)據(jù)的格式轉(zhuǎn)換后,將結(jié)果傳遞給OutputFormat作為Key(文件名)和Value(文件內(nèi)容)。

    (3)mapper將Key-Value對(duì)傳遞給OutputFormat。也就是說,OutputFormat會(huì)將Key-Value對(duì)重新生成一個(gè)HDFS中的文件。

    本文設(shè)計(jì)了一個(gè)StdfInputFormat類來讀取STDF文件,另外還設(shè)計(jì)了StdfRecordReader類從StdfInputFormat讀出數(shù)據(jù)并且傳遞給mapper函數(shù)。

    MapReduce的輸入是存儲(chǔ)在HDFS中的STDF文件,一個(gè)STDF文件作為一個(gè)單獨(dú)的map輸入,也就是說,每個(gè)STDF文件為一個(gè)單獨(dú)的邏輯分割,不需要再進(jìn)行分割,即保證了每個(gè)STDF文件的獨(dú)立性與完整性。要實(shí)現(xiàn)此設(shè)計(jì),只需重寫FileInputFormat子類中的isSplitable()方法,將返回值設(shè)為False,就可以達(dá)到將每個(gè)STDF文件作為一個(gè)邏輯分割的目的。

    當(dāng)數(shù)據(jù)從HDFS被傳遞到mapper函數(shù)時(shí),由數(shù)據(jù)文件名和數(shù)據(jù)內(nèi)容作為Key-Value對(duì)。在整個(gè)MapReduce程序中,通過繼承mapper這個(gè)類來實(shí)現(xiàn)map,本文重寫map()方法,使得map()每次接收一個(gè)Key-Value對(duì),然后系統(tǒng)就對(duì)這個(gè)Key-Value對(duì)進(jìn)行處理,再分發(fā)出處理后的數(shù)據(jù)。

    mapper有setup()、map()、cleanup()和run()四個(gè)方法,其中setup()一般是用來進(jìn)行一些map()前的準(zhǔn)備工作,map()則一般承擔(dān)主要的處理工作,cleanup()則負(fù)責(zé)收尾工作,如關(guān)閉文件或者執(zhí)行map()后的Key-Value分發(fā)等。在本系統(tǒng)中,setup()方法用來執(zhí)行DistributedCache,將第三方軟件分發(fā)到各個(gè)節(jié)點(diǎn)后,執(zhí)行軟件,對(duì)STDF文件進(jìn)行轉(zhuǎn)換。執(zhí)行命令如下:

    StdfToCsv.exe-stdf xxx.stdf-csv-o xxx

    “xxx”就是待轉(zhuǎn)換文件的名字,也就是Key值,因此,只需要將執(zhí)行命令放入map()函數(shù)即可。程序啟動(dòng)后,數(shù)據(jù)會(huì)以Key-Value對(duì)的形式傳輸?shù)健癝tdfToCsv.exe”軟件中進(jìn)行格式轉(zhuǎn)換。對(duì)于FileOutputFormat而言,與FileInputFormat情況一樣,本文同樣設(shè)計(jì)了StdfOutputFormat和StdfRecordWriter類來接收Key-Value對(duì)作為mapper的結(jié)果,結(jié)果將被輸出到HDFS中,最終實(shí)現(xiàn)海量測(cè)試數(shù)據(jù)的分布式格式轉(zhuǎn)換。

4 系統(tǒng)的測(cè)試與分析

    首先對(duì)測(cè)試數(shù)據(jù)格式轉(zhuǎn)換系統(tǒng)的正確性進(jìn)行驗(yàn)證,將20個(gè)STDF文件上傳到Hadoop集群中進(jìn)行格式轉(zhuǎn)換,將得到的CSV格式文件從HDFS中下載到本地,與在本地進(jìn)行格式轉(zhuǎn)換得到的CSV格式文件進(jìn)行對(duì)比,結(jié)果表明兩種方法得到的CSV格式文件完全一致。

    其次,為了驗(yàn)證格式轉(zhuǎn)換系統(tǒng)的性能,使用6組不同規(guī)模的數(shù)據(jù)集,如表1所示,每個(gè)原始STDF文件為100 MB左右。

jsj1-b1.gif

    測(cè)試在不同集群規(guī)模下格式轉(zhuǎn)換所用時(shí)間,包括集群中有2節(jié)點(diǎn)、3節(jié)點(diǎn)和4節(jié)點(diǎn)的情況,以及單臺(tái)機(jī)器在本地的格式轉(zhuǎn)換所用時(shí)間,如表2所示,時(shí)間曲線如圖6所示。

jsj1-b2.gif

jsj1-t6.gif

    表2及圖6顯示了各組數(shù)據(jù)集在格式轉(zhuǎn)換系統(tǒng)中的測(cè)試結(jié)果。從表及圖中可以看出,基于Hadoop的分布式格式轉(zhuǎn)換系統(tǒng)對(duì)于大量測(cè)試數(shù)據(jù)的格式轉(zhuǎn)換展現(xiàn)了非常出色的性能。當(dāng)數(shù)據(jù)集大小為1 GB,同時(shí)采用4個(gè)節(jié)點(diǎn)進(jìn)行格式轉(zhuǎn)換時(shí),效率比本地單機(jī)轉(zhuǎn)換提高了大約70%左右;而當(dāng)數(shù)據(jù)集的大小增加到30 GB,仍然采用4個(gè)節(jié)點(diǎn)進(jìn)行格式轉(zhuǎn)換時(shí),效率比單機(jī)轉(zhuǎn)換更是提高了75%之多。通過對(duì)比可以看出,在處理相同數(shù)據(jù)集時(shí),隨著集群內(nèi)節(jié)點(diǎn)數(shù)目的增長(zhǎng),時(shí)間會(huì)不斷減少,因此,在Hadoop集群上,采用MapReduce編程框架對(duì)數(shù)據(jù)進(jìn)行處理,在系統(tǒng)系能上會(huì)得到極大的提升。

5 結(jié)束語(yǔ)

    隨著集成電路測(cè)試領(lǐng)域的飛速發(fā)展,每天都會(huì)產(chǎn)生數(shù)以萬計(jì)的芯片測(cè)試數(shù)據(jù),在未來對(duì)測(cè)試數(shù)據(jù)進(jìn)行存儲(chǔ)與處理方面將會(huì)面臨很多困難。本文以此為背景,圍繞HDFS分布式文件系統(tǒng)與MapReduce分布式編程框架展開討論,重點(diǎn)研究了基于Hadoop的測(cè)試數(shù)據(jù)存儲(chǔ)與格式轉(zhuǎn)換系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。

    隨著云計(jì)算與云存儲(chǔ)技術(shù)的不斷發(fā)展,測(cè)試數(shù)據(jù)在基于云平臺(tái)上的相關(guān)技術(shù)與研究也會(huì)越來越深入,同時(shí)為越來越多的用戶提供便利。

參考文獻(xiàn)

[1] GHEMAWAT S,GOBIOFF H,LEUNG S.The google file system[C].Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles,2003.

[2] 李寬.基于HDFS的分布式Namenode節(jié)點(diǎn)模型的研究[D].廣州:華南理工大學(xué),2011.

[3] 鮑彤,陳維鋒,盧磊.基于Hadoop的分布式集群平臺(tái)構(gòu)建方法研究[J].信息通信,2013(8):21-22.

[4] BORTHAKUR D.Hadoop distributed file system[EB/OL].(2007)[2015].http://www.hadoop.org.cn/resource.

[5] 郝向濤.基于Hadoop的分布式文件系統(tǒng)技術(shù)分析及應(yīng)用[D].武漢:武漢理工大學(xué),2013.

[6] BHANDARKAR M.MapReduce programming with apache Hadoop[C].Parallel & Distributed Processing(IPDPS),2010 IEEE International Symposium on.Parallel & Distributed Processing(IPDPS),2010:19-23.

[7] DEAN J,GHEMAWAT S.MapReduce:Simplified data processing on large clusters[C].OSDI′04,2004:137-149.

[8] 袁薇.標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)格式(STDF)文件的研究[J].電子元器件應(yīng)用,2009(4):70-73.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲福利视频在线| 亚洲女女女同性video| 国产精品久久久久aaaa| 欧美精品一区二区三区很污很色的 | 免费成人你懂的| 久久黄色小说| 久久国产免费| 久久精品91久久久久久再现| 欧美一区=区| 午夜精品视频在线观看一区二区 | 久久美女性网| 久久夜色精品亚洲噜噜国产mv| 久久激情五月激情| 久久国内精品自在自线400部| 久久精品国产77777蜜臀| 久久国产色av| 久久天天躁狠狠躁夜夜av| 久久久www成人免费无遮挡大片| 欧美一区综合| 久久久蜜桃精品| 久热精品在线| 欧美成人四级电影| 欧美麻豆久久久久久中文| 欧美日韩理论| 国产精品日本一区二区| 国产精品综合| 国内视频精品| 亚洲国产另类精品专区| 亚洲美女视频在线观看| 一区二区三区视频在线| 亚洲一区精品电影| 欧美一区二区三区成人| 亚洲二区在线| 99精品欧美| 亚洲欧美日韩一区二区三区在线观看| 亚洲欧美99| 久久夜精品va视频免费观看| 欧美国产综合视频| 欧美性视频网站| 国产视频综合在线| 亚洲高清免费在线| 一区二区欧美亚洲| 性一交一乱一区二区洋洋av| 亚洲高清视频在线观看| 一本久久知道综合久久| 午夜在线a亚洲v天堂网2018| 久久综合一区二区三区| 欧美日韩爆操| 国产精品中文字幕在线观看| 亚洲欧美中文日韩v在线观看| 亚洲人成高清| 亚洲线精品一区二区三区八戒| 午夜免费日韩视频| 亚洲人成久久| 亚洲欧美日韩另类精品一区二区三区| 久久av红桃一区二区小说| 美日韩精品免费观看视频| 欧美日韩一区二区欧美激情| 国产日产亚洲精品系列| 亚洲第一福利在线观看| 一区二区欧美亚洲| 久久精品国产一区二区三区免费看| 亚洲美女黄色| 欧美自拍偷拍| 欧美日韩亚洲91| 国产亚洲精品高潮| 日韩一二三区视频| 久久精品动漫| 午夜精品久久99蜜桃的功能介绍| 久热精品视频在线免费观看| 国产精品久久久久久久久久尿| 黄网站色欧美视频| 亚洲无限乱码一二三四麻| 亚洲国产国产亚洲一二三| 亚洲女女女同性video| 蜜臀久久99精品久久久久久9| 国产精品伦理| 亚洲精品看片| 亚洲高清视频在线观看| 亚洲欧美日韩中文视频| 欧美成人日韩| 国产亚洲日本欧美韩国| 一区二区免费在线播放| 亚洲日本精品国产第一区| 欧美在线黄色| 国产精品久久97| 亚洲人体偷拍| 亚洲国产成人av| 欧美一区二区高清| 欧美日韩在线一区二区| 亚洲国产精品一区在线观看不卡| 性感少妇一区| 亚洲午夜久久久久久久久电影院| 免费h精品视频在线播放| 国产欧美日韩在线视频| 一区二区三区精品国产| 日韩香蕉视频| 欧美成人日本| 一区二区三区在线观看视频| 香蕉免费一区二区三区在线观看| 亚洲精品1区2区| 欧美一区二区三区婷婷月色| 亚洲图片欧美一区| 欧美美女视频| 亚洲欧洲一区二区天堂久久 | 国产精品剧情在线亚洲| 亚洲精品国产品国语在线app| 亚洲成在线观看| 久久激情五月丁香伊人| 国产毛片一区二区| 亚洲系列中文字幕| 亚洲主播在线播放| 欧美日韩色一区| 亚洲精品一线二线三线无人区| 亚洲欧洲日韩综合二区| 美女诱惑一区| 亚洲第一狼人社区| 亚洲精品1234| 欧美电影免费观看网站| 亚洲国产91精品在线观看| 亚洲高清在线观看一区| 裸体素人女欧美日韩| 国产一区二区中文| 久久精品国产亚洲5555| 久久中文字幕一区二区三区| 伊人久久男人天堂| 91久久在线观看| 欧美国产精品中文字幕| 亚洲激情国产| 亚洲视频精品在线| 国产精品啊啊啊| 亚洲一区在线免费| 欧美在线观看天堂一区二区三区| 国产欧美亚洲日本| 久久国产福利国产秒拍| 久久久www| 在线观看一区欧美| 日韩视频不卡| 欧美视频成人| 亚洲一区二区精品| 欧美影院久久久| 激情一区二区三区| 亚洲国产日韩欧美| 欧美成人国产一区二区| 亚洲国产欧美一区二区三区久久| 99视频国产精品免费观看| 欧美三区不卡| 午夜久久tv| 欧美成人精精品一区二区频| 亚洲精品日本| 亚久久调教视频| 国模叶桐国产精品一区| 亚洲久久一区二区| 欧美婷婷久久| 欧美一区高清| 欧美日韩国产91| 亚洲欧美激情在线视频| 久久久久久成人| 亚洲二区视频| 亚洲男女毛片无遮挡| 国产一区在线观看视频| 亚洲美女一区| 国产精品制服诱惑| 亚洲国产精品一区二区第四页av | 亚洲电影在线播放| 亚洲性视频h| 国产一区二区在线观看免费| 国产精品看片你懂得| 亚洲中午字幕| 欧美中文在线观看| 亚洲电影在线观看| 亚洲字幕在线观看| 伊人久久综合97精品| 亚洲一区二区三区免费视频| 国内成人在线| 亚洲一区亚洲| 在线播放日韩欧美| 亚洲欧美日韩国产成人精品影院| 韩日欧美一区二区| 亚洲图片你懂的| 亚洲成人直播| 午夜精品短视频| 91久久极品少妇xxxxⅹ软件| 欧美一区二区三区喷汁尤物| 亚洲国产精品成人综合| 欧美一区二区网站| 亚洲人成在线播放网站岛国| 久久精品日韩欧美| 亚洲精品一区在线观看| 久久久久久有精品国产| 一区二区三区产品免费精品久久75| 久久婷婷久久| 亚洲伊人一本大道中文字幕| 欧美激情一二三区| 欧美在线观看天堂一区二区三区| 国产精品黄视频| 夜夜嗨av一区二区三区四季av| 国产在线精品成人一区二区三区| 亚洲综合色婷婷| 亚洲日韩中文字幕在线播放|