摘 要: 介紹了對(duì)象管理組織發(fā)布的數(shù)據(jù)分發(fā)服務(wù)(DDS)新規(guī)范,描述了DDS規(guī)范兩個(gè)層次的接口DCPS和DLRL,闡述了DDS數(shù)據(jù)分發(fā)的基本思想,分析了QoS策略及其特征,探討了DDS適用的場(chǎng)合和未來(lái)的發(fā)展。
關(guān)鍵詞: 中間件;數(shù)據(jù)分發(fā)服務(wù);發(fā)布/訂閱;服務(wù)質(zhì)量
網(wǎng)絡(luò)經(jīng)濟(jì)時(shí)代的來(lái)臨使企業(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ù)為中心的交換功能,但是效率較低,無(wú)法滿足可伸縮性、靈活性的要求。此外,目前較為成熟的中間件產(chǎn)品并不能很好地解決通信的實(shí)時(shí)性、快捷性和靈活性問(wèn)題。因此,在數(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ā)布/訂閱模型。通過(guò)圖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ù)器上,并通過(guò)調(diào)用特定的操作來(lái)更改或獲取信息。另外其是面向連接的通信,存在單點(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ù)見(jiàn)性和對(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)用層,通過(guò)底層的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)策略來(lái)控制、管理和優(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)過(guò)程控制,對(duì)系統(tǒng)使用的資源控制(如限制使用資源的大小,對(duì)傳輸途徑配置等)[4-5]。QoS的策略的特征有可靠性、數(shù)據(jù)的持久度、數(shù)據(jù)的歷史記錄、周期數(shù)據(jù)的超時(shí)、基于時(shí)間的過(guò)濾、數(shù)據(jù)的有效期、數(shù)據(jù)的所有權(quán)、分區(qū)以及資源限制等。
開發(fā)人員可以基于DDS標(biāo)準(zhǔn)設(shè)定多種QoS參數(shù),如發(fā)布、訂閱速率以及合法通過(guò)網(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é)議。
通過(guò)分析可以看出,DDS信息分發(fā)中間件是一種輕便的、能夠提供實(shí)時(shí)信息傳送的中間件技術(shù)。全球80%以上的網(wǎng)絡(luò)中間件都采用DDS方案,包括航空、航天、船舶、國(guó)防、金融、通信、汽車等領(lǐng)域。此外,在作戰(zhàn)系統(tǒng)、船舶導(dǎo)航和控制系統(tǒng)、船舶防御系統(tǒng)、無(wú)人機(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。通過(guò)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.