麻凱雄,鄭海寧
(航天海鷹安全技術工程有限公司,北京 100074)
隨著計算機信息技術的飛速發展,信息管理系統被廣泛應用于各個領域,相比于傳統人工管理方式,使用計算機進行信息管理具有無法比擬的優勢:數據處理效率高、數據查詢快速準確以及信息便于長期保存等。近年來,越來越多的城市開啟了“智慧城市”的建設熱潮。在線監測類系統作為“智慧城市”的重要組成部分,其數據處理的一般流程為:數據采集、數據存儲、數據計算及數據調用。其中,數據采集和存儲為整個流程的基礎部分,能否實現快速的數據采集和高效的數據存儲,將直接影響整個信息系統的工作效率。此外,開發“智慧城市”在線監測類系統時,每次都將數據采集和存儲模塊進行重新設計與實現,造成單個系統的開發速度慢、周期長,開發效率低下。
在空氣懸浮風機云平臺設計實現過程中,本文針對以上在線監測類系統開發中存在的問題,在軟件復用思想下,設計實現基于ActiveMQ消息中間件和協議解析模型庫的通用型數據網關,并設計了OpenTSDB時序數據庫,更在此基礎上,設計實現了空氣懸浮風機云。
云平臺系統框架體系結構如圖1所示。系統主要包括物聯感知層、數據層、中間層和應用層。風機DTU設備借助Modbus TCP協議傳輸風機運行參數數據,通用型數據網關接收參數數據,完成數據解析工作后,將數據推送給ActiveMQ消息中間件和OpenTSDB時序數據庫。為降低系統耦合性,設計實現通用型數據網關,并將其作為獨立系統部署于數據網關服務器上。

圖1 系統框架體系結構
圖2所示為空氣懸浮風機云平臺功能模塊組織結構,云平臺主要劃分為數據采集與通信、風機數據實時監測、數據統計與分析、風機歷史數據查詢、風機銷售管理、風機設備管理、報警模塊管理和系統管理。數據采集與通信模塊負責風機運行參數數據接收、協議解析、預處理、數據推送;風機數據實時監測通過一張圖和列表的方式,將數據采集與通信模塊處理后的風機實時運行參數數據展示給用戶;風機歷史數據查詢模塊支持用戶自由選擇風機運行參數,查詢風機歷史數據;報警模塊管理包括報警信息查看、報警信息的確認和處置等。

圖2 系統功能模塊組織結構
數據采集為設備、傳感器在線監測類系統中的關鍵模塊,將其與在線監測類系統作為一個整體進行開發,使得系統耦合性高、可復用性差,導致系統開發周期長、效率低下。為此,本文單獨設計了基于ActiveMQ的通用型數據網關,解決在線監測類系統中的數據采集問題。通用型數據網關設計模型如圖3所示。

圖3 通用型數據網關設計模型
為提高數據網關的普適性,使其支持多種協議解析,設計了協議解析模型庫,支持多種協議的動態添加。設備、傳感器產生的流式數據經過通用型數據網關中相關協議解析模型解析,將解析后的風機實時監測數據推送至ActiveMQ消息中間件。通過ActiveMQ,應用程序可直接獲取中間件消息隊列中的風機實時監測數據,無需與數據庫交互,極大降低了用戶的響應延遲。此外,通過ActiveMQ消息中間件可實現通用型數據網關與應用程序間的解耦。
在實際風機運行數據采集時,需要采集的風機參數數量多,并且不同風機設備需要采集的參數內容和數量不同;通過關系型數據庫存儲風機實時運行參數數據,數據存儲和查詢效率低下。針對以上數據采集特點,考慮到數據存儲和查詢效率問題,將通用型數據網關采集和處理后的風機實時運行參數數據推送至OpenTSDB時序數據庫,數據經過時序數據庫處理,結合產生的時間戳,存入HBase分布式、面向列的數據庫中。風機運行數據采集、處理和存儲流程如圖4所示。

圖4 風機運行數據處理流程
系統采用關系型和非關系型結合的方式存儲數據。系統的業務配置數據、用戶數據等量級小且事務性要求較高的數據,被存儲在MySQL數據庫中;設備實時運行參數數據和報警數據等,其增長速度較快,且需要被查詢和統計分析,存儲于在HBase中。這種關系型數據庫和非關系型數據庫相結合的數據存儲方式在保證數據一致性和完整性的前提下,提高了整體存儲結構的高效性和穩定性。
空氣懸浮風機云平臺基于Spring Boot開發框架搭建,使用Java開發語言,平臺前端采用Vue框架,開發工具采用InteliJ IDEA。采用前后端分離的開發模式,解除了傳統開發技術框架帶來的前后臺緊耦合問題,可分別對前后端代碼進行升級優化。空氣懸浮風機通過 DTU(Data Transfer Unit)數據傳輸單元將風機設備運行參數數據借助Modbus TCP協議發送至通用型數據網關服務器。為此,設計實現Modbus TCP協議解析模型,并添加到協議解析模型庫中。空氣懸浮風機云平臺如圖5所示。在試運行階段,系統表現出良好的實用性,且運行穩定。風機數據實時監測模塊和歷史數據查詢模塊均能較好地滿足用戶實際使用需求。空氣懸浮風機云平臺實時數據展示如圖6所示,歷史數據查詢效果如圖7所示。

圖5 空氣懸浮風機云平臺

圖6 實時數據展示

圖7 歷史數據查詢
文中闡述了“智慧城市”在線監測類系統中數據處理的一般流程,針對流程的基礎部分—數據采集和存儲,單獨設計并實現了基于ActiveMQ消息中間件和協議解析模型庫的通用型數據網關,并進行了相關數據庫設計。以此為基礎,實現了空氣懸浮風機云。下一步計劃將通用型數據網關及相關數據庫設計應用于其他“智慧城市”在線監測類系統中,通過可復用軟件解決“智慧城市”平臺建設中的數據采集和存儲問題,提高平臺開發效率。