[发明专利]基于双备份的数据保存和校验方法在审
| 申请号: | 201310526859.1 | 申请日: | 2013-10-30 |
| 公开(公告)号: | CN104598330A | 公开(公告)日: | 2015-05-06 |
| 发明(设计)人: | 刘晓 | 申请(专利权)人: | 中国航空工业集团公司第六三一研究所 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F11/10 |
| 代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 姚敏杰 |
| 地址: | 710119 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 备份 数据 保存 校验 方法 | ||
技术领域
本发明属于计算机控制领域,涉及一种基于双备份的数据保存和校验方法,尤其涉及一种对实时控制系统中重要数据进行双备份保存和正确性校验的方法。
背景技术
在基于微处理器的实时控制系统中,经常需要把一些重要数据保存在FLASH或EEPROM等非易失性存储器中。由于器件的瞬时或永久性失效以及各种外部环境的干扰,存储的数据有可能出错。为此,通常采用对重要数据进行“双备份”的方法,以检验数据是否出现了错误。具体方法是,将需要保存的数据分别存放在两个地方,读出使用时先比较两处的数据是否一致,若不一致就表明出现了错误。由于备份数据之间的最小“汉明距离”(互异的二进制位数)只有2,所以这种方法的检错能力实际上很有限。如果两个备份数据中各有一个二进制位发生了翻转(0变1、1变0)、而位置又恰好相同,则差错就不可能被发现,从而导致将错误数据当成正确数据来使用,给控制系统的可靠性和安全性带来隐患。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种可显著提高发现错误的能力、可保证重要数据使用的正确性和安全性的基于双备份的数据保存和校验方法。
本发明的技术解决方案是:本发明提供了一种基于双备份的数据保存和校验方法,其特殊之处在于:所述方法包括以下步骤:
1)数据备份:根据所要保存的原始数据产生备份数据,并分别进行保存;所述备份数据包括第一备份数据以及第二备份数据;所述第一备份数据和第二备份数据的编码方式是不同的;
2)数据恢复:分别读取第一备份数据和第二备份数据,并进行正确性校验;若校验成功,则所述第一备份数据就是恢复出的正确的原始数据;若校验失败,则判定存储的数据出错,原始数据无法恢复。
上述步骤1)中产生第一备份数据的具体实现方式是:
1.1.1)获取需要保存的原始数据;
1.1.2)将所述原始数据进行拷贝,直接将拷贝数据作为第一备份数据。
上述步骤1)中产生第二备份数据的具体实现方式是:
1.2.1)获取需要保存的原始数据;
1.2.2)对所述原始数据以字节为单位,根据各原始数据字节中所含1的个数的奇偶性,依次产生第二备份数据的各个字节。
上述步骤1.2.2)中产生各第二备份数据字节的具体实现方式是:
1.2.2.1)确定所述原始数据字节中所含1的个数是奇数还是偶数;
1.2.2.2)若所述原始数据字节中所含1的个数是奇数,则将所述原始数据字节本身作为第二备份数据的对应字节;若所述原始数据字节中所含1的个数是偶数,则将所述原始数据字节逐位变反,形成反码字节,并将所述反码字节作为第二备份数据的对应字节。
上述步骤2)中数据校验和恢复的具体实现方式是:
2.1)以字节为单位,分别读取第一备份数据和第二备份数据的各个字节;
2.2)对每一对所述第一备份数据字节和第二备份数据字节,分别进行正确性校验;
2.3)若所述每一对备份数据字节全都校验成功,则所述第一备份数据就是恢复出的正确的原始数据;若至少有一对备份数据字节校验失败,则表明存储的数据出错,原始数据无法恢复。
上述步骤2.2)中对各对备份数据字节校验的具体实现方式是:
2.2.1)确定所述第一备份数据字节中所含1的个数的奇偶性;
2.2.2)若所述第一备份数据字节中所含1的个数是奇数,则判断对应的第二备份数据字节是否等于所述第一备份数据字节:是则校验成功,否则校验失败;若所述第一备份数据字节中所含1的个数是偶数,则判断对应的第二备份数据字节是否等于所述第一备份数据字节的反码,是则校验成功;否则校验失败。
上述基于双备份的数据保存和校验方法在步骤2)之后还可包括:
3)输出数据是否成功恢复的标志,当成功恢复时给出恢复后的原始数据,当数据出错时或者给出警示信息、或者给出默认的安全值。
上述基于双备份的数据保存和校验方法中,需要保存的原始数据可以是单个字节或多个字节。
本发明的优点是:
本发明提供了一种基于双备份的数据保存和校验方法,该方法明通过改变传统双备份方法中的第二个备份,即将原来无条件取数据原码改为仅在原字节中“1”的位数为奇数时才取原码、偶数时取其反码,在不明显增加处理复杂度的情况下,增大了备份码字之间的汉明距离,从而可提高对数据差错的检测能力。这对于计算资源有限而可靠性要求又很高的嵌入式实时控制系统来说,具有很大的实用价值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所;,未经中国航空工业集团公司第六三一研究所;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310526859.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





