1. 引言
国务院印发《国家新型城镇化规划(2014~2020年)》 [1] 智慧城市建设方向第3条:发展智能水务,构建覆盖供水全过程、保障供水质量安全的智能供排水和污水处理系统。发展智能管网,实现城市地下空间、地下管网的信息化管理和运行监控智能化。
“智慧水务”是我国目前大力打造的“智慧城市”的重要组成部分,通过对水务信息的实时采集、传输、存储、处理,提升水务管理的效率,从而实现保障水质,移动办公,实时处理等目的。目前国内大部分供水企业都采用了一些信息化系统,但信息处理和流转只局限于本部门,信息孤岛现象严重,缺少一个规范的水务信息统一管理平台,尤其是缺少一个移动化办公的统一管理平台。
该平台是一个基于Android平台的智慧水务信息化管理系统的移动办公平台,完成便携式移动办公,综合供水企业的多个信息化系统数据资源,同时对数据进行有效地分析、实时交互和信息展示。
2. 智慧水务移动办公平台的架构
2.1. 系统特点
系统是在供水企业原有的供水自动化、信息化系统的基础上开发的综合应用平台,特点是在Android平台下开发的移动工作应用软件,可以更加快捷,方便的完成一系列针对水务信息的查询和信息交互,方便供水企业工作人员的移动办公,提供工作效率。
在“智慧水务”理念的引导下,采用移动办公平台,使供水企业的管理模式发生了改变,对原有的信息化系统大量数据进行分析处理,实时预警,为管理供水系统提供更加实时动态和移动处理的办公方式。
2.2. 系统功能
针对供水企业的需求特点,移动办公平台主要完成供水系统运行总览,供水管网展示,制水生产调度,远程抄表,水质检测,实时报警,历史数据分析等模块。其主要功能的架构框图如图1所示,还可以根据实际应用的需要增加功能模块。
主要应用功能包括:
水厂重要参数展示模块:为了让工作人员更加直观的观察到全区重要参数和报警信息,通过对供水系统数据的观察,制定运行总览数据展示模块。数据包括各个水厂的供水压力、水位数据,累计流量数据,水泵的开关状态,电量检测数据等。前端通过mui框架设计样式,在移动端设计较为美观的展示界面。在后端通过数据传输接口进行数据库数据的实时前后端交互。
管网展示模块:采用管网形式将数据以空间和属性数据一体化方式存储,实现基本的地图显示和查询功能。可以显示重要管网阀门位置,管网压力、流量,重要水位等实时数据,提供管网及相关资料的查询、统计以及各种输出等管理功能 [2]。
制水生产综合数据展示模块:通过对制水生产时,各水厂使用的泵、阀等的电流、压力,固定地点的水位、水量等的数据进行实时显示;并对制水生产过程中各个仪器设备的状态进行实时显示。保证制水生产的自动化监测,提高制水生产过程的安全。
水质监测模块:对源水和出厂水的水质实时检测并显示,实时监测水质严格按照标准进行生产与供水。对水各个时间的重要水质指标进行显示,包括浊度、余氯、温度、ph值等数据。如果水质不符合标准可以及时提醒工作人员进行相关的检查和处理,从而保证水质的达标 [3]。
报警模块:在各个模块设置需要报警的数据进行实时检测,包括实时供水压力、水位,配电间的电流、电压,水质是否符合标准等。通过后端数据库中所设置的报警界限进行判断,对不同的数据设置相应的报警界限,如果超出或低于报警界限便将报警信息通过后端传到前端界面。针对不同的数据进行不同的提示方法,并将最后的报警信息在报警模块进行文字显示,并进行明显标红提示。可以让相关工作人员能够不止在工作区间检测报警信息,还可以在任何地方任何时候都可以得到报警信息,对发生的报警情况及时的进行相应处理,从而实现供水系统的安全。
历史数据模块:对于水务系统来说,历史数据的查询与分析也尤为重要,在历史数据模块中分为两种形式展示:一种以可视化图表展示,采用echarts组件进行相关数据的图表形式展示,包括趋势折线图,直方图,饼状图等,可以直观且形象的展示历史数据;另一种以数据报表展示,把所有的数据都以表的形式罗列出来。两种形式都可以按照时间查询相应的历史数据,既可以观察历史数据的走向趋势、所占比例,又可以观察历史的详细数据。
3. 智慧水务移动办公平台的设计
系统平台是可以运行在Android和ios移动端的app系统。
3.1. 后端设计及技术难题
目前大多企业web应用开发都采用SpringMVC + spring + hibernate集成框架以解决传统J2EE应用的开发效率低以及复杂性。项目总体框架见图2。Spring是一个轻量级的控制反转和面向切面的容器框架,他是全面的和模块化的,具有分层的体系结构,编程人员可以选择使用它孤立的任何一部分并且它的架构仍然是内在稳定的。可以使用spring来简化JDBC的使用或者用来管理所有的业务对象。SpringMVC框架是一个全功能的构架Web应用程序的MVC实现。通过策略接口,MVC框架变成高度可配置的,SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。而hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。并且它支持各种关系数据库多对多的各种复杂关系。

