CN111651302A - 分布式数据库备份方法,装置及系统 - Google Patents
分布式数据库备份方法,装置及系统 Download PDFInfo
- Publication number
- CN111651302A CN111651302A CN202010618794.3A CN202010618794A CN111651302A CN 111651302 A CN111651302 A CN 111651302A CN 202010618794 A CN202010618794 A CN 202010618794A CN 111651302 A CN111651302 A CN 111651302A
- Authority
- CN
- China
- Prior art keywords
- backup
- database
- node
- sub
- file
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000003860 storage Methods 0.000 claims abstract description 34
- 238000000638 solvent extraction Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 abstract description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 235000019580 granularity Nutrition 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
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)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式数据库备份方法,装置及系统,该系统包括:主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。本发明可使节点数据库同时进行备份操作,避免了备份任务需由批量应用节点串行处理的情况,可减少分布式数据库备份时长,与现有技术对比,不需设置批量应用节点串行执行备份任务,且通过共享存储可使数据库备份文件集中存储,有利于全数据库的备份恢复。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式数据库备份方法,装置及系统。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着企业级应用的数据量爆发式增长,传统联机事务处理系统的单节点集中式数据库,在性能上已无法满足,大数据量下联机事务处理和高并发用户访问的需求,因此现有技术逐步发展利用数据分片技术(一种把大数据量的表切分成多个部分放到不同数据库,缓解单一数据库性能问题的方法。垂直切分用于将关联度高的表切分到同一个数据库,水平切分用于将单表数据量的表按一定规则切分到多个数据库),把大数据量数据库切分成多个部分,并放到分布式数据库的不同节点,用以缓解单一数据库性能瓶颈,但分布式数据库物理上分散的多数据库节点的特征给全数据库备份带来一些挑战。如银行系统,在进行根据客户等级和所持有信用卡对应的权益的管理,和手机银行渠道的展示。该系统可采用基于x86架构的oracle关系型数据库(Oracle Database,又名Oracle RDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统),但传统的单节点Oracle数据库,仅能支持千万级单表数据量的联机事务性能,在使用时,针对部分客户相关的数据表数据量超过亿级的特点,对客户号相关的数据表进行分库分表设计,按照客户号段对数据量大的数据表作了水平切分,相当于一个大表被切分成多个数据库结构相同的小表,并存储在分布式数据库的各个节点数据库上。出于灾备和容错的考虑,需要在每日夜间批量对全库进行备份整个分布式数据库的操作,以便在故障或灾难发生时,通过备份文件,如DMP(DataManagement Platform,数据管理平台)文件,来恢复数据库,保证业务延续。
传统方案通过串行方式分别依次调起各个分库节点的数据备份命令,并接收数据库节点的处理结果返回,全部成功后则备份作业成功。如图1所示,图1为本发明实施例中提供的现有技术下分布式数据库备份方法的流程示意图,由于批量应用节点,需要以串行的方式,依次执行各数据库节点的备份操作,导致处理时间长;备份结果文件散落在各个数据库节点不利于全数据库的备份恢复。
发明内容
本发明实施例提供一种分布式数据库备份系统,用以减少分布式数据库备份时长,该系统包括:
主节点单元;多个子节点备份模块;与多个子节点备份模块对应的多个节点数据库;
主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;
每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
本发明实施例还提供一种分布式数据库备份方法,用以减少分布式数据库备份时长,该方法包括:
接收节点数据库备份命令;所述节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;
根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
本发明实施例还提供一种分布式数据库备份装置,用以减少分布式数据库备份时长,该装置包括:
接收模块,用于接收节点数据库备份命令;所述节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;
备份模块,用于根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式数据库备份方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式数据库备份方法的计算机程序。
本发明实施例中,设置主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;设置每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器,从而可使节点数据库同时进行备份操作,避免了备份任务需由批量应用节点串行处理的情况,可减少分布式数据库备份时长,与现有技术对比,不需设置批量应用节点串行执行备份任务,且通过共享存储可使数据库备份文件集中存储,有利于全数据库的备份恢复。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的现有技术下分布式数据库备份方法的流程示意图;
图2为本发明实施例中提供的一种分布式数据库备份系统的结构示意图;
图3为本发明实施例中提供的一种分布式数据库备份系统实例的示意图;
图4为本发明实施例中提供的一种分布式数据库备份系统实例的示意图;
图5为本发明实施例中提供的一种分布式数据库备份系统实例的结构示意图;
图6为本发明实施例中提供的一种分布式数据库备份系统实例的结构示意图;
图7为本发明实施例中提供的一种分布式数据库备份方法的流程示意图;
图8为本发明实施例中提供的一种分布式数据库备份装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例涉及下列名词,如下进行解释:
Oracle数据泵备份技术:Oracle数据库支持数据泵备份和恢复方式,由EXPDP和IMPDP的导入导出命令组合,由EXPDP导出单个数据库节点备份文件,支持丰富的配置方式备份,包括按用户,按表名,按表空间,按查询条件,以及全库备份,备份结果以DMP(DataManagement Platform,数据管理平台)文件形式存储,DMP文件可在跨节点和跨操作系统的数据库上恢复,
远程分区:通过将任务进行分区,不同的作业步处理不同的任务数据达到提高作业效率,分成两个阶段:1、数据分区(例如根据文件名称,数据唯一标识,或哈希算法)将数据进行合理的切片;2、分区处理,不同分区的数据被分配到不同的远程节点进行处理。
Redis:一个开源的键-值内存数据库,支持存储的值数据类型包括:string字符串、list链表、set集合、hash哈希。可以作为一个高性能的缓存、消息中间件。
本发明实施例提供了一种分布式数据库备份系统,用以减少分布式数据库备份时长,如图2所示,该系统包括:
主节点单元01;多个子节点备份模块02;与多个子节点备份模块对应的多个节点数据库03;
主节点单元01,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;
每一子节点备份模块02,用于根据对应的节点数据库备份命令,将对应节点数据库03需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
本发明实施例中,设置主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;设置每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器,从而可使节点数据库同时进行备份操作,避免了备份任务需由批量应用节点串行处理的情况,可减少分布式数据库备份时长,与现有技术对比,不需设置批量应用节点串行执行备份任务,且通过共享存储可使数据库备份文件集中存储,有利于全数据库的备份恢复。
具体实施时,设置主节点单元01,主节点单元01用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表。
实施例中,主节点单元还可用于根据预设置的数据库分库分表,节点数据库备份规则和分布式数据库的拓扑结构和分库分表规则,生成多个节点数据库备份命令;数据库分库分表可包括数据库分库分表规则。
在上述实施例中,主节点单元可生成多个节点数据库备份命令,进而以节点数据库备份命令使节点数据库同时进行备份,避免了备份任务需由批量应用节点串行处理的情况,可减少分布式数据库备份时长。
具体实施时,主节点单元,还可用于:根据划分的数据表,切割字段和数据表划分粒度,预设置数据库分库分表。
实施例中,预设置数据库分库分表,可按照水平切分表的分割规则进行配置。举一例,数据库分库分表可如表1所示,表1中可以包括标识分表名后缀所在分库编号。
表1
在上述实施例中,通过设置数据库分库分表,可以实现对数据表的分布式存储。
具体实施时,主节点单元,具体可以用于:根据预设置的数据库分库分表,确定分布式数据库的分库维度;根据分布式数据库的分库维度,生成多个节点数据库备份命令。节点数据库备份命令可以包括:节点数据库路径,数据库备份参数和备份文件路径;节点数据库路径可以包括:节点数据库IP地址和/或实例名;数据库备份参数可以包括数据库的分表标识和/或数据库分表并发数;备份文件路径可以包括备份文件存储路径和/或备份文件名称。
实施例中,根据预设置的数据库分库分表,确定分布式数据库的分库维度。
举一例,在表1的数据库分库分表下,可支持不同表按不同字段切分成不同粒度,可实现对数据库分库分表的灵活扩展,对于B表可以和A表切分粒度一样。如图3所示,将各分库分别切分成10张子表,子表的分布示意图如图3所示。而在另外一些场景中,可能B表比A表数据量更庞大,则可以切分得更细,例如B表每个分库切分成20张子表,如图4所示。分布式数据库的分库维度可以支持灵活的数据设计扩展和差异化切分规则。
在确定分布式数据库的分库维度后,根据分布式数据库的分库维度,生成多个节点数据库备份命令。例如,按分库维度获得各个节点数据库所需备份的表清单,从配置参数中获得备份的生成DMP文件名,文件路径,并发数等参数,组装成对应多个数据库节点的备份命令。
在上述实施例中,按照数据库的分库分表,可实现对分布式数据库备份命令的分发调度,以多节点数据库并行备份数据,提高了执行效率。
具体实施时,本发明实施例提供的分布式数据库备份系统,还可以包括:消息中间件单元,用于接收主节点单元发送的多个节点数据库备份命令,根据多个节点数据库备份命令生成备份命令队列;通过备份命令队列,将每一节点数据库备份命令发送至对应的子节点备份模块。
实施例中,消息中间件单元可以包括内存键-值数据库Redis,用于接收主节点单元发送的多个节点数据库备份命令。消息中间件单元可以以远程分区的方式,将每一节点数据库备份命令发送至对应的子节点备份模块。消息中间件单元可按照各节点数据库的IP地址和实例名,发送节点数据库备份命令到对应的节点数据库。
在上述实施例中,消息中间件单元可支持发布和订阅的消息模式,能够满足备份分布式数据库的高并发和高可用的要求。
具体实施时,每一子节点备份模块,可用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
实施例中,每一子节点备份模块可对应多个节点数据库;每一子节点备份模块,具体可用于:根据对应的节点数据库备份命令,确定需备份的节点数据库;根据确定的需备份的节点数据库和应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。举一实例,该实例中存在3个子节点备份模块及9个节点数据库,那么可同时并发运行的子节点备份模块是3个,每一子节点备份模块在同一时刻可对1个节点数据库进行备份,则可同时备份的节点数据库为3个,其他节点数据库的备份命令则处于等待状态。
实施例中,节点数据库的数量可根据子数据库节点数,以及备份时间要求动态设置。每一子节点备份模块,以Oracle数据泵备份技术,调起Oracle数据库的EXPDP备份命令,根据命令参数指定备份的表名,并发数,生成DMP文件名,生成路径,并将对应节点数据库需备份的数据分表进行备份操作。在生成备份文件后,将备份文件拷贝至共享存储服务器。
在上述实施例中,节点备份模块通过调起远端的节点数据库的数据泵备份命令,将单个节点数据库的数据备份到节点数据库本地进行存储。将备份文件自动归集共享存储,可便于统一得备带处理,同时有利于分布式数据库的整体迁移和全库恢复。
具体实施时,每一子节点备份模块,具体用于:监控备份命令队列;在备份命令队列有对应的待处理节点数据库备份命令时,接收该节点数据库备份命令;根据该节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件。
实施例中,每一子节点备份模块监听对应的消息中间件单元中对应的队列,当有新的节点数据库备份命令时,从消息中间件单元中对应的队列中取得节点数据库备份命令,并处理节点数据库备份命令。
具体实施时,主节点单元,还可用于:根据多个节点数据库备份命令,生成数据库备份记录文件;数据库备份记录文件用于对多个节点数据库的备份状态进行记录;备份状态包括待备份、备份成功或备份失败。
实施例中,生成的数据库备份记录文件中可对多个节点数据库的备份状态进行记录。
具体实施时,主节点单元,还可用于:在任一子节点备份模块生成备份文件后,将数据库备份记录文件中,对应该备份文件的节点数据库的备份状态进行更改。
实施例中,在一节点数据库将生成的备份文件成功拷贝到共享存储服务器后,更新数据库备份记录文件的归集状态为成功。举一例,备份记录文件可以包括主节点单元备份结果表,该主节点单元备份结果表中每一条记录对应一个数据库节点。
具体实施时,主节点单元,还可用于:轮询数据库备份记录文件中的每一节点数据库的备份状态;在备份状态为备份失败时,发送备份失败信号。
实施例中,主节点发送完数据库备份命令后,轮询数据库备份记录文件中的每一节点数据库的备份状态,判断所有发出的节点数据库备份命令在对应的子节点备份模块的执行是否成功,所有记录成功后,主节点成功退出;若存在失败记录或超时的则本作业步失败,发送备份失败信号,用于通知运维人员进行处理。
举一实例,如图5所示,图5为本发明实施例中提供的一种分布式数据库备份系统实例的结构示意图。图5中,在主节点部署任务调度模块,根据从主库读取分库分表规则,各个数据库节点的备份指令,发送备份命令到消息中间件模块,同时记录命令到数据库备份结果表。
发送完备份命令后,主节点单元可为主节点调度模块,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令。消息中间件单元可为消息中间件,用于接收主节点单元发送的多个节点数据库备份命令,根据多个节点数据库备份命令生成备份命令队列;通过备份命令队列,将每一节点数据库备份命令发送至对应的子节点备份模块。每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
图5中的分布式数据库备份的流程可如图6所示,图6中,设置主节点单元(在图6中可为主节点),用于首先根据预设置的数据库分库分表和备份参数,生成多个节点数据库备份命令;并通过消息中间件单元(图中未标出)向各个节点数据库发送对应的节点数据库备份命令。节点数据库接收对应的节点数据库备份命令,生成备份文件。在处理结束后,更新数据库备份记录文件,并对生成的备份文件进行共享存储。主节点单元在确定所有节点数据库备份命令执行完成后,完成对分布式数据库的备份。
本发明实施例还提供一种分布式数据库备份方法,用以减少分布式数据库备份时长,该方法应用于上述分布式数据库备份系统中每一子节点备份模块,如图7所示,该方法包括:
步骤701:接收节点数据库备份命令;节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;
步骤702:根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
具体实施时,根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,可以包括:监控消息中间件单元中的备份命令队列;在备份命令队列有对应的待处理节点数据库备份命令时,接收该节点数据库备份命令;根据该节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件。
本发明实施例中还提供了一种分布式数据库备份装置,如下面的实施例。由于该装置解决问题的原理与分布式数据库备份方法相似,因此该装置的实施可以参见分布式数据库备份方法的实施,重复之处不再赘述。
本发明实施例提供的一种分布式数据库备份装置,可用以减少分布式数据库备份时长,如图8所示,该装置可以包括:
接收模块01,用于接收节点数据库备份命令;节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;
备份模块02,用于根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
在一个实施例中,备份模块具体用于:监控消息中间件单元中的备份命令队列;在备份命令队列有对应的待处理节点数据库备份命令时,接收该节点数据库备份命令;根据该节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式数据库备份方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式数据库备份方法的计算机程序。
本发明实施例中,设置主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;设置每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器,从而可使节点数据库同时进行备份操作,避免了备份任务需由批量应用节点串行处理的情况,可减少分布式数据库备份时长,与现有技术对比,不需设置批量应用节点串行执行备份任务,且通过共享存储可使数据库备份文件集中存储,有利于全数据库的备份恢复。
如上所述,本发明实施例实现了一种由主节点单元执行各个节点数据库备份命令的生成和分发调度,各个子节点备份模块并行调起对应的节点数据库,执行对应的节点数据库备份命令,以此提高分布式数据库的备份速度,通过灵活配置的数据库的分库分表,动态生成节点数据库备份命令,支持灵活扩展,提供了一种通用的分布式数据库备份方法,提高了分布式数据库的备份效率,满足分布式数据库的时限要求。同时,主节点单元可搜集各个节点数据库的备份执行结果信息,记录数据库备份文件,便于运维查看分析以及节点数据库备份失败的重新调起。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种分布式数据库备份系统,其特征在于,包括:
主节点单元;多个子节点备份模块;与多个子节点备份模块对应的多个节点数据库;
主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;
每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
2.如权利要求1所述的系统,其特征在于,主节点单元,还用于:
根据划分的数据表,切割字段和数据表划分粒度,预设置数据库分库分表。
3.如权利要求1所述的系统,其特征在于,主节点单元,具体用于:
根据预设置的数据库分库分表,确定分布式数据库的分库维度;
根据分布式数据库的分库维度,生成多个节点数据库备份命令。
4.如权利要求1所述的系统,其特征在于,所述节点数据库备份命令包括:节点数据库路径,数据库备份参数和备份文件路径;节点数据库路径包括:节点数据库IP地址和/或实例名;数据库备份参数包括数据库的分表标识和/或数据库分表并发数;备份文件路径包括备份文件存储路径和/或备份文件名称。
5.如权利要求1所述的系统,其特征在于,还包括:消息中间件单元,用于接收主节点单元发送的多个节点数据库备份命令,根据多个节点数据库备份命令生成备份命令队列;通过备份命令队列,将每一节点数据库备份命令发送至对应的子节点备份模块。
6.如权利要求5所述的系统,其特征在于,每一子节点备份模块,具体用于:
监控备份命令队列;在备份命令队列有对应的待处理节点数据库备份命令时,接收该节点数据库备份命令;
根据该节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件。
7.如权利要求1至6任一项所述的系统,其特征在于,主节点单元,还用于:根据多个节点数据库备份命令,生成数据库备份记录文件;数据库备份记录文件用于对多个节点数据库的备份状态进行记录;备份状态包括待备份、备份成功或备份失败。
8.如权利要求7所述的系统,其特征在于,主节点单元,还用于:在任一子节点备份模块生成备份文件后,将数据库备份记录文件中,对应该备份文件的节点数据库的备份状态进行更改。
9.如权利要求7所述的系统,其特征在于,主节点单元,还用于:轮询数据库备份记录文件中的每一节点数据库的备份状态;在备份状态为备份失败时,发送备份失败信号。
10.一种分布式数据库备份方法,其特征在于,该方法应用于权利要求1至9任一所述分布式数据库备份系统中每一子节点备份模块,该方法包括:
接收节点数据库备份命令;所述节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;
根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
11.一种分布式数据库备份装置,其特征在于,该装置应用于权利要求1至9任一所述分布式数据库备份系统中每一子节点备份模块,该装置包括:
接收模块,用于接收节点数据库备份命令;所述节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;
备份模块,用于根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求10所述方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求10所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618794.3A CN111651302B (zh) | 2020-07-01 | 2020-07-01 | 分布式数据库备份方法,装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618794.3A CN111651302B (zh) | 2020-07-01 | 2020-07-01 | 分布式数据库备份方法,装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651302A true CN111651302A (zh) | 2020-09-11 |
CN111651302B CN111651302B (zh) | 2023-11-21 |
Family
ID=72343656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010618794.3A Active CN111651302B (zh) | 2020-07-01 | 2020-07-01 | 分布式数据库备份方法,装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651302B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817942A (zh) * | 2021-02-25 | 2021-05-18 | 紫光云技术有限公司 | 一种数据库批量加入可用性组的方法、电子设备、服务器 |
CN113254267A (zh) * | 2021-05-20 | 2021-08-13 | 上海安钛飞信息技术有限公司 | 分布式数据库的数据备份方法和装置 |
CN113722155A (zh) * | 2021-11-01 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统内数据备份及修复方法及相关组件 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226664A1 (en) * | 2011-03-03 | 2012-09-06 | Microsoft Corporation | Parallel database backup and restore |
US9459969B1 (en) * | 2012-09-28 | 2016-10-04 | Emc Corporation | Method and system for enhanced backup database indexing |
CN110795420A (zh) * | 2019-10-30 | 2020-02-14 | 浪潮云信息技术有限公司 | 一种基于Ansible的MySQL数据库自动化备份方法 |
-
2020
- 2020-07-01 CN CN202010618794.3A patent/CN111651302B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226664A1 (en) * | 2011-03-03 | 2012-09-06 | Microsoft Corporation | Parallel database backup and restore |
US9459969B1 (en) * | 2012-09-28 | 2016-10-04 | Emc Corporation | Method and system for enhanced backup database indexing |
CN110795420A (zh) * | 2019-10-30 | 2020-02-14 | 浪潮云信息技术有限公司 | 一种基于Ansible的MySQL数据库自动化备份方法 |
Non-Patent Citations (1)
Title |
---|
胡宁玉;赵青杉;张静;李荣;裴春琴;: "车载数据库远程备份与恢复系统的设计与实现" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817942A (zh) * | 2021-02-25 | 2021-05-18 | 紫光云技术有限公司 | 一种数据库批量加入可用性组的方法、电子设备、服务器 |
CN112817942B (zh) * | 2021-02-25 | 2023-03-07 | 紫光云技术有限公司 | 一种数据库批量加入可用性组的方法、电子设备、服务器 |
CN113254267A (zh) * | 2021-05-20 | 2021-08-13 | 上海安钛飞信息技术有限公司 | 分布式数据库的数据备份方法和装置 |
CN113722155A (zh) * | 2021-11-01 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统内数据备份及修复方法及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN111651302B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11366797B2 (en) | System and method for large-scale data processing using an application-independent framework | |
US11422982B2 (en) | Scaling stateful clusters while maintaining access | |
US10162843B1 (en) | Distributed metadata management | |
US9886325B2 (en) | System and method for limiting the impact of stragglers in large-scale parallel data processing | |
US7650331B1 (en) | System and method for efficient large-scale data processing | |
US11496588B2 (en) | Clustering layers in multi-node clusters | |
CN111651302B (zh) | 分布式数据库备份方法,装置及系统 | |
US11048591B1 (en) | Efficient name space organization in a global name space cluster | |
US7472125B2 (en) | Method for managing a database system | |
CN107180113B (zh) | 一种大数据检索平台 | |
US11442927B1 (en) | Storage performance-based distribution of deduplicated data to nodes within a clustered storage environment | |
US20170270149A1 (en) | Database systems with re-ordered replicas and methods of accessing and backing up databases | |
CN111917834A (zh) | 一种数据同步方法、装置、存储介质及计算机设备 | |
CN109885642B (zh) | 面向全文检索的分级存储方法及装置 | |
US7069270B1 (en) | Automated method and mechanism for converting a single instance application to a multiple instance application | |
CN113760847A (zh) | 日志数据处理方法、装置、设备及存储介质 | |
CN115083538B (zh) | 一种药物数据的处理系统、运行方法及数据处理方法 | |
US20230267046A1 (en) | Fileset partitioning for data storage and management | |
CN111680017A (zh) | 一种数据同步的方法及装置 | |
CN113157701A (zh) | 一种oracle数据库的双活机制部署方法及装置 | |
KR20130038517A (ko) | 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법 | |
CN115587141A (zh) | 一种数据库同步方法和装置 | |
CN114969206A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114969165A (zh) | 数据查询请求的处理方法、装置、设备及存储介质 | |
US11249952B1 (en) | Distributed storage of data identifiers |
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 |