一种文件系统断电保护方法、模组、可读存储介质及电子设备技术方案

技术编号:24409620 阅读:29 留言:0更新日期:2020-06-06 08:36
本发明专利技术公开了一种文件系统断电保护方法,该文件系统断电保护方法应用于操作系统中,包括以下步骤:当所述操作系统启动时,设定所述操作系统的的原始根分区为只读快照,并建立虚拟的增量分区;将所述原始根分区和所述增量分区合成为根分区,并将所述根分区设定为读写模式;通过写时复制将所述原始根分区的数据流定向至所述增量分区。将数据流定向至增量分区中,在进入操作系统后,修改文件时,原始根分区上的数据不会有任何变化,即使断电修改后的文件所涉及的块数据均存储在增量分区上,有效防止了原始根分区的文件损坏,几乎不存在出错,成功率极高。本发明专利技术还公开了采用上述方法的模组、可读存储介质及电子设备。

A file system power-off protection method, module, readable storage medium and electronic equipment

【技术实现步骤摘要】
一种文件系统断电保护方法、模组、可读存储介质及电子设备
本专利技术涉及操作系统
,特别是涉及一种文件系统断电保护方法、模组、可读存储介质及电子设备。
技术介绍
操作系统(如Linux系统)在遭遇异常掉电后,其系统文件可能会损坏,导致操作系统无法正常启动。由于Linux系统采用ext等日志文件系统,系统根分区文件系统的一致性可能遭到破坏,且无法自动修复,系统启动时会中止在文件系统检查的环节,无法完成正常启动。目前多采用堆叠文件系统或者调整文件系统挂载方式的方法来减缓异常掉电对文件系统的影响。其中堆叠文件系统的方法主要利用OverlayFS,AUFS等堆叠文件系统的统一挂载和独立读写权限设置实现读写分离,保护根分区不被真正写入,但是由于基于文件粒度的读写,使得这种方法的性能和空间利用率不高。基于文件系统挂载方式优化的方法,主要是调整文件系统以Journal的方式挂载,在将数据和元数据提交给文件系统之前将其写入日志,尽可能确保数据、元数据等内容的一致性,然而,这种方法对文件系统读写性能折损较大。此外,目前的文件系统掉电保护方法大都聚焦于如何确保一致性,而较少地关注增量数据的写入,所以使用场景有一定局限性,成功率较低。
技术实现思路
本专利技术的一个目的在于提出一种成功率高的文件系统断电保护方法。一种文件系统断电保护方法,应用于操作系统中,包括以下步骤:当所述操作系统启动时,设定所述操作系统的的原始根分区为只读快照,并建立虚拟的增量分区;将所述原始根分区和所述增量分区合成为根分区,并将所述根分区设定为读写模式;通过写时复制将所述原始根分区的数据流定向至所述增量分区。本专利技术的有益效果是:将数据流定向至增量分区中,在进入操作系统后,修改文件时,原始根分区上的数据不会有任何变化,即使断电修改后的文件所涉及的块数据均存储在增量分区上,有效防止了原始根分区的文件损坏,几乎不存在出错,成功率极高。另外,根据本专利技术提供的文件系统断电保护方法,还可以具有如下附加的技术特征:进一步地,所述原始分区通过dmsetup命令设置为只读快照。进一步地,所述通过写时复制将所述原始根分区的数据流定向至所述增量分区的步骤之后还包括:当捕捉到所述操作系统关闭时,判断是否为正常关闭,若是,则将所述增量分区的数据合并至所述原始根分区中。进一步地,所述当捕捉到所述操作系统关闭时,判断是否为正常关闭的步骤包括:当所述操作系统关闭时,判断所述操作系统关闭之前是否接到关机请求;若是,则判断所述操作系统为正常关闭。进一步地,所述判断所述操作系统为正常关闭之后的步骤还包括:当所述关机请求被执行后,持续捕捉所述操作系统的根文件是否卸载完成;若是,则向所述操作系统发出数据合并请求。进一步地,所述将所述增量分区的数据合并至所述原始根分区中之后的步骤还包括:若所述操作系统在所述数据合并的过程中断电,生成所述数据合并的状态记录,并修改所述状态记录为未完成;当所述操作系统接通电源时,获取所述状态记录,判断所述状态记录是否为未完成;若是,则获取所述原始根分区与所述增量分区中的相同数据,删除所述原始根分区中所述相同数据以外的数据,将所述增量分区中所述相同数据以外的数据合并至所述原始根分区中。本专利技术的另一个目的在于提出一种文件系统断电保护模组,包括:分区设定模块,用于当所述操作系统启动时,设定所述操作系统的的原始根分区为只读快照,并建立虚拟的增量分区;分区合成模块,将所述原始根分区和所述增量分区合成为根分区,并将所述根分区设定为读写模式;数据流定向模块,通过写时复制将所述原始根分区的数据流定向至所述增量分区。本专利技术还提供一种可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述的方法。本专利技术还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是本专利技术第一实施例的文件系统断电保护方法的结构框图;图2是本专利技术第一实施例的文件系统断电保护方法的流程示意图;图3是本专利技术第二实施例的文件系统断电保护方法的结构框图;图4是本专利技术第三实施例的文件系统断电保护模组的结构框图。具体实施方式为使本专利技术的目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。附图中给出了本专利技术的若干实施例。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本专利技术的公开内容更加透彻全面。需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”、“上”、“下”以及类似的表述只是为了说明的目的,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。请参阅图1和图2,本专利技术第一实施例提出一种文件系统断电保护方法,应用于操作系统中,本实施例中操作系统为Linux系统,包括以下步骤。S1.当所述操作系统启动时,设定所述操作系统的的原始根分区为只读快照,并建立虚拟的增量分区。在本实施例中,采用通过dmsetup命令将原始跟分区设置为只读快照,设置成只读快照后,对系统文件的读写都会到数据分区中,不会直接影响系统文件。另外,建立增量分区可理解为在硬盘上建立一个虚拟卷,即在原始根分区的同一个硬盘内建立一个虚拟卷,该卷是透明的,上层不感知,一般在系统安装时自动预留。S2.将所述原始根分区和所述增量分区合成为根分区,并将所述根分区设定为读写模式。在本实施例中,采用DeviceMapper的快照技术建立只读快照,并利用DeviceMapper的工具将原始根分区和增量分区聚合成新的根分区并设置为读写模式挂载。S3.通过写时复制(copy-on-write)将所述原始根分区的数据流定向至所述增量分区。...

