数据库备份方法及其系统的制作方法
【技术领域】
[0001]本发明涉及数据库技术领域,特别是涉及数据库备份方法和数据库备份系统。
【背景技术】
[0002]数据库数据是一个系统应用的核心。生产线上的数据库通常面临着各种各样的风险威胁:数据库主机(数据库所在主机)硬盘损坏,使物理数据丢失;数据库主机受恶意攻击,数据存在安全隐患;数据库管理员人为的误操作等等。如果生产线上各个数据库没有进行实时备份,或者备份失败,那么将难以进行数据恢复。目前的数据库备份机制主要存在以下的不足:
[0003]数据库备份需要人为干预,人工成本高,数据库备份的实时性较差;
[0004]没有考虑生成的备份数据的完备性,导致存在大量不可用的备份数据,浪费存储空间,数据库恢复难以实现;
[0005]对大批量分布式的数据库缺乏统一规范化的备份管理。
【发明内容】
[0006]本发明提供一种数据库备份方法及其系统,能够提高数据库备份的实时性和可靠性,并且便于对大批量分布式数据库的备份进行统一管理。
[0007]本发明一方面提供数据库备份方法,包括:
[0008]备份信息中心子系统接收对数据库的备份部署信息,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;
[0009]数据库备份子系统根据所述备份计划对所述数据库进行自动备份,记录每次的备份执行信息并存储到备份信息中心子系统;
[0010]备份检测子系统扫描备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示。
[0011 ]本发明另一方面提供数据库备份系统,其特征在于,包括:
[0012]备份信息中心子系统,用于备份信息中心子系统接收对数据库的备份部署信息,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;
[0013]数据库备份子系统,用于数据库备份子系统根据所述备份计划对所述数据库进行自动备份,并将每次的备份执行信息存储到备份信息中心子系统;
[0014]备份检测子系统,用于备份检测子系统扫描备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提不O
[0015]上述技术方案的数据库备份方法及其系统,通过备份信息中心子系统接收数据库管理员对数据库的备份部署信息,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划;数据库备份子系统根据所述备份计划对所述数据库进行自动备份,记录每次的备份执行信息并存储到备份信息中心子系统;备份检测子系统扫描备份信息中心子系统存储的备份执行信息,根据所述备份执行信息检测所述数据库每次备份执行是否成功,若否,输出告警提示,以使数据库管理员及时排查原因。通过本发明的上述方案,能够提高数据库备份的实时性和可靠性,并且便于对大批量分布式数据库的备份进行统一管理。
【附图说明】
[0016]图1为一实施例的数据库备份方法的示意性流程图;
[0017]图2为一实施例的数据库备份方法的实现系统的框架图。
【具体实施方式】
[0018]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0019]本发明提供的实施例包括数据库备份方法实施例,还包括相应的数据库备份系统实施例。以下分别进行详细说明。
[0020]图1为一实施例的数据库备份方法的示意性流程图;如图1所示,本实施例的数据库备份方法包括如下步骤SI至S3,各步骤详述如下:
[0021]SI,备份信息中心子系统接收对数据库的备份部署信息,远程连接对应的数据库主机,向所述数据库主机发送远程部署请求,以根据所述备份部署信息部署所述数据库的备份计划。
[0022]本实施例中,备份信息中心子系统包括备份管理模块,数据库管理员可通过备份管理模块GUI(人机交互界面)设置各数据库的备份部署信息,例如设置数据库的备份模式、备份方式、备份目录、备份时间等。所述备份方式包括本地备份和远程备份,所述备份模式指的是全量备份或增量备份。备份信息中心子系统接收数据库管理员对数据库的备份部署信息,可通过运行预先设定的后台脚本为不同数据库生成对应的备份部署脚本和参数配置文件。
[0023]优选的,通过备份信息中心子系统对数据库进行备份部署的实现过程包括:
[0024]备份信息中心子系统接收对数据库的备份部署信息,远程连接对应的数据库主机,与所述数据库主机进行双向身份验证;备份信息中心子系统向对应的数据库主机发送远程连接请求,数据库主机收到请求后,验证备份信息中心子系统的主机身份;双方验证身份无误后,数据库主机响应所述请求,执行备份信息中心子系统发送过来的部署命令(包括备份部署脚本和相应的参数配置文件)。若双向身份验证通过,备份信息中心子系统读取所述数据库主机的系统定时任务,根据所述系统定时任务确定所述数据库的备份时间,以避开所述数据库主机的系统负载高峰时段对数据库进行备份;可使数据库所在主机负载更均匀,避免因为数据库备份而使系统整体性能下降。备份信息中心子系统还可根据对所述数据库的备份部署信息,修改所述数据库主机的系统定时任务。
[0025]若备份信息中心子系统接收到本地备份的部署信息,所述备份信息中心子系统还获取所述数据库主机的系统分区及分区大小,根据所述系统分区及分区大小部署所述数据库的备份目录。若备份信息中心子系统接收到远程备份的部署信息,所述备份信息中心子系统读取远程备份机器列表,获取各远程备份机器的系统信息(包括操作系统信息、内存大小、CPU核数、磁盘大小及使用量等,以及目前已使用该机器作为远程备份主机的数据库),根据各远程备份机器的系统信息部署所述数据库的远程备份主机;并配置远程备份主机中适当的备份目录及数据传输带宽,以将数据库备份得到的备份文件压缩并传输至所述目标远程备份主机的指定目录上。
[0026]优选的,数据库主机根据备份部署信息部署本机数据库的备份计划,部署完毕后,还向备份信息中心子系统发送备份计划部署完毕的确认信息。
[0027]此外,通过备份信息中心子系统对所述数据库远程备份部署完成后。还可通过备份信息中心子系统的备份管理模块对已部署的数据库的备份部署信息进行修改或删除,具体包括:接收部署信息查询指令,获取所述数据库的备份部署信息;以及,接收部署信息编辑操作指令,对所述数据库的备份配置信息进行修改或删除。
[0028]需要说明的是,一台数据库主机可能会有两个以上数据库,备份信息中心子系统将需要备份的数据库列表信息写入配置文件中,通过读取此配置文件确定需要备份的数据库。
[0029]需要说明的是,本发明对备份信息中心子系统与数据库主机之间的身份验证的具体方式不作限定,例如:可通过密码验证、IP地址验证或者其他消息验证等方式实现。
[0030]S2,数据库备份子系统根据所述备份计划对所述数据库进