- Analytics for the Internet of Things(IoT)
- Andrew Minteer
- 348字
- 2021-07-02 18:59:33
Topics
Topics are hierarchical and are similar to a filing system. For example, vehicleID/engine/oil/temperature and vehicleID/engine/oil/pressure. An IoT device linked to a vehicle might publish a message that holds the value of 122.2 to the address called vehicleID/engine/oil/temperature (where vehicleID would be the unique identifier of that specific vehicle) on the broker. A subscriber to this topic would then get a message that includes the value 122.2 when it establishes a connection to the broker. If a constant connection to the broker is held, the subscriber will receive the message in near real time.
The concept of topic matching is supported for subscribers. This allows wildcard characters, + or #, to be used when subscribing to topics. This is not allowed for publishers.
A + is a wildcard character for a single level. It works like a search pattern where all non + levels must match. A # is a wildcard character for multiple levels and must be used at the end of the string. It will return the entire hierarchy specified. Similar to copying a folder in your filesystem, it will subscribe to all subdirectories and files included for the level specified.
The wildcard allows simpler subscription management to topics. You could subscribe to vehicleID/engine/+/temperature to get all the temperature values in the engine topic. You could also subscribe to +/engine/oil/temperature to get engine oil temperature values for all devices publishing to that broker. You could subscribe to vehicleID/engine/# to get all values in that hierarchy no matter how deep the levels go.
It is important that the topic tree is designed with flexibility in mind. It should be extensible so that new branches can be added without requiring a redesign of the tree. From an analytical point of view, this means that adding more information from the devices is relatively inexpensive if designed well. If designed poorly, it requires a redesign of the topic tree, which makes it more expensive and therefore unlikely to happen. In the constantly adapting world of analytics where you learn new things and exploit them, you want flexibility at all levels.
- 摩登創客:與智能手機和平板電腦共舞
- 控糖控脂健康餐
- 程序員面試筆試寶典
- 深入淺出Prometheus:原理、應用、源碼與拓展詳解
- RTC程序設計:實時音視頻權威指南
- JavaScript前端開發與實例教程(微課視頻版)
- TypeScript圖形渲染實戰:基于WebGL的3D架構與實現
- Java持續交付
- C語言程序設計案例精粹
- PhoneGap:Beginner's Guide(Third Edition)
- bbPress Complete
- SQL 經典實例
- IBM Cognos TM1 Developer's Certification guide
- Web Developer's Reference Guide
- AI自動化測試:技術原理、平臺搭建與工程實踐