前言:本站為你精心整理了可配置訂閱系統(tǒng)現(xiàn)狀管理分析范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢(xún)。
編者按:本論文主要從相關(guān)工作;ACT-PS系統(tǒng)設(shè)計(jì)分析;ACT-PS體系結(jié)構(gòu);ACT-PS應(yīng)用等進(jìn)行講述,包括了事件模型、訂閱模型、通知模型、資源模型、協(xié)議模型、層疊網(wǎng)絡(luò)的設(shè)計(jì)優(yōu)化了系統(tǒng)的可擴(kuò)展特性、網(wǎng)絡(luò)基礎(chǔ)設(shè)施和傳輸服務(wù)層構(gòu)成了MTN、插件是實(shí)現(xiàn)了ACT-PS中一種功能的模塊、訂閱核心層等,具體資料請(qǐng)見(jiàn):
摘要:分析了當(dāng)前訂閱系統(tǒng)的主要類(lèi)型和存在的問(wèn)題?;谟嗛喯到y(tǒng)的主要設(shè)計(jì)模型,采用分層與插件相結(jié)合的動(dòng)態(tài)體系結(jié)構(gòu)設(shè)計(jì)方法,設(shè)計(jì)和實(shí)現(xiàn)了可配置和可擴(kuò)展的訂閱系統(tǒng)ACT-PS(ACT-Publish/SubscribeSystem),支持基于應(yīng)用需求的配置和擴(kuò)展。在具體的電子政務(wù)數(shù)據(jù)交換系統(tǒng)當(dāng)中的配置運(yùn)行表明,ACT-PS系統(tǒng)為通過(guò)可配置和可擴(kuò)展的方式建立訂閱系統(tǒng)提供了新的途徑。
關(guān)鍵詞:可配置;訂閱;可擴(kuò)展;體系結(jié)構(gòu)
訂閱(Publish/Subscribe,PS)通信模式因其反映了廣域網(wǎng)絡(luò)中應(yīng)用系統(tǒng)間動(dòng)態(tài)和松耦合通信的本質(zhì)特征,成為當(dāng)前研究熱點(diǎn)。訂閱系統(tǒng)的應(yīng)用分布在數(shù)據(jù)交換、工作流[1]、協(xié)同工作、移動(dòng)應(yīng)用等多個(gè)領(lǐng)域[2]。雖然目前基于訂閱服務(wù)的中間件研究有了一些實(shí)驗(yàn)和商業(yè)系統(tǒng),但是這些系統(tǒng)采用的配置和擴(kuò)展模式已經(jīng)不能很好地適應(yīng)快速變化的應(yīng)用需求。針對(duì)這一問(wèn)題,本文研究并設(shè)計(jì)了一種新的訂閱中間件系統(tǒng)ACT-PS,解決了基于特定應(yīng)用領(lǐng)域需求配置訂閱服務(wù)系統(tǒng)的問(wèn)題。
1相關(guān)工作
目前訂閱中間件系統(tǒng)主要有三種類(lèi)型,即通用商業(yè)系統(tǒng)、專(zhuān)用系統(tǒng)和微內(nèi)核系統(tǒng)。通用商業(yè)系統(tǒng)中面向?qū)ο笸ㄖ?wù)系統(tǒng)CORBANotificationService是最常見(jiàn)的一種。這些系統(tǒng)通常提供了比較全面的功能,傳輸效率和可靠性高。但其對(duì)訂閱的事件模型和訂閱模型等均作出了嚴(yán)格的限制,很難基于具體應(yīng)用場(chǎng)景進(jìn)行擴(kuò)展和配置[3]。專(zhuān)用訂閱系統(tǒng)則采用了面向需求建立PS應(yīng)用的策略。這種系統(tǒng)解決了各個(gè)領(lǐng)域中具體的需求,實(shí)現(xiàn)效率比較高,但很難重用,如CASSIUS[3]和YEAST系統(tǒng)。
目前流行的訂閱系統(tǒng)是通過(guò)微內(nèi)核的事件(事件具有兩種形式:消息和調(diào)用。本文特指消息)和事件路由技術(shù)將訂閱服務(wù)擴(kuò)展到廣域網(wǎng),如Elvin[4]、Gryphon[5]、Siena[6]等。這些系統(tǒng)具有特定的訂閱語(yǔ)言、事件模型、路由算法,以及固定的底層傳輸協(xié)議。該系統(tǒng)具有較強(qiáng)的可伸縮的能力,但系統(tǒng)內(nèi)部也不能進(jìn)行配置,類(lèi)似于一種面向特定領(lǐng)域的系統(tǒng)。
以上系統(tǒng)在構(gòu)建面向特定領(lǐng)域的訂閱通信系統(tǒng)過(guò)程當(dāng)中存在不同程度的問(wèn)題。本文采用了分層、插件和動(dòng)態(tài)配置等軟件體系結(jié)構(gòu)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一種可配置和可擴(kuò)展的訂閱系統(tǒng)ACT-PS(ACT-Publish/SubscribeSystem),提供訂閱系統(tǒng)關(guān)鍵設(shè)計(jì)模型的配置和擴(kuò)展能力,如訂閱語(yǔ)言、事件模型等設(shè)計(jì)模型。通過(guò)面向電子政務(wù)信息交換領(lǐng)域的系統(tǒng)應(yīng)用,表明ACT-PS能夠有效地解決當(dāng)前訂閱系統(tǒng)可配置和可擴(kuò)展性的問(wèn)題,為類(lèi)似系統(tǒng)的建立提供了有效的途徑。
2ACT-PS系統(tǒng)設(shè)計(jì)分析
文獻(xiàn)[7,8]分析了訂閱系統(tǒng)主要設(shè)計(jì)模型。Rosenblum[8]模型是其中較為典型的一種,它使用對(duì)象模型描述訂閱系統(tǒng)主要的參與對(duì)象;事件模型描述事件的表示方法;通知模型描述事件分發(fā)到訂閱者的方式;觀(guān)察模型描述與訂閱方式和興趣分布相關(guān)內(nèi)容;時(shí)間模型描述事件之間的因果關(guān)系和時(shí)態(tài);資源模型描述訂閱計(jì)算資源在系統(tǒng)中的分布;命名模型描述對(duì)象的定位和標(biāo)志方式。此外,目前很多附加功能和與網(wǎng)絡(luò)相關(guān)的特征已經(jīng)成為面向廣域網(wǎng)絡(luò)的訂閱系統(tǒng)的重要組成,如安全、移動(dòng)、內(nèi)容過(guò)濾、事件路由等。上述對(duì)于訂閱系統(tǒng)不同的設(shè)計(jì)模型描述中,關(guān)鍵的設(shè)計(jì)模型包括:
(1)事件模型。其中最普遍的形式是主題、元組和類(lèi)型[1]。為了配置和擴(kuò)展該模型,系統(tǒng)中的事件解析和構(gòu)造機(jī)制必須可擴(kuò)展。
(2)訂閱模型。訂閱描述方式主要包括自定義的訂閱語(yǔ)言、Xpath、類(lèi)SQL語(yǔ)言等。訂閱信息通常描述了事件的過(guò)濾策略、事件觀(guān)察劃分和分布策略等。訂閱管理應(yīng)當(dāng)能夠?qū)Σ煌嗛喺Z(yǔ)言的語(yǔ)法和語(yǔ)義識(shí)別實(shí)現(xiàn)擴(kuò)展。
(3)通知模型。目前常用的通知模式包括推、拉以及兩者混合的方式。這些模式可以通過(guò)一種策略描述機(jī)制描述,通知模型的擴(kuò)展與訂閱模型類(lèi)似。
(4)資源模型。應(yīng)用需求或者相關(guān)協(xié)議可能要求訂閱相關(guān)處理在服務(wù)器與客戶(hù)端之間的動(dòng)態(tài)分布,或者在方客戶(hù)端與訂閱方客戶(hù)端之間分布。通過(guò)這種方式減少了服務(wù)器的負(fù)載和復(fù)雜性。因此,系統(tǒng)應(yīng)當(dāng)提供功能和協(xié)議以實(shí)現(xiàn)分布處理并進(jìn)行交互的機(jī)制。
(5)協(xié)議模型。其中包括訂閱系統(tǒng)的傳輸協(xié)議、路由協(xié)議以及附加協(xié)議的擴(kuò)展。這三種協(xié)議是不同層次的協(xié)議,在系統(tǒng)中應(yīng)當(dāng)通過(guò)分層機(jī)制實(shí)現(xiàn)這些協(xié)議的可插拔,以便擴(kuò)展和配置。
由于關(guān)鍵的設(shè)計(jì)模型決定了訂閱中間件系統(tǒng)的主要的設(shè)計(jì)特征。ACT-PS的設(shè)計(jì)采用了針對(duì)少數(shù)關(guān)鍵設(shè)計(jì)模型和成熟應(yīng)用實(shí)例進(jìn)行擴(kuò)展和配置的策略,避免了多設(shè)計(jì)模型之間的隱含沖突[9]所帶來(lái)的高復(fù)雜性計(jì)算問(wèn)題。
3ACT-PS體系結(jié)構(gòu)
3.1概念體系結(jié)構(gòu)
ACT-PS中間件系統(tǒng)邏輯上可以劃分為消息傳輸網(wǎng)絡(luò)(MTN)和事件網(wǎng)絡(luò)(EDN)兩層層疊網(wǎng)絡(luò),如圖1所示。
層疊網(wǎng)絡(luò)的設(shè)計(jì)優(yōu)化了系統(tǒng)的可擴(kuò)展特性。MTN提供了消息傳輸服務(wù)并屏蔽了異構(gòu)網(wǎng)絡(luò)類(lèi)型和協(xié)議。EDN在MTN之上實(shí)現(xiàn)訂閱通信服務(wù)。EDN中的對(duì)象及其交互過(guò)程如圖2所示。其中:①者向EDN事件;②訂閱者向EDN訂閱事件;③EDN匹配事件和訂閱,并選擇目的訂閱者集合;④EDN完成事件的路由轉(zhuǎn)發(fā);⑤訂閱者的接入通知訂閱者。事件的體系結(jié)構(gòu)是訂閱通信處理的關(guān)鍵。設(shè)計(jì)中將其分為五層結(jié)構(gòu),如圖3所示。
網(wǎng)絡(luò)基礎(chǔ)設(shè)施和傳輸服務(wù)層構(gòu)成了MTN。核心層主要提供基本的訂閱處理服務(wù),如消息路由、事件匹配等。擴(kuò)展服務(wù)層提供了基于核心層實(shí)現(xiàn)的訂閱系統(tǒng)的附加協(xié)議服務(wù)的擴(kuò)展機(jī)制,如內(nèi)容過(guò)濾、安全和移動(dòng)協(xié)議等。服務(wù)表示層支持對(duì)ACT-PS事件的可編程或GUI操作,滿(mǎn)足中間件的可用性。管理工具提供了體系結(jié)構(gòu)組成部分的配置和管理功能,滿(mǎn)足中間件可管理性的要求。安全控制體系主要處理在訂閱通信過(guò)程中各個(gè)層次的安全機(jī)制。事件和訂閱客戶(hù)端以及基于相關(guān)協(xié)議的連接構(gòu)成了訂閱系統(tǒng),如圖4所示。訂閱客戶(hù)端封裝了事件服務(wù)器的部分處理邏輯,根據(jù)應(yīng)用場(chǎng)景能夠有效地實(shí)現(xiàn)相關(guān)計(jì)算的分配和分布。后續(xù)主要介紹事件體系結(jié)構(gòu)各個(gè)組成部分的設(shè)計(jì)。
3.2管理工具
管理工具的內(nèi)部組成結(jié)構(gòu)如圖5所示。其中,體系結(jié)構(gòu)管理器提供了整個(gè)系統(tǒng)動(dòng)態(tài)部署時(shí)和運(yùn)行時(shí)的管理功能,負(fù)責(zé)不同管理功能插件的更新、注銷(xiāo)、激活和鈍化,是整個(gè)管理工具的核心。通過(guò)體系結(jié)構(gòu)管理器,訂閱系統(tǒng)能夠?qū)崿F(xiàn)對(duì)已有功能和擴(kuò)展配置功能的有效管理。
插件是實(shí)現(xiàn)了ACT-PS中一種功能的模塊。每個(gè)插件具有一個(gè)配置文件,描述了其功能和接口信息。插件注冊(cè)庫(kù)記錄了已注冊(cè)插件的相關(guān)信息及其相互依賴(lài)關(guān)系。服務(wù)注冊(cè)器負(fù)責(zé)檢查系統(tǒng)中新增加的插件,并將其注冊(cè)到插件注冊(cè)庫(kù)。服務(wù)裝載器負(fù)責(zé)根據(jù)插件配置文件裝載和初始化、實(shí)例化插件。管理工具在部署時(shí)通過(guò)體系結(jié)構(gòu)管理器將已有插件注冊(cè);在運(yùn)行時(shí),根據(jù)系統(tǒng)配置文件中的信息,如環(huán)境變量、插件裝載順序等,確定系統(tǒng)運(yùn)行的流程并查找和加載相應(yīng)的插件。
3.3訂閱核心層
訂閱核心層主要是擴(kuò)展和配置對(duì)象。其內(nèi)部結(jié)構(gòu)和處理流程如圖6所示。
消息解析和消息構(gòu)造模塊負(fù)責(zé)與底層消息基礎(chǔ)傳輸設(shè)施交互,提供消息報(bào)文的解析和構(gòu)造服務(wù)。通過(guò)配置和擴(kuò)展該模塊可以實(shí)現(xiàn)對(duì)多種事件模型的擴(kuò)展。事件隊(duì)列用于緩存到達(dá)的事件。管理器從事件隊(duì)列中獲得當(dāng)前事件,并進(jìn)行兩方面處理:①適配,解決異構(gòu)事件模型的語(yǔ)義兼容性問(wèn)題;②匹配,即將事件發(fā)送給訂閱管理器進(jìn)行匹配并獲得結(jié)果。
訂閱管理器是核心層中的主要部件。它負(fù)責(zé)處理訂閱事件的解析、注冊(cè)、退訂、匹配、查詢(xún)、訂閱信息庫(kù)的管理等。訂閱信息庫(kù)保存并提供對(duì)訂閱信息的增、刪、改、查的操作接口。訂閱管理和訂閱信息庫(kù)與訂閱系統(tǒng)的訂閱模型相關(guān)聯(lián),實(shí)現(xiàn)了對(duì)不同訂閱語(yǔ)言及其語(yǔ)義判定的配置和擴(kuò)展,如類(lèi)SQL和Xpath訂閱語(yǔ)言。通過(guò)改變訂閱管理器的配置可以完成匹配算法的擴(kuò)展。
路由管理器接收帶有目的地址的事件,然后由系統(tǒng)配置信息中獲得相關(guān)的路由協(xié)議和算法,計(jì)算下一跳的地址。通知管理器接收路由管理器處理完畢的事件,然后由系統(tǒng)配置信息中獲得當(dāng)前的通知策略,如推數(shù)據(jù)或者拉數(shù)據(jù),并將構(gòu)造完成的通知報(bào)文加入通知隊(duì)列。消息構(gòu)造模塊將通知構(gòu)造為傳輸層格式報(bào)文,完成事件在核心層的處理過(guò)程。
核心層流程舉例如下:消息解析將傳輸層報(bào)文解析為當(dāng)前事件模型結(jié)構(gòu),并構(gòu)造上下文信息;管理首先進(jìn)行相應(yīng)的適配,例如擴(kuò)展基于主題模型支持類(lèi)型屬性,然后調(diào)用訂閱管理,基于訂閱信息庫(kù)中已注冊(cè)訂閱信息匹配該事件目的地址;路由管理器基于事件的目的地址計(jì)算路由;通知管理基于當(dāng)前通知策略,將事件加入相應(yīng)的通知隊(duì)列;消息構(gòu)造將事件及其上下文信息構(gòu)造為報(bào)文交付消息傳輸層,如果是訂閱消息,則訂閱管理將其加入信息庫(kù);或者調(diào)用路由管理將其路由到目的服務(wù)器。
3.4擴(kuò)展服務(wù)層
擴(kuò)展服務(wù)層主要功能在于基于訂閱核心層配置和擴(kuò)展附加功能和協(xié)議,如圖7所示。其中協(xié)議描述XML文件記錄了附加功能和協(xié)議的需求,體系結(jié)構(gòu)管理器基于該描述文件,選擇裝載相應(yīng)的功能插件進(jìn)行配置和擴(kuò)展。協(xié)議描述為一組原語(yǔ)消息及其序列關(guān)系。每個(gè)協(xié)議由一個(gè)功能插件處理,接收訂閱核心層對(duì)該協(xié)議的請(qǐng)求并作出響應(yīng)??刹灏蔚纳蠈討?yīng)用服務(wù)則基于插件功能實(shí)現(xiàn)。
3.5ACT-PS客戶(hù)端
ACT-PS客戶(hù)端的主要作用是支持異構(gòu)應(yīng)用系統(tǒng)接入ACT-PS中間件系統(tǒng)。它由消息和協(xié)議適配器以及消息傳輸服務(wù)組成,如圖8所示。消息適配主要解決上層應(yīng)用與ACT-PS系統(tǒng)之間消息格式的轉(zhuǎn)換問(wèn)題,如事件模型和訂閱描述方式。協(xié)議適配主要解決上層應(yīng)用系統(tǒng)與ACT-PS系統(tǒng)交互的部分協(xié)議處理,不同的協(xié)議適配可以調(diào)整客戶(hù)端和事件服務(wù)器端之間的協(xié)議處理分布。如由客戶(hù)端處理部分的事件匹配或者路由操作。消息傳輸服務(wù)實(shí)現(xiàn)了客戶(hù)端與事件網(wǎng)絡(luò)的可靠消息發(fā)送和接收。這種結(jié)構(gòu)提供了資源模型的擴(kuò)展和配置機(jī)制。此外,動(dòng)態(tài)配置的客戶(hù)端實(shí)現(xiàn)訂閱處理的動(dòng)態(tài)分布,如集中式或分布式結(jié)構(gòu)的擴(kuò)展。
一個(gè)簡(jiǎn)單客戶(hù)端的事件處理流程描述如下:在一般數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中,首先將其數(shù)據(jù)格式轉(zhuǎn)換為XML/SOAP的數(shù)據(jù)格式,數(shù)據(jù)內(nèi)容以事件或者訂閱的數(shù)據(jù)結(jié)構(gòu)描述,在事件中加入訂閱交互協(xié)議內(nèi)容,然后通過(guò)消息傳輸服務(wù)交付ACT-PS事件網(wǎng)絡(luò)處理訂閱通信請(qǐng)求并異步等待接收響應(yīng)。
3.6小結(jié)
本節(jié)基于訂閱系統(tǒng)的設(shè)計(jì)分析提出了ACT-PS系統(tǒng)的體系結(jié)構(gòu)及其主要組成。ACT-PS的主要配置和擴(kuò)展機(jī)制概括為:
(1)層疊網(wǎng)絡(luò)結(jié)構(gòu)提供了消息傳輸中間件和訂閱通信中間件組合配置、擴(kuò)展機(jī)制。
(2)事件的分層結(jié)構(gòu)和插件機(jī)制實(shí)現(xiàn)了訂閱基本處理和附加功能的松耦合交互和集成。
(3)訂閱核心層實(shí)現(xiàn)了關(guān)鍵設(shè)計(jì)模型的配置和擴(kuò)展機(jī)制。
(4)擴(kuò)展服務(wù)層實(shí)現(xiàn)了附加協(xié)議的擴(kuò)展,路由管理實(shí)現(xiàn)了路由協(xié)議的擴(kuò)展,消息傳輸網(wǎng)絡(luò)實(shí)現(xiàn)了底層網(wǎng)絡(luò)協(xié)議的擴(kuò)展。
(5)體系結(jié)構(gòu)管理器基于配置信息裝載服務(wù)和插件形成了功能擴(kuò)展框架。
4ACT-PS應(yīng)用
ACT-PS系統(tǒng)已經(jīng)在黑龍江省電子政務(wù)信息交換系統(tǒng)中運(yùn)行,實(shí)現(xiàn)了異構(gòu)分布式應(yīng)用之間的訂閱信息交換。
4.1應(yīng)用場(chǎng)景
為了協(xié)作完成統(tǒng)一任務(wù)和共享數(shù)據(jù),分散在連接因特網(wǎng)的異構(gòu)應(yīng)用系統(tǒng)中的電子政務(wù)數(shù)據(jù)源需要進(jìn)行訂閱數(shù)據(jù)交換,如工商、稅務(wù)和公安的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。異構(gòu)數(shù)據(jù)源之間需要進(jìn)行訂閱松耦合異步通信和交換。為了便于更好地監(jiān)控和管理,事件網(wǎng)絡(luò)通過(guò)樹(shù)狀結(jié)構(gòu)連接。MTN集成了北京航空航天大學(xué)自主開(kāi)發(fā)的SOAP消息中間件系統(tǒng)ACT-IIP,提供SOAP消息可靠、持久和異步傳輸服務(wù)。
4.2EDN主要流程和實(shí)現(xiàn)策略
EDN中的事件流程如圖9所示。者通過(guò)事件網(wǎng)絡(luò)向上事件內(nèi)容信息;訂閱者則逐層向上瀏覽已經(jīng)的內(nèi)容并基于瀏覽結(jié)果向者訂閱;者的接入根據(jù)事件訂閱者集合通知訂閱。
系統(tǒng)中的事件模型采用了基于主題的方式。使用SOAP報(bào)文作為消息的載體。路由算法利用層次拓?fù)浣Y(jié)構(gòu),采用了向上和瀏覽、向下訂閱的策略。路由、訂閱路由和瀏覽路由、通知路由的流程如圖9所示。擴(kuò)展服務(wù)附加了主題內(nèi)容的過(guò)濾機(jī)制,并實(shí)現(xiàn)了自動(dòng)關(guān)鍵字過(guò)濾。客戶(hù)端提供了異構(gòu)數(shù)據(jù)轉(zhuǎn)換適配器,支持異構(gòu)應(yīng)用數(shù)據(jù)接入。服務(wù)表示層提供了可編程API。體系結(jié)構(gòu)管理器在部署時(shí)根據(jù)系統(tǒng)配置文件config.xml確定功能的加載順序,并通過(guò)服務(wù)裝載器裝載相應(yīng)的插件;在運(yùn)行時(shí),基于插件描述文件plugin.xml更新功能插件。系統(tǒng)配置文件config.xml的主要描述內(nèi)容包括:①環(huán)境變量;②系統(tǒng)功能加載順序;③插件目錄;④命名規(guī)則;⑤各種功能資源配置信息。插件描述文件plugin.xml集中描述了插件的基本信息(如插件的名字、類(lèi)型、實(shí)現(xiàn)類(lèi)的類(lèi)名、組合和依賴(lài)關(guān)系等)。
5結(jié)束語(yǔ)
ACT-PS解決了可配置和可擴(kuò)展訂閱通信的一些初步問(wèn)題,并在實(shí)際數(shù)據(jù)交換系統(tǒng)中進(jìn)行了配置和擴(kuò)展實(shí)現(xiàn),為一般的訂閱中間件系統(tǒng)的建立提供了參考。目前可配置訂閱系統(tǒng)的研究仍然是一個(gè)新的領(lǐng)域,后續(xù)的工作是進(jìn)一步深入研究設(shè)計(jì)模型之間的語(yǔ)義沖突和訂閱系統(tǒng)安全控制問(wèn)題。