基于Android的水雨雪情实时监测预警系统的设计与实现
2017-05-16王滨张继刚
王滨+张继刚
摘 要:文中根据防汛信息对实效性要求高的特点,依托北京市西城区指挥中心防汛信息数据库,在多种无线网络基础上,如GPRS、3G、4G网络等,以Android系统为开发平台,结合西城区电子离线地图,开发了水雨雪情实时监测预警系统。文中详细介绍了本地离线地图切片的使用方法与曲线图的绘制等关键技术,实现了对北京市西城区的雨情、雪情以及积水信息进行实时监测、预览、查询、预警等功能,确保防汛部门人员能够随时随地掌握水雨雪变化情况,从而及时、高效地为防汛指挥决策提供科学依据。
关键词:Android;无线网络;雨雪情;防汛决策
中图分类号:TP316 文献标识码:A 文章编号:2095-1302(2017)04-00-02
0 引 言
计算机科学技术飞速发展,防汛信息化进程不断加快,由于PC端设备的不可移动性,降低了防汛系统的实用性,尤其在汛期应急的移动办公、多部门联动等方面,需要提升防汛系统的便携性,以便让所有领导、业务相关部门及人员及时了解汛情,迅速做出工作部署。近年来,随着4G无线网络技术的迅猛发展以及智能手机的普及,为防汛系统移动化提供了条件。结合西城区实际情况,引入手机电子离线地图,以Android系统为开发平台,开发移动端水雨雪情实时监测预警系统,实现了实时对北京市西城区的雨情、雪情以及积水信息进行监测、预览、查询、预警等功能,以保障防汛部门人员能够随时随地掌握水雨雪变化情况,及时、高效地为防汛指挥决策提供科学依据。
1 平台总体设计
1.1 Web Service技术
Web Service(Web服务)是种跨编程语言和跨操作系统平台的远程调用技术,是一个软件接口,它描述了一组可在网络上通过标准化的XML消息传递访问的操作。Web Service建立在HTTP、SOAP(Simple Object Access Protocol,SOAP)、UDDI、WSDL等通用协议的基础之上,这些协议在操作系统、编程语言和对象模型的选择方面没有任何倾向[1]。
目前移动端设备的计算和存储资源与PC端相比有其局限性,Android应用不能在设备上进行繁重的数据计算与存储,因此将其当作Web Service的客户端,调用远程Web Service将这些复杂过程移植到服务器端[2]。本项目采集到的水雨雪实时数据都将存储在指挥中心指定的服务器上,我们将通过在Android中调用远程服务器端提供的Web Service来完成平台功能的一系列开发。
1.2 平台架构
平台采用SOA技术的服务器群集部署架构,根据需求通过网络松散耦合的粗粒度应用组件进行分布式部署、组合和使用。其具有较强的可拓展性、易用性及可移植性。水雨雪情监测的实时采集处理程序都在服务器运行,将所有业务逻辑处理过程存放在服务器端,在客户端仅进行显示与简单的数据交互,并处理、分析业务数据,此举使系统的运行效率得到大幅度提高。客户端与数据库端没有直接的数据交互,而是通过Web Service对数据实现分布式处理,提高了平台的灵活性,降低数据库服务器的负载压力[3]。
基于Android的水雨雪情实时监测预警系统由分布式数据层、业务逻辑层及客户端应用层构成,其系统架构如图 1所示[4]。其中,业务逻辑层通过Web Service方式调用,对服务器的数据进行处理和分析,并通过I2S以JSON数据格式发布,为移动终端设备访问服务器数据提供快捷有效的通道。
(1)分布式数据层通过物联网技术从水雨雪传感器实时获取数据,为系统提供所需的降雨量数据、降雪量数据、积水数据、设备信息、传感器状态信息等。根据实际应用需求及网络结构安全要求,将相关数据部署于不同的服务器中。
(2)业务逻辑层提供Web Service接口,为客户端应用层提供连通服务器的通道。Web Service接口封装不同业务服务,通过不同的方法分别获取实时降雨量、实时降雪量、实时积水值、一小时降雨量、一天降雨量、预警等级标准、传感器设备信息等,可有效降低系统耦合度。
(3)客户端应用层根据客户需求提供人机交互界面,显示相关水雨雪情信息。移动端水雨雪情实时监测预警系统仅保留了视图层,根据业务需要,通过Web Service接口获取具体业务数据完成显示功能。
1.3 安全机制
该系统信息种类较多,防汛期间数据量大,因此安全机制的重要性相对突出。为確保系统数据的安全,采用以下安全防护措施:
(1) 终端设备认证,确保指定用户。用户注册时,该系统将用户手机号码与移动设备硬件信息IMEI码进行绑定。登录系统之前,系统会访问业务服务,验证用户手机号码是否与移动设备IMEI码对应,否则用户无法正常使用该系统[5]。
(2) 数据传输加密,确保数据安全。业务逻辑层进行数据处理时,采用自定义数据格式,保证数据安全可靠。
(3) 设立服务器集群,实现数据库与服务负载均衡。分布式数据层将实际数据根据业务需要部署于不同的服务器中,可有效分摊访问压力,降低耦合程度。
2 系统设计
2.1 系统主要功能
本移动端水雨雪情实时监测预警系统嵌入ArcGIS离线电子地图切片,使防汛信息直观表现在地图上,可有助于防汛部门进行相关决策。该系统主要功能包括如图2所示的4个模块,即监测数据接收与更新模块、监测数据浏览模块、监测结果统计分析模块、预警短信通知模块。
2.1.1 监测数据接收与更新
该模块主要有数据侦听、校检、解析和数据入库等功能。
2.1.2 监测数据浏览
该模块主要具有实时浏览查看降雨量、降雪量、积水数据等功能。街道雨量数据如图3所示。
2.1.3 监测数据统计分析
通过该模块可按街道、站点等对水雨雪情信息进行查询和浏览,还可以生成雨量曲线图等对水雨雪情走势进行定量分析。
(1)街道
利用GIS将街道属性信息展示到地图上,主要包括街道名称、街道水雨雪情等级、街道所属水雨雪站点信息等。
(2)站点
利用GIS将所有站点属性信息展示到地图上,主要包括站点名称、站点水雨雪情等级等。站点雨量数据如图4所示。
(3)曲线图
通过时间设置生成全区水雨雪情曲线图,对全区水雨雪情进行定量分析,更好的为防汛预警工作提供决策支持。
2.1.4 预警短信通知
(1)预警短信生成
通过监测数据的接收与更新,可以实时获取当前水雨雪情。当达到预定等级时,会自动生成预警短信。
(2)预警短信发送
预警短信可自动发送给防汛相关责任人,也可按照需求发送给相关人员。
2.2 关键模块实现
本系统针对防汛业务需求,以Eclipse为开发工具,利用ArcGIS Server和Android开发平台,基于ArcGIS API for Android接口开发。
2.2.1 离线地图切片
ArcGIS API for Android提供了MapView控件。在该控件中使用ArcGISLocalTiledLaye类定义本地离线地图切片,通过MapView中的addLayer方法将西城区地图加载到控件中显示,再将站点图层通过addLayer方法叠加到地图上。通过Web Service获取水雨雪情数据,以站点编号将数据与站点图层绑定并显示在西城区地图上,通过单击可查看各站点水雨雪情的实时信息。
2.2.2 曲线图设计
移动端调用Web Service自定义的方法,如OneStationHoursRain、RealRainInfo返回JSON数据格式的数据,对接收到的数据进行解析,可结合AChartEngine开源图表库提供的XYMultipleSeriesDataset数据集封装图表需要的数据,显示曲线图。
3 结 语
移动端水雨雪情实时监测预警系统以Android为开发平台,通过ArcGIS API for Android、Web Service、ArcGIS Server和数据库相结合的方式,实现对西城区水雨雪情的实时监测。该系统有效保障了防汛部门人员可随时随地掌握水雨雪变化情况,及时高效地为防汛指挥决策提供科学依据,对其他相关领域构建移动业务系统具有借鉴参考价值。
参考文献
[1]蔡奕彬,陈智威,杨沛钊,等.基于Web Service的Android餐饮点菜系统的设计与实现[J].计算机与现代化,2013,1(4):120-124.
[2]张雅楠,杨璐,郑丽敏.基于Android手机的远程视频监控系统的设计与开发[J].计算机应用,2013,33(S1):283-286.
[3]虞开森,骆小龙,余魁.基于iphone的防汛掌上通平台设计与应用[J].水利水电科技进展,2010,30(6):74-77.
[4]谈晓珊,高军.基于Android的移动水利信息查询平台设计与实现[J].江苏水利,2015(8):38-40.
[5]梁立峰,張海强.基于Android的防汛通平台设计与应用[J].水利科技,2012(1):21-23.
[6]陈永峰,刘扬,鲍庆雪,等.短信平台的设计与实现[J].物联网技术,2016,6(7):34-36.
[7]王德麾,冯军帅,宋海亮,等.基于无线传感器网络和3G/4G的远程环境监测系统的研究[J].物联网技术,2015,5(3):17-18.
[8]谈晓珊,高军.基于Android的移动水利信息查询平台设计与实现[J].江苏水利,2015(8):38-40.