数据备份的方法和系统与流程

文档序号:11829291阅读:672来源:国知局
数据备份的方法和系统与流程

本公开实施例涉及数据处理技术领域,尤其涉及一种数据备份方法和系统。



背景技术:

现有的数据备份方案为全量同步方案,具体方案为在用户每一次要备份数据时,都会把他选择的重要数据全部同步一遍,用这个全量数据替换已备份数据。例如,用户桌面上有100个App,在满足备份条件的情况下,这100个App会全部备份到他的云端进行存储;此时,用户从应用商店又下载了1个App,此时他拥有了101个App,这种情况下满足了备份条件后,会把这101个App全部备份到云端存储,并且全部替换掉原来的100个App。

在实现本申请过程中,发明人发现:现有技术中,每次备份都会把已有的数据重新备份,即使新的备份数据中包含之前已经在云端备份且没有变化的数据。因此,现有技术至少存在以下问题:1、因为每次都会全量备份,所以会消耗更多的流量;2、因为数据量较多,会占用更多的时间;3、因为占用时间更长,数据量大,备份的失败率也会增加。



技术实现要素:

本公开实施例提供一种数据备份的方法和系统,用以解决现有技术中存在的一个或多个问题,以实现数据的差异备份。

本公开实施例提供一种数据备份的方法,包括:遍历数据库中的数据,基于所述数据库中记录的对数据的变更操作,获取相关的数据变更操作信息;将所述变更操作信息转换成备份服务器可识别并操作的数据变更指令;将所述数据变更指令发送至所述备份服务器。

本公开实施例提供一种数据备份的方法,包括:接收客户端上传的备份标识符和数据变更指令,基于所述备份标识符获取已备份数据;基于所述数据变更指令对所述已备份数据进行相应的变更操作以获取此次备份数据。

本公开实施例提供一种数据备份的系统,包括:遍历模块,配置用于遍历数据库中的数据,基于所述数据库中记录的对数据的变更操作,获取相关的数据变更操作信息;转换模块,配置用于将所述变更操作信息转换成备份服务器可识别并操作的数据变更指令;发送模块,配置用于将所述数据变更指令发送至所述备份服务器。

本公开实施例提供一种数据备份的系统,包括:接收模块,配置用于接收客户端上传的备份标识符和数据变更指令,基于所述备份标识符获取已备份数据;以及备份模块,配置用于基于所述数据变更指令对所述已备份数据进行相应的变更操作以获取此次备份数据。

本公开实施例提供的数据备份的方法和系统,通过遍历数据库中的数据,,获取其中发生变更的数据及变更操作,并将其转换成服务器端可识别并操作的指令,改变了现有技术中全量备份浪费资源、浪费时间以及失败率高的现状,实现了数据的差异备份。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为可以应用本公开实施例的示例性系统架构;

图2为本公开数据备份的方法的一个实施例流程图;

图3为本公开数据备份的方法的另一个实施例流程图;

图4为本公开数据备份的方法的实施例交互流程示意图;

图5为本公开数据备份的系统的一个实施例结构示意图;

图6为本公开数据备份的系统的另一个实施例结构示意图;

图7为可以应用于实现本公开实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

图1示出了可以应用本公开实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、网络103和服务器104。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户110可以使用终端设备101、102通过网络103与服务器104交互,以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如即时通信工具、邮箱客户端、社交平台软件、音频视频软件等。

终端设备101、102可以是各种电子设备,包括但不限于个人电脑、智能手机、平板电脑、个人数字助理、可穿戴设备等等,终端设备101、102还可以是智能家电、路由器等。

服务器104可以是提供各种服务的服务器。服务器可以对接收到的数据进行存储、分析等处理,并将处理结果反馈给终端设备。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

请参考图2,其示出了本公开数据备份的方法的一个实施例流程图200。

如图2所示,在步骤201中,遍历数据库中的数据,基于数据库中记录的对数据的变更操作,获取相关的数据变更操作信息。

在本实施例中,备份客户端通过定期遍历书库中的数据,根据数据库中记录的对数据的变更操作,获取相关的数据变更操作信息。其中,对数据的变更操作可以例如为新增、删除和修改。数据库中可以记录变更的时间和相应的变更操作,例如,用户与2016年6月19日新增了一个闹钟,则数据库中会记录变更的时间为2016年6月19日,变更操作为新增(add),变更后的信息即为新增的闹钟的信息。变更操作信息例如可以包括变更操作及变更后的数据,进一步地还可以包括变更的时间、变更的数据的唯一标识符、变更后的数据的唯一标识符、变更后的数据的大小以及上次备份的数据的备份标识符等,本申请在此方面没有限制。

继而,在步骤202中,将变更操作信息转换成备份服务器可识别并操作的数据变更指令。

在本实施例中,备份客户端将变更操作信息转化成备份服务器可识别并操作的数据变更指令。其中,备份服务器可识别并操作的数据变更指令可以例如是相应的Json格式的指令,或者是其他格式的可操作指令,本申请在此方面没有限制。备份客户端通过从数据库中获取相应的变更操作和变更后的数据,并将相应的操作和数据写入相应的代码中,形成服务器端可识别并操作的指令,可以方便服务器端直接根据相应的指令进行相应的操作,而无需进行其他的类似比对之类的操作,也无需对数据进行全量备份,可以显著地减少服务器端的工作量。

之后,在步骤203中,将数据变更指令发送至备份服务器。

在本实施例中,备份客户端将转化好的数据备份指令发送至相应的备份服务器。其中,数据备份指令可以是Json格式的指令,数据备份指令中可以只包含相应的变更操作和变更的数据的标识符,也可以包含变更操作、变更的数据的标识符以及变更后的数据的标识符或地址信息或变更后的数据。备份服务器可以定期进行数据库的遍历和指令的上传,例如可以每周进行一次,还可以将备份的时间设定在用户设备空闲的时间,例如凌晨,以及设定在用户使用非付费网络的时候,例如用户使用WiFi的时候,备份客户端还可以在用户设备开机的时候提醒用户是否恢复备份数据,或者也可以定时提醒,本申请在此方面没有限制。

在本实施例中,备份客户端通过遍历数据库,获取变更操作和变更的数据,并将其转换成备份服务器可识别并操作的数据变更指令,之后上传相关的数据变更指令,可以实现对发生变更的数据的备份,从而无需将所有的数据上传,可以显著地节约网络带宽,提高备份效率,提升用户体验。

在一些可选的实施例中,备份服务器根据对数据的变更操作的不同,获取的数据变更操作信息也不同。可选的,当遍历数据库得出对数据的变更操作为更新操作时,获取相关的数据变更操作信息包括获取数据的唯一标识码、对所述数据的变更操作和变更后的数据,其中,更新操作包括新增和修改。例如,用户新增了一个数据或者修改了某一数据,则需要获取变更数据的唯一标识码、变更操作以及变更后的数据。在另一些可选的实施例中,当遍历数据库得出对数据的变更操作为删除操作时,获取相关的数据变更操作信息包括:获取数据的唯一标识码以及对所述数据的变更操作。即变更操作为删除操作时,由于是将原来的数据删除,因此只需要获取变更数据的唯一标识码及变更操作即可。

在另一些可选的实施例中,数据备份的方法还包括:获取变更操作所针对的原始数据的备份标识符,并将备份标识符上传至所述备份服务器。其中,原始数据的备份标识符可以是发生变更的数据,即已备份数据的备份标识符。可以例如是每次备份数据时都会在客户端或者服务器端生成一个备份标识符,该备份标识符可以是基于备份的时间设定的唯一标识符,也可以是其他形式的唯一标识符,本申请在此方面没有限制。备份服务器通过获取并上传该备份标识符,可以告知服务器端本次备份的基础是什么,方便服务器端尽快定位到相应的已备份数据。

进一步参考图3,其示出了本公开数据备份的方法的另一个实施例流程图300。

如图3所示,在步骤301中,接收客户端上传的备份标识符和数据变更指令,基于备份标识符获取相应的已备份数据。

在本实施例中,备份服务器接收备份客户端上传的备份标识符和数据变更指令,并通过备份标识符获取相应的已备份数据。其中,在备份服务器中可以存储客户端的多个已备份数据,通过备份标识符为每一次的备份数据指定唯一标识码,通过该唯一标识码方便对相应的已备份数据的查找与操作。其中,数据变更指令中可以包含以下信息,变更数据的标识符、变更操作以及变更后的数据的相关信息,例如变更后的数据的唯一标识符、变更后的数据的地址信息或变更后的数据本身,进一步地,数据变更指令中还可以包括变更的时间、变更的数据大小等,本申请在此方面没有限制。

继而,在步骤302中,基于数据变更指令对已备份数据进行相应的变更操作以获取本次备份数据。

在本实施例中,备份服务器基于数据变更指令对已备份数据进行相应的的变更操作以获取本次备份数据。备份服务器根据数据备份指令中的变更数据的变更操作相应的对存储于备份服务器的已备份数据进行相同的操作以获取本次备份的数据。例如数据变更指令中记录了对已备份数据的某一个数据的删除操作,则服务器根据该指令对已备份数据中的某一个数据进行删除操作即形成了本次备份的数据,相应的,还有对数据的新增和修改,在此不再赘述。

在本实施例中,备份服务器通过获取数据变更指令及相应的备份标识符,对已备份数据进行相应的操作以获取本次备份的数据,可以实现只对差异数据进行备份。进一步地,无需服务器端对所有数据进行备份,从而可以提高备份效率,减少对网络带宽的占用,备份服务器只需按照相应的数据备份指令进行相应的操作,无需对备份数据进行分析,从而可以减少服务器的运算量,显著地提高备份的效率,缩短备份时间。

图4示出了本公开的数据备份方法的实施例的交互流程示意图400。

如图4所示,图中交互的双端分别为客户端410和服务器端420,需要说明的是,本公开的数据备份方法并不限制客户端和服务器端的数量,可以同时有多个服务器端420和多个客户端410,交互流程示意图400只是示例性地示出了交互的一般流程,本公开在此方面没有限制。

在一些实施例中,客户端410和服务器端420进行数据的备份操作。

首先,在步骤411中,客户端410遍历数据库中的数据,基于数据库中记录的对数据的变更操作,获取相关的数据变更操作信息。其中,变更操作信息可以包括发生变更的数据、变更操作以及变更后的数据的相关信息,例如数据的唯一标识符、数据本身,当然,还可以包括变更时间,数据大小等信息,本申请在此方面没有限制。

继而,在步骤412中,客户端410将变更操作信息转换成备份服务器可识别并操作的数据变更指令。其中,数据变更指令可以例如为Json格式的指令,其中记录了相应的变更操作信息。数据变更指令中可以通过add、del和mod字段指定将要对已备份数据执行的操作。

之后,在步骤412中,客户端410将数据变更操作指令发送给备份服务器。其中,变更操作信息可以是json串,本领域的技术人员可以理解,还可以是其他数据格式,本公开在此方面没有限制。

接着,在步骤421中,服务器端420接收客户端上传的备份标识符和数据变更指令,基于备份标识符获取相应的已备份数据。服务器端420可以接收根据接收到的已备份数据的标识符(例如PrevGroupId),获取相应的已备份数据。

然后,在步骤422中,服务器端420基于数据变更指令对已备份数据进行相应的变更操作以获取本次备份数据。服务端420根据客户端410上传的数据变更指令(例如Json格式的指令)中的变更操作对已备份数据进行相关操作,最后生成本次备份数据。

其中,处理的相关操作可用伪码描述如下:

在另一些实施例中,客户端410和服务器端420进行数据的恢复操作。

首先,在步骤413中,客户端410向服务器端420发送备份数据恢复请求。例如,终端开机时,客户端410可以提示可以备份的数据,之后用户选择需要备份的数据,客户端410可以向服务器端420发送对应的备份数据恢复请求,该请求中可以包括需要备份的数据的标识符。

继而,在步骤423中,服务器端420向客户端410返回相应的备份数据。服务器端420解析客户端410发送的请求,返回相应的数据。

本实施例所描绘的数据备份的方案可以实现以下有益效果:

1、保存用户的历史数据,使其不会丢失,在需要时可进行恢复;

2、通过只传输差异数据,使得客户端与服务端之间的传输数据负载减小,从而增加整体备份的性能。

未使用该方案前,上传备份时需要将当前备份的数据全部上传到服务端,因为用户的备份数据的变化比较少(甚至不会发生变化),所以就造成了大量的备份数据重复上传降,从而降低了备份的效率;

使用该方案后,大大减少了备份上传的数据量,有效的降低了网络负载,进而增加备份效率。

请参考图5,其示出了本公开数据备份的系统的一个实施例结构示意图。

如图5所示,数据备份的系统500包括遍历模块501、转换模块502和发送模块503。其中,遍历模块501,配置用于遍历数据库中的数据,基于数据库中记录的对数据的变更操作,获取相关的数据变更操作信息;转换模块502,配置用于将遍历模块501获取的变更操作信息转换成备份服务器可识别并操作的数据变更指令;以及发送模块503,配置用于将转换模块502转换的数据变更指令发送至备份服务器。

在一些可选的实施例中,当遍历得出对数据的变更操作为更新操作时,遍历模块501包括进一步配置用于:获取数据的唯一标识码、对数据的变更操作和变更后的数据,其中,更新操作包括新增和修改。

在一些可选的实施例中,当遍历得出对数据的变更操作为删除操作时,遍历模块501包括进一步配置用于:获取数据的唯一标识码以及对数据的变更操作。

在另一些可选的实施例中,数据备份的系统500还包括标识符获取模块(图中未示出),配置用于获取变更操作所针对的原始数据的备份标识符,并将备份标识符上传至备份服务器。

在本实施例中,数据备份的系统通过遍历模块遍历数据库,获取数据变更指令,转换模块将遍历模块获取的数据变更操作信息转换为服务器可识别并操作的数据变更指令,之后发送模块将该指令发送至备份服务器,可以实现在客户端整理出差异数据,并转换成可操作指令发送给服务器端,实现只对差异数据进行备份,无需备份所有的数据,极大地提高了备份效率。

进一步参考图6,其示出了本公开数据备份的系统的另一个实施例结构示意图

如图6所示,数据备份的系统600包括接收模块601和备份模块602。其中,接收模块601,配置用于接收客户端上传的备份标识符和数据变更指令,基于备份标识符获取已备份数据;以及备份模块602,配置用于基于接收模块601接收的数据变更指令对已备份数据进行相应的变更操作以获取此次备份数据。

在本实施例中,数据备份的系统通过接收变更操作指令及备份标识符,之后基于指令对相应的数据进行操作,可以实现服务器端的差异备份,服务器端只需接收相应的备份指令,并根据指令对相应的数据进行操作,而无需对所有的数据进行备份,也无需对备份数据进行分析,即可实现差异备份,提高了备份效率,显著降低了备份服务器的负载。

应当理解,图5和图6中记载的诸单元与参考图2级图3中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图5和图6中的诸单元,在此不再赘述。

以上所述的各个系统以及方法中涉及的服务器均可以为一个服务器或者服务器集群,其中上述每一个单元也可以是单独的服务器或者服务器集群,此时,上述单元之间的交互表现为各单元所对应的服务器之间的交互。

下面参考图7,其示出了适于用来实现本公开实施例的终端设备或服务器的计算机系统700的结构示意图。

如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。

以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图200和流程图300所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

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

最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。

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