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