工業物聯網成熟的數據連接標準
數據分發服務(DDS?)是一個由對象管理組(OMG)發布的以數據為中心的中間件協議和API標準。DDS集成系統中的各個組件,提供低延遲數據連接、高可靠性以及高可擴展體系結構,以適應商業級物聯網(IoT)應用程序的需求。
在分布式系統中,中間件是位于操作系統和應用程序之間的軟件層。它使系統的各個組件能夠更輕松地通信和共享數據。它簡化了分布式系統的開發,讓軟件開發人員專注于其應用程序的特定用途,而不是在應用程序和系統之間傳遞信息的機制。
DDS中間件是一個軟件層,它將應用程序從操作系統,網絡傳輸和低級數據格式的詳細信息中抽象出來。以不同的編程語言提供了相同的概念和API,從而允許應用程序跨操作系統,語言和處理器體系結構交換信息。底層細節,如數據線格式、發現、連接、可靠性、協議、傳輸選擇、QoS、安全性等都由中間件管理。
數據中心(Data Centricity)
DDS提供了Qos控制的數據共享。應用程序通過發布和訂閱由其主題名稱標識的主題進行通信。訂閱可以指定時間和內容過濾器,并且僅獲取在主題上發布的數據的子集。不同的DDS域彼此完全獨立。DDS域之間沒有數據共享。
有間件許多通信中標準和產品。DDS以數據為中心,是工業物聯網的理想之選。大多數中間件通過在應用程序和系統之間發送信息來工作。以數據為中心確保所有消息都包含應用程序理解其接收的數據所需的上下文信息。
以數據為中心的本質是DDS知道它存儲哪些數據并控制如何共享該數據。使用傳統的以消息為中心的中間件的程序員必須編寫發送消息的代碼。程序員使用以數據為中心的中間件編寫代碼,該代碼指定如何以及何時共享數據,然后直接共享數據值。DDS無需管理應用程序代碼(您的代碼)中的所有這些復雜性,而是直接為您實現受控,托管,安全的數據共享。
全局數據空間 (Global Data space)
從概念上講,DDS會看到一個本地數據存儲,稱為“全局數據空間”。對于應用程序,全局數據空間看起來像是通過API訪問的本地內存。您寫入看起來像本地存儲的內容。實際上,DDS發送消息以更新遠程節點上的適當存儲。您從看起來像本地存儲的地方閱讀。
在DDS域內,信息共享的單元是“主題”中的數據對象。該主題由其名稱標識,數據對象由一些“鍵”屬性標識。這類似于如何使用關鍵屬性來標識數據庫中的記錄。這是概念圖。DDS進行點對點通信,不需要服務器或云來代理數據。
總之,本地存儲給應用程序帶來了訪問整個全局數據空間的錯覺。這只是一種幻想;沒不存在所有數據都存在的全局位置。每個應用程序僅在本地存儲所需的內容,并且僅存儲所需的時間。DDS處理動態數據;全局數據空間是一個虛擬概念,實際上只是本地存儲的集合。在任何系統上運行的幾乎所有語言的每個應用程序都以最佳本機格式查看本地內存。全局數據空間通過任何傳輸方式在嵌入式,移動和云應用程序之間共享數據,而與語言或系統無關,并且延遲極低。
服務質量(Quality of service)
數據還可以通過靈活的服務質量(QoS)規范共享,包括可靠性,系統運行狀況(活動性),甚至安全性。在實際系統中,并非每個其他端點都需要本地存儲中的每個項目。DDS在發送所需信息方面很聰明。如果消息不總是到達預期的目的地,則中間件將在需要的地方實現可靠性。當系統發生變化時,中間件會動態地找出將哪些數據發送到何處,并智能地將更改通知參與者。如果總數據量巨大,則DDS會智能過濾并僅發送每個端點真正需要的數據。當需要快速更新時,DDS發送多播消息以立即更新許多遠程應用程序。隨著數據格式的發展,DDS跟蹤系統各個部分使用的版本并自動翻譯。對于安全性至關重要的應用程序,DDS可控制訪問,強制執行數據流路徑并實時加密數據。
當您同時指定所有這些東西時,DDS的真正威力就會顯現出來,在一個非常動態、要求極高和不可預測的環境中,您可以同時使用這些東西。
動態發現(Dynamic Discovery)
DDS提供發布者和訂閱者的動態發現。動態發現使您的DDS應用程序可擴展。這意味著應用程序不必知道或配置用于通信的端點,因為它們是DDS自動發現的。這可以在運行時完成,而不必在設計或編譯時完成,從而為DDS應用程序實現真正的“即插即用”。
這種動態發現比發現端點更進一步。DDS將發現端點是否正在發布數據,訂閱數據,或者兩者都是。它將發現正在發布或訂閱的數據的類型。它還將發現發布者提供的通信特征和訂閱者請求的通信特征。在動態發現和匹配DDS參與者時,將所有這些屬性都考慮在內。
DDS參與者可以在同一臺機器上,也可以跨網絡:該應用程序使用相同的DDS API進行通信。由于無需知道或配置IP地址,也無需考慮機器體系結構的差異,因此在任何操作系統或硬件平臺上添加額外的通信參與者就變得很容易,幾乎是微不足道的。
可擴展架構(Scalable Architecture)
DDS系統的范圍從Edge到Fog再到Cloud。在邊緣,它們可用于高速實時機器到機器的通信。在中間系統內,它們可以提供成熟,可靠的QoS和內容感知信息流。集成這些系統DDS可以一直擴展到云以及在云內擴展信息的訪問和分發。
OMG DDS體系結構設計為可從小型設備擴展到云端,并且適用于非常大的設備系統.DDS通過擴展數千或數百萬參與者,以超高速傳輸數據,管理成千上萬的數據對象來實現物聯網,并提供極高的可用性和安全性。DDS通過吸收單個標準通信層中的許多復雜性,簡化了分布式系統的開發。
安全(Security)
保護任務關鍵型工業物聯網環境需要跨系統和供應商從邊緣擴展到云的安全性。
DDS包括為信息分發提供身份驗證,訪問控制,機密性和完整性的安全機制。DDS安全性使用分散的對等體系結構,在不犧牲實時性能的情況下提供安全性。