王毅璇
(中國電子信息產業集團有限公司第六研究所 北京市 102209)
動力與環境監控[1]是部隊后勤保障的重要內容,目前采用的傳統監控系統在基礎信息數字化建設方面缺乏統一規劃設計,內部供電、環境、空調、供暖、燃氣等基礎采集數據覆蓋不全、采集手段單一、信息庫更新慢且各系統相互獨立、互聯互通差,信息孤島情況嚴重,數據的標準不統一、未能統一整合,協同處理能力弱并缺乏深度的數據挖掘分析手段,導致缺乏統一的監控管理和預警分析,數據使用價值極低,不能滿足信息化和智能化的要求。為解決傳統管理系統存在的不足,本文提出一種基于大數據技術的動力與環境監控智能管理系統,用于部隊后勤保障的動力與環境監控與管理,實現了對動力與環境的智能化統一管控。
動環管理系統(動力與環境監控智能管理系統)實現對供電、供暖、供水、燃氣設備及機房動力環境設備的統一管理,實時顯示視頻監視和監控動力設備的運行狀態,記錄、處理相關數據,及時偵測設備故障,并進行相應的預警或告警聯動,通過PC端和手機客戶端通知相關人員處理,避免或減少設備或系統故障,提高了對電、暖、氣、水等基礎設施監控與管理的統一性、實時性、可靠性和安全性。
動環管理系統以云服務子系統、Web服務子系統及數據庫子系統為核心,輔以一系列的接入服務器系統處理外部系統接入,以B/S客戶端完成基本配置和業務功能呈現。接入系統提供多種類型接入服務,按照功能分為:視頻接入、FSU接入和異構系統接入。WPU服務器作為后臺支持手機客戶端訪問。系統的總體框架如圖1所示。
FSU(現場監控單元)接入主要是接入現場信息采集器的數據,可匯聚多個信息采集器。信息采集器主要是接入溫濕度、氣象、電表、管壓、蒸汽流量計等前端設備的數據,它提供設備采集管理平臺,可以實時數據進行有效的管理。
視頻接入服務,包括視頻接入、視頻轉發、視頻存儲功能,主要用于匯聚視頻相關信息,提供視頻管理平臺,對實時視頻、歷史視頻進行有效的管理,可以直接接入自定義視頻配套設備,無需進行重新開發,還可通過標準協議接入第三方視頻攝像機。
異構系統接入服務,提供數據網關功能,可實現跨區域、跨網絡、跨系統數據接入。基于接口開放性、可擴展性的設計思路,采用SDK、文本協議等多種方式接入第三方系統。提供多種接口;能耗系統接口與能耗系統對接,資管系統接口與資管系統對接;并且支持運維系統對接。

圖1:系統物理架構圖

