CN116244301A - 一种基于有向无环图的时空过程机理模型服务链编排方法 - Google Patents
一种基于有向无环图的时空过程机理模型服务链编排方法 Download PDFInfo
- Publication number
- CN116244301A CN116244301A CN202211427118.3A CN202211427118A CN116244301A CN 116244301 A CN116244301 A CN 116244301A CN 202211427118 A CN202211427118 A CN 202211427118A CN 116244301 A CN116244301 A CN 116244301A
- Authority
- CN
- China
- Prior art keywords
- model
- service chain
- data source
- condition
- mechanism model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007246 mechanism Effects 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 108
- 230000008569 process Effects 0.000 title claims abstract description 76
- 230000010354 integration Effects 0.000 claims abstract description 18
- 238000012795 verification Methods 0.000 claims abstract description 14
- 125000002015 acyclic group Chemical group 0.000 claims abstract description 12
- 238000010586 diagram Methods 0.000 claims description 17
- 230000002045 lasting effect Effects 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 abstract description 15
- 238000010168 coupling process Methods 0.000 abstract description 15
- 238000005859 coupling reaction Methods 0.000 abstract description 15
- 238000013461 design Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/235—Update request formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及地理信息机理模型编排技术领域,具体公开了一种基于有向无环图的时空过程机理模型服务链编排方法,包括如下步骤:S10、基于机理模型元数据结构实现模型服务的集成;S20、构建基于有向无环图的时空过程机理模型编排规则并自适应编排。本发明结合多机理模型耦合协作中模型与数据源的拓扑关系,基于有向无环图的思想,提出了一种适用于机理模型的自适应编排规则,保证了模型编排结果的有向性、连通性、无环性、合法性。通过该编排规则,以数据源的合法性判断作为基本思想,设计了时空过程服务链的描述标准以及自适应验证和执行方法,最终实现了跨领域多学科的机理模型间无缝耦合协作的目的。
Description
技术领域
本发明涉及地理信息机理模型编排技术领域,具体涉及一种基于有向无环图的时空过程机理模型服务链编排方法。
背景技术
作为现实实体在虚拟空间中的映射,数字孪生技术充分利用机理模型、传感器更新、运行历史等数据,反映对应实体的全生命周期过程,近年来在我国工程建设领域得到了充分发展与应用。其中,在面对一些如时空过程模拟的复杂问题时,需要利用多领域跨学科的机理模型协作解决,然而这些模型存在着服务形式多,部署分散,应用环境差异大的特征,难以对它们进行有效的管理与组织,因此,亟需研究一种机理模型的集成与编排方法,满足用户高效共享与重用模型的需求,进而支撑复杂时空过程问题的有效分析与解决。
机理模型的集成可以通过紧耦合、嵌入式耦合、松耦合集成这三种方式。紧耦合的集成方式一般只服务于某一领域,表现形式一般为专业软件,其中的模型可重用性较差;嵌入式耦合是在紧耦合的基础上,添加了模型开发与调用的接口,大大提升了其灵活性;松耦合的集成方式是通过向使用者提供统一模型调用接口,结合模型调用中间件,可直接使用现有模型而无需重构或改写,是实现跨学科机理模型的高效管理与组织的重要前提。
然而由于各领域的机理模型具有多源、异构等特征,需要针对每类模型实现其服务与本体之间的中间件,并且需要构建一个能够持久描述模型的元数据结构,作为模型编排的基础;同时模型编排的过程中模型服务之间存在着邻接与非邻接的依赖关系,由此带来了模型服务与输入输出数据源之间存在着特定的关联关系,因此如何设计一个泛用、高效的机理模型元数据标准与模型集成方法,实现机理模型服务链的自适应编排,仍是一个具有挑战性的课题,也是当前亟待解决的难题。
发明内容
为解决现有技术中存在的问题,本发明提供了一种基于有向无环图的时空过程机理模型服务链编排方法,达到的时空过程机理模型自适应编排目的,解决了上述背景技术中提到的问题。
为实现上述目的,本发明提供如下技术方案:一种基于有向无环图的时空过程机理模型服务链编排方法,包括如下步骤:
S10、基于机理模型元数据结构实现模型服务的集成;
S20、构建基于有向无环图的时空过程机理模型编排规则并自适应编排。
进一步的,所述步骤S10具体包括:
步骤S101、用户根据已经部署的机理模型,按照制定的机理模型元数据结构,填写相应的元数据并上传;
步骤S102、服务器端接收到上传请求后,将其转换为元数据对象,并将其持久化存储在元数据库中;
步骤S103、用户选择模型并发送请求,服务器端从数据库中查询到对应元数据并转换成元数据对象,经过渲染生成相应的页面返回至用户;
步骤S104、在页面中用户提交模型运行参数值并提交,服务器端根据用户使用的模型ID,获取此模型对应的模型类型,于模型调用容器中查找相应的模型调用对象,通过此对象完成模型调用。
进一步的,所述机理模型元数据结构包含模型基本信息和模型运行信息;所述模型基本信息包括模型ID、模型名称以及模型类型;所述模型运行信息包括实现模型外部调用接口信息的模型调用入口、模型选项信息、包括模型所有运行参数相关信息的模型参数信息集合。
进一步的,所述基于有向无环图的时空过程机理模型编排规则包括基本机理模型规则和多机理模型编排规则;
所述基本机理模型规则包含两个条件、一个性质,用于约束单个机理模型服务中模型与输入输出数据源的关系;
对于所有机理模型的抽象结果GM(VI,VM,VO,E),在一个机理模型运行过程的情况下抽象图gM(vI,vM,vO,e)中的各节点应该满足条件(1),
其中,M表示机理模型节点,I表示输入数据源节点,O表示输出数据源节点,v代表某种节点的集合,e表示节点之间的有向边集合,nv代表某种节点数;
在满足条件(1)的情况下,节点之间的有向边继续满足条件(2),
此时的模型抽象图具有性质(I);
其中,条件(1)保证了单个模型服务中各个节点的数量以及图的无环性,即不能存在一个既为输入数据源又为输出数据源的节点,条件(2)保证了各个节点之间的有向边的明确定义。
进一步的,所述多机理模型编排规则包括六个条件,其中包含两条充分且必要条件,以及一条推论,实现对模型编排组合过程的约束;
其中,I表示输入数据源节点,O表示输出数据源节点,M表示机理模型节点,OI表示中间数据源节点,E表示节点之间的有向边,nv表示某种节点的数量,e表示图中边的数量;
从条件(3),得推论(a),
其中<vA,vB>代表A,B节点之间的有向边;
在满足条件(3)的基础上,需要满足条件(4),
条件(4)的充分且必要条件(5)为:
在满足条件(4)或(5)的基础上,需要满足条件(6):
可得条件(6)的充分且必要条件(7),
其中,id为某节点的入度;
在满足条件(6)或(7)的基础上,需要满足条件(8):
条件(3)和条件(8)共同保证了在每一次的更新模型任务链路之后,模型组合图始终为有向无环图。
进一步的,所述步骤S20中的自适应编排具体包括:
步骤S201、用户选择待编排的模型,并输入参数;
步骤S202、重复步骤S201,直到编排完成,并生成相应的时空过程机理模型服务链元数据模板;
步骤S203、提交元数据模板至服务器端,并将其持久化存储在时空过程机理模型服务链元数据库中;
步骤S204、用户选择已经编排好的模型组合,结合数据库返回的元数据模板,为其添加待输入的参数值,生成服务链执行信息并将其提交至服务器端。
进一步的,步骤S202中的时空过程机理模型服务链元数据结构包括服务链ID、服务链模型组合信息集合;所述服务链模型组合信息集合的每一单元包含五个部分:单元ID、模型ID、参数键值对集合、输入数据源参数索引以及输出数据源参数索引。
进一步的,所述步骤S204中服务器端接收服务链执行信息后,服务链执行信息中各单元的执行顺序由推论(b)和推论(c)确定,然后基于时空过程机理模型服务链自适应执行算法完成服务链的执行;
推论(b):如果一个单元的机理模型服务的所有输入数据源是合法的,那么模型就可以被顺利执行,且所有输出数据源也在执行后合法;
推论(c):如果一个可执行的服务链的所有输入数据源都合法,在保证各单元合理的执行顺序下,即可完成模型编排组合任务。
进一步的,所述基于时空过程机理模型服务链自适应执行算法包括服务链连通性验证、数据源合法性验证、以及服务链模型递归执行,算法具体包括如下:
步骤S301、验证服务链的连通性:首先需要验证服务链的连通性,遍历整个服务链执行信息,记录服务链中每一个单元的输入数据源与输出数据源的集合,并将每一个单元的与其他的单元进行交集运算;如果某一个单元的数据源集合与其他所有单元的集合的交集都为空,那么则认为该单元与服务链不连通,不符合条件(4)的编排规则,因此结束运行流程;若服务链连通,则执行步骤S302;
步骤S302、记录服务链执行信息的所有输入数据源:将服务链执行信息与对应的元数据模板进行比对,获取服务链的所有在步骤S204由用户输入的合法输入数据源参数值并将其记录;
步骤S303、建立一个空的输出数据源记录;
步骤S304、判断服务链执行信息中的剩余单元数:如果服务链剩余单元数为0,则可能存在两种情况:服务链为空,或者服务链执行完毕,无论那种情况,都结束运行流程;如果不为0,则执行步骤S305;
步骤S305、进入服务链的第一个单元;
步骤S306、判断输入或输出记录中是否存在该单元的所有输入数据源:由推论(b)可知,输入与输出记录中所有的数据源全部合法,因此需要在两个记录中查找本模型的所有输入数据源,如果有不存在的数据源,则执行步骤S313;如果所有输入数据源全部存在,则执行步骤S307;
步骤S307、判断输出记录中是否存在本单元的输出数据源:基于条件(7)进行第一次判断,如果输出记录中存在本单元的某个输出数据源,即该数据源所对应的模型组合图节点的入度大于1,说明在服务链没有按照条件(6)进行编排,结束运行流程;若判断结果为假,则执行步骤S308;
步骤S308、判断输入记录中是否存在本单元的输出数据源:基于条件(8)进行第二次判断,如果输入记录中存在本步骤输出数据源,则服务链所对应的模型组合图中构成环路,结束运行流程;若判断结果为假,则执行步骤S309;
步骤S309、执行该单元中的模型,即执行步骤S104;
步骤S310、将该单元的输出数据源添加至输出记录:由于本单元的某个输出数据源可能为另一单元的输入数据源,根据推论(b),将该数据源添加至输出记录;
步骤S311、在服务链执行信息中删除此单元:为防止同一单元的重复执行,将在服务链执行信息中删除此单元;
步骤S312、判断本次服务链是否遍历完成:若本次服务链遍历完成,但由于步骤S306的缘故,服务链中可能存在未被执行的单元,因此需要重新开始执行步骤S304;若本次遍历未完成,则执行步骤S313;
步骤S313、进入服务链的下一步骤,之后再执行S306;
经过步骤S301-S313,若服务链的有效性得到验证且执行完毕,则所有的预期输出数据源的合法性得到保证,时空过程机理模型组合的运行任务完成。
本发明的有益效果是:在需要来自多学科的机理模型协作解决复杂问题的情况下,实现了多源异构模型的统一描述与有效集成,达到了重用与共享现有模型的效果,从而避免模型部署所带来的软硬件成本;本发明提出了一种基于有向无环图的时空过程机理模型服务链自适应编排方法,并设计了满足该规则的服务链组织方法以及执行与验证算法,结合模型服务与本体之间的中间件,实现了多源异构机理模型间的无缝耦合,达到了模型组合高效协作运行的效果,从而避免了对现有机理模型进行二次开发、改写或重构所带来的巨大学习时间成本。
附图说明
图1是本申请编排方法步骤流程示意图;
图2是本申请实施例公开的基于机理模型元数据结构实现模型服务的集成流程示意图;
图3是本申请实施例公开的机理模型元数据结构示意图;
图4是本申请实施例公开的基于有向无环图的时空过程机理模型自适应编排流程示意图;
图5是本申请实施例公开的机理模型数据源与模型关系抽象示意图;
图6是本申请实施例公开的机理模型编排结果抽象示意图;
图7是本申请实施例公开的基于有向无环图的时空过程机理模型服务链元数据结构示意图。
图8是本申请实施例公开的基于有向无环图的时空过程机理模型服务链自适应执行算法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
在面对一些诸如地质灾害模拟的复杂问题时,需要来自多领域跨学科的机理模型,包括地理、地质、气象、水文等。尽管各专业的研究人员目前已经开发了数以万计的模型,但是构建一个可以模拟如此复杂过程的单一模型是不切实际的。实现模型的集成与组合是一种解决方案,它可以重用现有模型,从而避免开发新模型或者重构旧模型所带来的巨大成本。
但是,由于来自各学科、各领域的机理模型服务形式多,部署分散,应用环境差异大,使得这些机理模型难以进行共享与重用,在需要多学科模型协作解决实际问题时,带来了较大的软硬件与学习时间成本。因此,如果能将各机理模型的外部调用接口信息进行归纳与总结,通过一种泛用的数据格式将其描述,便可以通过一个统一的服务接口实现各模型的表示、发布、调用,将极大地降低多源异构模型的集成难度。在此基础之上,如何将形式上统一的机理模型服务进行合理编排,是解决多模型耦合协作的关键之一。
为解决上述问题,本发明提供一种技术方案:一种基于有向无环图的时空过程机理模型服务链编排方法,请参阅图1,包括如下步骤:
S10、基于机理模型元数据结构实现模型服务的集成;
S20、构建基于有向无环图的时空过程机理模型编排规则并自适应编排。
机理模型元数据结构包含模型基本信息和模型运行信息,机理模型元数据使用半结构化数据结构进行表示、传输与持久化存储。
基于有向无环图的时空过程机理模型编排规则包括基本机理模型规则和多机理模型编排规则。
基本机理模型规则包含两个条件、一个性质,用于约束单个机理模型服务中模型与输入输出数据源的关系;
多机理模型编排规则包括六个条件,其中包含两条充分且必要条件,以及一条推论,实现对模型编排组合过程的约束。
自适应编排具体包括:
用户选择待编排的模型,并输入参数;
重复上述步骤,直到编排完成,并生成相应的时空过程机理模型服务链元数据模板;
提交元数据模板至服务器端,并将其持久化存储在时空过程机理模型服务链元数据库中;
用户选择已经编排好的模型组合,结合数据库返回的元数据模板,为其添加待输入的参数值,生成服务链执行信息并将其提交至服务器端。
服务器端接收服务链执行信息后,然后基于时空过程机理模型服务链自适应执行算法完成服务链的执行;
基于时空过程机理模型服务链自适应执行算法包括服务链连通性验证、数据源合法性验证、以及服务链模型递归执行三个部分,算法的两个验证部分与所述时空过程机理模型服务链元数据结构共同满足了所述基于有向无环图的时空过程机理模型编排规则的约束。
实施例2
在机理模型编排过程中,模型服务与各自的输入输出数据源之间存在着明显的有向关系,各模型服务之间存在着串行与并行的关系,由此所带来的服务链具有线性与非线性的特征;各模型任务之间的联系方式为数据源的共享,且存在着执行先后顺序问题,例如一个模型的输入数据源为上一步模型的输出数据源;机理模型的输入数据源应该为合法值,输出数据源的值在模型执行前应该为空,从而避免执行流程出现环路这种非法的情况产生。基于以上的思想,本申请提供了基于有向无环图的时空过程机理模型服务链自适应编排方法,首先是基于机理模型元数据结构实现模型服务的集成,其流程图如图2所示:
步骤S101:用户根据已经部署的机理模型,按照制定的机理模型元数据结构,如图3所示,填写相应的元数据并上传,如果为新类型模型则需要于模型调用容器中编写相应的调用中间件。
机理模型元数据使用JSON格式进行传输、存储,机理模型元数据结构包含模型基本信息与模型运行信息两部分,前者包含模型唯一标识符(模型ID)、模型名称、模型类型等用于表示模型基础信息的字段,其主要作用是帮助用户了解模型并做出决策;
模型运行信息包括模型调用入口,为实现模型外部调用的接口信息;模型选项信息,包括模型运行所需的必要选项;模型参数信息集合,包括模型所有运行参数的相关信息这三个部分;模型运行参数主要包含输入数据源参数、输出数据源参数、数字参数、字符串参数、布尔值参数、键值对集合参数等类型,每一个参数都必须包含参数名和参数类型字段。通过这种元数据设计方式,在旧参数类型需要添加新字段或者新增参数类型时,可以较为容易地对元数据结构进行拓展。
步骤S102:服务器端接收到上传请求后,将其转换为元数据对象,并将其持久化存储在元数据库中。
为了构建机理模型元数据库类型与服务器端元数据类型的映射,需要按照机理模型元数据结构,实现相应的元数据实体类,借助面向对象的思想,针对元数据中模型运行信息的模型参数信息部分,设计了一个参数类型虚类,包含了参数名和参数类型这两种基本属性,所有的模型参数信息类都继承自此参数虚类,并在此基础上拓展出如默认值等属性,从而实现元数据实体类对象中模型参数信息部分动态化的集合处理。
步骤S103:用户选择模型并发送请求,服务器端从数据库中查询到对应元数据并转换成元数据对象,经过渲染生成相应的页面返回至用户。
机理模型元数据中每一种模型参数都对应着前端不同类型的控件,例如数字类型参数对应数字输入框,字符串类型参数对应文本输入框,布尔值类型参数使对应复选框,键值对集合参数对应下拉菜单。通过元数据控制页面渲染的方式,不仅保证机理模型用户调用接口的统一,还确保了模型调用的全生命周期中运行参数信息的稳定性。
步骤S104:在页面中用户提交模型运行参数值并提交,服务器端根据用户使用的模型ID,获取此模型对应的模型类型,于模型调用容器中查找相应的模型调用对象,通过此对象完成模型调用。
服务器端的模型调用模块对机理模型的运行入口起到控制作用,是模型服务与模型本体的中间件,连接着用户提供的参数与模型程序,如何根据动态的模型调用信息,选择对应的机理模型并保证其成功执行是模型调用模块需要解决的问题。因此,模型调用模块采用容器的方式管理所有模型调用类的对象,这些类都实现了同一个的模型调用接口,该接口主要定义了模型调用以及运行反馈等模型运行流程的基本控制方法。因此,即使需要集成新类型的机理模型,通过实现此接口即可在容器中针对该类型模型高效地拓展出其调用类。根据上述中用户调用时从元数据库中获取的模型类型值,基于反射的方式,即可获取容器中对应的模型调用类对象。通过这种利用接口和容器管理实现对模型调用的方式,有效降低了模型调用类之间的耦合度,充分保证了在面对新类型机理模型需要集成情况时模块的可扩展性,并极大地提高了调用类的可重用性。
在上述实施例中,将机理模型元数据结构应用于多源异构模型的集成,其目的是统一管理各类模型的外部调用接口,并将其以规范的表现形式进行服务发布,为下一步的基于有向无环图的时空过程机理模型编排提供数据与逻辑基础。下一步骤的具体流程如图4所示,包括:
步骤S201:用户选择待编排的模型,并输入参数。
为了保证服务链的高度可复用性,本步骤的某些参数可以在当前编排时指定,也可以在之后服务链调用时由用户输入。
步骤S202:重复步骤S201,直到编排完成,并生成相应的时空过程机理模型服务链元数据模板。
由于模型编排的过程中,模型与模型节点存在着邻接与非邻接的拓扑关系,所带来了在运行流程方面多个模型之间存在串行或者并行的关系,因此所对应的服务链同时存在着线性与非线性特征,因此需要对服务链中每一步的执行顺序进行合理控制;此外,服务链须避免环路的产生,例如一个机理模型的输出数据源不应该为存在的合法值的情况。因此本发明使用有向无环图作为自适应模型编排的基本思想,并将其应用于后续的时空过程机理模型元数据设计和执行与验证算法实现。
有向无环图,是一个无法从某个顶点出发经过若干条边回到该点有向图。在利用多个机理模型编排组合解决复杂问题时,普遍情况下其耦合形成的链状结构可以被抽象为一个有向无环图,因此,本发明在有向无环图的基本定义下,结合上文定义的机理模型元数据标准,对其基本概念进行扩展,使之能够更加适用于时空过程模型服务链自适应编排的情况。
对一个机理模型的整个运行过程中数据源与模型的关系进行抽象表达,并在此基础之上提出基本机理模型规则。如果按照输入数据源和输出数据源分别与模型的关系进行分类,存在如图5的四种情况,即一对一、一对多、多对一和多对多四种模式,其中,M表示机理模型节点、I表示输入数据源节点、O表示输出数据源节点,E表示节点之间的有向边。
因此,对于所有机理模型的抽象结果GM(VI,VM,VO,E),在一个机理模型运行过程的情况下抽象图gM(vI,vM,vO,e)中的各节点应该满足条件(1),其中v代表某种节点的集合,e表示节点之间的有向边集合,nv代表某种节点数。
在满足条件(1)的情况下,节点之间的有向边应该继续满足条件(2),此时的模型抽象图具有性质(I),其中,<vA,vB>代表A,B节点之间的有向边,id为某节点的入度,od则为某节点的出度:
其中,条件(1)保证了单个模型服务中各个节点的数量以及图的无环性,即不能存在一个既为输入数据源又为输出数据源的节点,条件(2)保证了各个节点之间的有向边的明确定义。在上述条件的约束下,可以将一个机理模型执行过程抽象为一个有向无环图,并保证对该过程进行准确的定义,从而避免比如数据源节点之间存在边相连,或者数据源节点与模型之间有向边的方向错误。
在上述基本机理模型规则的基础上,可以拓展出多机理模型编排组合规则。如图6所示,该图中使用了图5中的三个机理模型,并将其连通为一个新的有向无环图,其中I表示输入数据源节点,O表示输出数据源节点,M表示机理模型节点,OI表示中间数据源节点,即既作为一个模型数据输入源,又作为另一个模型数据输入源的节点,E表示节点之间的有向边。假设存在一个模型有向无环图可以将其视为一个模型节点数为1的初始模型组合有向无环图如果为该模型组合图其添加新的模型图为了确保两者生成新的组合图仍为有向无环图,则需要首先满足条件(3),其中nv表示某种节点的数量,e表示图中边的数量。
从条件(3)易得推论(a),其中<vA,vB>代表A,B节点之间的有向边:
条件(3)的含义是新模型组合有向无环图相较于原组合有向无环图,新增的边数必须等于被添加的机理模型有向无环图的边数,从而避免数据源节点与数据源节点、模型与模型节点之间存在新增有向边等非法情况的产生;此外,本条件也定义了被添加的模型图和原组合图的连接方式必须为数据源节点的共享。在此条件基础之上,易得推论(a),其含义是对于任何被添加的模型图的输出数据源节点和原组合图的模型节点,不存在从前者到后者的有向边,保证了图的部分无环性。
在满足条件(3)的基础上,需要满足条件(4):
条件(4)的充分且必要条件(5)为:
条件(4)的含义是被添加的机理模型有向无环图必须存在数据源节点与原模型组合有向无环图的数据源节点结合成为公用节点。因此,易得其充分且必要条件(5),即机理模型组合有向无环图中的任意子模型图必然存在另一个子模型图构成非空的数据源节点交集。该条件保证了机理模型组合有向无环图的连通性。
在满足条件(4)或(5)的基础上,需要满足条件(6):
可得条件(6)的充分且必要条件(7),其中id为某节点的入度:
条件(6)的含义是被添加的机理模型有向无环图的所有输出数据源节点,不能与原模型组合有向无环图中任何中间和输出数据源节点结合成为公用节点,因此,可得该条件的充分且必要条件(7),即机理模型组合有向无环图的所有中间数据源节点和输出数据源节点的入度都等于1。该条件避免了多个模型对同一个数据源进行输出这种非法情况的产生,保证了模型组合图的合法性。
在满足条件(6)或(7)的基础上,需要满足条件(8):
条件(8)的含义是如果被添加的机理模型有向无环图的输入数据源节点为原模型组合有向无环图的任何数据源节点,则该模型的任何输出数据源与原模型组合有向无环图的任何输入数据源不能共享节点,从而避免了环路的产生。
条件(3)和(8)共同保证了在每一次的更新模型任务链路之后,模型组合图始终为无环图。基本机理模型规则与多机理模型编排规则,不仅可以保证多个机理模型编排组合图的连通性、合法性、有向性和无环性,而且还为机理模型服务链的元数据构建以及服务链的验证与执行提供了理论支撑。
通过有向无环图的方式表示的多模型协作执行过程,可以将其抽象为一个链式数据结构,将每一个基于上述规则的机理模型执行过程信息作为基本单位。通过根据上面的机理模型元数据结构与条件(1)、(2)和(3),提出了一种JSON格式的时空过程机理模型服务链元数据结构。
该数据结构包括两个部分:服务链唯一标识符(服务链ID)、服务链模型组合信息集合,服务链模型组合信息集合的每一单元包含五个部分:单元唯一标识符(单位ID);模型ID,为该单元中所使用的模型的唯一标识符,由该模型的元数据决定;参数键值对集合,包含本单元模型的所有所述模型运行参数的键值对,由该模型的元数据和用户决定;输入数据源参数索引,包含本单元模型的所有输入数据源参数名,由该模型的元数据决定;输出数据源参数索引,包含本单元模型的所有输出数据源参数名,由该模型的元数据决定,如图7所示。
其中,每一单元的各参数必须存在且非空,从而满足条件(1);输入数据源参数索引这一属性,其中的所有输入数据源参数,可以被视作其节点到本单元模型节点的有向边,同理,输出数据源参数索引也可以将其视为本单元模型节点到所有输出数据源节点的有向边,从而满足了条件(2)。
将模型组合有向无环图中每一个子模型有向无环图所代表的单元信息进行链式编排,即可获取该组合的服务链元数据,因为每一单元中输入与输出数据源参数名都来自该单元中模型的元数据,保证了数据源节点与模型节点之间有向边数量的恒定,因此所有单元构成的机理模型服务链所对应的组合图必然符合条件(3)。
步骤S203:提交元数据模板至服务器端,并将其持久化存储在时空过程机理模型服务链元数据库中。
步骤S204:用户选择已经编排好的模型组合,结合数据库返回的元数据模板,为其添加待输入的参数值,生成服务链执行信息并将其提交至服务器端。
为了保证编排的服务链具有较高的灵活性,本发明将符合时空过程机理模型服务链元数据结构的数据分为两类,即元数据模板与服务链执行信息。前者指S201与S202步骤中由用户编排时生成的元数据,包含一些没有指定参数值,由用户调用时决定的参数;后者指用户调用时,指定了元数据模板中未被确定的参数值之后所生成的包含所有必需参数的完整服务链元数据。
服务器端接收服务链执行信息,并通过基于所述编排规则的时空过程机理模型服务链自适应执行算法完成服务链的执行。由于JSON格式的元数据不能保证有序性,所以服务链执行信息中各单元的执行顺序暂时无法确定,为解决此问题,本发明基于所述的元数据结构和单模型服务执行方法提出推论(b)和(c):
(b)如果一个单元的机理模型服务的所有输入数据源是合法的,那么该模型就可以被顺利执行,且其所有输出数据源也在执行后合法。
(c)如果一个可执行的服务链的所有输入数据源都合法,在保证各单元合理的执行顺序下,即可完成模型编排组合任务。
服务链的顺利执行,每个单元输入数据源的合法性保证是不可或缺的。参考所述编排规则,一个新增单元的数据源输入有两种模式:选择链外的合法数据源以及指定链内已有数据源,后者的数据合法性可以由推论(b)保证,但是确保需要各单元的执行顺序。因此,在推论(c)的基础上,本发明依靠对服务链执行信息中每一单元的输入数据源参数进行合法性判断来控制执行顺序。
结合所述模型自适应编排规则,时空过程机理模型服务链自适应执行算法主要包括三个部分:服务链连通性验证(步骤S301)、数据源合法性验证(步骤S306-S308)、以及服务链模型递归执行(步骤S304-S305,S309-S313)。算法运行流程步骤如图8所示,包括:
步骤S301:验证服务链的连通性
首先需要验证服务链的连通性,其原理基于条件(5),方法为遍历整个服务链执行信息,记录服务链中每一个单元的输入数据源与输出数据源的集合,并将每一个单元的与其他的单元进行交集运算,如果某一个单元的数据源集合与其他所有单元的集合的交集都为空,那么则认为该单元与服务链不连通,不符合条件(4)的编排规则,因此结束运行流程。若服务链连通,则执行步骤S302。
步骤S302:记录服务链执行信息的所有输入数据源。
将服务链执行信息与对应的元数据模板进行比对,即可获取服务链的所有在步骤S204由用户输入的合法输入数据源参数值并将其记录。
步骤S303:建立一个空的输出数据源记录。
步骤S304:判断服务链执行信息中的剩余单元数。
如果服务链剩余单元数为0,则可能存在两种情况:服务链为空,或者服务链执行完毕,无论那种情况,都结束运行流程;如果不为0,则执行步骤S305。
步骤S305:进入服务链的第一个单元。
步骤S306:判断输入或输出记录中是否存在该单元的所有输入数据源
由推论(b)可知,输入与输出记录中所有的数据源全部合法,因此需要在两个记录中查找本模型的所有输入数据源,如果有不存在的数据源,则执行步骤S313;如果所有输入数据源全部存在,则执行步骤S307。
步骤S307:判断输出记录中是否存在本单元的输出数据源。
基于条件(7)进行第一次判断,如果输出记录中存在本单元的某个输出数据源,即该数据源所对应的模型组合图节点的入度大于1,说明在服务链没有按照条件(6)进行编排,结束运行流程;若判断结果为假,则执行步骤S308。
步骤S308:判断输入记录中是否存在本单元的输出数据源。
基于条件(8)进行第二次判断,如果输入记录中存在本步骤输出数据源,则服务链所对应的模型组合图中构成环路,结束运行流程;若判断结果为假,则执行步骤S309。
步骤S309:执行该单元中的模型,即执行步骤S104。
步骤S310:将该单元的输出数据源添加至输出记录。
由于本单元的某个输出数据源可能为另一单元的输入数据源,根据推论(b),将该数据源添加至输出记录。
步骤S311:在服务链执行信息中删除此单元
为防止同一单元的重复执行,将会在服务链执行信息中删除此单元。
步骤S312:判断本次服务链是否遍历完成
若本次服务链遍历完成,但由于步骤S306的缘故,服务链中可能存在未被执行的单元,因此需要重新开始执行步骤S304;若本次遍历未完成,则执行步骤S313。
步骤S313:进入服务链的下一步骤,之后再执行S306。
经过步骤S301-S313,若服务链的有效性得到验证且执行完毕,则所有的预期输出数据源的合法性得到保证,时空过程机理模型组合的运行任务完成。
通过对机理模型的外部可调用接口信息的归纳总结,本发明提出了一种适用于机理模型描述标准,实现了基于B/S架构的现有机理模型重用方法,在此基础之上通过容器管理的方式实现多源异构模型的集成。
本发明结合多机理模型耦合协作中模型与数据源的拓扑关系,基于有向无环图的思想,提出了一种适用于机理模型的自适应编排规则,保证了模型编排结果的有向性、连通性、无环性、合法性。
通过所述的编排规则,以数据源的合法性判断作为基本思想,设计了时空过程服务链的描述标准以及自适应验证和执行方法。最终实现了跨领域多学科的机理模型间无缝耦合协作的目的。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于有向无环图的时空过程机理模型服务链编排方法,其特征在于,包括如下步骤:
S10、基于机理模型元数据结构实现模型服务的集成;
S20、构建基于有向无环图的时空过程机理模型编排规则并自适应编排。
2.根据权利要求1所述的,其特征在于:所述步骤S10具体包括:
步骤S101、用户根据已经部署的机理模型,按照制定的机理模型元数据结构,填写相应的元数据并上传;
步骤S102、服务器端接收到上传请求后,将其转换为元数据对象,并将其持久化存储在元数据库中;
步骤S103、用户选择模型并发送请求,服务器端从数据库中查询到对应元数据并转换成元数据对象,经过渲染生成相应的页面返回至用户;
步骤S104、在页面中用户提交模型运行参数值并提交,服务器端根据用户使用的模型ID,获取此模型对应的模型类型,于模型调用容器中查找相应的模型调用对象,通过此对象完成模型调用。
3.根据权利要求1或2所述的基于有向无环图的时空过程机理模型服务链编排方法,其特征在于:所述机理模型元数据结构包含模型基本信息和模型运行信息;所述模型基本信息包括模型ID、模型名称以及模型类型;所述模型运行信息包括实现模型外部调用接口信息的模型调用入口、模型选项信息、包括模型所有运行参数相关信息的模型参数信息集合。
4.根据权利要求1所述的基于有向无环图的时空过程机理模型服务链编排方法,其特征在于:所述基于有向无环图的时空过程机理模型编排规则包括基本机理模型规则和多机理模型编排规则;
所述基本机理模型规则包含两个条件、一个性质,用于约束单个机理模型服务中模型与输入输出数据源的关系;
对于所有机理模型的抽象结果GM(VI,VM,VO,E),在一个机理模型运行过程的情况下抽象图gM(vI,vM,vO,e)中的各节点应该满足条件(1),
其中,M表示机理模型节点,I表示输入数据源节点,O表示输出数据源节点,v代表某种节点的集合,e表示节点之间的有向边集合,nv代表某种节点数;
在满足条件(1)的情况下,节点之间的有向边继续满足条件(2),
此时的模型抽象图具有性质(I);
其中,条件(1)保证了单个模型服务中各个节点的数量以及图的无环性,即不能存在一个既为输入数据源又为输出数据源的节点,条件(2)保证了各个节点之间的有向边的明确定义。
5.根据权利要求4所述的基于有向无环图的时空过程机理模型服务链编排方法,其特征在于:所述多机理模型编排规则包括六个条件,其中包含两条充分且必要条件,以及一条推论,实现对模型编排组合过程的约束;
其中,I表示输入数据源节点,O表示输出数据源节点,M表示机理模型节点,OI表示中间数据源节点,E表示节点之间的有向边,nv表示某种节点的数量,e表示图中边的数量;
从条件(3),得推论(a),
其中<vA,vB>代表A,B节点之间的有向边;
在满足条件(3)的基础上,需要满足条件(4),
条件(4)的充分且必要条件(5)为:
在满足条件(4)或(5)的基础上,需要满足条件(6):
可得条件(6)的充分且必要条件(7),
其中,id为某节点的入度;
在满足条件(6)或(7)的基础上,需要满足条件(8):
条件(3)和条件(8)共同保证了在每一次的更新模型任务链路之后,模型组合图始终为有向无环图。
6.根据权利要求1所述的基于有向无环图的时空过程机理模型服务链编排方法,其特征在于:所述步骤S20中的自适应编排具体包括:
步骤S201、用户选择待编排的模型,并输入参数;
步骤S202、重复步骤S201,直到编排完成,并生成相应的时空过程机理模型服务链元数据模板;
步骤S203、提交元数据模板至服务器端,并将其持久化存储在时空过程机理模型服务链元数据库中;
步骤S204、用户选择已经编排好的模型组合,结合数据库返回的元数据模板,为其添加待输入的参数值,生成服务链执行信息并将其提交至服务器端。
7.根据权利要求6所述的基于有向无环图的时空过程机理模型服务链编排方法,其特征在于:步骤S202中的时空过程机理模型服务链元数据结构包括服务链ID、服务链模型组合信息集合;所述服务链模型组合信息集合的每一单元包含五个部分:单元ID、模型ID、参数键值对集合、输入数据源参数索引以及输出数据源参数索引。
8.根据权利要求6所述的基于有向无环图的时空过程机理模型服务链编排方法,其特征在于:所述步骤S204中服务器端接收服务链执行信息后,服务链执行信息中各单元的执行顺序由推论(b)和推论(c)确定,然后基于时空过程机理模型服务链自适应执行算法完成服务链的执行;
推论(b):如果一个单元的机理模型服务的所有输入数据源是合法的,那么模型就可以被顺利执行,且所有输出数据源也在执行后合法;
推论(c):如果一个可执行的服务链的所有输入数据源都合法,在保证各单元合理的执行顺序下,即可完成模型编排组合任务。
9.根据权利要求8所述的基于有向无环图的时空过程机理模型服务链编排方法,其特征在于:所述基于时空过程机理模型服务链自适应执行算法包括服务链连通性验证、数据源合法性验证、以及服务链模型递归执行,算法具体包括如下:
步骤S301、验证服务链的连通性:首先需要验证服务链的连通性,遍历整个服务链执行信息,记录服务链中每一个单元的输入数据源与输出数据源的集合,并将每一个单元的与其他的单元进行交集运算;如果某一个单元的数据源集合与其他所有单元的集合的交集都为空,那么则认为该单元与服务链不连通,不符合条件(4)的编排规则,因此结束运行流程;若服务链连通,则执行步骤S302;
步骤S302、记录服务链执行信息的所有输入数据源:将服务链执行信息与对应的元数据模板进行比对,获取服务链的所有在步骤S204由用户输入的合法输入数据源参数值并将其记录;
步骤S303、建立一个空的输出数据源记录;
步骤S304、判断服务链执行信息中的剩余单元数:如果服务链剩余单元数为0,则可能存在两种情况:服务链为空,或者服务链执行完毕,无论那种情况,都结束运行流程;如果不为0,则执行步骤S305;
步骤S305、进入服务链的第一个单元;
步骤S306、判断输入或输出记录中是否存在该单元的所有输入数据源:由推论(b)可知,输入与输出记录中所有的数据源全部合法,因此需要在两个记录中查找本模型的所有输入数据源,如果有不存在的数据源,则执行步骤S313;如果所有输入数据源全部存在,则执行步骤S307;
步骤S307、判断输出记录中是否存在本单元的输出数据源:基于条件(7)进行第一次判断,如果输出记录中存在本单元的某个输出数据源,即该数据源所对应的模型组合图节点的入度大于1,说明在服务链没有按照条件(6)进行编排,结束运行流程;若判断结果为假,则执行步骤S308;
步骤S308、判断输入记录中是否存在本单元的输出数据源:基于条件(8)进行第二次判断,如果输入记录中存在本步骤输出数据源,则服务链所对应的模型组合图中构成环路,结束运行流程;若判断结果为假,则执行步骤S309;
步骤S309、执行该单元中的模型,即执行步骤S104;
步骤S310、将该单元的输出数据源添加至输出记录:由于本单元的某个输出数据源可能为另一单元的输入数据源,根据推论(b),将该数据源添加至输出记录;
步骤S311、在服务链执行信息中删除此单元:为防止同一单元的重复执行,将在服务链执行信息中删除此单元;
步骤S312、判断本次服务链是否遍历完成:若本次服务链遍历完成,但由于步骤S306的缘故,服务链中可能存在未被执行的单元,因此需要重新开始执行步骤S304;若本次遍历未完成,则执行步骤S313;
步骤S313、进入服务链的下一步骤,之后再执行S306;
经过步骤S301-S313,若服务链的有效性得到验证且执行完毕,则所有的预期输出数据源的合法性得到保证,时空过程机理模型组合的运行任务完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427118.3A CN116244301A (zh) | 2022-11-14 | 2022-11-14 | 一种基于有向无环图的时空过程机理模型服务链编排方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427118.3A CN116244301A (zh) | 2022-11-14 | 2022-11-14 | 一种基于有向无环图的时空过程机理模型服务链编排方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116244301A true CN116244301A (zh) | 2023-06-09 |
Family
ID=86624842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211427118.3A Pending CN116244301A (zh) | 2022-11-14 | 2022-11-14 | 一种基于有向无环图的时空过程机理模型服务链编排方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244301A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116562172A (zh) * | 2023-07-07 | 2023-08-08 | 中国人民解放军国防科技大学 | 面向时空叙事的地理场景时间推演方法、装置和设备 |
-
2022
- 2022-11-14 CN CN202211427118.3A patent/CN116244301A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116562172A (zh) * | 2023-07-07 | 2023-08-08 | 中国人民解放军国防科技大学 | 面向时空叙事的地理场景时间推演方法、装置和设备 |
CN116562172B (zh) * | 2023-07-07 | 2023-09-15 | 中国人民解放军国防科技大学 | 面向时空叙事的地理场景时间推演方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rasmussen et al. | Managing interrelated project information in AEC Knowledge Graphs | |
Kolovos et al. | A research roadmap towards achieving scalability in model driven engineering | |
Eiter et al. | Well-founded semantics for description logic programs in the semantic web | |
US10762062B2 (en) | Data governance: change management based on contextualized dependencies | |
US8776009B2 (en) | Method and system for task modeling of mobile phone applications | |
US8862614B2 (en) | Planning-based automated fusing of data from multiple heterogeneous sources | |
Jarke et al. | A software process data model for knowledge engineering in information systems | |
CN111708641B (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
Debreceni et al. | Query-driven incremental synchronization of view models | |
CN115640045A (zh) | 基于领域驱动设计的低代码开发平台及业务系统创建方法 | |
CN116244301A (zh) | 一种基于有向无环图的时空过程机理模型服务链编排方法 | |
Bellatreche et al. | The central role of data repositories and data models in Data Science and Advanced Analytics | |
CN115510249A (zh) | 一种知识图谱的构建方法及装置、电子设备、存储介质 | |
CN113641591A (zh) | 测试用例生成方法及装置、测试方法及装置 | |
CN116360766A (zh) | 一种基于ddd可视化设计器的低代码系统和装置 | |
Tauscher et al. | A modular graph transformation rule set for IFC‐to‐CityGML conversion | |
CN113204335B (zh) | 面向协同建模的uml模型合并与一致性检测方法及系统 | |
Liu et al. | Blockchain-enabled platform-as-a-service for production management in off-site construction design using openBIM standards | |
M’baba et al. | Process mining for artifact-centric blockchain applications | |
Orlovskyi et al. | Enterprise architecture modeling support based on data extraction from business process models. | |
CN115878589A (zh) | 结构化数据的版本管理方法、装置及相关设备 | |
CN117851375A (zh) | 元数据模型优化方法和计算设备 | |
US11501177B2 (en) | Knowledge engineering and reasoning on a knowledge graph | |
Chaganti et al. | Amazon SimpleDB developer guide | |
Mavridou et al. | DesignBIP: A design studio for modeling and generating systems with BIP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |