掌桥专利:专业的专利平台
掌桥专利
首页

多余度同步控制方法、飞行控制器及存储介质

文献发布时间:2023-06-19 16:06:26



技术领域

本申请涉及飞行控制器技术领域,尤其涉及一种多余度同步控制方法、飞行控制器及存储介质。

背景技术

飞行控制系统是飞机的重要组成部分,其系统构型对飞机性能和安全起着决定性作用。目前,飞行控制系统的余度配置为采用双余度或三余度计算机进行控制,使得主飞行计算机出现故障时,其他从飞行计算机能代替主飞行计算机继续执行后续工作,因此,正在运行的主飞行计算机和从飞行计算机的运行状态需保持同步,比如在主飞行计算机正在执行内容A时,从飞行计算机也应该在执行内容A,这样在主飞行计算机在执行内容A出现故障时,从飞行计算机才能准确地接替主飞行计算机的后续工作。但是,当主飞行计算机和从飞行计算机采用同步数据进行运算的过程中,当出现同步节拍不一致时,获取的同步数据在同一时刻不能保持一致,不利于各飞行计算机的运算。

发明内容

本申请实施例通过提供一种多余度同步控制方法、飞行控制器及存储介质,旨在解决同步节拍不一致时,不同飞行计算机之间的余度数据无法同步的问题。

本申请实施例提供了一种应用于余度同步模块的多余度同步控制方法,所述多余度同步控制方法,包括:

接收第一飞行计算机发送的第一余度数据;

在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,获取所述第一余度数据的状态;

在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算。

在一实施例中,所述在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,获取所述第一余度数据的状态的步骤包括:

在所述第一余度数据与同步列表中的第二余度数据不同时,累加失步计数器的计数值;

根据所述失步计数器的当前计数值与预设失步值确定所述第一余度数据的状态。

在一实施例中,所述根据所述失步计数器的当前计数值与预设失步值确定所述第一余度数据的状态的步骤包括:

在所述失步计数器的当前计数值大于预设失步值时,确定所述第一余度数据的状态为失步状态;

或者,在所述失步计数器的当前计数值小于或等于预设失步值时,将所述失步计数器的当前计数值清零并确定所述第一余度数据的状态为同步状态。

在一实施例中,所述在所述失步计数器的当前计数值大于预设失步值时,确定所述第一余度数据的状态为失步状态的步骤之后包括:

在所述第一余度数据的状态为失步状态时,将所述同步列表中的第二余度数据封装成数据包;

将所述数据包经由同步总线发送至第一飞行计算机,以使所述第一飞行计算机采用所述数据包中的第二余度数据进行运算。

在一实施例中,所述接收第一飞行计算机发送的第一余度数据的步骤之后,包括:

在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据相同时,将所述第二余度数据发送至第二飞行计算机,以使所述第二飞行计算机采用所述第二余度数据进行运算。

在一实施例中,所述余度同步模块包括前台数据类和后台数据类,所述前台数据类为所述后台数据类的友元类,且所述前台数据类兼容至少两种数据类型的第一余度数据。

在一实施例中,所述接收第一飞行计算机发送的第一余度数据的步骤之前,还包括:

实例化前台数据类;

将所述余度同步模块的标识、第二飞行计算机的第二余步数据注册到后台数据类的同步列表中,并反馈所述第二余步数据在所述同步列表中的索引标识;

所述在所述第一余度数据与同步列表中的第二余度数据相同时,获取所述第一余度数据的状态的步骤包括:

基于所述索引标识在同步列表获取与所述第一余度数据的索引标识相同的第二余度数据;

在所述第一余度数据的数值与所述第二余度数据的数据相同且所述第一余度数据的时标与所述第二余度数据的时标相同时,获取所述第一余度数据的状态。

在一实施例中,所述接收第一飞行计算机发送的第一余度数据的步骤之前,还包括:

实例化后台数据类,初始化同步总线和同步列表;

启动数据处理线程,以基于所述数据处理线程执行接收第一飞行计算机发送的第一余度数据的步骤。

此外,为实现上述目的,本申请还提供了一种飞行控制器,所述飞行控制器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多余度同步控制程序,所述多余度同步控制程序被所述处理器执行时实现上述的多余度同步控制方法的步骤。

此外,为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有多余度同步控制程序,所述多余度同步控制程序被处理器执行时实现上述的多余度同步控制方法的步骤。

本申请实施例中提供的一种多余度同步控制方法、飞行控制器及存储介质的技术方案,由于采用了接收第一飞行计算机发送的第一余度数据,在第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,则获取第一飞行计算机的第一余度数据的状态。在第一余度数据的状态为同步状态时,将第一余度数据发送至第二飞行计算机,使得第二飞行计算机能够采用该第一余度数据进行运算的技术方案,解决了同步节拍不一致时,不同飞行计算机之间的余度数据无法同步的问题,本申请通过在各飞行计算机上设置余度同步模块,使得余度同步模块能够根据第一飞行计算机的余度数据以及数据的状态确定以第一飞行计算机的第一余度数据进行运算还是以第二飞行计算机的第二余度数据进行运算,提高同步数据的准确性。

附图说明

图1为本申请实施例方案涉及的飞行控制器的结构示意图;

图2为本申请多余度同步控制方法第一实施例的流程示意图;

图3为本申请多余度同步系统架构示意图;

图4为本申请前台数据类与后台数据类之间的关系示意图;

图5为本申请多余度同步控制方法一实施例的流程示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明,上述附图只是一个实施例图,而不是发明的全部。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请实施例的主要解决方案是:接收第一飞行计算机发送的第一余度数据;在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,获取所述第一余度数据的状态;在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算。

由于当第一飞行计算机和第二飞行计算机采用同步数据进行运算的过程中,当出现同步节拍不一致时,获取的同步数据在同一时刻不能保持一致,不利于各飞行计算机的运算。因此,本申请通过在各飞行计算机上设置余度同步模块,使得余度同步模块能够根据第一飞行计算机的余度数据以及数据的状态确定以第一飞行计算机的第一余度数据进行运算还是以第二飞行计算机的第二余度数据进行运算,提高同步数据的准确性。

为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,图1为本申请飞行控制器的硬件运行环境的结构示意图。

如图1所示,该飞行控制器可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,同步总线1002。其中,同步总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的飞行控制器结构并不构成对飞行控制器限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多余度同步控制程序。其中,操作系统是管理和控制飞行控制器硬件和软件资源的程序,多余度同步控制程序以及其它软件或程序的运行。

在图1所示的飞行控制器中,用户接口1003主要用于连接终端,与终端进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的多余度同步控制程序。

在本实施例中,飞行控制器包括:存储器1005、处理器1001及存储在所述存储器上并可在所述处理器上运行的多余度同步控制程序,其中:

处理器1001调用存储器1005中存储的多余度同步控制程序时,执行以下操作:

接收第一飞行计算机发送的第一余度数据;

在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,获取所述第一余度数据的状态;

在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算。

处理器1001调用存储器1005中存储的多余度同步控制程序时,还执行以下操作:

在所述第一余度数据与同步列表中的第二余度数据不同时,累加失步计数器的计数值;

根据所述失步计数器的当前计数值与预设失步值确定所述第一余度数据的状态。

处理器1001调用存储器1005中存储的多余度同步控制程序时,还执行以下操作:

在所述失步计数器的当前计数值大于预设失步值时,确定所述第一余度数据的状态为失步状态;

或者,在所述失步计数器的当前计数值小于或等于预设失步值时,将所述失步计数器的当前计数值清零并确定所述第一余度数据的状态为同步状态。

处理器1001调用存储器1005中存储的多余度同步控制程序时,还执行以下操作:

在所述第一余度数据的状态为失步状态时,将所述同步列表中的第二余度数据封装成数据包;

将所述数据包经由同步总线发送至第一飞行计算机,以使所述第一飞行计算机采用所述数据包中的第二余度数据进行运算。

处理器1001调用存储器1005中存储的多余度同步控制程序时,还执行以下操作:

在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据相同时,将所述第二余度数据发送至第二飞行计算机,以使所述第二飞行计算机采用所述第二余度数据进行运算。

处理器1001调用存储器1005中存储的多余度同步控制程序时,还执行以下操作:

所述余度同步模块包括前台数据类和后台数据类,所述前台数据类为所述后台数据类的友元类,且所述前台数据类兼容至少两种数据类型的第一余度数据。

处理器1001调用存储器1005中存储的多余度同步控制程序时,还执行以下操作:

实例化前台数据类;

将所述余度同步模块的标识、第二飞行计算机的第二余步数据注册到后台数据类的同步列表中,并反馈所述第二余步数据在所述同步列表中的索引标识;

基于所述索引标识在同步列表获取与所述第一余度数据的索引标识相同的第二余度数据;

在所述第一余度数据的数值与所述第二余度数据的数据相同且所述第一余度数据的时标与所述第二余度数据的时标相同时,获取所述第一余度数据的状态。

处理器1001调用存储器1005中存储的多余度同步控制程序时,还执行以下操作:

实例化后台数据类,初始化同步总线和同步列表;

启动数据处理线程,以基于所述数据处理线程执行接收第一飞行计算机发送的第一余度数据的步骤。

以下将以实施例的方式介绍本申请的技术方案。

第一实施例:

如图2所示,在本申请的第一实施例中,本申请的多余度同步控制方法,包括以下步骤:

步骤S110,接收第一飞行计算机发送的第一余度数据。

在本实施例中,为了解决同步节拍不一致时,不同飞行计算机之间的余度数据无法同步的问题,本申请通过在各飞行计算机上设置余度同步模块,使得余度同步模块能够根据第一飞行计算机的余度数据以及数据的状态确定以第一飞行计算机的第一余度数据进行运算还是以第二飞行计算机的第二余度数据进行运算,提高同步数据的准确性。

在本实施例中,余度管理的基本功能主要是实现飞行控制器系统的故障检测及故障隔离。一般飞行控制器的余度配置可采用至少两个飞行计算机进行协同控制,比如三飞行计算机或者三飞行计算机进行控制。每个飞行计算机之间互为热备份,用于对采集的数据进行交叉传输和表决输出。即各个飞行计算机需要保持数据的同步,假设存在A飞行计算机和B飞行计算机。在同一节拍时,A飞行计算机会将自身的余度数据传输至B飞行计算机,同时,B飞行计算机也会将自身的余度数据和传输至A飞行计算机,从而使得A飞行计算机与B飞行计算机在同一节拍时能够保持数据同步,通过余度数据同步的方式使得在其中一台飞行计算机发生故障时,另外一台飞行计算机仍能够正常进行运算,从而实现对飞行控制器的下一步控制。

在本实施例中,在余度管理中,首先需要完成的是各飞行计算机之间的同步工作,可以采用软/硬结合的双握手方式使得各飞行计算机始终运行同一任务,即在同一节拍中工作,该过程为保持节拍同步。在保持节拍同步的同时,还要保持各飞行计算机之间数据的同步。而为了保持各飞行计算机之间数据的同。本申请在各飞行计算机中分别设置一个余度同步模块,参照图3,通过该余度同步模块实现飞行计算机之间余度数据的同步。

具体的,每个飞行计算机存在多个余度,上电后各余度任务同时运行。同时接收和处理除自身飞行计算机余度任务之外的其他飞行计算机的余度数据。在飞行计算机的内部,设置有余度同步模块。通过该余度同步模块实现与其他飞行计算机重要数据的同步。

在本实施例中的余度同步模块为设置在第二飞行计算机内部的模块。同时,在第一飞行计算机中也会设置一个余度同步模块。第一飞行计算机会实时将其自身生成或者采集的第一余度数据发送至自身所连接的余度同步模块,再将经由该余度同步模块转发至第二飞行计算机的余度同步模块。可选地,第一飞行计算机发送的第一余度数据以数据包的形式发送,例如,可将该第一余度数据封装成UDP数据包,并将该UDP数据包发送至第二余度计算机的余度同步模块。可选地,为了增加系统的扩展性,各个飞行计算机之间采用CAN总线作为同步总线,第一飞行计算机可通过该同步总线将封装好的UDP数据包发送至第二飞行计算机的余度同步模块。

其中,上述的第一飞行计算机可存在多个,且各个所述第一飞行计算机通过CAN总线与第二飞行计算机进行通信,即第二飞行计算机可同时接收多个第一飞行计算机发送的第一余度数据。上述的第一余度数据为第一飞行计算机的余度数据,该第一余度数据可以是第一飞行计算机在执行任务过程中生成或采集的数据,也可以是所要执行的任务程。该第一余度数据除了发送至第二余度计算机之外,还可将该第一余度数据注册并存储在第一飞行计算机的余度同步模块的同步列表中,以用于与接收到的第二飞行计算机发送的第二余度数据进行比对。

步骤S120,在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,获取所述第一余度数据的状态。

在本实施例中,与第一飞行计算机的同步列表相似,第二飞行计算机的同步列表中也存储有第二飞行计算机的第二余度数据。该第二余度数据可以是第二飞行计算机在运行过程中生成或采集的数据等。第二飞行计算机在接收到第一飞行计算机发送的第一余度数据之后,会将该第一余度数据与第二飞行计算机自身同步列表中的第二余度数据进行比对,以确定以第一飞行计算机的第一余度计算机进行运算还是以第二飞行计算机的第二余度计算机进行运算。

在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,表示第二飞行计算机可能存在故障,采用第一飞行计算机的第一余度数据。此时,还需要进一步的确定是否能以第一飞行计算机的第一余度数据进行运算。因此,获取第一余度数据的状态,根据第一余度数据的状态确定是否以第一飞行计算机的第一余度数据进行运算。其中,第一余度数据的状态包括同步状态或者失步状态。

步骤S130,在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算。

在本实施例中,在第一余度数据的状态为同步状态时,将第一余度数据发送至第二飞行计算机。在将第一余度数据发送至第二飞行计算机之后,使得第二飞行计算机可采用该第一余度数据进行运算,从而实现对飞行计算机的控制。本申请将飞行计算机的同步拆分到飞行计算机系统和飞行计算机内部任务数据的同步,增加了余度同步的灵活性。

本实施例根据上述技术方案,由于采用了接收第一飞行计算机发送的第一余度数据,在第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,则获取第一飞行计算机的第一余度数据的状态。在第一余度数据的状态为同步状态时,将第一余度数据发送至第二飞行计算机,使得第二飞行计算机能够采用该第一余度数据进行运算的技术方案,解决了同步节拍不一致时,不同飞行计算机之间的余度数据无法同步的问题,本申请通过在各飞行计算机上设置余度同步模块,使得余度同步模块能够根据第一飞行计算机的余度数据以及数据的状态确定以第一飞行计算机的第一余度数据进行运算还是以第二飞行计算机的第二余度数据进行运算,提高同步数据的准确性。

第二实施例:

在本申请的第二实施例中,本申请的多余度同步控制方法,包括以下步骤:

步骤S110,接收第一飞行计算机发送的第一余度数据;

步骤S121,在所述第一余度数据与同步列表中的第二余度数据不同时,累加失步计数器的计数值;

步骤S122,根据所述失步计数器的当前计数值与预设失步值确定所述第一余度数据的状态;

在本实施例中,在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,表示第一飞行计算机可能存在故障。此时,还需要进一步的确定是否能以第一飞行计算机的第一余度数据进行运算。因此,获取第一余度数据的状态,根据第一余度数据的状态确定是否以第一飞行计算机的第一余度数据进行运算。具体的,在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据不同时,累加失步计数器的计数值。并获取累加失步计数器的计数值之后的失步计数器的当前计数值,根据失步计数器的当前计数值与预设失步值确定第一余度数据的状态。其中,第一余度数据的状态包括同步状态或者失步状态。预设失步值可根据实际情况进行设置。所述当前计数值为失步计数器累加计数值之后对应的计数值。

步骤S130,在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算。

本实施例根据上述技术方案,由于采用了接收第一飞行计算机发送的第一余度数据;在所述第一余度数据与同步列表中的第二余度数据不同时,累加失步计数器的计数值;根据所述失步计数器的当前计数值与预设失步值确定所述第一余度数据的状态,在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算的技术手段,通过在余度数据相同且数据状态为同步状态时,采用第一飞行计算机的第一余度数据进行运算,实现对飞行计算机的控制。

第三实施例:

在本申请的第三实施例中,本申请的多余度同步控制方法,包括以下步骤:

步骤S110,接收第一飞行计算机发送的第一余度数据;

步骤S121,在所述第一余度数据与同步列表中的第二余度数据不同时,累加失步计数器的计数值;

步骤S1221,在所述失步计数器的当前计数值大于预设失步值时,确定所述第一余度数据的状态为失步状态;

或者,步骤S1222,在所述失步计数器的当前计数值小于或等于预设失步值时,将所述失步计数器的当前计数值清零并确定所述第一余度数据的状态为同步状态;

