牛智星,嵇海祥,崔彦萍,陈宇飞,胡春杰
(1.水利部南京水利水文自动化研究所,江苏 南京 210012;2.江苏南水科技有限公司,江苏 南京 210012;3.南京水利科学研究院,江苏 南京 210029;4.江苏省水文水资源勘测局,江苏 南京 210029)
近年来,随着中小河流水文监测系统、山洪灾害监测预警系统、国家地下水监测工程、国家防汛抗旱指挥系统二期工程等项目的实施,大量的水文监测站点建设完成,其中大多数站点都实现了自动测报,在防洪抗旱、兴利、水文基础资料收集方面起到了巨大支撑作用[1- 5]。
但由于参与项目建设的厂家较多,数据接收和存储不统一,不仅在系统的使用、管理等方面存在诸多不便,影响到后续业务开发应用,也造成了基础软硬件设施资源的浪费[6- 7],并且智慧水利建设、水文现代化建设也对水文数据监测汇集提出了更高的要求[8- 9]。因此,建设一套水文监测数据统一接收软件,整合各类水文监测系统数据统一接收入库,统一原始监测数据存储,对于提高用户对系统和数据的管理效率,将各类水文监测数据更好服务于各类水利信息化应用,具有重要意义。
王美玲等[10]研究制定了省级数据传输规约,开发了数据采集平台,在此基础上建设了GPRS/CDMA双信道的江苏省水文自动测报系统,实现了全省已建水文系统的整合;胡波等[6]分析了武汉市水文局水雨情自动测报系统在数据接收和处理等方面存在的弊端,对统一接收平台软件所具备的功能进行了设想;许亮[11]论述了将广东省各分局分散水雨情遥测数据接收改造为基于云平台的省局统一接收模式,在省水情中心部署了接收处理软件,取得了一定成效;王志飞等[12]基于微服务架构,设计了智慧水文综合监测平台,其中包含了水文数据接收整合平台,具有一定的先进性。以上研究或应用对水文监测数据统一接收进行了大致的论述,但缺乏较为详细的功能设计和应用实践,文章聚焦数据接收环节,参考相关规范[13- 14]要求,设计开发了统一接收软件,并在云南省水文系统中成功运用。
在水利信息化建设中,包含了水文监测数据的采集、传输、接收、处理、共享、应用等多个环节,其中数据接收是属于基础而又关键的环节。在低耦合的设计模式下,数据接收的核心任务是把水文监测数据及时、准确和完整地接收、存储下来,建立起高质量的原始数据资源,在此基础上可开发丰富的数据处理服务和水利业务应用,数据接收流程如图1所示。
图1 数据接收流程图
为满足数据统一接收和存储的要求,水文监测数据统一接收软件应重点满足以下几个功能:
(1)在通信规约方面,软件应能兼容多种数据通信规约,特别是能支持行业标准通信规约如SL 651—2014《水文监测数据通信规约》,并可通过模板化设计灵活扩展以兼容其他通信规约;
(2)在通信信道方面,应能支持GPRS/4G/5G、北斗卫星、GSM短信、超短波等多种信道的数据接收;
(3)在监测要素方面,软件应能支持接收雨量、水位、流量、蒸发、墒情、地下水、气象、视频图像、测站设备状态信息等多种监测要素;
(4)在数据解析处理方面,软件应能根据设定的规则分析出异常值,并进行数据过滤、异常记录等工作,确保数据的准确性和可追溯性;
(5)软件应能对测站进行远程管理;
(6)需设计完整的数据库表结构,用来存储原始监测数据。
基于以上分析,通过归纳总结,软件详细分为测站信息管理、测站远程管理、数据查询、测站运行监视、Z-Q/V曲线管理、系统设置、日志管理、权限管理等功能模块,如图2所示。软件使用C/S架构,采用C#.NET语言开发。
测站信息管理分为测站基本信息管理和测站监测要素管理。
2.1.1测站基本信息管理
测站基本信息包括RTU站码、水文编码、站名、站类、分组、报文头、测站位置、DTU卡号及其他功能设置。其中,RTU站码指的是遥测终端设置的站码,水文编码指的是测站标准的八位水文编码,因为可能存在同一水文编码的测站的多个参数由不同遥测终端来监测;分组是便于对遥测站进行管理,可根据行政区划、流域、建设项目来区分;报文头指代了该测站所用的数据通信规约,不同通信规约有不同的代号;DTU卡号用来存储通信模块中通信卡的卡号,如SIM卡号或北斗卫星卡号。测站基本信息管理包括增加、修改、删除等操作。
2.1.2测站监测要素管理
测站监测要素定义了测站含有哪些传感器,即监测了哪些水文要素或设备运行参数,一般包含雨量、水位、流速、蒸发、墒情、气象、终端蓄电池电压等,每种监测要素都对应一个唯一的编码值。此外,还定义了在解析这些监测要素数据时对应的计算分析参数,如计算系数、基值、奇异值过滤参数(上下限及允许跳变)等。测站监测要素管理包括对测站的监测参数进行增加、修改、删除等操作。
图2 水文监测数据统一接收软件功能结构图
测站远程管理即软件通过传输信道和测站进行远程交互,包括读取/修改测站工作参数、校对测站时钟、查询测站实时数据、测站固态存储下载等功能。
2.2.1测站工作参数
测站工作参数一般包括测站工作模式(自报式、查询-应答式、兼容式)、自报间隔、水位/雨量加报阈值、雨量计分辨率、水位基值等,软件可远程读取或修改测站工作参数。
2.2.2校对测站时钟
校对测站时钟即以服务器时间为准对测站时钟进行校对,一般包含自动校时和手动校时两种模式:①自动校时,软件根据测站来报计算测站时钟与服务器时钟差值,若差值超过设定阈值时自动发送校时指令完成测站时钟校对;②手动校时,人工操作发送校时指令完成测站时钟校对。
2.2.3查询测站实时数据
查询测站实时数据是软件发送指令查询测站某监测要素或全部监测要素实时数据,此功能一般要求测站的工作模式处于查询-应答式的工作模式,即测站通信模块实时在线。
2.2.4固态存储下载
固态存储下载是指软件可发送指令下载测站终端存储的某监测参数在某个时间段内的数据,用于弥补中心站缺报数据,下载的数据可选择单独存放在文件系统或入数据库。
数据查询主要包括对测站原始报文、原始监测数据进行查询。
测站原始报文可对某站在选定的开始和结束时间内的来报情况进行查询,内容包括报文接收时间、数据时间、来报信道类型、报文解析结果、报文类型、报文正文等。
原始监测数据查询可查看不同监测要素的原始编码、处理后数值等,以图表形式展现,通过原始监测数据可查看监测要素数据处理过程,当数据异常时便于溯源。
对测站运行状态进行监视,如通过判断测站来报是否正常对测站状态做出警示,若测站超过一定时间不来报,则认为该测站出现异常,软件界面上该测站显示为醒目红色,同时将相关警示信息记录入数据库。
此外,还可对测站监测数据的完整度进行监视,如每天特定时刻检查前一天数据是否完整,若有缺报情况,软件可自动发送指令进行固态存储数据下载以弥补缺失数据。
Z-Q/V曲线管理可为有水位监测的河道站或水库站导入水位流量或水位库容关系曲线,软件即可根据来报的水位实时推算出流量或库容。
系统设置包括信道设置和数据库设置。
2.6.1信道设置
信道设置可增加、删除、修改通信信道信息,通信信道接口一般有两类:网络端口(如GPRS/4G/5G)和串口(如北斗卫星、GSM短信、超短波等),软件支持多个信道同时接收数据。
2.6.2数据库设置
数据库设置主要是设置数据库连接参数,包括数据库类型(SQL Server或Oracle)、数据库服务器、数据库服务端口、数据库名、用户名、密码等数据库连接参数的设置。
软件运行日志、错误日志等都按照时间、类型存放于数据库中,可进行查询。
权限管理分为管理员和一般用户两种角色,管理员可进行软件的所有操作;一般用户只可进行数据查询、浏览,不能进行增加、删除、修改等操作。
原始数据库参考SL 323—2011《实时雨水情数据库表结构与标识符》进行设计,根据需要在原有数据库表结构基础上添加字段或新增库表。文章主要介绍以下新增的数据库表结构:
(1)测站监测要素表,存储测站监测哪些水文要素或测站运行状态要素,以及每个监测要素在解析时所用的相关计算参数、要素合理数值范围等;
(2)测站远程管理任务表,存储对测站进行读取/修改工作参数、固态存储下载等任务的库表结构;
(3)测站原始报文表,存储测站原始报文相关情况的库表,如来报时间、报文类型、报文内容、来报信道等;
(4)测站设备运行状态表,存储测站设备电压、信号强度、报警信息等实时运行状态信息;
(5)接收信道信息表,存储接收信道相关的IP地址、协议(如TCP或UDP)、端口号、串口号、波特率等信息;
(6)视频图像路径表,存储接收的视频或图像数据在文件系统内的路径。
利用开发的水文监测数据统一接收软件在云南多个地市水文分局进行了部署应用,在分局层面统一整合接收了多个厂家的不同通信规约的遥测设备数据,采用了4G网络、北斗卫星、GSM短信等多种信道,涉及水雨情监测、地下水监测、墒情监测、流量在线监测等系统,各类数据在分局接收入库,再通过水利专网将数据转发共享至省水文局相关业务数据库。
该软件实现了各分局软件、数据、遥测设备的统一管理,提高了相关人员工作效率,显著地提升了测站数据报送畅通率,有效地支撑了各分局各项水文业务应用,特别是报汛和在线整编两大核心业务,取得了优异的效果。
文章从实用角度出发设计开发了水文监测数据统一接收软件并在云南水文系统成功应用,软件功能全面、运行稳定,可在多厂商各类水文监测系统的数据统一整合接收中推广应用,改善智慧水利和水文现代建设中的数据汇集体系。此外,根据应用实践经验,建议在进行统一整合接收时,重视通信规约的统一标准问题,尽量使用行业标准通信规约如SL 651—2014,必要时还可在规约框架下作一些具体的规定,方便软件开发和统一数据标准。