一种数据库之间的数据同步方法及系统技术方案

技术编号:21736053 阅读:28 留言:0更新日期:2019-07-31 19:11
本发明专利技术提出了一种数据库之间的数据同步方法及系统,包括:每个客户端将要发送至服务端的数据保存到SQL文件中;客户端定时读取所述SQL文件,判断所述SQL文件中的记录是否为最新记录,如果是在MODIFY文件中删除与所述DELETE文件中的主键相同的记录,合并MODIFY记录;将所述SQL文件上传至所述服务端,并记录每个所述SQL文件的最新记录时间到配置中;服务端将并后的SQL文件发送给每个所述客户端;客户端接收并执行SQL文件,以实现不同客户端的数据库之间的数据同步。本发明专利技术可以无需查询同步数据,可加密传输同步数据,无需变更网络策略。

A Method and System of Data Synchronization between Databases

【技术实现步骤摘要】
一种数据库之间的数据同步方法及系统
本专利技术涉及数据库同步
,特别涉及一种数据库之间的数据同步方法及系统。
技术介绍
现有的系统中的数据通常存储在数据库中,但为了容错通常会设置两台数据库存储数据,采用以下方式之一:(1)使用数据库自身同步机制,如ORA-RAC方式。但这种方式的局限在于只能两台数据库之间进行数据同步。(2)建立一个同步服务器,连接需同步的数据库。定时从数据库中查询数据然后将数据插入到另一个数据库中。但这种方式的缺陷在于,使用数据库自身机制只能在2台数据库之间进行同步。使用同步服务器需定时库中查询数据,会影响业务效率。当多个数据库不在同一地方时因为同步服务要连接数据库端口,所以需要网络开启更多策略来满足,而且数据以明文传输有很大安全隐患。
技术实现思路
本专利技术的目的旨在至少解决所述技术缺陷之一。为此,本专利技术的目的在于提出一种数据库之间的数据同步方法及系统。为了实现上述目的,本专利技术的实施例提供一种数据库之间的数据同步方法,包括如下步骤:步骤S1,每个客户端将要发送至服务端的数据保存到SQL文件中,其中,所述SQL文件包括:INSERT文件、MODIFY文件本文档来自技高网...

【技术保护点】
1.一种数据库之间的数据同步方法,其特征在于,包括如下步骤:步骤S1,每个客户端将要发送至服务端的数据保存到SQL文件中,其中,所述SQL文件包括:INSERT文件、MODIFY文件和DELETE文件;步骤S2,每个所述客户端定时读取所述SQL文件,判断所述SQL文件中的记录是否为最新记录,如果是且到达SQL文件尾时,读取所述DELETE文件中的主键和所述MODIFY文件中的主键,并在所述MODIFY文件中删除与所述DELETE文件中的主键相同的记录,合并所述MODIFY记录;步骤S3,每个所述客户端将所述SQL文件上传至所述服务端,并记录每个所述SQL文件的最新记录时间到配置中;步骤S4,所...

【技术特征摘要】
1.一种数据库之间的数据同步方法,其特征在于,包括如下步骤:步骤S1,每个客户端将要发送至服务端的数据保存到SQL文件中,其中,所述SQL文件包括:INSERT文件、MODIFY文件和DELETE文件;步骤S2,每个所述客户端定时读取所述SQL文件,判断所述SQL文件中的记录是否为最新记录,如果是且到达SQL文件尾时,读取所述DELETE文件中的主键和所述MODIFY文件中的主键,并在所述MODIFY文件中删除与所述DELETE文件中的主键相同的记录,合并所述MODIFY记录;步骤S3,每个所述客户端将所述SQL文件上传至所述服务端,并记录每个所述SQL文件的最新记录时间到配置中;步骤S4,所述服务端接收来自每个所述客户端的SQL文件,并对多个客户端的SQL文件进行合并,得到合并后的SQL文件发送给每个所述客户端,其中,所述合并后的SQL文件中记录有各个所述客户端的发送数据;步骤S5,每个所述客户端接收并保存来自所述服务端的合并后的SQL文件,通过读取所述合并后的SQL文件,并在本地数据库执行SQL,以实现不同客户端的数据库之间的数据同步。2.如权利要求1所述的数据库之间的数据同步方法,其特征在于,每个所述客户端内设置发送数据目录,用于存储所述SQL文件,所述发送数据目录下的每个表均对应有子目录,每个所述子目录中保存有所述INSERT文件、MODIFY文件和DELETE文件。3.如权利要求1所述的数据库之间的数据同步方法,其特征在于,在所述步骤S2中,所述判断所述SQL文件中的记录是否为最新记录,包括如下步骤:由所述客户端获取所述SQL文件最新记录时间;如果所述SQL文件中出现小于最新时间的记录,则删除旧的记录,然后判断是否到达SQL文件尾;如果判断到达SQL文件尾,则读取DELETE记录主键,否则返回继续判断所述SQL文件中是否出现小于最新时间的记录。4.如权利要求1所述的数据库之间的数据同步方法,其特征在于,在所述步骤S3中,所述客户端在将所述SQL文件发给服务端的同时,记录每个所述SQL文件最后一行的时间值,该时间值用于确定下次读取记录时从新的记录开始。5.如权利要求1所述的数据库之间的数据同步方法,其特征在于,每个所述客户端与所述服务端之间的S...

【专利技术属性】
技术研发人员:赵剑竹
申请(专利权)人:北京信安世纪科技股份有限公司
类型:发明
国别省市:北京,11

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

1