数据备份方法、装置、服务器以及存储介质制造方法及图纸

技术编号:22054701 阅读:27 留言:0更新日期:2019-09-07 15:04
本发明专利技术公开了一种数据备份方法、装置、服务器以及存储介质,属于数据库技术领域。本发明专利技术实施例在时态数据库的基础上,提出了基于时态数据的备份方法使得对于全态数据中的任何状态的数据,都可以采取多种灵活的方式,例如逻辑方式或物理方式以及逻辑物理结合的方式来实现备份,为时态数据的有效存储和安全可靠性,提供了有效保障。

Data backup methods, devices, servers and storage media

【技术实现步骤摘要】
数据备份方法、装置、服务器以及存储介质
本专利技术涉及数据库
,特别涉及一种数据备份方法、装置、服务器以及存储介质。
技术介绍
在数据处理系统中,尤其是OLAP(OnlineAnalyticalProcessing,联机实时分析)处理系统、数据仓库、大数据分析等场景中,会涉及到在数据库中存储大量数据。由于业务可能不断更新,因此,一个数据项逻辑上会有多个状态对应的版本数据,这样,一个数据项的全态(当前态、过渡态和历史态)数据会得到保存,从而便于系统追踪历史态数据,充分挖掘数据的价值(任何数据都有价值,历史态的数据不能丢失)。而为了保证上述多种状态数据的数据安全,还需对上述全态数据进行备份,然而,数据量的剧增,必然对备份的效率有所影响。因此,如何在数据量剧增的背景下,提高对全态数据的备份效率,是目前面临的一大挑战。
技术实现思路
本专利技术提供了一种数据备份方法、装置、服务器以及存储介质,可以解决全态数据的备份效率的问题。技术方案如下:一方面,提供了一种数据备份方法,该方法包括:接收备份任务,该备份任务用于对目标数据表的数据项进行备份;当该备份任务的备份时间为历史时间段时,获取第一历史事务快照和第二历史事务快照之间的第一快照差,该第一历史事务快照和该第二历史事务快照分别为该历史时间段的起始时刻和结束时刻的事务快照;根据该第一快照差,执行该备份任务,得到备份数据,该备份数据至少包括该目标数据表中数据项的可见版本。一方面,提供了一种数据备份装置,该装置包括:接收模块,用于接收备份任务,该备份任务用于对目标数据表的数据项进行备份;获取模块,用于当该备份任务的备份时间为历史时间段时,获取第一历史事务快照和第二历史事务快照之间的第一快照差,该第一历史事务快照和该第二历史事务快照分别为该历史时间段的起始时刻和结束时刻的事务快照;备份模块,用于根据该第一快照差,执行该备份任务,得到备份数据,该备份数据至少包括该目标数据表中数据项的可见版本。其中,所述备份数据的数据形式为:在目录下存储各类文件,或,存储为多个tar包。一方面,提供了一种服务器,该服务器包括处理器和存储器,该存储器中存储有至少一条指令,该至少一条指令由该处理器加载并执行以实现如上述数据备份方法所执行的操作。一方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该至少一条指令由处理器加载并执行以实现如上述数据备份方法所执行的操作。本专利技术实施例提供的技术方案带来的有益效果至少包括:本专利技术实施例在时态数据库的基础上,提出了基于时态数据的备份方法使得对于全态数据中的任何状态的数据,都可以采取多种灵活的方式,例如逻辑方式或物理方式以及逻辑物理结合的方式来实现备份,为时态数据的有效存储和安全可靠性,提供了有效保障。附图说明图1是本专利技术实施例提供的一种数据备份方法的实施环境示意图;图2是本专利技术实施例提供的一种数据备份方法流程图;图3是本专利技术实施例提供的一种数据备份方法流程图;图4是本专利技术实施例提供的一种数据备份方法流程图;图5是本专利技术实施例提供的一种数据备份方法流程图;图6是本专利技术实施例提供的一种页面对比图;图7是本专利技术实施例提供的一种数据备份装置的结构示意图;图8是本专利技术实施例提供的一种服务器的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本专利技术实施例涉及的数据库存储有多个数据表,每个数据表可以用于存储数据项,数据项可以有一个或多个版本。其中,该数据库可以为基于MVCC(Multi-VersionConcurrencyControl,多版本并发控制)的任一类型的数据库。在本专利技术实施例中,对该数据库的类型不作具体限定。需要说明的是,上述数据库中的数据基于状态属性,可以包括三种状态:当前态、过渡态和历史态,该三种状态合称为“数据的全态”,简称全态数据,全态数据中的各个不同状态属性,可以用于标识数据在其生命周期轨迹中所处的状态。当前态(CurrentState):数据项的最新版本的数据,是处于当前阶段的数据。处于当前阶段的数据的状态,称为当前态。过渡态(TransitionalState):不是数据项的最新的版本也不是历史态版本,处于从当前态向历史态转变的过程中,处于过渡态的数据,称为半衰数据。历史态(Historicalstate):数据项在历史上的一个状态,其值是旧值,不是当前值。处于历史阶段的数据的状态,称为历史态。一个数据项的历史态,可以有多个,反映了数据的状态变迁的过程。处于历史态的数据,只能被读取而不能被修改或删除。需要说明的是,在MVCC机制下,数据的上述三种状态均存在,在非MVCC机制下,数据可以只存在历史态和当前态。在MVCC或封锁并发访问控制机制下,事务提交后的数据的新值处于当前态。以MVCC机制为例,当前活跃事务列表中最小的事务之前的事务生成的数据,其状态处于历史态。在封锁并发访问控制机制下,事务提交后,提交前的数据的值变为历史态的值,即数据项的旧值处于历史态。而被读取的版本上尚有活跃事务(非最新相关事务)在使用,而由于最新相关事务修改了数据项的值,其最新值已经处于一个当前态,被读取到的值相对当前态已经处于一个历史状态,因此,其数据状态介于当前态和历史态之间,所以称为过渡态。例如,MVCC机制下,User表的A账户余额从10元充值变为20元,然后消费了15元变为5元,此时金融B机构读取数据做检查事务一直进行中,A之后又充值20元变为25元,则25元为当前态数据,B正在读取到的5元为过渡态,其余的两个值20、10是历史上存在过的状态,都是历史态数据。对于任一种状态属性进行存储的数据库来说,在需要对数据库中的数据进行备份时,由于对于一个数据项,该数据库存储了至少一个版本,因此,在备份过程中会涉及到的数据量巨大,例如设一条元组,在一段时间内,平均更新10次,则更新后的数据量是11条元组,即是初始数据量的11倍,这使得备份带有历史态的数据量会很大,备份的效率成为一个问题。为此,本专利技术实施例提供了一种混合物理备份的备份方法,用以进行全态数据的备份,能够降低备份数据量,提高备份效率。对于数据库来说,其备份任务可以由备份命令触发,下面的示例为一种备份命令的具体形式,BEGIN;SetBACKUPNAME=‘/usr/bak/my_first_backup_01’READVIEW'20180109000000';//基于历史事务快照备份做逻辑备份BACKUPTYPELOFROMmy_table;SetBACKUPNAME=‘/usr/bak/my_first_backup_02’READVIEWFROM'20180109000000'TO'20180119000000';//快照差方式做逻辑备份BACKUPTYPELOFROMmy_table;SetBACKUPNAME=‘/usr/bak/my_first_backup_03’READVIEWdefault;//基于常规事务快照做逻辑备份BACKUPTYPELOFROMmy_tableWHEREpk>10;END;其中,BACKUPNAME指定了备份数据包的名称;my_table指定了本次备份任务的备份目标数据表;BA本文档来自技高网...

【技术保护点】
1.一种数据备份方法,其特征在于,所述方法包括:接收备份任务,所述备份任务用于对目标数据表的数据项进行备份;当所述备份任务的备份时间为历史时间段时,获取第一历史事务快照和第二历史事务快照之间的第一快照差,所述第一历史事务快照和所述第二历史事务快照分别为所述历史时间段的起始时刻和结束时刻的事务快照;根据所述第一快照差,执行所述备份任务,得到备份数据,所述备份数据至少包括所述目标数据表中数据项的可见版本。

【技术特征摘要】
1.一种数据备份方法,其特征在于,所述方法包括:接收备份任务,所述备份任务用于对目标数据表的数据项进行备份;当所述备份任务的备份时间为历史时间段时,获取第一历史事务快照和第二历史事务快照之间的第一快照差,所述第一历史事务快照和所述第二历史事务快照分别为所述历史时间段的起始时刻和结束时刻的事务快照;根据所述第一快照差,执行所述备份任务,得到备份数据,所述备份数据至少包括所述目标数据表中数据项的可见版本。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一快照差,执行所述备份任务,得到备份数据,所述备份数据至少包括所述目标数据表中数据项的可见版本包括:确定第一数据块,所述第一数据块存储有所述目标数据表的历史态数据;如果基于所述第一快照差,确定所述第一数据块所存储的历史态数据均为可见版本,以块拷贝的形式,对所述第一数据块进行备份,得到备份数据。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:如果基于所述第一快照差,确定所述第一数据块中可见版本的比例大于或等于第一预设比例时,以块拷贝的形式,对所述第一数据块进行备份,对所述第一数据块中不可见的历史态数据进行标记,得到备份数据;如果基于所述第一快照差,确定所述第一数据块所存储的历史态数据中可见版本的比例小于所述第一预设比例时,以逻辑读取的形式,读取所述第一数据块中的可见版本,得到备份数据。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述备份任务的备份时间为当前时刻时,获取所述当前时刻的常规事务快照;基于所述常规事务快照,以块拷贝的形式,对当前态数据所在的数据块进行备份,得到备份数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述备份任务的备份目标包括当前态数据,在备份过程的开始时刻直到所述备份过程的结束时刻,对所述当前态数据的日志文件进行分段备份。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述备份任务的备份时间为一个历史时刻时,获取第三历史事务快照,所述第三历史事务快照为所述历史时刻的事务快照;根据所述第三历史事务快照,执行所述备份任务,得到备份数据,所述备份数据至少包括所述目标数据表中数据项的可见版本。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述备份任务的备份时间包括以当前时刻为结束点的时间段,获取第四历史事务快照和第五历史事务快照之间的第二快照差,所述第四历史事务快照和所述第五历史事务快照分别为所述时间段的起始时刻的事务快照和所述当前时刻的常规事务快照;根据所述第二快照差,对当前态数据和所述目标数据表中的可见版本进行备份,所述备份数据至少包括所述目标数据表中数据项的可见版本。8.根据权利要...

【专利技术属性】
技术研发人员:李海翔
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1