近日,百度云天工物聯網場景正式推出流式計算服務,填補了規則引擎、函數計算等只能針對單個數據流、單個消息處理的局限性。流式計算服務的推出,意味著用戶在物聯網場景中可利用流式計算服務對單個數據流的前后多個消息,或者多個數據流之間進行聚合計算。
通過流式計算的聚合運算能力,比如求平均、和、最大值、最小值等,可以關聯分析多個流之間的聯系等。接下來,讓我們通過具體案例來了解下流式計算的作用。
以某煙草公司為例,其擁有1000多個烤煙房,每個烤煙房通過一個物解析網關,每分鐘采集一次烤煙房的溫度、濕度等數據,報送到云端,以實時監控烤煙房內部溫濕度是否正常。通過為每一個烤煙房建立一條告警,設定越限條件,當該烤煙房的溫濕度越限,則觸發短信告警。
不過這種解決方案有個先決條件,即:網關總是能正常地上報數據。但是,導致網關無法上報數據的內外在因素存在很多,比如供電故障、設備故障、網絡信號差、環境溫度過高等等,這些因素都有可能導致網關意外停止工作。
設計流式計算監控。針對這種情況,流式計算就可以派上大用場,可以巧妙利用流式計算的窗口和時間概念,設計出流式監控,可以實現一個任務就監控上述1000多個設備,并且可以實時、準確報告具體哪個網關在什么時候停止了數據的上報;而增加網關設備時,無需修改任務。
![]()
具體解決辦法。在物解析的輪詢請求設置中,設置網關對Modbus設備的采集周期為60秒,并且每個解析項目解析后的數據轉到統一的物接入主題:/modbus/parsed;隨后在流式計算中創建名為:device_offine_monitor_src的數據源,數據源的物接入主題即來自上面解析后的主題:/modbus/parsed;流式計算任務中使用的時間類型為PROCESSTIME,可以實現即便監控一個設備,也照樣工作;當流式計算任務中的會話窗口一直有數據流進來時,窗口始終不會關閉,不會觸發告警;而當一旦某個設備在規定時間內沒有數據流進來,則對應的會話窗口就會關閉,并輸出一條信息,觸發告警。
比如,會話窗口選擇了65秒。理想情況下,只要60秒沒有收到消,即認為網關故障,考慮到網絡傳輸可能導致的延遲,增加了5秒的等待時間,以免因細小的傳輸延遲導致誤報。
具體技術步驟:
1,在物解析的輪詢請求設置中,設置網關對Modbus設備的采集周期為60秒
![]()
2,每個解析項目解析后的數據轉到統一的物接入主題:/modbus/parsed
![]()
解析后的數據格式(關鍵部分)如下:
{
"gatewayid": "3faedb39-77ff-45b6-ac7e-c1739077e4d5"
}
因為只對網關id進行監控,其他數據無關,因此省略。
在流式計算中:
3,創建一個數據源,名為: device_offline_monitor_src;數據源的物接入主題來自上面解析后的主題:/modbus/parsed
![]()
4,創建MQTT數據目的地,名為: device_offline_notice_sink,以接收異常設備告警。物接入主題為:/modbus/device/offline_notice
![]()
5,創建流式計算任務
時間類型選:PROCESSTIME
SQL 語句為:
INSERT INTO device_offline_notice_sink
SELECT
Session_End(rowtime, INTERVAL '65' SECOND ) AS ts_end,
gatewayid
FROM device_offline_monitor_src
GROUP BY
Session(rowtime, INTERVAL '65' SECOND ),
gatewayid
![]()
當異常發生時,從數據目的地主題/modbus/device/offline_notice能收到如下格式的消息:
{
"ts_end": 1526459666537,
}
其中:ts_end為設備停止上報數據的時間,單位為毫秒。即設備上一次上報的時間為ts_end – 65000。gatewayid為網關id。
說明:
1,這里演示的是輸出MQTT報警消息,事實上客戶通過規則引擎,將該MQTT消息轉化成短信告警。
2,流式計算任務里面使用的時間類型為PROCESSTIME,這樣即便監控的是一個設備,也能照樣工作。
3,流式計算任務里面采用的會話窗口,當一直有數據流進來,窗口始終不關閉,也就是始終沒有輸出。一旦某個設備規定時間沒有數據流進來,對應的會話窗口就會關閉,就會輸出一條消息。以此觸發告警。
4,會話窗口選擇了65秒。理想情況下,只要60秒沒有收到消息,即認為網關故障。但考慮到網絡傳輸上可能導致的延遲,因此,這里再增加了5秒等待,以免因細小的傳輸延遲導致誤報。
現在,是不是比較了解流式計算了呢?
可以說,流式計算在物聯網場景中有著廣泛的應用場景,百度云天工的流式計算服務讓百度云天工解決方案更加完善,通過與規則引擎、函數計算的配合,讓用戶在物聯網場景中的對數據流的實時處理更加科學和準確。
特別聲明:本文為網易自媒體平臺“網易號”作者上傳并發布,僅代表該作者觀點。網易僅提供信息發布平臺。
榜單收錄、高管收錄、融資收錄、活動收錄可發送郵件至news#citmt.cn(把#換成@)。
海報生成中...