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

技术编号:37138364 阅读:15 留言:0更新日期:2023-04-06 21:40
本申请的实施例公开了一种数据存储方法及装置、电子设备、存储介质,该方法包括:获取待存储数据所要存储到的目标存储扇区;基于目标存储扇区中已存储数据的状态信息,确定待存储数据在目标存储扇区中的目标存储位置;其中,状态信息用于表征已存储数据存储的状态情况;将待存储数据存储到目标存储扇区中的目标存储位置;对存储待存储数据后的目标存储扇区中已存储数据的状态信息进行更新。本申请实施例的技术方案能够提高对存储数据的查找效率。例的技术方案能够提高对存储数据的查找效率。例的技术方案能够提高对存储数据的查找效率。

【技术实现步骤摘要】
数据存储方法及装置、电子设备、存储介质


[0001]本申请涉及数据处理
,具体而言,涉及一种数据存储方法及装置、电子设备、计算机可读存储介质。

技术介绍

[0002]目前,电能表作为数据节点,每时每刻都会产生数据,并按照(时间戳+采集数据)的格式进行保存。电表产生的数据通常要保存1年,甚至3年。对于嵌入式系统来说,数据量较大。集抄系统在需要时会通过时间段的方式对存储的数据进行抄读,比如说,抄读2022/08/03 00:00:00到2022/08/04 00:00:00的数据。
[0003]目前的存储方案一般是在EEPROM(Electrically Erasable Programmable Read

Only Memory,电可擦写可编程只读存储器)里面保存FIFO(First Input First Output,先入先出队列)的指针,在DataFlash(数据闪存)里面保存数据,这种存储方案涉及两种存储介质。集抄系统在抄读时采用遍历的方式进行数据查找,目标的存储方案只能满足记录频率低,数据总量小的情况。在记录频率高,数据量大的情况下,会发生EEPROM写坏,查找效率低的问题。

技术实现思路

