一种嵌入式操作系统备份与恢复的方法及装置的制造方法

文档序号:9417264阅读:693来源:国知局
一种嵌入式操作系统备份与恢复的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种嵌入式操作系统备份与恢复的方法及
目.0
【背景技术】
[0002]嵌入式操作系统是嵌入式系统的操作系统,是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统,通过对嵌入式系统的全部软件、硬件资源进行分配,实现控制、监视或辅助设备、机器以及工厂运作,执行带有特定要求的预先定义的任务。
[0003]嵌入式操作系统在实际使用过程中,由于掉电、用户错误或恶意地对数据进行修改和删除以及一部分无法在开发中充分测试的错误等都会导致嵌入式操作系统功能失效,严重的还可能导致嵌入式操作系统瘫痪。
[0004]目前,当嵌入式操作系统出现问题无法启动时,需要人工对系统进行更新,重新布置嵌入式操作系统。
[0005]由于存储嵌入式操作系统的非易失存储器一般都位于设备内部,通过人工对嵌入式操作系统进行更新时,由于非易失存储器安装位置的原因,导致嵌入式操作系统更新困难,嵌入式操作系统恢复需要较长时间。

【发明内容】

[0006]本发明提供一种嵌入式操作系统备份与恢复的方法及装置,能够减少嵌入式操作系统恢复所需的时间。
[0007]本发明实施例提供了一种嵌入式操作系统备份与恢复的方法,划分至少两个存储分区,在每个所述存储分区内均存储所述嵌入式操作系统的镜像文件,对所述至少两个存储分区中的指定存储分区设置引导标识,还包括:
[0008]检测当前具有所述引导标识的当前第一存储分区;
[0009]将所述引导标识转移至所述至少两个存储分区中的当前第二存储分区;
[0010]加载所述当前第一存储分区内的所述镜像文件,启动所述嵌入式操作系统;
[0011]判断所述嵌入式操作系统是否启动成功;
[0012]如果是,将所述引导标识转移至所述当前第一存储分区,如果否,将所述当前第二存储分区作为第一存储分区,返回执行所述检测当前具有所述引导标识的当前第一存储分区。
[0013]优选地,当所述存储分区个数大于两个时,对各个所述存储分区进行循环排序,所述指定存储分区为:排于第一个的存储分区;
[0014]所述当前第二存储分区包括:如果所述当前第一存储分区为所述存储分区排序中的最后一个存储分区,则所述当前第二存储分区为所述存储分区排序中的第一个存储分区,如果所述当前第一存储分区不是所述存储分区排序中的最后一个,则所述当前第二存储分区为与所述当前第一存储分区相邻的下一个存储分区。
[0015]优选地,在判断所述嵌入式操作系统启动失败之后,并在所述将所述当前第二存储分区作为第一存储分区,返回执行所述检测当前具有所述引导标识的当前第一存储分区之前进一步包括:
[0016]将所述当前第二存储分区中存储的镜像文件复制到所述当前第一存储分区中,覆盖所述当前第一存储分区内原有镜像文件。
[0017]优选地,该方法进一步包括:为每个所述存储分区设置对应的引导参数r_active ;
[0018]所述对所述至少两个存储分区中的指定存储分区设置引导标识包括:将所述指定存储分区对应的引导参数r_active设置为YES ;
[0019]所述对所述至少两个存储分区中的指定存储分区设置引导标识进一步包括:将其他各个所述存储分区对应的引导参数r_active设置为NO ;
[0020]所述检测当前具有所述引导标识的当前第一存储分区包括:根据所述存储分区的排序结果,依次检测所述各个存储分区对应的引导参数r_active,如果当前存储分区对应的引导参数r_active为YES,则停止检测,当前分区即为所述当前第一存储分区,如果当前存储分区对应的引导参数r_active为NO,则继续检测下一个存储分区,直至检测到引导参数r_active为YES的存储分区。
[0021]优选地,该方法进一步包括:为每个所述存储分区设置对应的镜像恢复标识rec_image,其中,所述镜像恢复标识rec_image的默认值为NO ;
[0022]在所述将所述引导标识转移至所述至少两个存储分区中的当前第二存储分区之后,并在加载所述当前第一存储分区内的所述镜像文件之前进一步包括:将所述当前第一存储分区对应的镜像恢复标识recjmage设置为YES ;
[0023]所述将所述当前第二存储分区中存储的镜像文件复制到所述当前第一存储分区中包括:根据所述存储分区的排序结果,依次检测所述各个存储分区对应的镜像恢复标识rec_image,如果当前存储分区对应的镜像恢复标识rec_image为YES,则停止检测,当前分区即为所述当前第一存储分区,将所述当前第二存储分区中存储的镜像文件复制到所述当前第一存储分区中,如果当前存储分区对应的镜像恢复标识recjmage为NO,则继续检测下一个存储分区,直至检测到镜像恢复标识recjmage为YES的所述当前第一存储分区,执行所述将所述当前第二存储分区中存储的镜像文件复制到所述当前第一存储分区中;
[0024]在所述将所述当前第二存储分区中存储的所述镜像文件复制到所述当前第一存储分区中,覆盖所述当前第一存储分区内原有所述镜像文件之后,并在所述将所述当前第二存储分区作为第一存储分区,返回执行所述检测当前具有所述引导标识的当前第一存储分区之前进一步包括:将所述当前第一存储分区对应的镜像恢复标识reC_image设置为NO ;
[0025]在所述将所述引导标识转移至所述当前第一存储分区之后进一步包括:将所述当前第一存储分区对应的镜像恢复标识recjmage设置为NO。
[0026]本发明实施例还提供了一种嵌入式操作系统备份与恢复的装置,包括:
[0027]分区单元,用于划分至少两个存储分区;
[0028]存储单元,用于在所述分区单元划分的每个所述存储分区内均存储所述嵌入式操作系统的镜像文件;
[0029]第一设置单元,用于对所述分区单元划分的至少两个存储分区中的指定存储分区设置引导标识;
[0030]检测单元,用于检测当前具有所述第一设置单元设置的引导标识的当前第一存储分区;
[0031]转移单元,用于将所述第一设置单元设置的引导标识转移至所述划分单元划分的至少两个存储分区中的当前第二存储分区;
[0032]加载单元,用于加载所述存储单元存储在所述当前第一存储分区内的所述镜像文件,启动所述嵌入式操作系统;
[0033]判断单元,用于判断所述嵌入式操作系统是否启动成功;
[0034]执行单元,用于根据所述判断单元的判断结果,如果是,将所述引导标识转移至所述当前第一存储分区,如果否,将所述当前第二存储分区作为第一存储分区,由所述检测单元检测当前具有所述引导标识的当前第一存储分区。
[0035]优选地,该装置进一步包括:排序单元;
[0036]所述排序单元,用于当所述存储分区个数大于两个时,对各个所述存储分区进行循环排序;
[0037]所述第一设置单元,用于根据所述存储分区的排序结果,对排于第一个的所述存储分区设置所述引导标识;
[0038]所述转移单元,用于如果所述当前第一存储分区为所述存储分区排序中的最后一个存储分区,则将所述引导标识转移至位于所述存储分区排序第一的当前第二存储分区,如果所述当前第一存储分区不是所述存储分区排序中的最后一个,则将所述引导标识转移至所述当前第一存储分区的下一个且与其相邻的当前第二存储分区。
[0039]优选地,该装置进一步包括:复制单元;
[0040]所述复制单元,用于在所述判断单元判断所述嵌入式操作系统启动失败之后,并在所述执行单元将所述当前第二存储分区作为第一存储分区,由所述检测单元检测当前具有所述引导标识的当前第一存储分区之前,将所述当前第二存储分区中存储的镜像文件复制到所述当前第一存储分区中,覆盖所述当前第一存储分区内原有镜像文件。
[0041]优选地,该装置进一步包括:第二设置单元;
[0042]所述第二设置单元,用于为每个所述存储分区设置对应的引导参数r_actiVe ;
[0043]所述第一设置单元,用于将所述指定存储分区对应的引导参数r_aCtiVe设置为YES,其他各个所述存储分区对应的引导参数r_active设置为NO ;
[0044]所述检测单元,用于根据所述存储分区的排序结果,依次检测所述各个存储分区对应的引导参数r_active,如果当前存储分区对应的引导参数r_active为YES,则停止检测,当前分区即为所述当前第一存储分区,如果当前存储分区对应的引导参数r_aCtiVe为NO,则继续检测下一个存储分区,直至检测到引导参为YES的存储分区。
[0045]优选地,该装置进一步包括:第三设置单元、第四设置单元、第五设置单元及第六设置单元;
[0046]所述第三设置单元,用于为每个所述存储分区设置对应的镜像恢复标识rec_im
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1