新疆生产建设兵团地下水数据汇聚共享及管理系统研究
2023-11-03张可文
张可文
(新疆兵团勘测设计院(集团)有限责任公司,新疆 乌鲁木齐 830002)
0 引言
“风头水尾”的地理位置决定了新疆生产建设兵团(以下简称兵团)对地下水的高度依赖[1-2]。规划好、利用好、保护好地下水资源对兵团具有极其重要的意义。《地下水管理条例》(中华人民共和国国务院令第 748 号)提出加大对节约和保护地下水先进科学技术的研究、推广、应用[3]。
依靠传统经验、按需取水的粗放管理模式难以适应新时代水资源管理的需要[4]。按照“节水优先、空间均衡、系统治理、两手发力”的治水思路,需要在兵团范围内综合平衡地下水资源利用,合理控制地下水开采,利用信息技术及时获取地下水使用情况,控制地下水开采符合水利高质量发展的要求[5]。利用计算机技术进行地下水数值模拟计算的方法研究较早,对地下水形态规律进行探索,为合理利用地下水提供了理论基础[6-7]。近年来,地下水严重超采,众多专家学者聚焦物联网、信息技术等先进科技手段控制地下水资源的开采[8-10]。然而受制于技术、业务管理等原因,面向省级的统一的地下水管理平台尚没有成熟案例。为解决兵团地下水监管的迫切需求,参考水利行业大数据、水文数据省级平台数据汇聚和共享建设的技术经验[11-13],面向兵团现状,汇聚各师数据,形成管控能力,落实治理方案,开展数据汇聚共享和管理系统研究。
1 数据汇聚共享架构与算法
兵团区划分为兵团—师—团—连队 4 个层级,兵团 13 个师的井电双控系统,通过取水和用电 2 项控制指标,具备水电换算、插卡取水、以电控水、以取水量监测地下水资源的能力。但井电双控系统由各师自行建设,标准、数据结构、业务逻辑都不同,无法进行简单的系统整合。为实现兵团数据的统一管理,需要从数据层面建立统一标准,构建统一流程,将各师地下水数据抽取到兵团,形成统一的管理系统。
1.1 数据汇聚共享架构
兵团各师井电双控系统分别位于各自环境中,为避免影响师级系统,针对不同情况将区划、机井、取水、用电等数据从师级系统中剥离出来,在各师系统外建立统一标准的师级地下水数据中转库(以下简称中转库);研发统一的插件定时抽取中转库的数据,并推送至兵团地下水数据汇聚与共享系统,数据汇聚与共享系统通过映射、转换、编码、链接后存入兵团地下水“一数一源”数据库(以下简称中心库);地下水管理系统调用数据共享接口,获取共享数据,保存在业务系统数据库(以下简称业务库)。具体架构如图1 所示。
图1 数据汇聚与共享架构图
本架构以中心库为中心、中转库为数据源、业务库为应用目标进行构建。通过数据汇聚算法,汇集各师中转库中的区划、机井、取水、用电等数据,通过转换、清洗,将数据存储至中心库。中心库中的数据通过数据共享接口对外提供数据共享服务,业务库根据业务需要调用中心库的数据共享服务获取相应数据。在业务库的基础上,结合兵团地下水监管业务,采用空间数据存储扩展框架,对地下水数据进行统一管理,基于 Java 平台的开源应用框架 Spring Boot 对接兵团水利局综合信息门户,实现单点登录集成,前端采用安全可控开源的 OpenLayer 框架集成兵团水利一张图,实现机井数据的空间分析和地下水取用业务监管。
1.2 数据汇聚共享算法
1.2.1 数据汇聚算法
数据汇聚指将中转库的数据汇聚到中心库的过程,算法流程图如图2 所示。数据同步指按照团级区划、连级区划、机井、取水和用电的顺序依次同步,每类数据同步算法基本一致。以团级区划为例,具体算法流程如下:1) 数据抽取插件获取中转库数据。2) 调用数据接收和共享系统接口提交数据。3) 提交数据的源码和时间戳与中心库数据进行比较,并标记为 4 个状态,即本条数据不存在(s1),本条数据时间戳大于中心库时间戳(s2),本条数据时间戳不大于中心库时间戳(s3),提交数据具有过时标志(s4)。4) 依据标记,分别执行将 s1状态的数据插入中心库,将 s2状态的数据更新到中心库,将 s3状态的数据丢弃,删除 s4状态的数据等过程。按照以上数据同步算法,依次同步连队区划、机井、取水和用电数据。
图2 数据汇聚算法流程图
数据新增和更新算法分析如下:
1) 数据新增算法。区划数据是其他数据关联的基础,是优先进行汇聚的数据。兵团区划的 4 个层级,师级区划较为稳定,初始化保存在中心库中,然后依次汇聚团和连队数据,再汇聚机井数据,最后汇聚取水和用电数据。具体步骤如下:
a. 查询映射表,验证数据源代码是否在中心库中已存在,如果存在,则结束,否则进入下一步。
b. 根据中心库中各类数据代码的编码规则编写目标代码,其中区划代码α的编码规则为α= strcat(x,ymax+ 1)(式中x为上级区划代码,strcat 为字符串拼接函数,ymax为同级区划代码的最大顺序码)。机井数据按照水利对象分类与编码要求进行编码[14],按照类别、区划、顺序码、校验码四部分进行编码,编码形式为T1T2T3T4T5C1C2C3C4C5C6C7C8C9C10C11C12X,编码中T1~T5为对象类别,机井对象类别代码为 HP006;C1~C12为水利对象实例代码,在本算法中,C1~C6为水利对象所在区划代码,C7~C12为水利对象的顺序码;X是根据T1~T5和C1~C12计算所得的验证码。
c. 将源代码和目标代码存入区划映射表。
d. 将目标和上级区划代码存入上级区划与本条数据关系表。
e. 用目标代码替换提交数据的源代码。
f. 将处理后的信息存入中心库对应数据表。
2) 数据更新算法。更新入库算法步骤如下:a.查询映射表,如果验证源代码在中心库中不存在,则结束,否则进入下一步。b. 根据数据源代码查询数据的目标代码。c. 根据数据目标代码和时间戳,判定数据的有效性,并剔除无效数据。d. 根据目标代码,更新数据表。
数据汇聚算法为数据共享和应用提供了基础。
1.2.2 数据共享算法
数据共享是发挥数据价值的重要手段,面向水利业务管理需求,将区划、机井、用水等信息以数据接口的形式共享。具体算法流程如下:1) 业务应用系统申请 Secret(密钥)和应用 ID。2) 应用请求携带Secret 和 ID,访问共享接口。3) 数据共享接口验证Secret 和 ID 的合法性。4) 具有正确 Secret 和 ID 的请求返回数据,否则返回提示信息。所有共享数据遵循 RESTful 风格,构建按条件查询的分页接口数据。
2 地下水管理系统研发
2.1 系统设计
为实现兵团层面统一的地下水监管,在数据汇聚共享成果的基础上研发了兵团地下水管理系统。根据业务需要设计了以下 7 个模块:1) 在线地图模块。清晰展现机井、用水、用水指标、兵团机井及地下水资源利用的时空分布。2) 用水统计模块。监管各师每眼井的每日取用水信息。3) 机井统计模块。针对机井基础信息、是否封停、取水状态、异常状态进行监管。4) 统计报表模块。包含机井和用水 2 类统计报表。5) 指标监管模块。实现各师用水指标下发、机井用水指标分解、实际用水与指标监管等业务。6) 消息预警模块。及时发现超量取水机井和单位,将预警消息发送至责任人。7) 系统管理模块。包含数据同步时钟、数据监管时钟、用户权限管理等内容。
2.2 系统实现
基于兵团水利一张图和统一门户认证系统,采用开源数据库管理系统 PostgreSQL 构建数据库,搭建面向 Web 服务的 Spring Boot 工程,研发兵团地下水管理系统。系统界面采用扁平化设计风格,以图为主,形象直观地展示各类数据,以兵团地图为数据展示平台,展示机井、取水数据,两侧图表按照师级单位和月份统计用水情况。
兵团地下水管理系统采用安全认证框架 Spring Security 整合 CAS(中央认证服务)实现统一用户认证。基于定时任务框架 Spring Boot Scheduled 实现定时数据同步和预警,在系统访问空闲窗口期(凌晨1:00—5:00),进行区划、机井、用水和用电等数据的同步,数据同步之后,即自动开展数据的分析计算,及时发现异常取水记录和超指标用水机井与区划,并将分析结果存入数据库,实时向用户推送预警消息。
2.3 运行结果
兵团地下水管理系统自 2021 年 9 月部署运行至今,总体运行平稳。各师区划和机井等信息作为系统的基础数据,已经全部同步完毕,系统内包含区划数据 1 742 条,机井信息数据 29 452 条,春秋灌期每日上报取水数据 6 000~8 000 条,夏灌期每日上报取水数据 10 000 余条。截至 2022 年 7 月 31 日,上报取水数据总计 3 552 821 条。经运行统计,各师每日上报数据最大耗时为 18 min,每日应用系统获取共享数据最大耗时为 3 min,以上数据同步均由系统在凌晨自动完成,在水利专网环境下,系统页面访问耗时在 3 s 以内。兵团水资源管理人员每天只需要耗费10 min 查看系统统计的取水数据、用水报表即可掌控全兵团地下水资源的开采状态。系统建成前,兵团13 个师每日以 Excel 的形式从各自井电双控系统导出和整理数据,上传到兵团,兵团完成汇总和整理,整个过程耗时 3h 以上。系统建成后消除了人工数据汇聚的工作,提升了地下水资源管控的效率。系统功能和运行速度均满足兵团水利对地下水数据汇聚、数据统计、指标监管的需要。
3 结语
针对兵团地下水管理数据分散、报送低效、统计困难的问题,利用井电双控的研究成果和系统,借鉴相关水文数据汇聚经验,开展数据汇聚共享的研究。研究结果分析如下:
1)结合兵团地下水管理的实际情况,设计了中转库、中心库、业务库三级数据库数据汇聚共享的技术架构。
2)研究了基于三级数据库架构的数据汇聚和共享算法,面向区划、机井、取水数据,研发了数据汇聚和共享算法。
3)研发了兵团地下水管理系统,验证了架构和算法的可行性,同时为兵团地下水管理提供支撑。研究发现,随着时间的积累,监测数据量逐步庞大,预计3 a后取水数据将达到千万级别,常规数据存储和分析方法不能满足要求,需要引入大数据的相关技术开展进一步研究。
兵团地下水数据汇聚共享及应用系统的建成,形成了兵团地下水的数据中心,为全面的水资源管理提供了有效的技术保障和数据支撑。为落实最严格水资源管理制度要求,下一步需要研究的主要方向如下:
1) 接入地下水水位监测信息,利用大数据分析技术联合分析水位与取用水之间变化的周期关系,为兵团地下水合理管控和预测预报提供技术支撑。
2) 结合地下水和地表水数据,实现兵团范围内水资源的分配、调度与管理,实现水资源的合理开发与高效利用,为兵团管水、治水发挥更大作用。