朱健
摘 ?要: 現(xiàn)有監(jiān)控后臺系統(tǒng)采用CS架構(gòu)開發(fā),其部署成本較高,鑒于此情況,為了降低部署成本,開發(fā)一套基于Web技術(shù)的PSX800后臺系統(tǒng),實(shí)現(xiàn)針對“智能發(fā)電優(yōu)化控制”運(yùn)行過程的監(jiān)控和采集數(shù)據(jù)的分析。系統(tǒng)獲取“智能發(fā)電優(yōu)化控制”過程的運(yùn)行狀態(tài)參數(shù)、事件告警SOE、實(shí)時(shí)遙信遙測數(shù)據(jù),設(shè)置系統(tǒng)控制參數(shù),保存各種數(shù)據(jù),進(jìn)行數(shù)據(jù)分析,顯示報(bào)表曲線等。
關(guān)鍵詞: Web技術(shù); 監(jiān)控和采集數(shù)據(jù); 數(shù)據(jù)分析
中圖分類號:TP311 ? ? ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? 文章編號:1006-8228(2019)10-47-03
Abstract: The existing monitoring backstage system is developed by CS architecture, and its deployment cost is high. In view of this situation, in order to reduce the deployment cost, a set of background system of PSX800 based on Web technology was developed. It realizes the monitoring and data collection for the operation process of "intelligent power generation optimization control". The system acquires operation state parameters, event alarm SOE, real-time remote signal telemetry data of the "intelligent power generation optimization control" process, sets system control parameters, saves various data, carries out data analysis and displays report curve, etc.
Key words: Web technology; monitoring and collect data; data analysis
0 引言
隨著計(jì)算機(jī)技術(shù)、物聯(lián)網(wǎng)技術(shù)與通信技術(shù)的迅速發(fā)展,利用瀏覽器觀察訪問“智能發(fā)電優(yōu)化控制”過程的運(yùn)行狀態(tài)參數(shù)、事件告警SOE、實(shí)時(shí)遙信遙測數(shù)據(jù)、報(bào)表曲線等變得日益廣泛。又由于JAVA Web技術(shù)有簡化開發(fā)過程、基于組件的技術(shù)及可擴(kuò)展性、代碼開源、跨平臺等特點(diǎn)[1-2]。鑒于以上情況分析,開發(fā)一套基于Web技術(shù)的PSX800后臺系統(tǒng),實(shí)現(xiàn)針對“智能發(fā)電優(yōu)化控制”運(yùn)行過程的監(jiān)控和采集數(shù)據(jù)的分析與展示。
1 Java Web(SpringMVC[3-4])流程架構(gòu)
流程架構(gòu)圖(圖1)說明如下。
⑴ 用戶發(fā)請求至前端控制器DispatcherServlet。
⑵ 前端控制器DispatcherServlet收到請求后調(diào)用處理器映射器HandlerMapping。
⑶ 處理器映射器HandlerMapping根據(jù)請求的Url找到具體的處理器,生成處理器對象Handler及處理器攔截器HandlerIntercepter(如果有則生成)一并返回給前端控制器DispatcherServlet。
⑷ 前端控制器DispatcherServlet通過處理器適配器HandlerAdapter調(diào)用處理器Controller。
⑸ 執(zhí)行處理器(Controller,也叫后端控制器)
⑹ 處理器Controller執(zhí)行完后返回ModelAndView。
⑺ 處理器映射器HandlerAdapter將處理器Controller執(zhí)行返回的結(jié)果ModelAndView返回給前端控制器DispatcherServlet。
⑻ 前端控制器DispatcherServlet將ModelAndView傳給視圖解析器ViewResolver。
⑼ 視圖解析器ViewResolver解析后返回具體的視圖View。
⑽ 前端控制器DispatcherServlet對視圖View進(jìn)行渲染視圖(即:將模型數(shù)據(jù)填充至視圖中)
⑾ 前端控制器DispatcherServlet響應(yīng)用戶。
2 PSX800W后臺系統(tǒng)設(shè)計(jì)
PSX800W后臺系統(tǒng)實(shí)現(xiàn)針對“智能發(fā)電優(yōu)化控制”運(yùn)行過程的監(jiān)控和采集數(shù)據(jù)的分析與展示。該系統(tǒng)所有歷史數(shù)據(jù)均采用數(shù)據(jù)庫服務(wù)器MySQL[5-6]統(tǒng)—保存,實(shí)時(shí)數(shù)據(jù)采用Redis[7]實(shí)時(shí)數(shù)據(jù)庫保存。PSX800W系統(tǒng)方框圖如圖2所示。
3 數(shù)據(jù)交互設(shè)計(jì)
PSX800 Web規(guī)約插件獲得實(shí)時(shí)數(shù)據(jù)信息,將信息寫入共享內(nèi)存。
PSX800 Web數(shù)據(jù)接口進(jìn)程讀取共享內(nèi)存,獲得實(shí)時(shí)數(shù)據(jù)信息,并將信息封裝為JSON文本發(fā)送至JAVA Web數(shù)據(jù)服務(wù)接口。
JAVA Web數(shù)據(jù)服務(wù)接口接收到JSON文本后進(jìn)行解析,并寫MySQL數(shù)據(jù)庫和Redis內(nèi)存數(shù)據(jù)庫。實(shí)時(shí)數(shù)據(jù)傳輸過程如圖3所示。
在主畫面、邏輯圖和事件信息子項(xiàng)中,通過創(chuàng)建websocket[8-9]客戶端,并向JAVA Web數(shù)據(jù)服務(wù)接口發(fā)送訂閱數(shù)據(jù)點(diǎn)信息。當(dāng)PSX800有突變數(shù)據(jù)產(chǎn)生時(shí),會向JAVA Web數(shù)據(jù)接口發(fā)送JSON數(shù)據(jù)。JAVA Web數(shù)據(jù)服務(wù)接口將解析后的信息與瀏覽器頁面發(fā)來的訂閱點(diǎn)信息進(jìn)行對照,只發(fā)送當(dāng)前頁面訂閱的信息。在實(shí)時(shí)數(shù)據(jù)子項(xiàng)中,將所有設(shè)備組織成樹形結(jié)構(gòu),當(dāng)點(diǎn)擊了某個(gè)設(shè)備后,會觸發(fā)一個(gè)定時(shí)刷新機(jī)制來更新實(shí)時(shí)數(shù)據(jù)。Web實(shí)時(shí)數(shù)據(jù)顯示過程如圖4所示。
4 系統(tǒng)運(yùn)行設(shè)計(jì)
4.1 部分界面運(yùn)行效果圖(如下)
4.2 系統(tǒng)安全性
Web應(yīng)用程序的安全性[10]是建立在Windows安全性、Linux安全性和Tomcat安全性基礎(chǔ)上的。PSX800W系統(tǒng)是為了實(shí)現(xiàn)針對“智能發(fā)電優(yōu)化控制”運(yùn)行過程的監(jiān)控和采集數(shù)據(jù)的分析展示,所以其安全性很重要,后臺數(shù)據(jù)庫中存在大量的信息,如果丟失或者被惡意改寫,后果很嚴(yán)重,因此建立安全的體系很有必要。在實(shí)現(xiàn)時(shí),系統(tǒng)采取以下安全措施。
(1) 身份驗(yàn)證方式:采用SpringMVC配置攔截器來實(shí)現(xiàn)身份認(rèn)證。
(2) 授權(quán)策略:基于角色的授權(quán)策略,根據(jù)不同用戶分配各自的權(quán)限,依據(jù)各自的權(quán)限授予相應(yīng)的頁面功能操作與管理。
(3) 加密算法技術(shù):平臺采用MD5加密算法[11]對密碼加密,存于數(shù)據(jù)庫中,保障這些重要信息安全。
(4) 數(shù)據(jù)驗(yàn)證:驗(yàn)證數(shù)據(jù)類型、過濾任何非法性的輸入,尤其是防止MySQL注入攻擊。
4.3 系統(tǒng)測試
為了發(fā)現(xiàn)程序和系統(tǒng)中可能存在的錯誤,系統(tǒng)在每一部分功能實(shí)現(xiàn)的同時(shí)還進(jìn)行了大量的測試[12-13]。測試數(shù)據(jù)除采用一些正常的數(shù)據(jù)外,還包括各種異常數(shù)據(jù)和臨界可能,用它們來檢驗(yàn)程序的健壯性和正確性。代碼測試后,還對系統(tǒng)進(jìn)行程序功能測試和綜合測試,檢測系統(tǒng)整體功能實(shí)現(xiàn)情況。測試結(jié)果表明,系統(tǒng)界面友好,操作簡單,運(yùn)行穩(wěn)定,符合用戶使用習(xí)慣,功能也達(dá)到了設(shè)計(jì)要求。
5 結(jié)束語
本文設(shè)計(jì)實(shí)現(xiàn)了基于Web技術(shù)的PSX800后臺系統(tǒng)。該系統(tǒng)的開發(fā)可以更加直觀地實(shí)現(xiàn)針對“智能發(fā)電優(yōu)化控制”運(yùn)行過程的監(jiān)控和采集數(shù)據(jù)的分析與展示,該系統(tǒng)可以廣泛應(yīng)用于火電廠,降低部署成本,應(yīng)用前景廣闊。
參考文獻(xiàn)(References):
[1] 李剛.瘋狂Java講義第4版[M].電子工業(yè)出版社,2018.
[2] 劉斌.精通javaweb整合開發(fā)(jsp、ajax、struts、hibernate). 北京:電子工業(yè)出版社,2015.6:665
[3] 陳恒.SpringMVC開發(fā)技術(shù)指南[M].清華大學(xué)出版社,2017.
[4] 劉淦.基于SpringMVC框架的配置管理平臺設(shè)計(jì)與實(shí)現(xiàn)[J].北京郵電大學(xué),2017.5.
[5] 高見斌.基于MYSQL數(shù)據(jù)庫存儲引擎的研究[J].數(shù)字通信世界,2018.5:102-105
[6] 靳繼紅.基于MYSQL的查詢優(yōu)化技術(shù)研究[J]. 電腦知識與技術(shù),2017.13(30):35-36
[7] 李彥辰,艾慶忠,王少非.基于Redis的分布式搜索引擎研究[J].軟件導(dǎo)刊,2018.11(3):201-204
[8] 薛隴彬,劉釗遠(yuǎn).基于WebSocket的網(wǎng)絡(luò)實(shí)時(shí)通信[J].計(jì)算機(jī)與數(shù)字工程,2014.42(3):478-481
[9] 樊天威.基于WebSocket與SVG的在線組態(tài)監(jiān)控系統(tǒng)開發(fā)[D].南京大學(xué),2018.5.
[10] 李鑫.Web安全問題與防范策略分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017.10:31-32
[11] 趙素萍.MD5加密算法的改進(jìn)及應(yīng)用[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2017.15:60-62
[12] 王京.大數(shù)據(jù)背景下軟件測試技術(shù)研究[J].信息與電腦(理論版),2018.7:26-27,30.
[13] 朱曉敏.軟件測試的相關(guān)技術(shù)應(yīng)用研究[J].電子測試,2017.1:122-123