郭祥琳,王 岩,袁 楠
(河南省水利勘测设计研究有限公司,河南 郑州 450016)
2016 年11 月28 日,中共中央办公厅、国务院办公厅印发 《关于全面推行河长制的意见》[1],2018年6 月底,全国31 个省(自治区、直辖市)全面建立河长制,河长制的组织体系、制度体系、责任体系初步形成,实现了河长“有名”,全面推行河长制进入新阶段[2-3]。河长制是习近平总书记生态文明思想的重要实践,是推进绿色生态文明建设的重要举措[4],也是破解“九龙治水”困境的一项有效措施[5]。
随着智能手机的普及应用, 移动办公成为无纸化办公、远程化办公之后的新一代办公形式。利用移动通信、“互联网+”等技术,针对智能手机,衍生出了很多先进的技术。如何运用移动信息化、智能化手段提高河长巡河效率, 提升河长制工作信息化水平是围绕河长制信息化建设的主要课题[6]。 笔者通过对河长巡河的业务流程梳理, 依托移动端混合开发技术、基于移动位置服务(Location Based Services,简称LBS)技术、地理信息系统(Geographic Information Systems,简称GIS 技术)等先进技术,设计并开发了河长智能巡河APP 系统。
在系统设计阶段, 通过梳理河长巡河的业务流程,找出重要环节,使系统设计围绕接受任务、上报问题、完善巡河日志、巡河管理与统计等环节展开。通过对业务的梳理, 简化巡河流程, 实现过程的监督,提高巡河工作的有效性和信息化水平。
系统采用多层次架构设计模式, 主要分为数据资源层、应用支撑层、业务应用层、用户层等4 个层级,具体如图1 所示。
(1)数据资源层。该层实现对各类数据资源的统一存储、统一管理,以构成业务应用层的数据资源支撑环境。在利用已知数据的基础上,结合河长巡河任务的实际需要,建设基础数据库、业务数据库、空间数据库和非结构化数据库。
(2)应用支撑层。应用支撑层是一个承上启下的开放性基础平台。它利用通用软件平台,实现不同基础设施层与应用层之间的互通。 在“水利一张图”基础服务体系的基础上,根据本次系统建设的需要,开发的河长巡河地图服务层包括GIS 地理信息服务、数据加密服务和应用服务等。
(3)业务应用层。 该层是包括河长巡河APP 以及支撑巡河APP 应用的后台管理系统。
(4)用户层。 根据业务流程的需要,用户层分为各级河长制办公室(以下简称河长办)用户和各级巡河河长用户。
对于本系统所涉及的河湖数据资源, 从逻辑上可将其分为基础数据、业务数据、空间数据和非结构化数据。基础数据为应用系统运行的基础支撑数据,是在系统运行前录入到系统当中的,当数据更新时,由用户借助系统操作进行数据更新。 业务数据为各类业务系统的数据,部分数据来自于人工录入,部分数据是用户借助系统操作或系统自动分析处理得到的加工后数据。 空间数据主要是通过对现有数据的抽取、转换、处理得到的数据。非结构化数据中,部分数据来自于人工录入, 部分是用户借助系统操作或系统自动分析处理得到的加工后数据。
图1 系统架构图Fig.1 System architecture
根据河长巡河业务流程的需要, 数据库设计遵循实用性、可靠性的原则,采用结构化数据库和非结构化数据库相结合的形式存储相应数据。 河长巡河的历史记录、 巡河任务及巡河过程中填写的巡河日志等数据存储在结构化数据库中, 巡河过程的轨迹存储在非结构化数据库中。
河长智能巡河APP 应用在手机端,采用React-Native 技术与Android 原生开发技术, 通过混合开发的形式,实现巡河过程中实时定位、拍照上传、查看、上报日志、自动获取天气等功能,方便巡河人员智能化填报巡河记录。河长智能巡河APP 主要包括巡河模块、 上传模块、 巡河管理模块和巡河统计模块,其业务处理流程如图2 所示。
(1)巡河模块。河长巡河需要由河长办工作人员制订巡河计划,包括各级河长的巡河周期。不同级别的河长办绘制相应的巡河河段, 系统会自动匹配每个河段对应的系统用户。在河长点击“开始巡河”后,地图上就展示出他所处的位置, 随后记录河长每一刻的位置,并及时上传至后台,即在地图上实时展示巡河轨迹。
(2)上传模块。该模块包括上传巡河过程中发现的问题和上传巡河结束时的巡河日志两个子模块。上报问题时, 除上传现场拍摄的照片和填报基本信息外,系统还会自动获取问题点坐标。如果可以自行处理,还需把自行处理的结果一起上报至系统,最终在地理信息服务平台上展示出问题的具体位置。 上报日志时,除上报系统自动获取的天气、巡河时间段及河长基本信息外, 还需要上传巡河照片及巡河描述等基本信息。
(3)巡河管理模块。各级河长办工作人员可以根据各级河长巡河任务的执行情况, 查看辖区内当天的及历史的巡河情况, 还可以对未执行巡河任务的河长发出“巡河提醒”,督促河长执行巡河任务。
(4)巡河统计模块。 根据各辖区的巡河情况,对本周、 本辖区各级河长和本辖区下级行政区域的巡河状况进行统计,便于河长办工作人员汇总统计,并根据统计数据进行后期的监督和考核管理。
河长智能巡河APP 针对的是各级巡河河长,每天有数万人需将巡河数据上传至系统。 如此大的使用量及数据交互量,普通的单一应用无法满足需求,需采取负载均衡的策略。河长智能巡河APP 系统采用Nginx 做负载均衡[7],后面连接多个Web 服务,Web服务连接各个数据库,共同分担系统压力,即可以保证系统访问的速度,又能解决高并发问题。
图2 巡河流程图Fig.2 River patrol flow
采用负载均衡的网络策略时, 普通的虚拟化技术配置复杂、服务发布时间长、应用交付困难,所以本系统采用容器技术解决负载均衡这一难题。 容器技术具有运行速度快、灵活等优点[8]。使用容器技术之后,可以轻松完成应用服务集群部署、迁移。同时,服务集群的启动时间也大大缩短, 短时间内就能完成整个集群的更新与部署。
常规GPS 定位技术难以满足局部室内定位的需求。 河长在巡河过程中,若经行桥下或涵洞,常规GPS 定位技术可能会造成局部位置信息丢失, 不利于保存完成的巡河路径信息。 LBS 是基于位置的定位服务技术,它通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,能够实现精准定位[9]。对于河长巡河过程中经行桥下或涵洞的情形,采用LBS 技术可以避免位置信息丢失的情况,满足系统的实际需求。GIS 是一个用于描绘地球和其他地理信息要素, 并突出其特征,从而显示和分析经空间配准的信息的技术。
本系统通过LBS 技术每6 s 记录一次河长坐标位置,并计算该点与上一点坐标之间的距离,然后上传至后台。 为了精准地展示河长巡河轨迹,系统采用蓄水池算法与滑动窗口相结合的方法进行数据缩减纠偏[10],并将坐标数组动态地展示在GIS 地图上,将各点用实线连接在一起,形成河长的巡河轨迹。
Android 原生开发技术是使用最多、应用最广的移动端开发技术,但由于存在应用门槛高、系统更新较繁琐的弊端, 该技术的应用受到一定的限制。开源式移动应用程序框架使用JavaScript 和React开发跨平台的移动应用技术,既拥有Native 的用户体验,又保留了React 的开发效率,并且还支持与原生技术混合开发。 比如,在巡河开始时,可利用原生开发技术实现语音播报,提醒巡河河长。 因此,本系统采用React Native 框架进行开发, 特殊功能使用“原生+React Native”的方式实现。
河长智能巡河APP 于2019 年7 月在河南省开始使用。经过一年多的实践,证明该系统运行稳定,性能达到河长制信息化管理规定的技术指标。 目前,该系统已在河南省范围内得到推广应用,涉及近5 万余名河长和相关工作人员,每日巡河次数达到万余次。在系统推广的第一个自然年, 全省累计巡河超过200 万次, 通过河长巡河发现并上报巡河事件6 万多起。
实践证明,河长智能巡河APP 系统的应用增强了各级河长特别是村级河长对河长制工作重要性的认识, 也保障了各级河长办实时掌握辖区内河流的基本状况,产生了很好的社会效益。
(1)有助于加强水资源保护。各级河长的巡河结果将为水资源的合理利用和优化调度提供依据,从而有助于保护水资源、提高水资源可持续利用水平。
(2)有助于河湖水域岸线管理保护。河长智能巡河APP 系统的推广使用有助于加强自然生态空间的开发保护,严格水生态空间管控;有利于落实规划岸线保护区、保留区、控制利用区和开发利用区管理要求;有利于岸线保护,节约集约利用土地和对涉河建设项目进行严格管理;有助于加强河道采沙管理,健全采沙管理工作机制,严格落实管理责任制;有助于恢复河湖水域岸线的生态功能。
(3)有助于执法监管。 通过较为完善的监控监测设施, 可以有效提升对河湖水域管理保护的监管能力,建立健全部门联合执法体制,从而促进行政执法与刑事司法衔接体制的完善。 通过建立河湖日常监管巡查制度, 可以实现对河湖水域的动态监管,从而有效打击非法排污、设障、捕捞、养殖、采沙、采矿、围垦、侵占水域岸线等涉河湖水域的违法活动。
河长智能巡河APP 系统的开发充分利用了“互联网+”、GIS、LBS、移动终端开发等先进技术。 该系统在河南省推广使用中,服务于省、市、县、乡、村五级河长巡河体系及各级河长办工作人员, 实现了对河流信息化管理的工作目标。目前,该系统已正式运行一年多,运行稳定、效果良好。
随着河长智能巡河APP 系统的广泛使用,河长在巡河过程中上报问题的数量将越来越多。 后期可以根据这些大量的问题数据,运用大数据分析技术,对问题进行深入分析。通过对问题的剖析,进行共性问题的集中整治, 避免同一区域、 同一问题反复出现,从而不断推进河长巡河的智能化、河长制工作的信息化进程。