




已閱讀5頁,還剩7頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要 事件中間件為網絡應用提供了基于事件的松耦合通信機制。通過事件中間件 進行集成的網絡應用組件不需要通過全局唯一的標識符進行標識,組件之間的交 互通過事件中間件進行。組件通過事件中間件提供的語法描述自己所需要的事件 的特征,而事件中間件需要將事件分發給所有的需要該事件的應用組件。 已有的基于集中控制模式的事件中間件顯然無法滿足擴展性較強的網絡應 用的集成需要。主要原因在于其缺乏適合于進行分布組件之間事件路由計算的方 法。與i p 路由方式不同的是,事件中間件中對事件的路由體現的是一種基于內 容的路由或者說是基于語義的路由。在這種路由方式下無法利用全局唯一標識符 對事件的源節點或者目的節點進行標識,而只能依靠對事件進行語義解析從而根 據事件所包含的內容的特征來選擇事件的路由。對事件路由方法的研究已經成為 當前事件中間件的研究熱點。 c o ;a 通告服務是o m g 組織在事件中間件方面制定的規范之一。通告服 務規范中定義了基于訂閱發布模式的對象間松耦合通信機制,并且將各種服務 質量參數引入到事件傳遞的過程中。通告服務規范中還定義了對事件進行語義解 析和過濾的相關接口以及構造過濾規則的語法。這些機制使通告服務成為可以為 通告c o r b a 進行集成的應用組件提供強有力的事件中間件服務。 本論文首先根據事件中間件的特征提出了一個事件中間件模型,通過該模型 對事件中l 刨件所涉及的各種技術進行了分類。并且在該模型的指導下完成了對 c o r b a 通告服務的設計和實現。 在本論文中還提出了兩個新的算法用來解決事件中間件所面臨的擴展性問 題。其中第一個算法可以完成任意網絡拓撲結構下不依賴于全局唯一標識符的事 件路由計算;第二個算法則利用標記的分配和交換實現了事件在事件中間件中的 快速轉發。 關鍵詞:事件中間件、松耦合、事件路由、基于內容的路由、語義路由、事件中間件模型、 流標識、事件交換、c o r b a 通告服務 分類號: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 匿墮奎蘭堡:! :竺竺堡苧 - 墮! 生墾! 生:一 東南大學學位論文 獨創性聲明及使用授權說明 一、學位論文獨創性聲明 本人聲明所呈交的學位論文是我個人在導師指導下進行的研究工作及取得 的研究成果。盡我所知,除了文中特別加以標注和致謝的地方外,論文中不包含 其他人已經發表或撰寫過的研究成果,也不包含為獲得東南大學或其它教育機構 的學位或證書而使用的材料。與我一同工作的同志對本研究所做的任何貢獻均已 在論文中作了明確的晚明并表示謝意。 關于學位論文使用授權說明 簽名日期:溯 東南大學、中國科學技術信息研究所、國家圖書館有權保留本人所送交學位 論文的復印和電子文檔,可以采用影印、縮印或其他復制手段保存論文。本人電 子文檔的內容和紙質論文的內容相一致。除在保密期內的保密論文外,允許論文 被查閱和借閱,可以公布( 包括刊登) 論文的全部或部分內容。論文的公布( 包 括刊登) 授權東南大學研究生院辦理。 簽名扯導師簽名 期:絲壘星孑莎 東南大學碩士學位論文事件中問件機制的研究及c o r b a 通告服務的設計與實現 圖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 全信息摘要的傳遞路徑一 條件信息摘要的傳遞路徑 單純使用條件信息摘要匹配事件轉發延遲 使用流標識時事件轉發延遲 通告服務的組成結構 結構化事件 2 5 3 0 3 l 3 2 3 4 3 4 利用邏輯拷貝及引用計數減少事件復制3 8 表示復雜數據類型的 的有限自動機模型4 0 對事件進行語義解析的實現類4 1 過濾規則按照事件類型重新組織 利用虛擬隊列管理事件節點一 4 2 4 3 事件分發的不同模式4 4 事件分發的流程 對象之間進行傳遞的完整過程 引入本地事件緩存之后對象之間傳遞事件的過程 與事件隊列相關的類及其關系 測試環境 事件通道的事件節點吞吐率與事件生產者數量之間的關系 事件消費者節點吞吐率與事件消費者數量之間的關系 事件的a n y 部分存放長度不等的s t r i n g 類型的s e q u e n c e 簡單結構類型的s e q u e n c e 進行容錯處理后系統的運行方式 第3 頁 鉑釘犍鴝如”豇一奶舛 東南大學傾l 學位論文 事件中間件機制f j 勺研究及c o r b a 通告服務的設計與實現 1 1 、研究背景 第一章引言 近年來隨著計算機網絡廊剛的日益廣泛雨深入,各種嶄新的應用模式以及其實現技術層 出不窮,事件中間件就是其中之一。事件中間什是一種網絡應用集成手段,通過事件中間件 進行集成的網絡應用組件通過獨立的事件完成相互之間的控制,同時也利用事件的形式完成 相互之間數據的傳輸。例如在一個工作流( w o r k f i o w ) 系統 3 7 1 中的兩個組件,在傳統的客 戶機且務器結構 5 】f 是相互之間緊密耦合的,控制流程反映為兩個組件之間的直接調用。 當整個系統中集成的坌阿什數量比較多時,這種緊密耦合的集成方式存在如下弊端: 1 )一個組件必須維持與所有其它相關組什的聯系,隨著系統規模的增大,組件中用于 維護這種耦合關系的信息將會急劇增加; 2 】多個組件之間的緊密耦臺將造成整個系統的穩定性f 降。而且系統完成控制邏輯需 要依靠該組件同所有與其相關的組什之間進行交互完成,這將造成系統性能的低 下; 3 )組什2 間的通信語義是預定義的,無法在系統運行期間動態地增加組件之聞的通信 語義: 4 ) 在緊密耦臺的方式f 所有的組件使川全局唯一的標識符對自身進行標識【2 6 】,這一 方面需要對整個系統進行集中的控制同時也破壞了組件的匿名性; 以上的這些不足在網絡應用系統面臨擴展性的需求時顯得更為嚴重。因此需要提供一種基于 事件的進程間松耦合異步通信方式,將網絡應川中的各個組成部分有效地集成,即本論文中 所要描述的事件中間引:【6 7 。簡單來說事件中間什應當具有以下功能以及特性: 網絡應用的端系統之間通過事仲中間件提供的事仆的形式進行通信。事件結構的組織方 式以及事件語義的表達方式與具體的網絡應h j 無關,而是根據一定的詞法、語法以及范式由 上層應用動態生成,因此住信息的表達能力上具有良好的兼容性和可擴展性。事件的發送端 和事件的接收端之間通過事 ,i :中間件進行分離,從而形成松耦臺關系。事件中間件從事件發 送端得到事件之后負責將該事件傳遞給相應的事仆接收端,事件在事件中間件中的傳遞機制 對網絡應用是透明的。端系統根據上層府剛的定義進行標識,這種定義不需要全局唯一。 1 1 1 、事件中間件的發展 事件中間件的概念最初在2 0 世紀9 0 年代中期提出,首先針對的是網絡應用組件的松耦 合通信。這一時期的事件中間件功能比較簡單基丁連接的事件中間件是事件中間件中最簡 單的一種類型也是最早出現升投入使用的,通過引入中間:肯點以及應用程序接口,這一類 事1 ;,| = 中間件提供了事什發送端同事件接收端之間的異步松耦合通信機制以及應用集成機制。 但是這一類事件中間什技術中一般都沒仃結構化事f l :的概念,事什的分類以及獲取完全依賴 于端系統和中間仃點的連接情況。希望獲得同一類棗件的端系統連接到相同的中間節點上 第4 炎 東南大學碩士學位論文 事件中問件機制的研究及c o r b a 通告服務的設計與實現 新的事件進入中聞肖點之后立刻被分發到連接在該中間節點上的所有端系統。 基于連接的事件中間件也稱為基于通道的事件中間件,這時可以把連接有端系統的中間 節點作為邏輯上的通道,信息通過進入不同的通道進行分類。這里通道的作用類似于鏈路層 上的網段,如同信息在同一個網段上采用廣播方式進行傳播一樣,事件以廣播的方式發送給 連接在同一個通道上的所有接收端。對于上層贏用來說,中間節點是根據通道名或者與通道 名對應的其它形式標識的,同i p 組播地址一樣具有全局唯一的特性,因此也需要引入集中 的管理。可以看出基于連接的事件中間什除了提供與上層應用的集成手段外,其它方面的特 性如事件的結構化表示以及信息在中間節點的分類等方面都顯得過于簡單。 基于連接的事件中間件的代表性技術有i b u s 1 4 以及c o r b a e v e n t s e r v i c e 3 。 隨著各種更為復雜的應用需求的提出,在9 0 年代的后期逐漸出現了在事件的表達能力 上更加豐富的事件中間件。正如其名字所體現的,基于主題的事件中間件通過包含在事件中 的事件主題對事件進行分類。這種機制類似于網絡新聞服務中新聞主題名稱以及l p 組播中 1 p 組播地址所起到的作用。同前者相比,基于主題的事件中間件在中間節點引入了根據事 件主題進行分類的能力。當然這種分類能力是建立在中間節點“知道”其下游節點的需求的 基礎之上的,這是通過在基丁主題的事件中間件中引入的筮壺,盟圃機制實現的。在網絡新 聞服務中新聞服務器“不知道”新聞接收者的需求,而是假設接收者需要所有的新聞,因此 新聞服務器之間進行完全備份。而基于主題的事件中間件中,事件接收端通過訂閱操作將對 于特定主題的事件的需求“通知”其所連接的中間節點,中間節點根據接收端的需求信息向 其上游節點進行訂閱操作。中間節點之間僅僅需要傳遞下游節點或者接收端訂閱過的事件。 同i p 組播機制不同的是,基于主題的事件中間什中事件的主題具有應用語義因此接 收端在表達自己的需求的時候更加有針對性。通過發布,訂閱機制,事件的發送端可以將自 己能夠發送的事件的主題發布給接收端,而這些土題的表達方式,同l p 地址相比,是非常 直觀的。基于主題的事件中間件的代表技術有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 。 同網絡新聞服務【2 3 】一樣這兩種技術中的事件主題均使用字符串表示,并且使用通配符加 強事件主題的匹配和分類的能力。 基于主題的事件中間件的不足之處在于對事件的描述僅僅限于主題方式( 通常為字符 串) 在火部分的應t = j 情況下僅僅使削主題不足以細致地描述接收端對于事件類型的需求。 這時可以考慮使用多個“特征值”來描述事件以及接收端的需求,在這方面的努力促成了近 年來基于內容的事件中間件的產生和發展。 2 0 0 0 年之后事件中間件的能力進一步加強,其標志是基于內容的事件中間件的出現。 在基于主題的事件中間件的基礎上,基于內容的事件中間件對兩部分進行了擴展: 事件結構更加復雜,事件結構中的多個域對中間節點可見,從而可以參與對事 件的分類計算。多個域可以更加細致地描述一個事件自身的特征,同時接收端 也可以更加詳細的描述自身的需求: 事件結構中對中間:宵點可見的域的類型多樣化不再局限于字符串類型,可以 是整數類型、浮點數類型,甚至是其它更加復雜的數據類型,如結構類型或者 枚舉類型等。分類操作相應更加復雜。不再局限于字符串匹配,也可以是數學 運算等。 第5 _ 噍c 東南大學頸,j :學位論文 事件中蚓件q l 制的蜘f 艽技c o r b a 通告服務的設計與實現 i i 2 、事件中間件面臨的問題 基于內容的事件中間件目前尚處于研究階段,主要存在的問題是事件結構的復雜化同整 個系統的擴展性形成對立的局面。對于這個問題的解決方法,包括基于內容的事件分類模型 等尚處于起步階段。在本論文的余r 章宵將重點討論這個問題的解決方案。 目前基于內容的事件中間什尚沒有山現適合丁人規模使州的產品或者原型系統,已經存 在的類似的系統,如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 通告 服務【4 】以及s i e n a 1 9 2 0 等均是在事件表達的復朵性和系統的擴展性兩者之間作出一個 折中性的選擇之后的結果。其中y e a s t 、g e m 以及h e r l d 屬于集中控制的系統。e l v i n 4 和 k e r y x 的事件表達形式比較簡單,c o r b a 通告服務中沒有給出事件在中間節點之間傳遞的 具體特征,從已有的兒種c o r b a 通告服務的實現系統來看均沒有在系統的擴展性方面做 出描述。最新的c o r b a 事什域服務也沒有對內部事州:通道間的互連做出任何的描述,而且 目前沒有任何實現系統。s i e n a 系統對事件表達形式的復j 性和系統的可擴展性之間的關 系進行了一定的討論1 1 9 1 ,并且注意到這兩點在事件中間件的設計中常常是相互沖突的,但 遺憾的是并沒有給山有效的解決方法。 顯然要使事件中間什的諸多優良特性在一個更大的范圍內得以體現,例如在因特網上部 署基于事件中間件的網絡應用,擴展性問題是必須加以解決的。事件中間件的擴展性問題包 括用戶的數量可擴展性、事件語義表達的復雜稗度、系統跨越的地理范圍以及管理域等等。 解決這些問題的關鍵在丁構造一種臺理的事忭路由算法,使該算法在面對上述種種問題時具 有足夠的靈活性。對事什中間:擴展性的研究 = :成了當前事件中間件的主要研究領域。 1 2 、論文研究重點及貢獻 目前已有的事件中間件的研究都是基丁一些特定的麻州原刑系統進行的,在很多情況下 甚至是基于特定應用需求進行的,因此所提出的許多觀點均帶有一定的局限性。顯然同其它 成熟的網絡技術的研究相比,當前的事件中間件的研究缺乏一個一般化的模型作為指導。在 這個模型中可以將事件中間件研究中所面臨的各種具有共性的問題抽象為模型中的模塊。 如前所述,事件中間件的使用面臨擴展性的問題,對于事件中間件擴展性的討論自2 0 0 1 年之后構成了事件中間件的主要研究領域。目前存在的解決方法可以分為兩類,一種是借鑒 已有的各種具有良好擴展性的網絡服務,并將其機制運刪r 事件中間件:另一種思路是從事 件中間件自身機制的特征出發進行優化。然而劍目前為l r 單純依靠這兩種途徑并沒有找到解 決事件中問件擴展性的有效方法。 對于以上提出的兩個問題的研究構成了本論文的研究重點: 首先建立事件中間件模型,井使剛該模型整合現有的事件中間件所包含的技術,為 以后事件中間件的研究建立個比較消晰的框架。住論文的實現部分中將利用該模 型對c o r b a 通告服務進行分析; 其次從已有的網絡技術尤其是組播路由技術千事什中間件技術自身的特征相結合 的角度出發,考察事件中間什中的事件傳遞機制,并在此基礎上構造一個具有可擴 展性的事件路由轉發算法。 第6 虹 東南大學碩士學位論立 事件中間件村i 制的研究及c o r b a 通告服務的設計與實現 1 3 、論文的組織 在第二章中將針對事件中間件的應用需求、功能、特性等對事件中間件給出一個全面的 定義,從而建立事件中間什模型。在第三章中將在事件中間件模型基礎上重點討論事件中間 件中的事件路由轉發算法。第四章是本論文的實現部分,在該章中描述了g d o c n o t i f y 系統 的設計和實現。g d o c n o t i f y 實現了c o r b a 通告服務,在一定程度上體現了本論文理論部 分對于事件中間件研究的內容和結論。在第五章對本論文進行了總結,并指出了事件中間件 未來的一些研究領域。 第7 頁 東南大學煩上學位論文 事件中間件機制的研究發c o r b a 通告服務的設計與實現 第二章事件中間件模型的建立 事件中間件體現了網絡應州中的一類需求以及滿足該類需求的一系列技術,事件中間件 模型正是這一系列技術得以相互聯系、組合的框架。同時事件中間件并不是整個網絡體系結 構中一個孤立的模塊,它是建立在一定的f 層服務假設基t i l i li - ,并向其上層模塊提供服務的。 因此事件中間件模型的建立過程包含三個方面的討論:事f t :中間件提供的服務、下層服務假 設、模型內部結構。本章將對這二個方面逐一展開討論。 2 1 、事件中間件提供的服務及下層服務假設 事件中間忭的基本目的是集成分布系統的各個組件,使t h f l :間進行有效的通信【6 】。這 里提到的組t :可以是任意形式的應用,例如一個獨立的麻i l 程序或者一個完成某種特定應用 邏輯的控件等等,具體米說事r + 中間件應當具有以r 的功能: l 通過事什中i 可f l :集成的各個組件之問可以通過事件的形式進行通信 2 通過事件中間件進行通信的雙方之間的關系可以是松耦合的: 3 事件中間件為上層應用提供統一的應剛程序接口( a p i ) 2 5 】; 4 通過事什中間件進行的通信過程貝有可管理性: 以上幾點是對于事件中間什所能提供的服務以及這種服務所具備的特 正的一個基本刻畫,同 時也是當前的網絡麻川對于事什中間什需求的一個簡單的描述。 與流傳輸方式不同,事件中間件:糌集成的卵件之間的通信語義封裝在獨立的事件之中進 行傳遞。雖然在流傳輸方式中整個流是通過封裝在若干個“包”中進行傳輸的,但是其中的 任何一個包均不具備完整的語義,同時每一個包中攜帶的信息在整個流中具有固定的位置。 與此不同的是事件中間件中的每一個事什均攜帶有完整的麻用語義,事件的接收端可以對任 何一個接收到的事什進行解釋并且加以利川。這種區別類似丁傳輸層提供的流傳輸服務 ( t c p 協議) 和數據報傳輸服務( u d p 協議) 兩種傳輸服務之間的區別。 但是傳輸層的數據報傳輸服務并不能滿足麻j ;| j 對丁事件中間件的需求,這主要體現在通 信雙方的關系上。廣義上來說不管是傳統的傳輸層數據報傳輸服務( u d p 協議) 還是事件 中間件對于數據單元( 報文或者事件) 的目的端的確定都是通過數據單元中包含的相應信息 進行的。作為傳輸層的協議,數據報傳輸服務( u d p 協議) 提供的是一種點到點的數據傳 輸服務,在這種傳輸模式f 進行通信的雙方采用網絡層地址( i p 地址) 進行標識,網絡層 地址的全局唯一性決定了通信烈方的關系是一對一的緊密耦合。而應用對于事件中間件的需 求是一種松耦合模式的通信。松耦臺性則是對事什中間什集成方式的進一步描述,是通過事 件中間件集成在一起的分布系統組件之間通信方式的根本特征。誠然分布系統組件之間可以 通過r p c 或者c o r b a 調用等手段進行同步緊耦臺方式的通信,并且有一些應用場合也是 需要這種通信方式的。但是如第一章中所述在許多廊h :| 場合f 是需要事件中間件所提供的這 種異步松耦臺通信方式的。尤其當分布系統的可擴展性受劍較高的要求時( 地域范圍、用戶 數量) ,同步緊耦臺通信方式所賴以建正的高帶寬、低延遲、高可靠性等基本的下層服務假 第81 j 東南大學碩士學位論文事件中間件機制的研究及c o r b a 通告服務的設計與實現 設不能成立,異步松耦合的通信方式將使整個分布系統具有更好的使用性能。這一點也是事 件中間件區別于其它類型中間件系統的特征。 事件中間件作為一種中間件系統目的在于集成分布系統中的各個組件使其成為一個整 體達到信息共享協調工作的效果。如果不具備可集成性,而使其成為一個單獨的應用系統則 其特性與前面所述的電子郵件服務以及網絡新聞服務【2 3 】是相似的。因此應用程序接口 ( a p i ) 作為事件中間件提供給應用組件的集成手段是不可缺少的。而且事件中間件所提供 的應用程序接口的形式以及復雜程度將直接影響到應用組件的集成方式。 隨著計算機網絡應用與整個社會之間聯系的不斷加強越來越多的商業運作模式正在融 入網絡的應用中【2 7 。這種情況要求計算機網絡在提供基本的通信機制的基礎上還要對整個 通信過程面向應用進行有效地觀測和控制。這樣才有可能將復雜的商業運作模式,例如收費、 服務等級劃分等等,轉變為對于數據傳輸過程的管t 望 2 9 】。 事件中間件對于下層提供服務的假設是:事件中間件可以得到來自下層的可靠的端到端 數據傳輸服務。事件中間件的通信是通過在組件之間傳遞事件完成的,這種事件的傳遞可以 分為兩種類型:直接傳遞和間接傳遞。前者是針對于事件不經過其它事件中間件組件而直接 到達對方的兩個事件中間件組件之間的事件傳遞行為的描述,后者則是針對于事件需要經過 其它事件中間件組件的傳遞才能到達對方的兩個事件中間件組件之間的事件傳遞行為的描 述。可靠的端到端數據傳輸服務的下層服務假設可以保證事件中間件的直接傳遞方式滿足 “恰好一次”的傳遞語義。而間接傳遞方式所滿足的傳遞語義則是建立在直接傳遞的基礎上 根據不同的事件中間管理策略實現的。這種簡單的下層服務假設有利于事件中間件模型的一 般性和可擴展性。在現有的因特網體系結構中傳輸層以上的各層均可提供某種形式的端到端 可靠數據傳輸,例如直接通過t c p 協議進行數據傳輸或者通過c o r b a 調用【1 2 】等方式。 2 2 、事件中間件模型的結構 可以將事件中間件模型看作一個實現事件中間件所采用的各種技術相互結合以及聯系 的框架 3 5 3 6 1 。通過這個框架組織的技術以及算法是根據上一節所提到的事件中間件向上 層應用提供的服務以及事件中間件的下層應用假設進行選擇之后而確定的。框架中的不同組 成部分之間應當具有一致性,而各個組成部分自身則可以根據需要發生變化從而使事件中間 件得以不斷發展。 圖2 - t 給出了事件中間件的一個基本模型,該模型主要由五個模塊組成,各個模塊根據 事件中間件對于上層應用邏輯的處理順序進行組織,依次為:結構化事件模塊、語義分析模 塊、事件隊列管理模塊、應用集成模塊以及事件路由轉發模塊。這里應當注意的是應用集成 模塊同事件路由轉發模塊之間是相互隔離的這種劃分使事件中間件可以面向上層應用提供 三種不同的服務方式: 直接同上層應用邏輯進行集成,將得到的事件傳遞給上層應用進行處理;1 根據事件的特征以及相應的規則將事件通過下層數據傳輸服務傳遞給其它組 件:2 以上兩種服務方式的結合:3 1 方便起見本文中將具有這種服務方式的事件中間件組件成為事件集成節點 2 方便起見本文中將具有這種服務方式的事件中間件組件成為事件路由節點。 3 方便起見本文中將具有這種服務方式的事件中間件組件成為# 件服務節點。 第9r 貞 東南大學碩士學位論文 事件中間件機制的研究及c o r , b a 通告服務的設計與實現 一般來說事件中間件對于上層應_ u = ;| 邏輯的處理總是從事件集成節點或事件服務節點開始,經 過若干個事件路由廿點或事件服務節點的傳遞后結束于一個或多個事件集成節點或事件服 務節點。 2 2 i 、結構化事件 圖2 - 1 :事件中間件模型 事件是事件中間件中用來表達信息和處理信息的基本單元。上層應用通過事件對應用邏 輯進行表達4 ,通過事件的傳遞完成應用的集成。 事件的表示方式可以是無結構的也可以是結構化的。前者的優點是完成應用邏輯向事件 的轉化過程中操作簡單,一般來說只需要進行簡單的內存拷貝。但是這種方式將造成事件中 間件無法從事件中解析出相應的應用邏輯。基丁_ 連接的事件中間件采用的正是這種無結構的 事件表示方式例如c o r b a 事件服務中利h jc o r b a :a n y 的形式對事件進行表示。顯然 這種無法進行語義解析的事件表示方式不能滿足復雜應用需求,因此大多數事件中間件系統 采用結構化的方式表示事件。 結構化事件具有一定的結構,上層應用可以根據需要將應用邏輯按照事件的結構表達為 事件的各個組成部分。事件的結構可以是簡單的,例如在基于主題的事件中間件中事件的結 構僅僅表現為事件主題采用名值對( n a m e v a l u ep a i r ) 的方式進行表達。當然事件的結構也 可以非常復雜。例如在c o r b a 通告服務中采廂的是名值對序列( n a m e v a l u ep a i r s e q u e n c e ) 、靜態字符串以及c o r b a :a n y 三者相結合的方式來表達一個結構化事件。 4 在這里使用“表達”而小足“封裝”是想突m 這樣一個事實,即施用邏輯的語意對于事件中問件來說是 可見的。 第l o 負 點 事件服務節點 東南大學碩士學位論文 事件中問件機制的研究及c o r b a 通告服務的設計與實現 2 2 2 、事件的語義分析 事件的語義分析是指根據定的詞法和語法以及事件的表示方式,按照相應的規則提取 被分析的事件中符合規則要求的部分信息。事件中間件需要根據事件中包含的信息確定事件 的接收端,此外事件中間件還需要根據事件中包含的內容對事件進行管理,例如可以根據事 件中的內容結束一部分事件的傳遞,或者對一部分事件提高傳輸時的優先級,因此對結構化 事件進行語義分析是事件中間件對事件進行后續處理的基礎。 對事件進行語義分析是事件中間件的主要工作,直接決定了事件中間件對事件的處理速 度。如圖2 - 2 所示,事件中間件對事件進行一個串行化的處理過程。如果對事件進行語義分 圈2 - 2 :事件中間件對事件的處理流程 析的速度小于事件的到達速率將造成事件中間件中存儲的事件大量增加最終導致事件的丟 失。當事件中間件的規模擴大時,事件的到達速率將不可避免地增加。因此要保證事 牛中間 件的可擴展性可以從三個方面入手: 1 降低事件的到達速率; 2 提高對單個事件進行語義分析的速度; 3 在能夠完成正常的事件轉發的前提下減少對事件的語義分析 降低事件的到達速率以及減少不必要的語義分析涉及到在整個事件中間件的備個節點之間 進行事件路由的選擇,將在3 3 中進行詳細的討論。要提高對單個事件進行語義分析的速度 最簡單的方法是降低用于描述事件的詞法和語法的復雜性,然而這種復雜性的降低也意味著 事件對于上層應用邏輯表達能力的降低。因此對于描述結構化事件的詞法、語法復雜度的選 擇常常是折中進行的 3 3 1 3 4 。 2 2 3 、事件隊列的管理及事件中間件與應用的集成 事件在事件中間件中的存儲是由事件中間件的隊列管理完成的。事件隊列的管理是依據 一系列策略完成的,通過設置這些策略。事件中間件的用戶或者管理者可以對事件中間件的 許多服務特性進行及時的調整。例如可以根據事件的具體特征為不同的事件分配不同的優先 級,從而在事件的傳輸過程中實現不同級別的服務質量保證( q o s ) 。事件中間件的隊列管 理方式可以借漿許多成熟的方法,例如加權公平隊列等。 事件中間件與應用的集成主要體現為事件中間件向應用提供的調用接口。接口應該包括 完成各種事件發送、接收以及描述行為的調用,此外還有需要包括設置各種策略、屬性的調 用。接口的復雜程度直接體現了事件中間件提供服務的能力。現在已有的事件中間件調用接 第1 i 頁 至塑奎蘭塑:! 蘭些笙蘭 皇壁! 塑堡! ! 型竺竺塑絲! 旦些壘墮宣里墨塑望生量塞墨 1 3 規范包括c o r b a 事什服務、c o r b a 通告服務、j a v a 消息服務 1 6 】以及g l o b u s 2 5 消息 傳送接口等等。 集成方式也在一定程度上影響事件中間件的可使州性。可以在統一的網絡中間件平臺的 基礎上t 例如將事件中間什實現為c o r b a 服務的形式。在這種方式下可以利用原有中間件 平臺提供的異構性、網絡透明性等優點,從而可以方便地對上層應用進行集成。但是在事件 的處理過程中需要增加中間件平臺中的部分處理代價。岡此在效率上會有所降低。當然也可 以利用一些更基本的網絡服務,例如使用s o c k e t 完成事什中間什內部的通信。在這種方式 下事件傳遞的效率會有所提高,但是與上層席州的集成會相應的更加復雜。 2 2 4 、事件的路由轉發 事件中間件對丁事件的路由轉發是指將事件從發送端經過選定的路由傳遞到所有的希 望得到該事件的端點5 。事什的路由轉發需要解決事件中間件節點的定位、尋址、事件路由 的生成、事件路由的查找以及對事件進行轉發等問題。在【1 9 【2 0 】【2 1 】中對事件在中間節點的 路由轉發行為進行了描述,但是仍存在以f 問題: 1 路由的形成過程受到事什中間件白身拓撲結構的限制,只能在一個無環的拓撲 結構中形成路由: 2 僅僅從事件中間仆的中間訂點對事t i 的處理過程討論事件的路由,并沒有給出 在整個事件中間什范圍內建立事件路由的一般性方法: 3 注意到對事件進行語義解析的效率會對事件的轉發速度產生影響,并進而影響 到事件中間件的可擴展性,但是并沒有給出消除這種影響的方法。 縱觀事件中間件的發展歷樣可以看出,以上所列舉的兒個問題是事作中間件發展到一定階段 一定規模后產生的新問題,是事什中間什庸川走山局域網范同所需邁出的第一步。在第三章 的中將對事件的路由轉發進行詳細的討論,并構造事件中間件路由生成以及事件轉發的相應 算法。 5 為了以后討論上的方便在事件路由得過程中將發送事件的事件中問件組件叫做事件生產者,將最終得到 事件井將該事件提供給上層應用的事件中間件組件叫做事件消費者,在事件從事件生產者到事件消費者傳 遞的過程中經過的事件中間件組件稱為中間節點。 鶘1 2 貝 東南大學碩上學位論文 事件中間件封l 制的研究及c o r b a 通告服務的設計與實現 第三章構造可擴展的事件路由及轉發算法 3 1 、事件路由同i p 組播路由的比較 作為事件路由以及事件轉發算法研究的開始,首先可以考察比較成熟的i p 組播路由轉 發算法 1 7 1 1 1 8 1 1 2 4 】。該類算法可以從以下幾個方面進行簡單的刻畫: 信息的標識方式 i p 組播方式下利用i p 組播地址對信息進行標識,并進而與特定的m a c 地址相關聯。 一個發送主機將其所要發送的全部的信息封裝在l p 組播報文中,并以相應的i p 組播地址進 行標識。信息在鏈路層的傳遞中采用固定的映射方式將i p 地址轉換為m a c 地址,接收主 機將得到該m a c 地址標識的幀,然后根據其中的i p 組播地址判斷是否是其所需要的信息。 組成員關系 l p 組播中的組成員關系是通過“查詢一響應”的方式建立和維護的。支持r p 組播的路 由器首先周期性發送成員關系查詢報文,所有希望得到i p 組播信息的主機均可以在組播地 址( 2 2 4 0 0 1 ) 上接收到該查詢報文。主機通過向自己所希望得到信息的i p 組播地址發送 i g m p 成員關系報告報文來告知相應的組播路由器:在該組播地址上至少有一個主機希望得 到數據。 逆向路徑轉發 由于不可能知道關于下游的報文接收者的全部信息,l p 組搔方式下放棄了單播方式中 采用的通過目的地址與路由表進行匹配來作出轉發決定的作法。相反,組播路由器通過檢查 組播報文中的源地址以及該報文到達的接口來判斷其上游的組播路由器是否在正常工作。判 斷所依據的標準是組播報文到達的接口必須對應向源節點發送單播信息的接口。這種檢查方 式可以確保從上游路由器到達該路由器的報文不是經過回環路徑傳遞的重復報文,通過遞歸 就可以確保從源到任何一個節點不會出現回環路徑。 多播路由計算 路由計算在組播方式中的作用是形成到各個:市點的最小路徑樹,并以此為依據進行逆向 路徑轉發時的檢查。從這個角度來看多播路由計算同單播路由計算是相同的,實際上在有些 情況下多播轉發可以使用單播方式下的路由表。可以認為多播路由表所包含的信息是全局性 的,即反映了網絡中所有節點的與該節點的距離信息( d v m r p 方式下) 或者網絡的拓撲信 息( m o s p f 方式下) 。這種路由信息的全局性同樣也存在于單播路由方式中。 i p 路由方式一f 路由信息的全局性可以認為是如r 原因造成的:在單播方式下,由于各 個路由器之間相互獨立,因此一個路由器無法事先知道是否存在目的地址是其它路由器的報 文存在。如果當報文到達時才計算到相應的節點的路由顯然是不明智的,因此只能假定流向 網絡中所有的其它路由器的報文都有可能在本路由器經過。在多播方式下,一個路由器同樣 無法事先確定是否存在源為其它路由器的組播報文經過自身,因此也只能假定網絡中所有其 它路由器都有可能成為組播源并且其報文在本路由器經過。 第1 3 炎 東南大學碩士學位論文鼻件中間件機制的州了c 及c o r b a 通告服務的設計與實現 嫁接和剪枝 嫁接和剪枝為組播路由器提供了加入和退出組播轉發樹的機制。為了使新出現的接收者 加入組播轉發樹跆由器需要發送嫁接消息,而接收到嫁接消息的上游組播路由器會發送嫁 接確認消息。嫁接消息通過這種方式被一跳一跳地向上游傳送直到組播轉發樹,同時嫁接確 認消息也一跳一跳地向下游傳送,最終將建立起組橘轉發樹的新的分支。 當路由器發現沒有本地接收方時,必須向上游發送剪枝消息。上游路由器會根據其它f 游路由器地情況修改相應的數據井最終決定是否在組撩轉發樹上剪除該分支。 以同樣的方式考察事件中間件中的事件路由可以發現如f 特征: 信息的標識 事件中間件的事件中沒有特定的字段對事件進行標識。無法依靠一個字段就可以立刻判 斷出事件的發送端和接收端,這是事仆中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 157-2025產品幾何技術規范(GPS)圓錐的錐度與錐角系列
- 2025年醫學倫理與法律知識考試試卷及答案
- 2025年心理健康教育教師考試題及答案
- 2025年外貿單證員考試重要試卷及答案
- 2025年特許公認會計師考試試題及答案
- 2025年水利水電工程專業考核卷及答案
- 2025年體育教師職業技能考試試卷及答案
- 2025年市場行為與消費者心理研究考試試卷及答案
- Luliconazole-13C7-NND-502-sup-13-sup-C-sub-7-sub-生命科學試劑-MCE
- Cyclo-D-Pro-L-Val-生命科學試劑-MCE
- 口腔護理保健課件
- 云南省部分學校2024-2025學年高三上學期9月聯考試題 生物 含答案
- 八年級語文下冊綜合性學習之以和為貴
- 2024年(學習強國)思想政治理論知識考試題庫與答案
- DL∕T 540-2013 氣體繼電器檢驗規程
- 2024年廣東省廣州市花都區五年級數學第二學期期末學業水平測試試題含解析
- 2024年項目委托合同書
- YYT 0741-2009 數字化醫用X射線攝影系統 專用技術條件
- 期末考試-公共財政概論-章節習題
- 北京市西城區三帆中學2023-2024學年七年級下學期期中數學試題(無答案)
- MOOC 軟件測試-南京郵電大學 中國大學慕課答案
評論
0/150
提交評論