一种数据存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:29488384 阅读:12 留言:0更新日期:2021-07-30 18:59
本发明专利技术实施例提供了一种数据存储方法、装置、电子设备及存储介质,所述方法包括:响应于数据操作指令,确定待操作的数据项;根据存储在初始数据块的所述数据项的初始数据、存储在变化数据块的所述数据项的各第一更新数据及所述各第一更新数据之间的关联关系,确定上次写入的所述数据项的第一数据;响应于数据写入指令,根据操作信息确定所述数据项当前的第二数据相对于所述第一数据的第二更新数据;将所述确定的第二更新数据作为新的第一更新数据,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块;其中,所述初始数据块和所述变化数据块位于第一存储器。

【技术实现步骤摘要】
一种数据存储方法、装置、电子设备及存储介质
本专利技术涉及计算机
,尤指一种数据存储方法、装置、电子设备及存储介质。
技术介绍
只读存储器(Read-OnlyMemory,ROM)是计算机硬件结构的重要组成部分,用于存储各种固定程序和数据。按照生产工艺和工作原理,ROM可以分为掩膜只读存储器(MaskROM)、可编程只读存储器(ProgrammableRead-OnlyMemory,PROM)、可擦可编程只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM)和带电可擦可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,EEPROM)、快擦除读写(Flash)存储器等不同的种类。在嵌入式系统中,为了存储的数据能够方便地多次修改,目前主要被广泛应用的是EEPROM和Flash。Flash是一种按照数据块进行擦除的存储器,不能直接对位进行擦除。Flash的读取速度快,成本较低,容量较大,因此目前主要被用于存储修改频率相对较低的数据(例如嵌入式设备的程序代码等)。但Flash的擦写寿命较低。而EEPROM是一种可以直接对位进行擦写的存储器。EEPROM的擦写寿命较高,因此目前主要被用于存储修改频率相对较高的数据(例如燃气仪表的燃气数据、水表数据、电表数据、汽车的记录数据等)。但EEPROM成本较高,容量较小。在嵌入式设备的生产制造过程中,需要尽可能地控制各零部件成本。Flash与EEPROM相比具有明显的成本优势,因此使用Flash替代EEPROM存储修改频率相对较高的数据,对嵌入式设备的生产具有重要的意义。但如何提高Flash的擦写寿命,目前仍需要进一步地改进。
技术实现思路
本专利技术实施例提供一种数据存储方法、装置、电子设备及存储介质,用以解决现有技术中存在Flash存储器的使用寿命较低的问题。本专利技术实施例提供了一种数据存储方法,包括:响应于数据操作指令,确定待操作的数据项;根据存储在初始数据块的所述数据项的初始数据、存储在变化数据块的所述数据项的各第一更新数据及所述各第一更新数据之间的关联关系,确定上次写入的所述数据项的第一数据;响应于数据写入指令,根据操作信息确定所述数据项当前的第二数据相对于所述第一数据的第二更新数据;将所述确定的第二更新数据作为新的第一更新数据,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块;其中,所述初始数据块和所述变化数据块位于第一存储器。可选地,所述数据存储方法还包括:确定所述初始数据块中未存储所述数据项的初始数据时,响应于数据写入指令,根据操作信息确定所述数据项的第二数据;将所述第二数据作为所述数据项的初始数据写入所述初始数据块。可选地,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块,包括:确定满足数据写入条件时,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块;否则,擦除所述初始数据块和所述变化数据块,将所述第二数据作为所述数据项的初始数据写入所述初始数据块。可选地,所述数据写入条件包括:所述变化数据块未被写满,且成功确定上次写入的所述数据项的第一数据。可选地,所述各第一更新数据之间的关联关系包括:首个写入的第一更新数据相对于所述初始数据的第一地址偏移值;非首个写入的第一更新数据相对于上次写入的第一更新数据的第二地址偏移值。可选地,响应于数据操作指令之前,还包括:读取所述初始数据块中所有数据项对应的初始数据、所述变化数据块中所有数据项对应的第一更新数据;循环执行如下步骤直至所述所有第一更新数据完成遍历:从未遍历的第一更新数据中最高地址的第一更新数据开始,根据对应的第二地址偏移值依次遍历上一个写入关联的第一更新数据;遍历至与关联的第一更新数据为首个写入的第一更新数据,根据所述第一地址偏移值确定对应的初始数据,确定所述初始数据对应的数据项;遍历结束时,根据得到的属于同一数据项的初始数据、各第一更新数据及所述各第一更新数据之间的关联关系,确定上一次写入的各数据项对应的第一数据;根据存储在初始数据块的所述数据项的初始数据、存储在变化数据块的所述数据项的各第一更新数据及所述各第一更新数据之间的关联关系,确定上次写入的所述数据项的第一数据,包括:从所述确定的上一次写入的各数据项对应的第一数据中,获取所述待操作的数据项的第一数据。可选地,所述的数据存储方法还包括:确定满足同步条件时,将所述第一存储器中的数据同步到第二存储器;确定需从第一存储器中读取数据时,从第二存储器中读取对应的数据;确定需向第一存储器写入数据时,将写入的数据先写入第二存储器后,再同步写入到第一存储器中对应的所述初始数据块或所述变化数据块;所述读取的数据包括初始数据、所述数据项的各第一更新数据及所述各第一更新数据之间的关联关系;所述写入的数据包括所述初始数据、所述新的第一更新数据及其与所述各第一更新数据之间的关联关系。可选地,响应于数据写入指令,根据操作信息确定所述数据项当前的第二数据相对于所述第一数据的第二更新数据,包括:响应于数据写入指令,确定所述第二存储器记录对所述数据项的多次操作;根据各次操作对所述数据项的第一数据的修改,得到所述数据项当前的第二数据和所述第二数据相对于所述第一数据的第二更新数据。可选地,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块,包括:将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系,封装为一个更新数据帧写入所述变化数据块;或者,可选地,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块,包括:当所述确定的第二更新数据的长度未超出预设长度时,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系,封装为一个更新数据帧写入所述变化数据块;当所述确定的第二更新数据的长度超出预设长度时,将所述新的第一更新数据分为多个部分更新数据;对每个部分更新数据,将所述部分更新数据、所述部分更新数据之间的关联关系、所述新的第一更新数据与确定的所述各第一更新数据之间的关联关系,封装为一个更新数据帧写入所述变化数据块。可选地,所述更新数据帧还包括如下至少一项:所述第一更新数据的长度或所述部分更新数据的长度;所述更新数据帧的帧长度;分隔标志,用于分隔不同更新数据帧;填充数据,用于调整所述更新数据帧的长度;数据校验标志,用于校验所述确定的更新数据或所述部分更新数据,和/或所述更新数据帧的完整性。可选地,响应于数据写入指令之前,还包括:响应于设备下电指令,触发所述数据写入指令;和/或,确定所本文档来自技高网
...

