一.概述
1.1 說明
本文章主要介紹iotdb數據庫在電站鍋爐工業場景下,對輔助智能分析與預警的使用介紹。
【原創文字,IoTDB社區可進行使用與傳播】
1.2 項目背景
隨著人工智能算法在電力領域的發展,以及燃煤鍋爐設備精細化調整需求的增加,利用大數據算法開展鍋爐關鍵設備全參數預測和預警,實現基于機理的設備工況分析和性能分析,開展設備健康狀態評價和故障診斷研究,進而為深度調峰操作調整提供指導,為運行監盤提供預警,為檢修維護提供參考。
此過程中面臨諸多痛點:
設備種類繁多、協議眾多、數據類型眾多
時序數據特別是高頻數據,數據量巨大
海量時序數據下的讀寫速度無法滿足業務需求
現有時序數據管理組件無法滿足各類高級應用需求
而選取IoTDB作為智能運維平臺的存儲數據庫后,能穩定寫入多頻及高頻采集數據,覆蓋鋼鐵全工序,并采用復合壓縮算法使數據大小縮減10倍以上,節省成本。IoTDB 還有效支持超過10年的歷史數據降采樣查詢,幫助企業挖掘數據趨勢,助力企業長遠戰略分析。
1.3 iotdb
Apache IoTDB(物聯網數據庫)是一體化收集、存儲、管理與分析物聯網時序數據的軟件系統。 Apache IoTDB 采用輕量式架構,具有高性能和豐富的功能,并與Apache Hadoop、Spark和Flink等進行了深度集成,可以滿足工業物聯網領域的海量數據存儲、高速數據讀取和復雜數據分析需求。
具有它具有以下特點:
1.體量輕
2.性能高
3.易使用的特點
二 案例介紹
2.1 項目案例
2.1.1 數據測點
數據采集層負責分別從采集點采集數據,目前3#、4#機組每分鐘采集約5.2萬個測點的實時生產數據,每分鐘計算約10萬次。
2.1.2 架構圖
1.邊緣側:為推送給平臺測區域的部分,一般是某具體電廠使用的系統或者博望推送數據的服務器機器。
2.平臺接入測:這臺服務器部署工業處理X平臺,在X平臺配置測點,資產樹等信息;使用網絡通信框架mina和其他電廠系統進行數據對接,將接入到的數據進行解碼并安裝配置好的測點信息,推送到x平臺上;實時數據存儲到iotdb中。
2.1.3 功能接口案例
1工況預警頁面,通過查詢iotdb數據庫,顯示磨煤機工況預警統計信息,如下圖:
2.iotdb連接線程池工具類,如下圖:
3.對應的iotdb核心代碼?:
2.1.4 其他案例場景iotdb的sql用法
1.命令啟動iotdb服務
#啟動 (前臺啟動) sbin/start-server.sh #nohup后臺啟動,輸出啟動日志到nohup.log文件 nohup sbin/start-server.sh >> nohup.log ?2>&1 & #nohup后臺啟動,不輸出啟動日志 nohup sbin/start-server.sh >/dev/null 2>&1 & #停止 sbin/stop-server.sh |
2).iotdb導出腳本語句
?sh export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td /root/export-data0328 ?-f 30KYQ20AA00CT001A_M.csv ?-q "select 30KYQ20AA00CT001A_M from root.iot_point.tenant_system where time >= 2022-03-25 05:00:00 and time <= 2022-03-25 06:00:00"
3).查看 iotdb 庫中測點 30MMJ10FC10CT303A 的正常數據。
a)sql語句
select 30MMJ10FC10CT303A as 30MMJ10FC10CT303A from root.iot_point.tenant_systemorder by time desc limit 10
b)截圖如下:
?c.觀察后這里將測點 30MMJ10FC10CT303A 的模擬值設置:
將前一個時刻值設置 78.5001
將當前時刻值設置 73.5001
時間間隔為:60s
計算: (78.5001-73.5001)/60=0.0833
2.1.5 注意事項
在執行dml命令添加數據的時候,insert?into xxxx values(y) ;xxxx只能到設備層,values里面只能有列名。如下圖所示: