数据恢复方法和装置、计算设备和可读存储介质制造方法及图纸

技术编号:34355930 阅读:47 留言:0更新日期:2022-07-31 06:35
本发明专利技术公开了一种数据恢复方法和装置、计算设备和可读存储介质,涉及计算系统应用程序数据恢复领域,可以解决现有数据恢复技术容易丢失数据的问题。数据恢复方法包括:拦截系统发出的和应用程序崩溃有关的信号;运行与所述信号有关的信号处理函数:建立所述应用程序的子进程;将所述子进程挂载到所述应用程序;通过所述子进程弹出搜索框;通过所述子进程接收用户输入,并根据用户输入遍历读取所述应用程序的内存映射文件中的数据,寻找与用户输入匹配的数据并展示在结果列表中;接收用户对结果列表的选择、复制操作,并保存用户复制的数据。根据本发明专利技术技术方案,可以在程序崩溃之前达到拯救数据的目的,且不存在丢失数据的风险。且不存在丢失数据的风险。且不存在丢失数据的风险。

【技术实现步骤摘要】
数据恢复方法和装置、计算设备和可读存储介质


[0001]本专利技术涉及计算机系统数据恢复领域,尤其涉及一种数据恢复方法和装置、计算设备和可读存储介质。

技术介绍

[0002]应用程序在计算机系统中运行时,可能由于发生崩溃而导致数据丢失。为了应对这种情况,通常需要部署数据恢复系统;或者某些应用程序本身自带数据恢复功能来避免数据丢失的情况出现。比如通常的文本编辑软件如Office软件、WPS软件等都会自带一定的数据恢复功能,以保证在程序运行发生崩溃的情况下,用户下次打开这个文档时能恢复到上次编辑的状态,避免数据丢失,用户又得从头开始重新编辑。
[0003]通常这类程序自带的数据恢复功能的实现方式为:在用户打开一个新文件的同时,在后台某个固定位置同步生成一个对应的文件,然后用户在编辑文档的过程中,程序后台会定时将文档的数据备份到后台对应文件。这样万一程序在某个时刻突然发生崩溃导致退出,在用户下次重新打开这个文档的时候,后台程序会先检测后台对应的文件是否已经存在,如果存在,则先读取后台保存的文件内容。这样用户就可以从上次程序崩溃时的状态继续编辑而不是从头开始重新编辑,在一定程度上避免了数据的丢失。
[0004]无论是外部部署的数据恢复系统还是软件本身自带的数据恢复功能,通常都是通过备份当前应用程序的数据来实现数据恢复的。然而,数据备份到后台文件就会涉及到大量数据的读写、拷贝操作。这些操作会影响程序运行时的性能,因此备份的频率不宜过于频繁。然而,这样定时备份恢复会有间隔期,在备份间隔期如果程序发生崩溃,这个期间用户编辑的数据是无法被恢复的。这个期间丢失的数据量根据各个不同软件的实现方案不同会有差异,备份频率高,丢失的数据量就小一些,频率低的丢失的数据量就会大一些。为了减少丢失的数据量,通常的备份功能都会提高备份的频率并且只进行增量的备份(备份功能只保存当前修改的数据)。而实际情况是当前市面上并非所有软件都做到增量备份,甚至有很多的文本编辑软件连基本的数据恢复功能都没有。另外无论备份的频率如何,始终存在丢失数据的可能性。
[0005]此外,在后台备份数据始终对应用程序的性能是一种额外的开销。
[0006]另外,根据这种方式的操作流程,用户需要重新打开文件,才会被提示是否需要将文件恢复到上次异常终止的状态,在操作流程上会有割裂感、不连续。而且还存在一个比较极端的情况:如果后台的备份文件被用户误删除了,就会导致丢失的数据无法恢复。

技术实现思路

[0007]为此,本专利技术提供了一种数据恢复方法和装置、计算设备和可读存储介质,以力图解决或者至少缓解上面存在的至少一个问题。
[0008]根据本专利技术的第一方面,提供了一种数据恢复方法,由加载到应用程序中的共享库执行,所述数据恢复方法包括:拦截系统发出的和应用程序崩溃有关的信号;运行与所述
信号有关的信号处理函数,所述信号处理函数提前注册在共享库中,且用于执行:建立所述应用程序的子进程;将所述子进程挂载到所述应用程序;通过所述子进程弹出搜索框;通过所述子进程接收用户输入,并根据用户输入遍历读取所述应用程序的内存映射文件中的数据,寻找与用户输入匹配的数据并展示在结果列表中;接收用户对结果列表的选择、复制操作,并保存用户复制的数据。
[0009]可选地,数据恢复方法还包括:在保存用户复制的数据之后,重新抛出和应用程序崩溃有关的信号,以使所述应用程序退出。
[0010]可选地,在本专利技术的数据恢复方法中,根据用户输入遍历读取所述应用程序的内存映射文件中的数据,寻找与用户输入匹配的数据并展示的步骤包括:读取预定大小的内存映射文件中的数据;判断所述预定大小的内存映射文件中的数据与用户输入是否匹配;如果匹配,将所述预定大小的内存映射文件中的数据加入结果列表中;如果不匹配,直接执行下一步;判断是否已读完内存映射文件中的所有数据,如果没有读完,继续读下一个预定大小的内存映射文件中的数据。
[0011]可选地,数据恢复方法还包括:接收用户对结果列表中特定结果的选择输入,展示与所述特定结果对应的十六进制数据列表和字符列表,其中,接收用户对结果列表的选择、复制操作包括:接收用户对所述字符列表的选择、复制操作。
[0012]根据本专利技术的第二方面,提供了一种数据恢复装置,设于加载到应用程序的共享库中,包括:拦截模块,用于拦截系统发出的和应用程序崩溃有关的信号;运行模块,用于运行与所述信号有关的信号处理函数,所述信号处理函数提前注册在所述共享库中,且用于启动数据恢复装置内的以下模块:建立模块,用于建立所述应用程序的子进程;挂载模块,用于将所述子进程挂载到所述应用程序;弹出模块,用于通过所述子进程弹出搜索框;遍历模块,用于通过所述子进程接收用户输入,并根据用户输入遍历读取所述应用程序的内存映射文件中的数据,寻找与用户输入匹配的数据;展示模块,用于将与用户输入匹配的数据展示在结果列表中;保存模块,用于接收用户对结果列表的选择、复制操作,并保存用户复制的数据。
[0013]可选地,数据恢复装置还包括抛出模块,用于在保存用户复制的数据之后,重新抛出和应用程序崩溃有关的信号,以使所述应用程序退出。
[0014]可选地,在本专利技术的数据恢复装置中,遍历模块包括:读取模块,用于读取预定大小的内存映射文件中的数据;第一判断模块,用于判断所述预定大小的内存映射文件中的数据与用户输入是否匹配,如果匹配,触发加入模块;如果不匹配,触发第二判断模块;加入模块,用于将所述预定大小的内存映射文件中的数据加入结果列表中;第二判断模块,用于判断是否已读完内存映射文件中的所有数据,如果没有读完,继续读下一个预定大小的内存映射文件中的数据。
[0015]可选地,在本专利技术的数据恢复装置中,展示模块还用于接收用户对结果列表中特定结果的选择输入,展示与所述特定结果对应的十六进制数据列表和字符列表,所述保存模块用于接收用户对所述字符列表的选择、复制操作,并保存用户复制的数据。
[0016]根据本专利技术的第三方面,提供了一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如上所述的方法。
[0017]根据本专利技术的第四方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的方法。
[0018]根据本专利技术技术方案,可以在程序崩溃之前达到拯救数据的目的,且由于当前的崩溃进程并未退出,因此所有输入过的数据都可以恢复,不存在丢失数据的风险。
附图说明
[0019]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0020]图1示出了根据本专利技术实施方式的技术方案的整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据恢复方法,由加载到应用程序中的共享库执行,所述数据恢复方法包括:拦截系统发出的和应用程序崩溃有关的信号;运行与所述信号有关的信号处理函数,所述信号处理函数提前注册在共享库中,且用于执行:建立所述应用程序的子进程;将所述子进程挂载到所述应用程序;通过所述子进程弹出搜索框;通过所述子进程接收用户输入,并根据用户输入遍历读取所述应用程序的内存映射文件中的数据,寻找与用户输入匹配的数据并展示在结果列表中;接收用户对结果列表的选择、复制操作,并保存用户复制的数据。2.如权利要求1所述的数据恢复方法,还包括:在保存用户复制的数据之后,重新抛出和应用程序崩溃有关的信号,以使所述应用程序退出。3.如权利要求1所述的数据恢复方法,其中,根据用户输入遍历读取所述应用程序的内存映射文件中的数据,寻找与用户输入匹配的数据并展示的步骤包括:读取预定大小的内存映射文件中的数据;判断所述预定大小的内存映射文件中的数据与用户输入是否匹配;如果匹配,将所述预定大小的内存映射文件中的数据加入结果列表中;如果不匹配,直接执行下一步;判断是否已读完内存映射文件中的所有数据,如果没有读完,继续读下一个预定大小的内存映射文件中的数据。4.如权利要求1

3中任一项所述的数据恢复方法,还包括:接收用户对结果列表中特定结果的选择输入,展示与所述特定结果对应的十六进制数据列表和字符列表,其中,接收用户对结果列表的选择、复制操作包括:接收用户对所述字符列表的选择、复制操作。5.一种数据恢复装置,设于加载到应用程序的共享库中,包括:拦截模块,用于拦截系统发出的和应用程序崩溃有关的信号,运行模块,用于运行与所述信号有关的信号处理函数,所述信号处理函数提前注册在所述共享库中,且用于启动数据恢复装置内的以下模块:建立模块,用于建立所述应用程序的子进程;挂...

【专利技术属性】
技术研发人员:刘昌辉冷周杨堃
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

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

1