CN105589797A - 主从数据库间数据同步延时检测的方法 - Google Patents
主从数据库间数据同步延时检测的方法 Download PDFInfo
- Publication number
- CN105589797A CN105589797A CN201510592240.XA CN201510592240A CN105589797A CN 105589797 A CN105589797 A CN 105589797A CN 201510592240 A CN201510592240 A CN 201510592240A CN 105589797 A CN105589797 A CN 105589797A
- Authority
- CN
- China
- Prior art keywords
- database
- master
- data
- time
- slave database
- 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.)
- Granted
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 (9)
1.一种主从数据库间数据同步延时检测的方法,所述主从数据库间数据同步延时检测的方法包括下列步骤:
(A1)将所执行的每个针对主数据库中的数据的操作的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间T1被记录;
(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;
(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;
(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作的完成时间;
(A5)基于最新获得的与同一检测点相关联的时间T1和T2,计算当前主从数据库间数据同步延时D=T2-T1。
2.根据权利要求1所述的主从数据库间数据同步延时检测的方法,其特征在于,所述检测数据表仅用于辅助确定主从数据库间数据同步延时,其不包括实际有效数据。
3.根据权利要求2所述的主从数据库间数据同步延时检测的方法,其特征在于,所述主数据库日志和所述从数据库日志以不区分数据库/表的顺序的方式实施记录操作。
4.根据权利要求3所述的主从数据库间数据同步延时检测的方法,其特征在于,所述主从数据库间数据同步延时D的精度是毫秒级或微秒级。
5.根据权利要求4所述的主从数据库间数据同步延时检测的方法,其特征在于,所述步骤(A1)进一步包括:主数据库在执行针对检测数据表的辅助操作之前向从数据库发送指示预期辅助操作执行时间的通知,所述预期辅助操作执行时间是距当前时间预定距离的未来时间。
6.根据权利要求5所述的主从数据库间数据同步延时检测的方法,其特征在于,所述步骤(A1)进一步包括:仅在所述预期辅助操作执行时间之前收到来自从数据库针对所述通知的成功应答的情况下才实际执行本次针对所述检测数据表的辅助操作,否则,等待下一次辅助操作。
7.根据权利要求6所述的主从数据库间数据同步延时检测的方法,其特征在于,所述主数据库和所述从数据库的系统时间一致。
8.根据权利要求7所述的主从数据库间数据同步延时检测的方法,其特征在于,所述时间T1和所述时间T2的时间精度是毫秒级或微秒级。
9.根据权利要求8所述的主从数据库间数据同步延时检测的方法,其特征在于,所述步骤(A4)中的轮询的频次是每秒100次。
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 true CN105589797A (zh) | 2016-05-18 |
CN105589797B 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) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453297A (zh) * | 2016-09-30 | 2017-02-22 | 努比亚技术有限公司 | 检测主从延时方法、装置和系统 |
CN106528803A (zh) * | 2016-11-14 | 2017-03-22 | 武汉斗鱼网络科技有限公司 | 一种MongoDB数据库对象复制延迟监控方法和装置 |
CN108121782A (zh) * | 2017-12-18 | 2018-06-05 | 新华三云计算技术有限公司 | 查询请求的分配方法、数据库中间件系统以及电子设备 |
CN108243029A (zh) * | 2016-12-23 | 2018-07-03 | 北京国双科技有限公司 | 还原日志的生成时间的方法、客户端及服务器 |
CN108319617A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 确定数据库主从差异的方法、装置及切换控制方法、装置 |
CN108509455A (zh) * | 2017-02-28 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 数据表处理方法和装置 |
CN109241165A (zh) * | 2018-08-30 | 2019-01-18 | 联动优势科技有限公司 | 一种数据库同步延时的确定方法、装置和设备 |
CN109684410A (zh) * | 2018-12-24 | 2019-04-26 | 浙江大华技术股份有限公司 | 一种确定主从数据库同步时延的系统、方法及储存介质 |
CN110019257A (zh) * | 2017-08-18 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 主备数据库延迟时间处理方法、装置、介质和电子设备 |
CN111008123A (zh) * | 2019-10-23 | 2020-04-14 | 贝壳技术有限公司 | 数据库测试方法、装置、存储介质及电子设备 |
WO2020134480A1 (zh) * | 2018-12-28 | 2020-07-02 | 中兴通讯股份有限公司 | 一种数据库主备复制延迟监控方法、装置和系统 |
CN112395181A (zh) * | 2019-08-13 | 2021-02-23 | 福建天泉教育科技有限公司 | 一种元数据异地多活及时性的测试系统及其测试方法 |
CN113076343A (zh) * | 2021-04-30 | 2021-07-06 | 北京京东振世信息技术有限公司 | 数据查询方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050112A1 (en) * | 2003-04-23 | 2005-03-03 | Oracle International Corporation | Propagating commit times |
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 | 无锡天脉聚源传媒科技有限公司 | 一种数据表同步方法及装置 |
-
2015
- 2015-09-17 CN CN201510592240.XA patent/CN105589797B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050112A1 (en) * | 2003-04-23 | 2005-03-03 | Oracle International Corporation | Propagating commit times |
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 | 无锡天脉聚源传媒科技有限公司 | 一种数据表同步方法及装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453297A (zh) * | 2016-09-30 | 2017-02-22 | 努比亚技术有限公司 | 检测主从延时方法、装置和系统 |
CN106453297B (zh) * | 2016-09-30 | 2020-10-23 | 重庆伏特猫科技有限公司 | 检测主从延时方法、装置和系统 |
CN106528803B (zh) * | 2016-11-14 | 2019-04-23 | 武汉斗鱼网络科技有限公司 | 一种MongoDB数据库对象复制延迟监控方法和装置 |
CN106528803A (zh) * | 2016-11-14 | 2017-03-22 | 武汉斗鱼网络科技有限公司 | 一种MongoDB数据库对象复制延迟监控方法和装置 |
CN108243029A (zh) * | 2016-12-23 | 2018-07-03 | 北京国双科技有限公司 | 还原日志的生成时间的方法、客户端及服务器 |
CN108243029B (zh) * | 2016-12-23 | 2021-02-19 | 北京国双科技有限公司 | 还原日志的生成时间的方法、客户端及服务器 |
CN108319617A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 确定数据库主从差异的方法、装置及切换控制方法、装置 |
CN108509455B (zh) * | 2017-02-28 | 2021-12-24 | 百度在线网络技术(北京)有限公司 | 数据表处理方法和装置 |
CN108509455A (zh) * | 2017-02-28 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 数据表处理方法和装置 |
CN110019257A (zh) * | 2017-08-18 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 主备数据库延迟时间处理方法、装置、介质和电子设备 |
CN108121782B (zh) * | 2017-12-18 | 2020-11-10 | 新华三云计算技术有限公司 | 查询请求的分配方法、数据库中间件系统以及电子设备 |
CN108121782A (zh) * | 2017-12-18 | 2018-06-05 | 新华三云计算技术有限公司 | 查询请求的分配方法、数据库中间件系统以及电子设备 |
CN109241165A (zh) * | 2018-08-30 | 2019-01-18 | 联动优势科技有限公司 | 一种数据库同步延时的确定方法、装置和设备 |
CN109241165B (zh) * | 2018-08-30 | 2021-02-23 | 联动优势科技有限公司 | 一种数据库同步延时的确定方法、装置和设备 |
CN109684410A (zh) * | 2018-12-24 | 2019-04-26 | 浙江大华技术股份有限公司 | 一种确定主从数据库同步时延的系统、方法及储存介质 |
WO2020134480A1 (zh) * | 2018-12-28 | 2020-07-02 | 中兴通讯股份有限公司 | 一种数据库主备复制延迟监控方法、装置和系统 |
CN112395181A (zh) * | 2019-08-13 | 2021-02-23 | 福建天泉教育科技有限公司 | 一种元数据异地多活及时性的测试系统及其测试方法 |
CN111008123A (zh) * | 2019-10-23 | 2020-04-14 | 贝壳技术有限公司 | 数据库测试方法、装置、存储介质及电子设备 |
CN111008123B (zh) * | 2019-10-23 | 2023-10-24 | 贝壳技术有限公司 | 数据库测试方法、装置、存储介质及电子设备 |
CN113076343A (zh) * | 2021-04-30 | 2021-07-06 | 北京京东振世信息技术有限公司 | 数据查询方法、装置、设备及存储介质 |
CN113076343B (zh) * | 2021-04-30 | 2024-04-05 | 北京京东振世信息技术有限公司 | 数据查询方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105589797B (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589797A (zh) | 主从数据库间数据同步延时检测的方法 | |
CN106202075B (zh) | 一种数据库主备切换的方法及装置 | |
CN105589961A (zh) | 一种数据库实时同步系统数据一致性的检测方法及系统 | |
CN108319617B (zh) | 确定数据库主从差异的方法、装置及切换控制方法、装置 | |
CN109039779B (zh) | 设备升级方法、数据传输单元、控制器局域网络设备和网络 | |
CN101331736B (zh) | 使用传输时间作为提高简单网络时间协议精确度的方法 | |
CN109918229B (zh) | 非日志模式的数据库集群副本构建方法及装置 | |
CN105653653B (zh) | 一种订单数据同步方法及系统 | |
CN104113386A (zh) | 一种监控以太网时钟同步的方法及装置 | |
CN109933632B (zh) | 一种数据库的数据迁移方法、装置及设备 | |
CN113987064A (zh) | 数据处理方法、系统及设备 | |
CN104092740B (zh) | 应用数据同步方法和装置 | |
CN104462477A (zh) | 基于时间戳的数据同步的方法、装置及系统 | |
CN103441861A (zh) | 一种数据记录生成方法及装置 | |
CN102722579A (zh) | 一种在集群存储系统内部数据库的双向同步方法 | |
CN103237075A (zh) | 一种数据同步方法、装置及系统 | |
CN103905441A (zh) | 数据获取方法及装置 | |
CN103780603A (zh) | 应用内轻量级推送方法 | |
CN102420715B (zh) | 一种ieee1588协议否定测试方法 | |
CN102546009A (zh) | 光纤对称性检测方法及设备 | |
CN107666360B (zh) | 列车系统时间同步控制方法和装置 | |
CN104158905A (zh) | web容器的创建方法 | |
CN106647228B (zh) | 一种换流站主时钟故障判断系统 | |
CN110830591B (zh) | 一种信息同步方法、系统、电子设备及存储介质 | |
US10222786B2 (en) | Numerical control system having synchronous control function between units |
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 |