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

通用數(shù)據(jù)挖掘系統(tǒng)的結(jié)構(gòu)與設(shè)計(jì)

2016-12-26 07:35:06汪峰坤張婷婷
關(guān)鍵詞:數(shù)據(jù)挖掘系統(tǒng)

汪峰坤,張婷婷

(安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241000)

?

通用數(shù)據(jù)挖掘系統(tǒng)的結(jié)構(gòu)與設(shè)計(jì)

汪峰坤,張婷婷

(安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241000)

數(shù)據(jù)挖掘是當(dāng)前應(yīng)用系統(tǒng)有效的功能擴(kuò)展,通過數(shù)據(jù)挖掘模塊可以提升應(yīng)用系統(tǒng)的價(jià)值,發(fā)現(xiàn)數(shù)據(jù)的深層次知識(shí)。但是數(shù)據(jù)挖掘算法的多樣性,以及開發(fā)的高難度,限制了數(shù)據(jù)挖掘功能的廣泛應(yīng)用。為了提高數(shù)據(jù)挖掘模塊的通用性及擴(kuò)展性,減少與特定領(lǐng)域的耦合性,設(shè)計(jì)出一個(gè)結(jié)構(gòu)松散、擴(kuò)展性強(qiáng)、領(lǐng)域無關(guān)、支持動(dòng)態(tài)配置的通用數(shù)據(jù)挖掘系統(tǒng)是非常必要的。利用高級(jí)語言支持的反射功能,設(shè)計(jì)了簡單的插件模型和數(shù)據(jù)挖掘過程中各功能模塊的統(tǒng)一接口,通過系統(tǒng)內(nèi)核動(dòng)態(tài)加載并運(yùn)行插件,有效地增加了數(shù)據(jù)挖掘模塊的通用性和擴(kuò)展性,具有一定的實(shí)用價(jià)值。

數(shù)據(jù)挖掘;框架;低耦合;反射;插件

一 引言

隨著網(wǎng)絡(luò)的快速發(fā)展以及信息技術(shù)的深入應(yīng)用,人們產(chǎn)生、收集和存儲(chǔ)數(shù)據(jù)的能力大幅增加。對(duì)這些具有海量、結(jié)構(gòu)非良好、模糊、隨機(jī)等特征的數(shù)據(jù)進(jìn)行有效的處理分析,提取出隱藏在數(shù)據(jù)內(nèi)部的潛在知識(shí),是數(shù)據(jù)挖掘技術(shù)所研究的目標(biāo)。數(shù)據(jù)挖掘是一門跨學(xué)科、跨領(lǐng)域的研究課題。在數(shù)據(jù)挖掘技術(shù)中,融合了統(tǒng)計(jì)學(xué)、概率論、面向?qū)ο蠹夹g(shù)、數(shù)據(jù)庫技術(shù)、機(jī)器學(xué)習(xí)、人工智能、信息檢索、數(shù)據(jù)可視化以及知識(shí)工程等研究領(lǐng)域。[1][2][3]

當(dāng)前大部分的網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,為了綜合有效地利用已有數(shù)據(jù),都會(huì)開發(fā)相應(yīng)的數(shù)據(jù)挖掘模塊。商用的數(shù)據(jù)挖掘系統(tǒng)一般都是閉源收費(fèi),如:IBM 公司的 Intelligent Miner、SGI 公司的 SetMiner、SPSS 公司的 Clementine、 SAS 公 司 的 Enterprise Miner等。一些開源的數(shù)據(jù)挖掘系統(tǒng)如Weka等,具有功能較弱,與應(yīng)用系統(tǒng)集成困難等缺點(diǎn)。

本文介紹了一種適用于數(shù)據(jù)挖掘系統(tǒng)的軟件體系結(jié)構(gòu),此種體系結(jié)構(gòu)具有多數(shù)據(jù)源支持、挖掘算法增加方便、參數(shù)配置簡單、挖掘算法之間耦合性低、平臺(tái)無關(guān)性等優(yōu)點(diǎn)。

1 數(shù)據(jù)挖掘算法特點(diǎn)

