CN112306410B - 一种电能表的数据处理方法、装置、存储介质及电能表 - Google Patents
一种电能表的数据处理方法、装置、存储介质及电能表 Download PDFInfo
- Publication number
- CN112306410B CN112306410B CN202011179895.1A CN202011179895A CN112306410B CN 112306410 B CN112306410 B CN 112306410B CN 202011179895 A CN202011179895 A CN 202011179895A CN 112306410 B CN112306410 B CN 112306410B
- Authority
- CN
- China
- Prior art keywords
- data
- storage medium
- check code
- electric energy
- energy meter
- 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.)
- Active
Links
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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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]
Abstract
本发明提供一种电能表的数据处理方法、装置、存储介质及电能表,所述方法包括:当所述电能表产生需要更新的数据时,将更新数据存放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码;将所述更新数据和校验后得到的所述校验码存储到第二存储介质中,所述第二存储介质为所述电能表主控芯片的外部存储器;当检测所述电能表掉电时,将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中,所述第一存储介质为所述电能表主控芯片的内部存储器。本发明提供的方案能够防止数据被篡改,保证数据的安全性。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种电能表的数据处理方法、装置、存储介质及电能表。
背景技术
鉴于对数据保存的速度要求,和需要多次读取写入的操作,电能表的很多重要参数都存储在外部存储介质(包括但不限于EEPROM、NOR Flash、Nand Flash等)中,如历史电能参数、电表配置参数、通讯参数以及报警信息等,甚至于一些预付费电表还需存储复费率(分段计费,分时计费,采用尖、峰、平、谷不同电价分开计费)。这些参数直接关系到电表的正常运行以及用户的利益。而存储介质只是一个单纯的存储设备,不具有加密和校验功能,如果有人恶意篡改存储介质中的数据,或者因为干扰等原因导致存储失败,从而使得数据错误,则会严重损害用户利益。
发明内容
本发明的主要目的在于克服上述现有技术的缺陷,提供一种电能表的数据处理方法、装置、存储介质及电能表,以解决现有技术中电能表存储介质中的数据容易被篡改或者因为干扰等原因导致存储失败的问题。
本发明一方面提供了一种电能表的数据处理方法,包括:当所述电能表产生需要更新的数据时,将更新数据存放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码;将所述更新数据和校验后得到的所述校验码存储到第二存储介质中,所述第二存储介质为所述电能表主控芯片的外部存储器;当检测所述电能表掉电时,将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中,所述第一存储介质为所述电能表主控芯片的内部存储器。
可选地,所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据。
可选地,还包括:当所述电能表重新上电时,读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码;判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致;根据判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用。
可选地,根据判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码一致,则读取所述第二存储介质中的数据进行使用;若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码不一致,则读取所述第一存储介质中的数据进行使用。
可选地,读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:将所述第一存储介质中的数据或所述第二存储介质中的数据放置在所述数据缓冲区进行校验;判断校验得到校验码与所述第一存储介质中存储的校验码或所述第二存储介质中存储的校验码是否一致;若是,则对所述第一存储介质中的数据或所述第二存储介质中的数据进行使用;和/或,读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:对所述第一存储介质中的数据或所述第二存储介质中的数据进行解密后使用。
本发明另一方面提供了一种电能表的数据处理装置,包括:校验单元,用于当所述电能表产生需要更新的数据时,将更新数据存放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码;第一存储单元,用于将所述更新数据和校验后得到的所述校验码存储到第二存储介质中,所述第二存储介质为所述电能表主控芯片的外部存储器;第二存储单元,用于当检测所述电能表掉电时,将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中,所述第一存储介质为所述电能表主控芯片的内部存储器。
可选地,所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据。
可选地,还包括:读取单元,用于当所述电能表重新上电时,读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码;判断单元,用于判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致;所述读取单元,还用于:根据所述判断单元的判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用。
可选地,所述读取单元,根据判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码一致,则读取所述第二存储介质中的数据进行使用;若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码不一致,则读取所述第一存储介质中的数据进行使用。
可选地,所述读取单元,读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:将所述第一存储介质中的数据或所述第二存储介质中的数据放置在所述数据缓冲区进行校验;判断校验得到校验码与所述第一存储介质中存储的校验码或所述第二存储介质中存储的校验码是否一致;若是,则对所述第一存储介质中的数据或所述第二存储介质中的数据进行使用;和/或,所述读取单元,读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:对所述第一存储介质中的数据或所述第二存储介质中的数据进行解密后使用。
本发明又一方面提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
本发明再一方面提供了一种电能表,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任一所述方法的步骤。
本发明再一方面提供了一种电能表,包括前述任一所述的电能表数据处理装置。
根据本发明的技术方案,电表数据在存储时进行多地存储备份,并进行校验,能够防止存储数据因被篡改或者存储失败而导致的数据错误问题,并且通过加密算法对数据进行加密后,再进行校验、存储操作,能够防止数据被篡改,保证数据的安全性;在电能表掉电重新上电后,通过校验码确定数据的准确性和完整性,并在解密后对数据进行使用,能够保证数据的可靠性和安全性。本发明的技术方案无需额外增加安全芯片,减少成本,只需对软件进行修改,即可提高电表存储数据的安全性。在不增加成本的基础上,通过增加加密存储和校验的方式,提高电能表存储数据的安全性和可靠性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明提供的电能表的数据处理方法的一实施例的方法示意图;
图2是根据本发明一实施例的电能表的基本功能结构示意图;
图3是本发明提供的种电能表的数据处理方法的一具体实施例的方法示意图;
图4是本发明提供的电能表的数据处理方法的另一实施例的方法示意图;
图5是本发明提供的种电能表的数据处理方法的另一具体实施例的方法示意图;
图6是本发明提供的电能表的数据处理装置的一实施例的结构框图;
图7是本发明提供的电能表的数据处理装置的另一实施例的结构框图;
图8是根据本发明一实施例的所述电能表的处理器与第一存储介质和第二存储介质的存储关系示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图2是根据本发明一实施例的电能表的基本功能结构示意图。如图2所示,电能表包含主控芯片MCU、电源模块、采集模块、通讯模块、显示模块、存储模块和掉电检测模块。电源模块,给主控芯片、通讯模块、显示模块等供电。其中,通讯模块,用于传输数据,例如可以采用RS485通讯、CAN通讯等有线通讯方式,或者LoRa通讯、WiFi通讯等无线通信方式。显示模块,例如为LCD屏、数码管显示、或者触摸屏显示等。采集模块,用于采集电压、电流信号,以用于MCU计算相应的电参数。存储模块,用于存储MCU计算的电参数,以及配置参数。掉电检测模块,用于检测电能表是否掉电,例如对电源的幅值进行监测,当电源的幅值低于阈值时,判定为掉电中断。
其中,存储模块包括第一存储介质和第二存储介质。在一些具体实施方式中,第一存储介质为主控芯片MCU的内部存储器,例如片内Flash,第二存储介质为主控芯片MCU的外部存储器,包括但不限于EEPROM、NOR Flash、Nand Flash等。第一存储介质中,除了保存程序以外,还保存电参数,如电能、最大需量等;可选地,还可以保存电表的配置参数和报警信息等。第二存储介质中,保存电参数,如电能、最大需量等,还可以保存电表的配置参数和报警信息等,即除了程序外,第一介质中的其他参数。在一些具体实施方式中,第一存储介质中的数据,只在检测到掉电中断的时候更新一次,避免频繁擦写。第二存储介质中的数据,根据设计需要更新保存。
图8是根据本发明一实施例的所述电能表的处理器与第一存储介质和第二存储介质的存储关系示意图。所述处理器例如MCU主控芯片。
本发明提供一种电能表的数据处理方法。本发明提供的电能表的数据处理方法可以在电能表的主控芯片MCU中实施。
图1是本发明提供的电能表的数据处理方法的一实施例的方法示意图。
如图1所示,根据本发明的一个实施例,所述电能表的数据处理方法至少包括步骤S110、步骤S120和步骤S130。
步骤S110,当所述电能表产生需要更新的数据时,将更新数据放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码。
具体地,当到达预设的定时时间时(可通过RTC或者定时器进行定时)需要对电能表的数据(设定的需要定时更新的数据,例如电能)进行更新(例如,更新电能数据),或者当电能表的数据有改变(例如电能发生改变时,电压改变超过一定阈值时)时,产生了需要更新的电表数据(例如电能、电压)。将更新数据放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码。所述数据缓冲区具体可以为在程序中开辟的一段内存,用来暂存数据。例如可以为一个数组。
在一些具体实施方式中,所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据。也就是说,对需要更新的数据进行加密操作得到加密后的更新数据。将所述加密后的更新数据放置到预设的数据缓冲区(将数据缓冲区中的相应数据更新为所述加密后的更新数据)后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码。
步骤S120,将所述更新数据和校验后得到的所述校验码存储到第二存储介质中。
所述第二存储介质为所述电能表主控芯片的外部存储器。在一些具体实施方式中,所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据,将加密后的更新数据和校验后得到的所述校验码存储到第二存储介质中,即将第二存储介质中对应的数据更新为所述加密后的更新数据,原来存储的校验码更新为本次校验得到的校验码。
步骤S130,当检测所述电能表掉电时,将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中。
所述第一存储介质为所述电能表主控芯片的内部存储器,例如片内flash。例如,当掉电检测模块检测到所述电能表掉电时,将将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中,即将第一存储介质中对应的数据更新为所述加密后的更新数据,原来存储的校验码更新为本次校验得到的校验码。
图3是本发明提供的种电能表的数据处理方法的一具体实施例的方法示意图。上述实施例的具体执行还可以参考图3。如图3所示,当定时时间到或者数据有改变(例如,电能发生变化,配置参数发生变化,出现新的报警信息等),产生了需要更新的电表数据时,先对更新数据进行加密操作,然后将加密后的更新数据更新到数据缓冲区中的对应位置(对应的需更新的数据的存储位置),然后对数据缓冲区中的所有数据进行校验,获得校验码。将校验码和加密后的更新数据一起保存到第二存储介质中。上述加密操作和校验操作不限定某一种具体的加密算法和校验方法。当掉电检测模块检测到掉电动作,产生掉电中断,则将当前数据缓冲区中的加密后的更新数据和校验码更新到第一存储介质中。
图4是本发明提供的电能表的数据处理方法的另一实施例的方法示意图。如图4所示,基于上述实施例,根据本发明的另一个实施例,所述电能表的数据处理方法还包括步骤S140、步骤S150和步骤S160。
步骤S140,当所述电能表重新上电时,读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码。
步骤S150,判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致。
步骤S160,根据判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用。
具体地,当所述电能表掉电后重新上电时,分别读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码,并判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致。
若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码一致,则读取所述第二存储介质中的数据进行使用。在一些具体实施方式中,将所述第二存储介质中的数据放置在所述数据缓冲区进行校验;判断校验得到校验码与所述第二存储介质中存储的校验码是否一致;若是,则对所述第二存储介质中的数据进行使用。由于数据在读取的过程中可能存在干扰,为避免数据出现错误,则将所述第二存储介质中的数据放置在所述数据缓冲区再次进行校验,若校验得到校验码与所述第二存储介质中存储的校验码一致,则可以对所述第二存储介质中的数据进行使用。优选地,对所述第二存储介质中的数据进行解密后使用。
若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码不一致,则读取所述第一存储介质中的数据进行使用。在一些具体实施方式中,将所述第一存储介质中的数据放置在所述数据缓冲区进行校验;判断校验得到校验码与所述第一存储介质中存储的校验码是否一致;若是,则对所述第一存储介质中的数据进行使用。由于数据在读取的过程中可能存在干扰,为避免数据出现错误,则将所述第二存储介质中的数据放置在所述数据缓冲区再次进行校验,若校验得到校验码与所述第二存储介质中存储的校验码一致,则可以对所述第二存储介质中的数据进行使用。优选地,对所述第二存储介质中的数据进行解密后使用。
图5是本发明提供的种电能表的数据处理方法的另一具体实施例的方法示意图。上述实施例的具体执行还可以参考图5。如图5所示,当再次上电时,初始化过程会先读取第一存储介质和第二存储介质中的校验码,若两个存储介质中的校验码相同,则确定第二存储介质中的数据可靠,可直接读取第二存储介质中的数据,将第二存储介质中的数据放置在数据缓冲区,计算校验码和保存的是否一致,若一致则直接解密使用。若校验码不相同,则可能第二存储介质中的数据被篡改或者是因干扰等原因保存失败或保存错误,则读取第一存储介质中的数据,将第一存储介质中的数据放置在数据缓冲区,计算校验码和保存的是否一致,若一致则直接解密使用。
本发明只需通过软件的方式对存储数据进行加密,备份和校验验证,防止存储数据因被篡改或者存储失败而导致的数据错误问题,提高数据可靠性和安全性。
本发明还提供一种电能表的数据处理装置。本发明提供的电能表的数据处理装置可以在电能表的主控芯片MCU中实施。
图6是本发明提供的电能表的数据处理装置的一实施例的结构框图。如图6所示,所述数据处理装置100包括校验单元110、第一存储单元120和第二存储单元130。
校验单元110用于当所述电能表产生需要更新的数据时,将更新数据存放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码。
具体地,当到达预设的定时时间时(可通过RTC或者定时器进行定时)需要对电能表的数据(设定的需要定时更新的数据,例如电能)进行更新(例如,更新电能数据),或者当电能表的数据有改变(例如电能发生改变时,电压改变超过一定阈值时)时,产生了需要更新的电表数据(例如电能、电压)。将更新数据放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码。所述数据缓冲区具体可以为在程序中开辟的一段内存,用来暂存数据。例如可以为一个数组。
在一些具体实施方式中,所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据。也就是说,对需要更新的数据进行加密操作得到加密后的更新数据。将所述加密后的更新数据放置到预设的数据缓冲区(将数据缓冲区中的相应数据更新为所述加密后的更新数据)后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码。
第一存储单元120用于将所述更新数据和校验后得到的所述校验码存储到第二存储介质中,所述第二存储介质为所述电能表主控芯片的外部存储器。
所述第二存储介质为所述电能表主控芯片的外部存储器。在一些具体实施方式中,所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据,将加密后的更新数据和校验后得到的所述校验码存储到第二存储介质中,即将第二存储介质中对应的数据更新为所述加密后的更新数据,原来存储的校验码更新为本次校验得到的校验码。
第二存储单元130用于当检测所述电能表掉电时,将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中。
所述第一存储介质为所述电能表主控芯片的内部存储器,例如片内flash。例如,当掉电检测模块检测到所述电能表掉电时,将将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中,即将第一存储介质中对应的数据更新为所述加密后的更新数据,原来存储的校验码更新为本次校验得到的校验码。
上述实施例的具体执行还可以参考图3。如图3所示,当定时时间到或者数据有改变(例如,电能发生变化,配置参数发生变化,出现新的报警信息等),产生了需要更新的电表数据时,先对更新数据进行加密操作,然后将加密后的更新数据放置到数据缓冲区中的对应位置,然后对数据缓冲区中的所有数据进行校验,获得校验码。将校验码和加密后的更新数据一起保存到第二存储介质中。上述加密操作和校验操作不限定某一种具体的加密算法和校验方法。当掉电检测模块检测到掉电动作,产生掉电中断,则将当前数据缓冲区中的加密后的更新数据和校验码存储到第一存储介质中。
图7是本发明提供的电能表的数据处理装置的另一实施例的结构框图。如图7所示,基于上述实施例,所述数据处理装置100还包括读取单元140和判断单元150。
读取单元140用于当所述电能表重新上电时,读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码;判断单元150用于判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致;所述读取单元140还用于:根据所述判断单元150的判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用。
具体地,当所述电能表掉电后重新上电时,读取单元140分别读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码,判断单元150判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致。
若判断单元150的判断结果为所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码一致,则读取所述第二存储介质中的数据进行使用。在一些具体实施方式中,将所述第二存储介质中的数据放置在所述数据缓冲区进行校验;判断校验得到校验码与所述第二存储介质中存储的校验码是否一致;若是,则对所述第二存储介质中的数据进行使用。由于数据在读取的过程中可能存在干扰,为避免数据出现错误,则将所述第二存储介质中的数据放置在所述数据缓冲区再次进行校验,若校验得到校验码与所述第二存储介质中存储的校验码一致,则可以对所述第二存储介质中的数据进行使用。优选地,对所述第二存储介质中的数据进行解密后使用。
若判断单元150的判断结果为所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码不一致,则读取所述第一存储介质中的数据进行使用。在一些具体实施方式中,将所述第一存储介质中的数据放置在所述数据缓冲区进行校验;判断校验得到校验码与所述第一存储介质中存储的校验码是否一致;若是,则对所述第一存储介质中的数据进行使用。由于数据在读取的过程中可能存在干扰,为避免数据出现错误,则将所述第二存储介质中的数据放置在所述数据缓冲区再次进行校验,若校验得到校验码与所述第二存储介质中存储的校验码一致,则可以对所述第二存储介质中的数据进行使用。优选地,对所述第二存储介质中的数据进行解密后使用。
上述实施例的具体执行还可以参考图5。如图5所示,当再次上电时,初始化过程会先读取第一存储介质和第二存储介质中的校验码,若两个存储介质中的校验码相同,则确定第二存储介质中的数据可靠,可直接读取第二存储介质中的数据,将第二存储介质中的数据放置在数据缓冲区,计算校验码和保存的是否一致,若一致则直接解密使用。若校验码不相同,则可能第二存储介质中的数据被篡改或者是因干扰等原因保存失败或保存错误,则读取第一存储介质中的数据,将第一存储介质中的数据放置在数据缓冲区,计算校验码和保存的是否一致,若一致则直接解密使用。
本发明只需通过软件的方式对存储数据进行加密,备份和校验验证,防止存储数据因被篡改或者存储失败而导致的数据错误问题,提高数据可靠性和安全性。
本发明还提供对应于所述电能表的数据处理方法的一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
本发明还提供对应于所述电能表的数据处理方法的一种电能表,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任一所述方法的步骤。
本发明还提供对应于所述电能表的数据处理装置的一种电能表,包括前述任一所述的电能表的数据处理装置。
据此,本发明提供的方案,电表数据在存储时进行多地存储备份,并进行校验,能够防止存储数据因被篡改或者存储失败而导致的数据错误问题,并且通过加密算法对数据进行加密后,再进行校验、存储操作,能够防止数据被篡改,保证数据的安全性;在电能表掉电重新上电后,通过校验码确定数据的准确性和完整性,并在解密后对数据进行使用,能够保证数据的可靠性和安全性。本发明的技术方案无需额外增加安全芯片,减少成本,只需对软件进行修改,即可提高电表存储数据的安全性。在不增加成本的基础上,通过增加加密存储和校验的方式,提高电能表存储数据的安全性和可靠性。
本文中所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果在由处理器执行的软件中实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体予以传输。其它实例及实施方案在本发明及所附权利要求书的范围及精神内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任何者的组合执行的软件实施。此外,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为控制装置的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种电能表的数据处理方法,其特征在于,包括:
当所述电能表产生需要更新的数据时,将更新数据存放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码;
将所述更新数据和校验后得到的所述校验码存储到第二存储介质中,所述第二存储介质为所述电能表主控芯片的外部存储器;
当检测所述电能表掉电时,将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中,所述第一存储介质为所述电能表主控芯片的内部存储器;
当所述电能表重新上电时,读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码;
判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致;
根据判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用。
2.根据权利要求1所述的方法,其特征在于,
所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据。
3.根据权利要求1或2所述的方法,其特征在于,根据判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:
若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码一致,则读取所述第二存储介质中的数据进行使用;
若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码不一致,则读取所述第一存储介质中的数据进行使用。
4.根据权利要求3所述的方法,其特征在于,
读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:
将所述第一存储介质中的数据或所述第二存储介质中的数据放置在所述数据缓冲区进行校验;
判断校验得到校验码与所述第一存储介质中存储的校验码或所述第二存储介质中存储的校验码是否一致;
若是,则对所述第一存储介质中的数据或所述第二存储介质中的数据进行使用;
和/或,
读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:
对所述第一存储介质中的数据或所述第二存储介质中的数据进行解密后使用。
5.一种电能表的数据处理装置,其特征在于,包括:
校验单元,用于当所述电能表产生需要更新的数据时,将更新数据存放置到预设的数据缓冲区后,对所述数据缓冲区中的所有数据进行校验得到相应的校验码;
第一存储单元,用于将所述更新数据和校验后得到的所述校验码存储到第二存储介质中,所述第二存储介质为所述电能表主控芯片的外部存储器;
第二存储单元,用于当检测所述电能表掉电时,将所述数据缓冲区中的所述更新数据和所述校验码存储到第一存储介质中,所述第一存储介质为所述电能表主控芯片的内部存储器;
读取单元,用于当所述电能表重新上电时,读取所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码;
判断单元,用于判断所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码是否一致;
所述读取单元,还用于:根据所述判断单元的判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用。
6.根据权利要求5所述的装置,其特征在于,
所述更新数据是对所述电能表产生的需要更新的数据进行加密后得到的加密后的数据。
7.根据权利要求6所述的装置,其特征在于,所述读取单元,根据判断结果确定读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:
若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码一致,则读取所述第二存储介质中的数据进行使用;
若所述第一存储介质中存储的校验码和所述第二存储介质中存储的校验码不一致,则读取所述第一存储介质中的数据进行使用。
8.根据权利要求7所述的装置,其特征在于,
所述读取单元,读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:
将所述第一存储介质中的数据或所述第二存储介质中的数据放置在所述数据缓冲区进行校验;
判断校验得到校验码与所述第一存储介质中存储的校验码或所述第二存储介质中存储的校验码是否一致;
若是,则对所述第一存储介质中的数据或所述第二存储介质中的数据进行使用;
和/或,
所述读取单元,读取所述第一存储介质中的数据进行使用或读取所述第二存储介质中的数据进行使用,包括:
对所述第一存储介质中的数据或所述第二存储介质中的数据进行解密后使用。
9.一种存储介质,其特征在于,其上存储有计算机程序,所述程序被处理器执行时实现权利要求1-4任一所述方法的步骤。
10.一种电能表,其特征在于,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-4任一所述方法的步骤,包括如权利要求5-8任一所述的电能表的数据处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179895.1A CN112306410B (zh) | 2020-10-29 | 2020-10-29 | 一种电能表的数据处理方法、装置、存储介质及电能表 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179895.1A CN112306410B (zh) | 2020-10-29 | 2020-10-29 | 一种电能表的数据处理方法、装置、存储介质及电能表 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306410A CN112306410A (zh) | 2021-02-02 |
CN112306410B true CN112306410B (zh) | 2022-09-30 |
Family
ID=74331920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011179895.1A Active CN112306410B (zh) | 2020-10-29 | 2020-10-29 | 一种电能表的数据处理方法、装置、存储介质及电能表 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306410B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428591A (zh) * | 2022-01-27 | 2022-05-03 | 北京海纳川汽车部件股份有限公司 | 车载网关的数据存储方法、读取方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788958A (zh) * | 2010-02-04 | 2010-07-28 | 杭州晟元芯片技术有限公司 | 一种存储器数据保护的方法 |
CN107203436A (zh) * | 2017-05-25 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种Nand Flash数据校验的方法与装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100562857C (zh) * | 2007-12-14 | 2009-11-25 | 华为技术有限公司 | 校验数据的方法和装置 |
CN105334383B (zh) * | 2015-10-21 | 2018-06-22 | 宁波三星医疗电气股份有限公司 | 一种电能表的电量数据存储方法 |
CN107479823B (zh) * | 2016-06-07 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 随机读写文件测试中的数据校验方法和装置 |
CN107451494B (zh) * | 2017-06-30 | 2020-05-22 | 杭州旗捷科技有限公司 | 一种芯片改写设备的数据保护方法、电子设备及存储介质 |
CN107885614A (zh) * | 2017-11-23 | 2018-04-06 | 昌微系统科技(上海)有限公司 | 一种基于存储器的数据处理方法及数据处理装置 |
CN109254734B (zh) * | 2018-09-06 | 2021-12-03 | 郑州云海信息技术有限公司 | 一种数据存储方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-10-29 CN CN202011179895.1A patent/CN112306410B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788958A (zh) * | 2010-02-04 | 2010-07-28 | 杭州晟元芯片技术有限公司 | 一种存储器数据保护的方法 |
CN107203436A (zh) * | 2017-05-25 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种Nand Flash数据校验的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112306410A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102890657B (zh) | 一种减少eeprom的数据读写出错的方法 | |
CN103003799B (zh) | 用于验证存储器器件完整性的方法和系统 | |
CN105334383B (zh) | 一种电能表的电量数据存储方法 | |
EP2749848A1 (en) | Firmware upgrade error detection and automatic rollback | |
CN205594622U (zh) | 一种计算机存储系统 | |
KR20050021922A (ko) | 시큐어 데이터 관리장치 | |
CN103312517B (zh) | 一种双用途设备共用显示屏和按键的实现方法 | |
CN106021002B (zh) | 一种嵌入式设备数据读写方法及装置 | |
CN112306410B (zh) | 一种电能表的数据处理方法、装置、存储介质及电能表 | |
CN110069360B (zh) | 一种电机控制器数据的存储、读取方法及装置 | |
US9665448B2 (en) | Semiconductor integrated circuit | |
CN103530548A (zh) | 基于移动可信计算模块的嵌入式终端可信启动方法 | |
CN103425505B (zh) | 一种ic卡电能表在线升级方法及系统 | |
WO2022083046A1 (zh) | 智能电表校验方法、装置、智能电表及计算机存储介质 | |
CN110457907A (zh) | 一种固件程序检测方法和装置 | |
CN109389697A (zh) | 井下巡检数据录入时间的记录方法、设备及可读存储介质 | |
CN103176859A (zh) | 一种flash数据备份/恢复方法、设备及信号源 | |
CN102520223B (zh) | 用于电能表的软件抗干扰方法 | |
CN105337995A (zh) | 一种智能卡快速个人化方法及系统 | |
CN107606798B (zh) | 联网计时校对方法、系统、计算机、存储介质及电器设备 | |
WO2017080411A1 (zh) | 一种充电参数的校验方法及设备和充电器 | |
JP2010160545A (ja) | 情報処理装置及び情報処理装置の制御方法 | |
CN113884976B (zh) | 一种基于云平台的智能电表数据保护方法、系统 | |
CN104424107B (zh) | 麻醉机标校数据的可靠存储方法及装置 | |
CN105426266A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |