CN110321644B - 一种面向卫星***的分布式仿真***及其仿真方法 - Google Patents
一种面向卫星***的分布式仿真***及其仿真方法 Download PDFInfo
- Publication number
- CN110321644B CN110321644B CN201910617643.3A CN201910617643A CN110321644B CN 110321644 B CN110321644 B CN 110321644B CN 201910617643 A CN201910617643 A CN 201910617643A CN 110321644 B CN110321644 B CN 110321644B
- Authority
- CN
- China
- Prior art keywords
- simulation
- node
- event
- satellite
- root node
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种面向卫星***的分布式仿真***及其仿真方法,属于仿真技术领域。所述面向卫星***的分布式仿真***,包括:zookeeper分布式仿真服务模块、仿真控制分***以及分布式计算分***;zookeeper分布式仿真服务模块,包括至少三台计算机,用于采用树状节点,完成仿真控制分***和分布式仿真计算分***之间的交互;仿真控制分***,用于对zookeeper分布式仿真服务模块中的第一层节点进行初始化和维护;分布式仿真计算分***,包括多台仿真计算机,每台仿真计算机中的每个进程对应卫星***中的一颗卫星,用于实现对卫星***中所有卫星的分布式并行仿真计算。本发明可以提升仿真计算的执行效率,减少仿真执行的时间。
Description
技术领域
本发明涉及仿真技术领域,尤其涉及一种面向卫星***的分布式仿真***及其仿真方法。
背景技术
随着社会对通信、遥感、导航等卫星信息服务提升的强烈需求,世界主要卫星大国都提出了面向不同应用的大规模卫星***建设设想。大规模卫星***的研究及建设存在难度大、投入多、周期长的特点,因此在大规模卫星***进行实质性投入之前需要借助仿真***对拟建***的功能、指标、设计方案等进行仿真。利用仿真***对大规模卫星***进行仿真成为了卫星***建设的基本前提。
卫星***的仿真涉及因素较多,过程复杂,涉及卫星能源仿真、运动仿真、任务仿真、通信仿真、处理仿真等多个环节。针对卫星仿真,目前技术方案是基于建立离散事件队列实现的,利用计算机上实现一颗或多颗卫星的状态和功能仿真,例如芬兰阿尔托大学和德国慕尼黑工业大学开发维护的ONE(Opportunistic Network Environment)仿真器,如图1所示,在ONE仿真器中,对卫星***的仿真是通过建立和维护离散事件队列进行,在每一个时间片内完成所有卫星对离散事件队列中当前时间片的事件响应以及状态的更新,所有卫星都完成后进入下一个时间片,从而完成时间推进,进而完成对给定仿真场景下一段时间的仿真。ONE仿真器包括仿真时间更新、事件产生器更新、事件队列检查和事件队列处理、卫星位置更新、卫星状态更新6个模块等。
然而,包括ONE在内的卫星离散时间队列仿真***是基于单台计算机实现的,仿真***软件无法进行分布式拓展。对于大规模卫星***的仿真,卫星数量众多,处理逻辑复杂,ONE仿真器基于单一计算机的处理方法无法适应。具体来说,当卫星数量为几百颗时,ONE***仿真效率极低,并且会由于操作***进程调度等待或死锁等问题导致仿真***崩溃,无法进行仿真。
发明内容
(一)要解决的技术问题
本发明提供了一种面向卫星***的分布式仿真***及其仿真方法,以至少部分解决以上所提出的技术问题。
(二)技术方案
根据本发明的一个方面,提供了一种面向卫星***的分布式仿真***,包括:
zookeeper分布式仿真服务模块、仿真控制分***以及分布式计算分***;
所述zookeeper分布式仿真服务模块,包括至少三台计算机,用于采用树状节点,完成所述仿真控制分***和分布式仿真计算分***之间的交互;
所述仿真控制分***,用于对所述zookeeper分布式仿真服务模块的树状节点中的第一层节点进行初始化和维护;
所述分布式仿真计算分***,包括多台仿真计算机,每台仿真计算机中的每个进程对应卫星***中的一颗卫星,用于实现对卫星***的中所有卫星的分布式并行仿真计算,即维护所述卫星在所述zookeeper分布式仿真服务模块中的树状节点中除第一层以外的其他层节点。
在一些实施例中,zookeeper分布式仿真服务分***,包括:
第一创建单元,用于创建第一层节点,包括时间节点、位置根节点、待处理事件根节点、未来事件根节点以及仿真状态节点;
第二创建单元,用于分别在位置根节点、待处理事件根节点以及未来事件根节点下,创建的位置子节点、待处理事件子节点以及未来事件子节点。
在一些实施例中,所述时间节点用于记录仿真***中当前的仿真世界时间;所述位置根节点用于记录所有卫星是否完成位置更新;所述待处理事件根节点用于记录是否完成当前时间片下所有卫星待处理事件的分发;所述未来事件根节点用于记录是否完成当前时间片下所有卫星未来事件的收集;所述仿真状态节点用于保存仿真***中对当前的仿真世界时间的仿真状态。
在一些实施例中,所述位置子节点用于记录当前仿真世界时间下,每一颗对应卫星的空间位置信息;所述待处理事件子节点用于记录当前仿真世界时间下,所述仿真***分发给各个卫星需要响应的事件,每一个子节点对应一颗卫星;所述未来事件子节点用于记录当前仿真世界时间下,所述仿真***中各个卫星响应事件后引起的未来事件。
在一些实施例中,所述仿真控制分***,包括:
引擎运行控制模块,用于完成zookeeper分布式仿真服务模块中第一层节点的初始化;
仿真时间控制模块,用于维护zookeeper分布式仿真服务分模块中时间节点和仿真状态节点;
离散事件队列维护模块,用于维护zookeeper分布式仿真服务模块中位置根节点、待处理事件根节点以及未来事件根节点。
在一些实施例中,所述引擎运行控制模块,包括:
时间节点初始化单元,用于将所述时间节点初始化为仿真世界的初始时刻;
位置根节点初始化单元,用于将所述位置根节点初始化为对应标志位,表示所有卫星未完成位置更新;
待处理事件根节点初始化单元,用于将所述待处理事件根节点初始化为对应标志位,表示未完成面向所有卫星的待处理事件分发;
未来事件根节点初始化单元,用于将所述未来事件根节点初始化为对应标志位,表示未完成面向所有卫星的未来事件收集;
仿真状态初始化单元,用于将所述仿真状态节点初始化为对应标志位,表示当前事件处理未完成。
在一些实施例中,所述仿真时间控制模块,包括:
时间节点维护单元,用于通过读取仿真状态节点,判断若当前仿真时间片内所有仿真计算为完成状态,则对所述时间节点记录的仿真时间向前推进一个时间步长;
仿真状态节点维护单元,用于通过读取未来事件根节点的状态,判断若未来事件根节点显示所有卫星引起的未来事件都已经收集完毕,则表明当前时间片的仿真计算已经结束,置所述仿真状态节点为对应的标志位。
在一些实施例中,离散事件队列维护模块,包括:
位置根节点维护单元,用于当所述分布式仿真计算分***完成了所有卫星的位置计算并创建对应的位置子节点后,将所述位置根节点的值设置为对应标志位,表示所有卫星位置更新完成;
待处理事件根节点维护单元,用于当所述离散事件队列维护模块完成了所有卫星的当前时间片的待处理事件分发后,将所述待处理事件根节点的值设置为对应标志位,表示所有卫星的待处理事件分发完成;
未来事件根节点维护单元,用于当所述分布式仿真计算分***完成了所有卫星的未来事件生成并创建对应的未来事件子节点后,将所述未来事件根节点的值设置为对应标志位,表示所有卫星的未来事件收集完成。
在一些实施例中,所述分布式计算分***,包括:
位置子节点维护单元,用于在每个卫星进程收到时间片更新的信息后,在位置根节点下创建位置子节点,并将所述位置子节点的值设置为所述每个卫星在当前时间片的空间位置;
待处理事件子节点维护单元,用于在每个卫星收到所有卫星的待处理事件分发完成的信息后,读取所述每个卫星对应的待处理时间子节点的信息,对当前时间片的待处理事件进行响应;
未来事件子节点维护单元:用于在每个卫星完成当前时间片的待处理事件响应后,在未来事件根节点下创建未来事件子节点,并将所述未来事件子节点的值设置为所述卫星响应事件后引起的未来事件。
根据本发明的另一个方面,提供了一种上述所提供的面向卫星***的分布式仿真***的仿真方法,包括:
zookeeper分布式仿真服务模块创建树状节点,并由仿真控制分***对所述树状节点进行初始化;
所述仿真控制分***设置仿真世界的起始时间,并给分布式仿真计算分***中各个卫星发送时间更新通知;
所述分布式仿真计算分***中的每台仿真计算机中的每个进程对应的卫星根据所述仿真世界的时间,计算所述卫星的空间位置;
所述仿真控制分***读取当前时间片中向卫星分发的待处理事件,并分发至所述分布式仿真计算分***中对应的卫星;
所述分布式仿真计算分***中对应的卫星完成对所述待处理事件的响应,并产生未来事件;
所述仿真控制分***收集所述产生的未来事件。
(三)有益效果
从上述技术方案可以看出,本发明一种面向卫星***的分布式仿真***及其仿真方法至少具有以下有益效果其中之一或其中一部分:
(1)本发明提供的一种面向卫星***的分布式仿真***及其仿真方法,可以将大规模卫星***仿真下的计算任务利用多台计算机并行执行,从而提升仿真计算的执行效率,减少仿真执行的时间;
(2)本发明提供的一种面向卫星***的分布式仿真***及其仿真方法,通过将仿真计算任务在多台计算机上执行的,若某台计算机宕机时,在该计算机上运行的仿真计算任务可以在仿真控制分***的控制下,自动被调度到其它计算机上,仿真***可以继续进行仿真计算,提高了仿真***运行的鲁棒性。
附图说明
图1为现有的ONE仿真器功能图;
图2为本发明提供的面向卫星***的分布式仿真***的结构示意图;
图3为本发明实施例提供的面向卫星***的分布式仿真***架构图;
图4为本发明实施例提供的zookeeper分布式仿真服务模块的树状节点结构示意图;
图5为本发明提供的面向卫星***的分布式仿真***的仿真方法流程图;
图6为本发明实施例提供的面向卫星***的分布式仿真***的仿真方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
根据本发明的一个方面,提供了一种面向卫星***的分布式仿真***,如图2所示,该***包括:
zookeeper分布式仿真服务模块22、仿真控制分***21以及分布式计算分***23;
所述仿真控制分***21,用于对所述zookeeper分布式仿真服务模块中的第一层节点进行初始化和维护;
所述zookeeper分布式仿真服务模块22,包括至少三台计算机,用于采用树状节点,完成所述仿真控制分***和分布式仿真计算分***之间的交互;
所述分布式计算分***23,包括多台仿真计算机,每台仿真计算机中的每个进程对应卫星***中的一颗卫星,用于实现对卫星***的中所有卫星的分布式并行仿真计算,即维护所述卫星在所述zookeeper分布式仿真服务模块中的树状节点中除第一层以外的其他层节点。
本发明提供的一种面向卫星***的分布式仿真***,可以将大规模卫星***仿真下的计算任务利用多台计算机并行执行,从而提升仿真计算的执行效率,减少仿真执行的时间。
进一步的,所述zookeeper分布式仿真服务分***21,包括:
第一创建单元,用于创建第一层,包括时间节点、位置根节点、待处理事件根节点、未来事件根节点以及仿真状态节点;
第二创建单元,用于分别在位置根节点、待处理事件根节点以及未来事件根节点下,创建的位置子节点、待处理事件子节点以及未来事件子节点。
具体的,所述时间节点用于记录仿真***中当前的仿真世界时间;所述位置根节点用于记录所有卫星是否完成位置更新;所述待处理事件根节点用于记录是否完成当前时间片下所有卫星待处理事件的分发;所述未来事件根节点用于记录是否完成当前时间片下所有卫星未来事件收集;所述仿真状态节点用于保存仿真***中对当前的仿真世界时间的仿真状态;所述位置子节点用于记录当前仿真世界时间下,每一颗对应卫星的空间位置信息;所述待处理事件子节点用于记录当前仿真世界时间下,仿真***分发给各个卫星需要响应的事件,每一个子节点对应一个卫星;所述未来事件子节点用于记录当前仿真世界时间下,仿真***中各个卫星响应事件后引起的未来事件。
进一步的,所述仿真控制分***22,包括:
引擎运行控制模块,用于完成zookeeper分布式仿真服务模块中第一层节点中根节点的初始化;
仿真时间控制模块,用于维护zookeeper分布式仿真服务分模块中时间节点和仿真状态节点;
离散事件队列维护模块,用于维护zookeeper分布式仿真服务模块中位置根节点、待处理事件根节点以及未来事件根节点。
具体的,所述引擎运行控制模块,包括:
时间节点初始化单元,用于将所述时间节点初始化为仿真世界的初始时刻;
位置根节点初始化单元,用于将所述位置根节点初始化为对应标志位,表示所有卫星未完成位置更新;
待处理事件根节点初始化单元,用于将所述待处理事件根节点初始化为对应标志位,表示未完成面向所有卫星的待处理事件分发;
未来事件根节点初始化单元,用于将所述未来事件根节点初始化为对应标志位,表示未完成面向所有卫星的未来事件收集;
仿真状态初始化单元,用于将所述仿真状态节点初始化为对应标志位,表示当前事件片处理未完成。
具体的,所述仿真时间控制模块,包括:
时间节点维护单元,用于通过读取仿真状态节点,判断若当前仿真时间片内所有仿真计算为完成状态,则对所述时间节点记录的仿真时间向前推进一个时间步长;
仿真状态节点维护单元,用于通过读取未来事件根节点的状态,判断若未来事件根节点显示所有卫星引起的未来事件都已经收集完毕,则表明当前时间片的仿真计算已经结束,则置所述仿真状态节点为对应的标志位。
具体的,离散事件队列维护模块,包括:
位置根节点维护单元,用于当所述分布式仿真计算分***完成了所有卫星的位置计算并创建对应的位置子节点后,将所述位置根节点的值设置为对应标志位,表示所有卫星位置更新完成。
待处理事件根节点维护单元,用于当所述离散事件队列维护模块完成了所有卫星的当前时间片的待处理事件分发后,将所述待处理事件根节点的值设置为对应标志位,表示所有卫星的待处理事件分发完成。
未来事件根节点维护单元:用于当所述分布式仿真计算分***完成了所有卫星的未来事件生成并创建对应的未来事件子节点后,将所述未来事件根节点的值设置为对应标志位,表示所有卫星的未来事件收集完成。
进一步的,所述分布式计算分***23,包括:
位置子节点维护单元,用于在每个卫星进程收到时间片更新的信息后,就在位置根节点下创建位置子节点,并将所述位置子节点的值设置为所述每个卫星在当前时间片的空间位置。
待处理事件子节点维护单元,用于在每个卫星收到所有卫星的待处理事件分发完成的信息后,读取所述每个卫星对应待处理时间子节点的信息,对当前时间片的待处理事件进行响应。
未来事件子节点维护单元,用于在每个卫星完成当前时间片的待处理事件响应后,在未来事件根节点下创建未来事件子节点,并将所述未来事件子节点的值设置为所述卫星响应事件后引起的未来事件。
本发明提供的一种面向卫星***的分布式仿真***,通过将仿真计算任务在多台计算机上执行的,若某台计算机宕机时,在该计算机上运行的仿真计算任务可以在仿真控制分***的控制下,自动被调度到其它计算机上,仿真***可以继续进行仿真计算,提高了仿真***运行的鲁棒性。
在一具体实施例中,如图3所示,该面向卫星***的分布式仿真***包括:
仿真控制***,包括引擎运行控制模块、仿真时间控制模块以及离散事件队列维护模块;
zookeeper分布式仿真服务模块;以及
分布式仿真计算分***,包括多台卫星仿真计算机,每台卫星仿真计算机中的卫星进程对应一个卫星***中的卫星。
其中,zookeeper分布式仿真服务模块中的树状节点结构如图4所示。其中,第一层根节点包括时间节点\time、位置根节点\location、待处理时间根节点\event、未来事件根节点\done以及仿真状态节点\engine;位置根节点\location、待处理时间根节点\event以及未来事件根节点\done下都有相对应的子节点。
进一步的,各个节点的作用以及维护,描述如下:
\time:它记录仿真***中当前的仿真世界时间,由引擎运行控制模块进行初始化,由仿真时间控制模块进行维护;
\location:它的值对应于所有卫星是否完成位置更新的状态,由引擎控制模块负责初始化,由离散事件队列维护模块负责维护;
\event:它负责记录是否完成当前时间片下所有卫星待处理事件的分发,由离散事件队列维护模块维护;
\done:它负责记录是否完成当前时间片下所有卫星未来事件收集,由引擎控制模块负责初始化,由离散事件队列维护模块负责维护;
\engine:它保存仿真***中对当前的仿真世界时间的仿真状态,由离散事件队列维护模块负责维护;
\location子节点:它记录当前仿真世界时间下,每一颗对应卫星的空间位置信息,由分布式仿真计算分***中的仿真计算机维护;
\event子节点:它记录当前仿真世界时间下,仿真***分发给各个卫星需要响应的事件,每一个子节点对应一个卫星,由离散事件队列维护模块维护;
\done子节点:它记录当前仿真世界时间下,仿真***中各个卫星响应事件后引起的未来事件,由分布式仿真计算分***中的仿真计算机维护。
根据本发明的另一个方面,提供了一种上述面向卫星***的分布式仿真***的仿真方法,如图5所示,该方法包括:
S51,zookeeper分布式仿真服务模块创建树状节点,并由仿真控制分***对所述树状节点进行初始化;
S52,所述仿真控制分***设置仿真世界的起始时间,并给分布式仿真计算分***中各个卫星发送时间更新通知;
S53,所述分布式仿真计算分***中的每台仿真计算机中的每个进程对应的卫星根据所述仿真世界的时间,计算所述卫星的空间位置;
S54,所述仿真控制分***读取当前时间片中向卫星分发的待处理事件,并分发至所述分布式仿真计算分***中对应的卫星;
S55,所述分布式仿真计算分***中对应的卫星完成对所述待处理事件的响应,并产生未来事件;
S56所述仿真控制分***收集所述产生的未来事件。
本发明提供的一种面向卫星***的分布式仿真***的仿真方法,可以将大规模卫星***仿真下的计算任务利用多台计算机并行执行,从而提升仿真计算的执行效率,减少仿真执行的时间。
进一步的,在步骤S55之后,所述方法还包括:
仿真控制分***控制仿真世界时间向前推进一个步长;
仿真控制分***检查当前仿真世界时间是否到达仿真结束时间,若到达则仿真结束,若未到达,则转到步骤S52。
本发明提供的一种面向卫星***的分布式仿真***的仿真方法,通过将仿真计算任务在多台计算机上执行的,若某台计算机宕机时,在该计算机上运行的仿真计算任务可以在仿真控制分***的控制下,自动被调度到其它计算机上,仿真***可以继续进行仿真计算,提高了仿真***运行的鲁棒性。
在一具体实施例中,如图6所示,面向卫星***的分布式仿真***的仿真方法,包括:
仿真***进行初始化,即zookeeper分布式仿真服务模块创建树状节点,仿真控制分***初始化树状节点的值;
仿真控制分***设置仿真世界的起始时间;
分布式仿真计算分***中的每个卫星得到仿真控制分***发送的仿真世界的时间更新通知;
分布式仿真计算分***中的各个卫星根据仿真世界的时间,计算所负责计算的卫星的空间位置;
仿真控制分***读取所有卫星的空间位置,输出用以显示卫星***状态;
仿真控制分***读取当前时间片需要向卫星分发的待处理事件;
仿真控制分***将待处理事件向对应卫星进行分发;
分布式仿真计算分***中的卫星完成各个卫星对事件的响应,并产生未来事件;
仿真控制分***收集所有卫星产生的未来事件;
仿真控制分***控制仿真世界时间向前推进一个步长;
仿真控制分***检查当前仿真世界时间是否到达仿真结束时间,若到达则仿真结束,若未到达,则执行分布式仿真计算分***中的每个卫星得到仿真控制分***发送的仿真世界的时间更新通知的步骤。
至此,已经结合附图对本实施例进行了详细描述。依据以上描述,本领域技术人员应当对本发明有了清楚的认识。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。
还需要说明的是,本文可提供包含特定值的参数的示范,但这些参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应值。实施例中提到的方向用语,仅是参考附图的方向,并非用来限制本发明的保护范围。此外,除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。
应注意,贯穿附图,相同的元素由相同或相近的附图标记来表示。在以上描述中,一些具体实施例仅用于描述目的,而不应该理解为对本发明有任何限制,而只是本发明实施例的示例。在可能导致对本发明的理解造成混淆时,将省略常规结构或构造。应注意,图中各部件的形状和尺寸不反映真实大小和比例,而仅示意本发明实施例的内容。
以上的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种面向卫星***的分布式仿真***,其特征在于,包括:
zookeeper分布式仿真服务模块、仿真控制分***以及分布式计算分***;
所述zookeeper分布式仿真服务模块,包括至少三台计算机,用于采用树状节点,完成所述仿真控制分***和分布式仿真计算分***之间的交互;
其中,zookeeper分布式仿真服务模块,包括:
第一创建单元,用于创建第一层节点,包括时间节点、位置根节点、待处理事件根节点、未来事件根节点以及仿真状态节点;
第二创建单元,用于分别在位置根节点、待处理事件根节点以及未来事件根节点下,创建的位置子节点、待处理事件子节点以及未来事件子节点;
所述时间节点用于记录仿真***中当前的仿真世界时间;所述位置根节点用于记录所有卫星是否完成位置更新;所述待处理事件根节点用于记录是否完成当前时间片下所有卫星待处理事件的分发;所述未来事件根节点用于记录是否完成当前时间片下所有卫星未来事件的收集;所述仿真状态节点用于保存仿真***中对当前的仿真世界时间的仿真状态;
所述位置子节点用于记录当前仿真世界时间下,每一颗对应卫星的空间位置信息;所述待处理事件子节点用于记录当前仿真世界时间下,所述仿真***分发给各个卫星需要响应的事件,每一个子节点对应一颗卫星;所述未来事件子节点用于记录当前仿真世界时间下,所述仿真***中各个卫星响应事件后引起的未来事件;
所述仿真控制分***,用于对所述zookeeper分布式仿真服务模块的树状节点中的第一层节点进行初始化和维护;
所述分布式仿真计算分***,包括多台仿真计算机,每台仿真计算机中的每个进程对应卫星***中的一颗卫星,用于实现对卫星***的中所有卫星的分布式并行仿真计算,即维护所述卫星在所述zookeeper分布式仿真服务模块中的树状节点中除第一层以外的其他层节点。
2.根据权利要求1所述的***,其特征在于,所述仿真控制分***,包括:
引擎运行控制模块,用于完成zookeeper分布式仿真服务模块中第一层节点的初始化;
仿真时间控制模块,用于维护zookeeper分布式仿真服务模块中时间节点和仿真状态节点;
离散事件队列维护模块,用于维护zookeeper分布式仿真服务模块中位置根节点、待处理事件根节点以及未来事件根节点。
3.根据权利要求2所述的***,其特征在于,所述引擎运行控制模块,包括:
时间节点初始化单元,用于将所述时间节点初始化为仿真世界的初始时刻;
位置根节点初始化单元,用于将所述位置根节点初始化为对应标志位,表示所有卫星未完成位置更新;
待处理事件根节点初始化单元,用于将所述待处理事件根节点初始化为对应标志位,表示未完成面向所有卫星的待处理事件分发;
未来事件根节点初始化单元,用于将所述未来事件根节点初始化为对应标志位,表示未完成面向所有卫星的未来事件收集;
仿真状态初始化单元,用于将所述仿真状态节点初始化为对应标志位,表示当前事件处理未完成。
4.根据权利要求2所述的***,其特征在于,所述仿真时间控制模块,包括:
时间节点维护单元,用于通过读取仿真状态节点,判断若当前仿真时间片内所有仿真计算为完成状态,则对所述时间节点记录的仿真时间向前推进一个时间步长;
仿真状态节点维护单元,用于通过读取未来事件根节点的状态,判断若未来事件根节点显示所有卫星引起的未来事件都已经收集完毕,则表明当前时间片的仿真计算已经结束,置所述仿真状态节点为对应的标志位。
5.根据权利要求2所述的***,其特征在于,离散事件队列维护模块,包括:
位置根节点维护单元,用于当所述分布式仿真计算分***完成了所有卫星的位置计算并创建对应的位置子节点后,将所述位置根节点的值设置为对应标志位,表示所有卫星位置更新完成;
待处理事件根节点维护单元,用于当所述离散事件队列维护模块完成了所有卫星的当前时间片的待处理事件分发后,将所述待处理事件根节点的值设置为对应标志位,表示所有卫星的待处理事件分发完成;
未来事件根节点维护单元:用于当所述分布式仿真计算分***完成了所有卫星的未来事件生成并创建对应的未来事件子节点后,将所述未来事件根节点的值设置为对应标志位,表示所有卫星的未来事件收集完成。
6.根据权利要求1所述的***,其特征在于,所述分布式计算分***,包括:
位置子节点维护单元,用于在每个卫星进程收到时间片更新的信息后,在位置根节点下创建位置子节点,并将所述位置子节点的值设置为所述每个卫星在当前时间片的空间位置;
待处理事件子节点维护单元,用于在每个卫星收到所有卫星的待处理事件分发完成的信息后,读取所述每个卫星对应的待处理时间子节点的信息,对当前时间片的待处理事件进行响应;
未来事件子节点维护单元,用于在每个卫星完成当前时间片的待处理事件响应后,在未来事件根节点下创建未来事件子节点,并将所述未来事件子节点的值设置为所述卫星响应事件后引起的未来事件。
7.一种如权利要求1至6中任一项所述的面向卫星***的分布式仿真***的仿真方法,其特征在于,包括:
zookeeper分布式仿真服务模块创建树状节点,并由仿真控制分***对所述树状节点进行初始化;
所述仿真控制分***设置仿真世界的起始时间,并给分布式仿真计算分***中各个卫星发送时间更新通知;
所述分布式仿真计算分***中的每台仿真计算机中的每个进程对应的卫星根据所述仿真世界的时间,计算所述卫星的空间位置;
所述仿真控制分***读取当前时间片中向卫星分发的待处理事件,并分发至所述分布式仿真计算分***中对应的卫星;
所述分布式仿真计算分***中对应的卫星完成对所述待处理事件的响应,并产生未来事件;
所述仿真控制分***收集所述产生的未来事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910617643.3A CN110321644B (zh) | 2019-07-09 | 2019-07-09 | 一种面向卫星***的分布式仿真***及其仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910617643.3A CN110321644B (zh) | 2019-07-09 | 2019-07-09 | 一种面向卫星***的分布式仿真***及其仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321644A CN110321644A (zh) | 2019-10-11 |
CN110321644B true CN110321644B (zh) | 2021-03-26 |
Family
ID=68121756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910617643.3A Active CN110321644B (zh) | 2019-07-09 | 2019-07-09 | 一种面向卫星***的分布式仿真***及其仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321644B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291503B (zh) * | 2020-04-28 | 2020-10-27 | 中国人民解放军国防科技大学 | 一种卫星导航***模型集成***及其建立方法 |
CN112468220B (zh) * | 2020-11-25 | 2021-07-13 | 中国科学院微小卫星创新研究院 | 适应多场景的分布式宽带通信星座地面试验验证*** |
CN112800621B (zh) * | 2021-02-09 | 2023-02-17 | 广东奥尔特云科技有限公司 | 一种基于容器云的卫星星座仿真可视化展示及控制*** |
CN112926196B (zh) * | 2021-02-09 | 2023-02-17 | 广东奥尔特云科技有限公司 | 一种基于容器云的卫星星座轨道计算***和计算方法 |
CN113704985A (zh) * | 2021-08-16 | 2021-11-26 | 许继电气股份有限公司 | 一种工业调度自动化分布式仿真***和模拟方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354123A (zh) * | 2011-07-18 | 2012-02-15 | 北京航空航天大学 | 一种跨平台可扩展的卫星动态仿真测试*** |
CN104536302A (zh) * | 2014-09-25 | 2015-04-22 | 西北工业大学 | 一种卫星仿真***和方法 |
CN108932157A (zh) * | 2017-05-22 | 2018-12-04 | 北京京东尚科信息技术有限公司 | 分布式处理任务的方法、***、电子设备和可读介质 |
CN109344207A (zh) * | 2018-08-07 | 2019-02-15 | 南京航空航天大学 | 基于北斗扫描的天地一体频谱大数据平台 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202075565U (zh) * | 2011-04-07 | 2011-12-14 | 北京国科环宇空间技术有限公司 | 一种卫星仿真设备 |
US9690671B2 (en) * | 2013-11-01 | 2017-06-27 | Cloudera, Inc. | Manifest-based snapshots in distributed computing environments |
WO2018039142A1 (en) * | 2016-08-22 | 2018-03-01 | Rapidsos, Inc. | Predictive analytics for emergency detection and response management |
CN109581415B (zh) * | 2019-01-25 | 2024-01-23 | 中国人民解放军海军航空大学 | 一种基于gnss的同步计算和授时控制的装置与方法 |
-
2019
- 2019-07-09 CN CN201910617643.3A patent/CN110321644B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354123A (zh) * | 2011-07-18 | 2012-02-15 | 北京航空航天大学 | 一种跨平台可扩展的卫星动态仿真测试*** |
CN104536302A (zh) * | 2014-09-25 | 2015-04-22 | 西北工业大学 | 一种卫星仿真***和方法 |
CN108932157A (zh) * | 2017-05-22 | 2018-12-04 | 北京京东尚科信息技术有限公司 | 分布式处理任务的方法、***、电子设备和可读介质 |
CN109344207A (zh) * | 2018-08-07 | 2019-02-15 | 南京航空航天大学 | 基于北斗扫描的天地一体频谱大数据平台 |
Non-Patent Citations (5)
Title |
---|
a satellite system distributed simulation design and synchronous control;Ying Miao 等;《Proceedings of the 2009 IEEE International Conference on Mechatronics and Automation》;20091231;第3889-3893页 * |
Efficient Prototyping of Fault Tolerant Map-Reduce Applications with Docker-Hadoop;Javier Rey 等;《2015 IEEE International Conference on Cloud Engineering》;20150423;第369-376页 * |
The Designing and Realizing of the Satellite Navigation Simulation System Visualization Software;L Tao 等;《Proceeding of 3rd International Conference on Computer Science and Information Technology》;20101231;第71-75页 * |
一种基于HLA的卫星分布式仿真***研究及其应用;项磊 等;《计算机应用与软件》;20150228;第32卷(第2期);第61-65页 * |
基于流式计算的空间科学卫星数据实时处理;孙小涓 等;《计算机应用》;20190610;第39卷(第6期);第1563-1568页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110321644A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321644B (zh) | 一种面向卫星***的分布式仿真***及其仿真方法 | |
CN101382968B (zh) | 一种先进综合式航空电子仿真***及其仿真方法 | |
CN112149808B (zh) | 拓展单机图神经网络训练至分布式训练方法、***及介质 | |
CN102523249A (zh) | 基于Web的分布式远程仿真***及仿真方法 | |
CN102129482B (zh) | 一种基于混沌离散粒子群优化的片上网络映射方法 | |
CN113721892A (zh) | 领域建模方法、装置、计算机设备和存储介质 | |
CN102681855A (zh) | 一种面向无线传感网的模型到代码的转化方法 | |
CN112463739A (zh) | 基于海洋模式roms的数据处理方法及*** | |
Fujii et al. | Synchronization mechanisms for integration of distributed manufacturing simulation systems | |
Gorton et al. | Object-based modeling of parallel programs | |
WO2017106293A2 (en) | Dynamic design of complex system-of-systems for planning and adaptation to unplanned scenarios | |
CN114282366B (zh) | 一种空中编队、实体两级分辨率仿真建模方法 | |
Pawlaszczyk et al. | A hybrid time management approach to agent-based simulation | |
CN112839109B (zh) | 一种基于云函数和bpmn规范的云资源编排方法 | |
JPH06266417A (ja) | 作業計画決定方式 | |
CN113946446A (zh) | 基于消息队列统一处理用户任务的方法 | |
Fu et al. | Hardware-software timing coverification of distributed embedded systems | |
CN102902603B (zh) | 一种面向数据并行计算的容错方法 | |
Parkhomenko | Complex requirements analysis for the high-level design of Embedded Systems | |
Liu | Design and Implementation of Simulation Verification System for Spacecraft Autonomous Mission Planning | |
El-Sayed et al. | Automated Performance Modeling from Scenarios and SDL Designs of Distributed Systems. | |
Li et al. | Synthesizing cooperative controllers from global tasks of multi-robot systems | |
Niewiadomska-Szynkiewicz et al. | Algorithms for distributed simulation-comparative study | |
CN116108757B (zh) | 试训环境中多级仿真时间推进方法、服务器及存储介质 | |
Sampath et al. | 2D/3D CFD design optimization using the federated intelligent product environment (FIPER) technology |
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 |