【技术保护点】
1.一种数据存储方法,其特征在于,包括:/n响应于数据操作指令,确定待操作的数据项;/n根据存储在初始数据块的所述数据项的初始数据、存储在变化数据块的所述数据项的各第一更新数据及所述各第一更新数据之间的关联关系,确定上次写入的所述数据项的第一数据;/n响应于数据写入指令,根据操作信息确定所述数据项当前的第二数据相对于所述第一数据的第二更新数据;/n将所述确定的第二更新数据作为新的第一更新数据,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块;/n其中,所述初始数据块和所述变化数据块位于第一存储器。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:
响应于数据操作指令,确定待操作的数据项;
根据存储在初始数据块的所述数据项的初始数据、存储在变化数据块的所述数据项的各第一更新数据及所述各第一更新数据之间的关联关系,确定上次写入的所述数据项的第一数据;
响应于数据写入指令,根据操作信息确定所述数据项当前的第二数据相对于所述第一数据的第二更新数据;
将所述确定的第二更新数据作为新的第一更新数据,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块;
其中,所述初始数据块和所述变化数据块位于第一存储器。


2.根据权利要求1所述的方法,其特征在于,还包括:
确定所述初始数据块中未存储所述数据项的初始数据时,响应于数据写入指令,根据操作信息确定所述数据项的第二数据;
将所述第二数据作为所述数据项的初始数据写入所述初始数据块。


3.如权利要求1所述的数据存储方法,其特征在于,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块,包括:
确定满足数据写入条件时,将所述新的第一更新数据及其与所述各第一更新数据之间的关联关系写入所述变化数据块;
否则,擦除所述初始数据块和所述变化数据块,将所述第二数据作为所述数据项的初始数据写入所述初始数据块。


4.如权利要求3所述的数据存储方法,其特征在于,所述数据写入条件,包括:
所述变化数据块未被写满,且成功确定上次写入的所述数据项的第一数据。


5.如权利要求1所述的数据存储方法,其特征在于,所述各第一更新数据之间的关联关系包括:
首个写入的第一更新数据相对于所述初始数据的第一地址偏移值;
非首个写入的第一更新数据相对于上次写入的第一更新数据的第二地址偏移值。


6.如权利要求5所述的数据存储方法,其特征在于,响应于数据操作指令之前,还包括:
读取所述初始数据块中所有数据项对应的初始数据、所述变化数据块中所有数据项对应的第一更新数据;
循环执行如下步骤直至所述所有第一更新数据完成遍历:
从未遍历的第一更新数据中最高地址的第一更新数据开始,根据对应的第二地址偏移值依次遍历上一个写入关联的第一更新数据;
遍历至与关联的第一更新数据为首个写入的第一更新数据,根据所述第一地址偏移值确定对应的初始数据,确定所述初始数据对应的数据项;
遍历结束时,根据得到的属于同一数据项的初始数据、各第一更新数据及所述各第一更新数据之间的关联关系,确定上一次写入的各数据项对应的第一数据;
根据存储在初始数据块的所述数据项的初始数据、存储在变化数据块的所述数据项的各第一更新数据及所述各第一更新数据之间的关联关系,确定上次写入的所述数据项的第一数据,包括:
从所述确定的上一次写入的各数据项对应的第一数据中,获取所述待操作的数据项的第一数据。


7.如权利要求1或2所述的数据存储方法,其特征在于,还包括:
确定满足同步条件时,将所述第一存储器中的数据同步到第二存储器;
确定需从第一存储器中读取数据时,从第二存储器中读取对应的数据;
确定需向第一存储器写入数据时,将写入的数据先写入第二存储器后,再同步写入到第一存储器中对应的所述初始数据块或所述变化数据块;...

【专利技术属性】
技术研发人员:沈亮
申请(专利权)人:上海华东汽车信息技术有限公司
类型:发明
国别省市:上海;31

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

1