System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及设备维护,尤其涉及一种设备故障恢复方法、装置、存储介质及计算机设备。
技术介绍
1、在当下数字化存储领域,f2fs 文件系统凭借对闪存设备的友好适配性,被广泛应用于众多电子设备当中。但f2fs文件系统在故障时容易发生文件损坏等问题。而一些设备强依赖文件一旦损坏可能会导致设备无法正常启动。对此传统的数据保护手段往往依赖于定期备份或者文件系统自身内置的容错机制,以维持数据的完整性与可用性。
2、然而,传统的数据保护手段在面对突发的故障时难以保护正在写入的关键文件,在故障原因消除之后由于关键文件的损坏依赖这些关键文件的服务无法正常运行导致设备卡在开机页面无法启动,从而对设备的可靠性造成负面影响。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中在面对突发的故障时难以保护正在写入的关键文件,在故障原因消除之后由于关键文件的损坏依赖这些关键文件的服务无法正常运行导致设备卡在开机页面无法启动,从而对设备的可靠性造成负面影响的技术缺陷。
2、第一方面,本申请提供了一种设备故障恢复方法,所述方法包括:
3、当检测到关键文件写入文件系统中时,实时记录所述文件系统的每一存储区域的写入操作,得到每一存储区域对应的日志记录;所述关键文件为所述文件系统的所属设备的强依赖文件;
4、分别将每一存储区域对应的日志记录写入预设的日志文件中;
5、在所述关键文件写入所述文件系统的过程中当所述文件系统的所属设备发生故
6、依据各个存储区域对应的目标日志记录确定各个存储区域中的未完成区域,并根据各个未完成区域对应的目标日志记录识别损坏文件后,对各个损坏文件进行重新生成,以确保所述文件系统的所属设备正常启动。
7、在其中一个实施例中,所述实时记录所述文件系统的每一存储区域的写入操作,得到每一存储区域对应的日志记录,包括:
8、针对所述文件系统的每一存储区域,实时确定该存储区域当前的写入状态和完整性标志;
9、获取当前写入的关键文件的文件标识以及该存储区域的区域标识,并根据所述文件标识、所述区域标识、所述写入状态和所述完整性标志形成该存储区域当前时刻的日志记录。
10、在其中一个实施例中,所述实时确定该存储区域当前的写入状态和完整性标志,包括:
11、检测该存储区域当前的文件写入情况,并根据所述文件写入情况确定当前的写入状态;所述写入状态包括已写入、写入中和未写入;
12、若当前的写入状态为已写入,则将当前的完整性标志设置为表征数据完整的标识;
13、若当前的写入状态为写入中或未写入,则将当前的完整性标识设置为表征数据不完整的标识。
14、在其中一个实施例中,所述分别将每一存储区域对应的日志记录写入预设的日志文件中,包括:
15、确定预设的日志文件;
16、针对所述文件系统的每一存储区域,将对该存储区域进行实时的写入操作记录时所产生的日志记录写入所述日志文件中。
17、在其中一个实施例中,所述读取所述日志文件,并在所述日志文件中确定每一存储区域对应的目标日志记录,包括:
18、读取所述日志文件中的每个日志记录,并将所读取的日志记录根据其对应的存储区域进行划分,得到每一存储区域对应的记录集合;
19、对于每一存储区域,以文件标识作为划分维度在该存储区域的记录集合中选取每一划分维度中记录时间最新的日志记录作为该存储区域对应的目标日志记录。
20、在其中一个实施例中,所述依据各个存储区域对应的目标日志记录确定各个存储区域中的未完成区域,包括:
21、获取每一存储区域对应的目标日志记录中的完整性标志;
22、将存在表征为数据不完整的完整性标志的目标日志记录对应的存储区域确定为未完成区域。
23、在其中一个实施例中,所述根据各个未完成区域对应的目标日志记录识别损坏文件后,对各个损坏文件进行重新生成,包括:
24、从各个未完成区域对应的每一目标日志记录中提取文件标识,得到文件标识集合;
25、对所述文件标识集合进行去重操作,并确定经过去重操作的文件标识集合中每一文件标识对应的关键文件;
26、将经过去重操作的文件标识集合中每一文件标识对应的关键文件确定为损坏文件,并对所确定的各个损坏文件执行删除并重新生成的操作。
27、第二方面,本申请提供了一种设备故障恢复装置,所述装置包括:
28、日志记录模块,用于当检测到关键文件写入文件系统中时,实时记录所述文件系统的每一存储区域的写入操作,得到每一存储区域对应的日志记录;所述关键文件为所述文件系统的所属设备的强依赖文件;
29、日志写入模块,用于分别将每一存储区域对应的日志记录写入预设的日志文件中;
30、记录确定模块,用于在所述关键文件写入所述文件系统的过程中当所述文件系统的所属设备发生故障且消除故障重启时,读取所述日志文件,并在所述日志文件中确定每一存储区域对应的目标日志记录;
31、文件重生成模块,用于依据各个存储区域对应的目标日志记录确定各个存储区域中的未完成区域,并根据各个未完成区域对应的目标日志记录识别损坏文件后,对各个损坏文件进行重新生成,以确保所述文件系统的所属设备正常启动。
32、第三方面,本申请提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一项实施例所述设备故障恢复方法的步骤。
33、第四方面,本申请提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
34、所述存储器中存储有计算机可读指令,所述一个或多个处理器执行时所述计算机可读指令时,执行如上述任一项实施例所述设备故障恢复方法的步骤。
35、从以上技术方案可以看出,本申请实施例具有以下优点:
36、本申请提供的设备故障恢复方法、装置、存储介质及计算机设备,该方法包括:当检测到关键文件写入文件系统中时,实时记录文件系统的每一存储区域的写入操作,得到每一存储区域对应的日志记录,其中,关键文件为文件系统的所属设备的强依赖文件,接着分别将每一存储区域对应的日志记录写入预设的日志文件中。由于日志文件中所存储的数据不会因为故障而丢失,当设备重启之后能够根据日志文件确定关键文件的写入情况。在关键文件写入文件系统的过程中当文件系统的所属设备发生故障且消除故障重启时,读取日志文件,并在日志文件中确定每一存储区域对应的目标日志记录;这样可以根据每一存储区域的目标日志记录判断关键文件是否完整写入存储区域,并且由于是实时日志记录,因此能够还原故障发生时刻关键文件的情况,然后依据各个存储区域对应的目标日志记录确定各个存储区域中本文档来自技高网...
【技术保护点】
1.一种设备故障恢复方法,其特征在于,所述方法包括:
2.根据权利要求1所述的设备故障恢复方法,其特征在于,所述实时记录所述文件系统的每一存储区域的写入操作,得到每一存储区域对应的日志记录,包括:
3.根据权利要求2所述的设备故障恢复方法,其特征在于,所述实时确定该存储区域当前的写入状态和完整性标志,包括:
4.根据权利要求1所述的设备故障恢复方法,其特征在于,所述分别将每一存储区域对应的日志记录写入预设的日志文件中,包括:
5.根据权利要求1所述的设备故障恢复方法,其特征在于,所述读取所述日志文件,并在所述日志文件中确定每一存储区域对应的目标日志记录,包括:
6.根据权利要求1所述的设备故障恢复方法,其特征在于,所述依据各个存储区域对应的目标日志记录确定各个存储区域中的未完成区域,包括:
7.根据权利要求1所述的设备故障恢复方法,其特征在于,所述根据各个未完成区域对应的目标日志记录识别损坏文件后,对各个损坏文件进行重新生成,包括:
8.一种设备故障恢复装置,其特征在于,所述装置包括:
10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;
...【技术特征摘要】
1.一种设备故障恢复方法,其特征在于,所述方法包括:
2.根据权利要求1所述的设备故障恢复方法,其特征在于,所述实时记录所述文件系统的每一存储区域的写入操作,得到每一存储区域对应的日志记录,包括:
3.根据权利要求2所述的设备故障恢复方法,其特征在于,所述实时确定该存储区域当前的写入状态和完整性标志,包括:
4.根据权利要求1所述的设备故障恢复方法,其特征在于,所述分别将每一存储区域对应的日志记录写入预设的日志文件中,包括:
5.根据权利要求1所述的设备故障恢复方法,其特征在于,所述读取所述日志文件,并在所述日志文件中确定每一存储区域对应的目标日志记录,包括:
6.根...
【专利技术属性】
技术研发人员:徐佳,张振宇,
申请(专利权)人:东莞华贝电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。