數(shù)據(jù)挖掘算法主要分成:關(guān)聯(lián)規(guī)則挖掘算法、分類挖掘算法、聚類挖掘算法三大類型。對(duì)于每種類型又存在著多種基本算法,以及增強(qiáng)算法。關(guān)聯(lián)規(guī)則挖掘算法常見的有:Apriori算法簇、FP_Growth算法簇、Two-Phase算法簇等。分類挖掘算法常見的有:決策樹、 Bayes分類、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。聚類挖掘算法常見的有:基于劃分聚類算法簇、基于層次聚類算法簇、基于密度聚類算法簇等。[4][5][6][7]

通過對(duì)上述各類型挖掘算法進(jìn)行分析,可發(fā)現(xiàn)數(shù)據(jù)挖掘挖掘算法有以下幾個(gè)特點(diǎn)。

(1) 各挖掘算法對(duì)數(shù)據(jù)特征要求不一樣。例如:關(guān)聯(lián)規(guī)則挖掘算法只需要指定數(shù)據(jù)所在列,而分類挖掘算法既要指定數(shù)據(jù)所在列,又要指定分類結(jié)果列。

(2) 各挖掘算法參數(shù)配置不同。例如:對(duì)于基于劃分聚類挖掘算法要設(shè)置類的個(gè)數(shù),對(duì)于基于密度聚類挖掘算法簇要指定密度大小。

(3) 各挖掘算法運(yùn)算后輸出結(jié)果的格式是不同的。例如:聚類挖掘算法輸出結(jié)果是多個(gè)集合,每個(gè)集合就是求解的一個(gè)簇。關(guān)聯(lián)規(guī)則挖掘算法求解的結(jié)果是一組蘊(yùn)含式和相應(yīng)的概率。

由上可以得出數(shù)據(jù)挖掘挖掘算法在輸入、參數(shù)配置和輸出結(jié)果上差距很大,即使在同種類型的挖掘算法簇中,不同挖掘算法的參數(shù)個(gè)數(shù)和類型也有區(qū)別。

開發(fā)通用的數(shù)據(jù)挖掘系統(tǒng)應(yīng)該滿足如下條件。

(1) 支持多種輸入的數(shù)據(jù)類型。在當(dāng)前的數(shù)據(jù)挖掘系統(tǒng)中,不同的軟件支持的數(shù)據(jù)源類型是不同的。常見的數(shù)據(jù)源類型有:關(guān)系型數(shù)據(jù)庫、網(wǎng)絡(luò)數(shù)據(jù)、文本數(shù)據(jù)、電子表格數(shù)據(jù)等。系統(tǒng)要支持結(jié)構(gòu)良好、半結(jié)構(gòu)化和無結(jié)構(gòu)化的數(shù)據(jù)。

(2) 支持挖掘算法多種開式的輸出結(jié)果。系統(tǒng)中要考慮輸出結(jié)果的多樣性,支持控制臺(tái)直接輸出、操作系統(tǒng)事件日志輸出、系統(tǒng)日志文件輸出、Excel表格輸出、XML文件輸出及JSON數(shù)據(jù)格式輸出等。

(3) 挖掘算法增加刪除方便。對(duì)于通用數(shù)據(jù)挖掘系統(tǒng),要非常重視系統(tǒng)的可擴(kuò)展性。系統(tǒng)要做到對(duì)于新增加的挖掘算法,通過簡單的參數(shù)配置就可以在系統(tǒng)中直接使用,無需重新編譯整個(gè)系統(tǒng)。

(4) 所有挖掘算法所需要的參數(shù)設(shè)置配置化。即挖掘算法中用到的參數(shù)個(gè)數(shù)、類型、值等都是通過配置文件完成,由通用數(shù)據(jù)挖掘系統(tǒng)統(tǒng)一讀寫,無需在系統(tǒng)中寫死。方便參數(shù)管理,減少挖掘算法參數(shù)配置部分的代碼量。

(5) 為了保證挖掘算法性能,系統(tǒng)提供多線程機(jī)制、提供同步鎖、提供挖掘算法中止功能等。

所以在設(shè)計(jì)通用數(shù)據(jù)挖掘系統(tǒng)時(shí),要符合軟件設(shè)計(jì)原則,盡可能的屏蔽各挖掘算法不同之處,高度抽象出挖掘算法的共同接口,以低耦合的方式聯(lián)接各種挖掘算法。通用數(shù)據(jù)挖掘系統(tǒng)應(yīng)使用插件結(jié)構(gòu),通過良好的體系結(jié)構(gòu)設(shè)計(jì)分離出數(shù)據(jù)挖掘的各部分,每個(gè)部分屏蔽了數(shù)據(jù)、算法等的差異性,以插件的方式來動(dòng)態(tài)加載和運(yùn)行各部分模塊。[8][9][10]

