CN113254267B - 分布式数据库的数据备份方法和装置 - Google Patents

分布式数据库的数据备份方法和装置 Download PDF

Info

Publication number
CN113254267B
CN113254267B CN202110552777.9A CN202110552777A CN113254267B CN 113254267 B CN113254267 B CN 113254267B CN 202110552777 A CN202110552777 A CN 202110552777A CN 113254267 B CN113254267 B CN 113254267B
Authority
CN
China
Prior art keywords
data
backup
distributed
distributed database
database
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
CN202110552777.9A
Other languages
English (en)
Other versions
CN113254267A (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.)
Shanghai Anfei Information Technology Co ltd
Original Assignee
Shanghai Anfei Information Technology Co 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 Shanghai Anfei Information Technology Co ltd filed Critical Shanghai Anfei Information Technology Co ltd
Priority to CN202110552777.9A priority Critical patent/CN113254267B/zh
Publication of CN113254267A publication Critical patent/CN113254267A/zh
Application granted granted Critical
Publication of CN113254267B publication Critical patent/CN113254267B/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/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了分布式数据库的数据备份方法和装置。具体实现方案为:通过分布式服务中间件获取分布式数据库的配置信息;依据所述配置信息,调用数据库备份工具进行所述分布式数据库的数据备份。更进一步地,在首次进行数据备份时进行全量数据备份,后续进行增量数据备份和全量数据合成,并对生成的全量数据生成副本快照。通过本申请能够依据该配置信息实现高效、准确的数据备份。

Description

