[发明专利]基于驱动封装的数据库同步方法有效
申请号: | 201710498992.9 | 申请日: | 2017-06-27 |
公开(公告)号: | CN107357848B | 公开(公告)日: | 2019-11-26 |
发明(设计)人: | 焦涌;徐立洲;朱海文;王璐;耿会东;张磊 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | G06F16/2457 | 分类号: | G06F16/2457;G06F16/27;G06F16/28 |
代理公司: | 32204 南京苏高专利商标事务所(普通合伙) | 代理人: | 王安琪<国际申请>=<国际公布>=<进入 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 驱动 封装 数据库 同步 方法 | ||
本发明公开了一种基于驱动封装的数据库同步方法,包括如下步骤:对原生数据库驱动进行封装,形成同步方法的驱动端,它提供的接口和原生数据库驱动接口相同;应用通过驱动端提供的接口进行数据库访问时,如果是数据库查询,则直接查询数据库并且返回结果,否则,在进行数据库访问的同时,将修改操作记录到日志文件中;驱动端将日志文件内容发送到服务端;服务端根据日志文件的内容提取出修改操作,将修改操作同步到其它数据库中,然后将同步结果返回到驱动端;驱动端将日志文件进行备份。本发明的方法不依赖于数据库厂商的技术制约,能够支持各种关系型数据库,并且支持异构数据的同步,在对数据库低负载的情况下具有良好的数据同步性能。
技术领域
本发明涉及关系型数据库技术领域,尤其是一种基于驱动封装的数据库同步方法。
背景技术
随着互联网的飞速发展,数据变得越来越重要,关系型数据库作为传统的数据存储载体正在得到广泛的应用,几乎各行各业都会将行业数据存储到数据库中。作为数据的载体,数据库仅仅起到了数据的静态存储功能,对于数据之间的动态关系(数据备份、数据汇总/分发)却并未涉及。因此,众多的数据库同步软件涌现出来,这些同步软件都实现了基础的数据库同步功能,就是捕捉源端数据库数据的变化,将变化的数据发送到目的端数据库进行入库,从而保持源端和目的端数据库数据的一致性。但是这些数据库同步软件有着如下的不足:
(1)支持的关系型数据库有限。很多同步软件都是数据库厂商自行研发,作为自家数据库软件的配套工具,不支持其它厂商的数据库。
(2)支持的数据同步功能有限。源端和目的端的数据存储架构往往有着较大的不同,这些不同包含了数据结构的不同(表名、列名、列类型、列数量等)以及数据语义的不同。很多数据同步软件仅仅支持同构数据的同步,而对异构数据的同步支持有限。
(3)受数据库制约,对数据库性能影响大。当前的数据库同步软件基本采用触发器或者数据库重做日志扫描技术实现数据变更捕捉。对于触发器方式,特别是同步表增多时对数据库性能影响巨大,是一种性能低下的同步实现方式。由于数据库厂商均没有开放其重做日志格式,因此对重做日志的扫描必须通过数据库厂商提供的接口或者工具实现,这受到了数据厂商的制约,如果数据库厂商拒绝提供此类接口则只能通过触发器实现。
发明内容
本发明所要解决的技术问题在于,提供一种基于驱动封装的数据库同步方法,该同步方法不依赖于数据库厂商的技术制约,能够支持各种关系型数据库,并且支持异构数据的同步,在对数据库低负载的情况下具有良好的数据同步性能。
为解决上述技术问题,本发明提供一种基于驱动封装的数据库同步方法,包括如下步骤:
(1)对原生数据库驱动进行封装,形成同步方法的驱动端,它提供的接口和原生数据库驱动接口相同;
(2)应用通过驱动端提供的接口进行数据库访问时,如果是数据库查询,则直接查询数据库并且返回结果;否则,在进行数据库访问的同时,将修改操作记录到日志文件中;
(3)驱动端将日志文件内容发送到服务端;
(4)服务端根据日志文件的内容提取出修改操作,将修改操作同步到其它数据库中,然后将同步结果返回到驱动端;
(5)驱动端将日志文件进行备份。
优选的,步骤(2)中,将修改操作记录到日志文件的步骤为:
(21)建立修改缓存队列,修改缓存队列中的每一个数据修改项代表了一条数据的修改;
(22)当应用通过接口修改数据时,驱动端根据应用传递的参数构造出一个数据修改项对象,将其加入到修改缓存队列中;
(23)从修改缓存队列中取出数据修改项对象,根据应用名称和修改的时间选择相应的联机重做日志,将数据修改项的内容写入到文件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710498992.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法及其装置
- 下一篇:基于测试类应用的交互方法和装置