一种数据恢复的方法和装置与流程

文档序号:12120310阅读:283来源:国知局
一种数据恢复的方法和装置与流程

本发明涉及数据处理技术领域,尤其涉及一种数据恢复的方法和装置。



背景技术:

随着终端技术的快速发展,各种类型的终端不断涌现,如台式机、笔记本电脑、手机、平板电脑等,这些终端已经成为人们日常工作和生活的重要工具,被人们使用的频率越来越高。用户在使用终端的过程中,会在终端中产生各种各样的数据,比如照片、视频文件、联系人等数据。随着时间的积累,终端中存储的数据越来越多,而终端的存储容量是有限的,所以,很多用户通过云服务将终端中的数据进行备份。为了防止数据丢失,目前大多数云服务已具备数据自动备份的功能,云服务会定期将系统数据库中的数据备份到备份数据库中,一旦系统数据库中的数据丢失,可利用备份数据库中的备份数据对系统数据库中的数据进行恢复。但是,如果将备份数据库中的全部备份数据都恢复到系统数据库中,恢复时间较长、效率较差。



技术实现要素:

本发明的主要目的在于提出一种数据恢复的方法和装置,将系统数据库的数据快速准确的恢复到某一备份节点时的数据。

为实现上述目的,本发明提供的一种数据恢复的装置,包括:

获取模块,用于从云服务的会话缓存中获取对比结果,所述对比结果包括:终端信息、数据类型信息、第一版本号信息以及差异数据;

判断模块,用于判断所述云服务的系统数据库中的所述终端的所述数据类型的最新版本号是否与所述第一版本号相同;

恢复模块,用于在所述最新版本号与所述第一版本号相同的情况下,根据所述差异数据,对所述系统数据库中的所述终端的所述数据类型的最新版本号的数据进行数据恢复操作。

进一步的,所述系统数据库用于存储所述云服务中的各个终端的各种数据类型的最新版本号的数据。

进一步的,所述差异数据为所述终端的所述数据类型的第二版本号的数据相对于所述终端的所述数据类型的第一版本号的数据的新增数据、删除数据和修改数据。

进一步的,所述第二版本号的数据存储在所述云服务的备份数据库中;

所述备份数据库用于存储所述云服务中的各个终端的各种数据类型的各个版本号的数据。

进一步的,所述判断模块,还用于:

当接收到所述对比结果时,判断所述系统数据库中的所述终端的所述数据类型的最新版本号的数据是否已加锁,若是,则结束数据恢复操作;若否,则对所述最新版本号的数据进行加锁操作;

所述装置,还包括:

解锁模块,用于当所述数据恢复操作结束时,对所述系统数据库中的所述终端的所述数据类型的恢复后的数据进行解锁操作。

此外,为实现上述目的,本发明还提出一种数据恢复的方法,包括:

从云服务的会话缓存中获取对比结果,所述对比结果包括:终端信息、数据类型信息、第一版本号信息以及差异数据;

判断所述云服务的系统数据库中的所述终端的所述数据类型的最新版本号是否与所述第一版本号相同;

在所述最新版本号与所述第一版本号相同的情况下,根据所述差异数据,对所述系统数据库中的所述终端的所述数据类型的最新版本号的数据进行数据恢复操作。

进一步的,所述系统数据库用于存储所述云服务中的各个终端的各种数据类型的最新版本号的数据。

进一步的,所述差异数据为所述终端的所述数据类型的第二版本号的数据相对于所述终端的所述数据类型的第一版本号的数据的新增数据、删除数据和修改数据。

进一步的,所述第二版本号的数据存储在所述云服务的备份数据库中;

所述备份数据库用于存储所述云服务中的各个终端的各种数据类型的各个版本号的数据。

进一步的,所述方法,还包括:

当接收到所述对比结果时,判断所述系统数据库中的所述终端的所述数据类型的最新版本号的数据是否已加锁,若是,则结束数据恢复操作;若否,则对所述最新版本号的数据进行加锁操作;

当所述数据恢复操作结束时,对所述系统数据库中的所述终端的所述数据类型的恢复后的数据进行解锁操作。

本发明提出的数据恢复的方法和装置,利用数据对比结果,将系统数据库的最新版本的数据恢复到之前任一备份节点时的数据,所述对比结果中只包括指定版本号的数据与最新版本号的数据之间的差异数据,所以利用所述差异数据就可对当前最新版本的数据进行恢复。本发明可以将系统数据库的数据快速准确的恢复到某一备份节点时的数据。

附图说明

图1为本发明第一实施例的数据恢复的装置的组成结构示意图;

图2为本发明第二实施例的数据恢复的装置的组成结构示意图;

图3为本发明第三实施例的数据恢复的方法的流程图;

图4为本发明第四实施例的数据恢复的方法的流程图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明第一实施例提出一种数据恢复的装置,具体包括以下组成部分:

1)获取模块101,用于从云服务的会话缓存中获取对比结果,所述对比结果包括:终端信息、数据类型信息、第一版本号信息以及差异数据。

所述终端信息为在所述云服务中注册的终端用户的信息。

所述数据类型包括:联系人、通话记录、短信、记事本、闹铃、日历和书签。

第一版本号为发起数据对比操作时的所述终端的所述数据类型的在所述系统数据库中的版本号。

所述差异数据为所述终端的所述数据类型的第二版本号的数据相对于所述终端的所述数据类型的第一版本号的数据的新增数据、删除数据和修改数据。

所述第二版本号的数据存储在所述云服务的备份数据库中。

所述系统数据库用于存储所述云服务中的各个终端的各种数据类型的最新版本号的数据。

所述备份数据库用于存储所述云服务中的各个终端的各种数据类型的各个版本号的数据。

2)判断模块102,用于判断所述云服务的系统数据库中的所述终端的所述数据类型的最新版本号是否与所述第一版本号相同;

若是,则触发恢复模块103,执行数据恢复操作;

若否,则说明所述系统数据库中的所述终端的所述数据类型的最新版本号已发生变更,需要将所述最新版本号的数据与所述第二版本号的数据进行重新对比。

具体的,判断模块102,还用于:

当接收到所述对比结果时,判断所述系统数据库中的所述终端的所述数据类型的最新版本号的数据是否已加锁,若是,则说明所述最新版本的数据正在被使用或者正在进行更新中,结束数据恢复操作;若否,则对所述最新版本号的数据进行加锁操作,以防止所述最新版本的数据在恢复过程中所述终端对所述最新版本的数据进行修改、删除或添加操作。

3)恢复模块103,用于在所述最新版本号与所述第一版本号相同的情况下,根据所述差异数据,对所述系统数据库中的所述终端的所述数据类型的最新版本号的数据进行数据恢复操作。

具体的,恢复模块103,包括:

新增单元,用于将所述差异数据中的新增数据添加到所述最新版本的数据中,并为所述新增数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

修改单元,用于将所述差异数据中的修改数据添加到所述最新版本的数据中,并为所述修改数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

删除单元,用于在所述最新版本的数据中查找所述差异数据中的删除数据,并将所述最新版本中的所述删除数据的状态标识status标记为0,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

在云服务中,为每个数据库中的数据设置专题标识status,当status=0时,表示所述数据处于正常状态;当status=1时,表示删除所述数据的内容,但可对所述数据进行恢复操作;当status=2时,表示彻底删除所述数据,且不能进行恢复操作。

进一步的,所述装置还包括:

解锁模块,用于当所述数据恢复操作结束时,对所述系统数据库中的所述终端的所述数据类型的恢复后的数据进行解锁操作。对所述最新版本的数据进行加锁和解锁操作,是为了保证所述最新版本的数据在数据恢复过程中的一致性。

如图2所示,本发明第二实施例提出一种数据恢复的装置,具体包括以下组成部分:

1)接收模块201,用于接收终端发送来的数据恢复请求信息,所述数据恢复请求信息包括:对比结果索引信息。

2)获取模块202,用于根据所述数据恢复请求信息中的对比结果索引信息从所述云服务的会话缓存中获取与之对应的对比结果,开始执行数据恢复操作。

所述对比结果包括:终端信息、数据类型信息、第一版本号信息以及差异数据。

所述终端信息为所述终端的用户信息。

所述数据类型包括:联系人、通话记录、短信、记事本、闹铃、日历和书签。

第一版本号为发起数据对比操作时的所述终端的所述数据类型的在所述MySQL数据库中的版本号。.

所述MySQL数据库相当于本发明第一实施例中的系统数据库。所述MySQL数据库位于所述云服务中,用于存储所述云服务中的各个终端的各种数据类型的最新版本号的数据。

所述差异数据为所述终端的所述数据类型的第二版本号的数据相对于所述终端的所述数据类型的第一版本号的数据的新增数据、删除数据和修改数据。

所述第二版本号的数据存储在所述云服务的Mongo数据库中。

所述Mongo数据库相当于所述本发明第一实施例中的备份数据库,用于存储所述云服务中的各个终端的各种数据类型的各个版本号的数据。

3)预处理模块203,用于对所述数据恢复请求进行预处理操作,判断发送所述数据恢复请求的终端是否已在所述云服务中注册,若是,则触发加锁模块204;若否,则拒绝所述数据恢复请求。

4)加锁模块204,用于判断所述MySQL数据库中的所述终端的所述数据类型的最新版本号的数据是否已加锁;

若是,则说明所述最新版本的数据正在被使用或者正在进行更新中,结束数据恢复操作;

若否,则对所述最新版本号的数据进行加锁操作,以防止所述最新版本的数据在恢复过程中所述终端对所述最新版本的数据进行修改、删除或添加操作。

5)判断模块205,用于判断所述云服务的MySQL数据库中的所述终端的所述数据类型的最新版本号是否与所述第一版本号相同;

若是,则执行数据恢复操作;

若否,则说明所述MySQL数据库中的所述终端的所述数据类型的最新版本号已发生变更,需要将所述最新版本号的数据与所述第二版本号的数据进行重新对比。

6)恢复模块206,用于在所述最新版本号与所述第一版本号相同的情况下,根据所述差异数据,对所述系统数据库中的所述终端的所述数据类型的最新版本号的数据进行数据恢复操作。

具体的,恢复模块206,包括:

新增单元,用于将所述差异数据中的新增数据添加到所述最新版本的数据中,并为所述新增数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

修改单元,用于将所述差异数据中的修改数据添加到所述最新版本的数据中,并为所述修改数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

删除单元,用于在所述最新版本的数据中查找所述差异数据中的删除数据,并将所述最新版本中的所述删除数据的状态标识status标记为0,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

在云服务中,为每个数据库中的数据设置专题标识status,当status=0时,表示所述数据处于正常状态;当status=1时,表示删除所述数据的内容,但可对所述数据进行恢复操作;当status=2时,表示彻底删除所述数据,且不能进行恢复操作。

7)解锁模块207,用于当所述数据恢复操作结束时,对所述系统数据库中的所述终端的所述数据类型的恢复后的数据进行解锁操作。对所述最新版本的数据进行加锁和解锁操作,是为了保证所述最新版本的数据在数据恢复过程中的一致性。

如图3所示,本发明第三实施例提出一种数据恢复的方法,具体包括以下步骤:

步骤S301,从云服务的会话缓存中获取对比结果,所述对比结果包括:终端信息、数据类型信息、第一版本号信息以及差异数据。

所述终端信息为在所述云服务中注册的终端用户的信息。

所述数据类型包括:联系人、通话记录、短信、记事本、闹铃、日历和书签。

第一版本号为发起数据对比操作时的所述终端的所述数据类型的在所述系统数据库中的版本号。

所述差异数据为所述终端的所述数据类型的第二版本号的数据相对于所述终端的所述数据类型的第一版本号的数据的新增数据、删除数据和修改数据。

所述第二版本号的数据存储在所述云服务的备份数据库中。

所述系统数据库用于存储所述云服务中的各个终端的各种数据类型的最新版本号的数据。

所述备份数据库用于存储所述云服务中的各个终端的各种数据类型的各个版本号的数据。

步骤S302,判断所述云服务的系统数据库中的所述终端的所述数据类型的最新版本号是否与所述第一版本号相同;

若是,则执行步骤S303,执行数据恢复操作;

若否,则说明所述系统数据库中的所述终端的所述数据类型的最新版本号已发生变更,需要将所述最新版本号的数据与所述第二版本号的数据进行重新对比。

具体的,在步骤S302之前,所述方法还包括:

当接收到所述对比结果时,判断所述系统数据库中的所述终端的所述数据类型的最新版本号的数据是否已加锁,若是,则说明所述最新版本的数据正在被使用或者正在进行更新中,结束数据恢复操作;若否,则对所述最新版本号的数据进行加锁操作,以防止所述最新版本的数据在恢复过程中所述终端对所述最新版本的数据进行修改、删除或添加操作。

步骤S303,在所述最新版本号与所述第一版本号相同的情况下,根据所述差异数据,对所述系统数据库中的所述终端的所述数据类型的最新版本号的数据进行数据恢复操作。

具体的,步骤S303,包括:

将所述差异数据中的新增数据添加到所述最新版本的数据中,并为所述新增数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

将所述差异数据中的修改数据添加到所述最新版本的数据中,并为所述修改数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

在所述最新版本的数据中查找所述差异数据中的删除数据,并将所述最新版本中的所述删除数据的状态标识status标记为0,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

在云服务中,为每个数据库中的数据设置专题标识status,当status=0时,表示所述数据处于正常状态;当status=1时,表示删除所述数据的内容,但可对所述数据进行恢复操作;当status=2时,表示彻底删除所述数据,且不能进行恢复操作。

进一步的,所述方法还包括:

当所述数据恢复操作结束时,对所述系统数据库中的所述终端的所述数据类型的恢复后的数据进行解锁操作。对所述最新版本的数据进行加锁和解锁操作,是为了保证所述最新版本的数据在数据恢复过程中的一致性。

如图4所示,本发明第四实施例提出一种数据恢复的方法,具体包括以下步骤:

步骤S401:云服务接收终端发送来的数据恢复请求信息,所述数据恢复请求信息包括:对比结果索引信息。

步骤S402,所述云服务根据所述数据恢复请求信息中的对比结果索引信息从所述云服务的会话缓存中获取与之对应的对比结果,开始执行数据恢复操作。

所述对比结果包括:终端信息、数据类型信息、第一版本号信息以及差异数据。

所述终端信息为所述终端的用户信息。

所述数据类型包括:联系人、通话记录、短信、记事本、闹铃、日历和书签。

第一版本号为发起数据对比操作时的所述终端的所述数据类型的在所述MySQL数据库中的版本号。.

所述MySQL数据库相当于本发明第一实施例和第三实施例中的系统数据库。所述MySQL数据库位于所述云服务中,用于存储所述云服务中的各个终端的各种数据类型的最新版本号的数据。

所述差异数据为所述终端的所述数据类型的第二版本号的数据相对于所述终端的所述数据类型的第一版本号的数据的新增数据、删除数据和修改数据。

所述第二版本号的数据存储在所述云服务的Mongo数据库中。

所述Mongo数据库相当于所述本发明第一实施例和第三实施例中的备份数据库,用于存储所述云服务中的各个终端的各种数据类型的各个版本号的数据。

步骤S403,所述云服务对所述数据恢复请求进行预处理操作,判断发送所述数据恢复请求的终端是否已在所述云服务中注册,若是,则执行步骤S404;若否,则拒绝所述数据恢复请求。

步骤S404,判断所述MySQL数据库中的所述终端的所述数据类型的最新版本号的数据是否已加锁;

若是,则恢复失败,说明所述最新版本的数据正在数据同步中,请稍后再更新数据

若否,则执行步骤S405。

步骤S405,对所述最新版本号的数据进行加锁操作,以防止所述最新版本的数据在恢复过程中所述终端对所述最新版本的数据进行修改、删除或添加操作。

步骤S406,判断所述云服务的MySQL数据库中的所述终端的所述数据类型的最新版本号是否与所述第一版本号相同;

若是,则执行步骤S407;

若否,则恢复失败,终端数据已变更,请重新比对数据;说明所述MySQL数据库中的所述终端的所述数据类型的最新版本号已发生变更,需要将所述最新版本号的数据与所述第二版本号的数据进行重新对比。

恢复失败,提示用户数据已变更,请重新比对数据

步骤S407,在所述最新版本号与所述第一版本号相同的情况下,根据所述差异数据,对所述系统数据库中的所述终端的所述数据类型的最新版本号的数据进行数据恢复操作。

具体的,步骤S407,包括:

将所述差异数据中的新增数据添加到所述最新版本的数据中,并为所述新增数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

将所述差异数据中的修改数据添加到所述最新版本的数据中,并为所述修改数据设置小版本号,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

在所述最新版本的数据中查找所述差异数据中的删除数据,并将所述最新版本中的所述删除数据的状态标识status标记为0,与此同时,在所述最新版本号的基础上加1,形成新的最新版本号。

在云服务中,为每个数据库中的数据设置专题标识status,当status=0时,表示所述数据处于正常状态;当status=1时,表示删除所述数据的内容,但可对所述数据进行恢复操作;当status=2时,表示彻底删除所述数据,且不能进行恢复操作。

步骤S408,当所述数据恢复操作结束时,对所述系统数据库中的所述终端的所述数据类型的恢复后的数据进行解锁操作。对所述最新版本的数据进行加锁和解锁操作,是为了保证所述最新版本的数据在数据恢复过程中的一致性。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1