快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

[数据库同步实现]一种实现数据库同步的系统及其方法与流程

请联系QQ:1793040 索取软件

一种实现数据库同步的系统及其方法与流程

本发明涉及数据库技术领域,具体涉及一种实现数据库同步的系统及其方法。

背景技术:

随着互联网和计算机应用技术的不断发展,各种应用系统的普及,数据量也随之激增。但由于应用系统众多,各自都有自己的数据库;造成了数据孤岛,数据无法及时更新同步;这为系统的应用造成了困境。为了应用系统能够及时更新数据,数据的同步成为了关键。

技术实现要素:

本发明解决的技术问题之一在于提供一种实现数据库同步的系统,为有需要此业务场景的系统提供应用,简化业务流程,提高效率。

本发明解决的技术问题之二在于提供一种实现数据库同步系统的实现方法。

本发明解决上述技术问题之一的技术方案是:

所述系统由监控器、分析查询器、数据组织器、数据校验器、数据队列和读写器组成;

所述监控器,对数据库的日志进行监控,当日志文件出现更新,则发送消息给分析查询器;

所述分析查询器,根据消息查找被操作的数据并分析操作类型,记录下日志位置;

所述数据组织器,对数据进行组织并推送到目标服务器;

所述数据校验器,对所接收到的数据进行数据校验,并把数据放进数据队列等待读写器将数据写入数据库。

所述的监控器对数据库的日志进行实时监控。

所述的操作类型包括增加数据、删除数据、更新数据;所述分析查询器分析类型后,到数据库获取被操作的数据并记录日志的读取位置,然后将数据传给数据组织器。

所述数据组织器对数据按照一定的协议结构进行组织;记录操作数据的类型、校验数据和SQL语句;

所述的协议结构如下:

(1)、类型,分为添加(A),修改(M)和删除(D);

(2)、SQL项存放目标数据服务器执行的SQL语句,这是经过封装本地化的数据库脚本语言;

(3)、哈希校验码:对SQL语句取哈希值并填写该项。

所述的数据校验器根据推送过来的数据,对操作的SQL语句进行哈希校验;如果校验通过,则把数据放入数据队列,等待读写器的读取。

所述的数据校验器根据推送过来的数据,对操作的SQL语句进行哈希校验;如果校验通过,则把数据放入数据队列,等待读写器的读取。

本发明解决上述技术问题之二的技术方案是:

所述的方法包括:

(1)、监控器实时监控数据库日志数据的变动情况,如果发现日志有更新,则及时提醒分析查询器;

(2)、分析查询器收到来自监控器的消息后,对日志进行分析,并得出数据操作的类型,从数据库读取被更改或者添加的数据,记录下当前日志被分析的位置,以便下次读取能获取到日志读取的位置;

(3)、数据组织器收到分析查询器发来的数据后,进行数据的封装:包括SQL语句,操作时间,操作类型,SQL的哈希校验码;

(4)、数据校验器收到推送的数据后,对SQL进行哈希运算,将运算得到的哈希码与接收的哈希码进行对比,如果哈希码不一致,则重新向分析查询器请求数据,如果校验的数据正确,则将数据放入数据队列内;

(5)、数据队列对通过校验的数据进行存储,等待读写器的读写。

本发明通过对各数据源的实时监控,并根据监控情况,将发生变化的数据实时地加入数据队列,等待数据被写入数据库。实现了各应用系统之间的数据实时同步。避免造成数据孤岛;使应用系统能够及时更新数据。

附图说明

下面结合附图对本发明进一步说明:

图1是本发明的系统架构图;

图2是本发明数据协议结构图。

具体实施方式

见图1所示,本发明通过对源数据进行日志的监控,实时获取并分析数据库所执行的操作,根据协议对执行的操作进行数据封装,并把数据推送到目标服务器;目标服务器接收到数据后,对数据进行校验,如果发生错误,则对本次数据再次请求获取,否则把数据加入数据队列,等待数据被写入数据库。

所述系统主要由监控器、分析查询器、数据组织器、数据校验器、数据队列和读写器组成。监控器、分析查询器和数据组织器在数据源端;数据校验其、数据队列和读写器在数据同步目标端。监控器对数据库的日志进行监控,当日志文件出现更新,则发送消息给分析查询器进行提醒;分析查询器根据消息查找被操作的数据分析其操作类型,并且记录下日志被监控的位置,然后数据组织器对数据进行组织并推送到目标服务器。目标服务器的数据校验器对所接收到的数据进行数据校验,并把数据放进数据队列等待读写器把数据写入数据库。

整个工作详细流程如下:

1、监控器监控数据库日志数据的变动情况,如果发现日志有更新,则及时提醒分析查询器;

2、分析查询器收到来自监控器的消息后,对日志进行分析,并得出数据操作的类型,从数据库读取被更改或者添加的数据,记录下当前日志被分析的位置,以便下次读取能获取到日志读取的位置;

3、数据组织器收到分析查询器发来的数据后,进行数据的封装:包括SQL语句,操作时间,操作类型,SQL的哈希校验码;

4、数据校验器收到推送的数据后,对SQL进行哈希运算,得到的哈希码与传来的哈希码进行对比,如果哈希码不一致,则重新向分析查询器请求数据,如果校验的数据正确,则把数据放入数据队列内;

5、数据队列对通过校验的数据进行存储,等待读写器的读写。

见图2所示,数据协议结构如下:

1、类型分为:添加(A),修改(M)和删除(D);

2、SQL项存放目标数据服务器执行的SQL语句,这是经过封装本地化的数据库脚本语言。

3、哈希校验码:对SQL语句取哈希值并填写该项。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040