分布式数据库的数据备份方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式数据库的数据备份方法和装置。
背景技术
近年来随着互联网和移动网络的不断发展,企业级数据库的规模和访问并发数急剧增长,分布式数据库得到快速广泛应用。分布式数据库通过分片技术和分库分表的存储方式轻松解决大数据量单表容量达到单机数据库存储上线的瓶颈。分布式数据库是多个互连的数据库,它们通常位于多个服务器端,彼此通信以实现共同目标。
随着越来越多的用户使用分布式数据库来提高生产业务的效率,针对分布式数据库的保护也提上日程。然而,针对分布式数据库的传统数据备份技术已经难以适应现在的需求,数据库备份技术正在朝着高可用、集中化、智能化等新方向发展。在大规模互联网应用场景下,如何高效、准确地进行数据备份成为一个重要的课题。
发明内容
有鉴于此,本申请提供了一种分布式数据库的数据备份方法和装置,以便于高效、合理、准确地进行数据备份。
根据本申请的第一方面,提供了一种分布式数据库的数据备份方法,包括:
通过分布式服务中间件获取分布式数据库的配置信息;
依据所述配置信息,调用数据库备份工具进行所述分布式数据库的数据备份。
根据本申请的第二方面,提供了一种分布式数据库的数据备份装置,包括:
配置获取单元,用于通过分布式服务中间件获取分布式数据库的配置信息;
备份处理单元,用于依据所述配置信息,调用数据库备份工具进行所述分布式数据库的数据备份。
根据本申请的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的方法。
由以上技术方案可以看出,本申请中在进行数据备份之前,首先通过分布式服务中间件获取分布式数据库的配置信息,从而能够依据该配置信息实现高效、准确的数据备份。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例所基于的系统架构示意图;
图2为本申请实施例提供的方法流程图;
图3为本申请实施例提供的数据备份的结构性示意图;
图4为本申请实施例提供的一个数据备份的实例图;
图5为本申请实施例提供的一个数据恢复的实例图;
图6为本申请实施例提供的分布式数据库的数据备份装置的示意图;
图7是用来实现本申请实施例的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
为了方便对本申请的理解,首先对公开所基于的系统架构进行详细描述。图1为本申请实施例所基于的系统架构示意图,如图1中所示,该系统可以包括分布式数据库、数据备份装置和文件系统。
分布式数据库在逻辑上是一个统一的整体,在物理上则是分别存储在不同的物理节点上,该节点可以是服务器,也可以是计算机终端,也可以是其他具有存储功能的设备。用户通过网络的连接可以访问分布在不同地理位置的数据库。其中,节点又可以分为主节点和从节点。一个主节点可以对应于一个以上的从节点。
数据备份装置用以执行本申请所提供的分布式数据库的数据备份处理,即获取分布式数据库的数据并另外存储至文件系统,用以在一些特殊情况下进行数据恢复。该数据恢复可以是将分布式数据库中已有节点的数据进行回滚,也可以是利用文件系统中的数据在目标设备上进行恢复。其中目标设备可以是备用节点,也可以是其他第三方设备。
数据备份装置可以设置于诸如DBMS(Distributed Database System,分布式数据库管理系统)等管理系统中,例如作为管理系统的插件或软件开发工具包(SoftwareDevelopment Kit,SDK);也可以独立于管理系统单独设置。
上述文件系统可以由单独的设备承载,也可以由设备集群承载。用以存储从分布式数据库中备份来的数据。
图2为本申请实施例提供的方法流程图,该方法的执行主体可以为数据备份装置,该装置可以位于服务器端的应用,或者还可以为位于服务器端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,也可以位于计算机终端,本申请对此不加以限制。如图2中所示,该方法包括以下步骤:
步骤201:通过分布式服务中间件获取分布式数据库的配置信息。
步骤202:依据配置信息,调用数据库备份工具进行分布式数据库的数据备份。
本申请中涉及的分布式数据库可以是诸如基于Mysql作为存储节点的数据库等。
数据库的备份技术主要分为逻辑备份和物理备份两种。逻辑备份不适用于整体数据库,因此,数据库的保护往往采用物理备份。然而,由于分布式数据库是一个集群,包含多个数据库,一个数据库也可能分布在多个存储节点上。传统的备份方式在备份之前,需要人工判断数据库具体分布在哪些节点上,然后再调用备份工具进行备份。但这种方式人工成本较高、效率和准确性也较低。
针对于此,本申请中在进行数据备份之前,首先通过分布式服务中间件获取分布式数据库的配置信息。其中配置信息可以包括诸如分布式数据库的分片信息、数据位置信息或主从节点结构信息。从而能够依据该配置信息有针对性的实现高效、准确的数据备份。
其中,上述分布式服务中间件可以采用诸如Mycat或ZooKeeper等。数据库备份工具可以采用诸如xtrabackup等。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。MyCat是目前流行的基于Java语言编写的数据库中间件,是一个实现了MySql协议的服务器,其核心功能是分库分表。
数据备份装置通过调用Mycat或ZooKeeper的API获取分布式数据库的配置信息。
对于分布式数据库而言,Mycat或ZooKeeper本身也是分布式的,分布于不同的节点上,因此,需要从所有节点上获取配置信息并进行汇总。各节点上的Mycat或ZooKeeper获取的配置信息可能会存在依赖关系,因此,数据备份装置从各Mycat或ZooKeeper节点获取配置信息后,会进行信息类型的识别、依赖关系的分析等,从而得到分布式数据库的配置信息。
其中,从Mycat或ZooKeeper获取的配置信息可以是键值对的形式。另外,还可能涉及到因格式问题而产生的编解码或转码处理,例如转成通用的JSON格式。这些在本申请实施例中不做详述。
获取的配置信息可以包括:分布式数据库的分片信息、数据位置信息和主从节点的结构信息中的至少一种。依据该配置信息能够确定出待备份数据所在的分片、节点和位置信息等。然后调用诸如xtrabackup等数据库备份工具从待备份数据所在的分片、节点和位置进行数据备份,如图3中所示。
举个例子,假设分布式数据库中新增了一个节点,那么通过每次数据备份前调用Mycat或ZooKeeper的API获取分布式数据库的配置信息就能够及时获取到上述新增的节点,从而调整待备份数据的节点。这种自动发现的方式提高了数据备份节点的可用性。
在本申请中,可以周期性地通过分布式服务中间件获取分布式数据库的配置信息。但作为一种优选的实施方式,可以在每次进行数据备份任务之前均通过分布式服务中间件获取分布式数据库的配置信息,然后有针对性地、准确地进行数据备份,也无需耗费人力,节约了人力成本。另外,分布式数据库时常会发生服务器损坏的情况,为了实现高可用性,通常一个主节点会有一个以上的从管理节点,本申请这种先获取配置信息再备份的方式,也能够及时发现有效的节点信息,从而无需人工干预就能够实现切换后节点的继续备份。
xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的数据备份工具,目前已被广泛应用于单节点数据库的物理备份。由于分布式数据库一般管理节点的数量在几十个甚至几百个,整体数据量非常大,可以达到几十个TB以上。目前Xtrabackup只能采用定期全量加增量的备份模式。例如,每星期一进行一次全量备份,其余每天进行增量备份。这种备份方式由于需要定期进行全量备份,对整体资源的消耗很大,耗时也很长。
有鉴于此,本申请提供一种优选的实施方式,只有在首次进行数据备份时进行全量备份,而在后续数据备份时均进行增量备份。每一次增量备份都与存储的副本进行全量数据的合成并生成快照。
具体地,若本次数据备份为首次备份,则获取分布式数据库的全量数据,将获取的全量数据存储为副本,并生成副本快照。
若本次数据备份为非首次备份,则获取本次数据备份相比较上一次数据备份的增量数据,利用获取的增量数据和存储的副本进行全量数据的合成,利用合成的全量数据更新存储的副本,并生成更新后的副本快照。
举一个例子,如图4中所示。对于第一次数据备份,获取分布式数据库的全量数据,标识为全量数据1,将获取的全量数据存储为副本,并生成副本快照1。
对于第二次数据备份,获取分布式数据库的增量数据2,利用该增量数据与当前副本进行全量数据的合成,然后将得到的全量数据2存储为副本,并生成副本快照2,该副本快照2是全量数据2的快照。
对于第三次数据备份,获取分布式数据库的增量数据3,利用该增量数据与当前副本进行全量数据的合成,然后将得到的全量数据3存储为副本,并生成副本快照3,该副本快照3是全量数据3的快照。
后续数据备份均为增量数据备份,与第二次数据备份和第三次数据备份的处理类似,依次类推。
这种数据备份方式仅需要在首次数据备份时进行全量备份,后续都通过增量备份的方式从分布式数据库获取备份数据,这种备份方式相比较传统的定时全量+增量的备份方式,使得备份效率得到了大大提高,经实验得到备份效率提升了约60%。
在使用备份数据时,例如需要在某个目标设备上恢复某个时间点的数据,则首先确定待恢复的时间点,然后将该时间点的副本快照挂载(mount)至目标设备,以便目标设备根据该副本快照进行数据恢复。其中上述目标设备可以是生产服务器即分布式数据库中的服务器,也可以是测试服务器、恢复服务器等分布式数据库之外的服务器。
仍以图4中为例,假设要恢复的时间点对应的副本快照为副本快照m,则将副本快照m挂载至目标设备上,目标设备就能够根据副本快照m恢复时间点m的数据。
Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录下的某个目录实现,这种关联操作就是挂载。这里实际上就是将副本快照关联到目标设备的根目录下的目录中,目标设备依据该目录关联的副本快照恢复数据。具体可以通过NFS(NetworkFile System,网络文件系统)或ISCSI(Internet Small Computer System Interface,小型计算机系统接口)等虚拟数据技术将副本快照挂载至目标设备。由于上述数据恢复是一个快照的挂载过程,因此非常高效,能够在几分钟之内完成挂载,从而实现数据的快速恢复。经实验证明,这种数据恢复方式相比较传统方式效率提升了90%以上。
除了上述数据恢复方式之外,数据备份装置还可以获取分布式数据库的日志文件,利用日志文件对目标设备进行数据恢复。例如mysql数据库的binlog文件。binlog文件是一种二进制日志文件,用于记录mysql数据库的数据更新或者潜在的更新(例如Delete语句执行删除而实际并没有符合条件的数据),在mysql数据库中主从节点的复制就是依靠binlog。在本申请中可以根据binlog的时间记载的更新来对目标设备进行数据恢复。
相比较挂载副本快照的方式而言,利用日志文件对目标设备进行数据恢复的效率较低,速度慢,但具有可以恢复至任意时间点的优势。因此,还存在另外一种优选的实施方式,即结合挂载副本快照和日志文件的方式来实现。
具体地,在确定待恢复的时间点后,判断是否存在该时间点的副本快照,如果是,则将该时间点的副本快照挂载至目标设备。
否则,确定在该时间点之前且距离该时间点最近的副本快照,将该副本快照挂载至目标设备,以对目标设备进行数据恢复;再利用获取的分布式数据库的日志文件,将目标设备的数据恢复至所述待待恢复的时间点。
为了方便理解,对该优选实施方式举一个例子。由于副本快照通常是周期性生成的,例如每天晚上24点进行备份后生成副本快照。但日志文件是只要有数据更新就会记录的,并且打上数据更新的时间信息。假如说,现在是周六,目标设备想要恢复到本周周三中午12点的数据,那么用副本快照是没法准确恢复的。但如果用日志文件直接恢复,则效率很低,耗时很长。因此,如图5中所示,可以先利用周二晚上24点的副本快照对目标设备进行数据恢复,使得数据恢复到周二晚上24点的状态。然后基于周二晚上24点的状态再利用日志文件回滚到周三中午12点。这样就均衡采用了两种数据恢复方式的优点,既尽可能高效又尽可能准确。
下面列举几种数据恢复的场景:
场景一、
上述目标设备可以是分布式数据库中的服务器。由于各种各样的原因,可能会造成分布式数据库中的服务器发生损坏,造成数据无法使用。这种场景下,就可以利用上述数据恢复的方式,对服务器进行数据恢复。
场景二、
上述目标设备可以是分布式数据库之外的其他服务器。在一些情况下,分布式数据库中的服务器本身是正常的,但数据发生了损坏或丢失。这种情况下,可以首先利用上述数据恢复的方式对其他服务器进行数据恢复,然后利用该其他服务器对分布式数据库中发生数据损坏的服务器进行数据修补。
场景三、
上述目标设备可以是测试服务器。在一些情况下,测试人员需要对非分布式数据库进行测试或调优时。但为了避免对真实分布式数据库产生影响,可以在测试服务器上进行数据恢复,使其模拟真实的分布式数据库进行测试或调优。
以上是对本申请所提供方法进行的详细描述,下面结合实施例对本申请提供的装置进行详细描述。
图6为本申请实施例提供的分布式数据库的数据备份装置,如图6中所示,该装置600可以包括:配置获取单元601和备份处理单元602,还可以包括日志获取单元603和恢复处理单元604。其中各组成单元的主要功能如下:
配置获取单元601,用于通过分布式服务中间件获取分布式数据库的配置信息。
备份处理单元602,用于依据配置信息,调用数据库备份工具进行分布式数据库的数据备份。
其中,上述分布式服务中间件可以包括诸如Mycat或ZooKeeper。数据库备份工具可以包括诸如xtrabackup。
具体地,配置信息包括:分布式数据库的分片信息、数据位置信息和主从节点的结构信息中的至少一种。
相应地,备份处理单元602依据配置信息,确定待备份数据所在的分片、节点和位置信息;调用数据库备份工具从待备份数据所在的分片、节点和位置进行数据备份。
备份处理单元602在执行数据备份时,具体用于:
若本次数据备份为首次备份,则获取分布式数据库的全量数据,将获取的全量数据存储为副本,并生成副本快照。
若本次数据备份为非首次备份,则获取本次数据备份相比较上一次数据备份的增量数据,利用获取的增量数据和存储的副本进行全量数据的合成,利用合成的全量数据更新存储的副本,并生成更新后的副本快照。
在进行数据恢复时,可以采用但不限于以下几种方式:
第一种方式:基于日志文件的数据恢复。
日志获取单元603,用于获取分布式数据库的日志文件,日志文件记录有分布式数据库的数据更新信息。
恢复处理单元604,用于依据日志文件对目标设备进行数据恢复。
第二种方式:基于副本快照的数据恢复。
恢复处理单元604,用于确定待恢复的时间点;将时间点的副本快照挂载至目标设备,以对目标设备进行数据恢复。
第三种方式:结合日志文件和副本快照的数据恢复。
日志获取单元603,用于获取分布式数据库的日志文件,日志文件记录有分布式数据库的数据更新信息。
恢复处理单元604在将时间点的副本快照挂载至目标设备之前,进一步执行:
判断是否存在时间点的副本快照,如果是,则继续执行将时间点的副本快照挂载至目标设备;
否则,确定在时间点之前且距离时间点最近的副本快照,将该副本快照挂载至目标设备,以对目标设备进行数据恢复;再利用日志文件,将目标设备的数据恢复至待待恢复的时间点。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图7所示,是根据本申请实施例的分布式数据库的数据备份方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如分布式数据库的数据备份方法。例如,在一些实施例中,分布式数据库的数据备份方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。
在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的分布式数据库的数据备份方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行分布式数据库的数据备份方法。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控30制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Ⅵirtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (16)

