CN105589797B - 主从数据库间数据同步延时检测的方法 - Google Patents

主从数据库间数据同步延时检测的方法 Download PDF

Info

Publication number
CN105589797B
CN105589797B CN201510592240.XA CN201510592240A CN105589797B CN 105589797 B CN105589797 B CN 105589797B CN 201510592240 A CN201510592240 A CN 201510592240A CN 105589797 B CN105589797 B CN 105589797B
Authority
CN
China
Prior art keywords
database
master
data
time
synchronizing relay
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.)
Active
Application number
CN201510592240.XA
Other languages
English (en)
Other versions
CN105589797A (zh
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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201510592240.XA priority Critical patent/CN105589797B/zh
Publication of CN105589797A publication Critical patent/CN105589797A/zh
Application granted granted Critical
Publication of CN105589797B publication Critical patent/CN105589797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了主从数据库间数据同步延时检测的方法,所述方法包括:将所执行的每个针对主数据库中的数据的操作的信息记录在主数据库日志中;周期性地将主数据库日志中新产生的日志记录传送至从数据库;所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成。本发明所公开的方法具有高的准确性和精度。

Description

主从数据库间数据同步延时检测的方法
技术领域
本发明涉及延时检测的方法,更具体地,涉及主从数据库间数据同步延时检测的方法。
背景技术
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,实时并准确地确定主从数据库之间的数据同步延时变得越来越重要。
在现有的技术方案中,典型地以如下方式计算主从数据库之间的数据同步延时:主数据库周期性地将主数据库日志(其记录已在主数据库上实施的每个操作)中新产生的日志传送到从数据库,从数据库随之基于所接收到的新产生的日志更新从数据库日志,即根据更新的日志实施与已在主数据库上实施的每个操作相同的操作以实现数据同步,并将从数据库日志更新完成时间与其更新部分所指示的数据库操作执行完成时间之间的时间差T2计算为主从数据库间数据同步延时。
然而,上述现有的技术方案存在如下问题:(1)由于计算出的数据同步延时没有包含“将主数据库日志中新产生的日志传送到从数据库”的操作所用的时间T1(即主从数据库之间传送相关日志所导致的时间延迟),故计算出的数据同步延时T2总是比实际时间延迟(T1 + T2)小,而且当主数据库中的日志不能及时传输到从数据库中时(如网络传输异常),T1的值将变大,T2的值将由于无新日志传入反而变小(甚至为0),此时T2的值将比实际时间延迟值严重偏小,进而导致运维人员对主从数据库数据同步状态的错误判断;(2)由于T2的取值单位通常为秒,故数据精确度不能满足对延迟精度控制要求较高的场合。
因此,存在如下需求:提供具有高的准确性和精度的主从数据库间数据同步延时检测的方法。
发明内容
为了解决上述现有技术方案所存在的问题,本发明提出了具有高的准确性和精度的主从数据库间数据同步延时检测的方法。
本发明的目的是通过以下技术方案实现的:
一种主从数据库间数据同步延时检测的方法,所述主从数据库间数据同步延时检测的方法包括下列步骤:
(A1)将所执行的每个针对主数据库中的数据的操作的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间T1被记录;
(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;
(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;
(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作的完成时间;
(A5)基于最新获得的与同一检测点相关联的时间T1和T2,计算当前主从数据库间数据同步延时D=T2-T1。
在上面所公开的方案中,优选地,所述检测数据表仅用于辅助确定主从数据库间数据同步延时,其不包括实际有效数据。
在上面所公开的方案中,优选地,所述主数据库日志和所述从数据库日志以不区分数据库/表的顺序的方式实施记录操作。
在上面所公开的方案中,优选地,所述主从数据库间数据同步延时D的精度是毫秒级或微秒级。
在上面所公开的方案中,优选地,所述步骤(A1)进一步包括:主数据库在执行针对检测数据表的辅助操作之前向从数据库发送指示预期辅助操作执行时间的通知,所述预期辅助操作执行时间是距当前时间预定距离的未来时间。
在上面所公开的方案中,优选地,所述步骤(A1)进一步包括:仅在所述预期辅助操作执行时间之前收到来自从数据库针对所述通知的成功应答的情况下才实际执行本次针对所述检测数据表的辅助操作,否则,等待下一次辅助操作。
在上面所公开的方案中,优选地,所述主数据库和所述从数据库的系统时间一致。
在上面所公开的方案中,优选地,所述时间T1和所述时间T2的时间精度是毫秒级或微秒级。
在上面所公开的方案中,优选地,所述步骤(A4)中的轮询的频次是每秒100次
本发明所公开的主从数据库间数据同步延时检测的方法具有下列优点:由于计算的同步延时是针对主数据库的辅助操作执行成功的时间至从数据库中对应的数据被更新结束的时间之间的差,故具有较高的准确性和小的误差,并且同步延时的精度可以获得显著地提高,从而能够适应对延迟精度控制要求较高的场合。
附图说明
结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的主从数据库间数据同步延时检测的方法的流程图。
具体实施方式
图1是根据本发明的实施例的主从数据库间数据同步延时检测的方法的流程图。如图1所示,本发明所公开的主从数据库间数据同步延时检测的方法包括下列步骤:(A1)将所执行的每个针对主数据库中的数据的操作(例如更新、删除、插入等等)的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间T1被记录;(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作的完成时间;(A5)基于最新获得的与同一检测点相关联的时间T1和T2,计算当前主从数据库间数据同步延时D=T2-T1。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,所述检测数据表仅用于辅助确定主从数据库间数据同步延时,其不包括实际有效数据。示例性地,针对所述检测数据表的辅助操作是插入操作。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,所述主数据库日志和所述从数据库日志以不区分数据库/表的顺序的方式实施记录操作。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,主从数据库间数据同步延时D的精度是毫秒级或微秒级。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,所述步骤(A1)进一步包括:主数据库在执行针对检测数据表的辅助操作之前向从数据库发送指示预期辅助操作执行时间的通知,所述预期辅助操作执行时间是距当前时间预定距离的未来时间(例如两者相距2秒)。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,所述步骤(A1)进一步包括:仅在所述预期辅助操作执行时间之前收到来自从数据库针对所述通知的成功应答的情况下才实际执行本次针对所述检测数据表的辅助操作,否则,等待下一次辅助操作。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,所述主数据库和所述从数据库的系统时间一致。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,所述时间T1和所述时间T2的时间精度是毫秒级或微秒级。
优选地,在本发明所公开的主从数据库间数据同步延时检测的方法中,所述步骤(A4)中的轮询的频次是每秒10次,更优选地、每秒100次。
由上可见,本发明所公开的主从数据库间数据同步延时检测的方法具有下列优点:由于计算的同步延时是针对主数据库的辅助操作执行成功的时间至从数据库中对应的数据被更新结束的时间之间的差,故具有较高的准确性和小的误差,并且同步延时的精度可以获得显著地提高,从而能够适应对延迟精度控制要求较高的场合。
尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。

Claims (8)

1.一种主从数据库间数据同步延时检测的方法,所述主从数据库间数据同步延时检测的方法包括下列步骤:
(A1)将所执行的每个针对主数据库中的数据的操作的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间T1被记录,所述检测数据表仅用于辅助确定主从数据库间数据同步延时,其不包括实际有效数据;
(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;
(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;
(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作的完成时间;
(A5)基于最新获得的与同一检测点相关联的时间T1和T2,计算当前主从数据库间数据同步延时D=T2-T1。
2.根据权利要求1所述的主从数据库间数据同步延时检测的方法,其特征在于,所述主数据库日志和所述从数据库日志以不区分数据库的顺序的方式实施记录操作。
3.根据权利要求2所述的主从数据库间数据同步延时检测的方法,其特征在于,所述主从数据库间数据同步延时D的精度是毫秒级或微秒级。
4.根据权利要求3所述的主从数据库间数据同步延时检测的方法,其特征在于,所述步骤(A1)进一步包括:主数据库在执行针对检测数据表的辅助操作之前向从数据库发送指示预期辅助操作执行时间的通知,所述预期辅助操作执行时间是距当前时间预定距离的未来时间。
5.根据权利要求4所述的主从数据库间数据同步延时检测的方法,其特征在于,所述步骤(A1)进一步包括:仅在所述预期辅助操作执行时间之前收到来自从数据库针对所述通知的成功应答的情况下才实际执行本次针对所述检测数据表的辅助操作,否则,等待下一次辅助操作。
6.根据权利要求5所述的主从数据库间数据同步延时检测的方法,其特征在于,所述主数据库和所述从数据库的系统时间一致。
7.根据权利要求6所述的主从数据库间数据同步延时检测的方法,其特征在于,所述时间T1和所述时间T2的时间精度是毫秒级或微秒级。
8.根据权利要求7所述的主从数据库间数据同步延时检测的方法,其特征在于,所述步骤(A4)中的轮询的频次是每秒100次。
CN201510592240.XA 2015-09-17 2015-09-17 主从数据库间数据同步延时检测的方法 Active CN105589797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510592240.XA CN105589797B (zh) 2015-09-17 2015-09-17 主从数据库间数据同步延时检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510592240.XA CN105589797B (zh) 2015-09-17 2015-09-17 主从数据库间数据同步延时检测的方法

Publications (2)

Publication Number Publication Date
CN105589797A CN105589797A (zh) 2016-05-18
CN105589797B true CN105589797B (zh) 2018-06-22

Family

ID=55929395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510592240.XA Active CN105589797B (zh) 2015-09-17 2015-09-17 主从数据库间数据同步延时检测的方法

Country Status (1)

Country Link
CN (1) CN105589797B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453297B (zh) * 2016-09-30 2020-10-23 重庆伏特猫科技有限公司 检测主从延时方法、装置和系统
CN106528803B (zh) * 2016-11-14 2019-04-23 武汉斗鱼网络科技有限公司 一种MongoDB数据库对象复制延迟监控方法和装置
CN108243029B (zh) * 2016-12-23 2021-02-19 北京国双科技有限公司 还原日志的生成时间的方法、客户端及服务器
CN108319617B (zh) * 2017-01-17 2022-05-24 阿里云计算有限公司 确定数据库主从差异的方法、装置及切换控制方法、装置
CN108509455B (zh) * 2017-02-28 2021-12-24 百度在线网络技术(北京)有限公司 数据表处理方法和装置
CN110019257A (zh) * 2017-08-18 2019-07-16 北京京东尚科信息技术有限公司 主备数据库延迟时间处理方法、装置、介质和电子设备
CN108121782B (zh) * 2017-12-18 2020-11-10 新华三云计算技术有限公司 查询请求的分配方法、数据库中间件系统以及电子设备
CN109241165B (zh) * 2018-08-30 2021-02-23 联动优势科技有限公司 一种数据库同步延时的确定方法、装置和设备
CN109684410B (zh) * 2018-12-24 2021-06-15 浙江大华技术股份有限公司 一种确定主从数据库同步时延的系统、方法及储存介质
CN111382024B (zh) * 2018-12-28 2023-07-14 金篆信科有限责任公司 一种数据库主备复制延迟监控方法、装置和系统
CN112395181A (zh) * 2019-08-13 2021-02-23 福建天泉教育科技有限公司 一种元数据异地多活及时性的测试系统及其测试方法
CN111008123B (zh) * 2019-10-23 2023-10-24 贝壳技术有限公司 数据库测试方法、装置、存储介质及电子设备
CN113076343B (zh) * 2021-04-30 2024-04-05 北京京东振世信息技术有限公司 数据查询方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009557A1 (en) * 2007-06-28 2008-12-31 Nokia Siemens Networks Oy Method and device for data processing and system comprising such device
CN101719149A (zh) * 2009-12-03 2010-06-02 联动优势科技有限公司 数据同步方法及装置
CN103020304A (zh) * 2012-12-31 2013-04-03 中国工商银行股份有限公司 一种数据处理方法及设备
CN104182441A (zh) * 2014-02-27 2014-12-03 无锡天脉聚源传媒科技有限公司 一种数据表同步方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823347B2 (en) * 2003-04-23 2004-11-23 Oracle International Corporation Propagating commit times

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009557A1 (en) * 2007-06-28 2008-12-31 Nokia Siemens Networks Oy Method and device for data processing and system comprising such device
CN101719149A (zh) * 2009-12-03 2010-06-02 联动优势科技有限公司 数据同步方法及装置
CN103020304A (zh) * 2012-12-31 2013-04-03 中国工商银行股份有限公司 一种数据处理方法及设备
CN104182441A (zh) * 2014-02-27 2014-12-03 无锡天脉聚源传媒科技有限公司 一种数据表同步方法及装置

Also Published As

Publication number Publication date
CN105589797A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN105589797B (zh) 主从数据库间数据同步延时检测的方法
US8817823B2 (en) Method and device for time synchronization
CN104239476B (zh) 一种数据库同步的方法、装置及系统
CN106202075B (zh) 一种数据库主备切换的方法及装置
CN104809200B (zh) 一种数据库同步的方法和装置
US7783913B2 (en) Facilitating recovery in a coordinated timing network
CN108319617B (zh) 确定数据库主从差异的方法、装置及切换控制方法、装置
US9112626B2 (en) Employing configuration information to determine the role of a server in a coordinated timing network
JP4347082B2 (ja) イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
CN109634970B (zh) 表数据同步方法、设备、存储介质及装置
US9312974B2 (en) Master apparatus and slave apparatus and time-synchronization method
US20080183896A1 (en) Definition of a primary active server in a coordinated timing network
US9330049B2 (en) Method and apparatuses for monitoring system bus
CN109933632B (zh) 一种数据库的数据迁移方法、装置及设备
EP2902908A1 (en) System operation trace method in distributed system
CN101331736A (zh) 使用传输时间作为提高简单网络时间协议精确度的方法
US20140351650A1 (en) System and method for cluster debugging
US8274374B2 (en) Synchronization method between reader and tag
CN110334150A (zh) 监测主从数据库同步延时的方法、监控终端及系统
JP2008262292A (ja) サーバおよびローカル端末群の時刻同期方法
CN103685975B (zh) 一种视频播放系统及方法
CN113630203A (zh) 一种多设备触发同步方法
JP6040894B2 (ja) ログ生成装置、及びログ生成方法
CN103441832B (zh) 基于ptp的时钟同步方法、系统和设备
CN104866943A (zh) 基于cim/e文件的分布式数据采集系统主备调同步方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant