DDS和MQTT
MQTT 全名是Message Queuing
Telemetry Transport是IBM于1999年推出,是一个OASIS提出的标準。 MQTT是一種M2M通信協議,其置於不居形式的各式Sensor 網路, 在網域與網域間需一個Broker的角色來擴增其它的網域。
MQTT是一種適合有限互通訊息的通訊協定,是一項適合於物聯網而設計的消息傳遞技術,由 IBM開發,它是一種開放、精簡、輕量級和容易實現的協議。這些優點剛好適用於受限的環境,例如幅地很廣,有限的頻宽,不是绝對可靠的,或者有限的處理器或储器资源的等嵌入式設備上運行。
所以,MQTT 協議是為大量計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性:
1)非常小的通信資料(最小的消息大小為 2 位元組);
2)支援各種常用的編輯語言(包括 C,Java,Ruby,Python 等等)且易於使用的客戶端;
3)支援發佈 / 預定模型,簡化應用程序的開發;
4) 提供三種不同消息傳遞等級,讓消息能按序到達目的地,適應在不穩定工作的網絡傳輸需求。
MQTT是一個有限訊息传输的協議,故不適合用於大量資料交換的應用。據例來說明,例如大量的影像的Stream data。在此也許Data Distribution Service(DDS)是一種解決方案。
Data Distribution Service(DDS)其由Object Management Group(OMG)為了物聯網開發的通訊标準。
OMG DDS实现可擴展性,即时性,可靠性,高性能和publisher(發行者)與用户之間互相操作的数据交换。OMG
DDS旨在解決的任務和關鍵業務和物聯網應用IIoT的需求,如空中交通控制,交通管理,醫療保健,能源和公用事業,軟件定義網絡和其他大數據應用。
OMG DDS是語言和操作系統(OS)的獨立。由OMG DDS標準中規定的API已經在各種不同的編程語言,包括Ada語言,C,C++,C#,Java和JavaScript中,CoffeeScript,Scala,Lua和Ruby的實施。使用標準化的API有助於確保OMG DDS應用程序可以方便地在不同廠商的實現之間移植。
數據分發服務是一個開放的中間件標準,使可擴展性,實時,可靠,高性能和出版商與用戶之間互操作的數據交換。它是基於一個成熟的以數據為中心的模式,從國防和航空航天,但是這是目前在行業正在迅速採用等不同發電,大型SCADA,空中交通控制和管理,智能城市,智能電網,汽車,醫療湧現設備,建模與仿真,以及金融交易。
DDS使系統得益於數據中的頭等公民到鑰匙的廣泛支持,生命週期管理等DDS是brokerless並提供了一個虛擬的全球數據空間,一個無處不在的,普遍的和完全分佈式數據緩存的抽象。 DDS還提供了一個標準的API,以及一個可互操作線協議。
DDS和MQTT有著一些共同的原則,如簡約與效率,時間去耦和匿名性,但每種技術都有一些獨特的功能,使其最適合於某些使用情況。
例如,MQTT是最適合零星消息和資源高度受限設備而DDS是最適合於那些需要的實時數據交換的應用- 其中數據具有固有的時間有效性,並且其中失效的數據不應該延遲新鮮意應用數據- 並在服務的質量嚴格控制。此外DDS支持對等網絡(基礎設施更少)通信,即派上用場的設備到設備通信的功能。
綜上所述,DDS和MQTT是兩個非常好的技術來進行數據共享。最適當的解決方案的選擇應基於該架構和用於每個目標系統消息/數據共享的要求兩者的理解。 DDS為雙方提供設備到雲(設備到數據中心)通信支持,以及設備到設備。 MQTT提供設備到數據中心的溝通很好的支持。
沒有留言:
張貼留言