物理代码组件封装的方法、系统、设备及介质与流程

未命名 10-09 阅读:105 评论:0


1.本发明涉及热约束核聚变集成模拟平台的模拟仿真领域,更具体地说,它涉及物理代码组件封装的方法、系统、设备及介质。


背景技术:

2.imas是由热核聚变反应堆(international tokamak experimental reactor,iter)组织开发的集成模拟分析平台,通过共享数据、物理组件和工作流来促进集成模拟的发展。集成模拟的实质是能够实现不同模拟任务的代码按一定执行顺序耦合在一起的工作流。然而不同代码的输入/输出(i/o)文件的数据格式并不相同,所以代码无法直接集成到模拟工作流中。iter物理数据模型(pdm)作为一种标准的数据模型能够统一代码的输入/输出格式,封装代码的过程就是使代码形成组件,代码的输入/输出都保存到pdm,这样各个代码就可以通过统一的数据模型集成到模拟工作流中。
3.imas集成模拟工作流目前采用的是iwrap物理组件封装技术。iwrap是用python实现的模块化组件生成器,用于复杂计算场景中代码的自动化集成。根据物理模型创建imas模拟工作流组件,就可以将不同语言(如fortran、c++、java)编写的代码集成到复杂计算场景中。它是基于插件的模块化设计。
4.iwrap需要对工作流中的各个物理代码进行改写,按照iwrap规范编写(或改造)代码的输入和输出部分,而这个过程对代码是一种侵入式改造,也就是说需要修改代码本身的源码,而在实际的运用中有一些代码无法获取到源码或者无法修改代码的源码,导致无法实现对一个模拟工作流物理组件的代码封装。


技术实现要素:

5.本发明的目的是提供物理代码组件封装的方法、系统、设备及介质,解决了在没有代码的源码或者不对源码进行改写的情况下,依旧能够实现对集成模拟分析平台的模拟工作流组件的代码封装。
6.本发明的上述技术目的是通过以下技术方案得以实现的:
7.本技术的第一方面,提供了一种物理代码组件封装的方法,方法包括:
8.运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件;
9.根据所述输入或输出文件的文件格式匹配对应的第一文件解析器,基于所述第一文件解析器解析对应的所述输入或输出文件,生成数据结构;
10.创建多个ids映射文件,根据多个所述ids映射文件将所述数据结构写入物理数据模型对应的ids数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装;其中所述ids映射文件配置有所述数据结构与ids数据接口之间相互对应的映射关系。
11.在一种实现方案中,所述方法还包括:在所述输入或输出文件未匹配到对应的第
一文件解析器时,确定未匹配所述第一文件解析器的输入或输出文件的文件格式,写入与文件格式匹配的第二文件解析器,基于所述第二文件解析器解析未匹配所述第一文件解析器的输入或输出文件,生成数据结构。
12.在一种实现方案中,基于所述第一文件解析器或所述第二文件解析器解析所述输入或输出文件所生成数据结构是树形结构。
13.在一种实现方案中,所述树形结构配置有用于容纳数据字段类型的树形接口,其中所述数据字段类型包括整型、浮点型、字符串、数组、字典多种的任意一种或多种。
14.在一种实现方案中,根据所述映射关系形成数据结构与输入或输出文件的映射表。
15.在一种实现方案中,采用json文件或yaml文件对所述映射表的映射关系进行描述。
16.在一种实现方案中,所述映射表的格式包括模拟工作流名称、物理含义、物理含义说明、数据类型、ids路径、是否需要映射到ids数据接口和备注。
17.本技术的第二方案,还提供了一种物理数据模型组件封装的系统,系统包括:
18.文件生成模块,用于运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件;
19.数据结构生成模块,用于根据所述输入或输出文件的文件格式匹配对应的第一文件解析器,基于所述第一文件解析器解析对应的所述输入或输出文件,生成数据结构;
20.数据写入模块,用于创建多个ids映射文件,根据多个所述ids映射文件将所述数据结构写入物理数据模型对应的ids数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装;其中所述ids映射文件配置有所述数据结构与ids数据接口之间相互对应的映射关系。
21.本技术的第三方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本技术的第一方面所述的物理代码组件封装的方法。
22.本技术的第三方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行本技术的第一方面所述的物理代码组件封装的方法。
23.与现有技术相比,本发明具有以下有益效果:
24.本发明提供了一种物理代码组件封装的方法,针对集成模拟平台的一个模拟工作流对应的一个或多个组件的代码在运行后所产生的多个输入或输出文件,然后基于输入或输出文件的文件格式匹配对应的第一文件解析器,从而解析输入或输出文件的数据结构,在此基础上,本发明采用将数据和逻辑分离的方法,创建了多个通用的ids映射文件,将代码的输入或输出文件的数据结构映射到物理数据模型对应的ids数据接口的数据结构中去,在没有物理代码源码或不对代码的源代码进行改造的情况下,仍可实现对集成模拟平台的一个模拟工作流的多个组件的代码封装。
25.此外,本技术的第二方面至第四方面,还提供了一种物理数据模型组件封装的系统、设备及介质,具备与上述一种物理代码组件封装的方法相同的有益效果,此处不做赘述。
附图说明
26.此处所说明的附图用来提供对本发明实施例的进一步理解,构成本技术的一部分,并不构成对本发明实施例的限定。在附图中:
27.图1示出了本发明实施例提供的一种物理代码组件封装的方法的流程示意图;
28.图2示出了本发明实施例提供的一种模拟工作流的代码封装的流程示意图;
29.图3示出了本发明实施例提供的一种物理数据模型组件封装的系统的结构框图;
30.图4示出了本发明实施例提的一种电子设备的结构框图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
32.需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
33.如背景技术所述,imas是由热核聚变反应堆(international tokamak experimental reactor,iter)组织开发的集成模拟分析平台,通过共享数据、物理组件和工作流来促进集成模拟的发展。集成模拟的实质是能够实现不同模拟任务的代码按一定执行顺序耦合在一起的模拟工作流。然而不同代码的输入/输出(i/o)文件的数据格式并不相同,所以代码无法直接集成到模拟工作流中。iter物理数据模型(pdm)作为一种标准的数据模型能够统一代码的输入/输出格式,封装代码的过程就是使代码形成组件,代码的输入/输出都保存到pdm,这样各个代码就可以通过统一的数据模型集成到模拟工作流中。
34.此处,对本发明实施例的模拟工作流进行说明,例如:acts-im模拟工作流的代码封装,acts-im是一个用c++语言开发的代码,其主要功能是计算等离子体的理想磁流体不稳定性的增长率和本征结构。再例如,kl-xbsy模拟工作流的代码封装,kl-xbsy是模拟等离子体剖面动力学演化的一维半程序,输运方程采用数值直线法求解,能考虑圆截面和非圆截面等离子体位形,电子和离子当成流体处理。当然还可以包括该集成模拟分析平台所能实现的一些别的核聚变实验仿真的模拟工作流,本实施例不做具体的限定。
35.iter目前采用的是iwrap物理组件封装技术。iwrap需要对代码进行改写,按照iwrap规范编写(或改造)代码的输入和输出部分,而这个过程对代码是一种侵入式改造,也就是说需要修改代码本身的源码,而在实际的运用中,有一些代码无法获取到源码或者无法修改代码的源码,导致无法实现对一个模拟工作流组件的代码的封装。
36.综上实施例所述,本发明实施例为了解决在没有代码的源码或者不对源码进行改写的情况下,依旧能够实现对集成模拟分析平台的模拟工作流的组件的代码封装,提供了一种物理代码组件封装的方法、系统、设备及介质,针对集成模拟平台的一个模拟工作流对应的一个或多个组件的代码在运行后所产生的多个输入或输出文件,然后基于输入或输出文件的文件格式匹配对应的第一文件解析器,从而解析输入或输出文件的数据结构,在此基础上,本发明采用将数据和逻辑分离的方法,创建了多个通用的ids映射文件,将代码的
输入或输出文件的数据结构映射到物理数据模型对应的ids数据接口的数据结构中去,在没有物理代码源码或不对代码的源代码进行改造的情况下,仍可实现对集成模拟平台的一个模拟工作流的多个组件的代码封装。本发明实施例中,该一种物理代码组件封装的方法适用于电子设备或者服务器等,例如计算机、电脑等,其中,电子设备的操作系统可包括但不限于android操作系统、ios操作系统、synbian(塞班)操作系统、blackberry(黑莓)操作系统、windowsphone8操作系统等等,本技术实施例不作限定。本实施例中,电子设备可以设置有用户界面(userinterface,ui)、接口模块和处理器(centralprocessingunit,cpu)。
37.下面将结合附图对本实施例提供的方法进行详细说明,请参考图1,图1示出了本发明实施例提供的一种物理代码组件封装的方法的流程示意图,如图1所示,方法包括以下步骤:
38.s110,运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件。
39.在本实施例中,作为本领域技术人员的公知常识,在集成模拟平台上完成某一个核聚变物理实验的模拟仿真需要通过多个组件的集成才能够实现,而相应地,代码的运行可在高性能计算机集群上实现,此乃公知常识,此处不做详细的叙述。进一步的,对imas的代码形成的物理数据模型的模拟工作流进行说明,其工作流运行流程,如图2所示,针对模拟剖面-湍流输运工作流模拟工作流的代码封装进行说明。模拟剖面-湍流输运工作流是由kl-xbsy,exfcnn,eq三个物理组件组成的工作流,kl-xbsy组件自带的固定边界平衡模块生成一个初始的平衡及温度密度剖面,对其进行剖面及平衡的自洽演化从而达到物理稳态。工作流由包含多种物理过程的输运程序kl-xbsy,基于朗道流体模型,通过神经网络方法训练的湍流输运系数预测程序exfcnn及自由边界平衡程序eq组成循环迭代。工作流首先由kl-xbsy开始根据初始参数计算后输出包含众多物理量的simulation.nc文件(netcdf格式),然后工作流会把simulation.nc文件传递到下一个组件exfcnn,该组件再根据simulation.nc文件里的物理量进行计算输出结果文件exfcnn_out.json文件,再接着工作流把simulation.nc和exfcnn_out.json两个文件一起传递给最后一个物理组件eq,接收到前两个组件计算的结果文件后再进行计算,输出得到一个gfile.eqdsk文件,工作流最后把gfile.eqdsk文件传回给kl-xbsy组件,由此完成一个工作流的迭代过程。再由kl-xbsy组件根据gfile.eqdsk的结果再进行一次计算,kl-xbsy组件根据再次计算的结果的收敛情况来判断是否结束工作流的迭代,以此来完成整个工作流的运行。
40.s120,根据所述输入或输出文件的文件格式匹配对应的第一文件解析器,基于所述第一文件解析器解析对应的所述输入或输出文件,生成数据结构。
41.本实施例中,通用解析器(parser)通过定义一个统一的接口包含读写和解析数据的抽象方法,不同类型的文件解析器继承接口分别实现不同文件的解析方法,通过定义一个解析器的工厂方法,根据不同的文件名后缀调用与之对应文件解析器。
42.解析器(parser)主要功能是解析代码输出的各种不同格式的文件,每一种格式文件都有一个与之对应的解析器,比如输出文件是json格式,解析器中将调用编程语言的json解析可以进行文件解析。
43.相应地,解析器是针对ids映射文件的,可进行数据解析和读取,能够将数据字段以ids映射文件描述的方式映射ids数据接口的字段中去。解析器只依赖于ids映射文件就
能够完成对数据的解析和映射过程,而不需要进行额外的数据作为输入。
44.s130,创建多个ids映射文件,根据多个所述ids映射文件将所述数据结构写入物理数据模型对应的ids数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装;其中所述ids映射文件配置有所述数据结构与ids数据接口之间相互对应的映射关系。
45.本实施例中,ids映射文件主要是描述怎样将代码输入输出文件的数据给映射到ids结构中去,从而使得映射过程将代码的处理逻辑和数据能够相互分离。映射可以通过映射器实现,映射器(swmapper)接受通用树形数据结构(swtree)并读取与之对应的映射关系,映射关系可以由用户自己定义,可用于配置物理数据和ids数据接口之间的对应关系,然后映射器把读取到通用数据结构根据映射关系调用imas提供的api接口把数据存入对应的ids数据接口中。
46.需要说明的是是,每一个输入输出文件都需要一个映射文件。
47.因此,ids映射文件是一种能够将物理代码的输入或输出文件映射到ids通用数据结构的定义文件。ids映射文件是以层级结构进行定义,能够针对每个字段定义其映射关系和数据类型。
48.故此,通过解析器解析出来的数据转化成一种统一的树形数据结构(swtree),然后再通过映射器(swmapper)将ids映射文件与集成模拟平台imas提供的ids数据接口一一关联,最后将数据结构写入ids数据接口。
49.综上所述,本实施例提供的物理代码组件封装的方法可应用于聚变等离子体的集成模拟平台中,在无法获取到源码或者无法修改代码的源码情况下,实现对一个模拟工作流的多个组件的代码封装。
50.在一个实施例中,方法还包括:在所述输入或输出文件未匹配到对应的第一文件解析器时,确定未匹配所述第一文件解析器的输入或输出文件的文件格式,写入与文件格式匹配的第二文件解析器,基于所述第二文件解析器解析未匹配所述第一文件解析器的输入或输出文件,生成数据结构。
51.本实施例中,考虑了用户在集成模拟分析平台编写的自定义的组件的代码的文件格式,以便更好的实现对模拟工作流的多个组件的代码封装。
52.在一个实施例中,基于所述第一文件解析器或所述第二文件解析器解析所述输入或输出文件所生成数据结构是树形结构。
53.具体的,解析器解析输入或输出文件后得到的数据,统一转化成一个通用数据结构(swtree)中,可在树形数据接口自定义的树形接口,以便容纳包括整型、浮点型、字符串、数组、字典多种的任意一种或多种的数据字段类型,自定义的树形结构支持读写,修改,删除功能,支持遍历树子节点,支持按路径形式读取数据。定义一个树形结构是为能够支持物理代码多样化的输出数据方式,物理物理代码输出的是一个标量、数组、或者是字典,都可以挂载到这个树形数据结构上。
54.在一个实施例中,所述树形结构配置有用于容纳数据字段类型的树形接口,其中所述数据字段类型包括整型、浮点型、字符串、数组、字典多种的任意一种或多种。
55.在一个实施例中,根据所述映射关系形成数据结构与输入或输出文件的映射表。
56.具体的,通过用户确定ids数据接口中的数据结构与代码的输入或输出文件的映
射关系,然后将这种映射关系整理成一个映射表,以便更好地反映数据结构与代码运行后所生成的输入或输出文件的关联关系。
57.在一个实施例中,采用json文件或yaml文件对所述映射表的映射关系进行描述。
58.具体的,之所以采用json文件或者yaml文件来对映射表的映射关系进行描述,是因为映射关系在逻辑上是以key-value(键值对)的形式来进行描述,而json文件或者yaml文件能够很好地描述键值对类型的数据。
59.在一个实施例中,所述映射表的格式包括模拟工作流名称、物理含义、物理含义说明、数据类型、ids路径、是否需要映射到ids数据接口和备注。
60.具体的,针对映射表为yaml文件的格式规范如下所示:
61.file_description:
62.type:output
63.name:afile
64.path:./where/is/file/afile
65.items:
[0066]-name:模拟工作流名称
[0067]
physical_name:物理含义
[0068]
physical_comment:物理含义说明
[0069]
data_type:数据类型
[0070]
ids_path:ids路径
[0071]
is_ids:是否需要映射到ids
[0072]
comment:备注
[0073]-name:项目名称
[0074]
physical_name:物理含义
[0075]
physical_comment:物理含义说明
[0076]
data_type:数据类型
[0077]
ids_path:ids路径
[0078]
is_ids:是否需要映射到ids数据接口
[0079]
comment:备注
[0080]
以下是一个实际的例子:
[0081]
file_description:
[0082]
type:output
[0083]
name:afile
[0084]
path:./where/is/file/afile
[0085]
items:
[0086]-name:nw#项目名称
[0087]
physical_name:“r方向网格数”#物理含义
[0088]
physical_comment:“标记了r方向的网格数”#物理含义说明
[0089]
data_type:int_0d#数据字段类型
[0090]
ids_path:"equilibrium/time_slice(itime)/profiles_2d(i1)/grid/dim1
(:)"#ids路径
[0091]
is_ids:true
[0092]
comment:none。
[0093]
请参考图3,图3示出了本发明实施例提供的一种物理数据模型组件封装的系统的结果框图,如图3所示,系统包括:
[0094]
文件生成模块310,用于运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件;
[0095]
数据结构生成模块320,用于根据所述输入或输出文件的文件格式匹配对应的第一文件解析器,基于所述第一文件解析器解析对应的所述输入或输出文件,生成数据结构;
[0096]
数据写入模块330,用于创建多个ids映射文件,根据多个所述ids映射文件将所述数据结构写入物理数据模型对应的ids数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装;其中所述ids映射文件配置有所述数据结构与ids数据接口之间相互对应的映射关系。
[0097]
可见,本发明实施例提供的一种物理数据模型组件封装的系统,针对集成模拟平台的一个模拟工作流对应的一个或多个组件的代码在运行后所产生的多个输入或输出文件,然后基于输入或输出文件的文件格式匹配对应的第一文件解析器,从而解析输入或输出文件的数据结构,在此基础上,本发明采用将数据和逻辑分离的方法,创建了多个通用的ids映射文件,将代码的输入或输出文件的数据结构映射到物理数据模型对应的ids数据接口的数据结构中去,在没有物理代码源码或不对代码的源代码进行改造的情况下,仍可实现对集成模拟平台的一个模拟工作流的多个组件的代码封装。
[0098]
本发明再一个实施例中,还提供了一种电子设备,请参考图4,图4示出了本技术实施例提供的一种电子设备的结构示意图。其中,电子设备400包括处理器410、存储器420、通信接口430和至少一个用于连接处理器410、存储器420、通信接口430的通信总线。存储器420包括但不限于是随机存储记忆体(ram)、只读存储器(rom)、可擦除可编程只读存储器(prom)或便携式只读存储器(cd-rom),该存储器420用于相关指令及数据。
[0099]
通信接口430用于接收和发送数据。处理器410可以是一个或多个cpu,在处理器410是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。电子设备400中的处理器410用于读取存储器420中存储的一个或多个程序421,执行以下操作:运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件;根据所述输入或输出文件的文件格式匹配对应的第一文件解析器,基于所述第一文件解析器解析对应的所述输入或输出文件,生成数据结构;创建多个ids映射文件,根据多个所述ids映射文件将所述数据结构写入物理数据模型对应的ids数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装;其中所述ids映射文件配置有所述数据结构与ids数据接口之间相互对应的映射关系。
[0100]
需要说明的是,各个操作的具体实现可以上述图1所示的方法实施例的相应描述,电子设备400可以用于执行本技术上述方法实施例的物理代码组件封装的方法,在此不再具体赘述。
[0101]
本发明再一个实施例中,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计
算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关物理代码组件封装的方法的相应步骤。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0102]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种物理代码组件封装的方法,其特征在于,方法包括:运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件;根据所述输入或输出文件的文件格式匹配对应的第一文件解析器,基于所述第一文件解析器解析对应的所述输入或输出文件,生成数据结构;创建多个ids映射文件,根据多个所述ids映射文件将所述数据结构写入物理数据模型对应的ids数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装;其中所述ids映射文件配置有所述数据结构与ids数据接口之间相互对应的映射关系。2.根据权利要求1所述的物理代码组件封装的方法,其特征在于,所述方法还包括:在所述输入或输出文件未匹配到对应的第一文件解析器时,确定未匹配所述第一文件解析器的输入或输出文件的文件格式,写入与文件格式匹配的第二文件解析器,基于所述第二文件解析器解析未匹配所述第一文件解析器的输入或输出文件,生成数据结构。3.根据权利要求2所述的物理代码组件封装的方法,其特征在于,基于所述第一文件解析器或所述第二文件解析器解析所述输入或输出文件所生成数据结构是树形结构。4.根据权利要求3所述的物理代码组件封装的方法,其特征在于,所述树形结构配置有用于容纳数据字段类型的树形接口,其中所述数据字段类型包括整型、浮点型、字符串、数组、字典多种的任意一种或多种。5.根据权利要求1所述的物理代码组件封装的方法,其特征在于,根据所述映射关系形成数据结构与输入或输出文件的映射表。6.根据权利要求5所述的物理代码组件封装的方法,其特征在于,采用json文件或yaml文件对所述映射表的映射关系进行描述。7.根据权利要求6所述的物理代码组件封装的方法,其特征在于,所述映射表的格式包括模拟工作流名称、物理含义、物理含义说明、数据类型、ids路径、是否需要映射到ids数据接口和备注。8.一种物理代码组件封装的系统,其特征在于,系统包括:文件生成模块,用于运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件;数据结构生成模块,用于根据所述输入或输出文件的文件格式匹配对应的第一文件解析器,基于所述第一文件解析器解析对应的所述输入或输出文件,生成数据结构;数据写入模块,用于创建多个ids映射文件,根据多个所述ids映射文件将所述数据结构写入物理数据模型对应的ids数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装;其中所述ids映射文件配置有所述数据结构与ids数据接口之间相互对应的映射关系。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的物理代码组件封装的方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7任意一项所述的物理代码组件封装的
方法。

技术总结
本发明公开了物理代码组件封装的方法、系统、设备及介质,涉及热核聚变反应模拟平台的模拟仿真领域,其技术方案要点是:运行物理数据模型中表征模拟工作流的一个或多个组件的代码,生成多个输入或输出文件;根据输入或输出文件的文件格式匹配对应的第一文件解析器,基于第一文件解析器解析对应的所述输入或输出文件,生成数据结构;创建多个IDS映射文件,根据多个IDS映射文件将所述数据结构写入物理数据模型对应的IDS数据接口,以使表征模拟工作流的组件的代码的处理逻辑和数据相互分离完成物理数据模型的组件封装。本发明解决了在没有代码的源码或者不对源码进行改写的情况下,依旧能够实现对集成模拟分析平台的模拟工作流的组件的代码封装。作流的组件的代码封装。作流的组件的代码封装。


技术研发人员:潘莉 潘卫 彭媛媛 李欣怡 薛雷 李佳鲜 王硕 张刚 兰荆涛 曲成海
受保护的技术使用者:核工业西南物理研究院
技术研发日:2023.07.14
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