一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种锂电池检测终端系统故障自恢复方法及系统与流程

2022-03-16 04:54:40 来源:中国专利 TAG:


1.本发明涉及锂电池技术领域,特别指一种锂电池检测终端系统故障自恢复方法及系统。


背景技术:

2.锂电池检测终端多以flash芯片来保存非易失性数据,flash芯片的类型包括nor flash和nand flash。nor flash虽无烧写次数限制的问题,但价格偏贵,不适合用在锂电池检测终端中存储大容量的非易失性数据;nand flash因为成本低,适合用在锂电池检测终端中存储大容量的非易失性数据,但由于其物理及工艺特性,又存在着烧写次数有限以及坏块的问题。
3.尽管硬件驱动程序和文件系统中有针对nand flash缺陷的处理机制,但实际应用中还是频频造成锂电池检测终端的系统故障,导致系统无法正常启动或是不能正常工作的问题;另外,用户实际使用中的误操作,也有可能造成系统文件或是配置文件缺失,从而会引起系统故障。
4.针对锂电池检测终端的系统故障,传统上需要售后维修人员重新烧录锂电池检测终端的系统固件,费时费力,且锂电池检测终端的应用范围广泛,导致故障维护的成本极高。因此,如何提供一种锂电池检测终端系统故障自恢复方法及系统,实现提升锂电池检测终端运行的稳定性,降低维护成本,成为一个亟待解决的技术问题。


技术实现要素:

5.本发明要解决的技术问题,在于提供一种锂电池检测终端系统故障自恢复方法及系统,实现提升锂电池检测终端运行的稳定性,降低维护成本。
6.第一方面,本发明提供了一种锂电池检测终端系统故障自恢复方法,包括如下步骤:
7.步骤s10、锂电池检测终端定期对包括系统内核文件、关键系统文件以及应用的备份数据进行备份;
8.步骤s20、锂电池检测终端上电启动后,自动运行引导程序,通过引导程序将各分区的系统内核读取到内存中;
9.步骤s30、通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行校验,通过所述备份数据对校验失败的系统内核文件进行恢复后,将各根文件系统挂载到对应分区的系统内核中;
10.步骤s40、通过第二校验算法对各所述根文件系统携带的关键系统文件进行校验,通过所述备份数据对校验失败的关键系统文件进行恢复后,将各应用挂载到对应分区的系统内核中;
11.步骤s50、通过第三校验算法依次对各分区的所述应用进行校验,通过所述备份数据对校验失败的应用进行恢复后,完成锂电池检测终端的系统的启动。
12.进一步地,所述步骤s10具体为:
13.锂电池检测终端创建一备份周期以及一备份路径,基于所述备份周期定期将备份数据备份至备份路径内;
14.所述备份数据包括系统内核文件、关键系统文件以及应用。
15.进一步地,所述步骤s30具体包括:
16.步骤s31、通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行计算得到第一校验码,判断所述第一校验码与系统内核文件携带的校验码是否一致,若是,则校验通过,进入步骤s33;若否,则校验失败,进入步骤s32;
17.步骤s32、通过所述备份数据对校验失败的系统内核文件进行恢复后,自动重启系统,进入步骤s20;
18.步骤s33、将各根文件系统挂载到对应分区的系统内核中。
19.进一步地,所述步骤s40具体包括:
20.步骤s41、通过第二校验算法对各所述根文件系统携带的关键系统文件进行计算得到第二校验码,判断所述第二校验码与关键系统文件携带的校验码是否一致,若是,则校验通过,进入步骤s43;若否,则校验失败,进入步骤s42;
21.步骤s42、通过所述备份数据对校验失败的关键系统文件进行恢复后,自动重启系统,进入步骤s20;
22.步骤s43、将各应用挂载到对应分区的系统内核中。
23.进一步地,所述步骤s50具体包括:
24.步骤s51、获取各分区的挂载状态标识,基于所述挂载状态标识判断是否完成所有应用的挂载,若是,则进入步骤s52;若否,则继续挂载剩余的应用,并在更新所述挂载状态标识后,进入步骤s52;
25.步骤s52、将各分区的所有应用打包为应用包,通过第三校验算法依次对各应用包进行计算得到第三校验码,判断所述第三校验码与应用包预先计算的校验码是否一致,若是,则校验通过,完成锂电池检测终端的系统的启动;若否,则校验失败,进入步骤s52;
26.步骤s52、通过所述备份数据对校验失败的应用包中的所有应用进行恢复后,自动重启系统,进入步骤s20。
27.第二方面,本发明提供了一种锂电池检测终端系统故障自恢复系统,包括如下模块:
28.数据备份模块,用于锂电池检测终端定期对包括系统内核文件、关键系统文件以及应用的备份数据进行备份;
29.系统内核读取模块,用于锂电池检测终端上电启动后,自动运行引导程序,通过引导程序将各分区的系统内核读取到内存中;
30.系统内核文件校验模块,用于通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行校验,通过所述备份数据对校验失败的系统内核文件进行恢复后,将各根文件系统挂载到对应分区的系统内核中;
31.关键系统文件校验,用于通过第二校验算法对各所述根文件系统携带的关键系统文件进行校验,通过所述备份数据对校验失败的关键系统文件进行恢复后,将各应用挂载到对应分区的系统内核中;
32.应用校验模块,用于通过第三校验算法依次对各分区的所述应用进行校验,通过所述备份数据对校验失败的应用进行恢复后,完成锂电池检测终端的系统的启动。
33.进一步地,所述数据备份模块具体为:
34.锂电池检测终端创建一备份周期以及一备份路径,基于所述备份周期定期将备份数据备份至备份路径内;
35.所述备份数据包括系统内核文件、关键系统文件以及应用。
36.进一步地,所述系统内核文件校验模块具体包括:
37.第一校验单元,用于通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行计算得到第一校验码,判断所述第一校验码与系统内核文件携带的校验码是否一致,若是,则校验通过,进入根文件系统挂载单元;若否,则校验失败,进入系统内核文件恢复单元;
38.系统内核文件恢复单元,用于通过所述备份数据对校验失败的系统内核文件进行恢复后,自动重启系统,进入系统内核读取模块;
39.根文件系统挂载单元,用于将各根文件系统挂载到对应分区的系统内核中。
40.进一步地,所述关键系统文件校验具体包括:
41.第二校验单元,用于通过第二校验算法对各所述根文件系统携带的关键系统文件进行计算得到第二校验码,判断所述第二校验码与关键系统文件携带的校验码是否一致,若是,则校验通过,进入应用挂载单元;若否,则校验失败,进入关键系统文件恢复单元;
42.关键系统文件恢复单元,用于通过所述备份数据对校验失败的关键系统文件进行恢复后,自动重启系统,进入系统内核读取模块;
43.应用挂载单元,用于将各应用挂载到对应分区的系统内核中。
44.进一步地,所述应用校验模块具体包括:
45.挂载状态标识验证单元,用于获取各分区的挂载状态标识,基于所述挂载状态标识判断是否完成所有应用的挂载,若是,则进入第三校验单元;若否,则继续挂载剩余的应用,并在更新所述挂载状态标识后,进入第三校验单元;
46.第三校验单元,用于将各分区的所有应用打包为应用包,通过第三校验算法依次对各应用包进行计算得到第三校验码,判断所述第三校验码与应用包预先计算的校验码是否一致,若是,则校验通过,完成锂电池检测终端的系统的启动;若否,则校验失败,进入应用恢复单元;
47.应用恢复单元,用于通过所述备份数据对校验失败的应用包中的所有应用进行恢复后,自动重启系统,进入系统内核读取模块。
48.本发明的优点在于:
49.1、通过定期对系统内核文件、关键系统文件以及应用进行备份,并在系统启动时,利用校验算法依次对系统内核文件、关键系统文件以及应用进行校验,若校验失败则说明文件损坏,利用备份数据恢复对应的文件后,自动重启系统重新进行校验,直至系统内核文件、关键系统文件以及应用均校验通过后,正常启动系统,即系统内核文件、关键系统文件以及应用中的任何一个文件损坏时,均可利用备份数据进行自动恢复和重启,无需像传统上重新烧录系统固件,使得nand flash也能得到很好的应用,最终极大的提升了锂电池检测终端运行的稳定性,极大的降低了维护成本以及硬件成本。
50.2、由于一个系统中包含的应用数量很多,通过分别将各分区的所有应用打包为应用包进行统一的计算校验,极大的提升了应用校验的效率。
51.3、通过第一校验算法、第二校验算法以及第三校验算法分别对系统内核文件、关键系统文件以及应用进行校验,即未限定必须使用相同的校验算法,可按需使用不同的校验算法对系统内核文件、关键系统文件以及应用进行校验,增加了校验算法被破解的难度,进而极大的提升了安全性。
附图说明
52.下面参照附图结合实施例对本发明作进一步的说明。
53.图1是本发明一种锂电池检测终端系统故障自恢复方法的流程图。
54.图2是本发明一种锂电池检测终端系统故障自恢复方法的流程示意图。
55.图3是本发明一种锂电池检测终端系统故障自恢复系统的结构示意图。
具体实施方式
56.本技术实施例中的技术方案,总体思路如下:在系统启动时,利用校验算法依次对系统内核文件、关键系统文件以及应用进行校验,若校验失败则说明文件损坏,利用备份数据恢复对应的文件后,自动重启系统重新进行校验,直至系统内核文件、关键系统文件以及应用均校验通过后,正常启动系统,以提升锂电池检测终端运行的稳定性,降低维护成本。
57.请参照图1至图3所示,本发明一种锂电池检测终端系统故障自恢复方法的较佳实施例,包括如下步骤:
58.步骤s10、锂电池检测终端定期对包括系统内核文件、关键系统文件以及应用的备份数据进行备份;
59.步骤s20、锂电池检测终端上电启动后,系统自动运行引导程序(bootloader),通过引导程序将各分区的系统内核(kernel)读取到内存中;
60.步骤s30、通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行校验,通过所述备份数据对校验失败的系统内核文件进行恢复后,将各根文件系统(root file system)挂载到对应分区的系统内核中;
61.步骤s40、通过第二校验算法对各所述根文件系统携带的关键系统文件进行校验,通过所述备份数据对校验失败的关键系统文件进行恢复后,将各应用挂载到对应分区的系统内核中;
62.步骤s50、通过第三校验算法依次对各分区的所述应用进行校验,通过所述备份数据对校验失败的应用进行恢复后,完成锂电池检测终端的系统的启动。
63.所述第一校验算法、第二校验算法以及第三校验算法并不局限于何种算法,例如可按需从crc32、dm5或者sha-1中选择,而采用不同的校验算法可增加校验算法被破解的难度,进而提升安全性。
64.所述步骤s10具体为:
65.锂电池检测终端创建一备份周期以及一备份路径,基于所述备份周期定期(周期性)将备份数据备份至备份路径内;具体实施时,可对备份的所述备份数据进行加密,以提升数据安全性;
66.所述备份数据包括系统内核文件、关键系统文件以及应用。
67.所述步骤s30具体包括:
68.步骤s31、通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行计算得到第一校验码,判断所述第一校验码与系统内核文件携带的校验码是否一致,若是,则校验通过,进入步骤s33;若否,则校验失败,进入步骤s32;
69.步骤s32、通过所述备份数据对校验失败的系统内核文件进行恢复后,自动重启系统,进入步骤s20;
70.步骤s33、将各根文件系统挂载到对应分区的系统内核中。
71.所述步骤s40具体包括:
72.步骤s41、通过第二校验算法对各所述根文件系统携带的关键系统文件进行计算得到第二校验码,判断所述第二校验码与关键系统文件携带的校验码是否一致,若是,则校验通过,进入步骤s43;若否,则校验失败,进入步骤s42;
73.步骤s42、通过所述备份数据对校验失败的关键系统文件进行恢复后,自动重启系统,进入步骤s20;
74.步骤s43、将各应用挂载到对应分区的系统内核中。例如将不同的应用分别挂载到app分区、dada分区、conf分区等分区。
75.所述步骤s50具体包括:
76.步骤s51、获取各分区的挂载状态标识,基于所述挂载状态标识判断是否完成所有应用的挂载,若是,则进入步骤s52;若否,则继续挂载剩余的应用,并在更新所述挂载状态标识后,进入步骤s52;所述挂载状态标识用于标识所有的应用是否都已完成挂载;
77.步骤s52、分别将各分区的所有应用打包为应用包,通过第三校验算法依次对各应用包进行计算得到第三校验码,判断所述第三校验码与应用包预先计算的校验码是否一致,若是,则校验通过,完成锂电池检测终端的系统的启动;若否,则校验失败,进入步骤s52;
78.步骤s52、通过所述备份数据对校验失败的应用包中的所有应用进行恢复后,自动重启系统,进入步骤s20。
79.即先对第一分区的应用包进行校验,校验通过再对第二分区的应用包进行校验,校验通过再对第三分区的应用包进行校验,以此类推。
80.本发明一种锂电池检测终端系统故障自恢复系统的较佳实施例,包括如下模块:
81.数据备份模块,用于锂电池检测终端定期对包括系统内核文件、关键系统文件以及应用的备份数据进行备份;
82.系统内核读取模块,用于锂电池检测终端上电启动后,系统自动运行引导程序(bootloader),通过引导程序将各分区的系统内核(kernel)读取到内存中;
83.系统内核文件校验模块,用于通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行校验,通过所述备份数据对校验失败的系统内核文件进行恢复后,将各根文件系统(root file system)挂载到对应分区的系统内核中;
84.关键系统文件校验,用于通过第二校验算法对各所述根文件系统携带的关键系统文件进行校验,通过所述备份数据对校验失败的关键系统文件进行恢复后,将各应用挂载到对应分区的系统内核中;
85.应用校验模块,用于通过第三校验算法依次对各分区的所述应用进行校验,通过所述备份数据对校验失败的应用进行恢复后,完成锂电池检测终端的系统的启动。
86.所述第一校验算法、第二校验算法以及第三校验算法并不局限于何种算法,例如可按需从crc32、dm5或者sha-1中选择,而采用不同的校验算法可增加校验算法被破解的难度,进而提升安全性。
87.所述数据备份模块具体为:
88.锂电池检测终端创建一备份周期以及一备份路径,基于所述备份周期定期(周期性)将备份数据备份至备份路径内;具体实施时,可对备份的所述备份数据进行加密,以提升数据安全性;
89.所述备份数据包括系统内核文件、关键系统文件以及应用。
90.所述系统内核文件校验模块具体包括:
91.第一校验单元,用于通过第一校验算法对各分区的所述系统内核携带的系统内核文件进行计算得到第一校验码,判断所述第一校验码与系统内核文件携带的校验码是否一致,若是,则校验通过,进入根文件系统挂载单元;若否,则校验失败,进入系统内核文件恢复单元;
92.系统内核文件恢复单元,用于通过所述备份数据对校验失败的系统内核文件进行恢复后,自动重启系统,进入系统内核读取模块;
93.根文件系统挂载单元,用于将各根文件系统挂载到对应分区的系统内核中。
94.所述关键系统文件校验具体包括:
95.第二校验单元,用于通过第二校验算法对各所述根文件系统携带的关键系统文件进行计算得到第二校验码,判断所述第二校验码与关键系统文件携带的校验码是否一致,若是,则校验通过,进入应用挂载单元;若否,则校验失败,进入关键系统文件恢复单元;
96.关键系统文件恢复单元,用于通过所述备份数据对校验失败的关键系统文件进行恢复后,自动重启系统,进入系统内核读取模块;
97.应用挂载单元,用于将各应用挂载到对应分区的系统内核中。例如将不同的应用分别挂载到app分区、dada分区、conf分区等分区。
98.所述应用校验模块具体包括:
99.挂载状态标识验证单元,用于获取各分区的挂载状态标识,基于所述挂载状态标识判断是否完成所有应用的挂载,若是,则进入第三校验单元;若否,则继续挂载剩余的应用,并在更新所述挂载状态标识后,进入第三校验单元;所述挂载状态标识用于标识所有的应用是否都已完成挂载;
100.第三校验单元,用于分别将各分区的所有应用打包为应用包,通过第三校验算法依次对各应用包进行计算得到第三校验码,判断所述第三校验码与应用包预先计算的校验码是否一致,若是,则校验通过,完成锂电池检测终端的系统的启动;若否,则校验失败,进入应用恢复单元;
101.应用恢复单元,用于通过所述备份数据对校验失败的应用包中的所有应用进行恢复后,自动重启系统,进入系统内核读取模块。
102.即先对第一分区的应用包进行校验,校验通过再对第二分区的应用包进行校验,校验通过再对第三分区的应用包进行校验,以此类推。
103.综上所述,本发明的优点在于:
104.1、通过定期对系统内核文件、关键系统文件以及应用进行备份,并在系统启动时,利用校验算法依次对系统内核文件、关键系统文件以及应用进行校验,若校验失败则说明文件损坏,利用备份数据恢复对应的文件后,自动重启系统重新进行校验,直至系统内核文件、关键系统文件以及应用均校验通过后,正常启动系统,即系统内核文件、关键系统文件以及应用中的任何一个文件损坏时,均可利用备份数据进行自动恢复和重启,无需像传统上重新烧录系统固件,使得nand flash也能得到很好的应用,最终极大的提升了锂电池检测终端运行的稳定性,极大的降低了维护成本以及硬件成本。
105.2、由于一个系统中包含的应用数量很多,通过分别将各分区的所有应用打包为应用包进行统一的计算校验,极大的提升了应用校验的效率。
106.3、通过第一校验算法、第二校验算法以及第三校验算法分别对系统内核文件、关键系统文件以及应用进行校验,即未限定必须使用相同的校验算法,可按需使用不同的校验算法对系统内核文件、关键系统文件以及应用进行校验,增加了校验算法被破解的难度,进而极大的提升了安全性。
107.虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献