CN113254157A - 批量仿真控制方法、装置及电子设备 - Google Patents
批量仿真控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113254157A CN113254157A CN202110625700.XA CN202110625700A CN113254157A CN 113254157 A CN113254157 A CN 113254157A CN 202110625700 A CN202110625700 A CN 202110625700A CN 113254157 A CN113254157 A CN 113254157A
- Authority
- CN
- China
- Prior art keywords
- simulation
- file
- engine
- objects
- files
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种批量仿真控制方法、装置及电子设备,方法包括:获得对象集合,所述对象集合中至少包含有多个仿真对象;根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
Description
技术领域
本申请涉及仿真模型技术领域,尤其涉及一种批量仿真控制方法、装置及电子设备。
背景技术
在仿真工具中,通常是把每个将要执行仿真的工程项目称为一个被测对象。
执行一个被测对象的仿真,首先要连接仿真引擎SE(Simulation Engine),之后把被测对象中的相关文件传输到仿真引擎,再解压fmu文件并加载对应的dll以及读取csvpython等文件后,初始化各参数和变量,由SE执行仿真运算,并保存仿真结果。
但是,如果需要对多个被测对象进行仿真,或者对被测对象按照多个参数值进行仿真,均需要反复执行以上所有流程,导致仿真处理的步骤存在较多的冗余,使得仿真时间被延长,存在获得仿真结果效率较低的情况。
发明内容
有鉴于此,本申请提供一种批量仿真控制方法、装置及电子设备,用以解决现有技术中批量仿真中获得仿真结果效率较低的缺陷,如下:
本申请提供了一种批量仿真控制方法,包括:
获得对象集合,所述对象集合中至少包含有多个仿真对象;
根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;
将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;
将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
上述方法,优选的,根据所述对象集合,获得文件集合,包括:
获得所述对象集合中的每个所述仿真对象各自对应的仿真文件,所述仿真对象对应的仿真文件为所述仿真对象被仿真运算时所需要的文件;
对所有所述仿真文件进行去冗处理,以得到文件集合。
上述方法,优选的,将所述对象集合中的所述仿真对象发送给所述仿真引擎,包括:
选择所述对象集合中的一个仿真对象作为当前对象;
将所述当前对象发送给所述仿真引擎,以触发所述仿真引擎使用所述当前对象对应的预处理文件对所述当前对象进行仿真运算,得到所述当前对象对应的仿真结果;
在接收到所述仿真引擎针对所述当前对象传输的完成消息之后,选择所述对象集合中的下一个仿真对象作为当前对象,返回执行所述步骤:将所述当前对象发送给所述仿真引擎,直到所述对象集合中的仿真对象均被运算完成。
上述方法,优选的,将所述当前对象发送给所述仿真引擎之后,所述方法还包括:
在所述对象集合中删除与所述完成消息对应的仿真对象。
上述方法,优选的,所述对象集合中的仿真对象均被运算完成,包括:
所述对象集合为空。
上述方法,优选的,所述预处理包含:解压所述仿真文件和加载所述仿真文件对应的解压文件。
上述方法,优选的,所述仿真对象对应有至少一项仿真参数,所述仿真参数的参数值不同,以使得所述仿真引擎分别根据所述仿真对象对应的每项所述仿真参数使用所述预处理文件对所述仿真对象进行仿真运算。
上述方法,优选的,获得对象集合,包括:
根据包含有多个仿真对象的仿真列表,获得对象集合;
其中,所述仿真列表基于对所述仿真对象的添加输入操作生成。
本申请还提供了一种批量仿真控制装置,包括:
对象获得单元,用于获得对象集合,所述对象集合中至少包含有多个仿真对象;
文件获得单元,用于根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;
文件发送单元,用于将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;
对象发送单元,用于将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
本申请还提供了一种电子设备,包括:
存储器,用于存储应用程序及所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得对象集合,所述对象集合中至少包含有多个仿真对象;根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
从上述技术方案可以看出,本申请公开的一种批量仿真控制方法、装置及电子设备中,在仿真引擎进行批量仿真运算之前,将仿真运算所需要的仿真文件现发送给仿真引擎进行预处理,进而在将仿真对象发送给仿真引擎之后,仿真引擎可以直接使用预处理文件对仿真对象进行仿真运算,而无需反复进行仿真文件的预处理操作,由此来减少获得仿真结果的仿真耗时,进而提高仿真效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种批量仿真控制方法的流程图;
图2-图4分别为本申请实施例一提供的一种批量仿真控制方法的部分流程图;
图5为本申请实施例二提供的一种批量仿真控制装置的结构示意图;
图6为本申请实施例三提供的一种电子设备的结构示意图;
图7为本申请实施例在具体应用中的实现机制示意图;
图8为本申请实施例在具体应用中的实现时序图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种批量仿真控制方法的实现流程图,该方法可以适用于能够进行数据处理的电子设备中,如计算机或服务器等。本实施例中的技术方案主要用于对仿真引擎的仿真运算进行控制,以提高仿真引擎的仿真运算效率。
具体的,本实施例中的方法可以包含如下步骤:
步骤101:获得对象集合。
其中,对象集合中至少包含有多个仿真对象。这里的仿真对象是指待仿真的工程对象,也可以称为测试对象。
具体的,本实施例中可以通过对存储在电子设备或仿真平台中的待仿真的测试对象进行读取,以得到对象集合,或者,本实施例中可以根据包含有多个仿真对象的仿真列表获得到对象集合。
其中,仿真列表基于对仿真对象的添加输入操作生成,在仿真列表中可以包含有多个仿真对象。
需要说明的是,添加输入操作是指用户对需要仿真的测试对象进行添加到仿真列表的输入操作,在该添加输入操作下,包含有多个仿真对象的仿真列表被生成。而在用户在仿真列表中添加多个测试对象之后,仿真列表中的仿真对象即测试对象被存入本实施例中的电子设备中,由此,本实施例中获得到包含多个仿真对象的对象集合。
例如,在仿真平台上,用户可以把需要仿真的工程对象添加到仿真列表(也可以称为待仿真列表),其中每个待仿真的工程对象可以称为一个测试对象。在用户添加完多个测试对象之后,仿真列表中的测试对象存入本实施例所实现的配置管理程序TM(TestManager)的list容器中,由此,本实施例所实现的TM获得到对象集合。
步骤102:根据对象集合,获得文件集合。
其中,文件集合中至少包含至少一个仿真文件。
其中,仿真文件为对象集合中的仿真对象被仿真引擎进行仿真运算时所需要的文件,如fmu文件等。文件集合中可以包含有一个或多个仿真文件。
例如,本实施例中可以分析对象集合中的仿真对象所需要的所有仿真文件,并将这些仿真文件存入本申请所实现的TM的vector容器中,由此,本实施例中所实现的TM获得到文件集合。
步骤103:将文件集合发送给仿真引擎,以触发仿真引擎对文件集合中的仿真文件进行预处理,得到仿真文件对应的预处理文件。
其中,本实施例中可以通过与仿真引擎之间的数据连接将文件集合发送给仿真引擎,由此触发仿真引擎对文件集合中的仿真文件进行统一预处理,进而在仿真引擎中具有仿真文件对应的预处理文件,这些预处理文件可以直接使用,而需要再进行其他处理。
具体的,这里的预处理可以包含:解压仿真文件和加载仿真文件对应的解压文件。例如,仿真文件可以包含有fmu文件,在经过解压之后可以得到相应的解压文件,如dll、csv及python文件等。
例如,在开始执行仿真运算之前,首先保证本实施例中所实现的TM建立与仿真引擎SE(SimulationEngine.exe)已经通过传输控制协议TCP(Transmission ControlProtocol)连接成功,而在开始仿真之后,本实施例中所实现的TM把vector容器中的仿真文件通过TCP都统一传输给SE,由SE对仿真文件如FMU文件等进行统一解压,并加载对应的dll、csv及python等文件,由此,在SE中已经成功加载有仿真运算所需要的各种文件。
步骤104:将对象集合中的仿真对象发送给仿真引擎,以触发仿真引擎使用预处理文件对仿真对象进行仿真运算,得到仿真对象对应的仿真结果。
其中,本实施例中将可以对象仿真集合中的每个仿真对象依次发送给仿真引擎,由此触发仿真引擎按照接收到的仿真对象的顺序使用预处理文件对仿真对象进行仿真运算,由此依次得到每个仿真对象对应的仿真结果,而这一过程中,仿真引擎无需对每个仿真对象对应的仿真文件反复进行预处理,而是可以直接使用已经加载完成的仿真文件对应的预处理文件进行仿真运算,从而减少操作流程,达到降低仿真运算耗时的目的,提高获得仿真结果的效率。
具体的,仿真对象对应有至少一项仿真参数,这里的仿真参数可以包含有对应于同一参数属性的多个参数值,此时这些仿真参数的参数值均不相同,如仿真参数包含运动对象的一个或多个运动速率参数;或者,这里的仿真参数中还可以包含有对应于不同参数属性的参数值,如仿真参数包含运动对象的运动速率参数、位置参数等;或者,这里的仿真参数中包含分别对应于不同参数属性的一个或多个参数值,对应于同一参数属性的参数值是不同的,例如,仿真参数包含运动对象的一个或多个运动速率参数,还包含运动对象的一个或多个位置参数,等等。
基于此,本实施例中在将仿真对象发送给仿真引擎之后,仿真引擎可以分别根据仿真对象对应的每项仿真参数使用预处理文件对仿真对象进行仿真运算。例如,仿真引擎分别基于多个运动速率参数使用运动对象对应的预处理文件对该运动对象进行仿真运算,从而得到该仿真对象分别对应于这些运动速率参数的仿真结果,如分别对应于每个运动速率参数的运动轨迹长度。
由上述方案可知,本申请实施例一提供的一种批量仿真控制方法中,在仿真引擎进行批量仿真运算之前,将仿真运算所需要的仿真文件现发送给仿真引擎进行预处理,进而在将仿真对象发送给仿真引擎之后,仿真引擎可以直接使用预处理文件对仿真对象进行仿真运算,而无需反复进行仿真文件的预处理操作,由此来减少获得仿真结果的仿真耗时,进而提高仿真效率。
在一种实现方式中,步骤102中在获得文件集合时,具体可以通过以下方式实现,如图2中所示:
步骤121:获得对象集合中的每个仿真对象各自对应的仿真文件。
其中,仿真对象对应的仿真文件为仿真对象被仿真运算时所需要的文件。
具体的,本实施例中可以在开始仿真之前,对对象集合中的每个仿真对象所需要的所有文件分别进行读取或采集,从而获得到每个仿真对象各自对应的仿真文件。
步骤122:对所有仿真文件进行去冗处理,以得到文件集合。
其中,由于各个仿真对象各自对应的仿真文件之间可能存在冗余,此时,为了减少预处理的文件量,本实施例中对所有仿真文件进行去冗处理,即对各个仿真对象对应的仿真文件取并集,具体操作为:删除仿真文件中重复的仿真文件,从而所获得的文件集合中不存在重复的仿真文件。
例如,本实施例中可以分析对象集合中的仿真对象所需要的所有仿真文件,将这些仿真文件存入本申请所实现的TM的vector容器中,而仿真对象之间所需要的重复的仿真文件只放入vector容器一次,对于已经被放入vector容器的仿真文件进行丢弃,由此在vector容器中的仿真文件之间彼此不重复,由此,本实施例中所实现的TM获得到文件集合。
由此,本实施例中在将仿真文件传输给仿真引擎之间,先对仿真文件进行去冗处理,从而减少传输给仿真引擎的文件量,最重要的是减少仿真引擎进行预处理的文件量,从而加快批量仿真的运算进度,进一步提高获得仿真结果的效率。
在一种实现方式中,步骤104中在将对象集合中的仿真对象发送给仿真引擎时,具体可以通过以下方式实现,如图3中所示:
步骤141:选择对象集合中的一个仿真对象作为当前对象。
其中,本实施例中可以在对象集合中随机选取一个仿真对象作为当前对象,或者,本实施例中可以按照对象集合中仿真对象之间的对象顺序选择第一个仿真对象作为当前对象。
其中,这里的对象顺序可以为被添加到仿真列表中的顺序,也可以为按照仿真对象的对象参数如对象标识等进行排序所得到的顺序。
步骤142:将当前对象发送给仿真引擎,以触发仿真引擎使用当前对象对应的预处理文件对当前对象进行仿真运算,得到当前对象对应的仿真结果。
其中,本实施例中可以通过与仿真引擎之间的数据连接如TM与SE之间的TCP等将当前对象发送给仿真引擎。而仿真引擎在对当前对象进行仿真运算时,可以筛选出与当前对象相对应的预处理文件而不是所有的预处理文件,再对当前对象进行仿真运算,从而得到当前对象对应的仿真结果。
具体的,仿真对象对应有至少一项仿真参数,其中,仿真参数中包含分别对应于不同参数属性的一个或多个参数值,对应于同一参数属性的参数值是不同的,例如,仿真参数包含运动对象的一个或多个运动速率参数,还包含运动对象的一个或多个位置参数。
基于此,本实施例中在将仿真对象发送给仿真引擎之后,仿真引擎可以首先根据仿真对象对应的仿真参数进行参数变量值的初始化,如初始化运动速率参数、位置参数等,进而根据初始化的仿真参数使用预处理文件对仿真对象进行仿真运算。例如,仿真引擎先按照第一组仿真参数如运动速率参数和位置参数进行参数变量值初始化,再基于第一组仿真参数使用运动对象对应的预处理文件对该运动对象进行仿真运算,从而得到该仿真对象对应于第一组仿真参数的仿真结果,之后,仿真引擎再按照下一组即第二组仿真参数如新的运动速率参数和位置参数进行参数变量值初始化,再基于第二组仿真参数使用运动对象对应的预处理文件对该运动对象进行仿真运算,从而得到该仿真对象对应于第二组仿真参数的仿真结果,以此列推,直到对该运动对象的仿真运算完成。
需要说明的是,在仿真引擎完成对当前对象的仿真运算之后,仿真引擎将仿真结果保存到磁盘,并发送完成消息,该完成消息表征仿真引擎已经完成对该当前对象的仿真运算。
例如,本实施例中所实现的TM将list容器中的测试对象依次发送给SE,由SE依次执行每个测试对象的仿真运算,具体为:TM从list容器中的第一个测试对象开始,将第一个测试对象发送给SE,SE初始化相应测试对象的参数变量值之后,执行第一个测试对象的仿真运算,在执行完成测试对象仿真运算之后,SE将仿真结果保存到磁盘,并发送信号给TM。
步骤143:接收仿真引擎针对当前对象传输的完成消息,在接收到完成消息之后,执行步骤144。
其中,在接收到仿真引擎针对当前对象传输的完成消息之后,表征当前对象已经被仿真运算完成,可以进行下一个仿真对象的仿真运算,此时,执行步骤144。
步骤144:选择对象集合中的下一个仿真对象作为当前对象,返回执行所述步骤142,以将当前对象发送给仿真引擎,直到对象集合中的仿真对象均被运算完成。
其中,本实施例中可以在对象集合中剩余的其他仿真对象中随机选择或者按照对象顺序选择下一个仿真对象作为新的当前对象,再执行步骤142,以将新的当前对象发送给仿真引擎,以此类推,重复执行步骤142-步骤144,直到对象集合中的仿真对象均被仿真运算完成,此时,完成批量仿真运算。
在一种实现方式中,为了加快仿真对象的选择效率,本实施例中在步骤142中将当前对象发送给仿真引擎之后,还可以包括如下步骤,如图4中所示:
步骤145:在对象集合中删除与完成消息对应的仿真对象。
具体的,本实施例中在步骤143中接收到仿真引擎针对当前对象传输的完成消息之前或之后,在对象集合中删除与完成消息对应的仿真对象。
由此,在对象集合中去掉已经被仿真运算完成的仿真对象之后,再在对象集合中选择下一个仿真对象作为新的当前对象,可以通过减少对象数量来加快选择效率,在一定程度上也可以提高选择准确率。
进一步的,本实施例中对象集合中的仿真对象均被运算完成可以理解为对象集合为空。也就是说,对象集合中的所有仿真对象均被删除之后,表征对象集合中的所有仿真对象均被仿真运算完成,此时,完成批量仿真运算。
例如,本实施例中所实现的TM从list容器中的第一个测试对象开始,将第一个测试对象发送给SE并删除这个测试对象,SE初始化相应测试对象的参数变量值之后,SE执行第一个测试对象的仿真运算,在执行完成测试对象仿真运算之后,SE将仿真结果保存到磁盘,并发送信号给TM,TM调度list容器中的下一个测试对象传输给SE并删除这个测试对象,由SE执行所接收到的这个测试对象的仿真运算,在执行完成测试对象仿真运算之后,SE将仿真结果保存到磁盘,并发送信号给TM,以此列推,直到TM的list容器中没有未被仿真运算的测试对象,此时TM认为批量仿真完成。
由此可见,本实施例中的技术摒弃了批量仿真运算中每次启动仿真的冗余步骤,使得仿真文件的传输、FMU文件解压以及相应dll等文件的加载等操作只需要执行一次即可,由此可以大大的缩短批量多对象仿真的时间消耗,从而提高了仿真结果取得的效率。
参考图5,为本申请实施例二提供的一种批量仿真控制装置的结构示意图,该装置可以配置在能够进行数据处理的电子设备中,如计算机或服务器等。本实施例中的技术方案主要用于对仿真引擎的仿真运算进行控制,以提高仿真引擎的仿真运算效率。
具体的,本实施例中的装置可以包含如下单元:
对象获得单元501,用于获得对象集合,所述对象集合中至少包含有多个仿真对象;
文件获得单元502,用于根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;
文件发送单元503,用于将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;
对象发送单元504,用于将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
由上述方案可知,本申请实施例二提供的一种批量仿真控制装置中,在仿真引擎进行批量仿真运算之前,将仿真运算所需要的仿真文件现发送给仿真引擎进行预处理,进而在将仿真对象发送给仿真引擎之后,仿真引擎可以直接使用预处理文件对仿真对象进行仿真运算,而无需反复进行仿真文件的预处理操作,由此来减少获得仿真结果的仿真耗时,进而提高仿真效率。
在一种实现方式中,文件获得单元502具体用于:获得所述对象集合中的每个所述仿真对象各自对应的仿真文件,所述仿真对象对应的仿真文件为所述仿真对象被仿真运算时所需要的文件;对所有所述仿真文件进行去冗处理,以得到文件集合。
在一种实现方式中,文件发送单元503具体用于:选择所述对象集合中的一个仿真对象作为当前对象;将所述当前对象发送给所述仿真引擎,以触发所述仿真引擎使用所述当前对象对应的预处理文件对所述当前对象进行仿真运算,得到所述当前对象对应的仿真结果;在接收到所述仿真引擎针对所述当前对象传输的完成消息之后,选择所述对象集合中的下一个仿真对象作为当前对象,返回执行所述步骤:将所述当前对象发送给所述仿真引擎,直到所述对象集合中的仿真对象均被运算完成。
基于此,文件发送单元503在接收到所述仿真引擎针对所述当前对象传输的完成消息之后,在选择所述对象集合中的下一个仿真对象作为当前对象之前,还用于:在所述对象集合中删除与所述完成消息对应的仿真对象。
其中,所述对象集合中的仿真对象均被运算完成,包括:所述对象集合为空。
在一种实现方式中,所述预处理包含:解压所述仿真文件和加载所述仿真文件对应的解压文件。
在一种实现方式中,所述仿真对象对应有至少一项仿真参数,所述仿真参数的参数值不同,以使得所述仿真引擎分别根据所述仿真对象对应的每项所述仿真参数使用所述预处理文件对所述仿真对象进行仿真运算。
在一种实现方式中,对象获得单元501具体用于:根据包含有多个仿真对象的仿真列表,获得对象集合;其中,所述仿真列表基于对所述仿真对象的添加输入操作生成。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图6,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为能够进行数据处理的电子设备,如计算机或服务器等。本实施例中的技术方案主要用于对仿真引擎的仿真运算进行控制,以提高仿真引擎的仿真运算效率。
具体的,本实施例中的电子设备可以包含如下结构:
存储器601,用于存储应用程序及所述应用程序运行所产生的数据;
处理器602,用于执行所述应用程序,以实现:获得对象集合,所述对象集合中至少包含有多个仿真对象;根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
由上述方案可知,本申请实施例三提供的一种电子设备中,在仿真引擎进行批量仿真运算之前,将仿真运算所需要的仿真文件现发送给仿真引擎进行预处理,进而在将仿真对象发送给仿真引擎之后,仿真引擎可以直接使用预处理文件对仿真对象进行仿真运算,而无需反复进行仿真文件的预处理操作,由此来减少获得仿真结果的仿真耗时,进而提高仿真效率。
以电子设备为运行有能够与仿真引擎进行通信的TM的服务器为例,本实施例中所实现的TM和SE可以不运行于同一机器如同一计算机或服务器上,它们之间通过tcp通讯进行数据文件传输,并实现消息的互通,使得TM完成多测试对象仿真任务的调度,并减少冗余步骤。
TM实现的机制如图7中所示,工程1-n分别为待仿真的测试对象,在用户将这些测试对象添加到待仿真列表之后,TM将这些测试对象导入到list容器中,此时list容器中存储所有测试对象的信息,其中包含测试对象参数等,同时TM在vector容器中存储所有测试对象所需要的仿真文件,基于此,TM与SE之间通过TCP传输测试对象、仿真文件以及仿真结果对应的消息等,实现批量仿真运算。
具体实现时序图如图8中所示:
1、用户依次向TM的待仿真列表添加多个工程作为测试对象;
2、TM把多个测试对象存储成list容器;
3、TM分析多个测试对象所需要的所有仿真文件,删除重复,存储到vector容器中;
4、TM连接SE;
5、SE向TM应答连接成功;
6、TM把vector容器中的所有仿真文件通过TCP发送给SE;
7、SE向TM应答接收成功;
8、SE解压接收到的仿真文件如FMU文件并加载对应的dll、csv、python等文件;
9、SE通知TM解压完成,以提示TM可以向SE发送测试对象即前文中的仿真对象;
10、TM判断list容器中的测试对象不为空的情况下,取第一个测试对象发送给SE,并从list容器中删除第一个测试对象;
11、SE执行一个测试对象的仿真运算;
12、SE通知TM当前的测试对象仿真完成;
其中,循环执行步骤10-12,直到list容器为空跳出循环,执行步骤13;
13、TM在list容器为空的情况下,通知SE仿真返回;
14、SE将仿真结果返回给TM;
15、TM提示用户批量仿真完成。
综上所述,本实施例所实现的TM中,用户可以预设多个工程的批量仿真,在仿真过程中优化了不必要的文件重复传输、解压、加载等步骤,使得仿真结果的取得变得更高效。可见,本申请所提出的一种多工程批量高效仿真的方法只需要用户在仿真之前把要测试的工程加入仿真列表,仿真执行后,优化了重复的冗余步骤,大大缩短了仿真用时。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种批量仿真控制方法,其特征在于,包括:
获得对象集合,所述对象集合中至少包含有多个仿真对象;
根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;
将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;
将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
2.根据权利要求1所述的方法,其特征在于,根据所述对象集合,获得文件集合,包括:
获得所述对象集合中的每个所述仿真对象各自对应的仿真文件,所述仿真对象对应的仿真文件为所述仿真对象被仿真运算时所需要的文件;
对所有所述仿真文件进行去冗处理,以得到文件集合。
3.根据权利要求1所述的方法,其特征在于,将所述对象集合中的所述仿真对象发送给所述仿真引擎,包括:
选择所述对象集合中的一个仿真对象作为当前对象;
将所述当前对象发送给所述仿真引擎,以触发所述仿真引擎使用所述当前对象对应的预处理文件对所述当前对象进行仿真运算,得到所述当前对象对应的仿真结果;
在接收到所述仿真引擎针对所述当前对象传输的完成消息之后,选择所述对象集合中的下一个仿真对象作为当前对象,返回执行所述步骤:将所述当前对象发送给所述仿真引擎,直到所述对象集合中的仿真对象均被运算完成。
4.根据权利要求3所述的方法,其特征在于,将所述当前对象发送给所述仿真引擎之后,所述方法还包括:
在所述对象集合中删除与所述完成消息对应的仿真对象。
5.根据权利要求4所述的方法,其特征在于,所述对象集合中的仿真对象均被运算完成,包括:
所述对象集合为空。
6.根据权利要求1、2或3所述的方法,其特征在于,所述预处理包含:解压所述仿真文件和加载所述仿真文件对应的解压文件。
7.根据权利要求1所述的方法,其特征在于,所述仿真对象对应有至少一项仿真参数,所述仿真参数的参数值不同,以使得所述仿真引擎分别根据所述仿真对象对应的每项所述仿真参数使用所述预处理文件对所述仿真对象进行仿真运算。
8.根据权利要求1所述的方法,其特征在于,获得对象集合,包括:
根据包含有多个仿真对象的仿真列表,获得对象集合;
其中,所述仿真列表基于对所述仿真对象的添加输入操作生成。
9.一种批量仿真控制装置,其特征在于,包括:
对象获得单元,用于获得对象集合,所述对象集合中至少包含有多个仿真对象;
文件获得单元,用于根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;
文件发送单元,用于将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;
对象发送单元,用于将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
10.一种电子设备,其特征在于,包括:
存储器,用于存储应用程序及所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得对象集合,所述对象集合中至少包含有多个仿真对象;根据所述对象集合,获得文件集合,所述文件集合中至少包含至少一个仿真文件;将所述文件集合发送给仿真引擎,以触发所述仿真引擎对所述文件集合中的仿真文件进行预处理,得到所述仿真文件对应的预处理文件;将所述对象集合中的所述仿真对象发送给所述仿真引擎,以触发所述仿真引擎使用所述预处理文件对所述仿真对象进行仿真运算,得到所述仿真对象对应的仿真结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625700.XA CN113254157B (zh) | 2021-06-04 | 2021-06-04 | 批量仿真控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625700.XA CN113254157B (zh) | 2021-06-04 | 2021-06-04 | 批量仿真控制方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254157A true CN113254157A (zh) | 2021-08-13 |
CN113254157B CN113254157B (zh) | 2023-07-28 |
Family
ID=77186413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110625700.XA Active CN113254157B (zh) | 2021-06-04 | 2021-06-04 | 批量仿真控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254157B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130759A (zh) * | 2023-10-23 | 2023-11-28 | 北京世冠金洋科技发展有限公司 | 仿真引擎的启停控制方法、装置及仿真系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268346A (zh) * | 2014-09-30 | 2015-01-07 | 中国人民解放军国防科学技术大学 | 一种基于对象类交互图的仿真应用可视化集成环境的实现方法 |
CN106951576A (zh) * | 2016-01-06 | 2017-07-14 | 北京仿真中心 | 一种仿真试验评估系统及评估方法 |
CN108334675A (zh) * | 2018-01-18 | 2018-07-27 | 北京航空航天大学 | 数字飞行器工况集批量仿真的人工智能处理方法及系统 |
CN110211447A (zh) * | 2019-05-28 | 2019-09-06 | 北京建筑大学 | 一种批量微观交通仿真实验自动化实现方法及系统 |
CN111199079A (zh) * | 2018-10-30 | 2020-05-26 | 百度在线网络技术(北京)有限公司 | 仿真任务调度方法和装置 |
-
2021
- 2021-06-04 CN CN202110625700.XA patent/CN113254157B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268346A (zh) * | 2014-09-30 | 2015-01-07 | 中国人民解放军国防科学技术大学 | 一种基于对象类交互图的仿真应用可视化集成环境的实现方法 |
CN106951576A (zh) * | 2016-01-06 | 2017-07-14 | 北京仿真中心 | 一种仿真试验评估系统及评估方法 |
CN108334675A (zh) * | 2018-01-18 | 2018-07-27 | 北京航空航天大学 | 数字飞行器工况集批量仿真的人工智能处理方法及系统 |
CN111199079A (zh) * | 2018-10-30 | 2020-05-26 | 百度在线网络技术(北京)有限公司 | 仿真任务调度方法和装置 |
CN110211447A (zh) * | 2019-05-28 | 2019-09-06 | 北京建筑大学 | 一种批量微观交通仿真实验自动化实现方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130759A (zh) * | 2023-10-23 | 2023-11-28 | 北京世冠金洋科技发展有限公司 | 仿真引擎的启停控制方法、装置及仿真系统 |
CN117130759B (zh) * | 2023-10-23 | 2024-01-16 | 北京世冠金洋科技发展有限公司 | 仿真引擎的启停控制方法、装置及仿真系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113254157B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9465724B2 (en) | Method, program, and system for generating test cases | |
CN113485880A (zh) | 测试方法及装置 | |
CN111813686A (zh) | 一种游戏测试方法、装置、测试终端及存储介质 | |
CN113254157B (zh) | 批量仿真控制方法、装置及电子设备 | |
CN108829802B (zh) | 关联日志回放方法及装置 | |
CN112702225A (zh) | 云平台性能测试装置、方法、计算机终端和可读存储介质 | |
CN112905451A (zh) | 应用程序的自动化测试方法及装置 | |
CN109985387B (zh) | 自动化测试方法和装置 | |
CN113238935A (zh) | 应用测试方法、系统、设备、介质及计算机程序产品 | |
CN116107913B (zh) | 单节点服务器的测试控制方法、装置及系统 | |
CN113128986A (zh) | 长链路交易的报错处理方法及装置 | |
CN108153677A (zh) | 智能终端的测试方法及智能终端 | |
CN114253814A (zh) | 游戏服务器压力测试方法及装置 | |
CN109684196B (zh) | 一种测试方法及装置 | |
CN113746665B (zh) | 日志数据处理方法、装置及存储介质 | |
CN110752964A (zh) | 一种网络设备的测试方法及装置 | |
CN115757186A (zh) | 一种软件接口的性能测试方法、装置、设备及介质 | |
CN114091687A (zh) | 机器学习模型自动交付和部署的方法及装置 | |
CN105358226A (zh) | 游戏系统的控制方法及游戏系统 | |
CN113610242A (zh) | 数据处理方法、装置和服务器 | |
CN112184027A (zh) | 任务进度更新方法、装置及存储介质 | |
CN112148621A (zh) | 一种测试方法、装置及电子设备 | |
CN112579451A (zh) | 一种基于测试元素排序的测试方法、装置及设备 | |
CN111562982B (zh) | 请求数据的处理方法及装置、计算机可读存储介质、电子设备 | |
CN116089187B (zh) | 一种gpu测试系统、电子设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |