技术特征:
1.一种三模冗余计算机软件数据同步方法,其特征在于,所述方法用于协调三模冗余计算机三个cpu模块的数据同步,所述方法具体包括:构建同步数据消息;各cpu模块分别向另外两个cpu模块发送同步开始开关信号;各cpu模块在接收到另外两个cpu模块发送的同步信号后,向另外两个cpu模块发送同步数据消息,并在同步数据消息发送完毕后,发出同步结束开关信号;各cpu模块分别判断是否接收到另外两个cpu模块的同步结束开关信号,若收到同步结束开关信号,则读取同步数据消息,若未接收到同步结束开关信号,则根据需要同步的数据消息长度,计算读取同步数据消息用时,延时进行时间补偿;三个cpu模块进行数据表决。2.如权利要求1所述的一种三模冗余计算机软件数据同步方法,其特征在于,在冗余数据交互时刻,无论是否存在有效数据,均对数据进行交互;若存在有效数据,则将数据有效标志设置为有效,并根据本执行周期发送的同步消息次数设置同步数据消息序号,并计算同步消息内容crc值,填入同步数据消息中。3.如权利要求1或2所述的一种三模冗余计算机软件数据同步方法,其特征在于,同步数据消息包括同步数据格式、同步数据区、数据有效标志、同步数据消息序号和数据crc校验值。4.如权利要求1所述的一种三模冗余计算机软件数据同步方法,其特征在于,三模冗余计算机三个cpu模块之间有两两互联的开关,cpu1通过互联开关向cpu2和cpu3发送同步开始开关信号、cpu2通过互联开关向cpu1和cpu3发送同步开始开关信号、cpu3通过互联开关向cpu1和cpu2发送同步开始开关信号。5.如权利要求4所述的一种三模冗余计算机软件数据同步方法,其特征在于,cpu1接收到cpu2和cpu3发送的同步结束开关信号后,向cpu2和cpu3发送同步结束开关信号;cpu2接收到cpu1和cpu3发送的同步结束开关信号后,向cpu1和cpu3发送同步结束开关信号;cpu3接收到cpu1和cpu2发送的同步结束开关信号后,向cpu1和cpu2发送同步结束开关信号。6.如权利要求5所述的一种三模冗余计算机软件数据同步方法,其特征在于,若cpu1接收到cpu2和cpu3的同步结束开关信号,则cpu1读取cpu2和cpu3的同步消息数据;若cpu2接收到cpu1和cpu3的同步结束开关信号,则cpu2读取cpu1和cpu3的同步消息数据;若cpu3接收到cpu1和cpu2的同步结束开关信号,则cpu3读取cpu1和cpu2的同步消息数据。7.如权利要求3所述的一种三模冗余计算机软件数据同步方法,其特征在于,还包括:在读取同步数据后,判断数据crc校验值、数据有效标识和同步消息序列是否正确。8.如权利要求1所述的一种三模冗余计算机软件数据同步方法,其特征在于,三个cpu模块进行数据表决,具体包括:若cpu1、cpu2和cpu3的同步消息数据中均存在有效数据,则进行三取二表决,选用至少两个模块一直的数据用于后续计算;若三个模块数据均不一致,则优先使用cpu1数据用于之后计算。9.一种计算机可读存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被处理器执行如权利要求1-8任一项所述的一种三模冗余计算机软件数据同步方法。
技术总结
本发明公开一种三模冗余计算机软件数据同步方法。所述方法包括:构建同步数据消息;各CPU模块分别向另外两个CPU模块发送同步开始开关信号;各CPU模块在接收到另外两个CPU模块发送的同步信号后,向另外两个CPU模块发送同步数据消息,并在同步数据消息发送完毕后,发出同步结束开关信号;各CPU模块分别判断是否接收到另外两个CPU模块的同步结束开关信号,若收到同步结束开关信号,则读取同步数据消息,若未接收到同步结束开关信号,则根据需要同步的数据消息长度,计算读取同步数据消息用时,延时进行时间补偿;三个CPU模块进行数据表决。采用本申请技术方案能够保证参与计算的数据一致;同时保证三模冗余软件运行步调一致。同时保证三模冗余软件运行步调一致。同时保证三模冗余软件运行步调一致。
技术研发人员:张兴春 孟繁斌 吕鹏波 吴炜平 马玉海
受保护的技术使用者:北京中科宇航技术有限公司
技术研发日:2022.01.12
技术公布日:2022/4/22