主从数据库间数据同步延时检测的方法技术

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

【技术实现步骤摘要】

本专利技术涉及延时检测的方法,更具体地,涉及主从数据库间数据同步延时检测的方法
技术介绍
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,实时并准确地确定主从数据库之间的数据同步延时变得越来越重要。在现有的技术方案中,典型地以如下方式计算主从数据库之间的数据同步延时:主数据库周期性地将主数据库日志(其记录已在主数据库上实施的每个操作)中新产生的日志传送到从数据库,从数据库随之基于所接收到的新产生的日志更新从数据库日志,即根据更新的日志实施与已在主数据库上实施的每个操作相同的操作以实现数据同步,并将从数据库日志更新完成时间与其更新部分所指示的数据库操作执行完成时间之间的时间差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)进一步包括:仅在所述预期辅助操作执行时间之前收到来自从数据库针对所述通知的成功应答的情况下才实际执行本次针对所述检测数据表的辅助操作,否则,等待下一次辅助操作。优选地,在本专利技术所公开的主从数据库间数本文档来自技高网...
主从数据库间数据同步延时检测的方法

【技术保护点】
一种主从数据库间数据同步延时检测的方法,所述主从数据库间数据同步延时检测的方法包括下列步骤:(A1)将所执行的每个针对主数据库中的数据的操作的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间T1被记录;(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作的完成时间;(A5)基于最新获得的与同一检测点相关联的时间T1和T2,计算当前主从数据库间数据同步延时D=T2‑T1。

【技术特征摘要】
1.一种主从数据库间数据同步延时检测的方法,所述主从数据库间数据同步延时检测的方法包括下列步骤:
(A1)将所执行的每个针对主数据库中的数据的操作的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间T1被记录;
(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;
(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;
(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作的完成时间;
(A5)基于最新获得的与同一检测点相关联的时间T1和T2,计算当前主从数据库间数据同步延时D=T2-T1。
2.根据权利要求1所述的主从数据库间数据同步延时检测的方法,其特征在于,所述检测数据表仅用于辅助确定主从数据库间数据同步延时,其不包括实际有效数据。
3.根据权利要求2所述的主从...

【专利技术属性】
技术研发人员:刘亦龙
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1