CN116501544A - 一种数据库备份方法及系统、电子设备、存储介质 - Google Patents

一种数据库备份方法及系统、电子设备、存储介质 Download PDF

Info

Publication number
CN116501544A
CN116501544A CN202310286554.1A CN202310286554A CN116501544A CN 116501544 A CN116501544 A CN 116501544A CN 202310286554 A CN202310286554 A CN 202310286554A CN 116501544 A CN116501544 A CN 116501544A
Authority
CN
China
Prior art keywords
backup
database
information
host
subsystem
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.)
Pending
Application number
CN202310286554.1A
Other languages
English (en)
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.)
Pingan Payment Technology Service Co Ltd
Original Assignee
Pingan Payment Technology Service 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 Pingan Payment Technology Service Co Ltd filed Critical Pingan Payment Technology Service Co Ltd
Priority to CN202310286554.1A priority Critical patent/CN116501544A/zh
Publication of CN116501544A publication Critical patent/CN116501544A/zh
Pending legal-status Critical Current

Links

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/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请的实施例涉及数据库技术领域,提供了一种数据库备份方法及系统、电子设备,计算机可读存储介质。该数据库备份方法包括:备份信息中心子系统接收对数据库的备份部署信息,备份部署信息包括:根据域名下发备份任务在备库上,域名始终绑定在所述备库对应的IP上;备份信息中心子系统远程连接对应的数据库主机,向数据库主机发送远程部署请求,以根据备份部署信息部署数据库的备份计划。在本技术方案中,每次下发备份任务都是在备库发起,不会再主库发起,不影响主库功能,备份任务代码中执行域名,无论数据库怎么切换,无需更新。另,提高数据库备份的实时性和可靠性,并且便于对大批量分布式数据库的备份进行统一管理。

Description

