一种掉电保护的控制方法及系统与流程

文档序号:12013260阅读:506来源:国知局
一种掉电保护的控制方法及系统与流程
本发明涉及数据保护和恢复领域,具体涉及一种掉电保护的控制方法及系统。

背景技术:
在国家“金税工程”的大背景下,几年来全国各地都在陆续推广税控收款机、网络开票机等税控装置,以实现发票开具的机打和电子化管理。此类产品涉及国家税收,对机器内数据、IC卡内数据、发票打印数据等的完整性都有很严格的要求。税控收款机的国家标准也明确规定了对发票数据、税控数据需要进行掉电保护,并需要实现发票的断电续打。税控收款机是一个复杂的嵌入式计算机系统,通过灌装了加密算法的税控IC卡实现数据的安全存储和开票权限的控制,税控相关的业务操作都需要与IC卡进行相互校验才能完成,并需要IC卡对数据进行数字签名。所以,所有的税控业务操作都需要进行掉电保护,保证机器与IC卡内数据的一致性和完整性。网络开票机是税控收款机的一类衍生产品,它不使用税控IC卡,而使用USBKey实现数据加密、签名等安全控制。从上可以看出,税控收款机、网络开票机等税控机具在发票分发、导入,发票开机、数据申报等业务过程中所产生的数据,需要经过税控IC卡或USBKey内置算法的加密或签名,同时数据需要在税控机具和IC卡/USBKey中各存储一份。这些业务过程中如果发生系统突然掉电,若没有一个完善的保护和恢复的技术方案,很容易出现机器和IC卡(或USBKey)中数据不一致的情况,或者导致机器数据不完整。

