CN117130759A - 仿真引擎的启停控制方法、装置及仿真*** - Google Patents
仿真引擎的启停控制方法、装置及仿真*** Download PDFInfo
- Publication number
- CN117130759A CN117130759A CN202311370647.9A CN202311370647A CN117130759A CN 117130759 A CN117130759 A CN 117130759A CN 202311370647 A CN202311370647 A CN 202311370647A CN 117130759 A CN117130759 A CN 117130759A
- Authority
- CN
- China
- Prior art keywords
- engine
- target
- simulation
- equipment
- request
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 665
- 238000000034 method Methods 0.000 title claims abstract description 218
- 230000008569 process Effects 0.000 claims description 135
- 238000012216 screening Methods 0.000 claims description 49
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
本申请公开了一种仿真引擎的启停控制方法、装置及仿真***中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,第一设备按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
Description
技术领域
本申请涉及仿真技术领域,尤其涉及一种仿真引擎的启停控制方法、装置及仿真***。
背景技术
建模工具在完成仿真模型的创作后,需要调用一个或多个仿真引擎来运行仿真模型,以验证仿真模型的运行状态或结果。例如,在局域网内开启一台电脑安装建模工具以实现仿真模型的创作,再通过其他电脑运行仿真引擎以模拟或验证仿真模型。
但是这种方案中,每次需要使用仿真引擎的时候,都需要用户手动核对仿真引擎的使用情况并按照各仿真引擎的使用情况针对仿真引擎的使用请求输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口。
可见,这种方案会导致为仿真模型分配仿真引擎的效率较低。
发明内容
有鉴于此,本申请提供一种仿真引擎的启停控制方法、装置及仿真***,用以解决现有技术中为仿真模型分配仿真引擎的效率较低的技术问题,如下:
一种仿真引擎的启停控制方法,应用于第一设备,所述第一设备连接有第二设备,所述第二设备上存储有多个仿真引擎对应的引擎信息,所述多个仿真引擎配置在多个第三设备上,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识,所述方法包括:
获得第四设备的仿真请求;所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量;
按照所述目标数量,在所述第二设备中,获得目标引擎对应的引擎信息;所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
根据所述目标引擎对应的引擎信息,生成索取请求,所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;
按照所述索取请求中的设备地址,将所述索取请求发送给所述目标引擎所在的目标设备,以使得所述目标设备按照所述索取请求启动所述目标引擎;
接收所述目标设备发送的所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址;
根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,以使得所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
上述方法,优选的,所述方法还包括:
接收所述第四设备发送的结束请求,所述结束请求表征所述仿真任务执行完成,所述结束请求至少包括:所述目标设备的设备地址、所述目标引擎在所述目标设备中的进程标识;
根据所述结束请求中所述目标设备的设备地址,向所述目标设备发送关闭请求,以使得所述目标设备按照所述目标引擎在所述目标设备中的进程标识关闭所述目标引擎并更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识。
上述方法,优选的,所述方法还包括:
监测所述第二设备上每个所述仿真引擎对应的使用状态标识;
在所述仿真引擎对应的使用状态标识满足控制条件的情况下,每隔第一时长向所述仿真引擎发送一次第一消息,以使得所述仿真引擎针对所述第一消息向所述第一设备发送第二消息;
如果连续N次没有接收到所述仿真引擎发送的所述第二消息,删除所述第二设备中所述仿真引擎所在的第三设备上所有仿真引擎对应的引擎信息,N为大于或等于1的正整数。
一种仿真引擎的启停控制方法,应用于多个第三设备中的目标设备,所述多个第三设备上配置有多个仿真引擎,所述方法包括:
接收第一设备发送的索取请求;所述索取请求为所述第一设备响应于第四设备发送的仿真请求根据在第二设备中获得的目标引擎对应的引擎信息生成;所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;所述第一设备还根据所述目标引擎对应的引擎信息,更新第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
其中,所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述仿真请求中的目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
按照所述索取请求启动所述目标引擎;
向所述第一设备发送所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址,以使得所述第一设备根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
上述方法,优选的,所述方法还包括:
每隔第二时长检测一次所述仿真引擎的使用状态标识;
如果连续M次检测到的使用状态标识表征所述仿真引擎处于占用状态且处于空闲状态,关闭所述仿真引擎并更新所述第二设备中所述仿真引擎对应的使用状态标识、启动时间标识,M为大于或等于1的正整数。
一种仿真引擎的启停控制方法,应用于第四设备,所述方法包括:
发送仿真请求给第一设备,所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量,以使得所述第一设备在第二设备中获得目标引擎对应的引擎信息,根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识,所述第一设备还根据所述目标引擎对应的引擎信息生成索取请求并发送给所述目标引擎所在的目标设备,所述目标设备按照所述索取请求启动所述目标引擎;
其中,所述目标引擎为多个第三设备上配置的多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
接收所述第一设备发送的启动请求,所述启动请求为所述第一设备根据接收到的所述目标设备发送的所述目标引擎对应的引擎信息生成的请求;所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址;
至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
一种仿真引擎的启停控制装置,配置在第一设备,所述第一设备连接有第二设备,所述第二设备上存储有多个仿真引擎对应的引擎信息,所述多个仿真引擎配置在多个第三设备上,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识,所述装置包括:
请求获得单元,用于获得第四设备的仿真请求;所述仿真请求包括所述仿真请求对应的操作***的类型标识和目标数量;
引擎获得单元,用于按照所述目标数量,在所述第二设备中,获得目标引擎对应的引擎信息;所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
标识更新单元,用于根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
请求生成单元,用于根据所述目标引擎对应的引擎信息,生成索取请求,所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;
请求发送单元,用于按照所述索取请求中的设备地址,将所述索取请求发送给所述目标引擎所在的目标设备,以使得所述目标设备按照所述索取请求启动所述目标引擎;
信息接收单元,用于接收所述目标设备发送的所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址;
信息发送单元,用于根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,以使得所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
一种仿真引擎的启停控制装置,配置在多个第三设备中的目标设备,所述多个第三设备上配置有多个仿真引擎,所述装置包括:
请求接收单元,用于接收第一设备发送的索取请求;所述索取请求为第一设备响应于第四设备发送的仿真请求根据在第二设备中获得的目标引擎对应的引擎信息生成;所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;所述第一设备还根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
其中,所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于所述等于所述仿真请求中的目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
引擎启动单元,用于按照所述索取请求启动所述目标引擎;
信息发送单元,用于向所述第一设备发送所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址,以使得所述第一设备根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
一种仿真引擎的启停控制装置,配置在第四设备,所述装置包括:
请求发送单元,用于发送仿真请求给第一设备,所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量,以使得所述第一设备在第二设备中获得目标引擎对应的引擎信息,根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识,所述第一设备还根据所述目标引擎对应的引擎信息生成索取请求并发送给所述目标引擎所在的目标设备,所述目标设备按照所述索取请求启动所述目标引擎;
其中,所述目标引擎为多个第三设备上配置的多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
请求接收单元,用于接收所述第一设备发送的启动请求,所述启动请求为所述第一设备根据接收到的所述目标设备发送的所述目标引擎对应的引擎信息生成的请求;所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址;
连接建立单元,用于至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
一种仿真***,所述仿真***包括:
第一设备、第二设备、多个第三设备和至少一个第四设备,每个所述第三设备上配置有至少一个仿真引擎,所述第一设备连接所述第二设备,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
其中:
所述第四设备发送仿真请求给所述第一设备;所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量;
所述第一设备按照所述目标数量,在所述第二设备中,获得目标引擎对应的引擎信息;所述目标引擎为多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
所述第一设备根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
所述第一设备根据所述目标引擎对应的引擎信息,生成索取请求,所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;
所述第一设备按照所述索取请求中的设备地址,将所述索取请求发送给所述目标引擎所在的目标设备;
所述目标设备按照所述索取请求启动所述目标引擎;
所述目标设备发送所述目标引擎对应的引擎信息给所述第一设备;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址;
所述第一设备根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备;所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址;
所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
从上述技术方案可以看出,本申请公开的一种仿真引擎的启停控制方法,装置及仿真***中,为第一设备配置第二设备,在第二设备中保存配置在第三设备上的仿真引擎对应的引擎信息,如仿真引擎对应的操作***的类型标识、使用状态标识、所在第三设备的设备地址、启动时间标识、使用端口标识、进程标识等信息,这样,在第一设备上接收到第四设备的仿真请求之后,在第二设备上获得数量小于或等于仿真请求中的目标数量且满足筛选条件的目标引擎,之后,第一设备先更新第二设备上目标引擎对应的使用状态标识和启动时间标识,以便于后续使用,然后再生成索取请求并发送给目标引擎所在的目标设备,以使得目标设备按照索取请求启动目标引擎并将目标引擎对应的引擎信息发送给第一设备,由此第一设备据此发送启动请求给第四设备,在第四设备上就可以根据启动请求建立与目标引擎之间的数据连接,以使得目标引擎能够执行第二设备的仿真任务。可见,本申请在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种仿真引擎的启停控制方法的实现流程图;
图2为本申请实施例一中仿真***的架构示意图;
图3为本申请实施例一提供的一种仿真引擎的启停控制方法的另一流程图;
图4为本申请实施例一提供的一种仿真引擎的启停控制方法中进行异常监测的流程图;
图5为本申请实施例二提供的一种仿真引擎的启停控制方法的流程图;
图6为本申请实施例二提供的一种仿真引擎的启停控制方法中进行异常监测的流程图;
图7为本申请实施例三提供的一种仿真引擎的启停控制方法的流程图;
图8为本申请实施例三提供的一种仿真引擎的启停控制方法的另一流程图;
图9为本申请实施例四提供的一种仿真引擎的启停控制装置的结构示意图;
图10为本申请实施例四提供的一种仿真引擎的启停控制装置的另一结构示意图;
图11为本申请实施例五提供的一种仿真引擎的启停控制装置的结构示意图;
图12为本申请实施例六提供的一种仿真引擎的启停控制装置的结构示意图;
图13为本申请实施例十提供的一种仿真***的***架构图;
图14为本申请实施例十提供的一种仿真***中第一设备1301、第二设备1302、多个第三设备1303和至少一个第四设备1304之间的交互示意图;
图15为本申请适用于航天仿真场景中的仿真***架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1所示,为本申请实施例一提供的一种仿真引擎的启停控制方法的实现流程图,该方法可以应用于第一设备,第一设备为如图2所示的仿真***中的中心控制设备,仿真***中还包括第二设备、多个第三设备和至少一个第四设备,其中,第一设备连接有第二设备,第二设备上存储有多个仿真引擎对应的引擎信息,多个仿真引擎配置在多个第三设备上,每个第三设备上配置有至少一个仿真引擎,仿真引擎处于可用状态(即关闭状态或待机状态)或处于占用状态。第二设备中的仿真引擎对应的引擎信息至少包括:仿真引擎对应的操作***的类型标识、仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎的启动时间标识、仿真引擎在第三设备中的使用端口标识、仿真引擎在第三设备中的进程标识。第四设备用于构建仿真模型并需要使用仿真引擎对仿真模型进行处理。另外,第一设备中可以配置有冗余设备,以保证可靠性。
基于此,本实施例中的方法可以包括以下步骤:
步骤101:获得第四设备的仿真请求;仿真请求包括:仿真请求对应的操作***的类型标识和目标数量;
例如,第四设备在构建仿真模型之后,按照所需要的仿真引擎的目标数量生成仿真请求,再将仿真请求通过与第一设备之间的数据连接发送给第一设备。
在具体实现中,第四设备上的仿真任务要求特定操作***的仿真引擎,第四设备所发送的仿真请求中还包括类型标识,类型标识表征仿真任务所属的操作***的类型,如Windows、Mac、Linux等。第三设备上配置有对应于不同操作***类型的仿真引擎。
需要说明的是,仿真请求中还包括有认证信息如第四设备的授权码等信息,在第一设备获得第四设备的仿真请求之后,先根据仿真请求中的认证信息对第四设备进行合法性验证,如在第一设备的认证集合中查找是否包含该仿真请求中的认证信息,如果在第一设备的认证集合中包含该仿真请求中的认证信息,那么表征第四设备通过合法性验证,允许执行后续步骤,如果在第一设备的认证集合中没有查找到该仿真请求中的认证信息,那么表征第四设备没有通过合法性验证,此时不允许执行后续流程,即第一设备不再为第四设备分配仿真引擎。
步骤102:按照目标数量,在第二设备中,获得目标引擎对应的引擎信息。
其中,目标引擎为多个仿真引擎中满足筛选条件的仿真引擎,且,目标引擎的数量小于或等于目标数量。
这里的筛选条件包括:目标引擎对应的类型标识与仿真请求中的类型标识一致、目标引擎的使用状态标识表征目标引擎处于可用状态、目标引擎的启动时间标识表征目标引擎未启动。
需要说明的是,这些目标引擎可以为配置在同一个第三设备上的仿真引擎,或者,这些目标引擎可以为配置在多个不同的第三设备上的仿真引擎。目标引擎所在的第三设备可以称为目标设备。
具体的,第一设备在第二设备所保存的引擎信息中,按照筛选条件,将对应的引擎信息中类型标识与仿真请求中的类型标识一致、使用状态标识表征处于可用状态且启动时间标识表征未启动的仿真引擎筛选出来,然后根据筛选出来的仿真引擎确定为目标引擎,最后获得这些目标引擎对应的引擎信息。
需要说明的是,第一设备在第二设备中依次筛选对应的引擎信息满足筛选条件的仿真引擎,将在先被筛选出来的仿真引擎依次确定为目标引擎,直到被筛选出来的目标引擎的数量到达目标数量,不再进行筛选,此时目标引擎的数量等于目标数量,或者,直到第二设备中所有引擎信息对应的仿真引擎均被筛选一次,即使目标引擎的数量仍然没有到达目标数量,也不再进行筛选,此时目标引擎的数量小于目标数量。
步骤103:根据目标引擎对应的引擎信息,更新第二设备中目标引擎对应的使用状态标识、启动时间标识。
其中,目标引擎对应的引擎信息至少包括:目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识。
需要说明的是,此时目标引擎还未被启动,该目标引擎对应的引擎信息中,启动时间标识为预设的极大值标识,使用状态标识表征目标引擎处于可用状态,进程标识可以为特定标识或为空。
具体的,第一设备在第二设备中获得目标引擎对应的引擎信息之后,对第二设备中目标引擎对应的引擎信息进行更新,即:将第二设备中目标引擎对应的引擎信息中的使用状态标识设置为表征目标引擎处于占用状态,将第二设备中目标引擎对应的引擎信息中的启动时间标识设置为第二设备的当前时间,表征目标引擎从该时间起被占用,但该目标引擎还未被启动,由此可以避免在该目标引擎被第四设备启动之前被其他设备占用从而造成冲突的情况。
需要说明的是,第一设备更新第二设备中目标引擎对应的使用状态标识、启动时间标识的同时,同步更新所获得到的目标引擎对应的引擎信息。
步骤104:根据目标引擎对应的引擎信息,生成索取请求。
其中,索取请求中至少包括:目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识。
具体的,第一设备在生成索取请求时,将目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识添加到索取请求中,并使用第一设备与第三设备之间对应的预设密钥对这些信息进行签名处理,将得到的签名信息也添加到索取请求中,基于此,在索取请求中除了包括目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识,还包括一个签名信息。
需要说明的是,目标引擎可以有一个或多个,基于此,索取请求中也包括一个或多个目标引擎各自对应的引擎信息以及所有目标引擎对应的引擎信息经过密钥签名所得到的一个签名信息。
步骤105:按照索取请求中的设备地址,将索取请求发送给目标引擎所在的目标设备,以使得目标设备按照索取请求启动目标引擎。
其中,目标设备在接收到索取请求之后,提取出索取请求中每个目标引擎对应的引擎信息。进一步的,目标设备还可以从索取请求中提取出一个签名信息,据此目标设备可以先使用与第一设备之间对应的预设密钥对索取请求中的目标引擎对应的引擎信息进行签名,以得到一个签名信息,将该签名信息与索取请求中提取到的签名信息进行比对,如果两个签名信息一致,那么表征该索取请求通过合法性验证,此时可以执行后续流程,如目标设备启动目标引擎,否则表征索取请求没有通过合法性验证,此时不允许执行后续流程,即目标设备不启动目标引擎,第一设备也不再为第四设备分配仿真引擎。
需要说明的是,目标设备在启动目标引擎后,将目标引擎对应的引擎信息返回给第一设备。目标引擎对应的引擎信息至少包括:目标引擎在目标设备中的进程标识、使用端口标识、目标设备的设备地址,还可以包括:目标引擎在目标设备中的启动时间标识等信息。
具体的,仿真***的每个第三设备均配置有自己的状态列表,状态列表中包括每个仿真引擎对应的引擎信息,状态列表中仿真引擎对应的引擎信息包括:仿真引擎所在第三设备的设备地址、仿真引擎在第三设备上所使用的使用端口标识、仿真引擎在第三设备上的启动时间标识、进程标识等信息。
基于此,目标设备在接收到索取请求之后,可以按照索取请求中的使用端口标识等信息定位目标引擎并启动目标引擎,之后根据目标引擎的读取启动时间更新状态列表中该目标引擎对应的启动时间标识,根据目标引擎的进程标识更新状态列表中该目标引擎对应的进程标识,再将状态列表中目标引擎对应的引擎信息发送给第二设备,以更新第二设备中目标引擎对应的引擎信息中的进程标识、启动时间标识等信息。
进一步的,目标设备在发送目标引擎对应的引擎信息时,可以携带目标设备的验证标识如token等信息,验证标识用于验证后续连接到目标引擎的第四设备的合法性。
步骤106:接收目标设备发送的目标引擎对应的引擎信息。
步骤107:根据目标引擎对应的引擎信息发送启动请求给第四设备,以使得第四设备至少根据启动请求建立与目标引擎之间的数据连接。
其中,启动请求包括:目标引擎在目标设备中的进程标识、使用端口标识以及目标设备的设备地址。基于此,第一设备将启动请求发送给第四设备后,第四设备可以按照启动请求中的目标设备的设备地址,向启动请求中的进程标识和使用端口标识在目标设备上对应的仿真引擎发起连接请求,以建立第四设备与目标设备上目标引擎之间的数据连接,由此通过目标引擎为第四设备执行仿真任务,如模拟运行第四设备上的仿真模型等。
需要说明的是,启动请求中还可以包含目标设备的验证标识。基于此,目标设备在接收到第四设备发送的连接请求之后,先验证连接请求中的验证标识,例如,将连接请求中验证标识与目标设备本地保存的验证标识进行比对,如果一致,第四设备与目标设备上目标引擎之间建立数据连接,如果不一致,结束当前流程,目标设备随即可以关闭目标引擎,并向第二设备发送目标引擎对应的验证异常信息,以表征第四设备连接异常,并据此更新第二设备中目标引擎对应的引擎信息中的进程标识、启动时间标识等信息,而在第一设备上也不再执行后续流程。
需要说明的是,初始状态下,第二设备中的引擎信息可以有不同的获取方式:
在一种方式中,第二设备或第一设备可以向第三设备发送查询请求,以使得第三设备将每个仿真引擎对应的引擎信息上传给第二设备。之后,随着第四设备向第一设备请求分配仿真引擎的过程中各个仿真引擎的启停,第二设备上实时更新仿真引擎对应的引擎信息。
在另一种方式中,第三设备主动向第二设备发送仿真引擎对应的引擎信息。之后,随着第四设备向第一设备请求分配仿真引擎的过程中各个仿真引擎的启停,第二设备上实时更新仿真引擎对应的引擎信息。
可见,本申请实施例一提供的一种仿真引擎的启停控制方法中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
基于图1所示的实现方案,在步骤107之后,在第一设备中还可以有如下处理步骤,如图3中所示:
步骤108:接收第四设备发送的结束请求。
其中,结束请求表征仿真任务执行完成,结束请求至少包括:目标设备的设备地址、目标引擎在目标设备中的进程标识。
需要说明的是,结束请求由第四设备在仿真任务被执行完成即不需要使用仿真引擎的情况下生成并发送给第一设备,以指示第一设备关闭执行该仿真任务的目标引擎。而结束请求中的设备地址和进程标识由第四设备在接收到目标引擎对应的启动请求时获得,或者,结束请求中的设备地址和进程标识由第四设备在使用目标引擎执行仿真任务时从目标引擎获得。
另外,结束请求中可以包含有认证信息如第四设备的授权码等信息,在第一设备获得第四设备的结束请求之后,先根据结束请求中的认证信息对第四设备进行合法性验证,如在第一设备的认证集合中查找是否包含该结束请求中的认证信息,如果在第一设备的认证集合中包含该结束请求中的认证信息,那么表征第四设备通过合法性验证,允许执行后续步骤,如果在第一设备的认证集合中没有查找到该结束请求中的认证信息,那么表征第四设备没有通过合法性验证,此时不允许执行后续流程,即第一设备不再为第四设备关闭仿真引擎。
步骤109:根据结束请求中目标设备的设备地址,向目标设备发送关闭请求,以使得目标设备按照目标引擎在目标设备中的进程标识关闭目标引擎并更新第二设备中目标引擎对应的使用状态标识、启动时间标识。
其中,关闭请求中可以包括有目标引擎在目标设备中的进程标识、目标设备的设备地址、类型标识等信息,以便于目标设备按照关闭请求中的进程标识定位目标引擎并关闭定位到的目标引擎。
另外,关闭请求中还可以包含有一个签名信息,该签名信息由第一设备对进程标识、设备地址、类型标识等信息使用与目标设备之间的预设密钥进行签名计算所得到的签名信息。目标设备在接收到关闭请求之后,可以先使用与第一设备之间的预设密钥对关闭请求中的进程标识、设备地址、类型标识等信息进行签名计算,得到一个签名信息,将该签名新与关闭请求中的签名信息进行比对,如果两个签名信息一致,那么表明关闭请求通过合法性验证,此时目标设备可以关闭相应的目标引擎并更新第二设备中目标引擎对应的使用状态标识、启动时间标识,如果两个签名信息不一致,那么目标设备忽略该关闭请求。
需要说明的是,在目标引擎属于不同的目标设备时,第一设备按照不同的目标设备分别生成相应的关闭请求,然后分别将每个关闭请求按照各自相应的设备地址发送给相应的目标设备,以使得每个目标设备按照各自接收到的关闭请求关闭本机上的目标引擎。
进一步的,目标设备在关闭目标引擎后,还可以向第一设备发送结束反馈信息,第一设备向第四设备发送结束反馈信息,以表征目标引擎已经被关闭。
基于图1所示的实现方案,在第一设备还可以有如下处理步骤,如图4中所示:
步骤110:监测第二设备上每个仿真引擎对应的使用状态标识,在仿真引擎对应的使用状态标识满足控制条件的情况下,执行步骤111;在仿真引擎对应的使用状态标识不满足控制条件的情况下,继续执行步骤110。
其中,控制条件为:仿真引擎被启动后处于空闲状态的持续时长超过目标时长。例如,仿真引擎被某个第四设备占用后持续12小时处于空闲状态。
步骤111:每隔第一时长向仿真引擎发送一次第一消息,以使得仿真引擎针对第一消息向第一设备发送第二消息。
其中,第一时长可以根据需求设置,如10秒。
步骤112:判断是否N次没有接收到仿真引擎发送的第二消息,如果连续N次没有接收到仿真引擎发送的第二消息,执行步骤113,否则,返回执行步骤110。
步骤113:根据仿真引擎所在第三设备的设备地址,删除第二设备中仿真引擎所在的第三设备上所有仿真引擎对应的引擎信息。
其中,N为大于或等于1的正整数,如3。
例如,在超过3次没有接收到仿真引擎向第一设备反馈的第二消息时,可以确定该仿真引擎所在的第三设备异常,此时将第二设备中该仿真引擎所在的第三设备上所有的仿真引擎对应的引擎信息进行删除。如果后续该第三设备重新连接到第二设备和第一设备,那么再重新在第二设备上初始化该第三设备上所有仿真引擎对应的引擎信息。
参考图5,为本申请实施例二提供的一种仿真引擎的启停控制方法的实现流程图,该方法可以应用于仿真***中的多个第三设备中的目标设备,目标设备为多个第三设备中有仿真引擎被确定为目标引擎的设备,如图2中所示的任意一个第三设备都可以作为目标设备执行本实施例中的技术方案。
具体的,本实施例中的方法可以包括以下步骤:
步骤501:接收第一设备发送的索取请求。
其中,索取请求为第一设备响应于第四设备发送的仿真请求根据在第二设备中获得的目标引擎对应的引擎信息生成。索取请求中至少包括:目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识。
另外,第一设备还根据目标引擎对应的引擎信息,更新第二设备中目标引擎对应的使用状态标识、启动时间标识。
其中,目标引擎为多个仿真引擎中满足筛选条件的仿真引擎,且,目标引擎的数量小于或等于仿真请求中的目标数量。
步骤502:按照索取请求启动目标引擎。
其中,在索取请求中除了包括目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识,还包括一个签名信息。
步骤503:向第一设备发送目标引擎对应的引擎信息。
步骤504:接收第四设备发送的连接请求。
其中,连接请求为:第一设备将启动请求发送给第四设备后,第四设备发送的请求。连接请求由第四设备按照启动请求中的目标设备的设备地址,向启动请求中的进程标识和使用端口标识在目标设备上对应的仿真引擎生成。启动请求包括:目标引擎在目标设备中的进程标识、使用端口标识以及目标设备的设备地址。启动请求由第一设备根据目标引擎对应的引擎信息生成。
步骤505:建立与目标引擎之间的数据连接。
其中,目标引擎对应的引擎信息至少包括:目标引擎在目标设备中的进程标识、使用端口标识、目标设备的设备地址、验证标识等信息。基于此,第一设备根据目标引擎对应的引擎信息发送启动请求给第四设备,启动请求包括:目标引擎在目标设备中的进程标识、使用端口标识以及目标设备的设备地址,由此,第四设备至少根据启动请求建立与目标引擎之间的数据连接,目标引擎用于执行第四设备的仿真任务。
具体的,目标设备在接收到索取请求之后,提取出索取请求中每个目标引擎对应的引擎信息。进一步的,目标设备还可以从索取请求中提取出一个签名信息,据此目标设备可以先使用与第一设备之间对应的预设密钥对索取请求中的目标引擎对应的引擎信息进行签名,以得到一个签名信息,将该签名信息与索取请求中提取到的签名信息进行比对,如果两个签名信息一致,那么表征该索取请求通过合法性验证,此时可以执行后续流程,如目标设备启动目标引擎,否则表征索取请求没有通过合法性验证,此时不允许执行后续流程,即目标设备不启动目标引擎,第一设备也不再为第四设备分配仿真引擎。
需要说明的是,目标设备在启动目标引擎后,将目标引擎对应的引擎信息返回给第一设备。目标引擎对应的引擎信息至少包括:目标引擎在目标设备中的进程标识、使用端口标识、目标设备的设备地址,还可以包括:目标引擎在目标设备中的启动时间标识等信息。
具体的,仿真***的每个第三设备均配置有自己的状态列表,状态列表中包括每个仿真引擎对应的引擎信息,状态列表中仿真引擎对应的引擎信息包括:仿真引擎所在第三设备的设备地址、仿真引擎在第三设备上所使用的使用端口标识、仿真引擎在第三设备上的启动时间标识、进程标识等信息。
基于此,目标设备在接收到索取请求之后,可以按照索取请求中的使用端口标识等信息定位目标引擎并启动目标引擎,之后根据目标引擎的读取启动时间更新状态列表中该目标引擎对应的启动时间标识,根据目标引擎的进程标识更新状态列表中该目标引擎对应的进程标识,再将状态列表中目标引擎对应的引擎信息发送给第二设备,以更新第二设备中目标引擎对应的引擎信息中的进程标识、启动时间标识等信息。
进一步的,目标设备在发送目标引擎对应的引擎信息时,可以携带目标设备的验证标识如token等信息,验证标识用于验证后续连接到目标引擎的第四设备的合法性。
具体的,第一设备将启动请求发送给第四设备后,第四设备可以按照启动请求中的目标设备的设备地址,向启动请求中的进程标识和使用端口标识在目标设备上对应的仿真引擎发起连接请求,以建立第四设备与目标设备上目标引擎之间的数据连接,由此通过目标引擎为第四设备执行仿真任务,如模拟运行第四设备上的仿真模型等。
需要说明的是,启动请求中还可以包含目标设备的验证标识。基于此,目标设备在接收到第四设备发送的连接请求之后,先验证连接请求中的验证标识,例如,将连接请求中验证标识与目标设备本地保存的验证标识进行比对,如果一致,第四设备与目标设备上目标引擎之间建立数据连接,如果不一致,结束当前流程,目标设备随即可以关闭目标引擎,并向第二设备发送目标引擎对应的验证异常信息,以表征第四设备连接异常,并据此更新第二设备中目标引擎对应的引擎信息中的进程标识、启动时间标识等信息,而在第一设备上也不再执行后续流程。
可见,本申请实施例二提供的一种仿真引擎的启停控制方法中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
基于图5所示的实现方案,在目标设备上还可以有如下处理,如图6中所示:
步骤506:每隔第二时长检测一次仿真引擎的使用状态标识;如果连续M次检测到的使用状态标识表征仿真引擎处于占用状态且处于空闲状态,执行步骤507;否则,继续执行步骤506。
其中,第二时长可以根据需求设置,如3分钟。
步骤507:关闭仿真引擎并更新第二设备中仿真引擎对应的使用状态标识、启动时间标识。
其中,M为大于或等于1的正整数,如3。
例如,在目标设备上超过3次发现仿真引擎处于占用状态但处于空闲状态即没有执行仿真任务,可以确定该仿真引擎已经不再被使用,此时可以关闭该仿真引擎,并更新第二设备中该仿真引擎对应的引擎信息,如更新使用状态标识、启动时间标识等。
参考图7,为本申请实施例三提供的一种仿真引擎的启停控制方法的实现流程图,该方法可以应用于仿真***中的第四设备,如图2中所示的任意一个第四设备都可以执行本实施例中的技术方案。
具体的,本实施例中的方法可以以下步骤:
步骤701:发送仿真请求给第一设备。
其中,仿真请求包括:仿真请求对应的操作***的类型标识和目标数量,以使得第一设备在第二设备中获得目标引擎对应的引擎信息,根据目标引擎对应的引擎信息,更新第二设备中目标引擎对应的使用状态标识、启动时间标识,第一设备还根据目标引擎对应的引擎信息生成索取请求并发送给目标引擎所在的目标设备,目标设备按照索取请求启动目标引擎。
而目标引擎为多个第三设备上配置的多个仿真引擎中满足筛选条件的仿真引擎,且,目标引擎的数量小于或等于目标数量。
需要说明的是,仿真请求中还可以包含第四备的认证信息,以便于第一设备对第四设备进行合法性验证。
步骤702:接收第一设备发送的启动请求。
其中,启动请求为第一设备根据接收到的目标设备发送的目标引擎对应的引擎信息生成的请求。启动请求包括:目标引擎在目标设备中的进程标识、使用端口标识以及目标设备的设备地址。
需要说明的是,目标设备发送的目标引擎对应的引擎信息还可以携带有目标设备的验证标识,以使得启动请求中还可以包含目标设备的验证标识。
步骤703:至少根据启动请求建立与目标引擎之间的数据连接,目标引擎用于执行第四设备的仿真任务。
具体的,第一设备将启动请求发送给第四设备后,第四设备可以按照启动请求中的目标设备的设备地址,向启动请求中的进程标识和使用端口标识在目标设备上对应的仿真引擎发起连接请求,以建立第四设备与目标设备上目标引擎之间的数据连接,由此通过目标引擎为第四设备执行仿真任务,如模拟运行第四设备上的仿真模型等。
进一步的,启动请求中还可以包含目标设备的验证标识,目标设备在接收到第四设备发送的连接请求之后,先验证连接请求中的验证标识,例如,将连接请求中验证标识与目标设备本地保存的验证标识进行比对,如果一致,第四设备与目标设备上目标引擎之间建立数据连接,如果不一致,结束当前流程,目标设备随即可以关闭目标引擎,并向第二设备发送目标引擎对应的验证异常信息,以表征第四设备连接异常,并据此更新第二设备中目标引擎对应的引擎信息中的进程标识、启动时间标识等信息,而在第一设备上也不再执行后续流程。
可见,本申请实施例三提供的一种仿真引擎的启停控制方法中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
基于图7所示的实现方案,在第四设备建立与目标设备中的目标引擎建立之间的数据连接之后,还可以有如下处理步骤,如图8中所示:
步骤704:监测与目标设备之间的数据连接的连接状态,在连接状态满足异常条件的情况下,返回执行步骤703,以重新根据启动请求建立与目标引擎之间的数据连接,执行步骤705;如果连接状态不满足异常条件的情况下,返回继续执行步骤704,直到连接状态满足异常条件。
具体的,第四设备按照特定的周期定时检测与目标设备之间的数据连接的连接状态,如果连续L次连接状态表征目标设备断开连接,第四设备确定与目标设备之间的数据连接的连接状态满足异常条件,也就是说,异常条件可以为:在第四设备上,连续L次检测到连接状态表征目标设备断开连接,L为大于或等于1的正整数,如3。
步骤705:判断第四设备与目标引擎之间的数据连接是否重建成功,如果是,返回执行步骤704,如果否,返回执行步骤701,以重新发送仿真请求给第一设备,以使得第一设备根据第二设备中的引擎信息重新为第四设备确定新的目标引擎,以保证第四设备中仿真任务被执行的可靠性。
参考图9,为本申请实施例四提供的一种仿真引擎的启停控制装置的结构示意图,该装置可以配置在仿真***中的第一设备上,第一设备连接有第二设备,第二设备上存储有多个仿真引擎对应的引擎信息,多个仿真引擎配置在多个第三设备上,仿真引擎对应的引擎信息至少包括:仿真引擎对应的操作***的类型标识、仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎的启动时间标识、仿真引擎在第三设备中的使用端口标识、仿真引擎在第三设备中的进程标识,该装置可以包括以下单元:
请求获得单元901,用于获得第四设备的仿真请求;仿真请求包括仿真请求对应的操作***的类型标识和目标数量;
引擎获得单元902,用于按照目标数量,在第二设备中,获得目标引擎对应的引擎信息;目标引擎为多个仿真引擎中满足筛选条件的仿真引擎,且,目标引擎的数量小于或等于目标数量;筛选条件包括:目标引擎对应的类型标识与仿真请求中的类型标识一致、目标引擎的使用状态标识表征目标引擎处于可用状态、目标引擎的启动时间标识表征目标引擎未启动;
标识更新单元903,用于根据目标引擎对应的引擎信息,更新第二设备中目标引擎对应的使用状态标识、启动时间标识;
请求生成单元904,用于根据目标引擎对应的引擎信息,生成索取请求,索取请求中至少包括:目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识;
请求发送单元905,用于按照索取请求中的设备地址,将索取请求发送给目标引擎所在的目标设备,以使得目标设备按照索取请求启动目标引擎;
信息接收单元906,用于接收目标设备发送的目标引擎对应的引擎信息;目标引擎对应的引擎信息至少包括:目标引擎在目标设备中的进程标识、使用端口标识、目标设备的设备地址;
信息发送单元907,用于根据目标引擎对应的引擎信息发送启动请求给第四设备,启动请求包括:目标引擎在目标设备中的进程标识、使用端口标识以及目标设备的设备地址,以使得第四设备至少根据启动请求建立与目标引擎之间的数据连接,目标引擎用于执行第四设备的仿真任务。
可见,本申请实施例四提供的一种仿真引擎的启停控制装置中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
在一种实现方式中,请求获得单元901还用于接收所述第四设备发送的结束请求,所述结束请求表征所述仿真任务执行完成,所述结束请求至少包括:所述目标设备的设备地址、所述目标引擎在所述目标设备中的进程标识;
请求发送单元905还用于:根据所述结束请求中所述目标设备的设备地址,向所述目标设备发送关闭请求,以使得所述目标设备按照所述目标引擎在所述目标设备中的进程标识关闭所述目标引擎并更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识。
在一种实现方式中,本实施例中的装置还可以包括以下单元,如图10中所示:
异常处理单元908,用于监测所述第二设备上每个所述仿真引擎对应的使用状态标识;在所述仿真引擎对应的使用状态标识满足控制条件的情况下,每隔第一时长向所述仿真引擎发送一次第一消息,以使得所述仿真引擎针对所述第一消息向所述第一设备发送第二消息;如果连续N次没有接收到所述仿真引擎发送的所述第二消息,删除所述第二设备中所述仿真引擎所在的第三设备上所有仿真引擎对应的引擎信息,N为大于或等于1的正整数。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图11,为本申请实施例五提供的一种仿真引擎的启停控制装置的结构示意图,该装置可以配置在仿真***中的多个第三设备中的目标设备上,多个第三设备上配置有多个仿真引擎,该装置可以包括以下单元:
请求接收单元1101,用于接收第一设备发送的索取请求;索取请求为第一设备响应于第四设备发送的仿真请求根据在第二设备中获得的目标引擎对应的引擎信息生成;索取请求中至少包括:目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备的设备地址、目标引擎的启动时间标识、目标引擎在目标设备中的使用端口标识、目标引擎在目标设备中的进程标识;第一设备还根据目标引擎对应的引擎信息,更新第二设备中目标引擎对应的使用状态标识、启动时间标识;
其中,目标引擎为多个仿真引擎中满足筛选条件的仿真引擎,且,目标引擎的数量小于等于仿真请求中的目标数量;筛选条件包括:目标引擎对应的类型标识与仿真请求中的类型标识一致、目标引擎的使用状态标识表征目标引擎处于可用状态、目标引擎的启动时间标识表征目标引擎未启动;
且,第二设备上存储有每个仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎对应的操作***的类型标识、仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎的启动时间标识、仿真引擎在第三设备中的使用端口标识、仿真引擎在第三设备中的进程标识;
引擎启动单元1102,用于按照索取请求启动目标引擎;
信息发送单元1103,用于向第一设备发送目标引擎对应的引擎信息;目标引擎对应的引擎信息至少包括:目标引擎在目标设备中的进程标识、使用端口标识、目标设备的设备地址,以使得第一设备根据目标引擎对应的引擎信息发送启动请求给第四设备,启动请求包括:目标引擎在目标设备中的进程标识、使用端口标识以及目标设备的设备地址,第四设备至少根据启动请求建立与目标引擎之间的数据连接,目标引擎用于执行第四设备的仿真任务。
可见,本申请实施例五提供的一种仿真引擎的启停控制装置中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图12,为本申请实施例六提供的一种仿真引擎的启停控制装置的结构示意图,该装置可以配置在仿真***中的第四设备上,该装置可以包括以下单元:
请求发送单元1201,用于发送仿真请求给第一设备,仿真请求包括:仿真请求对应的操作***的类型标识和目标数量,以使得第一设备在第二设备中获得目标引擎对应的引擎信息,根据目标引擎对应的引擎信息,更新第二设备中目标引擎对应的使用状态标识、启动时间标识,第一设备还根据目标引擎对应的引擎信息生成索取请求并发送给目标引擎所在的目标设备,目标设备按照索取请求启动目标引擎;
其中,目标引擎为多个第三设备上配置的多个仿真引擎中满足筛选条件的仿真引擎,且,目标引擎的数量小于或等于目标数量;筛选条件包括:目标引擎对应的类型标识与仿真请求中的类型标识一致、目标引擎的使用状态标识表征目标引擎处于可用状态、目标引擎的启动时间标识表征目标引擎未启动;
且,第二设备上存储有每个仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎对应的操作***的类型标识、仿真引的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎的启动时间标识、仿真引擎在第三设备中的使用端口标识、仿真引擎在第三设备中的进程标识;
请求接收单元1202,用于接收第一设备发送的启动请求,启动请求为第一设备根据接收到的目标设备发送的目标引擎对应的引擎信息生成的请求;启动请求包括:目标引擎在目标设备中的进程标识、使用端口标识以及目标设备的设备地址;
连接建立单元1203,用于至少根据启动请求建立与目标引擎之间的数据连接,目标引擎用于执行第四设备的仿真任务。
可见,本申请实施例六提供的一种仿真引擎的启停控制装置中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
本申请实施例七还提供的一种电子设备,该电子设备作为仿真***中的第一设备,第一设备连接有第二设备,所述第二设备上存储有多个仿真引擎对应的引擎信息,所述多个仿真引擎配置在多个第三设备上,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识,该第一设备可以包括以下结构:
存储器,用于存储计算机程序以及计算机程序运行所产生的数据;
处理器,用于执行计算机程序,以实现以下处理:
获得第四设备的仿真请求;所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量;
按照所述目标数量,在所述第二设备中,获得目标引擎对应的引擎信息;所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
根据所述目标引擎对应的引擎信息,生成索取请求,所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;
按照所述索取请求中的设备地址,将所述索取请求发送给所述目标引擎所在的目标设备,以使得所述目标设备按照所述索取请求启动所述目标引擎;
接收所述目标设备发送的所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址;
根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,以使得所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
可见,本申请实施例七提供的一种电子设备中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
本申请实施例八还提供的一种电子设备,该电子设备作为仿真***中多个第三设备中的目标设备,该电子设备可以包括以下结构:
存储器,用于存储计算机程序以及计算机程序运行所产生的数据;
处理器,用于执行计算机程序,以实现以下处理:
接收第一设备发送的索取请求;所述索取请求为所述第一设备响应于第四设备发送的仿真请求根据在第二设备中获得的目标引擎对应的引擎信息生成;所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;所述第一设备还根据所述目标引擎对应的引擎信息,更新第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
其中,所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述仿真请求中的目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
按照所述索取请求启动所述目标引擎;
向所述第一设备发送所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址,以使得所述第一设备根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
可见,本申请实施例八提供的一种电子设备中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
本申请实施例九还提供的一种电子设备,该电子设备作为仿真***中的第四设备,该电子设备可以包括以下结构:
存储器,用于存储计算机程序以及计算机程序运行所产生的数据;
处理器,用于执行计算机程序,以实现以下处理:
发送仿真请求给第一设备,所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量,以使得所述第一设备在第二设备中获得目标引擎对应的引擎信息,根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识,所述第一设备还根据所述目标引擎对应的引擎信息生成索取请求并发送给所述目标引擎所在的目标设备,所述目标设备按照所述索取请求启动所述目标引擎;
其中,所述目标引擎为多个第三设备上配置的多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
接收所述第一设备发送的启动请求,所述启动请求为所述第一设备根据接收到的所述目标设备发送的所述目标引擎对应的引擎信息生成的请求;所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址;
至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
可见,本申请实施例九提供的一种电子设备中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
参考图13,为本申请实施例十提供的一种仿真***的***架构图,该仿真***可以包括:
第一设备1301、第二设备1302、多个第三设备1303和至少一个第四设备1304,每个第三设备1303上配置有至少一个仿真引擎,第一设备1301连接第二设备1302,第二设备1302上存储有每个仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎对应的操作***的类型标识、仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎的启动时间标识、仿真引擎在第三设备中的使用端口标识、仿真引擎在第三设备中的进程标识;
其中,第一设备1301、第二设备1302、多个第三设备1303和至少一个第四设备1304之间的交互如图14中所示:
第四设备1304发送仿真请求给第一设备1301;仿真请求包括:仿真请求对应的操作***的类型标识和目标数量;
第一设备1301按照目标数量,在第二设备1302中,获得目标引擎对应的引擎信息;目标引擎为多个仿真引擎中满足筛选条件的仿真引擎,且,目标引擎的数量小于或等于目标数量;筛选条件包括:目标引擎对应的类型标识与仿真请求中的类型标识一致、目标引擎的使用状态标识表征目标引擎处于可用状态、目标引擎的启动时间标识表征目标引擎未启动;
第一设备1301根据目标引擎对应的引擎信息,更新第二设备1302中目标引擎对应的使用状态标识、启动时间标识;
第一设备1301根据目标引擎对应的引擎信息,生成索取请求,索取请求中至少包括:目标引擎对应的操作***的类型标识、目标引擎的使用状态标识、目标引擎所在目标设备1331的设备地址、目标引擎的启动时间标识、目标引擎在目标设备1331中的使用端口标识、目标引擎在目标设备1331中的进程标识;
第一设备1301按照索取请求中的设备地址,将索取请求发送给目标引擎所在的目标设备1331;
目标设备1331按照索取请求启动目标引擎;
目标设备1331发送目标引擎对应的引擎信息给第一设备1301;目标引擎对应的引擎信息至少包括:目标引擎在目标设备1331中的进程标识、使用端口标识、目标设备1331的设备地址;
第一设备1301根据目标引擎对应的引擎信息发送启动请求给第四设备1304;启动请求包括:目标引擎在目标设备1331中的进程标识、使用端口标识以及目标设备1331的设备地址;
第四设备1304至少根据启动请求建立与目标引擎之间的数据连接,目标引擎用于执行第四设备1304的仿真任务。
可见,本申请实施例十提供的一种仿真***中,在仿真***中配置第一设备和第二设备并在第二设备中维护第三设备上所有仿真引擎对应的引擎信息,以便于在第四设备需要仿真引擎时,按照第二设备上的引擎信息在第三设备上为第四设备配置目标引擎,以执行第四设备的仿真任务,这一过程中通过第一设备实现自动化的仿真引擎的启停控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
具体实现中,本申请中使用一台服务器做为缓存服务器(Redis,以下简称R),Redis是一款开源稳定且非常流行的缓存服务器,由于热数据在内存中操作,使得它读写速度非常快,它持久化的能力也能保证断电数据不丢失。这台服务器仅提供SE资源使用信息的读写操作。
而且,本申请使用一台服务器做为调度服务器(Server,以下简称S),代码简练,硬件资源占用极少。主要提供验证权限,发放token,SE注册和分配。服务器在启动时,会连接到R来读取SE信息。
另外,本申请使用多台服务器做为SE仿真服务器,每台服务器都同时运行一个客户端(Client,以下简称C),客户端运行时,会根据当前硬件性能计算出当前服务器可开启几个SE,在确定了之后向S注册SE信息,同时在本机开启SE,等待连接。
以航天仿真场景为例,仿真***中包括:建模工具所在的服务器G1-G2(即第四设备)、中央服务器S(即第一设备)、缓存服务器R(即第二设备)以及仿真引擎SE1-SE6所在的电脑C,如图15中所示,据此对本申请的技术方案进行举例说明:
一、部署:
1.1、启动R后,等待后续操作。
1.2、将R的地址和认证信息license数据库的地址写入S的配置文件,启动S,S读取到R和license数据库后向R和数据库建立连接,等待后续操作。
1.3、将R的地址配置到C上,启动C,C会计算出本机可启动的SE,然后将SE的信息写入到R中,等待后续操作(C可以添加任意个,C可以直接添加和删除,不需要通知R或者S)。
二、R、S、C三个服务器的功能,初始化原理和自检原理如下:
2.1、R:R仅记录SE的发布状态,S和C会在R上对这些状态进行查询,添加,修改,删除操作,未作特殊处理。
2.2、S:用户对SE的获取和归还等操作都通过向S发送请求来进行,S会验证用户的合法性,会在R中查询和修改SE的状态,会向C发出请求。
2.3、C:C在启动时会查询本机的SE能力,C会验证S的合法性,SE也具有验证合法性的功能.C中还存在一个计时器,会定时回收被占用却闲置的SE。
三、使用时的执行逻辑如下:
3.1、G需要使用SE时,向S发送获取SE的加密请求,请求体的明文内容为:{license:’这里是我们给GCAir发放的授权文件’,os:’win32’,amount:3},其中os:windows指本次需要windows版本的SE,amount:3指的是本次需要使用3台SE。
3.2、S收到请求后,查看license,向license数据库去验证是否存在license,如果不存在则拒绝接下来的服务。
3.3、验证通过证明该用户(G)合法,S向R查询IDLE为idle的,PLATFORM是win32的项目,找的项指的是windows下闲置的SE的项。
3.4、R中存放的内容如下:
IDLE:PLATFORM:IP:PORT:INITIAL_START_TIME:INITIAL_PID:INITIAL_CLIENT。
其中,以上内容解释为:占用状态: 平台:IP地址:起始端口:开始时间戳:进程ID号:客户端。
例如,实际内容可以为:
--idle:win32:192.168.1.126:15015:100000000000000::
其中:
占用状态:指的是当前这个SE是否被使用;
平台:win32,drawin,linux等内容;
起始端口:SE所使用的起始端口号;
开始时间戳:SE开启的时间,未开启的默认为100000000000000;
进程ID号:SE开启后***会返回一个SE的ID;
客户端:暂时未使用。
3.5、S按照占用状态、开始时间戳,平台这三项在R中找到相应的引擎信息后,将引擎信息中这三项的内容更改成如下内容:
engaged:win32:192.168.1.126:15015:1688719625123::
其中,engaged代表被占用,后面的时间也改为了当前时间,在这里就更改是为了防止在接下来的请求时间内,不会出现其它请求也取到了同样项目而导致冲突。
3.6、S从引擎信息中提取出ip和端口,同时使用与C约定好的密钥将这些内容签名,组成如下请求体,提交给每个ip对应的C:
{ses:[engaged:win32:192.168.1.126:15015:1688719625123::
,engaged:win32:192.168.1.126:15019:1688719625123::
],signature:’ses的签名’}
3.7、相关C(即目标设备)收到请求后使用同样的密钥和方法对ses签名,然后与signature中的内容对比,如果不一致,则证明该S是非法的,拒绝接下来的服务。
3.8、验证通过后,C会生成一个token(令牌是接下来客户端G与SE通信时的认证信息,后面有说明),C将请求体中的端口信息连同这个token一起做为参数,传给要启动的SE.SE启动成功后,C向S返回启动成功的信息和token。
3.9、S收到信息后向G传回token,ip和端口信息。
3.10、用户(G)收到信息后,使用token,ip,端口信息直接访问在第(3.8)步中开启的SE。
3.11、SE首先验证TOKEN,验证通过后开始执行仿真操作。
四、归还逻辑如下:
4.1、G需要归还SE时,向S发送归还SE的加密请求,请求体的明文内容为:{license:’这里是我们给GCAir发放的授权文件’,os:’win32’,ipids:[{ip:’192.168.1.2’,pid:221},{ip:’192.168.1.2’,pid:229},{ip:’192.168.1.5’,pid:2921}]},其中os:windows指本次需要windows版本的SE,ipids中存放的是需要归还的SE的ip和SE的进程id号.根据解析可知,192.168.1.2的C上要关闭两个进程.192.168.1.5上要关闭一个进程。
4.2、S收到请求后,查看license,向license数据库去验证是否存在license,如果不存在则拒绝接下来的服务。
4.3、验证通过证明该用户(G)合法,S从请求中提取出ip,pid和os,使用与C约定好的密钥将这些内容签名,组成如下请求体,提交给每个ip对应的C:
{ses:[{os:win32,ip:192.168.1.2,pid:221},{os:win32,ip:192.168.1.2,pid:229}],restore:true,signature:’ses的签名’}
4.4、相关C(即目标设备)收到请求后使用同样的密钥和方法对ses签名,然后与signature中的内容对比,如果不一致,则证明该S是非法的,拒绝接下来的服务。
4.5、C使用请求体中的pid,关闭SE,同时,C向R查询IDLE为engaged的,PLATFORM是win32的,ip和pid都符合刚才请求体中内容的项目,将其中的IDLE,INITIAL_START_TIME,INITIAL_PID这三项改为idle,100000000000000,‘空’,改后的一项可能为:idle:win32:192.168.1.2:15015:100000000000000::,这个状态代表了它可以被其它G使用了。
4.6、C向S返回关闭成功的消息。
4.7、S向GCAir返回关闭成功的消息。
五、计时器逻辑,即异常处理逻辑:
在C中和S中分别存在一个计时器,这个计时器基本可以解决所有异常情况,如下:
5.1、S中的计时器:S会定时(比如每12小时)向R中查询被占用但处于空闲状态且开启时间超过12小时的SE,如果连续三次处于同一状态,则每10秒(可调整)向该状态的SE发送回收信息。如果连续三次未收到SE的反馈信息,则认为SE所在主机已断开,则将R中的该主机删除,并向管理员报警(邮件或短信的方式)。
5.2、C中的计时器:C会定时(比如每3分钟)查询本机下的SE状态,如果连续三次的SE都处于占用但空闲且开启时间超过3分钟的状态,则关闭该SE,同时将R中存储的SE信息从占用态,改为空闲态。
可见,本申请提供了三个弱关联,强自愈的小模块,通过各自独立运行,自我检测的方式使各模块的功能更健壮、更集中、更易维护,同时包含分布式***中常见的并发问题的解决方案。而且,如果用户量过万,可以将R、S做成集群,以增强速度、稳定性和安全性。
综上,本申请中S、C、G几个模块相互独立,关联性小,维护时仅需考虑当前模块的功能即可;且,本申请添加了R,可以使S和C的信息实时共享和同步,在解决了一部分并发问题;SE资源被合理分配,最大化地为用户提供了服务,而且,S不需要知道C的地址,C可以在任意时间添加或删除;另外,SE被自动注册或销毁,用户在连接时被自动分配资源,无需要再手动分配,这也解决了使用冲突问题,而且,用户无需再关注SE的异常处理。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种仿真引擎的启停控制方法,其特征在于,应用于第一设备,所述第一设备连接有第二设备,所述第二设备上存储有多个仿真引擎对应的引擎信息,所述多个仿真引擎配置在多个第三设备上,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识,所述方法包括:
获得第四设备的仿真请求;所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量;
按照所述目标数量,在所述第二设备中,获得目标引擎对应的引擎信息;所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
根据所述目标引擎对应的引擎信息,生成索取请求,所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;
按照所述索取请求中的设备地址,将所述索取请求发送给所述目标引擎所在的目标设备,以使得所述目标设备按照所述索取请求启动所述目标引擎;
接收所述目标设备发送的所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址;
根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,以使得所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第四设备发送的结束请求,所述结束请求表征所述仿真任务执行完成,所述结束请求至少包括:所述目标设备的设备地址、所述目标引擎在所述目标设备中的进程标识;
根据所述结束请求中所述目标设备的设备地址,向所述目标设备发送关闭请求,以使得所述目标设备按照所述目标引擎在所述目标设备中的进程标识关闭所述目标引擎并更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
监测所述第二设备上每个所述仿真引擎对应的使用状态标识;
在所述仿真引擎对应的使用状态标识满足控制条件的情况下,每隔第一时长向所述仿真引擎发送一次第一消息,以使得所述仿真引擎针对所述第一消息向所述第一设备发送第二消息;
如果连续N次没有接收到所述仿真引擎发送的所述第二消息,删除所述第二设备中所述仿真引擎所在的第三设备上所有仿真引擎对应的引擎信息,N为大于或等于1的正整数。
4.一种仿真引擎的启停控制方法,其特征在于,应用于多个第三设备中的目标设备,所述多个第三设备上配置有多个仿真引擎,所述方法包括:
接收第一设备发送的索取请求;所述索取请求为所述第一设备响应于第四设备发送的仿真请求根据在第二设备中获得的目标引擎对应的引擎信息生成;所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;所述第一设备还根据所述目标引擎对应的引擎信息,更新第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
其中,所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述仿真请求中的目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
按照所述索取请求启动所述目标引擎;
向所述第一设备发送所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址,以使得所述第一设备根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
每隔第二时长检测一次所述仿真引擎的使用状态标识;
如果连续M次检测到的使用状态标识表征所述仿真引擎处于占用状态且处于空闲状态,关闭所述仿真引擎并更新所述第二设备中所述仿真引擎对应的使用状态标识、启动时间标识,M为大于或等于1的正整数。
6.一种仿真引擎的启停控制方法,其特征在于,应用于第四设备,所述方法包括:
发送仿真请求给第一设备,所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量,以使得所述第一设备在第二设备中获得目标引擎对应的引擎信息,根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识,所述第一设备还根据所述目标引擎对应的引擎信息生成索取请求并发送给所述目标引擎所在的目标设备,所述目标设备按照所述索取请求启动所述目标引擎;
其中,所述目标引擎为多个第三设备上配置的多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
接收所述第一设备发送的启动请求,所述启动请求为所述第一设备根据接收到的所述目标设备发送的所述目标引擎对应的引擎信息生成的请求;所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址;
至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
7.一种仿真引擎的启停控制装置,其特征在于,配置在第一设备,所述第一设备连接有第二设备,所述第二设备上存储有多个仿真引擎对应的引擎信息,所述多个仿真引擎配置在多个第三设备上,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识,所述装置包括:
请求获得单元,用于获得第四设备的仿真请求;所述仿真请求包括所述仿真请求对应的操作***的类型标识和目标数量;
引擎获得单元,用于按照所述目标数量,在所述第二设备中,获得目标引擎对应的引擎信息;所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
标识更新单元,用于根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
请求生成单元,用于根据所述目标引擎对应的引擎信息,生成索取请求,所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;
请求发送单元,用于按照所述索取请求中的设备地址,将所述索取请求发送给所述目标引擎所在的目标设备,以使得所述目标设备按照所述索取请求启动所述目标引擎;
信息接收单元,用于接收所述目标设备发送的所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址;
信息发送单元,用于根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,以使得所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
8.一种仿真引擎的启停控制装置,其特征在于,配置在多个第三设备中的目标设备,所述多个第三设备上配置有多个仿真引擎,所述装置包括:
请求接收单元,用于接收第一设备发送的索取请求;所述索取请求为第一设备响应于第四设备发送的仿真请求根据在第二设备中获得的目标引擎对应的引擎信息生成;所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;所述第一设备还根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
其中,所述目标引擎为所述多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于所述等于所述仿真请求中的目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
引擎启动单元,用于按照所述索取请求启动所述目标引擎;
信息发送单元,用于向所述第一设备发送所述目标引擎对应的引擎信息;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址,以使得所述第一设备根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备,所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址,所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
9.一种仿真引擎的启停控制装置,其特征在于,配置在第四设备,所述装置包括:
请求发送单元,用于发送仿真请求给第一设备,所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量,以使得所述第一设备在第二设备中获得目标引擎对应的引擎信息,根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识,所述第一设备还根据所述目标引擎对应的引擎信息生成索取请求并发送给所述目标引擎所在的目标设备,所述目标设备按照所述索取请求启动所述目标引擎;
其中,所述目标引擎为多个第三设备上配置的多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
且,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
请求接收单元,用于接收所述第一设备发送的启动请求,所述启动请求为所述第一设备根据接收到的所述目标设备发送的所述目标引擎对应的引擎信息生成的请求;所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址;
连接建立单元,用于至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
10.一种仿真***,其特征在于,所述仿真***包括:
第一设备、第二设备、多个第三设备和至少一个第四设备,每个所述第三设备上配置有至少一个仿真引擎,所述第一设备连接所述第二设备,所述第二设备上存储有每个所述仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎对应的操作***的类型标识、所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎的启动时间标识、所述仿真引擎在所述第三设备中的使用端口标识、所述仿真引擎在所述第三设备中的进程标识;
其中:
所述第四设备发送仿真请求给所述第一设备;所述仿真请求包括:所述仿真请求对应的操作***的类型标识和目标数量;
所述第一设备按照所述目标数量,在所述第二设备中,获得目标引擎对应的引擎信息;所述目标引擎为多个仿真引擎中满足筛选条件的仿真引擎,且,所述目标引擎的数量小于或等于所述目标数量;所述筛选条件包括:所述目标引擎对应的类型标识与所述仿真请求中的类型标识一致、所述目标引擎的使用状态标识表征所述目标引擎处于可用状态、所述目标引擎的启动时间标识表征所述目标引擎未启动;
所述第一设备根据所述目标引擎对应的引擎信息,更新所述第二设备中所述目标引擎对应的使用状态标识、启动时间标识;
所述第一设备根据所述目标引擎对应的引擎信息,生成索取请求,所述索取请求中至少包括:所述目标引擎对应的操作***的类型标识、所述目标引擎的使用状态标识、所述目标引擎所在目标设备的设备地址、所述目标引擎的启动时间标识、所述目标引擎在所述目标设备中的使用端口标识、所述目标引擎在所述目标设备中的进程标识;
所述第一设备按照所述索取请求中的设备地址,将所述索取请求发送给所述目标引擎所在的目标设备;
所述目标设备按照所述索取请求启动所述目标引擎;
所述目标设备发送所述目标引擎对应的引擎信息给所述第一设备;所述目标引擎对应的引擎信息至少包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识、所述目标设备的设备地址;
所述第一设备根据所述目标引擎对应的引擎信息发送启动请求给所述第四设备;所述启动请求包括:所述目标引擎在所述目标设备中的进程标识、使用端口标识以及所述目标设备的设备地址;
所述第四设备至少根据所述启动请求建立与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第四设备的仿真任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311370647.9A CN117130759B (zh) | 2023-10-23 | 2023-10-23 | 仿真引擎的启停控制方法、装置及仿真*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311370647.9A CN117130759B (zh) | 2023-10-23 | 2023-10-23 | 仿真引擎的启停控制方法、装置及仿真*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117130759A true CN117130759A (zh) | 2023-11-28 |
CN117130759B CN117130759B (zh) | 2024-01-16 |
Family
ID=88863029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311370647.9A Active CN117130759B (zh) | 2023-10-23 | 2023-10-23 | 仿真引擎的启停控制方法、装置及仿真*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117130759B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352229B1 (en) * | 2009-01-26 | 2013-01-08 | Xilinx, Inc. | Reloadable just-in-time compilation simulation engine for high level modeling systems |
CN112558903A (zh) * | 2020-12-09 | 2021-03-26 | 北京仿真中心 | 一种基于组件的分布式仿真模型显控***和交互方法 |
CN113254157A (zh) * | 2021-06-04 | 2021-08-13 | 北京世冠金洋科技发展有限公司 | 批量仿真控制方法、装置及电子设备 |
CN115934263A (zh) * | 2021-08-13 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备以及存储介质 |
CN115964131A (zh) * | 2023-03-16 | 2023-04-14 | 中国人民解放军国防科技大学 | 支持多仿真引擎的仿真模型管理***和仿真模型调度方法 |
CN116755844A (zh) * | 2023-08-17 | 2023-09-15 | 北京世冠金洋科技发展有限公司 | 一种仿真引擎的数据处理方法、装置、设备及存储介质 |
-
2023
- 2023-10-23 CN CN202311370647.9A patent/CN117130759B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352229B1 (en) * | 2009-01-26 | 2013-01-08 | Xilinx, Inc. | Reloadable just-in-time compilation simulation engine for high level modeling systems |
CN112558903A (zh) * | 2020-12-09 | 2021-03-26 | 北京仿真中心 | 一种基于组件的分布式仿真模型显控***和交互方法 |
CN113254157A (zh) * | 2021-06-04 | 2021-08-13 | 北京世冠金洋科技发展有限公司 | 批量仿真控制方法、装置及电子设备 |
CN115934263A (zh) * | 2021-08-13 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备以及存储介质 |
CN115964131A (zh) * | 2023-03-16 | 2023-04-14 | 中国人民解放军国防科技大学 | 支持多仿真引擎的仿真模型管理***和仿真模型调度方法 |
CN116755844A (zh) * | 2023-08-17 | 2023-09-15 | 北京世冠金洋科技发展有限公司 | 一种仿真引擎的数据处理方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
凌云翔, 邱涤珊, 张小雷, 古西睿: "基于引擎成员的仿真调度问题", 国防科技大学学报, no. 03 * |
王磊;陈明燕;张伟;卢显良;: "基于消息驱动的雷达仿真引擎控制算法", ***工程与电子技术, no. 09 * |
Also Published As
Publication number | Publication date |
---|---|
CN117130759B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113169952B (zh) | 一种基于区块链技术的容器云管理*** | |
CN108549580B (zh) | 自动部署Kubernetes从节点的方法及终端设备 | |
JP5522307B2 (ja) | 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法 | |
US10796001B2 (en) | Software verification method and apparatus | |
CN101873298A (zh) | 注册方法及终端、服务器、*** | |
US6567919B1 (en) | Authenticated communication procedure for network computers | |
CN106357694B (zh) | 一种访问请求处理方法及装置 | |
CN111918263A (zh) | 蓝牙连接方法、装置及物联网设备 | |
CN109213572A (zh) | 一种基于虚拟机的可信度确定方法及服务器 | |
CN105208137A (zh) | 一种互联网协议ip地址分配方法、装置、服务器和终端 | |
CN114595053A (zh) | 一种面向mnss的安全动态资源管理*** | |
CN117130759B (zh) | 仿真引擎的启停控制方法、装置及仿真*** | |
CN116627654A (zh) | 控制方法及电子设备 | |
US7350065B2 (en) | Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection | |
CN112506704B (zh) | 一种物联网网关的配置信息备份方法及装置 | |
CN112948812B (zh) | 一种验证码的分配方法、计算设备及存储介质 | |
CN112506705B (zh) | 一种分布式存储的配置信息备份方法及装置 | |
CN111683164B (zh) | 一种ip地址的配置方法及vpn服务*** | |
CN111159736B (zh) | 一种区块链的应用管控方法及*** | |
CN117130758B (zh) | 仿真引擎的启停控制方法、装置及仿真*** | |
CN115454580B (zh) | 一种节点主机资源管理方法、装置与计算设备 | |
CN104702409A (zh) | 基于云平台的生物识别***及其方法 | |
CN112506703B (zh) | 一种物联网终端配置信息的备份方法及装置 | |
CN112836183B (zh) | 授权方法、网络设备和存储介质 | |
CN117478570B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |