【技术实现步骤摘要】
数据恢复的方法、装置
[0001]本申请实施例涉及计算机
,尤其是涉及数据恢复的方法。
技术介绍
[0002]Android操作系统因其开源性质已被广泛应用于手机、平板电脑、可穿戴设备等多种智能设备中。随着Android系统越来越普及,其应用数量连年增长,应用开发层出不穷。应用程序在运行过程中存在很多不确定性,比如应用程序运行时发生崩溃,被用户直接清理,或是被各类Android衍生系统进行不同程度的管控等。由于Android系统中的进程中使用到的内存易失性数据如Pend ingI ntent,I Binder等无法序列化进行持久化存储,从而导致应用程序在重启后不能恢复到出现异常前的状态,给Android应用开发者带来了极大的限制,也影响了用户的体验。
[0003]为解决这一问题,现有技术主要提供几种方案:
[0004]1)在系统层对当前运行的应用相关的信息进行解析提取,序列化得到字节流后存储在数据库中。但是这个方案需要对系统层代码进行修改,通用性不强。
[0005]2)对目标应用程序进行进程监控,将其运行异常时的堆栈信息存储于本地,在出现异常时根据保存的堆栈信息对状态进行恢复。但是由于堆栈信息一般是记录进程运行状态的相关信息,记录不了进程内的数据,因此恢复时仅能保证进程的恢复,不能保证应用内所有数据包括内存易失性数据的恢复。
[0006]3)提供一种父子进程间进行交互保活,定期向通过管道通信发送给主进程进行信息保活,保证在一方意外崩溃的情况下另一方能及时拉起并恢复其进程。但是这种 ...
【技术保护点】
【技术特征摘要】
1.一种数据恢复的方法,其特征在于,包括:确定第一数据,所述第一数据为应用程序正常运行时的应用数据;将所述第一数据保存到句柄记录,所述句柄记录使用引用计数的机制进行管理;应用程序异常重启时,获取所述句柄记录,根据所述句柄记录将应用程序恢复到异常前的状态。2.根据权利要求1所述的方法,其特征在于,所述第一数据为无法通过序列化保存到外部存储设备的内存易失性数据。3.根据权利要求1所述的方法,其特征在于,所述句柄记录使用引用计数的机制进行管理包括:通过第一系统接口引用所述句柄记录。4.根据权利要求3所述的方法,其特征在于,所述通过第一系统接口引用句柄记录包括:对所述句柄记录设置定时任务,所述定时任务包括一次性任务或者周期性任务;或者对所述句柄记录设置触发条件;或者对所述句柄记录设置通知任务,所述通知任务包括常驻通知或非常驻通知。5.根据权利要求1所述的方法,其特征在于,所述将第一数据保存到句柄记录包括:将所述第一数据进行分层分桶存储。6.根据权利要求5所述的方法,其特征在于,所述将所述第一数据进行分层分桶存储包括:建立分桶映射表,所述分桶映射表包括至少一个关键字和至少一个分桶寻址的对应关系,其中,所述关键字为一条所述第一数据的唯一标识,所述分桶寻址为指向所述一条所述第一数据存储位置的变量,所述分桶映射表用于数据更新或删除时根据所述关键字找到所述一条所述第一数据在分桶中的存储位置。7.根据权利要求6所述的方法,其特征在于,所述分桶寻址包括:分桶的编号;或者分桶的编号和桶内键值的组合;所述分桶编号为分配给一条所述第一数据的一个分桶的编号,所述桶内键值为一条所述第一数据在一个分桶内的位置。8.根据权利要求5-7中任意一项所述的方法,其特征在于,所述通过第一系统接口引用所述句柄记录包括:通过第一系统接口引用分层分桶存储的所述第一数据的最顶层。9.根据权利要求6-8中任意一项所述的方法,其特征在于,所述方法还包括:应用程序正常运行时,根据分桶映射表更新或删除所述第一数据,以使得所述第一数据与应用程序运行的最新状态的应用数据保持一致。10.根据权利要求1所述的方法,其特征在于,所述应用程序异常重启时,获取所述句柄记录,根据所述句柄记录将应用程序恢复到异常前的状态包括:通过第二系统接口根据应用标识获取所述应用程序的句柄记录,所述应用标识为标识所述应用程序的唯一标识;解析所述句柄记录并将所述句柄记录中的数据恢复到所述应用程序。
11.一种数据恢复的装置,其特征在于,包括确定模块、保存模块和恢复模块:所述确定模块用于:确定第一数据,所述第一数据为应用程序正常运行时的应用数据;所述保存模块用于:将所述第一数据保存到句柄记录,所述句柄记录使用引用计数的机制进行管理;所述恢复模块用于:应用程序异常重启时,获...
【专利技术属性】
技术研发人员:周逸徉,巢晖,汪洋,林杰辉,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。