一种数据库备份方法及系统、电子设备、存储介质
技术领域
本申请涉及数据库技术领域,具体涉及一种数据库备份方法及系统、电子设备、存储介质。
背景技术
数据库数据是一个系统应用的核心。生产线上的数据库面临的风险多样,如数据库主机硬盘破坏,使物理数据丢失;数据库主机受恶意攻击,数据存在安全隐患;数据库管理人员人为的误操作等等。如果生产线上各个数据库没有进行实时备份,或者备份失败,那么将难以进行数据恢复。目前数据库备份需要人为干预,人工成本较高,数据库备份的实时性较差;没有考虑生成的备份数据的完备性,导致存在大量不可用的备份数据,浪费存储空间,数据库恢复难以实现;对大批量分布式的数据库缺乏统一规范化的备份管理等。目前一般公司的生产环境MySQL都是一主多备,备份任务的代码里面是根据IP地址下发在其中一个备库上,但是当准备切换后,原备库变成主库,如果IP地址没有变换,还是用原来的IP地址进行备份,则备份就会在主库发起,备份的过程会消耗大量磁盘IO和持有数据库的全局锁,影响主库的性能和业务访问数据。
相关技术中公开了名称为“数据库备份方法、装置以及存储介质”的技术,该技术将KV记录修改请求转换为KV记录操作指令并发送给主KV数据库,以使主KV数据库执行KV记录操作指令;生成与KV记录修改请求相对应的KV记录修改消息;其中,KV记录修改消息包括:修改版本信息;基于TCC事务处理机制以及KV记录操作指令的执行结果,在日志消息系统中保存并维护KV记录修改消息的状态;根据日志消息系统中的KV记录修改消息,在备用KV数据库中进行数据备份处理。该技术使用TCC事务处理机制为KV数据库实现binlog功能,能对KV数据库进行实时复制,提高了数据的可用性和可靠性,提高了用户使用感受。该技术并没有解决当主备切换后,备份在主库发起,消耗大量磁盘IO和持有数据库的全局锁,影响主库的性能和业务访问数据的问题,同时也没有公开相应的技术手段。
相关技术中还公开了名称为“一种数据库备份方法及装置”的技术,该技术建立宿主机和待进行备份的容器之间的标准挂载传播目录;当所述待进行备份的容器发起备份时,解析预设的备份配置文件,并根据所述标准挂载传播目录调用所述宿主机的管理脚本;通过所述管理脚本建立所述待进行备份的容器的快照,并挂载所述快照至所述标准挂载传播目录;根据所述标准挂载传播目录中的快照对所述待进行备份的容器对应的数据库进行备份,得到备份数据文件。实现了在容器内部进行了快照备份,解决了容器采用逻辑备份时的效率较低的问题。该技术并没有解决当主备切换后,备份在主库发起,消耗大量磁盘IO和持有数据库的全局锁,影响主库的性能和业务访问数据的问题,同时也没有公开相应的技术手段。
相关技术中还公开了名称为“一种数据库备份方法及系统”的技术,该技术用于备份OpenStack云平台中的至少一台主机里的至少一个数据库,包括:获取用户选择的:主机、该主机中的待备份数据库、以及用于备份该待备份数据库的第三方备份厂商:将用户选择的第三方备份厂商的客户端部署与选择的主机;将部署的客户端的部分功能整合到数据保护服务框架中,以供整合后的框架能向对应的备份服务器发起备份数据库的操作,部署于主机中的客户端则负责向该备份服务器提供待备份数据库的数据,以供其备份。该技术解决了Karbor等数据保护服务框架无法保护OpenStack云计算管理平台下云主机或可管理的物理机中的数据库的问题,增强了设备中数据库的安全性和可靠性。该技术并没有解决当主备切换后,备份在主库发起,消耗大量磁盘IO和持有数据库的全局锁,影响主库的性能和业务访问数据的问题,同时也没有公开相应的技术手段。
相关技术中还公开了名臣为“一种数据库备份方法及装置”的技术,该技术涉及的方法包括:接收客户端上传的配置信息,配置信息用于指示对服务器上的数据库进行备份操作;根据接收到的配置信息,向目标文件中加入用于指示对数据库进行备份操作的备份命令,目标文件用于设置周期性被执行的命令;检测是否达到执行已加入到目标文件中的备份命令的预定执行时间;在检测到达预定执行时间之后,执行目标文件的备份命令,以对数据库进行备份操作。该技术解决了相关技术中由于采用手动备份数据库的方式造成的人力成本高、使用不够灵活、操作不够便捷的技术问题。该技术并没有解决当主备切换后,备份在主库发起,消耗大量磁盘IO和持有数据库的全局锁,影响主库的性能和业务访问数据的问题,同时也没有公开相应的技术手段。
发明内容
本申请的实施例提供了一种数据库备份方法及系统、电子设备、存储介质。解决的技术问题:生产环境MySQL都是一主多备,备份任务的代码里面是根据IP地址下发在其中一个备库上,但是当主备切换后,原备库变成主库,如果IP地址没有变换,还是用原来的IP地址进行备份,则备份就会在主库发起,备份的过程会消耗大量磁盘IO和持有数据库的全局锁,影响主库的性能和业务访问数据,另,目前数据库备份需要人为干预,人工成本较高,数据库备份的实时性较差,没有考虑生成的备份数据的完备性,导致存在大量不可用的备份数据,浪费存储空间,数据库恢复难以实现,对大批量分布式的数据库缺乏统一规范化的备份管理。
本申请的其他特点和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种数据库备份方法,包括:
备份信息中心子系统接收对数据库的备份部署信息,所述备份部署信息包括:根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上;
所述备份信息中心子系统远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;
数据库备份子系统根据所述备份计划对所述数据库进行自动备份得到备份文件,并将所述备份文件传输至备库的主机进行备份,同时,所述数据库备份子系统记录每次的备份执行信息并存储到所述备份信息中心子系统;
备份检测子系统扫描所述备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示。
根据本申请实施例的一个方面还提供了一种数据库备份系统,包括:
备份信息中心子系统,用于备份信息中心子系统接收对数据库的备份部署信息,所述备份部署信息包括:根据域名下发备份任务在备库上,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;
数据库备份子系统,用于数据库备份子系统根据所述备份计划对所述数据库进行自动备份,并将每次的备份执行信息存储到备份信息中心子系统;
备份检测子系统,用于备份检测子系统扫描备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示。
根据本申请实施例的一个方面,还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述的数据库备份方法。
根据本申请实施例的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述的数据库备份方法。
通过采用上述技术方案,本申请实施例可达到的有益技术效果为:相关技术中的生产环境MySQL都是一主多备,备份任务的代码里面是根据IP地址下发在其中一个备库上,当主备切换后,原备库变成主库,如果IP地址没有变换,还是用原来的IP地址进行备份,则备份就会在主库发起,备份的过程会消耗大量磁盘IO和持有数据库的全局锁,会影响主库的性能和业务访问数据。针对主备切换,备份节点需要变化的时候,创建一个独立的备份专用的DNS域名,绑定在物理主机的IP上,当数据库发生切换后,对应的域名从源备库的IP上切换到新备库的IP上。备份任务的代码中使用域名,这样无需更改代码逻辑,每次下发备份任务还是在备库上运行,对主库无影响。本申请实施例解决的痛点为:每次下发备份任务都是在备库发起,不会在主库发起,不影响主库性能,备份任务代码中执行域名,无论数据库怎么切换,无需更新。本申请实施例无论主备结构怎么变化,备份任务中的代码无需更新,备份任务总能在备库发起,对主库业务零影响;本申请实施例通过备份信息中心子系统接收数据库管理员对数据库的备份部署信息,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;数据库备份子系统根据所述备份计划对所述数据库进行自动备份,记录每次的备份执行信息并存储到备份信息中心子系统;备份检测子系统扫描备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示,以使数据库管理员及时排查原因,本申请实施例能够提高数据库备份的实时性和可靠性,并且便于对大批量分布式数据库的备份进行统一管理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的数据库备份方法示意性流程图;
图2是本申请的一示例性实施例示出的根据IP下发备份任务和根据域名下发备份任务对比示意图;
图3是本申请的一示例性实施例示出的MySQL主备示意图;
图4是本申请的一示例性实施例示出的一主多备,读写分离架构示意图;
图5是本申请的一示例性实施例示出的数据库备份方法的实现系统的框架图;
图6示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图;
图7为本申请的一示例性实施例示出的域名与IP地址的关系示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立额实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
首先需要说明的是,MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache或Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
尽管IP地址能够唯一地标记网络上的计算机,但IP地址是一长串数字,不直观,而且用户记忆十分不方便,于是人们又发明了另一套字符型的地址方案,即所谓的域名地址。IP地址和域名是一一对应的,这份域名地址的信息存放在一个叫域名服务器(DNS,Domainname server)的主机内,使用者只需了解易记的域名地址,其对应转换工作就留给了域名服务器。域名服务器就是提供IP地址和域名之间的转换服务的服务器。
下面开始结合附图对本发明具体说明。
图3是本申请的一示例性实施例示出的MySQL主备示意图。
参照图3所示,单点故障的情况不可避免,而且单副本的存储方案早已无法满足业务的可靠性要求,一般情况下我们至少也会上个双机存储架构。凡事最好有个plan B。“主”即主机,“备”即备机,主机的意思当然以它为主,读写都在主机上,而备机就是备用,默默的在背后吸收主机的数据,时刻待命着等待主机出问题的时候取而代之。因此在主机还还能正常运行的情况下,备机的唯一使命就是同步主机的数据,不对外提供服务。主备之间只有数据同步,不需要考虑别的情况。就很简单的配置一下,再配置一台服务器即组成主备架构。缺点:备机等于就拿来备份,浪费了备机这台服务器的资源。上面说的不考虑别的情况指的是主机和备机它们就只要复制数据,但是有些情况还得考虑:主机崩溃如何让备机发挥作用?有以下三种选择:第一、人工切换。人工切换时效性不高;第二、引入中间件。例如ZooKeeper、keepalived。全权由中间件打理主机和备机,它会根据机子状态来判别这时候是不是该备机发挥作用了;第三、主机备机之间状态传输,除数据同步,主备之间还要有个状态传输过程,可以是主机主动推送它的状态给备机,或者是备机去索要状态。当状态拿不到或者不对的时候就开始主备切换。但是可能传输出现了波动,导致备机误判了,然后备机升级为主机,即存在两主机。
从机和备机的区别在于它得除了同步数据之外还得工作,对外提供读的操作,可以理解为仆从。但是仆从和备机一样也可做主机,当主机崩溃,取而代之。充分利用了资源,对外提供读操作,当主机崩溃的时候,如果没任命新机主之前,读操作还能用。缺点:客户端需要多个判断,不同操作需要发给不同服务器,主机提供读写,有时候读写分离,主机就提供写。主从延迟,读操作分配给从库,会存在数据同步的延迟问题。另,存在和主备一样的切换问题。
主主就是两台都是主机。同时对外提供读写操作。客户端任意访问提供的一台。优点:主主的好处可以把操作分担,但是问题出在写操作上,导致主主的架构有很大的局限性。
图4是本申请的一示例性实施例示出的一主多备,读写分离架构示意图。
参照图4所示,一主多备的原理:主从复制,用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库,从数据库的作用和使用场合一般有几个:一示作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作;二是可在从数据库做备份、数据统计等工作,不影响主数据库的性能;读写分离,是指读与写分别使用不同的数据库,当然一般是在不同服务器上的;在另一台服务器上的读写环境,仅用来测试。一般读写的数据库环境配置为一个写入的数据库,一个或多个读的数据库,各个数据库分别位于不同的服务器上,充分利用服务器性能和数据库性能,会涉及到如何保证读写数据库的数据一致,可以利用主从复制技术完成。一般应用场合为:业务吞吐量很大,读数据库的负载较大。另,主从复制有以下几种方式:异步复制:master只保证自己的操作完成就返回,至于slaves是否收到日志不关心,这个是默认设置;半同步复制:master只保证slaves中的一个操作成功就返回,其他slave不管;同步复制:master操作依次,需要等待所有的slaves操作完成才可以返回,此方式一般不会采取,因为当前端用户插入一条数据时需要很长的时间才会返回。
图7是本申请的的一示例性实施例示出的域名与IP地址的关系示意图。
参照图7所示,IP地址是用来唯一标识互联网上计算机的逻辑地址,让电脑之间可以相互通信,每台连网计算机都依靠IP地址互相区分、相互联系;域名:由于IP地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,代替数字型的IP地址,每一个符号化的地址都与特定的IP地址对应,访问网络资源更加方便;DNS:在INTERNET上域名与IP地址之间是一对一或者多对一的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,他们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器,域名的最终指向是IP;网址:统一资源定位符(URL,英语UniformResourceLocator的缩写),也被称为网址,网址格式为:<协议>://<域名或IP>:<端口>/<路径>。
图1是本申请的一示例性实施例示出的数据库备份方法示意性流程图。
参照图1所示,数据库备份方法包括:
S101、备份信息中心子系统接收对数据库的备份部署信息,所述备份部署信息包括:根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上。
本实施例中,备份信息中心子系统包括备份管理模块,数据库管理员可通过备份管理模块人机交互界面设置各数据库的备份部署信息,例如设置数据库的备份模式、备份目录、备份时间等。备份模式指的是全量备份或增量备份。备份信息中心子系统接收数据库管理员对数据库的备份部署信息,可通过预先设定的后台脚本为不同数据库生成对应的备份部署脚本和参数配置文件。
本实施例中,通过备份中心子系统对数据库进行备份部署的实现过程包括:
备份信息中心子系统接收对数据库的备份部署信息,远程连接对应的数据库主机,与所述数据库主机进行双向身份验证;备份信息中心子系统向对应的数据库主机发送远程连接请求,数据库主机收到请求后,验证备份信息中心子系统的主机身份;双方验证身份无误后,数据库主机响应所述请求,执行备份信息中心子系统发送过来的部署命令,包括备份部署脚本和响应的参数配置文件。若双向身份验证通过,备份信息中心子系统读取所述数据库主机的系统负载高峰时段对数据库进行备份;可使数据库所在主机负载更均匀,避免因为数据库备份而使系统整体性能下降。备份信息中心子系统还可根据对所述数据库的备份部署信息,修改所述数据库主机的系统定时任务。
需要说明的是,一台数据库主机可能会有两个以上数据库,备份信息中心子新系统将需要备份的数据库列表信息写入配置文件中,通过读取此配置文件确定需要备份的数据库。
需要说明的是,本实施例对备份信息中心子系统与数据库主机之间的身份验证的具体方式不作限定,例如:可通过密码验证、IP地址验证或者其他消息验证等方式实现。
图2是本申请的一示例性实施例示出的根据IP下发备份任务和根据域名下发备份任务对比示意图。
参照图2所示,备份信息子系统接收对数据库的备份部署信息,所述备份部署信息包括:根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上。创建独立的备份专用DNS域名,绑定于备库的主机的IP上,当数据库发生切换后,对应的域名域名从源备库的IP上切换到新备库的IP上。
如图2所示,一般公司的生产环境MySQL都是一主多备,备份任务的代码里面是根据IP地质下发在其中一个备库上,但是当主备切换后,原备库编程主库,如果IP地址没有变换,还是用原来的IP地址进行备份,则备份就会在主库发起,备份的过程会消耗大量磁盘IO和持有数据库的全局锁,这样可能影响主库的性能和业务访问数据。针对主备切换,备份节点需要变化的情况,创建一个独立的备份专用的DNS域名,绑定在物理主机的IP上,当数据库发生切换后,对应的域名从源备库的IP上切换到新备库的IP上。备份任务的代码中使用域名,这样无需更改代码逻辑,每次下发备份任务还是在备库上运行,对主库无影响。痛点解决如下:每次下发备份任务都是在备库发起,不会再主库发起,不影响主库性能;备份任务代码中执行域名,无论数据库怎么切换,无需更新。改进后的好处:无论主备结构怎么变化,备份任务中的代码无需更新,备份任务总能在备库发起,对主库业务零影响。
S102、所述备份信息中心子系统远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划。
通过备份信息中心子系统的备份管理模块对已部署的数据库的备份部署信息进行修改或删除,具体八廓:接收部署信息查询指令,获取所述数据库的备份部署信息;以及,接收部署信息编辑操作指令,对所述数据库的备份配置信息进行修改或删除。
S103、数据库备份子系统根据所述备份计划对所述数据库进行自动备份得到备份文件,并将所述备份文件传输至备库的主机进行备份,同时,所述数据库备份子系统记录每次的备份执行信息并存储到所述备份信息中心子系统。
本实施例中,数据库主机根据所述备份计划启动对应的定时器,数据库的备份时间到来时,对所述数据库进行自动备份,将得到的备份文件传输至备库的主机进行备份。同时,还记录每次的备份执行信息,并写入到数据库备份子系统进行存储。
当所述备份时间到来时,数据库备份子系统向备库主机发送备份请求;备库主机检查当前要进行备份的数据库是否存在于自己的备份列表中,若是,响应所述备份请求;数据库备份子系统收到所述响应后,将生成的备份文件传输至所述备库主机。
对应的,备份信息中心子系统接收对数据库的备份信息,若若所述备份部署信息包括在备库备份的部署信息,所述备份信息中心子系统还向对应的备库主机发送请求,以将所述数据库添加到所述备库主机的备份列表中。
实际操作是,由于种种原因,数据库主机可能在前一次数据库备份没有执行完毕,新一轮的备份时间又到来。由于多个备份进程同时执行会加大系统负担,因此作为一种优选实施方式,所述数据库的备份时间到来时,先检测数据库主机系统当前是否有备份正在进行;若有,暂停执行所述数据库的备份,间隔设定时间后重试;若重试次数达到设定次数,退出所述数据库的备份,并将所述数据库的本次备份执行状态标记为执行失败或者未执行或者跳过,将所述本次备份执行状态写入备份信息中心子系统。
作为一种优选方式,每次备份进程退出后,数据库备份子系统还通过检查对应的备份日志文件判断当前备份是否成功,若备份日志文件显示本次备份执行失败,此时数据库备份子系统会自动进行重试,重新对所述数据库进行备份。数据库备份子系统会一直重试知道备份执行成功、或重试次数达到设定阈值,退出本轮备份。优选的,备份失败重试次数默认为3次,重试前先删除前一次备份失败的备份文件,而备份日志文件则保留。该重试机制很好地解决因为偶然的原因而导致的备份失败。
无论备份是否执行成功,数据库备份子系统都会将每次备份执行的相关信息(即每次的备份执行信息)写入到备份信息中心,所写入的信息包括:备份开始时间、备份结束时间、主机IP、数据库端口、备份文件信息、备份执行状态、备份数据大小等。
需要说明的是,以上两种重试机制可以通过脚本代码实现。并且,确定备份执行失败或者被跳过时,数据库备份子系统会立刻发出告警信息,通知数据库管理员及时进行排查。
S104、备份检测子系统扫描所述备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示。
本实施例中,除了每次备份进程退出后,由数据库备份子系统通过检查对应的备份日志文件判断当前备份是否成功之外,备份检测子系统还会定期扫描备份中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功;若发现设定时间内的某次备份执行失败,则输出相关告警,通知数据库管理员及时对备份失败原因进行排查。
数据库每天会进行多次备份,备份检测子系统每天会定时对备份信息中心子系统的备份质心信息进行检测。备份检测子系统通过扫描存储的备份执行信息列表,将24小时内备份执行状态为失败或被跳过的数据库告警,通知相关的数据库管理员进行排查。同时,备份检测子系统还会检测24小时内没有按备份计划进行备份的数据库,并通知相关数据库管理员,即备份检测子系统定期扫描备份信息中心子系统存储的备份执行信息,若没有找到与所述数据库备份计划匹配的备份执行信息,确定为所述数据库未按计划执行备份,输出告警提示。
如上所述,数据库备份文件即便是通过备份进程执行成功得到的,也不等于该份备份文件就是有效备份数据。因此,除上述所述之外,作为另一优选实施方式,本实施例还通过自动备份文件进行恢复检测,通过备份文件还原数据库实例的情况来检验相应备份文件是否有效。实现方式可为:备份检测子系统还定期对得到的备份文件进行恢复检测,若所述备份文件到数据库实例的恢复失败,确定所述备份文件为不可用,输出告警提示。
当数据库出现故障,比如数据库管理员误删数据。可以通过备份信息中心子系统的备份恢复模块,根据原数据库主机IP及数据库端口向备份信息存储模块获取最近一次备份成功、且不在备份检测失败列表的备份文件,将该备份文件传输至相关的恢复目标主机上。备份恢复模块可通过SSh等协议远程控制恢复目标主机,执行相应的脚本与命令对误删的数据进行恢复。
本实施例所描述数据库可为MySQL示例,运行与Linux主机上,MySQL数据库的备份模块主要由全量备份与增量备份;备份工具可为xtabackup、mysqldump或者自主研发的相关脚本工具等;备份文件的压缩模式有tar、xb等。备份文件的传输可以通过Linux的scp等命令实现,Linux主机可以用ps命令查看当前系统进程信息。如前所述,若发现数据库主机有备份进程正在进行备份,则可执行sleep命令暂停数据库的备份执行。如果有数据表数据有问题,MySQL会有错误日志输出,数据库实例也很有可能运行异常,因此在对各表数据进行读操作的过程中,通过观察MySQL错误日志及运行情况,可以得出还原的数据库是否正常。通过本实施例的数据库备份方法,提高了数据库备份的实时性和可靠性,并且便于对大批量分布式数据库的备份进行统一管理。本实施例采用的数据库备份方法,在接收的备份部署信息中国包括根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上,包括创建独立的备份专用DNS域名,绑定于备库的主机的IP上,当数据库发生切换后,对应的域名从源备库的IP上切换到新备库的IP上。因为在一般公司的生产环境MySQL都是一主多备,备份任务的代码里面是根据IP地质下发在其中一个备库上,但是当主备切换后,原备库变成主库,如果IP地质没有变换,还是用原来的IP地址进行备份,则备份就会在主库发起,备份的过程会消耗大量磁盘IO和持有数据库的全局锁,这样可能影响主库的性能和业务访问数据。针对主备切换,备份节点需要变化的情况,本实施例提出的技术手段为:创建一个独立的备份专用的DNS域名,绑定在物理主机的IP上,当数据库发生切换后,对应的域名从源备库的IP上切换到新备库的IP上。备份任务的代码中使用域名,这样无需更改代码逻辑,每次下发备份任务还是在备库上运行,对主库无影响。本申请实施例解决的痛点如下:每次下发备份任务都是在备库发起,不会再主库发起,不影响主库性能;备份任务代码中执行域名,无论数据库怎么切换,无需更新。本申请实施例提供的技术方案使得无论主备结构怎么变化,备份任务中的代码无需更新,备份任务总能在备库发起,对主库业务零影响。
图5是本申请的一示例性实施例示出的数据库备份方法的实现系统的框架图。
参照图5所示,本申请的另一方面还提供了一种数据库备份系统,该数据库备份系统包括:备份信息中心子系统501、数据库备份子系统502以及备份检测子系统503。
其中,备份信息中心子系统501配置为用于接收对数据库的备份部署信息,所述备份部署信息包括:根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划。
数据库备份子系统502配置为根据所述备份计划对所述数据库进行自动备份,并将每次的备份执行信息存储到备份信息中心子系统。
备份检测子系统503配置为用于扫描备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示。
在另一示例性实施例中,在所述备份信息中心子系统501中,根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上,包括:创建独立的备份专用DNS域名,绑定于备库的主机的IP上,当数据库发生切换后,对应的域名从源备库的IP上切换到新备库的IP上。
在另一示例性实施例中,在该数据库备份系统中,所述备份部署信息还包括备份时间;所述备份执行信息包括:备份开始时间、备份结束时间、数据库主机IP、数据库端口、备份文件信息以及备份执行状态。
在另一示例性实施例中,在数据库备份子系统502中,根据所述备份计划对所述数据库进行自动备份,包括:所述数据库的备份时间到来时,检测数据库主机系统当前是否有备份正在进行;若有,暂停执行所述数据库的备份,间隔设定时间后重试;若重试次数达到设定次数,退出所述数据库的备份。
在另一示例性实施例中,数据库备份子系统502根据所述备份计划对所述数据库进行自动备份,之后还包括:备份检测子系统定期对备份得到的备份文件进行恢复检测,若所述备份文件到数据库实例的恢复失败,确定所述备份文件为不可用,输出告警提示。
在另一示例性的实施例中,备份信息中心子系统501接收对数据库的备份部署信息,远程连接对应的数据库主机,与所述数据库主机进行双向身份验证;若双向身份验证通过,备份信息中心子系统501根据对所述数据库的备份部署信息,修改所述数据库主机的系统定时任务。
在另一示例性的实施例中,备份信息中心子系统501接收部署信息查询指令,获取所述数据库的备份部署信息;以及,接收部署信息编辑操作指令,对所述数据库的备份配置信息进行修改或删除。
需要说明的是,上述实施例所提供的数据库备份系统与上述实施例所提供的数据库备份方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的数据库备份系统在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的数据库备份方法。
图6示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图6示出的电子设备的计算机系统仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统包括中央处理单元(Central Processing Unit,CPU)601,其可以根据存储在只读存储器(Read-Only Memory,ROM)602中的程序或者从储存部分608加载到随机访问存储器(Random Access Memory,RAM)603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(Input/Output,I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的储存部分608;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入储存部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的数据库备份方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。

Claims (10)

1.一种数据库备份方法,其特征在于,包括:
备份信息中心子系统接收对数据库的备份部署信息,所述备份部署信息包括:根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上;
所述备份信息中心子系统远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;
数据库备份子系统根据所述备份计划对所述数据库进行自动备份得到备份文件,并将所述备份文件传输至备库的主机进行备份,同时,所述数据库备份子系统记录每次的备份执行信息并存储到所述备份信息中心子系统;
备份检测子系统扫描所述备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示。
2.根据权利要求1所述的数据库备份方法,其特征在于,根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上,包括:
创建独立的备份专用DNS域名,绑定于备库的主机的IP上;
当数据库发生切换后,对应的域名从源备库的IP上切换到新备库的IP上。
3.根据权利要求1所述的数据库备份方法,其特征在于,
所述备份部署信息还包括备份时间;
所述备份执行信息包括:备份开始时间、备份结束时间、数据库主机IP、数据库端口、备份文件信息以及备份执行状态。
4.根据权利要求3所述的数据库备份方法,其特征在于,数据库备份子系统根据所述备份计划对所述数据库进行自动备份,包括:
所述数据库的备份时间到来时,检测数据库主机系统当前是否有备份正在进行;若有,暂停执行所述数据库的备份,间隔设定时间后重试;
若重试次数达到设定次数,退出所述数据库的备份。
5.根据权利要求1所述的数据库备份方法,其特征在于,数据库备份子系统根据所述备份计划对所述数据库进行自动备份,之后还包括:
备份检测子系统定期对备份得到的备份文件进行恢复检测,若所述备份文件到数据库实例的恢复失败,确定所述备份文件为不可用,输出告警提示。
6.根据权利要求1所述的数据库备份方法,其特征在于,备份信息中心子系统接收对数据库的备份部署信息,远程连接对应的数据库主机,包括:
备份信息中心子系统接收对数据库的备份部署信息,远程连接对应的数据库主机,与所述数据库主机进行双向身份验证;
若双向身份验证通过,备份信息中心子系统根据对所述数据库的备份部署信息,修改所述数据库主机的系统定时任务。
7.根据权利要求1所述的数据库备份方法,其特征在于,备份信息中心子系统接收对数据库的备份部署信息,之后还包括:
备份信息中心子系统接收部署信息查询指令,获取所述数据库的备份部署信息;以及,接收部署信息编辑操作指令,对所述数据库的备份配置信息进行修改或删除。
8.一种数据库备份系统,其特征在于,包括:
备份信息中心子系统,用于备份信息中心子系统接收对数据库的备份部署信息,所述备份部署信息包括:根据域名下发备份任务在备库上,所述域名始终绑定在所述备库对应的IP上,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;
数据库备份子系统,用于数据库备份子系统根据所述备份计划对所述数据库进行自动备份,并将每次的备份执行信息存储到备份信息中心子系统;
备份检测子系统,用于备份检测子系统扫描备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的数据库备份方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的数据库备份方法。
CN202310286554.1A 2023-03-15 2023-03-15 一种数据库备份方法及系统、电子设备、存储介质 Pending CN116501544A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310286554.1A CN116501544A (zh) 2023-03-15 2023-03-15 一种数据库备份方法及系统、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310286554.1A CN116501544A (zh) 2023-03-15 2023-03-15 一种数据库备份方法及系统、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN116501544A true CN116501544A (zh) 2023-07-28

Family

ID=87315688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310286554.1A Pending CN116501544A (zh) 2023-03-15 2023-03-15 一种数据库备份方法及系统、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN116501544A (zh)

Similar Documents

Publication Publication Date Title
US11907254B2 (en) Provisioning and managing replicated data instances
US10802921B2 (en) Systems and methods including committing a note to master and slave copies of a data volume based on sequential operation numbers
US10310949B1 (en) Disaster restore of big data application with near zero RTO
US11321291B2 (en) Persistent version control for data transfer between heterogeneous data stores
US9733869B1 (en) Provisioning a slave for data storage using metadata with updated references
US10452502B2 (en) Handling node failure in multi-node data storage systems
US10452680B1 (en) Catch-up replication with log peer
US11409711B2 (en) Barriers for dependent operations among sharded data stores
US20210165768A1 (en) Replication Barriers for Dependent Data Transfers between Data Stores
US11281550B2 (en) Disaster recovery specific configurations, management, and application
CN112035062B (zh) 云计算的本地存储的迁移方法、计算机设备及存储介质
US20160050113A1 (en) Methods for managing storage virtual machine configuration changes in a distributed storage system and devices thereof
CN112261114A (zh) 一种数据备份系统及方法
CN110958287A (zh) 操作对象数据同步方法、装置及系统
CN116501544A (zh) 一种数据库备份方法及系统、电子设备、存储介质
US11074002B2 (en) Object storage system with meta object replication
US11093465B2 (en) Object storage system with versioned meta objects
CN115297129B (zh) 数据通信网络建立方法及装置
US20220229741A1 (en) Protecting databases in a clusterless availability group
CN118012665A (zh) 一致性快照组方法、装置、电子设备和存储介质
CN115858246A (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