中国长江电力股份有限公司 杨旭 张玉柱
当前水电能源是我国的重要能源之一,水电数学模型是其开发过程的重要组成部分。三峡是我国重要的水利枢纽工程,流域内水系状况复杂,存在多个大型水库形成梯级水库,水电能源资源开发潜力大,且三峡流域内水资源模型复杂多样,当前缺乏统一的通用模型开发体系。本文以三峡模型利用现状及水利信息化建设为基础,基于拥有自主知识产权的模型云平台构建了高效的水电能源开发框架,可为三峡水电能源开发、研究模型通用框架体系提供相关参考。
智慧水利建设需要在顶层设计的指导下,分目标、分阶段、分层次逐步推进[1]。数字水利通常要求在完整体系框架下,进行数字的采集、组织、存储、整合与标准化转换,在具体的数学模型之上建立完备的数据信息服务架构[2],水利建设项目施工一般具有施工地环境复杂、施工难度较大等特点,导致施工过程中事故发生可能性大。然而目前在水利工程项目过程中的风险评估多由现场相关管理人员手动分析,出错的可能性大,费时费力,且现有的水利模型无法对水利项目风险进行精准的分析和预测[3]。
当前随着国家对电力改革的不断推进,流域水电站调度目标更加注重发电综合效益的最大化[4],我国大水电快速发展,长江三峡流域有大型梯级水电站群,如何使梯级电站的效益最大化,大范围优化配置水资源十分重要[5],长江三峡流域水电数学模型多样化,做好水资源的预报调度十分必要,然而当前水电能源统一框架还不完善,基于贵仁模型云平台利用云原生技术研发的水电能源通用框架可大幅提升水电能源利用效率。
基于贵仁模型云平台利用云原生的水电能源通用模型建设功能模块,主要有水资源大数据中台和模型标准化平台,如图1 所示。其中水资源大数据中台包括数据管理平台、业务中台和集成中台;基于云原生的水电能源通用模型标准化平台包括通用模型组件库、用户空间、模型管理、方案管理、参数率定、模型评价、交互式编码以及模型成果集等。
图1 模型标准化平台整体系统功能架构Fig.1 Overall system function architecture of model standardization platform
长江电力水资源相关业务系统多为相对独立的应用系统,不同系统内部集成程度高,导致数据分散在各个应用系统数据库中,业务系统使用的算法模型参数不能提供给其他系统进行调用。系统的快速研发会加剧应用分散、数据分散、重复建设、使用率不充分的现象出现。同时,快速的需求变化要求敏捷开发快速满足应用要求。
为支撑金沙江下游——三峡梯级的调度运行,三峡梯调积累了大量预报、调度等模型研究成果,有效支撑了梯级水电站的实际生产运行。然而,由于气候变化与人类活动影响,上游梯级水库群陆续建成投运,预报、调度模型面临各种变化因素,实时评价模型在实际生产应用中的效果,并针对变化的条件对模型进行针对性的升级和改造,是保持模型长效服务的关键。目前,模型应用效果评价主要依靠调度人员的经验,由于水资源领域研发的模型众多,在实际应用过程中缺乏长效、系统的模型评价机制,大量模型研发成果未能有效地在生产中发挥作用。模型研究的更新迭代主要依靠重新立项研发,模型研发成果的累计效益未能充分发挥。因此,亟待在现有的大量模型研发成果的基础上,研发一套基于贵仁模型云的梯级调度科学研究开放平台,通过标准接口接入模型研发成果,并基于模拟的生产环境为各类模型研发成果提供实时数据接入,依据相应的评价指标体系对科研成果进行实时评价,以实现科学研究成果的高效积累、提高科学研究成果的质量,促进科研成果的转化落地。
贵仁模型云的模型标准化平台依托长江电力工业互联网基础设施平台提供的物理设备和基础软件服务,包括服务器、网络、存储集群以及Docker、容器管理、资源虚拟化等。模型管理平台内部集成了一套数据管理平台,将模型组件和方案计算过程中需要的数据从已有业务系统中做统一的抽取存储,模型标准化平台对上层的应用支撑服务提供相应的模型计算服务及模型计算的成果数据服务。
模型标准化平台主要包含数据管理平台和模型管理平台两部分,如图2 所示。数据管理平台包括数据源管理、数据存储、数据整合计算、数据资源目录、数据分析展示以及数据服务等功能;模型标准化平台包括可视化建模、通用模型组件集合管理、用户空间、模型在线编码等。
图2 标准模型体系图Fig.2 Standard model system diagram
作为科学计算模型标准化运行基础平台,建设过程中采用云计算、虚拟化等技术,保证各项业务的正常运行。软件开发采用DevOps 等主流的软件开发和部署方案,测试和开发同步进行,及时修补各类软件故障,保证代码的完备性,以确保平台的稳定性。
在建设过程中需保证各类数据资源和计算资源的可用性,采用负载均衡、弹性伸缩、冗余备份、异地备份等方式,提高系统的健壮程度。在正式部署后,进行各类压力测试,保证系统在多用户、多任务的情况下稳定运行。
2.3.1 模型框架数据结构
数据组织结构中按照不同专业类型分为气象类、水文类、电站类、电力市场、调度类以及电厂运行计划方式等。通过数据管理平台将数据抽取(ETL)、数据交互、数据同步、数据导入等方式,从相关的数据库、文档等存储介质中导入各项水利工程实时数据、行业相关数据以及统计数据等,同时利用网络爬取行业相关的水利、发电生产、电力市场等网络数据。所有的数据通过数据清理、真值识别、质量控制等相关的去重去伪操作之后,存入数据服务平台提供的数据库中。
所有的服务统一在调度数据与计算服务平台中注册,并对外发布。调度数据与计算服务平台提供各类接口的管理功能,实现资源的统一管理。主要负责协调内外的服务注册、路由、资源检索、调用监控、安全认证,并制定统一的标准,形成API 管理中心。
基于云原生的水电能源通用模型标准化平台提供一个数据管理平台的模块,数据管理平台能接入水调自动化系统、气象业务系统、泥沙管理系统、文档系统、水工程系统、外部互联网数据等结构化与非结构化数据等,按照数据业务的类型,对数据进行采集、清理、存储和管理。将各个系统中的离散数据统一汇聚于大数据中台平台内,同时提供数据整合功能,对数据进行再处理,以及以接口的形式对外提供对应的数据服务。
2.3.2 通用模型运行框架主要类型
(1)ModelExecutor:模型、方案的执行类,负责具体模型或方案的执行。采用深度优先遍历算法对由模型组件构成的方案(有向无环图结构)进行遍历,多线程执行方案的图数据结构中的所有未执行的非依赖节点。并将节点的返回数据绑定到依赖其结果的模型组件节点。依次迭代执行,直到所有节点都被执行完毕。
(2)AbstractModel:模型组件的抽象类,平台所有模型组件的模型类必须实现的父类,包括数仓数据类、文件数据类、模型算法类、方案类等。
(2)RunStatus:模型组件运行状态类,主要有Success、Failed、Doing 三种状态。
(4)DataModel:数仓数据接入类,其按照设置的数据源及检索条件从数仓中读取数据,由方案执行类将数据绑定到依赖其结果的模型组件节点。
(5)FileModel:文件数据接入类,可以通过文件数据接入类接收临时上传的文件数据,并作为数据源输出给依赖的模型组件作为输入。
(6)AlgorithmModel:模型算法类,指除了数据接入模型组件之外的所有数据处理类模型组件,可以是数据质量处理模型组件、预报类模型组件、调度类模型组件、机器学习类模型组件或者模型评价类模型组件。
(7)PlanModel:方案类,方案同样可以作为其他方案中的一个模型组件被集成到一个更大范围的方案中,以支持多人多方案多流域多模型协作。
2.3.3 模型通用框架部署
为了能够接入现存的各类“异形”模型,需要了解这些模型的具体要求,并提供一个能满足这些要求的基础设施来适配各种模型,这个基础设施就是模型适配器。同时,为了能够支持各种模型的运行环境,使用容器技术对各自的运行环境进行隔离且后续可以更好地对运行环境进行扩展。模型适配器为模型的外壳程序,将异构的模型包装起来,对外提供统一的接口。主要职责为模型的数据输入、数据输出、启动模型、收集模型反馈信息和结果数据。用Java 语言开发,可以直接由Java 集成并调用。模型服务层则负责与外部服务进行通信,用于接收外部参数并返回计算结果。在接收到启动指令后,根据接口查找对应适配器并实例化运行。
服务层内部主要分为API 接口层和执行器层。API 层主要负责与外部服务进行通信,进行模型计算任务的启动、获取进度、日志等控制;执行器层主要负责对各类接入的模型进行调用。其中,可以无缝接入Java、Python和动态库三类实现标准模型(即实现标准化平台接口标准的模型,同理,未实现标准化平台接口的标准,称为非标模型)。其他非标模型,则可统一使用Java 实现对应的模型适配器,“伪装”成标准Java 模型进行接入。
2.3.4 模型运行调用流程
模型标准化平台的整体架构分层有两层,上层是模型标准化平台基于标准对象数据结构的调用体系流程;下层是对接各具体业务模型的模型适配层,标准对象数据结构参考业界相关软件主流标准,最大限度地与物理实体映射。模型适配层通过适配器将标准对象的参数结构转换成具体模型需要的参数格式。解析模型输出结构为标准对象结构返回到模型标准化平台调用运行体系中去。
三峡水电能用模型通用框架体系的建立,整合并充分利用了三峡现有的模型资源,结合贵仁模型云工具集成了模型标准化平台。基于云原生的三峡水电能源模型通用框架的建设与完善将不断提升三峡水利信息化水平,带动智慧水利相关产业发展,促使产业结构更加多元化。
模型标准化平台的建立,可为长江流域防洪提供更加精准化的防汛调度决策支持,并为当地人民的生产生活提供保障。三峡基于贵仁模型云的水电能源通用模型框架建设是按照智慧水利建设“全国一盘棋”思路,统筹考虑水利部和流域机构相关规划,进行针对性建设的智慧水利先行先试工程,是响应国家智慧水利建设的重要体现,具有技术攻关和示范引领作用,有助于推进长江流域水利(水文)信息化向水利(水文)智慧化转变。