DDS消息中間件(jiàn)

2020-12-22 17:33:21

                 -------國(guó)産自(zì)主可控消息中間件(jiàn)--------

DDS (Data Distribution Service) 數據分發服務技(jì)術(shù)最早應用于美國(guó)海軍,用于解決艦船(chuán)複雜(zá)網絡環境中大量軟件(jiàn)升級的兼容性問題,目前已經成為(wèi)美國(guó)國(guó)防部的強制标準。

應美國(guó)工(gōng)業(yè)部門(mén)的要求,OMG(對象管理組織)2003年(nián)開(kāi)始制訂支持高(gāo)性能(néng)實時系統的數據分發服務DDS(Data Distribute Service)規範,并于2004年(nián)完成第一(yī)版。現行标準是2007年(nián)制定的v1.2

DDS 目前已經廣泛應用于國(guó)防、民(mín)航、工(gōng)業(yè)控制等領域,成為(wèi)分布式實時系統中數據發布/訂閱的标準解決方案。DDS 技(jì)術(shù)是基于以數據為(wèi)核心的設計思想提出的,定義了描述網絡環境下(xià)數據内容、交互行為(wèi)和服務質量要求的标準。

FogBus DDS(數據分發服務)是以數據為(wèi)中心的網絡通(tōng)信模型,是一(yī)套支持發布\訂閱模式的應用程序接口(API)。可廣泛應用于航空、國(guó)防、分布式仿真、工(gōng)業(yè)自(zì)動化、分布式控制、機(jī)器(qì)人、電(diàn)信多(duō)個(gè)領域。

産生(shēng)背景:

過去應用程序之間通(tōng)過網絡傳遞數據,在需要通(tōng)信的兩個(gè)應用程序都兩兩各自(zì)建立連接進行數據傳遞。存在系統複雜(zá)度高(gāo)、耦合程度高(gāo)、脆弱難以擴展和維護的問題

為(wèi)了改變上(shàng)述狀況,出現了另一(yī)種通(tōng)信模式,通(tōng)過一(yī)台中心服務器(qì)進行互聯互通(tōng)。這種方式降低(dī)了系統複雜(zá)度、降低(dī)了耦合程度。但是存在單點失效和中心節點成為(wèi)性能(néng)瓶頸的問題。

為(wèi)解決國(guó)防和航天領域數據分發系統面臨的這些挑戰,由OMG(對象管理組織)提出DSS通(tōng)信模型并标準化。進一(yī)步降低(dī)了分布式系統程序之間的耦合性和系統複雜(zá)度,提高(gāo)系統健壯性、伸縮性、可擴展性。

解耦性特點:

(1)  空間解耦(Space Decoupling)

即發布者和訂閱者之間無需知道對方的地址和存在。發布者隻需要發布它所能(néng)提供的數據,而訂閱者隻需要接收它所感興趣的數據,發布者和訂閱者之間并沒有直接的聯系,不需要事(shì)先知道對方的地址和端口号等信息。

 (2) 時間解耦(Time Decoupling)

即發布者和訂閱者無需同時處于就(jiù)緒狀态。在發布者發布數據時,訂閱者可能(néng)沒有在線;當發布者下(xià)線之後,訂閱者還(hái)可能(néng)收到(dào)相(xiàng)應的發布者所發布的數據。

(3)  數據流解耦(Flow Decoupling)

即發布者和訂閱者的主進程是異步的,不需要阻塞。發布者在發布數據時,自(zì)身不必阻塞;訂閱者在接收所感興趣的數據時也不必将自(zì)身阻塞,而是可以同時進行其它的操作。

DDS構架:

 DDS優勢:

• 降低(dī)系統耦合性、提高(gāo)健壯性

• 屏蔽異構系統的複雜(zá)性

• 屏蔽網絡通(tōng)信細節

• 提高(gāo)應用伸縮性

• 加快應用的開(kāi)發,減少技(jì)術(shù)負擔

• 跨操作系統