CN111783313A - 一种模型运算控制方法、装置及电子设备 - Google Patents
一种模型运算控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111783313A CN111783313A CN202010674218.0A CN202010674218A CN111783313A CN 111783313 A CN111783313 A CN 111783313A CN 202010674218 A CN202010674218 A CN 202010674218A CN 111783313 A CN111783313 A CN 111783313A
- Authority
- CN
- China
- Prior art keywords
- model
- functional
- models
- functional models
- function
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种模型运算控制方法、装置及电子设备,所述方法包括:获得多个功能模型,所述多个功能模型中至少有两个所述功能模型之间具有关联关系;根据所述关联关系,运行所述多个功能模型,以得到运算结果。可见,本申请中按照参与运算的多个功能模型之间的关联关系依次执行这多个功能模型,就可以在一个运算阶段中分别运行每个功能模型,也就无需耗费更多的运算阶段,从而加快得到运算结果的速率,由此,提高运算效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种模型运算控制方法、装置及电子设备。
背景技术
在仿真应用中,一个复杂功能的模型可能是由多个部门或者单位共同合作完成的,由于保密等原因,导致将各自实现的模型封装到一起变得比较困难,而且部分功能的模块的更新会增加很多繁琐的工作。
为此,目前将复杂模型拆分成简单功能的模型,以便于检测出现运算错误的功能模型。但是由于功能模型之间存在数据的依赖关系,例如,功能模型2依赖于功能模型1的运算数据,因此,为了保证功能模型的输入数据的准确性,在每个运算阶段中功能模型2需要使用前一个阶段中功能模型1的输出数据。
因此,对于涉及较多功能模型的运算系统中,每个运算阶段能够进行运算的功能模型的数量会因为其依赖的运算模型在前一运算阶段中是否有输出数据而受到限制。这就使得在实现涉及功能模型较多的运算功能时,需要经历比运算步骤更多的运算阶段才能最终得到运算结果,由此,使得运算效率较低。
发明内容
有鉴于此,本申请提供一种模型运算控制方法、装置及电子设备,用以解决以上模型运算效率低的技术问题,如下:
一种模型运算控制方法,所述方法包括:
获得多个功能模型,所述多个功能模型中至少有两个所述功能模型之间具有关联关系;
根据所述关联关系,运行所述多个功能模型,以得到运算结果。
上述方法,优选的,根据所述关联关系,运行所述多个功能模型,以得到运算结果,包括:
根据所述功能模型的运算标识,对所述多个功能模型中的功能模型进行集合划分,以得到至少一个模型集合,具有相同所述运算标识的功能模型处于同一个所述模型集合中;
根据所述模型集合中的功能模型之间具有的关联关系,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
上述方法,优选的,根据所述模型集合中的功能模型之间具有的关联关系,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果,包括:
对所述模型集合中的功能模型按照所述模型集合中的功能模型之间具有的关联关系进行排序,以使得所述模型集合中的功能模型具有顺序标识;
根据所述顺序标识,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
上述方法,优选的,根据所述顺序标识,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果,包括:
创建所述模型集合对应的运算线程;
根据所述顺序标识,生成所述模型集合对应的模型队列,所述模型队列中包含所述模型集合中的功能模型;
通过所述运算线程执行所述模型队列中的每个功能模型,以得到所述模型集合对应的运算结果。
上述方法,优选的,所述模型队列中的功能模型在所述模型队列中的位置与所述功能模型的顺序标识相对应。
上述方法,优选的,通过所述运算线程执行所述模型队列中的每个功能模型,以得到所述模型集合对应的运算结果,包括:
触发所述运算线程启动,以将所述模型集合的输入数据传递给所述模型队列中的第一个功能模型,以使得所述模型队列中的每个功能模型将其运算结果传给其在所述模型队列中的下一个功能模型,以得到所述模型队列的最后一个功能模型输出的运算结果。
一种模型运算控制装置,所述装置包括:
模型获得单元,用于获得多个功能模型,所述多个功能模型中至少有两个所述功能模型之间具有关联关系;
模型运算单元,用于根据所述关联关系,运行所述多个功能模型,以得到运算结果。
上述装置,优选的,所述模型运算单元包括:
集合划分子单元,用于根据所述功能模型的运算标识,对所述多个功能模型中的功能模型进行集合划分,以得到至少一个模型集合,具有相同所述运算标识的功能模型处于同一个所述模型集合中;
模型运行子单元,用于根据所述模型集合中的功能模型之间具有的关联关系,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
上述装置,优选的,所述模型运行子单元具体用于:对所述模型集合中的功能模型按照所述模型集合中的功能模型之间具有的关联关系进行排序,以使得所述模型集合中的功能模型具有顺序标识;根据所述顺序标识,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
一种电子设备,包括:
存储器,用于存储应用程序及所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得多个功能模型,所述多个功能模型中至少有两个所述功能模型之间具有关联关系;根据所述关联关系,运行所述多个功能模型,以得到运算结果。
由上述方案可知,本申请提供的一种模型运算控制方法、装置及电子设备中,通过获取需要参与运算的多个功能模型并获得这些功能模型之间所具有的关联关系,进而根据这些关联关系,运行这些功能模型,由此得到运算结果。可见,本申请中按照参与运算的多个功能模型之间的关联关系依次执行这多个功能模型,就可以在一个运算阶段中分别运行每个功能模型,也就无需耗费更多的运算阶段,从而加快得到运算结果的速率,由此,提高运算效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-图3为现有的模型运算控制方案的示例图;
图4为本申请实施例一提供的一种模型运算控制方法的流程图;
图5为本申请实施例一提供的一种模型运算控制方法的部分流程图;
图6为本申请实施例二提供的一种模型运算控制装置的结构示意图;
图7为本申请实施例二提供的一种模型运算控制装置的部分结构示意图;
图8为本申请实施例三提供的一种电子设备的结构示意图;
图9-图10分别为本申请实施例在具体应用中的示例图;
图11-图13分别为本申请实施例在具体应用中的流程图。
具体实施方式
传统组合新功能模型的方式:通过建模软件,将所有功能模块封装成一个功能模型,用户无法知道功能模型内部计算过程,这样就导致封装困难、变更困难、功能模块调试困难等问题。
如图1中所示,通过建模工具将功能模型A和功能模型B封装成一个功能模型。封装的功能模型的输入数据是2,功能模型A是将数据加1,功能B是将数据乘2,那么最终的结果是6。而对于用户来说,用户只知道输入2,得到结果是6,而无法知道功能A处理数据的结果是2;如果用户输入2,得到的结果不是6,那么用户将不知道是功能模型A处理的有问题还是功能模型B处理的有问题。
本申请的发明人经过研究发现:为解决以上问题,常用的将复杂模型拆分成简单功能的模型的实现方案中,虽然能够检测出现运算错误的功能模型,但是,所有功能模型的执行是无序的,而有关联关系的功能模型是采用被依赖功能模型的上一步(前一运算阶段)运算结果做为本次运算的输入。
例如,两个有关联的功能模型的数据处理如下图2中所示。功能模型1有一个输入和一个输出;功能模型2有一个输入一个输出;功能模型1的输出和功能模型2的输入关联,则功能模型1和功能模型2在联合仿真中的常用执行方式如图3中所示,图3中的i为阶段标号。
可见,功能模型的执行顺序是不限定的,都执行完一次,功能模型都有初始值,第一阶段的时候,原则上功能模型2依赖与功能模型1的输出结果,在功能模型1和功能模型2在同一阶段运算时,功能模型2的输入数据是功能模型1前一阶段的输出数据,所以功能模型1和功能模型2的执行可以并行且无序。假设功能模型1是对输入数据的加1,功能模型2是对输入数据的乘2,用户在运算阶段i的输入是2,在阶段i+1的输入是5,不确定的输出为“---”,则输出数据如下表1:
表1输出数据
阶段i的输出 | 阶段i+1的输出 | 阶段i+2的输出 | |
功能模型1 | 3 | 6 | ---- |
功能模型2 | ---- | 6 | 12 |
因此,用户输入数据2,经过功能模型1和功能模型2的计算后的最终结果6,这一运算中需要执行两个运算阶段。同理,如果关联的功能模型越多,一个输入经过所有功能模型的计算后的最终结果所需要的执行阶段(计算次数)越多,导致获得最终运算结果的效率较低。
本申请的发明人经过进一步研究,提出一种实现方案,在获得参与运算的多个功能模型时,同时获得这些模型之间的关联关系,再按照这些功能模型之间的关联关系进行组合,进而可以根据功能模型之间的关联关系,每个运算阶段依次执行每个功能模型,以得到运算结果。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图4,为本申请实施例一提供的一种模型运算控制方法的实现流程图,该方法可以适用于能够进行模型运算的电子设备中,如计算机或服务器等。本实施例中的技术方案主要用于提高多个功能模型运算的效率。
具体的,本实施例中的方法可以包括以下步骤:
步骤401:获得多个功能模型。
其中,本实施例中可以通过多种方式获得到多个功能模型,而获得到的这多个功能模型中至少有两个功能模型之间具有关联关系。
在一种实现方式中,用户可以在交互界面上选择或者输入多个功能模型的模型标识,如“功能模型1”和“功能模型2”等,并且在交互界面中设置这多个功能模型之间的关联关系,例如,功能模型2的输入数据为功能模型1的输出数据的关联关系等等,基于此,本实施例中获得用户在交互界面上的输入操作,并解析输入操作,以得到操作数据中所涉及的多个功能模型的模型标识及功能模型之间具有的关联关系,之后可以在模型库中获得到这些模型标识对应的功能模型,而获得到的这些功能模型中有两个或多个功能模型之间具有关联关系;
在另一种实现方式中,仿真系统上具有关于功能模型的配置参数,在配置参数中设置有需要参与运算的多个功能模型,在配置参数中还有功能模型之间所具有的关联关系,例如,在配置参数中设置有“功能模型1”和“功能模型2”,还设置有功能模型2的输入数据为功能模型1的输出数据的关联关系等等。由此,本实施例中可以通过对配置参数进行读取,并对配置参数进行解析,进而获得到配置参数中设置的多个功能模型的模型标识,并获得到这多个功能模型中所涉及的两个或多个功能模型之间的关联关系,之后可以在模型库中获得到这些模型标识对应的功能模型,而获得到的这些功能模型中有两个或多个功能模型之间具有关联关系。
需要说明的是,本实施例中的功能模型可以为功能模型接口FMI(FunctionalMock-up Interface)标准封装的功能模型单元FMU(Functional Mock-up Unit)。
步骤402:根据关联关系,运行多个功能模型,以得到运算结果。
其中,本实施例中可以根据关联关系中所表征的功能模型之间的输入输出依赖关系,或者根据关联关系中所表征的功能模型之间的执行前后关系,运行这多个功能模型中的每个功能模型,由此得到最终的运算结果,而在运行功能模型的过程中,由于是按照关联关系运行的,所以只需在一个运算阶段就可以完成,而无需等待下一个运算阶段。
由上述方案可知,本申请实施例一提供的一种模型运算控制方法中,通过获取需要参与运算的多个功能模型并获得这些功能模型之间所具有的关联关系,进而根据这些关联关系,运行这些功能模型,由此得到运算结果。可见,本实施例中按照参与运算的多个功能模型之间的关联关系依次执行这多个功能模型,就可以在一个运算阶段中分别运行每个功能模型,也就无需耗费更多的运算阶段,从而加快得到运算结果的速率,由此,提高运算效率。
具体实现中,所获得到的多个功能模型中每个功能模型均具有运算标识,以表征所参与的运算操作,或者表征所参与的运算所实现的功能,如“运算功能X”或“运算功能Y”等,多个功能模型中可能存在功能模型各自对应的运算标识不同,例如,功能模型1和功能模型2均具有“运算功能X”的运算标识,功能模型3和功能模型4均具有“运算功能Y”的运算标识,基于此,步骤402中在根据关联关系,运行多个功能模型,以得到运算结果时,具体可以通过以下方式实现:
首先,本实施例中先获得每个功能模型的运算标识,再根据功能模型的运算标识,对多个功能模型中的功能模型进行集合划分,以得到至少一个模型集合,具有相同运算标识的功能模型处于同一个模型集合中,例如,将功能模型1和功能模型2划分到“运算功能X”对应的模型集合中,将功能模型3和功能模型4划分到“运算功能Y”对应的模型集合中;需要说明的是,如果所获得到的多个功能模型中每个功能模型的运算标识均相同,那么本实施例中所有的功能模型组成一个模型集合,而如果所获得到的多个功能模型中功能模型的运算标识存在不同的两个或更多个,那么本实施例中所划分出的模型集合为两个或更多个,相应模型集合的数量与步骤401中所获得到的多个功能模型中的运算标识的数量相同;
之后,本实施例中分别针对所划分出来的每个模型集合,根据模型集合中的功能模型之间具有的关联关系,依次运行模型集合中的功能模型,以得到模型集合对应的运算结果。例如,针对“运算功能X”对应的模型集合,根据功能模型1和功能模型2之间具有的关联关系,依次执行这两个功能模型,以得到“运算功能X”对应的模型集合对应的运算结果;而针对“运算功能Y”对应的模型集合,根据功能模型3和功能模型4之间具有的关联关系,依次执行这两个功能模型,以得到“运算功能Y”对应的模型集合对应的运算结果。
具体的,本实施例中在根据模型集合中的功能模型之间具有的关联关系,依次运行模型集合中的功能模型时,可以通过以下方式实现,进而得到模型集合对应的运算结果,如图5中所示:
步骤501:对模型集合中的功能模型按照模型集合中的功能模型之间具有的关联关系进行排序,以使得模型集合中的功能模型具有顺序标识。
其中,模型集合中的功能模型之间所具有的关联关系能够表征功能模型之间的输入输出依赖关系或者执行前后关系,由此,按照这一关联关系,将相应的功能模型进行前后排序,例如,根据功能模型1的输出数据为功能模型2的输入数据的输入输出依赖关系,将功能模型1排序在功能模型2之前;再如,根据功能模型3在功能模型4之前执行的执行前后关系,将功能模型3排序在功能模型4之前,基于此,每个模型集合中的每个功能模型均具有顺序标识,如第1位或第2位等标识。
步骤502:根据顺序标识,依次运行模型集合中的功能模型,以得到模型集合对应的运算结果。
其中,本实施例中可以按照顺序标识所表征的功能模型之间的顺序,依次运行模型集合中的每个功能模型,以得到模型集合对应的运算结果。例如,按照功能模型1的第1位和功能模型2的第2位的顺序标识,先运行功能模型1,再运行功能模型2,由此得到功能模型2的输出结果,即为功能模型1和功能模型2组成的模型集合对应的运算结果。
在一种实现方式中,步骤302中可以先创建模型集合对应的运算线程,如果划分出的模型集合只有一个,那么只需要创建一个运算线程,如果划分出的模型集合为多个,那么需要针对每个模型集合分别创建一个运算线程;
之后,针对模型集合,根据该模型集合中每个功能模型的顺序标识,生成模型集合对应的模型队列,所生成的模型队列中包含模型集合中的功能模型,而且模型队列中的功能模型在模型队列中的位置与功能模型的顺序标识相对应。例如按照功能模型1的第1位和功能模型2的第2位的顺序标识,生成该模型集合对应的模型队列,该模型队列中功能模型1在第一个位置,功能模型2在第2个位置;
最后,通过运算线程执行模型队列中的每个功能模型,以得到模型集合对应的运算结果。具体如下:
触发运算线程启动,以将模型集合的输入数据传递给模型队列中的第一个功能模型,以使得模型队列中的每个功能模型将其运算结果传给其在模型队列中的下一个功能模型,以得到模型队列的最后一个功能模型输出的运算结果。
例如,触发“运算标识X”对应的模型集合所对应的运算线程启动,基于启动的运算线程,将“运算标识X”对应的模型集合的初始输入数据输入到模型队列中的第一个功能模型,即功能模型1,功能模型1根据初始输入数据进行运算,即进行模型运算并输出功能模型1的输出结果,之后,功能模型1的输出结果作为功能模型2的输入数据输入到功能模型2中,功能模型2根据功能模型1的输出结果进行运算并输出功能模型2的输出结果,即“运算标识X”对应的模型集合对应的运算结果,完成模型运算。
参考图6,为本申请实施例二提供的一种模型运算控制装置的结构示意图,该装置可以配置在能够进行模型运算的电子设备中,如计算机或服务器等。本实施例中的技术方案主要用于提高多个功能模型运算的效率。
具体的,本实施例中的装置可以包括以下单元:
模型获得单元601,用于获得多个功能模型,多个功能模型中至少有两个功能模型之间具有关联关系;
模型运算单元602,用于根据关联关系,运行多个功能模型,以得到运算结果。
由上述方案可知,本申请实施例二提供的一种模型运算控制装置中,通过获取需要参与运算的多个功能模型并获得这些功能模型之间所具有的关联关系,进而根据这些关联关系,运行这些功能模型,由此得到运算结果。可见,本实施例中按照参与运算的多个功能模型之间的关联关系依次执行这多个功能模型,就可以在一个运算阶段中分别运行每个功能模型,也就无需耗费更多的运算阶段,从而加快得到运算结果的速率,由此,提高运算效率。
在一种实现方式中,模型运算单元602中可以包括以下结构,如图7中所示:
集合划分子单元621,用于根据功能模型的运算标识,对多个功能模型中的功能模型进行集合划分,以得到至少一个模型集合,具有相同运算标识的功能模型处于同一个模型集合中;
模型运行子单元622,用于根据模型集合中的功能模型之间具有的关联关系,依次运行模型集合中的功能模型,以得到模型集合对应的运算结果。
其中,模型运行子单元622具体用于:对模型集合中的功能模型按照模型集合中的功能模型之间具有的关联关系进行排序,以使得模型集合中的功能模型具有顺序标识;根据顺序标识,依次运行模型集合中的功能模型,以得到模型集合对应的运算结果。
具体实现中,模型运行子单元622在根据顺序标识,依次运行模型集合中的功能模型时,首先,创建所述模型集合对应的运算线程;之后,根据所述顺序标识,生成所述模型集合对应的模型队列,所述模型队列中包含所述模型集合中的功能模型;最后通过所述运算线程执行所述模型队列中的每个功能模型,以得到所述模型集合对应的运算结果。例如,触发所述运算线程启动,以将所述模型集合的输入数据传递给所述模型队列中的第一个功能模型,以使得所述模型队列中的每个功能模型将其运算结果传给其在所述模型队列中的下一个功能模型,以得到所述模型队列的最后一个功能模型输出的运算结果。
其中,所述模型队列中的功能模型在所述模型队列中的位置与所述功能模型的顺序标识相对应。
需要说明的是,本实施例中各单元的具体实现可以参考前文中相应内容,此处不再详述。
参考图8,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为能够进行模型运算的电子设备,如计算机或服务器等。本实施例中的技术方案主要用于提高多个功能模型运算的效率。
具体的,本实施例中的电子设备可以包括以下结构:
存储器801,用于存储应用程序及应用程序运行所产生的数据;
处理器802,用于执行应用程序,以实现:获得多个功能模型,多个功能模型中至少有两个功能模型之间具有关联关系;根据关联关系,运行多个功能模型,以得到运算结果。
由上述方案可知,本申请实施例三提供的一种电子设备中,通过获取需要参与运算的多个功能模型并获得这些功能模型之间所具有的关联关系,进而根据这些关联关系,运行这些功能模型,由此得到运算结果。可见,本实施例中按照参与运算的多个功能模型之间的关联关系依次执行这多个功能模型,就可以在一个运算阶段中分别运行每个功能模型,也就无需耗费更多的运算阶段,从而加快得到运算结果的速率,由此,提高运算效率。
在具体实现中,以功能模型1和功能模型2为例,对本申请的技术方案进行举例说明:
本申请中通过将用户需要组合的功能模型分配到一个有执行顺序的分组或集合中,根据关联关系调整分组或集合中功能模型之间的顺序,进而在仿真过程中,该分组作为一个新的功能模型来完成每一步仿真的运算。例如,有关联的两个功能模型1和2数据处理如图9中所示。
功能模型1有一个输入和一个输出;功能模型2有一个输入一个输出;功能模型1的输出和功能模型2的输入关联,功能模型1的当前阶段的输出数据直接作为功能模型2的输入数据。按照功能模型1到功能模块2的顺序执行,则功能模型1和功能模型2的执行方式如图10中所示,图10中的i为阶段标号。
同样假设功能模型1是对输入数据的加1,功能模型2是对输入数据的乘2,用户在阶段i的输入是2,在阶段i+1的输入是5,输出数据如表2所示:
表2输出数据
阶段i的输出 | 阶段i+1的输出 | |
功能模型1 | 3 | 6 |
功能模型2 | 6 | 12 |
可见,用户输入数据2,经过功能模块1和功能模块2的计算后的最终结果6,只需要执行1个阶段,执行更快速。另外,如果出现问题,可以通过判断功能模型1的输出来确定是哪个功能模型出现的问题。如果关联关系不变的前提下,按照功能模型2到功能模型1的顺序执行,则执行的过程及结果和常用功能模型执行方式类似。
具体的实现流程参考图11-图13,具体如下:
1、功能模型分组的分组和排序流程如图11中所示:
首先,用户通过交互界面进行操作,建立一个功能模型分组,即为前文中的模型集合,其中,用户也也可能建立多个功能模型分组,这与实际应用中的运算需求相关;例如,用户可以根据需求自由创建分组,比如整体功能是(x+1)*2,用户拆分成两个功能模型,功能模型1执行的是x+1;功能模型2执行的是*2,那么用户可以将功能模型1和功能模型2放到一个创建的分组中,按照先功能模型1再执行功能模型2的顺序,这个分组执行的就是(x+1)*2;
其次,用户建立多个功能模型的关联关系,主要是功能模型之间的输入输出依赖关系;
然后,本实施例中对用户选定的功能模型以及功能模型之间的关联关系进行获取,并将待组合的功能模型添加到功能模型分组中;
之后,本实施例中根据关联关系,对待组合的功能模型进行排序,例如:功能模型1输出关联功能模型2的输入,则顺序是功能模型1在前,功能模型2在后,反之则功能模型2在前,功能模型1在后;
最后,每个功能模型都有记录自己所属分组以及自己所在分组中的顺序。
2、功能模型分组的执行流程如图12中所示。
(1)创建一个顺序执行的功能分组线程,根据模型记录的所在分组中顺序生成待执行功能模型队列,并且在此线程中执行功能模型分组中的所有功能模型;
(2)将功能分组的输入数据input先传递给第1个功能模型,作为第1个功能模型的输入来执行;
(3)第1个功能模型当前阶段执行结果作为第2个功能模型的输入来执行第2个功能模型;
(4)以此类推,直到所有功能模型执行一次,将最后一个功能模型的输出作为功能分组的输出数据output。至此,功能分组执行完成一次。
(5)循环执行每一个阶段的运行,直到仿真结束。
其中,图12中的i表示功能模型的标号。
3、以两个功能模型为例,本实施例中实现中的FMI接口调用流程如图13中所示。
(1)在功能分组线程执行的每个阶段,调用功能模型1的SetValue,将输入数据input传递给功能模型1;
(2)调用功能模型1的DoStep,执行输入数据的运算;
(3)调用功能模型1的GetValue,获取执行运算的结果并缓存在output1中;
(4)调用功能模型2的SetValue,将output1传递给功能模型2;
(5)调用功能模型2的DoStep,执行输入数据的运算;
(6)调用功能模型2的GetValue,获取执行运算的结果,并将结果数据作为功能模型的输出数据;
其中,SetValue/DoStep/GetValue都是FMI标准中的接口。其中,SetValue接口是设置变量值的接口,与之对应的获取执行结果的接口是GetValue函数;DoStep函数为执行运算的接口。
可见,基于本申请的技术方案,用户可在不影响原有功能的前提下,将具有复杂功能的模型分解成多个不同简单功能模型,让设计和实现功能模型简单化,并且可由用户根据需要将简单功能模型自由组合成不同复杂功能的新模型,灵活性更高。而模型需要替换时,只需直接替换对应的简单功能模型,降低对其他组合模型的影响。由此,本申请的技术方案能够更快速的执行完成有关联关系的功能模型,直接输出组合的新功能模型的执行结果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种模型运算控制方法,其特征在于,所述方法包括:
获得多个功能模型,所述多个功能模型中至少有两个所述功能模型之间具有关联关系;
根据所述关联关系,运行所述多个功能模型,以得到运算结果。
2.根据权利要求1所述的方法,其特征在于,根据所述关联关系,运行所述多个功能模型,以得到运算结果,包括:
根据所述功能模型的运算标识,对所述多个功能模型中的功能模型进行集合划分,以得到至少一个模型集合,具有相同所述运算标识的功能模型处于同一个所述模型集合中;
根据所述模型集合中的功能模型之间具有的关联关系,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
3.根据权利要求2所述的方法,其特征在于,根据所述模型集合中的功能模型之间具有的关联关系,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果,包括:
对所述模型集合中的功能模型按照所述模型集合中的功能模型之间具有的关联关系进行排序,以使得所述模型集合中的功能模型具有顺序标识;
根据所述顺序标识,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
4.根据权利要求3所述的方法,其特征在于,根据所述顺序标识,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果,包括:
创建所述模型集合对应的运算线程;
根据所述顺序标识,生成所述模型集合对应的模型队列,所述模型队列中包含所述模型集合中的功能模型;
通过所述运算线程执行所述模型队列中的每个功能模型,以得到所述模型集合对应的运算结果。
5.根据权利要求4所述的方法,其特征在于,所述模型队列中的功能模型在所述模型队列中的位置与所述功能模型的顺序标识相对应。
6.根据权利要求4所述的方法,其特征在于,通过所述运算线程执行所述模型队列中的每个功能模型,以得到所述模型集合对应的运算结果,包括:
触发所述运算线程启动,以将所述模型集合的输入数据传递给所述模型队列中的第一个功能模型,以使得所述模型队列中的每个功能模型将其运算结果传给其在所述模型队列中的下一个功能模型,以得到所述模型队列的最后一个功能模型输出的运算结果。
7.一种模型运算控制装置,其特征在于,所述装置包括:
模型获得单元,用于获得多个功能模型,所述多个功能模型中至少有两个所述功能模型之间具有关联关系;
模型运算单元,用于根据所述关联关系,运行所述多个功能模型,以得到运算结果。
8.根据权利要求7所述的装置,其特征在于,所述模型运算单元包括:
集合划分子单元,用于根据所述功能模型的运算标识,对所述多个功能模型中的功能模型进行集合划分,以得到至少一个模型集合,具有相同所述运算标识的功能模型处于同一个所述模型集合中;
模型运行子单元,用于根据所述模型集合中的功能模型之间具有的关联关系,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
9.根据权利要求8所述的装置,其特征在于,所述模型运行子单元具体用于:对所述模型集合中的功能模型按照所述模型集合中的功能模型之间具有的关联关系进行排序,以使得所述模型集合中的功能模型具有顺序标识;根据所述顺序标识,依次运行所述模型集合中的功能模型,以得到所述模型集合对应的运算结果。
10.一种电子设备,其特征在于,包括:
存储器,用于存储应用程序及所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得多个功能模型,所述多个功能模型中至少有两个所述功能模型之间具有关联关系;根据所述关联关系,运行所述多个功能模型,以得到运算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010674218.0A CN111783313A (zh) | 2020-07-14 | 2020-07-14 | 一种模型运算控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010674218.0A CN111783313A (zh) | 2020-07-14 | 2020-07-14 | 一种模型运算控制方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111783313A true CN111783313A (zh) | 2020-10-16 |
Family
ID=72767574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010674218.0A Pending CN111783313A (zh) | 2020-07-14 | 2020-07-14 | 一种模型运算控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783313A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968745A (zh) * | 2022-06-10 | 2022-08-30 | 北京世冠金洋科技发展有限公司 | 一种处理系统模型的运行信息的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340237A (zh) * | 2020-03-05 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 数据处理和模型运行方法、装置和计算机设备 |
-
2020
- 2020-07-14 CN CN202010674218.0A patent/CN111783313A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340237A (zh) * | 2020-03-05 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 数据处理和模型运行方法、装置和计算机设备 |
Non-Patent Citations (2)
Title |
---|
吴德明: "胜利油田联合站生产运行计算机仿真系统", 《仪表电信》, vol. 34, no. 4, pages 1 - 2 * |
陆冠华等: "基于FMI的飞行器分系统多源异构模型一体化仿真", 《导航定位与授时》, vol. 5, no. 6, pages 1 - 3 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968745A (zh) * | 2022-06-10 | 2022-08-30 | 北京世冠金洋科技发展有限公司 | 一种处理系统模型的运行信息的方法及装置 |
CN114968745B (zh) * | 2022-06-10 | 2023-06-16 | 北京世冠金洋科技发展有限公司 | 一种处理系统模型的运行信息的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100383732C (zh) | 信号处理装置及其方法 | |
EP2977899A2 (en) | Integrating execution of computing analytics within a mapreduce processing environment | |
US9658834B2 (en) | Program visualization device, program visualization method, and program visualization program | |
CN114168998A (zh) | 数据处理方法和装置 | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN111651137B (zh) | 排序方法、装置、电子装置以及计算机设备 | |
JP2017084082A (ja) | シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 | |
CN111199062A (zh) | 基于工业开发软件的仿真方法及系统、电子设备 | |
CN113434396A (zh) | 接口测试方法、装置、设备、存储介质及程序产品 | |
CN111783313A (zh) | 一种模型运算控制方法、装置及电子设备 | |
CN111966597B (zh) | 测试数据生成方法及装置 | |
CN103294482B (zh) | 用于PWscf并行计算系统的Web服务封装方法以及系统 | |
CN109800078B (zh) | 一种任务处理方法、任务分发终端及任务执行终端 | |
CN113190905A (zh) | 一种建筑模型的分析方法、装置及存储介质 | |
CN112765014A (zh) | 一种用于多用户同时操作的自动测试系统及工作方法 | |
CN110532267A (zh) | 字段的确定方法、装置、存储介质及电子装置 | |
CN109144806B (zh) | 一种寄存器传输级电路的功能验证方法及装置 | |
CN111767652B (zh) | 一种仿真运算方法、装置及电子设备 | |
CN111752677B (zh) | 一种云资源配置方法、系统、终端及存储介质 | |
CN114020640A (zh) | 自动化测试方法及装置 | |
CN113469284A (zh) | 一种数据分析的方法、装置及存储介质 | |
CN114118811A (zh) | 服务代码的生成、执行方法、装置、设备及存储介质 | |
CN111160403A (zh) | 一种api接口复用发现的方法及装置 | |
CN108595455B (zh) | 一种空间数据坐标转换方法及装置 | |
CN113001538A (zh) | 一种命令解析方法及系统 |
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 |