1.一种分布式数据库的数据备份方法,包括:
通过分布式服务中间件获取分布式数据库的配置信息;其中,所述分布式数据库分别存储在不同的节点上,所述分布式服务中间件分布式的分布于所述不同的节点上,以便通过所述不同节点上的分布式服务中间件获取配置信息汇总得到所述分布式数据库的配置信息;
依据所述配置信息,调用数据库备份工具进行所述分布式数据库的数据备份;
其中,依据所述配置信息,调用数据库备份工具进行所述分布式数据库的数据备份包括:
依据所述配置信息,确定待备份数据所在的分片、节点和位置信息;
调用所述数据库备份工具从所述待备份数据所在的分片、节点和位置进行数据备份。
2.根据权利要求1所述的方法,其中,所述分布式服务中间件包括:Mycat或ZooKeeper;
所述数据库备份工具包括xtrabackup。
3.根据权利要求1所述的方法,其中,所述配置信息包括:所述分布式数据库的分片信息、数据位置信息和主从节点的结构信息中的至少一种。
4.根据权利要求1所述的方法,还包括:
获取所述分布式数据库的日志文件,所述日志文件记录有所述分布式数据库的数据更新信息;
依据所述日志文件对目标设备进行数据恢复。
5.根据权利要求1所述的方法,其中,所述数据备份包括:
若本次数据备份为首次备份,则获取所述分布式数据库的全量数据,将获取的全量数据存储为副本,并生成副本快照;
若本次数据备份为非首次备份,则获取本次数据备份相比较上一次数据备份的增量数据,利用获取的增量数据和存储的副本进行全量数据的合成,利用合成的全量数据更新存储的所述副本,并生成更新后的副本快照。
6.根据权利要求5所述的方法,还包括:
确定待恢复的时间点;
将所述时间点的副本快照挂载至目标设备,以对所述目标设备进行数据恢复。
7.根据权利要求6所述的方法,其中,在将所述时间点的副本快照挂载至目标设备之前,还包括:
判断是否存在所述时间点的副本快照,如果是,则继续执行将所述时间点的副本快照挂载至目标设备;
否则,确定在所述时间点之前且距离所述时间点最近的副本快照,将该副本快照挂载至目标设备,以对所述目标设备进行数据恢复;再利用获取的所述分布式数据库的日志文件,将所述目标设备的数据恢复至所述待恢复的时间点,所述日志文件记录有所述分布式数据库的数据更新信息。
8.一种分布式数据库的数据备份装置,包括:
配置获取单元,用于通过分布式服务中间件获取分布式数据库的配置信息;其中,所述分布式服务中间件分布式的分布于不同的节点上,以便通过所述不同节点上的分布式服务中间件获取配置信息汇总得到所述分布式数据库的配置信息;
备份处理单元,用于依据所述配置信息,调用数据库备份工具进行所述分布式数据库的数据备份,具体用于依据所述配置信息,确定待备份数据所在的分片、节点和位置信息;调用所述数据库备份工具从所述待备份数据所在的分片、节点和位置进行数据备份。
9.根据权利要求8所述的装置,其中,所述分布式服务中间件包括:Mycat或ZooKeeper;
所述数据库备份工具包括xtrabackup。
10.根据权利要求8所述的装置,其中,所述配置信息包括:所述分布式数据库的分片信息、数据位置信息和主从节点的结构信息中的至少一种。
11.根据权利要求8所述的装置,还包括:
日志获取单元,用于获取所述分布式数据库的日志文件,所述日志文件记录有所述分布式数据库的数据更新信息;
恢复处理单元,用于依据所述日志文件对目标设备进行数据恢复。
12.根据权利要求8所述的装置,其中,所述备份处理单元在执行所述数据备份时,具体用于:
若本次数据备份为首次备份,则获取所述分布式数据库的全量数据,将获取的全量数据存储为副本,并生成副本快照;
若本次数据备份为非首次备份,则获取本次数据备份相比较上一次数据备份的增量数据,利用获取的增量数据和存储的副本进行全量数据的合成,利用合成的全量数据更新存储的所述副本,并生成更新后的副本快照。
13.根据权利要求12所述的装置,还包括:
恢复处理单元,用于确定待恢复的时间点;将所述时间点的副本快照挂载至目标设备,以对所述目标设备进行数据恢复。
14.根据权利要求13所述的装置,还包括:日志获取单元,用于获取所述分布式数据库的日志文件,所述日志文件记录有所述分布式数据库的数据更新信息;
所述恢复处理单元在将所述时间点的副本快照挂载至目标设备之前,进一步执行:
判断是否存在所述时间点的副本快照,如果是,则继续执行将所述时间点的副本快照挂载至目标设备;
否则,确定在所述时间点之前且距离所述时间点最近的副本快照,将该副本快照挂载至目标设备,以对所述目标设备进行数据恢复;再利用所述日志文件,将所述目标设备的数据恢复至所述待恢复的时间点。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
CN202110552777.9A 2021-05-20 2021-05-20 分布式数据库的数据备份方法和装置 Active CN113254267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110552777.9A CN113254267B (zh) 2021-05-20 2021-05-20 分布式数据库的数据备份方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110552777.9A CN113254267B (zh) 2021-05-20 2021-05-20 分布式数据库的数据备份方法和装置

