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

    一種基于流程的高效引擎開發(fā)

    2012-10-26 05:23:10王劍冰
    關(guān)鍵詞:共享內(nèi)存引擎實(shí)例

    王劍冰

    一種基于流程的高效引擎開發(fā)

    王劍冰

    (北京福富軟件技術(shù)股份有限公司福州分公司,福建,福州 350013)

    在某些業(yè)務(wù)環(huán)境下,對實(shí)時的處理要求較高,需要由高效的流程引擎來帶動的業(yè)務(wù)功能運(yùn)行。高效流程引擎使用C/C++編寫引擎內(nèi)核,使用共享內(nèi)存作為流程定義和流程實(shí)例等相關(guān)數(shù)據(jù)的緩存,并使用高效、交互性好、易擴(kuò)展的Lua腳本作為流程引擎部分類型節(jié)點(diǎn)的嵌入式執(zhí)行內(nèi)容。同時,使用流程加載和日志落地等模塊,使得持久層和緩存之間進(jìn)行同步,不影響流程引擎核心的執(zhí)行效率。通過以上各方面的優(yōu)化提高了流程引擎整體的執(zhí)行效率。

    流程引擎;Lua腳本語言;C/C++;共享內(nèi)存

    業(yè)務(wù)流程管理一詞通常是指企業(yè)通過一系列活動,以能夠適應(yīng)動態(tài)變化的環(huán)境的方式,自動管理及優(yōu)化流程。業(yè)務(wù)流程可以被定義為一個由各種不同功能的活動相連的一組有相互關(guān)系的任務(wù),它們依照一定的業(yè)務(wù)邏輯和順序依次執(zhí)行,業(yè)務(wù)流程有起點(diǎn)和終點(diǎn),而且它們都是可以重復(fù)的。業(yè)務(wù)流程管理(BPM)正在迅速成為企業(yè)獲得軟件敏捷性和適應(yīng)性的重要方法。近年來,基于流程引擎技術(shù)構(gòu)建的應(yīng)用系統(tǒng)越來越受到客戶的追捧和認(rèn)可,能否支持流程可定制、可更改、可運(yùn)行的目標(biāo),也逐漸成為客戶衡量一個應(yīng)用系統(tǒng)主要標(biāo)準(zhǔn)之一[1]。目前國外有關(guān)流程引擎的產(chǎn)品有很多,如jBPM[2]、OSWorkflow、Apache ODE、WebSphere Process Server、Oracle Aqulogic、Microsoft BizTalk等。在國內(nèi),主要是在上述幾個引擎基礎(chǔ)上做擴(kuò)展和應(yīng)用,而且絕大部分是使用Java或C#實(shí)現(xiàn),主要是因?yàn)殡娮由虅?wù)的在流程引擎方面的應(yīng)用較多,流程引擎中的節(jié)點(diǎn)調(diào)用的業(yè)務(wù)相對流程引擎本身的性能要慢得多,流程引擎的優(yōu)化對整個流程的執(zhí)行效率影響不明顯[3],所以對于性能優(yōu)化的側(cè)重點(diǎn)一般不在流程引擎本身,但是,對于非電子商務(wù)的系統(tǒng),尤其是某些對實(shí)時性要求較高的系統(tǒng),如電信計(jì)費(fèi)系統(tǒng),業(yè)務(wù)網(wǎng)關(guān)等,流程引擎節(jié)點(diǎn)調(diào)用的業(yè)務(wù)執(zhí)行速度很快,如果流程引擎不夠優(yōu)化,對整個流程執(zhí)行的效率影響就比較大。流程引擎的主要功能是執(zhí)行業(yè)務(wù)流程,是BPM的架構(gòu)核心,其設(shè)計(jì)好壞、效率高低直接影響到整個BPM的性能高低。C/C++語言的主要特性就是高效,與操作系統(tǒng)底層交互良好,高效流程引擎應(yīng)基于C/C++來編寫[4]。

    1 高效流程引擎設(shè)計(jì)

    1.1 流程引擎總體架構(gòu)

    一個流程引擎包括很多模塊,其內(nèi)核主要是流程加載、流程執(zhí)行和數(shù)據(jù)同步,提高流程引擎的性能,就必須提高流程引擎執(zhí)行內(nèi)核的效率,讓流程的執(zhí)行環(huán)境在內(nèi)存中進(jìn)行,所以架構(gòu)中引入了緩存部分,設(shè)計(jì)專門的流程加載模塊可以將配置數(shù)據(jù)向緩存中加載,同時還設(shè)計(jì)專門的數(shù)據(jù)同步模塊能將緩存中執(zhí)行結(jié)束的流程實(shí)例同步到持久層(數(shù)據(jù)庫或文件),而流程引擎的使用者通過接口調(diào)用流程執(zhí)行的時候只會在緩存中進(jìn)行,故而能提高流程引擎的性能。高效流程引擎總體架構(gòu)圖如圖1所示。

    圖1 高效流程引擎架構(gòu)

    從圖1可以看出,業(yè)務(wù)流程必然和功能模塊打交道,可以將一些功能模塊編寫成動態(tài)庫,以便在流程中動態(tài)加載并被流程直接調(diào)用,模塊化調(diào)用增強(qiáng)了執(zhí)行的效率。另外為支持靈活性和維護(hù)的方便性,需要引入一些即時生效的腳本作為節(jié)點(diǎn)的執(zhí)行內(nèi)容。從執(zhí)行效率以及接口效率來評估,使用C/C++語言作為流程引擎核心的編寫語言,而采用和C/C++語言交互性好且執(zhí)行效率很高的腳本語言Lua,是比較合適的方案。

    1.2 流程定義

    流程引擎的設(shè)計(jì)是面向圖的設(shè)計(jì),流程是由兩個最基本的元素組成:“節(jié)點(diǎn)”及“有向連接”。對于“有向連接”幾乎沒有任何歧義,所有的流程建模描述中“有向連接”都是存在“From”和“To”這兩個特性。但是對于“節(jié)點(diǎn)”,則因?yàn)樗幍囊暯?、功能不同,則存在很多不同的理解,比如WFMC的過程定義元模型、jBPM、EPC中對節(jié)點(diǎn)含義和種類的定義都不太相同[5]。高效流程引擎中的節(jié)點(diǎn)類型包含:開始、結(jié)束、函數(shù)、腳本、狀態(tài)、分支(并行、判斷)、匯聚等,如圖2所示。

    圖2 節(jié)點(diǎn)連接圖

    各節(jié)點(diǎn)既有共性也有個性,從流程定義的角度,將節(jié)點(diǎn)抽象為父類,各種類型的節(jié)點(diǎn)繼承節(jié)點(diǎn)父類,并增加自己的屬性、函數(shù),以及實(shí)現(xiàn)節(jié)點(diǎn)執(zhí)行函數(shù)。各節(jié)點(diǎn)的類圖關(guān)系如圖3所示。

    圖3 節(jié)點(diǎn)類關(guān)系

    將節(jié)點(diǎn)類設(shè)計(jì)為一個抽象類,它包含了純虛函數(shù)virtual execute()=0,在執(zhí)行流程時以父類對象指針指向最終節(jié)點(diǎn)類的對象,并調(diào)用父類對象指針的execute函數(shù),則實(shí)際會調(diào)用最終子類中的所實(shí)現(xiàn)的execute成員函數(shù)。在流程引擎中我們?nèi)コ擞邢蚓€連接對象,即jBPM中的Transition,使用每個節(jié)點(diǎn)的前驅(qū)或后續(xù)節(jié)點(diǎn)號的方式來貫穿整個流程。任何流程的開始節(jié)點(diǎn)號都定義為0。

    1.3 流程解析與加載

    前臺配置的流程的定義是存儲在數(shù)據(jù)庫中的,一般的流程引擎的做法是每次連續(xù)的執(zhí)行都要到數(shù)據(jù)庫中去讀取流程配置,這樣勢必造成I/O的增加,降低流程引擎的性能。由于流程定義的讀頻率要遠(yuǎn)遠(yuǎn)高于寫頻率,所以,要保證流程的高速運(yùn)轉(zhuǎn),必須將流程定義加載到內(nèi)存中,并且解決好讀寫的沖突問題。

    流程定義緩存主要分為共享內(nèi)存和私有內(nèi)存兩部分,共享內(nèi)存是流程定義索引區(qū)和流程定義區(qū),這部分可以由所有調(diào)用者的程序共享讀??;私有內(nèi)存是腳本加載區(qū)和動態(tài)庫加載區(qū),在程序啟動的時候需加載和初始化。流程索引是根據(jù)流程定義ID以及流程的版本號查找流程定義存放的地址的區(qū)域,為了加速流程定義的查找速度。流程定義使用xml格式配置,調(diào)用rapidxml[6]開源程序中的函數(shù)進(jìn)行解析,并將配置按類的定義以序列化方式保存在共享內(nèi)存的流程定義中。

    由于流程的執(zhí)行是一個持續(xù)的過程,在流程實(shí)例未結(jié)束之前,改流程實(shí)例使用的流程配置都應(yīng)該保持在內(nèi)存中且不能被改動。對于新增的流程,在流程定義區(qū)新開辟空間并上載新流程定義,上載完成后鎖定流程定義索引區(qū),更新Hash(流程定義ID,流程版本)和流程定義存放地址的對應(yīng)關(guān)系,然后解鎖;對于要刪除的流程,一般是將該流程打上刪除標(biāo)志而不是立即刪除,由流程上載模塊負(fù)責(zé)查詢沒有使用該流程定義的流程實(shí)例后將其刪除并回收空間;對于修改的流程,采用升級的方式處理,也就是先將新的流程加載到新開辟的流程區(qū),并更新流程定義索引區(qū),新的流程實(shí)例會按新版本執(zhí)行,當(dāng)使用舊版本的流程實(shí)例全部結(jié)束后,流程上載模塊會將舊版本的流程定義刪除并回收空間。通過這樣的增、刪、改的機(jī)制可以解決流程定義讀寫的沖突。

    1.4 流程腳本

    腳本具有靈活性強(qiáng)、能立即生效等特點(diǎn),在流程引擎的節(jié)點(diǎn)中使用腳本可以帶來靈活性和擴(kuò)展性和高效性。Lua腳本語言是用標(biāo)準(zhǔn)C編寫而成的嵌入式腳本語言和C/C++有良好的交互性,能為應(yīng)用程序提供靈活的擴(kuò)展和定制功能,而且?guī)缀踉谒胁僮飨到y(tǒng)和平臺上都可以編譯和運(yùn)行。Lua是腳本語言中執(zhí)行效率最高且很輕量級,內(nèi)存占用很少[7]。

    經(jīng)過對相同的浮點(diǎn)數(shù)運(yùn)算程序測試,以C語言(編譯器gcc 4.0.1)為基準(zhǔn),進(jìn)行速度測試,可得出如圖4的各種腳本語言執(zhí)行效率的對比數(shù)據(jù)。

    圖4 腳本語言效率對比

    Lua和C語言的交互,一般是Lua嵌入到C/C++程序中,簡單的功能可以直接由Lua函數(shù)提供,如果Lua完成不了的,也可以編寫可由Lua調(diào)用的C/C++接口函數(shù),讓Lua起到橋梁作用,快速重組這些接口函數(shù)。

    1.5 流程監(jiān)控

    流程的執(zhí)行過程在后臺進(jìn)行,流程引擎需要提供對流程實(shí)例執(zhí)行情況的監(jiān)控。流程實(shí)例中的節(jié)點(diǎn)狀態(tài)、執(zhí)行時間、流程變量值等的都在共享內(nèi)存區(qū)中可以通過IPC進(jìn)行訪問,流程引擎為監(jiān)控提供了一系列查詢接口供同主機(jī)的外部進(jìn)程訪問,并且可以在此基礎(chǔ)上封裝成監(jiān)控服務(wù),供遠(yuǎn)程主機(jī)訪問和顯示。由于在共享內(nèi)存中進(jìn)行查詢開銷較少,所以可以提供較為實(shí)時的監(jiān)控。

    1.6 流程日志

    一個流程實(shí)例執(zhí)行結(jié)束的流程引擎會產(chǎn)生一個消息存放在隊(duì)列中,由入庫模塊將流程實(shí)例執(zhí)行的成功與否以及各節(jié)點(diǎn)執(zhí)行情況和時間保存到數(shù)據(jù)庫,相當(dāng)于記錄了流程的執(zhí)行軌跡,并將該流程實(shí)例從共享內(nèi)存中的空間釋放出來。

    流程入庫程序可以是多線程并行執(zhí)行,并且是在流程結(jié)束后才進(jìn)行,而且實(shí)例與監(jiān)控區(qū)的共享內(nèi)存空間較大,可以是對多個流程的批量處理,所以如果配置合適,并且流程實(shí)例的執(zhí)行壓力不是特別大的情況,基本不會形成性能瓶頸。關(guān)閉流程引擎將共享內(nèi)存中的所有數(shù)據(jù)落地到文件,重新啟動時則從文件上載到共享內(nèi)存,如果主機(jī)在流程實(shí)例未執(zhí)行完成的時候出現(xiàn)崩潰,則因共享內(nèi)存數(shù)據(jù)失去,流程實(shí)例數(shù)據(jù)將會丟失,這是一種缺陷,但這是流程執(zhí)行效率和數(shù)據(jù)安全之間的一種權(quán)衡的結(jié)果。

    2 測試與分析

    2.1 測試環(huán)境

    該測試的實(shí)驗(yàn)環(huán)境是:操作系統(tǒng)AIX 6.1,主機(jī)CPU 3.5GHZ,主機(jī)內(nèi)存8G的臺式機(jī);開發(fā)工具為Java編譯器Java1.6,C++編譯器xlC 。

    2.2 測試數(shù)據(jù)

    在jBPM和高效率流程引擎都配置一個相同的流程定義如圖5。其中節(jié)點(diǎn)1腳本節(jié)點(diǎn),功能是設(shè)置一個整數(shù)型的流程變量值。節(jié)點(diǎn)2為判斷節(jié)點(diǎn),功能是將變量值取出,并將其乘以1.5加0.01,判斷結(jié)果是否大于3。節(jié)點(diǎn)3為業(yè)務(wù)功能節(jié)點(diǎn),操作是對變量進(jìn)行500次浮點(diǎn)加減乘除運(yùn)算。節(jié)點(diǎn)4為狀態(tài)節(jié)點(diǎn),無操作。

    圖5 測試流程

    2.3 測試結(jié)果

    分別編寫Java程序和C++程序?qū)?.2中的準(zhǔn)備的完全相同的流程定義調(diào)用兩種流程引擎(jBPM和高效流程引擎)進(jìn)行流程定義加載、流程實(shí)例創(chuàng)建和實(shí)例執(zhí)行的速度測試。各進(jìn)行5組測試。流程定義加載效率測試和流程實(shí)例執(zhí)行測試的結(jié)果如表1所示。

    表1 流程引擎加載與流程實(shí)例執(zhí)行測試

    從表1測試結(jié)果可以得出,高效流程引擎的效率遠(yuǎn)遠(yuǎn)高于jBPM,分析其主要原因是jBPM的流程加載和流程執(zhí)行的每一步都對數(shù)據(jù)庫進(jìn)行了操作,增加了大量的I/O開銷,而高效流程引擎使用共享內(nèi)存;并且jBPM使用的是Java語言,本身執(zhí)行效率上不如高效流程引擎使用的C/C++語言效率高。該測試數(shù)據(jù)的結(jié)果也表明可滿足大多數(shù)系統(tǒng)應(yīng)用中對流程引擎的性能要求。

    3 結(jié)束語

    在某些業(yè)務(wù)要求下,流程引擎除了注重功能還需注重性能。C/C++語言是當(dāng)前執(zhí)行效率最高的語言[8],Lua腳本是效率最高的腳本,且和C/C++語言的交互性以及自身擴(kuò)展性都很強(qiáng),高效流程引擎使用C++作為引擎核心的編寫語言,使用Lua作為腳本節(jié)點(diǎn)以及判斷節(jié)點(diǎn)的應(yīng)用,從程序執(zhí)行方面對性能進(jìn)行了提高。流程引擎在執(zhí)行過程中對流程定義的讀取以及日志的保存如果都使用數(shù)據(jù)庫或者文件,會給性能帶來較大瓶頸,所以高效流程引擎使用共享內(nèi)存作為流程定義、流程實(shí)例、流程日志等的數(shù)據(jù)緩存,并使用其他模塊來對流程定義進(jìn)行加載和日志的落地。高效流程引擎從各個方面提高了流程引擎的性能,經(jīng)過測試達(dá)到了業(yè)務(wù)系統(tǒng)對性能的要求。

    [1] 胡長城. 工作流的微內(nèi)核架構(gòu)[EB/OL].http://gocom. primeton.com/modules/gSpace/modules/techresource/article1803.htm, 2007-9-7.

    [2] 胡長城. 揭秘jbpm流程引擎內(nèi)核設(shè)計(jì)思想及構(gòu)架[EB/OL].http://www.uml.org.cn/workclass/200709305.asp, 2007-9-22.

    [3] 何智華,王力生. 基于Web服務(wù)的電子商務(wù)業(yè)務(wù)流程中間件引擎的研究[J].計(jì)算機(jī)應(yīng)用, 2004(11):135-138.

    [4] 陳蘭新. 基于C++的BPEL流程引擎原型的設(shè)計(jì)與實(shí)現(xiàn)[D]. 廣州:華南理工大學(xué),2009.

    [5] 胡奇. jBPM4工作流應(yīng)用開發(fā)指南[M].北京:電子工業(yè)出版社,2010.

    [6] Marcin Kalicinski. RAPIDXML Manual[EB/OL].http:// rapidxml.sourceforge.net/manual.html, 2009-8-2.

    [7] Roberto Ierusalimschy. Programming in Lua[EB/OL]. http://www.lua.org/pil/, 2012-3-4

    [8] 盧曉苗,李從龍,張建明. 一例Java語言與C語言代碼運(yùn)行效率的比較[J]. 現(xiàn)代計(jì)算機(jī)(專業(yè)版), 2010(1): 116-118.

    Development of High-performance and Flexible Process Engine

    WANG Jian-bing

    (Beijing Forich Software Technology Co., Ltd. Fuzhou Branch, Fuzhou , Fujiang 350013, China)

    High real-time processing is required in some business environments, and then the high-performance process engine is needed to drive the business functions running. The core of high-performance process engine is written by C/C++, shared memory is used as a data cache for process definition and process instance, and the Lua script, which is efficient, interactive, easy to extend, is embedded in the execution content of some nodes of process engine. At the same time, the module of process loading and log storage synchronize the persistence layer and cache, the core of process engine is not affected. Through the optimization of the above aspects, the overall performance of the process engine is improved.

    process engine; Lua script language; C/C++; share memory

    TP391

    A

    10.3969/j.issn.1674-8085.2012.04.014

    1674-8085(2012)04-0061-05

    2012-02-24;

    2012-03-27

    王劍冰(1975-),男,福建浦城人,工程師,主要從事引擎開發(fā)、數(shù)據(jù)庫優(yōu)化研究(E-mail: wangjb@ffcs.cn).

    猜你喜歡
    共享內(nèi)存引擎實(shí)例
    通過QT實(shí)現(xiàn)進(jìn)程間的通信
    藍(lán)谷: “涉藍(lán)”新引擎
    商周刊(2017年22期)2017-11-09 05:08:31
    基于PCI總線的多處理器協(xié)同機(jī)制研究
    無形的引擎
    河南電力(2015年5期)2015-06-08 06:01:46
    基于Cocos2d引擎的PuzzleGame開發(fā)
    QNX下PEX8311多路實(shí)時數(shù)據(jù)采集的驅(qū)動設(shè)計(jì)
    電子世界(2014年21期)2014-04-29 06:41:36
    完形填空Ⅱ
    完形填空Ⅰ
    一種高效RTAI 共享內(nèi)存管理層的研究與實(shí)現(xiàn)*
    One?。牛睿纾椋睿濉。蹋澹妫糁皇O乱粋€引擎
    精品国内亚洲2022精品成人 | 日韩熟女老妇一区二区性免费视频| 一本大道久久a久久精品| x7x7x7水蜜桃| 免费在线观看完整版高清| 麻豆成人av在线观看| 成熟少妇高潮喷水视频| 亚洲人成电影观看| 午夜福利影视在线免费观看| 久久久久久亚洲精品国产蜜桃av| 天堂动漫精品| 国产又色又爽无遮挡免费看| 亚洲欧美日韩另类电影网站| 9191精品国产免费久久| 亚洲人成电影观看| 国产一区二区激情短视频| 久久久国产欧美日韩av| 一边摸一边抽搐一进一出视频| 亚洲色图综合在线观看| 国产激情久久老熟女| 欧美激情高清一区二区三区| 久久天堂一区二区三区四区| 建设人人有责人人尽责人人享有的| 免费在线观看视频国产中文字幕亚洲| 我的亚洲天堂| 三级毛片av免费| 欧美日韩中文字幕国产精品一区二区三区 | 久久热在线av| 午夜老司机福利片| 亚洲国产欧美一区二区综合| 日韩欧美国产一区二区入口| 曰老女人黄片| 一级a爱视频在线免费观看| 99热网站在线观看| av超薄肉色丝袜交足视频| 亚洲片人在线观看| 国产无遮挡羞羞视频在线观看| 天天躁日日躁夜夜躁夜夜| 成人18禁高潮啪啪吃奶动态图| 成人国语在线视频| 国产极品粉嫩免费观看在线| 免费人成视频x8x8入口观看| 亚洲精品粉嫩美女一区| 新久久久久国产一级毛片| 免费在线观看影片大全网站| 黑人巨大精品欧美一区二区mp4| 美女福利国产在线| 夜夜躁狠狠躁天天躁| 久久人妻av系列| www.精华液| 国产精品秋霞免费鲁丝片| 操出白浆在线播放| 国产精品美女特级片免费视频播放器 | 亚洲av成人av| 人妻一区二区av| 日韩欧美一区二区三区在线观看 | 国产有黄有色有爽视频| 19禁男女啪啪无遮挡网站| 亚洲中文av在线| 成年人免费黄色播放视频| 亚洲av成人av| 亚洲精品粉嫩美女一区| 亚洲人成77777在线视频| 欧美日韩中文字幕国产精品一区二区三区 | 热re99久久国产66热| 国产精品永久免费网站| 欧美日韩亚洲国产一区二区在线观看 | 久久精品国产亚洲av高清一级| 国产亚洲欧美在线一区二区| 国产欧美亚洲国产| 久久久水蜜桃国产精品网| 久久中文看片网| 国产高清激情床上av| 91成人精品电影| 亚洲少妇的诱惑av| 搡老岳熟女国产| 波多野结衣av一区二区av| 日韩成人在线观看一区二区三区| 新久久久久国产一级毛片| 久久亚洲精品不卡| 国产精品香港三级国产av潘金莲| 欧美av亚洲av综合av国产av| 国产在线一区二区三区精| 午夜视频精品福利| 自线自在国产av| 韩国精品一区二区三区| 男人舔女人的私密视频| 一边摸一边做爽爽视频免费| 丰满饥渴人妻一区二区三| 亚洲三区欧美一区| 在线观看免费视频日本深夜| 手机成人av网站| 成人av一区二区三区在线看| 久久久精品区二区三区| 女人被躁到高潮嗷嗷叫费观| 日本五十路高清| 久久人人97超碰香蕉20202| 老汉色∧v一级毛片| 悠悠久久av| 999久久久精品免费观看国产| 久久香蕉精品热| 国产精品一区二区精品视频观看| 成年人午夜在线观看视频| 久久精品亚洲熟妇少妇任你| 一本综合久久免费| 亚洲中文日韩欧美视频| 久久 成人 亚洲| 高潮久久久久久久久久久不卡| 黄色怎么调成土黄色| 精品久久久久久久久久免费视频 | 免费人成视频x8x8入口观看| 夜夜爽天天搞| 母亲3免费完整高清在线观看| 在线看a的网站| 高清黄色对白视频在线免费看| 国产亚洲精品久久久久5区| 91成年电影在线观看| 国产av精品麻豆| 免费人成视频x8x8入口观看| a级毛片在线看网站| 又大又爽又粗| 99热国产这里只有精品6| 久久香蕉激情| 两性夫妻黄色片| 国产精品秋霞免费鲁丝片| bbb黄色大片| 夜夜夜夜夜久久久久| 十分钟在线观看高清视频www| 久久精品国产99精品国产亚洲性色 | 大香蕉久久网| 一个人免费在线观看的高清视频| 99国产综合亚洲精品| 午夜亚洲福利在线播放| 国产黄色免费在线视频| 国产精品成人在线| 欧美丝袜亚洲另类 | 国产欧美日韩精品亚洲av| 在线免费观看的www视频| 捣出白浆h1v1| 欧美日本中文国产一区发布| videosex国产| 国产有黄有色有爽视频| 国产成人精品无人区| 十八禁人妻一区二区| bbb黄色大片| 亚洲一区高清亚洲精品| 精品午夜福利视频在线观看一区| 首页视频小说图片口味搜索| 老司机福利观看| 国产日韩一区二区三区精品不卡| 免费观看精品视频网站| 成人精品一区二区免费| 美国免费a级毛片| 女性被躁到高潮视频| 757午夜福利合集在线观看| a级片在线免费高清观看视频| 午夜福利一区二区在线看| 十八禁网站免费在线| av视频免费观看在线观看| 精品人妻熟女毛片av久久网站| 五月开心婷婷网| 日韩欧美免费精品| 一边摸一边抽搐一进一小说 | 成人永久免费在线观看视频| 亚洲av片天天在线观看| 手机成人av网站| 国产一区二区三区视频了| 亚洲成人免费av在线播放| 久热这里只有精品99| 99热只有精品国产| 极品教师在线免费播放| 精品久久久久久久毛片微露脸| 午夜福利,免费看| 国产真人三级小视频在线观看| 村上凉子中文字幕在线| 欧美在线黄色| 在线免费观看的www视频| 国产免费现黄频在线看| 久久99一区二区三区| 黄片大片在线免费观看| 久久这里只有精品19| 成年女人毛片免费观看观看9 | av免费在线观看网站| 飞空精品影院首页| 男女午夜视频在线观看| 久久狼人影院| 啦啦啦 在线观看视频| 久久中文字幕人妻熟女| a在线观看视频网站| 亚洲成国产人片在线观看| av天堂久久9| 精品卡一卡二卡四卡免费| 成年版毛片免费区| 久久久精品区二区三区| av中文乱码字幕在线| 日本欧美视频一区| 日韩欧美三级三区| 欧美日韩亚洲综合一区二区三区_| 满18在线观看网站| 精品国产一区二区久久| 亚洲国产中文字幕在线视频| 啦啦啦在线免费观看视频4| 女人爽到高潮嗷嗷叫在线视频| 一二三四在线观看免费中文在| 老熟女久久久| 午夜福利一区二区在线看| 国产精品九九99| 交换朋友夫妻互换小说| 中文字幕人妻熟女乱码| 欧美成人免费av一区二区三区 | 欧美乱色亚洲激情| 成年版毛片免费区| 99国产极品粉嫩在线观看| 亚洲成人国产一区在线观看| 久久人妻熟女aⅴ| 国产黄色免费在线视频| 成人手机av| 国产精品美女特级片免费视频播放器 | 90打野战视频偷拍视频| 18禁美女被吸乳视频| 午夜精品在线福利| av网站在线播放免费| 免费一级毛片在线播放高清视频 | 99国产综合亚洲精品| 丝袜人妻中文字幕| e午夜精品久久久久久久| 伦理电影免费视频| 亚洲va日本ⅴa欧美va伊人久久| 欧美日韩黄片免| 国产又色又爽无遮挡免费看| 国产精品av久久久久免费| 男人的好看免费观看在线视频 | 国产一卡二卡三卡精品| 俄罗斯特黄特色一大片| 欧美在线一区亚洲| 亚洲色图 男人天堂 中文字幕| 国产精品永久免费网站| 搡老熟女国产l中国老女人| 亚洲精品中文字幕在线视频| av欧美777| 日韩视频一区二区在线观看| 亚洲五月婷婷丁香| 国产亚洲欧美精品永久| 久久人妻av系列| 女人爽到高潮嗷嗷叫在线视频| 精品一区二区三区视频在线观看免费 | 免费在线观看亚洲国产| 在线播放国产精品三级| 无限看片的www在线观看| 飞空精品影院首页| 日韩欧美一区二区三区在线观看 | 99久久国产精品久久久| 亚洲精品国产色婷婷电影| 成人18禁高潮啪啪吃奶动态图| 在线观看免费高清a一片| 在线观看www视频免费| 一级a爱片免费观看的视频| 日韩视频一区二区在线观看| 99精品久久久久人妻精品| 国产精品免费大片| 亚洲国产欧美网| 成人国产一区最新在线观看| 亚洲男人天堂网一区| 亚洲五月天丁香| 美女 人体艺术 gogo| 黄色怎么调成土黄色| 在线观看66精品国产| 色在线成人网| 天堂动漫精品| 亚洲av熟女| 一进一出抽搐动态| 精品久久久久久久久久免费视频 | 亚洲精品一二三| 电影成人av| 侵犯人妻中文字幕一二三四区| 99在线人妻在线中文字幕 | 亚洲国产欧美日韩在线播放| 色老头精品视频在线观看| 久久久精品区二区三区| 国产又色又爽无遮挡免费看| 欧美日韩亚洲综合一区二区三区_| 国产欧美日韩一区二区精品| 可以免费在线观看a视频的电影网站| 一级毛片高清免费大全| 国产乱人伦免费视频| 日本五十路高清| 亚洲精品国产精品久久久不卡| 久久亚洲真实| 18禁裸乳无遮挡动漫免费视频| 50天的宝宝边吃奶边哭怎么回事| 色婷婷久久久亚洲欧美| 久久人人97超碰香蕉20202| 精品国产美女av久久久久小说| 国产亚洲精品久久久久5区| 国产成人av教育| 丰满迷人的少妇在线观看| 成熟少妇高潮喷水视频| 精品少妇久久久久久888优播| 精品少妇一区二区三区视频日本电影| 亚洲伊人色综图| 精品人妻在线不人妻| 亚洲中文av在线| 视频在线观看一区二区三区| aaaaa片日本免费| 夜夜躁狠狠躁天天躁| 一级a爱视频在线免费观看| 亚洲av成人不卡在线观看播放网| 欧美老熟妇乱子伦牲交| 国产有黄有色有爽视频| 成年人黄色毛片网站| 成年女人毛片免费观看观看9 | 成人av一区二区三区在线看| 午夜福利,免费看| 别揉我奶头~嗯~啊~动态视频| 最新美女视频免费是黄的| 色老头精品视频在线观看| 亚洲精品在线观看二区| 热99久久久久精品小说推荐| 欧美激情高清一区二区三区| 精品久久蜜臀av无| 色综合婷婷激情| 久久久久久久国产电影| 亚洲久久久国产精品| 亚洲五月天丁香| 日本vs欧美在线观看视频| 久久久久久久久免费视频了| 亚洲精品成人av观看孕妇| 另类亚洲欧美激情| 久久精品国产亚洲av高清一级| 亚洲免费av在线视频| 午夜免费鲁丝| 又紧又爽又黄一区二区| 亚洲片人在线观看| 99国产精品一区二区蜜桃av | 岛国在线观看网站| 乱人伦中国视频| 捣出白浆h1v1| 超色免费av| 最近最新中文字幕大全电影3 | av片东京热男人的天堂| 男女高潮啪啪啪动态图| 在线十欧美十亚洲十日本专区| 一进一出抽搐gif免费好疼 | 日本欧美视频一区| 国产精品一区二区在线观看99| 免费观看a级毛片全部| 777米奇影视久久| av不卡在线播放| 午夜福利视频在线观看免费| 久久精品国产亚洲av高清一级| 首页视频小说图片口味搜索| 少妇猛男粗大的猛烈进出视频| 精品电影一区二区在线| 久久香蕉国产精品| 精品无人区乱码1区二区| 精品国产国语对白av| 纯流量卡能插随身wifi吗| 在线永久观看黄色视频| 欧美在线一区亚洲| 老司机福利观看| 国产乱人伦免费视频| 亚洲视频免费观看视频| 99riav亚洲国产免费| 久久久久久久久免费视频了| 国产精品亚洲一级av第二区| 一区福利在线观看| 国产av精品麻豆| 十分钟在线观看高清视频www| 国产成+人综合+亚洲专区| 亚洲精品在线观看二区| 午夜福利在线免费观看网站| 人人妻人人澡人人看| 美女福利国产在线| 伊人久久大香线蕉亚洲五| 宅男免费午夜| 久久香蕉激情| 亚洲成人手机| 精品亚洲成国产av| 人人妻人人澡人人爽人人夜夜| bbb黄色大片| 美国免费a级毛片| 免费少妇av软件| 亚洲七黄色美女视频| 午夜久久久在线观看| 亚洲欧美日韩另类电影网站| 欧美老熟妇乱子伦牲交| 99精品久久久久人妻精品| 亚洲欧美一区二区三区久久| 国产一区在线观看成人免费| 日韩欧美免费精品| 国产精品亚洲av一区麻豆| 国产精品1区2区在线观看. | 丝袜美腿诱惑在线| 中文字幕色久视频| 欧美日韩av久久| 久久久精品免费免费高清| 在线观看免费日韩欧美大片| 成人精品一区二区免费| 精品久久久久久,| 国产精品久久视频播放| 精品第一国产精品| 天天躁夜夜躁狠狠躁躁| 国产精品自产拍在线观看55亚洲 | 国产高清视频在线播放一区| 大香蕉久久网| 欧美黄色淫秽网站| 亚洲色图av天堂| 欧美激情 高清一区二区三区| 丝袜人妻中文字幕| 中文字幕av电影在线播放| 国产成人欧美| 黑丝袜美女国产一区| 国产男女内射视频| 妹子高潮喷水视频| 国产一区二区激情短视频| 免费不卡黄色视频| 欧美国产精品va在线观看不卡| 亚洲成人国产一区在线观看| 免费在线观看黄色视频的| 免费日韩欧美在线观看| 国产91精品成人一区二区三区| 黄色片一级片一级黄色片| 亚洲一区中文字幕在线| 在线免费观看的www视频| 国产精品美女特级片免费视频播放器 | 三级毛片av免费| 又黄又粗又硬又大视频| 1024香蕉在线观看| 精品熟女少妇八av免费久了| 国产激情欧美一区二区| 99国产极品粉嫩在线观看| 最近最新中文字幕大全免费视频| 亚洲av日韩精品久久久久久密| 国产精品自产拍在线观看55亚洲 | 乱人伦中国视频| 中文字幕人妻丝袜制服| 久久午夜综合久久蜜桃| 91字幕亚洲| 亚洲欧美一区二区三区黑人| 最近最新中文字幕大全电影3 | 窝窝影院91人妻| 99国产极品粉嫩在线观看| 大型av网站在线播放| 国产高清videossex| 99久久人妻综合| 亚洲五月天丁香| 亚洲av片天天在线观看| 久久久精品免费免费高清| 日本一区二区免费在线视频| av电影中文网址| 黄色女人牲交| 精品无人区乱码1区二区| 手机成人av网站| 久久香蕉国产精品| 国产成人啪精品午夜网站| 中文字幕制服av| 一夜夜www| 黄色怎么调成土黄色| 男女午夜视频在线观看| 国产成人影院久久av| 天天躁日日躁夜夜躁夜夜| 午夜免费观看网址| 久久精品国产99精品国产亚洲性色 | 97人妻天天添夜夜摸| 国产精品九九99| 国产精品久久电影中文字幕 | 99国产精品免费福利视频| 免费不卡黄色视频| 在线观看免费视频日本深夜| 国产精品自产拍在线观看55亚洲 | 久久狼人影院| 亚洲精品国产色婷婷电影| 婷婷成人精品国产| 香蕉丝袜av| 窝窝影院91人妻| 一区福利在线观看| 日本wwww免费看| 黄网站色视频无遮挡免费观看| 91av网站免费观看| 91大片在线观看| 99re在线观看精品视频| 欧美色视频一区免费| 亚洲国产精品合色在线| 亚洲av日韩精品久久久久久密| 精品久久蜜臀av无| 黑人巨大精品欧美一区二区mp4| 国产成人精品在线电影| 久久久久精品国产欧美久久久| 精品亚洲成国产av| 高清毛片免费观看视频网站 | 国产精品秋霞免费鲁丝片| 手机成人av网站| 国产精品九九99| 法律面前人人平等表现在哪些方面| av天堂在线播放| 欧美精品一区二区免费开放| 女人爽到高潮嗷嗷叫在线视频| 一本一本久久a久久精品综合妖精| 久久久久国产一级毛片高清牌| 一进一出抽搐gif免费好疼 | 久久人妻熟女aⅴ| 国精品久久久久久国模美| 80岁老熟妇乱子伦牲交| aaaaa片日本免费| 热re99久久精品国产66热6| 男女之事视频高清在线观看| 中文字幕av电影在线播放| 另类亚洲欧美激情| 国产区一区二久久| 一进一出抽搐gif免费好疼 | 狠狠狠狠99中文字幕| 亚洲精品av麻豆狂野| 欧美黑人精品巨大| 在线av久久热| 久久久久久人人人人人| 亚洲一区二区三区欧美精品| 欧美 亚洲 国产 日韩一| videosex国产| 国产精品一区二区免费欧美| 国产成人系列免费观看| 久9热在线精品视频| 水蜜桃什么品种好| 成人亚洲精品一区在线观看| 久久久久久久久免费视频了| 国产一区在线观看成人免费| 精品人妻熟女毛片av久久网站| 女人被狂操c到高潮| 亚洲专区中文字幕在线| 欧美精品一区二区免费开放| 国产视频一区二区在线看| 亚洲五月天丁香| 老司机在亚洲福利影院| 免费人成视频x8x8入口观看| 两个人看的免费小视频| 国产欧美日韩一区二区三| 国内久久婷婷六月综合欲色啪| 天天躁狠狠躁夜夜躁狠狠躁| 两人在一起打扑克的视频| 久久人人97超碰香蕉20202| 久久午夜亚洲精品久久| 一边摸一边做爽爽视频免费| 亚洲性夜色夜夜综合| xxxhd国产人妻xxx| 99re6热这里在线精品视频| 亚洲精品国产色婷婷电影| 精品视频人人做人人爽| 久久久国产成人精品二区 | 午夜福利影视在线免费观看| 亚洲中文字幕日韩| 亚洲精品中文字幕在线视频| 精品国产美女av久久久久小说| 少妇裸体淫交视频免费看高清 | 欧美色视频一区免费| 超碰成人久久| 叶爱在线成人免费视频播放| 中文字幕av电影在线播放| 日韩三级视频一区二区三区| 国产在线精品亚洲第一网站| 日韩欧美一区视频在线观看| 精品欧美一区二区三区在线| 亚洲精品国产区一区二| 欧美亚洲 丝袜 人妻 在线| 亚洲午夜精品一区,二区,三区| 黄色视频,在线免费观看| 一本综合久久免费| 欧美激情高清一区二区三区| 香蕉久久夜色| 日韩欧美免费精品| 日韩免费高清中文字幕av| 久久中文字幕一级| 国产成+人综合+亚洲专区| 天堂中文最新版在线下载| 韩国av一区二区三区四区| 色94色欧美一区二区| 搡老熟女国产l中国老女人| 丝袜美腿诱惑在线| 女人爽到高潮嗷嗷叫在线视频| 国产一区二区三区在线臀色熟女 | 夜夜躁狠狠躁天天躁| 美女高潮喷水抽搐中文字幕| 人人澡人人妻人| 99re6热这里在线精品视频| 欧美精品av麻豆av| 国产91精品成人一区二区三区| 国产高清videossex| 亚洲视频免费观看视频| 久久国产精品人妻蜜桃| 欧美午夜高清在线| 黄色丝袜av网址大全| 宅男免费午夜| xxxhd国产人妻xxx| 91精品三级在线观看| 国产激情欧美一区二区| 午夜福利免费观看在线| 亚洲午夜理论影院| 91av网站免费观看| 国产成+人综合+亚洲专区| 在线看a的网站| 国产精品99久久99久久久不卡| 久久精品91无色码中文字幕| 中文亚洲av片在线观看爽 | 在线观看66精品国产| 黄片大片在线免费观看| 女人被躁到高潮嗷嗷叫费观| 国产麻豆69| 免费少妇av软件| 色尼玛亚洲综合影院| 亚洲精品一二三| 脱女人内裤的视频| 天天添夜夜摸| 老司机深夜福利视频在线观看| 中文字幕人妻丝袜制服| 欧美日韩精品网址| 桃红色精品国产亚洲av| 欧美 日韩 精品 国产|