技术实现要素:
本发明所要解决的技术问题在于提供一种掉电保护的控制方法及系统,以解决机器突然掉电导致机器数据不完整的问题。为了解决上述问题,本发明提供了一种掉电保护的控制方法,包括:系统判断若主电源掉电,则置位掉电标识,并通过备用电源的供电进行存储现场数据,所述现场数据中包括掉电的数据、当前过程标识和掉电标识;系统通过存储的所述现场数据,对系统进行恢复。进一步地,上述方法还可包括:所述当前过程标识包括当前主过程标识和该主过程中已经完成的子过程标识。进一步地,上述方法还可包括:所述系统通过存储的所述现场数据,对系统进行恢复的步骤,包括:所述系统读取存储的所述现场数据,判断若掉电标识已置位。则提取所述现场数据中掉电的数据、当前主过程标识和该主过程中已经完成的子过程标识,执行该当前主过程中未完成的子过程,完成对系统进行恢复后,清除掉电标识。进一步地,上述方法还可包括:所述系统完成存储现场数据和掉电标识后,还包括关断备用电源的供电。本发明还提供了一种掉电保护的控制系统,包括:主控制模块、存储模块和备用电源模块,其中,所述主控制模块,用于判断若主电源掉电,则置位掉电标识,并通过所述备用电源模块的供电进行存储现场数据;通过存储的所述现场数据,对系统进行恢复;所述存储模块,用于存储现场数据,所述现场数据中包括掉电的数据、当前过程标识和掉电标识;所述备用电源模块,用于提供掉电保护过程所需的电能。进一步地,上述系统还可包括:所述存储模块存储的现场数据中所述当前过程标识包括当前主过程标识和该主过程中已经完成的子过程标识。进一步地,上述系统还可包括:所述主控制模块通过存储的所述现场数据,对系统进行恢复,是指:所述主控制模块读取存储的所述现场数据,判断若掉电标识已置位。则提取所述现场数据中掉电的数据、当前主过程标识和该主过程中已经完成的子过程标识,执行该当前主过程中未完成的子过程,完成对系统进行恢复后,清除掉电标识。进一步地,上述系统还可包括:所述主控制模块,还用于完成存储现场数据和掉电标识后,关断备用电源的供电。进一步地,上述系统还可包括:所述备用电源模块为电容元件。与现有技术相比,应用本发明,解决了机器突然掉电导致机器数据不完整的问题。本发明的控制方法不但很好的实现了税控业务的掉电数据保护和开机恢复,保证了业务操作的完整性和机卡数据的一致性,还能很好的实现发票的断电续打。该方法实现简单、可靠,同时具有较强的通用性,可以应用在其他类似的需要做数据和过程保护的系统中。附图说明图1为本发明的掉电保护的控制方法的流程图。图2为本发明的掉电保护的控制系统的结构示意图。具体实施方式下面结合附图和具体实施方式对本发明作进一步说明。本发明的方法可用于税控装置的掉电保护,但不限于税控领域,也可用于其他类似的需要掉电数据保护和恢复的系统(例如需要现场保护与开机恢复的嵌入式系统)中。该控制方法由两大部分组成:掉电保护过程和开机恢复过程。掉电保护过程,是在系统发生断电时触发掉电中断,在备份电源提供的短时间供电时间内,将需要保护的现场信息和数据存储到非易失存储器如Flash中,之后关断备份电源。开机恢复过程,是在系统开机过程中检测掉电存储区的掉电标识和现场数据,根据掉电保护过程存储的现场信息(断电现场位置、关键数据等),跳转到断电现场用关键数据继续执行,从而使发生掉电的数据操作过程能够恢复并正常执行完毕,保证了数据操作的完整性。恢复过程中若再次发生掉电,能再次执行保护过程,即该机制支持多层嵌套保护。开机恢复过程执行完毕后退出,继续正常启动系统。本发明的控制方法不但很好的实现了税控业务的掉电数据保护和开机恢复,保证了业务操作的完整性和机卡数据的一致性,还能很好的实现发票的断电续打。该方法实现简单、可靠,同时具有较强的通用性,可以应用在其他类似的需要做数据和过程保护的系统中。如图1所示,本发明的一种掉电保护的控制方法,包括:步骤110、系统判断若主电源掉电,则置位掉电标识,并通过备用电源的供电进行存储现场数据,所述现场数据中包括掉电的数据、当前过程标识和掉电标识;所述当前过程标识包括当前主过程标识和该主过程中已经完成的子过程标识,其中一个主过程可包括多个子过程。主过程对应大的业务操作,如初始化、发票分发、发票导入、发票开具、申报、完税等,子过程则是主过程具体实现步骤进一步的细分。一个主过程包含多个子过程,每一个子过程是一个最小的原子操作。所谓原子操作就是其执行一旦开始就必须完整结束,不允许被中断。由“关掉电中断”和“开掉电中断”一对操作包围起来的一段操作就是原子操作。由此可见,组成一个主过程的各子过程之间才可以响应掉电中断。为保证中断响应的实时性,原子操作越短越好。所述掉电的数据为关键数据,即所处主过程所需的输入数据。步骤120、系统通过存储的所述现场数据,对系统进行恢复。所述系统通过存储的所述现场数据,对系统进行恢复的步骤,包括:所述系统读取存储的所述现场数据,判断若掉电标识已置位。则提取所述现场数据中掉电的数据、当前主过程标识和该主过程中已经完成的子过程标识,执行该当前主过程中未完成的子过程,完成对系统进行恢复后,清除掉电标识。通过系统恢复保证了业务操作的完整性和机卡数据的一致性,还能很好的实现发票的断电续打。还包括:所述系统完成存储现场数据和掉电标识后,还包括关断备用电源的供电,以保持其电量。如图2所示,本发明还提供了一种掉电保护的控制系统,包括主控制模块21、存储模块22和备用电源模块23,其中,所述主控制模块21,用于判断若主电源掉电,则置位掉电标识,并通过所述备用电源模块23的供电进行存储现场数据;通过存储的所述现场数据,对系统进行恢复;所述存储模块22,用于存储现场数据,所述现场数据中包括掉电的数据、当前过程标识和掉电标识;所述备用电源模块23,用于提供掉电保护过程所需的电能。所述存储模块22存储的现场数据中所述当前过程标识包括当前主过程标识和该主过程中已经完成的子过程标识,所述存储模块可以包括内存RAM和非易失存储器Flash等。所述主控制模块通过存储的所述现场数据,对系统进行恢复,是指:所述主控制模块读取存储的所述现场数据,判断若掉电标识已置位。则提取所述现场数据中掉电的数据、当前主过程标识和该主过程中已经完成的子过程标识,执行该当前主过程中未完成的子过程,完成对系统进行恢复后,清除掉电标识。所述主控制模块21,还用于完成存储现场数据和掉电标识后,关断备用电源的供电。所述备用电源模块为电容元件,电容元件可以为1-3F的法拉电容(可提供2-3秒的供电)或KuF级别的电解电容(能够提供待保护电路稳定供电0.5秒以上)等。下面结合实例对本方法的使用流程进行说明。本发明的实施主要在于所保护的系统的业务软件的设计,但也依赖于硬件上的一个备份电源电路,提供掉电保护过程所需的电能。备用电源电路充放电可以控制,典型的可用1-3F的法拉电容做储能器件,根据待保护的电路的功耗,储能器件提供2-3秒的供电,即可满足掉电保护的需要,并留有较大的余量。待保护的电路包括CPU、内存RAM、非易失存储器Flash等。一般来说,能够提供待保护电路稳定供电0.5秒以上(甚至可以更短时间)即可保证掉电保护功能的正常工作,故储能器件也可使用KuF级别的电解电容。该电路实现简单,成本低廉。系统正常工作过程中,主电源给备用电源充电的同时,经过备用电源电路后提供CPU、RAM等使用,同时主电源也受CPU监控。系统意外断电时,电源检测电路给出掉电中断信号给CPU,同时主电源转由备用电源提供。CPU收到中断请求后,在备用电源提供的时间内完成掉电保护的现场数据存储等工作。完成现场保护后,CPU还可以主动关断备用电源的供电,以保持其电量。掉电保护和恢复过程需要软件来实现。软件上,将需要保护的一个独立的业务操作定义为一个主过程,如发票分发主过程、发票开具主过程、数据申报主过程等。每个主过程又根据其所包含的若干操作步骤,划分为若干个子过程。给每个主过程、子过程赋予一个唯一的过程编号,如:主过程1,2,..N,1号主过程的子过程11,12,1N等。掉电保护过程,包括:若干个子过程的顺序执行构成了一个主过程。一个子过程开始时,首先检查是否已将所处主过程所需的输入数据(关键数据)保存至掉电数据结构体中,如未保存则执行保存。之后屏蔽掉电中断,以保证其原子性;然后将当前所处主过程标识和子过程标识写入掉电数据结构体,并置位掉电标识;接下来执行子过程操作,操作完毕后打开掉电中断。这样,一个完整的子过程操作就执行完毕。由于只能在一个子过程的尾部响应掉电中断,故系统发生掉电进行中断处理时,掉电数据结构体中总是已经存储了掉电的关键数据、当前主过程标识、已经完成的子过程标识以及掉电标识,中断处理可以将掉电数据存储到掉电文件或非易失存储器Flash的掉电分区,以供开机恢复过程使用。如在所有子过程执行过程中,未发生掉电的话,在主过程末尾会清除掉电标识,以防止执行开机恢复。至此,一个完整的主业务过程处理完毕。正常执行未发生掉电时,掉电标识不会置位,正常操作不受掉电影响;一旦中间环节发生掉电,可以将该时刻的现场信息(关键数据、主子过程标识、掉电标识等)在中断处理时写入掉电文件或掉电数据区,从而实现完整的掉电现场记录。开机恢复过程,包括:系统开机初始化过程中,有一步掉电检查和恢复的子过程。首先读取掉电文件或掉电数据区信息,检查掉电标识是否置位。如未置位则跳出该子过程,继续执行其他初始化步骤;如置位,则继续提取掉电的主过程标识和子过程标识,跳转到相应的现场位置,使用关键数据完成该主过程剩余子过程的执行,从而保证主过程数据和操作的完整性,最终保证机器、IC卡、USBKey内数据的一致性和完整性。恢复子过程完成后,继续执行其他初始化步骤,完成系统正常启动。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1