CN115309342A - 一种数据存储方法、装置及电能表 - Google Patents
一种数据存储方法、装置及电能表 Download PDFInfo
- Publication number
- CN115309342A CN115309342A CN202211195152.2A CN202211195152A CN115309342A CN 115309342 A CN115309342 A CN 115309342A CN 202211195152 A CN202211195152 A CN 202211195152A CN 115309342 A CN115309342 A CN 115309342A
- Authority
- CN
- China
- Prior art keywords
- data
- electric quantity
- identifier
- energy meter
- quantity data
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004590 computer program Methods 0.000 claims description 6
- 230000005611 electricity Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- 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 Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据存储方法、装置及电能表,涉及数据存储领域,应用于电能表中的处理器,电能表还包括闪存模块,当获取到电量数据时,确定电量数据对应的第一标识符;根据第一标识符将电量数据存储至闪存模块中的对应于第一标识符的数据块中。通过将电量数据存储到电能表自带的闪存模块中的方法,不需要使用EEPROM来存储电量数据,提高了数据存储的安全性,避免了电能表被反读或篡改电量数据,从而避免经济损失。
Description
技术领域
本发明涉及数据存储领域,特别是涉及一种数据存储方法、装置及电能表。
背景技术
电能表是一种用于记录并存储用户使用的电量的设备,工作人员后续根据电能表中记录的电量确定用户所需要缴纳的电费。由于EEPROM(Electrically ErasableProgrammable Read-Only Memory,带电可擦除可编程只读存储器)具有体积小、寿命长和非易失性等特点,因此,目前的电能表通常利用EEPROM以记录和存储电量。但是,由于EEPROM的经济成本较高,而且EEPROM的数据存储安全性较差,易被反读或篡改电量数据,导致工作人员无法正确计算电费,造成经济损失。
发明内容
本发明的目的是提供一种数据存储方法、装置及电能表,提高了数据存储的安全性,避免了电能表被反读或篡改电量数据,从而避免经济损失。
为解决上述技术问题,本发明提供了一种数据存储方法,应用于电能表中的处理器,所述电能表还包括闪存模块,所述数据存储方法包括:
当获取到电量数据时,确定所述电量数据对应的第一标识符;
根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中。
优选的,确定所述电量数据对应的第一标识符,包括:
当获取到的所述电量数据为所述电能表上电后获取的第一个电量数据时,确定所述第一标识符为第一预设数值;
当获取到的所述电量数据不为所述电能表上电后获取的第一个电量数据时,将上一个所述电量数据对应的第一标识符的数值增加第二预设数值后的数值作为所述电量数据的第一标识符。
优选的,根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中,包括:
确定各个所述数据块对应的第二标识符;
将所述电量数据存储至所述第二标识符仅小于所述第一标识符的数据块的下一个数据块中;
在根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中之后,还包括:
将所述第一标识符作为存储所述电量数据的所述数据块的第二标识符。
优选的,在将所述电量数据存储至所述第二标识符仅小于所述第一标识符的数据块的下一个数据块中之后,还包括:
判断所述第一标识符的数值是否为N的X倍,N为预设的大于2的正整数,X为正整数;
若是,则清除下一个所述数据块之后的N个所述数据块中存储的所述电量数据。
优选的,将所述电量数据存储至所述第二标识符仅小于所述第一标识符的数据块的下一个数据块中,包括:
S21:将所述第二标识符仅小于所述第一标识符的数据块作为当前数据块;
S22:判断所述当前数据块中存储的所述电量数据是否为有效数据;若是,则将所述电量数据存储至所述当前数据块的下一个所述数据块;若否,则进入S23;
S23:将所述当前数据块的上一个所述数据块作为新的所述当前数据块,返回S22。
优选的,判断所述当前数据块中存储的所述电量数据是否为有效数据,包括:
确定所述电量数据的校验和;
判断所述校验和是否与预设校验和一致;
若一致,则判定所述电量数据为有效数据;
若不一致,则判定所述电量数据不为有效数据。
优选的,在根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中,包括:
利用所述电能表中的内存开始获取所述电量数据,并开始记录获取时长;
判断所述获取时长是否大于预设时长;
若是,则停止获取所述电量数据,并将所述内存获取到的所述电量数据存储至所述数据块中。
优选的,在判断所述获取时长是否大于预设时长的同时,还包括:
获取所述电能表的工作电压;
根据所述工作电压判断所述电能表是否断电;
若是,则进入停止获取所述电量数据,并将所述内存获取到的所述电量数据存储至所述数据块中的步骤。
本申请还提供一种数据存储装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的数据存储方法的步骤。
本申请还提供一种电能表,包括电能表本体和闪存模块,还包括如上述的数据存储装置;
所述数据存储装置分别与所述电能表本体以及所述闪存模块连接。
本发明提供了一种数据存储方法、装置及电能表,涉及数据存储领域,应用于电能表中的处理器,电能表还包括闪存模块,当获取到电量数据时,确定电量数据对应的第一标识符;根据第一标识符将电量数据存储至闪存模块中的对应于第一标识符的数据块中。通过将电量数据存储到电能表自带的闪存模块中的方法,不需要使用EEPROM来存储电量数据,提高了数据存储的安全性,避免了电能表被反读或篡改电量数据,从而避免经济损失。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种数据存储方法的流程图;
图2为本申请提供的一种闪存模块的结构示意图;
图3为本申请提供的另一种数据存储方法的流程图;
图4为本申请提供的一种数据存储装置的结构示意图;
图5为本申请提供的一种电能表的结构示意图。
具体实施方式
本发明的核心是提供一种数据存储方法、装置及电能表,提高了数据存储的安全性,避免了电能表被反读或篡改电量数据,从而避免经济损失。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本申请提供的一种数据存储方法的流程图,应用于电能表中的处理器,电能表还包括闪存模块,数据存储方法包括:
S1:当获取到电量数据时,确定电量数据对应的第一标识符;
S2:根据第一标识符将电量数据存储至闪存模块中的对应于第一标识符的数据块中。
电能表是一种用于记录电量数据的设备,用户实际使用的电量数据均为记录在电能表中,以便电力管理局根据电能表所记录的电量数据来计算用户所需要缴纳的电费,可见,电能表的数据存储功能较为重要。
在现有技术中,通常是在电能表中额外设置一块带有EEPROM的电路板与电能表中原本的电路板相连,具体的,当电能表开始工作时,电能表中的处理器与EEPROM通信,处理器首先会判断EEPROM是否正常,正常时则电能表会开始记录电量数据;异常时则不会开始记录,而是等待EEPROM恢复正常;在记录电量数据时,每记录一段时间的电量数据,再将这段时间内的电量数据作为一份电量数据存储到EEPROM中。EEPROM虽然能够正常实现存储电量数据的功能,但是由于EEPROM的成本较高,而且其内部数据容易被篡改或反读,相当于电量数据容易被修改,导致电力管理局在根据电能表记录的电量数据计算电费时,无法得知用户实际使用的电量数据,从而计算不出真实的电费,可见,利用EEPROM来存储电量数据,不仅需要的成本较高,而且安全性较低,无法满足电能表对于数据高安全性以及降低经济成本的要求。
基于此,在本申请中,利用闪存模块代替EEPROM,考虑到电能表的其他功能也需要使用闪存,所以闪存模块并非是电能表中的整个闪存,而是电能表闪存中的一部分闪存,闪存模块的大小可以根据实际需求以及电能表的实际使用寿命来设定。例如,当电能表的实际使用寿命为10年时,电能表在完整的10年内通常可以记录100万次数据,EEPROM的擦写次数也近似等于100万次,基于此,由于闪存中的每个数据块的擦写次数为2万次,也即每个数据块最多可以记录2万次数据,所以可以取出电能表的闪存中的50个数据块作为本申请中的闪存模块;进一步的,由于电能表的闪存中的每个完整的数据页均包括8个数据块,因此,为了数据页的完整性,可以取出闪存中的6页共48个数据块作为本申请中的闪存模块。请参照图2,图2为本申请提供的一种闪存模块的结构示意图,每个secno表示一个数据页,与secno并排的多个block为该secno中的所有数据块。
在实际使用时,可以预先给每个数据块设定相互之间均不同的标识符,每次获取到的电量数据也有不同的第一标识符,可以根据第一标识符和各个标识符之间的关系,将每次获取到的电量数据存储到不同的数据块中。具体的,可以将各个数据块根据一定的顺序进行排序,然后根据该顺序为各个数据块设定不同的标识符,在获取到第一个电量数据时,可以将第一标识符与该顺序中的第一个数据块的标识符建立映射关系,并将第一个电量数据存储到第一个数据块中,当获取到第二个电量数据时,则存储到第二个数据块中,依次类推直到最后一个数据块。例如,当总共有48个数据块时,根据一定的顺序排序各个数据块,并根据顺序将各个数据块设定为第1个~第48个数据块,其标识符分别为1~48,当获取到第一个电量数据时,假设第一个电量数据的第一标识符也为1,则将其存储到标识符为1的数据块中,同理可知,若获取到的某个电量数据的第一标识符为M,则将其存储到标识符为M的数据块中,M为不大于48的正整数。除了根据数据块的顺序来存储电量数据以外,也可以是每次获取到电量数据后,根据标识符建立其与所有未存储过电量数据的数据块之间的映射关系,然后将其随机存储到某个没存储过电量数据的数据块中;或者是每次获取到电量数据后,将其存储到剩余擦写次数最多的数据块中;本申请在此仅是举例说明第一标识符与各个数据块之间的关系,具体的标识符之间的映射关系以及哪个电量数据存储在哪个数据块中,可以根据实际情况和需求来设定。
考虑到对于一个闪存中的数据块而言,其擦写次数有限,所以需要均匀地使用各个数据块。具体的,可以根据一定的顺序排序各个数据块,在电能表上电后,根据获取到的电量数据的次数依次存储各个电量数据,获取到电能表上电后的第一个电量数据时,将其存储到该顺序中的第一个数据块中,获取到电能表上电后的第二个电量数据时,因为上一个电量数据为第一个电量数据,存储第一个电量数据的数据块为第一个数据块,所以将第二个电量数据存储到该顺序中的第二个数据块,相当于把不是第一个电量数据的电量数据存储到存储上一个电量数据的数据块的下一个数据块;基于此,当总共有M个数据块时,电能表上电后获取到的前M个电量数据中,各个电量数据分别存储至不同的数据块中,当存储完第M个电量数据时,相当于每个数据块均存储过1次电量数据,在获取到第M+1个电量数据时,则重新从第一个数据块开始存储电量数据,相当于将获取到的每M个电量数据作为一次存储循环,在每次存储循环中,每个数据块均会进行1次存储。
综上,当获取到电量数据时,确定电量数据对应的第一标识符;根据第一标识符将电量数据存储至闪存模块中的对应于第一标识符的数据块中。通过将电量数据存储到电能表自带的闪存模块中的方法,不需要使用EEPROM来存储电量数据,提高了数据存储的安全性,避免了电能表被反读或篡改电量数据,从而避免经济损失。
在上述实施例的基础上:
作为一种优选的实施例,确定电量数据对应的第一标识符,包括:
当获取到的电量数据为电能表上电后获取的第一个电量数据时,确定第一标识符为第一预设数值;
当获取到的电量数据不为电能表上电后获取的第一个电量数据时,将上一个电量数据对应的第一标识符的数值增加第二预设数值后的数值作为电量数据的第一标识符。
为了灵活地确定第一标识符,本申请中,考虑到电能表获取电量数据相当于是采集一段时间内用户所使用的电量,电能表在上电后,以预设的时间间隔为周期,获取每个时间周期对应的电量数据并存储,基于此,可以根据电能表在上电后获取的电量数据的次数来给每次获取到的电量数据设定不同的第一标识符。具体的,在电能表获取到第一个电量数据时,可以将其第一标识符设定为预设数值,在后续获取其他电量数据时,则在原有的第一标识符的基础上增加第二预设数值,以使得各个电量数据的第一标识符与各个电量数据自身作为电能表获取到的第几次电量数据之间建立映射关系。例如,第一预设数值可以为1,当获取到的电量数据为电能表上电后的第一个电量数据时,将该电量数据的第一标识符设定为1,用1来表示其为电能表上电后的第一个电量数据;后续进行获取时,第二预设数值也可以为1,在获取电能表上电后的第二个电量数据时,则在1的基础上再加1,将2作为第二个电量数据对应的第一标识符,2则表示其为电能表上电后的第二个电量数据,第三个电量数据对应的第一标识符则为3,后续则以此类推。基于此,根据电能表在上电后获取的电量数据的次数,能够灵活地给各个电量数据设定不同的第一标识符。
作为一种优选的实施例,根据第一标识符将电量数据存储至闪存模块中的对应于第一标识符的数据块中,包括:
确定各个数据块对应的第二标识符;
将电量数据存储至第二标识符仅小于第一标识符的数据块的下一个数据块中;
在根据第一标识符将电量数据存储至闪存模块中的对应于第一标识符的数据块中之后,还包括:
将第一标识符作为存储电量数据的数据块的第二标识符。
为了灵活地确定数据块与电量数据之间的关系,本申请中,在将某个电量数据存储到某个数据块之后,可以将该电量数据的第一标识符直接作为该数据块的第二标识符,不仅可以表示该数据块中存储的电量数据为电能表上电后第几次获取到的电量数据,还可以作为下一次存储的电量数据的参照。具体的,在下一个需要存储的电量数据到来时,该电量数据对应的第一标识符必然比所有数据块对应的第二标识符都大,为了按照顺序来存储电量数据,可以将该电量数据存储到仅比第一标识符小的第二标识符对应的数据块的下一个数据块中,也相当于存储到存储上一个电量数据的数据块的下一个数据块中。例如,设总共有5个数据块,下一个需要存储的电量数据为电能表上电后获取到的第32个电量数据,该电量数据对应的第一标识符也为32,在存储该电量数据之前,可知这5个数据块对应的第二标识符分别为31、27、28、29、30,可见,31为仅小于32的数值,因此,第32个电量数据会存储到第二标识符31对应的数据块的下一个数据块中,也即会存储到第二标识符为27的数据块中,在存储完第32个电量数据后,将32作为原本第二标识符为27的数据块的新的第二标识符,此时这5个数据块对应的第二标识符分别为31、32、28、29、30;同理,在存储电能表上电后获取到的第33个电量数据时,则将其存储到第二标识符为28的数据块中,并以33覆盖28;而当获取到的电量数据为电能表上电后的第5*Y个的电量数据时,第5*Y+1个电量数据则无视标识符大小关系存储在第一个数据块中,Y为正整数,以保证每个存储循环中每个数据块都能仅保存1次电量数据。基于此,能够灵活地确定数据块与电量数据之间的关系。
作为一种优选的实施例,在将电量数据存储至第二标识符仅小于第一标识符的数据块的下一个数据块中之后,还包括:
判断第一标识符的数值是否为N的X倍,N为预设的大于2的正整数,X为正整数;
若是,则清除下一个数据块之后的N个数据块中存储的电量数据。
为了简单地擦写电量数据,本申请中,考虑到在电能表的闪存通常分为多个数据页,而每个数据页中包含多个数据块,在实际使用中为了简单定位哪些数据块为用于存储电量数据的数据块,在选用数据块时,通常会选用一个数据页中的所有数据块,不会仅选用一个数据页中的某几个数据块,例如,当总共需要48个数据块时,假设闪存中包含有20个数据页且每个数据页中包含有8个数据块,则会选用其中的6个数据页中的所有数据块。由于同一数据页中的数据块的地址是连续的,所以可以根据数据块的地址来排序各个数据块,使得在同一数据页中的各个数据块在排序中的顺序也是连续的,相当于将原本的对各个数据块进行排序变成了对各个数据页进行排序。在实际应用时,可以将X设定为数据页中的数据块的数量,当获取到的电量数据为第N*X个电量数据时,说明该电量数据会存储到某个数据页中的最后一个数据块,下一个电量数据则会存储到下一个数据页的第一个数据块中,此时,可以直接清除下一个数据页的所有数据块中的电量数据,也即清除掉存储该电量数据的数据块之后的X个数据块。例如,当总共有6个数据页且每个数据页中包含有8个数据块时,可以将其中1个数据页的8个数据块分别作为第1个~第8个数据块,基于此以排序各个数据页中的数据块。在实际使用时,请参照图3,图3为本申请提供的另一种数据存储方法的流程图,若获取到的电量数据为电能表上电后获取到的第N的倍数个的电量数据,说明该电量数据会存储到某个数据页的最后一个数据块中,此时则清除下一个数据页中的所有数据块中的电量数据,以便后续进行存储。基于此,不需要单独对某个数据块进行清除,简化了擦写过程,能够简单地擦写电量数据。
此外,也可以根据数据块的物理地址来判断本次存储电量数据的数据块是否为数据页中的最后一个数据块,具体的,由于同一数据页中的各个数据块是连续的,所以这些数据块的物理地址也是连续的,因此可以选取连续的几个数据页作为本申请的闪存模块,以使得所有的数据块均为连续的数据块,此时可以根据数据块的物理地址来进行判断,例如,设总共有48个数据块,并设所有数据块的总的地址范围为0x0000F000~0x0000FBFF,则每个数据块对应的实际物理地址分别为:A不被48整除时,物理地址=(A对48取余数)×64 +0x0000F000;A被48整除时,物理地址= 48×64 + 0x0000F000,其中的A为各个数据块对应的第二标识符,可见,当物理地址等于48×64 + 0x0000F000时,则说明该数据块是数据页中的最后一个数据块。
作为一种优选的实施例,将电量数据存储至第二标识符仅小于第一标识符的数据块的下一个数据块中,包括:
S21:将第二标识符仅小于第一标识符的数据块作为当前数据块;
S22:判断当前数据块中存储的电量数据是否为有效数据;若是,则将电量数据存储至当前数据块的下一个数据块;若否,则进入S23;
S23:将当前数据块的上一个数据块作为新的当前数据块,返回S22。
为了避免存储无效的电量数据,本申请中,考虑到虽然电能表获取到的电量数据通常是正常且准确的电量数据,但是在将电量数据存储到闪存模块的数据块中时,可能会因为电磁干扰或者电压不稳定等原因而导致最终存储到数据块中的电量数据与获取到的电量数据不一致,若电能表中存储有无效电量数据,则会影响到电力管理局计算电费时的准确性。基于此,在每次获取到电量数据,进行存储之前,均需要判断上一次存储的电量数据是否为正常且有效的电量数据,若上一次存储的电量数据有效,则将本次获取到的电量数据存储到上一次存储的电量数据的下一个数据块中;若上一次存储的电量数据无效,则再判断上上次存储的电量数据是否有效,有效则将本次获取到的电量数据存储到上一次存储的电量数据的数据块中,以覆盖上一次存储的电量数据;若上上次存储的电量数据也无效,则同理再判断更上一个存储的电量数据,若一直判断到第一个数据块中存储的电量数据,若第一个电量数据也无效,可能说明本次存储循环中的存储逻辑存在问题,此时可以清空所有的数据块并重头开始存储电量数据,以避免仍利用有问题的存储逻辑继续进行存储。为了方便理解,在此作出以下例子:设总共有48个数据块且这些数据块按照一定的顺序进行排序,当获取到电能表上电后的第30个电量数据时,判断上一个存储的电量数据也即第29个数据块中存储的电量数据是否有效;若有效,则将第30个电量数据存储到第30个数据块中;若无效,则判断第28个数据块中的存储的电量数据是否有效;若有效,则将第30个电量数据存储到第29个数据块中;若无效,则继续判断直至判定某个电量数据有效或判定第1个数据块无效。基于此,可以避免存储无效的电量数据。此外,为了更均匀地使用各个数据块以及简单化存储,在发现以前存储的电量数据无效后,也可以将本次获取到的电量数据存储到上一次存储的无效电量数据的下一个数据块中,也即不对以前的无效电量数据进行处理,而是记录下无效电量数据的个数,以便工作人员根据个数确定电能表的使用情况并及时进行修复。
作为一种优选的实施例,判断当前数据块中存储的电量数据是否为有效数据,包括:
确定电量数据的校验和;
判断校验和是否与预设校验和一致;
若一致,则判定电量数据为有效数据;
若不一致,则判定电量数据不为有效数据。
为了准确地判断电量数据是否有效,本申请中,可以根据校验和来判断电量数据是否有效,校验和指的是根据电量数据中的各个数据帧中的数据计算得到的一个参数,相当于电量数据的唯一标识符,若电量数据中的内容发生变化,其校验和也会发生变化,因此,通过校验和可以确定电量数据是否有改变。基于此,在获取到电量数据且在存储该电量数据之前,可以首先计算出该电量数据的校验和作为预设校验和,然后再将其存储到数据块中,在后续的判断该电量数据是否为有效数据时,则计算出存储在数据块中的该电量数据的校验和,将该校验和与存储该电量数据之前计算得到的校验和进行对比,判断这两个校验和是否一致,正常情况下,存储到数据块后的校验和与存储到数据块前的校验和一致,若不一致,则说明存储到数据块中的电量数据不为有效数据。基于此,可以准确地判断电量数据是否有效。
作为一种优选的实施例,在根据第一标识符将电量数据存储至闪存模块中的对应于第一标识符的数据块中,包括:
利用电能表中的内存开始获取电量数据,并开始记录获取时长;
判断获取时长是否大于预设时长;
若是,则停止获取电量数据,并将内存获取到的电量数据存储至数据块中。
为了保证电量数据的实时性以及节约闪存模块的寿命,本申请中,考虑到闪存模块的擦写次数和寿命有限,还考虑到电能表需要长时间持续地工作,在电能表工作期间会记录大量的电量数据,电能表获取电量数据的周期越短频次越快,则获取到的电量数据越准确越能够表示实际的电量使用情况,因此,需要平衡闪存模块寿命与电量数据准确性。基于此,可以根据实际的闪存模块的寿命以及电能表本体的工作寿命来确定出预设时长,例如,当电能表的工作寿命为10年,闪存模块的寿命为96万次擦写次数时,则可以将预设时长设定为5分钟,使得闪存模块的寿命近似在电能表工作寿命结束的同时结束。基于此,能够保证电量数据的实时性以及节约闪存模块的寿命。
作为一种优选的实施例,在判断获取时长是否大于预设时长的同时,还包括:
获取电能表的工作电压;
根据工作电压判断电能表是否断电;
若是,则进入停止获取电量数据,并将内存获取到的电量数据存储至数据块中的步骤。
为了避免电量数据丢失,本申请中,考虑到实际应用场景中可能会出现停电的情况,当出现停电的情况时,电能表会停止工作,当电能表正好处于获取电量数据的过程中时,若未能及时地将内存获取的电量数据保存到闪存模块中,则会在停电后丢失这段时间获取到的电量数据。基于此,在获取电量数据的同时,还需要实时检测电能表的工作电压,若工作电压快速降低至预设电压以下甚至是快速降为零,则说明可能发生了停电或者其他断电故障,此时虽然发生了停电或其他断电故障,但是由于电能表中通常设置有电容,在停电之后电容能够短暂地提供一些电力,所以在确定电能表断电后,需要立刻停止获取电量数据并将内存获取到的电量数据保存至闪存中,以避免电量数据丢失。
请参照图4,图4为本申请提供的一种数据存储装置的结构示意图,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现如上述的数据存储方法的步骤。
对于本申请提供的一种数据存储装置的详细介绍,请参照上述数据存储方法的实施例,本申请在此不再赘述。
请参照图5,图5为本申请提供的一种电能表的结构示意图,包括电能表本体31和闪存模块32,还包括上述的数据存储装置33;
数据存储装置33分别与电能表本体31以及闪存模块32连接。
对于本申请提供的一种电能表的详细介绍,请参照上述数据存储方法的实施例,本申请在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据存储方法,其特征在于,应用于电能表中的处理器,所述电能表还包括闪存模块,所述数据存储方法包括:
当获取到电量数据时,确定所述电量数据对应的第一标识符;
根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中。
2.如权利要求1所述的数据存储方法,其特征在于,确定所述电量数据对应的第一标识符,包括:
当获取到的所述电量数据为所述电能表上电后获取的第一个电量数据时,确定所述第一标识符为第一预设数值;
当获取到的所述电量数据不为所述电能表上电后获取的第一个电量数据时,将上一个所述电量数据对应的第一标识符的数值增加第二预设数值后的数值作为所述电量数据的第一标识符。
3.如权利要求2所述的数据存储方法,其特征在于,根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中,包括:
确定各个所述数据块对应的第二标识符;
将所述电量数据存储至所述第二标识符仅小于所述第一标识符的数据块的下一个数据块中;
在根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中之后,还包括:
将所述第一标识符作为存储所述电量数据的所述数据块的第二标识符。
4.如权利要求3所述的数据存储方法,其特征在于,在将所述电量数据存储至所述第二标识符仅小于所述第一标识符的数据块的下一个数据块中之后,还包括:
判断所述第一标识符的数值是否为N的X倍,N为预设的大于2的正整数,X为正整数;
若是,则清除下一个所述数据块之后的N个所述数据块中存储的所述电量数据。
5.如权利要求2所述的数据存储方法,其特征在于,将所述电量数据存储至所述第二标识符仅小于所述第一标识符的数据块的下一个数据块中,包括:
S21:将所述第二标识符仅小于所述第一标识符的数据块作为当前数据块;
S22:判断所述当前数据块中存储的所述电量数据是否为有效数据;若是,则将所述电量数据存储至所述当前数据块的下一个所述数据块;若否,则进入S23;
S23:将所述当前数据块的上一个所述数据块作为新的所述当前数据块,返回S22。
6.如权利要求5所述的数据存储方法,其特征在于,判断所述当前数据块中存储的所述电量数据是否为有效数据,包括:
确定所述电量数据的校验和;
判断所述校验和是否与预设校验和一致;
若一致,则判定所述电量数据为有效数据;
若不一致,则判定所述电量数据不为有效数据。
7.如权利要求1至6任一项所述的数据存储方法,其特征在于,在根据所述第一标识符将所述电量数据存储至所述闪存模块中的对应于所述第一标识符的数据块中,包括:
利用所述电能表中的内存开始获取所述电量数据,并开始记录获取时长;
判断所述获取时长是否大于预设时长;
若是,则停止获取所述电量数据,并将所述内存获取到的所述电量数据存储至所述数据块中。
8.如权利要求7所述的数据存储方法,其特征在于,在判断所述获取时长是否大于预设时长的同时,还包括:
获取所述电能表的工作电压;
根据所述工作电压判断所述电能表是否断电;
若是,则进入停止获取所述电量数据,并将所述内存获取到的所述电量数据存储至所述数据块中的步骤。
9.一种数据存储装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的数据存储方法的步骤。
10.一种电能表,其特征在于,包括电能表本体和闪存模块,还包括如权利要求9所述的数据存储装置;
所述数据存储装置分别与所述电能表本体以及所述闪存模块连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211195152.2A CN115309342A (zh) | 2022-09-29 | 2022-09-29 | 一种数据存储方法、装置及电能表 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211195152.2A CN115309342A (zh) | 2022-09-29 | 2022-09-29 | 一种数据存储方法、装置及电能表 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115309342A true CN115309342A (zh) | 2022-11-08 |
Family
ID=83867061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211195152.2A Pending CN115309342A (zh) | 2022-09-29 | 2022-09-29 | 一种数据存储方法、装置及电能表 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115309342A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113777398A (zh) * | 2021-08-09 | 2021-12-10 | 威胜集团有限公司 | 电能表的电量记录方法、电能表和可读存储介质 |
CN114115736A (zh) * | 2021-11-22 | 2022-03-01 | 北京煜邦电力技术股份有限公司 | 电量数据处理方法、装置、设备及介质 |
-
2022
- 2022-09-29 CN CN202211195152.2A patent/CN115309342A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113777398A (zh) * | 2021-08-09 | 2021-12-10 | 威胜集团有限公司 | 电能表的电量记录方法、电能表和可读存储介质 |
CN114115736A (zh) * | 2021-11-22 | 2022-03-01 | 北京煜邦电力技术股份有限公司 | 电量数据处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7269522B2 (en) | Firmware power cycle routine | |
US20060107130A1 (en) | System and method of reading non-volatile computer memory | |
CN109470918B (zh) | Ir46电能表的电量数据处理方法和ir46电能表 | |
CN111176575A (zh) | 基于Prophet模型的SSD寿命预测方法、系统、终端及存储介质 | |
CN109240622B (zh) | 一种eeprom数据写入的方法及系统 | |
CN112199053B (zh) | 一种应用于小容量存储区的日志记录方法、装置及介质 | |
CN113849388B (zh) | 一种测试方法和装置、电子设备和存储介质 | |
CN113760187B (zh) | 重删io线程生成方法、系统、终端及存储介质 | |
CN112965919B (zh) | 一种电能表数据分钟冻结方法、存储介质及设备 | |
CN112256462B (zh) | NAND Flash存储器的寿命预估方法、装置及介质 | |
CN115309342A (zh) | 一种数据存储方法、装置及电能表 | |
CN107316659B (zh) | 存储器掉电时间段定位方法及系统掉电保护方法 | |
CN111258789B (zh) | 非易失内存器件剩余寿命预测方法、装置、设备及介质 | |
CN110740190B (zh) | 事件上报方法、电力终端及计算机可读存储介质 | |
CN113421605B (zh) | 一种电能表存储器寿命测试方法及装置 | |
CN116360695A (zh) | 一种基于混合储能电源的数据存储方法及装置 | |
CN111312326A (zh) | 闪存寿命测试方法、装置、电力采集终端及存储介质 | |
JPH05317505A (ja) | 停電時データ処理装置 | |
CN113434179B (zh) | 一种可编程电源的在线升级方法、装置、设备及存储介质 | |
CN114063905A (zh) | 日志存储方法、日志存储装置、存储设备和存储介质 | |
CN111611170A (zh) | 测试方法及装置 | |
CN109299018B (zh) | 一种Flash存储器中历史数据的读取方法及装置 | |
CN115829689A (zh) | 一种充电订单抗掉电存取方法及装置 | |
CN117630443A (zh) | 计量模式的切换方法、装置、计算机设备及存储介质 | |
CN113626233B (zh) | 一种自动检测bios看门狗功能的方法、装置及设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221108 |