一种保护用量数据的存储处理方法及装置的制造方法_3

文档序号:9564542阅读:来源:国知局
第二状态值时,根据所述源用量数据、所述备份数据、所述源用量数据的源数据区标识、所述备份数据的备份数据区标识和最小分辨率的值确定合法的用量数据,并将该合法的用量数据恢复到所述缓存区,具体实例可参照下1-4 ;
[0082]当读取的步进控制字的值是第三状态值时,根据所述源用量数据、所述备份数据和最小分辨率的值确定合法的用量数据,并将该合法的用量数据恢复到所述缓存区,具体实例可参照下6 ;
[0083]当读取的步进控制字的值是第四状态值时,取源用量数据为合法的用量数据,并将该源用量数据恢复到所述缓存区,具体实例可参照下7 ;
[0084]当读取的步进控制字的值是第五状态值时,根据对备份数据的校验结果取源用量数据或备份数据恢复到所述缓存区,具体实例可参照下8。
[0085]例如:1,当存储操作在第一步就被意外中断即rStep_state = 1,并需要进行用量数据刷新时,如果是现有技术,则会选择多数相同数据进行刷新,从而丢失新的用量数据,而本实施例根据步进控制状态字rStep_State,可直接知道发生用量数据刷新存储时出现意外,当源用量数据与备份数据相差最小分辨率的值时,则证明源用量数据已经正确写入存储器,可按照正常步进存储控制流程完成存储流程(该存储流程包括将用量数据恢复到缓存区),从而达到刷新数据不丢失的目的;
[0086]2,源用量数据与备份数据相等,则源用量数据加上最小分辨率的值后重新完成整个存储流程,,避免丢失刷新用量数据;
[0087]3,当源数据区的源用量数据与备份区的备份数据差值大于最小分辨率,且对源用量数据的校验结果为非法时,则对备份数据进行校验。若备份数据的校验结果为合法数据,则将备份数据加上最小分辨率的值后作为刷新的用量数据重新完成步进控制存储流程;若备份数据的校验结果也为非法数据,即整个存储器数据已经被破坏,应及时报警并保留现场退出;
[0088]4,对源数据区的源用量数据的校验结果为合法,且备份数据区标识正常,则对备份数据进行校验。若备份数据的校验结果为合法,则将备份数据加上最小分辨率值后作为刷新的用量数据重新完成步进控制存储流程,并根据存储流程顺序,视备份数据为合法数据;若备份数据的校验结果为非法,且源数据区标识正常,则继续完成存储写入操作,视源数据区的源用量数据为合法数据;
[0089]5,对源数据区的源用量数据的校验结果为合法,且备份数据区标识异常,则继续完成存储写入操作,视源数据区的源用量数据为合法数据;
[0090]本实施例提供的上述恢复方法结合了源数据区标识、备份数据区标识,根据源数据及备份数据的校验和验证手段,实现用量数据准确、可靠的恢复或保存,不因意外干扰丢失新刷新数据。
[0091]6,当中断出现在rSkp_State = 2时,需要校验源用量数据是否处于可靠保存状态,可根据源用量数据校验和比对是否合法来确定。如源用量数据合法,则与备份数据比对是否相差最小分辨率的值,即单位步进量,如果相差超出单位步进量,则取备份数据加上单位步进量重新保存到源用量数据区域中,并继续完成存储流程;如果相差为单位步进量,则继续完成存储过程。如果源用量数据为非法,则取备份数据校验合法后加上单位步进量重新保存到源用量数据区域中,并继续完成存储过程。根据存储流程,源用量数据保存操作先于备份数据,且备份数据与源数据并不在同一区域或同一页面上,所以可视备份数据为可靠的合法数据。
[0092]7,当中断出现在rStep_state = 3时,即存储流程处于备份数据存储操作,可直接取源用量数据备份到备份数据区域,并继续完成存储操作流程。
[0093]8,当中断出现在rStep_statee = 4时,即校验备份数据是否可靠保存状态,根据与源用量数据比对,相等即完成最后的存储流程;不等则从rStep_State = 3流程从新保存源用量数据到备份数据区域中并完成存储流程。
[0094]此外,在源用量数据存储及用量数据恢复操作时,需要重点关注存储器的硬件状态,根据源数据区和备份数据区的存储器状态标志,合理的使用存储器中源区或备份区的数据,并根据存储器状态和数据合法性判断,尽早的上报到管理系统,减少因存储器损坏而有可能造成的因数据无法存储到存储器中,当意外出现时,用量数据丢失而带来的经济损失和纠纷。因此,在优选方案中,本实施例提供的方法还包括:根据预设的写入次数阈值判断写入数据的存储区域是否合法;若判定写入数据的存储区域为非法,则修改写入数据的存储区域。
[0095]为尽量充分利用存储器,延长存储器使用寿命,本发明实施例在数据存储操作时使用了数据指针,当某单元或某块存储区域损坏时,更换新的存储单元及或存储区域,使得存储器的利用率达到最大。例如:预设写入次数阈值为3。可根据存储数据的源用量数据的首地址和目的数据指针的地址计算出存储区域,而当数据存储操作写入该存储区域的次数超过3次判定为非法时,修改存储区域的指针,并保存到适当的地方,同时判断该数据存储区域是否溢出,并给出相应的错误状态标志。
[0096]本实施例提供的方法中,通过采用对存储数据过程中的每个流程均设置步进控制字的方式记录存储流程,以便在存储中遇到中断时,可以后继在恢复用量数据时可以准确的定位到存储中断的流程,并根据各中断流程的特点进行恢复,因此可直观知道数据在存储操作中所处的状态、步骤,取得可根据数据存储步进控制字对数据进行纠错和恢复,可保证刷新的用量数据不丢失的技术效果。
[0097]实施例2
[0098]为了便于实施例1中的方法实现,本实施例提供一种保护用量数据的存储处理装置,该装置可以安装在智能化电子计量仪表上或其中的MCU中,或该装置可以就是一个计量仪表或MCU。如图4所示,包括:步进设置模块21和恢复模块22。
[0099]步进设置模块21,用于在存储用量数据到存储区时,为存储用量数据的每一流程设置步进控制字;恢复模块22,用于在恢复用量数据到缓存区时,读取步进控制字,并根据读取的步进控制字判断用量数据存入存储区的过程是否有中断,再根据判断的结果恢复用量数据。
[0100]具体地,步进设置模块21,具体用于初始状态时,设置步进控制字的值为第一状态值;开始存储源用量数据时,设置步进控制字的值为第二状态值;源用量数据存储校验时,设置步进控制字的值为第三状态值;开始存储源用量数据的备份数据时,设置步进控制字的值为第四状态值;备份数据校验时,设置步进控制字的值为第五状态值。
[0101]恢复模块22包括:
[0102]初始恢复单元,用于在读取的步进控制字的值是第一状态值时,判定用量数据存入存储区的过程没有中断,恢复用量数据到缓存区;
[0103]纠错恢复单元,用于在设置的步进控制字的值不是第一状态值时,判定用量数据存入存储区的过程有中断,并根据读取的步进控制字的值对用量数据的进行合法性处理以便恢复用量数据到缓存区。
[0104]其中,纠错恢复单元,具体用于在设置的步进控制字的值不是第一状态值时,判定用量数据存入存储区的过程有中断,并在当读取的步进控制字的值是第二状态值时,根据所述源用量数据、所述备份数据、所述源用量数据的源数据区标识、所述备份数据的备份数据区标识和最小分辨率的值确定合法的用量数据,并将该合法的用量数据恢复到所述缓存区;在当读取的步进控制字的值是第三状态值时,根据所述源用量数据、所述备份数据和最小分辨率的值确定合法的用量数
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1