CN113419850B - 一种实体的并行仿真方法、装置、电子设备及存储介质 - Google Patents
一种实体的并行仿真方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113419850B CN113419850B CN202110655138.5A CN202110655138A CN113419850B CN 113419850 B CN113419850 B CN 113419850B CN 202110655138 A CN202110655138 A CN 202110655138A CN 113419850 B CN113419850 B CN 113419850B
- Authority
- CN
- China
- Prior art keywords
- entity
- dynamic
- simulation
- entities
- simulated
- 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
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供的一种实体的并行仿真方法、装置、电子设备及存储介质,获取待仿真实体中的动态实体;根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真;通过多个进程对待仿真实体中的动态实体进行并行仿真,并为每一个进程划分出对应的仿真实体任务,能够提高仿真效率,确保仿真结果的正确性。
Description
技术领域
本发明涉及仿真计算技术领域,尤其涉及一种实体的并行仿真方法、装置、电子设备及存储介质。
背景技术
虚幻引擎UE4是一款开源的游戏引擎,得益于它强大的计算能力以及丰富逼真的渲染能力,已经被广泛地应用于游戏开发、虚拟现实以及建模仿真等领域。
目前,对于小规模场景,基于UE4的建模仿真通常采用串行执行的方式,即整个仿真主要计算逻辑都是在同一个主进程GameThread上执行,因而所有实体也都是由同一个进程来生成与组织。但是,随着实际仿真场景的扩大,或者待求解问题比较复杂,比如对大规模无人机群的仿真,参与仿真的实体数量急剧增加,现有的串行执行的方式仍然只能通过同一个进程对各个实体逐个仿真,严重影响了仿真效率。
由此可见,现有的串行执行的仿真方法,只能通过同一个进程对实体进行仿真,具有仿真效率低下的问题。
发明内容
本发明提供一种实体的并行仿真方法、装置、电子设备及存储介质,用以解决现有的串行执行的仿真方法,只能通过同一个进程对实体进行仿真,具有仿真效率低下的问题;通过多个进程对待仿真实体中的动态实体进行并行仿真,并为每一个进程划分出对应的仿真实体任务,能够提高仿真效率,确保仿真结果的正确性。
本发明提供一种实体的并行仿真方法,包括:
获取待仿真实体中的动态实体;
根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;
通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真。
根据本发明提供的一种实体的并行仿真方法,所述通过任一所述进程,对所述目标动态实体进行仿真,包括:
将所述待仿真实体中的动态实体传输至任一进程中;
根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体;
将所述动态实体中除所述目标动态实体之外的非目标动态实体设置为隐身状态,以使得所述任一进程仅对所述目标动态实体进行仿真。
根据本发明提供的一种实体的并行仿真方法,所述获取待仿真实体中的动态实体,包括:
通过动态实体链表,判断所述待仿真实体中的任一实体是否为动态实体;
若所述动态实体链表中存在所述待仿真实体中的任一实体,确定所述任一实体为动态实体。
根据本发明提供的一种实体的并行仿真方法,所述根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体,包括:
根据所述动态实体的数量及待进行实体仿真的进程的数量,计算任一所述进程对应的目标动态实体的数量;
根据所述目标动态实体的数量,在所述动态实体中划分出任一所述进程对应的目标动态实体。
根据本发明提供的一种实体的并行仿真方法,所述根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体之前,包括:
通过所述待仿真实体中任一实体的原始索引号,确定所述动态实体的索引号;
或者,对任一所述动态实体重新设置唯一索引号,作为所述动态实体的索引号。
根据本发明提供的一种实体的并行仿真方法,所述通过任一所述进程,对所述目标动态实体进行仿真,还包括:
基于预设时间间隔,定期对所述进行实体仿真的进程中的仿真状态进行同步。
根据本发明提供的一种实体的并行仿真方法,还包括:
获取所述待仿真实体中的静态实体;
通过仿真引擎主进程,对所述静态实体进行仿真。
本发明还提供一种实体的并行仿真装置,包括:
获取单元,用于获取待仿真实体中的动态实体;
确定单元,用于根据所述动态实体的数量及待进行实体仿真的进程的数量,确定与任一所述进程对应的目标动态实体;
仿真单元,用于通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种实体的并行仿真方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种实体的并行仿真方法的步骤。
本发明提供的一种实体的并行仿真方法、装置、电子设备及存储介质,获取待仿真实体中的动态实体;根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真;通过多个进程对待仿真实体中的动态实体进行并行仿真,并为每一个进程划分出对应的仿真实体任务,能够提高仿真效率,确保仿真结果的正确性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的串行仿真实体生成流程示意图;
图2是本发明另一实施例提供的实体的并行仿真方法的流程示意图;
图3是本发明另一实施例提供的并行仿真任务划分流程示意图;
图4是本发明另一实施例提供的并行仿真实体生成流程示意图;
图5是本发明另一实施例提供的并行仿真管理系统实体图;
图6是本发明另一实施例提供的并行仿真实体管理系统执行流程的示意图;
图7是本发明另一实施例提供的实体的并行仿真装置的结构示意图;
图8是本发明提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对专业术语及现有的串行仿真的方法进行说明。
仿真实体:指参与仿真的所有物理单元,根据其状态是否随时间的推动而发送变化,可以分为静态实体和动态实体。比如,一座山就是一个静态实体,因为它的状态在仿真世界里可认为是始终如一的;一架飞机通常就是一个动态实体,因为当它运动时,其状态(位置、姿态等)就是不断变化的,需要通过计算来实时更新。
实体生成:指在仿真平台中,通过程序代码构建出一个用于后续仿真推演的仿真实体,比如生成一架飞机实体。
并行仿真:指采用两个以上的进程分别对仿真实体进行计算。
实体划分:指将仿真实体按照一定规则分配给不同的进程,以分别进行计算。
图1为本发明实施例提供的串行仿真实体生成流程示意图。参见图1,
在传统基于UE4的串行仿真中,由于整个仿真主要计算逻辑都是在同一个主进程GameThread上执行,因而所有实体也都是由同一个进程来生成与组织。具体地,仿真实体的生成过程如下:
步骤101:UE4平台根据实体的位置相关参数计算实体的初始生成位置。
步骤102:在UE4引擎中,生成一个AActor类型的实体实例。
步骤103:根据实体的生成位置,将生成的实体添加到对应的仿真场景中。
步骤104:生成实体上所附着的组件,并将其组装到实体上,与步骤102中所生成的实体实例之间建立关联。
针对串行仿真中存在的缺点,本发明实施例提供一种实体的并行仿真方法,可以通过多个进程对待仿真实体中的动态实体进行并行仿真,并为每一个进程划分出对应的仿真实体任务,能够提高仿真效率,确保仿真结果的正确性。
下面结合图2-图6描述本发明提供的实体的并行仿真方法。
图2为本发明另一实施例提供的一种实体的并行仿真方法的流程示意图。参见图2,该实体的并行仿真方法包括:
步骤201:获取待仿真实体中的动态实体。
对于较大的仿真场景,在待仿真实体中包含有很多个需要进行仿真的实体部分,其中包括了动态实体和静态实体。其中,由于静态实体在仿真场景中的状态是固定不变的,因此静态实体仍可以采用串行仿真的方法,通过一个进程进行仿真。动态实体由于在仿真场景中的状态(位置、姿态等)不断发生变化,因此通过并行仿真的方法同时对多个动态实体进行仿真,加快了仿真效率。
具体的,在仿真过程中,可以由人为确定出仿真场景中哪些为动态实体,也可以由仿真系统判断哪些为动态实体,本实施例对此不作具体限制。
步骤202:根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体。
在并行仿真的过程中,通过多个进程对动态实体进行仿真。在进行动态实体的仿真之前,需要划分出不同进程所需要进行仿真处理的目标动态实体。其中,根据待仿真的动态实体的数量,以及待进行仿真的进程的数量,确定并划分出任一进程对应的目标动态实体。
具体的,可以通过简单的计算进行划分,例如,待仿真实体中包括10个动态实体,有5个进程用于动态实体的仿真,则为每个进程分配两个对应的动态实体;或者,通过算法,对10个动态实体的仿真复杂程度进行判断,在分配动态实体时,对用于处理复杂程度高的动态实体的进程分配较少的目标动态实体,对用于处理复杂复杂程度低的动态实体的进程分配较多的目标动态实体,以实现多个进程在并行处理时的同步。
步骤203:通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真。
通过任一进程对对应的目标动态实体进行仿真,从而实现对待仿真实体的并行仿真。
其中,将目标动态实体传输到对应的进程中,可以只将与该进程对应的目标动态实体传输至该进程中;也可以首先将全部的动态实体一起传输到每一进程中,再由每一个进程在全部的动态实体中识别出对应的目标动态实体,再对目标动态实体进行仿真。本发明实施例中,使用第二种方法,使得进程完成对目标动态实体的仿真。
本发明提供的一种实体的并行仿真方法,获取待仿真实体中的动态实体;根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真;通过多个进程对待仿真实体中的动态实体进行并行仿真,并为每一个进程划分出对应的仿真实体任务,能够提高仿真效率,确保仿真结果的正确性。
进一步地,在上述实施例的基础上,根据本发明提供的一种实体的并行仿真方法,所述通过任一所述进程,对所述目标动态实体进行仿真,包括:
将所述待仿真实体中的动态实体传输至任一进程中;
根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体;
将所述动态实体中除所述目标动态实体之外的非目标动态实体设置为隐身状态,以使得所述任一进程仅对所述目标动态实体进行仿真。
在并行仿真过程中,每一个动态实体都有着独特的索引号,通过该索引号可以确定出对应的动态实体。
在为每一个进程划分好目标动态实体后,若将每一个进程对应的目标动态实体独立提取出来,并将提取出的目标动态实体传输到进程中,存在问题如下:一是将目标动态实体提取出来的过程比较复杂,二是不同的动态实体之间可能存在关联,若强行拆分动态实体,较易对最终的仿真结果造成影响,降低仿真结果的精确度。
因此,本实施例中,在为每一个进程划分好目标动态实体后,即对每一个进程也确定了目标动态实体的索引号,将待仿真实体中的所有动态实体全部传输到每一个进程中,通过索引号,确定出与任一进程对应的目标动态实体。
具体的,在一个进程中,对于除目标动态实体之外的非目标动态实体,将非目标动态实体的TickState变量为disable,使得非目标动态实体在该进程的仿真过程中处于隐身状态,即该进程中虽存在非目标动态实体,但是并不对非目标动态实体进行仿真,只对目标动态实体进行仿真,以此通过多个进程实现对待仿真实体的并行仿真。
图3是本发明另一实施例提供的并行仿真任务划分流程示意图。参见图3,UE4并行仿真过程中,需要根据参与仿真计算的并行实体数量以及并行计算节点数及进行任务划分,具体流程如下:
步骤301:获取所有需要并行计算的仿真实体,统计其数量;
步骤302:获取并行仿真的并行度,即进程数;
步骤303:计算每个进程所负责的并行实体(即动态实体)数量以及实体索引号;
步骤304:每个进程先拷贝所有全局实体到本地;然后,根据步骤303中计算得到的结果,每个进程将自己负责计算的实体标记为本地实体(即目标动态实体),将其他进程负责的实体标记为远程实体(即非目标动态实体)。再通过设置远程实体的TickState变量为disable,将所有远程实体的计算逻辑关闭(即将非目标动态实体变更为隐身状态);
步骤305:结束任务划分过程。
本实施例中,通过将全部的动态实体传输至每一进程中,并将非目标动态实体变更为隐身状态,在实现对待仿真实体的并行仿真的基础上,使得并行仿真过程更加简便,提高了并行仿真结果的精确度。
进一步地,在上述实施例的基础上,根据本发明提供的一种实体的并行仿真方法,所述获取待仿真实体中的动态实体,包括:
通过动态实体链表,判断所述待仿真实体中的任一实体是否为动态实体;
若所述动态实体链表中存在所述待仿真实体中的任一实体,确定所述任一实体为动态实体。
在对待仿真实体进行仿真时,建立并维护动态实体链表;其中,当最初建立该动态实体链表时,可以由人为确定出哪些实体属于动态实体,并将该动态实体添加到动态实体链表中,即该动态实体链表中可以只包含动态实体;随着待仿真实体的增多,该动态实体链表中包含的动态实体也增多。
当动态实体链表中的动态实体足够多时,在对新的待仿真实体进行仿真时,首先确定出待仿真实体中的各个实体,再通过判断任一实体是否在动态实体链表中,确定该实体是否为动态实体。
本实施例中,通过动态实体链表判断任一实体是否为动态实体,区分出动态实体和静态实体,使得区分过程自动化,加快对待仿真实体的并行仿真效率。
进一步地,在上述实施例的基础上,根据本发明提供的一种实体的并行仿真方法,所述根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体,包括:
根据所述动态实体的数量及待进行实体仿真的进程的数量,计算任一所述进程对应的目标动态实体的数量;
根据所述目标动态实体的数量,在所述动态实体中划分出任一所述进程对应的目标动态实体。
在对动态实体的并行仿真过程中,首先获取待仿真实体中的动态实体总数;再获取用于处理待仿真实体的进程数,根据动态实体总数及进程数,确定出每一个进程需要进行仿真的目标动态实体的数量。
确定了任一进程的目标动态实体之后,将全部的动态实体传输至任一进程中,以实现对动态实体的并行仿真。
本实施例中,通过动态实体总数及进程数,确定每个进程的目标动态实体数,能够快速划分出多个进程的并行任务。
进一步地,在上述实施例的基础上,根据本发明提供的一种实体的并行仿真方法,所述根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体之前,包括:
通过所述待仿真实体中任一实体的原始索引号,确定所述动态实体的索引号;
或者,对任一所述动态实体重新设置唯一索引号,作为所述动态实体的索引号。
将全部动态实体传输至每一个进程中之后,任一进程通过对应的目标动态实体的索引号确定出目标动态实体,并对目标动态实体进行仿真。其中,在待仿真实体中,确定待仿真实体中的任一实体时,可以同时确定出该实体在待仿真实体中的唯一的原始索引号;还可以在确定出待仿真实体中的动态实体之后,重新为每一个动态实体设置唯一的索引号,本实施例对此不作具体限制。
本实施例中,通过不同的方式确定出目标动态实体的索引号,并根据索引号对目标动态实体进行仿真,使得进程更精准的确定出需要仿真的目标动态实体。
进一步地,在上述实施例的基础上,根据本发明提供的一种实体的并行仿真方法,所述通过任一所述进程,对所述目标动态实体进行仿真,还包括:
基于预设时间间隔,定期对所述进行实体仿真的进程中的仿真状态进行同步。
在待仿真实体中存在着多个动态实体,不同的动态实体之间可能会存在着关联关系,在不同的时刻,同一动态实体的状态(位置、姿态等)不同,对其他的动态实体的状态的影响也不同,因此,在对多个动态实体进行并行仿真的过程中,需要定期对不同进程中的动态实体的状态进行同步,以保持各个动态实体仿真状态的一致性。其中,预设时间间隔可以由人为设定。
进一步地,在对各动态实体的状态进行同步之后,判断该并行仿真是否结束,若未结束,则继续对各动态实体的状态进行同步。
本实施例中,通过对各动态实体的仿真状态进行同步,以保证不同进程中的动态实体具有一致的仿真状态,确保了最终仿真结果的准确性。
进一步地,在上述实施例的基础上,根据本发明提供的一种实体的并行仿真方法,还包括:
获取所述待仿真实体中的静态实体;
通过仿真引擎主进程,对所述静态实体进行仿真。
在待仿真实体中,包括着动态实体和静态实体;对动态实体,由于动态实体的状态在仿真过程中不断发生变化,因此采用并行仿真的方法对动态实体进行仿真;对静态实体,由于静态实体的状态并不会发生变化,因此仍使用串行仿真的方式对静态实体进行仿真。由此,可以在不影响静态实体的仿真速度的基础上,可以节省出更多的进程用于动态实体的仿真,从而加快待仿真实体的整体仿真进程。通过哪一个进程作为静态实体的仿真进程,本实施例不作具体限制。
具体的,本实施例中,通过UE4仿真引擎的主进程Game Thread上执行对静态实体的仿真过程;通过主进程完成静态实体的仿真,在不影响动态实体的并行仿真的基础上,能够加快静态实体的仿真速度。
本实施例中,通过仿真引擎的主进程对静态实体进行仿真,即可以加快静态实体的仿真速度,还可以节省出更多的进程用于动态实体的仿真,从而加快待仿真实体的整体仿真进程。
进一步地,本发明实施例提供了一种基于UE4的并行仿真实体组织方法及其系统,以下对该基于UE4的并行仿真实体组织方法及其系统进行说明。
在并行计算领域,为了最大限度地发挥多核乃至跨节点并行计算机的潜力,通常将计算任务分给两个以上的进程,提高计算性能。对于一个计算量为m的任务,如果采用串行执行,每个计算节点(即进程)需要处理所有m个任务。如果采用并行度为n的并行计算(n大于等于2),则每个计算节点负责计算的任务量为m/n(假设m能整除n)。
基于UE4平台的并行仿真,参与仿真计算的不再是单独的一个进程,而是两个甚至两个以上的进程。因而,相比串行仿真,其仿真计算的主要任务需要重新组织。具体地,UE4仿真计算的主要任务是对所有仿真实体的状态进行计算与更新。因而,对于UE4并行仿真,首先需要在串行仿真实体的基础上,生成并行仿真实体。
图4为本发明另一实施例提供的并行仿真实体生成流程示意图。
参见图4,该并行仿真实体生成流程包括:
步骤401:UE4平台根据实体的位置相关参数计算实体的初始生成位置。
步骤402:重写UE4引擎,创建一个用于UE4并行仿真的并行实体管理系统。
步骤403:在UE4引擎中,生成一个AActor类型的实体实例。
步骤404:根据实体的生成位置,将生成的实体添加到对应的仿真场景中。
步骤405:判断实体是否是动态实体,如果是,则将其添加到并行实体管理系统。
步骤406:对于动态实体,将其添加到并行实体管理系统,并且在实体管理系统中统一对所有的并行实体进行组织。
步骤407:生成实体上所附着的组件,并将其组装到实体上,与步骤403中所生成的实体实例之间建立关联。
图5为本发明另一实施例提供的并行仿真管理系统实体图,图6为本发明另一实施例提供的并行仿真实体管理系统执行流程的示意图。参见图5、图6,该并行仿真管理系统包括3个关键模块,分别是并行实体链表501、并行任务划分模块502以及实体状态同步模块503;该并行仿真实体管理系统执行流程具体包括:
步骤601:UE4仿真开始后,对并行实体管理系统进行初始化,主要是实例化一个并行实体管理系统类。
步骤602:UE4并行仿真中,并行实体管理系统只对状态随时间发生改变的动态实体进行管理,而状态不随时间发生变化的静态实体则由UE4引擎统一管理。并行实体管理系统通过维护一个全局的并行实体链表,来对并行实体与非并行实体进行区分。具体地,在管理系统初始化后,实体生成过程中,将需要并行计算的动态实体加入到并行实体链表。
步骤603:所有并行实体都添加到并行实体链表后,由并行任务划分模块对并行实体进行任务划分,从而将并行实体分配到不同的计算节点上。
步骤604:UE4并行仿真中,由于每个计算节点只负责一部分仿真实体的计算,因此需要定期对仿真实体的状态进行同步。
步骤605:对实体状态进行同步后,判断仿真是否结束,如果没有结束,则返回步骤604。
步骤606:UE4并行仿真结束。
本发明实施例重点针对基于UE4的并行仿真中实体的组织管理问题,提出一种实体组织方法及系统;该方法构建一个并行仿真实体管理系统,包含三个主要模块,分别是并行实体链表、实体划分模块以及实体同步模块。在并行仿真计算开始前,并行实体链表负责维护所产生的所有并行仿真实体;实体划分模块负责将并行实体分配到不同计算进程上;在每一步并行仿真计算过程中,通过同步模块来实现不同进程上实体之间的状态同步。
本发明针对基于UE4的并行仿真过程中,需要对并行实体进行组织与管理的问题,通过建立一个并行实体管理系统,来对所有并行实体的产生、分配等过程进行接管,从而解决了UE4并行仿真过程中动态实体的分配问题。
下面对本发明提供的一种实体的并行仿真装置进行描述,下文描述的实体的并行仿真装置与上文描述的实体的并行仿真方法可相互对应参照。
图7为本发明提供的实体的并行仿真装置的结构示意图,参见图7,该实体的并行仿真装置包括:
获取单元701,用于获取待仿真实体中的动态实体;
确定单元702,用于根据所述动态实体的数量及待进行实体仿真的进程的数量,确定与任一所述进程对应的目标动态实体;
仿真单元703,用于通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真。
本实施例提供的实体的并行仿真装置适用于上述各实施例提供的实体的并行仿真方法,在此不再赘述。
具体的,根据本发明提供的一种实体的并行仿真装置,所述通过任一所述进程,对所述目标动态实体进行仿真,包括:
将所述待仿真实体中的动态实体传输至任一进程中;
根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体;
将所述动态实体中除所述目标动态实体之外的非目标动态实体设置为隐身状态,以使得所述任一进程仅对所述目标动态实体进行仿真。
根据本发明提供的一种实体的并行仿真装置,所述获取待仿真实体中的动态实体,包括:
通过动态实体链表,判断所述待仿真实体中的任一实体是否为动态实体;
若所述动态实体链表中存在所述待仿真实体中的任一实体,确定所述任一实体为动态实体。
根据本发明提供的一种实体的并行仿真装置,所述根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体,包括:
根据所述动态实体的数量及待进行实体仿真的进程的数量,计算任一所述进程对应的目标动态实体的数量;
根据所述目标动态实体的数量,在所述动态实体中划分出任一所述进程对应的目标动态实体。
根据本发明提供的一种实体的并行仿真装置,所述根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体之前,包括:
通过所述待仿真实体中任一实体的原始索引号,确定所述动态实体的索引号;
或者,对任一所述动态实体重新设置唯一索引号,作为所述动态实体的索引号。
根据本发明提供的一种实体的并行仿真装置,所述通过任一所述进程,对所述目标动态实体进行仿真,还包括:
基于预设时间间隔,定期对所述进行实体仿真的进程中的仿真状态进行同步。
根据本发明提供的一种实体的并行仿真装置,还包括:
获取所述待仿真实体中的静态实体;
通过仿真引擎主进程,对所述静态实体进行仿真。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行实体的并行仿真方法,该方法包括:获取待仿真实体中的动态实体;根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的实体的并行仿真方法,该方法包括:获取待仿真实体中的动态实体;根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的实体的并行仿真方法,该方法包括:获取待仿真实体中的动态实体;根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种实体的并行仿真方法,其特征在于,包括:
获取待仿真实体中的动态实体;
根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体;
通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真;
所述通过任一所述进程,对所述目标动态实体进行仿真,包括:
将所述待仿真实体中的动态实体传输至任一进程中;
根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体;
将所述动态实体中除所述目标动态实体之外的非目标动态实体设置为隐身状态,以使得所述任一进程仅对所述目标动态实体进行仿真。
2.根据权利要求1所述的一种实体的并行仿真方法,其特征在于,所述获取待仿真实体中的动态实体,包括:
通过动态实体链表,判断所述待仿真实体中的任一实体是否为动态实体;
若所述动态实体链表中存在所述待仿真实体中的任一实体,确定所述任一实体为动态实体。
3.根据权利要求1所述的一种实体的并行仿真方法,其特征在于,所述根据所述动态实体的数量及待进行实体仿真的进程的数量,划分出与任一所述进程对应的目标动态实体,包括:
根据所述动态实体的数量及待进行实体仿真的进程的数量,计算任一所述进程对应的目标动态实体的数量;
根据所述目标动态实体的数量,在所述动态实体中划分出任一所述进程对应的目标动态实体。
4.根据权利要求1所述的一种实体的并行仿真方法,其特征在于,所述根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体之前,包括:
通过所述待仿真实体中任一实体的原始索引号,确定所述动态实体的索引号;
或者,对任一所述动态实体重新设置唯一索引号,作为所述动态实体的索引号。
5.根据权利要求1所述的一种实体的并行仿真方法,其特征在于,所述通过任一所述进程,对所述目标动态实体进行仿真,还包括:
基于预设时间间隔,定期对所述进行实体仿真的进程中的仿真状态进行同步。
6.根据权利要求1所述的一种实体的并行仿真方法,其特征在于,还包括:
获取所述待仿真实体中的静态实体;
通过仿真引擎主进程,对所述静态实体进行仿真。
7.一种实体的并行仿真装置,其特征在于,包括:
获取单元,用于获取待仿真实体中的动态实体;
确定单元,用于根据所述动态实体的数量及待进行实体仿真的进程的数量,确定与任一所述进程对应的目标动态实体;
仿真单元,用于通过任一所述进程,对所述目标动态实体进行仿真,以完成对所述待仿真实体的并行仿真;
所述通过任一所述进程,对所述目标动态实体进行仿真,包括:
将所述待仿真实体中的动态实体传输至任一进程中;
根据任一所述动态实体的索引号,确定出任一所述进程对应的目标动态实体;
将所述动态实体中除所述目标动态实体之外的非目标动态实体设置为隐身状态,以使得所述任一进程仅对所述目标动态实体进行仿真。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述一种实体的并行仿真方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述一种实体的并行仿真方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110655138.5A CN113419850B (zh) | 2021-06-11 | 2021-06-11 | 一种实体的并行仿真方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110655138.5A CN113419850B (zh) | 2021-06-11 | 2021-06-11 | 一种实体的并行仿真方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113419850A CN113419850A (zh) | 2021-09-21 |
CN113419850B true CN113419850B (zh) | 2022-07-19 |
Family
ID=77788517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110655138.5A Active CN113419850B (zh) | 2021-06-11 | 2021-06-11 | 一种实体的并行仿真方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419850B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177892A (zh) * | 2019-12-11 | 2020-05-19 | 中电普信(北京)科技发展有限公司 | 一种分布式仿真系统 |
CN112486863A (zh) * | 2020-11-25 | 2021-03-12 | 珠海格力电器股份有限公司 | 软件虚拟仿真方法、装置和电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070239418A1 (en) * | 2006-03-23 | 2007-10-11 | Harrison Gregory A | Exercise Monitoring Unit for Executable Architectures |
CN101556641B (zh) * | 2009-05-05 | 2012-03-28 | 北京航空航天大学 | 基于概念模型推演的仿真系统 |
US9152393B1 (en) * | 2011-12-06 | 2015-10-06 | The Mathworks, Inc. | Dynamic entities for a model of a graphical modeling environment |
CN102609585A (zh) * | 2012-02-09 | 2012-07-25 | 北京航空航天大学 | 基于组件的航空仪表高效建模设计方法 |
CN104866374B (zh) * | 2015-05-22 | 2018-07-06 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
US10489529B2 (en) * | 2016-10-14 | 2019-11-26 | Zoox, Inc. | Scenario description language |
CN111177893B (zh) * | 2019-12-11 | 2023-05-02 | 中电普信(北京)科技发展有限公司 | 基于多线程的并行离散仿真事件驱动方法及装置 |
CN112184895A (zh) * | 2020-10-15 | 2021-01-05 | 洛阳众智软件科技股份有限公司 | 仿真场景建模及渲染方法、装置和设备 |
-
2021
- 2021-06-11 CN CN202110655138.5A patent/CN113419850B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177892A (zh) * | 2019-12-11 | 2020-05-19 | 中电普信(北京)科技发展有限公司 | 一种分布式仿真系统 |
CN112486863A (zh) * | 2020-11-25 | 2021-03-12 | 珠海格力电器股份有限公司 | 软件虚拟仿真方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113419850A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020259502A1 (zh) | 神经网络模型的生成方法及装置、计算机可读存储介质 | |
CN112149808B (zh) | 拓展单机图神经网络训练至分布式训练方法、系统及介质 | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
CN109902820A (zh) | Ai模型训练方法、装置、存储介质及设备 | |
CN112463326A (zh) | 连续离散混合系统仿真推进方法及装置、设备及介质 | |
CN111859638A (zh) | 一种实时高效分布式虚实结合仿真系统及构建方法 | |
CN110929422B (zh) | 一种机器人集群仿真方法及装置 | |
CN107145673A (zh) | 一种联合仿真系统和方法 | |
CN112418259A (zh) | 一种基于直播过程中用户行为的实时规则的配置方法、计算机设备及可读存储介质 | |
CN112270083B (zh) | 一种多分辨建模与仿真方法及系统 | |
CN113419850B (zh) | 一种实体的并行仿真方法、装置、电子设备及存储介质 | |
CN112402981A (zh) | 游戏场景的控制方法和装置、存储介质和电子设备 | |
CN111581839A (zh) | 一种模型的嵌套关系处理方法、装置及电子设备 | |
CN116861676A (zh) | 基于图谱架构的仿真集成系统及方法 | |
CN116341298A (zh) | 一种仿真引擎与模型解耦适配方法 | |
CN110851266A (zh) | 通过分区和虚拟进程的负载平衡 | |
CN115221799A (zh) | 一种基于多分支的无人集群超实时推演系统及方法 | |
CN115292044A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114492052A (zh) | 一种全局流级别网络仿真方法、系统及装置 | |
CN111443806A (zh) | 交互任务的控制方法、装置、电子设备及存储介质 | |
US11876685B1 (en) | Locally predicting state using a componentized entity simulation | |
Zhou et al. | Design of Satellite Communication Simulation Training System Based on HLA, VR and OPNET | |
CN113553173B (zh) | 基于mpi的ue4并行处理方法、装置、设备和介质 | |
CN114490498B (zh) | 基于vr技术的模拟软件仿真异构系统及其工作方法 | |
Lihua et al. | Multi-platform fire control strike track planning method based on deep enhance learning |
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 |