CN108241555B - 一种分布式数据库的备份、恢复方法、装置和服务器 - Google Patents

一种分布式数据库的备份、恢复方法、装置和服务器 Download PDF

Info

Publication number
CN108241555B
CN108241555B CN201611218259.9A CN201611218259A CN108241555B CN 108241555 B CN108241555 B CN 108241555B CN 201611218259 A CN201611218259 A CN 201611218259A CN 108241555 B CN108241555 B CN 108241555B
Authority
CN
China
Prior art keywords
backup
data
sub
record
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611218259.9A
Other languages
English (en)
Other versions
CN108241555A (zh
Inventor
郑涔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201611218259.9A priority Critical patent/CN108241555B/zh
Publication of CN108241555A publication Critical patent/CN108241555A/zh
Application granted granted Critical
Publication of CN108241555B publication Critical patent/CN108241555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种分布式数据库的备份、恢复方法、装置和服务器,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,该备份方法包括:实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。本申请实施例使得可以在全量备份文件的基础上,按照增量备份的文件,恢复出指定恢复时间的完整数据。

Description

一种分布式数据库的备份、恢复方法、装置和服务器
技术领域
本申请涉及计算机处理的技术领域,特别是涉及一种分布式数据库的备份方法、一种分布式数据库的恢复方法、一种分布式数据库的备份装置、一种分布式数据库的恢复装置和一种服务器。
背景技术
随着互联网的快速发展,数据量爆发性增长,云计算已被广泛应用,其中,分布式集群的海量数据处理是云计算的应用之一,其应用分布式数据库存储数据。
分布式数据库中的数据分布在子数据节点和元数据节点中,并且通常可以互相迁移,出于容灾考虑,分布式数据库也需要进行数据的备份和恢复。
分布式数据库的备份涉及到多个子数据节点的备份以及元数据节点的备份,由于需要保证各个节点备份的数据是同一个时间点的,因此,现有的方案通常采用先停止向集群写入数据以及关闭集群内的数据迁移,然后依次对各个子数据节点以及元数据节点进行数据全量备份,等所有节点都完成备份后再恢复集群的数据写入以及数据迁移。
如果不在备份期间停止向集群写入数据,那么无法保证各个节点备份的数据是同一个时间点的。显然,在备份期间停止整个集群的数据写入会影响集群的可用性。因此,对于一些拥有主备节点的数据节点,通常还采用只停止备节点的数据写入的优化方案。
然而,这个方案会导致备份期间备节点和主节点的数据同步延迟变大,可能导致备节点的数据无法继续和主节点保持同步。
如果不在备份期间关闭集群内的数据迁移,由于数据迁移涉及两个子数据节点数据的修改以及元数据节点上元数据的修改,可能出现备份了重复数据或漏备份部分数据的情况。
例如,在时间点T1发起了一次数据迁移,需要将数据D从子数据节点1迁移到子数据节点2上,迁移结束时间为T2,在T1和T2这段期间会发生至少以下数据及元数据的修改:
1、数据D从子数据节点1拷贝到子数据节点2上
2、修改元数据节点上的数据分布,将数据D在子数据节点1改为数据D在子数据节点2
3、删除子数据节点1上的数据D
假如对元数据节点进行备份时,元数据节点记录数据D仍然存放于子数据节点1,对子数据节点1进行备份时数据D还未删除,对子数据节点2进行备份时子数据节点2上已经从子数据节点1上拷贝了一部分数据过来,那么就会导致备份了部分重复数据。
假如对元数据节点进行备份时,元数据节点记录数据D仍然存放于子数据节点1,而对子数据节点1进行备份时其已经删除了数据D,不管此时子数据节点2是否已拷贝了数据D的全部数据,由于元数据节点认为数据D在子数据节点1上,因此会导致恢复出来后数据D丢失。
如果关闭集群内的数据迁移,那么,在停止的期间内,集群无法进行负载均衡,除了会影响集群的访问性能,还会造成资源的浪费。
随着集群的数据量增大,所需的备份时间也随之变长,需要停止集群写入数据以及关闭数据迁移的时间也因此变长,上述问题会变得愈发严重。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种分布式数据库的备份方法、一种分布式数据库的恢复方法和相应的一种分布式数据库的备份装置、一种分布式数据库的恢复装置、一种服务器。
一方面,本申请实施例提供了一种分布式数据库的备份方法,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述方法包括:
实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
另一方面,本申请实施例提供了一种分布式数据库的恢复方法,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述方法包括:
获取恢复时间戳;
查询所述分布式数据库的数据迁移操作记录;
判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则对所述子数据节点和所述元数据节点进行数据恢复操作。
另一方面,本申请实施例提供了一种分布式数据库的备份装置,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述装置包括:
子节点增量备份模块,用于实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
元节点增量备份模块,用于实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
子节点全量备份模块,用于在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
元节点全量备份模块,用于在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
另一方面,本申请实施例提供了一种分布式数据库的恢复装置,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述装置包括:
恢复时间戳获取模块,用于获取恢复时间戳;
数据迁移操作记录查询模块,用于查询所述分布式数据库的数据迁移操作记录;
数据迁移操作判断模块,用于判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则调用数据恢复模块;
数据恢复模块,用于对所述子数据节点和所述元数据节点进行数据恢复操作。
另一方面,本申请实施例提供了一种服务器,所述服务器部署有分布式数据库,所述分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述服务器包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能:
实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
另一方面,本申请实施例提供了一种服务器,所述服务器部署有分布式数据库,所述分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述服务器包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能:
接收数据恢复请求,所述数据恢复请求中具有恢复时间戳;
查询所述分布式数据库的数据迁移操作记录;
判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则对所述子数据节点和所述元数据节点进行数据恢复操作。
本申请实施例包括以下优点:
本申请实施例对分布式数据库中的子数据节点和元数据节点持续进行增量备份,并在指定的时间点对子数据节点和元数据节点进行全量备份,使得可以在全量备份文件的基础上,按照增量备份的文件,恢复出指定恢复时间的完整数据。
本申请实施例在对子数据节点与元数据节点进行全量备份及增量备份之外,记录元数据节点上的数据迁移操作,使得后续可以检测恢复时间戳是否位于数据迁移操作的时间窗口,在恢复时避开这些时间窗口之后,应用全量备份的文件和增量备份的文件进行恢复,由于恢复操作不涉及数据迁移操作,可以避免停止向集群写入数据以及集群内的数据迁移,一方面,可以保障集群的正常运行,如保证负载均衡、可用性、数据同步等,另一方面,可以保证恢复的数据的准确性,避免数据重复或丢失。
本申请实施例在对子数据节点与元数据节点进行备份之外,记录元数据节点上的数据迁移操作,使得后续可以检测恢复时间戳是否位于数据迁移操作的时间窗口,在恢复时避开这些时间窗口之后,应用备份文件进行恢复,由于恢复操作不涉及数据迁移操作,可以避免停止向集群写入数据以及集群内的数据迁移,一方面,可以保障集群的正常运行,如保证负载均衡、可用性、数据同步等,另一方面,可以保证恢复的数据的准确性,避免数据重复或丢失。
附图说明
图1是本申请的一种分布式数据库的备份方方法实施例的步骤流程图;
图2是本发明实施例提供的一种分布式数据库的结构示意图;
图3是本申请的另一种分布式数据库的备份方方法实施例的步骤流程图;
图4是本申请的一种分布式数据库的恢复方方法实施例的步骤流程图;
图5是本申请的一种分布式数据库的备份方装置实施例的结构框图;
图6是本申请的另一种分布式数据库的备份方装置实施例的结构框图;
图7是本申请的一种分布式数据库的恢复方装置实施例的结构框图;
图8是本发明实施例提供的一种服务器的结构示意图;
图9是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种分布式数据库的备份方法实施例的步骤流程图。
在实际应用中,本申请实施例可以应用在分布式数据库中,分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库,每个被连接起来的数据库单元称为站点或节点。
例如,Mysql sharding集群、MongoDB sharding集群、Redis sharding集群,等等。
如图2所示,分布式数据库可以包括用于存储用户数据的子数据节点201、用于存储***数据的元数据节点202和用于提供数据访问服务(不存储数据)的proxy节点203。
各子数据节点201和元数据节点202之间可以配置时钟同步协议,如NTP(网络时间协议,Network Time Protocol),以减少时钟误差。
以MongoDB的Sharding集群为例,包含一个元数据节点(config server)、多个子数据节点(shard)以及至少一个proxy节点(mongos)。
MongoDB的数据组织概念包括数据库(DB)、集合(Collection)和文档(Document)。用户可以创建多个数据库,每个数据库内可以创建多个集合,每个集合内可以创建多个文档,其中,文档就是用户数据的载体。
在Sharding集群中,用户为某个数据库的某个集合启用Sharding,并指定某个字段(或某几个字段)作为分片的键(片键)。之后往这个集合写入新的文档时,就会根据片键进行数据分布,将文档分布到对应的子数据节点上。
因此,子数据节点就是存放真正的文档数据,而元数据节点则需要存放数据的分布信息(路由信息),以供查询这些数据时使用。
此外,元数据节点还存放集群中包含哪些数据库、集合等相关信息。
proxy节点的主要作用则是屏蔽集群的内部细节并对外提供服务,用户可以通过proxy节点来访问集群内存储的数据,proxy节点可以从元数据节点查询数据的分布信息从而访问相应的子数据节点。
该方法具体可以包括如下步骤:
步骤101,实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件。
在具体实现中,可以持续采用子数据节点被修改的数据进行增量备份、生成子增量备份文件。
在本申请的一个实施例中,步骤101可以包括如下子步骤:
子步骤S11,备份控制器向子备份代理发送第一增量备份任务;
子步骤S12,子备份代理按照所述第一增量备份任务实时抓取所述子数据节点中被修改的数据、生成子数据修改记录,并存储在增量存储器中;
子步骤S13,备份控制器对所述子数据修改记录生成子增量备份记录,并存储在备份记录存储器中。
在本发明实施例中,如图2所示,分布式数据库中部署有备份控制器204,子数据节点201中部署有子备份代理(agent)205,子增量备份文件包括子数据修改记录、子增量备份记录。
备份控制器204可以向位于子数据节点201的子备份代理205发送第一增量备份任务,指示子备份代理205进行增量备份。
子备份代理205在接收到第一增量备份任务之后,可以持续抓取在子数据节点201中被修改的数据,生成子数据修改记录。
其中,子数据修改记录属于增量数据修改记录,包括一个时间戳以及针对数据的修改。
例如,在时间点T1在test库的test集合中***一条a字段为1的记录,或者是更新test库的test集合,将a字段为1的记录变为a字段为2,或者删除test库的test集合中a字段为1的记录。
当然,对数据的修改也可以包括其他修改,例如,在时间点T1在test库中新增一个test2集合,或在test库新增一个usr用户等。
即在本申请实施例中,子数据修改记录可以包含以下信息:
修改时间戳 数据修改内容
当子数据修改记录的数量到达预设的一数量阈值时,子备份代理205可以将子数据修改记录存储至增量存储器207中,并通知备份控制器204生成一条子增量备份记录,保存在备份记录存储器208中。
其中,子增量备份记录可以包含以下信息:
Figure BDA0001192271420000081
在此处,备份记录类型为增量,子增量备份时间戳一般是这批子数据修改记录、中第一条数据修改记录的修改时间戳,后续可通过指定具体的某一个备份节点编号以及某一个备份时间戳找到这样的一条子增量备份记录。
当然,备份控制器204也可以采用其他方式生成子增量备份记录,例如,子增量备份记录也可以采用诸如最后一条等非第一条数据修改记录的修改时间戳作为子增量备份时间戳、采用所拥有的数据修改记录的修改时间戳生成的时间范围作为子增量备份时间戳,或者,对每一条数据修改生成一条子增量备份记录,等等,本申请实施例对此不加以限制。
需要说明的是,增量存储器、备份记录存储器可以是位于分布式数据库本地的存储设备,也可以是位于远程的共享存储设备,本申请实施例对此不加以限制。
步骤102,实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件。
在具体实现中,可以持续采用元数据节点中被修改的数据进行增量备份、生成元增量备份文件。
在本申请的一个实施例中,步骤102可以包括如下子步骤:
子步骤S21,备份控制器向元备份代理发送第二增量备份任务;
子步骤S22,元备份代理按照所述第二增量备份任务实时抓取所述元数据节点中被修改的数据、生成元数据修改记录,并存储在增量存储器中;
子步骤S23,备份控制器对所述元数据修改记录生成元增量备份记录,并存储在备份记录存储器中。
在本发明实施例中,如图2所示,分布式数据库中部署有备份控制器204,元数据节点202中部署有元备份代理(agent)206,元增量备份文件包括元数据修改记录、元增量备份记录。
备份控制器204可以向位于元数据节点中202的元备份代理206发送第二增量备份任务,指示元备份代理206进行增量备份。
元备份代理206在接收到第二增量备份任务之后,可以持续抓取在元数据节点中202中被修改的数据,生成元数据修改记录。
其中,元数据修改记录属于增量数据修改记录,包括一个时间戳以及针对数据的修改。
例如,在时间点T1在test库的test集合中***一条a字段为1的记录,或者是更新test库的test集合,将a字段为1的记录变为a字段为2,或者删除test库的test集合中a字段为1的记录。
当然,对数据的修改也可以包括其他修改,例如,在时间点T1在test库中新增一个test2集合,或在test库新增一个usr用户等。
即在本申请实施例中,元数据修改记录可以包含以下信息:
修改时间戳 数据修改内容
当元数据修改记录的数量到达预设的一数量阈值时,元备份代理206可以将元数据修改记录存储至增量存储器207中,并通知备份控制器204生成一条元增量备份记录,保存在备份记录存储器208中。
其中,元增量备份记录可以包含以下信息:
Figure BDA0001192271420000091
Figure BDA0001192271420000101
在此处,备份记录类型为增量,元增量备份时间戳一般是这批元数据修改记录中第一条数据修改记录的修改时间戳,后续可通过指定具体的某一个备份节点编号以及某一个备份时间戳找到这样的一条元增量备份记录。
当然,备份控制器204也可以采用其他方式生成元增量备份记录,例如,元元增量备份记录也可以采用诸如最后一条等非第一条数据修改记录的修改时间戳作为元增量备份时间戳、采用所拥有的数据修改记录的修改时间戳生成的时间范围作为元增量备份时间戳,或者,对每一条数据修改生成一条元增量备份记录,等等,本申请实施例对此不加以限制。
需要说明的是,增量存储器、备份记录存储器可以是位于分布式数据库本地的存储设备,也可以是位于远程的共享存储设备,本申请实施例对此不加以限制。
步骤103,在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件。
在具体实现中,可以在第一时间点对子数据节点中存储的数据进行全量备份、生成子全量备份文件。
在本申请的一个实施例中,步骤103可以包括如下子步骤:
子步骤S31,备份控制器在指定的第一时间点向子备份代理发送第一全量备份任务;
子步骤S32,子备份代理按照所述第一全量备份任务对所述子数据节点中的数据进行备份、生成子数据内容,并存储在全量存储器中;
子步骤S33,备份控制器对所述子数据内容生成子全量备份记录,并存储在备份记录存储器中。
在本发明实施例中,如图2所示,分布式数据库中部署有备份控制器204,子数据节点201中部署有子备份代理(agent)205,子全量备份文件包括子数据内容、子全量备份记录。
备份控制器204可以向位于子数据节点201的子备份代理205发送第一全量备份任务,指示子备份代理205进行全量备份。
子备份代理205在接收到第一全量备份任务之后,可以对子数据节点201中存储的数据进行备份,生成子数据内容(即备份的子数据节点201的数据,如镜像文件),并存储在全量存储器211中。
此外,子备份代理205可以通知备份控制器204生成一条子全量备份记录,保存在备份记录存储器208中。
在本申请实施例中,子全量备份记录可以包含以下信息:
Figure BDA0001192271420000111
在此处,备份记录类型为全量,每个子数据内容对应一个子全量备份时间戳,该子数据内容包含了到该子全量备份时间戳为止的该子数据节点的所有数据,后续可以通过指定具体的某一个节点以及某一个子全量备份时间戳从备份记录存储器208中找到子全量备份记录。
需要说明的是,全量存储器可以是位于分布式数据库本地的存储设备,也可以是位于远程的共享存储设备,本申请实施例对此不加以限制。
步骤104,在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
在具体实现中,可以在第二时间点对元数据节点中存储的数据进行全量备份、生成元全量备份文件。
需要说明的是,第一时间点与第二时间点可以相同,也可以不相同,本申请实施例对此不加以限制。
在本申请的一个实施例中,步骤104可以包括如下子步骤:
子步骤S41,备份控制器在指定的第二时间点向元备份代理发送第二全量备份任务;
子步骤S42,元备份代理按照所述第二全量备份任务对所述元数据节点中的数据进行备份、生成元数据内容,并存储在全量存储器中;
子步骤S43,备份控制器对所述元数据内容生成元全量备份记录,并存储在备份记录存储器中。
在本发明实施例中,如图2所示,分布式数据库中部署有备份控制器204,元数据节点202中部署有元备份代理(agent)206,元全量备份文件包括元数据内容、元全量备份记录。
备份控制器204可以向位于元数据节点中202的元备份代理206发送第二全量备份任务,指示元备份代理206进行全量备份。
元备份代理206在接收到第二全量备份任务之后,可以对元数据节点中202中存储的数据进行备份,生成元数据内容(即备份的元数据节点中202的数据,如镜像文件),并存储在全量存储器211中。
此外,元备份代理206可以通知备份控制器204生成一条元全量备份记录,保存在备份记录存储器208中。
在本申请实施例中,元全量备份记录可以包含以下信息:
Figure BDA0001192271420000121
在此处,备份记录类型为全量,每个元数据内容对应一个元全量备份时间戳,该全量备份文件包含了到该元全量备份时间戳为止的该元数据节点的所有数据,后续可以通过指定具体的某一个节点以及某一个元全量备份时间戳从备份记录存储器208中找到元全量备份记录。
需要说明的是,全量存储器可以是位于分布式数据库本地的存储设备,也可以是位于远程的共享存储设备,本申请实施例对此不加以限制。
本申请实施例对分布式数据库中的子数据节点和元数据节点持续进行增量备份,并在指定的时间点对子数据节点和元数据节点进行全量备份,使得可以在全量备份文件的基础上,按照增量备份的文件,恢复出指定恢复时间的完整数据。
参照图3,示出了本申请的另一种分布式数据库的备份方法实施例的步骤流程图,具体可以包括如下步骤:
步骤301,实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件。
步骤302,实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件。
步骤303,对所述元数据节点记录的数据迁移操作生成数据迁移操作记录。
在实际应用中,分布式数据库中数据时常会产生数据倾斜的现象,为了平衡数据库的负载,可以对分布式数据库进行数据迁移。
数据迁移一般将负载较重的子数据节点中的部分数据迁移至负载较轻的另一子数据节点中,并记录在元数据节点中。
在本申请的一个实施例中,步骤303可以包括如下子步骤:
子步骤S51,操作日志收集器收集所述元数据节点上的操作日志;
子步骤S52,操作日志收集器对所述操作日志中的数据操作信息进行检测,以识别数据迁移操作,并生成数据迁移记录、存储在迁移记录存储器中;
子步骤S53,操作日志收集器记录最近一条检测完成的数据操作信息的时间戳,并存储在到迁移记录存储器中。
在本申请实施例中,如图2所示,分布式数据库中部署有备份控制器204,在元数据节点202中部署有操作日志收集器209,数据迁移操作记录包括数据迁移记录、最近一条检测完成的数据操作信息。
在元数据库节点202上部署的操作日志收集器209持续收集元数据节点202上的操作日志并进行检测,分析出每次数据迁移操作的起始时间和结束时间,获得其时间区间,并记录每一次数据迁移操作以及当前已检测完成的最近一条数据操作信息的检测时间戳Ta到一个数据迁移记录存储器210中。
这要求元数据节点202对所有数据操作进行记录,生成数据操作信息并输出到操作日志(通常可以通过数据库审计日志实现)中,并且,对于数据迁移操作,采用元数据进行记录并反映在数据操作信息中。
元数据节点的数据操作信息可以包含以下信息:
操作时间 操作内容
因为元数据节点202负责管理整个集群的元数据,其中包括数据的路由信息。而数据迁移操作涉及到的修改包括路由信息的修改,因此,在元数据节点202中可以记录数据迁移操作。
元数据节点202在记录数据迁移操作时,可以在迁移开始和结束的时候在某个指定的数据库的某个指定的表中***对应的记录,这样数据迁移操作就可以***作日志收集器210收集到并做分析。
假设在时间点T1发生了一次数据迁移,需要将数据D从子数据节点1迁移到子数据节点2上,迁移结束时间为T2。
当数据迁移操作开始时,元数据节点202可以向其上的DB1数据库的TAB1表中***一条数据操作信息,可以包括以下信息:
Figure BDA0001192271420000141
当数据迁移结束时,元数据节点202可以向DB1数据库的TAB1表中***一条数据操作信息,可以包括以下信息:
Figure BDA0001192271420000142
这样,在元数据节点202的DB1数据库的TAB1表就会有两条数据操作信息,操作内容是往DB1数据库的TAB1表中***对应的记录:
Figure BDA0001192271420000143
操作日志收集器209收集到这两条数据操作信息后,就可以分析出有一次数据迁移操作,将其转化为一条数据迁移记录存入迁移记录存储器210中,数据迁移记录可以包含以下信息:
Figure BDA0001192271420000144
除了将数据迁移操作记录在操作日志之外,元数据节点202的其他和数据修改相关的操作也都会记录操作日志。这样,通过持续收集操作日志并进行分析,可以知晓目前最新已分析的数据操作信息的检测时间戳Ta,例如,当前已经分析到时间为T2的数据操作信息,则Ta=T2,操作日志收集器209将Ta的值通过一条记录记到迁移记录存储器210中,每隔一段时间进行更新。
需要说明的是,迁移记录存储器可以是位于分布式数据库本地的存储设备,也可以是位于远程的共享存储设备,本申请实施例对此不加以限制。
步骤304,在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件。
步骤305,在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
本申请实施例在对子数据节点与元数据节点进行全量备份及增量备份之外,记录元数据节点上的数据迁移操作,使得后续可以检测恢复时间戳是否位于数据迁移操作的时间窗口,在恢复时避开这些时间窗口之后,应用全量备份的文件和增量备份的文件进行恢复,由于恢复操作不涉及数据迁移操作,可以避免停止向集群写入数据以及集群内的数据迁移,一方面,可以保障集群的正常运行,如保证负载均衡、可用性、数据同步等,另一方面,可以保证恢复的数据的准确性,避免数据重复或丢失。
参照图4,示出了本申请的一种分布式数据库的恢复方法实施例的步骤流程图,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述方法具体可以包括如下步骤:
步骤401,获取恢复时间戳。
分布式数据库的容灾机制是一个范畴比较广泛的概念,广义上,可以把所有与业务连续性相关的内容都纳入容灾。
从狭义的角度,容灾是指,除了生产站点以外,用户另外建立的冗余站点,当灾难发生,生产站点受到破坏时,冗余站点可以接管用户正常的业务,达到业务不间断的目的。
从技术上看,衡量容灾有两个主要指标:RPO(RecoveryPointObject)和RTO(RecoveryTimeObject),其中,RPO代表了当灾难发生时允许丢失的数据量,RTO代表恢复的时间,。RPO与RTO越小,分布式数据库的可用性就越高。
在本申请实施例中,恢复时间戳可以指用户某次恢复操作指定要恢复的具体时间点,例如,北京时间2016-11-20 19:00:00。
步骤402,查询所述分布式数据库的数据迁移操作记录。
应用本申请实施例,可以预先对元数据节点记录的数据迁移操作生成数据迁移操作记录,以便后续进行查询。
步骤403,判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则执行步骤404。
在进行恢复操作之前,可以先在恢复时间戳表示的时间是否发生数据迁移操作。
如果发生数据迁移操作,则可以停止恢复操作,并提示用户恢复失败。
如果未发生数据迁移操作,则可以继续进行恢复操作。
在本申请的一个实施例中,步骤403可以包括如下子步骤:
子步骤S61,备份控制器从迁移记录存储器中读取操作日志收集器最近一条检测完成的数据操作信息的检测时间戳;
子步骤S62,备份控制器判断所述恢复时间戳是否小于或等于所述检测时间戳;若是,则执行子步骤S63;
子步骤S63,在迁移记录存储器中查询所述恢复时间戳是否具有对应的数据迁移记录;
子步骤S64,当不具有对应的数据迁移记录时,判定所述恢复时间戳不在所述数据迁移操作记录的时间内。
在本申请实施例中,如图2所示,分布式数据库中部署有备份控制器204,数据迁移操作记录包括数据迁移记录、最近一条检测完成的数据操作信息。
备份控制器204查询数据迁移记录存储器210,取出最新的检测时间戳Ta(即最近一条检测完成的数据操作信息的时间戳),并判断恢复时间戳Tr是否已有元数据节点数据操作信息的分析结果,即Tr≤Ta,如果不是,返回无法恢复(如果继续流程可能导致恢复的时间点有数据迁移操作),退出流程;否则继续。
备份控制器204查询数据迁移记录存储器210,判断恢复时间戳Tr是否在某个数据迁移操作窗口内,即数据迁移记录存储器210中是否存在某条表示数据迁移操作的数据迁移记录,满足恢复时间戳Tr介于该数据迁移记录的迁移起始时间和迁移结束时间之间,如果是,返回无法恢复,退出流程;否则继续。
步骤404,对所述子数据节点和所述元数据节点进行数据恢复操作。
如果在恢复时间戳不是位于数据迁移操作的窗口中,则可以正常进行恢复操作。
在本申请的一个实施例,步骤404可以包括如下子步骤:
子步骤S71,查找在所述恢复时间戳之前备份的子全量备份文件;
在恢复操作中,可以查找恢复时间戳之前备份的子全量备份文件,为了减少增量备份文件的提取,可以查找恢复时间戳之前备份的、且距离恢复时间戳最近的子全量备份文件。
对于一个分布式数据库来说,子数据节点和元数据节点是有关联的。元数据节点上记录的元数据和各个子数据节点的数据分布情况一致。如果只恢复某个子数据节点或者元数据节点,可能导致子数据节点上的数据和元数据节点上的元数据不一致,这样整个分布式数据库的数据就发生错误。
因此,查找到恢复时间戳之前、子数据节点进行全量备份的子全量备份文件,则可以继续进行恢复操作,否则停止恢复操作,并提示用户恢复失败。
在本申请的一个实施例中,子步骤S71可以包括如下子步骤:
子步骤S711,备份控制器在备份记录存储器中查询子全量备份记录子全量备份时间戳;
子步骤S712,备份控制器判断所述子全量备份时间戳是否小于或等于所述恢复时间戳;若是,则执行子步骤S713;
子步骤S713,判定所述子全量备份记录对应的子数据内容在所述恢复时间戳之前备份。
在本申请实施例中,子全量备份文件包括子数据内容、子全量备份记录。
如图2所示,备份控制器204在备份记录存储器208查询子全量备份记录,根据恢复时间戳Tr找到选择子数据节点对应的子全量备份记录Fi(其中,i为编号),要求所选择的子全量备份记录的子全量备份时间戳不晚于Tr,即T(Fi)≤Tr。
因此,对于Fi而言,Max(T(Fi))≤Tr。
例如,假设有4个子数据节点,那么需要根据恢复时间戳Tr和节点编号从备份记录存储器208中找到子全量备份记录F1、F2、F3、F4,子全量备份记录F1、F2、F3、F4的子全量备份时间戳T(F1)≤Tr、T(F2)≤Tr、T(F3)≤Tr、T(F4)≤Tr。
子步骤S72,查找在所述恢复时间戳之前备份的元全量备份文件。
在恢复操作中,可以查找恢复时间戳之前备份的元全量备份文件,为了减少增量备份文件的提取,可以查找恢复时间戳之前备份的、且距离恢复时间戳最近的元全量备份文件。
对于一个分布式数据库来说,子数据节点和元数据节点是有关联的。元数据节点上记录的元数据和各个子数据节点的数据分布情况一致。如果只恢复某个子数据节点或者元数据节点,可能导致子数据节点上的数据和元数据节点上的元数据不一致,这样整个分布式数据库的数据就发生错误。
因此,查找到恢复时间戳之前、元数据节点进行全量备份的元全量备份文件,则可以继续进行恢复操作,否则停止恢复操作,并提示用户恢复失败。
在本申请的一个实施例中,子步骤S72可以包括如下子步骤:
子步骤S721,备份控制器在备份记录存储器中查询元全量备份记录的元全量备份时间戳;
子步骤S722,备份控制器判断所述元全量备份时间戳是否小于或等于所述恢复时间戳;若是,则执行子步骤S723;
子步骤S723,判定所述元全量备份记录对应的元数据内容在所述恢复时间戳之前备份。
如图2所示,备份控制器204在备份记录存储器208查询元全量备份记录,根据恢复时间戳Tr找到选择元原数据节点对应的元全量备份记录Fi(其中,i编号),要求所选择的元全量备份记录的元全量备份时间戳不晚于Tr,即T(Fi)≤Tr。
因此,对于Fi而言,Max(T(Fi))≤Tr。
例如,假设有1个元数据节点,那么需要根据恢复时间戳Tr和节点编号从备份记录存储器208中找到元全量备份记录F0,元全量备份记录F0的元全量备份时间戳T(F0)≤Tr。
子步骤S73,查找在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份的子增量备份文件。
如果查找到子全量备份文件,则可以在该子全量备份文件的基础上,继续查找子增量备份文件。
在本申请的一个实施例中,子步骤S73可以包括如下子步骤:
子步骤S731,备份控制器在备份记录存储器中查询子增量备份记录的子增量备份时间戳;
子步骤S732,备份控制器在确定所述子增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述子全量备份时间戳时,判定所述子增量备份记录对应的子数据修改记录,在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份。
在本申请实施例中,子增量备份文件包括子数据修改记录、子增量备份记录。
如图2所示,备份控制器204查询备份记录存储器208,根据子数据节点的子全量备份记录Fi,从中找出恢复到恢复时间戳Tr所需的子增量备份记录Ii,其中,子增量备份记录Ii包含从Fi的子增量备份时间戳到恢复时间戳Tr时间点之间的所有的子数据修改记录,即T(Fi)≤T(Ii)≤Tr。
需要说明的是,如果当子数据修改记录的数量到达预设的一数量阈值时,子备份代理205存储子数据修改记录,备份控制器204生成子增量备份记录,并以子数据修改记录中第一条数据修改记录的修改时间戳作为子增量备份时间戳,即全量备份和增量备份不同步,导致子全量备份时间戳与子增量备份时间戳不一定重叠。
因此,为了避免遗漏子数据修改记录,可以将位于子全量备份时间戳至少前一位的子增量备份时间戳视为大于或等于子全量备份时间戳。
例如,假设恢复时间戳为15:00,子全量备份时间戳为14:00,子增量备份时间戳为13:55、14:05……14:55、15:05。
子增量备份时间戳为13:55的子数据修改记录,可能部分在子全量备份时间戳14:00之前备份、部分在子全量备份时间戳14:00之后备份,因此,为了避免遗漏,可以采用子增量备份时间戳为13:55的数据修改记录进行恢复。
在这种情况下,所提取的子数据修改记录可能与子数据内容部分重复,对于这些重复部分的子数据修改记录可以通过指定的时间条件(修改时间戳小于或等于恢复时间戳、且大于或等于子全量备份时间戳)去重,或者,直接按照重复的子数据修改记录进行恢复,等等,本申请实施例对此不加以限制。
当然,在其他备份机制下,也可以采用相应的方法查找在恢复时间戳之前、且在备份子全量备份文件之后备份的子增量备份文件,本申请实施例对此不加以限制。
在本申请的另一个实施例中,子步骤S73还可以包括如下子步骤:
子步骤S733,备份控制器在确定缺少子数据修改记录时,对缺少的子数据修改记录生成子增量备份文件标识。
如图2所示,若备份控制器204在备份记录存储器208中没有查询到子增量备份时间戳小于或等于恢复时间戳、且大于或等于子全量备份时间戳的子增量备份记录,表示缺少子数据修改记录。
备份控制器204可以对相应的子增量备份文件标识进行标记,生成子增量备份文件标识,后续在恢复的时候直接到子数据节点上进行对应的子数据修改记录。
在一个示例中,子增量备份文件标识可以包含以下信息:
Figure BDA0001192271420000201
Figure BDA0001192271420000211
其中,远程抓取增量数据修改起始时间戳为在子全量备份时间戳与可查找到的最新的子增量备份时间戳之间的某一时间戳。
例如,若保证子数据修改记录的准确率,则可以将远程抓取增量数据修改起始时间戳设置为子全量备份时间戳。
又例如,若减少子备份代理205的资源消耗,则可以将远程抓取增量数据修改起始时间戳设置为可查找到的最新的子增量备份时间戳。
此外,远程抓取增量数据修改终止时间戳一般为恢复时间戳。
子步骤S74,查找在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份的元增量备份文件。
如果查找到元全量备份文件,则可以在该元全量备份文件的基础上,继续查找元增量备份文件。
在本申请的一个实施例中,子步骤S74可以包括如下子步骤:
子步骤S741,备份控制器在备份记录存储器中查询元增量备份记录的元增量备份时间戳;
子步骤S742,备份控制器在确定所述元增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述元全量备份时间戳时,判定所述元增量备份记录对应的元数据修改记录,在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份。
在本申请实施例中,元增量备份文件包括元数据修改记录、元增量备份记录。
如图2所示,备份控制器204查询备份记录存储器208,根据元数据节点元全量备份记录Fi,从中找出恢复到恢复时间戳Tr所需的元增量备份记录Ii,其中,元增量备份记录Ii包含从Fi的元增量备份时间戳到恢复时间戳Tr时间点之间的所有的元数据修改记录,即T(Fi)≤T(Ii)≤Tr。
需要说明的是,如果当元数据修改记录的数量到达预设的一数量阈值时,元备份代理206存储元数据修改记录,备份控制器204生成元增量备份记录,并以数据修改记录中第一条数据修改记录的修改时间戳作为元增量备份时间戳,即全量备份和增量备份不同步,导致元全量备份时间戳与元增量备份时间戳不一定重叠。
因此,为了避免遗漏元数据修改记录,可以将位于元全量备份时间戳至少前一位的元增量备份时间戳视为大于或等于、元全量备份时间戳。
例如,假设恢复时间戳为15:00,元全量备份时间戳为14:00,元增量备份时间戳为13:55、14:05……14:55、15:05。
元增量备份时间戳为13:55的元数据修改记录,可能部分在元全量备份时间戳14:00之前备份、部分在元全量备份时间戳14:00之后备份,因此,为了避免遗漏,可以采用元增量备份时间戳为13:55的数据修改记录进行恢复。
在这种情况下,所提取的元数据修改记录可能与元数据内容部分重复,对于这些重复部分的元数据修改记录可以通过指定的时间条件(修改时间戳小于或等于恢复时间戳、且大于或等于元全量备份时间戳)去重,或者,直接按照重复的元数据修改记录进行恢复,等等,本申请实施例对此不加以限制。
当然,在其他备份机制下,也可以采用相应的方法查找在恢复时间戳之前、且在备份元全量备份文件之后备份的元增量备份文件,本申请实施例对此不加以限制。
在本申请的另一个实施例中,子步骤S74还可以包括如下子步骤:
子步骤S743,备份控制器在确定缺少元数据修改记录时,对缺少的元数据修改记录生成元增量备份文件标识。
如图2所示,若备份控制器204在备份记录存储器208中没有查询到元增量备份时间戳小于或等于恢复时间戳、且大于或等于元全量备份时间戳的元增量备份记录,表示缺少元数据修改记录。
备份控制器204可以对相应的元增量备份文件标识进行标记,生成元增量备份文件标识,后续在恢复的时候直接到元数据节点上进行对应的元数据修改记录。
在一个示例中,元增量备份文件标识可以包含以下信息:
Figure BDA0001192271420000231
其中,远程抓取增量数据修改起始时间戳为在子全量备份时间戳与可查找到的最新的元增量备份时间戳之间的某一时间戳。
例如,若保证元数据修改记录的准确率,则可以将远程抓取增量数据修改起始时间戳设置为元全量备份时间戳。
又例如,若减少元备份代理206的资源消耗,则可以将远程抓取增量数据修改起始时间戳设置为可查找到的最新的元增量备份时间戳。
此外,远程抓取增量数据修改终止时间戳一般为恢复时间戳。
子步骤S75,在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作。
如果成功查找到子全量备份文件和子增量备份文件,则可以在子全量备份文件的基础上,按照子增量备份文件进行恢复操作,将子数据节点还原至恢复时间戳表示的时间的状态。
在本申请的一个实施例中,子步骤S75可以包括如下子步骤:
子步骤S751,备份控制器在备份记录存储器中查询在子全量备份记录中记录的、所述子数据内容在全量存储器中的子数据内容地址,以及,在子增量备份记录中记录的、所述子数据修改记录在增量存储器中的子数据修改记录地址;
子步骤S752,备份控制器将所述子数据内容地址和所述子数据修改记录发送至位于所述子数据节点的子备份代理;
子步骤S753,子备份代理按照所述子数据内容地址和所述子数据分别从全量存储器和增量存储器中读取所述子数据内容和所述子数据修改记录;
子步骤S754,子备份代理在所述子数据内容的基础上,采用所述子数据修改记录进行恢复操作。
在本申请实施例中,如图2所示,子数据节点中201部署有子备份代理(agent)205。
备份控制器204下发第一恢复任务给各个子数据节点201的子备份代理205,该第一恢复任务包括子数据内容在全量存储器211中的子数据内容地址,以及,子数据修改记录在增量存储器207中的子数据修改记录地址。
子备份代理205在接收到恢复任务之后,按照子数据内容地址从全量存储器211中抓取相应的子数据内容,按照子数据修改记录地址在增量存储器207中抓取相应的子数据修改记录。
子备份代理205执行子数据内容的恢复,并在恢复结束时执行子数据修改记录的重放应用。
在本申请的另一个实施例中,子步骤S75还可以包括如下子步骤:
子步骤S755,备份控制器将所述子增量备份文件标识发送至子备份代理;
子步骤S756,子备份代理按照所述子增量备份文件标识从子数据节点中抓取缺少的子数据修改记录。
如图2所示,如果备份控制器204下发的第一恢复任务还包括子增量备份文件标识,则子步骤S754之前,子备份代理205可以按照子增量备份文件标识远程从子数据节点中201中抓取缺少的子数据修改记录。
在一个示例中,子备份代理205可以抓取远程抓取修改时间戳位于增量修改记录起始时间戳与远程抓取增量修改记录终止时间戳之间的子数据修改记录。
子步骤S76,在所述元数据节点中,在所述元全量备份文件的基础上采用所述元增量备份文件进行数据恢复操作。
如果成功查找到元全量备份文件和元增量备份文件,则可以在元全量备份文件的基础上,按照元增量备份文件进行恢复操作,将元数据节点还原至恢复时间戳表示的时间的状态。
在本申请的一个实施例中,子步骤S76可以包括如下子步骤:
子步骤S761,备份控制器在备份记录存储器中查询在元全量备份记录中记录的、所述元数据内容在全量存储器中的元数据内容地址,以及,在元增量备份记录中记录的、所述元数据修改记录在增量存储器中的元数据修改记录地址;
子步骤S762,备份控制器将所述元数据内容地址和所述元数据修改记录地址发送至位于所述元数据节点中的元备份代理;
子步骤S763,元备份代理按照所述元数据内容地址和所述元数据修改记录地址分别从全量存储器和增量存储器中读取所述元数据内容和所述元数据修改记录;
子步骤S764,元备份代理在所述元数据内容的基础上,采用所述元数据修改记录进行恢复操作。
在本申请实施例中,如图2所示,元数据节点中202部署有元备份代理(agent)206。
备份控制器204下发第二恢复任务给元数据节点202的元备份代理206,该第二恢复任务包括元数据内容在全量存储器211中的元数据内容地址,以及,元数据修改记录在增量存储器207中的元数据修改记录地址。
元备份代理206在接收到第二恢复任务之后,按照元数据内容地址从全量存储器211中抓取相应的元数据内容,按照元数据修改记录地址在增量存储器207中抓取相应的元数据修改记录。
元备份代理206执行元数据内容的恢复,并在恢复结束时执行元数据修改记录的重放应用。
在本申请实施例中,子备份代理205和元备份代理206的恢复过程可以并行执行。
在本申请的另一个实施例中,子步骤S76还可以包括如下子步骤:
子步骤S765,备份控制器将所述元增量备份文件标识发送至元备份代理;
子步骤S766,元备份代理按照所述元增量备份文件标识从元数据节点中抓取缺少的元数据修改记录。
如图2所示,如果备份控制器204下发的第二恢复任务还包括元增量备份文件标识,则子步骤S764之前,元备份代理206可以按照元增量备份文件标识远程从元数据节点中202中抓取缺少的元数据修改记录。
在一个示例中,元备份代理206可以抓取远程抓取修改时间戳位于增量修改记录起始时间戳与远程抓取增量修改记录终止时间戳之间的子数据修改记录。
本申请实施例在对子数据节点与元数据节点进行备份之外,记录元数据节点上的数据迁移操作,使得后续可以检测恢复时间戳是否位于数据迁移操作的时间窗口,在恢复时避开这些时间窗口之后,应用备份文件进行恢复,由于恢复操作不涉及数据迁移操作,可以避免停止向集群写入数据以及集群内的数据迁移,一方面,可以保障集群的正常运行,如保证负载均衡、可用性、数据同步等,另一方面,可以保证恢复的数据的准确性,避免数据重复或丢失。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请的一种分布式数据库的备份装置实施例的结构框图,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述装置具体可以包括如下模块:
子节点增量备份模块501,用于实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
元节点增量备份模块502,用于实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
子节点全量备份模块503,用于在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
元节点全量备份模块504,用于在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
在本申请的一个实施例中,所述分布式数据库中部署有备份控制器,所述子数据节点中部署有子备份代理,所述元数据节点中部署有元备份代理;
所述子节点增量备份模块501包括:
第一增量备份任务发送子模块,用于备份控制器向子备份代理发送第一增量备份任务;
子数据修改记录生成子模块,用于子备份代理按照所述第一增量备份任务实时抓取所述子数据节点中被修改的数据、生成子数据修改记录,并存储在增量存储器中;
子增量备份记录生成子模块,用于备份控制器对所述子数据修改记录生成子增量备份记录,并存储在备份记录存储器中;
所述元节点增量备份模块502包括:
第二增量备份任务发送子模块,用于备份控制器向元备份代理发送第二增量备份任务;
元数据修改记录生成子模块,用于元备份代理按照所述第二增量备份任务实时抓取所述元数据节点中被修改的数据、生成元数据修改记录,并存储在增量存储器中;
元增量备份记录生成子模块,用于备份控制器对所述元数据修改记录生成元增量备份记录,并存储在备份记录存储器中。
在本申请的一个实施例中,所述子节点全量备份模块503包括:
第一全量备份任务发送子模块,用于备份控制器在指定的第一时间点向子备份代理发送第一全量备份任务;
子数据内容生成子模块,用于子备份代理按照所述第一全量备份任务对所述子数据节点中的数据进行备份、生成子数据内容,并存储在全量存储器中;
子全量备份记录生成子模块,用于备份控制器对所述子数据内容生成子全量备份记录,并存储在备份记录存储器中;
所述元节点全量备份模块504包括:
第二全量备份任务发送子模块,用于备份控制器在指定的第二时间点向元备份代理发送第二全量备份任务;
元数据内容生成子模块,用于元备份代理按照所述第二全量备份任务对所述元数据节点中的数据进行备份、生成元数据内容,并存储在全量存储器中;
元全量备份记录生成子模块,用于备份控制器对所述元数据内容生成元全量备份记录,并存储在备份记录存储器中。
参照图6,示出了本申请的另一种分布式数据库的备份装置实施例的结构框图,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述装置具体可以包括如下模块:
子节点增量备份模块601,用于实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
元节点增量备份模块602,用于实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
数据迁移操作识别模块603,用于对所述元数据节点记录的数据迁移操作生成数据迁移操作记录;
子节点全量备份模块604,用于在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
元节点全量备份模块605,用于在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
在本申请的一个实施例中,在所述元数据节点中部署有操作日志收集器;
所述数据迁移操作识别模块603包括:
操作日志收集子模块,用于操作日志收集器收集所述元数据节点上的操作日志;
数据操作信息检测子模块,用于操作日志收集器对所述操作日志中的数据操作信息进行检测,以识别数据迁移操作,并生成数据迁移记录、存储在迁移记录存储器中;
检测时间戳存储子模块,用于操作日志收集器记录最近一条检测完成的数据操作信息的检测时间戳,并存储在到迁移记录存储器中。
参照图7,示出了本申请的一种分布式数据库的恢复装置实施例的结构框图,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述装置具体可以包括如下模块:
恢复时间戳获取模块701,用于获取恢复时间戳;
数据迁移操作记录查询模块702,用于查询所述分布式数据库的数据迁移操作记录;
数据迁移操作判断模块703,用于判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则调用数据恢复模块704;
数据恢复模块704,用于对所述子数据节点和所述元数据节点进行数据恢复操作。
在本申请的一个实施例中,所述分布式数据库中部署有备份控制器;所述数据迁移操作判断模块703包括:
检测时间戳读取子模块,用于备份控制器从迁移记录存储器中读取操作日志收集器最近一条检测完成的数据操作信息的检测时间戳;
检测时间戳判断子模块,用于备份控制器判断所述恢复时间戳是否小于或等于所述检测时间戳;若是,则调用数据迁移记录查询子模块;
数据迁移记录查询子模块,用于在迁移记录存储器中查询所述恢复时间戳是否具有对应的数据迁移记录;若否,则调用未发生判定子模块;
未发生判定子模块,用于判定所述恢复时间戳不在所述数据迁移操作记录的时间内。
在本申请的一个实施例中,所述数据恢复模块704包括:
子全量备份文件查找子模块,用于查找在所述恢复时间戳之前备份的子全量备份文件;
元全量备份文件查找子模块,用于查找在所述恢复时间戳之前备份的元全量备份文件;
子增量备份文件查找子模块,用于查找在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份的子增量备份文件;
元增量备份文件查找子模块,用于查找在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份的元增量备份文件;
子数据节点中恢复子模块,用于在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作;
元数据节点中恢复子模块,用于在所述元数据节点中,在所述元全量备份文件的基础上采用所述元增量备份文件进行数据恢复操作。
在本申请的一个实施例中,所述子全量备份文件查找子模块包括:
子全量备份时间戳查询单元,用于备份控制器在备份记录存储器中查询子全量备份记录的子全量备份时间戳;
子全量备份时间戳判断单元,用于备份控制器判断所述子全量备份时间戳是否小于或等于所述恢复时间戳;若是,则调用子数据内容判定单元;
子数据内容判定单元,用于判定所述子全量备份记录对应的子数据内容在所述恢复时间戳之前备份;
所述元全量备份文件查找子模块包括:
元全量备份时间戳查询单元,用于备份控制器在备份记录存储器中查询元全量备份记录的元全量备份时间戳;
元全量备份时间戳判断单元,用于备份控制器判断所述元全量备份时间戳是否小于或等于所述恢复时间戳;若是,则调用元数据内容判定单元;
元数据内容判定单元,用于判定所述元全量备份记录对应的元数据内容在所述恢复时间戳之前备份。
在本申请的一个实施例中,所述子增量备份文件查找子模块包括:
子增量备份时间戳查询单元,用于备份控制器在备份记录存储器中查询子增量备份记录的子增量备份时间戳;
子数据修改记录判定单元,用于备份控制器在确定所述子增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述子全量备份时间戳时,判定所述子增量备份记录对应的子数据修改记录,在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份;
所述元增量备份文件查找子模块包括:
元增量备份时间戳查询单元,用于备份控制器在备份记录存储器中查询元增量备份记录的元增量备份时间戳;
元数据修改记录判定单元,用于备份控制器在确定所述元增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述元全量备份时间戳时,判定所述元增量备份记录对应的元数据修改记录,在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份。
在本申请的另一个实施例中,所述子增量备份文件查找子模块还包括:
子增量备份文件标识生成单元,用于备份控制器在确定缺少子数据修改记录时,对缺少的子数据修改记录生成子增量备份文件标识;
所述元增量备份文件查找子模块还包括:
元增量备份文件标识生成单元,用于备份控制器在确定缺少元数据修改记录时,对缺少的元数据修改记录生成元增量备份文件标识。
在本申请的一个实施例中,所述子数据节点中部署有子备份代理,所述元数据节点中部署有元备份代理;
所述子数据节点中恢复子模块包括:
子地址查询单元,用于备份控制器在备份记录存储器中查询在子全量备份记录中记录的、所述子数据内容在全量存储器中的子数据内容地址,以及,在子增量备份记录中记录的、所述子数据修改记录在增量存储器中的子数据修改记录地址;
子地址发送单元,用于备份控制器将所述子数据内容地址和所述子数据修改记录发送至位于所述子数据节点的子备份代理;
子数据读取单元,用于子备份代理按照所述子数据内容地址和所述子数据分别从全量存储器和增量存储器中读取所述子数据内容和所述子数据修改记录;
子节点恢复单元,用于子备份代理在所述子数据内容的基础上,采用所述子数据修改记录进行恢复操作;
所述元数据节点中恢复子模块包括:
元地址查询单元,用于备份控制器在备份记录存储器中查询在元全量备份记录中记录的、所述元数据内容在全量存储器中的元数据内容地址,以及,在元增量备份记录中记录的、所述元数据修改记录在增量存储器中的元数据修改记录地址;
元地址发送单元,用于备份控制器将所述元数据内容地址和所述元数据修改记录地址发送至位于所述元数据节点中的元备份代理;
元数据读取单元,用于元备份代理按照所述元数据内容地址和所述元数据修改记录地址分别从全量存储器和增量存储器中读取所述元数据内容和所述元数据修改记录;
元节点恢复单元,用于元备份代理在所述元数据内容的基础上,采用所述元数据修改记录进行恢复操作。
在本申请的另一个实施例中,所述子数据节点中恢复子模块还包括:
子增量备份文件标识发送单元,用于备份控制器将所述子增量备份文件标识发送至子备份代理;
子数据修改记录抓取单元,用于子备份代理按照所述子增量备份文件标识从子数据节点中抓取缺少的子数据修改记录;
所述元数据节点中恢复子模块还包括:
元增量备份文件标识发送单元,用于备份控制器将所述元增量备份文件标识发送至元备份代理;
元数据修改记录抓取单元,用于元备份代理按照所述元增量备份文件标识从元数据节点中抓取缺少的元数据修改记录。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图8是本发明实施例提供的一种服务器的结构示意图,该服务器800部署有分布式数据库,该分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点。
该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储的或持久存储的。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,一个或一个以上键盘856,和/或,一个或一个以上操作***841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。其中,中央处理器822可以在服务器800上执行以下操作的指令:
实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件。
可选地,所述分布式数据库中部署有备份控制器,所述子数据节点中部署有子备份代理,中央处理器822还可以在服务器800上执行以下操作的指令:
备份控制器向子备份代理发送第一增量备份任务;
子备份代理按照所述第一增量备份任务实时抓取所述子数据节点中被修改的数据、生成子数据修改记录,并存储在增量存储器中;备份控制器对所述子数据修改记录生成子增量备份记录,并存储在备份记录存储器中。
可选地,所述分布式数据库中部署有备份控制器,所述元数据节点中部署有元备份代理;中央处理器822还可以在服务器800上执行以下操作的指令:
备份控制器向元备份代理发送第二增量备份任务;
元备份代理按照所述第二增量备份任务实时抓取所述元数据节点中被修改的数据、生成元数据修改记录,并存储在增量存储器中;
备份控制器对所述元数据修改记录生成元增量备份记录,并存储在备份记录存储器中。
可选地,中央处理器822还可以在服务器800上执行以下操作的指令:
备份控制器在指定的第一时间点向子备份代理发送第一全量备份任务;
子备份代理按照所述第一全量备份任务对所述子数据节点中的数据进行备份、生成子数据内容,并存储在全量存储器中;
备份控制器对所述子数据内容生成子全量备份记录,并存储在备份记录存储器中。
可选地,中央处理器822还可以在服务器800上执行以下操作的指令:
备份控制器在指定的第二时间点向元备份代理发送第二全量备份任务;
元备份代理按照所述第二全量备份任务对所述元数据节点中的数据进行备份、生成元数据内容,并存储在全量存储器中;
备份控制器对所述元数据内容生成元全量备份记录,并存储在备份记录存储器中。
可选地,中央处理器822还可以在服务器800上执行以下操作的指令:
对所述元数据节点记录的数据迁移操作生成数据迁移操作记录。
可选地,在所述元数据节点中部署有操作日志收集器;中央处理器822还可以在服务器800上执行以下操作的指令:
操作日志收集器收集所述元数据节点上的操作日志;
操作日志收集器对所述操作日志中的数据操作信息进行检测,以识别数据迁移操作,并生成数据迁移记录、存储在迁移记录存储器中;
操作日志收集器记录最近一条检测完成的数据操作信息的检测时间戳,并存储在到迁移记录存储器中。
图9是本发明实施例提供的一种服务器的结构示意图,该服务器900部署有分布式数据库,该分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点。
该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储的或持久存储的。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。
服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,一个或一个以上键盘956,和/或,一个或一个以上操作***941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。其中,中央处理器922可以在服务器900上执行以下操作的指令:
获取恢复时间戳;
查询所述分布式数据库的数据迁移操作记录;
判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则对所述子数据节点和所述元数据节点进行数据恢复操作。
可选地,所述分布式数据库中部署有备份控制器;中央处理器922还可以在服务器900上执行以下操作的指令:
所述判断在所述恢复时间戳是否在所述数据迁移操作记录的时间内的步骤包括:
备份控制器从迁移记录存储器中读取操作日志收集器最近一条检测完成的数据操作信息的检测时间戳;
备份控制器判断所述恢复时间戳是否小于或等于所述检测时间戳;若是,则在迁移记录存储器中查询所述恢复时间戳是否具有对应的数据迁移记录;
当不具有对应的数据迁移记录时,判定所述恢复时间戳不在所述数据迁移操作记录的时间内。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
查找在所述恢复时间戳之前备份的子全量备份文件;
查找在所述恢复时间戳之前备份的元全量备份文件;
查找在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份的子增量备份文件;
查找在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份的元增量备份文件;
在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作;
在所述元数据节点中,在所述元全量备份文件的基础上采用所述元增量备份文件进行数据恢复操作。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器在备份记录存储器中查询子全量备份记录的子全量备份时间戳;
备份控制器判断所述子全量备份时间戳是否小于或等于所述恢复时间戳;若是,则判定所述子全量备份记录对应的子数据内容在所述恢复时间戳之前备份。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器在备份记录存储器中查询元全量备份记录的元全量备份时间戳;
备份控制器判断所述元全量备份时间戳是否小于或等于所述恢复时间戳;若是,则判定所述元全量备份记录对应的元数据内容在所述恢复时间戳之前备份。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器在备份记录存储器中查询子增量备份记录的子增量备份时间戳;
备份控制器在确定所述子增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述子全量备份时间戳时,判定所述子增量备份记录对应的子数据修改记录,在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器在备份记录存储器中查询元增量备份记录的元增量备份时间戳;
备份控制器在确定所述元增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述元全量备份时间戳时,判定所述元增量备份记录对应的元数据修改记录,在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器在确定缺少子数据修改记录时,对缺少的子数据修改记录生成子增量备份文件标识。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器在确定缺少元数据修改记录时,对缺少的元数据修改记录生成元增量备份文件标识。
可选地,所述子数据节点中部署有子备份代理,中央处理器922还可以在服务器900上执行以下操作的指令:
所述在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作的步骤包括:
备份控制器在备份记录存储器中查询在子全量备份记录中记录的、所述子数据内容在全量存储器中的子数据内容地址,以及,在子增量备份记录中记录的、所述子数据修改记录在增量存储器中的子数据修改记录地址;
备份控制器将所述子数据内容地址和所述子数据修改记录发送至位于所述子数据节点的子备份代理;
子备份代理按照所述子数据内容地址和所述子数据分别从全量存储器和增量存储器中读取所述子数据内容和所述子数据修改记录;
子备份代理在所述子数据内容的基础上,采用所述子数据修改记录进行恢复操作。
可选地,所述元数据节点中部署有元备份代理,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器在备份记录存储器中查询在元全量备份记录中记录的、所述元数据内容在全量存储器中的元数据内容地址,以及,在元增量备份记录中记录的、所述元数据修改记录在增量存储器中的元数据修改记录地址;
备份控制器将所述元数据内容地址和所述元数据修改记录地址发送至位于所述元数据节点中的元备份代理;
元备份代理按照所述元数据内容地址和所述元数据修改记录地址分别从全量存储器和增量存储器中读取所述元数据内容和所述元数据修改记录;
元备份代理在所述元数据内容的基础上,采用所述元数据修改记录进行恢复操作。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器将所述子增量备份文件标识发送至子备份代理;
子备份代理按照所述子增量备份文件标识从子数据节点中抓取缺少的子数据修改记录。
可选地,中央处理器922还可以在服务器900上执行以下操作的指令:
备份控制器将所述元增量备份文件标识发送至元备份代理;
元备份代理按照所述元增量备份文件标识从元数据节点中抓取缺少的元数据修改记录。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种分布式数据库的备份方法、一种分布式数据库的恢复方法、一种分布式数据库的备份装置、一种分布式数据库的恢复装置和一种服务器,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (21)

1.一种分布式数据库的备份方法,其特征在于,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述方法包括:
实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件;
其中,所述方法还包括:
获取恢复时间戳,所述恢复时间戳指用户恢复操作指定要恢复的时间点;
查询所述分布式数据库的数据迁移操作记录;
判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则对所述子数据节点和所述元数据节点进行数据恢复操作。
2.根据权利要求1所述的方法,其特征在于,
所述分布式数据库中部署有备份控制器,所述子数据节点中部署有子备份代理,所述元数据节点中部署有元备份代理;
所述实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件的步骤包括:
备份控制器向子备份代理发送第一增量备份任务;
子备份代理按照所述第一增量备份任务实时抓取所述子数据节点中被修改的数据、生成子数据修改记录,并存储在增量存储器中;备份控制器对所述子数据修改记录生成子增量备份记录,并存储在备份记录存储器中;
所述实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件的步骤包括:
备份控制器向元备份代理发送第二增量备份任务;
元备份代理按照所述第二增量备份任务实时抓取所述元数据节点中被修改的数据、生成元数据修改记录,并存储在增量存储器中;
备份控制器对所述元数据修改记录生成元增量备份记录,并存储在备份记录存储器中。
3.根据权利要求2所述的方法,其特征在于,
所述在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件的步骤包括:
备份控制器在指定的第一时间点向子备份代理发送第一全量备份任务;
子备份代理按照所述第一全量备份任务对所述子数据节点中的数据进行备份、生成子数据内容,并存储在全量存储器中;
备份控制器对所述子数据内容生成子全量备份记录,并存储在备份记录存储器中;
所述在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件的步骤包括:
备份控制器在指定的第二时间点向元备份代理发送第二全量备份任务;
元备份代理按照所述第二全量备份任务对所述元数据节点中的数据进行备份、生成元数据内容,并存储在全量存储器中;
备份控制器对所述元数据内容生成元全量备份记录,并存储在备份记录存储器中。
4.根据权利要求1或2或3所述的方法,其特征在于,还包括:
对所述元数据节点记录的数据迁移操作生成数据迁移操作记录。
5.根据权利要求4所述的方法,其特征在于,在所述元数据节点中部署有操作日志收集器;
所述对所述元数据节点记录的数据迁移操作生成数据迁移操作记录的步骤包括:
操作日志收集器收集所述元数据节点上的操作日志;
操作日志收集器对所述操作日志中的数据操作信息进行检测,以识别数据迁移操作,并生成数据迁移记录、存储在迁移记录存储器中;
操作日志收集器记录最近一条检测完成的数据操作信息的检测时间戳,并存储在到迁移记录存储器中。
6.一种分布式数据库的恢复方法,其特征在于,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述方法包括:
获取恢复时间戳,所述恢复时间戳指用户恢复操作指定要恢复的时间点;
查询所述分布式数据库的数据迁移操作记录;
判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则对所述子数据节点和所述元数据节点进行数据恢复操作。
7.根据权利要求6所述的方法,其特征在于,所述分布式数据库中部署有备份控制器;
所述判断在所述恢复时间戳是否在所述数据迁移操作记录的时间内的步骤包括:
备份控制器从迁移记录存储器中读取操作日志收集器最近一条检测完成的数据操作信息的检测时间戳;
备份控制器判断所述恢复时间戳是否小于或等于所述检测时间戳;若是,则在迁移记录存储器中查询所述恢复时间戳是否具有对应的数据迁移记录;
当不具有对应的数据迁移记录时,判定所述恢复时间戳不在所述数据迁移操作记录的时间内。
8.根据权利要求6或7所述的方法,其特征在于,所述对所述子数据节点和所述元数据节点进行数据恢复操作的步骤包括:
查找在所述恢复时间戳之前备份的子全量备份文件;
查找在所述恢复时间戳之前备份的元全量备份文件;
查找在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份的子增量备份文件;
查找在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份的元增量备份文件;
在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作;
在所述元数据节点中,在所述元全量备份文件的基础上采用所述元增量备份文件进行数据恢复操作。
9.根据权利要求8所述的方法,其特征在于,
所述查找在所述恢复时间戳之前备份的子全量备份文件的步骤包括:
备份控制器在备份记录存储器中查询子全量备份记录的子全量备份时间戳;
备份控制器判断所述子全量备份时间戳是否小于或等于所述恢复时间戳;若是,则判定所述子全量备份记录对应的子数据内容在所述恢复时间戳之前备份;
所述查找在所述恢复时间戳之前备份的元全量备份文件的步骤包括:
备份控制器在备份记录存储器中查询元全量备份记录的元全量备份时间戳;
备份控制器判断所述元全量备份时间戳是否小于或等于所述恢复时间戳;若是,则判定所述元全量备份记录对应的元数据内容在所述恢复时间戳之前备份。
10.根据权利要求9所述的方法,其特征在于,
所述查找在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份的子增量备份文件的步骤包括:
备份控制器在备份记录存储器中查询子增量备份记录的子增量备份时间戳;
备份控制器在确定所述子增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述子全量备份时间戳时,判定所述子增量备份记录对应的子数据修改记录,在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份;
所述查找在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份的元增量备份文件的步骤包括:
备份控制器在备份记录存储器中查询元增量备份记录的元增量备份时间戳;
备份控制器在确定所述元增量备份时间戳小于或等于所述恢复时间戳、且大于或等于所述元全量备份时间戳时,判定所述元增量备份记录对应的元数据修改记录,在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份。
11.根据权利要求10所述的方法,其特征在于,
所述查找在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份的子增量备份文件的步骤还包括:
备份控制器在确定缺少子数据修改记录时,对缺少的子数据修改记录生成子增量备份文件标识;
所述查找在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份的元增量备份文件的步骤还包括:
备份控制器在确定缺少元数据修改记录时,对缺少的元数据修改记录生成元增量备份文件标识。
12.根据权利要求9或10或11所述的方法,其特征在于,所述子数据节点中部署有子备份代理,所述元数据节点中部署有元备份代理;
所述在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作的步骤包括:
备份控制器在备份记录存储器中查询在子全量备份记录中记录的、所述子数据内容在全量存储器中的子数据内容地址,以及,在子增量备份记录中记录的、所述子数据修改记录在增量存储器中的子数据修改记录地址;
备份控制器将所述子数据内容地址和所述子数据修改记录发送至位于所述子数据节点的子备份代理;
子备份代理按照所述子数据内容地址和所述子数据分别从全量存储器和增量存储器中读取所述子数据内容和所述子数据修改记录;
子备份代理在所述子数据内容的基础上,采用所述子数据修改记录进行恢复操作;
所述在所述元数据节点中,在所述元全量备份文件的基础上采用所述元增量备份文件进行数据恢复操作的步骤包括:
备份控制器在备份记录存储器中查询在元全量备份记录中记录的、所述元数据内容在全量存储器中的元数据内容地址,以及,在元增量备份记录中记录的、所述元数据修改记录在增量存储器中的元数据修改记录地址;
备份控制器将所述元数据内容地址和所述元数据修改记录地址发送至位于所述元数据节点中的元备份代理;
元备份代理按照所述元数据内容地址和所述元数据修改记录地址分别从全量存储器和增量存储器中读取所述元数据内容和所述元数据修改记录;
元备份代理在所述元数据内容的基础上,采用所述元数据修改记录进行恢复操作。
13.根据权利要求12所述的方法,其特征在于,所述在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作的步骤还包括:
备份控制器将所述子增量备份文件标识发送至子备份代理;
子备份代理按照所述子增量备份文件标识从子数据节点中抓取缺少的子数据修改记录;
所述在所述元数据节点中,在所述元全量备份文件的基础上采用所述元增量备份文件进行数据恢复操作的步骤还包括:
备份控制器将所述元增量备份文件标识发送至元备份代理;
元备份代理按照所述元增量备份文件标识从元数据节点中抓取缺少的元数据修改记录。
14.一种分布式数据库的备份装置,其特征在于,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述装置包括:
子节点增量备份模块,用于实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
元节点增量备份模块,用于实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
子节点全量备份模块,用于在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
元节点全量备份模块,用于在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件;
其中,所述装置还包括:
恢复时间戳获取模块,用于获取恢复时间戳,所述恢复时间戳指用户恢复操作指定要恢复的时间点;
数据迁移操作记录查询模块,用于查询所述分布式数据库的数据迁移操作记录;
数据迁移操作判断模块,用于判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则调用数据恢复模块;
数据恢复模块,用于对所述子数据节点和所述元数据节点进行数据恢复操作。
15.根据权利要求14所述的装置,其特征在于,还包括:
数据迁移操作识别模块,用于对所述元数据节点记录的数据迁移操作生成数据迁移操作记录。
16.根据权利要求15所述的装置,其特征在于,在所述元数据节点中部署有操作日志收集器;
所述数据迁移操作识别模块包括:
操作日志收集子模块,用于操作日志收集器收集所述元数据节点上的操作日志;
数据操作信息检测子模块,用于操作日志收集器对所述操作日志中的数据操作信息进行检测,以识别数据迁移操作,并生成数据迁移记录、存储在迁移记录存储器中;
检测时间戳存储子模块,用于操作日志收集器记录最近一条检测完成的数据操作信息的检测时间戳,并存储在到迁移记录存储器中。
17.一种分布式数据库的恢复装置,其特征在于,分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述装置包括:
恢复时间戳获取模块,用于获取恢复时间戳,所述恢复时间戳指用户恢复操作指定要恢复的时间点;
数据迁移操作记录查询模块,用于查询所述分布式数据库的数据迁移操作记录;
数据迁移操作判断模块,用于判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则调用数据恢复模块;
数据恢复模块,用于对所述子数据节点和所述元数据节点进行数据恢复操作。
18.根据权利要求17所述的装置,其特征在于,所述分布式数据库中部署有备份控制器;所述数据迁移操作判断模块包括:
检测时间戳读取子模块,用于备份控制器从迁移记录存储器中读取操作日志收集器最近一条检测完成的数据操作信息的检测时间戳;
检测时间戳判断子模块,用于备份控制器判断所述恢复时间戳是否小于或等于所述检测时间戳;若是,则调用数据迁移记录查询子模块;
数据迁移记录查询子模块,用于在迁移记录存储器中查询所述恢复时间戳是否具有对应的数据迁移记录;若否,则调用未发生判定子模块;
未发生判定子模块,用于判定所述恢复时间戳不在所述数据迁移操作记录的时间内。
19.根据权利要求17或18所述的装置,其特征在于,所述数据恢复模块包括:
子全量备份文件查找子模块,用于查找在所述恢复时间戳之前备份的子全量备份文件;
元全量备份文件查找子模块,用于查找在所述恢复时间戳之前备份的元全量备份文件;
子增量备份文件查找子模块,用于查找在所述恢复时间戳之前、且在备份所述子全量备份文件之后备份的子增量备份文件;
元增量备份文件查找子模块,用于查找在所述恢复时间戳之前、且在备份所述元全量备份文件之后备份的元增量备份文件;
子数据节点中恢复子模块,用于在所述子数据节点中,在所述子全量备份文件的基础上采用所述子增量备份文件进行数据恢复操作;
元数据节点中恢复子模块,用于在所述元数据节点中,在所述元全量备份文件的基础上采用所述元增量备份文件进行数据恢复操作。
20.一种服务器,其特征在于,所述服务器部署有分布式数据库,所述分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述服务器包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能:
实时采用所述子数据节点中被修改的数据进行增量备份,生成子增量备份文件;
实时采用所述元数据节点中被修改的数据进行增量备份,生成元增量备份文件;
在指定的第一时间点采用所述子数据节点的数据进行全量备份,生成子全量备份文件;
在指定的第二时间点采用所述元数据节点的数据进行全量备份,生成元全量备份文件;
其中,所述一个或多个模块还具有如下功能:
接收数据恢复请求,所述数据恢复请求中具有恢复时间戳,所述恢复时间戳指用户恢复操作指定要恢复的时间点;
查询所述分布式数据库的数据迁移操作记录;
判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则对所述子数据节点和所述元数据节点进行数据恢复操作。
21.一种服务器,其特征在于,所述服务器部署有分布式数据库,所述分布式数据库包括用于存储用户数据的子数据节点、用于存储***数据的元数据节点,所述服务器包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能:
接收数据恢复请求,所述数据恢复请求中具有恢复时间戳,所述恢复时间戳指用户恢复操作指定要恢复的时间点;
查询所述分布式数据库的数据迁移操作记录;
判断所述恢复时间戳是否在所述数据迁移操作记录的时间内;若否,则对所述子数据节点和所述元数据节点进行数据恢复操作。
CN201611218259.9A 2016-12-26 2016-12-26 一种分布式数据库的备份、恢复方法、装置和服务器 Active CN108241555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611218259.9A CN108241555B (zh) 2016-12-26 2016-12-26 一种分布式数据库的备份、恢复方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611218259.9A CN108241555B (zh) 2016-12-26 2016-12-26 一种分布式数据库的备份、恢复方法、装置和服务器

Publications (2)

Publication Number Publication Date
CN108241555A CN108241555A (zh) 2018-07-03
CN108241555B true CN108241555B (zh) 2022-03-01

Family

ID=62701353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611218259.9A Active CN108241555B (zh) 2016-12-26 2016-12-26 一种分布式数据库的备份、恢复方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN108241555B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984183A (zh) * 2018-08-28 2018-12-11 郑州云海信息技术有限公司 一种软件跨地域构建方法、装置、设备及存储介质
CN109445989A (zh) * 2018-10-22 2019-03-08 郑州云海信息技术有限公司 一种文件***数据备份方法及装置
CN111488117B (zh) * 2019-01-29 2023-10-13 伊姆西Ip控股有限责任公司 用于管理元数据的方法、电子设备和计算机可读介质
CN111797062B (zh) * 2019-04-09 2023-10-27 华为云计算技术有限公司 数据处理方法、装置和分布式数据库***
CN110147353B (zh) * 2019-04-24 2022-04-26 深圳先进技术研究院 基于日志分析的MongoDB数据迁移监控方法及装置
CN110365771A (zh) * 2019-07-16 2019-10-22 深圳市网心科技有限公司 一种数据获取方法、装置、***和计算机可读存储介质
CN112306743B (zh) * 2019-07-26 2023-11-21 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及计算机存储介质
CN111078465A (zh) * 2019-11-08 2020-04-28 苏州浪潮智能科技有限公司 一种数据恢复方法、装置及计算机可读存储介质
CN111290882B (zh) * 2020-02-11 2024-02-09 北京小米松果电子有限公司 数据文件备份方法、数据文件备份装置及电子设备
CN111382011B (zh) 2020-02-28 2022-11-29 苏州浪潮智能科技有限公司 一种文件数据存取方法、装置和计算机可读存储介质
CN111382012B (zh) * 2020-03-03 2020-12-29 广州鼎甲计算机科技有限公司 MySQL云数据库的备份方法、装置、计算机设备和存储介质
CN111581013A (zh) * 2020-03-18 2020-08-25 宁波送变电建设有限公司永耀科技分公司 基于元数据和影子文件的***信息备份与重构方法
CN111488243B (zh) * 2020-03-19 2023-07-07 北京金山云网络技术有限公司 MongoDB数据库的备份、恢复方法、装置、电子设备及存储介质
CN111309528A (zh) * 2020-03-23 2020-06-19 重庆忽米网络科技有限公司 一种基于云计算及分布式存储的数据协同备份***及方法
CN111625401B (zh) * 2020-05-29 2023-03-21 浪潮电子信息产业股份有限公司 基于集群文件***的数据备份方法、装置及可读存储介质
CN113419896B (zh) * 2020-07-24 2023-12-22 阿里巴巴集团控股有限公司 数据恢复方法、装置、电子设备及计算机可读介质
CN112114999A (zh) * 2020-09-01 2020-12-22 阿里云计算有限公司 一种数据备份方法、数据恢复方法、装置及电子设备
CN111966650B (zh) * 2020-10-26 2021-01-12 北京海联捷讯科技股份有限公司 一种运维大数据共享数据表的处理方法、装置及存储介质
CN112685230B (zh) * 2021-01-05 2022-03-15 浪潮云信息技术股份公司 一种分布式数据库实现指定时间点备份还原的方法
CN113297173B (zh) * 2021-05-24 2023-10-31 阿里巴巴新加坡控股有限公司 分布式数据库集群管理方法及装置、电子设备
CN113434339B (zh) * 2021-06-29 2023-07-18 方心科技股份有限公司 一种智能计算中心基于组合循环备份的数据加密传输***与方法
CN114466027B (zh) * 2022-01-26 2023-08-04 苏州浪潮智能科技有限公司 一种云原生数据库服务提供方法、***、设备及介质
CN114816845B (zh) * 2022-04-06 2024-05-10 在线途游(北京)科技有限公司 一种基于MongoDB的快速数据回滚方法及装置
CN114721881B (zh) * 2022-06-09 2022-11-04 苏州浪潮智能科技有限公司 一种数据库管理方法、***、电子设备及存储介质
CN115202929B (zh) * 2022-06-22 2023-04-07 广州鼎甲计算机科技有限公司 数据库集群备份***
CN115617580B (zh) * 2022-12-15 2023-03-28 杭州欧若数网科技有限公司 基于共享sst文件的增量备份、恢复方法和***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739313A (zh) * 2009-11-27 2010-06-16 华中科技大学 一种连续数据保护和恢复方法
CN102662793A (zh) * 2012-03-07 2012-09-12 江苏引跑网络科技有限公司 一种可保证数据一致性的分布式数据库热备份与恢复方法
CN103345435A (zh) * 2013-06-28 2013-10-09 环境保护部华南环境科学研究所 数据备份、恢复的方法以及用于备份的目的服务器***
CN103699548A (zh) * 2012-09-27 2014-04-02 阿里巴巴集团控股有限公司 一种通过使用日志恢复数据库数据的方法及设备
CN104850598A (zh) * 2015-04-28 2015-08-19 江苏瑞中数据股份有限公司 一种实时数据库备份恢复方法
CN105320576A (zh) * 2014-05-30 2016-02-10 中国电信股份有限公司 数据库备份装置与方法
CN105446828A (zh) * 2014-09-30 2016-03-30 北京金山云网络技术有限公司 一种数据库备份、恢复方法、装置及***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090917B2 (en) * 2008-05-09 2012-01-03 International Business Machines Corporation Managing storage and migration of backup data
US8930320B2 (en) * 2011-09-30 2015-01-06 Accenture Global Services Limited Distributed computing backup and recovery system
GB2509930A (en) * 2013-01-17 2014-07-23 Ibm Data backup recovery
US9672120B2 (en) * 2014-06-28 2017-06-06 Vmware, Inc. Maintaining consistency using reverse replication during live migration
CN104202387B (zh) * 2014-08-27 2017-11-24 华为技术有限公司 一种元数据恢复方法及相关装置
JP5975473B2 (ja) * 2014-08-29 2016-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation バックアップ方法、リストア方法、ストレージ・システムおよびプログラム
CN105718355B (zh) * 2016-01-21 2018-02-16 中国人民解放军国防科学技术大学 基于在线学习的超级计算机结点故障主动容错方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739313A (zh) * 2009-11-27 2010-06-16 华中科技大学 一种连续数据保护和恢复方法
CN102662793A (zh) * 2012-03-07 2012-09-12 江苏引跑网络科技有限公司 一种可保证数据一致性的分布式数据库热备份与恢复方法
CN103699548A (zh) * 2012-09-27 2014-04-02 阿里巴巴集团控股有限公司 一种通过使用日志恢复数据库数据的方法及设备
CN103345435A (zh) * 2013-06-28 2013-10-09 环境保护部华南环境科学研究所 数据备份、恢复的方法以及用于备份的目的服务器***
CN105320576A (zh) * 2014-05-30 2016-02-10 中国电信股份有限公司 数据库备份装置与方法
CN105446828A (zh) * 2014-09-30 2016-03-30 北京金山云网络技术有限公司 一种数据库备份、恢复方法、装置及***
CN104850598A (zh) * 2015-04-28 2015-08-19 江苏瑞中数据股份有限公司 一种实时数据库备份恢复方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IT***备份及容灾技术研究;孙恒超等;《电信快报》;20130110(第01期);32-39 *

Also Published As

Publication number Publication date
CN108241555A (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
CN108241555B (zh) 一种分布式数据库的备份、恢复方法、装置和服务器
AU2018324425B2 (en) Restoring a database using a fully hydrated backup
US11520670B2 (en) Method and apparatus for restoring data from snapshots
CN108376109B (zh) 将来源阵列的卷复制到目标阵列的设备和方法、存储介质
US20240160360A1 (en) Data management system
WO2019154394A1 (zh) 分布式数据库集群***、数据同步方法及存储介质
CN106407356B (zh) 一种数据备份方法及装置
CN107256182B (zh) 一种数据库还原的方法及设备
US8839031B2 (en) Data consistency between virtual machines
CN111078667B (zh) 一种数据迁移的方法以及相关装置
EP3796174B1 (en) Restoring a database using a fully hydrated backup
CN106899654B (zh) 一种序列值生成方法、装置及***
KR20150070134A (ko) 가상 데이터베이스를 생성하기 위한 소스 데이터베이스의 지정 시간 복사의 검색
US9830228B1 (en) Intelligent backup model for snapshots
US11748215B2 (en) Log management method, server, and database system
WO2018068639A1 (zh) 数据恢复方法、装置和存储介质
CN102708166B (zh) 数据复制方法、数据恢复方法及装置
CN109471901B (zh) 一种数据同步方法及装置
CN107402841B (zh) 大规模分布式文件***数据修复方法及设备
US20210397599A1 (en) Techniques for generating a consistent view of an eventually consistent database
WO2017067397A1 (zh) 一种数据恢复方法和装置
CN115658391A (zh) 基于QianBase MPP数据库的WAL机制的备份恢复方法
CN114756408A (zh) 元数据备份恢复方法、装置、电子设备及存储介质
CN111522688B (zh) 分布式***的数据备份方法及装置
CN111400098A (zh) 一种副本管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant