CN107491526A - 一种实现数据库同步的***及其方法 - Google Patents
一种实现数据库同步的***及其方法 Download PDFInfo
- Publication number
- CN107491526A CN107491526A CN201710710682.9A CN201710710682A CN107491526A CN 107491526 A CN107491526 A CN 107491526A CN 201710710682 A CN201710710682 A CN 201710710682A CN 107491526 A CN107491526 A CN 107491526A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- analysis
- requestor
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库技术领域,具体涉及一种实现数据库同步的***及其方法。本发明通过对源数据进行日志的监控,实时获取并分析数据库所执行的操作,根据协议对执行的操作进行数据封装,并把数据推送到目标服务器;目标服务器接收到数据后,对数据进行校验,如果发生错误,则对本次数据再次请求获取,否则把数据加入数据队列,等待数据被写入数据库。本发明解决了各应用***的数据孤岛问题;可以用于各应用***之间的数据同步。
Description
技术领域
本发明涉及数据库技术领域,具体涉及一种实现数据库同步的***及其方法。
背景技术
随着互联网和计算机应用技术的不断发展,各种应用***的普及,数据量也随之激增。但由于应用***众多,各自都有自己的数据库;造成了数据孤岛,数据无法及时更新同步;这为***的应用造成了困境。为了应用***能够及时更新数据,数据的同步成为了关键。
发明内容
本发明解决的技术问题之一在于提供一种实现数据库同步的***,为有需要此业务场景的***提供应用,简化业务流程,提高效率。
本发明解决的技术问题之二在于提供一种实现数据库同步***的实现方法。
本发明解决上述技术问题之一的技术方案是:
所述***由监控器、分析查询器、数据组织器、数据校验器、数据队列和读写器组成;
所述监控器,对数据库的日志进行监控,当日志文件出现更新,则发送消息给分析查询器;
所述分析查询器,根据消息查找***作的数据并分析操作类型,记录下日志位置;
所述数据组织器,对数据进行组织并推送到目标服务器;
所述数据校验器,对所接收到的数据进行数据校验,并把数据放进数据队列等待读写器将数据写入数据库。
所述的监控器对数据库的日志进行实时监控。
所述的操作类型包括增加数据、删除数据、更新数据;所述分析查询器分析类型后,到数据库获取***作的数据并记录日志的读取位置,然后将数据传给数据组织器。
所述数据组织器对数据按照一定的协议结构进行组织;记录操作数据的类型、校验数据和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语句取哈希值并填写该项。
Claims (8)
1.一种实现数据库同步的***,其特征在于:所述***由监控器、分析查询器、数据组织器、数据校验器、数据队列和读写器组成;
所述监控器,对数据库的日志进行监控,当日志文件出现更新,则发送消息给分析查询器;
所述分析查询器,根据消息查找***作的数据并分析操作类型,记录下日志位置;
所述数据组织器,对数据进行组织并推送到目标服务器;
所述数据校验器,对所接收到的数据进行数据校验,并把数据放进数据队列等待读写器将数据写入数据库。
2.根据权利要求1所述的***,其特征在于:所述的监控器对数据库的日志进行实时监控。
3.根据权利要求1所述的***,其特征在于:所述的操作类型包括增加数据、删除数据、更新数据;所述分析查询器分析类型后,到数据库获取***作的数据并记录日志的读取位置,然后将数据传给数据组织器。
4.根据权利要求2所述的***,其特征在于:所述的操作类型包括增加数据、删除数据、更新数据;所述分析查询器分析类型后,到数据库获取***作的数据并记录日志的读取位置,然后将数据传给数据组织器。
5.根据权利要求1至4任一项所述的***,其特征在于:所述数据组织器对数据按照一定的协议结构进行组织;记录操作数据的类型、校验数据和SQL语句;
所述的协议结构如下:
(1)、类型,分为添加(A),修改(M)和删除(D);
(2)、SQL项存放目标数据服务器执行的SQL语句,这是经过封装本地化的数据库脚本语言;
(3)、哈希校验码:对SQL语句取哈希值并填写该项。
6.根据权利要求1至4任一项所述的***,其特征在于:所述的数据校验器根据推送过来的数据,对操作的SQL语句进行哈希校验;如果校验通过,则把数据放入数据队列,等待读写器的读取。
7.根据权利要求5所述的***,其特征在于:所述的数据校验器根据推送过来的数据,对操作的SQL语句进行哈希校验;如果校验通过,则把数据放入数据队列,等待读写器的读取。
8.一种权利要求1至7任一项所述***的实现方法,其特征在于:所述的方法包括:
(1)、监控器实时监控数据库日志数据的变动情况,如果发现日志有更新,则及时提醒分析查询器;
(2)、分析查询器收到来自监控器的消息后,对日志进行分析,并得出数据操作的类型,从数据库读取被更改或者添加的数据,记录下当前日志被分析的位置,以便下次读取能获取到日志读取的位置;
(3)、数据组织器收到分析查询器发来的数据后,进行数据的封装:包括SQL语句,操作时间,操作类型,SQL的哈希校验码;
(4)、数据校验器收到推送的数据后,对SQL进行哈希运算,将运算得到的哈希码与接收的哈希码进行对比,如果哈希码不一致,则重新向分析查询器请求数据,如果校验的数据正确,则将数据放入数据队列内;
(5)、数据队列对通过校验的数据进行存储,等待读写器的读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710682.9A CN107491526A (zh) | 2017-08-18 | 2017-08-18 | 一种实现数据库同步的***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710682.9A CN107491526A (zh) | 2017-08-18 | 2017-08-18 | 一种实现数据库同步的***及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107491526A true CN107491526A (zh) | 2017-12-19 |
Family
ID=60645455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710710682.9A Pending CN107491526A (zh) | 2017-08-18 | 2017-08-18 | 一种实现数据库同步的***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491526A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275893A (zh) * | 2019-06-11 | 2019-09-24 | 上海上湖信息技术有限公司 | 一种数据操作方法及装置 |
CN110427426A (zh) * | 2019-08-02 | 2019-11-08 | 中国工商银行股份有限公司 | 一种数据同步处理方法及装置 |
CN112015821A (zh) * | 2020-09-08 | 2020-12-01 | 香港中文大学(深圳) | 一种数据库同步方法、终端以及存储介质 |
CN113378362A (zh) * | 2021-05-26 | 2021-09-10 | 东风柳州汽车有限公司 | 白车身数据分包***及方法 |
CN116361256A (zh) * | 2023-06-01 | 2023-06-30 | 济南阿拉易网络科技有限公司 | 基于日志解析的数据同步方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108338A1 (en) * | 2006-01-26 | 2014-04-17 | Huawei Technologies Co., Ltd. | Method and System for Data Synchronization, and Apparatus thereof |
CN103809915A (zh) * | 2012-11-05 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 一种磁盘文件的读写方法和装置 |
CN105095358A (zh) * | 2015-06-24 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种数据库操作日志获取方法及*** |
CN106168919A (zh) * | 2016-07-06 | 2016-11-30 | 浪潮电子信息产业股份有限公司 | 一种数据库备份方法、装置及*** |
CN106201823A (zh) * | 2016-06-30 | 2016-12-07 | 国云科技股份有限公司 | 一种实时监控mysql数据库的***及其监控方法 |
-
2017
- 2017-08-18 CN CN201710710682.9A patent/CN107491526A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108338A1 (en) * | 2006-01-26 | 2014-04-17 | Huawei Technologies Co., Ltd. | Method and System for Data Synchronization, and Apparatus thereof |
CN103809915A (zh) * | 2012-11-05 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 一种磁盘文件的读写方法和装置 |
CN105095358A (zh) * | 2015-06-24 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种数据库操作日志获取方法及*** |
CN106201823A (zh) * | 2016-06-30 | 2016-12-07 | 国云科技股份有限公司 | 一种实时监控mysql数据库的***及其监控方法 |
CN106168919A (zh) * | 2016-07-06 | 2016-11-30 | 浪潮电子信息产业股份有限公司 | 一种数据库备份方法、装置及*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275893A (zh) * | 2019-06-11 | 2019-09-24 | 上海上湖信息技术有限公司 | 一种数据操作方法及装置 |
CN110427426A (zh) * | 2019-08-02 | 2019-11-08 | 中国工商银行股份有限公司 | 一种数据同步处理方法及装置 |
CN112015821A (zh) * | 2020-09-08 | 2020-12-01 | 香港中文大学(深圳) | 一种数据库同步方法、终端以及存储介质 |
CN112015821B (zh) * | 2020-09-08 | 2023-11-07 | 香港中文大学(深圳) | 一种数据库同步方法、终端以及存储介质 |
CN113378362A (zh) * | 2021-05-26 | 2021-09-10 | 东风柳州汽车有限公司 | 白车身数据分包***及方法 |
CN116361256A (zh) * | 2023-06-01 | 2023-06-30 | 济南阿拉易网络科技有限公司 | 基于日志解析的数据同步方法及*** |
CN116361256B (zh) * | 2023-06-01 | 2023-08-11 | 济南阿拉易网络科技有限公司 | 基于日志解析的数据同步方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220147518A1 (en) | Dynamic asset monitoring and management using a continuous event processing platform | |
CN107491526A (zh) | 一种实现数据库同步的***及其方法 | |
CN107038162B (zh) | 基于数据库日志的实时数据查询方法和*** | |
CN112507027B (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
CN107077691B (zh) | 用于确定数据库高速缓存命中的基于年龄的策略 | |
EP3534263A1 (en) | Systems and methods for web analytics testing and web development | |
CN109800207B (zh) | 日志解析方法、装置、设备及计算机可读存储介质 | |
CN110019267A (zh) | 一种元数据更新方法、装置、***、电子设备及存储介质 | |
CN111046034A (zh) | 管理内存数据及在内存中维护数据的方法和*** | |
CN101739390A (zh) | 基于技术设计文档的数据转换 | |
CN110704194A (zh) | 管理内存数据及在内存中维护数据的方法和*** | |
CN104598570A (zh) | 资源的抓取方法及装置 | |
CN104881454A (zh) | 参数的更新方法及*** | |
CN108241676A (zh) | 实现数据同步的方法及设备 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
US11954113B2 (en) | Method for automated query language expansion and indexing | |
CN111752920A (zh) | 用于管理元数据的方法、***及存储介质 | |
US20200409972A1 (en) | Method for synchronization of repository data using data criteria | |
US20150317330A1 (en) | Storing data to multiple storage location types in a distributed historization system | |
US11327944B1 (en) | Storing and retrieving data in data stores | |
CN113239003A (zh) | 消息的自动提示方法、***、设备及介质 | |
CN109582795B (zh) | 基于全生命周期的数据处理方法、设备、***和介质 | |
KR102600366B1 (ko) | 분산형 데이터베이스에서의 인덱스 분할 | |
CN106909636B (zh) | 一种基于中间件的数据处理方法及*** | |
CN110866036B (zh) | 数据处理方法、***、装置、终端及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171219 |
|
WD01 | Invention patent application deemed withdrawn after publication |