CN117112185B - 仿真引擎的调用控制方法、装置及仿真系统 - Google Patents

仿真引擎的调用控制方法、装置及仿真系统 Download PDF

Info

Publication number
CN117112185B
CN117112185B CN202311370242.5A CN202311370242A CN117112185B CN 117112185 B CN117112185 B CN 117112185B CN 202311370242 A CN202311370242 A CN 202311370242A CN 117112185 B CN117112185 B CN 117112185B
Authority
CN
China
Prior art keywords
engine
simulation
target
equipment
engines
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.)
Active
Application number
CN202311370242.5A
Other languages
English (en)
Other versions
CN117112185A (zh
Inventor
张桥
贝晓狮
连家华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shi Guan Jin Yang Technology Development Co ltd
Original Assignee
Beijing Shi Guan Jin Yang Technology Development Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shi Guan Jin Yang Technology Development Co ltd filed Critical Beijing Shi Guan Jin Yang Technology Development Co ltd
Priority to CN202311370242.5A priority Critical patent/CN117112185B/zh
Publication of CN117112185A publication Critical patent/CN117112185A/zh
Application granted granted Critical
Publication of CN117112185B publication Critical patent/CN117112185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

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)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种仿真引擎的调用控制方法、装置及仿真系统,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,第一设备按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。

Description

仿真引擎的调用控制方法、装置及仿真系统
技术领域
本申请涉及仿真技术领域,尤其涉及一种仿真引擎的调用控制方法、装置及仿真系统。
背景技术
建模工具在完成仿真模型的创作后,需要调用一个或多个仿真引擎来运行仿真模型,以验证仿真模型的运行状态或结果。例如,在局域网内开启一台电脑安装建模工具以实现仿真模型的创作,再通过其他电脑运行仿真引擎以模拟或验证仿真模型。
但是这种方案中,每次需要使用仿真引擎的时候,都需要用户手动核对仿真引擎的使用情况并按照各仿真引擎的使用情况针对仿真引擎的使用请求输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口。
可见,这种方案会导致为仿真模型分配仿真引擎的效率较低。
发明内容
有鉴于此,本申请提供一种仿真引擎的调用控制方法、装置及仿真系统,用以解决现有技术中为仿真模型分配仿真引擎的效率较低的技术问题,如下:
一种仿真引擎的调用控制方法,应用于第一设备,所述第一设备中至少配置有连接列表,所述方法包括:
获得第二设备的仿真请求;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;
在所述连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
更新所述连接列表中所述目标引擎对应的使用状态标识;
根据所述目标引擎对应的引擎信息发送连接请求给所述第二设备,所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识,以使得所述第二设备至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
上述方法,优选的,所述方法还包括:
接收所述第二设备发送的结束请求,所述结束请求表征所述仿真任务执行完成,所述结束请求至少包括:所述目标设备的设备地址、所述目标引擎在所述目标设备中的使用端口标识;
根据所述结束请求,更新所述连接列表中所述目标引擎对应的使用状态标识。
上述方法,优选的,每个所述仿真引擎在处于启动状态的情况下每隔第一时长向所述第一设备发送一次第一消息;
其中,所述方法还包括:
针对每个所述仿真引擎,监测是否连续N次没有接收到所述仿真引擎发送的所述第一消息,N为大于或等于1的正整数;
如果连续N次没有接收到所述仿真引擎发送的所述第一消息,删除所述连接列表中所述仿真引擎对应的引擎信息。
上述方法,优选的,所述方法还包括:
监测是否接收到所述仿真引擎发送的第二消息,所述第二消息包括所述仿真引擎对应的引擎信息,所述第二消息为所述仿真引擎被启动时向所述第一设备发送的消息;
如果接收到所述仿真引擎发送的第二消息,根据所述第二消息,在所述连接列表中添加所述仿真引擎对应的引擎信息。
一种仿真引擎的调用控制方法,应用于第二设备,所述方法包括:
发送仿真请求给第一设备,所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量,以使得所述第一设备在连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述第一设备还更新所述连接列表中所述目标引擎对应的使用状态标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
接收所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求;所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
一种仿真引擎的调用控制方法,应用于第三设备,所述方法包括:
监测是否有仿真引擎被启动;
在监测到有所述仿真引擎被启动的情况下,发送第二消息给第一设备,以使得所述第一设备根据所述第二消息,在连接列表中添加所述仿真引擎对应的引擎信息;所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述第一设备还在获得第二设备的仿真请求后,在所述连接列表中,获得目标引擎对应的引擎信息并更新所述连接列表中所述目标引擎对应的使用状态标识;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
接收所述第二设备发送的连接消息,所述连接消息为所述第二设备响应于所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求所生成的消息;所述连接请求至少包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
响应于所述连接消息,建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
一种仿真引擎的调用控制装置,配置在第一设备上,所述第一设备中至少配置有连接列表,所述装置包括:
请求获得单元,用于获得第二设备的仿真请求;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;
信息获得单元,用于在所述连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
标识更新单元,用于更新所述连接列表中所述目标引擎对应的使用状态标识;
请求发送单元,用于根据所述目标引擎对应的引擎信息发送连接请求给所述第二设备,所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识,以使得所述第二设备至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
一种仿真引擎的调用控制装置,配置在第二设备上,所述装置包括:
请求发送单元,用于发送仿真请求给第一设备,所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量,以使得所述第一设备在连接列表中获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述第一设备还更新所述连接列表中所述目标引擎对应的使用状态标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
请求接收单元,用于接收所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求,所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
连接建立单元,用于至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
一种仿真引擎的调用控制装置,配置在第三设备上,所述装置包括:
引擎监测单元,用于监测是否有仿真引擎被启动;在监测到有所述仿真引擎被启动的情况下,触发消息发送单元;
消息发送单元,用于发送第二消息给第一设备,以使得所述第一设备根据所述第二消息在连接列表中添加所述仿真引擎对应的引擎信息;所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述第一设备在获得第二设备的仿真请求后,在所述连接列表中获得目标引擎对应的引擎信息并更新所述连接列表中所述目标引擎对应的使用状态标识;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
消息接收单元,用于接收所述第二设备发送的连接消息,所述连接消息为所述第二设备响应于所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求所生成的消息;所述连接请求至少包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
连接建立单元,用于响应于所述连接消息,建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
一种仿真系统,所述仿真系统包括:
第一设备、至少一个第二设备和多个第三设备,所述第三设备上配置有仿真引擎;
其中:
所述第三设备监测是否有仿真引擎被启动,在监测到有所述仿真引擎被启动的情况下,所述第三设备发送第二消息给所述第一设备;
所述第一设备根据所述第二消息在连接列表中添加所述仿真引擎对应的引擎信息;所述连接列表中包括:被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;
所述第一设备获得所述第二设备的仿真请求;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;
所述第一设备在所述连接列表中获得目标引擎对应的引擎信息;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
所述第一设备更新所述连接列表中所述目标引擎对应的使用状态标识;
所述第一设备根据所述目标引擎对应的引擎信息发送连接请求给所述第二设备;所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
所述第二设备至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
从上述技术方案可以看出,本申请公开的一种仿真引擎的调用控制方法、装置及仿真系统中,在第一设备上配置连接列表,在连接列表中保存第三设备上配置的被启动的仿真引擎对应的引擎信息,如仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎在第三设备中的使用端口标识等。基于此,在第一设备上获得到第二设备的包含目标数量的仿真请求之后,第一设备在连接列表中按照使用状态标识和目标数量筛选出目标引擎并获得目标引擎对应的引擎信息,进而在更新连接列表中目标引擎对应的使用状态标识之后,根据目标引擎对应的引擎信息发送连接请求给第二设备,连接请求包括:目标引擎所在目标设备的设备地址和目标引擎在目标设备中的使用端口标识,由此第二设备至少根据连接请求中的使用端口标识建立与目标引擎之间的数据连接,从而通过目标引擎执行第二设备的仿真任务。可见,本申请在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种仿真引擎的调用控制方法的流程图;
图2为本申请实施例一中仿真系统的架构示意图;
图3为本申请实施例一提供的一种仿真引擎的调用控制方法的另一流程图;
图4为本申请实施例二提供的一种仿真引擎的调用控制方法的流程图;
图5为本申请实施例三提供的一种仿真引擎的调用控制方法的流程图;
图6为本申请实施例四提供的一种仿真引擎的调用控制装置的结构示意图;
图7为本申请实施例四提供的一种仿真引擎的调用控制装置的另一结构示意图;
图8为本申请实施例五提供的一种仿真引擎的调用控制装置的结构示意图;
图9为本申请实施例六提供的一种仿真引擎的调用控制装置的结构示意图;
图10为本申请实施例十提供的一种仿真系统的系统架构图;
图11为本申请实施例十提供的一种仿真系统中第一设备1001、至少一个第二设备1002和多个第三设备1003之间的交互示意图;
图12为本申请适用于航天仿真场景中的仿真系统架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1所示,为本申请实施例一提供的一种仿真引擎的调用控制方法的实现流程图,该方法应用于第一设备,第一设备为如图2所示的仿真系统中的中心控制设备,仿真系统中还包括至少一个第二设备和多个第三设备,第一设备中至少配置有连接列表,第二设备用于构建仿真模型并需要使用仿真引擎对仿真模型进行处理,第三设备中配置有一个或多个仿真引擎,仿真引擎处于可用状态(启动后的空闲状态或待机状态)或占用状态。第一设备可以配置有冗余设备,以保证可靠性。
其中,第一设备中的连接列表中包括:被启动的仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎在第三设备中的使用端口标识,仿真引擎对应的引擎信息中还可以包括有仿真引擎所在第三设备的验证标识如token等,通过验证标识可以验证访问第三设备上仿真引擎的其他设备的合法性。
基于此,本实施例中的方法可以包括步骤:
步骤101:获得第二设备的仿真请求;仿真请求至少包括:第二设备所需要的仿真引擎的目标数量。
例如,第二设备在构建仿真模型之后,按照所需要的仿真引擎的目标数量生成仿真请求,再将仿真请求通过与第一设备之间的数据连接发送给第一设备。
需要说明的是,仿真请求中还包括有认证信息如第二设备的授权码等信息,在第一设备获得第二设备的仿真请求之后,先根据仿真请求中的认证信息对第二设备进行合法性验证,如在第一设备的认证集合中查找是否包含该仿真请求中的认证信息,如果在第一设备的认证集合中包含该仿真请求中的认证信息,那么表征第二设备通过合法性验证,允许执行后续步骤,如果在第一设备的认证集合中没有查找到该仿真请求中的认证信息,那么表征第二设备没有通过合法性验证,此时不允许执行后续流程,即第一设备不再为第二设备分配仿真引擎。
步骤102:在连接列表中,获得目标引擎对应的引擎信息。
其中,目标引擎的数量小于等于目标数量,且目标引擎为使用状态标识表征处于可用状态的仿真引擎。
具体的,第一设备在连接列表中筛选使用状态标识表征处于可用状态的仿真引擎,从而获得目标引擎对应的引擎信息。
需要说明的是,第一设备在连接列表中可以按照引擎信息之间的顺序筛选使用状态标识表征处于可用状态的仿真引擎,将在先筛选出来的仿真引擎依次确定为目标引擎,直到被筛选出来的目标引擎的数量到达目标数量,不再进行筛选,此时目标引擎的数量等于目标数量,或者,直到连接列表中所有引擎信息对应的仿真引擎均被筛选一次,即使目标引擎的数量仍然没有到达目标数量,也不再进行筛选,此时,目标引擎的数量小于目标数量。
步骤103:更新连接列表中目标引擎对应的使用状态标识。
例如,第一设备将连接列表中目标引擎对应的表征目标引擎处于可用状态的使用状态标识,修改为:表征目标引擎处于占用状态,以表征目标引擎已经被占用。
具体的,第一设备在连接列表中获得目标引擎对应的引擎信息之后,对连接列表中目标引擎对应的引擎信息进行更新,即:将连接列表中目标引擎对应的引擎信息中的使用状态标识设置为表征目标引擎处于占用状态,由此可以避免在该目标引擎被第二设备占用之前被其他设备筛选到从而造成冲突的情况。
步骤104:根据目标引擎对应的引擎信息发送连接请求给第二设备,以使得第二设备至少根据连接请求建立第二设备与目标引擎之间的数据连接,目标引擎用于执行第二设备的仿真任务。
其中,连接请求包括:目标引擎所在目标设备的设备地址和目标引擎在目标设备中的使用端口标识。基于此,第二设备按照连接请求中目标设备的设备地址发送连接消息给目标引擎所在的目标设备,连接消息中可以包括有目标引擎在目标设备中的使用端口标识,这样,目标设备就可以按照连接消息中的使用端口标识定位到目标引擎,进而建立第二设备与目标引擎之间的数据连接,以便于目标引擎通过该数据连接为第二设备执行仿真任务。
需要说明的是,连接请求中还可以包含有目标引擎对应的验证标识,即第一设备从连接列表中获得的目标引擎对应的引擎信息中所包含的目标设备的验证标识。由此,第二设备将该验证标识添加到连接消息中,目标设备在接收到连接消息之后,先验证连接消息中的验证标识,例如,将连接消息中的验证标识与目标设备本地保存的验证标识进行比对,如果一致,第二设备与目标设备上目标引擎之间建立数据连接,如果不一致,结束当前流程,目标设备上第一设备发送目标引擎对应的验证异常信息,以表征第二设备连接异常,在第一设备上不再执行后续流程,但第一设备上在连接列表中更新目标引擎对应的使用状态标识,如将连接列表中目标引擎对应的表征目标引擎处于占用状态的使用状态标识,修改为:表征目标引擎处于可用状态,以表征目标引擎没有被占用,以便于其他设备占用。
可见,本申请实施例一提供的一种仿真引擎的调用控制方法中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
需要说明的是,第一设备对连接列表中的操作采用异步处理的方式,保证数据一致性。
基于图1所示的实现方案,在步骤104之后,在第一设备上还可以有如下处理步骤,如图3中所示:
步骤105:接收第二设备发送的结束请求。
其中,结束请求表征仿真任务执行完成,结束请求至少包括:目标设备的设备地址、目标引擎在目标设备中的使用端口标识。
需要说明的是,结束请求由第二设备在仿真任务被执行完成即不需要使用仿真引擎的情况下生成并发送给第一设备,以指示第一设备释放执行该仿真任务的目标引擎。而结束请求中的设备地址和使用端口标识由第二设备在接收到目标引擎对应的连接请求时获得,或者,结束请求中的设备地址和使用端口标识由第二设备在使用目标引擎执行仿真任务时从目标引擎获得。
步骤106:根据结束请求,更新连接列表中目标引擎对应的使用状态标识。
例如,第一设备将连接列表中目标引擎对应的表征目标引擎处于占用状态的使用状态标识,修改为:表征目标引擎处于可用状态,以表征目标引擎没有被占用,以便于其他设备占用。
需要说明的是,第三设备上每个仿真引擎在处于启动状态的情况下每隔第一时长向第一设备发送一次第一消息,以表征该仿真引擎存活在第三设备上处于可用状态或占用状态。基于此,在第一设备上针对每个仿真引擎,监测是否连续N次没有接收到仿真引擎发送的第一消息,N为大于或等于1的正整数,如3,如果连续N次没有接收到仿真引擎发送的第一消息,表征该仿真引擎可能已经被关闭,此时第一设备可以删除连接列表中仿真引擎对应的引擎信息。
另外,第三设备上的每个仿真引擎在被启动时都会发送第二消息给第一设备,也就是说,第二消息为仿真引擎被启动时向第一设备发送的消息,且第二消息中包括该仿真引擎对应的引擎信息,以表征该仿真引擎被启动能够被其他设备使用。基于此,在第一设备可以持续监测是否接收到仿真引擎发送的第二消息,如果接收到仿真引擎发送的第二消息,那么第一设备可以根据第二消息,在连接列表中添加仿真引擎对应的引擎信息,以便于在接收到第二设备的仿真请求时,按照最新的连接列表为第二设备分配被启动且处于可用状态的仿真引擎。
参考图4,为本申请实施例二提供的一种仿真引擎的调用控制方法的实现流程图,该方法可以应用于仿真系统中的第二设备,如图2中所示的任意一个第二设备都可以执行本实施例中的技术方案。
具体的,本实施例中的方法可以包括以下步骤:
步骤401:发送仿真请求给第一设备。
其中,仿真请求至少包括:第二设备所需要的仿真引擎的目标数量,以使得第一设备在连接列表中,获得目标引擎对应的引擎信息。第一设备还更新连接列表中目标引擎对应的使用状态标识。这里的目标引擎的数量小于等于目标数量,且目标引擎为使用状态标识表征处于可用状态的仿真引擎。
需要说明的是,第二设备发送的仿真请求中包含有第二设备预先从第一设备申请的认证信息如授权码等信息,以使得第一设备在接收到仿真请求之后,先根据仿真请求中的认证信息对第二设备进行合法性验证,如在第一设备的认证集合中查找是否包含该仿真请求中的认证信息,如果在第一设备的认证集合中包含该仿真请求中的认证信息,那么表征第二设备通过合法性验证,允许执行后续步骤,如果在第一设备的认证集合中没有查找到该仿真请求中的认证信息,那么表征第二设备没有通过合法性验证,此时不允许执行后续流程,即第一设备不再为第二设备分配仿真引擎。
步骤402:接收第一设备根据目标引擎对应的引擎信息发送的连接请求。
其中,连接请求包括:目标引擎所在目标设备的设备地址和目标引擎在目标设备中的使用端口标识。
步骤403:至少根据连接请求建立第二设备与目标引擎之间的数据连接,目标引擎用于执行第二设备的仿真任务。
其中,第二设备在接收到连接请求之后,可以按照连接请求中目标设备的设备地址发送连接消息给目标引擎所在的目标设备,连接消息中可以包括有目标引擎在目标设备中的使用端口标识,这样,目标设备就可以按照连接消息中的使用端口标识定位到目标引擎,进而建立第二设备与目标引擎之间的数据连接,以便于目标引擎通过该数据连接为第二设备执行仿真任务。
需要说明的是,连接请求中还可以包含有目标引擎对应的验证标识,即第一设备从连接列表中获得的目标引擎对应的引擎信息中所包含的目标设备的验证标识。由此,第二设备将该验证标识添加到连接消息中,目标设备在接收到连接消息之后,先验证连接消息中的验证标识,例如,将连接消息中的验证标识与目标设备本地保存的验证标识进行比对,如果一致,第二设备与目标设备上目标引擎之间建立数据连接,如果不一致,结束当前流程,目标设备上第一设备发送目标引擎对应的验证异常信息,以表征第二设备连接异常,在第一设备上不再执行后续流程,但第一设备上在连接列表中更新目标引擎对应的使用状态标识,如将连接列表中目标引擎对应的表征目标引擎处于占用状态的使用状态标识,修改为:表征目标引擎处于可用状态,以表征目标引擎没有被占用,以便于其他设备占用。
可见,本申请实施例二提供的一种仿真引擎的调用控制方法中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
参考图5,为本申请实施例三提供的一种仿真引擎的调用控制方法的实现流程图,该方法可以应用于仿真系统中的第三设备,如图2中所示的任意一个第三设备均可以执行本申请的技术方案。
具体的,本实施例中的方法可以包括以下步骤:
步骤501:监测是否有仿真引擎被启动;在监测到有仿真引擎被启动的情况下,执行步骤502,之后再次执行步骤501;如果没有,那么继续执行步骤501。由此,本实施例中持续执行步骤501,在每次检测到有仿真引擎被启动时都执行一次步骤502。
步骤502:发送第二消息给第一设备,以使得第一设备根据第二消息,在连接列表中添加仿真引擎对应的引擎信息。
另外,第一设备还在获得第二设备的仿真请求后,在连接列表中,获得目标引擎对应的引擎信息并更新连接列表中目标引擎对应的使用状态标识;仿真请求至少包括:第二设备所需要的仿真引擎的目标数量;目标引擎的数量小于等于目标数量,且目标引擎为使用状态标识表征处于可用状态的仿真引擎。
步骤503:接收第二设备发送的连接消息,连接消息为第二设备响应于第一设备根据目标引擎对应的引擎信息发送的连接请求所生成的消息。
其中,连接请求至少包括:目标引擎所在目标设备的设备地址和目标引擎在目标设备中的使用端口标识。相应的,连接消息中至少包括:目标引擎在目标设备中的使用端口标识。
步骤504:响应于连接消息,建立第二设备与目标引擎之间的数据连接,目标引擎用于执行第二设备的仿真任务。
其中,目标引擎所在的第三设备为目标设备。作为目标设备的第三设备接收第二设备发送的连接消息后,按照连接消息中的使用端口标识定位到目标引擎,进而建立第二设备与目标引擎之间的数据连接,以便于目标引擎通过该数据连接为第二设备执行仿真任务。
需要说明的是,连接请求中还可以包含有目标引擎对应的验证标识,即第一设备从连接列表中获得的目标引擎对应的引擎信息中所包含的目标设备的验证标识。由此,第二设备将该验证标识添加到连接消息中,目标设备在接收到连接消息之后,先验证连接消息中的验证标识,例如,将连接消息中的验证标识与目标设备本地保存的验证标识进行比对,如果一致,第二设备与目标设备上目标引擎之间建立数据连接,如果不一致,结束当前流程,目标设备上第一设备发送目标引擎对应的验证异常信息,以表征第二设备连接异常,在第一设备上不再执行后续流程,但第一设备上在连接列表中更新目标引擎对应的使用状态标识,如将连接列表中目标引擎对应的表征目标引擎处于占用状态的使用状态标识,修改为:表征目标引擎处于可用状态,以表征目标引擎没有被占用,以便于其他设备占用。
可见,本申请实施例三提供的一种仿真引擎的调用控制方法中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
参考图6,为本申请实施例四提供的一种仿真引擎的调用控制装置的结构示意图,该装置可以配置在第一设备上,第一设备为如图2所示的仿真系统中的中心控制设备。具体的,本实施例中的装置可以包括以下单元:
请求获得单元601,用于获得第二设备的仿真请求;仿真请求至少包括:第二设备所需要的仿真引擎的目标数量;
信息获得单元602,用于在连接列表中,获得目标引擎对应的引擎信息;其中,连接列表中包括被启动的仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎在第三设备中的使用端口标识;目标引擎的数量小于等于目标数量,且目标引擎为使用状态标识表征处于可用状态的仿真引擎;
标识更新单元603,用于更新连接列表中目标引擎对应的使用状态标识;
请求发送单元604,用于根据目标引擎对应的引擎信息发送连接请求给第二设备,连接请求包括:目标引擎所在目标设备的设备地址和目标引擎在目标设备中的使用端口标识,以使得第二设备至少根据连接请求建立第二设备与目标引擎之间的数据连接,目标引擎用于执行第二设备的仿真任务。
可见,本申请实施例四提供的一种仿真引擎的调用控制装置中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
在一种实现方式中,请求获得单元601还用于:接收所述第二设备发送的结束请求,所述结束请求表征所述仿真任务执行完成,所述结束请求至少包括:所述目标设备的设备地址、所述目标引擎在所述目标设备中的使用端口标识;
标识更新单元603还用于:根据所述结束请求,更新所述连接列表中所述目标引擎对应的使用状态标识。
在一种实现方式中,每个所述仿真引擎在处于启动状态的情况下每隔第一时长向所述第一设备发送一次第一消息;
其中,本实施例中的装置还可以包括以下单元,如图7中所示:
异常处理单元605,用于针对每个所述仿真引擎,监测是否连续N次没有接收到所述仿真引擎发送的所述第一消息,N为大于或等于1的正整数;如果连续N次没有接收到所述仿真引擎发送的所述第一消息,删除所述连接列表中所述仿真引擎对应的引擎信息。
在一种实现方式中,标识更新单元603还用于:监测是否接收到所述仿真引擎发送的第二消息,所述第二消息包括所述仿真引擎对应的引擎信息,所述第二消息为所述仿真引擎被启动时向所述第一设备发送的消息;如果接收到所述仿真引擎发送的第二消息,根据所述第二消息,在所述连接列表中添加所述仿真引擎对应的引擎信息。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图8,为本申请实施例五提供的一种仿真引擎的调用控制装置的结构示意图,该装置可以配置在第二设备上,如图2中所示的任意一个第二设备。
具体的,本实施例中的装置可以包括以下单元:
请求发送单元801,用于发送仿真请求给第一设备,仿真请求至少包括:第二设备所需要的仿真引擎的目标数量,以使得第一设备在连接列表中获得目标引擎对应的引擎信息;其中,连接列表中包括被启动的仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎在第三设备中的使用端口标识;第一设备还更新连接列表中目标引擎对应的使用状态标识;目标引擎的数量小于等于目标数量,且目标引擎为使用状态标识表征处于可用状态的仿真引擎;
请求接收单元802,用于接收第一设备根据目标引擎对应的引擎信息发送的连接请求,连接请求包括:目标引擎所在目标设备的设备地址和目标引擎在目标设备中的使用端口标识;
连接建立单元803,用于至少根据连接请求建立第二设备与目标引擎之间的数据连接,目标引擎用于执行第二设备的仿真任务。
可见,本申请实施例五提供的一种仿真引擎的调用控制装置中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图9,为本申请实施例六提供的一种仿真引擎的调用控制装置的结构示意图,该装置可以配置在第三设备上,如图2中所示的任意一个第三设备。
具体的,本实施例中的装置可以包括以下单元:
引擎监测单元901,用于监测是否有仿真引擎被启动;在监测到有仿真引擎被启动的情况下,触发消息发送单元;
消息发送单元902,用于发送第二消息给第一设备,以使得第一设备根据第二消息在连接列表中添加仿真引擎对应的引擎信息;连接列表中包括被启动的仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎的使用状态标识、仿真引擎所在第三设备的设备地址、仿真引擎在第三设备中的使用端口标识;第一设备在获得第二设备的仿真请求后,在连接列表中获得目标引擎对应的引擎信息并更新连接列表中目标引擎对应的使用状态标识;仿真请求至少包括:第二设备所需要的仿真引擎的目标数量;目标引擎的数量小于等于目标数量,且目标引擎为使用状态标识表征处于可用状态的仿真引擎;
消息接收单元903,用于接收第二设备发送的连接消息,连接消息为第二设备响应于第一设备根据目标引擎对应的引擎信息发送的连接请求所生成的消息;连接请求至少包括:目标引擎所在目标设备的设备地址和目标引擎在目标设备中的使用端口标识;
连接建立单元904,用于响应于连接消息,建立第二设备与目标引擎之间的数据连接,目标引擎用于执行第二设备的仿真任务。
可见,本申请实施例六提供的一种仿真引擎的调用控制装置中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
本申请实施例七还提供的一种电子设备,作为仿真系统中的第一设备,第一设备中至少配置有连接列表,包括以下结构:
存储器,用于存储计算机程序以及计算机程序运行所产生的数据;
处理器,用于执行计算机程序,以实现以下处理:
获得第二设备的仿真请求;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;
在所述连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
更新所述连接列表中所述目标引擎对应的使用状态标识;
根据所述目标引擎对应的引擎信息发送连接请求给所述第二设备,所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识,以使得所述第二设备至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
可见,本申请实施例七还提供的一种电子设备中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
本申请实施例八还提供的一种电子设备,作为仿真系统中的第二设备,包括以下结构:
存储器,用于存储计算机程序以及计算机程序运行所产生的数据;
处理器,用于执行计算机程序,以实现以下处理:
发送仿真请求给所述第一设备,所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量,以使得所述第一设备在连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述第一设备还更新所述连接列表中所述目标引擎对应的使用状态标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
接收所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求;所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
可见,本申请实施例八还提供的一种电子设备中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
本申请实施例九还提供的一种电子设备,作为仿真系统中的第三设备,包括以下结构:
存储器,用于存储计算机程序以及计算机程序运行所产生的数据;
处理器,用于执行计算机程序,以实现以下处理:
监测是否有仿真引擎被启动;
在监测到有所述仿真引擎被启动的情况下,发送第二消息给第一设备,以使得所述第一设备根据所述第二消息,在连接列表中添加所述仿真引擎对应的引擎信息;所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;所述第一设备还在获得第二设备的仿真请求后,在所述连接列表中,获得目标引擎对应的引擎信息并更新所述连接列表中所述目标引擎对应的使用状态标识;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
接收所述第二设备发送的连接消息,所述连接消息为所述第二设备响应于所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求所生成的消息;所述连接请求至少包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
响应于所述连接消息,建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
可见,本申请实施例九还提供的一种电子设备中,在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
参考图10,为本申请实施例十提供的一种仿真系统的系统架构图,仿真系统包括:
第一设备1001、至少一个第二设备1002和多个第三设备1003,第三设备1003上配置有仿真引擎;
其中,第一设备1001、至少一个第二设备1002和多个第三设备1003之间的交互如图11中所示:
第三设备1003监测是否有仿真引擎被启动,在监测到有仿真引擎被启动的情况下,第三设备1003发送第二消息给第一设备1001;
第一设备1001根据第二消息在连接列表中添加仿真引擎对应的引擎信息;连接列表中包括:被启动的仿真引擎对应的引擎信息,仿真引擎对应的引擎信息至少包括:仿真引擎的使用状态标识、仿真引擎所在第三设备1003的设备地址、仿真引擎在第三设备1003中的使用端口标识;
第二设备1002发送仿真请求给第一设备1001;
第一设备1001获得第二设备1002的仿真请求;仿真请求至少包括:第二设备1002所需要的仿真引擎的目标数量;
第一设备1001在连接列表中获得目标引擎对应的引擎信息;目标引擎的数量小于等于目标数量,且目标引擎为使用状态标识表征处于可用状态的仿真引擎;
第一设备1001更新连接列表中目标引擎对应的使用状态标识;
第一设备1001根据目标引擎对应的引擎信息发送连接请求给第二设备1002;连接请求包括:目标引擎所在目标设备1031的设备地址和目标引擎在目标设备1031中的使用端口标识;
第二设备1002至少根据连接请求建立第二设备1002与目标引擎之间的数据连接,目标引擎用于执行第二设备1002的仿真任务。
可见,本申请在仿真系统中配置第一设备并在第一设备中维护连接列表,以便于在第二设备需要仿真引擎时,按照连接列表中所包含的每个第三设备上被启动的仿真引擎对应的引擎信息在第三设备上为第二设备配置目标引擎,以执行第二设备的启动任务,这一过程中通过第一设备实现自动化的仿真引擎的调用控制,无需用户手动核对仿真引擎的使用情况也不需要用户进行输入未使用的仿真引擎的地址和仿真引擎在电脑上使用的端口等操作,由此,本申请能够降低分配仿真引擎的操作复杂度,进而提高为仿真模型分配仿真引擎的效率。
以航天仿真场景为例,仿真系统中包括:建模工具所在的服务器G1-G2(即第二设备)、中央服务器M(即第一设备)以及仿真引擎SE1-SE6所在的电脑C,如图12中所示,在启动M后,用户按需启动相应的数量的SE,另外,用户打开G,就可以按需使用一台或多台SE。据此对本申请的技术方案进行举例说明:
一、启动M:
1.1、M在启动时,启动M上的服务,比如启动电脑M:0.0.0.0:8888,意为监听所有电脑,连接端口为8888,并在M上维护一套连接列表L,刚起动M还没有SE连接时,列表为空,如果有两个SE启动并连接后,连接列表L可以为:
[
{
se-ip:192.168.1.55,//这是SE的IP
se-port:1234,//这是SE的端口
token:1234567890abcde,//这是GCAir或其它终端连接SE时出示的校验令牌
idle:true//这是用来说明这台SE是空闲状态.true代表空闲,false代表被占用
},
{
se-ip:192.168.1.88,
se-port:1234,
token:0987654321abcde,
idle:false
}
]
M可以启动一个验证进程,当有G需要获取SE时,这个进程会连接到M中存储授权码的集合来验证G是否可用。
M可以启动另一个验证进程,当有SE启动连接时,使用已约定的加密算法来确定SE的合法性。
1.2、按需启动SE:启动的SE会连接到M,M通过后向L中添加一条SE的信息。
1.3、当用户启动终端如G需要SE时,向M索取多个SE,M将需要的SE的使用状态标识idle状态从true(处于可用状态)改为false(处于占用状态),然后向终端返回{se-ip,se-port,token}。
1.4、终端G收到返回信息后,向se-ip的se-port端口发送请求和token,SE校验token通过后,正常仿真。
1.5、仿真完成后,SE向M通知,将M中的L里自己的idle状态改为true,将整个流程闭环。
二、异常处理:
2.1、M的中断及自启:M服务理论上不会出现错误。为防止服务或硬件出现问题,本申请可以增加一台服务甚至更多服务来增加其稳定性。将服务加入守护进程和系统自启中,可以减少维护。在M中加入持久化操作,每次变更L都将L写入磁盘中,重启时可恢复原有状态。
2.2、SE意外中断:在M和SE中存在3秒(根据业务和性能可以调整这个值,例如1秒到10分钟都是可接受的范围)的心跳,当M在3(这个值可调整)次心跳都收不到SE的回应时,在L中将这台SE删除,并向管理员发送通知。其中,SE在任何时候上线都会重新向M注册自己的信息。
2.3、性能:M使用的是无状态的协议,不需要维护连接,无连接上的线程占用和切换。L种十分精简,队列和访问使用异步处理,主进程无阻塞,最大限度地利用资源,可维护上万连接。
2.4、异步并发:修改内存中的L时,使用同步判断且逐一修改的方式制造先到先得的效果。假如需要修改10个SE,可以先获取到一个符合要求的SE,使用同步方法改变SE的idle状态,以同样的方式修改下一个SE。由于是内存操作运算速度足够快可以避免使用多层锁就能保证整个操作的一致性。
2.5、安全:终端到M,在协议握手后通过M的授权中心验证,M到SE使用约定算法验证,终端到SE在TCP通道中,将token写入到传输控制协议TCP(Transmission ControlProtocol)包头中做验证。所有传输过程中都可以使用安全套阶层SSL(Secure SocketLayer)加密。
综上,本申请的技术方案中,SE能够被合理分配,最大化为用户提供了范围。而且,SE被自动注册或注销,用户在连接时能够被自动分配资源,无需再手动分配,这样解决了使用冲突问题,用户无需再关注SE的异常处理。另外,本申请G、SE、M三个终端完全独立,可以灵活的部署,应用范围广,符合规范的任何服务都可以连接,每类终端仅存在一个出入口,没有复杂的网络交互,这使得本申请具有较高的独立性,代码量较小,使用“消息队列服务”作为中间节点即M,没有交叉连接,M相当于一个规范,所有符合这个规范的连接都可以接入其中。比如把现在的G换成网页版,或其它APP,都可以通过M调用SE。反之,前端也可以通过M调用其它版本的SE。这在未来的数字孪生计划中产生重要意义。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

