主备服务器数据同步的方法、备用服务器以及主服务器技术

技术编号:37703050 阅读:16 留言:0更新日期:2023-06-01 23:49
本发明专利技术实施例提供一种主备服务器数据同步的方法、备用服务器以及主服务器,属于数据库技术领域。该方法包括:向主服务器发送全量数据同步的请求消息,从主服务器下载与数据类型对应的至少一个备份文件,其中该备份文件是由主服务器基于请求消息,调用Python备份脚本在预定目录下生成的,且预定目录是根据数据库类型确定的;调用Python还原脚本还原至少一个备份文件至指定文件中,通过上述技术方案,根据数据类型,采用python的方式备份文件,再将该备份文件下载到另一个服务器上,通过调用python脚本执行与数据库类型对应的命令恢复数据,这种python方式能兼容不同的数据库,避免了不同数据库语法差异上导致的同步不成功的问题。的问题。的问题。

【技术实现步骤摘要】
主备服务器数据同步的方法、备用服务器以及主服务器


[0001]本专利技术涉及计算机
,具体地涉及一种主备服务器数据同步的方法、备用服务器以及主服务器。

技术介绍

[0002]现有系统已经实现了mysql数据库下的主备数据全量同步,当备服务器上线,将主服务器上面的数据全量更新到备服务器,首先备份主数据库的数据,通过mysqldump命令将数据库中指定的表数据备份到backup.sql文件中,其次备服务器下载该backup.sql文件,并通过执行backup.sql恢复该表的数据。当主服务器重新上线,备服务器将通过相同的方式把数据全量更新到主服务器上,但是,针对其他数据库,例如,达梦数据库,由于语法上的差异,采用现有的方式将无法实现数据同步。

技术实现思路

[0003]本专利技术实施例的目的是提供一种主备服务器数据同步的方法、备用服务器以及主服务器,用以解决上述现有技术中存在的技术问题。
[0004]为了实现上述目的,本专利技术实施例提供一种数据同步的方法,应用于备用服务器,包括向主服务器发送全量数据同步的请求消息,其中,所述请求消息中包含待同步的全量数据的数据类型以及数据库类型;从所述主服务器下载与所述数据类型对应的至少一个备份文件,其中该备份文件是由所述主服务器基于所述请求消息,调用Python备份脚本在预定目录下生成的,且所述预定目录是根据所述数据库类型确定的;调用Python还原脚本还原所述至少一个备份文件至指定文件中。
[0005]可选的,所述调用Python还原脚本还原所述至少一个备份文件至指定文件中,包括:
[0006]确定当前待还原的备份文件的绝对路径以及数据库类型;
[0007]根据所述绝对路径以及所述数据类型,确定所述当前待还原的备份文件的目标目录;以及
[0008]调用所述Python还原脚本,执行针对所述数据库类型设置的命令,将所述当前待还原的备份文件导入所述目标目录下的所述指定文件中。
[0009]可选的,在所述调用Python还原脚本还原所述至少一个备份文件至指定文件中之前,还包括:
[0010]清空所述指定文件内已存在的文件数据,并向所述主服务器发送下载文件的请求消息,以使所述主服务器生成所述下载文件对应的表数据以及全量备份所述表数据至所述备份文件;其中,所述下载文件为表级的文件;
[0011]删除已有的表数据,并下载所述备份文件,通过所述备份文件恢复所述下载文件对应的表数据。
[0012]可选的,在所述调用Python还原脚本还原所述至少一个备份文件至指定文件中之
后,还包括:
[0013]利用该备用服务器的IP地址替换所述主服务器的IP地址,且该备用服务器进入工作状态。
[0014]可选的,在所述备用服务器进入工作状态之后,还包括:
[0015]向所述主服务器发送心跳检测,若收到心跳回复,则通知所述主服务器进行所述全量数据同步。
[0016]相应的,本专利技术另一实施例还提供一种数据同步的方法,应用于主服务器,包括接收所述备用服务器发送的全量数据同步的请求消息,其中,所述请求消息中包含待同步的全量数据的数据类型以及数据库类型;以及基于所述请求消息,调用Python备份脚本在预定目录下生成与所述数据类型对应的至少一个备份文件,以使所述备用服务器还原所述至少一个备份文件后进入工作状态,其中,所述预定目录是根据所述数据库类型确定的。
[0017]可选的,所述基于所述请求消息,调用Python备份脚本在预定目录下生成与所述数据类型对应的至少一个备份文件,包括:
[0018]确定当前待备份的全量数据的绝对路径以及数据库类型;
[0019]根据所述绝对路径以及所述数据库类型,确定所述预定目录;以及
[0020]调用所述Python备份脚本,执行针对所述数据库类型设置的命令,导出所述当前待备份的全量数据至所述预定目录下的所述至少一个备份文件中。
[0021]可选的,在所述调用所述Python备份脚本,执行针对所述数据库类型设置的命令,导出与所述当前待备份的全量数据至所述预定目录下的所述至少一个备份文件中之前,还包括:
[0022]接收到所述备用服务器发送的下载文件的请求消息后,清空所述至少一个备份文件内已存在的文件数据;
[0023]基于所述请求消息,生成下载文件对应的表数据并全量备份所述表数据至所述至少一个备份文件中;其中,所述下载文件为表级的文件。
[0024]可选的,在所述以使所述备用服务器还原所述至少一个备份文件后进入工作状态之后,还包括:
[0025]接收所述备用服务器发送的心跳检测,并返回心跳回复;
[0026]根据接收到的所述备用服务器基于所述心跳回复返回的通知消息,进行所述全量数据同步。
[0027]可选的,所述根据接收到的所述备用服务器基于所述心跳回复返回的通知消息,进行所述全量数据同步,包括:
[0028]清空指定文件内已存在的文件数据,并向所述备用服务器发送下载文件的请求消息,以使所述备用服务器全量备份表数据至所述备份文件中;其中,所述下载文件为表级的文件;
[0029]清空所述指定文件内已存在的表数据并下载所述备份文件至所述指定文件中,通过所述备份文件恢复所述下载文件对应的表数据。
[0030]另一方面,本专利技术提供一种备用服务器,用于执行上述实施例提供的一种数据同步的方法。
[0031]另一方面,本专利技术提供一种主服务器,用于执行上述另一实施例提供的一种数据
同步的方法。
[0032]通过上述技术方案,根据数据类型,采用python的方式备份文件,再将该备份文件下载到另一个服务器上,通过调用python脚本执行与数据库类型对应的命令恢复数据,这种python方式能兼容不同的数据库,避免了不同数据库语法差异上导致的同步不成功的问题。
[0033]本专利技术实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0034]附图是用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术实施例,但并不构成对本专利技术实施例的限制。在附图中:
[0035]图1是本专利技术实施例提供的一种数据同步的系统示意图;
[0036]图2是本专利技术实施例提供的一种服务器运维节点管理界面图;
[0037]图3是本专利技术实施例提供的一种添加主备节点的示意图;
[0038]图4是本专利技术实施例提供的一种由备用服务器执行的数据同步的方法流程图;
[0039]图5是本专利技术实施例提供的一种在备用服务器进行数据同步的流程图;
[0040]图6是本专利技术实施例提供的一种由主服务器执行的数据同步的方法流程图;
[0041]图7是本专利技术实施例提供的一种在主服务器进行数据同步的流程图。
具体实施方式
[0042]以下结合附图对本专利技术实施例的具体实施方式进行详细说明。应当本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种主备服务器数据同步的方法,其特征在于,应用于备用服务器,包括:向主服务器发送全量数据同步的请求消息,其中,所述请求消息中包含待同步的全量数据的数据类型以及数据库类型;从所述主服务器下载与所述数据类型对应的至少一个备份文件,其中该备份文件是由所述主服务器基于所述请求消息,调用Python备份脚本在预定目录下生成的,且所述预定目录是根据所述数据库类型确定的;调用Python还原脚本还原所述至少一个备份文件至指定文件中。2.根据权利要求1所述的方法,其特征在于,所述调用Python还原脚本还原所述至少一个备份文件至指定文件中,包括:确定当前待还原的备份文件的绝对路径以及数据库类型;根据所述绝对路径以及所述数据类型,确定所述当前待还原的备份文件的目标目录;以及调用所述Python还原脚本,执行针对所述数据库类型设置的命令,将所述当前待还原的备份文件导入所述目标目录下的所述指定文件中。3.根据权利要求1所述的方法,其特征在于,在所述调用Python还原脚本还原所述至少一个备份文件至指定文件中之前,还包括:清空所述指定文件内已存在的文件数据,并向所述主服务器发送下载文件的请求消息,以使所述主服务器生成所述下载文件对应的表数据以及全量备份所述表数据至所述备份文件;其中,所述下载文件为表级的文件;删除已有的表数据,并下载所述备份文件,通过所述备份文件恢复所述下载文件对应的表数据。4.根据权利要求1所述的方法,其特征在于,在所述调用Python还原脚本还原所述至少一个备份文件至指定文件中之后,还包括:利用该备用服务器的IP地址替换所述主服务器的IP地址,且该备用服务器进入工作状态。5.根据权利要求4所述的方法,其特征在于,在所述备用服务器进入工作状态之后,还包括:向所述主服务器发送心跳检测,若收到心跳回复,则通知所述主服务器进行所述全量数据同步。6.一种数据同步的方法,其特征在于,应用于主服务器,包括:接收备用服务器发送的全量数据同步的请求消息,其中,所述请求消息中包含待同步的全量数据的数据类型以及数据库类型;以及基于所述请求消息,调用Python备份脚本在预定目录下生成与所述数据类型对应的至少一个备...

【专利技术属性】
技术研发人员:黄银霞
申请(专利权)人:北京飞讯数码科技有限公司
类型:发明
国别省市:

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

1