本发明涉及一种系统备份方法及装置,尤其是指一种多分区系统备份方法及装置。
背景技术:
在传统的工业使用场景中,嵌入式操作系统一般都只存在一份,如果文件系统由于某些原因被破坏了,有可能带来灾难性的后果,因此如何保证系统被破坏后还可以正常启动并运行程序是一个嵌入式系统的关键点。
技术实现要素:
本发明所要解决的技术问题是:提供一种多分区系统备份方法及装置,旨在降低系统的故障率,提高系统的稳定性。
为了解决上述技术问题,本发明采用的技术方案为:一种多分区系统备份方法,所述多分区系统包括有第一套系统及第二套系统,所述第一套系统及第二套系统分别设有内核镜像分区及文件系统镜像分区;所述多分区系统设有第一套系统及第二套系统共用的配置分区、用户数据分区及u-boot分区;
所述多分区系统备份方法包括以下步骤,
步骤一、在第一套系统或第二套系统启动的时候首先打开系统开门狗,然后判断当前系统是否为异常启动;
步骤二、若当前系统的启动是异常启动,则将系统切换到另一个正常的系统运行;
步骤三、将当前正常运行的系统进行复制,并将复制的系统覆盖异常启动的系统。
进一步的,所述步骤一具体包括,
在第一套系统或第二套系统启动的时候首先打开系统开门狗;
读取硬件寄存器,获取系统的启动原因,所述系统启动原因包括正常启动及异常启动;所述异常启动包括系统崩溃或者系统被破坏。
进一步的,所述步骤三具体包括,
将当前正常运行系统的内核镜像分区及文件系统镜像分区进行复制;
将复制的正常运行系统的内核镜像分区及文件系统镜像分区覆盖至异常启动的系统的内核镜像分区及文件系统镜像分区。
为了解决上述技术问题,本发明采用的另一个技术方案为:一种多分区系统备份装置,所述多分区系统包括有第一套系统及第二套系统,所述第一套系统及第二套系统分别设有内核镜像分区及文件系统镜像分区;所述多分区系统设有第一套系统及第二套系统共用的配置分区、用户数据分区及u-boot分区;
所述多分区系统备份装置包括,
系统启动原因判断模块,用于在第一套系统或第二套系统启动的时候首先打开系统开门狗,然后判断当前系统是否为异常启动;
系统切换模块,用于若当前系统的启动是异常启动,则将系统切换到另一个正常的系统运行;
系统覆盖模块,用于将当前正常运行的系统进行复制,并将复制的系统覆盖异常启动的系统。
进一步的,所述系统启动原因判断模块具体包括,
开门狗打开单元,用于在第一套系统或第二套系统启动的时候首先打开系统开门狗;
系统启动原因获取单元,用于读取硬件寄存器,获取系统的启动原因,所述系统启动原因包括正常启动及异常启动;所述异常启动包括系统崩溃或者系统被破坏。
进一步的,所述系统覆盖模块具体包括,
系统复制单元,用于将当前正常运行系统的内核镜像分区及文件系统镜像分区进行复制;
系统覆盖单元,用于将复制的正常运行系统的内核镜像分区及文件系统镜像分区覆盖至异常启动的系统的内核镜像分区及文件系统镜像分区。
本发明的技术效果在于:本发明配置了两套系统,两套系统共用配置分区及用户数据分区,当其中一个系统出现异常时,切换到另一个系统运行,同时将正常运行的系统复制并覆盖至异常系统;可以保证系统的稳定性,不会因为系统分区被破坏导致系统无法运行的情况,大大降低系统故障率,提高了系统长时间运行的稳定性,降低了维护/维修成本。
附图说明
下面结合附图详述本发明的具体结构。
图1为本发明一具体实施例的多分区系统备份方法流程图;
图2为本发明一具体实施例的多分区系统备份装置框图;
图3为本发明多分区系统备份方法的系统分区图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
实施例一
参阅图1,图3,一种多分区系统备份方法,所述多分区系统包括有第一套系统及第二套系统,所述第一套系统及第二套系统分别设有内核镜像分区及文件系统镜像分区;所述多分区系统设有第一套系统及第二套系统共用的配置分区、用户数据分区及u-boot分区;
所述多分区系统备份方法包括以下步骤,
步骤s10、在第一套系统或第二套系统启动的时候首先打开系统开门狗,然后判断当前系统是否为异常启动;
步骤s20、若当前系统的启动是异常启动,则将系统切换到另一个正常的系统运行;
步骤s30、将当前正常运行的系统进行复制,并将复制的系统覆盖异常启动的系统。
优选地,所述步骤s10具体包括,
在第一套系统或第二套系统启动的时候首先打开系统开门狗;
读取硬件寄存器,获取系统的启动原因,所述系统启动原因包括正常启动及异常启动;所述异常启动包括系统崩溃或者系统被破坏。
优选地,所述步骤s30具体包括,
将当前正常运行系统的内核镜像分区及文件系统镜像分区进行复制;
将复制的正常运行系统的内核镜像分区及文件系统镜像分区覆盖至异常启动的系统的内核镜像分区及文件系统镜像分区。
本实施例中,在系统启动的时候首先打开系统开门狗,然后判断系统启动的原因,系统异常启动的时候一般都可以通过读取硬件寄存器得到,看门狗的功能是定期的查看芯片内部的情况,一旦发生错误就向芯片发出重启信号。例如第一套系统启动,硬件中有专门的寄存器存储系统启动的原因,读取寄存器,则可获取系统启动是正常或者异常,若是正常启动,则系统继续运行;若系统的启动是异常启动,则就会给出一个复位信号到芯片的复位引脚,芯片执行复位操作;此时,将系统切换到第二套系统运行,将第二套系统的内核镜像分区及文件系统镜像分区进行复制一份,然后对应覆盖掉第一套系统的内核镜像分区及文件系统镜像分区;使得第一套系统的运行数据正常,然后第二套系统会反复执行看门狗的设置动作,检测第二套系统的运行情况,一旦系统崩溃或者系统被破坏,都会出现无法设置看门狗的情况,这样就会触发系统重启的问题。
同理,当检测到第二套系统出现异常,则切换为第一套系统运行,并将第一套系统的内核镜像分区及文件系统镜像分区进行复制一份,然后对应覆盖掉第二套系统的内核镜像分区及文件系统镜像分区;也就是系统运行异常时切换到另一个正常的系统继续运行,同时将正常系统的内核镜像分区及文件系统镜像分区覆盖异常系统,该方法可以保证系统的稳定性,不会因为分区被破坏导致系统无法运行的情况,大大降低系统故障率,提高了系统长时间运行的稳定性,降低了维护/维修成本。
如图3的多分区系统中,u-boot分区用于存储u-boot镜像文件;
内核镜像分区,用于存储linuxkernel镜像;
文件系统分区,用于文件系统的镜像;
配置分区用于存储用户应用程序的配置参数,用户数据分区用于存储用户应用程序的数据。
多分区系统备份方法可以广泛的应用于嵌入式工控机,工控机,物联网,快递柜,新零售等相关领域。
实施例二
参阅图2,图3,一种多分区系统备份装置,所述多分区系统包括有第一套系统及第二套系统,所述第一套系统及第二套系统分别设有内核镜像分区及文件系统镜像分区;所述多分区系统设有第一套系统及第二套系统共用的配置分区、用户数据分区及u-boot分区;
所述多分区系统备份装置包括,
系统启动原因判断模块,用于在第一套系统或第二套系统启动的时候首先打开系统开门狗,然后判断当前系统是否为异常启动;
系统切换模块,用于若当前系统的启动是异常启动,则将系统切换到另一个正常的系统运行;
系统覆盖模块,用于将当前正常运行的系统进行复制,并将复制的系统覆盖异常启动的系统。
优选地,所述系统启动原因判断模块具体包括,
开门狗打开单元,用于在第一套系统或第二套系统启动的时候首先打开系统开门狗;
系统启动原因获取单元,用于读取硬件寄存器,获取系统的启动原因,所述系统启动原因包括正常启动及异常启动;所述异常启动包括系统崩溃或者系统被破坏。
优选地,所述系统覆盖模块具体包括,
系统复制单元,用于将当前正常运行系统的内核镜像分区及文件系统镜像分区进行复制;
系统覆盖单元,用于将复制的正常运行系统的内核镜像分区及文件系统镜像分区覆盖至异常启动的系统的内核镜像分区及文件系统镜像分区。
本发明装置实施例的技术方案与方法实施例的技术方案相对应,可以理解的,装置实施例的技术内容也全部包含方法实施例的技术内容,因此不再对此进行赘述。
综上所述,本发明配置了两套系统,当其中一个系统出现异常时,切换到另一个系统运行,同时将正常运行的系统复制并覆盖至异常系统;可以保证系统的稳定性,不会因为系统分区被破坏导致系统无法运行的情况,大大降低系统故障率,提高了系统长时间运行的稳定性,降低了维护/维修成本。
此处第一、第二……只代表其名称的区分,不代表它们的重要程度和位置有什么不同。
此处,上、下、左、右、前、后只代表其相对位置而不表示其绝对位置。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。