分布式数据库备份方法,装置及系统制造方法及图纸

技术编号:25598455 阅读:31 留言:0更新日期:2020-09-11 23:56
本发明专利技术公开了一种分布式数据库备份方法,装置及系统,该系统包括:主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。本发明专利技术可使节点数据库同时进行备份操作,避免了备份任务需由批量应用节点串行处理的情况,可减少分布式数据库备份时长,与现有技术对比,不需设置批量应用节点串行执行备份任务,且通过共享存储可使数据库备份文件集中存储,有利于全数据库的备份恢复。

【技术实现步骤摘要】
分布式数据库备份方法,装置及系统
本专利技术涉及计算机
,尤其涉及一种分布式数据库备份方法,装置及系统。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。随着企业级应用的数据量爆发式增长,传统联机事务处理系统的单节点集中式数据库,在性能上已无法满足,大数据量下联机事务处理和高并发用户访问的需求,因此现有技术逐步发展利用数据分片技术(一种把大数据量的表切分成多个部分放到不同数据库,缓解单一数据库性能问题的方法。垂直切分用于将关联度高的表切分到同一个数据库,水平切分用于将单表数据量的表按一定规则切分到多个数据库),把大数据量数据库切分成多个部分,并放到分布式数据库的不同节点,用以缓解单一数据库性能瓶颈,但分布式数据库物理上分散的多数据库节点的特征给全数据库备份带来一些挑战。如银行系统,在进行根据客户等级和所持有信用卡对应的权益的管理,和手机银行渠道的展示。该系统可采用基于x86架构的oracle关系型数据库(OracleDatabase,又名OracleRDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统),但传统的单节点Oracle数据库,仅能支持千万级单表数据量的联机事务性能,在使用时,针对部分客户相关的数据表数据量超过亿级的特点,对客户号相关的数据表进行分库分表设计,按照客户号段对数据量大的数据表作了水平切分,相当于一个大表被切分成多个数据库结构相同的小表,并存储在分布式数据库的各个节点数据库上。出于灾备和容错的考虑,需要在每日夜间批量对全库进行备份整个分布式数据库的操作,以便在故障或灾难发生时,通过备份文件,如DMP(DataManagementPlatform,数据管理平台)文件,来恢复数据库,保证业务延续。传统方案通过串行方式分别依次调起各个分库节点的数据备份命令,并接收数据库节点的处理结果返回,全部成功后则备份作业成功。如图1所示,图1为本专利技术实施例中提供的现有技术下分布式数据库备份方法的流程示意图,由于批量应用节点,需要以串行的方式,依次执行各数据库节点的备份操作,导致处理时间长;备份结果文件散落在各个数据库节点不利于全数据库的备份恢复。
技术实现思路
本专利技术实施例提供一种分布式数据库备份系统,用以减少分布式数据库备份时长,该系统包括:主节点单元;多个子节点备份模块;与多个子节点备份模块对应的多个节点数据库;主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。本专利技术实施例还提供一种分布式数据库备份方法,用以减少分布式数据库备份时长,该方法包括:接收节点数据库备份命令;所述节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。本专利技术实施例还提供一种分布式数据库备份装置,用以减少分布式数据库备份时长,该装置包括:接收模块,用于接收节点数据库备份命令;所述节点数据库备份命令由主节点单元根据预设置的数据库分库分表生成,用于指示对应的节点数据库需备份的数据分表;备份模块,用于根据节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式数据库备份方法。本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式数据库备份方法的计算机程序。本专利技术实施例中,设置主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;设置每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器,从而可使节点数据库同时进行备份操作,避免了备份任务需由批量应用节点串行处理的情况,可减少分布式数据库备份时长,与现有技术对比,不需设置批量应用节点串行执行备份任务,且通过共享存储可使数据库备份文件集中存储,有利于全数据库的备份恢复。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本专利技术实施例中提供的现有技术下分布式数据库备份方法的流程示意图;图2为本专利技术实施例中提供的一种分布式数据库备份系统的结构示意图;图3为本专利技术实施例中提供的一种分布式数据库备份系统实例的示意图;图4为本专利技术实施例中提供的一种分布式数据库备份系统实例的示意图;图5为本专利技术实施例中提供的一种分布式数据库备份系统实例的结构示意图;图6为本专利技术实施例中提供的一种分布式数据库备份系统实例的结构示意图;图7为本专利技术实施例中提供的一种分布式数据库备份方法的流程示意图;图8为本专利技术实施例中提供的一种分布式数据库备份装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。本专利技术实施例涉及下列名词,如下进行解释:Oracle数据泵备份技术:Oracle数据库支持数据泵备份和恢复方式,由EXPDP和IMPDP的导入导出命令组合,由EXPDP导出单个数据库节点备份文件,支持丰富的配置方式备份,包括按用户,按表名,按表空间,按查询条件,以及全库备份,备份结果以DMP(DataManagementPlatform,数据管理平台)文件形式存储,DMP文件可在跨节点和跨操作系统的数据库上恢复,远程分区:通过将任务进行分区,不同的作业步处理不同的任务数据达到提高作业效率,分成两个阶段:1、数据分区(例如根据文件名称,数据唯一标识,或哈希算法)将数据进行合理的切片;2、分区处理,不同分区的数据被分配到不同的远程节点进行处理。Redis:一个开源的键-值内存数据库,支持存储的值数据类型包括:string字符串、list链表、set集合、hash哈希。可以作为一个高性能的缓存、消息中间件。本专利技术实施例提供了一种分布式数据库备份系统,用以减少分布式数据库备本文档来自技高网
...

【技术保护点】
1.一种分布式数据库备份系统,其特征在于,包括:/n主节点单元;多个子节点备份模块;与多个子节点备份模块对应的多个节点数据库;/n主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;/n每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。/n

【技术特征摘要】
1.一种分布式数据库备份系统,其特征在于,包括:
主节点单元;多个子节点备份模块;与多个子节点备份模块对应的多个节点数据库;
主节点单元,用于根据预设置的数据库分库分表,生成多个节点数据库备份命令;每一节点数据库备份命令用于指示对应的节点数据库需备份的数据分表;
每一子节点备份模块,用于根据对应的节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件,将备份文件拷贝至共享存储服务器。


2.如权利要求1所述的系统,其特征在于,主节点单元,还用于:
根据划分的数据表,切割字段和数据表划分粒度,预设置数据库分库分表。


3.如权利要求1所述的系统,其特征在于,主节点单元,具体用于:
根据预设置的数据库分库分表,确定分布式数据库的分库维度;
根据分布式数据库的分库维度,生成多个节点数据库备份命令。


4.如权利要求1所述的系统,其特征在于,所述节点数据库备份命令包括:节点数据库路径,数据库备份参数和备份文件路径;节点数据库路径包括:节点数据库IP地址和/或实例名;数据库备份参数包括数据库的分表标识和/或数据库分表并发数;备份文件路径包括备份文件存储路径和/或备份文件名称。


5.如权利要求1所述的系统,其特征在于,还包括:消息中间件单元,用于接收主节点单元发送的多个节点数据库备份命令,根据多个节点数据库备份命令生成备份命令队列;通过备份命令队列,将每一节点数据库备份命令发送至对应的子节点备份模块。


6.如权利要求5所述的系统,其特征在于,每一子节点备份模块,具体用于:
监控备份命令队列;在备份命令队列有对应的待处理节点数据库备份命令时,接收该节点数据库备份命令;
根据该节点数据库备份命令,将对应节点数据库需备份的数据分表进行备份,生成备份文件。


7.如权利要求1至6任一项所述的系统,其特征在于,主...

【专利技术属性】
技术研发人员:李清泉周宝琛陈明芬
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京;11

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

1