【技术保护点】
1.一种文件系统断电保护方法,应用于操作系统中,其特征在于,包括以下步骤:/n当所述操作系统启动时,设定所述操作系统的的原始根分区为只读快照,并建立虚拟的增量分区;/n将所述原始根分区和所述增量分区合成为根分区,并将所述根分区设定为读写模式;/n通过写时复制将所述原始根分区的数据流定向至所述增量分区。/n

【技术特征摘要】
1.一种文件系统断电保护方法,应用于操作系统中,其特征在于,包括以下步骤:
当所述操作系统启动时,设定所述操作系统的的原始根分区为只读快照,并建立虚拟的增量分区;
将所述原始根分区和所述增量分区合成为根分区,并将所述根分区设定为读写模式;
通过写时复制将所述原始根分区的数据流定向至所述增量分区。


2.根据权利要求1所述的文件系统断电保护方法,其特征在于,所述原始分区通过dmsetup命令设置为只读快照。


3.根据权利要求1所述的文件系统断电保护方法,其特征在于,所述通过写时复制将所述原始根分区的数据流定向至所述增量分区的步骤之后还包括:
当捕捉到所述操作系统关闭时,判断是否为正常关闭,若是,则将所述增量分区的数据合并至所述原始根分区中。


4.根据权利要求3所述的文件系统断电保护方法,其特征在于,所述当捕捉到所述操作系统关闭时,判断是否为正常关闭的步骤包括:
当所述操作系统关闭时,判断所述操作系统关闭之前是否接到关机请求;
若是,则判断所述操作系统为正常关闭。


5.根据权利要求4所述的文件系统断电保护方法,其特征在于,所述判断所述操作系统为正常关闭之后的步骤还包括:
当所述关机请求被执行后,持续捕捉所述操作系统的根文件是否卸载完成;
若是,则向所述操作系...

【专利技术属性】
技术研发人员:沈良好王非刘微刘军孔金珠
申请(专利权)人:天津麒麟信息技术有限公司
类型:发明
国别省市:天津;12

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

1