利用百度雲流式計算進行大規模裝置監控

2021-08-20 09:44:51 字數 2073 閱讀 5656

某菸草客戶擁有1000多個烤煙房,每個烤煙房通過乙個物解析閘道器,每分鐘採集一次烤煙房的溫度、濕度等資料,報送到雲端,以實時監控烤房內部溫濕度是否正常。

通過為每乙個烤煙房,建立一條告警,設定越限條件。當該烤煙房的溫濕度越限,則觸發簡訊告警。

但是,上述方案有乙個隱含先決條件:閘道器總是能正常地上報資料。

我們知道,導致閘道器沒法上報資料的因素有很多,比如供電故障、網路訊號差、環境溫度過高等等,都可能導致閘道器意外停止工作。而上述監控方案是不足以發現這種情況的。

這時候,流式計算就派上用場了。客戶非常巧妙地利用到了流式計算的視窗和時間概念,設計的流式監控任務有如下特性:

·乙個任務,監控上述1000多個裝置;

·能夠實時並且準確的報告具體哪乙個閘道器,什麼時候停止了資料的上報。

·增加新閘道器裝置時,無需修改任務。

整體架構如下下圖所示:

1,在物解析的輪詢請求設定中,設定閘道器對modbus裝置的採集週期為60秒

2,每個解析專案解析後的資料轉到統一的物接入主題:/modbus/parsed

解析後的資料格式(關鍵部分)如下:

因為只對閘道器id進行監控,其他資料無關,因此省略。

在流式計算中:

3,建立乙個資料來源,名為: device_offline_monitor_src;資料來源的物接入主題來自上面解析後的主題:/modbus/parsed

4,建立mqtt資料目的地,名為: device_offline_notice_sink,以接收異常裝置告警。物接入主題為:/modbus/device/offline_notice

5,建立流式計算任務

時間型別選:processtime

sql 語句為:

當異常發生時,從資料目的地主題/modbus/device/offline_notice能收到如下格式的訊息:

說明:1,這裡演示的是輸出mqtt報警訊息,事實上客戶通過規則引擎,將該mqtt訊息轉化成簡訊告警。

2,流式計算任務裡面使用的時間型別為processtime,這樣即便監控的是乙個裝置,也能照樣工作。

3,流式計算任務裡面採用的會話視窗,當一直有資料流進來,視窗始終不關閉,也就是始終沒有輸出。一旦某個裝置規定時間沒有資料流進來,對應的會話視窗就會關閉,就會輸出一條訊息。以此觸發告警。

4,會話視窗選擇了65秒。理想情況下,只要60秒沒有收到訊息,即認為閘道器故障。但考慮到網路傳輸上可能導致的延遲,因此,這裡再增加了5秒等待,以免因細小的傳輸延遲導致誤報。

利用百度雲盤API上傳檔案至百度雲盤

一 獲取access token示例 1.請您將以下http請求直接貼上到瀏覽器位址列內,並按下回車鍵。4 請將此頁面位址列的內容拷貝出來,您將看到 session secret 9deaa587f9cd177f02079506dc4391ab session key 94rrnl7qf2cyvns...

利用百度雲盤API上傳檔案至百度雲盤

一 獲取access token示例 1.請您將以下http請求直接貼上到瀏覽器位址列內,並按下回車鍵。4 請將此頁面位址列的內容拷貝出來,您將看到 access token 3.811a254908d094012df764a38882a179.2592000.1348661720.22335536...

百度雲正式開源智慧型邊緣計算平台 OpenEdge

開發四年只會寫業務 分布式高併發都不會還做程式設計師?openedge 是乙個開放的邊緣計算平台,可將雲計算能力拓展至使用者現場,提供臨時離線 低延時的計算服務,包括訊息路由 函式計算 ai 推斷等。openedge 和雲端管理套件配合使用,可達到雲端管理和應用下發,邊緣裝置上執行應用的效果,滿足各...