[发明专利]一种数据同步系统和方法有效
申请号: | 201510363927.6 | 申请日: | 2015-06-26 |
公开(公告)号: | CN105095364B | 公开(公告)日: | 2018-11-23 |
发明(设计)人: | 何大红 | 申请(专利权)人: | 车智互联(北京)科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京思睿峰知识产权代理有限公司 11396 | 代理人: | 赵爱军;谢建云 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 同步 系统 方法 | ||
1.一种数据同步系统,适于将源数据库中的数据同步到目标数据库,该系统包括消息队列生产者服务器、第一消息队列服务器、第二消息队列服务器和消息队列消费者服务器,消息队列生产者服务器与第一数据库服务器连接,消息队列消费者服务器与第二数据库服务器连接,源数据库位于第一数据库服务器中,目标数据库为第二数据库服务器中,源数据库和目标数据库均包括多个存储不同类型的数据的数据库,其中:
所述消息队列生产者服务器包括:
数据捕获单元,适于根据预定的捕获策略捕获源数据库的变化数据;
压缩单元,适于对捕获的变化数据进行编码和压缩;
写消息队列单元,适于将编码和压缩后的变化数据作为消息写入到第一消息队列服务器中的第一消息队列;
所述第一消息队列服务器适于将第一消息队列中的消息发送给第二消息队列服务器;
所述第二消息队列服务器适于将接收到的消息写入到第二消息队列服务器中的第二消息队列;
所述消息队列消费者服务器包括:
读消息队列单元,适于从第二消息队列中读取消息,得到编码和压缩后的变化数据;
解压缩单元,适于对编码和压缩后的变化数据进行解压缩及解码;
数据更新单元,适于根据解压缩和解码后的变化数据对目标数据库中的数据进行更新;
其中所述第一消息队列服务器和第二消息队列服务器分离设置,且二者之间具有多条通信链路,所述第一消息队列服务器还适于根据预定策略从所述多条通信链路中选择一条或者一条以上的链路进行消息的传输。
2.如权利要求1所述的系统,其中所述捕获策略包括:
数据库触发器、变更数据捕获服务和应用程序级捕获。
3.如权利要求2所述的系统,其中所述消息队列生产者服务器还包括捕获策略分配单元,所述捕获策略分配单元适于:
为数据变化源头已知的数据分配应用程序级的捕获策略;
为数据变化源头未知且实时性要求高的数据分配数据库触发器的捕获策略;以及
为数据变化源头未知且实时性要求低的数据分配变更数据捕获服务的捕获策略。
4.如权利要求1所述的系统,其中所述压缩单元还适于:
判断变化数据的大小是否大于第一阈值;
如果变化数据的大小超过第一阈值,则对变化数据进行编码和压缩,否则不对变化数据进行编码和压缩。
5.如权利要求4所述的系统,其中所述第一阈值为4kb-10kb。
6.如权利要求1所述的系统,其中所述压缩单元还适于:
当消息队列生产者服务器的网络带宽占用比例小于或等于第二阈值时,通过Gzip程序对变化数据进行编码和压缩;
当消息队列生产者服务器的网络带宽占用比例大于第二阈值时,通过7-zip程序对变化数据进行编码和压缩。
7.一种数据同步方法,适于将源数据库中的数据同步到目标数据库,源数据库位于第一数据库服务器中,目标数据库为第二数据库服务器中,源数据库和目标数据库均包括多个存储不同类型的数据的数据库,该方法包括:
根据预定的捕获策略捕获源数据库的变化数据;
对捕获的变化数据进行编码和压缩;
将编码和压缩后的变化数据作为消息写入到第一消息队列;
将第一消息队列中的消息发送给第二消息队列;
从第二消息队列中读取信息,得到编码和压缩后的变化数据;
对编码和压缩后的变化数据进行解压缩及解码;
根据解压缩和解码后的变化数据对目标数据库中的数据进行更新;
其中所述第一消息队列和第二消息队列分离设置,二者之间具有多条通信链路,第一消息队列还适于根据预定策略从所述多条通信链路中选择一条或者一条以上的链路进行消息的传输。
8.如权利要求7所述的方法,其中所述捕获策略包括:
数据库触发器、变更数据捕获服务和应用程序级捕获。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于车智互联(北京)科技有限公司,未经车智互联(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510363927.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:智能提示方法及装置
- 下一篇:票据获取方法、装置、服务器及终端
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置