Claims (10)

1.一种仿真引擎的调用控制方法,其特征在于,应用于第一设备,所述第一设备中至少配置有连接列表,所述第一设备为仿真系统中的中心控制设备,所述仿真系统还包括至少一个第二设备和多个第三设备,所述第二设备用于构建仿真模型并需要使用仿真引擎对所述仿真模型进行处理;所述第三设备中配置有一个或多个所述仿真引擎,所述仿真引擎处于可用状态或占用状态,所述方法包括:
获得所述第二设备的仿真请求;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;
在所述连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在所述第三设备中的使用端口标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
更新所述连接列表中所述目标引擎对应的使用状态标识;
根据所述目标引擎对应的引擎信息发送连接请求给所述第二设备,所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识,以使得所述第二设备至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第二设备发送的结束请求,所述结束请求表征所述仿真任务执行完成,所述结束请求至少包括:所述目标设备的设备地址、所述目标引擎在所述目标设备中的使用端口标识;
根据所述结束请求,更新所述连接列表中所述目标引擎对应的使用状态标识。
3.根据权利要求1或2所述的方法,其特征在于,每个所述仿真引擎在处于启动状态的情况下每隔第一时长向所述第一设备发送一次第一消息;
其中,所述方法还包括:
针对每个所述仿真引擎,监测是否连续N次没有接收到所述仿真引擎发送的所述第一消息,N为大于或等于1的正整数;
如果连续N次没有接收到所述仿真引擎发送的所述第一消息,删除所述连接列表中所述仿真引擎对应的引擎信息。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
监测是否接收到所述仿真引擎发送的第二消息,所述第二消息包括所述仿真引擎对应的引擎信息,所述第二消息为所述仿真引擎被启动时向所述第一设备发送的消息;
如果接收到所述仿真引擎发送的第二消息,根据所述第二消息,在所述连接列表中添加所述仿真引擎对应的引擎信息。
5.一种仿真引擎的调用控制方法,其特征在于,应用于仿真系统中的第二设备,所述仿真系统包括第一设备、至少一个所述第二设备和多个第三设备,所述第一设备为所述仿真系统中的中心控制设备,所述第二设备用于构建仿真模型并需要使用仿真引擎对所述仿真模型进行处理;所述第三设备中配置有一个或多个所述仿真引擎,所述仿真引擎处于可用状态或占用状态;所述方法包括:
发送仿真请求给所述第一设备,所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量,以使得所述第一设备在连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在所述第三设备中的使用端口标识;所述第一设备还更新所述连接列表中所述目标引擎对应的使用状态标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
接收所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求;所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
6.一种仿真引擎的调用控制方法,其特征在于,应用于仿真系统中的第三设备,所述仿真系统包括第一设备、至少一个第二设备和多个所述第三设备,所述第一设备为所述仿真系统中的中心控制设备,所述第二设备用于构建仿真模型并需要使用仿真引擎对所述仿真模型进行处理;所述第三设备中配置有一个或多个所述仿真引擎,所述仿真引擎处于可用状态或占用状态;所述方法包括:
监测是否有仿真引擎被启动;
在监测到有所述仿真引擎被启动的情况下,发送第二消息给所述第一设备,以使得所述第一设备根据所述第二消息,在连接列表中添加所述仿真引擎对应的引擎信息;所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在所述第三设备中的使用端口标识;所述第一设备还在获得第二设备的仿真请求后,在所述连接列表中,获得目标引擎对应的引擎信息并更新所述连接列表中所述目标引擎对应的使用状态标识;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
接收所述第二设备发送的连接消息,所述连接消息为所述第二设备响应于所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求所生成的消息;所述连接请求至少包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
响应于所述连接消息,建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
7.一种仿真引擎的调用控制装置,其特征在于,配置在第一设备上,所述第一设备中至少配置有连接列表,所述第一设备为仿真系统中的中心控制设备,所述仿真系统还包括至少一个第二设备和多个第三设备,所述第二设备用于构建仿真模型并需要使用仿真引擎对所述仿真模型进行处理;所述第三设备中配置有一个或多个所述仿真引擎,所述仿真引擎处于可用状态或占用状态,所述装置包括:
请求获得单元,用于获得所述第二设备的仿真请求;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;
信息获得单元,用于在所述连接列表中,获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在所述第三设备中的使用端口标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
标识更新单元,用于更新所述连接列表中所述目标引擎对应的使用状态标识;
请求发送单元,用于根据所述目标引擎对应的引擎信息发送连接请求给所述第二设备,所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识,以使得所述第二设备至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
8.一种仿真引擎的调用控制装置,其特征在于,配置在仿真系统中的第二设备上,所述仿真系统包括第一设备、至少一个所述第二设备和多个第三设备,所述第一设备为所述仿真系统中的中心控制设备,所述第二设备用于构建仿真模型并需要使用仿真引擎对所述仿真模型进行处理;所述第三设备中配置有一个或多个所述仿真引擎,所述仿真引擎处于可用状态或占用状态;所述装置包括:
请求发送单元,用于发送仿真请求给所述第一设备,所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量,以使得所述第一设备在连接列表中获得目标引擎对应的引擎信息;其中,所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在所述第三设备中的使用端口标识;所述第一设备还更新所述连接列表中所述目标引擎对应的使用状态标识;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
请求接收单元,用于接收所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求,所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
连接建立单元,用于至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
9.一种仿真引擎的调用控制装置,其特征在于,配置在仿真系统中的第三设备上,所述仿真系统包括第一设备、至少一个第二设备和多个所述第三设备,所述第一设备为所述仿真系统中的中心控制设备,所述第二设备用于构建仿真模型并需要使用仿真引擎对所述仿真模型进行处理;所述第三设备中配置有一个或多个所述仿真引擎,所述仿真引擎处于可用状态或占用状态;所述装置包括:
引擎监测单元,用于监测是否有仿真引擎被启动;在监测到有所述仿真引擎被启动的情况下,触发消息发送单元;
消息发送单元,用于发送第二消息给所述第一设备,以使得所述第一设备根据所述第二消息在连接列表中添加所述仿真引擎对应的引擎信息;所述连接列表中包括被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在所述第三设备中的使用端口标识;所述第一设备在获得第二设备的仿真请求后,在所述连接列表中获得目标引擎对应的引擎信息并更新所述连接列表中所述目标引擎对应的使用状态标识;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
消息接收单元,用于接收所述第二设备发送的连接消息,所述连接消息为所述第二设备响应于所述第一设备根据所述目标引擎对应的引擎信息发送的连接请求所生成的消息;所述连接请求至少包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
连接建立单元,用于响应于所述连接消息,建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
10.一种仿真系统,其特征在于,所述仿真系统包括:
第一设备、至少一个第二设备和多个第三设备,所述第三设备上配置有仿真引擎;所述第一设备为所述仿真系统中的中心控制设备,所述第二设备用于构建仿真模型并需要使用所述仿真引擎对所述仿真模型进行处理;所述仿真引擎处于可用状态或占用状态;
其中:
所述第三设备监测是否有仿真引擎被启动,在监测到有所述仿真引擎被启动的情况下,所述第三设备发送第二消息给所述第一设备;
所述第一设备根据所述第二消息在连接列表中添加所述仿真引擎对应的引擎信息;所述连接列表中包括:被启动的仿真引擎对应的引擎信息,所述仿真引擎对应的引擎信息至少包括:所述仿真引擎的使用状态标识、所述仿真引擎所在第三设备的设备地址、所述仿真引擎在第三设备中的使用端口标识;
所述第一设备获得所述第二设备的仿真请求;所述仿真请求至少包括:所述第二设备所需要的仿真引擎的目标数量;
所述第一设备在所述连接列表中获得目标引擎对应的引擎信息;所述目标引擎的数量小于或等于所述目标数量,且所述目标引擎为所述使用状态标识表征处于可用状态的仿真引擎;
所述第一设备更新所述连接列表中所述目标引擎对应的使用状态标识;
所述第一设备根据所述目标引擎对应的引擎信息发送连接请求给所述第二设备;所述连接请求包括:所述目标引擎所在目标设备的设备地址和所述目标引擎在所述目标设备中的使用端口标识;
所述第二设备至少根据所述连接请求建立所述第二设备与所述目标引擎之间的数据连接,所述目标引擎用于执行所述第二设备的仿真任务。
CN202311370242.5A 2023-10-23 2023-10-23 仿真引擎的调用控制方法、装置及仿真系统 Active CN117112185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311370242.5A CN117112185B (zh) 2023-10-23 2023-10-23 仿真引擎的调用控制方法、装置及仿真系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311370242.5A CN117112185B (zh) 2023-10-23 2023-10-23 仿真引擎的调用控制方法、装置及仿真系统