圖2:數據處理分析系統架構
軟件系統采用Hadoop與Spark相結合的方式進行底層架構的部署,應用html+RESTFUL技術,以ICAP架構為基礎,在其上擴充業務,完成業務功能的中心適配及數據庫的連接處理。動環管理系統軟件采用模塊化分層設計思想。
界面層接收客戶端請求,并響應客戶端。包含展示層和控制層,控制層負責接收請求,展示層負責結果展示,要功能是繪制顯示界面、人機交互界面,處理人機交互數據,包括設備實時監控、實時數據曲線、歷史曲線查詢、能耗及PUE圖、全網對時管理等。
業務層實現系統業務邏輯。前臺獲得了數據,業務層對數據進行處理、分析,主要業務包含告警視圖、告警過濾、實體組織關系、告警管理等。
數據訪問層實現業務系統的數據存儲及管理,為業務層提供數據查詢、訪問功能,主要是通過SCOP協議客戶端獲取數據。利用數據庫系統的并行機制、高可用機制實現了系統在數據存儲及管理方面的高性能和高可用性。
公共服務層為整個系統的公用功能提供服務。該層主要包括:日志服務、資源服務、異常體系、權限服務等功能。日志服務,主要用來監測系統的使用情況,如用戶的登入登出操作,添加刪除等操作;資源服務為整個系統提供必要的,能使系統正常運行的軟硬件資源,例如網絡,服務器等;異常管理可及時高效捕獲到程序運行過程中出現的異常情況,從而保證系統穩健的運行;用于軟件平臺登錄驗證、第三方平臺授權/登錄、集成第三方前端實現統一登錄。
系統數據處理分析系統底層采用Hadoop分布式計算架構,如圖2所示,通過分層設計將復雜的數據處理分析設計簡單化。
數據存儲方面使用目前最穩定、最成熟的分布式存儲系統HDFS,通過調用HDFS中的JAVA API是實現HDFS的可視化。使用關系型數據庫MySql。
中間層是Apache Spark計算引擎層,Spark的部署運行采用Spark on Yarn的yarn-cluster模式,Spark driver作為一個ApplicationMaster在yarn集群中先啟動,然后再由Application Master向ResourceMaster申請資源以運行任務,保證了系統的高性能和穩定性,并且提高了資源利用率。系統使用ZooKeeper作為協調工具,完成分布式協調相關服務,如提供分布式同步、進行配置管理及集群管理等。
數據分析方面,Command-line shell組件為執行Linux腳本及調用大數據其它相關組件提供運行通道,SQL查詢引擎主要使用Spark SQL,數據倉庫使用Hive Metastore。通過使用JDBC連接thrift server實現Spark SQL數據建模和可視化的數據查詢。
為了有效分析利用數據,將原始數據進行規范化、智能化處理,設計“樹”形模型進行數據處理,如圖5所示,使得展示的數據更加直觀具體,數據提取更加方便簡單,也讓數據的可讀性變得更強。通過把各站點(各開閉站、配電站、鍋爐房、換熱站、機房)采集數據抽象為“樹”型層次結構整理和深入分析,可根據用戶不同需求,通過計算提供多種數據分析和輔助決策結果,提高了數據處理效率。
大數據査詢分析是云計算中核心問題之一。動環管理系統匯聚了海量多種數據類型,數據査詢使用Spark SQL作為SQL査詢引擎,進行Spark SQL的可視化開發。數據査詢主要功能點有:Spark SQL査詢編輯器、可視化管理、查詢管理、數據倉庫及查詢歷史管理等。
為提高數據查詢效率,系統采用雙緩存設計技術,在客戶端、服務端均實現緩存。
為適應用戶查詢需求的多樣化,系統還對搜索引擎進行了升級,利用搜索引擎對服務使用者進行分類。基于收集到的點擊率和搜索記錄數據等關鍵詞,通過對數據進行收集分析,使搜索引擎能夠推導出常用查詢數據,提升了數據查詢的智能化水平。
系統采用分布式數據庫,通過網絡訪問數據庫服務器。應用數據庫集群技術,允許在無共享的系統中部署“內存中”數據庫集群,通過無共享體系結構,每個組件有自己的內存和磁盤,可消除單點故障。實現了分布式計算環境的高實用、可拓展、高性能和可靠性。
鑒于數據庫集群無法直接提供浮動單IP對外訪問,以及考慮到日后集群的模向擴展及讀寫分離的需求,采用多連接設計思路,應用服務器支持針對不同業務訪問不同IP數據庫。
系統基于J2EE的B/S架構,分布式部署,服務器部署在監控中心主機上,客戶端部署在各本地監控主機上,采用SOA的開發模式。分布式部署采用“反傳”客戶端設計,即將前端采集的數據直接發送到監控中心進行處理,再從監控中心分權,通過網絡緩存到本地客戶端進行顯示。
系統采用扁平化模塊化的架構,將監控中心部署在云端,已有系統的異構系統通過SDK協議接入監控中心,未建監控系統的點按照標準協議上送至監控中心。監控中心設立在云端有利于計算能力的統合和分配,消除計算瓶頸,減少硬件的投資;扁平化的設計使得系統組網簡潔明了,簡化了業務管理流程,便于功能接入和應用擴展,同時有助于系統維護和與現網的融合,消除單點故障。為減少因軟硬件故障帶來的服務中斷,保證系統的可擴展性、可維護性,監控中心主要服務采用雙機熱備方式。
本文主要分析了使用大數據技術實現的動力與環境監控智能管理系統的設計,該系統已成功應用于某部隊。系統在應用中表現出較強的穩定性、實時性和可靠性。