CN107491526A - 一种实现数据库同步的***及其方法 - Google Patents

一种实现数据库同步的***及其方法 Download PDF

Info

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
Application number
CN201710710682.9A
Other languages
English (en)
Inventor
韩超
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201710710682.9A priority Critical patent/CN107491526A/zh
Publication of CN107491526A publication Critical patent/CN107491526A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, 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)、数据队列对通过校验的数据进行存储,等待读写器的读写。
CN201710710682.9A 2017-08-18 2017-08-18 一种实现数据库同步的***及其方法 Pending CN107491526A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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数据库的***及其监控方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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