摘 要:基于大數據可視化分析的安全生產運行監控系統是安全生產管理系統的重要組成部分。該文扼要地概述了安全生產運行監控系統的功能及其主要技術手段,包括主要系統架構、前端主要技術和后臺技術概述,說明了建設安全生產運行監控系統對于進一步提高生產質量和安全生產保障能力具有重要意義。
關鍵詞:運行監控 前端 后臺
中圖分類號:TP27 文獻標識碼:A 文章編號:1672-3791(2015)12(a)-0051-03
近年來,企業的信息化建設和信息化管理成為企業發展的重點[1-2],某廣電單位緊緊圍繞廣電事業發展和管理創新的需要,穩步推進信息化建設并取得初步成效。自動化系統已經得到廣泛應用,減少了對人的依賴;各類信息系統也成為業務工作的重要支撐;網絡已經成為主要的信息傳遞渠道,信息化已經成為該單位業務管理的重要組成部分[3]。
通過持續多年的信息化基礎建設,基本實現了設備的實時狀態和運行數據在分公司信息平臺的初步整合。但是,該單位信息化發展中存在的一些問題越來越明顯:第一,當前各分公司的設備運行、運維數據等沒有進行統一地采集與存儲,未能實現分公司生產及管理數據和總部管理數據的匯總和分析;第二,由于當時技術體制的局限性,已建成的各系統大多為分散、獨立系統,相互間沒有形成聯動;第三,可視分析是數據分析的重要方法[4],但各系統的各種運行數據也僅作數據展示使用,沒有進行深層次的數據挖掘、數據可視化分析工作,無法全面地為領導及各部門提供不同界面、展示豐富美觀的可視化分析應用。
綜合上述問題分析,該單位建設了一套基于云基礎設施管理及大數據可視化分析的安全生產運行監控系統。該系統通過對分公司的各獨立生產系統的聯動分析,實現數據挖掘和可視化分析,提供設備運行狀態監測和輔助決策服務。
1 系統結構
安全生產運行監控系統由運行監測、生產質量、統計分析及綜合查詢等模塊組成。支撐上述業務模塊的數據主要來自于總部本級的大數據主題數據庫。根據各業務部門需求,各模塊對這些數據進行分析處理,提煉業務價值,再運用數據可視化技術進行呈現。
運行監測、生產質量模塊實現在總部本級對全單位所有生產設備的運行狀態和生產質量的實時監測和報警,爭取在第一時間發現問題,及時指揮調度,進行應急處置,增強應對突發事件的能力,提升安全生產保障能力;通過生產設備穩定度分析及設備故障管理模塊對生產運行數據的統計分析,為實現全部設備資源的優化配置,為領導決策提供及時、快捷、準確的依據,最終達到提高生產質量的目的。系統邏輯結構見圖1。
2 技術架構
TBMS系統整體上采用展現層、應用層、數據層3層B/S架構。每一層為上一層提供服務,使用下一層的服務。通過層次結構將大的問題分解成若干小問題逐步解決,這樣可以減少系統的復雜度。
展現層用于顯示數據和接收用戶輸入的數據,為用戶提供一種交互式操作的界面,采用D3、HighCharts可視化組件、jQuery、Websocket等技術。運行監控系統的應用層基于Spring框架,處于數據訪問層與表示層中間,起到了數據交換中承上啟下的作用,對于數據訪問層而言,它是調用者;對于表示層而言,它卻是被調用者。數據層主要是負責數據庫的訪問和對象實體的持久化,采用MySQL ORM、MongoDB ORM框架、Druid數據庫連接池、MySQL觸發器、同步復制等技術。平臺總體技術框架參見圖2。
2.1 前端技術
運行監控系統的前端開發設計主要應用了可視化工具D3、網頁報表工具HighCharts、JQuey框架和Websocket技術。
可視化工具D3是在綜合考慮可視化表現形式多樣性、效率和可訪問性基礎上提出的,實例豐富,易于實現調試數據,可以被很多其他的表格插件所使用,允許綁定任意數據到DOM,然后將數據驅動轉換應用到Document中,并且可以使用它用一個數組創建基本的HTML表格,或是利用它的流體過度和交互,用相似的數據創建SVG條形圖。
網頁報表工具HighCharts采用純JavaScript編寫,兼容當今大部分的瀏覽器,包括Safari、IE和火狐等等;能夠支持曲線圖、區域圖、柱狀圖、餅狀圖、散狀點圖和綜合圖表等多種圖表類型,可以滿足各種需求;HighCharts可以在大多數的WEB開發中使用,并且對個人用戶免費,支持ASP,PHP,JAVA,.NET等多種語言中使用;HighCharts具有提示功能,在其生成的圖表中,可以設置在數據點上顯示提示效果,即將鼠標移動到某個數據點上,可以顯示該點的詳細數據,并且可以對顯示效果進行設置;HighCharts可以大量數據集中顯示,并且可以放大某一部分的圖形,將圖表的精度增大,進行詳細地顯示,可以選擇橫向或者縱向放大;HighCharts時間軸可以精確到毫秒,滿足系統的實時性和準確性要求。
JQuey框架是前端的基礎框架。WebSocket protocol是HTML5一種新的協議。它實現了瀏覽器與服務器全雙工通信(Full-duplex),該系統用到的是stomp.js,stomp.js是使用HTML5 WebSocket實現的stomp客戶端,客戶端的WebSocket底層實現都在該文件中。
2.2 后臺技術
后臺的核心是Spring框架,用到的大部分技術都會與Spring平臺進行整合。后臺分層結構包含應用層和數據層。
應用層用到如下技術。
(1)Spring框架:Spring是后臺的核心,它是一個輕量級的IOC和AOP容器框架。
(2)Spring MVC:MVC框架,用于連接前后臺的數據交互。當前端發起一個http請求時,由Web容器(該項目中為Tomcat)將請求轉交給Spring MVC的控制器,通過控制器找到相應請求的處理器。將請求處理后,通過Model And View()對象返回相應的視圖。也可以直接通過ajax請求將動態數據返回。該項目中,當前端需要展示廣播發射機的基本信息時,首先通過ajax向后臺發送http請求,當Spring MVC接受到ajax請求時,通過控制器將請求分發,并在處理器層將請求處理并返回對應的數據至前端,前端將相應數據展現,實現一個完整的MVC架構。 (3)Spring Security:安全認證服務框架,系統使用它進行登錄認證和權限控制。
(4)Spring Websocket:Spring在4.0版本后提供了對Websocket的支持,配置和使用與Spring MVC類似。Websocket作為HTML5中新的協議,能夠實現數據雙向實時通信。在Websocket瀏覽器和服務器中只需要做一個握手的動作,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。該項目中,由于為體現實時監控的功能,有較多的實時性數據需要在前端中展示,例如當需要展示全局的廣播發射機工作狀態時,需要通過Websocket將數據以消息的形式實時發送到前端,以達到實時監控的目的。
(5)Quartz:Quartz是一個開源的作業調度框架,配置簡單且很靈活,能與Spring進行很好地集成。Quartz允許開發人員根據時間間隔(或天)來調度作業。它實現了作業和觸發器的多對多關系。
(6) Ehcache:Ehcache是一個很優秀的緩存框架,完全用java實現,系統中用它主要有兩個功能。
①與Mybatis整合,當在Mybatis的Mapper配置文件中配置相應的參數時,能對查詢的結果進行緩存。
②將系統中的靜態數據(如生產設備信息、分公司信息、機房信息)放入其中,代碼里直接從Ehcache中獲取需要的數據,提高性能,減少數據庫壓力。
(7)Zzx Commons:Zzx Commons是自行研發的工具包,提供與業務無關的公共功能,比如工具類(類操作、日期操作、文件操作、日志操作等),公共的日志對象、數據對象、異常對象等,可被其他工程引用。
數據層包含如下技術。
(1) Mybatis:Mybatis是針對關系型數據庫的優秀的ORM框架,類似Hibernate,它上手簡單,文檔全面,與Spring能很好地集成,同時提供代碼生成器。
(2) Morphia:Morphia是針對Mongodb的ORM框架,對Mongodb Api進行了封裝,方便開發者使用。Morphia框架可以輕易地整合非關系型數據庫中面向文檔的操作,做到和Query,Insert,Update以及Remove等意義相同的操作。
(3)Druid:非常高效的數據庫連接池,還提供監控功能。
(4)Mysql高級特性。
①觸發器。觸發器是一種特殊的存儲過程,觸發程序是與表有關的命名數據庫對象,當表上出現特定事件時,將激活該對象。
②復制。生產環境有兩臺Mysql服務器,任何一臺既是主服務器又是備服務器,當其中的一臺服務器有數據變更時,會通過復制功能同步到另外一臺服務器。
3 結語
該文介紹了安全生產運行監控系統的系統架構,包括主要功能模塊、系統邏輯結構;并且對系統建設過程中應用的主要技術進行了說明,包括前端主要技術和后臺技術的概述。安全生產運行監控系統實現了數據挖掘和可視化展示,對于實現生產資源優化配置、提供設備運行狀態監測和輔助安全播出輔助決策、提高安全運行保障能力具有重要意義。
參考文獻
[1] 劉磊.企業信息化管理應用研究[J].經濟研究導刊, 2013(23):58.
[2] 周鴻.企業信息化管理平臺的設計與實現[J].中國管理信息化, 2012,15(16):79.
[3] 張戈.淺談廣電網絡的信息化建設[J].科技致富向導,2014(18):80.
[4] 任磊,杜一,馬帥,等.大數據可視分析綜述[J].軟件學報, 2014(9):1909-1936.