数字孪生三峡专业模型平台构建关键技术
2023-01-06张振东冯快乐
罗 斌,张振东,周 超,冯快乐
(长江设计集团有限公司,430010,武汉)
数字孪生流域、数字孪生水网、数字孪生工程建设作为新阶段水利高质量发展的具体实施路径,正在加快推进。“十四五”期间,水利部启动七大流域与11 个重大水利工程的数字孪生建设。数字孪生三峡作为重要试点工程,正积极探索、研究与实践。数字孪生工程的专业模型平台是数字孪生三峡系统运行的核心能力支撑,其建设成果可为其他数字孪生项目提供理论依据与技术支撑。
一、相关背景
1.数字孪生三峡对模型平台的高要求
结合2021年水利部制定的《加强三峡工程运行安全管理工作的指导意见》,数字孪生三峡“2+N”业务应用中需建设工程防洪安全及精准调度、水资源管理、工程运行管理及库容管理、库岸安全管理、水环境保护管理、水生态安全管理等内容。模型平台作为三峡数字孪生平台的重要组成部分,为业务应用提供“算法”核心支撑。相比于传统水利信息化系统,数字孪生三峡以实现数字孪生工程与物理工程的同步仿真、多业务协同智能决策为目标,针对水文预报、水库调度、安全监测等多模型驱动、多业务协同和不同时期计算范围、对象和模型的动态响应等需求,模型平台需要智能适应复杂业务动态变化,具备自动、动态、快速构建生成对应业务计算流程的能力。
2.水利专业模型平台发展现状及存在的问题
国内水利信息化经过多年建设与发展,目前在水文预报、水库调度、水动力模拟、安全监测等方面已经积累了一批机理计算、数据驱动的专业模型,并开始尝试建设模型上传、下载、调用等管理方面的功能。《智慧水利建设顶层设计》明确提出要建设标准统一、接口规范、分布部署、快速组装、敏捷复用的模型平台,支撑数字孪生流域实现与物理流域的同步仿真运行。当前水利专业模型平台尚不足以支撑数字孪生三峡运行,主要问题如下。
(1)缺乏水利行业统一的模型开发、对象映射标准,模型重复开发、不能复用、难以推广
各模型开发采用的接口结构多样、输入输出格式不同,水量平衡、曲线插值等通用操作难以被其他程序调用,导致重复开发。模型算法与水利对象、数据强耦合,模型只能针对具体单一水利对象使用而不能迁移至其他同类型水利对象上,通用性不足,且模型参数变化都需要修改模型代码程序,降低了模型优化效率、增加了模型维护成本。
(2)复杂水利业务的模型多为定制化开发,不具备智能编排多业务模型的能力,难以满足多业务协同建设的要求
由多个模型组合成的复杂模型,多采用定制化方式,但此类模型适用场景非常有限,当需要调整模型组合次序或增加删除模型时基本需要重新开发模型,不能通过已有模型根据业务需求智能化组合编排得到新的模型。对于同一对象不同时期采用不同的分析模型情况,不能根据下垫面条件智能切换同类模型,也不能根据当前调度时期业务目标变化智能选择不同类型的模型,智能适配能力弱。
(3)模型平台不能实现自动、动态生成模型计算流程以及并行优化计算顺序的功能,难以适应动态变化、快速响应的要求
数字孪生业务需要根据业务需求动态设置参与计算的水利对象节点与对象的计算模型,针对每次需求变化都能动态响应,以满足数字孪生快速响应的要求。数字孪生多业务协同计算通常涉及干支流多对象、多模型的计算,若每个对象每个模型的计算均采用单线程顺序计算将增加计算耗时,也难以满足数字孪生快速响应的要求。
二、数字孪生三峡模型平台总体架构及建设要点
为解决水利专业模型平台存在的缺乏通用标准、难以协同多种业务、业务组织不能适应需求动态变化的问题,数字孪生三峡模型平台搭建了如图1 所示总体框架。模型平台由数据组织层、模型管理层、模型编排层和业务组织层组成。数据组织层对下按标准组织数据底板数据实现对象实例化,对上支撑模型接口数据的快速访问;模型管理层针对标准通用的水利专业模型库,实现模型的注册、更新、删除、调用等全周期管理;模型编排层主要通过智能编排通用专业模型得到可支撑多业务协同计算的组合模型;业务组织层主要实现水力拓扑、业务的敏捷搭建等功能。
图1 数字孪生三峡总体架构
三、模型平台构建关键技术
在模型平台建设需求和平台总体架构的指引下,本文从通用标准化、智能先进化与敏捷高效化等方面阐述数字孪生三峡模型平台构建的关键技术。
1.通用标准化技术
从模型标准化与对象标准化两个方面阐述通用标准化的主要技术。模型标准化主要用于规范模型的开发标准,增强其通用性、扩展性和可推广性;对象标准化一方面定义水利对象属性和方法规约,减少由于数据来源变化带来的模型适配的额外工作,另一方面提高对象支撑模型所需数据快速组织的效率。
(1)模型标准化技术
现在我们把所有这些放在了DRIVE AGX Xavier的开发者套件中。我们已经把它交付给合作伙伴,通过开发人员的工具箱做各种各样自动驾驶系统开发。对于这种自主机器的处理器而言,它必须有非常多元化的功能。所以Xavier可以被称为“世界上首款具有30 TOP(每秒万亿次操作)的自主机器处理器”。Xavier是一个系统级芯片,它有不同的处理器:有CPU和GPU、有信号处理器和视频加速器。因为不同传感器传输来的数据是不同类型的,所以对它的处理也要用不同的算法。
模型主要由模型输入、模型实现、模型输出三部分组成。由于缺乏统一的标准,输入输出采用界面输入、文件、数据库等方式。由于开发语言多类型,有的模型只提供动态链接库。模型实现方面时常将程序与对象、数据绑定耦合,导致模型迁移使用时极其困难。为了提高模型的通用性、复用性与推广性,提出如图2所示的专业模型架构规范。
图2 专业模型架构规范
模型输入(计算需要的所有边界条件、模型参数、基础数据等)、输出(计算结果)进行统一规约,可按照“数据字段:数据值”的方式定义。
模型实现是核心算法部分,是模型实际计算主体,只包含算法本身,不包含任何水利对象与数据。计算所需的对象与数据通过定义变量的方式完成程序编写,模型实例化阶段将变量与数据通过输入的形式赋值可保证模型的通用性。
(2)对象标准化技术
在对象标准化方面,本文提出“类型定义-模型映射”技术。为满足水利计算业务需要,水利对象分为水库、测站、堤防、蓄滞洪区、水闸、泵站等实体水利对象,以及河段、河道断面、产流单元、预报区间等虚拟水利对象两大类。水利对象标准定义节点编码、节点名称、节点类型等通用属性以及各类型特有的特征值、特征曲线、约束条件、模型参数等与模型输入对应的数据字段属性,并与数据底板的数据完成对象数字化映射,如图3 所示。该方式避免数据库不同、数据格式不同带来的适配工作量问题,也保障通用模型可在对象库内任意同类型对象上使用。
图3 水利对象标准化技术
在对象与模型关联时只将模型输入的“数据字段”与水利对象类型定义中的“属性”进行关联映射,可快速将对象数据组织成模型输入,提高模型参数访问效率。
2.模型智能化编排
模型智能化编排基于模型库中的标准化模型服务,根据业务需求组合生成复杂模型实例,支撑多业务、多目标的复杂计算场景,提高水利模型库的应变和适应能力。多业务模型能够实现编排的前提是模型与对象要足够通用、标准,才能有统一的适配模式来组合不同模型、切换可选模型。模型智能化编排主要解决“多项业务智能化协同、变化需求智能化适配、依赖任务智能化执行”三个技术难点。
(1)多项业务智能化协同
对于有衔接关系的两个模型计算任务,如汛期以防洪为主的业务,防洪调度任务计算结束后其结果成为发电计算的边界条件,才能进行求解,如图4 所示。
图4 有业务关联的任务编排
对于没有衔接关系的两个模型计算任务,可以将这两个模型并行计算,后续衔接任务若依赖于这两个模型计算任务,需要在两个并行计算任务都完成之后才能进行后续模型计算任务,如发电计算和回水计算都需要等待防洪调度的计算结果,但是两者并没有直接依赖关系,此时采用任务并行调用的流程控制机制,当调度计算结束并输出结果后,可同时触发发电和回水的计算,评估任务需要在发电任务和回水任务都完成之后再开始计算,如图5 所示。
图5 无业务关联的任务编排
为了实现多模型串、并联任务的智能化协同,提出“配置-解析”的组合编排技术。为每个对象配置模型计算任务,并明确各模型的上下、串并衔接关系、各对象模型数据的衔接来源;通过计算解析引擎,根据配置信息将各对象模型转换为串联、并联组合的计算顺序流,完成复杂模型的组装和计算。
(2)变化需求智能化适配
为了应对模型随场景、时间、业务目标变化的需求,提出“配置-判别-切换”的智能化模型适配技术。场景的下垫面条件会随着前置任务的计算发生改变,水利对象的边界条件是不确定的。因此,为同一业务应用计算的同一水利对象配置多个备选模型以适应需求的动态变化,构建模型切换的判别指标与条件,开发智能化适配引擎,根据当前计算边界匹配切换条件,智能获取当前水利对象的最佳匹配模型和参数进行关联,实现变化需求下模型的适配任务,如图6 所示。比如进行产流计算时,当在土壤干燥下渗能力强时采用超渗产流模型进行模拟,随着时间推移当土壤含水量达到饱和以后则动态切换为蓄满产流模型。
图6 模型动态适配
(3)子任务智能化执行
当某个模型计算任务需要依赖其他跨越水力联系的对象或者非直接传递的流程控制机制时,将其定义为依赖任务(或子任务),一般为与其他对象没有水力联系但存在逻辑关联的任务,例如迭代任务中下游对象的结果需要反馈回上游对象,上游对象根据特定规则进行循环调用。
为了实现子任务的自动计算,提出“配置-触发-迭代-退出”的智能化执行技术。首先为主任务配置子任务的触发条件、执行任务、退出条件;然后开发能跨越水力联系进行任务通讯的依赖任务智能化执行引擎,可穿透节点任务的空间隔离和常规流程;根据当前对象的计算边界判断是否达到触发条件,若未达到触发条件则执行后置任务,若达到触发条件则进入迭代阶段;不断执行子任务的模型并根据迭代过程修改计算边界,当达到退出条件之后完成子任务执行,退出可执行后置任务,如图7 所示。
图7 子任务模型编排
3.敏捷高效化技术
为了实现业务需求动态变化时快速响应,平台敏捷搭建技术主要实现“快速搭-高效算”两个方面。“快速搭”解决“对象变化如何快速组织拓扑、业务变化如何快速生成计算流程”的问题。“高效算”解决“完整流程如何快速完成计算、模型服务如何快速调用”等方面的问题。
(1)空间拓扑构建技术
为实现物理世界空间拓扑快速映射为数字化空间拓扑的需求,采用图论的有向图构建原理,将计算节点和求解关系分别对应为有向图的节点和边,根据物理世界的水力联系构建涵盖计算区域所有节点和边的概化图。空间拓扑构建中将水利对象、水利关系、业务流向与标准的对象实例、模型实例进行组合,为特定业务计算提供基础。
(2)业务流程引擎技术
根据计算概化图配置的对象、模型和水利关系,还需要一套能自动将多业务、多对象的模型转换为计算流的流程引擎技术。流程引擎需要根据概化图提供的对象衔接关系、实际需求的业务衔接关系,明确对象计算顺序、模型计算顺序、模型数据衔接来源等内容,形成完整业务计算流。实现业务计算,如图8 所示。
图8 业务流程引擎示意图
(3)流程高效计算技术
通过分析业务流程图可知,并不是所有对象的所有模型均有数据衔接关系。通过本文提出的业务编排技术与业务流程引擎技术得到的业务计算流程为同一节点无数据衔接的模型、干支流无水力联系的模型、有水力联系但属不同业务的模型并行计算加速提供了实现可能,可进一步提升应对数字孪生业务变化时的响应速度。
①同一节点无数据依赖模型并行加速。同一节点无数据依赖的类型如三峡防洪调度计算完之后可并行计算三峡的回水模型和三峡的发电模型。
②无关联节点并行加速。节点之间的并行计算可分为无关联节点的并行和有关联节点的并行两种。无关联节点的并行针对于节点之间不存在水力联系的场景,如图9 所示。“河段1—水库1—河段2”计算流与“河段4—水库3—河段5”计算流不存在水力联系,数据也不存在交叉依赖关系,因此完全可以进行并行计算
图9 无关联节点并行加速示意
③有关联节点无数据依赖模型的并行加速。有关联节点中不是所有情况都能并行计算,只能将无数据依赖的模型进行并行加速计算。如图10 中,三峡与葛洲坝是有关联节点,三峡的发电计算模型可以和葛洲坝的调洪演算模型并行计算。
图10 有关联节点无数据依赖模型的并行加速示意图
(4)服务调用高效技术
除了计算流程方面的并行加速以外,每个模型的调用效率也是影响业务响应速度的因素之一。面向服务的模型调用构架一般有三类,一是应用直接调用服务,当应用和服务越来越多时,整个调用链会非常混乱,而且很难进行扩展和维护,一旦服务出问题,会造成应用无法调用。二是企业服务总线模式(Enterprise Service Business,ESB),应用通过ESB 来调用服务解决了调用链混乱问题。应用和服务通过ESB 统一管理实现了负载均衡和容错,但是缺点在于ESB 的压力过大,很容易成为瓶颈。三是微服务模式中,服务注册到微服务管理中心上,应用通过管理中心获取服务信息,然后在实际调用时通过该信息去直连服务。该模式既解决了传统模式混乱的调用链,又解决了ESB模式中心压力过大的问题。
模型平台作为一个支撑数字孪生三峡的复杂系统宜采用微服务架构,将一个复杂的模型调用拆分成多个独立自治的模型服务,形成服务间松耦合交互形式,优化了模型服务资源利用方式,提高了模型本身调用的效率,如图11 所示。
图11 微服务架构模式
四、总 结
数字孪生三峡作为数字孪生水利工程的重要试点项目,按照“建成标准统一、接口规范、分布部署、快速组装、敏捷复用的水利模型平台”要求,在通用标准化、智能先进化、敏捷高效化三个方面进行了积极的探索。提出了模型和对象标准化、多业务智能化协同、变化条件智能化适配、依赖任务智能化执行、空间拓扑构建、业务流程生成、流程计算加速、服务调用加速等技术,可提升数字孪生三峡业务应用的搭建效率,促进数字孪生三峡系统的建设。同时该技术与经验可推广至其他数字孪生水利工程乃至数字孪生流域的建设过程中。
未来,随着云计算、物联网、人工智能等技术的进一步发展和应用,数字孪生三峡模型平台将继续探索信息技术与水利专业的融合,不断汲取最新技术成果,建设更加通用、智能、高效、动态、快速的模型平台。 ■