基于Maven和Easyui的远程监控系统的设计与实现

2015-12-28 13:22白海婷田茂王雄兵
物联网技术 2015年12期

白海婷 田茂 王雄兵

摘 要:远程监控系统已逐渐渗入到人们的日常生活,它可将数据中心的各种数据以直观的方式展示给系统用户。在系统设计上,使用经典的模型层—视图层—控制器(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.