Figure 2. Overall technical architecture
图2. 整体技术架构
SSH集成框架在maven的环境下进行搭建要特别注意相关配置文件的编写,如pom.xml、web.xml等配置文件要确保SSH框架相关的依赖包、对应接口实现以及虚拟路径与处理函数的映射等都配置正确,否则整个SSH框架将无法正常工作。SSH框架工作流程见图3。
3.2. 前端设计
软件app的界面设计很多种方法,但为了更加贴原生app的体验,系统前端采用mui设计框架,它不依赖任何第三方JS库,轻量,高性能,可多端发布到Appstore、Android市场、浏览器、微信公众号、百度直达号及流应用。真正实现多端发布–开发一套代码,发布六个平台。可以利用框架内容,设计出一个用户体验更好的,画面更加美观的移动端app。可以实现的界面样式包括下拉刷新、图片滚动、可视化图表、分级底部导航栏等功能。
3.3. 前后端交互
前后端交互采用ajax方法进行交互,ajax方法是指一种创建交互式网页应用的网页开发技术,ajax技术的核心操作是用前端请求对象进行异步数据处理,所谓异步,即通过ajax,JavaScript无需等待服务器的响应,而是在等待服务器响应时执行其它脚本,当响应就绪后对响应进行处理。具体流程见图4所示。

Figure 4. Front-end and back-end interaction flow chart
图4. 前后端交互流程图
4. 系统的开发与实现
系统采用Spring可插入的MVC架构,通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,分离了控制器、模型对象、分派器以及处理程序对象的角色,使得它们更容易进行定制。Hibernate对JDBC进行了封装,使得开发人员可以用面向对象等程序思维来操纵数据库。前端采用HBuilder + MUI框架快速构建APP的显示界面,再利用Ajax技术实现前后端数据交互,从而实现整个系统功能的联动。
4.1. 水厂参数显示
首先设计前端界面,利用table形式将所要显示的数据定格在前端界面中,指示灯则以圆形按钮的形式显示,设置页面实时刷新的时间间隔,到达设定时间前端开始刷新,利用ajax方法像后端获取数据,后端通过ssh框架对应的mvc结构,通过controller层的相关方法,调用数据库语言实现数据的获取。接到的数字形式的数据则直接显示到相应位置上,如果以0/1形式数据显示则为指示灯状态,通过判断当前圆形按钮的颜色样式进行相应颜色的改变,从而实现状态的显示。效果如图5、图6所示。
4.2. 管网展示
调用百度地图SDK接口,进入百度地图开放网站,进行账号和百度地图apiak申请,在前端相应位置加入调用百度地图api的语句实现调用。把管网大致图形按照坐标的形式绘制到百度地图上即可实现管网的展现,在主要观察点进行标记,实时调用后端数据库相应数据,在图上显示重要参数。
4.3. 报警信息
在后端数据库中设置相应数据的上限以及下限,在数据库采用触发器形式,如果数据超过规定则生成一条报警数据,从后端传到后端的报警界面,生成一条新的报警信息,并且根据报警信息进行手机声音或者弹出窗口进行提醒 [4]。
4.4. 历史数据显示
后端数据库中,实时数据表会同步传递数据到历史数据表,然后同上述参数显示,通过ssh框架的表示层、业务逻辑层、数据持久层和域模块层进行数据传输,在前端采用两种方法展示:一种是采用可视化组件echarts做成可视化图表,接受到的后端数据依照图表所提供的位置加入,即可显示相应的数据可视化图表;另一种是采用报表形式展示,在前端将所有属性加入表头,后端传到前端的data数据以列表形式以此加入到表单中,即可完成数据的显示。最后加入查询功能,可以在前端选择时间段,后端根据时间段进行筛选数据传输到前端界面 [5]。效果如图7所示。
5. 结束语
智慧水务移动办公平台的开发,能够提升供水企业的水务系统管理的效率,能更加快捷、方便地完成相关工作。平台中采用清晰美观的界面风格,将水务数据实时展示,用户体验良好,操作简单,功能齐全。系统为不同层面的生产运行管理者提供即时、丰富的生产运行信息,为辅助分析决策奠定良好的基础,为企业规范管理、节能降耗、减员增效和精细化管理提供强大的技术支持。本文所述的开发方法,希望对同类移动办公平台的设计与实现有一定的启发。
基金项目
项目资金来源为合肥工业大学2018年校级大学生创新创业训练计划项目资助(项目编号:2018CXCY562)。
NOTES
*通讯作者。