CN113438008B - 一种适用于姿轨控系统多机容错架构的多机时标仿真方法 - Google Patents
一种适用于姿轨控系统多机容错架构的多机时标仿真方法 Download PDFInfo
- Publication number
- CN113438008B CN113438008B CN202110425173.8A CN202110425173A CN113438008B CN 113438008 B CN113438008 B CN 113438008B CN 202110425173 A CN202110425173 A CN 202110425173A CN 113438008 B CN113438008 B CN 113438008B
- Authority
- CN
- China
- Prior art keywords
- machine
- data
- machines
- time scale
- synchronous
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18519—Operations control, administration or maintenance
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/391—Modelling the propagation channel
- H04B17/3912—Simulation models, e.g. distribution of spectral power density or received signal strength indicator [RSSI] for a given geographic region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本发明一种适用于姿轨控系统多机容错架构的多机时标仿真方法,在多机的共享内存中设计了独立互斥的数据空间,为时标的统一管理提供数据基础,采用多次时标同步的方式,将多机共享内存中数据交换和传输的过程进行阶段划分,保证多机在不同的数据处理阶段均为同步状态,避免将非同步的数据引入计算,实现了任务级的多机时标统一,然后设计了同步控制器,使用同步控制器与各机通信,以仿真时间为控制基准进行同步,设计了高优先级的同步参数,让单机调试过程与多机的时标统一不再矛盾,实现了系统级的多机时标统一。最终解决了容错架构下多机时标统一问题,该仿真方法不仅实现了任务级的时标统一,也实现了系统级的时标统一,目前已在空间站仿真环境中成功运用。
Description
技术领域
本发明是一种适用于姿轨控系统多机容错架构的多机时标仿真方法,属航天姿态轨道控制系统仿真领域。
背景技术
对于载人航天器姿轨控系统而言,可靠性要求极高,需具备应对多重故障的能力,因此,采用基于“拜占庭”容错架构,根据容错算法进行仲裁判断,找到故障机,进而将其排除于系统外。基于该考虑,设计了基于拜占庭的多机容错构型,保证系统出现多重故障后仍能安全稳定运行。与此对应,仿真环境也应具备多机全数字仿真能力,那么如何实现多机容错架构下的多机时标统一就是必须解决的问题,基于容错架构的多机时标统一与现有的多机时标统一方法不同,现有的多机时标统一方法,其仿真粒度同步能力是以仿真周期为单位的,仅保证各单机的每个单独仿真周期的开端统一,而不对每个仿真周期内部进行统一时标控制。这种时标统一方法无法适用于容错架构下的多机控制。原因如下:
(1)基于容错架构的多机控制系统中,各单机采集的部件数据无法包含GNC计算所需的全部数据,必须获取到其他单机采集的数据后才能为GNC计算提供所需的全部数据。即各单机需将自身数据发送给其他单机,这样才能使所有单机都拥有全包络数据。但发送给其他单机的前提就是自身单机采集工作已经完成,而按现有统一管理时标方式,存在某单机还未采集完自身数据,就被迫向其他单机发送自身数据的可能性,造成数据污染。其次,当每个单机获取到全包络数据后,才进行GNC计算,如果没有统一时标管理,则会造成某单机还未获取到全包络数据时就开始进行GNC计算,出现GNC控制失常现象。
(2)多机并行运行时,当需要进行调试时,必不可少会遇到某单机设置断点停止运行的情况,按照现有的以仿真周期为粒度的时标统一方法,只有设置断点的单机会停止运行,而其他单机会继续运行到本仿真周期结束,这样就会造成多机仿真的混乱,没有实现真正意义上的多机并行运行。
发明内容
本发明解决的技术问题是:克服现有技术的不足,设计一种适用于姿轨控系统多机容错架构的多机时标仿真方法,设计了多机独立互斥的数据空间,并基于该条件提出并实现一种多机时标仿真方法,圆满的解决了容错架构下多机的时标统一问题。
本发明的技术方案步骤如下:一种适用于姿轨控系统多机容错架构的多机时标仿真方法,步骤如下:
步骤(一)将每一个虚拟单机视为进程,每一个虚拟单机为一机,采用相同的多机组成姿轨控系统进行航天器姿轨控,则多机的时标统一就转化成为多机各自进程间的时标统一;多机具有共享内存,利用多机各自进程间可共享内存的特征,使用共享内存模拟临时交换区和串口,进行数据交换和传输,将交换和传输的数据作为多机共享内存的数据;
步骤(二)对多机共享内存的数据进行空间分配,其空间分配遵循独立原则,使每单机对应共享内存中一个独立空间,用于存放对应单机交换和传输的数据,不同独立空间中的数据互不干扰;
步骤(三)在多机并行运行时,多机各自进程间时标统一;将多机共享内存数据交换和传输的过程进行阶段划分,分为数据采集阶段和数据交换阶段,保证多机在数据交换和传输的过程中均为同步状态,即实现任务级的多机时标的统一;
步骤(四)实现任务级的多机时标的统一后,建立同步控制器;采用基于C/S机制的套接字使同步控制器与多机进行通信,多机进程间能够建立起虚拟连接,实现同步控制器与多机间的数据传输;多机各自进程在运行过程中具备同时运行、停止、步进、暂停的调试功能;即实现系统级的多机时标的统一。
优选的,将每一个虚拟单机视为一个进程,则多机的时标统一就转化成为多机各自进程间的时标统一
优选的,使用共享内存模拟临时交换区和串口,进行数据交换和传输,对共享内存中各单机的数据进行空间分配,保证数据独立,相互隔离。
优选的,利用共享内存的通用读写特征,在共享内存区开辟各单机的独立空间,优选上述多机为四机,设计四块空间模拟四机数据存放的独立空间,分别为A_SPACE、B_SPACE、C_SPACE、D_SPACE
优选的,对共享内存中每个单机的独立空间进行独立区域划分,有几个单机就划分为几块独立区域,优选上述多机为四机,每个单机的独立空间都被划分成四块独立区域,分别为DATA_A、DATA_B、DATA_C、DATA_D
优选的,各个单机向各自独立空间中的独立区域写入采集的数据,优选上述多机为四机,A机采集的数据存放空间为A_SPACE下的DATA_A,需注意的是,A_SPACE下的DATA_B、DATA_C、DATA_D并不存放A机数据,该区域存放其他三机发送的数据
优选的,将采集数据向共享内存写入时,因其独立空间和独立区域的设计方式,不存在互斥情况,如A机给其他单机发送数据的同时,B机也可以向其他单机发送数据,不同的单机操作的区域完全独立,不会有数据冲突
优选的,由于各单机采集的数据存放区域独立,数据交换过程中不需要进行时标统一,在数据交换阶段结束后进行时标统一
优选的,数据交换阶段结束后,每个单机都拥有所有单机采集的数据,
优选的,在任务级的时标统一过程中,需要进行数据交换的数据量大,通信频率高,采用共享内存实现通讯,利用内存通信效率高的优势,避免数据交换以及时标统一对单机性能的影响。
优选的,在系统级的时标统一过程中,设计了同步控制器,与各单机通信,采用基于C/S机制的套接字进行,保证可靠的数据传输。
优选的,同步控制器向各单机发送同步参数以及控制命令,同步参数以及控制命令存在优先级设计,同步参数优先级高于控制命令,实现各单机在调试过程中的时标统一。
优选的,同步控制器可灵活设置同步周期,其粒度大小由仿真人员根据实际工况确定,可精确至极小,如1微秒。
优选的,同步周期中,当某单机遇到断点停止运行,此时其他单机最多运行至当前同步周期完成,不再继续向后运行,一直等待,直到停止运行的单机恢复运行,各单机才继续运行。
优选的,每个同步周期的结束时刻为同步基线,当某单机运行至同步基线时,查询其它单机是否运行到同步基线,当确认所有单机均运行到同步基线,才继续运行,否则一直等待。
优选的,步骤(三)在多机并行运行时,多机各自进程间时标统一;将多机共享内存数据交换和传输的过程进行阶段划分,分为数据采集阶段和数据交换阶段,保证多机在数据交换和传输的过程中均为同步状态,即实现任务级的多机时标的统一,具体步骤如下:
(a)第一阶段为数据采集阶段,各单机将采集到的数据向共享内存中指定的内存区域写入数据,由于设计了独立空间和独立区域,所以不同单机的数据存放区域相互隔离。执行完该操作之后进行第一次时标统一,等待各单机均完成数据采集,并且将采集的数据放置于自身对应的数据区域。优选上述多机为四机,A机采集的数据存放在A_SPACE下的DATA_A,B机采集的数据存放在B_SPACE下的DATA_B,C机采集的数据存放在C_SPACE下的DATA_C,D机采集的数据存放在D_SPACE下的DATA_D。
(b)第二阶段为数据交换阶段,各单机向其他单机发送自身数据,最终使各单机均拥有所有单机的数据,在数据交换结束后需要进行第二次多机时标统一,避免出现有单机还未交换完成,没有得到完整数据的错误工况。优选上述多机为四机,数据交换阶段结束后,A机的独立空间A_SPACE中:DATA_A存放A机的采集数据,DATA_B存放B机的采集数据,DATA_C存放C机的采集数据,DATA_D存放D机的采集数据,其他单机的独立空间同理。
优选的,步骤(四)实现任务级的多机时标的统一后,建立同步控制器;采用基于C/S机制的套接字使同步控制器与多机进行通信,多机进程间能够建立起虚拟连接,实现同步控制器与多机间的数据传输;多机各自进程在运行过程中具备同时运行、停止、步进、暂停的调试功能;即实现系统级的多机时标的统一,具有如下要求:
(a)设计同步控制器,与各单机通信,采用基于C/S机制的套接字进行,进程间会建立起虚拟连接,保证可靠的数据传输。
(b)同步控制器向各单机发送同步参数,包括需同步的单机个数、各单机编号、同步周期。
(c)同步控制器向各单机发送运行、停止、步进、暂停的控制命令;
(d)同步参数优先级高于控制命令,当各单机收到运行、停止、步进、暂停的命令时,其控制状态仅在当前的同步周期有效,各单机的后续运行仍需等待同步基线才能继续运行;
(e)每个单机运行至同步基线时,查询其它单机是否运行到同步基线,当确认所有单机均运行到位后,才继续运行,否则一直等待,直至满足同步条件。
本发明与现有技术相比的优点在于:本发明针对现有多机时标仿真方法,提出了基于独立互斥的数据空间的任务级和系统级时标统一仿真方法,优点如下:
(1)本发明使用共享内存替代实现多机的临时交换区和数据交换串口,在设计顶层实现数据隔离,简化了不同单机间复杂的通讯实现。
(2)本发明对各单机采集的数据进行统一管理并分配内存空间,各单机内存空间相互隔离、独立,不存在互斥情况,也避免了数据冲突。在数据交换的整个过程中无需对数据交换时序进行控制,仅判断最后的交换完成状态。
(3)本发明在同一仿真周期中采用多次时标同步的方式将数据交换和传输的过程进行阶段划分,保证各单机在不同的数据处理阶段均为同步状态,避免将污染数据发送给星上,利用内存通信效率高的优势,避免同步操作对单机性能造成影响。
(4)本发明设计了同步控制器与各单机通信,以同步基线进行同步,设计了高优先级的同步参数,让单机调试过程与多机的时标统一不再矛盾,解决了多机在调试过程中的时标统一问题。
(5)本发明在提升系统仿真度以及仿真效率的前提下,成功解决了姿轨控系统容错架构下的多机时标统一问题,目前已在空间站测试环境成功运用。
附图说明
图1为本发明四机容错构型映射示意图;
图2为本发明数据空间示意图;
图3为本发明数据交换过程示意图;
图4为本发明任务级多机时标统一示意图;
图5为本发明系统级多机时标统一示意图;
图6为本发明四机同步周期示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
在航天器姿轨控系统领域,传统的多机时标统一方法已经无法适用于容错架构下的多机时标统一,本发明公开一种改进方法,在多机的共享内存中设计了独立互斥的数据空间,为时标的统一管理提供数据基础,采用多次时标同步的方式,将多机共享内存中数据交换和传输的过程进行阶段划分,保证多机在不同的数据处理阶段均为同步状态,避免将非同步的数据引入计算,实现了任务级的多机时标统一,然后设计了同步控制器,使用同步控制器与各机通信,以仿真时间为控制基准进行同步,设计了高优先级的同步参数,让单机调试过程与多机的时标统一不再矛盾,实现了系统级的多机时标统一。最终解决了容错架构下多机时标统一问题,该仿真方法不仅实现了任务级的时标统一,也实现了系统级的时标统一,目前已在空间站仿真环境中成功运用。
对于载人航天器姿轨控系统而言,可靠性要求极高,因此设计了多机容错构型,保证系统出现多重故障后仍能安全稳定运行。与此对应,仿真环境也应具备容错构型下多机仿真能力,那么实现多机时标统一,使多机并行运行就是必须解决的问题。本发明公开一种适用于姿轨控系统多机容错架构的多机时标仿真方法。解决了现有多机时标统一方法仅能按照仿真周期进行同步的问题,实现了在仿真周期内部不同阶段都进行同步的功能,保证仿真数据的完整性和正确性。此外,还实现了单机调试与多机并行运行的融合,解决了多机并行运行时无法调试的难题。目前该多机时标仿真方法已经在空间站仿真环境中成功运用,验证了多项空间站在轨飞行策略。
本发明为一种适用于姿轨控系统多机容错架构的多机时标仿真方法,优选方案步骤如下:
步骤(一)将每一个虚拟单机视为进程,每一个虚拟单机为一机,采用相同的多机组成姿轨控系统进行航天器姿轨控,则多机的时标统一就转化成为多机各自进程间的时标统一;多机具有共享内存,利用多机各自进程间可共享内存的特征,使用共享内存模拟临时交换区和串口,进行数据交换和传输,将交换和传输的数据作为多机共享内存的数据。具体优选要求如下:
优选上述多机为四机,四个虚拟单机视为四个进程,将四机的时标统一转化为进程的时标统一,使用四机的共享内存模拟临时交换区和串口,四个单机采集的数据以及交换的数据放置在共享内存中,利用不同进程可读写共享内存的特征,结合共享内存中数据区域相互隔离的设计,在设计顶层上实现数据隔离。
步骤(二)对多机共享内存的数据进行空间分配,其空间分配遵循独立原则,使每单机对应共享内存中一个独立空间,用于存放对应单机交换和传输的数据,不同独立空间中的数据互不干扰。具体优选要求如下:
优选上述多机为四机,在共享内存中设计四块独立空间模拟四机数据存放的空间,分别为A_SPACE、B_SPACE、C_SPACE、D_SPACE,每个单机的独立空间又被划分成四块独立区域,分别为DATA_A、DATA_B、DATA_C、DATA_D,则划分结束后,每个单机都对应一块独立空间,每个独立空间被划分为四块独立区域。
步骤(三)在多机并行运行时,多机各自进程间时标统一;将多机共享内存数据交换和传输的过程进行阶段划分,分为数据采集阶段和数据交换阶段,保证多机在数据交换和传输的过程中均为同步状态,即实现任务级的多机时标的统一。具体优选要求如下:
优选上述多机为四机,在数据采集阶段,A机采集的数据存放的空间为A_SPACE下的DATA_A,A_SPACE下的DATA_B、DATA_C、DATA_D在数据采集阶段不写入数据,同理,B机采集的数据存放空间为B_SPACE下的DATA_B,B_SPACE下的DATA_A、DATA_C、DATA_D在数据采集阶段不写入数据;C机采集的数据存放空间为C_SPACE下的DATA_C,C_SPACE下的DATA_A、DATA_B、DATA_D在数据采集阶段不写入数据;D机采集的数据存放空间为D_SPACE下的DATA_D,D_SPACE下的DATA_A、DATA_B、DATA_C在数据采集阶段不写入数据。当四个单机将采集的数据都放置于指定的内存区域后,进行第一次时标统一。
在数据交换阶段,四机各进行一轮数据发送,将自身数据发送给其他三机,具体而言,A机将A_SPACE下的DATA_A分别发送给B_SPACE下的DATA_A,C_SPACE下的DATA_A,D_SPACE下的DATA_A;B机将B_SPACE下的DATA_B分别发送给A_SPACE下的DATA_B,C_SPACE下的DATA_B,D_SPACE下的DATA_B;C机将C_SPACE下的DATA_C分别发送给A_SPACE下的DATA_C,B_SPACE下的DATA_C,D_SPACE下的DATA_C;D机将D_SPACE下的DATA_D分别发送给A_SPACE下的DATA_D,B_SPACE下的DATA_D,C_SPACE下的DATA_D。在四机的数据交换完成后进行第二次时标统一,从而完成任务级的四机时标统一。
步骤(四)实现任务级的多机时标的统一后,建立同步控制器;采用基于C/S机制的套接字使同步控制器与多机进行通信,多机进程间能够建立起虚拟连接,实现同步控制器与多机间的数据传输;多机各自进程在运行过程中具备同时运行、停止、步进、暂停的调试功能;即实现系统级的多机时标的统一。具体优选要求如下:
优选上述多机为四机,建立同步控制器与四机通讯,通讯方式采用基于C/S机制的套接字,保证数据传输的可靠性。通讯的内容分为两类,分别为同步参数(包括同步的单机个数、各单机编号、同步周期)和控制命令(包括运行、停止、步进、暂停)。两类通讯内容设计了不同的优先级,同步参数优先级高于控制命令,当各单机收到运行、停止、步进、暂停的命令时,其控制状态仅在当前的同步周期有效,如某单机收到暂停的控制命令后,该单机暂停运行,而其他三机最多运行到同步基线(即当前的同步周期结束时刻),不会继续向后运行,只有暂停的单机恢复运行,并且运行到同步基线,与其他三机拉齐后,四机才继续并行运行。此外,在四机正常并行运行时,每个单机运行至同步基线时,查询其它单机是否运行到同步基线,当确认所有单机均运行到同步基线后,才继续运行,否则一直等待,直至满足同步条件,实现了并行运行时的同步。
本发明公开一种适用于姿轨控系统多机容错架构的多机时标仿真方法,进一步的优选方案为:所述方法在多机的共享内存中设计了独立空间和独立区域,为时标的统一提供基础,并基于该条件将数据交换和传输的过程进行阶段划分,分为数据采集阶段和数据交换阶段,不同的阶段均进行时标统一操作,保证多机在不同的数据处理阶段均为同步状态,实现了任务级的多机时标统一,然后设计了同步控制器与各单机通信,以同步周期为基准进行同步,设计了高优先级的同步参数,让单机调试与多机的并行运行不再矛盾,实现了系统级的多机时标统一。最终解决了姿轨控容错架构下多机时标的统一问题。
下面结合附图和具体实施例对本发明作进一步详细的描述,优选上述多机为四机:
步骤(一)基于容错构架的四机共享内存设计:将每一个虚拟单机视为进程,采用相同的多机组成姿轨控系统进行航天器姿轨控,则多机的时标统一就转化成为多机各自进程间的时标统一。真实的硬件层面,四机相互独立,使用临时交换区以及串口作为数据承载和传输的中间介质,完成数据交换,对应到四机仿真,设计使用共享内存替代实现临时交换区和串口,由于各个进程可以读写共享内存,所以将四个单机采集的数据以及交换的数据放置在共享内存中,在共享内存中划分好不同的空间和区域存放不同单机数据,在设计顶层上实现数据隔离,如图1所示。
步骤(二)独立空间和独立区域的划分:按照步骤(一)的设计框架,对各机采集的数据进行统一的空间分配,其空间的划分要遵循相互隔离的原则。
具体操作:
(1)以四个进程模拟四机,利用共享内存的通用读写特征,在共享内存中开辟四块独立空间,分别为A_SPACE、B_SPACE、C_SPACE、D_SPACE,对应各个单机的数据空间。
(2)考虑到四机存在数据交换情况,在每块独立空间中设计4块独立区域,分别为独立区域DATA_A、DATA_B、DATA_C、DATA_D,如图2所示。
步骤(三)任务级多机时标的统一:多机时标的统一是多机仿真并行运行的基础。对于容错构型下的多机仿真,其时标的统一尤其特殊,这也是区别于其他非容错架构多机仿真的显著之处。具体步骤如下:
(1)数据采集阶段:各单机采集自身数据,向指定的独立区域写入数据,A机采集的数据存放的空间为A_SPACE下的DATA_A,需要指出,A_SPACE下的DATA_B、DATA_C、DATA_D在数据采集阶段不写入数据,同理,B机采集的数据存放空间为B_SPACE下的DATA_B,B_SPACE下的DATA_A、DATA_C、DATA_D在数据采集阶段不写入数据;C机采集的数据存放空间为C_SPACE下的DATA_C,C_SPACE下的DATA_A、DATA_B、DATA_D在数据采集阶段不写入数据;D机采集的数据存放空间为D_SPACE下的DATA_D,D_SPACE下的DATA_A、DATA_B、DATA_C在数据采集阶段不写入数据。进行完上述操作之后进行第一次时标统一,必须等待四机均完成数据采集,并且将采集的数据放置于对应的独立区域后,才执行后续步骤,避免出现某单机数据采集未完成就进行后续的数据交换操作。
(2)数据交换阶段:满足步骤(三)的(1)所述条件后,进行数据交换,数据交换过程分为四轮,即每个单机进行一轮数据发送,其实质是将自身的采集数据发送给其他单机,使各机均拥有所有单机数据,需注意的是,向其他单机发送数据时,因其独立空间和独立区域的设计,不同单机的数据不存在互斥情况,如A机给其他单机发送数据的同时,B机也可以向其他单机发送数据,由于不同的单机操作的区域完全独立,不会有数据冲突出现。所以四轮数据发送过程中不需要进行时标统一。如图3所示。
(3)步骤(三)的(2)执行完毕后,每个单机都拥有四机的数据。此时需要进行第二次多机时标统一,避免出现有单机还未交换完成,没有得到完整数据的现象,从而保证每个单机供星上读取的数据是完整的,经过两次多机时标统一操作,实现了任务级的多机时标统一。如图4所示。
步骤(四)系统级多机时标统一:这是以同步周期为基准的粒度更为宏观的统一时标管理。因为四机仿真环境必须具备完善的调试功能,这就要求多机在运行过程中具备同时运行、停止、步进、暂停的调试功能。例如,当在A机运行于某断点停止后,其他单机应与A机保持一致,也停下来,根据A机的调试步骤,或停顿或运行。这就不仅限于任务级的时标统一,需要在系统级别层面实现任意粒度的时标统一,在任何时刻都要实现多机的时标统一。具体步骤如下:
(1)设计同步控制器,与多机通信,采用基于C/S机制的套接字进行。定义两台计算机或进程间通信规范为套接字,实现套接字规范的进程间会建立起虚拟连接,保证可靠的数据传输。
(2)利用步骤(四)的(1)中设计的同步控制器向4个单机发送同步参数,包括同步单机个数、各单机编号、同步周期,明确如下内容:①至少有多少个单机达到同步要求才能继续运行,②表明当前进程所代表的单机编号③同步周期,多久进行一次同步操作。
(3)利用步骤(四)的(1)中设计的同步控制器向4个单机发送控制命令,包括运行、停止、步进、暂停命令。
(4)步骤(四)的(2)和(3)中设计的同步参数以及控制命令存在不同的优先级。同步参数优先级高于控制命令,当四机收到运行、停止、步进、暂停命令时,其控制状态仅在当前的同步周期(此同步周期非仿真周期,粒度更小,由仿真人员根据实际工况确定,可精确至极小,如1微秒)有效,四机的后续运行仍需等待同步基线才能继续运行,如T0同步周期中,C机遇到断点停顿于断点时刻,此时A、B、D三机最多运行至本同步周期完成,即T1同步周期的起始时刻,不再继续向后运行,一直等待,直到C机也运行到这一时刻,四机才继续运行。如图5所示。
(5)按照步骤(四)的(4)中设计的优先级别,根据同步周期创建定时器,当单机运行至同步基线时,查询其它单机是否运行到同步基线,在本发明中,同步基线的基准为仿真时间,即如果同步周期为1ms,则定时器每1ms检查一次四机的运行情况,该1ms是仿真时间中的1ms,非实际物理时间1ms。当确认所有单机均运行到位后,才继续运行,否则一直等待,直至满足同步条件。如图6所示。
基于本发明所述的多机时标仿真方法已经应用于空间站多机地面仿真环境中,在空间站姿轨控分系统测试中完成27项方案验证工作,并将其作为真实在轨飞行控制工作的预案验证工具,满足空间站实际工程应用需求。
本发明未详细说明部分属本领域技术人员公知常识。
Claims (17)
1.一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于步骤如下:
步骤(一)将每一个虚拟单机视为进程,每一个虚拟单机为一机,采用相同的多机组成姿轨控系统进行航天器姿轨控,则多机的时标统一就转化成为多机各自进程间的时标统一;多机具有共享内存,利用多机各自进程间可共享内存的特征,使用共享内存模拟临时交换区和串口,进行数据交换和传输,将交换和传输的数据作为多机共享内存的数据;
步骤(二)对多机共享内存的数据进行空间分配,其空间分配遵循独立原则,使每单机对应共享内存中一个独立空间,用于存放对应单机交换和传输的数据,不同独立空间中的数据互不干扰;
步骤(三)在多机并行运行时,多机各自进程间时标统一;将多机共享内存数据交换和传输的过程进行阶段划分,分为数据采集阶段和数据交换阶段,保证多机在数据交换和传输的过程中均为同步状态,即实现任务级的多机时标的统一;
步骤(四)实现任务级的多机时标的统一后,建立同步控制器;采用基于C/S机制的套接字使同步控制器与多机进行通信,多机进程间能够建立起虚拟连接,实现同步控制器与多机间的数据传输;多机各自进程在运行过程中具备同时运行、停止、步进、暂停的调试功能;即实现系统级的多机时标的统一。
2.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:将每一个虚拟单机视为一个进程,则多机的时标统一就转化成为多机各自进程间的时标统一。
3.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:使用共享内存模拟临时交换区和串口,进行数据交换和传输,对共享内存中各单机的数据进行空间分配,保证数据独立,相互隔离。
4.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:利用共享内存的通用读写特征,在共享内存区开辟各单机的独立空间。
5.根据权利要求4所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:对共享内存中每个单机的独立空间进行独立区域划分,有几个单机就划分为几块独立区域。
6.根据权利要求5所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:各个单机向各自独立空间中的独立区域写入采集的数据。
7.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:将采集数据向共享内存写入时,如A机给其他单机发送数据的同时,B机也可以向其他单机发送数据,不同的单机操作的区域完全独立,不会有数据冲突。
8.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:由于各单机采集的数据存放区域独立,数据交换过程中不需要进行时标统一,在数据交换阶段结束后进行时标统一。
9.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:数据交换阶段结束后,每个单机都拥有所有单机采集的数据。
10.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:在任务级的时标统一过程中,需要进行数据交换的数据量大,通信频率高,采用共享内存实现通讯,利用内存通信效率高的优势,避免数据交换以及时标统一对单机性能的影响。
11.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:在系统级的时标统一过程中,设计了同步控制器,与各单机通信,采用基于C/S机制的套接字进行,保证可靠的数据传输。
12.根据权利要求11所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:同步控制器向各单机发送同步参数以及控制命令,同步参数以及控制命令存在优先级设计,同步参数优先级高于控制命令,实现各单机在调试过程中的时标统一。
13.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:同步控制器可灵活设置同步周期,其粒度大小由仿真人员根据实际工况确定。
14.根据权利要求13所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:同步周期中,当某单机遇到断点停止运行,此时其他单机最多运行至当前同步周期完成,不再继续向后运行,一直等待,直到停止运行的单机恢复运行,各单机才继续运行。
15.根据权利要求14所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:每个同步周期的结束时刻为同步基线,当某单机运行至同步基线时,查询其它单机是否运行到同步基线,当确认所有单机均运行到同步基线,才继续运行,否则一直等待。
16.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:步骤(三)在多机并行运行时,多机各自进程间时标统一;将多机共享内存数据交换和传输的过程进行阶段划分,分为数据采集阶段和数据交换阶段,保证多机在数据交换和传输的过程中均为同步状态,即实现任务级的多机时标的统一,具体步骤如下:
(a)第一阶段为数据采集阶段,各单机将采集到的数据向共享内存中指定的内存区域写入数据,由于设计了独立空间和独立区域,所以不同单机的数据存放区域相互隔离;执行完该操作之后进行第一次时标统一,等待各单机均完成数据采集,并且将采集的数据放置于自身对应的数据区域;(b)第二阶段为数据交换阶段,各单机向其他单机发送自身数据,最终使各单机均拥有所有单机的数据,在数据交换结束后需要进行第二次多机时标统一,避免出现有单机还未交换完成,没有得到完整数据的错误工况。
17.根据权利要求1所述的一种适用于姿轨控系统多机容错架构的多机时标仿真方法,其特征在于:步骤(四)实现任务级的多机时标的统一后,建立同步控制器;采用基于C/S机制的套接字使同步控制器与多机进行通信,多机进程间能够建立起虚拟连接,实现同步控制器与多机间的数据传输;多机各自进程在运行过程中具备同时运行、停止、步进、暂停的调试功能;即实现系统级的多机时标的统一,具有如下要求:
(a)设计同步控制器,与各单机通信,采用基于C/S机制的套接字进行,进程间会建立起虚拟连接,保证可靠的数据传输;
(b)同步控制器向各单机发送同步参数,包括需同步的单机个数、各单机编号、同步周期;
(c)同步控制器向各单机发送运行、停止、步进、暂停的控制命令;
(d)同步参数优先级高于控制命令,当各单机收到运行、停止、步进、暂停的命令时,其控制状态仅在当前的同步周期有效,各单机的后续运行仍需等待同步基线才能继续运行;
(e)每个单机运行至同步基线时,查询其它单机是否运行到同步基线,当确认所有单机均运行到位后,才继续运行,否则一直等待,直至满足同步条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425173.8A CN113438008B (zh) | 2021-04-20 | 2021-04-20 | 一种适用于姿轨控系统多机容错架构的多机时标仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425173.8A CN113438008B (zh) | 2021-04-20 | 2021-04-20 | 一种适用于姿轨控系统多机容错架构的多机时标仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113438008A CN113438008A (zh) | 2021-09-24 |
CN113438008B true CN113438008B (zh) | 2022-10-28 |
Family
ID=77753327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110425173.8A Active CN113438008B (zh) | 2021-04-20 | 2021-04-20 | 一种适用于姿轨控系统多机容错架构的多机时标仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113438008B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594884B (zh) * | 2023-05-16 | 2023-10-27 | 上海安般信息科技有限公司 | 一种基于使用并发方式的模糊测试方法及装置 |
CN117234696B (zh) * | 2023-11-13 | 2024-01-19 | 北京控制工程研究所 | 高频率gnc系统多任务执行策略的确定方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103017761A (zh) * | 2012-11-30 | 2013-04-03 | 北京控制工程研究所 | 一种航天器多星敏感器数据采集器及采集方法 |
CN105718686A (zh) * | 2016-01-26 | 2016-06-29 | 云南电网有限责任公司电力科学研究院 | 一种基于事件驱动的配电网仿真系统及其仿真方法 |
CN108227561A (zh) * | 2017-12-08 | 2018-06-29 | 中国航空工业集团公司成都飞机设计研究所 | 一种多余度系统数据采集的时标对齐方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2359386B (en) * | 2000-02-16 | 2004-08-04 | Data Connection Ltd | Replicated control block handles for fault-tolerant computer systems |
CN103500132A (zh) * | 2013-09-03 | 2014-01-08 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种基于cpci总线的通用型计算机仿真测试平台 |
CN105978997A (zh) * | 2016-06-24 | 2016-09-28 | 北京百度网讯科技有限公司 | 数据传输方法和系统 |
CN106292336B (zh) * | 2016-10-10 | 2019-05-07 | 上海航天控制技术研究所 | 基于嵌入式VxWorks的卫星姿轨控系统的故障模拟系统及方法 |
CN106445640B (zh) * | 2016-10-20 | 2019-06-18 | 南京南瑞继保电气有限公司 | 一种嵌入式虚拟装置运行方法和系统 |
-
2021
- 2021-04-20 CN CN202110425173.8A patent/CN113438008B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103017761A (zh) * | 2012-11-30 | 2013-04-03 | 北京控制工程研究所 | 一种航天器多星敏感器数据采集器及采集方法 |
CN105718686A (zh) * | 2016-01-26 | 2016-06-29 | 云南电网有限责任公司电力科学研究院 | 一种基于事件驱动的配电网仿真系统及其仿真方法 |
CN108227561A (zh) * | 2017-12-08 | 2018-06-29 | 中国航空工业集团公司成都飞机设计研究所 | 一种多余度系统数据采集的时标对齐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113438008A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113438008B (zh) | 一种适用于姿轨控系统多机容错架构的多机时标仿真方法 | |
CN110361979B (zh) | 一种铁路信号领域的安全计算机平台 | |
CN105229481B (zh) | 具有存储器上的加速以及用于fpga块内自动模式生成的加速的测试器 | |
CN105446847B (zh) | 一种arinc659总线的自动化测试系统及其方法 | |
CN101493809B (zh) | 一种基于fpga的多核心星载计算机 | |
CN103098032B (zh) | 仿真方法和系统 | |
CN103810074A (zh) | 一种片上系统芯片及相应的监控方法 | |
CN107340441A (zh) | 一种燃料电池汽车动力总成集成测试系统 | |
CN102030111B (zh) | 一种飞机cfds数据分析器及其实现方法 | |
CN103048984B (zh) | 多通道arinc700总线监控装置及实现方法 | |
CN108333566A (zh) | 一种基于zynq的便携式雷达测试系统及测试方法 | |
CN103738369B (zh) | 基于opc ua技术的ats设备及系统 | |
CN111767031A (zh) | 一种基于仿真的核电工业互联网实验床 | |
CN104199440A (zh) | 一种四机三总线冗余异构gnc系统 | |
CN114490036A (zh) | 一种可扩展分布式多余度无人机智能飞行控制计算机 | |
CN204406186U (zh) | 一种现场总线控制器 | |
CN109656147A (zh) | 空战模拟系统 | |
Bos et al. | Time and space partitioning the EagleEye Reference Mission | |
CN111381982B (zh) | 一种适用于火星探测的三计算机数据交互与表决方法 | |
CN115098072A (zh) | 一种用于车辆的新型软件架构 | |
RU101551U1 (ru) | Контроллер для управления сложным объектом | |
CN115238437A (zh) | 一种发动机控制软件仿真平台集成方法及其系统 | |
CN113778487A (zh) | 一种智能处理模组的软件上注系统和方法 | |
CN106909084B (zh) | 一种用于燃料电池汽车动力综合测试仪器的主控系统 | |
CN112407329B (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 |