上篇文章主要介紹了使用kettle平臺實作檔案的高效決議,通過上傳檔案和下載檔案的方式,來對各種異構檔案進行資料格式的統一,本篇文章進行介紹kettle平臺的其他高級功能,即:mqtt與websocket的相互轉換,
場景描述:
需求:物聯網平臺的資料處理,
大家知道,物聯網平臺的資料處理程序:硬體設備層——》資料收集層——》業務邏輯層——》展示層,
物聯網平臺的主要資料傳輸協議有mqtt,coap,http等,mqtt是最常見的一種,展示層一般采用websocket技術進行展示,
問題:
- 如何將mqtt請求的資料轉換為websocket呢?
- 如何在轉換程序中加入業務邏輯呢?
方案:
如果采用按照處理普通需求的方式,按照定制化邏輯進行開發,勢必會導致大量的代碼量,而且因為邏輯不通用,會導致一系列的問題,我就猜測有沒有這樣的一個中間件來解決這個問題呢?通過在互聯網上一頓操作,愣是找不到任何資源,我就下決心完成開發這套中間件,
效果預覽:
mqtt客戶端:MQTTBox,
通過mqttBox向主題windows發布訊息,如下圖,

資料集成平臺:
平臺提供websocket介面,并在平臺中設定mqtt的相關配置

websocket客戶端在線測驗:
呼叫websocket介面,平臺開始監聽mqtt資料,若有資料進入,則會通過websocket推送出來

原理簡介:
-
通過“MQTT consumer”節點來連接mqtt服務器,當然連接服務器的配置也可以通過平臺進行配置,

-
通過“Get records from stream”節點來進行流處理,對每一條資料進行定制化處理,

將以上兩個轉換檔案進行組合,便可以實作對mqtt的監聽,以及對流資料的處理,
- 平臺原理:
通過將上述兩個檔案進行上傳保存后,websocket服務介面通過執行這兩個檔案,將mqtt資料變化轉換為websocket資料變化,并最終通過websocket通道進行資料輸出,
總結:
平臺通過mqtt與websocket的相互轉換功能,非常巧妙的解決了物聯網中的資料協議轉換問題,極大的簡化了開發作業量,當然這個功能不僅僅支持mqtt,訊息中間件都支持(如:rabbitmqt,kafka等),
若有什么疑問,可加qq893393953,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/273798.html
標籤:其他
上一篇:數字電路與計算機組成原理的交叉
