白海婷 田茂 王雄兵



摘 要:遠程監控系統已逐漸滲入到人們的日常生活,它可將數據中心的各種數據以直觀的方式展示給系統用戶。在系統設計上,使用經典的模型層—視圖層—控制器(MVC)設計模式,在每一層使用不同的先進技術來實現光伏信息數據的采集、處理和展示。系統使用了Struct2+Spring3+Hibernate4框架及Maven工具來對整個項目進行管理和控制。
關鍵詞:遠程監控系統;MVC;EasyUI;Struts2;Spring;Hibernate
中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2015)12-00-02
0 引 言
信息技術的飛速發展使遠程監控系統逐漸滲入到人們的日常生活中。遠程監控系統的主要任務是將公司數據中心數據庫中各光伏電站的數據以直觀的方式展示給系統用戶。與本地監控系統相比,遠程監控系統不需要考慮設備組網、設備通信等問題,而主要考慮界面的簡潔美觀、系統的實用性和穩定性。通過遠程監控系統,公司相關人員可以通過電腦或手機瀏覽器,遠程查看每個光伏電站及其設備的實時運行情況,實現了對光伏電站的集中實時監控。
1 系統功能簡介
該遠程監控系統的主要模塊有數據展示、數據導出、電站管理、用戶和權限管理等功能,如圖1所示。數據展示包括電站實時數據展示、電站發電量數據展示、設備實時數據展示和設備歷史運行數據展示等,使得用戶可以方便查看指定日期的設備數據。數據展示的形式多種多樣,包括表格、曲線和柱狀圖等,用戶可以通過實時數據曲線,獲取數據值和數據的變化趨勢,通過發電量柱狀圖對電站的運營狀況獲得宏觀的把握。數據導出主要指報表的導出功能等。電站管理指管理監控中心所監控的光伏電站,如增刪電站、修改電站信息等。用戶和權限管理主要包括遠程系統的用戶登錄、用戶信息的增刪修改和用戶權限管理等。
2 系統技術架構
對于整個項目的管理和控制,使用目前比較流行的軟件項目管理工具Apache Maven 工具。Maven工具使用基于項目對象模型(Poject Object Model,POM),為開發人員構建了一個完整的生命周期框架,簡化和標準化了項目建設過程、處理編譯、分配、文檔、團隊協作和其他任務的無縫連接[1]。減輕了開發人員的工作負擔,也有利于團隊開發的標準化和規范化。
該平臺采用經典的模型層—視圖層—控制器(MVC)設計模式[2],主要分為視圖層、控制層、業務邏輯層和DAO 層。Web客戶端部分主要采用easyUI實現界面交互。 EasyUI是基于JQuery的一個前臺UI界面的插件集合[3],界面簡潔,可擴展性強。應用控制層采用基于模型驅動的Struts2實現,Struts作為系統的整體基礎架,負責MVC的分離。業務邏輯層和數據層主要使用Spring的依賴注入和Hibernate實現。數據庫采用開源穩定的MySQL。系統技術架構如圖2所示。
用戶通過瀏覽器向服務器發送業務請求之后,Structs2采用攔截器機制根據配置文件(struts-config.xml)將接收到的請求轉發給相應的Action處理。在業務層,負責管理服務器組件的spring ioc 容器向Action提供Service組件和該組件的協作對象數據處理(DAO)組件完成業務邏輯,并提供事務處理、緩沖池等容器組件以提升系統性能和保證數據的完整性。Spring配置事務的關鍵代碼如下:
在持久層中,則依賴于Hibernate的對象化映射和數據庫交互[4],處理DAO組件請求的數據,并返回處理結果。采用上述開發模型,不僅實現了視圖、控制器與模型的徹底分離,而且還實現了業務邏輯層與持久層的分離。當前端發生改變時,模型層只需很少的改動,并且數據庫的變化也不會對前端有所影響,極大地增強了系統的可復用性。
數據展示的流程圖如圖3所示,當Web瀏覽器發出查看數據的請求時,應用程序將創建數據庫的操作對象并執行相應的查詢語句查詢數據庫,當從數據庫查詢獲得了所需的記錄后就根據獲取的數據生成相應的圖表報表并顯示,如果沒有記錄就彈出提示。
電站管理框圖如圖4所示,遠程監控系統的電站管理指管理監控中心所監控的光伏電站,如增刪電站、修改電站信息等,電站管理需要管理員權限才能進行。若需要監控中心接收新增的光伏電站的數據,則應該通過電站管理功能新增電站,為其分配唯一的電站編碼。一般來說,增加電站和修改電站信息功能使用較多,而刪除電站功能則較少使用。當Web瀏覽器發出管理電站請求時,應用程序會根據請求的電站信息(必須含有唯一識別電站的編碼)生成電站對象,然后在數據庫執行相應的添加、刪除、更新操作,并將操作結果返回給瀏覽器。修改電站信息時,電站編碼不能被修改;刪除電站時,與該電站相關的電站信息、電站數據、設備信息、設備數據等將被清除。
3 結 語
太陽能光伏發電信息化系統提高光伏電站的管理效率,減輕了工作人員的工作強度,為太陽能光伏電站的穩定運行和光伏發電數據的分析提供強有力的技術平臺,也為智能電網調度提供了基礎。本系統使用了Struct2+Spring3+Hibernate4框架,利用降兩級的Hibernate4對數據訪問代碼進行了封裝,很大程度上簡化了DAO層的編碼工作。
參考文獻
[1]胡永凱, 左保河.基于Maven的J2ME項目管理插件的開發[J].電腦與電信,2009(3):54-56.
[2]何成萬,余秋惠.MVC模型2及軟件框架Struts的研究[J].計算機工程,2002,28(6):274-275.
[3]劉英哲.基于SSH框架的遠程教學平臺的實現[J].中國遠程教育,2010(17):69-72.
[4]李剛.輕量級Java EE企業應用實戰(第四版)Struts2+Spring+Hibernate整合開發[M].北京:電子工業出版社,2014.
[5]李剛.瘋狂Java講義[M].北京:電子工業出版社,2012.