時序數(shù)據(jù) - 匠聯(lián)邊緣服務系統(tǒng)
時序數(shù)據(jù)功能作為本系統(tǒng)的核心模塊之一,承擔著設備運行數(shù)據(jù)的實時采集、存儲、處理與可視化任務,為上層應用(如設備監(jiān)控、預測性維護、能效分析等)提供堅實的數(shù)據(jù)基礎。
1. 技術(shù)架構(gòu)與核心組件
該時序數(shù)據(jù)功能采用“邊緣采集 + 邊緣存儲 + 邊緣計算 + 本地可視化”的架構(gòu)設計,確保關鍵數(shù)據(jù)在本地閉環(huán)處理,降低對云端的依賴,提升系統(tǒng)響應速度與可靠性。
其核心技術(shù)棧主要包括:
InfluxDB 作為時序數(shù)據(jù)庫引擎:
- 選型原因:InfluxDB 是專為處理高寫入、高查詢負載的時序數(shù)據(jù)而設計的開源數(shù)據(jù)庫。其針對時間序列數(shù)據(jù)的優(yōu)化(如時間索引、數(shù)據(jù)壓縮、連續(xù)查詢等)使其在工業(yè)場景下表現(xiàn)優(yōu)異。
- 部署模式:在邊緣服務系統(tǒng)中,部署 InfluxDB 2.x作為本地時序數(shù)據(jù)存儲的核心。它直接運行在邊緣網(wǎng)關或邊緣服務器上,實現(xiàn)數(shù)據(jù)的就近存儲。
- 優(yōu)勢體現(xiàn):
- 高性能寫入:支持每秒數(shù)萬乃至更高的數(shù)據(jù)點寫入,滿足多臺設備高頻數(shù)據(jù)采集需求。
- 高效壓縮:顯著降低存儲空間占用,延長邊緣設備的存儲周期。
- Flux 查詢語言:提供強大的數(shù)據(jù)查詢、聚合與分析能力,支持在邊緣端進行復雜的時間序列運算。
腳本化數(shù)據(jù)處理與保存:
- 核心能力:系統(tǒng)支持用戶通過自定義腳本(JavaScript)來定義數(shù)據(jù)的預處理、過濾、轉(zhuǎn)換和存儲邏輯。
- 應用場景:
- 數(shù)據(jù)清洗:過濾異常值、處理缺失數(shù)據(jù)、單位換算。
- 數(shù)據(jù)聚合:將原始秒級數(shù)據(jù)聚合成分鐘/小時級的統(tǒng)計值(如平均值、最大值、最小值、標準差)并存入 InfluxDB,減少存儲壓力。
- 事件觸發(fā):當數(shù)據(jù)滿足特定條件時(如溫度超過閾值),執(zhí)行腳本觸發(fā)告警、記錄日志或調(diào)用其他服務。
- 靈活性與可擴展性:通過腳本支持,系統(tǒng)無需修改核心代碼即可適應不同客戶、不同設備的數(shù)據(jù)處理需求,極大地提升了系統(tǒng)的靈活性和可維護性。
ECharts 作為數(shù)據(jù)可視化引擎:
- 選型原因:ECharts 是百度開源的、功能強大且高度可定制的JavaScript 圖表庫,支持豐富的圖表類型(折線圖、柱狀圖、散點圖、儀表盤、熱力圖等),非常適合用于展示時間序列數(shù)據(jù)。
- 集成方式:在邊緣服務系統(tǒng)的 Web 管理界面或本地 HMI(人機界面)中,集成 ECharts 庫。前端通過調(diào)用邊緣服務提供的 API(通常基于 InfluxDB 的查詢接口或系統(tǒng)自封裝的 RESTful API)獲取 InfluxDB 中的時序數(shù)據(jù),然后使用 ECharts 進行渲染展示。
- 可視化功能:
- 實時監(jiān)控:以折線圖等形式實時顯示設備關鍵參數(shù)(溫度、壓力、轉(zhuǎn)速等)的變化趨勢。
- 歷史回溯:支持按時間范圍查詢歷史數(shù)據(jù),并以圖表形式展示,便于分析設備運行狀態(tài)。
- 多維度分析:支持在同一圖表中對比多臺設備或多參數(shù)的數(shù)據(jù),或使用多圖表聯(lián)動分析。
- 交互性:提供縮放、拖拽、數(shù)據(jù)點提示、圖例開關等交互功能,提升用戶體驗。
- 自定義儀表盤:用戶可自由拖拽組件,構(gòu)建個性化的監(jiān)控看板。
2. 功能流程概述
- 數(shù)據(jù)采集:邊緣服務系統(tǒng)通過各種工業(yè)協(xié)議(如 Modbus, OPC UA, MQTT, CAN 等)從現(xiàn)場 PLC、傳感器、儀表等設備實時采集原始數(shù)據(jù)。
- 腳本處理:采集到的原始數(shù)據(jù)流經(jīng)用戶定義的腳本引擎。腳本對其進行清洗、轉(zhuǎn)換、計算或聚合。
- 數(shù)據(jù)存儲:處理后的時序數(shù)據(jù)被寫入本地部署的 InfluxDB 數(shù)據(jù)庫。數(shù)據(jù)按時間、設備標簽等組織,便于后續(xù)高效查詢。
- 數(shù)據(jù)查詢:當需要展示或分析時,系統(tǒng)向 InfluxDB 發(fā)起查詢請求(
- 數(shù)據(jù)可視化:查詢結(jié)果返回后,前端利用 ECharts 庫將數(shù)據(jù)渲染成直觀的圖表,展示在 Web 界面或 HMI 屏幕上。