版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國(guó)]-事件處理

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶(hù)提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

簡(jiǎn)介

事件處理是指對(duì)系統(tǒng)中任意發(fā)生的一個(gè)活動(dòng)調(diào)用有關(guān)程序或例程進(jìn)行處理。主要目的是使系統(tǒng)正常運(yùn)行。在操作系統(tǒng),事件處理是經(jīng)常發(fā)生的,因此,事件處理的類(lèi)型有很多,例如中斷是由于系統(tǒng)中某事件引起的,對(duì)中斷進(jìn)行處理就是一種事件處理以及進(jìn)程的調(diào)度也是一種事件處理。

事件在計(jì)算中,事件有多種定義,在計(jì)算機(jī)系統(tǒng)中,事件是指系統(tǒng)中任意一個(gè)活動(dòng)的發(fā)生,其特點(diǎn)有顯著性(發(fā)生在系統(tǒng)感興趣的特定領(lǐng)域),瞬時(shí)性(發(fā)生在一個(gè)特定的時(shí)間點(diǎn))和原子性(發(fā)生或不發(fā)生)。數(shù)據(jù)與事件的發(fā)生緊密聯(lián)系在一起,一些數(shù)據(jù)是所有事件共同的(如發(fā)生的時(shí)間),而另一些則僅特定于某些事件。與事件相關(guān)的數(shù)據(jù)項(xiàng)被稱(chēng)為屬性。事件之間通過(guò)時(shí)間順序、因果關(guān)系、聚合關(guān)系相互聯(lián)系,事件之間的這些聯(lián)系被定義成事件模式。

在進(jìn)程通信中,事件作為一種同步原語(yǔ),是計(jì)算機(jī)科學(xué)中的一種同步機(jī)制,用來(lái)指示等待中的進(jìn)程特定條件已經(jīng)變?yōu)檎?。事件?duì)象一般具有下述操作:

wait - 執(zhí)行中的線(xiàn)程被掛起直到事件為真。如果執(zhí)行wait時(shí)事件已為真,則空操作。

set - 設(shè)置事件狀態(tài)為真,所有等待此事件的進(jìn)程變?yōu)榭烧{(diào)度。

clear - 設(shè)置事件狀態(tài)為假。

在應(yīng)用程序中,事件是可以被控件識(shí)別的操作,如按下確定按鈕,選擇某個(gè)單選按鈕或者復(fù)選框。每一種控件有自己可以識(shí)別的事件,如窗體的加載、單擊、雙擊等事件,編輯框(文本框)的文本改變事件,等等。

事件處理架構(gòu)事件處理架構(gòu)一般由四個(gè)不同的實(shí)體組成:

(1) 事件源:產(chǎn)生的事件通常是原子事件,但也有可能是高層次的事件1。

(2) 事件建模器:定義了事件模式。這些事件模式在事件處理媒介中處理。

(3)事件處理媒介:用于處理事件的平臺(tái) (可能是分布式的) ,提供通道訪(fǎng)問(wèn)來(lái)自事件源的事件數(shù)據(jù),并把處理結(jié)果輸出給事件消費(fèi)者。事件處理媒介為事件的選擇、聚合、層次結(jié)構(gòu)內(nèi)的分類(lèi)、更高層次事件的抽象提供技術(shù)架構(gòu)。事件處理媒介可能是單一的 EPA(單獨(dú)的事件處理組件),也可能是一個(gè)包含了一組 EPA 的分布式事件處理網(wǎng)絡(luò)。

(4) 事件消費(fèi)者:接收來(lái)自事件處理媒介的復(fù)雜事件并通過(guò)反應(yīng)規(guī)則對(duì)其響應(yīng)。事件消費(fèi)者可能會(huì)產(chǎn)生新的事件而作為事件源。

目前復(fù)雜(complexevent process,CEP _解決方案供應(yīng)商提出了幾個(gè)具體的 CEP 的參考架構(gòu)。一些參考架構(gòu)與具體實(shí)施技術(shù)關(guān)聯(lián)性不強(qiáng),而另一些基于具體的解決方案和技術(shù)之上。特定領(lǐng)域的參考模型和元模型也已被提出。 實(shí)際架構(gòu)的某些技術(shù)選擇, 不是由要求本身所決定,而是由當(dāng)時(shí)可選擇的技術(shù)所決定。

事件處理語(yǔ)言的要求事件處理語(yǔ)言描述事件模式,并由相應(yīng)的規(guī)則引擎來(lái)執(zhí)行事件查詢(xún)。事件處理語(yǔ)言的要求可以描述成以下四個(gè)方面(也稱(chēng)為事件查詢(xún)的四個(gè)維度):

(1) 數(shù)據(jù)提?。菏录臄?shù)據(jù)決定是否及如何對(duì)該事件作出響應(yīng)。提取事件中的數(shù)據(jù)作為事件對(duì)象的屬性值,用于查詢(xún)過(guò)程中的條件測(cè)試、創(chuàng)建新的事件對(duì)象或者觸發(fā)相應(yīng)的反應(yīng)。

(2) 事件合成:從若干低層事件對(duì)象中提取屬性值,用于聚合成更高層的復(fù)雜事件。

(3) 時(shí)間(因果)關(guān)系:事件查詢(xún)往往涉及時(shí)間約束,即事件的發(fā)生必須在一個(gè)特定的時(shí)間間隔內(nèi)或按一個(gè)特定的順序。根據(jù) Luckman 提出的因果時(shí)間原理,事件間的因果關(guān)系暗示了事件間的時(shí)間關(guān)系,所以復(fù)雜事件描述語(yǔ)言滿(mǎn)足時(shí)間關(guān)系就能滿(mǎn)足因果關(guān)系。

(4) 事件積累:事件查詢(xún)的非單調(diào)特征,如事件否定(事件未發(fā)生)和一定時(shí)間跨度內(nèi)的事件數(shù)據(jù)聚合對(duì)無(wú)限的事件流是無(wú)意義的,因?yàn)樗鼈冎荒茉谑录鹘Y(jié)束時(shí)才能確定。因此,這類(lèi)查詢(xún)只能針對(duì)特定時(shí)間窗內(nèi)的事件。