说明:收录全网最新的团体标准 提供单次或批量下载
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210033070.1 (22)申请日 2022.01.12 (71)申请人 北京中科宇 航技术有限公司 地址 100176 北京市大兴区北京经济技 术 开发区科创十三街18号院6号楼11层 1101 (72)发明人 张兴春 孟繁斌 吕鹏波 吴炜平  马玉海  (74)专利代理 机构 北京卓特专利代理事务所 (普通合伙) 11572 代理人 段旺 (51)Int.Cl. G06F 16/27(2019.01) G06F 16/23(2019.01) G06F 11/10(2006.01) (54)发明名称 一种三模冗余计算机软件数据同步方法 (57)摘要 本发明公开一种三模冗余计算机软件数据 同步方法。 所述方法包括: 构建同步数据消息; 各 CPU模块分别向另 外两个CPU模块发送同步开始 开关信号; 各CP U模块在接收到另外两个CPU模块 发送的同步信号后, 向另外两个CPU模块发送 同 步数据消息, 并在同步数据消息发送完毕后, 发 出同步结束开关信号; 各CPU模块分别判断是否 接收到另外两个CPU模块的同步结束开关信号, 若收到同步结束开关信号, 则读取同步数据消 息, 若未接收到同步结束开关信号, 则根据需要 同步的数据消息长度, 计算读取同步数据消息用 时, 延时进行时间补偿; 三个CP U模块进行数据表 决。 采用本申请技术方案能够保证参与计算的数 据一致; 同时保证三模冗余软件运行步调一 致。 权利要求书1页 说明书5页 附图1页 CN 114385757 A 2022.04.22 CN 114385757 A 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任一项所述的一种三 模冗余计算机软件数据同步方法。权 利 要 求 书 1/1 页 2 CN 114385757 A 2一种三模冗余计算机软件数据同步方 法 技术领域 [0001]本发明涉及数据处理技术领域, 尤其涉及一种三模冗余计算机软件数据同步方 法。 背景技术 [0002]目前三模冗余系统是航天设备中常用的一种容错设计技术, 三个模块运行同一份 软件、 执行相同的操作, 以多 数相同的输出作为表决系统的正确输出, 三个模块中只要不同 时出现两个相同的错误, 就能掩蔽掉 故障模块的错误, 保证系统正确的输出。 由于三个模块 是互相独立的, 两个模块同时出现错误是极小概率事件, 故可以大大提高系统的可信性, 在 航天领域以及一些需要高可靠的环境应用较多。 [0003]三模冗余计算机表决的基础需要: 1.参与计算的数据一致2.运行步调一致, 即同 时输出结果或控制命令。 为保证三模冗余计算机输入数据一致, 运行步调一致, 通常采用发 送给冗余模块的数据一致, 保证参与计算的数据一致, 如: 1.将三模冗余计算机的3个模块 接在同一个总线上如(MIL ‑STD‑1553B总线、 实时以太网); 2.在三模冗余计算机上加一个高 可靠设备(如质量等级高的宇航级芯片)采集数据, 然后同时将数据分发给3个模块; 3.三模 冗余软件每个运行周期 接收到同一个中 断后进行数据读取后执行计算和结果输出, 保证三 模冗余软件运行步调一 致。 [0004]然而, 将三模冗余计算机的3个模块接在同一个总线上, 虽然能三模冗余计算机保 证输入一致, 但是当三模冗余计算机其中一个模块输入存在故障时, 由于三模冗余计算机 读取到的数据未互相分发确认, 则无法保证三冗余模块参与计算数据一致; 通过高可靠设 备获取数据分发给三模冗余软件进行数据同步的方法, 需要额外的硬件设备支持, 同时高 可靠设备对于 冗余系统是一个单点, 降低了整个冗余系统的可靠性。 发明内容 [0005]本发明提供了一种三模冗余计算机软件数据同步方法, 所述方法用于协调三模冗 余计算机三个CPU模块的数据同步, 所述方法具体包括: [0006]构建同步数据消息; [0007]各CPU模块分别向另外 两个CPU模块发送同步 开始开关信号; [0008]各CPU模块在接收到另外两个CPU模块发送的同步信号后, 向另外两个CPU模块发 送同步数据消息, 并在同步数据消息发送完毕后, 发出同步结束开关信号; [0009]各CPU模块分别判断是否接收到另外两个CPU模块的同步结束开关信号, 若收到同 步结束开关信号, 则读取同步数据消息, 若 未接收到同步结束开关信号, 则根据需要同步的 数据消息 长度, 计算读取同步数据消息用时, 延时进行时间补偿; [0010]三个CPU模块进行 数据表决。 [0011]如上所述的一种三模冗余计算机软件数据同步方法, 其中, 在冗余数据交互时刻, 无论是否存在 有效数据, 均对数据进 行交互; 若存在有效数据, 则将数据有效标志设置为有说 明 书 1/5 页 3 CN 114385757 A 3

.PDF文档 专利 一种三模冗余计算机软件数据同步方法

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种三模冗余计算机软件数据同步方法 第 1 页 专利 一种三模冗余计算机软件数据同步方法 第 2 页 专利 一种三模冗余计算机软件数据同步方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 11:12:14上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。