[发明专利]一种数据库之间的数据同步方法及系统在审
申请号: | 201910263030.4 | 申请日: | 2019-04-02 |
公开(公告)号: | CN110069567A | 公开(公告)日: | 2019-07-30 |
发明(设计)人: | 赵剑竹 | 申请(专利权)人: | 北京信安世纪科技股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F21/60 |
代理公司: | 北京爱普纳杰专利代理事务所(特殊普通合伙) 11419 | 代理人: | 王玉松 |
地址: | 100000 北京市西城区白*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端 数据同步 数据库 同步数据 最新记录 记录 服务端 定时读取 加密传输 数据保存 网络策略 上传 主键 删除 变更 发送 查询 合并 客户 配置 服务 | ||
本发明提出了一种数据库之间的数据同步方法及系统,包括:每个客户端将要发送至服务端的数据保存到SQL文件中;客户端定时读取所述SQL文件,判断所述SQL文件中的记录是否为最新记录,如果是在MODIFY文件中删除与所述DELETE文件中的主键相同的记录,合并MODIFY记录;将所述SQL文件上传至所述服务端,并记录每个所述SQL文件的最新记录时间到配置中;服务端将并后的SQL文件发送给每个所述客户端;客户端接收并执行SQL文件,以实现不同客户端的数据库之间的数据同步。本发明可以无需查询同步数据,可加密传输同步数据,无需变更网络策略。
技术领域
本发明涉及数据库同步技术领域,特别涉及一种数据库之间的数据同步方法及系统。
背景技术
现有的系统中的数据通常存储在数据库中,但为了容错通常会设置两台数据库存储数据,采用以下方式之一:
(1)使用数据库自身同步机制,如ORA-RAC方式。但这种方式的局限在于只能两台数据库之间进行数据同步。
(2)建立一个同步服务器,连接需同步的数据库。定时从数据库中查询数据然后将数据插入到另一个数据库中。但这种方式的缺陷在于,使用数据库自身机制只能在2台数据库之间进行同步。使用同步服务器需定时库中查询数据,会影响业务效率。当多个数据库不在同一地方时因为同步服务要连接数据库端口,所以需要网络开启更多策略来满足,而且数据以明文传输有很大安全隐患。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的目的在于提出一种数据库之间的数据同步方法及系统。
为了实现上述目的,本发明的实施例提供一种数据库之间的数据同步方法,包括如下步骤:
步骤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,以实现不同客户端的数据库之间的数据同步。
进一步,每个所述客户端内设置发送数据目录,用于存储所述SQL文件,所述发送数据目录下的每个表均对应有子目录,每个所述子目录中保存有所述INSERT文件、MODIFY文件和DELETE文件。
进一步,在所述步骤S2中,所述判断所述SQL文件中的记录是否为最新记录,包括如下步骤:
由所述客户端获取所述SQL文件最新记录时间;
如果所述SQL文件中出现小于最新时间的记录,则删除旧的记录,然后判断是否到达SQL文件尾;
如果判断到达SQL文件尾,则读取DELETE记录主键,否则返回继续判断所述SQL文件中是否出现小于最新时间的记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信安世纪科技股份有限公司,未经北京信安世纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910263030.4/2.html,转载请声明来源钻瓜专利网。