一种断电保护方法及计算设备技术

技术编号:28941518 阅读:20 留言:0更新日期:2021-06-18 21:46
本发明专利技术公开了一种断电保护方法,在计算设备中执行,包括步骤:基于临时根文件系统判断是否执行断电保护;如果确定执行断电保护,则构建一个堆叠文件系统,将磁盘分区挂载在堆叠文件系统的下层目录,将根文件系统挂载在堆叠文件系统的上层目录,以形成堆叠结构的目标文件系统;以及将所述目标文件系统挂载在内存文件系统,启动所述目标文件系统,以便引导操作系统启动。本发明专利技术还公开了相应的计算设备。根据本发明专利技术的断电保护方法,能确保在异常断电后系统正常启动。

【技术实现步骤摘要】
一种断电保护方法及计算设备
本专利技术涉及计算机
,特别涉及一种断电保护方法及计算设备。
技术介绍
Linux系统在正常使用过程,偶尔会遇到异常断电的情况,异常断电很容易导致Linux系统无法正常启动,主要是由于异常断电导致文件系统损坏,从而无法正常引导启动系统。对于一些工控系统或者军用设备上的Linux系统来说,一般是通过上下电来控制系统的启动和关闭,而不采用正常的关机流程。例如,对于军用设备,系统关机是通过物理下电的方式进行,在高频繁操作的情况下,很容易对系统数据造成损坏而无法正常启动系统。现有技术中的断电保护一般是通过扩展硬件实现的,Linux系统通常是利用UPS实现断电后的保护,均不能基于系统自身实现断电保护。为此,需要一种断电保护方法,来确保异常断电后系统能正常启动,以解决上述技术方案中存在的问题。
技术实现思路
为此,本专利技术提供一种断电保护方法,以力图解决或者至少缓解上面存在的问题。根据本专利技术的一个方面,提供了一种断电保护方法,在计算设备中执行,包括步骤:基于临时根文件系统判断是否执行断电保护;如果确定执行断电保护,则构建一个堆叠文件系统,将磁盘分区挂载在堆叠文件系统的下层目录,将根文件系统挂载在堆叠文件系统的上层目录,以形成堆叠结构的目标文件系统;以及将所述目标文件系统挂载在内存文件系统,启动所述目标文件系统,以便引导操作系统启动。可选地,在根据本专利技术的断电保护方法中,所述堆叠文件系统包括:一个或多个下层目录,适于以只读的方式挂载文件目录;上层目录,适于以可读写的方式挂载文件目录;合并层目录,适于将所述上层目录和下层目录中的文件目录进行合并后挂载。可选地,在根据本专利技术的断电保护方法中,将所述目标文件系统挂载在内存文件系统包括:基于合并层目录和上层目录将所述根文件系统挂载到内存文件系统。可选地,在根据本专利技术的断电保护方法中,判断是否执行断电保护的步骤包括:基于临时根文件系统判断是否接收到系统启动管理器传递的断电保护参数;如果接收到断电保护参数,则确定执行断电保护。可选地,在根据本专利技术的断电保护方法中,还包括步骤:基于临时根文件系统判断是否重新挂载白名单目录;如果确定重新挂载白名单目录,则将白名单目录重新挂载到磁盘分区。可选地,在根据本专利技术的断电保护方法中,判断是否重新挂载白名单目录的步骤包括:在读取到变量参数时,确定重新挂载白名单目录。可选地,在根据本专利技术的断电保护方法中,在基于临时根文件系统判断是否执行断电保护之前,还包括步骤:将临时根文件系统加载到内存中,启动临时根文件系统。可选地,在根据本专利技术的断电保护方法中,所述内存文件系统是基于内存的tmpfs文件系统;所述堆叠文件系统为OverlayFS;所述临时根文件系统为Initrd。根据本专利技术的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的断电保护方法的指令。根据本专利技术的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。根据本专利技术的技术方案,提供了一种断电保护方法,是基于堆叠文件系统OverlayFS的挂载机制来根文件系统。通过将根文件系统所在的磁盘分区挂载在堆叠文件系统的下层目录,使得磁盘分区的权限为只读,而最终根文件系统是基于堆叠文件系统的上层目录挂载在内存,权限为可读写。这样,在异常断电时,对系统文件的修改均是对上层目录的根文件系统的修改,而下层目录不会发生修改和写入操作,从而,挂载到下层目录的磁盘分区也不会发生数据的修改和损坏,因异常断电所造成的对系统文件的修改并不会被保存到磁盘。因此,根据本专利技术的断电保护方法,能够保证系统每次启动时磁盘数据完全一致,确保异常断电后系统能够正常启动,并且每次启动后的状态完全一致。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本专利技术一个实施例的计算设备100的示意图;图2示出了根据本专利技术一个实施例的断电保护方法200的流程图;图3示出了现有技术中的堆叠文件系统的结构示意图;以及图4示出了根据本专利技术一个实施例的目标文件系统的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。根据本专利技术的断电保护方案,利用堆叠文件系统的挂载方式将根文件系统挂载到基于内存的文件系统,能确保在异常断电后系统正常启动。图1是示例计算设备100的示意框图。如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。计算设备100还可以包括储存接口总线134。储存接口总线134实现了从储存设备132(例如,可移除储存器136和不可移除储存器138)经由总线/接口控制器130到基本配置102的通信。操作系统120、应用122以及数据124的至少一部分可以存储在可移除储存器136和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。计算设备100还可本文档来自技高网...

【技术保护点】
1.一种断电保护方法,在计算设备中执行,包括步骤:/n基于临时根文件系统判断是否执行断电保护;/n如果确定执行断电保护,则构建一个堆叠文件系统,将磁盘分区挂载在堆叠文件系统的下层目录,将根文件系统挂载在堆叠文件系统的上层目录,以形成堆叠结构的目标文件系统;以及/n将所述目标文件系统挂载在内存文件系统,启动所述目标文件系统,以便引导操作系统启动。/n

【技术特征摘要】
1.一种断电保护方法,在计算设备中执行,包括步骤:
基于临时根文件系统判断是否执行断电保护;
如果确定执行断电保护,则构建一个堆叠文件系统,将磁盘分区挂载在堆叠文件系统的下层目录,将根文件系统挂载在堆叠文件系统的上层目录,以形成堆叠结构的目标文件系统;以及
将所述目标文件系统挂载在内存文件系统,启动所述目标文件系统,以便引导操作系统启动。


2.如权利要求1所述的方法,其中,所述堆叠文件系统包括:
一个或多个下层目录,适于以只读的方式挂载文件目录;
上层目录,适于以可读写的方式挂载文件目录;
合并层目录,适于将所述上层目录和下层目录中的文件目录进行合并后挂载。


3.如权利要求2所述的方法,其中,将所述目标文件系统挂载在内存文件系统包括:
基于合并层目录和上层目录将所述根文件系统挂载到内存文件系统。


4.如权利要求1-3任一项所述的方法,其中,判断是否执行断电保护的步骤包括:
基于临时根文件系统判断是否接收到系统启动管理器传递的断电保护参数;
如果接收到断电保护参数,则确定执行断电保护。


5.如权利要求1-3任一项所述的方...

【专利技术属性】
技术研发人员:蔡同勋
申请(专利权)人:武汉深之度科技有限公司
类型:发明
国别省市:湖北;42

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

1