用于备份和恢复数据的系统和方法
【专利摘要】本发明提供了一种用于备份和恢复数据的系统,包括:备份单元,被配置为将与应用有关的数据备份到远端服务器;恢复单元,被配置为从远端服务器恢复与应用有关的数据;以及监控单元,被配置为:当监测到应用被安装或运行时,根据需要来控制备份单元和/或恢复单元,以备份和/或恢复与应用有关的数据。本发明还提供了一种用于备份和恢复数据的方法。采用本发明,在发生软件或硬件系统更新后,能够实现应用级别的数据的完整恢复。
【专利说明】用于备份和恢复数据的系统和方法
【技术领域】
[0001]本发明涉及移动通信领域。更具体地,本发明涉及一种用于备份和恢复数据的系统和方法。
【背景技术】
[0002]当前,移动终端(例如,智能手机、个人数字助理、音视频播放器等)的使用得到了极大的普及。然而,当前的移动终端在进行系统升级或者更换系统时,会出现原有应用的数据无法使用或无法全部恢复的情况,这导致用户无法顺利延续原有应用的正常使用。
[0003]目前,针对应用数据的备份和恢复通常的做法是:基于整个终端提供备份方案,将终端一些关键信息进行备份以便时候恢复。但是这种方式的局限在于:往往局限于同一机型、同一系统的备份和恢复,而且通常仅能够提供系统级的数据恢复而不是应用级的数据恢复。因此,这种方式无法解决出现系统升级或硬件更换时的应用级别的数据恢复。
【发明内容】
[0004]为了解决上述问题,本发明提供了一种基于Android系统的备份和恢复方式。通过监控应用的安装和运行请求,管理面向应用的数据库相关信息的备份和恢复,可为各类应用提供备份和恢复接口,从而提供应用安装和运行数据的完全备份和恢复。
[0005]具体地,本发明基于Android系统提供一种面向应用的备份和恢复机制,该机制通过监控应用来管理备份恢复数据库,为各类应用提供备份和恢复接口。当应用被安装或运行时,所有访问存储介质的行为都可通过这些接口进行,采用主动调用的方式将与应用相关的所有数据或文件信息进行备份,实现了应用相关数据的数据库化方式的备份。在软件或硬件系统更新后,可以实现应用的完整数据恢复。
[0006]根据本发明的第一方案,提供了一种用于备份和恢复数据的系统,包括:备份单元,被配置为将与应用有关的数据备份到远端服务器;恢复单元,被配置为从远端服务器恢复与应用有关的数据;以及监控单元,被配置为:当监测到应用被安装或运行时,根据需要来控制备份单元和/或恢复单元,以备份和/或恢复与应用有关的数据。
[0007]在一个实施例中,监控单元被配置为:当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果存在已备份的与所述应用有关的数据并且需要恢复,指示所述恢复单元恢复已备份的与所述应用有关的数据。
[0008]在一个实施例中,监控单元被配置为:当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果不存在已备份的与所述应用有关的数据并且需要备份,则指示所述备份单元对与所述应用有关的数据进行备份。
[0009]在一个实施例中,与应用有关的数据包括应用的安装配置数据。
[0010]在一个实施例中,与应用有关的数据包括应用的运行数据和下载数据。
[0011]在一个实施例中,备份单元被配置为:将与应用有关的数据进行格式转换,并以加密和/或压缩的方式备份到远端服务器。[0012]在一个实施例中,该系统还包括:记录单元,被配置为将与备份和恢复操作有关的信息记录到日志文件中。
[0013]根据本发明的第二方案,提供了一种用于备份和恢复数据的方法,包括:当监测到应用被安装或运行时,根据需要来备份和/或恢复与应用有关的数据;其中,备份与应用有关的数据包括将与应用有关的数据备份到远端服务器,恢复与应用有关的数据包括从远端服务器恢复与应用有关的数据。
[0014]在一个实施例中,当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果存在已备份的与所述应用有关的数据并且需要恢复,恢复已备份的与所述应用有关的数据。
[0015]在一个实施例中,当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果不存在已备份的与所述应用有关的数据并且需要备份,对与所述应用有关的数据进行备份。
[0016]在一个实施例中,与应用有关的数据包括应用的安装配置数据。
[0017]在一个实施例中,与应用有关的数据包括应用的运行数据和下载数据。
[0018]在一个实施例中,将与应用有关的数据进行格式转换,并以加密和/或压缩的方式备份到远端服务器。
[0019]在一个实施例中,该方法还包括:将与备份和恢复操作有关的信息记录到日志文件中。
[0020]采用本发明,在发生软件或硬件系统更新后,能够实现应用级别的数据的完整恢复,避免了因为更换硬件或系统升级后的数据恢复过程中的数据恢复不完整。
【专利附图】
【附图说明】
[0021]通过下面结合【专利附图】
【附图说明】本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
[0022]图1是示出了根据本发明一个实施例的用于备份和恢复数据的系统的框图。
[0023]图2是示出了根据本发明一个实施例的用于备份和恢复数据的方法的流程图。
[0024]在本发明的所有附图中,相同或相似的结构均以相同或相似的附图标记来标识。
【具体实施方式】
[0025]下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。
[0026]图1是示出了根据本发明一个实施例的用于备份和恢复数据的系统的框图。如图1所示,系统10包括备份单元110、恢复单元120和监控单元130。可选地,系统10还可以包括记录单元140。下面,对图1所示的系统10的各个组件进行详细描述。
[0027]备份单元110被配置为将与应用有关的数据备份到远端服务器。优选地,备份单元110将与应用有关的数据进行格式转换,并以加密和/或压缩的方式备份到远端服务器。
[0028]恢复单元120被配置为从远端服务器恢复与应用有关的数据。
[0029]监控单元130被配置为:当监测到应用被安装或运行时,根据需要来控制备份单元110和/或恢复单元120,以备份和/或恢复与应用有关的数据。例如,当监控单元130监测到应用被安装时,监控单元130检测是否存在已备份的与所述应用有关的数据。如果存在已备份的与所述应用有关的数据并且需要恢复,监控单元130指示恢复单元120恢复已备份的与所述应用有关的数据。另一方面,如果不存在已备份的与所述应用有关的数据并且需要备份,则监控单元130指示备份单元110对与所述应用有关的数据进行备份。在此示例中,与应用有关的数据可以包括应用的安装配置数据。
[0030]进一步地,当监控单元130监测到应用被运行时,监控单元130检测是否存在已备份的与所述应用有关的数据。如果存在已备份的与所述应用有关的数据并且需要恢复,监控单元130指示恢复单元120恢复已备份的与所述应用有关的数据。另一方面,如果不存在已备份的与所述应用有关的数据并且需要备份,则监控单元130指示备份单元110对与所述应用有关的数据进行备份。在此示例中,与应用有关的数据可以包括应用的运行数据和下载数据。
[0031]记录单元140被配置为将与备份单元110/恢复单元120执行的备份/恢复操作有关的信息记录到日志文件中。
[0032]下面,以Android操作系统作为应用场景,详细描述图1所示的系统10的一个应用示例。
[0033]系统启动后,首先检测系统中的SqlLite数据库中是否已经创建备份恢复数据库。如果没有创建,将在SqlLite中创建备份恢复数据库和基本数据表,并完成初始化。如果备份恢复数据库已经创建,将对备份恢复数据库进行完整性和容量检查,保证备份恢复数据库的完整可用和存储空间没有超过警戒值。检查工作完成后,可以按照固定时间间隔对备份恢复数据库进行检查,以保证备份恢复数据库能够正常处理备份和恢复请求。
[0034]对于应用安装过程和运行过程相关的所有配置信息和数据,备份单元110可以通过明文方式将其存储在数据库中。进一步地,备份单元110通过定期存储方式,将备份恢复数据库中与应用的安装、运行、下载有关的所有备份数据和在存储介质上可能存在的下载文件通过zip加密压缩成文件,以“应用名_版本信息_Inf0.zip”方式存储(例如,a_1.0Inf0.zip),并且以显示存储方式在远端服务器中备份。下面,分别介绍应用的安装和运行中可能发生的备份和恢复。
[0035]在进行应用的安装时,监控单元130根据应用的名称和版本信息查询是否存在对应的备份信息。如果不存在对应的备份信息,该应用继续安装过程。在该过程中,当安装产生面向存储介质的操作时,备份单元110将该应用传递的安装配置数据AIC按照如下格式进行调整和转换:
[0036]<应用名称应用版本信息安装配置数据内容条项>,
[0037]然后,备份单元110将其写入到对应的数据表中。同时,备份单元110将该应用是否为首次安装进行标志记录,并写入备份恢复数据库中的指定表中。
[0038]如果存在对应备份,监控单元130可以通过系统消息提示用户是否需要使用对应的备份信息。此时,如果用户选择需要恢复备份信息,在继续安装该应用之前,恢复单元120使用应用的名称和版本信息作为关键索引信息,从远端服务器获取备份数据,并将备份数据解密和解压,恢复为SqlLite数据库备份数据。然后,根据恢复的数据库数据,恢复单元120判断是否需要恢复下载文件。如果需要,则从解密和解压的内容中获取下载文件并恢复。在完成所有针对该应用的安装配置恢复操作后,该应用的后续安装过程将按照恢复的安装配置数据而执行。这样,在应用的安装结束后,可以保证应用的使用连续性。
[0039]如果用户选择不恢复备份数据,监控单元130可以通过系统消息提示用户是否需要进行备份操作。如果用户选择进行备份,则备份单元110执行备份操作。如果用户选择不进行备份,则继续应用的安装过程。
[0040]在应用运行时,需要对运行数据(RD)和下载文件进行备份。当需要将RD写入存储介质时,备份单元110按照如下格式对RD进行调整和转换:
[0041]<应用名称应用版本调用方法运行数据内容>
[0042]然后,备份单元110将其写入到对应数据表中。当发生文件下载行为时,备份单元110将该应用需要下载的文件的相关信息按照如下格式存储到对应的数据表中:
[0043]<应用名称应用版本下载文件存储位置下载文件全名>
[0044]这里,“下载文件全名”包括文件后缀名。
[0045]应用运行过程中的恢复包括运行数据和下载文件的恢复。
[0046]当需要从存储介质读取RD时,恢复单元120将RD内容读出,然后按照如下格式进行解析:
[0047]<应用名称应用版本调用方法运行数据内容>
[0048]之后,恢复单元120将其返回给应用。
[0049]当需要恢复下载文件时,恢复单元120获取和应用对应的下载文件信息,按照如下格式进行解析:
[0050]<应用名称应用版本下载文件存储位置下载文件全名>
[0051]恢复单元120通过“下载文件存储位置”和“下载文件全名”确认下载文件本地是否可恢复。如果在“下载文件存储位置”无法查找到对应的下载文件,恢复单元120从远端服务器将备份的下载文件恢复至本地,并将恢复结果返回该应用。
[0052]根据本实施例,当发生软件或硬件系统更新时,能够实现应用级别的数据的完整恢复。
[0053]图2是示出了根据本发明一个实施例的用于备份和恢复数据的方法的流程图。如图2所示,方法20在步骤S210处开始。
[0054]在步骤S220处,监测应用的安装或运行情况。
[0055]在步骤S230处,当监测到应用的安装或运行时,根据需要来备份和/或恢复与应用有关的数据。例如,备份与应用有关的数据可以包括将与应用有关的数据备份到远端服务器,而恢复与应用有关的数据可以包括从远端服务器恢复与应用有关的数据。
[0056]例如,当监测到应用被安装时,检测是否存在已备份的与所述应用有关的数据。如果存在已备份的与所述应用有关的数据并且需要恢复,恢复已备份的与所述应用有关的数据。另一方面,如果不存在已备份的与所述应用有关的数据并且需要备份,对与所述应用有关的数据进行备份。在此示例中,与应用有关的数据可以包括应用的安装配置数据。
[0057]当监测到应用被运行时,检测是否存在已备份的与所述应用有关的数据。如果存在已备份的与所述应用有关的数据并且需要恢复,恢复已备份的与所述应用有关的数据。另一方面,如果不存在已备份的与所述应用有关的数据并且需要备份,对与所述应用有关的数据进行备份。在此示例中,与应用有关的数据可以包括应用的运行数据和下载数据。
[0058]优选地,在备份过程中,可以将与应用有关的数据进行格式转换,并以加密和/或压缩的方式备份到远端服务器。
[0059]备选地,该方法还可以包括:将与备份和恢复操作有关的信息记录到日志文件中。
[0060]最后,方法20在步骤S240处结束。
[0061]应该理解,本发明的上述实施例可以通过软件、硬件或者软件和硬件两者的结合来实现。例如,图1所示的系统10内的各种组件可以通过多种器件来实现,这些器件包括但不限于:模拟电路、数字电路、通用处理器、数字信号处理(DSP)电路、可编程处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(CPLD),等等。另外,系统10内的各种组件也可以通过硬件与软件相结合的方式来实现,或者完全以软件的形式来实现。
[0062]另外,本领域的技术人员可以理解,本发明实施例中描述的数据可以存储在本地数据库中,也可以存储在分布式数据库中或者可以存储在远程数据库中。
[0063]此外,这里所公开的本发明的实施例可以在计算机程序产品上实现。更具体地,该计算机程序产品是如下的一种产品:具有计算机可读介质,计算机可读介质上编码有计算机程序逻辑,当在计算设备上执行时,该计算机程序逻辑提供相关的操作以实现本发明的上述技术方案。当在计算系统的至少一个处理器上执行时,计算机程序逻辑使得处理器执行本发明实施例所述的操作(方法)。本发明的这种设置典型地提供为设置或编码在例如光介质(例如CD-ROM)、软盘或硬盘等的计算机可读介质上的软件、代码和/或其他数据结构、或者诸如一个或多个ROM或RAM或PROM芯片上的固件或微代码的其他介质、或一个或多个模块中的可下载的软件图像、共享数据库等。软件或固件或这种配置可安装在计算设备上,以使得计算设备中的一个或多个处理器执行本发明实施例所描述的技术方案。
[0064]至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。
【权利要求】
1.一种用于备份和恢复数据的系统,包括: 备份单元,被配置为将与应用有关的数据备份到远端服务器; 恢复单元,被配置为从远端服务器恢复与应用有关的数据;以及监控单元,被配置为:当监测到应用被安装或运行时,根据需要来控制备份单元和/或恢复单元,以备份和/或恢复与应用有关的数据。
2.根据权利要求1所述的系统,其中,监控单元被配置为: 当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果存在已备份的与所述应用有关的数据并且需要恢复,指示所述恢复单元恢复已备份的与所述应用有关的数据。
3.根据权利要求1所述的系统,其中,监控单元被配置为: 当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果不存在已备份的与所述应用有关的数据并且需要备份,则指示所述备份单元对与所述应用有关的数据进行备份。
4.根据权利要求2或3所述的系统,其中,与应用有关的数据包括应用的安装配置数据。
5.根据权利要求2或3所述的系统,其中,与应用有关的数据包括应用的运行数据和下载数据。
6.根据权利要求1所述的系统,其中,备份单元被配置为:将与应用有关的数据进行格式转换,并以加密和/或压缩的方式备份到远端服务器。
7.根据权利要求1所述的系统,还包括: 记录单元,被配置为将与备份和恢复操作有关的信息记录到日志文件中。
8.一种用于备份和恢复数据的方法,包括: 当监测到应用被安装或运行时,根据需要来备份和/或恢复与应用有关的数据; 其中,备份与应用有关的数据包括将与应用有关的数据备份到远端服务器,恢复与应用有关的数据包括从远端服务器恢复与应用有关的数据。
9.根据权利要求8所述的方法,其中, 当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果存在已备份的与所述应用有关的数据并且需要恢复,恢复已备份的与所述应用有关的数据。
10.根据权利要求8所述的方法,其中, 当监测到应用被安装或运行时,检测是否存在已备份的与所述应用有关的数据;以及如果不存在已备份的与所述应用有关的数据并且需要备份,对与所述应用有关的数据进行备份。
11.根据权利要求9或10所述的方法,其中,与应用有关的数据包括应用的安装配置数据。
12.根据权利要求9或10所述的方法,其中,与应用有关的数据包括应用的运行数据和下载数据。
13.根据权利要求8所述的方法,其中,将与应用有关的数据进行格式转换,并以加密和/或压缩的方式备份到远端服务器。
14.根据权利要求8所述的方法,还包括:将与备份和恢复操作有关 的信息记录到日志文件中。
【文档编号】H04W8/30GK103619008SQ201310673790
【公开日】2014年3月5日 申请日期:2013年12月11日 优先权日:2013年12月11日
【发明者】陈继 申请人:北京网秦天下科技有限公司