数据同步方法、装置、计算设备及存储介质制造方法及图纸

技术编号:38908338 阅读:11 留言:0更新日期:2023-09-25 09:26
本发明专利技术公开了一种数据同步方法、装置、计算设备及存储介质,方法在计算设备中执行,以便将第一数据库服务器中的数据同步至第二数据库服务器,所述计算设备经由消息队列与所述第一数据库服务器通信连接,并与所述第二数据库服务器通信连接;所述方法包括:经由消息队列从第一数据库服务器获取待同步数据消息;将所述待同步数据消息转换为二进制日志,并将所述二进制日志转换为增量记录信息;根据所述增量记录信息,生成第二数据库服务器的第二执行语句;通过执行所述第二执行语句来操作第二数据库服务器,以将第一数据库服务器中的数据同步至第二数据库服务器。根据本发明专利技术的技术方案,能实现将MySQL数据库服务器中的数据同步至Sql Server。Server。Server。

【技术实现步骤摘要】
数据同步方法、装置、计算设备及存储介质


[0001]本专利技术涉及数据库
,尤其涉及一种数据同步方法、装置、计算设备及存储介质。

技术介绍

[0002]Sql Server(Microsoft SQL Server,微软结构化查询语言服务器)是由美国微软公司所推出的关系数据库解决方案,最新的版本是Sql Server 2017。MySQL数据库的内置语言原本是采用美国标准局和国际标准组织所定义的SQL语言,但,微软公司对其进行了部分扩充而成为作业用SQL。
[0003]目前,业界未发现将MySQL数据库数据同步至Sql Server的开源实现方案。MySQL官方只提供了同步至MySQL数据库的同步方案,未提供同步至其他数据库(Oracle、Sql Server、PostgreSQL等)的数据同步工具。
[0004]为此,需要一种数据同步方法,以实现将MySQL数据库服务器中的数据同步至Sql Server。

技术实现思路

