首頁 > 文章中心 > 正文

          可配置訂閱系統現狀管理分析

          前言:本站為你精心整理了可配置訂閱系統現狀管理分析范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

          可配置訂閱系統現狀管理分析

          編者按:本論文主要從相關工作;ACT-PS系統設計分析;ACT-PS體系結構;ACT-PS應用等進行講述,包括了事件模型、訂閱模型、通知模型、資源模型、協議模型、層疊網絡的設計優化了系統的可擴展特性、網絡基礎設施和傳輸服務層構成了MTN、插件是實現了ACT-PS中一種功能的模塊、訂閱核心層等,具體資料請見:

          摘要:分析了當前訂閱系統的主要類型和存在的問題?;谟嗛喯到y的主要設計模型,采用分層與插件相結合的動態體系結構設計方法,設計和實現了可配置和可擴展的訂閱系統ACT-PS(ACT-Publish/SubscribeSystem),支持基于應用需求的配置和擴展。在具體的電子政務數據交換系統當中的配置運行表明,ACT-PS系統為通過可配置和可擴展的方式建立訂閱系統提供了新的途徑。

          關鍵詞:可配置;訂閱;可擴展;體系結構

          訂閱(Publish/Subscribe,PS)通信模式因其反映了廣域網絡中應用系統間動態和松耦合通信的本質特征,成為當前研究熱點。訂閱系統的應用分布在數據交換、工作流[1]、協同工作、移動應用等多個領域[2]。雖然目前基于訂閱服務的中間件研究有了一些實驗和商業系統,但是這些系統采用的配置和擴展模式已經不能很好地適應快速變化的應用需求。針對這一問題,本文研究并設計了一種新的訂閱中間件系統ACT-PS,解決了基于特定應用領域需求配置訂閱服務系統的問題。

          1相關工作

          目前訂閱中間件系統主要有三種類型,即通用商業系統、專用系統和微內核系統。通用商業系統中面向對象通知服務系統CORBANotificationService是最常見的一種。這些系統通常提供了比較全面的功能,傳輸效率和可靠性高。但其對訂閱的事件模型和訂閱模型等均作出了嚴格的限制,很難基于具體應用場景進行擴展和配置[3]。專用訂閱系統則采用了面向需求建立PS應用的策略。這種系統解決了各個領域中具體的需求,實現效率比較高,但很難重用,如CASSIUS[3]和YEAST系統。

          目前流行的訂閱系統是通過微內核的事件(事件具有兩種形式:消息和調用。本文特指消息)和事件路由技術將訂閱服務擴展到廣域網,如Elvin[4]、Gryphon[5]、Siena[6]等。這些系統具有特定的訂閱語言、事件模型、路由算法,以及固定的底層傳輸協議。該系統具有較強的可伸縮的能力,但系統內部也不能進行配置,類似于一種面向特定領域的系統。

          以上系統在構建面向特定領域的訂閱通信系統過程當中存在不同程度的問題。本文采用了分層、插件和動態配置等軟件體系結構技術,設計并實現了一種可配置和可擴展的訂閱系統ACT-PS(ACT-Publish/SubscribeSystem),提供訂閱系統關鍵設計模型的配置和擴展能力,如訂閱語言、事件模型等設計模型。通過面向電子政務信息交換領域的系統應用,表明ACT-PS能夠有效地解決當前訂閱系統可配置和可擴展性的問題,為類似系統的建立提供了有效的途徑。

          2ACT-PS系統設計分析

          文獻[7,8]分析了訂閱系統主要設計模型。Rosenblum[8]模型是其中較為典型的一種,它使用對象模型描述訂閱系統主要的參與對象;事件模型描述事件的表示方法;通知模型描述事件分發到訂閱者的方式;觀察模型描述與訂閱方式和興趣分布相關內容;時間模型描述事件之間的因果關系和時態;資源模型描述訂閱計算資源在系統中的分布;命名模型描述對象的定位和標志方式。此外,目前很多附加功能和與網絡相關的特征已經成為面向廣域網絡的訂閱系統的重要組成,如安全、移動、內容過濾、事件路由等。上述對于訂閱系統不同的設計模型描述中,關鍵的設計模型包括:

          (1)事件模型。其中最普遍的形式是主題、元組和類型[1]。為了配置和擴展該模型,系統中的事件解析和構造機制必須可擴展。

          (2)訂閱模型。訂閱描述方式主要包括自定義的訂閱語言、Xpath、類SQL語言等。訂閱信息通常描述了事件的過濾策略、事件觀察劃分和分布策略等。訂閱管理應當能夠對不同訂閱語言的語法和語義識別實現擴展。

          (3)通知模型。目前常用的通知模式包括推、拉以及兩者混合的方式。這些模式可以通過一種策略描述機制描述,通知模型的擴展與訂閱模型類似。

          (4)資源模型。應用需求或者相關協議可能要求訂閱相關處理在服務器與客戶端之間的動態分布,或者在方客戶端與訂閱方客戶端之間分布。通過這種方式減少了服務器的負載和復雜性。因此,系統應當提供功能和協議以實現分布處理并進行交互的機制。

          (5)協議模型。其中包括訂閱系統的傳輸協議、路由協議以及附加協議的擴展。這三種協議是不同層次的協議,在系統中應當通過分層機制實現這些協議的可插拔,以便擴展和配置。

          由于關鍵的設計模型決定了訂閱中間件系統的主要的設計特征。ACT-PS的設計采用了針對少數關鍵設計模型和成熟應用實例進行擴展和配置的策略,避免了多設計模型之間的隱含沖突[9]所帶來的高復雜性計算問題。

          3ACT-PS體系結構

          3.1概念體系結構

          ACT-PS中間件系統邏輯上可以劃分為消息傳輸網絡(MTN)和事件網絡(EDN)兩層層疊網絡,如圖1所示。

          層疊網絡的設計優化了系統的可擴展特性。MTN提供了消息傳輸服務并屏蔽了異構網絡類型和協議。EDN在MTN之上實現訂閱通信服務。EDN中的對象及其交互過程如圖2所示。其中:①者向EDN事件;②訂閱者向EDN訂閱事件;③EDN匹配事件和訂閱,并選擇目的訂閱者集合;④EDN完成事件的路由轉發;⑤訂閱者的接入通知訂閱者。事件的體系結構是訂閱通信處理的關鍵。設計中將其分為五層結構,如圖3所示。

          網絡基礎設施和傳輸服務層構成了MTN。核心層主要提供基本的訂閱處理服務,如消息路由、事件匹配等。擴展服務層提供了基于核心層實現的訂閱系統的附加協議服務的擴展機制,如內容過濾、安全和移動協議等。服務表示層支持對ACT-PS事件的可編程或GUI操作,滿足中間件的可用性。管理工具提供了體系結構組成部分的配置和管理功能,滿足中間件可管理性的要求。安全控制體系主要處理在訂閱通信過程中各個層次的安全機制。事件和訂閱客戶端以及基于相關協議的連接構成了訂閱系統,如圖4所示。訂閱客戶端封裝了事件服務器的部分處理邏輯,根據應用場景能夠有效地實現相關計算的分配和分布。后續主要介紹事件體系結構各個組成部分的設計。

          3.2管理工具

          管理工具的內部組成結構如圖5所示。其中,體系結構管理器提供了整個系統動態部署時和運行時的管理功能,負責不同管理功能插件的更新、注銷、激活和鈍化,是整個管理工具的核心。通過體系結構管理器,訂閱系統能夠實現對已有功能和擴展配置功能的有效管理。

          插件是實現了ACT-PS中一種功能的模塊。每個插件具有一個配置文件,描述了其功能和接口信息。插件注冊庫記錄了已注冊插件的相關信息及其相互依賴關系。服務注冊器負責檢查系統中新增加的插件,并將其注冊到插件注冊庫。服務裝載器負責根據插件配置文件裝載和初始化、實例化插件。管理工具在部署時通過體系結構管理器將已有插件注冊;在運行時,根據系統配置文件中的信息,如環境變量、插件裝載順序等,確定系統運行的流程并查找和加載相應的插件。

          3.3訂閱核心層

          訂閱核心層主要是擴展和配置對象。其內部結構和處理流程如圖6所示。

          消息解析和消息構造模塊負責與底層消息基礎傳輸設施交互,提供消息報文的解析和構造服務。通過配置和擴展該模塊可以實現對多種事件模型的擴展。事件隊列用于緩存到達的事件。管理器從事件隊列中獲得當前事件,并進行兩方面處理:①適配,解決異構事件模型的語義兼容性問題;②匹配,即將事件發送給訂閱管理器進行匹配并獲得結果。

          訂閱管理器是核心層中的主要部件。它負責處理訂閱事件的解析、注冊、退訂、匹配、查詢、訂閱信息庫的管理等。訂閱信息庫保存并提供對訂閱信息的增、刪、改、查的操作接口。訂閱管理和訂閱信息庫與訂閱系統的訂閱模型相關聯,實現了對不同訂閱語言及其語義判定的配置和擴展,如類SQL和Xpath訂閱語言。通過改變訂閱管理器的配置可以完成匹配算法的擴展。

          路由管理器接收帶有目的地址的事件,然后由系統配置信息中獲得相關的路由協議和算法,計算下一跳的地址。通知管理器接收路由管理器處理完畢的事件,然后由系統配置信息中獲得當前的通知策略,如推數據或者拉數據,并將構造完成的通知報文加入通知隊列。消息構造模塊將通知構造為傳輸層格式報文,完成事件在核心層的處理過程。

          核心層流程舉例如下:消息解析將傳輸層報文解析為當前事件模型結構,并構造上下文信息;管理首先進行相應的適配,例如擴展基于主題模型支持類型屬性,然后調用訂閱管理,基于訂閱信息庫中已注冊訂閱信息匹配該事件目的地址;路由管理器基于事件的目的地址計算路由;通知管理基于當前通知策略,將事件加入相應的通知隊列;消息構造將事件及其上下文信息構造為報文交付消息傳輸層,如果是訂閱消息,則訂閱管理將其加入信息庫;或者調用路由管理將其路由到目的服務器。

          3.4擴展服務層

          擴展服務層主要功能在于基于訂閱核心層配置和擴展附加功能和協議,如圖7所示。其中協議描述XML文件記錄了附加功能和協議的需求,體系結構管理器基于該描述文件,選擇裝載相應的功能插件進行配置和擴展。協議描述為一組原語消息及其序列關系。每個協議由一個功能插件處理,接收訂閱核心層對該協議的請求并作出響應??刹灏蔚纳蠈討梅談t基于插件功能實現。

          3.5ACT-PS客戶端

          ACT-PS客戶端的主要作用是支持異構應用系統接入ACT-PS中間件系統。它由消息和協議適配器以及消息傳輸服務組成,如圖8所示。消息適配主要解決上層應用與ACT-PS系統之間消息格式的轉換問題,如事件模型和訂閱描述方式。協議適配主要解決上層應用系統與ACT-PS系統交互的部分協議處理,不同的協議適配可以調整客戶端和事件服務器端之間的協議處理分布。如由客戶端處理部分的事件匹配或者路由操作。消息傳輸服務實現了客戶端與事件網絡的可靠消息發送和接收。這種結構提供了資源模型的擴展和配置機制。此外,動態配置的客戶端實現訂閱處理的動態分布,如集中式或分布式結構的擴展。

          一個簡單客戶端的事件處理流程描述如下:在一般數據庫應用系統中,首先將其數據格式轉換為XML/SOAP的數據格式,數據內容以事件或者訂閱的數據結構描述,在事件中加入訂閱交互協議內容,然后通過消息傳輸服務交付ACT-PS事件網絡處理訂閱通信請求并異步等待接收響應。

          3.6小結

          本節基于訂閱系統的設計分析提出了ACT-PS系統的體系結構及其主要組成。ACT-PS的主要配置和擴展機制概括為:

          (1)層疊網絡結構提供了消息傳輸中間件和訂閱通信中間件組合配置、擴展機制。

          (2)事件的分層結構和插件機制實現了訂閱基本處理和附加功能的松耦合交互和集成。

          (3)訂閱核心層實現了關鍵設計模型的配置和擴展機制。

          (4)擴展服務層實現了附加協議的擴展,路由管理實現了路由協議的擴展,消息傳輸網絡實現了底層網絡協議的擴展。

          (5)體系結構管理器基于配置信息裝載服務和插件形成了功能擴展框架。

          4ACT-PS應用

          ACT-PS系統已經在黑龍江省電子政務信息交換系統中運行,實現了異構分布式應用之間的訂閱信息交換。

          4.1應用場景

          為了協作完成統一任務和共享數據,分散在連接因特網的異構應用系統中的電子政務數據源需要進行訂閱數據交換,如工商、稅務和公安的數據庫應用系統。異構數據源之間需要進行訂閱松耦合異步通信和交換。為了便于更好地監控和管理,事件網絡通過樹狀結構連接。MTN集成了北京航空航天大學自主開發的SOAP消息中間件系統ACT-IIP,提供SOAP消息可靠、持久和異步傳輸服務。

          4.2EDN主要流程和實現策略

          EDN中的事件流程如圖9所示。者通過事件網絡向上事件內容信息;訂閱者則逐層向上瀏覽已經的內容并基于瀏覽結果向者訂閱;者的接入根據事件訂閱者集合通知訂閱。

          系統中的事件模型采用了基于主題的方式。使用SOAP報文作為消息的載體。路由算法利用層次拓撲結構,采用了向上和瀏覽、向下訂閱的策略。路由、訂閱路由和瀏覽路由、通知路由的流程如圖9所示。擴展服務附加了主題內容的過濾機制,并實現了自動關鍵字過濾??蛻舳颂峁┝水悩嫈祿D換適配器,支持異構應用數據接入。服務表示層提供了可編程API。體系結構管理器在部署時根據系統配置文件config.xml確定功能的加載順序,并通過服務裝載器裝載相應的插件;在運行時,基于插件描述文件plugin.xml更新功能插件。系統配置文件config.xml的主要描述內容包括:①環境變量;②系統功能加載順序;③插件目錄;④命名規則;⑤各種功能資源配置信息。插件描述文件plugin.xml集中描述了插件的基本信息(如插件的名字、類型、實現類的類名、組合和依賴關系等)。

          5結束語

          ACT-PS解決了可配置和可擴展訂閱通信的一些初步問題,并在實際數據交換系統中進行了配置和擴展實現,為一般的訂閱中間件系統的建立提供了參考。目前可配置訂閱系統的研究仍然是一個新的領域,后續的工作是進一步深入研究設計模型之間的語義沖突和訂閱系統安全控制問題。

          文檔上傳者