Publications (2)

Publication Number Publication Date
CN113254267A CN113254267A (zh) 2021-08-13
CN113254267B true CN113254267B (zh) 2022-08-09

Family

ID=77183104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110552777.9A Active CN113254267B (zh) 2021-05-20 2021-05-20 分布式数据库的数据备份方法和装置

Country Status (1)

Country Link
CN (1) CN113254267B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036004B (zh) * 2021-11-26 2022-09-30 江苏安超云软件有限公司 数据备份方法、恢复方法及装置
CN115421968A (zh) * 2022-07-28 2022-12-02 超聚变数字技术有限公司 数据恢复方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221678A (zh) * 2018-11-27 2020-06-02 阿里巴巴集团控股有限公司 Hbase数据备份/恢复系统、方法、装置及电子设备
CN112306743A (zh) * 2019-07-26 2021-02-02 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及计算机存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467104B1 (en) * 2012-09-28 2019-11-05 EMC IP Holding Company LLC Method and system for distributed systems backup configuration wizard
CN111651302B (zh) * 2020-07-01 2023-11-21 中国银行股份有限公司 分布式数据库备份方法,装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221678A (zh) * 2018-11-27 2020-06-02 阿里巴巴集团控股有限公司 Hbase数据备份/恢复系统、方法、装置及电子设备
CN112306743A (zh) * 2019-07-26 2021-02-02 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及计算机存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
[灾备] 数据副本管理技术(CDM);运维少年;《微信公众号"运维少年"》;20210218;第2页 *
Mycat学习总结;追梦;《微信公众号"爱码人"》;20210429;正文 *
MySQL备份工具之Xtrabackup;SSgeek;《微信公众号"仙人技术"》;20210312;第1页 *