[0004]为解决上述技术问题,本申请的实施例提供了一种数据存储方法及装置、电子设备、计算机可读存储介质,旨在解决对存储的数据的查找效率低的技术问题。
[0005]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0006]根据本申请实施例的一个方面,提供了一种数据存储方法,包括:
[0007]获取待存储数据所要存储到的目标存储扇区;
[0008]基于目标存储扇区中已存储数据的状态信息,确定待存储数据在目标存储扇区中的目标存储位置;其中,状态信息用于表征已存储数据存储的状态情况;
[0009]将待存储数据存储到目标存储扇区中的目标存储位置;
[0010]对存储待存储数据后的目标存储扇区中已存储数据的状态信息进行更新。
[0011]进一步地,获取待存储数据所要存储到的目标存储扇区,包括:
[0012]获取待存储数据对应的存储区域,存储区域包括多个存储扇区;
[0013]基于多个存储扇区中已存储数据的状态信息,从多个存储扇区中确定目标存储扇区。
[0014]进一步地,基于多个存储扇区中已存储数据的状态信息,从多个存储扇区中确定目标存储扇区,包括:
[0015]针对每个存储扇区,基于存储扇区中已存储数据的状态信息对存储扇区中的存储位置进行遍历;
[0016]基于遍历情况确定最新的已存储数据所在的存储扇区;
[0017]基于最新的已存储数据所在的存储扇区,从多个存储扇区中确定目标存储扇区。
[0018]进一步地,基于遍历情况确定最新的已存储数据所在的存储扇区,包括:
[0019]若遍历的存储扇区中最后一个存储位置的状态信息表征空值状态,则将最后一个存储位置的状态信息表征空值状态的存储扇区作为候选存储扇区;
[0020]检测候选存储扇区中是否存在存储位置的状态信息表征当前状态;
[0021]若存在,则将存储位置的状态信息表征当前状态的候选存储扇区作为最新的已存储数据所在的存储扇区;
[0022]若不存在,则将遍历的存储扇区中最后一个存储位置的状态信息表征当前状态的存储扇区作为最新的已存储数据所在的存储扇区。
[0023]进一步地,基于最新的已存储数据所在的存储扇区,从多个存储扇区中确定目标存储扇区,包括:
[0024]若最新的已存储数据所在的存储扇区中存在空闲的存储位置,则从多个存储扇区中确定最新的已存储数据所在的存储扇区为目标存储扇区;
[0025]若最新的已存储数据所在的存储扇区中不存在空闲的存储位置,则从多个存储扇区中确定最新的已存储数据所在的存储扇区对应的下一个相邻存储扇区为目标存储扇区。
[0026]进一步地,对存储待存储数据后的目标存储扇区中已存储数据的状态信息进行更新,包括:
[0027]待存储数据存储到目标存储扇区中的目标存储位置后,作为目标存储扇区中最新的已存储数据,并将最新的已存储数据设置为表征当前状态的状态信息;以及
[0028]将最新的已存储数据相邻的上一个已存储数据由表征当前状态的状态信息更新为表征有效状态的状态信息。
[0029]进一步地,在对存储待存储数据后的目标存储扇区中已存储数据的状态信息进行更新之后,方法还包括:
[0030]若接收到数据查询请求,则获取异常信息;其中,异常信息是存储待存储数据的过程中记录得到的;
[0031]基于异常信息对存储区域内的所存储数据进行分段处理;
[0032]在分段处理后的存储数据中查询与数据查询请求对应的目标数据。
[0033]根据本申请实施例的一个方面,提供了一种数据存储装置,包括:
[0034]获取模块,配置为获取待存储数据所要存储到的目标存储扇区;
[0035]确定模块,配置为基于目标存储扇区中已存储数据的状态信息,确定待存储数据在目标存储扇区中的目标存储位置;其中,状态信息用于表征已存储数据存储的状态情况;
[0036]存储模块,配置为将待存储数据存储到目标存储扇区中的目标存储位置;
[0037]更新模块,配置为对存储待存储数据后的目标存储扇区中已存储数据的状态信息进行更新。
[0038]根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的数据存储方法。
[0039]根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述
的数据存储方法。
[0040]根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的数据存储方法。
[0041]在本申请的实施例所提供的技术方案中,当产生待存储数据后,获取对应所想要存储的目标存储扇区,基于目标存储扇区中已存储数据的状态信息,确定出待存储数据在目标存储扇区中的目标存储位置,将待存储数据存储到对应的目标存储位置后,对已存储数据的状态信息进行更新,便于后续新的待存储数据进行存储。本申请通过根据已存储数据的状态信息确定出对应的存储位置,无需单独设置一个存储介质用于存放指针信息,减少了在另一个存储介质中写入数据的操作,提高了查找效率,同时能够支持更频繁的存储待存储数据,同时降低存储的复杂性。
[0042]应当理解的是,以上的一般描本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:获取待存储数据所要存储到的目标存储扇区;基于所述目标存储扇区中已存储数据的状态信息,确定所述待存储数据在所述目标存储扇区中的目标存储位置;其中,所述状态信息用于表征所述已存储数据存储的状态情况;将所述待存储数据存储到所述目标存储扇区中的目标存储位置;对存储所述待存储数据后的目标存储扇区中已存储数据的状态信息进行更新。2.如权利要求1所述的方法,其特征在于,所述获取待存储数据所要存储到的目标存储扇区,包括:获取所述待存储数据对应的存储区域,所述存储区域包括多个存储扇区;基于所述多个存储扇区中已存储数据的状态信息,从所述多个存储扇区中确定所述目标存储扇区。3.如权利要求2所述的方法,其特征在于,所述基于所述多个存储扇区中已存储数据的状态信息,从所述多个存储扇区中确定所述目标存储扇区,包括:针对每个存储扇区,基于存储扇区中已存储数据的状态信息对所述存储扇区中的存储位置进行遍历;基于遍历情况确定最新的已存储数据所在的存储扇区;基于所述最新的已存储数据所在的存储扇区,从所述多个存储扇区中确定所述目标存储扇区。4.如权利要求3所述的方法,其特征在于,所述基于遍历情况确定最新的已存储数据所在的存储扇区,包括:若遍历的存储扇区中最后一个存储位置的状态信息表征空值状态,则将所述最后一个存储位置的状态信息表征空值状态的存储扇区作为候选存储扇区;检测所述候选存储扇区中是否存在存储位置的状态信息表征当前状态;若存在,则将存储位置的状态信息表征当前状态的候选存储扇区作为最新的已存储数据所在的存储扇区;若不存在,则将遍历的存储扇区中最后一个存储位置的状态信息表征当前状态的存储扇区作为最新的已存储数据所在的存储扇区。5.如权利要求3所述的方法,其特征在于,所述基于所述最新的已存储数据所在的存储扇区,从所述多个存储扇区中确定所述目标存储扇区,包括:若最新的已存储数据所在的存储扇区中存在空闲的存储位置,则从所述多个存储扇区中确定所述最新的已存储数据所在的存储扇区为所述目标存储扇区;...

【专利技术属性】
技术研发人员:丘建忠全沅生黄永学
申请(专利权)人:成都长城开发科技股份有限公司
类型:发明
国别省市:

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

1