在本实施例中,在累加失步计数器的计数值之后,根据失步计数器的当前计数值与预设失步值确定第一余度数据的状态。具体的,将失步计数器的当前计数值与预设失步值进行比对。在失步计数器的当前计数值大于预设失步值时,确定第一余度数据的状态为失步状态。在失步计数器的当前计数值小于或等于预设失步值时,确定第一余度数据的状态为同步状态。同时在确定第一余度数据的状态为同步状态时,会将失步计数器的当前计数值清零。

步骤S130,在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算。

本实施例根据上述技术方案,由于采用了接收第一飞行计算机发送的第一余度数据;在所述第一余度数据与同步列表中的第二余度数据不同时,累加失步计数器的计数值;在所述失步计数器的当前计数值大于预设失步值时,确定所述第一余度数据的状态为失步状态;或者,在所述失步计数器的当前计数值小于或等于预设失步值时,将所述失步计数器的当前计数值清零并确定所述第一余度数据的状态为同步状态,在所述第一余度数据的状态为同步状态时,将所述第一余度数据发送至所述第二飞行计算机,以使所述第二飞行计算机采用所述第一余度数据进行运算的技术手段,通过在余度数据相同且数据状态为同步状态时,采用第一飞行计算机的第一余度数据进行运算,实现对飞行计算机的控制。

第四实施例:

在本申请的第四实施例中,本申请的多余度同步控制方法,包括以下步骤:

步骤S110,接收第一飞行计算机发送的第一余度数据;

步骤S121,在所述第一余度数据与同步列表中的第二余度数据不同时,累加失步计数器的计数值;

步骤S1221,在所述失步计数器的当前计数值大于预设失步值时,确定所述第一余度数据的状态为失步状态;

步骤S210,在所述第一余度数据的状态为失步状态时,将所述同步列表中的第二余度数据封装成数据包;

步骤S220,将所述数据包经由同步总线发送至第一飞行计算机,以使所述第一飞行计算机采用所述数据包中的第二余度数据进行运算。

在本实施例中,第一飞行计算机会实时将其自身生成或者采集的第一余度数据发送至自身所连接的余度同步模块,再将经由该余度同步模块转发至第二飞行计算机的余度同步模块。第一飞行计算机发送的第一余度数据以数据包的形式发送,例如,可将该第一余度数据封装成UDP数据包,并将该UDP数据包发送至第二余度计算机的余度同步模块。为了增加系统的扩展性,各个飞行计算机之间采用CAN总线作为同步总线,第一飞行计算机可通过该同步总线将封装好的UDP数据包发送至第二飞行计算机的余度同步模块。

在第二飞行计算机的余度同步模块会将第一余度数据与第二飞行计算机对应的同步列表中的第二余度数据进行比对,在比对结果为不一致时,且第一余度数据的状态为失步状态时,表示第一飞行计算机可能存在故障。采用第二飞行计算机自身的余度数据进行计算。同时,将第二飞行计算机自身的第二余度数据封装成数据包,并将该数据包经过同步总线发送至其他飞行计算机,以使其他飞行计算机采用所述数据包中的第二余度数据进行运算。

本实施例根据上述技术方案,由于采用了在第一飞行计算机为失步状态时,采用第二飞行计算机的第二余度数据发送至其他飞行计算机的技术手段,实现对飞行计算机的控制。

第五实施例:

在本申请的第五实施例中,本申请的多余度同步控制方法,包括以下步骤:

步骤S110,接收第一飞行计算机发送的第一余度数据;

步骤S310,在所述第一余度数据与第二飞行计算机的同步列表中的第二余度数据相同时,将所述第二余度数据发送至第二飞行计算机,以使所述第二飞行计算机采用所述第二余度数据进行运算。

在本实施例中,第二飞行计算机的余度同步模块在接收到第一飞行计算机发送的第一余度数据后,将该第一余度数据与第二飞行计算机的同步列表中的第二余度数据进行比对。具体可以比对第一余度数据与第二余度数据的时标、参数值等。在比对结果为相同时,表示此时第一飞行计算机与第二飞行计算机正常运行,第二飞行计算机可采用自身的第二余度数据进行运算。

本实施例根据上述技术方案,由于采用了在第一余度数据与第二余度数据相同时,采用第二余度数据进行运算的技术手段,实现对飞行计算机的控制。

第六实施例:

在本申请的第六实施例中,所述余度同步模块包括前台数据类和后台数据类,所述前台数据类为所述后台数据类的友元类,且所述前台数据类兼容至少两种数据类型的第一余度数据。

其中,余度同步功能由余度同步模块实现,该模块由前台数据类和后台处理类构成。前台处理类提供余度同步模块的调度接口给用户,并支持7种数据处理类型;后台处理类用于存储和处理同步信息,提供初始化、调度函数和命令交互等内部接口,不存在对外接口。在设计上,前台服务类是后台处理类的友元类。类关系参照图4。当希望前台服务类可以存取后台服务类的私有成员时,可以将该前台服务类声明为后台服务类的友元类。友元类的所有成员函数都是后台服务类的友元函数,都可以访问后台服务类中的隐藏信息。

第七实施例:

在本申请的第七实施例中,本申请的多余度同步控制方法,包括以下步骤:

步骤S410,实例化前台数据类;

步骤S420,将所述余度同步模块的标识、第二飞行计算机的第二余步数据注册到后台数据类的同步列表中,并反馈所述第二余步数据在所述同步列表中的索引标识;

步骤S521,基于所述索引标识在同步列表获取与所述第一余度数据的索引标识相同的第二余度数据;

步骤S522,在所述第一余度数据的数值与所述第二余度数据的数据相同且所述第一余度数据的时标与所述第二余度数据的时标相同时,获取所述第一余度数据的状态。

在本实施例中,在使用过程中,首先模块实例化前台数据类,将余度同步模块的标识、第二飞行计算机的第二余步数据等信息,注册到后台数据处理类中的同步列表,并返回第二余步数据在同步列表中的索引标识;同时,余度同步模块可以通过同步状态获取函数,获取同步数据的状态信息,并完成同步逻辑处理。在后续同步逻辑处理过程中,可根据上述生成的索引标识在同步列表中获取与第一余度数据的索引标识相同的第二余度数据。并判断第一余度数据与第二余度数据是否相同。具体的,在第一余度数据的数值与所述第二余度数据的数值相同,并且所述第一余度数据的时标与所述第二余度数据的时标相同时,表示第一余度数据与第二余度数据相同。在第一余度数据与第二余度数据相同时,获取第一余度数据的状态。

本实施例根据上述技术方案,通过在同步列表中获取与第一飞行计算机的第一余度数据的索引标识相同的第二余度数据,并比较第一余度数据的数值和时标是否与第二余度数据相同,从而确定第一余度数据与第二余度数据是否相同。

第八实施例:

在第一实施例步骤S110之前,还包括以下步骤:

步骤S610,实例化后台数据类,初始化同步总线和同步列表;

步骤S620,启动数据处理线程,以基于所述数据处理线程执行步骤S110,接收第一飞行计算机发送的第一余度数据。

在本实施例中,在余度同步模块前台数据类实例化完成后,用户可以实例化后台数据类,并启动10Hz后台同步数据处理线程,通过该处理线程完成数据传输和同步功能。具体处理流程可参照图5。首先,初始化后台数据处理实例完成总线初始化和同步信息列表检查,然后,10Hz后台处理线程接收其它余度传输的模块同步数据,检索同步数据表与余度同步数据比对,如果同步数据在同步数据表中,则记录同步数据时间,并比较同步数据是否相等,如果不相等,更新失步计数器,如果失步计数器大于最大不同步容限,同步数据切换为不同步状态,否则为同步状态,并最终将状态返回给模块;最后,将同步信息列表中的数据封装成同步数据包,经总线发送给其它余度。

本实施例根据上述技术方案,由于采用了对后台数据类,同步总线和同步列表的初始化,进而为后续余度数据的传输和同步准备条件。

本申请实施例提供了多余度同步控制方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有多余度同步控制程序,所述多余度同步控制程序被处理器执行时实现如上所述的多余度同步控制的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。

由于本申请实施例提供的计算机可读存储介质,为实施本申请实施例的方法所采用的计算机可读存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的计算机可读存储介质都属于本申请所欲保护的范围。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 多余度同步控制方法、飞行控制器及存储介质
  • 一种多余度的飞行控制器
技术分类

06120114705851