2 通用數(shù)據(jù)挖掘系統(tǒng)體系結(jié)構(gòu)

通用數(shù)據(jù)挖掘系統(tǒng)體系如下圖(圖1),由系統(tǒng)內(nèi)核、算法接口、算法插件、數(shù)據(jù)源讀取接口、數(shù)據(jù)源讀取插件、數(shù)據(jù)結(jié)果輸出接口、數(shù)據(jù)結(jié)果輸出插件等部分組成。

圖1 通用數(shù)據(jù)挖掘系統(tǒng)體系結(jié)構(gòu)圖

2.1 內(nèi)核。

數(shù)據(jù)挖掘系統(tǒng)的內(nèi)核部分是整個(gè)系統(tǒng)最基礎(chǔ)的部分,通過反射機(jī)制實(shí)現(xiàn)了動(dòng)態(tài)數(shù)據(jù)源插件配置讀取與加載、挖掘算法插件配置讀取與加載、輸出插件配置讀取與加載、異常處理等。內(nèi)核主要包括線程管理、插件管理、配置管理、對(duì)象管理器、日志管理、對(duì)象管理器等功能模塊。

線程管理是用來啟動(dòng)、暫停、終止挖掘算法的線程,提供了簡單的線程同步鎖。如果挖掘算法需要多線程操作,則可以通過線程管理模塊中提供的線程同步鎖進(jìn)行線程同步。

為了能夠使本系統(tǒng)具有良好的可擴(kuò)展性,系統(tǒng)中的數(shù)據(jù)讀取、挖掘算法和結(jié)果輸出三個(gè)主要的部分的功能都是通過插件方式提供。內(nèi)核中的插件管理模塊是對(duì)數(shù)據(jù)讀取等三部分功能進(jìn)行動(dòng)態(tài)管理,不需要重新啟動(dòng)本系統(tǒng)就可以動(dòng)態(tài)的增加、修改或刪除數(shù)據(jù)源讀取插件、挖掘算法插件和挖掘結(jié)果輸出插件,即支持熱插撥技術(shù)。

當(dāng)要運(yùn)行某個(gè)插件時(shí),首先插件管理器通過反射功能得到此插件的元數(shù)據(jù),配置管理器讀取插件的配置信息,然后將插件元數(shù)據(jù)和配置信息傳遞給對(duì)象加載器。對(duì)象加載器到對(duì)象管理器中查找是否已經(jīng)實(shí)例化此插件的對(duì)象,如果已經(jīng)實(shí)例化,則直接返回此對(duì)象。如果未實(shí)例化,則由對(duì)象加載器生成此插件的唯一實(shí)例。動(dòng)態(tài)刪除一個(gè)插件時(shí),由插件管理器以事件方式通知對(duì)象加載器,對(duì)象加載器到對(duì)象管理器中查找,如果找到則將插件實(shí)例對(duì)象設(shè)置為空。

對(duì)象管理器是管理系統(tǒng)中通過反射自動(dòng)實(shí)例化的插件實(shí)例對(duì)象的容器。每一個(gè)實(shí)例化后的對(duì)象在對(duì)象管理器中會(huì)自動(dòng)賦給一個(gè)唯一編號(hào),方便查找。在對(duì)象管理器中,至少有三類對(duì)象,即數(shù)據(jù)源插件對(duì)象、挖掘算法插件對(duì)象和運(yùn)算結(jié)果輸出插件對(duì)象。如果系統(tǒng)以單線程方式運(yùn)行,則對(duì)象管理器中只要三個(gè)對(duì)象就可以了。如果系統(tǒng)以多線程方式運(yùn)行,則每一類可以有多個(gè)對(duì)象,對(duì)象管理器中有多個(gè)(超過3個(gè))對(duì)象。

