(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)事件中間件機(jī)制的研究及corba通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn).pdf_第1頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)事件中間件機(jī)制的研究及corba通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn).pdf_第2頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)事件中間件機(jī)制的研究及corba通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn).pdf_第3頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)事件中間件機(jī)制的研究及corba通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn).pdf_第4頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)事件中間件機(jī)制的研究及corba通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn).pdf_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

摘要 事件中間件為網(wǎng)絡(luò)應(yīng)用提供了基于事件的松耦合通信機(jī)制。通過事件中間件 進(jìn)行集成的網(wǎng)絡(luò)應(yīng)用組件不需要通過全局唯一的標(biāo)識(shí)符進(jìn)行標(biāo)識(shí),組件之間的交 互通過事件中間件進(jìn)行。組件通過事件中間件提供的語法描述自己所需要的事件 的特征,而事件中間件需要將事件分發(fā)給所有的需要該事件的應(yīng)用組件。 已有的基于集中控制模式的事件中間件顯然無法滿足擴(kuò)展性較強(qiáng)的網(wǎng)絡(luò)應(yīng) 用的集成需要。主要原因在于其缺乏適合于進(jìn)行分布組件之間事件路由計(jì)算的方 法。與i p 路由方式不同的是,事件中間件中對事件的路由體現(xiàn)的是一種基于內(nèi) 容的路由或者說是基于語義的路由。在這種路由方式下無法利用全局唯一標(biāo)識(shí)符 對事件的源節(jié)點(diǎn)或者目的節(jié)點(diǎn)進(jìn)行標(biāo)識(shí),而只能依靠對事件進(jìn)行語義解析從而根 據(jù)事件所包含的內(nèi)容的特征來選擇事件的路由。對事件路由方法的研究已經(jīng)成為 當(dāng)前事件中間件的研究熱點(diǎn)。 c o ;a 通告服務(wù)是o m g 組織在事件中間件方面制定的規(guī)范之一。通告服 務(wù)規(guī)范中定義了基于訂閱發(fā)布模式的對象間松耦合通信機(jī)制,并且將各種服務(wù) 質(zhì)量參數(shù)引入到事件傳遞的過程中。通告服務(wù)規(guī)范中還定義了對事件進(jìn)行語義解 析和過濾的相關(guān)接口以及構(gòu)造過濾規(guī)則的語法。這些機(jī)制使通告服務(wù)成為可以為 通告c o r b a 進(jìn)行集成的應(yīng)用組件提供強(qiáng)有力的事件中間件服務(wù)。 本論文首先根據(jù)事件中間件的特征提出了一個(gè)事件中間件模型,通過該模型 對事件中l(wèi) 刨件所涉及的各種技術(shù)進(jìn)行了分類。并且在該模型的指導(dǎo)下完成了對 c o r b a 通告服務(wù)的設(shè)計(jì)和實(shí)現(xiàn)。 在本論文中還提出了兩個(gè)新的算法用來解決事件中間件所面臨的擴(kuò)展性問 題。其中第一個(gè)算法可以完成任意網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下不依賴于全局唯一標(biāo)識(shí)符的事 件路由計(jì)算;第二個(gè)算法則利用標(biāo)記的分配和交換實(shí)現(xiàn)了事件在事件中間件中的 快速轉(zhuǎn)發(fā)。 關(guān)鍵詞:事件中間件、松耦合、事件路由、基于內(nèi)容的路由、語義路由、事件中間件模型、 流標(biāo)識(shí)、事件交換、c o r b a 通告服務(wù) 分類號(hào):t p 3 9 3 n a b s t r a c t e v e n t o r i e n t e d m i d d l e w a r ei s q u i t eu s e f u lf o rb u i l d i n gd i s t r i b u t e da p p l i c a t i o n s f o ri t s a b i l i t yt op r o v i d eah i g h l yd e c o u p l e de v e n t - b a s e dc o m m u n i c a t i o nb e t w e e n c o m p o n e n t s o fd i s t r i b u t e d a p p l i c a t i o n s ,w h i c h a r e i n t e g r a t e db y m e a n so f e v e n t o r i e n t e d - m i d d l e w a r e t h e s e c o m p o n e n t s n e e dn o tt ob ei d e n t i f i e d b y g l o b a l u n i f i e d i d e n t i f i e rs u c ha si p a d d r e s s ,i nf a c tt h e c o m p o n e n t s i d e n t i f v t h e m s e l v e sb ys u b s c r i b i n gt h ek i n d so fe v e n t st h e yn e e do rp u b l i s h i n gt h ek i n do f e v e n t st h e yc a n p r o v i d e e v e n t - o r i e n t e d m i d d l e w a r ew i l lg e te v e n t sa n dt h e nf o r w a r d t h e s ee v e n t st op r o p e rc o m p o n e n t s w h i l e m a j o r i t y o fd e p l o y e de v e n t o r i e n t e d m i d d l e w a r e i ss t i l lc e n t r a l i z e d 1 a r g e s c a l e a n di n t e r n e t - w i d e a p p l i c a t i o n s a r eb e c o m i n gm o r ea n dm o r ep o p u l a r w h e r e a sc e n t r a l i z e dm i d d l e w a r ei so fg o o db e h a v i o ra tas m a l ls c a l e t h e yc a nn o t s u p p o r tl a r g e s c a l ea p p l i c a t i o n s w h i c hw i l lc o n t a i nt h o u s a n d so fc o m p o n e n t sf o r l a c k i n g o fs c a l a b l ee v e n t r o u t i n ga l g o r i t h m e v e n t r o u t i n g o f e v e n t o r i e n t e d m i d d l e w a r ei sd i f f i c u l tb e c a u s ei tc a nn o tu t i l i z eo fg l o b a lu n i f i e d a d d r e s s i n g t o g e t t h e t o p o l o g yo ft h ew h o l es y s t e m o nt h ec o n t r a r yi t m a k e s c o n t e n t b a s e d r o u t i n g w h i c h d e p e n d o nt h e a n a l y z i n go fe v e n t sc o n t e n t a n d f o r w a r dd e c i s i o nw i l lb em a d eb ym a t c h i n gt h ec h a r a c t e r i s t i cw i t ht h en e e do f c o m p o n e n t s i nt h i st h e s i sw eh a sd e s c r i b e dan e wk i n do fe v e n tr o u t i n ga l g o r i t h m w h i c hc a r lw o r kw e l lw i t h o u tt h ek n o w l e d g eo f g l o b a lu n i f i e di d e n t i f i e r w eh a sa l s o d e s c r i b e dan e wk i n do fe v e n tf o r w a r d i n ga l g o r i t h m ,b yt h e u s i n go ff l o w - l a b e l e v e n t sc a nb ef o r w a r d e db e t w e e n c o m p o n e n t sm o r e f a s t e ri na s w i t c h i n gs t y l e o b j e c tm a n a g e m e n tg r o u p ( o m g ) s p e c i f i e dc o r b a n o t i f i c a t i o ns e r v i c et h a t a i m st op r o v i d eam o r ef l e x i b l ee v e n t o r i e n t e d m i d d l e w a r es o l u t i o nt h a nc o r b a e v e n ts e r v i c e t h en o t i f i c a t i o ns e r v i c ep r o v i d e ss e v e r a lc o n f i g u r a b l eq u a i l t yo f s e r v i c e ( q o s ) a n da d m i n i s t r a t i v es e t t i n g s i t a l s od e f i n e dap o w e r f u l g r a m i n a rt o c o n s t r u c te v e n tf i l t e rs t r i n g sa n dt oa n a l y z et h ec o n t e n to f e v e n t s t h i st h e s i sh a s p r e s e n t e d ac o m m o ne v e n t 。o r i e n t e d m i d d l e w a r em o d e lt o p r o v i d eaf r a m e w o r ki nw h i c hv a r i o u sk i n d so ft e c t m i c a ld e s i g n sw i l lb ec l a s s i f i e d i n t om o d u l e sa n db em a d ec o n s i s t e n t w ew i l ld oac l a s s i f i c a t i o nt ot h ei n t e r f a c e s d e f i n e di nc o r b an o t i f j c a t i o ns e r v i c eb yt h i sm o d e l k e yw o r d s :e v e n t o r i e n t e d m i d d l e w a r e ,h i g h l yd e c o u p l e d ,e v e n tr o u t i n g c o n f e n t b a s e d r o u t i n g ,f l o w l a b e l ,c o r b a n o t i f i c a t i o ns e r v i c e l 匿墮奎蘭堡:! :竺竺堡苧 - 墮! 生墾! 生:一 東南大學(xué)學(xué)位論文 獨(dú)創(chuàng)性聲明及使用授權(quán)說明 一、學(xué)位論文獨(dú)創(chuàng)性聲明 本人聲明所呈交的學(xué)位論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得 的研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含 其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得東南大學(xué)或其它教育機(jī)構(gòu) 的學(xué)位或證書而使用的材料。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已 在論文中作了明確的晚明并表示謝意。 關(guān)于學(xué)位論文使用授權(quán)說明 簽名日期:溯 東南大學(xué)、中國科學(xué)技術(shù)信息研究所、國家圖書館有權(quán)保留本人所送交學(xué)位 論文的復(fù)印和電子文檔,可以采用影印、縮印或其他復(fù)制手段保存論文。本人電 子文檔的內(nèi)容和紙質(zhì)論文的內(nèi)容相一致。除在保密期內(nèi)的保密論文外,允許論文 被查閱和借閱,可以公布( 包括刊登) 論文的全部或部分內(nèi)容。論文的公布( 包 括刊登) 授權(quán)東南大學(xué)研究生院辦理。 簽名扯導(dǎo)師簽名 期:絲壘星孑莎 東南大學(xué)碩士學(xué)位論文事件中問件機(jī)制的研究及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 圖2 1 : 圖2 2 : 圖3 1 : 圖3 3 : 圖3 4 : 圖3 5 : 圖3 - 6 : 圖4 1 : 圖4 2 : 圖4 3 : 圖4 4 : 圖4 5 : 圖4 6 : 圖4 7 : 圖4 8 : 圖4 - 9 : 圖4 1 0 : 圖4 1 1 : 圖4 - 1 2 : 圖4 1 3 : 圖4 1 4 : 圖4 1 5 : 圖4 1 6 : 圖4 1 7 : 圖5 1 : 論文插圖索弓 事件中間件模型 事件中間件對事件的處理流程 l o 1 1 條件信息摘要組織形式2 5 全信息摘要的傳遞路徑一 條件信息摘要的傳遞路徑 單純使用條件信息摘要匹配事件轉(zhuǎn)發(fā)延遲 使用流標(biāo)識(shí)時(shí)事件轉(zhuǎn)發(fā)延遲 通告服務(wù)的組成結(jié)構(gòu) 結(jié)構(gòu)化事件 2 5 3 0 3 l 3 2 3 4 3 4 利用邏輯拷貝及引用計(jì)數(shù)減少事件復(fù)制3 8 表示復(fù)雜數(shù)據(jù)類型的 的有限自動(dòng)機(jī)模型4 0 對事件進(jìn)行語義解析的實(shí)現(xiàn)類4 1 過濾規(guī)則按照事件類型重新組織 利用虛擬隊(duì)列管理事件節(jié)點(diǎn)一 4 2 4 3 事件分發(fā)的不同模式4 4 事件分發(fā)的流程 對象之間進(jìn)行傳遞的完整過程 引入本地事件緩存之后對象之間傳遞事件的過程 與事件隊(duì)列相關(guān)的類及其關(guān)系 測試環(huán)境 事件通道的事件節(jié)點(diǎn)吞吐率與事件生產(chǎn)者數(shù)量之間的關(guān)系 事件消費(fèi)者節(jié)點(diǎn)吞吐率與事件消費(fèi)者數(shù)量之間的關(guān)系 事件的a n y 部分存放長度不等的s t r i n g 類型的s e q u e n c e 簡單結(jié)構(gòu)類型的s e q u e n c e 進(jìn)行容錯(cuò)處理后系統(tǒng)的運(yùn)行方式 第3 頁 鉑釘犍鴝如”豇一奶舛 東南大學(xué)傾l 學(xué)位論文 事件中間件機(jī)制f j 勺研究及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 1 1 、研究背景 第一章引言 近年來隨著計(jì)算機(jī)網(wǎng)絡(luò)廊剛的日益廣泛雨深入,各種嶄新的應(yīng)用模式以及其實(shí)現(xiàn)技術(shù)層 出不窮,事件中間件就是其中之一。事件中間什是一種網(wǎng)絡(luò)應(yīng)用集成手段,通過事件中間件 進(jìn)行集成的網(wǎng)絡(luò)應(yīng)用組件通過獨(dú)立的事件完成相互之間的控制,同時(shí)也利用事件的形式完成 相互之間數(shù)據(jù)的傳輸。例如在一個(gè)工作流( w o r k f i o w ) 系統(tǒng) 3 7 1 中的兩個(gè)組件,在傳統(tǒng)的客 戶機(jī)且務(wù)器結(jié)構(gòu) 5 】f 是相互之間緊密耦合的,控制流程反映為兩個(gè)組件之間的直接調(diào)用。 當(dāng)整個(gè)系統(tǒng)中集成的坌阿什數(shù)量比較多時(shí),這種緊密耦合的集成方式存在如下弊端: 1 )一個(gè)組件必須維持與所有其它相關(guān)組什的聯(lián)系,隨著系統(tǒng)規(guī)模的增大,組件中用于 維護(hù)這種耦合關(guān)系的信息將會(huì)急劇增加; 2 】多個(gè)組件之間的緊密耦臺(tái)將造成整個(gè)系統(tǒng)的穩(wěn)定性f 降。而且系統(tǒng)完成控制邏輯需 要依靠該組件同所有與其相關(guān)的組什之間進(jìn)行交互完成,這將造成系統(tǒng)性能的低 下; 3 )組什2 間的通信語義是預(yù)定義的,無法在系統(tǒng)運(yùn)行期間動(dòng)態(tài)地增加組件之聞的通信 語義: 4 ) 在緊密耦臺(tái)的方式f 所有的組件使川全局唯一的標(biāo)識(shí)符對自身進(jìn)行標(biāo)識(shí)【2 6 】,這一 方面需要對整個(gè)系統(tǒng)進(jìn)行集中的控制同時(shí)也破壞了組件的匿名性; 以上的這些不足在網(wǎng)絡(luò)應(yīng)用系統(tǒng)面臨擴(kuò)展性的需求時(shí)顯得更為嚴(yán)重。因此需要提供一種基于 事件的進(jìn)程間松耦合異步通信方式,將網(wǎng)絡(luò)應(yīng)川中的各個(gè)組成部分有效地集成,即本論文中 所要描述的事件中間引:【6 7 。簡單來說事件中間什應(yīng)當(dāng)具有以下功能以及特性: 網(wǎng)絡(luò)應(yīng)用的端系統(tǒng)之間通過事仲中間件提供的事仆的形式進(jìn)行通信。事件結(jié)構(gòu)的組織方 式以及事件語義的表達(dá)方式與具體的網(wǎng)絡(luò)應(yīng)h j 無關(guān),而是根據(jù)一定的詞法、語法以及范式由 上層應(yīng)用動(dòng)態(tài)生成,因此住信息的表達(dá)能力上具有良好的兼容性和可擴(kuò)展性。事件的發(fā)送端 和事件的接收端之間通過事 ,i :中間件進(jìn)行分離,從而形成松耦臺(tái)關(guān)系。事件中間件從事件發(fā) 送端得到事件之后負(fù)責(zé)將該事件傳遞給相應(yīng)的事仆接收端,事件在事件中間件中的傳遞機(jī)制 對網(wǎng)絡(luò)應(yīng)用是透明的。端系統(tǒng)根據(jù)上層府剛的定義進(jìn)行標(biāo)識(shí),這種定義不需要全局唯一。 1 1 1 、事件中間件的發(fā)展 事件中間件的概念最初在2 0 世紀(jì)9 0 年代中期提出,首先針對的是網(wǎng)絡(luò)應(yīng)用組件的松耦 合通信。這一時(shí)期的事件中間件功能比較簡單基丁連接的事件中間件是事件中間件中最簡 單的一種類型也是最早出現(xiàn)升投入使用的,通過引入中間:肯點(diǎn)以及應(yīng)用程序接口,這一類 事1 ;,| = 中間件提供了事什發(fā)送端同事件接收端之間的異步松耦合通信機(jī)制以及應(yīng)用集成機(jī)制。 但是這一類事件中間什技術(shù)中一般都沒仃結(jié)構(gòu)化事f l :的概念,事什的分類以及獲取完全依賴 于端系統(tǒng)和中間仃點(diǎn)的連接情況。希望獲得同一類棗件的端系統(tǒng)連接到相同的中間節(jié)點(diǎn)上 第4 炎 東南大學(xué)碩士學(xué)位論文 事件中問件機(jī)制的研究及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 新的事件進(jìn)入中聞肖點(diǎn)之后立刻被分發(fā)到連接在該中間節(jié)點(diǎn)上的所有端系統(tǒng)。 基于連接的事件中間件也稱為基于通道的事件中間件,這時(shí)可以把連接有端系統(tǒng)的中間 節(jié)點(diǎn)作為邏輯上的通道,信息通過進(jìn)入不同的通道進(jìn)行分類。這里通道的作用類似于鏈路層 上的網(wǎng)段,如同信息在同一個(gè)網(wǎng)段上采用廣播方式進(jìn)行傳播一樣,事件以廣播的方式發(fā)送給 連接在同一個(gè)通道上的所有接收端。對于上層贏用來說,中間節(jié)點(diǎn)是根據(jù)通道名或者與通道 名對應(yīng)的其它形式標(biāo)識(shí)的,同i p 組播地址一樣具有全局唯一的特性,因此也需要引入集中 的管理??梢钥闯龌谶B接的事件中間什除了提供與上層應(yīng)用的集成手段外,其它方面的特 性如事件的結(jié)構(gòu)化表示以及信息在中間節(jié)點(diǎn)的分類等方面都顯得過于簡單。 基于連接的事件中間件的代表性技術(shù)有i b u s 1 4 以及c o r b a e v e n t s e r v i c e 3 。 隨著各種更為復(fù)雜的應(yīng)用需求的提出,在9 0 年代的后期逐漸出現(xiàn)了在事件的表達(dá)能力 上更加豐富的事件中間件。正如其名字所體現(xiàn)的,基于主題的事件中間件通過包含在事件中 的事件主題對事件進(jìn)行分類。這種機(jī)制類似于網(wǎng)絡(luò)新聞服務(wù)中新聞主題名稱以及l(fā) p 組播中 1 p 組播地址所起到的作用。同前者相比,基于主題的事件中間件在中間節(jié)點(diǎn)引入了根據(jù)事 件主題進(jìn)行分類的能力。當(dāng)然這種分類能力是建立在中間節(jié)點(diǎn)“知道”其下游節(jié)點(diǎn)的需求的 基礎(chǔ)之上的,這是通過在基丁主題的事件中間件中引入的筮壺,盟圃機(jī)制實(shí)現(xiàn)的。在網(wǎng)絡(luò)新 聞服務(wù)中新聞服務(wù)器“不知道”新聞接收者的需求,而是假設(shè)接收者需要所有的新聞,因此 新聞服務(wù)器之間進(jìn)行完全備份。而基于主題的事件中間件中,事件接收端通過訂閱操作將對 于特定主題的事件的需求“通知”其所連接的中間節(jié)點(diǎn),中間節(jié)點(diǎn)根據(jù)接收端的需求信息向 其上游節(jié)點(diǎn)進(jìn)行訂閱操作。中間節(jié)點(diǎn)之間僅僅需要傳遞下游節(jié)點(diǎn)或者接收端訂閱過的事件。 同i p 組播機(jī)制不同的是,基于主題的事件中間什中事件的主題具有應(yīng)用語義因此接 收端在表達(dá)自己的需求的時(shí)候更加有針對性。通過發(fā)布,訂閱機(jī)制,事件的發(fā)送端可以將自 己能夠發(fā)送的事件的主題發(fā)布給接收端,而這些土題的表達(dá)方式,同l p 地址相比,是非常 直觀的?;谥黝}的事件中間件的代表技術(shù)有h e r i n 9 j e d i i l 】以及t i b r e n d e z v o u s 1 3 。 同網(wǎng)絡(luò)新聞服務(wù)【2 3 】一樣這兩種技術(shù)中的事件主題均使用字符串表示,并且使用通配符加 強(qiáng)事件主題的匹配和分類的能力。 基于主題的事件中間件的不足之處在于對事件的描述僅僅限于主題方式( 通常為字符 串) 在火部分的應(yīng)t = j 情況下僅僅使削主題不足以細(xì)致地描述接收端對于事件類型的需求。 這時(shí)可以考慮使用多個(gè)“特征值”來描述事件以及接收端的需求,在這方面的努力促成了近 年來基于內(nèi)容的事件中間件的產(chǎn)生和發(fā)展。 2 0 0 0 年之后事件中間件的能力進(jìn)一步加強(qiáng),其標(biāo)志是基于內(nèi)容的事件中間件的出現(xiàn)。 在基于主題的事件中間件的基礎(chǔ)上,基于內(nèi)容的事件中間件對兩部分進(jìn)行了擴(kuò)展: 事件結(jié)構(gòu)更加復(fù)雜,事件結(jié)構(gòu)中的多個(gè)域?qū)χ虚g節(jié)點(diǎn)可見,從而可以參與對事 件的分類計(jì)算。多個(gè)域可以更加細(xì)致地描述一個(gè)事件自身的特征,同時(shí)接收端 也可以更加詳細(xì)的描述自身的需求: 事件結(jié)構(gòu)中對中間:宵點(diǎn)可見的域的類型多樣化不再局限于字符串類型,可以 是整數(shù)類型、浮點(diǎn)數(shù)類型,甚至是其它更加復(fù)雜的數(shù)據(jù)類型,如結(jié)構(gòu)類型或者 枚舉類型等。分類操作相應(yīng)更加復(fù)雜。不再局限于字符串匹配,也可以是數(shù)學(xué) 運(yùn)算等。 第5 _ 噍c 東南大學(xué)頸,j :學(xué)位論文 事件中蚓件q l 制的蜘f 艽技c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) i i 2 、事件中間件面臨的問題 基于內(nèi)容的事件中間件目前尚處于研究階段,主要存在的問題是事件結(jié)構(gòu)的復(fù)雜化同整 個(gè)系統(tǒng)的擴(kuò)展性形成對立的局面。對于這個(gè)問題的解決方法,包括基于內(nèi)容的事件分類模型 等尚處于起步階段。在本論文的余r 章宵將重點(diǎn)討論這個(gè)問題的解決方案。 目前基于內(nèi)容的事件中間什尚沒有山現(xiàn)適合丁人規(guī)模使州的產(chǎn)品或者原型系統(tǒng),已經(jīng)存 在的類似的系統(tǒng),如y e a s t 3 8 1 、g e m 3 9 、e l v i n 4 f 1 2 、k e r y x 4 0 、h e r l d 8 、c o r b a 通告 服務(wù)【4 】以及s i e n a 1 9 2 0 等均是在事件表達(dá)的復(fù)朵性和系統(tǒng)的擴(kuò)展性兩者之間作出一個(gè) 折中性的選擇之后的結(jié)果。其中y e a s t 、g e m 以及h e r l d 屬于集中控制的系統(tǒng)。e l v i n 4 和 k e r y x 的事件表達(dá)形式比較簡單,c o r b a 通告服務(wù)中沒有給出事件在中間節(jié)點(diǎn)之間傳遞的 具體特征,從已有的兒種c o r b a 通告服務(wù)的實(shí)現(xiàn)系統(tǒng)來看均沒有在系統(tǒng)的擴(kuò)展性方面做 出描述。最新的c o r b a 事什域服務(wù)也沒有對內(nèi)部事州:通道間的互連做出任何的描述,而且 目前沒有任何實(shí)現(xiàn)系統(tǒng)。s i e n a 系統(tǒng)對事件表達(dá)形式的復(fù)j 性和系統(tǒng)的可擴(kuò)展性之間的關(guān) 系進(jìn)行了一定的討論1 1 9 1 ,并且注意到這兩點(diǎn)在事件中間件的設(shè)計(jì)中常常是相互沖突的,但 遺憾的是并沒有給山有效的解決方法。 顯然要使事件中間什的諸多優(yōu)良特性在一個(gè)更大的范圍內(nèi)得以體現(xiàn),例如在因特網(wǎng)上部 署基于事件中間件的網(wǎng)絡(luò)應(yīng)用,擴(kuò)展性問題是必須加以解決的。事件中間件的擴(kuò)展性問題包 括用戶的數(shù)量可擴(kuò)展性、事件語義表達(dá)的復(fù)雜稗度、系統(tǒng)跨越的地理范圍以及管理域等等。 解決這些問題的關(guān)鍵在丁構(gòu)造一種臺(tái)理的事忭路由算法,使該算法在面對上述種種問題時(shí)具 有足夠的靈活性。對事什中間:擴(kuò)展性的研究 = :成了當(dāng)前事件中間件的主要研究領(lǐng)域。 1 2 、論文研究重點(diǎn)及貢獻(xiàn) 目前已有的事件中間件的研究都是基丁一些特定的麻州原刑系統(tǒng)進(jìn)行的,在很多情況下 甚至是基于特定應(yīng)用需求進(jìn)行的,因此所提出的許多觀點(diǎn)均帶有一定的局限性。顯然同其它 成熟的網(wǎng)絡(luò)技術(shù)的研究相比,當(dāng)前的事件中間件的研究缺乏一個(gè)一般化的模型作為指導(dǎo)。在 這個(gè)模型中可以將事件中間件研究中所面臨的各種具有共性的問題抽象為模型中的模塊。 如前所述,事件中間件的使用面臨擴(kuò)展性的問題,對于事件中間件擴(kuò)展性的討論自2 0 0 1 年之后構(gòu)成了事件中間件的主要研究領(lǐng)域。目前存在的解決方法可以分為兩類,一種是借鑒 已有的各種具有良好擴(kuò)展性的網(wǎng)絡(luò)服務(wù),并將其機(jī)制運(yùn)刪r 事件中間件:另一種思路是從事 件中間件自身機(jī)制的特征出發(fā)進(jìn)行優(yōu)化。然而劍目前為l r 單純依靠這兩種途徑并沒有找到解 決事件中問件擴(kuò)展性的有效方法。 對于以上提出的兩個(gè)問題的研究構(gòu)成了本論文的研究重點(diǎn): 首先建立事件中間件模型,井使剛該模型整合現(xiàn)有的事件中間件所包含的技術(shù),為 以后事件中間件的研究建立個(gè)比較消晰的框架。住論文的實(shí)現(xiàn)部分中將利用該模 型對c o r b a 通告服務(wù)進(jìn)行分析; 其次從已有的網(wǎng)絡(luò)技術(shù)尤其是組播路由技術(shù)千事什中間件技術(shù)自身的特征相結(jié)合 的角度出發(fā),考察事件中間什中的事件傳遞機(jī)制,并在此基礎(chǔ)上構(gòu)造一個(gè)具有可擴(kuò) 展性的事件路由轉(zhuǎn)發(fā)算法。 第6 虹 東南大學(xué)碩士學(xué)位論立 事件中間件村i 制的研究及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 1 3 、論文的組織 在第二章中將針對事件中間件的應(yīng)用需求、功能、特性等對事件中間件給出一個(gè)全面的 定義,從而建立事件中間什模型。在第三章中將在事件中間件模型基礎(chǔ)上重點(diǎn)討論事件中間 件中的事件路由轉(zhuǎn)發(fā)算法。第四章是本論文的實(shí)現(xiàn)部分,在該章中描述了g d o c n o t i f y 系統(tǒng) 的設(shè)計(jì)和實(shí)現(xiàn)。g d o c n o t i f y 實(shí)現(xiàn)了c o r b a 通告服務(wù),在一定程度上體現(xiàn)了本論文理論部 分對于事件中間件研究的內(nèi)容和結(jié)論。在第五章對本論文進(jìn)行了總結(jié),并指出了事件中間件 未來的一些研究領(lǐng)域。 第7 頁 東南大學(xué)煩上學(xué)位論文 事件中間件機(jī)制的研究發(fā)c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 第二章事件中間件模型的建立 事件中間件體現(xiàn)了網(wǎng)絡(luò)應(yīng)州中的一類需求以及滿足該類需求的一系列技術(shù),事件中間件 模型正是這一系列技術(shù)得以相互聯(lián)系、組合的框架。同時(shí)事件中間件并不是整個(gè)網(wǎng)絡(luò)體系結(jié) 構(gòu)中一個(gè)孤立的模塊,它是建立在一定的f 層服務(wù)假設(shè)基t i l i li - ,并向其上層模塊提供服務(wù)的。 因此事件中間件模型的建立過程包含三個(gè)方面的討論:事f t :中間件提供的服務(wù)、下層服務(wù)假 設(shè)、模型內(nèi)部結(jié)構(gòu)。本章將對這二個(gè)方面逐一展開討論。 2 1 、事件中間件提供的服務(wù)及下層服務(wù)假設(shè) 事件中間忭的基本目的是集成分布系統(tǒng)的各個(gè)組件,使t h f l :間進(jìn)行有效的通信【6 】。這 里提到的組t :可以是任意形式的應(yīng)用,例如一個(gè)獨(dú)立的麻i l 程序或者一個(gè)完成某種特定應(yīng)用 邏輯的控件等等,具體米說事r + 中間件應(yīng)當(dāng)具有以r 的功能: l 通過事什中i 可f l :集成的各個(gè)組件之問可以通過事件的形式進(jìn)行通信 2 通過事件中間件進(jìn)行通信的雙方之間的關(guān)系可以是松耦合的: 3 事件中間件為上層應(yīng)用提供統(tǒng)一的應(yīng)剛程序接口( a p i ) 2 5 】; 4 通過事什中間件進(jìn)行的通信過程貝有可管理性: 以上幾點(diǎn)是對于事件中間什所能提供的服務(wù)以及這種服務(wù)所具備的特 正的一個(gè)基本刻畫,同 時(shí)也是當(dāng)前的網(wǎng)絡(luò)麻川對于事什中間什需求的一個(gè)簡單的描述。 與流傳輸方式不同,事件中間件:糌集成的卵件之間的通信語義封裝在獨(dú)立的事件之中進(jìn) 行傳遞。雖然在流傳輸方式中整個(gè)流是通過封裝在若干個(gè)“包”中進(jìn)行傳輸?shù)?,但是其中?任何一個(gè)包均不具備完整的語義,同時(shí)每一個(gè)包中攜帶的信息在整個(gè)流中具有固定的位置。 與此不同的是事件中間件中的每一個(gè)事什均攜帶有完整的麻用語義,事件的接收端可以對任 何一個(gè)接收到的事什進(jìn)行解釋并且加以利川。這種區(qū)別類似丁傳輸層提供的流傳輸服務(wù) ( t c p 協(xié)議) 和數(shù)據(jù)報(bào)傳輸服務(wù)( u d p 協(xié)議) 兩種傳輸服務(wù)之間的區(qū)別。 但是傳輸層的數(shù)據(jù)報(bào)傳輸服務(wù)并不能滿足麻j ;| j 對丁事件中間件的需求,這主要體現(xiàn)在通 信雙方的關(guān)系上。廣義上來說不管是傳統(tǒng)的傳輸層數(shù)據(jù)報(bào)傳輸服務(wù)( u d p 協(xié)議) 還是事件 中間件對于數(shù)據(jù)單元( 報(bào)文或者事件) 的目的端的確定都是通過數(shù)據(jù)單元中包含的相應(yīng)信息 進(jìn)行的。作為傳輸層的協(xié)議,數(shù)據(jù)報(bào)傳輸服務(wù)( u d p 協(xié)議) 提供的是一種點(diǎn)到點(diǎn)的數(shù)據(jù)傳 輸服務(wù),在這種傳輸模式f 進(jìn)行通信的雙方采用網(wǎng)絡(luò)層地址( i p 地址) 進(jìn)行標(biāo)識(shí),網(wǎng)絡(luò)層 地址的全局唯一性決定了通信烈方的關(guān)系是一對一的緊密耦合。而應(yīng)用對于事件中間件的需 求是一種松耦合模式的通信。松耦臺(tái)性則是對事什中間什集成方式的進(jìn)一步描述,是通過事 件中間件集成在一起的分布系統(tǒng)組件之間通信方式的根本特征。誠然分布系統(tǒng)組件之間可以 通過r p c 或者c o r b a 調(diào)用等手段進(jìn)行同步緊耦臺(tái)方式的通信,并且有一些應(yīng)用場合也是 需要這種通信方式的。但是如第一章中所述在許多廊h :| 場合f 是需要事件中間件所提供的這 種異步松耦臺(tái)通信方式的。尤其當(dāng)分布系統(tǒng)的可擴(kuò)展性受劍較高的要求時(shí)( 地域范圍、用戶 數(shù)量) ,同步緊耦臺(tái)通信方式所賴以建正的高帶寬、低延遲、高可靠性等基本的下層服務(wù)假 第81 j 東南大學(xué)碩士學(xué)位論文事件中間件機(jī)制的研究及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 設(shè)不能成立,異步松耦合的通信方式將使整個(gè)分布系統(tǒng)具有更好的使用性能。這一點(diǎn)也是事 件中間件區(qū)別于其它類型中間件系統(tǒng)的特征。 事件中間件作為一種中間件系統(tǒng)目的在于集成分布系統(tǒng)中的各個(gè)組件使其成為一個(gè)整 體達(dá)到信息共享協(xié)調(diào)工作的效果。如果不具備可集成性,而使其成為一個(gè)單獨(dú)的應(yīng)用系統(tǒng)則 其特性與前面所述的電子郵件服務(wù)以及網(wǎng)絡(luò)新聞服務(wù)【2 3 】是相似的。因此應(yīng)用程序接口 ( a p i ) 作為事件中間件提供給應(yīng)用組件的集成手段是不可缺少的。而且事件中間件所提供 的應(yīng)用程序接口的形式以及復(fù)雜程度將直接影響到應(yīng)用組件的集成方式。 隨著計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用與整個(gè)社會(huì)之間聯(lián)系的不斷加強(qiáng)越來越多的商業(yè)運(yùn)作模式正在融 入網(wǎng)絡(luò)的應(yīng)用中【2 7 。這種情況要求計(jì)算機(jī)網(wǎng)絡(luò)在提供基本的通信機(jī)制的基礎(chǔ)上還要對整個(gè) 通信過程面向應(yīng)用進(jìn)行有效地觀測和控制。這樣才有可能將復(fù)雜的商業(yè)運(yùn)作模式,例如收費(fèi)、 服務(wù)等級(jí)劃分等等,轉(zhuǎn)變?yōu)閷τ跀?shù)據(jù)傳輸過程的管t 望 2 9 】。 事件中間件對于下層提供服務(wù)的假設(shè)是:事件中間件可以得到來自下層的可靠的端到端 數(shù)據(jù)傳輸服務(wù)。事件中間件的通信是通過在組件之間傳遞事件完成的,這種事件的傳遞可以 分為兩種類型:直接傳遞和間接傳遞。前者是針對于事件不經(jīng)過其它事件中間件組件而直接 到達(dá)對方的兩個(gè)事件中間件組件之間的事件傳遞行為的描述,后者則是針對于事件需要經(jīng)過 其它事件中間件組件的傳遞才能到達(dá)對方的兩個(gè)事件中間件組件之間的事件傳遞行為的描 述??煽康亩说蕉藬?shù)據(jù)傳輸服務(wù)的下層服務(wù)假設(shè)可以保證事件中間件的直接傳遞方式滿足 “恰好一次”的傳遞語義。而間接傳遞方式所滿足的傳遞語義則是建立在直接傳遞的基礎(chǔ)上 根據(jù)不同的事件中間管理策略實(shí)現(xiàn)的。這種簡單的下層服務(wù)假設(shè)有利于事件中間件模型的一 般性和可擴(kuò)展性。在現(xiàn)有的因特網(wǎng)體系結(jié)構(gòu)中傳輸層以上的各層均可提供某種形式的端到端 可靠數(shù)據(jù)傳輸,例如直接通過t c p 協(xié)議進(jìn)行數(shù)據(jù)傳輸或者通過c o r b a 調(diào)用【1 2 】等方式。 2 2 、事件中間件模型的結(jié)構(gòu) 可以將事件中間件模型看作一個(gè)實(shí)現(xiàn)事件中間件所采用的各種技術(shù)相互結(jié)合以及聯(lián)系 的框架 3 5 3 6 1 。通過這個(gè)框架組織的技術(shù)以及算法是根據(jù)上一節(jié)所提到的事件中間件向上 層應(yīng)用提供的服務(wù)以及事件中間件的下層應(yīng)用假設(shè)進(jìn)行選擇之后而確定的??蚣苤械牟煌M 成部分之間應(yīng)當(dāng)具有一致性,而各個(gè)組成部分自身則可以根據(jù)需要發(fā)生變化從而使事件中間 件得以不斷發(fā)展。 圖2 - t 給出了事件中間件的一個(gè)基本模型,該模型主要由五個(gè)模塊組成,各個(gè)模塊根據(jù) 事件中間件對于上層應(yīng)用邏輯的處理順序進(jìn)行組織,依次為:結(jié)構(gòu)化事件模塊、語義分析模 塊、事件隊(duì)列管理模塊、應(yīng)用集成模塊以及事件路由轉(zhuǎn)發(fā)模塊。這里應(yīng)當(dāng)注意的是應(yīng)用集成 模塊同事件路由轉(zhuǎn)發(fā)模塊之間是相互隔離的這種劃分使事件中間件可以面向上層應(yīng)用提供 三種不同的服務(wù)方式: 直接同上層應(yīng)用邏輯進(jìn)行集成,將得到的事件傳遞給上層應(yīng)用進(jìn)行處理;1 根據(jù)事件的特征以及相應(yīng)的規(guī)則將事件通過下層數(shù)據(jù)傳輸服務(wù)傳遞給其它組 件:2 以上兩種服務(wù)方式的結(jié)合:3 1 方便起見本文中將具有這種服務(wù)方式的事件中間件組件成為事件集成節(jié)點(diǎn) 2 方便起見本文中將具有這種服務(wù)方式的事件中間件組件成為事件路由節(jié)點(diǎn)。 3 方便起見本文中將具有這種服務(wù)方式的事件中間件組件成為# 件服務(wù)節(jié)點(diǎn)。 第9r 貞 東南大學(xué)碩士學(xué)位論文 事件中間件機(jī)制的研究及c o r , b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 一般來說事件中間件對于上層應(yīng)_ u = ;| 邏輯的處理總是從事件集成節(jié)點(diǎn)或事件服務(wù)節(jié)點(diǎn)開始,經(jīng) 過若干個(gè)事件路由廿點(diǎn)或事件服務(wù)節(jié)點(diǎn)的傳遞后結(jié)束于一個(gè)或多個(gè)事件集成節(jié)點(diǎn)或事件服 務(wù)節(jié)點(diǎn)。 2 2 i 、結(jié)構(gòu)化事件 圖2 - 1 :事件中間件模型 事件是事件中間件中用來表達(dá)信息和處理信息的基本單元。上層應(yīng)用通過事件對應(yīng)用邏 輯進(jìn)行表達(dá)4 ,通過事件的傳遞完成應(yīng)用的集成。 事件的表示方式可以是無結(jié)構(gòu)的也可以是結(jié)構(gòu)化的。前者的優(yōu)點(diǎn)是完成應(yīng)用邏輯向事件 的轉(zhuǎn)化過程中操作簡單,一般來說只需要進(jìn)行簡單的內(nèi)存拷貝。但是這種方式將造成事件中 間件無法從事件中解析出相應(yīng)的應(yīng)用邏輯。基丁_ 連接的事件中間件采用的正是這種無結(jié)構(gòu)的 事件表示方式例如c o r b a 事件服務(wù)中利h jc o r b a :a n y 的形式對事件進(jìn)行表示。顯然 這種無法進(jìn)行語義解析的事件表示方式不能滿足復(fù)雜應(yīng)用需求,因此大多數(shù)事件中間件系統(tǒng) 采用結(jié)構(gòu)化的方式表示事件。 結(jié)構(gòu)化事件具有一定的結(jié)構(gòu),上層應(yīng)用可以根據(jù)需要將應(yīng)用邏輯按照事件的結(jié)構(gòu)表達(dá)為 事件的各個(gè)組成部分。事件的結(jié)構(gòu)可以是簡單的,例如在基于主題的事件中間件中事件的結(jié) 構(gòu)僅僅表現(xiàn)為事件主題采用名值對( n a m e v a l u ep a i r ) 的方式進(jìn)行表達(dá)。當(dāng)然事件的結(jié)構(gòu)也 可以非常復(fù)雜。例如在c o r b a 通告服務(wù)中采廂的是名值對序列( n a m e v a l u ep a i r s e q u e n c e ) 、靜態(tài)字符串以及c o r b a :a n y 三者相結(jié)合的方式來表達(dá)一個(gè)結(jié)構(gòu)化事件。 4 在這里使用“表達(dá)”而小足“封裝”是想突m 這樣一個(gè)事實(shí),即施用邏輯的語意對于事件中問件來說是 可見的。 第l o 負(fù) 點(diǎn) 事件服務(wù)節(jié)點(diǎn) 東南大學(xué)碩士學(xué)位論文 事件中問件機(jī)制的研究及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 2 2 2 、事件的語義分析 事件的語義分析是指根據(jù)定的詞法和語法以及事件的表示方式,按照相應(yīng)的規(guī)則提取 被分析的事件中符合規(guī)則要求的部分信息。事件中間件需要根據(jù)事件中包含的信息確定事件 的接收端,此外事件中間件還需要根據(jù)事件中包含的內(nèi)容對事件進(jìn)行管理,例如可以根據(jù)事 件中的內(nèi)容結(jié)束一部分事件的傳遞,或者對一部分事件提高傳輸時(shí)的優(yōu)先級(jí),因此對結(jié)構(gòu)化 事件進(jìn)行語義分析是事件中間件對事件進(jìn)行后續(xù)處理的基礎(chǔ)。 對事件進(jìn)行語義分析是事件中間件的主要工作,直接決定了事件中間件對事件的處理速 度。如圖2 - 2 所示,事件中間件對事件進(jìn)行一個(gè)串行化的處理過程。如果對事件進(jìn)行語義分 圈2 - 2 :事件中間件對事件的處理流程 析的速度小于事件的到達(dá)速率將造成事件中間件中存儲(chǔ)的事件大量增加最終導(dǎo)致事件的丟 失。當(dāng)事件中間件的規(guī)模擴(kuò)大時(shí),事件的到達(dá)速率將不可避免地增加。因此要保證事 牛中間 件的可擴(kuò)展性可以從三個(gè)方面入手: 1 降低事件的到達(dá)速率; 2 提高對單個(gè)事件進(jìn)行語義分析的速度; 3 在能夠完成正常的事件轉(zhuǎn)發(fā)的前提下減少對事件的語義分析 降低事件的到達(dá)速率以及減少不必要的語義分析涉及到在整個(gè)事件中間件的備個(gè)節(jié)點(diǎn)之間 進(jìn)行事件路由的選擇,將在3 3 中進(jìn)行詳細(xì)的討論。要提高對單個(gè)事件進(jìn)行語義分析的速度 最簡單的方法是降低用于描述事件的詞法和語法的復(fù)雜性,然而這種復(fù)雜性的降低也意味著 事件對于上層應(yīng)用邏輯表達(dá)能力的降低。因此對于描述結(jié)構(gòu)化事件的詞法、語法復(fù)雜度的選 擇常常是折中進(jìn)行的 3 3 1 3 4 。 2 2 3 、事件隊(duì)列的管理及事件中間件與應(yīng)用的集成 事件在事件中間件中的存儲(chǔ)是由事件中間件的隊(duì)列管理完成的。事件隊(duì)列的管理是依據(jù) 一系列策略完成的,通過設(shè)置這些策略。事件中間件的用戶或者管理者可以對事件中間件的 許多服務(wù)特性進(jìn)行及時(shí)的調(diào)整。例如可以根據(jù)事件的具體特征為不同的事件分配不同的優(yōu)先 級(jí),從而在事件的傳輸過程中實(shí)現(xiàn)不同級(jí)別的服務(wù)質(zhì)量保證( q o s ) 。事件中間件的隊(duì)列管 理方式可以借漿許多成熟的方法,例如加權(quán)公平隊(duì)列等。 事件中間件與應(yīng)用的集成主要體現(xiàn)為事件中間件向應(yīng)用提供的調(diào)用接口。接口應(yīng)該包括 完成各種事件發(fā)送、接收以及描述行為的調(diào)用,此外還有需要包括設(shè)置各種策略、屬性的調(diào) 用。接口的復(fù)雜程度直接體現(xiàn)了事件中間件提供服務(wù)的能力?,F(xiàn)在已有的事件中間件調(diào)用接 第1 i 頁 至塑奎蘭塑:! 蘭些笙蘭 皇壁! 塑堡! ! 型竺竺塑絲! 旦些壘墮宣里墨塑望生量塞墨 1 3 規(guī)范包括c o r b a 事什服務(wù)、c o r b a 通告服務(wù)、j a v a 消息服務(wù) 1 6 】以及g l o b u s 2 5 消息 傳送接口等等。 集成方式也在一定程度上影響事件中間件的可使州性??梢栽诮y(tǒng)一的網(wǎng)絡(luò)中間件平臺(tái)的 基礎(chǔ)上t 例如將事件中間什實(shí)現(xiàn)為c o r b a 服務(wù)的形式。在這種方式下可以利用原有中間件 平臺(tái)提供的異構(gòu)性、網(wǎng)絡(luò)透明性等優(yōu)點(diǎn),從而可以方便地對上層應(yīng)用進(jìn)行集成。但是在事件 的處理過程中需要增加中間件平臺(tái)中的部分處理代價(jià)。岡此在效率上會(huì)有所降低。當(dāng)然也可 以利用一些更基本的網(wǎng)絡(luò)服務(wù),例如使用s o c k e t 完成事什中間什內(nèi)部的通信。在這種方式 下事件傳遞的效率會(huì)有所提高,但是與上層席州的集成會(huì)相應(yīng)的更加復(fù)雜。 2 2 4 、事件的路由轉(zhuǎn)發(fā) 事件中間件對丁事件的路由轉(zhuǎn)發(fā)是指將事件從發(fā)送端經(jīng)過選定的路由傳遞到所有的希 望得到該事件的端點(diǎn)5 。事什的路由轉(zhuǎn)發(fā)需要解決事件中間件節(jié)點(diǎn)的定位、尋址、事件路由 的生成、事件路由的查找以及對事件進(jìn)行轉(zhuǎn)發(fā)等問題。在【1 9 【2 0 】【2 1 】中對事件在中間節(jié)點(diǎn)的 路由轉(zhuǎn)發(fā)行為進(jìn)行了描述,但是仍存在以f 問題: 1 路由的形成過程受到事什中間件白身拓?fù)浣Y(jié)構(gòu)的限制,只能在一個(gè)無環(huán)的拓?fù)?結(jié)構(gòu)中形成路由: 2 僅僅從事件中間仆的中間訂點(diǎn)對事t i 的處理過程討論事件的路由,并沒有給出 在整個(gè)事件中間什范圍內(nèi)建立事件路由的一般性方法: 3 注意到對事件進(jìn)行語義解析的效率會(huì)對事件的轉(zhuǎn)發(fā)速度產(chǎn)生影響,并進(jìn)而影響 到事件中間件的可擴(kuò)展性,但是并沒有給出消除這種影響的方法。 縱觀事件中間件的發(fā)展歷樣可以看出,以上所列舉的兒個(gè)問題是事作中間件發(fā)展到一定階段 一定規(guī)模后產(chǎn)生的新問題,是事什中間什庸川走山局域網(wǎng)范同所需邁出的第一步。在第三章 的中將對事件的路由轉(zhuǎn)發(fā)進(jìn)行詳細(xì)的討論,并構(gòu)造事件中間件路由生成以及事件轉(zhuǎn)發(fā)的相應(yīng) 算法。 5 為了以后討論上的方便在事件路由得過程中將發(fā)送事件的事件中問件組件叫做事件生產(chǎn)者,將最終得到 事件井將該事件提供給上層應(yīng)用的事件中間件組件叫做事件消費(fèi)者,在事件從事件生產(chǎn)者到事件消費(fèi)者傳 遞的過程中經(jīng)過的事件中間件組件稱為中間節(jié)點(diǎn)。 鶘1 2 貝 東南大學(xué)碩上學(xué)位論文 事件中間件封l 制的研究及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 第三章構(gòu)造可擴(kuò)展的事件路由及轉(zhuǎn)發(fā)算法 3 1 、事件路由同i p 組播路由的比較 作為事件路由以及事件轉(zhuǎn)發(fā)算法研究的開始,首先可以考察比較成熟的i p 組播路由轉(zhuǎn) 發(fā)算法 1 7 1 1 1 8 1 1 2 4 】。該類算法可以從以下幾個(gè)方面進(jìn)行簡單的刻畫: 信息的標(biāo)識(shí)方式 i p 組播方式下利用i p 組播地址對信息進(jìn)行標(biāo)識(shí),并進(jìn)而與特定的m a c 地址相關(guān)聯(lián)。 一個(gè)發(fā)送主機(jī)將其所要發(fā)送的全部的信息封裝在l p 組播報(bào)文中,并以相應(yīng)的i p 組播地址進(jìn) 行標(biāo)識(shí)。信息在鏈路層的傳遞中采用固定的映射方式將i p 地址轉(zhuǎn)換為m a c 地址,接收主 機(jī)將得到該m a c 地址標(biāo)識(shí)的幀,然后根據(jù)其中的i p 組播地址判斷是否是其所需要的信息。 組成員關(guān)系 l p 組播中的組成員關(guān)系是通過“查詢一響應(yīng)”的方式建立和維護(hù)的。支持r p 組播的路 由器首先周期性發(fā)送成員關(guān)系查詢報(bào)文,所有希望得到i p 組播信息的主機(jī)均可以在組播地 址( 2 2 4 0 0 1 ) 上接收到該查詢報(bào)文。主機(jī)通過向自己所希望得到信息的i p 組播地址發(fā)送 i g m p 成員關(guān)系報(bào)告報(bào)文來告知相應(yīng)的組播路由器:在該組播地址上至少有一個(gè)主機(jī)希望得 到數(shù)據(jù)。 逆向路徑轉(zhuǎn)發(fā) 由于不可能知道關(guān)于下游的報(bào)文接收者的全部信息,l p 組搔方式下放棄了單播方式中 采用的通過目的地址與路由表進(jìn)行匹配來作出轉(zhuǎn)發(fā)決定的作法。相反,組播路由器通過檢查 組播報(bào)文中的源地址以及該報(bào)文到達(dá)的接口來判斷其上游的組播路由器是否在正常工作。判 斷所依據(jù)的標(biāo)準(zhǔn)是組播報(bào)文到達(dá)的接口必須對應(yīng)向源節(jié)點(diǎn)發(fā)送單播信息的接口。這種檢查方 式可以確保從上游路由器到達(dá)該路由器的報(bào)文不是經(jīng)過回環(huán)路徑傳遞的重復(fù)報(bào)文,通過遞歸 就可以確保從源到任何一個(gè)節(jié)點(diǎn)不會(huì)出現(xiàn)回環(huán)路徑。 多播路由計(jì)算 路由計(jì)算在組播方式中的作用是形成到各個(gè):市點(diǎn)的最小路徑樹,并以此為依據(jù)進(jìn)行逆向 路徑轉(zhuǎn)發(fā)時(shí)的檢查。從這個(gè)角度來看多播路由計(jì)算同單播路由計(jì)算是相同的,實(shí)際上在有些 情況下多播轉(zhuǎn)發(fā)可以使用單播方式下的路由表??梢哉J(rèn)為多播路由表所包含的信息是全局性 的,即反映了網(wǎng)絡(luò)中所有節(jié)點(diǎn)的與該節(jié)點(diǎn)的距離信息( d v m r p 方式下) 或者網(wǎng)絡(luò)的拓?fù)湫?息( m o s p f 方式下) 。這種路由信息的全局性同樣也存在于單播路由方式中。 i p 路由方式一f 路由信息的全局性可以認(rèn)為是如r 原因造成的:在單播方式下,由于各 個(gè)路由器之間相互獨(dú)立,因此一個(gè)路由器無法事先知道是否存在目的地址是其它路由器的報(bào) 文存在。如果當(dāng)報(bào)文到達(dá)時(shí)才計(jì)算到相應(yīng)的節(jié)點(diǎn)的路由顯然是不明智的,因此只能假定流向 網(wǎng)絡(luò)中所有的其它路由器的報(bào)文都有可能在本路由器經(jīng)過。在多播方式下,一個(gè)路由器同樣 無法事先確定是否存在源為其它路由器的組播報(bào)文經(jīng)過自身,因此也只能假定網(wǎng)絡(luò)中所有其 它路由器都有可能成為組播源并且其報(bào)文在本路由器經(jīng)過。 第1 3 炎 東南大學(xué)碩士學(xué)位論文鼻件中間件機(jī)制的州了c 及c o r b a 通告服務(wù)的設(shè)計(jì)與實(shí)現(xiàn) 嫁接和剪枝 嫁接和剪枝為組播路由器提供了加入和退出組播轉(zhuǎn)發(fā)樹的機(jī)制。為了使新出現(xiàn)的接收者 加入組播轉(zhuǎn)發(fā)樹跆由器需要發(fā)送嫁接消息,而接收到嫁接消息的上游組播路由器會(huì)發(fā)送嫁 接確認(rèn)消息。嫁接消息通過這種方式被一跳一跳地向上游傳送直到組播轉(zhuǎn)發(fā)樹,同時(shí)嫁接確 認(rèn)消息也一跳一跳地向下游傳送,最終將建立起組橘轉(zhuǎn)發(fā)樹的新的分支。 當(dāng)路由器發(fā)現(xiàn)沒有本地接收方時(shí),必須向上游發(fā)送剪枝消息。上游路由器會(huì)根據(jù)其它f 游路由器地情況修改相應(yīng)的數(shù)據(jù)井最終決定是否在組撩轉(zhuǎn)發(fā)樹上剪除該分支。 以同樣的方式考察事件中間件中的事件路由可以發(fā)現(xiàn)如f 特征: 信息的標(biāo)識(shí) 事件中間件的事件中沒有特定的字段對事件進(jìn)行標(biāo)識(shí)。無法依靠一個(gè)字段就可以立刻判 斷出事件的發(fā)送端和接收端,這是事仆中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論