• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種Drools規(guī)則引擎封裝模型及其實(shí)現(xiàn)

    2015-06-27 05:55:25藍(lán)雯飛邢志寶強(qiáng)小利
    關(guān)鍵詞:業(yè)務(wù)人員開發(fā)人員調(diào)用

    藍(lán)雯飛,邢志寶,強(qiáng)小利

    (中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢430074)

    一種Drools規(guī)則引擎封裝模型及其實(shí)現(xiàn)

    藍(lán)雯飛,邢志寶,強(qiáng)小利

    (中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢430074)

    針對Drools規(guī)則引擎的規(guī)則語法接受曲線陡峭,業(yè)務(wù)人員難以快速創(chuàng)建并維護(hù)規(guī)則等問題,提出了一種規(guī)則文件封裝模型.同時,針對規(guī)則引擎API調(diào)用過程較為復(fù)雜,大量事實(shí)對象fact存在時引擎執(zhí)行速度相當(dāng)緩慢的問題,給出了一種Drools API封裝模型.實(shí)驗(yàn)結(jié)果表明:封裝后的Drools可以有效降低業(yè)務(wù)人員對規(guī)則學(xué)習(xí)與維護(hù)成本,并且明顯提高了引擎執(zhí)行速度.

    規(guī)則;規(guī)則引擎;API封裝

    移動運(yùn)營商每天產(chǎn)生的數(shù)據(jù)量大且復(fù)雜,以往的做法是人工直接核對,即利用手工為不符合規(guī)范的數(shù)據(jù)進(jìn)行標(biāo)記.對海量的運(yùn)營數(shù)據(jù)進(jìn)行人工核查幾乎不可能.于是,有人嘗試直接將各種核查規(guī)則直接編寫成代碼,形成了if-esle語句對組成的業(yè)務(wù)規(guī)則集[1].這樣不僅容易出現(xiàn)邏輯與其它代碼混亂,并且不利于對規(guī)則更新與管理,特別是在開發(fā)的過程中需求是不斷變動的,一旦有規(guī)則發(fā)生改變則需要修改程序代碼,并且需要經(jīng)歷編譯、測試、發(fā)布等階段.大量的業(yè)務(wù)相關(guān)代碼不僅使得系統(tǒng)運(yùn)行緩慢,維護(hù)規(guī)則更是耗費(fèi)了巨大的人力和時間資源.規(guī)則引擎的出現(xiàn)能夠很好地解決上述問題.規(guī)則引擎由推理引擎發(fā)展而來,是一種嵌入在應(yīng)用程序中的組件,實(shí)現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來,并使用預(yù)定義的語義模塊編寫業(yè)務(wù)決策.利用規(guī)則引擎,可以分離代碼中的業(yè)務(wù)規(guī)則,實(shí)現(xiàn)業(yè)務(wù)人員制定規(guī)則并編寫規(guī)則,業(yè)務(wù)規(guī)則的需求變更不再是困擾開發(fā)人員的問題[2,3].然而,應(yīng)用規(guī)則引擎仍存在以下2個主要問題:(1)業(yè)務(wù)人員因規(guī)則在文件中以代碼形式存在而難以編寫與維護(hù)的問題;(2)因移動業(yè)務(wù)產(chǎn)生大量數(shù)據(jù),帶來規(guī)則引擎核查數(shù)據(jù)速度相當(dāng)緩慢的問題.

    本文以Drools規(guī)則引擎為研究對象.針對業(yè)務(wù)規(guī)則難以編寫和維護(hù)的問題,通過圖形化界面封裝規(guī)則,屏蔽具體編寫細(xì)節(jié).針對大量數(shù)據(jù)核查速度緩慢的問題,通過工廠模式封裝了Drools API,屏蔽具體調(diào)用細(xì)節(jié).具體地,首先利JIDE組件形成人性化操作界面,并通過Java反射機(jī)制獲取數(shù)據(jù)值對象的待核查屬性列表,根據(jù)每個屬性選取其規(guī)則匹配項(xiàng),達(dá)到自動生成規(guī)則文件的目的.其次將規(guī)則基本信息作為一個類,包含了規(guī)則核查類型、創(chuàng)建時間、創(chuàng)建人、數(shù)據(jù)類型、規(guī)則文件、結(jié)果變量名稱等,再將執(zhí)行規(guī)則所需要的全部動作封裝到一個RuleEngineService接口中,包含設(shè)置全局變量,插入事實(shí)對象,執(zhí)行全部規(guī)則,回收內(nèi)存等功能,并將回收內(nèi)存的方法放在Java多線程里,能明顯減少頻繁回收內(nèi)存的動作,從而提高規(guī)則引擎執(zhí)行速度.

    1 Drools封裝模型

    1.1 規(guī)則封裝模型

    為了簡化業(yè)務(wù)人員學(xué)習(xí)規(guī)則引擎并維護(hù)業(yè)務(wù)規(guī)則,文章提出了對規(guī)則封裝的模型.規(guī)則封裝主要是針對when部分進(jìn)行處理,即規(guī)則的左部分(LHS).規(guī)則封裝模型如圖1所示.

    圖1 規(guī)則封裝模型Fig.1 Rule encapsulation model

    規(guī)則封裝實(shí)現(xiàn)步驟如下:

    1)根據(jù)需求的領(lǐng)域模型編寫需要進(jìn)行核查的數(shù)據(jù)表的值對象;

    2)以值對象為參數(shù)提供字段獲取接口方法;

    3)收集整理基站資源數(shù)據(jù)核查需求抽取與規(guī)則相關(guān)的業(yè)務(wù)邏輯;

    4)利用JIDE組件設(shè)計(jì)規(guī)則封裝界面.

    規(guī)則封裝后有如下幾個方面的好處:

    1)減少業(yè)務(wù)人員的學(xué)習(xí)成本.業(yè)務(wù)人員一般不理解規(guī)則文件的內(nèi)容,通過本設(shè)計(jì)提出的規(guī)則封裝管理系統(tǒng),能夠有效節(jié)省業(yè)務(wù)人員學(xué)習(xí)時間成本和資料查閱成本,使得業(yè)務(wù)人員有更多時間只做與業(yè)務(wù)相關(guān)的事情.

    2)有效避免規(guī)則編寫錯誤.即使是非常熟悉規(guī)則編寫語法的開發(fā)人員在編寫大批量的規(guī)則時也會因?yàn)椴粔蜃屑?xì)或者其它原因?qū)е乱?guī)則語法錯誤等問題.規(guī)則語法校對是一項(xiàng)比較費(fèi)力的事情.在本規(guī)則封裝管理系統(tǒng)中,業(yè)務(wù)人員只需要輸入核心內(nèi)容,不用考慮規(guī)則語法的細(xì)節(jié).

    3)良好的擴(kuò)展性.通過Java反射機(jī)制獲取值對象的全部屬性[4],不用考慮值對象是已經(jīng)存在的還是新增的[5].當(dāng)需求變更,需要增加新的核查對象時,只需要為領(lǐng)域模型中新增的對象編寫值對象,然后規(guī)則封裝管理系統(tǒng)就可以智能的顯示待核查的所有屬性并為每個屬性編寫相關(guān)的核查規(guī)則.

    4)創(chuàng)建與管理的高效性.業(yè)務(wù)人員通過圖形化界面很容易創(chuàng)建新的規(guī)則與管理已經(jīng)存在的規(guī)則.很短的時間便可以根據(jù)下拉列表中的規(guī)則匹配項(xiàng)名稱生成一條規(guī)則.提高了規(guī)則編寫、修改與創(chuàng)建的效率.

    1.2 Drools API封裝模型

    規(guī)則編寫好之后需要調(diào)用Drools規(guī)則引擎的相應(yīng)API執(zhí)行這些規(guī)則,在一般情況下是開發(fā)人員查閱Drools的API文檔,通過編程逐步調(diào)用應(yīng)用程序接口方法,這樣比較耗費(fèi)代碼編寫與調(diào)試時間.并且遇到數(shù)據(jù)量非常大的情況時,規(guī)則執(zhí)行速度相當(dāng)緩慢,嚴(yán)重影響執(zhí)行速度.本文將執(zhí)行規(guī)則的常用API封裝起來,將使用多線程機(jī)制提高引擎執(zhí)行效率,并形成一個專門的接口,以供開發(fā)人員直接調(diào)用接口來執(zhí)行指定的規(guī)則.

    引擎執(zhí)行過程是首先解析規(guī)則文件[6],然后插入事實(shí)對象fact,再執(zhí)行規(guī)則,最后釋放規(guī)則所占用內(nèi)存[7].這里,規(guī)則的執(zhí)行是每插入一個fact就執(zhí)行規(guī)則,并釋放規(guī)則內(nèi)存.這種頻繁的規(guī)則的加載與釋放過程占用了大量的時間,而這些工作并不是業(yè)務(wù)邏輯相關(guān)的.通過封裝規(guī)則引擎常用API,開發(fā)人員不僅能夠節(jié)省大量學(xué)習(xí)時間和查閱資料時間,還能夠直接使用已經(jīng)優(yōu)化了的接口方法,提高引擎執(zhí)行速度.圖2給出了規(guī)則引擎封裝的類圖.

    圖2 規(guī)則引擎封裝類圖Fig.2 Class diagram for rule engine encapsulation

    圖2中,RuleInfo作為值對象擁有一個規(guī)則文件應(yīng)有的屬性,比如核查類型、創(chuàng)建時間、創(chuàng)建人、數(shù)據(jù)類型、規(guī)則文件、結(jié)果變量名稱等.當(dāng)然,作為POJO,RuleInfo還擁有其無參和有參構(gòu)造函數(shù)以及相應(yīng)的setter與getter方法.RuleEngineService接口提供了執(zhí)行規(guī)則所需要的全部動作:設(shè)置全局變量,插入事實(shí)對象,執(zhí)行全部規(guī)則,回收內(nèi)存等.DroolsAdapt類主要用于實(shí)現(xiàn)RuleEngineService接口,即實(shí)現(xiàn)Drools真正需要完成的動作.最后,RuleEngineFactory作為工廠類,創(chuàng)建DroolsAdapt實(shí)例,為外界提供獲取規(guī)則引擎操作的接口方法.下面是封裝后的Drools執(zhí)行代碼.

    final RuleEngineService ruleEngineService = RuleEngineFactory

    .getRuleEngine();

    ……//解析excel數(shù)據(jù)表得到targetDatas

    taskManageService = RmiServiceFactory.getInstance()

    .getService(RMITaskManageService.class);

    taskManageService.startSingleCheckTask(taskId, targetDatas);

    TaskInfo task = taskManageService.getTaskInfoById(taskId);

    通過將規(guī)則引擎封裝起來,開發(fā)人員不需要考慮Drools的API調(diào)用細(xì)節(jié),并且在調(diào)用過程中能有效避免重復(fù)的規(guī)則加載與釋放過程.規(guī)則的執(zhí)行可以直接調(diào)用DroolsAdapt里面的相應(yīng)方法,為了實(shí)現(xiàn)在資源釋放之前執(zhí)行規(guī)則,最關(guān)鍵的部分是規(guī)則的釋放時機(jī),如下面代碼所示.

    new Thread(){

    public void run() {

    ruleEngineService.retract();

    logger.infoT("singleTask[" + provinceManualVerifyTask.getTaskName()

    + "]釋放資源.....ok");

    ruleEngineService.dispose();

    logger.infoT("singleTask[" + provinceManualVerifyTask.getTaskName()

    + "]釋放完畢.....ok");

    }

    }.start();

    以往的做法是每核查一個fact對象就釋放內(nèi)存資源,當(dāng)數(shù)據(jù)量非常龐大、字段相當(dāng)多的時候,頻繁地釋放會嚴(yán)重影響規(guī)則執(zhí)行速度.把RuleEngineService接口中的資源回收方法dispose()丟到Java多線程里面,以保證所有fact對象全部核查完畢再釋放內(nèi)存,避免反復(fù)回收資源以及回收資源與引擎執(zhí)行的切換調(diào)度時間.能夠顯著提高回收速度.這是一個空間換取時間的做法,因?yàn)檫@種方式需要更多的內(nèi)存.

    2 實(shí)驗(yàn)與分析

    2.1 實(shí)驗(yàn)結(jié)果

    實(shí)驗(yàn)主要在以JIDE組件形成的圖形化界面上進(jìn)行,實(shí)驗(yàn)包含兩個部分:一是采用規(guī)則封裝管理工具通過圖形化的形式提供封裝過的規(guī)則,二是通過調(diào)用規(guī)則引擎封裝組件對基站資源數(shù)據(jù)進(jìn)行規(guī)則校驗(yàn),規(guī)則校驗(yàn)又分為單表核查和交叉核查,本文討論單表核查下的實(shí)驗(yàn).

    實(shí)驗(yàn)1:規(guī)則封裝組件自動生成規(guī)則,描述如下.

    選擇數(shù)據(jù)表對象,通過Java反射機(jī)制獲取該數(shù)據(jù)表的所有字段,逐一選取字段.當(dāng)選擇某個字段“aa”時,系統(tǒng)自動為該字段的規(guī)則取名為“check the aa rule”,隨后從規(guī)則匹配項(xiàng)下拉列表里面選取匹配項(xiàng)來滿足該字段的核查要求,如果沒有,則新建匹配項(xiàng),存庫,再調(diào)用.

    圖3是通過規(guī)則封裝組件只能生成的規(guī)則文件,本設(shè)計(jì)將這些規(guī)則文件放到名為drl的文件夾之下,方便程序調(diào)用.實(shí)驗(yàn)表明,規(guī)則封裝不僅能夠節(jié)省業(yè)務(wù)人員大量的學(xué)習(xí)時間,并且能夠避免因人為因素而導(dǎo)致的語法問題或規(guī)則匹配項(xiàng)的編寫問題.

    圖3 規(guī)則文件Fig.3 Rule file

    實(shí)驗(yàn)2:規(guī)則引擎封裝組件進(jìn)行數(shù)據(jù)核查,描述如下.

    實(shí)驗(yàn)1已經(jīng)成功生成了單表核查的規(guī)則文件,接下來需要使用規(guī)則引擎封裝組件加載這些規(guī)則文件并執(zhí)行規(guī)則.首先,新建單表核查任務(wù),當(dāng)數(shù)據(jù)表標(biāo)題與標(biāo)準(zhǔn)標(biāo)題完全匹配之后就可以開始進(jìn)行單表核查.圖4是GSM單表核查的結(jié)果.

    圖4 單表核查結(jié)果Fig.4 The result of checking a table

    通過規(guī)則引擎加載規(guī)則文件對GSM表進(jìn)行數(shù)據(jù)核查,找出錯誤的數(shù)據(jù).圖4中白底部分表示內(nèi)容填寫正確,而灰底部分表示內(nèi)容填寫錯誤,當(dāng)光標(biāo)聚焦到錯誤單元格的時候系統(tǒng)會提示正確的填寫規(guī)范,這個提示信息是從規(guī)則文件中獲取的.用戶可以修改錯誤的信息并刷新重新核查,直到所有的數(shù)據(jù)都核查通過.

    2.2 性能分析

    圖5給出了規(guī)則封裝之后與直接編寫規(guī)則文件時花費(fèi)在各個部分的時間百分比.可以看出,直接開發(fā)規(guī)則文件時用在規(guī)則語法學(xué)習(xí)上的時間幾乎占據(jù)總時間的一半,而維護(hù)規(guī)則的時間僅僅只占總時間的20%左右;封裝規(guī)則后用于正則表達(dá)式與規(guī)則語法學(xué)習(xí)上的時間相對較少,大部分時間可以專注于規(guī)則的管理上,大大減少了與業(yè)務(wù)無關(guān)的學(xué)習(xí)時間與學(xué)習(xí)成本消耗.

    圖5 規(guī)則封裝前后時間開銷比較Fig.5 Time cost comparison

    引擎測試實(shí)驗(yàn)運(yùn)行環(huán)境如下:

    (1)內(nèi)存 4GB;(2)CPU 2.1GHz,雙核,4線程;(3)操作系統(tǒng) Windows 7.

    圖6比較了引擎封裝前后的TD數(shù)據(jù)核查速度.由圖6可以看到封裝了規(guī)則引擎API后,在相同fact對象條數(shù)被引擎核查時,速度較之前大大提升.當(dāng)數(shù)據(jù)量比較大,規(guī)則容易變更時,采用規(guī)則引擎能夠大大降低開發(fā)成本.

    圖6 引擎封裝前后執(zhí)行速度比較Fig.6 Comparison of the engine execution speed

    以上的研究工作也是開創(chuàng)性的,所以在對比實(shí)驗(yàn)數(shù)據(jù)時,僅用了封裝前的數(shù)據(jù)和封裝后的數(shù)據(jù).實(shí)驗(yàn)結(jié)果表明,本文所采用的規(guī)則文件封裝方案,縮短了業(yè)務(wù)人員學(xué)習(xí)規(guī)則語法的時間,簡化了規(guī)則編寫與維護(hù)過程,解決了業(yè)務(wù)人員不能很快著手編寫規(guī)則的問題.本文所采用的規(guī)則引擎API封裝方案,簡化了開發(fā)人員調(diào)用引擎API的過程,提高了引擎的執(zhí)行速度.

    3 結(jié)束語

    本文針對規(guī)則在實(shí)際應(yīng)用過程中難以編寫與理解的問題,提出了封裝規(guī)則的有效方案,利用JIDE組件以及Java反射機(jī)制成功封裝了規(guī)則文件,簡化了業(yè)務(wù)人員學(xué)習(xí)與管理規(guī)則的過程.針對規(guī)則引擎耗內(nèi)存大,大量數(shù)據(jù)核查速度緩慢的問題,提出了封裝Drools API的有效方案,利用JIDE組件以及Java多線程機(jī)制成功封裝了常用API,簡化了開發(fā)人員使用Drools的過程,并提高了引擎執(zhí)行速度.論文對推動規(guī)則引擎的普及,將規(guī)則引擎更加廣泛地應(yīng)用到工業(yè)界中具有一定的實(shí)際意義.

    雖然論文研究的封裝模型可以較好地降低業(yè)務(wù)人員對規(guī)則引擎的學(xué)習(xí)成本,提高開發(fā)人員的編碼效率,但是規(guī)則引擎封裝僅限于對單數(shù)據(jù)表核查規(guī)則,下一步的研究內(nèi)容是方便開發(fā)人員的同時,進(jìn)一步封裝多數(shù)據(jù)表交叉核查規(guī)則.

    [1] 郭 芳, 白建軍. 基于 Rete 算法的規(guī)則引擎 JBoss Rules [J]. 計(jì)算機(jī)時代, 2008, 1(1): 8-10.

    [2] Razzaq A, Hur A, Masood M, et al. Foundation of Semantic Rule Engine to Protect Web Application Attacks[C]// Masaki. 2011 10th International Symposium on Autonomous Decentralized Systems. Tokyo: Tokyo University Press, 2011: 95-102.

    [3] 朱先飛. Drools 在電信網(wǎng)絡(luò)開通系統(tǒng)中的應(yīng)用及其改造[J]. 廣東通信技術(shù), 2007, 27(11): 6-8.

    [4] 張聰品, 劉 超. 基于 Java反射機(jī)制的規(guī)則引擎設(shè)計(jì)與實(shí)現(xiàn)[J]. 河南師范大學(xué)學(xué)報(bào): 自然科學(xué)版, 2010, 38(03): 36-39.

    [5] 費(fèi)廷偉, 劉淑芬, 屈志勇, 等. Java 反射驅(qū)動的規(guī)則引擎技術(shù)研究[J]. 計(jì)算機(jī)應(yīng)用, 2010, 30(05): 1324-1326.

    [6] 陸歌皓,李仕金,吳超凡. Drools 規(guī)則引擎在現(xiàn)代物流信息平臺的應(yīng)用[J]. 計(jì)算機(jī)科學(xué), 2011, 38(B10): 447-450.

    [7] 繳明洋,譚慶平. Java 規(guī)則引擎技術(shù)研究[J]. 計(jì)算機(jī)與信息技術(shù), 2006(3): 41-43.

    [8] 李春芳, 譚慶平, 徐建軍, 等. 基于業(yè)務(wù)規(guī)則的工作流任務(wù)分派設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2008, 29(21): 5572-5575.

    [9] 趙萬平,于曉紅,曲 寶. 基于JESS的智能數(shù)據(jù)清洗平臺技術(shù)研究[J]. 牡丹江師范學(xué)院學(xué)報(bào),2006,31(03): 11-13.

    [10] 閆麗萍,潘正運(yùn),梁 冰,等. 基于業(yè)務(wù)規(guī)則管理技術(shù)的系統(tǒng)開發(fā)方法分析[J]. 信息工程大學(xué)學(xué)報(bào), 2006, 7(2): 141-143+171.

    [11] 賴天武,吳偉民,王 靜,等. 基于Jess 和機(jī)器學(xué)習(xí)的 Robocode 策略研究與實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào),2006,18(2): 912-914.

    Research on Encapsulation Model to Drools Rule Engine

    LanWenfei,XingZhibao,QiangXiaoli

    (College of Computer Science, South-Central University for Nationalities, Wuhan 430073, China)

    Rule grammar

    curve of business engine is steep. It’s hard for business personnel to quickly create and maintain rule. The paper brings up a model for encapsulating rule file. Besides, API calling process of rule engine is complicated. The engine performing speed becomes rather slow when many fact objects exist. The paper puts forward a model for encapsulating Drools API. Experiments show that the encapsulated Drools can not only effectively reduce the business personnel of rule learning and maintenance costs, but also improve the engine execution speed.

    rule; rule engine; API encapsulation

    2015-08-10

    藍(lán)雯飛(1966-),女,教授,研究方向:數(shù)據(jù)庫技術(shù),軟件新技術(shù),E-mail:lanwenfei1@163.com

    國家自然科學(xué)基金資助項(xiàng)目(61379059)

    TP311

    A

    1672-4321(2015)03-0095-05

    猜你喜歡
    業(yè)務(wù)人員開發(fā)人員調(diào)用
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    淺談提高業(yè)務(wù)人員素質(zhì)的主要途徑
    90%的奶粉企業(yè)要瘦身,誰會被裁掉?
    快消品行業(yè)業(yè)務(wù)人員流失的原因與影響淺析
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    讓W(xué)indows 10進(jìn)入開發(fā)者模式
    電腦迷(2015年12期)2015-04-29 23:22:51
    后悔了?教你隱藏開發(fā)人員選項(xiàng)
    電腦愛好者(2015年6期)2015-04-03 01:20:56
    利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
    亚洲成人久久性| 一个人看视频在线观看www免费 | 成人18禁在线播放| а√天堂www在线а√下载| 90打野战视频偷拍视频| 高清日韩中文字幕在线| 精品乱码久久久久久99久播| 一个人免费在线观看电影| 搡老妇女老女人老熟妇| 亚洲欧美一区二区三区黑人| 日韩欧美一区二区三区在线观看| 久久精品国产亚洲av香蕉五月| 长腿黑丝高跟| 国产一区二区激情短视频| 久久久精品欧美日韩精品| 最近视频中文字幕2019在线8| 久久久国产精品麻豆| 88av欧美| 国产成人福利小说| 久久久久久国产a免费观看| 男女之事视频高清在线观看| 亚洲国产精品成人综合色| 在线观看免费午夜福利视频| 亚洲av不卡在线观看| 日本一本二区三区精品| 老司机午夜十八禁免费视频| 日韩欧美免费精品| 国产不卡一卡二| 日本熟妇午夜| 久久久久久久亚洲中文字幕 | 老司机深夜福利视频在线观看| 成人鲁丝片一二三区免费| 最近视频中文字幕2019在线8| 一a级毛片在线观看| 又黄又爽又免费观看的视频| 一级黄片播放器| 丝袜美腿在线中文| 天天添夜夜摸| 18禁黄网站禁片免费观看直播| 老熟妇乱子伦视频在线观看| 91麻豆av在线| 国产亚洲精品久久久com| 国产一区二区三区在线臀色熟女| 亚洲成人中文字幕在线播放| 婷婷亚洲欧美| 国产精品一区二区免费欧美| 久久久国产成人精品二区| 在线观看美女被高潮喷水网站 | 亚洲avbb在线观看| 51国产日韩欧美| 九九热线精品视视频播放| 精品人妻偷拍中文字幕| 99国产精品一区二区三区| 国产伦精品一区二区三区四那| 国产中年淑女户外野战色| 亚洲aⅴ乱码一区二区在线播放| 国产精品久久久人人做人人爽| 亚洲 国产 在线| 窝窝影院91人妻| 亚洲一区高清亚洲精品| 最后的刺客免费高清国语| 国产精品影院久久| 一级黄色大片毛片| 看免费av毛片| 欧美丝袜亚洲另类 | 欧美bdsm另类| 麻豆久久精品国产亚洲av| 成人一区二区视频在线观看| e午夜精品久久久久久久| 亚洲av熟女| 亚洲内射少妇av| 精品久久久久久,| 久久国产精品影院| 色综合婷婷激情| 欧美日韩亚洲国产一区二区在线观看| 老司机午夜福利在线观看视频| 天天躁日日操中文字幕| 男女床上黄色一级片免费看| 久久久久久人人人人人| 757午夜福利合集在线观看| 精品一区二区三区av网在线观看| av片东京热男人的天堂| 俺也久久电影网| 久久久久久大精品| 搡女人真爽免费视频火全软件 | 女人被狂操c到高潮| 午夜精品在线福利| 偷拍熟女少妇极品色| 亚洲,欧美精品.| 搡老岳熟女国产| 国产精品av视频在线免费观看| 美女高潮喷水抽搐中文字幕| 一级a爱片免费观看的视频| 精品人妻偷拍中文字幕| 成人特级黄色片久久久久久久| 两性午夜刺激爽爽歪歪视频在线观看| 日韩欧美国产在线观看| 欧美中文综合在线视频| 免费在线观看亚洲国产| 少妇人妻精品综合一区二区 | 久久久国产成人免费| 日本免费a在线| 五月玫瑰六月丁香| 草草在线视频免费看| 伊人久久大香线蕉亚洲五| 免费无遮挡裸体视频| 中文字幕av在线有码专区| 国产精品 欧美亚洲| 在线免费观看不下载黄p国产 | 亚洲最大成人中文| 99精品在免费线老司机午夜| 欧美大码av| 蜜桃亚洲精品一区二区三区| 麻豆国产av国片精品| 99在线视频只有这里精品首页| 精品久久久久久久末码| 国产精品爽爽va在线观看网站| avwww免费| 久久人人精品亚洲av| 欧美一区二区精品小视频在线| 熟女电影av网| 国产伦一二天堂av在线观看| a级一级毛片免费在线观看| 亚洲久久久久久中文字幕| 久久久色成人| 黄片大片在线免费观看| 桃红色精品国产亚洲av| 一夜夜www| 成年女人永久免费观看视频| 亚洲av美国av| 岛国视频午夜一区免费看| 国产高清激情床上av| 亚洲精品成人久久久久久| 国产一区在线观看成人免费| 伊人久久大香线蕉亚洲五| 国产免费一级a男人的天堂| 欧美日韩精品网址| 国产午夜精品论理片| 国产亚洲精品av在线| 亚洲av中文字字幕乱码综合| 国产在线精品亚洲第一网站| 午夜免费观看网址| 一进一出抽搐gif免费好疼| 国产午夜福利久久久久久| 成年女人看的毛片在线观看| 免费看光身美女| 中文字幕高清在线视频| 国内精品久久久久精免费| 精品人妻一区二区三区麻豆 | 啦啦啦免费观看视频1| 亚洲美女黄片视频| 午夜影院日韩av| 99国产极品粉嫩在线观看| 嫩草影视91久久| 91字幕亚洲| 人妻夜夜爽99麻豆av| 麻豆久久精品国产亚洲av| 麻豆成人av在线观看| av福利片在线观看| 亚洲专区国产一区二区| 成年女人看的毛片在线观看| 少妇熟女aⅴ在线视频| bbb黄色大片| tocl精华| 99精品久久久久人妻精品| 高清毛片免费观看视频网站| bbb黄色大片| 精品欧美国产一区二区三| 久久久久九九精品影院| 男女视频在线观看网站免费| 搡老妇女老女人老熟妇| 91久久精品国产一区二区成人 | 一级黄片播放器| 在线观看日韩欧美| 中亚洲国语对白在线视频| 男女视频在线观看网站免费| 狠狠狠狠99中文字幕| 午夜精品久久久久久毛片777| 性欧美人与动物交配| 禁无遮挡网站| 久9热在线精品视频| 国产欧美日韩一区二区精品| 麻豆国产av国片精品| 很黄的视频免费| 精品无人区乱码1区二区| 中文字幕精品亚洲无线码一区| 国产欧美日韩一区二区精品| 麻豆成人午夜福利视频| 亚洲欧美一区二区三区黑人| 88av欧美| 国产免费一级a男人的天堂| 日本成人三级电影网站| 中文亚洲av片在线观看爽| 人妻夜夜爽99麻豆av| 中文字幕av成人在线电影| 此物有八面人人有两片| 欧美一区二区精品小视频在线| 精品人妻1区二区| 国产三级在线视频| 国产午夜精品久久久久久一区二区三区 | 国产毛片a区久久久久| 欧美激情久久久久久爽电影| av福利片在线观看| 国产黄片美女视频| 亚洲精品在线美女| 成人av一区二区三区在线看| 麻豆久久精品国产亚洲av| 中文字幕av成人在线电影| 亚洲乱码一区二区免费版| 村上凉子中文字幕在线| 最新中文字幕久久久久| 高清日韩中文字幕在线| 一进一出好大好爽视频| 亚洲av免费在线观看| 久久精品影院6| 乱人视频在线观看| 精品久久久久久久毛片微露脸| av在线天堂中文字幕| а√天堂www在线а√下载| 天美传媒精品一区二区| 亚洲黑人精品在线| 国产精品久久视频播放| 久久久色成人| 免费在线观看亚洲国产| 久久伊人香网站| 欧美国产日韩亚洲一区| 国产精品一区二区免费欧美| 天堂av国产一区二区熟女人妻| 91九色精品人成在线观看| 搞女人的毛片| 黄色成人免费大全| av在线蜜桃| 亚洲美女黄片视频| 一进一出好大好爽视频| 亚洲国产欧洲综合997久久,| av专区在线播放| 99热这里只有精品一区| 国产精品久久电影中文字幕| 精品一区二区三区av网在线观看| 亚洲国产日韩欧美精品在线观看 | 亚洲熟妇中文字幕五十中出| 国产一区二区三区在线臀色熟女| 欧美zozozo另类| 禁无遮挡网站| 很黄的视频免费| 国内久久婷婷六月综合欲色啪| 一级毛片女人18水好多| 免费观看精品视频网站| 搞女人的毛片| 99视频精品全部免费 在线| 此物有八面人人有两片| 亚洲国产精品999在线| 宅男免费午夜| 国产精品三级大全| 欧美日韩乱码在线| 亚洲五月婷婷丁香| av片东京热男人的天堂| 亚洲人成网站高清观看| 日韩大尺度精品在线看网址| 看黄色毛片网站| www日本在线高清视频| 国产99白浆流出| 国内揄拍国产精品人妻在线| 老汉色av国产亚洲站长工具| 少妇裸体淫交视频免费看高清| 欧美成人一区二区免费高清观看| 99精品久久久久人妻精品| 亚洲欧美精品综合久久99| 国产aⅴ精品一区二区三区波| 在线国产一区二区在线| 少妇熟女aⅴ在线视频| ponron亚洲| 国内揄拍国产精品人妻在线| 亚洲精品粉嫩美女一区| 老鸭窝网址在线观看| 狂野欧美白嫩少妇大欣赏| 日韩欧美国产在线观看| 欧美乱码精品一区二区三区| 欧美日韩黄片免| 国产国拍精品亚洲av在线观看 | 国产精品 国内视频| 无人区码免费观看不卡| 久久伊人香网站| 中文资源天堂在线| 亚洲电影在线观看av| eeuss影院久久| 亚洲国产欧美人成| 男人的好看免费观看在线视频| 99久久精品国产亚洲精品| 国产精品永久免费网站| 亚洲av中文字字幕乱码综合| 国产精品亚洲一级av第二区| 国产三级中文精品| av欧美777| 一个人免费在线观看电影| 国产精品嫩草影院av在线观看 | 九色国产91popny在线| 午夜日韩欧美国产| h日本视频在线播放| 国产精品久久久久久亚洲av鲁大| www.色视频.com| 日本免费a在线| 1024手机看黄色片| 久久人妻av系列| 欧美精品啪啪一区二区三区| 成人国产一区最新在线观看| 他把我摸到了高潮在线观看| 免费大片18禁| 日本a在线网址| 亚洲人与动物交配视频| 亚洲在线自拍视频| 亚洲欧美日韩东京热| 国产精品综合久久久久久久免费| 亚洲片人在线观看| 我要搜黄色片| 国产97色在线日韩免费| 久久国产精品人妻蜜桃| 欧美精品啪啪一区二区三区| 国产精品久久久久久亚洲av鲁大| 一进一出好大好爽视频| 嫩草影院精品99| 欧美色视频一区免费| 精品人妻一区二区三区麻豆 | 久久亚洲真实| 国产成人av教育| 久久人妻av系列| 波野结衣二区三区在线 | 亚洲性夜色夜夜综合| 一区二区三区免费毛片| x7x7x7水蜜桃| 精品一区二区三区av网在线观看| 欧美日韩精品网址| 免费看a级黄色片| 国产成人福利小说| 亚洲五月婷婷丁香| 亚洲精品乱码久久久v下载方式 | 亚洲精品粉嫩美女一区| 久久亚洲真实| 91麻豆av在线| 成年版毛片免费区| 男女午夜视频在线观看| 国产成人福利小说| 好男人在线观看高清免费视频| 国产极品精品免费视频能看的| 国产成人系列免费观看| 欧美性感艳星| 国产视频内射| 在线播放无遮挡| 精品电影一区二区在线| 久久精品影院6| 国产成人av教育| 波多野结衣巨乳人妻| 日韩人妻高清精品专区| www.999成人在线观看| 性色avwww在线观看| 精品99又大又爽又粗少妇毛片 | 国产精品,欧美在线| 丝袜美腿在线中文| 欧美丝袜亚洲另类 | 久久久久久国产a免费观看| 午夜福利在线观看吧| 亚洲一区高清亚洲精品| 看片在线看免费视频| 欧美一区二区精品小视频在线| 亚洲精品美女久久久久99蜜臀| av女优亚洲男人天堂| 欧美大码av| 日本黄色视频三级网站网址| 丰满人妻一区二区三区视频av | 99久国产av精品| 成人欧美大片| 成人国产一区最新在线观看| 久久久久久大精品| 非洲黑人性xxxx精品又粗又长| 免费人成在线观看视频色| 九九在线视频观看精品| 最新中文字幕久久久久| 日韩av在线大香蕉| 精品午夜福利视频在线观看一区| 香蕉久久夜色| 亚洲真实伦在线观看| 欧美一区二区国产精品久久精品| 久久久国产成人免费| 久久国产精品人妻蜜桃| 国产极品精品免费视频能看的| 久久久久久久久大av| 午夜老司机福利剧场| 国产av一区在线观看免费| 午夜福利在线在线| 香蕉丝袜av| 夜夜夜夜夜久久久久| 国产亚洲精品一区二区www| 日韩欧美国产一区二区入口| 淫秽高清视频在线观看| 女人被狂操c到高潮| 欧美日韩国产亚洲二区| 国产免费av片在线观看野外av| 嫩草影院入口| tocl精华| 中文字幕人妻熟人妻熟丝袜美 | 久久久久久大精品| 51国产日韩欧美| 人人妻人人看人人澡| 国产三级在线视频| 90打野战视频偷拍视频| xxxwww97欧美| 亚洲午夜理论影院| 亚洲精品一区av在线观看| 国产伦人伦偷精品视频| 成熟少妇高潮喷水视频| 老司机在亚洲福利影院| 国产一区在线观看成人免费| 欧美成人性av电影在线观看| 国产精品亚洲av一区麻豆| 伊人久久精品亚洲午夜| 国产高清激情床上av| 十八禁人妻一区二区| 人妻丰满熟妇av一区二区三区| 精品电影一区二区在线| 久久久久久久午夜电影| 欧美丝袜亚洲另类 | 亚洲精品亚洲一区二区| 久久精品影院6| 日本黄色片子视频| 99国产精品一区二区三区| 国产真人三级小视频在线观看| 色精品久久人妻99蜜桃| 男女那种视频在线观看| 日韩欧美 国产精品| 狠狠狠狠99中文字幕| 丰满人妻熟妇乱又伦精品不卡| 欧美日韩综合久久久久久 | 国产精品久久久久久久电影 | 亚洲第一欧美日韩一区二区三区| www日本在线高清视频| 美女黄网站色视频| 亚洲成人久久爱视频| 无限看片的www在线观看| 欧美av亚洲av综合av国产av| 69av精品久久久久久| 国产精品亚洲av一区麻豆| 免费无遮挡裸体视频| 97超视频在线观看视频| x7x7x7水蜜桃| 三级男女做爰猛烈吃奶摸视频| 美女高潮喷水抽搐中文字幕| 三级毛片av免费| 成人高潮视频无遮挡免费网站| 五月玫瑰六月丁香| 欧美色欧美亚洲另类二区| 在线十欧美十亚洲十日本专区| 国产精品久久久人人做人人爽| 在线观看日韩欧美| 亚洲va日本ⅴa欧美va伊人久久| 亚洲精品色激情综合| 免费在线观看亚洲国产| 婷婷亚洲欧美| 欧美黄色片欧美黄色片| 热99re8久久精品国产| 香蕉久久夜色| 欧美午夜高清在线| 国内精品久久久久久久电影| 欧美日韩精品网址| 亚洲精品粉嫩美女一区| 精品人妻一区二区三区麻豆 | 色噜噜av男人的天堂激情| 国模一区二区三区四区视频| 免费观看精品视频网站| 欧美日本亚洲视频在线播放| 午夜福利在线观看吧| 少妇的逼水好多| 国产真人三级小视频在线观看| 国产精华一区二区三区| 亚洲国产日韩欧美精品在线观看 | 很黄的视频免费| 久久国产精品影院| 精品久久久久久久毛片微露脸| 精品人妻一区二区三区麻豆 | 一个人看视频在线观看www免费 | 午夜福利在线在线| 男女床上黄色一级片免费看| 亚洲精品456在线播放app | 欧美日韩乱码在线| 高清在线国产一区| 午夜福利在线在线| 一边摸一边抽搐一进一小说| 在线十欧美十亚洲十日本专区| 深爱激情五月婷婷| 男女那种视频在线观看| 久久精品夜夜夜夜夜久久蜜豆| 在线免费观看不下载黄p国产 | 床上黄色一级片| 非洲黑人性xxxx精品又粗又长| 麻豆成人av在线观看| 午夜福利免费观看在线| 国产v大片淫在线免费观看| 亚洲 欧美 日韩 在线 免费| 琪琪午夜伦伦电影理论片6080| 久久久久精品国产欧美久久久| 亚洲 国产 在线| 99riav亚洲国产免费| 看黄色毛片网站| 黄色女人牲交| 又爽又黄无遮挡网站| 人妻夜夜爽99麻豆av| 日韩av在线大香蕉| 9191精品国产免费久久| 久久久久久久久久黄片| av片东京热男人的天堂| 成年女人看的毛片在线观看| 乱人视频在线观看| 国产在线精品亚洲第一网站| 色在线成人网| 在线观看日韩欧美| 亚洲av二区三区四区| 19禁男女啪啪无遮挡网站| 精品久久久久久久久久久久久| 久久久久亚洲av毛片大全| 久久久久九九精品影院| 日韩精品中文字幕看吧| 麻豆国产97在线/欧美| 精品99又大又爽又粗少妇毛片 | 亚洲黑人精品在线| 国产亚洲精品综合一区在线观看| 日韩欧美三级三区| 婷婷丁香在线五月| 国内少妇人妻偷人精品xxx网站| 亚洲黑人精品在线| 国产熟女xx| 一二三四社区在线视频社区8| 熟女少妇亚洲综合色aaa.| 色在线成人网| 久9热在线精品视频| 久久国产精品影院| 一个人免费在线观看电影| 国产激情偷乱视频一区二区| 一进一出好大好爽视频| 欧美黄色淫秽网站| 精品一区二区三区人妻视频| 成人无遮挡网站| 亚洲av二区三区四区| 男插女下体视频免费在线播放| 我的老师免费观看完整版| 少妇人妻精品综合一区二区 | 性色av乱码一区二区三区2| 看黄色毛片网站| www.999成人在线观看| 午夜精品一区二区三区免费看| 色综合亚洲欧美另类图片| 人妻久久中文字幕网| 亚洲精品日韩av片在线观看 | 日日摸夜夜添夜夜添小说| 波多野结衣高清作品| 最新美女视频免费是黄的| 午夜免费成人在线视频| 无人区码免费观看不卡| 悠悠久久av| tocl精华| 欧美一区二区精品小视频在线| 最近在线观看免费完整版| 我的老师免费观看完整版| 欧美乱妇无乱码| 成年女人看的毛片在线观看| 在线观看午夜福利视频| 亚洲专区国产一区二区| 亚洲国产精品成人综合色| 老司机在亚洲福利影院| 亚洲精品影视一区二区三区av| 老司机在亚洲福利影院| 亚洲精华国产精华精| 老熟妇乱子伦视频在线观看| av视频在线观看入口| 亚洲国产精品合色在线| 亚洲欧美日韩卡通动漫| 亚洲av中文字字幕乱码综合| 国产成人福利小说| 成人欧美大片| 亚洲国产欧美人成| 一区二区三区国产精品乱码| 久久久久久久午夜电影| 国产熟女xx| 亚洲五月婷婷丁香| 日韩中文字幕欧美一区二区| 嫁个100分男人电影在线观看| 午夜两性在线视频| www.www免费av| 精品一区二区三区视频在线观看免费| 一本久久中文字幕| 国产亚洲精品久久久久久毛片| 亚洲aⅴ乱码一区二区在线播放| 亚洲最大成人中文| 日韩av在线大香蕉| 黄色日韩在线| 一本久久中文字幕| 久久香蕉精品热| 欧美乱妇无乱码| 两个人的视频大全免费| 日韩有码中文字幕| 最好的美女福利视频网| 婷婷丁香在线五月| 婷婷六月久久综合丁香| 亚洲欧美精品综合久久99| 久久精品国产自在天天线| 亚洲avbb在线观看| 久久精品国产亚洲av香蕉五月| 国产高清videossex| 久久久久久久久大av| 亚洲人成网站高清观看| 麻豆国产97在线/欧美| 亚洲午夜理论影院| 日本a在线网址| 欧美最新免费一区二区三区 | 久久精品夜夜夜夜夜久久蜜豆| 成人18禁在线播放| 美女高潮喷水抽搐中文字幕|