為了方便插件參數(shù)設(shè)置,本系統(tǒng)所有插件參數(shù)都是放到配置文件中。因?yàn)閄ML格式文件具有跨平臺(tái)、擴(kuò)展方便、易理解和驗(yàn)證,以及支持的語言和工具很多等優(yōu)點(diǎn),所有本系統(tǒng)所有的配置文件都使用的是XML格式文件。內(nèi)核中的配置管理模塊對(duì)插件的配置文件進(jìn)行統(tǒng)一的驗(yàn)證和讀寫。配置管理模塊的主要功能有:XML讀取功能、XML Schema配置文件正確性驗(yàn)證、XML配置內(nèi)容解析等。

系統(tǒng)內(nèi)核中還包括了其它的一些通用服務(wù)功能,如:日志管理器可以記錄程序的運(yùn)行情況。日志管理器集成了開源的Log4Net組件,利用Log4Net強(qiáng)大的記錄功能,通過配置可將日志在控制臺(tái)顯示,可保存到文本文件、數(shù)據(jù)庫和事件管理器中。錯(cuò)誤處理模塊可以捕獲系統(tǒng)中出現(xiàn)的異常信息,并通過日志模塊將異常信息進(jìn)行保存。

2.2 數(shù)據(jù)挖掘算法統(tǒng)一接口。

數(shù)據(jù)挖掘算法的統(tǒng)一接口是通用數(shù)據(jù)挖掘系統(tǒng)和數(shù)據(jù)挖掘算法插件唯一聯(lián)系的地方。通過此接口,系統(tǒng)內(nèi)核無需了解算法的內(nèi)部實(shí)現(xiàn),屏蔽不同挖掘算法在參數(shù)、實(shí)現(xiàn)等方面的不同之處。

其主要內(nèi)容如下。

interface IAlgorithm

{void Build(Instance instance, Parameter para,Log log);

void Run();

string GetAlgorithmName();}

所有的挖掘算法插件都要實(shí)現(xiàn)此接口。此接口中Build方法是內(nèi)核向挖掘算法提供挖掘的數(shù)據(jù)內(nèi)容和算法自身的配置信息。instance對(duì)象是內(nèi)核實(shí)例化后的數(shù)據(jù)源插件對(duì)象讀取的待挖掘的數(shù)據(jù),para對(duì)象是由內(nèi)核中的配置管理器實(shí)例化后的算法的配置信息。log對(duì)象是內(nèi)核中日志對(duì)象,挖掘算法中通過日志對(duì)象可以記錄算法運(yùn)行的中間狀態(tài)和數(shù)據(jù)。

接口中的Run方法是由內(nèi)核反射后調(diào)用的算法運(yùn)行的主方法。

GetAlgorithmName方法由挖掘算法實(shí)現(xiàn),提供挖掘算法的名稱,此名稱也是挖掘算法配置文件的名稱。內(nèi)核反射調(diào)用挖掘算法名稱進(jìn)行算法配置對(duì)象的讀取和裝配。

對(duì)于通用數(shù)據(jù)挖掘系統(tǒng)的主調(diào)方法非常簡單,所有算法插件調(diào)用方法都是一樣的,如下所示。

IAlgorithm algorithm= GetInstance(algorithmName);

algorithm.Build(instance, para,log);

algorithm.Run();

其中GetInstance方法就是根據(jù)用戶選擇的算法名稱得到實(shí)例化后的對(duì)象,代碼如下:

static IAlgorithm GetInstance(string algorithmName)

{Type tp = Type.GetType(algorithmName);

object obj =

Assembly.LoadFile(dllPath).CreateInstance(algorithmName);

IAlgorithm ia = (IAlgorithm)obj;

return ia; }

GetInstance方法利用C#提供的反射功能,根據(jù)算法的名稱,動(dòng)態(tài)實(shí)例化相應(yīng)算法的內(nèi)存對(duì)象,并且將此對(duì)象強(qiáng)制轉(zhuǎn)換成算法接口。因?yàn)樗型诰蛩惴▽?shí)現(xiàn)了同一個(gè)接口,所以從通用數(shù)據(jù)挖掘系統(tǒng)的角度上屏蔽了所有挖掘算法內(nèi)部實(shí)現(xiàn)的差異性。

2.3 通用數(shù)據(jù)挖掘系統(tǒng)工作流程。

