一种数据存储方法、装置、读取方法及装置制造方法及图纸

技术编号:19388768 阅读:30 留言:0更新日期:2018-11-10 01:59
本发明专利技术公开了一种数据存储方法、装置、读取方法及装置,此方法包括:为目标数据设置N个存储区;将所述目标数据循环地写入各存储区中,其中,将所述目标数据写入一存储区后,判断是否满足换区写入条件,在满足换区写入条件时,确定下一存储区,将所述目标数据写入下一存储区。本发明专利技术能够实现数据的掉电不丢失,确保在写过程中掉电后,则在下次上电时,仍可以得到基本没有损失的累积式历史数据。

Data storage method, device, reading method and device

The invention discloses a data storage method, device, reading method and device. The method includes: setting N storage areas for target data, cyclically writing the target data into each storage area, in which, after writing the target data into one storage area, judging whether the condition of writing in the replacement area is satisfied or not, and writing in the replacement area is satisfied. When the condition is entered, the next storage area is determined, and the target data is written to the next storage area. The invention can realize data power-off without loss, and ensure that after power-off in writing process, cumulative historical data with little loss can still be obtained at the next power-on.

【技术实现步骤摘要】
一种数据存储方法、装置、读取方法及装置
本专利技术涉及互联网
,尤其涉及一种数据存储方法、装置、读取方法及装置。
技术介绍
在单片机应用系统中,长期存储数据的存储媒介为数据存储模块,数据存储模块的质量以及对数据存储模块的控制会影响数据存储的有效性,尤其是涉及到失电的情况。通过单片机读写数据时,经由接口和数据存储模块进行通信交互实现数据读写,在单片机的正常工作中这样的交互会比较频繁,在交互过程中,如果遇到干扰,甚至突然断电,会造成当次交互失败,使数据存储模块存储的数据不完整或者存储错误从而导致历史数据永久性完全丢失,更严重的会使该单片机所属设备不能正常工作。电可擦除可编程ROM(ElectricallyErasableProgrammableROM,简称EEPROM)是一种常用的数据存储模块。一般通过I2C通信接口对EEPROM进行读写访问,并且可以对其地址范围内的任意字节进行读写操作。EEPROM在失去电源的情况下,可以保持内部已存储的数据长时间不丢失(一般可长达10年以上),在下次上电后,可以正常访问内部数据。目前,对数据存储模块进行访问时,一般根据下述步骤执行:1)定义好需要保存的数据(块)在数据存储模块中的绝对开始地址的位置。2)按I2C通信要求,将数据(块)写入到指定开始地址以后的一段区域。3)为了保证数据写入的可靠性,把刚写入的数据(块),再读取出来,和写入原始数据(块)比对是否一致,在一致的情况下,确认写入操作正确。4)为进一步保证数据写入准确,在写入到数据存储模块内的数据(块)内附加校验字节,在下次读取时候,通过此检验字节验证是否数据可信。5)读取数据,按预知的位置,读取数据(块)并验证校验字节,决定是否采纳该数据(块),如果校验正确,则采纳,否则抛弃。上述方法具有以下缺点:当在对数据存储模块写入数据的过程中出现系统断电的情况时,会导致正写入的数据写入不完整或者写入错误,断电后无法通过读出数据进行比较的办法验证是否出现错误,从而进行重新写入,那么在下次上电后,读取该地址则得不到正确的数据只能抛弃读取操作。于是,会丢失历史数据,如果丢失的是比较重要的历史累积数据,则会造成严重损失,甚至造成设备不能正常工作。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种数据存储方法、装置、读取方法及装置。本专利技术提供的数据存储方法,包括:为目标数据设置N个存储区,其中,N为大于1的整数;将所述目标数据循环地写入各存储区中,其中,将所述目标数据写入一存储区后,判断是否满足换区写入条件,在满足换区写入条件时,确定下一存储区,将所述目标数据写入下一存储区。上述数据存储方法还具有以下特点:所述换区写入条件包括:所述目标数据的变化程度大于预设变化阈值和/或所述目标数据在当前存储区保存的时长大于预设时长规则中的相应时长。上述数据存储方法还具有以下特点:所述将目标数据写入一存储区包括:第一过程:缓存目标数据,将所述目标数据写入所述存储区,从所述存储区读取出目标数据;第二过程:判断缓存的目标数据和读取出的目标数据是否相同,在缓存的目标数据和读取出的目标数据相同时,确定将所述目标数据写入存储区成功,在缓存的目标数据和读取出的目标数据不相同时,多次执行所述第一过程直至缓存的目标数据和读取出的目标数据相同。上述数据存储方法还具有以下特点:所述预设时长规则包括以下规则中的一种:所述目标数据保存在各存储区的预设时长均相同;所述目标数据保存在各存储区的预设时长均不相同;所述目标数据保存在一存储区的预设时长与所述目标数据写入此存储区的次数呈正相关;所述目标数据保存在一存储区的预设时长与所述目标数据写入所有存储区的总次数呈正相关。上述数据存储方法还具有以下特点:所述方法还包括以下方式的中的一种:方式一,将所述目标数据写入存储区时,还写入所述目标数据的时间戳信息;方式二,所述目标数据中包括时间戳信息;其中,所述时间戳信息是循环累加的时间戳信息,将所述目标数据写入存储区之前,将所述目标数据的当前时间戳信息累加预设间隔,在累加到最大值时,在再次累加时回归最小值。本专利技术提供的数据读取方法,包括:确定目标数据在各存储区的存储位置;从各存储区读取所述目标数据的内容;校验读取出的目标数据的内容正确后,选择读取出的内容中的一个作为读取结果。上述数据存储方法还具有以下特点:所述方法还包括:从各存储区读取目标数据的时间戳信息;所述选择读取出的内容中的一个作为读取结果包括:选择最新的时间戳信息对应的内容作为读取结果。本专利技术提供的数据存储装置,包括:设置装置,用于为目标数据设置N个存储区;其中N为大于1的整数;控制装置,用于将目标数据循环地写入各存储区中;所述控制装置包括写入模块、判断模块、确定模块;所述写入模块,用于将目标数据写入所述确定模块确定的存储区;所述判断模块,用于判断是否满足换区写入条件;所述确定模块,用于确定下一存储区。上述数据存储装置还具有以下特点:所述换区写入条件包括:所述目标数据的变化程度大于预设变化阈值和/或所述目标数据在当前存储区保存的时长大于预设时长规则中的相应时长。上述数据存储装置还具有以下特点:所述写入模块包括执行模块和判断单元,所述执行模块包括缓存单元、写入单元、读取单元;所述缓存单元,用于缓存目标数据;所述写入单元,用于将所述目标数据写入存储区;读取单元,用于从所述存储区读取出目标数据;判断单元,用于判断缓存的目标数据和读取出的目标数据是否相同,在缓存的目标数据和读取出的目标数据相同时,确定将所述目标数据写入存储区成功,在缓存的目标数据和读取出的目标数据不相同时,触发所述执行模块再次执行。上述数据存储装置还具有以下特点:所述预设时长规则包括以下规则中的一种:所述目标数据保存在各存储区的预设时长均相同;所述目标数据保存在各存储区的预设时长均不相同;所述目标数据保存在一存储区的预设时长与所述目标数据写入此存储区的次数呈正相关;所述目标数据保存在一存储区的预设时长与所述目标数据写入所有存储区的总次数呈正相关。上述数据存储装置还具有以下特点:所述写入模块,还用于将所述目标数据写入存储区时,还写入所述目标数据的时间戳信息;或者,还用于将所述目标数据写入存储区时,所述目标数据中包括时间戳信息;其中,所述时间戳信息是循环累加的时间戳信息,将所述目标数据写入第一存储区或第二存储区之前,将所述目标数据的当前时间戳信息累加预设间隔,在累加到最大值时,在再次累加时回归最小值。本专利技术提供的数据读取装置,包括:位置确定模块,用于确定目标数据在各存储区的存储位置;读取模块,用于从各存储区读取所述目标数据的内容;校验模块,用于校验读取出的目标数据的内容是否正确;选择模块,用于在所述校验模块校验读取出的目标数据的内容正确后,选择读取出的内容中的一个作为读取结果。上述数据读取装置还具有以下特点:所述读取模块,还用于从各存储区读取目标数据的时间戳信息;所述选择模块,还用于选择最新的时间戳信息对应的内容作为读取结果。本专利技术中在数据存储模块中为每个需存储的数据分配一个以上存储区域,实现多备份,主控单元(例如单片机)与数据存储模块交互时,分别对多个存储区域进行操作,可以确保数据写入正确。本专利技术能够实现数据的掉电不丢失,确保在写过程中掉电后,则在下次上电本文档来自技高网
...

【技术保护点】
1.一种数据存储方法,其特征在于,包括:为目标数据设置N个存储区,其中,N为大于1的整数;将所述目标数据循环地写入各存储区中,其中,将所述目标数据写入一存储区后,判断是否满足换区写入条件,在满足换区写入条件时,确定下一存储区,将所述目标数据写入下一存储区。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:为目标数据设置N个存储区,其中,N为大于1的整数;将所述目标数据循环地写入各存储区中,其中,将所述目标数据写入一存储区后,判断是否满足换区写入条件,在满足换区写入条件时,确定下一存储区,将所述目标数据写入下一存储区。2.如权利要求1所述的数据存储方法,其特征在于,所述换区写入条件包括:所述目标数据的变化程度大于预设变化阈值和/或所述目标数据在当前存储区保存的时长大于预设时长规则中的相应时长。3.如权利要求1所述的数据存储方法,其特征在于,所述将目标数据写入一存储区包括:第一过程:缓存目标数据,将所述目标数据写入所述存储区,从所述存储区读取出目标数据;第二过程:判断缓存的目标数据和读取出的目标数据是否相同,在缓存的目标数据和读取出的目标数据相同时,确定将所述目标数据写入存储区成功,在缓存的目标数据和读取出的目标数据不相同时,多次执行所述第一过程直至缓存的目标数据和读取出的目标数据相同。4.如权利要求2所述的数据存储方法,其特征在于,所述预设时长规则包括以下规则中的一种:所述目标数据保存在各存储区的预设时长均相同;所述目标数据保存在各存储区的预设时长均不相同;所述目标数据保存在一存储区的预设时长与所述目标数据写入此存储区的次数呈正相关;所述目标数据保存在一存储区的预设时长与所述目标数据写入所有存储区的总次数呈正相关。5.如权利要求1所述的数据存储方法,其特征在于,所述方法还包括以下方式的中的一种:方式一,将所述目标数据写入存储区时,还写入所述目标数据的时间戳信息;方式二,所述目标数据中包括时间戳信息;其中,所述时间戳信息是循环累加的时间戳信息,将所述目标数据写入存储区之前,将所述目标数据的当前时间戳信息累加预设间隔,在累加到最大值时,在再次累加时回归最小值。6.一种数据读取方法,其特征在于,包括:确定目标数据在各存储区的存储位置;从各存储区读取所述目标数据的内容;校验读取出的目标数据的内容正确后,选择读取出的内容中的一个作为读取结果。7.如权利要求6所述的数据读取方法,其特征在于,所述方法还包括:从各存储区读取目标数据的时间戳信息;所述选择读取出的内容中的一个作为读取结果包括:选择最新的时间戳信息对应的内容作为读取结果。8.一种数据存储装置,其特征在于,包括:设置装置,用于为目标数据设置N个存储区;其中N为大于1的整数;控制装置,用于将目标数据...

【专利技术属性】
技术研发人员:郑建堂
申请(专利权)人:青岛海尔科技有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1