-------國(guó)産(chǎn)自主可(kě)控消息中(zhōng)間件--------
DDS (Data Distribution Service) 數據分(fēn)發服務(wù)技(jì )術最早應用(yòng)于美國(guó)海軍,用(yòng)于解決艦船複雜網絡環境中(zhōng)大量軟件升級的兼容性問題,目前已經成為(wèi)美國(guó)國(guó)防部的強制标準。
應美國(guó)工(gōng)業部門的要求,OMG(對象管理(lǐ)組織)于2003年開始制訂支持高性能(néng)實時系統的數據分(fēn)發服務(wù)DDS(Data Distribute Service)規範,并于2004年完成第一版。現行标準是2007年制定的v1.2版
DDS 目前已經廣泛應用(yòng)于國(guó)防、民(mín)航、工(gōng)業控制等領域,成為(wèi)分(fēn)布式實時系統中(zhōng)數據發布/訂閱的标準解決方案。DDS 技(jì )術是基于以數據為(wèi)核心的設計思想提出的,定義了描述網絡環境下數據内容、交互行為(wèi)和服務(wù)質(zhì)量要求的标準。
FogBus DDS(數據分(fēn)發服務(wù))是以數據為(wèi)中(zhōng)心的網絡通信模型,是一套支持發布\訂閱模式的應用(yòng)程序接口(API)。可(kě)廣泛應用(yòng)于航空、國(guó)防、分(fēn)布式仿真、工(gōng)業自動化、分(fēn)布式控制、機器人、電(diàn)信多(duō)個領域。
産(chǎn)生背景:
過去應用(yòng)程序之間通過網絡傳遞數據,在需要通信的兩個應用(yòng)程序都兩兩各自建立連接進行數據傳遞。存在系統複雜度高、耦合程度高、脆弱難以擴展和維護的問題
為(wèi)了改變上述狀況,出現了另一種通信模式,通過一台中(zhōng)心服務(wù)器進行互聯互通。這種方式降低了系統複雜度、降低了耦合程度。但是存在單點失效和中(zhōng)心節點成為(wèi)性能(néng)瓶頸的問題。
為(wèi)解決國(guó)防和航天領域數據分(fēn)發系統面臨的這些挑戰,由OMG(對象管理(lǐ)組織)提出DSS通信模型并标準化。進一步降低了分(fēn)布式系統程序之間的耦合性和系統複雜度,提高系統健壯性、伸縮性、可(kě)擴展性。
解耦性特點:
(1) 空間解耦(Space Decoupling)
即發布者和訂閱者之間無需知道對方的地址和存在。發布者隻需要發布它所能(néng)提供的數據,而訂閱者隻需要接收它所感興趣的數據,發布者和訂閱者之間并沒有(yǒu)直接的聯系,不需要事先知道對方的地址和端口号等信息。
(2) 時間解耦(Time Decoupling)
即發布者和訂閱者無需同時處于就緒狀态。在發布者發布數據時,訂閱者可(kě)能(néng)沒有(yǒu)在線(xiàn);當發布者下線(xiàn)之後,訂閱者還可(kě)能(néng)收到相應的發布者所發布的數據。
(3) 數據流解耦(Flow Decoupling)
即發布者和訂閱者的主進程是異步的,不需要阻塞。發布者在發布數據時,自身不必阻塞;訂閱者在接收所感興趣的數據時也不必将自身阻塞,而是可(kě)以同時進行其它的操作(zuò)。
DDS構架:
DDS優勢:
• 降低系統耦合性、提高健壯性
• 屏蔽異構系統的複雜性
• 屏蔽網絡通信細節
• 提高應用(yòng)伸縮性
• 加快應用(yòng)的開發,減少技(jì )術負擔
• 跨操作(zuò)系統