通用數(shù)據(jù)挖掘系統(tǒng)內(nèi)核啟動(dòng)過程:內(nèi)核啟動(dòng)時(shí)首先由配置管理器讀取并驗(yàn)證默認(rèn)的主配置文件,然后根據(jù)主配置文件由插件管理器按順序檢查并獲取插件元數(shù)據(jù)信息,最后由對(duì)象加載器加載并實(shí)例化內(nèi)核插件。內(nèi)核啟動(dòng)成功后,顯示主界面,等待用戶操作。

數(shù)據(jù)挖掘主流程是用戶選擇并配置數(shù)據(jù)源插件、算法插件和輸出插件,確定選擇后,由通用數(shù)據(jù)挖掘系統(tǒng)內(nèi)核依次驗(yàn)證、加載并運(yùn)行相應(yīng)插件。

結(jié)束語

數(shù)據(jù)挖掘模塊是在當(dāng)前的很多應(yīng)用系統(tǒng)中重要組成部分,通過數(shù)據(jù)挖掘模塊可以有效的深入發(fā)現(xiàn)已獲取數(shù)據(jù)的深層次的知識(shí)。通過挖掘的知識(shí)可用于決策支持、信息管理、過程控制,以及對(duì)應(yīng)用系統(tǒng)自身的數(shù)據(jù)優(yōu)化。

本文提出并實(shí)踐了一個(gè)通用的數(shù)據(jù)挖掘系統(tǒng),此系統(tǒng)通過良好的系統(tǒng)架構(gòu)、統(tǒng)一的操作接口、簡單的插件模型,降低了各子模塊之間的耦合性,提高了系統(tǒng)的擴(kuò)展能力。使用本系統(tǒng),開發(fā)者只需把精力用于挖掘算法的研發(fā),通過簡單的插件配置,使應(yīng)用系統(tǒng)支持各種挖掘處理算法。

[1]Pang-Ning, Tan;Michael, Steinbach. 數(shù)據(jù)挖掘?qū)д揫M]. 北京:人民郵電出版社,2011:1-8.

[2]Ian H Witten,Eibe Frank,Mark A Hall. 數(shù)據(jù)挖掘?qū)嵱脵C(jī)器學(xué)習(xí)工具與技術(shù)[M]. 北京:機(jī)械工業(yè)出版社, 2014:14-20.

[3]Jiawei Han,Micheline Kamber,Jian Pei. 數(shù)據(jù)挖掘概念與技術(shù)[M]. 北京:機(jī)械工業(yè)出版社, 2014:1-26.

[4]劉紅巖,陳劍,陳國青. 數(shù)據(jù)挖掘中的數(shù)據(jù)分類算法綜述[J]. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版), 2002(6):727-730.

[5]王光宏, 蔣平. 數(shù)據(jù)挖掘綜述[J]. 同濟(jì)大學(xué)學(xué)報(bào),2004(2):246-251.

[6]賀玲,吳玲達(dá),蔡益朝.數(shù)據(jù)挖掘中的聚類算法綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2007(1):10-13.

[7]鐘曉,等. 數(shù)據(jù)挖掘綜述[J]. 模式識(shí)別與人工智能,2001(1):48-55.

[8]王孝明,胡健,等. 基于.NET平臺(tái)可復(fù)用軟件框架的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程,2004(22):76-78.

[9]崔冬華,劉吉林. 基于反射的低耦合軟件框架的研究[J]. 計(jì)算機(jī)信息,2007(10):232-234.

[10]孫玉鈺. 基于.NET組件技術(shù)的插件式框架的研究[J]. 計(jì)算機(jī)應(yīng)用與軟件,2009(6):143-145.

Class No.:TP31 Document Mark:A

(責(zé)任編輯:蔡雪嵐)

On Structure and Design of General Data Mining System

Wang Fengkun,Zhang Tingting

(Anhui Technical College of Mechanical and Electrical Engineering, Wuhu, Anhui 241000,China)

Data mining is the effective function of the current application system expansion, with the data mining module, we can enhance the value of the application system and found the deep knowledge of the data. But the diversity of data mining algorithms and the development of high difficulty limit the wide range of data mining applications. In order to improve the data mining module versatility and scalability, reducing the coupling with a particular field, people has designed a loose, expanded, field independent, support dynamic configuration of the general data mining system. We provided a general data mining system with high-level language support function of the reflex, uniform interface simple plug-in model and the data mining process of each function module. Through the kernel dynamic load and run the plug-in, the system can effectively increase the commonality and expansibility of the data mining module.

