CN116049022A - 一种电能表冻结数据存储方法、电能表以及存储介质 - Google Patents
一种电能表冻结数据存储方法、电能表以及存储介质 Download PDFInfo
- Publication number
- CN116049022A CN116049022A CN202211611198.8A CN202211611198A CN116049022A CN 116049022 A CN116049022 A CN 116049022A CN 202211611198 A CN202211611198 A CN 202211611198A CN 116049022 A CN116049022 A CN 116049022A
- Authority
- CN
- China
- Prior art keywords
- sector
- data
- freezing
- frozen
- storage medium
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开一种电能表冻结数据存储方法,所述电能表冻结数据存储方法通过分别在字节可修改存储介质以及扇区可修改存储介质采用不同的存储方法进行存储以解决现有电能表的备份方式限制较多的技术问题。
Description
技术领域
本申请涉及电能表的技术领域,特别涉及一种电能表冻结数据存储方法、装置以及存储介质。
背景技术
目前,冻结用电数据是智能电能表的一项基本功能。用电数据帮助客户做好管理电网的工作,了解用户用电特点,实时掌握电网负荷的变化趋势,以便提前做好调度工作。冻结数据是否准确是衡量电表质量的关键,决定了电能表是否能够面向电网、面向电力市场。目前的电能表冻结数据普遍存储于单一存储介质中,在数据出错时不能恢复数据,导致缺少数据或出现错误数据,影响电网用电数据的采集和分析。
而进行数据的备份一般是通过云备份进行实现,这种方案需要设备联网,若设备断网的情况下,则无法实现数据的及时备份。
在现有技术中,还有一种方案是采取不同的存储介质实现备份,例如采用双介质进行存储,由于不同存储介质的特性,也很难实现同步存储,而一般是采用当第一介质存储达到一定数量级时,再转存到第二种存储介质中,这样失去了备份的意义。
申请内容
本申请的主要目的是提出一种电能表冻结数据存储方法、装置以及存储介质,旨在解决现有电能表的备份方式限制较多的技术问题。
为实现上述目的,本申请提出一种电能表冻结数据存储方法,所述电能表冻结数据存储方法包括:
获取冻结方案;
根据冻结方案对字节可修改存储介质进行存储空间分配以确定每一冻结方案在字节可修改存储介质的第一起始扇区地址;
根据所述冻结方案获取冻结数据;
从所述第一起始扇区地址进行所述冻结数据的存储;
并根据所述冻结数据的冻结时间以及冻结数据量进行字节可修改存储介质的扇区头参数以及字节可修改存储介质的扇区冻结头指针的更新;
将所述冻结数据以及扇区头参数存储于字节可修改存储介质的所述扇区冻结头指针对应的扇区中;
将所述冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。
可选地,所述字节可修改存储介质为快速只读存储器,所述扇区可修改存储介质为闪存。
可选地,所述冻结方案的队列控制参数包括:每套方案的冻结周期、每套方案的存储深度、每套方案要存储的数据对象的个数、每套方案每条记录的存储空间大小、每套方案的存储扇区个数以及全部冻结方案要存储的数据对象的个数。
可选地,所述将所述冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中的步骤包括:
根据冻结方案对扇区可修改存储介质进行存储空间分配以确定每一冻结方案在扇区可修改存储介质的第二起始扇区地址;
在所述扇区可修改存储介质的每一扇区头中,建立数据量记录区;
从所述第二起始扇区地址对应的扇区存储所述冻结数据,并在所述数据量记录区进行所述冻结数据的数据量记录;
当所述冻结数据的数据量达到预设数据量时,将所述扇区可修改存储介质的扇区冻结头指针的更新为指向下一扇区。
可选地,所述扇区头参数包括:
扇区起始时间、扇区起始序号、正常扇区标志/补冻扇区标志、头校验和、切换扇区时存储实际记录条数、尾校验和。
可选地,所述在所述根据所述冻结方案获取冻结数据的步骤之前还包括:
获取电能表接电情况;
当确认所述电能表通电时,执行根据所述冻结方案获取冻结数据以及后续步骤;
当所述电能表未通电时,则停止执行根据所述冻结方案获取冻结数据以及后续步骤。
可选地,所述电能表冻结数据存储方法还包括:
在存储时持续获取通电情况;
若出现断电情况,检测当次已存储数据量是否等于一次冻结数据量,若当次已存储数据量等于一次冻结数据量,则保存当前已存储数据量;若当次已存储数据量不等于一次冻结数据量,则删除当次的冻结数据并将扇区头参数恢复至上一次存储的数据;或,
在存储时持续获取通电情况;
若出现断电情况,则删除当次已存储数据量。
可选地,所述扇区冻结头指针的更新方式为每次加1,当所述扇区冻结头指针的数值大于扇区数值时,将所述扇区冻结头指针更新为所述扇区冻结头指针数值减去扇区总数量。
为实现上述目的,本申请还提出一种电能表,所述电能表包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的电能表冻结数据存储程序,所述处理器执行所述电能表冻结数据存储程序时实现如上所述的电能表冻结数据存储方法。
为实现上述目的,本申请还提出一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如上所述的电能表冻结数据存储方法的操作。
本申请的技术方案通过在字节可修改存储介质采用获取冻结方案;根据冻结方案对字节可修改存储介质进行存储空间分配以确定每一冻结方案在字节可修改存储介质的第一起始扇区地址;根据所述冻结方案获取冻结数据;从所述第一起始扇区地址进行所述冻结数据的存储;并根据所述冻结数据的冻结时间以及冻结数据量进行字节可修改存储介质的扇区头参数以及字节可修改存储介质的扇区冻结头指针的更新;将所述冻结数据以及扇区头参数存储于字节可修改存储介质的所述扇区冻结头指针对应的扇区中;通过上述方案保证对字节可修改存储介质的存储空间的有效利用,从而能快速实现冻结数据的及时存储。随后将所述冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。由于在实际存储时,字节可修改存储介质以及扇区可修改存储介质虽然存在数据流上的先后顺序,但是由于数据流的速度较快,两者几乎可以视作等同时间发生,从而可以实现两种存储介质并行存储,而不用如同现有技术中必须先将字节可修改存储介质的数据达到一定量级后再去转存到扇区可修改存储介质,从而实现数据的同步存储,从而避免了现有电能表的备份方式限制较多的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本申请电能表冻结数据存储方法的流程示意图;
图2为本申请电能表冻结数据存储方法的流程示意图;
图3为本申请电能表冻结数据存储方法中检测的电能表的供电电路的电路示意图;
图4为本申请电能表冻结数据存储装置的模块示意图;
图5为本申请电能表冻结数据存储方法应用在电能表上时电能表的数据通路的模块示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
本申请提出一种电能表冻结数据存储方法,旨在解决现有电能表的备份方式限制较多的技术问题。
在一实施例中,如图1所示,所述电能表冻结数据存储方法包括:
S1、获取冻结方案;
其中,冻结方案包括日冻结方案以及分钟冻结方案,而在分钟冻结方案中,一般可以分为八种常用方案,其中,八种常用方案是指可以根据实际情况,最多可配置8个不同冻结方案,其中分钟冻结间隔时间一般为15min,日冻结方案一般是设置在每天的零点,如24:00。在冻结方案中,会对需要冻结的电能表的各种数据对象进行配置,例如电量,最大需量以及一些电压,电流,功率等测量数据,可以根据需要在分钟冻结方案中配置这些需要冻结的数据对象。同样也可以根据实际需要在日冻结方案中配置需要冻结的数据对象,除此之外,也可以增加一些数据对象,例如累积电量、剩余金额等数据对象。
S2、根据冻结方案对字节可修改存储介质进行存储空间分配以确定每一冻结方案在字节可修改存储介质的第一起始扇区地址;
根据冻结方案对字节可修改存储介质进行存储空间分配是进行扇区分配,例如在采用了八个分钟冻结方案以及一个日冻结方案时,就为这九个方案分别分配存储空间,例如确定当前的字节可修改存储介质的扇区数量,对每个方案分配几个扇区用于存储,第一起始扇区地址则是指分配的每个冻结方案扇区的第一个扇区的起始地址。
需要说明的是,字节可修改存储介质是指在进行存储数据修改时,最小可以写入到每个扇区进行字节的一对一修改。一般在现有技术中,这种存储设备比其他类型的存储设备成本高,且存储容量小,例如EEPROM。
S3、根据所述冻结方案获取冻结数据;
即根据预设的一些参数去获取冻结方案所确定的冻结时刻的每个参数的具体数值。
S4、从所述第一起始扇区地址进行所述冻结数据的存储;
其中,冻结方案对应的冻结数据从分配到的存储空间的第一起始扇区地址进行存储。
S5、根据所述冻结数据的冻结时间以及冻结数据量进行字节可修改存储介质的扇区头参数以及字节可修改存储介质的扇区冻结头指针的更新;
其中,扇区头参数包含扇区起始时间、扇区起始序号、正常扇区标志/补冻扇区标志、头校验和、切换扇区时存储实际记录条数、尾校验和等信息,扇区冻结头指针是在存储过程中指向存储扇区的一个参数,根据它的数值,可以确定当前存储需要存储的扇区地址以及编号,上述两个数据是需要根据实际存储的数量进行变化和实时更新的。
S6、将所述冻结数据以及扇区头参数存储于字节可修改存储介质的所述扇区冻结头指针对应的扇区中;
S7、将所述冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。
本申请的技术方案通过在字节可修改存储介质采用获取冻结方案;根据冻结方案对字节可修改存储介质进行存储空间分配以确定每一冻结方案在字节可修改存储介质的第一起始扇区地址;根据所述冻结方案获取冻结数据;从所述第一起始扇区地址进行所述冻结数据的存储;并根据所述冻结数据的冻结时间以及冻结数据量进行字节可修改存储介质的扇区头参数以及字节可修改存储介质的扇区冻结头指针的更新;将所述扇区头参数存储于字节可修改存储介质的所述扇区冻结头指针对应的扇区中;通过上述方案保证对字节可修改存储介质的存储空间的有效利用,从而能快速实现冻结数据的及时存储。随后将所述以及冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。由于在实际存储时,字节可修改存储介质以及扇区可修改存储介质虽然存在数据流上的先后顺序,但是由于数据流的速度较快,两者几乎可以视作等同时间发生,从而可以实现两种存储介质并行存储,而不用如同现有技术中必须先将字节可修改存储介质的数据达到一定量级后再去转存到扇区可修改存储介质,从而实现数据的同步存储,从而避免了现有电能表的备份方式限制较多的问题。
需要说明的是,扇区可修改存储介质最小只能针对单个扇区进行擦除,不能针对扇区内的单个字节进行擦除操作,一旦某个扇区被写满,后续要对其中的数据进行修改,必须是整个扇区的数据全部擦除后再重新存入修改后的数据。若想反复修改同一扇区单个数据或某些数据,必须反复删除和保存,且须先通过其他存储介质进行该个扇区的数据的备份。因此,本申请还通过将所述以及冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。此时,扇区头参数是每个扇区都必须存在的,也会在扇区多次存储冻结数据时经历反复更新而不涉及到整个扇区的数据的修改,此时,将扇区可修改存储介质的存储和擦除步骤分开,使得可以多次存储而不用反复擦除扇区,又通过扇区头较好的记录已经保存的数据量,从而使得扇区保存的冻结数据和冻结数据量均是可被查证的,实现实时保存且不用反复擦除的目的,可以降低扇区可修改存储介质的每一个扇区在即时存储中的写入以及擦除次数,更好的延长扇区可修改存储介质的使用寿命。
通过上述方案中,字节可修改存储介质以及扇区可修改存储介质配合使用,并辅助以相应的存储方案,能在实现可双存储介质同步备份保存数据的同时,还克服了采用双字节可修改存储介质备份造价高昂的特点,并通过扇区可修改存储介质克服了存储容量小的特点,也克服了采用双扇区可修改存储介质备份每次擦除导致的寿命较低的特点,实现了较好的备份效果以及即时性,并克服了传统扇区可修改存储介质存在的弊端,从而解决了现有电能表的备份方式限制较多的问题。
可选地,所述字节可修改存储介质为快速只读存储器,所述扇区可修改存储介质为闪存。
其中,在申请的方案中,可以采用1M的快速只读存储器(EEPROM)及4M的快速只读存储器(FLASH),最近365天日冻结数据、最近365天分钟冻结数据存储在FLASH中,最近3天分钟冻结、最近7天日冻结备份数据存储在EEPROM中。需要说明的是,数据存储的时长可以不用固定,可以根据实现需要去进行设置,例如7天分钟冻结、最近10天日冻结备份数据。且,字节可修改存储介质以及扇区可修改存储介质的类型以及存储容量也可以根据实际需要去进行选用,在本申请中默认选择的大小只是为了更好的说明本申请的实现方式,并不用于限定其使用范围。
可选地,所述冻结方案的队列控制参数包括:每套方案的冻结周期、每套方案的存储深度、每套方案要存储的数据对象的个数、每套方案每条记录的存储空间大小、每套方案的存储扇区个数以及全部冻结方案要存储的数据对象的个数。
基于上述可选实施例,可以通过以下程序进行冻结方案的参数分配:每套方案的起始扇区地址为存储器的基地址+offs_fc[i](i为方案序号)。每套方案分配了n_sect[i](i为方案序号)个扇区来存储数据,空间分配的分钟冻结队列控制体如下所示。
通过上述方案,可以最大程度上根据所采用的冻结方案去利用搭载的存储介质的每一个存储扇区。
在一可选实施例中,参考图2所示,所述所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中的步骤包括:
S71、根据冻结方案对扇区可修改存储介质进行存储空间分配以确定每一冻结方案在扇区可修改存储介质的第二起始扇区地址;
根据冻结方案对扇区可修改存储介质进行存储空间分配是进行扇区分配,例如在采用了八个分钟冻结方案以及一个日冻结方案时,就为这九个方案分别分配存储空间,例如确定当前的扇区可修改存储介质的扇区数量,对每个方案分配几个扇区用于存储,第二起始扇区地址则是指分配的扇区的第一个的扇区的起始地址。
S72、在所述扇区可修改存储介质的每一扇区头中,建立数据量记录区;
具体地,不把记录的实时数据量的更新到扇区头信息的FLASH地址中,而是在扇区头参数后保留128字节的数据量记录区BITFIELD。
S73、从所述第二起始扇区地址对应的扇区存储所述冻结数据,并在所述数据量记录区进行所述冻结数据的数据量记录;
在该扇区的存储地址中每存一条冻结数据记录,同时将数据量记录区中对应bit位置写1。在该扇区的存储地址写满之后再将扇区头中记录冻结数据量的记录数n_rec写入FLASH。如果在当前扇区未存满时发生了掉电,则可以根据数据量记录区BIEFIELD中的bit位为1的数目的数据量进行恢复,例如BIT为1的数目为98时,则表示需要恢复98条数据。
S74、当所述冻结数据的数据量达到预设数据量时,将所述扇区可修改存储介质的扇区冻结头指针的更新为指向下一扇区。
其中,扇区头参数包含扇区起始时间、扇区起始序号、正常扇区标志/补冻扇区标志、头校验和、切换扇区时存储实际记录条数、尾校验和等信息,扇区冻结头指针是在存储过程中指向存储扇区的一个参数,根据它的数值,可以确定当前存储需要存储的扇区地址以及编号,上述两个数据是需要根据实际存储的数量进行变化和实时更新的。
通过上述方案,可以对扇区可修改存储介质进行多次存储而不用反复擦除扇区,又通过扇区头较好的记录已经保存的数据量,从而使得扇区保存的冻结数据和冻结数据量均是可被查证的,实现多次实时保存且不用反复擦除的目的,可以降低扇区可修改存储介质的每一个扇区在即时存储中的写入以及擦除次数,更好的延长扇区可修改存储介质的使用寿命。可选地,所述扇区头参数包括:
扇区起始时间、扇区起始序号、正常扇区标志/补冻扇区标志、头校验和、切换扇区时存储实际记录条数、尾校验和。
在步骤S7以及步骤S6中,将数据存储到扇区冻结头指针对应的扇区存储数据时,我们需要根据分钟冻结队列控制体的分钟冻结扇区控制块进行具体的数据存储:分钟冻结队列控制体如下所示:
在上述队列控制体中,将数据存入扇区冻结头指针head指向的扇区中,如果扇区已满则将扇区冻结头指针head的数字加一,如果扇区冻结头指针head达到该方案分配的最大扇区数则head从0开始。tail指向存储深度内最早的扇区。n_sect为以使用的扇区数,n_sect不能超过图1中的n_sect[i](i为方案序号)
在应用于扇区可修改存储介质,步骤S73执行时扇区头如下:
每个扇区有一个独立的扇区头,扇区头信息如下:
一个扇区内记录数据的序号和时间都是连续的。所以在扇区头记录了扇区的start_time和start_sn和n_rec即可知道扇区内所有记录的时间和序号。这也使查找记录时可以快速定位到记录的地址。
另外,在进行扇区可修改存储介质以及字节可修改存储介质的存储备份之前,还需要分别校验字节可修改存储介质EEPROM的当前扇区头参数、队列控制参数和扇区可修改存储介质FLASH的当前扇区头参数、队列控制参数。如果有一种介质的参数出错,则清除该介质中的记录,如此时另一种介质的参数正确,此时,由于每套方案的起始地址为存储器的基地址+offs_fc[i](i为方案序号),由于两种介质均是根据冻结方案去进行扇区编号以及分配序号同步则根据正确的参数来恢复错误介质的参数以保证数据的连续性,从而可以保证继续使用双介质存储。如果两种介质的控制参数都出错,则应重新初始化参数并清除记录重新开始存储。
除此之外,由于EEPROM每条记录都带校验,且EEPROM存储可靠性较高,在进行数据查找时,故优先查找EEPROM中的数据,如EEPROM中的记录校验不对,才查找FLASH中的数据,若FLASH中的数据校验错误或管理参数错误,才返回错误。同时为了能快速返回数据,我们把每套方案的最新扇区头信息都保存于RAM中。因为现场通常会抄读近期数据。当要抄读的数据恰好在RAM中,我们可以快速返回数据。
可选地,所述根据所述冻结方案获取冻结数据的步骤之前还包括:
获取电能表接电情况;
当确认所述电能表通电时,执行根据所述冻结方案获取冻结数据以及后续步骤;
当所述电能表未通电时,则停止执行根据所述冻结方案获取冻结数据以及后续步骤。
在上述方案中,存储数据前,获取电能表接电情况能先检测电表是否掉电,如电表电压正常,则先存到EEPROM。
检查EEPROM是否存满,此时是通过读取扇区头中的参数确定,当确认扇区存满则更新head且建立新的扇区头。再将冻结数据、数据校验和、冻结序号、冻结时间存储到EEPROM,再更新控制参数的记录数、校验和并存储到EEPROM;然后检查FLASH扇区存储情况,如该片扇区已写满则更新该扇区头的n_rec与校验和并存入FLASH,并新建扇区头。若确认当前扇区未写满,则将冻结数据和校验和直接存入扇区可修改存储介质如FLASH中,并更新扇区头参数的记录数n_rec,此时的扇区头参数是存储于每个扇区专门开辟出的扇区头中,并不存入扇区可修改存储介质的实际数据存储扇区;通过上述设计,可以使得扇区可修改存储介质FLASH存储时,可以多次对扇区进行写入,并更新记录数到扇区头参数n_rec,直到n_rec反馈扇区已存满,则转存至下一扇区,在此过程中,可以对FLASH进行多次写入,以及多次扇区头参数的修改,而不必在每一次写入时都对扇区进行擦除,也能记录每一次存储的数据量,从而可以避免多次小量数据存储时对同一扇区重复擦写,从而延长扇区可修改存储介质的使用寿命,需要说明的是,扇区可修改存储介质一般为FLASH等大容量存储器。
在一实施例中,所述电能表冻结数据存储方法还包括:
在存储时持续获取通电情况;
若出现断电情况,检测当次已存储数据量是否等于一次冻结数据量,若当次已存储数据量等于一次冻结数据量,则保存当前已存储数据量;若当次已存储数据量不等于一次冻结数据量,则删除当次的冻结数据并将扇区头参数恢复至上一次存储的数据;或,
在存储时持续获取通电情况;
若出现断电情况,则删除当次已存储数据量。
可选地,上电时,或在获取所述冻结数据的步骤之前还包括:
加载冻结数据管理参数;
如管理参数校验不对,对管理参数进行初始化;如管理参数正确,更新管理参数并进行存储。
通过上述方案,可以在存储中遇到断电情况时,及时清除已经存储不完整的数据或者是保存已经存储完的数据,保证存储的每一份数据的完整性。
可选地,所述扇区冻结头指针的更新方式为每次加1,当扇区冻结头指针的数值大于扇区数值时,将扇区冻结头指针更新为所述扇区冻结头指针数值减去扇区总数量。
即,在任一方案的分配的存储扇区满了之后,之后重新获取的对应方案的存储数据则从对应的第一起始扇区地址重新存储。从而保证字节可修改存储介质在一个存储周期中,每一扇区的每一字节的可擦存储次数趋于一致,延长整体的字节可修改存储介质的寿命。
本申请还提出一种电能表,参考图4所示,所述电能表包括:
计算模块30,获取冻结方案;根据冻结方案对字节可修改存储介质进行存储空间分配以确定每一冻结方案在字节可修改存储介质的第一起始扇区地址;
检测模块10,根据所述冻结方案获取冻结数据;
控制模块40,从所述第一起始扇区地址进行所述冻结数据的存储;并根据所述冻结数据的冻结时间以及冻结数据量进行字节可修改存储介质的扇区头参数以及字节可修改存储介质的扇区冻结头指针的更新;将所述冻结数据存储于字节可修改存储介质的所述扇区冻结头指针对应的扇区中;将所述以及冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。
可选地,所述字节可修改存储介质为快速只读存储器,所述扇区可修改存储介质为闪存。
可选地,所述冻结方案的队列控制参数包括:每套方案的冻结周期、每套方案的存储深度、每套方案要存储的数据对象的个数、每套方案每条记录的存储空间大小、每套方案的存储扇区个数以及全部冻结方案要存储的数据对象的个数。
可选地,计算模块30,还用于根据冻结方案对扇区可修改存储介质进行存储空间分配以确定每一冻结方案的在扇区可修改存储介质的第二起始扇区地址;
控制模块40,还用于在所述扇区可修改存储介质的每一扇区头中,建立数据量记录区;
从所述第二起始扇区地址对应的扇区存储所述冻结数据,并在所述数据量记录区进行所述冻结数据的数据量记录;
当所述冻结数据的数据量达到预设数据量时,将所述扇区可修改存储介质的扇区冻结头指针的更新为指向下一扇区。
可选地,所述扇区头参数包括:
扇区起始时间、扇区起始序号、正常扇区标志/补冻扇区标志、头校验和、切换扇区时存储实际记录条数、尾校验和。
可选地,所述在所述根据所述冻结方案获取冻结数据的步骤之前还包括:
控制模块40还用于,获取电能表接电情况;当确认所述电能表通电时,执行根据所述冻结方案获取冻结数据以及后续步骤;当所述电能表未通电时,则停止执行根据所述冻结方案获取冻结数据以及后续步骤。
可选地,所述控制模块40,还用于在存储时持续获取通电情况;
若出现断电情况,检测当次已存储数据量是否等于一次冻结数据量,若当次已存储数据量等于一次冻结数据量,则保存当前已存储数据量;若当次已存储数据量不等于一次冻结数据量,则删除当次的冻结数据并将扇区头参数恢复至上一次存储的数据;或,
在存储时持续获取通电情况;
若出现断电情况,则删除当次已存储数据量。
可选地,所述扇区冻结头指针的更新方式为每次加1,当指针数值大于扇区数值时,将扇区冻结头指针的更新为所述扇区冻结头指针数值减去扇区总数量。
本申请的技术方案通过在字节可修改存储介质中执行获取冻结方案;根据冻结方案对字节可修改存储介质进行存储空间分配以确定每一冻结方案在字节可修改存储介质的第一起始扇区地址;根据所述冻结方案获取冻结数据;从所述第一起始扇区地址进行所述冻结数据的存储;并根据所述冻结数据的冻结时间以及冻结数据量进行字节可修改存储介质的扇区头参数以及字节可修改存储介质的扇区冻结头指针的更新;将所述扇区头参数存储于字节可修改存储介质的所述扇区冻结头指针对应的扇区中;通过上述方案保证对字节可修改存储介质的存储空间的有效利用,从而能快速实现冻结数据的及时存储。随后将所述以及冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。在实际存储时,字节可修改存储介质以及扇区可修改存储介质虽然存在数据流上的先后顺序,但是由于数据流的速度较快,两者几乎可以视作等同时间发生,从而可以实现两种存储介质并行存储,而不用如同现有技术中必须先将字节可修改存储介质的数据达到一定量级后再去转存到扇区可修改存储介质,从而实现数据的同步存储,从而避免了现有电能表的备份方式限制较多的问题。
需要说明的是,扇区可修改存储介质最小只能针对单个扇区进行擦除,不能针对扇区内的单个字节进行擦除操作,一旦某个扇区被写满,后续要对其中的数据进行修改,必须是整个扇区的数据全部擦除后再重新存入修改后的数据。若想反复修改同一扇区单个数据或某些数据,必须反复擦除和保存,且须先通过其他存储介质进行该扇区的数据的备份。因此,本申请还通过将所述以及冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。此时,扇区头参数是每个扇区都必须存在的,也会在扇区多次存储冻结数据时经历反复更新而不涉及到整个扇区的数据的修改,此时,将扇区可修改存储介质的存储和擦除步骤分开,使得可以多次存储而不用反复擦除扇区,又通过扇区头较好的记录已经保存的数据量,从而使得扇区保存的冻结数据和冻结数据量均是可被查证的,实现实时保存且不用反复擦除的目的,可以降低扇区可修改存储介质的每一个扇区在即时存储中的写入以及擦除次数,更好的延长扇区可修改存储介质的使用寿命。
通过上述方案中,字节可修改存储介质以及扇区可修改存储介质配合使用,并辅助以相应的存储方案,能在实现可双存储介质同步备份保存数据的同时,还克服了采用双字节可修改存储介质备份造价高昂的特点,并通过扇区可修改存储介质克服了存储容量小的特点,也克服了采用双扇区可修改存储介质备份每次擦除导致的寿命较低的特点,实现了较好的备份效果以及即时性,并克服了传统扇区可修改存储介质存在的弊端,从而解决了现有电能表的备份方式限制较多的问题。。
本申请还提出一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如上所述的电能表冻结数据存储方法的操作。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请还提出一种电能表,所述电能表包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的电能表冻结数据存储程序,所述处理器执行所述电能表冻结数据存储程序时实现如上所述的电能表冻结数据存储方法。
所述存储器21在一些实施例中可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21在另一些实施例中也可以是终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器21还可以既包括终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。
对应于上文实施例所述的电能表冻结数据存储方法,图3示出了本申请实施例提供的电能表的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
除此之外,可选地,在一实施例中,参考图5所示,电能表设置有用于执行电能表冻结数据存储方法的字节可修改存储介质EEPROM和扇区可修改存储介质FLASH,还配置有通讯接口等去实现信号交互和执行微控制器也即处理器所要求的数据计算。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
以上仅为本申请的可选实施例,并非因此限制本申请的专利范围,凡是在本申请的申请构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。
Claims (10)
1.一种电能表冻结数据存储方法,其特征在于,所述电能表冻结数据存储方法包括:
获取冻结方案;
根据冻结方案对字节可修改存储介质进行存储空间分配以确定每一冻结方案在字节可修改存储介质的第一起始扇区地址;
根据所述冻结方案获取冻结数据;
从所述第一起始扇区地址进行所述冻结数据的存储;
并根据所述冻结数据的冻结时间以及冻结数据量进行字节可修改存储介质的扇区头参数以及字节可修改存储介质的扇区冻结头指针的更新;
将所述冻结数据以及扇区头参数存储于字节可修改存储介质的所述扇区冻结头指针对应的扇区中;
将所述冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中。
2.如权利要求1所述的电能表冻结数据存储方法,其特征在于,所述字节可修改存储介质为快速只读存储器,所述扇区可修改存储介质为闪存。
3.如权利要求1所述的电能表冻结数据存储方法,其特征在于,所述冻结方案的队列控制参数包括:每套方案的冻结周期、每套方案的存储深度、每套方案要存储的数据对象的个数、每套方案每条记录的存储空间大小、每套方案的存储扇区个数以及全部冻结方案要存储的数据对象的个数。
4.如权利要求1或2所述的电能表冻结数据存储方法,其特征在于,所述将所述以及冻结数据存储于所述扇区可修改存储介质中,并将所述冻结数据的数据量记录在所述扇区头参数中的步骤包括:
根据冻结方案对扇区可修改存储介质进行存储空间分配以确定每一冻结方案在扇区可修改存储介质的第二起始扇区地址;
在所述扇区可修改存储介质的每一扇区头中,建立数据量记录区;
从所述第二起始扇区地址对应的扇区存储所述冻结数据,并在所述数据量记录区进行所述冻结数据的数据量记录;
当所述冻结数据的数据量达到预设数据量时,将所述扇区可修改存储介质的扇区冻结头指针的更新为指向下一扇区。
5.如权利要求1所述的电能表冻结数据存储方法,其特征在于,所述扇区头参数包括:
扇区起始时间、扇区起始序号、正常扇区标志/补冻扇区标志、头校验和、切换扇区时存储实际记录条数、尾验和。
6.如权利要求1所述的电能表冻结数据存储方法,其特征在于,所述根据所述冻结方案获取冻结数据的步骤之前还包括:
获取电能表接电情况;
当确认所述电能表通电时,执行根据所述冻结方案获取冻结数据以及后续步骤;
当所述电能表未通电时,则停止执行根据所述冻结方案获取冻结数据以及后续步骤。
7.如权利要求1所述的电能表冻结数据存储方法,其特征在于,所述电能表冻结数据存储方法还包括:
在存储时持续获取通电情况;
若出现断电情况,检测当次已存储数据量是否等于一次冻结数据量,若当次已存储数据量等于一次冻结数据量,则保存当前已存储数据量;若当次已存储数据量不等于一次冻结数据量,则删除当次的冻结数据并将扇区头参数恢复至上一次存储的数据;或,
在存储时持续获取通电情况;
若出现断电情况,则删除当次已存储数据量。
8.如权利要求6所述的电能表冻结数据存储方法,其特征在于,所述扇区冻结头指针的更新方式为每次加1,当所述扇区冻结头指针的数值大于扇区数值时,将所述扇区冻结头指针更新为所述扇区冻结头指针的数值减去扇区总数量。
9.一种电能表,其特征在于,所述电能表包括:
存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的电能表冻结数据存储程序,所述处理器执行所述电能表冻结数据存储程序时实现如权利要求1至8任一项所述的电能表冻结数据存储方法。
10.一种存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如权利要求1-8任意一项所述的电能表冻结数据存储方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211611198.8A CN116049022A (zh) | 2022-12-14 | 2022-12-14 | 一种电能表冻结数据存储方法、电能表以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211611198.8A CN116049022A (zh) | 2022-12-14 | 2022-12-14 | 一种电能表冻结数据存储方法、电能表以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116049022A true CN116049022A (zh) | 2023-05-02 |
Family
ID=86128506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211611198.8A Pending CN116049022A (zh) | 2022-12-14 | 2022-12-14 | 一种电能表冻结数据存储方法、电能表以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049022A (zh) |
-
2022
- 2022-12-14 CN CN202211611198.8A patent/CN116049022A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003196142A (ja) | ライトワンス型メモリ装置及びファイル管理方法 | |
CN106940625A (zh) | 智能电表的数据存储方法 | |
CN108399050B (zh) | 一种数据处理方法及装置 | |
CN108829342B (zh) | 一种日志存储方法、系统及存储装置 | |
CN111414138B (zh) | 一种固态硬盘磨损均衡方法和装置 | |
CN116301669B (zh) | 一种基于fpga的高速存储系统分区方法及系统 | |
CN115470216B (zh) | 一种基于ftl的智能物联表的存储管理方法及存储介质 | |
CN109918352B (zh) | 存储器系统和存储数据的方法 | |
CN115292266A (zh) | 一种基于存储器的高可靠日志存储方法 | |
CN106354662A (zh) | 一种nand flash数据存储方法 | |
CN111159114A (zh) | 文件存储方法、装置及服务器 | |
CN103176920A (zh) | Nor flash掉电保护方法及装置 | |
CN106775481B (zh) | 数据读取方法及设备 | |
CN110515544B (zh) | 数据存储的方法及终端设备 | |
CN112965919B (zh) | 一种电能表数据分钟冻结方法、存储介质及设备 | |
CN114780041A (zh) | 一种掉电记忆存储方法和装置 | |
CN110543398A (zh) | 一种故障信息的记录方法和系统 | |
CN109947364A (zh) | 一种用于flash/eeprom中的实时数据存储方法 | |
CN108365283A (zh) | 设备电池及无人机 | |
CN107148612A (zh) | 一种扩展用户分区的方法和装置 | |
CN116049022A (zh) | 一种电能表冻结数据存储方法、电能表以及存储介质 | |
CN116360695A (zh) | 一种基于混合储能电源的数据存储方法及装置 | |
CN114356792B (zh) | 基于flash预擦除技术的电能表冻结数据存储方法及电能表 | |
CN109633331A (zh) | 一种数据存储方法和故障录波装置 | |
CN112908390B (zh) | 数据存储方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |