用于备份数据的方法和装置制造方法及图纸

技术编号:20025268 阅读:30 留言:0更新日期:2019-01-06 04:18
本申请实施例公开了用于备份数据的方法和装置。上述方法的一具体实施方式包括:接收数据备份指令,数据备份指令用于指示对数据库分片包括的主数据库中的数据进行备份,数据库分片还包括从数据库;控制从数据库暂停备份主数据库的数据以及控制从数据库从主数据库处获取二进制日志;从第三方服务器处获取已提交事务的标识符,得到事务标识符集合;根据事务标识符集合,确定第一目标事务标识符;根据二进制日志以及第一目标事务标识符,控制从数据库对主数据库中的数据进行备份。该实施方式实现了分布式数据库的强一致性。

【技术实现步骤摘要】
用于备份数据的方法和装置
本申请实施例涉及数据库
,具体涉及用于备份数据的方法和装置。
技术介绍
随着计算机技术的迅速发展,社会的信息化程度越来越高,每天产生的数据也越来越多,许多的应用程序需要处理海量数据,这对于数据的存储与读取提出了非常高的要求。作为处理结构化数据的工具,数据库面临巨大的挑战,之前部署在单台机器上的数据库已经逐渐无法满足对于快速增长的海量数据的处理需求。为了应对海量数据的挑战,分布式数据库应运而生,其通过分布式的架构使得数据的存储与对数据的查询都可以分布到个节点上执行,从而可以通过扩充节点实现系统的增加容量与提高性能,大大提高了数据库可以处理的数据量。为了保证数据安全,对于数据库来说备份(尤其是热备份)和恢复功能是必备的功能,所谓热备份,即在数据库继续提供服务的前提下对其进行备份。当前众多的数据库提供了热备份与恢复的工具与方法,对于分布式数据库,由于其分布式的架构,对其进行热备份与恢复需要更高的技术。
技术实现思路
本申请实施例提出了用于备份数据的方法和装置。第一方面,本申请实施例提供了一种用于备份数据的方法,包括:接收数据备份指令,上述数据备份指令用于指示对数据库分片包括的主数据库中的数据进行备份,数据库分片还包括从数据库;控制上述从数据库暂停备份上述主数据库的数据以及控制上述从数据库从上述主数据库处获取二进制日志;从第三方服务器处获取已提交事务的标识符,得到事务标识符集合;根据上述事务标识符集合,确定第一目标事务标识符;根据上述二进制日志以及上述第一目标事务标识符,控制上述从数据库对上述主数据库中的数据进行备份。在一些实施例中,上述从数据库运行有第一线程和第二线程;以及上述控制上述从数据库暂停备份上述主数据库的数据以及控制上述从数据库从上述主数据库处获取二进制日志,包括:控制上述从数据库的第一线程暂停备份上述主数据库的数据以及控制上述从数据库的第二线程从上述主数据库处获取二进制日志。在一些实施例中,上述根据上述二进制日志以及上述第一目标事务标识符,控制上述从数据库对上述主数据库中的数据进行备份,包括:控制上述从数据库的第一线程对上述二进制日志中、在上述第一目标事务标识符对应的事务提交之前提交的事务进行事务回放,以对上述主数据库中的数据进行备份。在一些实施例中,上述从第三方服务器处获取已提交事务的事务标识符集合,包括:间隔第一预设时长从上述第三方服务器处获取已提交事务的事务标识符集合;以及上述方法还包括:将上述事务标识符集合以及获取时间存储到预设的元数据库中。在一些实施例中,上述方法还包括:控制上述从数据库将备份完成得到的备份文件上传至云服务器;响应于上述备份文件的上传完成,在上述元数据库中更新备份状态信息。在一些实施例中,上述控制上述从数据库从上述主数据库处获取二进制日志,包括:间隔第二预设时长从上述主数据库中获取二进制日志;以及上述方法还包括:存储所获取的二进制日志;将上述二进制日志的以下至少一项信息存储到上述元数据库中:存储路径、名称、存储时间、所包括的至少一个事务标识符以及上述至少一个事务标识符的提交时间。在一些实施例中,上述方法还包括:接收数据恢复指令,上述数据恢复指令包括数据恢复时间点;根据上述元数据库中记录的信息,确定在上述数据恢复时间点提交的第二目标事务标识符;确定上述第二目标事务标识符所属的二进制日志为目标二进制日志;基于上述目标二进制日志,控制上述从数据库以及上述主数据库恢复数据。第二方面,本申请实施例提供了一种用于备份数据的装置,包括:备份指令接收单元,被配置成接收数据备份指令,上述数据备份指令用于指示对数据库分片包括的主数据库中的数据进行备份,数据库分片还包括从数据库;日志获取单元,被配置成控制上述从数据库暂停备份上述主数据库的数据以及控制上述从数据库从上述主数据库处获取二进制日志;标识符获取单元,被配置成从第三方服务器处获取已提交事务的标识符,得到事务标识符集合;第一标识符确定单元,被配置成根据上述事务标识符集合,确定第一目标事务标识符;数据备份单元,被配置成根据上述二进制日志以及上述第一目标事务标识符,控制上述从数据库对上述主数据库中的数据进行备份。在一些实施例中,上述从数据库运行有第一线程和第二线程;以及上述日志获取单元进一步被配置成:控制上述从数据库的第一线程暂停备份上述主数据库的数据以及控制上述从数据库的第二线程从上述主数据库处获取二进制日志。在一些实施例中,上述数据备份单元进一步被配置成:控制上述从数据库的第一线程对上述二进制日志中、在上述第一目标事务标识符对应的事务提交之前提交的事务进行事务回放,以对上述主数据库中的数据进行备份。在一些实施例中,上述标识符获取单元进一步被配置成:间隔第一预设时长从上述第三方服务器处获取已提交事务的事务标识符集合;以及上述装置还包括:存储单元,被配置成将上述事务标识符集合以及获取时间存储到预设的元数据库中。在一些实施例中,上述装置还包括:备份文件上传单元,被配置成控制上述从数据库将备份完成得到的备份文件上传至云服务器;以及上述存储单元进一步被配置成:响应于上述备份文件的上传完成,在上述元数据库中更新备份状态信息。在一些实施例中,上述日志获取单元进一步被配置成:间隔第二预设时长从上述主数据库中获取二进制日志;以及上述存储单元进一步被配置成:存储所获取的二进制日志;将上述二进制日志的以下至少一项信息存储到上述元数据库中:存储路径、名称、存储时间、所包括的至少一个事务标识符以及上述至少一个事务标识符的提交时间。在一些实施例中,上述装置还包括:恢复指令接收单元,被配置成接收数据恢复指令,上述数据恢复指令包括数据恢复时间点;第二标识符确定单元,被配置成根据上述元数据库中记录的信息,确定在上述数据恢复时间点提交的第二目标事务标识符;日志确定单元,被配置成确定上述第二目标事务标识符所属的二进制日志为目标二进制日志;数据恢复单元,被配置成基于上述目标二进制日志,控制上述从数据库以及上述主数据库恢复数据。第三方面,本申请实施例提供了一种设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得上述一个或多个处理器实现如第一方面任一实施例所描述的方法。第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面任一实施例所描述的方法。本申请的上述实施例提供的用于备份数据的方法和装置,在接收到数据备份指令后,可以控制分布式数据库的数据库分片包括的从数据库暂停备份数据库分片包括的主数据库的数据,并可以控制从数据库从主数据库处获取二进制日志。还可以从第三方服务器处获取已提交事务的标识符,得到事务标识符集合。然后,可以根据事务标识符集合,确定第一目标事务标识符。最后,可以根据上述二进制日志以及上述第一目标事务标识符,控制从数据库对主数据库中的数据进行备份。本实施例的方法和装置,可以实现分布式数据库的各数据库分片的强一致性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请的一个实施例可以应用于其中的示例性系统架构图;图2是根据本申请的用于备份数据的方本文档来自技高网...

【技术保护点】
1.一种用于备份数据的方法,包括:接收数据备份指令,所述数据备份指令用于指示对数据库分片包括的主数据库中的数据进行备份,数据库分片还包括从数据库;控制所述从数据库暂停备份所述主数据库的数据以及控制所述从数据库从所述主数据库处获取二进制日志;从第三方服务器处获取已提交事务的标识符,得到事务标识符集合;根据所述事务标识符集合,确定第一目标事务标识符;根据所述二进制日志以及所述第一目标事务标识符,控制所述从数据库对所述主数据库中的数据进行备份。

【技术特征摘要】
1.一种用于备份数据的方法,包括:接收数据备份指令,所述数据备份指令用于指示对数据库分片包括的主数据库中的数据进行备份,数据库分片还包括从数据库;控制所述从数据库暂停备份所述主数据库的数据以及控制所述从数据库从所述主数据库处获取二进制日志;从第三方服务器处获取已提交事务的标识符,得到事务标识符集合;根据所述事务标识符集合,确定第一目标事务标识符;根据所述二进制日志以及所述第一目标事务标识符,控制所述从数据库对所述主数据库中的数据进行备份。2.根据权利要求1所述的方法,其中,所述从数据库运行有第一线程和第二线程;以及所述控制所述从数据库暂停备份所述主数据库的数据以及控制所述从数据库从所述主数据库处获取二进制日志,包括:控制所述从数据库的第一线程暂停备份所述主数据库的数据以及控制所述从数据库的第二线程从所述主数据库处获取二进制日志。3.根据权利要求2所述的方法,其中,所述根据所述二进制日志以及所述第一目标事务标识符,控制所述从数据库对所述主数据库中的数据进行备份,包括:控制所述从数据库的第一线程对所述二进制日志中、在所述第一目标事务标识符对应的事务提交之前提交的事务进行事务回放,以对所述主数据库中的数据进行备份。4.根据权利要求1所述的方法,其中,所述从第三方服务器处获取已提交事务的事务标识符集合,包括:间隔第一预设时长从所述第三方服务器处获取已提交事务的事务标识符集合;以及所述方法还包括:将所述事务标识符集合以及获取时间存储到预设的元数据库中。5.根据权利要求4所述的方法,其中,所述方法还包括:控制所述从数据库将备份完成得到的备份文件上传至云服务器;响应于所述备份文件的上传完成,在所述元数据库中更新备份状态信息。6.根据权利要求4所述的方法,其中,所述控制所述从数据库从所述主数据库处获取二进制日志,包括:间隔第二预设时长从所述主数据库中获取二进制日志;以及所述方法还包括:存储所获取的二进制日志;将所述二进制日志的以下至少一项信息存储到所述元数据库中:存储路径、名称、存储时间、所包括的至少一个事务标识符以及所述至少一个事务标识符的提交时间。7.根据权利要求6所述的方法,其中,所述方法还包括:接收数据恢复指令,所述数据恢复指令包括数据恢复时间点;根据所述元数据库中记录的信息,确定在所述数据恢复时间点提交的第二目标事务标识符;确定所述第二目标事务标识符所属的二进制日志为目标二进制日志;基于所述目标二进制日志,控制所述从数据库以及所述主数据库恢复数据。8.一种用于备份数据的装置,包括:备份指令接收单元,被配置成接收数据备份指令,所述数据备份指令用于指示对数据库分片包括的主数据库中的数据进行备份,数据库分片还包括从数据库;日志获取单元,被配置成控制所述从数据库暂...

【专利技术属性】
技术研发人员:江俊汝周坤龙赖宝华
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1