[0005]为此,本专利技术提供一种数据同步方法和数据同步装置,以解决或至少缓解上面存在的问题。
[0006]根据本专利技术的一个方面,提供一种数据同步方法,在计算设备中执行,以便将第一数据库服务器中的数据同步至第二数据库服务器,所述计算设备经由消息队列与所述第一数据库服务器通信连接,并与所述第二数据库服务器通信连接;所述方法包括:经由消息队列从第一数据库服务器获取待同步数据消息;将所述待同步数据消息转换为二进制日志,并将所述二进制日志转换为增量记录信息;根据所述增量记录信息,生成第二数据库服务器的第二执行语句;通过执行所述第二执行语句来操作第二数据库服务器,以将第一数据库服务器中的数据同步至第二数据库服务器。
[0007]可选地,在根据本专利技术的数据同步方法中,还包括:在执行所述第二执行语句过程中,如果发生异常,则根据预定间隔时间和预定重试次数,重新执行所述第二执行语句。
[0008]可选地,在根据本专利技术的数据同步方法中,从所述消息队列中获取待同步数据消息,包括:判断所述消息队列中是否存在待同步数据消息;如果存在待同步数据消息,则利用消息队列客户端从所述消息队列中拉取待同步数据消息。
[0009]可选地,在根据本专利技术的数据同步方法中,将所述待同步数据消息转换为二进制日志,包括:利用数据序列化协议,对所述待同步数据消息进行反序列化处理,以生成二进制日志。
[0010]可选地,在根据本专利技术的数据同步方法中,将所述二进制日志转换为增量记录信息,包括:根据所述二进制日志中的列类型名称,将所述第一数据库服务器记录的第一数据类型转换为第二数据库服务器中对应的第二数据类型。
[0011]可选地,在根据本专利技术的数据同步方法中,将所述二进制日志转换为增量记录信息,包括:将所述二进制日志中的第一操作类型转换为对应的第二操作类型,得到增量记录信息。
[0012]可选地,在根据本专利技术的数据同步方法中,根据所述增量记录信息,生成第二数据库服务器的第二执行语句,包括:根据所述增量记录信息中的第二操作类型,拼接生成相应的第二执行语句。
[0013]可选地,在根据本专利技术的数据同步方法中,所述第一操作类型包括INSERT操作、UPDAT操作、DELETE操作。
[0014]可选地,在根据本专利技术的数据同步方法中,所述第一数据库服务器为MySQL数据库服务器,所述第二数据库服务器为Sql Server。
[0015]根据本专利技术的一个方面,提供一种数据同步装置,驻留在计算设备中,适于将第一数据库服务器中的数据同步至第二数据库服务器,所述数据同步装置经由消息队列与所述第一数据库服务器通信连接,并与所述第二数据库服务器通信连接;所述装置包括:获取模块,适于经由消息队列从第一数据库服务器获取待同步数据消息;转换模块,适于将所述待同步数据消息转换为二进制日志,并将所述二进制日志转换为增量记录信息;生成模块,适于根据所述增量记录信息,生成第二数据库服务器的第二执行语句;执行模块,适于通过执行所述第二执行语句来操作第二数据库服务器,以将第一数据库服务器中的数据同步至第二数据库服务器。
[0016]根据本专利技术的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的数据同步方法的指令。
[0017]根据本专利技术的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的数据同步方法。
[0018]根据本专利技术的技术方案,提供了一种数据同步方法,利用计算设备中的数据同步装置,可以经由消息队列从第一数据库服务器获取待同步数据消息,将待同步数据消息转换为二进制日志,并将二进制日志转换为增量记录信息,根据增量记录信息,生成第二数据库服务器的第二执行语句,并且,通过执行第二执行语句来操作第二数据库服务器,以将第一数据库服务器中的数据同步至第二数据库服务器。这样,根据本专利技术的技术方案,能实现将MySQL数据库服务器中的数据同步至Sql Server。
[0019]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0020]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0021]图1示出了根据本专利技术一个实施例的计算设备100的示意图;
[0022]图2示出了根据本专利技术一个实施例的数据同步方法200的流程示意图;
[0023]图3示出了根据本专利技术一个实施例的数据同步系统300的示意图;
[0024]图4示出了根据本专利技术的一个实施例的数据同步装置400的示意图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0026]图1示出了根据本专利技术一个实施例的计算设备100的示意图。如图1所示,在基本配置中,计算设备100包括至少一个处理单元102和系统存储器104。根据一个方面,取决于计算设备的配置和类型,处理单元102可以实现为处理器。系统存储器104包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,在计算设备中执行,以便将第一数据库服务器中的数据同步至第二数据库服务器,所述计算设备经由消息队列与所述第一数据库服务器通信连接,并与所述第二数据库服务器通信连接;所述方法包括:经由消息队列从第一数据库服务器获取待同步数据消息;将所述待同步数据消息转换为二进制日志,并将所述二进制日志转换为增量记录信息;根据所述增量记录信息,生成第二数据库服务器的第二执行语句;通过执行所述第二执行语句来操作第二数据库服务器,以将第一数据库服务器中的数据同步至第二数据库服务器。2.如权利要求1所述的方法,其中,还包括:在执行所述第二执行语句过程中,如果发生异常,则根据预定间隔时间和预定重试次数,重新执行所述第二执行语句。3.如权利要求1或2所述的方法,其中,从所述消息队列中获取待同步数据消息,包括:判断所述消息队列中是否存在待同步数据消息;如果存在待同步数据消息,则利用消息队列客户端从所述消息队列中拉取待同步数据消息。4.如权利要求1

3中任一项所述的方法,其中,将所述待同步数据消息转换为二进制日志,包括:利用数据序列化协议,对所述待同步数据消息进行反序列化处理,以生成二进制日志。5.如权利要求1

4中任一项所述的方法,其中,将所述二进制日志转换为增量记录信息,包括:根据所述二进制日志中的列类型名称,将所述第一数据库服务器记录的第一数据类型转换为第二数据库服务器中对应的第二数据类型。6.如权利要求1

【专利技术属性】
技术研发人员:路思勇杨雷
申请(专利权)人:车智互联北京科技有限公司
类型:发明
国别省市:

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

1