[发明专利]一种非易失性数据存储方法、装置、电子设备及介质有效
申请号: | 201910711070.0 | 申请日: | 2019-07-30 |
公开(公告)号: | CN110442473B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 刘均;刘凯 | 申请(专利权)人: | 深圳市元征科技股份有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F11/14;G06F3/06 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳市龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 非易失性 数据 存储 方法 装置 电子设备 介质 | ||
本申请提供了一种非易失性数据存储方法、装置、电子设备及介质,该方法包括:对系统非易失性数据进行结构体整合;当所述结构体内的非易失性数据出现更新变化时,重新生成循环冗余校验值;调取数据写入程序将包括有所述循环冗余校验值的所述结构体写入数据保存区;以及预设时间后调取数据写入程序将包括有所述循环冗余校验值的所述结构体写入数据备份区。本申请实施例能有效防止嵌入式系统在异常掉电或异常重启时导致正在写入过程中的非易失性数据丢失或错误,进而提高系统的稳定性。
技术领域
本申请涉及数据存储技术领域,尤其涉及一种非易失性数据存储方法、装置、电子设备及介质。
背景技术
随着计算机技术的发展,嵌入式系统被广泛应用于诸多领域中,常见的例如:工业控制、智能家居、交通管理等,它的组成包括嵌入式操作系统、嵌入式微处理器、硬件设备以及应用程序四个部分,主要用于对其他设备进行控制、监视或管理。然而,嵌入式系统在运行过程中不可避免的会遇到突发情况:异常掉电或者异常重启,在传统设计中,若这种情况正好发生在系统非易失性数据(配置参数、设置参数等)存储的写入过程中,极大可能会导致数据的丢失或者写入错误,进而降低系统的稳定性,甚至导致系统无法再次启动。
发明内容
本申请提出了一种非易失性数据存储方法、装置、电子设备及介质,能有效防止嵌入式系统在异常掉电或异常重启时导致正在写入过程中的非易失性数据丢失或错误,进而提高系统的稳定性。
本申请实施例第一方面提供了一种非易失性数据存储方法,该方法包括:
对系统非易失性数据进行结构体整合;
当所述结构体内的非易失性数据出现更新变化时,重新生成循环冗余校验值;
调取数据写入程序将包括有所述循环冗余校验值的所述结构体写入数据保存区;以及
预设时间后调取数据写入程序将包括有所述循环冗余校验值的所述结构体写入数据备份区。
在一种可能的实施方式中,所述方法还包括:
当系统后续启动运行时,读取所述数据保存区内存储的数据,以对所述循环冗余校验值进行校验;
若校验通过则退出,若校验失败则读取所述数据备份区内存储的数据,以对所述循环冗余校验值进行校验;
若校验通过则退出,若校验失败则导入系统默认参数以完成系统启动运行。
在一种可能的实施方式中,所述重新生成循环冗余校验值,包括:
将所述结构体内更新变化后的非易失性数据依次划分为长度为n的多个子数据序列;
根据所述多个子数据序列重新生成循环冗余校验值。
在一种可能的实施方式中,所述根据所述多个子数据序列重新生成循环冗余校验值,包括:
针对所述多个子数据序列中的第一个子数据序列,采用直接生成法计算得到该第一个子数据序列的m位循环冗余校验值;
针对所述多个子数据序列中的第二个子数据序列,将该第二个子数据序列的前m位数据与该第一个子数据序列的m位循环冗余校验值进行异或运算,用异或运算的结果替换该第二个子数据序列的前m位数据,得到更新的第二个子数据序列,采用直接生成法计算得到该更新的第二个子数据序列的m位循环冗余校验值;
重复以上步骤直到得到所述多个子数据序列中更新的最后一个子数据序列,采用直接生成法计算得到该更新的最后一个子数据序列的m位循环冗余校验值,即得到重新生成的循环校验值。
在一种可能的实施方式中,所述数据保存区包括多个数据保存子分区;所述将包括有所述循环冗余校验值的所述结构体写入数据保存区,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市元征科技股份有限公司,未经深圳市元征科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910711070.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置