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

    INMDB中復(fù)合事件監(jiān)測(cè)機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)

    2016-11-08 08:33:47賀宏達(dá)劉夢(mèng)赤
    關(guān)鍵詞:語(yǔ)句定義對(duì)象

    賀宏達(dá) 劉夢(mèng)赤

    (武漢大學(xué)計(jì)算機(jī)學(xué)院 湖北 武漢 430072)

    ?

    INMDB中復(fù)合事件監(jiān)測(cè)機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)

    賀宏達(dá)劉夢(mèng)赤

    (武漢大學(xué)計(jì)算機(jī)學(xué)院湖北 武漢 430072)

    對(duì)于大多數(shù)主動(dòng)數(shù)據(jù)庫(kù)來(lái)說(shuō),復(fù)合事件監(jiān)測(cè)始終是個(gè)難題。介紹信息網(wǎng)模型INM(InformationNetworkModel)數(shù)據(jù)庫(kù)管理系統(tǒng)中的復(fù)合事件監(jiān)測(cè)機(jī)制,詳細(xì)描述利用事件樹(shù)模型監(jiān)測(cè)復(fù)合事件的思想,并提供具體的算法實(shí)現(xiàn)。經(jīng)分析,該算法在運(yùn)行效率和空間占用上均比常見(jiàn)的有限自動(dòng)機(jī)和Petri網(wǎng)有著更好的表現(xiàn)。

    信息網(wǎng)模型主動(dòng)數(shù)據(jù)庫(kù)復(fù)合事件監(jiān)測(cè)事件樹(shù)

    0 引 言

    與傳統(tǒng)數(shù)據(jù)庫(kù)相比,主動(dòng)數(shù)據(jù)庫(kù)能夠?qū)?shù)據(jù)庫(kù)管理系統(tǒng)內(nèi)外發(fā)生的事件自動(dòng)作出響應(yīng)。這種自動(dòng)響應(yīng)機(jī)制通過(guò)主動(dòng)規(guī)則來(lái)實(shí)現(xiàn)。一般來(lái)說(shuō),主動(dòng)規(guī)則由三部分組成:事件、條件和動(dòng)作[1]。事件,指數(shù)據(jù)庫(kù)系統(tǒng)中某一時(shí)刻的數(shù)據(jù)操作引發(fā)[2]。主動(dòng)規(guī)則定義之后,一旦對(duì)應(yīng)的事件發(fā)生,數(shù)據(jù)庫(kù)系統(tǒng)將對(duì)條件部分進(jìn)行求值,若條件為真,則執(zhí)行對(duì)應(yīng)的動(dòng)作。也就是說(shuō),事件是整個(gè)主動(dòng)規(guī)則執(zhí)行過(guò)程的起點(diǎn)。因此,事件的監(jiān)測(cè)是主動(dòng)規(guī)則設(shè)計(jì)時(shí)的首要問(wèn)題。

    要對(duì)事件進(jìn)行監(jiān)測(cè),就必須先提供其描述。按照是否可分,事件通??梢苑譃閮深?lèi):

    (1) 原子事件:指單個(gè)的某一類(lèi)事件。比如插入元組,更新屬性,刪除元組等。

    (2) 復(fù)合事件:由幾個(gè)原子事件或者復(fù)合事件通過(guò)事件代數(shù)中的操作符連接而成。

    復(fù)合事件處理CEP(CompositeEventProcessing)的應(yīng)用極為廣泛,它能夠從看似毫無(wú)意義的原子事件組合中查找是否有更復(fù)雜的情況發(fā)生。信用卡防盜刷、安全監(jiān)控和商業(yè)活動(dòng)監(jiān)控等方面對(duì)此均有著強(qiáng)烈的應(yīng)用需求,知名企業(yè)如支付寶等均大量應(yīng)用CEP來(lái)處理網(wǎng)絡(luò)欺詐、網(wǎng)絡(luò)攻擊等安全威脅[3]。而IBM、Oracle和微軟等更是推出了一系列CEP產(chǎn)品來(lái)滿足用戶(hù)日益增長(zhǎng)的需求。

    1 相關(guān)工作

    復(fù)合事件監(jiān)測(cè)的主要難點(diǎn)在于建模。原子事件的監(jiān)測(cè)相對(duì)較為容易,因而通常采取的建模方法都是從復(fù)合事件與其子事件以及相關(guān)原子之間的關(guān)系入手,建立起抽象的數(shù)學(xué)模型?,F(xiàn)有的復(fù)合事件監(jiān)測(cè)算法有Petri網(wǎng)、有限狀態(tài)自動(dòng)機(jī)、事件樹(shù)以及事件圖等。

    Petri網(wǎng)是一種強(qiáng)大的建模工具,能夠簡(jiǎn)潔明確的描述各種各樣的復(fù)雜系統(tǒng),因此常被用于復(fù)合事件建模。它將復(fù)合事件抽象為節(jié)點(diǎn)和節(jié)點(diǎn)之間轉(zhuǎn)換關(guān)系的集合。其中,輸出節(jié)點(diǎn)為待監(jiān)測(cè)的復(fù)合事件,而輸入節(jié)點(diǎn)為與之相關(guān)的原子事件。Petri網(wǎng)結(jié)構(gòu)中包含的信息由令牌標(biāo)記,令牌的轉(zhuǎn)移方式則代表了原子事件的發(fā)生對(duì)復(fù)合事件的影響,轉(zhuǎn)移方式保存在控制矩陣之中。當(dāng)令牌在節(jié)點(diǎn)之間轉(zhuǎn)移時(shí),整個(gè)Petri網(wǎng)代表的復(fù)合事件的狀態(tài)也隨之發(fā)生變化。令牌每經(jīng)過(guò)一個(gè)節(jié)點(diǎn),就對(duì)此節(jié)點(diǎn)做標(biāo)記。當(dāng)Petri網(wǎng)中不再有未被標(biāo)記的節(jié)點(diǎn)時(shí),就表示對(duì)應(yīng)的復(fù)合事件被監(jiān)測(cè)到。比較典型的應(yīng)用有SAMOS[4]和Hi-Fi[5]等。

    有限狀態(tài)自動(dòng)機(jī),將復(fù)合事件視為正則表達(dá)式,并由此構(gòu)造出對(duì)應(yīng)的自動(dòng)機(jī)。子事件的發(fā)生將引起自動(dòng)機(jī)狀態(tài)的改變。當(dāng)自動(dòng)機(jī)進(jìn)入終止?fàn)顟B(tài)時(shí),則代表該終止?fàn)顟B(tài)對(duì)應(yīng)的復(fù)合事件發(fā)生。比較典型的應(yīng)用有ODE[6]和SASE[7]等。

    事件樹(shù),基于語(yǔ)法識(shí)別時(shí)復(fù)合事件表達(dá)式被解析為語(yǔ)法樹(shù)的思想,將復(fù)合事件抽象為相應(yīng)的樹(shù)結(jié)構(gòu)。樹(shù)結(jié)構(gòu)中的葉子節(jié)點(diǎn)表示原子事件,根節(jié)點(diǎn)表示需要監(jiān)測(cè)的復(fù)合事件,中間的各節(jié)點(diǎn)表示待監(jiān)測(cè)復(fù)合事件的子孫事件。只有當(dāng)一個(gè)節(jié)點(diǎn)的子事件都發(fā)生時(shí),該節(jié)點(diǎn)對(duì)應(yīng)的事件才被監(jiān)測(cè)到。當(dāng)整棵事件樹(shù)中的所有子節(jié)點(diǎn)對(duì)應(yīng)事件均被監(jiān)測(cè)到時(shí),就表示根節(jié)點(diǎn)對(duì)應(yīng)的復(fù)合事件的發(fā)生。比較典型的應(yīng)用有READY[8]和Zstream[9]等。

    事件圖的思想與事件樹(shù)類(lèi)似,用有向無(wú)環(huán)圖來(lái)表示復(fù)合事件,其中的葉子節(jié)點(diǎn)表示原子事件,非葉子節(jié)點(diǎn)表示事件復(fù)合操作。同一復(fù)合事件的不同實(shí)例,作為不同對(duì)象進(jìn)行處理。事件發(fā)生的消息從葉子節(jié)點(diǎn)向父節(jié)點(diǎn)傳遞,并標(biāo)記沿途節(jié)點(diǎn)。當(dāng)圖中所有節(jié)點(diǎn)均被標(biāo)記時(shí),該事件圖對(duì)應(yīng)的復(fù)合事件被監(jiān)測(cè)到。比較典型的應(yīng)用有Snoop[10]和EVE[11]等。

    目前學(xué)術(shù)界的主流研究方向大多集中于有限狀態(tài)自動(dòng)機(jī)和Petri網(wǎng)。前者的缺點(diǎn)主要在于系統(tǒng)中復(fù)合事件子事件的狀態(tài)數(shù)與子事件個(gè)數(shù)呈指數(shù)相關(guān)。例如,復(fù)合事件E=E1ANDE2ANDE3中每個(gè)子事件都有兩個(gè)狀態(tài),從而需要8=23個(gè)狀態(tài)來(lái)表示該復(fù)合事件。而后者的缺點(diǎn)則在于表示和執(zhí)行太過(guò)復(fù)雜,處理較為簡(jiǎn)單的復(fù)合事件時(shí)顯得過(guò)于累贅。例如,復(fù)合事件C2 =E3THENE4,用PetriNets表示之后不僅需要多個(gè)對(duì)象來(lái)表示復(fù)合事件的狀態(tài),還需要一個(gè)轉(zhuǎn)換矩陣來(lái)控制狀態(tài)之間的遷移,極為繁瑣。至于事件圖,該方法在表示復(fù)合事件時(shí)缺乏統(tǒng)一的形式框架,同時(shí)沒(méi)有統(tǒng)一的形式規(guī)范來(lái)描述復(fù)合事件監(jiān)測(cè)過(guò)程。

    綜合分析以上幾種方法,事件樹(shù)的表現(xiàn)更為優(yōu)異。因此,本文結(jié)合INMDB的特性,基于事件樹(shù)的結(jié)構(gòu)作出改進(jìn),提出了一種新型的事件樹(shù)結(jié)構(gòu)——高級(jí)事件樹(shù)AET(AdvancedEventTree),并在此基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)了INMDB中的復(fù)合事件的監(jiān)測(cè)機(jī)制。該監(jiān)測(cè)機(jī)制能夠準(zhǔn)確捕獲常見(jiàn)的幾種復(fù)合事件,具有較好的運(yùn)行效率和較低的空間占用,同時(shí),又能夠與原有系統(tǒng)很好地耦合。

    2 INMDB中的事件模型

    信息網(wǎng)模型INM(InformationNetworkModel)是面向?qū)ο蟮恼Z(yǔ)義模型,它將現(xiàn)實(shí)世界的實(shí)體抽象為數(shù)據(jù)庫(kù)中的對(duì)象,具有相同特點(diǎn)的實(shí)體被抽象為類(lèi),實(shí)體間的關(guān)系轉(zhuǎn)換為對(duì)象之間的關(guān)系[12]。基于INM實(shí)現(xiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng)INMDB引入了角色關(guān)系、復(fù)雜關(guān)系、多元關(guān)系以及它們各自的逆關(guān)系等概念,表示對(duì)象之間的關(guān)系時(shí)顯得更為直觀、自然。

    2.1原子事件

    在INMDB中,事件區(qū)分類(lèi)型和實(shí)例。按照事件代數(shù)中的約定,事件類(lèi)型用大寫(xiě)字母開(kāi)頭,可以包括數(shù)字,如Event、Event1或A等;而事件實(shí)例則用小寫(xiě)字母開(kāi)頭,末尾加下標(biāo)數(shù)字,如event1、event11和a1等,下標(biāo)數(shù)字用于區(qū)分發(fā)生的先后次序,數(shù)字越小,對(duì)應(yīng)的事件實(shí)例越先發(fā)生。

    前文提到,事件可以分為原子事件和復(fù)合事件兩類(lèi)。INMDB中的原子事件主要包括:

    (1) 方法事件。對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象進(jìn)行操作。

    (2) 時(shí)序事件。當(dāng)系統(tǒng)時(shí)間運(yùn)行至某一特定時(shí)刻時(shí)觸發(fā),用絕對(duì)時(shí)間表示。

    (3) 抽象事件。與外部環(huán)境之間的通信,由應(yīng)用層的消息或用戶(hù)指令顯式觸發(fā)。

    抽象事件的發(fā)生具有不確定性,因此,不在事件監(jiān)測(cè)的考慮范圍內(nèi)。時(shí)序事件與此類(lèi)似,INMDB底層沒(méi)有計(jì)時(shí)機(jī)制,所以該部分通過(guò)開(kāi)放底層接口,由應(yīng)用層計(jì)時(shí)來(lái)實(shí)現(xiàn)。抽象事件和時(shí)序事件的監(jiān)測(cè)都由應(yīng)用層實(shí)現(xiàn),因此,不在本文的討論范圍之內(nèi)。下文提到的原子事件只包含方法事件。

    目前的INMDB包括類(lèi)、對(duì)象和查詢(xún)?nèi)齻€(gè)部分,其中查詢(xún)不涉及對(duì)數(shù)據(jù)的修改,因此,原子事件主要與前兩者相關(guān)。

    例1對(duì)類(lèi)的操作:創(chuàng)建一個(gè)“大學(xué)”的類(lèi)。其中帶“@”的指當(dāng)前類(lèi)具有的屬性,而不帶“@”的則指當(dāng)前類(lèi)與其他類(lèi)之間的關(guān)系,inverse后為該關(guān)系的逆關(guān)系[13]。

    createclass大學(xué)[

    @建校日期:date,

    所在市(N:1):城市(inverse下轄大學(xué)),

    @世界排名:int];

    例2對(duì)對(duì)象的操作:創(chuàng)建一個(gè)對(duì)象"教授”,并指定他所指導(dǎo)的學(xué)生和教授的課程以及辦公室電話。

    insert教授 張三[

    指導(dǎo)學(xué)生:{李四,王五},

    教授課程:數(shù)據(jù)庫(kù)系統(tǒng)

    ];

    例3對(duì)對(duì)象的操作:將對(duì)象“A大學(xué)”中的關(guān)系“地址”的值修改為“B市”。

    updateA大學(xué)modify地址:B市;

    對(duì)象數(shù)據(jù)庫(kù)中,通過(guò)向指定對(duì)象傳遞消息進(jìn)行底層數(shù)據(jù)的訪問(wèn)與操作。因此,每個(gè)方法事件都與特定的類(lèi)名、方法名以及操作對(duì)象的名字相關(guān)。與一般對(duì)象數(shù)據(jù)庫(kù)有所區(qū)別的是,雖然INMDB中不同類(lèi)型方法事件對(duì)應(yīng)的類(lèi)不同,如例1、例2和例3,分別對(duì)應(yīng)SchmClass類(lèi)、Instance類(lèi)和UpdateModify類(lèi),但方法名都相同,均為execute()。因此,原子事件定義時(shí),可以通過(guò)指定類(lèi)名和操作對(duì)象名,并在此基礎(chǔ)上進(jìn)行封裝,來(lái)唯一標(biāo)識(shí)該事件。

    為了便于索引及組成復(fù)合事件,所有事件都具有唯一的事件名。事件名與事件代數(shù)中用于表示事件類(lèi)型和實(shí)例的標(biāo)識(shí)符不同,不受后者定義時(shí)對(duì)首字母的限制。

    事件定義語(yǔ)句的文法描述如下:

    CREATEEVENTeventNameEQUeventExpressionSEMICOLON

    例4原子事件的定義:定義名為“updateJack”的原子事件,監(jiān)測(cè)對(duì)象“Jack”中的數(shù)據(jù)的修改。

    createeventupdateJack=updateJackmodify;

    該定義語(yǔ)句經(jīng)過(guò)語(yǔ)法解析之后,可以得到對(duì)應(yīng)的類(lèi)名UpdateModify和操作對(duì)象名Jack。這些信息封裝在原子事件類(lèi)primitiveEvent中,存入數(shù)據(jù)庫(kù)底層。針對(duì)原子事件建立兩個(gè)索引,分別以“類(lèi)名+操作對(duì)象名”和“事件名”為鍵值。

    在原子事件updateJack已被存入數(shù)據(jù)庫(kù)底層的前提下,當(dāng)用戶(hù)輸入命令“updateJackmodifyage:25;”時(shí),原子事件監(jiān)測(cè)器會(huì)以操作類(lèi)名updateModify和操作對(duì)象名Jack為鍵值在數(shù)據(jù)庫(kù)底層進(jìn)行查找,并成功返回。此時(shí),即表示事件updateJack被監(jiān)測(cè)到。

    2.2復(fù)合事件

    復(fù)合事件的處理往往會(huì)涉及到時(shí)間范圍的限制。與一般主動(dòng)數(shù)據(jù)庫(kù)不同,INMDB中的時(shí)間間隔由子事件來(lái)標(biāo)識(shí),而非絕對(duì)時(shí)間點(diǎn)。在需要使用絕對(duì)時(shí)間點(diǎn)的地方,可以先創(chuàng)建對(duì)應(yīng)的原子事件,對(duì)其進(jìn)行封裝。這樣的設(shè)計(jì)使得INMDB在可擴(kuò)展性方面表現(xiàn)更好。

    按照事件操作符的不同,復(fù)合事件具體可以分為六類(lèi),操作符依據(jù)涉及的子事件個(gè)數(shù)又可分為二元操作符和三元操作符兩大類(lèi)。

    二元操作符對(duì)應(yīng)復(fù)合事件具有如下形式:

    Event=Event1OPEvent2

    具體分為:

    合取:對(duì)應(yīng)操作符為AND,只有當(dāng)Event1、Event2均發(fā)生時(shí),Event才發(fā)生;

    析取:對(duì)應(yīng)操作符為OR,當(dāng)Event1或Event2已發(fā)生時(shí),Event才發(fā)生;

    順序:對(duì)應(yīng)操作符為T(mén)HEN,只有當(dāng)Event1在Event2之前發(fā)生時(shí),Event才發(fā)生;

    二元事件的時(shí)間范圍默認(rèn)為同一事務(wù)中。

    三元操作符對(duì)應(yīng)復(fù)合事件具有如下形式:

    Event=OPEvent2inEvent1,Event3

    Event1,Event3用于標(biāo)記一段時(shí)間間隔。

    具體分為:

    截止:對(duì)應(yīng)操作符為ALL,將指定時(shí)間間隔內(nèi)Event2的所有發(fā)生視為一次發(fā)生,并以此觸發(fā)Event的發(fā)生。

    歷史:對(duì)應(yīng)操作符為mTIMES,只有當(dāng)Event2在指定時(shí)間間隔內(nèi)發(fā)生m次時(shí),Event才發(fā)生。

    否定:對(duì)應(yīng)操作符為NO,只有當(dāng)Event2在指定時(shí)間間隔內(nèi)沒(méi)有發(fā)生時(shí),Event才發(fā)生。

    復(fù)合事件的狀態(tài)隨子事件狀態(tài)的變化而變化。下面將用一個(gè)例子來(lái)大致闡述該過(guò)程。

    例5定義事件instantiationOfA,監(jiān)測(cè)在類(lèi)A創(chuàng)建之后插入其對(duì)象a的行為。

    createeventcreateSchmA=createclassA;

    createeventinsertInstA=insertAa;

    createeventinstantiationOfA=createSchmAtheninsertInstA;

    instantiationOfA為順序復(fù)合事件,該事件雖然是二元復(fù)合事件,卻與三元復(fù)合事件有著相似之處。當(dāng)子事件createSchmA未被監(jiān)測(cè)到時(shí),無(wú)論另一個(gè)子事件insertInstA是否發(fā)生,均不會(huì)影響其狀態(tài)。而createSchmA發(fā)生后,則instantiationOfA被“激活”,開(kāi)始接受insertInstA狀態(tài)的影響。若insertInstA此時(shí)發(fā)生,則instantiationOfA狀態(tài)發(fā)生變化,標(biāo)識(shí)著該復(fù)合事件被監(jiān)測(cè)到,進(jìn)而觸發(fā)主動(dòng)規(guī)則中其他部分的執(zhí)行以及當(dāng)前事件的父事件狀態(tài)的變化。隨后,兩個(gè)子事件的狀態(tài)被重置,以便監(jiān)測(cè)下一次發(fā)生。

    復(fù)合事件與其子事件之間狀態(tài)變化信息的傳遞通過(guò)高級(jí)事件樹(shù)AET(AdvancedEventTree)完成。

    3 高級(jí)事件樹(shù)

    高級(jí)事件樹(shù)AET的設(shè)計(jì)建立在事件樹(shù)的基礎(chǔ)之上。其構(gòu)建基于對(duì)復(fù)合事件定義語(yǔ)句進(jìn)行的語(yǔ)法解析。為了方便對(duì)復(fù)合事件進(jìn)行詞法分析和語(yǔ)法解析以獲得必要的信息,建立事件表達(dá)式的文法描述如下:

    eventExpression:primitiveEventExpression

    |compositeEventExpression

    compositeEventExpression:binaryEventExpression

    |ternaryEventExpression

    binaryEventExpression:eventNameANDeventName

    |eventNameOReventName

    |eventNameTHENeventName

    ternaryEventExpression:ALLeventNameINeventNameCOMMAeventName

    |INT_STRTIMESeventNameINeventNameCOMMAeventName

    |NOeventNameINeventNameCOMMAeventName

    binaryEventExpression表示二元復(fù)合事件,ternaryEventExpression表示三元復(fù)合事件。INT_STR表示整型常量,eventName對(duì)應(yīng)事件名。

    3.1節(jié)點(diǎn)

    AET中的節(jié)點(diǎn)分為葉子節(jié)點(diǎn)和非葉子節(jié)點(diǎn)兩類(lèi)。節(jié)點(diǎn)與事件相對(duì)應(yīng),在INMDB中存儲(chǔ)時(shí)以事件名為索引。事件可以與多條主動(dòng)規(guī)則相關(guān),也可以作為其他復(fù)合事件的子事件。作為子事件時(shí),事件的狀態(tài)將會(huì)對(duì)作為父事件的復(fù)合事件產(chǎn)生影響。對(duì)于順序復(fù)合事件和三元復(fù)合事件,只有特定位置的子事件狀態(tài)改變后,當(dāng)前復(fù)合事件的狀態(tài)才會(huì)發(fā)生變化。因此,存儲(chǔ)相關(guān)復(fù)合事件時(shí),需要依據(jù)當(dāng)前事件的狀態(tài)是否會(huì)對(duì)其造成影響而分類(lèi),分別設(shè)為activeComEvents和passiveComEvents。同時(shí),還需要保存當(dāng)前事件在相關(guān)復(fù)合事件中的位置。

    因此,作為基類(lèi)的Event類(lèi)設(shè)計(jì)如下:

    classEvent{

    private:

    stringeventName;

    mapactiveComEvents;

    //狀態(tài)會(huì)受當(dāng)前事件影響

    mappassiveComEvents;

    //狀態(tài)不受當(dāng)前事件影響

    vectorrelatedRules;

    };

    與事件樹(shù)相同,AET中的葉子節(jié)點(diǎn)表示原子事件。不同之處在于,中間節(jié)點(diǎn)不再只表示待監(jiān)測(cè)復(fù)合事件的子孫事件,而可以表示其他待監(jiān)測(cè)復(fù)合事件。通過(guò)按事件名索引,AET將所有相關(guān)的復(fù)合事件合并在同一顆樹(shù)中,而不是每個(gè)復(fù)合事件都單獨(dú)占用一顆事件樹(shù)。

    設(shè)有以下兩個(gè)復(fù)合事件表達(dá)式:

    (1)A=BANDC

    (2)C=DORE

    用一般的事件樹(shù)表示,如圖1所示。

    圖1 一般事件樹(shù)表示

    用AET表示,如圖2所示。

    圖2 AET表示

    因此,在復(fù)合事件表達(dá)式相同時(shí),AET的空間占用比一般的事件樹(shù)更少。

    原子事件中封裝有對(duì)應(yīng)數(shù)據(jù)操作的類(lèi)名和操作對(duì)象名。例如,createclassA[]; 操作對(duì)應(yīng)的類(lèi)為SchmClassPre,而對(duì)應(yīng)的操作對(duì)象名為A。因此,AET中的葉子節(jié)點(diǎn)設(shè)計(jì)如下:

    classPrimitiveEvent{

    private:

    stringoperationType;

    stringoperationName;

    };

    其中,operationType為事件對(duì)應(yīng)的操作類(lèi)型,而operationName為事件對(duì)應(yīng)的操作對(duì)象名。

    依據(jù)文法描述,復(fù)合事件可以分為二元復(fù)合事件和三元復(fù)合事件兩種。對(duì)于二元復(fù)合事件,其狀態(tài)取決于兩個(gè)子事件的狀態(tài)。同時(shí),子事件對(duì)齊影響方式取決于二元復(fù)合事件的類(lèi)型。因此,二元復(fù)合事件類(lèi)BinaryEvent設(shè)計(jì)如下:

    classBinaryEvent:publicEvent{

    private:

    stringeventType;

    boolleftStatus;

    boolrightStatus;

    stringleftEvent;

    stringrightEvent;

    };

    其中,eventType為事件類(lèi)型,leftEvent和rightEvent分別為左右子事件名。

    考慮到三元復(fù)合事件與二元復(fù)合事件中的順序復(fù)合事件有所類(lèi)似,不妨將事件表達(dá)式E=OPE2inE1,E3中的E2視為待監(jiān)測(cè)事件。截止、歷史和否定復(fù)合事件均需要記錄待監(jiān)測(cè)事件的發(fā)生次數(shù),因此,三元復(fù)合事件類(lèi)TernaryEvent設(shè)計(jì)如下:

    classTernaryEvent:publicBinaryEvent{

    private:

    intmonitoredEventCount;

    inttargetValue;

    stringmonitoredEvent;

    };

    monitoredEventCount記錄待監(jiān)測(cè)事件的發(fā)生次數(shù)。targetValue保存待監(jiān)測(cè)事件的期望發(fā)生次數(shù),在截止復(fù)合事件中默認(rèn)值為-1,歷史復(fù)合事件中與定義語(yǔ)句中相同,而否定復(fù)合事件中其值為0。

    3.2邊

    依據(jù)3.1節(jié)中Event類(lèi)的描述,AET中的邊對(duì)應(yīng)著子事件指向相關(guān)復(fù)合事件的指針。子事件的狀態(tài)變化通過(guò)該指針進(jìn)行傳遞,表現(xiàn)在AET中便是狀態(tài)變化的消息沿葉子節(jié)點(diǎn)一直向上傳遞。

    3.3AET的構(gòu)建

    AET的構(gòu)建過(guò)程,主要分為事件表達(dá)式解析過(guò)程和預(yù)處理過(guò)程。前者主要目的在于通過(guò)事件表達(dá)式的語(yǔ)法解析,生成對(duì)應(yīng)的事件類(lèi);而后者的主要目的在于建立起新的事件與數(shù)據(jù)庫(kù)中已有事件之間的關(guān)系。

    在INMDB中,事件定義語(yǔ)句具有如下形式:

    createeventeventName=eventExpression;

    語(yǔ)法解析過(guò)程中,對(duì)該定義語(yǔ)句進(jìn)行處理,可以獲得當(dāng)前事件的事件名。對(duì)于復(fù)合事件,還可獲得其子事件的事件名。結(jié)合前文中事件表達(dá)式的文法描述,便可構(gòu)建出相應(yīng)的Event類(lèi)。

    在預(yù)處理過(guò)程中,借助INMDB底層提供的查詢(xún)接口[14],按照子事件名進(jìn)行查找,找到復(fù)合事件對(duì)應(yīng)的子事件,并依據(jù)復(fù)合事件的類(lèi)型修改子事件中的activeComEvents或者passiveComEvents,從而將新的復(fù)合事件添加到INMDB中。該過(guò)程的AET表示,如圖3、圖4所示。

    圖3 AET構(gòu)建前

    圖4 AET構(gòu)建后

    4 復(fù)合事件監(jiān)測(cè)算法

    如第3節(jié)所述,事件定義語(yǔ)句中所包含的信息經(jīng)過(guò)語(yǔ)法解析后,用于構(gòu)造對(duì)應(yīng)的Event類(lèi),并存入數(shù)據(jù)庫(kù)底層。INMDB中的所有Event類(lèi)彼此關(guān)聯(lián),形成一棵完整的AET。PrimitiveEvent類(lèi)是它的葉子節(jié)點(diǎn),而B(niǎo)inaryEvent類(lèi)及其子類(lèi)對(duì)應(yīng)的事件則通過(guò)共同的子事件相關(guān)聯(lián),作為中間節(jié)點(diǎn),并且其中有一部分會(huì)成為AET的根節(jié)點(diǎn)。

    當(dāng)數(shù)據(jù)操作命令輸入時(shí),可以通過(guò)語(yǔ)法解析獲取操作類(lèi)型對(duì)應(yīng)的類(lèi)名operationType和操作對(duì)象名operationName。通過(guò)在數(shù)據(jù)庫(kù)中進(jìn)行查找,可以確定是否存在對(duì)應(yīng)的原子事件。如果能找到,則證明原子事件被監(jiān)測(cè)到。

    此后的處理方式與復(fù)合事件被監(jiān)測(cè)到之后相同,即,將事件發(fā)生的消息傳遞給所有相關(guān)的父事件,即activeComEvents,并根據(jù)在父事件中的位置而做出不同的處理。設(shè)該部分對(duì)應(yīng)函數(shù)為invoke(),用算法描述如下:

    Input:Event中的activeComEvents

    Output:無(wú)

    FORactiveComEvents中的每個(gè)activeComEvent

    //即對(duì)

    IFactiveComEvent.second==left:

    //置對(duì)應(yīng)的左事件狀態(tài)為true

    activeComEvent.first.leftStatus=true

    ENDIF

    IFactiveComEvent.second==right

    //置對(duì)應(yīng)的右事件狀態(tài)為true

    activeComEvent.first.rightStatus=true

    ENDIF

    IFactiveComEvent.second==middle

    //將待監(jiān)測(cè)事件的計(jì)數(shù)增1

    ++activeComEvent.first.monitoredEventCount

    ENDIF

    ENDFOR

    復(fù)合事件的監(jiān)測(cè)建立在子事件被監(jiān)測(cè)到的基礎(chǔ)之上,而不同類(lèi)型的復(fù)合事件的監(jiān)測(cè)算法又有所不同。在介紹復(fù)合事件監(jiān)測(cè)算法前,引入兩個(gè)輔助函數(shù),activateIn(subEvent)和deactivateIn(subEvent)。前者的功能為將當(dāng)前復(fù)合事件從指定子事件的passiveComEvents轉(zhuǎn)移到activeComEvents中。后者反之。

    當(dāng)復(fù)合事件被監(jiān)測(cè)到之后,用于表示其子事件狀態(tài)的leftStatus、rightStatus等均被重置,以便等待下一次發(fā)生。

    4.1二元復(fù)合事件

    二元復(fù)合事件可以分為三類(lèi):合取復(fù)合事件、析取復(fù)合事件以及順序復(fù)合事件。

    依據(jù)2.2節(jié)中的定義,當(dāng)且僅當(dāng)左右子樹(shù)對(duì)應(yīng)的事件均被監(jiān)測(cè)到時(shí),合取復(fù)合事件才被監(jiān)測(cè)到;而只要左右子樹(shù)對(duì)應(yīng)的事件有一個(gè)被監(jiān)測(cè)到,則析取復(fù)合事件就被監(jiān)測(cè)到。

    順序復(fù)合事件相對(duì)較為復(fù)雜。對(duì)于形如Event1THENEvent2的順序復(fù)合事件,只有兩個(gè)子事件按順序發(fā)生時(shí),順序復(fù)合事件才被監(jiān)測(cè)到。即,若Event1未發(fā)生,則Event2的發(fā)生對(duì)復(fù)合事件而言沒(méi)有意義。該狀態(tài)可以通過(guò)將順序復(fù)合事件置于Event2對(duì)應(yīng)事件類(lèi)的成員passiveComEvents中來(lái)表示。當(dāng)且僅當(dāng)Event1發(fā)生之后,Event2才被“激活”,從而能夠影響復(fù)合事件的狀態(tài)。相對(duì)應(yīng)地,通過(guò)調(diào)用activateIn(Event2),順序復(fù)合事件從passiveComEvents轉(zhuǎn)移到activeComEvents中。

    根據(jù)上述分析,可以設(shè)計(jì)出二元復(fù)合事件的監(jiān)測(cè)算法如下:

    Input:BinaryEvent

    Output: 無(wú)

    SWITCHeventType:

    CASEconjunction:

    IFleftStatus&&rightStatus:

    當(dāng)前復(fù)合事件被監(jiān)測(cè)到

    invoke(activeComEvents)

    //重置子事件狀態(tài),等待下一次發(fā)生

    leftStatus=false

    rightStatus=false

    ENDIF

    CASEdisjunction:

    IFleftStatus||rightStatus

    當(dāng)前復(fù)合事件被監(jiān)測(cè)到

    invoke(activeComEvents)

    //重置子事件狀態(tài),等待下一次發(fā)生

    leftStatus=false

    rightStatus=false

    ENDIF

    CASEsequence:

    IFleftStaus

    //在右子樹(shù)中激活

    activateIn(rightEvent)

    ENDIF

    IFrightStatus

    當(dāng)前復(fù)合事件被監(jiān)測(cè)到

    invoke(activeComEvents)

    //重置子事件狀態(tài),等待下一次發(fā)生

    leftStatus=false

    rightStatus=false

    deactivateIn(rightEvent)

    ENDIF

    4.2三元復(fù)合事件

    三元復(fù)合事件主要用于監(jiān)測(cè)指定時(shí)間間隔內(nèi),特定事件的發(fā)生次數(shù)。其左右子事件分別標(biāo)記這段時(shí)間間隔的開(kāi)始與結(jié)束,而三元復(fù)合事件類(lèi)中的monitoredEvent成員則對(duì)應(yīng)特定事件。因此,只有當(dāng)左子事件發(fā)生之后,待監(jiān)測(cè)事件與右子事件才被“激活”。同樣,該步驟用activateIn()函數(shù)的調(diào)用來(lái)表示。

    依據(jù)monitoredEvent發(fā)生次數(shù)的不同,三元復(fù)合事件可以分為截止復(fù)合事件、歷史復(fù)合事件和否定復(fù)合事件三類(lèi)。指定時(shí)間間隔內(nèi)只要monitoredEvent發(fā)生,截止復(fù)合事件就被監(jiān)測(cè)到;反之,若monitoredEvent沒(méi)有發(fā)生,則否定復(fù)合事件被監(jiān)測(cè)到。而只有當(dāng)monitoredEvent發(fā)生指定次數(shù)時(shí),歷史復(fù)合事件才會(huì)被監(jiān)測(cè)到。

    三者均需要統(tǒng)計(jì)monitoredEvent的發(fā)生次數(shù),用統(tǒng)一的成員變量monitoredEventCount來(lái)保存該值。特別地,歷史復(fù)合事件中還需用targetValue來(lái)保存指定的monitoredEvent發(fā)生次數(shù)。

    根據(jù)上述分析,可以設(shè)計(jì)出三元復(fù)合事件的監(jiān)測(cè)算法如下:

    Input:TernaryEvent

    Outpu: 無(wú)

    IFleftStatus

    activateIn(monitoredEvent)

    activateIn(rightEvent)

    ENDIF

    IFrightStatus

    SWITCHeventType

    CASEclosure

    IFmonitoredEventCount> 0

    當(dāng)前復(fù)合事件被監(jiān)測(cè)到

    invoke(activateComEvents)

    ENDIF

    CASEhistory

    CASEnot

    IFmonitoredEventCount==targetValue

    當(dāng)前復(fù)合事件被監(jiān)測(cè)到

    invoke(activateComEvents)

    ENDIF

    //重置子事件狀態(tài),等待下一次發(fā)生

    leftStatus=false

    monitoredEventCount= 0

    rightStatus=false

    deactivateIn(monitoredEvent)

    deactivateIn(rightEvent)

    ENDIF

    5 實(shí) 驗(yàn)

    目前的主流研究方向集中在有限狀態(tài)自動(dòng)機(jī)和Petri網(wǎng)上,因此,為了測(cè)試AET在復(fù)合事件監(jiān)測(cè)方面的性能,本文使用INMDB與SAMOS(采用Petri網(wǎng))和ODE(采用狀態(tài)機(jī))進(jìn)行比較。測(cè)試指標(biāo)為處理相同復(fù)合事件定義語(yǔ)句所需要的時(shí)間。本文中用到的測(cè)試環(huán)境為Intel(R)Xeon(R)CPUE5-2407v2 @2.40GHz,memory3GB,RedHatEnterpriseLinuxServerrelease6.4 (Santiago)。

    5.1數(shù)據(jù)與實(shí)驗(yàn)設(shè)計(jì)

    我們通過(guò)批量處理復(fù)合事件定義語(yǔ)句來(lái)計(jì)算其平均時(shí)間。因?yàn)閺?fù)合事件的處理極為耗時(shí),實(shí)驗(yàn)主要測(cè)試了百、千、萬(wàn)級(jí)別的復(fù)合事件定義語(yǔ)句的處理時(shí)間。該時(shí)間取5次處理的平均值。每次處理前,數(shù)據(jù)庫(kù)中都只有必要的原子事件。

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

    表1和圖5分別記錄了不同數(shù)據(jù)庫(kù)處理相同數(shù)量的復(fù)合事件定義語(yǔ)句的總時(shí)間和平均時(shí)間。

    表1 復(fù)合事件定義語(yǔ)句總處理時(shí)間   單位:s

    圖5 復(fù)合事件平均處理時(shí)間/ms

    5.3結(jié)果分析

    表1中的數(shù)據(jù)為多次實(shí)驗(yàn)的平均值,最大限度地排除了偶然誤差。從數(shù)據(jù)來(lái)看,處理100條復(fù)合事件時(shí),INMDB只需2.451s,而SAMOS則需要7.193s,ODE更是耗時(shí)達(dá)14.387s。類(lèi)似的情況也出現(xiàn)在處理千、萬(wàn)級(jí)別數(shù)量的復(fù)合事件定義語(yǔ)句時(shí)。因此,可以認(rèn)為,處理相同數(shù)量的復(fù)合事件定義語(yǔ)句,INMDB耗時(shí)比SAMOS和ODE更少。將復(fù)合事件定義語(yǔ)句總處理時(shí)間轉(zhuǎn)換為平均處理時(shí)間,用圖5中的柱狀圖表示,可以直觀地看出三者之間的性能差異。

    綜上所述,實(shí)驗(yàn)結(jié)果表明,單位時(shí)間內(nèi),INMDB能處理的復(fù)合事件語(yǔ)句數(shù)量比SAMOS和ODE更多,充分體現(xiàn)了AET在復(fù)合事件監(jiān)測(cè)方面的優(yōu)越性。

    6 結(jié) 語(yǔ)

    本文綜合分析對(duì)比了各種主流復(fù)合事件監(jiān)測(cè)算法之后,選擇了事件樹(shù)作為基礎(chǔ),提出了AET的概念,并以此為模型在INMDB現(xiàn)有基礎(chǔ)之上設(shè)計(jì)并實(shí)現(xiàn)了復(fù)合事件監(jiān)測(cè)機(jī)制。經(jīng)過(guò)實(shí)驗(yàn)對(duì)比,該模型在單位時(shí)間內(nèi)處理復(fù)合事件的效率比主流的有限狀態(tài)自動(dòng)機(jī)和Petri網(wǎng)更為出色。

    事件監(jiān)測(cè)是主動(dòng)規(guī)則中最重要的一部分,而復(fù)合事件監(jiān)測(cè)更是重中之重。該部分的順利完成為INMDB中整個(gè)主動(dòng)機(jī)制的實(shí)現(xiàn)打下了堅(jiān)實(shí)的基礎(chǔ)。放眼未來(lái),分布式是數(shù)據(jù)庫(kù)發(fā)展的主流。目前的復(fù)合事件監(jiān)測(cè)機(jī)制主要針對(duì)單機(jī)環(huán)境,因此,下一步的工作是在保持單機(jī)環(huán)境下事件處理優(yōu)勢(shì)的前提下,實(shí)現(xiàn)分布式環(huán)境下的復(fù)合事件監(jiān)測(cè)。

    [1]PatonNW,DíazO.Activedatabasesystems[J].ACMComputingSurveys(CSUR),1999,31(1):63-103.

    [2] 郝忠孝.主動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)理論基礎(chǔ)[M].北京:科學(xué)出版社,2009.

    [3] 蔡學(xué)鏞.輕松理解復(fù)合事件處理[J].程序員,2010(6):112-113.

    [4]GatziuS,DittrichKR.SAMOS:Anactiveobject-orienteddatabasesystem[J].IEEEDataEng.Bull.,1992,15(1-4):23-26.

    [5]AlShaerE,AbdelWahabH,MalyK.Hifi:Anewmonitoringarchitecturefordistributedsystemsmanagement[C]//DistributedComputingSystems,1999.Proceedings.19thIEEEInternationalConferenceon.IEEE,1999:171-178.

    [6]GehaniNH,JagadishHV.OdeasanActiveDatabase:ConstraintsandTriggers[C]//Proceedingsofthe17thInternationalConferenceonVeryLargeDataBases,Barcelona,Catalonia,Spain, 1991.SanFrancisco,California,USA:MorganKaufmann,1991:327-336.

    [7]AgrawalJ,DiaoY,GyllstromD,etal.Efficientpatternmatchingovereventstreams[C]//Proceedingsofthe2008ACMSIGMODinternationalconferenceonManagementofdata.ACM,2008:147-160.

    [8]GruberRE,KrishnamurthyB,PanagosE.ThearchitectureoftheREADYeventnotificationservice[C]//Proceedingsofthe19thInternationalConferenceonDistributedComputingSystems,Austin,TX,USA,1999.Washington,DC,USA:IEEE,1999:0108.

    [9]MeiY,MaddenS.Zstream:acost-basedqueryprocessorforadaptivelydetectingcompositeevents[C]//Proceedingsofthe2009ACMSIGMODInternationalConferenceonManagementofdata.ACM,2009:193-206.

    [10]ChakravarthyS,MishraD.Snoop:Anexpressiveeventspecificationlanguageforactivedatabases[J].Data&KnowledgeEngineering,1994,14(1):1-26.

    [11]GeppertA,TombrosD.Event-baseddistributedworkflowexecutionwithEVE[C]//Middleware’98.SpringerLondon,1998:427-442.

    [12]LiuM,HuJ.Informationnetworkingmodel[M]//ConceptualModeling-ER2009.SpringerBerlinHeidelberg,2009:131-144.

    [13] 徐倩,胡婕,劉夢(mèng)赤.復(fù)雜語(yǔ)義關(guān)系的描述與操作[J].計(jì)算機(jī)科學(xué)與探索,2014,8(12):1432-1441.

    [14] 金錚,劉夢(mèng)赤,胡婕.信息網(wǎng)數(shù)據(jù)庫(kù)管理系統(tǒng)的查詢(xún)優(yōu)化[J].計(jì)算機(jī)科學(xué)與探索,2015,9(3):300-309.

    DESIGNANDIMPLEMENTATIONOFCOMPOSITEEVENTSDETECTIONMECHANISMININMDB

    HeHongdaLiuMengchi

    (SchoolofComputer,WuhanUniversity,Wuhan430072,Hubei,China)

    Formostactivedatabasesystem,it’sdifficulttodetectcompositeevent.ThepaperintroducesthecompositeeventdetectingmechanisminINMDBmanagementsystem,describesindetailtheideaofusingeventtreemodeltodetectcompositeevents,andprovidesspecificalgorithmicimplementationaswell.Accordingtotheanalysis,thisalgorithmisbetterthanfiniteautomatonandPetrinets,whicharemuchmorecommon,inbothrunningefficiencyandmemoryoccupation.

    Informationnetworkmodel(INM)ActivedatabasesCompositeeventsdetectionEventtree

    2015-07-20。賀宏達(dá),碩士,主研領(lǐng)域:數(shù)據(jù)庫(kù)技術(shù)。劉夢(mèng)赤,教授。

    TP

    ADOI:10.3969/j.issn.1000-386x.2016.10.010

    猜你喜歡
    語(yǔ)句定義對(duì)象
    神秘來(lái)電
    睿士(2023年2期)2023-03-02 02:01:09
    重點(diǎn):語(yǔ)句銜接
    攻略對(duì)象的心思好難猜
    意林(2018年3期)2018-03-02 15:17:24
    精彩語(yǔ)句
    基于熵的快速掃描法的FNEA初始對(duì)象的生成方法
    成功的定義
    山東青年(2016年1期)2016-02-28 14:25:25
    區(qū)間對(duì)象族的可鎮(zhèn)定性分析
    如何搞定語(yǔ)句銜接題
    修辭學(xué)的重大定義
    山的定義
    热re99久久精品国产66热6| 久久久久国产网址| 国产大屁股一区二区在线视频| 99热这里只有是精品50| 精品久久久噜噜| 国产又色又爽无遮挡免| 男人添女人高潮全过程视频| 另类亚洲欧美激情| 免费av不卡在线播放| 女性生殖器流出的白浆| 人妻夜夜爽99麻豆av| 两个人的视频大全免费| 亚洲成人av在线免费| 国产黄片美女视频| 亚洲丝袜综合中文字幕| 日本欧美视频一区| 韩国高清视频一区二区三区| a级毛色黄片| 亚洲av综合色区一区| 亚洲av在线观看美女高潮| 国产日韩欧美在线精品| a级一级毛片免费在线观看| 亚洲精品一二三| 亚洲欧美日韩东京热| 日本免费在线观看一区| 国产精品偷伦视频观看了| 三级国产精品欧美在线观看| 亚洲欧美精品自产自拍| 欧美日韩一区二区视频在线观看视频在线| 边亲边吃奶的免费视频| 99久久中文字幕三级久久日本| 免费大片18禁| 久久人人爽人人片av| 在线观看免费视频网站a站| 欧美xxⅹ黑人| 亚洲欧洲日产国产| 国产成人aa在线观看| 国产色婷婷99| 男的添女的下面高潮视频| 大码成人一级视频| 黄色视频在线播放观看不卡| 在线观看一区二区三区激情| 亚洲激情五月婷婷啪啪| 亚洲精品乱久久久久久| 大香蕉97超碰在线| 在线观看人妻少妇| av天堂中文字幕网| 边亲边吃奶的免费视频| 亚洲内射少妇av| 精品一区二区三区视频在线| 国产又色又爽无遮挡免| 国产精品国产三级专区第一集| 夫妻午夜视频| 午夜激情福利司机影院| 小蜜桃在线观看免费完整版高清| 欧美精品一区二区大全| 少妇的逼好多水| 在线 av 中文字幕| 少妇的逼水好多| 日韩欧美 国产精品| 日韩中文字幕视频在线看片 | 国产伦在线观看视频一区| 在线天堂最新版资源| 久久99精品国语久久久| 26uuu在线亚洲综合色| 爱豆传媒免费全集在线观看| 国产精品女同一区二区软件| 大香蕉97超碰在线| 午夜激情福利司机影院| 欧美 日韩 精品 国产| 国产色婷婷99| 看免费成人av毛片| 欧美三级亚洲精品| 国产永久视频网站| 欧美日韩精品成人综合77777| 国产男女内射视频| 日日摸夜夜添夜夜爱| 国语对白做爰xxxⅹ性视频网站| 老司机影院成人| 如何舔出高潮| 欧美97在线视频| 人妻制服诱惑在线中文字幕| 国产爱豆传媒在线观看| av播播在线观看一区| 七月丁香在线播放| 丰满迷人的少妇在线观看| 亚洲欧美日韩卡通动漫| 最近手机中文字幕大全| 在线免费观看不下载黄p国产| 高清毛片免费看| 免费看不卡的av| 秋霞在线观看毛片| 国产免费视频播放在线视频| 能在线免费看毛片的网站| av天堂中文字幕网| 国产精品偷伦视频观看了| 日韩伦理黄色片| 成人18禁高潮啪啪吃奶动态图 | 久久久精品免费免费高清| 夫妻性生交免费视频一级片| 欧美亚洲 丝袜 人妻 在线| 欧美bdsm另类| 国产一区亚洲一区在线观看| 一级二级三级毛片免费看| 亚洲欧美日韩卡通动漫| 亚洲国产精品成人久久小说| 成年av动漫网址| 久久这里有精品视频免费| 人人妻人人澡人人爽人人夜夜| 亚洲精品自拍成人| 国产成人免费观看mmmm| 欧美一区二区亚洲| 久久久久网色| av黄色大香蕉| 国产成人freesex在线| 欧美精品人与动牲交sv欧美| 3wmmmm亚洲av在线观看| 亚洲四区av| 亚洲丝袜综合中文字幕| 看非洲黑人一级黄片| 亚洲成人手机| 涩涩av久久男人的天堂| 男人舔奶头视频| 超碰av人人做人人爽久久| 欧美成人精品欧美一级黄| 亚洲精品aⅴ在线观看| 精品久久久久久久久av| 免费看日本二区| 波野结衣二区三区在线| 麻豆国产97在线/欧美| 亚洲人与动物交配视频| h日本视频在线播放| 爱豆传媒免费全集在线观看| 亚洲成人一二三区av| 亚洲经典国产精华液单| 黑人猛操日本美女一级片| 色视频www国产| 国产在线免费精品| 日本猛色少妇xxxxx猛交久久| 韩国av在线不卡| 人妻制服诱惑在线中文字幕| 国产成人精品婷婷| 中文字幕制服av| 一级毛片黄色毛片免费观看视频| 噜噜噜噜噜久久久久久91| 美女视频免费永久观看网站| 国产成人精品久久久久久| 色哟哟·www| 美女高潮的动态| 亚洲国产日韩一区二区| 亚洲熟女精品中文字幕| 王馨瑶露胸无遮挡在线观看| 人人妻人人看人人澡| 婷婷色综合大香蕉| 亚洲欧美中文字幕日韩二区| 国产精品一区二区三区四区免费观看| 夫妻午夜视频| 久久精品国产a三级三级三级| 大话2 男鬼变身卡| 久久6这里有精品| 国产亚洲av片在线观看秒播厂| 精品人妻偷拍中文字幕| 久久精品久久精品一区二区三区| 久久国产精品男人的天堂亚洲 | 极品教师在线视频| 久久久久久九九精品二区国产| 免费大片18禁| 欧美97在线视频| 国产精品无大码| 一区二区三区乱码不卡18| 国产伦精品一区二区三区四那| 欧美精品一区二区免费开放| 成年人午夜在线观看视频| 亚洲无线观看免费| 爱豆传媒免费全集在线观看| 日韩一区二区三区影片| 亚洲第一区二区三区不卡| 亚洲精品国产成人久久av| 亚洲精品国产av蜜桃| 男女免费视频国产| 成人特级av手机在线观看| 亚洲国产成人一精品久久久| 日韩一本色道免费dvd| 久久6这里有精品| 一级爰片在线观看| av国产免费在线观看| 大香蕉97超碰在线| 久久精品国产亚洲av涩爱| 色吧在线观看| 国产v大片淫在线免费观看| 日本免费在线观看一区| 久久综合国产亚洲精品| 伊人久久国产一区二区| 欧美精品一区二区免费开放| av女优亚洲男人天堂| 尾随美女入室| 中文精品一卡2卡3卡4更新| 婷婷色av中文字幕| 欧美精品人与动牲交sv欧美| 丰满少妇做爰视频| 日韩国内少妇激情av| 国产一区亚洲一区在线观看| 免费看av在线观看网站| 亚洲精品aⅴ在线观看| 一区二区三区四区激情视频| 国产免费又黄又爽又色| 亚洲怡红院男人天堂| 最近的中文字幕免费完整| 性高湖久久久久久久久免费观看| 激情 狠狠 欧美| 极品少妇高潮喷水抽搐| 一区二区三区精品91| 丰满少妇做爰视频| 久久鲁丝午夜福利片| 久久人人爽人人爽人人片va| av黄色大香蕉| 精品国产乱码久久久久久小说| 国产片特级美女逼逼视频| 亚洲欧美日韩东京热| 久久久国产一区二区| 亚洲av不卡在线观看| 久久久久久九九精品二区国产| 久久 成人 亚洲| 亚洲av中文字字幕乱码综合| 日韩三级伦理在线观看| 极品教师在线视频| 免费高清在线观看视频在线观看| 亚洲国产精品成人久久小说| 网址你懂的国产日韩在线| 男女国产视频网站| 日韩视频在线欧美| 日日撸夜夜添| 久久99热6这里只有精品| 肉色欧美久久久久久久蜜桃| 国产免费视频播放在线视频| 亚洲精华国产精华液的使用体验| 国产亚洲91精品色在线| 欧美成人午夜免费资源| 日本av免费视频播放| 国产片特级美女逼逼视频| 看十八女毛片水多多多| 一级毛片久久久久久久久女| 国产午夜精品一二区理论片| 99久久中文字幕三级久久日本| 热re99久久精品国产66热6| 欧美xxⅹ黑人| videossex国产| 亚洲国产精品999| 大码成人一级视频| 涩涩av久久男人的天堂| 亚洲欧洲国产日韩| 99热全是精品| 22中文网久久字幕| 99久久精品国产国产毛片| 国产成人freesex在线| 免费久久久久久久精品成人欧美视频 | 午夜激情久久久久久久| 国产老妇伦熟女老妇高清| 亚洲在久久综合| 高清av免费在线| 国产深夜福利视频在线观看| 日韩中字成人| 成人二区视频| 亚洲激情五月婷婷啪啪| 好男人视频免费观看在线| 丝袜喷水一区| 色网站视频免费| 亚洲怡红院男人天堂| 久久午夜福利片| 国产精品久久久久久久久免| 日韩欧美一区视频在线观看 | 纵有疾风起免费观看全集完整版| 夜夜骑夜夜射夜夜干| 欧美人与善性xxx| 麻豆国产97在线/欧美| 99久久人妻综合| 国产精品无大码| 国产片特级美女逼逼视频| 丝瓜视频免费看黄片| 日本与韩国留学比较| 精品一区二区三区视频在线| 插逼视频在线观看| 高清不卡的av网站| 一个人看视频在线观看www免费| 一级a做视频免费观看| 老熟女久久久| 日韩精品有码人妻一区| 中文字幕制服av| 日产精品乱码卡一卡2卡三| 男人和女人高潮做爰伦理| 久久女婷五月综合色啪小说| 一区二区三区四区激情视频| 不卡视频在线观看欧美| 丝瓜视频免费看黄片| 亚洲精品久久久久久婷婷小说| 亚洲va在线va天堂va国产| www.av在线官网国产| 丰满迷人的少妇在线观看| 在线观看免费视频网站a站| 美女国产视频在线观看| 内地一区二区视频在线| 日韩伦理黄色片| 天堂俺去俺来也www色官网| 中文天堂在线官网| 国产精品久久久久久精品电影小说 | 夫妻午夜视频| 成人一区二区视频在线观看| 国产国拍精品亚洲av在线观看| 中文字幕人妻熟人妻熟丝袜美| 精品久久久久久久久亚洲| 99热这里只有是精品在线观看| 国产爱豆传媒在线观看| 国产人妻一区二区三区在| 亚洲第一区二区三区不卡| 亚洲高清免费不卡视频| 久久鲁丝午夜福利片| 国产精品精品国产色婷婷| 美女中出高潮动态图| 一本色道久久久久久精品综合| 蜜桃久久精品国产亚洲av| 国产午夜精品久久久久久一区二区三区| 狂野欧美激情性bbbbbb| 午夜福利高清视频| 丝袜脚勾引网站| 寂寞人妻少妇视频99o| 一区二区三区乱码不卡18| 亚洲经典国产精华液单| 美女内射精品一级片tv| 一个人看的www免费观看视频| 国产黄片视频在线免费观看| 看免费成人av毛片| 国产成人免费无遮挡视频| 十八禁网站网址无遮挡 | 久久人人爽人人片av| 22中文网久久字幕| 51国产日韩欧美| av网站免费在线观看视频| 国模一区二区三区四区视频| 国产伦精品一区二区三区四那| 午夜福利高清视频| 毛片一级片免费看久久久久| 欧美激情极品国产一区二区三区 | 亚洲经典国产精华液单| 精品久久久久久久末码| 国产白丝娇喘喷水9色精品| 国精品久久久久久国模美| 一个人看视频在线观看www免费| 我要看日韩黄色一级片| 日韩在线高清观看一区二区三区| 我要看日韩黄色一级片| 伦精品一区二区三区| 18禁在线播放成人免费| 亚洲在久久综合| 一级毛片久久久久久久久女| 内射极品少妇av片p| 18禁在线播放成人免费| 一个人看视频在线观看www免费| 超碰av人人做人人爽久久| 精品亚洲成国产av| 婷婷色麻豆天堂久久| 午夜免费鲁丝| 亚洲精品国产av蜜桃| 久久久久久久久久人人人人人人| 久久久久人妻精品一区果冻| 又黄又爽又刺激的免费视频.| 又大又黄又爽视频免费| 在线 av 中文字幕| a级一级毛片免费在线观看| 日本av免费视频播放| 亚洲va在线va天堂va国产| 人人妻人人看人人澡| 久久久久精品久久久久真实原创| a 毛片基地| 女性生殖器流出的白浆| 夫妻午夜视频| 直男gayav资源| 久久99蜜桃精品久久| 夜夜骑夜夜射夜夜干| 亚洲性久久影院| 亚洲自偷自拍三级| 国产精品久久久久久久久免| 亚洲欧美一区二区三区黑人 | 一区在线观看完整版| 国产淫片久久久久久久久| 黄色配什么色好看| 一级a做视频免费观看| 国产精品伦人一区二区| 亚洲第一区二区三区不卡| 国产综合精华液| 久久久久久久亚洲中文字幕| xxx大片免费视频| 亚洲三级黄色毛片| av一本久久久久| 熟女av电影| 久久人人爽av亚洲精品天堂 | 好男人视频免费观看在线| 国产男女超爽视频在线观看| 国产精品久久久久成人av| 天堂中文最新版在线下载| 女性被躁到高潮视频| 欧美精品人与动牲交sv欧美| a级毛色黄片| 国产一区二区三区av在线| 国产一级毛片在线| 国产精品秋霞免费鲁丝片| 日日啪夜夜爽| 亚洲精品乱久久久久久| 久热这里只有精品99| 日韩强制内射视频| 国产伦在线观看视频一区| 最近中文字幕高清免费大全6| 国产一区二区三区综合在线观看 | av.在线天堂| 久久久色成人| 两个人的视频大全免费| 国语对白做爰xxxⅹ性视频网站| 99re6热这里在线精品视频| 国产黄片视频在线免费观看| 女性生殖器流出的白浆| 成人无遮挡网站| 在线天堂最新版资源| 亚洲欧美日韩卡通动漫| 人妻一区二区av| 超碰av人人做人人爽久久| 国产精品不卡视频一区二区| 国产高清国产精品国产三级 | 王馨瑶露胸无遮挡在线观看| 午夜福利在线观看免费完整高清在| 我要看黄色一级片免费的| av在线蜜桃| 狂野欧美激情性bbbbbb| 亚洲美女黄色视频免费看| 亚洲av不卡在线观看| 精品国产三级普通话版| 国产精品麻豆人妻色哟哟久久| 午夜激情久久久久久久| 欧美日本视频| 久久97久久精品| .国产精品久久| 毛片女人毛片| 婷婷色麻豆天堂久久| 国产精品伦人一区二区| 少妇人妻久久综合中文| 国产免费又黄又爽又色| 国产视频首页在线观看| www.av在线官网国产| 欧美bdsm另类| 新久久久久国产一级毛片| 久久人人爽人人爽人人片va| 久久亚洲国产成人精品v| 欧美亚洲 丝袜 人妻 在线| 人妻系列 视频| 国产精品国产三级专区第一集| 亚洲精品456在线播放app| 亚洲av成人精品一二三区| 免费黄频网站在线观看国产| 免费av中文字幕在线| 麻豆成人av视频| av卡一久久| 永久网站在线| 日韩一区二区三区影片| 少妇人妻 视频| 国产成人a区在线观看| 国国产精品蜜臀av免费| 国产一区二区三区综合在线观看 | 三级国产精品欧美在线观看| 国产精品一二三区在线看| 精品国产乱码久久久久久小说| 99久久人妻综合| 国产男人的电影天堂91| 97超碰精品成人国产| 久久99热这里只频精品6学生| 国产男女超爽视频在线观看| 国产成人一区二区在线| 91在线精品国自产拍蜜月| 成人亚洲欧美一区二区av| 国产老妇伦熟女老妇高清| 汤姆久久久久久久影院中文字幕| 精品99又大又爽又粗少妇毛片| 国产精品国产三级国产av玫瑰| 成人午夜精彩视频在线观看| av国产精品久久久久影院| av天堂中文字幕网| 精品人妻熟女av久视频| 免费观看a级毛片全部| 老师上课跳d突然被开到最大视频| 国产精品免费大片| 久久鲁丝午夜福利片| 18禁在线无遮挡免费观看视频| 亚洲欧美一区二区三区黑人 | 久久久a久久爽久久v久久| 成人特级av手机在线观看| 国产一区二区三区综合在线观看 | 男女啪啪激烈高潮av片| 美女视频免费永久观看网站| 爱豆传媒免费全集在线观看| 在线播放无遮挡| 天天躁日日操中文字幕| 交换朋友夫妻互换小说| 91精品国产九色| 日韩不卡一区二区三区视频在线| 男人添女人高潮全过程视频| 一级二级三级毛片免费看| 亚洲成色77777| 下体分泌物呈黄色| 精华霜和精华液先用哪个| 亚洲国产毛片av蜜桃av| 国产精品精品国产色婷婷| 欧美最新免费一区二区三区| 亚洲欧美一区二区三区国产| 99热国产这里只有精品6| 成人综合一区亚洲| 黄色怎么调成土黄色| 一级毛片黄色毛片免费观看视频| 国产亚洲精品久久久com| 亚洲电影在线观看av| 中文乱码字字幕精品一区二区三区| 国产精品偷伦视频观看了| 精品亚洲乱码少妇综合久久| 国产亚洲午夜精品一区二区久久| 久久鲁丝午夜福利片| 久久国内精品自在自线图片| 大话2 男鬼变身卡| 成年人午夜在线观看视频| 午夜日本视频在线| 九九爱精品视频在线观看| 中国三级夫妇交换| 欧美一级a爱片免费观看看| 亚洲自偷自拍三级| 亚洲,欧美,日韩| 18禁裸乳无遮挡免费网站照片| 日韩av在线免费看完整版不卡| 欧美 日韩 精品 国产| av又黄又爽大尺度在线免费看| 中文资源天堂在线| 18禁裸乳无遮挡免费网站照片| 国产永久视频网站| 成年av动漫网址| 夫妻午夜视频| 网址你懂的国产日韩在线| a 毛片基地| 久久久久精品久久久久真实原创| 精品一品国产午夜福利视频| 色视频在线一区二区三区| 天堂中文最新版在线下载| 妹子高潮喷水视频| 亚洲国产欧美在线一区| 国产探花极品一区二区| 男人和女人高潮做爰伦理| 国产女主播在线喷水免费视频网站| 国产精品久久久久久精品电影小说 | 国产 一区精品| 国产高清视频在线播放一区 | 免费高清在线观看日韩| 高清不卡的av网站| 五月开心婷婷网| 国产成人精品久久二区二区免费| 色94色欧美一区二区| 久久99热这里只频精品6学生| 精品少妇黑人巨大在线播放| 一区二区三区四区激情视频| 美女高潮到喷水免费观看| 国产成人精品久久二区二区免费| 精品久久久久久久毛片微露脸 | 2018国产大陆天天弄谢| 嫁个100分男人电影在线观看 | 1024视频免费在线观看| 狂野欧美激情性bbbbbb| 国产精品国产三级专区第一集| 一区二区三区激情视频| 一区在线观看完整版| 999久久久国产精品视频| 少妇人妻久久综合中文| 国产真人三级小视频在线观看| 日日夜夜操网爽| 国产精品 国内视频| 亚洲伊人色综图| 9色porny在线观看| 亚洲av日韩在线播放| 久久久久久久大尺度免费视频| 欧美中文综合在线视频| 午夜福利在线免费观看网站| 亚洲中文字幕日韩| 777米奇影视久久| 国产在线免费精品| 一级黄色大片毛片| 十分钟在线观看高清视频www| 中文字幕人妻丝袜一区二区| 欧美精品啪啪一区二区三区 | xxx大片免费视频| 黄色一级大片看看| 亚洲精品第二区| 国产成人一区二区三区免费视频网站 | 亚洲欧美精品自产自拍| 每晚都被弄得嗷嗷叫到高潮| 夫妻午夜视频| 最近中文字幕2019免费版| 欧美日韩黄片免| 一边亲一边摸免费视频| 亚洲av电影在线进入| 激情视频va一区二区三区| 91麻豆av在线| 亚洲av日韩精品久久久久久密 | 亚洲人成77777在线视频| 亚洲三区欧美一区| av网站在线播放免费| 人人妻人人澡人人爽人人夜夜| 水蜜桃什么品种好| 成人黄色视频免费在线看| 亚洲图色成人| 午夜久久久在线观看| 亚洲,欧美精品.| 大片免费播放器 马上看| 99国产精品一区二区蜜桃av | 美女中出高潮动态图|