Publications (2)

Publication Number Publication Date
CN117112185A CN117112185A (zh) 2023-11-24
CN117112185B true CN117112185B (zh) 2024-01-26

Family

ID=88800537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311370242.5A Active CN117112185B (zh) 2023-10-23 2023-10-23 仿真引擎的调用控制方法、装置及仿真系统

Country Status (1)

Country Link
CN (1) CN117112185B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934263A (zh) * 2021-08-13 2023-04-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备以及存储介质
CN116755844A (zh) * 2023-08-17 2023-09-15 北京世冠金洋科技发展有限公司 一种仿真引擎的数据处理方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042675B2 (en) * 2018-06-01 2021-06-22 The Mathworks, Inc. Systems and methods for automatically realizing models for co-simulation
US20230305734A1 (en) * 2022-03-24 2023-09-28 SK Hynix Inc. Platform for non-volatile memory storage devices simulation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934263A (zh) * 2021-08-13 2023-04-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备以及存储介质
CN116755844A (zh) * 2023-08-17 2023-09-15 北京世冠金洋科技发展有限公司 一种仿真引擎的数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117112185A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN108549580B (zh) 自动部署Kubernetes从节点的方法及终端设备
US8443087B2 (en) System for managing sessions and connections in a network
KR101676042B1 (ko) 클라이언트/서버 네트워크 환경에서 비 역호환 서버 버전을 분배하기 위한 방법 및 시스템
CN110557290B (zh) 网络加速服务的处理方法及装置
CN108628716B (zh) 信息纳管系统、方法及装置
JP5005166B2 (ja) リソース・グリッドを自動的に確立するための機構
WO2020216038A1 (zh) 数据管理方法、lepm和mepm
CN110855746A (zh) 中间件管理方法、电子装置及存储介质
WO2021226781A1 (zh) 防火墙规则的更新方法、装置、服务器及存储介质
JP2022531921A (ja) 課金方法、装置、およびシステム
CN109947081B (zh) 网联车辆控制方法及装置
CN117112185B (zh) 仿真引擎的调用控制方法、装置及仿真系统
CN118214721A (zh) 一种基于Sentinel的熔断限流方法和系统
CN110324191B (zh) 混合云部署方法、装置及系统
CN116095145B (zh) 一种vpc集群的数据控制方法和系统
CN116886286A (zh) 大数据认证服务自适应方法、装置和设备
US7350065B2 (en) Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection
CN115665265A (zh) 请求处理方法、装置、设备、存储介质及系统
CN112463174A (zh) 一种远程卸载服务端的方法、装置、设备及存储介质
CN117130758B (zh) 仿真引擎的启停控制方法、装置及仿真系统
CN115801864B (zh) 一种资源锁定时间的控制方法、系统、装置及存储介质
CN111400095A (zh) 一种集群以及异常断电重启集群的方法、系统以及介质
CN111756831B (zh) 服务器预加载方法、装置、服务器及存储介质
CN117130759B (zh) 仿真引擎的启停控制方法、装置及仿真系统
CN114641033B (zh) 5g消息推送速度控制方法、装置、设备及介质

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