摘 要:文章对水利工程水库运行管理数据使用场景进行分析,从水库运行管理数据分析的现状和问题出发,发现传统手段在数据处理和分析效率上存在瓶颈,无法满足复杂的管理需求,利用互联网相关大数据开源组件(DataX、Dinky、Doris、MinIO)对水利工程水库运行管理的数据平台进行了建设研究。通过大坝安全监测数据极值取值场景实例应用,验证数据平台的有效性和实用性。
关键词:水利工程;数据平台;大数据;数据分析
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2024)13-0096-07
Research on the Construction of Data Platform Based on Operational
Management Data in Hydraulic Engineering
LIANG Yuanxiang1, ZHANG Junhui1,2, LI Yongsheng1, SHEN Chaoqun1, PEI Shuai1
(1.Yunhe(Henan)Information Technology Co., Ltd., Zhengzhou 450003, China;
2.Yellow River Engineering Consulting Co., Ltd., Zhengzhou 450003, China)
Abstract: The paper analyzes the usage scenarios of reservoir operational management data in hydraulic engineering. Starting from the current state and issues of reservoir operational management data analysis, it is found that traditional methods face bottlenecks in data processing and analysis efficiency, unable to meet complex management requirements. The research focuses on the construction of a data platform for the reservoir operational management of hydraulic engineering, utilizing internet-related Big Data open-source compmqnBWWmHb1FzH5did/zsi0WMsOuX68LHq8EyiXmriag=onents such as DataX, Dinky, Doris, and MinIO. Through practical application examples in extreme value scenarios of dam safety monitoring data, the effectiveness and practicality of the data platform are validated.
Keywords: hydraulic engineering; data platform; Big Data; data analysis
0 引 言
随着水利行业的快速发展和数字化转型的推进,对于数据的需求和依赖程度越来越高。坚持数字赋能。要求业务部门要善于用数据说话、用数据管理、用数据决策,推动水利业务智能化,发挥数字化、网络化、智能化对水 利现代化的加速器、催化剂作用,推进水利决策科学化、水利治理管理精细化、水利公共服务高效化[1]。
数据底板[2]是流域数字化映射的成果、数字化场景构建的基础和实现山洪灾害监测预报预警平台“四预”功能的重要基础和支撑载体。而大数据平台的稳定性和技术的先进性是一切业务应用的基础条件[3]。且数字孪生水利工程管理系统以提升工程建设管理过程中数字化、网络化、智能化为主线,以数字化场景、智慧化模拟、精准化决策为路径,以数字底板、模型平台、业务应用系统为支撑,实现工程建设管理过程中数字工程与物理工程同步仿真建设[4]。
水利数据平台的建设可以整合和共享水利行业的数据资源,提高数据利用效率和数据质量。然而建设高效、统一、开放的水资源数据管理系统,实现水资源多源数据融合面临诸多挑战[5]。互联网业界通用做法通过数据平台数据共享和整合,打破数据壁垒,消除“数据孤岛”和“数据烟囱”,实现数据治理的统筹与协调,进而提高数据资源的利用效率[6]。这不仅可以降低数据采集和处理的成本,还可以提高数据的价值和效益。
企业数字化转型有利于提高企业的内部控制质量与盈利能力,从而有效缓解了市场不确定性与现金流预期不确定性对于企业固定资产投资的抑制作用,激励了企业进行固定资产投资[7]。数字化转型是水利行业发展的必然趋势,而水利数据平台的建设是数字化转型的重要支撑。通过数字化转型,可以推动水利行业的信息化水平提升,提高水利行业的竞争力和可持续发展能力。水利数据平台的建设可以为数字化转型提供强大的数据支持,推动水利行业的数字化转型进程。水利行业的发展、云计算技术的发展、数字化转型的需求、数据共享和整合的需求以及提高管理效率和决策水平的需求。在这样的背景下,水利数据平台的建设变得越来越必要和紧迫,可以为水利行业的可持续发展提供强大的数据支持。
1 平台整体架构
在传统的烟囱式IT架构中,各系统从后端到前端相互独立,紧耦合开发,导致系统臃肿、建设效率低、 无法快速响应业务,且存在大量重复建设工作。为解决上述问题,需要整合出一个中间组织,为所有的项目提供一些公共资源。这个中间组织即为“中台”,其中,汇聚数据资源,统一提供数据及相关服务的就是“数据平台”[8]。
数据平台的功能模块包括数据采集、数据处理、数据存储、数据服务等。其中,数据采集模块支持多种数据源的接入,如传感器、发电站、气象站等;数据处理模块具备强大的数据处理能力,能够对大量数据进行快速分析和处理[9];数据存储模块采用高性能的分布式存储系统,确保数据的可靠性和完整性;数据服务则提供数据结果集及API接口调用,方便用户进行数据分析和决策。
数据平台的技术实现,数据平台采用先进的数据采集和处理技术,能够实时监测水库的水位、流量、水质等指标,并将监测数据传输到数据中心进行处理和分析。同时,数据平台还采用了可视化技术,将数据以直观易懂的方式展示给用户。此外,数据平台还采用了安全技术,确保数据的安全性和可靠性。数据平台的技术选型及基本功能架构如图1所示。
2 数据处理流程设计
数据平台包括数据汇聚与融合、数据存储、数据计算与应用4部分内容。建设统一的数据标准和数据资源管理,将各个业务系统的数据进行清洗、交换、处理和加载[10]。
2.1 数据采集
在大数据处理的流程中,数据采集是第一步。数据采集自各种来源,包括数据库、社交媒体、物联网设备等。这个过程需要用到各种数据抽取工具和技术,如ETL(Extract-Transform-Load)等,以从各种数据源中抽取、转换和加载数据。
2.2 数据存储
采集来的大量数据需要被安全、可靠地存储起来,以供后续的计算和分析使用。这通常需要使用到分布式文件系统,结构化数据使用Doris进行存储,非结构化数据用MinIO存储。这些存储系统不仅提供了大规模的数据存储能力,同时也保证了数据的安全性和可靠性。
2.3 计算处理
大数据的处理通常需要使用分布式计算框架,文章中使用Doris的计算能力。此框架可以处理大规模的数据,进行实时的计算和分析。在这个过程中,数据清洗、数据去重、数据转换等操作都会被执行,以提高数据的质量,为后续的数据分析提供准确的基础。
2.4 数据应用
最后,数据分析的结果将被应用到实际业务中,以支持决策和业务操作。这包括生成报告、提供数据服务等。同时,这个过程也需要持续监控和优化数据处理流程,以提高数据处理效率和质量。数据平台数据处理流程如图2所示。
3 数据平台构建
本部署描述旨在阐述利用互联网相关大数据开源组件(DataX、Dinky、Doris、MinIO)搭建水利行业数据平台。该平台将实现对水利行业数据的采集、存储、处理、分析以支持水利行业的决策和业务发展,在部署过程中,充分考虑硬件和软件环境的要求,确保系统的稳定性和性能。
3.1 数据汇聚模块搭建
基于DataX和Dinky开源组件,搭建数据平台的数据汇聚功能模块,实现了多数据源的高效采集和实时同步,确保了数据的准确性和一致性,同时提供了可扩展、高可用的数据汇聚解决方案,为业务决策提供有力支持。
3.1.1 DataX部署
基于阿里巴巴集团开源DataX离线数据同步工具构建,实现包括MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS等在内的各种异构数据源之间高效的数据同步功能。
DataX3.0框架设计采用Framework+Plugin架构,将数据源读取和写入抽象称为Reader/Writer插件,纳入到整个同步框架中。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切分、TaskGroup管理等功能。DataX Job启动后,会根据不同源端的切分策略,将Job切分成多个小的Task(子任务),以便于并发执行。接着DataX Job会调用Scheduler模块,根据配置的并发数量,将拆分成的Task重新组合,组装成TaskGroup(任务组)。每一个Task都由TaskGroup负责启动,Task启动后,会固定启动Reader→Channel→Writer线程来完成任务同步工作。DataX支持单机多线程模式完成同步作业,用以说明DataX的运行流程、核心概念以及每个概念的关系,DataX作业生命周期的时序如图3所示。
下载DataX安装包上传至服务器相应目录并解压,运行Python datax.py job.json查看DataX自检结果,出现如图4所示结果即为部署成功。
3.1.2 Dinky部署
Dinky基于开源Apache Flink组件构建,它提供了一种基于变更数据FlinkCDC,基于变更数据捕获(Change Data Capture)的方式,用于监测并捕获数据库的变动,如插入、更新和删除等操作。核心思想是将这些变更按发生的顺序完整记录下来,并将这些信息写入到消息中间件中,以便于其他服务进行订阅和消费。同时,提供Flink实时流的计算能力,实时计算数据进行写入Doris。
FlinkCDC Connectors作为Apache Flink的一组源连接器,使用CDC从不同的数据库中获取变更。这种方式相比于传统的基于查询的CDC(如Sqoop、DataX等)具有明显的优势,后者需要离线调度查询作业进行批处理,无法保障数据的实时性和一致性。FlinkCDC读取机制如图5所示。
将Dinky安装包上传至服务器相应目录并解压,在对应数据库下执行SQL目录下的dlink.sql脚本初始化Dinky数据库,执行成功后,启动dlink应用进程sh auto.sh start打开登录Dinky页面如图6所示。
3.2 数据中心模块搭建
3.2.1 Doris部署
基于开源Doris [7]数据库产品构建水利工程运行管理多维动态数据中心,Doris是一款基于MPP技术的SQL分析型数据库系统,能够在海量数据的OLAP场景下提供毫秒级的查询响应性能。Doris从设计上来说,融合了Google Mesa的数据存储模型、Apache的ORCFile存储格式、Apache Impala查询引擎和MySQL交互协议,是一个拥有先进技术和先进架构的领先设计产品。
在架构方面,Doris只有两类进程:一类是FE,可以理解为Doris的管理节点,主要负责用户请求的接入、查询计划的解析、元数据的存储和集群管理相关工作;另一类是BE,主要负责数据存储、查询计划的执行。这两类进程都是可以横向扩展的。除此之外,Doris不依赖任何第三方系统(如HDFS、Zookeeper等)。这种高度集成的架构设计极大地降低了运维成本。Doris查询引擎原理如图7所示。
Doris部署选择三台服务器进行集群部署,其中FE,BE在一台服务器上进行混部,其余两台服务器单独部署BE,下载Doris安装包并解压得到以下目录(三台服务器分别执行相同操作),修改fe.conf\be.conf文件指定priority_networks为本地IP,启动fe_start.sh、be_start.sh后登录FE页面,如图8所示。
3.2.2 MinIO部署
基于Apache License v2.0开源协议的分布式文件系统MinIO构建水利工程非结构化数据存储系统,用来保存海量的雷达云图、卫星变化图斑、监控视频、BIM、GIS等数据。由于采用Golang实现,服务端可以工作在Windows、Linux、OS X和FreeBSD上。
MinIO是一种开源的分布式对象存储系统,它可以在多个节点上存储和管理大量的数据。MinIO的设计目标是提供一高可用性、高性能、易于扩展的对象存储系统,以满足现代应用程序的需求。Minio的核心原理是分布式存储。它将数据分散存储在多个节点上,以提高可用性和性能。每人节点都是一个独立的存储单元,可以独立地处理读写请求。当一个节点出现故障时,其他节点可以接管它的工作,确保数据的可用性和一致性[11]。
系统部署过程:下载MinIO的二进制文件,然后上传到我们的服务器上,修改权限chmod +x minio,然后设置用户名和密码,注意,用户名长度至少3位,密码长度至少8位,然后可以通过nohup ./minio server --address :9000 --console-address :9001 /tools/MinIO/minio_server/data > /tools/MinIO/minio_server/data/minio.log &命令进行后台启动,访问下控制台服务器ip:9001,如图9所示。
3.3 数据服务模块
数据服务模块借助第三方厂家商业产品ESB(Enterprise Service Bus)作为数据服务总线模块进行构建,ESB在混合架构中作为新老架构间的通信桥梁支撑其服务整合与业务集成;同时,产品支持云环境下的快速伸缩,支持协议转换、消息转换、消息路由、服务编排、服务注册、服务查找、服务监控、热更新、访问控制等系列功能。
数据平台集成其主要功能:
1)服务编排。ESB可以通过重复利用本地或远程已有的系统的不同协议的服务进行组合从而生成新的服务,并可以通过不同的协议从ESB上暴露给其他业务系统,增强数据平台应对业务变化的能力,提高了数据服务效率
2)服务注册。对服务目录、服务转换、路由等内容的管理配置,用以管理、配置服务,包括服务细节,技术接口,告警策略等。为开发人员能快速发现满足他们的服务,服务注册提供了对企业服务的发布,目录和分类功能。
4 实例应用-监测数据极值场景
4.1 极值取值场景分析
在水利工程监测中,数据的极值取值对于判断工程的安全状况具有重要意义。例如,水位、渗流、渗压、位移、流量等指标的极值可能预示着潜在的安全风险。因此,通过对监测数据进行极值取值,可以及时发现并处理潜在的安全风险。当数据量非常大时,传统关系型数据库可能面临查询性能的问题。特别是在处理极值取值这样的复杂查询时,性能问题可能会更加明显。由于极值取值需要处理的数据量通常很大,因此查询可能需要花费较长的时间,甚至可能超时,并且会对数据库带来性能影响导致线上业务中断等严重后果。
传统关系型数据库通常是集中式的,这意味着随着数据量的增加,单个数据库服务器可能无法承受负载。这可能导致性能下降和故障。为了解决这个问题,关系型数据库通常需要进行分片,但这会增加复杂性并可能导致数据一致性问题。传统关系型数据库通常无法有效地处理大数据。对于极值取值这样的查询,可能需要扫描大量的数据,这可能会超出传统关系型数据库的处理能力。
4.2 Doris极值取值场景应用
极值提取:创建Doris数据库的Aggregate数据模型表,以基础监测数据表为例(涉及水利数据机密性,所示数据表信息及数据皆为测试数据)。假设业务有以下数据表模式,如表1所示。
以下是Doris Aggregate数据模型表建表语句,如图10所示。
我们有以下导入数据(测试数据),如表2所示。
Doris执行插入SQL语句后查询gcaq.sensordata数据表,Doris最终数据存储结果,如图11所示。
当我们根据创建的Aggregate模型表导入数据时,对于Key(`Mea_id`, `Mea_code`, `Project_site`, `Mea_date`)列相同的行会聚合,而Value列会按照设置的AggregationType 进行聚合。可以看到监测ID:1,只剩下了一行聚合后的数据,最后监测时间已经变为:2023-09-01 07:00:00、X轴位置最大值为:345.765、Y轴位置最大值为:545.123。
AggregationType目前有以下四种聚合方式:1)SUM(求和),多行的Value进行累加。2)REPLACE(替代),下一批数据中的Value会替换之前导入过的行中的Value。3)MAX,保留最大值。4)MIN,保留最小值。插入即所得,在全量数据极值获取场景中大大提高了查询效率,解约了时间成本。通过DorisAggregate模型表,我们可以利用Doris的分布式计算能力,快速提取出数据的极值。
通过以上分析,我们可以看到基于Doris的水利工程监测数据极值取值场景实践应用具有很大的潜力。通过利用Doris的高性能、高可用性、高扩展性等特点,我们可以快速处理和分析海量的水利工程监测数据,提取出极值,及时发现并处理潜在的安全风险。这将有助于保障水利工程的安全运行,提高水资源管理的效率和质量。
5 结 论
数据平台的技术实现包括数据采集技术、数据处理技术、数据存储技术和数据可视化技术等。其中,数据采集技术采用FlinkCDC、DataX技术,实现数据的实时采集和传输;数据处理技术采用分布式计算和内存计算等技术,实现对大量数据的快速处理和分析;数据存储技术采用分布式存储对象存储和数据库技术,确保数据的可靠性和完整性。
通过介绍数据平台的设计与实现,包括整体架构、功能模块和技术实现等,说明了数据平台的有效性和实用性。最后,通过实例应用表明了数据平台在实际水库运行管理中的应用效果和贡献。因此,通过以上构建方法去构建一个智慧水利工程水库运行管理的数据平台是必要的且可行的。可以通过平台采集、计算、分析等充分利用水库运行的各种数据,提高水库运行管理的效率和水平,为保障人民生命财产安全和经济社会发展做出积极贡献。
参考文献:
[1] 蔡阳,成建国,曾焱,等.加快构建具有“四预”功能的智慧水利体系 [J].中国水利,2021(20):2-5.
[2] 黄喜峰,刘启,刘荣华,等.数字孪生山洪小流域数据底板构建关键技术及应用 [J].华北水利水电大学学报:自然科学版,2023,44(4):17-26.
[3] 雍熙,魏旭强,赖明东.国家水资源监控工程的大数据平台建设 [J].工程研究-跨学科视野中的工程,2021,13(1):3-9.
[4] 高念高.数字孪生水利工程中的大数据应用初探 [J].信息技术与标准化,2023(8):87-91.
[5] 杜红艳,薛惠锋,侯俊杰,等.面向智慧水利的水资源数据融合探析 [J].中国水利,2018(23):61-64.
[6] 陈希琳,翟晓汀.消除制造企业“数据孤岛” 访国家智能制造专家委员会委员、国家智能制造标准化委员会专家咨询组专家蒋白桦 [J].经济,2023(5):43-45.
[7] 贺仁驹,沈滨.数字化转型促进了企业固定资产投资吗?[J].科学决策,2023(11):127-139.
[8] 张洁,许建宏,肖伟.关于数据中台建设思路的探讨 [J].邮电设计技术,2021(8):74-79.
[9] 舒珏淋,曹杨,迟雪,等.面向物联网应用的大数据平台研究与设计 [J].计算机时代,2023(7):127-132.
[10] 熊拥军,白瀚祯,张廷成.基于数据中台的图书馆数据资产管理架构 [J].图书馆学研究,2023(8):36-47.
[11] 赵静静,金慧峰,李霄.基于MinIO存储的综合实践管理平台开发 [J].软件,2022,43(10):55-59.
作者简介:梁远想(1989—),男,汉族,河南濮阳人,工程师,本科,研究方向:水利大数据技术应用。