data mining; framework; low coupling; reflection; plug-in

汪峰坤,碩士,講師,安徽機(jī)電職業(yè)技術(shù)學(xué)院。研究方向:數(shù)據(jù)挖掘,大數(shù)據(jù)處理。 張婷婷,碩士,講師,安徽機(jī)電職業(yè)技術(shù)學(xué)院。研究方向:數(shù)據(jù)挖掘,無線網(wǎng)絡(luò)協(xié)議分析。

2016年安徽省高校省級(jí)自然科學(xué)研究重點(diǎn)項(xiàng)目“基于云平臺(tái)的健康體檢項(xiàng)智能推薦系統(tǒng)研究”(KJ2016A136);2014年安徽省高校省級(jí)自然科學(xué)研究重點(diǎn)項(xiàng)目“基于移動(dòng)客戶端的教職工健康體檢數(shù)據(jù)智能分析管理系統(tǒng)的研發(fā)”(KJ2014A038);安徽省質(zhì)量工程項(xiàng)目(2014mooc093)。

TP31

A

1672-6758(2016)11-0060-4

猜你喜歡
數(shù)據(jù)挖掘系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢(shì)
ZC系列無人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
基于并行計(jì)算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
電力與能源(2017年6期)2017-05-14 06:19:37
數(shù)據(jù)挖掘技術(shù)在中醫(yī)診療數(shù)據(jù)分析中的應(yīng)用
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
主站蜘蛛池模板: 99久久亚洲精品影院| 亚洲人成网站18禁动漫无码| 国产区免费精品视频| 狠狠操夜夜爽| 啪啪永久免费av| 日韩在线永久免费播放| 丁香婷婷综合激情| 在线观看免费国产| 青草精品视频| 婷婷六月激情综合一区| 香蕉视频国产精品人| A级全黄试看30分钟小视频| 亚洲国产成人久久精品软件| 超碰91免费人妻| 91视频首页| 丁香亚洲综合五月天婷婷| 99热国产这里只有精品9九| 国产视频大全| 91网站国产| 国产AV无码专区亚洲精品网站| 国产一区二区三区日韩精品| 91精品视频网站| 亚洲三级影院| 中文字幕久久波多野结衣| 亚洲成aⅴ人在线观看| 亚卅精品无码久久毛片乌克兰| 精品国产Ⅴ无码大片在线观看81| 中文一级毛片| 国产成人精品日本亚洲77美色| 色偷偷一区二区三区| 亚洲欧美成人在线视频| 亚洲高清无在码在线无弹窗| 色网站免费在线观看| 国产精品偷伦在线观看| 亚洲av无码久久无遮挡| 午夜精品福利影院| 日韩视频免费| 黄色网站在线观看无码| 国产美女在线观看| 美女扒开下面流白浆在线试听| 69免费在线视频| 六月婷婷精品视频在线观看 | 红杏AV在线无码| 99精品一区二区免费视频| 亚洲日本精品一区二区| 国产精品欧美在线观看| 亚洲大学生视频在线播放| 午夜福利视频一区| 久久91精品牛牛| 亚洲精品大秀视频| 亚洲三级成人| 亚洲无码高清视频在线观看| 97综合久久| 热思思久久免费视频| 日本AⅤ精品一区二区三区日| 人人爱天天做夜夜爽| 国产欧美性爱网| 国产免费羞羞视频| 狠狠久久综合伊人不卡| 久久天天躁夜夜躁狠狠| 午夜视频免费试看| 国产欧美日韩va另类在线播放 | 无码国内精品人妻少妇蜜桃视频| 人人澡人人爽欧美一区| 青草视频网站在线观看| 国产精品美女免费视频大全| 精品伊人久久久久7777人| 欧洲精品视频在线观看| 欧美成人精品一级在线观看| 国产好痛疼轻点好爽的视频| 国产一区二区三区在线观看视频| 天堂亚洲网| 2018日日摸夜夜添狠狠躁| 中文无码影院| 久草中文网| 18禁黄无遮挡免费动漫网站 | 亚洲第一黄色网址| 97青青青国产在线播放| 久久综合色播五月男人的天堂| 特级做a爰片毛片免费69| 欧美日韩中文国产va另类| 免费观看无遮挡www的小视频|