数据恢复方法、装置、电子设备及存储介质与流程

文档序号:31801451发布日期:2022-10-14 18:56阅读:72来源:国知局
数据恢复方法、装置、电子设备及存储介质与流程

1.本技术涉及通信技术领域,尤其涉及一种数据恢复方法、装置、电子设备及存储介质。


背景技术:

2.随着智能水平和通信技术的发展,通信模组被运用在越来越多的设备上。以智能汽车和蜂窝无线通信技术为例,随着智能汽车的概念发展与蜂窝无线通信技术的发展,蜂窝无线通信模组成为新型智能汽车或电动汽车一个必备的部件,这使得该新型智能汽车或电动汽车得以接入蜂窝无线网络,为车主提供更加丰富的功能。其中,蜂窝无线通信模组作为汽车电气系统的重要部件,其可靠性设计非常重要。通常,可靠性设计应当包含产品(安装有通信模组的设备或通信模组本身)数据异常恢复的功能。即,在产品发生致命错误时,准确捕获由于文件系统异常(包括文件系统中存储的产品数据异常)导致的问题,以便于对文件系统以及存储于文件系统之中的产品数据进行恢复,最终使产品恢复正常功能。
3.如图1所示,现有技术中,在产品在出现文件系统或数据导致的致命问题时,通常需要具备专业知识的开发、维修人员介入,在产品进入系统故障模式后,对问题进行分析定位,并通过调试接口利用专业调试工具对故障日志、参数进行多次调试,进而基于调试命令,手动恢复产品数据,一般为恢复产品的关键数据,从而达到修复产品的目的。
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.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1为本技术实施例提供的一种现有技术中手动进行数据恢复的流程的示意图;
39.图2为本技术实施例提供的一种数据恢复方法的示意图;
40.图3为本技术实施例提供的一种数据恢复流程的示意图;
41.图4为本技术实施例提供的一种数据恢复装置的示意图;
42.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
43.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.为了解决现有技术中,文件系统及文件系统中的数据导致的致命问题时,需要耗费较长时间,数据恢复的效率较低的问题,本技术实施例提供了一种数据恢复方法,应用于任一设备中,该设备可为通信模组或安装有通信模组的设备,或可与通信模组或安装有通信模组的设备进行通信的其他设备。如图2所示,该数据恢复方法包括步骤201-步骤203:
45.步骤201:获取目标源代码文件的名称。
46.其中,目标源代码文件为通信模组出现运行异常时的异常代码对应的源代码文件。
47.可选地,在获取目标源代码文件的名称的过程中,先接收通信模组的异常处理模块上报的异常信息,再基于该异常信息,确定目标源代码文件的名称。
48.在一种可能的实现方式中,异常信息包括异常代码、异常代码的位置以及目标源代码文件的名称。当然,异常处理模块上报的异常信息还可以其他所需内容。
49.这样的话,基于异常信息获取目标源代码文件的名称,便于基于目标源代码文件的名称,快速确定通信模组出现运行异常的异常原因,减少定位异常原因所耗费的时间,提高数据恢复效率。另外,该基于异常处理模块上报的异常信息中所包含的内容,可以实现对异常代码的定位,便于相关人员基于该异常信息中的异常代码和异常代码的位置等项,了解通信模组的运行状况,并对相关源代码文件等进行改进。
50.也就是说,通信模组的异常处理模块在检测到通信模组出现运行异常时,扫描得到异常代码、异常代码的位置以及目标源代码文件的名称。随后,异常处理模块基于扫描得到的信息项生成异常信息,并上报该异常信息。
51.在一种可能的实现方式中,在软件部分或固件部分,增加侦测处理通信模组的运行异常的源代码,并通过编译器和链接器对该源代码进行编译和链接得到可执行代码,包括软件代码或固件代码,然后将该可执行代码和该可执行代码对应的源代码等信息一并打
包到相应的软件或固件中,从而得到上述异常处理模块。其中,在这一过程中所使用的编译器和链接器的功能是这两者的标准功能,不需要额外进行开发。当然,其他源代码也需通过该编译器和链接器进行上述类似或相同处理,以便于实现通信模组的正常工作。
52.步骤202:若目标源代码文件的名称的前缀与预设前缀相同,则确定通信模组出现运行异常的异常原因为文件系统异常,并自动进行数据恢复后重启通信模组。
53.其中,预设前缀为通信模组对应的文件系统的源代码文件的文件名前缀。
54.可选地,获取目标源代码文件的名称之前,在编写文件系统对应的源代码文件时,为文件系统对应的源代码文件的名称添加预设前缀。这样的话,基于预设前缀,可以识别出所有由于文件系统异常导致的通信模组的运行异常。
55.在一种可能的实现方式中,在获取目标源代码文件的名称之前,编写关于文件系统软件包的源代码时,使用固定且统一的文件名前缀即预设前缀,此时,源代码文件名的格式可以为例如xxx_aaa.b。其中,xxx_表示预设前缀,aaa表示根据实际需求确定的不固定的文件名,.b表示根据实际需求确定的文件扩展名。
56.示例性的,预设前缀设置为例如fs_,以c语言为例。此时,可将用于文件系统初始化的源代码文件的名称设置为fs_init.c;可将用于构建文件系统外部的应用接口的源代码文件的名称设置为fs_user.c;可将将文件系统的驱动层的源代码文件的名称设置为fs_driver.c;依次类推,将fs_作为前缀添加到所有文件系统的源代码文件的名称的最前部。
57.可选地,在确定通信模组出现运行异常的异常原因后,记录该通信模组出现运行异常的时间,以及通信模组出现运行异常的异常原因等信息。这样的话,可便于基于运行异常的异常原因、异常时间等信息,对通信模组进行自动的数据恢复,或便于了解通信模组的运行状况,并基于通信模组的运行状况做出相应改进。
58.在一种可能的实现方式中,若满足以下条件才能够自动进行数据恢复:根据通信模组出现运行异常的时间,以及通信模组出现运行异常的异常原因,确定异常原因中文件系统异常的连续出现次数,随后,若文件系统异常的连续出现次数超过预设次数,则自动进行数据恢复。
59.也就是说,根据通信模组出现运行异常的时间,以及通信模组出现运行异常的异常原因,确定连续预设次数通信模组出现异常的异常原因均为文件系统异常,则自动进行数据恢复。其中,预设次数的取值可以是固定的,也可以是据实际工况确定的。
60.示例性的,预设次数的取值可以为3。
61.这样的话,在连续预设次数检测到通信模组出现异常的异常原因为文件系统异常后,可以保证所确定的异常原因的可靠性,从而准确地进行数据恢复,保证数据恢复效率。
62.在一种可能的实现方式中,在预设时间段内,若连续预设次数通信模组出现异常的异常原因均为文件系统异常,则自动进行数据恢复。其中,预设时间段可以是固定值,也可以是根据实际工况确定的值。这样的话,可进一步保证所确定的通信模组出现运行异常的异常原因的可靠性,准确地进行数据恢复,保证数据恢复效率。
63.可选地,自动进行数据恢复时,先通过目标接口从目标存储区域获取备份数据,再将通信模组中的数据,替换为该备份数据。
64.其中,该备份数据是可以是在通信模组出厂前,针对该通信模组的文件系统和文件系统中的数据所做的备份,也可以是根据实际需求,进行周期性的更新后的文件系统和
文件系统中的数据的备份。其中,该更新可以是在接收到用户指令后进行的,也可以是自动进行的。
65.示例性的,以预设次数的取值为3为例,在连续3次确定通信模组出现运行异常的异常原因为文件系统异常后,软件或固件自动使用备份数据对通信模组的文件系统和文件系统中的数据进行数据恢复。
66.在一种可能的实现方式中,备份数据是通过目标接口从目标存储区域中获取到的。因此,在编写代码时,还需构建目标接口,以便于通过目标接口访问目标存储区域中的备份数据,当然,也需构建文件系统接口,以便于通过文件系统接口访问文件系统存储区域中的文件系统,包括文件系统中的数据。
67.也就是说,访问备份数据的目标接口与访问文件系统的接口不同,两者相互独立,且目标存储区域与文件系统存储区域相互独立。这样的话,可以实现目标存储区域的访问,且目标存储区域的访问独立于文件系统对应的代码,或者说,不依赖于文件系统对应的代码。
68.示例性的,文件系统与备份数据存储于不同的存储分区中。
69.需要说明的是,在自动进行数据恢复后,重启通信模组,以便于数据恢复生效,通信模组正常运行。
70.步骤203:若目标源代码文件的名称的前缀与预设前缀不同,则确定通信模组出现运行异常的异常原因不是文件系统异常,并直接重启通信模组。
71.在确定通信模组出现运行异常的原因不是文件系统异常后,可以通过重启通信模组,对通信模组进行复位,从而使得通信模组从运行异常的情况中恢复并正常运行。
72.示例性的,本技术实施例提供一种数据恢复流程的示意图,如图3所示。通信模组开机并运行,若产生致命错误例如死机,检测异常代码,并获取异常代码所对应的源代码文件的名称;若正常运行则不进行操作。随后,基于该异常代码所对应的源代码文件的名称,该源代码文件是否来源于文件系统对应的源代码。若是,则使用备份数据自动进行数据恢复并重启通信模组;若否,则直接重启设备。
73.需要说明的是,现有技术中,在文件系统异常导致产品无法正常工作后,通常由具备专业知识的相关售后服务人员通过多次调试的方法对产品问题进行分析维修。此时,相关售后服务人员需要人工区分通信模组出现运行异常的异常原因,并使用专门的调试工具通过调试命令来恢复数据,最终修复产品。但这个过程需要消耗较长的时间,而在本技术中,可基于目标源代码文件的名称和文件系统对应的源代码文件的预设前缀,快速确定通信模组出现运行异常时的异常原因是否为文件系统异常,并在异常原因为文件系统异常时,自动进行数据恢复,从而在快速确定异常原因的基础上,提高数据恢复效率。
74.另外,现有技术中修复产品的过程需要消耗较多的人力,可能会造成较高的售后成本,为用户带来额外的使用成本。而在本技术中,在产品由于文件系统异常出现致命错误时,可以自动恢复文件系统,包括文件系统中存储的数据,恢复产品的正常功能,从而降低产品的维护售后成本,提升用户体验,提高产品竞争力。
75.如图4所示,本技术实施例提供了一种数据恢复装置,该装置包括获取模块401和重启模块402。
76.其中,获取模块401,用于获取目标源代码文件的名称,所述目标源代码文件为通
信模组出现运行异常时的异常代码对应的源代码文件。
77.重启模块402,用于若所述目标源代码文件的名称的前缀与预设前缀相同,则确定所述通信模组出现运行异常的异常原因为文件系统异常,并自动进行数据恢复后重启所述通信模组;所述预设前缀为所述通信模组对应的文件系统的源代码文件的文件名前缀;
78.重启模块402,还用于若所述目标源代码文件的名称的前缀与所述预设前缀不同,则确定所述通信模组出现运行异常的异常原因不是文件系统异常,并直接重启所述通信模组。
79.如图5所示,本技术实施例提供了一种电子设备,该电子设备可以为上述系统中的任一设备,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
80.存储器503,用于存放计算机程序;
81.在本技术一个实施例中,处理器501,用于执行存储器503上所存放的程序时,实现前述任意一个方法实施例提供的数据恢复方法。
82.本技术实施例提供的电子设备,具体可以为能够实现通信功能的模组或包含该模组的终端设备等,该终端设备可以为移动终端或智能终端。移动终端具体可以为手机、平板电脑、笔记本电脑等中的至少一种;智能终端具体可以是智能汽车、智能手表、共享单车、智能柜等含有无线通信模组的终端;模组具体可以为无线通信模组,例如2g通信模组、3g通信模组、4g通信模组、5g通信模组、nb-iot通信模组等中的任意一种。
83.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的数据恢复方法。
84.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
85.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1