摘 要: 介紹了對(duì)象管理組織發(fā)布的數(shù)據(jù)分發(fā)服務(wù)(DDS)新規(guī)范,描述了DDS規(guī)范兩個(gè)層次的接口DCPS和DLRL,,闡述了DDS數(shù)據(jù)分發(fā)的基本思想,分析了QoS策略及其特征,,探討了DDS適用的場(chǎng)合和未來的發(fā)展,。
關(guān)鍵詞: 中間件;數(shù)據(jù)分發(fā)服務(wù),;發(fā)布/訂閱,;服務(wù)質(zhì)量
網(wǎng)絡(luò)經(jīng)濟(jì)時(shí)代的來臨使企業(yè)面臨信息化的挑戰(zhàn),,如何利用信息技術(shù),將不同的應(yīng)用系統(tǒng)集成為一個(gè)高效的整體,,采納現(xiàn)代的管理理念和方法,,消除信息孤島現(xiàn)象,及時(shí)將關(guān)鍵信息服務(wù)送到一線工作人員的手中,,成為企業(yè)提高市場(chǎng)競(jìng)爭(zhēng)力的關(guān)鍵,。在傳統(tǒng)的以平臺(tái)為中心的系統(tǒng)中,各個(gè)應(yīng)用之間直接通信,,形成了復(fù)雜的連接關(guān)系,,而這種系統(tǒng)往往要求以有限的資源滿足通信的確定性、多種QoS[1]特性,、系統(tǒng)可伸縮性和靈活性,。實(shí)踐證明,傳統(tǒng)的分布式共享內(nèi)存模型完成了以數(shù)據(jù)為中心的交換功能,,但是效率較低,,無法滿足可伸縮性、靈活性的要求,。此外,,目前較為成熟的中間件產(chǎn)品并不能很好地解決通信的實(shí)時(shí)性、快捷性和靈活性問題,。因此,,在數(shù)據(jù)發(fā)布服務(wù)(DDS)[2]中建立了另外一種模型,即以數(shù)據(jù)為中心的發(fā)布/訂閱(DCPS)模型,。DCPS層是DDS規(guī)范的核心,,它提供了數(shù)據(jù)發(fā)布的基礎(chǔ)架構(gòu),確保正確有效地將信息傳輸給適當(dāng)?shù)慕邮照?。本文將?duì)DDS進(jìn)行較為詳細(xì)的分析和研究,。
1 DDS體系結(jié)構(gòu)
通常使用的網(wǎng)絡(luò)模型有三種:點(diǎn)到點(diǎn)模型、服務(wù)器-客戶端模型和出版/訂閱模型,。而DDS數(shù)據(jù)分發(fā)服務(wù)采用的是以數(shù)據(jù)為中心的發(fā)布/訂閱模型,。通過圖1可以直觀的看出三者的差別。
1.1 點(diǎn)到點(diǎn)模型
點(diǎn)到點(diǎn)模型模型一般適用在電話和TCP串行連接,,是面向連接的通信,,缺點(diǎn)是裁剪性差。
1.2 服務(wù)器-客戶端(C/S)模型
服務(wù)器-客戶端(C/S)模型適用于文件系統(tǒng),、數(shù)據(jù)庫(kù)及遠(yuǎn)端請(qǐng)求,,它以服務(wù)為中心,服務(wù)器提供服務(wù),,而客戶接收這些服務(wù),;通行是由客戶端主動(dòng)發(fā)起的,,它必須綁定到服務(wù)器上,并通過調(diào)用特定的操作來更改或獲取信息,。另外其是面向連接的通信,,存在單點(diǎn)失敗的可能,,并且存在性能瓶頸,。CORBA、DCOM及RPC就使用這一模型,。
1.3 出版/訂閱模型
DDS規(guī)范標(biāo)準(zhǔn)化了分布式實(shí)時(shí)系統(tǒng)[4]中的數(shù)據(jù)分布,,DDS規(guī)范的目的是簡(jiǎn)化分布式系統(tǒng)中數(shù)據(jù)的有效發(fā)布,它主要應(yīng)用在要求高性能,、可預(yù)見性和對(duì)資源有效使用的關(guān)鍵任務(wù)領(lǐng)域,。
DDS規(guī)范分為DCPS和DLRL兩層,其中,,DCPS處于底層,,提供通信的基本服務(wù),DLRL封裝DCPS的服務(wù)并提供給應(yīng)用層,。DCPS如同總線,,各個(gè)應(yīng)用掛接在總線(全局?jǐn)?shù)據(jù)空間和主題)上互相通信。DCPS層是DDS規(guī)范的核心,,它提供了數(shù)據(jù)發(fā)布的基礎(chǔ)架構(gòu),。DLRL層建立在DCPS基礎(chǔ)之上,主要是規(guī)定了應(yīng)用層和DCPS層之間的接口,,該接口將接收到的數(shù)據(jù)進(jìn)行融合并傳遞給應(yīng)用層,,通過底層的DCPS提供服務(wù),簡(jiǎn)化了編程工作,。
分布式共享內(nèi)存[3](Distributed Shared Memory)是一種以數(shù)據(jù)為中心的經(jīng)典模型,。該模型基于全局?jǐn)?shù)據(jù)空間的概念,所有對(duì)該空間中的數(shù)據(jù)感興趣的應(yīng)用程序都可以接入,。想要向這個(gè)數(shù)據(jù)空間提供信息的應(yīng)用程序聲明意圖并成為“Publisher”,;同樣,想從數(shù)據(jù)空間中獲取數(shù)據(jù)的應(yīng)用程序成為“Subscriber”,。每當(dāng)Publisher將新數(shù)據(jù)發(fā)送到這個(gè)全局?jǐn)?shù)據(jù)空間時(shí),,中間件就會(huì)把信息傳播給所有感興趣的Subscriber。Publisher/Subscriber模型如圖2所示,。
2 DDS的QoS策略
應(yīng)用程序可以使用服務(wù)質(zhì)量(QoS)策略來控制,、管理和優(yōu)化在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)流。DDS標(biāo)準(zhǔn)提供的QoS參數(shù)可以對(duì)數(shù)據(jù)流(如數(shù)據(jù)的持久度,、數(shù)據(jù)的傳輸方式,、容錯(cuò)性)進(jìn)行常規(guī)控制,。DDS提供商可以提供擴(kuò)展的QoS策略以實(shí)現(xiàn)更深層次的控制,例如對(duì)發(fā)現(xiàn)過程控制,,對(duì)系統(tǒng)使用的資源控制(如限制使用資源的大小,,對(duì)傳輸途徑配置等)[4-5]。QoS的策略的特征有可靠性,、數(shù)據(jù)的持久度,、數(shù)據(jù)的歷史記錄、周期數(shù)據(jù)的超時(shí),、基于時(shí)間的過濾,、數(shù)據(jù)的有效期、數(shù)據(jù)的所有權(quán),、分區(qū)以及資源限制等,。
開發(fā)人員可以基于DDS標(biāo)準(zhǔn)設(shè)定多種QoS參數(shù),如發(fā)布,、訂閱速率以及合法通過網(wǎng)絡(luò)的數(shù)據(jù)長(zhǎng)度等,。數(shù)據(jù)發(fā)送設(shè)備成為發(fā)布者并且僅與規(guī)定的通信數(shù)據(jù)類型相關(guān);需要特定信息的設(shè)備成為訂閱者并且僅需知道所希望接收數(shù)據(jù)的內(nèi)容,。
較好的QoS控制策略可能是DDS標(biāo)準(zhǔn)最重要的特征,。QoS在DDS規(guī)范中得到了普遍而深入的使用,用于配置系統(tǒng)以及在每對(duì)Publisher/Subscriber之間建立獨(dú)立的QoS協(xié)議,,而QoS協(xié)議能夠?qū)崟r(shí)提供系統(tǒng)所要求的性能可預(yù)測(cè)性和資源可控性,,并且能夠保證發(fā)布/訂閱模型的模塊性、可量測(cè)性和魯棒性[6],。因此,,DDS能夠滿足非常復(fù)雜、非常靈活的數(shù)據(jù)流要求,。QoS可以理解為數(shù)據(jù)提供者和接收者之間的合約,,設(shè)計(jì)的中間件必須確保收發(fā)雙方的QoS策略相互兼容。圖3為在發(fā)布者之間建立QoS協(xié)議,。
通過分析可以看出,,DDS信息分發(fā)中間件是一種輕便的、能夠提供實(shí)時(shí)信息傳送的中間件技術(shù),。全球80%以上的網(wǎng)絡(luò)中間件都采用DDS方案,,包括航空、航天,、船舶,、國(guó)防、金融、通信,、汽車等領(lǐng)域,。此外,在作戰(zhàn)系統(tǒng),、船舶導(dǎo)航和控制系統(tǒng),、船舶防御系統(tǒng)、無人機(jī)駕駛系統(tǒng)和地面控制系統(tǒng),、裝甲車輛控制系統(tǒng),、仿真和培訓(xùn)系統(tǒng)、雷達(dá)處理和空中交通管理系統(tǒng),、金融系統(tǒng),,也由DDS中間件提供底層的信息通信服務(wù),,實(shí)現(xiàn)各個(gè)作戰(zhàn)指揮系統(tǒng)的互通和相互操作,。
DDS利用DCPS模型的功能為實(shí)時(shí)與嵌入式系統(tǒng)提供高質(zhì)量的運(yùn)行保障,盡可能降低了數(shù)據(jù)復(fù)制的需要,,從而提高了系統(tǒng)性能,。同時(shí)DDS還允許應(yīng)用預(yù)分配資源,提高了可靠性和實(shí)時(shí)確定性,。
QoS策略是DDS的最大亮點(diǎn),。它將資源的可用情況、提供方對(duì)資源的占有程度及請(qǐng)求方對(duì)資源的期待程度分別程序化為主題QoS,、發(fā)布者QoS和訂閱者QoS,。通過QoS策略大大增加了通信的靈活性。
參考文獻(xiàn)
[1] OMG. Data distribution service for real-time systems specification(ptc/04-03-06) [S]. 2004.
[2] GIDDINGS V. Tutorial on the OMG data distribution service[R]. Objective Interface Systems,, Inc.,, 2005.
[3] Sun. JAVA message service[R].Version1.1, April.2002.
[4] BURLINGAME,, GERARDO P C,, HUNT G A. DDS enabling global data[R]. Real-Time Innovations, Inc.,, December 2005.
[5] svn://svn.dre.vanderbilt.edu/DOC/DDS/trunk. 2010-11-01.
[6] 陳榕,,楊維康,劉藝平.下一代IT技術(shù)焦點(diǎn):信息交換[Z].北京:北京科泰世紀(jì)科技有限公司,,2003.