Also Published As

Publication number Publication date
CN113254267A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
US9727601B2 (en) Predicting validity of data replication prior to actual replication in a transaction processing system
CN113254267B (zh) 分布式数据库的数据备份方法和装置
CN115080307A (zh) 挂载恢复方法、装置、电子设备和可读存储介质
CN115934414A (zh) 数据备份方法、数据恢复方法、装置、设备及存储介质
CN113391767B (zh) 数据一致性的校验方法、装置、电子设备及可读存储介质
CN116701053B (zh) 生产环境数据库的数据备份恢复方法、装置、设备及介质
US20210240350A1 (en) Method, device, and computer program product for recovering based on reverse differential recovery
US11093348B2 (en) Method, device and computer program product for recovering metadata
CN113641693B (zh) 流式计算系统的数据处理方法及装置、电子设备和介质
CN115454971A (zh) 数据迁移方法、装置、电子设备及存储介质
CN112860376B (zh) 一种快照链的制作方法、装置、电子设备及存储介质
CN112235332B (zh) 一种集群的读写切换方法和装置
CN115640280A (zh) 数据迁移方法及装置
CN113836157A (zh) 获取数据库增量数据的方法和装置
CN108196979B (zh) 数据备份方法和装置
CN111694801A (zh) 一种应用于故障恢复的数据去重方法和装置
CN115586871B (zh) 面向云计算场景的数据追加写方法、装置、设备以及介质
US11782802B2 (en) Method, electronic device, and computer program product for data protection
US11442895B2 (en) Method for copying data, electronic device and computer program product
CN117370354A (zh) 元数据树的快照、查询方法、装置及电子设备
CN115168475A (zh) 一种数据库操作方法、装置、电子设备及存储介质
CN115617801A (zh) 基于分布式系统的数据检索方法、装置、设备及介质
CN115858104A (zh) 一种事务提交序号快照获取方法、装置、设备及存储介质
CN117539385A (zh) 存储集群的数据处理方法、装置、设备及存储介质
CN115421979A (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