[发明专利]一种高性能的数据库分拣同步系统与实现在审
申请号: | 201610300268.6 | 申请日: | 2016-05-04 |
公开(公告)号: | CN107346322A | 公开(公告)日: | 2017-11-14 |
发明(设计)人: | 季峰 | 申请(专利权)人: | 季峰;韦伟 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210008 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 性能 数据库 分拣 同步 系统 实现 | ||
技术领域
本发明从属于数据库同步技术领域,特别是关系型数据库应用领域。
技术背景
出于系统安全性的考虑,数据库系统通常都会采用备份或者容灾策略,以供在生产数据库因为各种原因出现异常不能正常提供服务时自动接管业务,继续对外提供正常服务。
数据复制技术现已被广泛运用于大量企业信息系统中。其主要使用场景为数据分发共享,数据灾难备份已经数据仓库建设。目前数据复制主流的数据复制技术主要分为基于触发器的数据复制技术和基于事务日志的数据复制技术。基于触发器的数据复制技术是早期的复制技术,它实现方便,技术难度低,不同平台之间几乎没有壁垒。但是它最大的问题在于对源端的性能会产生很大的影响,而且无法识别事务信息,无法保证数据的一致性和有序性。而基于事务日志的数据复制技术正相反。它实现的技术难度比较大,需要针对不同的平台专门开发接口,但是它最大的优势是对源端性能几乎无影响,而且可以保证数据一致性和有序性,故事目前的主流技术。
目前业界已经存在数款数据库同步工具,基本都是由日志监控模块、同步配置模块和日志重做模块组成,实现机制大都是根据数据库提供的日志访问接口,从日志中提取出对数据库进行操作的修改语句,然后将提取出的语句施加到备用库中进行动作重放,从而达到主库和备用库数据一致的目的。
目前主流同步工具的实现方式从一定程度上解决了数据库数据同步的问题,但在面对业务量非常大的数据库系统时都会力不从心,因为基于数据库日志进 行的数据同步操作都会面临备用数据库侧数据操作量成倍放大的情况,对生产库发起的一条DML指令可能会修改大量的生产数据,但从日志中挖掘出来的操作数据是针对每一条生产库记录的,比如在生产库的一条update语句修改了10000条数据库记录,那么从数据库日志中挖掘出来的数据库操作记录就是10000条,这样计算下来针对生产库的一次操作就转化成了针对备用库的10000次操作,数据库操作次数被成倍放大,这种情况下非常容易引发备用库的瓶颈出现,导致备用库无法及时处理请求,起不到应有的备库作用。
本发明针对上述数据库同步工具的困境,从前端入手提出了解决思路。本发明涉及现有生产程序的很小改造,通过在生产程序和生产数据库之间增加一个数据库接入模块的做法,生产程序将本来要发给生产数据库的请求都改为发给数据库接入模块,由数据库接入模块向数据库发起操作请求并传递操作结果给生产程序,这样对数据库所有的操作都会经过数据库接入模块,通过数据库接入模块就可以获取到所有的数据库操作,采用将数据库操作命令发给备用库执行的方式可以很大程度的减少备用库上要执行的操作的数据量,从而达到数据同步操作稳定、快速的目的。
目前尚未检索到与本发明相同的解决方案及系统实现。
发明内容
在生产程序和生产数据库之间增加数据库接入模块,该模块包含两部分,命令接收模块和数据库统一操作模块,命令接收模块用于接收生产程序发往数据库的操作指令,数据库统一操作模块负责和数据库的建链以及数据库操作的执行动作,并传递操作结果给生产程序,数据库统一操作模块可以支持多种数据库的链接、访问。
本发明中提及的数据库同步系统的主要功能特点是:
(1)、可以满足数据库同步的高性能要求,可以支持业务量很大的数据库进行同步操作。
(2)、用户的生产程序不再需要关注数据库链接部分,本模块做了统一的封装处理,使得生产程序可以更专注于业务本身。
(3)、本模块的数据库链接功能屏蔽了不同数据库的接口差异,生产程序不需要针对不同数据库类型分别考虑建链,该部分的工作统一由数据库访问模块来完成。
附图说明
图1是高性能数据库分拣同步系统示意图。
具体实施方式
本发明所述系统的基本框可见附图1:图中各模块功能介绍如下:
◆101是命令接收模块,主要完成生产程序的数据库操作命令和操作结果的接收与转发。具体功能包括接收从生产程序发送给数据库待执行的命令,将命令转发给数据访问模块执行,并将数据访问模块返回的命令执行结果返回给生产程序。
◆102是数据访问模块,用来链接数据库并执行命令接收模块转发来的数据库操作命令,该模块能够支持多种数据库,将操作命令发送给主用数据库执行结束后将执行结果反馈给命令接收模块,同时根据场景判断是否要将操作的命令转发给数据同步模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于季峰;韦伟,未经季峰;韦伟许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610300268.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于VR游戏设备的仿真体感游戏系统
- 下一篇:带红外监测功能的秋千