一种双备份启动方法及系统技术方案

技术编号:25308244 阅读:59 留言:0更新日期:2020-08-18 22:27
本发明专利技术公开了一种双备份启动方法及系统,属于嵌入式技术领域,方法包括:步骤S1,判断操作系统是否出现启动异常;步骤S2,对当前系统镜像进行校验,步骤S3,对配置文件进行校验调整;步骤S4,将第一标志信息设置为表示操作系统非正常启动;步骤S5,读取当前系统镜像以加载操作系统,步骤S6,将第一标志信息设置为表示操作系统正常启动;系统包括:第一判断单元、擦除单元、第一校验单元、第二校验单元、标志设置单元、第二判断单元;有益效果是使得嵌入式设备的工作更加的稳定,节约了成本,极大的减少了对于硬件资源和网络资源的依赖性。

【技术实现步骤摘要】
一种双备份启动方法及系统
本专利技术涉及嵌入式
,尤其涉及一种双备份启动方法及系统。
技术介绍
嵌入式是用于控制、监视或者辅助操作机器和设备的装置,嵌入式以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统;在嵌入式行业,对于嵌入式设备的稳定性有着很大的要求,其中,嵌入式设备使用的系统的稳定性是攸关重要的,设备的硬件部分是设计和生产的厂商需要考虑的问题,到了用户的手上,更多的遇到的则是系统的问题。厂商在发现嵌入式设备系统软件上的问题的时候,大部分都是通过远程推送镜像或者补丁的方式对系统进行更新。然而,在这个过程中往往会因为断电,网络质量不好或者是写数据错误等原因导致系统镜像损坏或者是用户数据丢失。在遇到此类问题时,如果像硬件问题一样进行返厂维修,对于用户和厂商而言,都将承担一个比较大的成本,而且现有技术中,很多的嵌入式设备往往在一些比较恶劣的环境条件下安装运行,因为系统问题返修更是极为困难。现有技术中,解决上述问题的方法几乎都是在解决远程镜像升级失败的问题,而没有考虑即使不在远程升级的场景下,也有可能因为用户的非法操作或者其它的意外情况,从而导致系统出现错误。并且这些已有方案的实现方式,大致都是启动一个备份的系统,或者是使用一个支持联网的专门的小系统,在系统出现问题的时候,启动这些系统,然后通过网络连接从远程获取一个正常的镜像,从而更新镜像解决问题。但是启动一个备份的系统需要占用非常大的存储空间,不光是镜像本身的大小,还需要和启动一个正常的镜像同等的资源,比如说需要另外构建一个文件系统。同时,与启动一个专门用来远程升级的小系统一样,两者最终都需要从远程获取一个正常的镜像,这个过程对网络资源的依赖性很强,使用的局限性较大
技术实现思路
根据现有技术中存在的上述问题,现提供一种双备份启动方法及系统,通过额外维护一个具备完整功能的系统备份,实现了在嵌入式设备不能正常工作的时候,即使没有网络也可以完成正常的系统恢复的功能,在解决嵌入式设备因为各种原因导致系统无法正常工作的根本问题的基础上,让嵌入式设备的工作更加的稳定,节约了成本,极大的减少了对于硬件资源和网络资源的依赖性。上述技术方案具体包括:一种双备份启动方法,应用于嵌入式设备,其中所述嵌入式设备包括一存储模块,并于所述存储模块中预先设置:第一存储空间,所述第一存储空间存储有一应用于所述嵌入式设备的操作系统的当前系统镜像和备份系统镜像;第二存储空间,所述第二存储空间存储有第一标志信息、第二标志信息和第三标志信息,所述第一标志信息用于标识所述操作系统重启的原因,所述第二标志信息为所述当前系统镜像的校验值,所述第三标志信息为所述备份系统镜像的校验值;第三存储空间,所述第三存储空间用于存储保证所述操作系统正常启动的配置文件;所述启动方法包括:步骤S1,在所述嵌入式设备启动时通过所述第一标志信息判断所述操作系统是否出现启动异常:若是,则擦除所述第二标志信息,随后转向步骤S2;若否,则直接转向步骤S2;步骤S2,根据所述第二标志信息对所述当前系统镜像进行校验,并判断是否校验成功:若否,则采用所述备份系统镜像覆盖的方式对所述当前系统镜像进行更新,随后转向步骤S3;若是,则直接转向步骤S3;步骤S3,对所述第三存储空间中存放的所述配置文件进行校验,并根据校验结果对所述配置文件进行调整;步骤S4,将所述第一标志信息设置为表示所述操作系统非正常启动;步骤S5,读取所述当前系统镜像以加载所述操作系统,并判断所述操作系统是否成功启动:若否,则返回步骤S1;若是,转向步骤S6;步骤S6,将所述第一标志信息设置为表示所述操作系统正常启动,随后退出。优选地,其中,于执行完所述步骤S6后,所述启动方法还包括:步骤S7,根据所述第三标志信息对所述备份系统镜像进行校验,并于校验失败时对正常启动的所述操作系统所对应的系统镜像进行压缩,以生成临时镜像,并采用所述临时镜像覆盖的方式对所述备份系统镜像进行更新;步骤S8,计算所述临时镜像的校验值并更新所述第三标志信息。优选地,其中,所述步骤S7中,采用gzip压缩算法对正常启动的所述操作系统所对应的系统镜像进行压缩。优选地,其中,所述第三存储空间包括多个存储子空间,将所述配置文件备份多份后分别保存于每个所述存储子空间中;所述步骤S3具体包括:步骤S30,分别计算得到每个所述存储子空间中保存的所述配置文件的校验值;步骤S31,对所有所述校验值进行两两比较,并将相同的多个所述校验值标记为备份校验值,并将与所述备份校验值不相同的所述校验值标记为损坏校验值;步骤S32,根据所述备份校验值所对应的所述配置文件,对所述损坏校验值所对应的所述配置文件进行覆盖更新。优选地,其中,所述操作系统为openwrt操作系统。优选地,其中,所述步骤S2中,所述根据所述第二标志信息对所述当前系统镜像进行校验的具体步骤包括:步骤S20,对所述当前系统镜像进行解压缩操作;步骤S21,计算解压后的所述当前系统镜像的校验值,并与所述第二标志信息进行比较:若所述当前系统镜像的校验值与所述第二标志信息相同,则表示校验成功,随后直接转向所述步骤S3;若所述当前系统镜像的校验值与所述第二标志信息不同,则表示校验失败,则采用所述备份系统镜像覆盖的方式对所述当前系统镜像进行更新,随后转向步骤S3。优选地,其中,所述步骤S7中,根据所述第三标志信息对所述备份系统镜像进行校验的具体步骤包括:步骤S70,对所述备份系统镜像进行解压缩操作;步骤S71,计算解压后的所述备份系统镜像的校验值,并与所述第三标志信息进行比较,并于二者不相同时认为校验失败。一种双备份启动控制系统,设置于嵌入式设备内;其中所述嵌入式设备包括一存储模块,所述存储模块中预先设置有:第一存储空间,所述第一存储空间存储有一应用于所述嵌入式设备的操作系统的当前系统镜像和备份系统镜像;第二存储空间,所述第二存储空间存储有第一标志信息、第二标志信息和第三标志信息,所述第一标志信息用于标识所述操作系统重启的原因,所述第二标志信息为所述当前系统镜像的校验值,所述第三标志信息为所述备份系统镜像的校验值;第三存储空间,所述第三存储空间用于存储保证所述操作系统正常启动的配置文件;所述双备份启动控制系统具体包括:第一判断单元,用于在所述嵌入式设备开始启动时,根据所述第一标志信息判断所述嵌入式设备是否出现启动异常,并输出一第一判断结果;擦除单元,连接所述第一判断单元,用于根据所述第一判断结果,在所述嵌入式设备出现启动异常时擦除所述第二存储空间内的所述第二标志信息;第一校验单元,用于在所述嵌入式设备的启动过程中根据所述第二存储空间内的所述第二标志信息对所述当前本文档来自技高网
...

【技术保护点】
1.一种双备份启动方法,应用于嵌入式设备,其特征在于,所述嵌入式设备包括一存储模块,并于所述存储模块中预先设置:/n第一存储空间,所述第一存储空间存储有一应用于所述嵌入式设备的操作系统的当前系统镜像和备份系统镜像;/n第二存储空间,所述第二存储空间存储有第一标志信息、第二标志信息和第三标志信息,所述第一标志信息用于标识所述操作系统重启的原因,所述第二标志信息为所述当前系统镜像的校验值,所述第三标志信息为所述备份系统镜像的校验值;/n第三存储空间,所述第三存储空间用于存储保证所述操作系统正常启动的配置文件;/n所述启动方法包括:/n步骤S1,在所述嵌入式设备启动时通过所述第一标志信息判断所述操作系统是否出现启动异常:/n若是,则擦除所述第二标志信息,随后转向步骤S2;/n若否,则直接转向步骤S2;/n步骤S2,根据所述第二标志信息对所述当前系统镜像进行校验,并判断是否校验成功:/n若否,则采用所述备份系统镜像覆盖的方式对所述当前系统镜像进行更新,随后转向步骤S3;/n若是,则直接转向步骤S3;/n步骤S3,对所述第三存储空间中存放的所述配置文件进行校验,并根据校验结果对所述配置文件进行调整;/n步骤S4,将所述第一标志信息设置为表示所述操作系统非正常启动;/n步骤S5,读取所述当前系统镜像以加载所述操作系统,并判断所述操作系统是否成功启动:/n若否,则返回步骤S1;/n若是,转向步骤S6;/n步骤S6,将所述第一标志信息设置为表示所述操作系统正常启动,随后退出。/n...

【技术特征摘要】
1.一种双备份启动方法,应用于嵌入式设备,其特征在于,所述嵌入式设备包括一存储模块,并于所述存储模块中预先设置:
第一存储空间,所述第一存储空间存储有一应用于所述嵌入式设备的操作系统的当前系统镜像和备份系统镜像;
第二存储空间,所述第二存储空间存储有第一标志信息、第二标志信息和第三标志信息,所述第一标志信息用于标识所述操作系统重启的原因,所述第二标志信息为所述当前系统镜像的校验值,所述第三标志信息为所述备份系统镜像的校验值;
第三存储空间,所述第三存储空间用于存储保证所述操作系统正常启动的配置文件;
所述启动方法包括:
步骤S1,在所述嵌入式设备启动时通过所述第一标志信息判断所述操作系统是否出现启动异常:
若是,则擦除所述第二标志信息,随后转向步骤S2;
若否,则直接转向步骤S2;
步骤S2,根据所述第二标志信息对所述当前系统镜像进行校验,并判断是否校验成功:
若否,则采用所述备份系统镜像覆盖的方式对所述当前系统镜像进行更新,随后转向步骤S3;
若是,则直接转向步骤S3;
步骤S3,对所述第三存储空间中存放的所述配置文件进行校验,并根据校验结果对所述配置文件进行调整;
步骤S4,将所述第一标志信息设置为表示所述操作系统非正常启动;
步骤S5,读取所述当前系统镜像以加载所述操作系统,并判断所述操作系统是否成功启动:
若否,则返回步骤S1;
若是,转向步骤S6;
步骤S6,将所述第一标志信息设置为表示所述操作系统正常启动,随后退出。


2.根据权利要求1所述的双备份启动方法,其特征在于,于执行完所述步骤S6后,所述启动方法还包括:
步骤S7,根据所述第三标志信息对所述备份系统镜像进行校验,并于校验失败时对正常启动的所述操作系统所对应的系统镜像进行压缩,以生成临时镜像,并采用所述临时镜像覆盖的方式对所述备份系统镜像进行更新;
步骤S8,计算所述临时镜像的校验值并更新所述第三标志信息。


3.根据权利要求2所述的双备份启动方法,其特征在于,所述步骤S7中,采用gzip压缩算法对正常启动的所述操作系统所对应的系统镜像进行压缩。


4.根据权利要求1所述的双备份启动方法,其特征在于,所述第三存储空间包括多个存储子空间,将所述配置文件备份多份后分别保存于每个所述存储子空间中;
所述步骤S3具体包括:
步骤S30,分别计算得到每个所述存储子空间中保存的所述配置文件的校验值;
步骤S31,对所有所述校验值进行两两比较,并将相同的多个所述校验值标记为备份校验值,并将与所述备份校验值不相同的所述校验值标记为损坏校验值;
步骤S32,根据所述备份校验值所对应的所述配置文件,对所述损坏校验值所对应的所述配置文件进行覆盖更新。


5.根据权利要求1所述的双备份启动方法,其特征在于,所述操作系统为openwrt操作系统。


6.根据权利要求1所述的双备份启动方法,其特征在于,所述步骤S2中,所述根据所述第二标志信息对所述当前系统镜像进行校验的具体步骤包括:
步骤S20,对所述当前系统镜像进行解压缩操作;
步骤S21,计算解压后的所述当前系统镜像的校验值,并与所述第二标志信息进行比较:
若所述当前系统镜像的校验值与所述第二标志信息相同,则表示校验成功,随后直接转向所述步骤S3;
若所述当前系统镜像的校验值与所述第二标志信息不同,则表示校验失败,则采用所述备份系统镜像覆盖的方式对所述当前系统镜像进行更新,随后转向步骤S3。...

【专利技术属性】
技术研发人员:王开军王宇王胜
申请(专利权)人:青岛矽昌通信技术有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1