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)为进一步保证数据写入准确,在写入到数据存储模块内的数据(块)内附加校验字节,在下次读取时候,通过此检验字节验证是否数据可 ...
【技术保护点】
1.一种数据存储方法,其特征在于,包括:为目标数据设置N个存储区,其中,N为大于1的整数;将所述目标数据循环地写入各存储区中,其中,将所述目标数据写入一存储区后,判断是否满足换区写入条件,在满足换区写入条件时,确定下一存储区,将所述目标数据写入下一存储区。
【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:为目标数据设置N个存储区,其中,N为大于1的整数;将所述目标数据循环地写入各存储区中,其中,将所述目标数据写入一存储区后,判断是否满足换区写入条件,在满足换区写入条件时,确定下一存储区,将所述目标数据写入下一存储区。2.如权利要求1所述的数据存储方法,其特征在于,所述换区写入条件包括:所述目标数据的变化程度大于预设变化阈值和/或所述目标数据在当前存储区保存的时长大于预设时长规则中的相应时长。3.如权利要求1所述的数据存储方法,其特征在于,所述将目标数据写入一存储区包括:第一过程:缓存目标数据,将所述目标数据写入所述存储区,从所述存储区读取出目标数据;第二过程:判断缓存的目标数据和读取出的目标数据是否相同,在缓存的目标数据和读取出的目标数据相同时,确定将所述目标数据写入存储区成功,在缓存的目标数据和读取出的目标数据不相同时,多次执行所述第一过程直至缓存的目标数据和读取出的目标数据相同。4.如权利要求2所述的数据存储方法,其特征在于,所述预设时长规则包括以下规则中的一种:所述目标数据保存在各存储区的预设时长均相同;所述目标数据保存在各存储区的预设时长均不相同;所述目标数据保存在一存储区的预设时长与所述目标数据写入此存储区的次数呈正相关;所述目标数据保存在一存储区的预设时长与所述目标数据写入所有存储区的总次数呈正相关。5.如权利要求1所述的数据存储方法,其特征在于,所述方法还包括以下方式的中的一种:方式一,将所述目标数据写入存储区时,还写入所述目标数据的时间戳信息;方式二,所述目标数据中包括时间戳信息;其中,所述时间戳信息是循环累加的时间戳信息,将所述目标数据写入存储区之前,将所述目标数据的当前时间戳信息累加预设间隔,在累加到最大值时,在再次累加时回归最小值。6.一种数据读取方法,其特征在于,包括:确定目标数据在各存储区的存储位置;从各存储区读取所述目标数据的内容;校验读取出的目标数据的内容正确后,选择读取出的内容中的一个作为读取结果。7.如权利要求6所述的数据读取方法,其特征在于,所述方法还包括:从各存储区读取目标数据的时间戳信息;所述选择读取出的内容中的一个作为读取结果包括:选择最新的时间戳信息对应的内容作为读取结果。8.一种数据存储装置,其特征在于,包括:设置装置,用于为目标数据设置N个存储区;其中N为大于1的整数;控制装置,用于将目标数据...
【专利技术属性】
技术研发人员:郑建堂,
申请(专利权)人:青岛海尔科技有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。