长江上游水库泥沙监测信息平台研发与应用
2023-01-18赵云毅彭子翰冯国正
金 奇,赵云毅,彭子翰,冯国正
(长江水利委员会水文局 长江上游水文水资源勘测局,重庆 400020)
0 引 言
水库泥沙监测主要包括河道断面绘制、床沙分析等,具有监测要素多、数据多源、数据处理程序繁杂、成果表达多样、数据时效性要求高等特点。现有的河道信息系统主要以MapInfo5.0、ArcEngine、ArcGIS等为开发应用平台进行建设[1-4]。河道断面绘制主要采用南方CASS软件平台[5-7]或基于AutoCAD二次开发断面成图[8-9]等方式实现。几乎没有床沙数据处理及成果整理相关文献。这些信息系统开发平台相对专业,对数据生产者、管理者使用门槛高,成本较大。基于AutoCAD的二次开发以文本为基础,非数据库管理,数据存储、共享、安全管理困难。同时,各生产工序虽已存在相应的专业处理软件,但设计较为单一、功能分散、操作繁琐,往往需要多个不同的专业软件才能完成所有任务,应用面窄、缺乏统一性,不能满足河道勘测快速发展的需求。为进一步提高水库泥沙监测作业效率,保障河道数据生产与管理安全,本文提出以微软.Net为开发平台,采用C/S结构,直连SQL Server数据库进行平台开发,集成断面绘制、床沙分析等任务模块,使数据生产流程化,数据管理规范化,成果标准化。
1 总体设计
系统计划采用微软.Net开发平台进行开发,运行模式主要基于C/S模式;系统将在局域网或单机环境上运行,数据库和软件系统相对独立;数据库安装在服务器上;软件系统主要以SQL Server直连等方式进行数据库表数据读取。
(1) 易用性。按照数据处理、存储、管理角色进行模块化设计,各模块按照数据处理流程进行模块分类,实现系统的易用性。
(2) 美观与协调性。布局力求简洁、有序、易于操作。注重窗口内部所有控件的布局和信息组织的艺术性,使用户界面美观协调。
(3) 错误信息处理。出现各种出错或异常状态时,给予用户友好的提示和帮助,并提示用户错误或异常产生的原因。
(4) 安全性。数据库、系统安全登录设置,对不同用户予以不同的权限设置。
2 系统建设内容
建设内容主要包括系统管理、原始数据质量检查、数据处理、成果生成、工作量统计、冲淤分析计算、成果远程发布等,系统功能结构如图1所示。系统主要通过泥沙监测相关实测数据,对水库的床沙和断面进行分析,流水线生成成果表和成果图,将水库泥沙监测断面分析和床沙分析工作集成在一个系统中,既可提高工作效率,又保证数据的安全性与准确性。
图1 系统功能结构Fig.1 Overview of the system function
3 系统设计语言
3.1 SQL Server 数据库
微软公司推出的SQL Server数据库系列软件是一套关系型数据库管理系统,具有很高的安全性,既能降低日常开发成本,又能节省开发项目时间,是一个较智能的平台,易于数据库管理[10]。
3.2 C/S结构
C/S结构是一种常见的软件设计模式,即客户端(Client)-服务器(Server)结构。采用C/S结构的系统有专用安装包,也有相对固定的用户群,对安全性的控制能力强。C/S结构的系统一般是典型的中央集控模式,多用户节点独立同步与服务器进行信息传递与数据处理。C/S结构下程序从整体性考虑,完成整体化任务,更加注重流程性。
3.3 C#语言
C#语言是一种面向对象的高级程序设计语言,具有比C和C++更加完善面向对象的功能。C#的安全性和稳定性都非常高,而且使用较简单。C #有着VB的可视化操作,也有C++的高效率运行能力,因此成为开发.NET的首选语言[10]。
4 安全设计
4.1 审计功能与访问控制
SQL Server数据库提供了完善的审计功能,通过SQL事件探查器自动记录用户操作信息,包括用户名、时间、操作代码等信息,便于溯源事故相关责任人,也有利于修补系统漏洞和弱点,维护信息平台安全。限制用户访问数据权限是保护数据安全的重要措施。系统根据使用对象身份,将其定义成系统管理员用户、数据库所有者用户、普通用户等,不同的用户具有不同的访问权限,实现用户分级管理。
4.2 身份认证与数据库加密
身份认证是信息平台最外层的安全保护手段。用户必须向系统出示准确的用户名和密码,通过认证机制严格审查核实后,才能获得相对应的系统服务。SQL Server具有数据内部加密功能,使用密文作为高敏感数据的存储或传输手段,有效防范非法行为窃取泥沙监测项目保密数据事故。
4.3 备份、恢复和并发保护机制
为防止系统崩溃导致重要数据损坏或丢失,数据库管理系统建立了备份和恢复机制,能在最短时间内通过缓存机制恢复数据运行。同时,信息平台为完善系统保护体系,通过关闭不用的服务、功能和网络连接,禁用不必要的协议,更改或隐藏SQL Server端口,删除存在危险的存储过程,定期安装补丁等多重手段共同维护系统运行安全。
5 功能设计与实现
5.1 系统管理
系统管理主要分为以下5个部分。
(1) 部门管理。用户可以对系统组织架构进行管理,添加、编辑或删除部门,维护部门上下级层级关系和用户等。
(2) 用户管理。由系统管理员管理用户,包括用户的创建、删除、用户权限分配、用户权限更改。用户的权限可以由系统管理员根据需要动态设置。可将用户分成不同的用户组,赋予不同角色不同的访问权限,采用基于角色的权限访问控制策略。
(3) 权限管理。对权限功能进行了细分,将权限级别划分为菜单、功能、数据,不但可以控制用户访问的菜单项,还可以控制用户对菜单中功能的使用,禁止用户的某一细节操作。
(4) 角色管理。对单位内部员工进行角色定义与划分,结合本系统中的权限管理,为不同角色进行不同权限分配,以控制每个角色在系统中的操作访问权限。
(5) 日志管理。日志管理主要是对访问系统的用户操作行为进行记录,主要记录的内容包括访问者用户名、姓名、日志信息、IP地址、操作时间等。
5.2 床沙数据管理
(1) 床沙实测数据分析。主要是对录入的实测数据进行系统自动分析,根据预设的算法对数据计算、分析和处理,并自动绘制试坑的沙颗粒级配曲线图。可以查看整个试坑的沙颗粒级配曲线图,也可对试坑每一层分别查看。支持按指定图纸尺寸对图进行打印操作。
(2) 生成成果表。实测数据分析完成后,可以生成床沙粒径分析成果表以供查阅,并且可对成果表进行导出和打印操作。
(3) 沙颗粒级配曲线图查询。提供沙颗粒级配曲线图查询功能,选择需要查询的试坑,点击查看按钮,可展示该试坑整体和每一层的沙颗粒级配曲线如图2所示,可对图进行打印操作。
图2 试坑沙颗粒级配曲线Fig.2 Sediment gradation curve of test pit
5.3 断面数据管理
(1) 实测断面数据录入。将断面实测的陆上数据、水下数据、水深图数据导入到系统,可进行导入、查看、删除等操作。
(2) 水位推算。根据导入到系统中的断面实测数据,可分为中心线法和距离倒数加权法来计算。中心线法又可通过按测点平均时间计算、按测点测量时间逐点计算、根据录入实测水位计算3种模型计算水位数据。
(3) 计算起点距和高程。在完成水位计算后,可以进行断面起点距和高程计算。高程可通过无温跃层改正和温跃层改正两种方式进行计算。在计算时系统会弹出窗口对测点进行检查,可以根据输入条件进行测点去偏、测点去重、插入测点、删除测点,核对数据后完成起点距和高程的计算。
(4) 绘制断面图。在完成上述计算后,可对完成计算的断面进行断面图绘制,并将所绘制的断面图导出为CAD格式(图3)进行保存和打印。
图3 断面图Fig.3 Cross-section diagram
(5) 查询分析。可对不同测次或断面的往返测进行面积差计算,也可利用截锥体法进行泥沙冲淤分析计算。
(6) 生成断面成果表。系统可生成断面成果表,以Excel的格式将成果表保存到计算机中。
6 系统测试与应用
6.1 系统测试
为了定量评价该信息平台性能,本文使用一台联想万全R525 G2服务器进行压力测试。该服务器配备了Intel Xeon CPU E5530处理器,最大内存容量144GB。客户端使用一台搭载Inter(R)Core(TM)i5-252-M处理器的Thinkpad T420s和一台搭载Inter(R)Core(TM)2 Duo CPU P8600处理器的Thinkpad T400同时运行。测试上报文件有20个工作表,每个工作表包含600条数据条目,文件总内存约1M。实验通过MS Visual Studio 2012 Test Center分别模拟5,50,200个并发用户运行情况。
测试中软件运行基本稳定,未发生因故障所导致的异常退出及丢失数据现象,压力测试结果见表1。信息平台在最大200个并发用户情况下,页面响应时间小于3 s,平均完成时间114 s。定量成果证明该信息平台具有较强稳健性和可靠性,满足泥沙监测业务操作要求。
表1 压力测试统计Tab.1 Pressure test statistics
6.2 系统应用
近年来,中国大力推动数字孪生流域、数字孪生水利工程建设,对水文泥沙监测处理软件的高效性、稳定性、安全性提出了更高要求。该信息平台建成后,被业内主要大型事业、企业单位广泛应用于长江上游水库(群)及西南诸河水库的实际生产项目中,泥沙冲淤分析见图4。在系统运行稳定性、数据管理安全性、数据处理高效性、处理成果准确性等方面均得到了良好评价,创造了积极的社会效益。
图4 泥沙冲淤分析Fig.4 Analysis of degradation and aggradation
7 结 论
随着数字孪生流域快速发展,水文泥沙监测数据成为了河道BIM、生态保护、储水量反演等领域的重要数据源。传统的处理软件功能分散、人机交互强度大、层级管理不便,已不能满足数字孪生流域的建设需求。本文提出以.Net为开发平台,采用C/S结构,直连SQL Server数据库开发水库泥沙监测信息平台,形成如下结论。
(1) 采用C/S结构直连SQL Server数据库进行平台开发,具有多重、多层级安全保障,数据管理安全可靠。
(2) C/S结构,C#语言开发平台系统界面简单,按数据处理流程进行模块化设计系统,系统使用便捷。
(3) 采用C/S结构,SQL Server数据库开发平台,仅对服务器一次性建设,即可实现多个客户端高效运行系统。
(4) 以.Net为开发平台,采用C/S结构,直连SQL Server数据库开发平台,具有数据处理、存储、管理多角色独立使用功能,适用于专业数据管理平台开发应用。
(5) 集成断面处理与床沙分析功能,实现泥沙监测业务一体化作业,有效降低人机交互强度,缩短成图周期。