物聯網大數據平臺是通過無線網絡,以視頻為核心,將各種傳感器采集到的數據匯聚到大數據平臺,進行數據分析統計,以一張圖的形式,對當前狀態和未來趨勢進行概況展示,讓決策者可以實時全局掌控系統內的各項關鍵數據,并根據對歷史數據的統計分析,預測未來趨勢,輔助決策者及時做出準確的判斷和決策。
一個物聯網大數據平臺需要具備哪些功能?與通用的大數據平臺相比,它需要具備什么樣的特征呢?我們來仔細分析一下。
1.必須是高效的分布式系統。物聯網產生的數據量巨大,僅中國而言,就有5億多臺智能電表,每臺電表每隔15分鐘采集一次數據,一天全國智能電表就會產生500多億條記錄。這么大的數據量,任何一臺服務器都無能力處理,因此處理系統必須是分布式的,水平擴展的。為降低成本,一個節點的處理性能必須是高效的,需要支持數據的快速寫入和快速查詢。
2.必須是實時處理的系統。互聯網大數據處理,大家所熟悉的場景是用戶畫像、推薦系統、輿情分析等等,這些場景并不需要什么實時性,批處理即可。但是對于物聯網場景,需要基于采集的數據做實時預警、決策,延時要控制在秒級以內。如果計算沒有實時性,物聯網的商業價值就大打折扣。
3.需要運營商級別的高可靠服務。物聯網系統對接的往往是生產、經營系統,如果數據處理系統宕機,直接導致停產,產生經濟有損失、導致對終端消費者的服務無法正常提供。比如智能電表,如果系統出問題,直接導致的是千家萬戶無法正常用電。因此物聯網大數據系統必須是高可靠的,必須支持數據實時備份,必須支持異地容災,必須支持軟件、硬件在線升級,必須支持在線IDC機房遷移,否則服務一定有被中斷的可能。
4.需要高效的緩存功能。絕大部分場景,都需要能快速獲取設備當前狀態或其他信息,用以報警、大屏展示或其他。系統需要提供一高效機制,讓用戶可以獲取全部、或符合過濾條件的部分設備的新狀態。
5.需要實時流式計算。各種實時預警或預測已經不是簡單的基于某一個閾值進行,而是需要通過將一個或多個設備產生的數據流進行實時聚合計算,不只是基于一個時間點、而是基于一個時間窗口進行計算。不僅如此,計算的需求也相當復雜,因場景而異,應容許用戶自定義函數進行計算。
6.需要支持數據訂閱。與通用大數據平臺比較一致,同一組數據往往有很多應用都需要,因此系統應該提供訂閱功能,只要有新的數據更新,就應該實時提醒應用。而且這個訂閱也應該是個性化的,容許應用設置過濾條件,比如只訂閱某個物理量五分鐘的平均值。
7.實時數據和歷史數據的處理要合二為一。實時數據在緩存里,歷史數據在持久化存儲介質里,而且可能依據時長,保留在不同存儲介質里。系統應該隱藏背后的存儲,給用戶和應用呈現的是同一個接口和界面。無論是訪問新采集的數據還是十年前的老數據,除輸入的時間參數不同之外,其余應該是一樣的。