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

文档序号:9826197阅读:1635来源:国知局
主从数据库间数据同步延时检测的方法
【技术领域】
[0001]本发明涉及延时检测的方法,更具体地,涉及主从数据库间数据同步延时检测的方法。
【背景技术】
[0002]目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,实时并准确地确定主从数据库之间的数据同步延时变得越来越重要。
[0003]在现有的技术方案中,典型地以如下方式计算主从数据库之间的数据同步延时:主数据库周期性地将主数据库日志(其记录已在主数据库上实施的每个操作)中新产生的日志传送到从数据库,从数据库随之基于所接收到的新产生的日志更新从数据库日志,即根据更新的日志实施与已在主数据库上实施的每个操作相同的操作以实现数据同步,并将从数据库日志更新完成时间与其更新部分所指示的数据库操作执行完成时间之间的时间差T2计算为主从数据库间数据同步延时。
[0004]然而,上述现有的技术方案存在如下问题:(1)由于计算出的数据同步延时没有包含“将主数据库日志中新产生的日志传送到从数据库”的操作所用的时间Tl (即主从数据库之间传送相关日志所导致的时间延迟),故计算出的数据同步延时T2总是比实际时间延迟(Tl + T2)小,而且当主数据库中的日志不能及时传输到从数据库中时(如网络传输异常),Tl的值将变大,T2的值将由于无新日志传入反而变小(甚至为O),此时T2的值将比实际时间延迟值严重偏小,进而导致运维人员对主从数据库数据同步状态的错误判断;
(2)由于T2的取值单位通常为秒,故数据精确度不能满足对延迟精度控制要求较高的场入口 ο
[0005]因此,存在如下需求:提供具有高的准确性和精度的主从数据库间数据同步延时检测的方法。

【发明内容】

[0006]为了解决上述现有技术方案所存在的问题,本发明提出了具有高的准确性和精度的主从数据库间数据同步延时检测的方法。
[0007]本发明的目的是通过以下技术方案实现的:
一种主从数据库间数据同步延时检测的方法,所述主从数据库间数据同步延时检测的方法包括下列步骤:
(Al)将所执行的每个针对主数据库中的数据的操作的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间Tl被记录;
(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;
(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;
(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作的完成时间;
(A5)基于最新获得的与同一检测点相关联的时间Tl和T2,计算当前主从数据库间数据同步延时D=T2-T1。
[0008]在上面所公开的方案中,优选地,所述检测数据表仅用于辅助确定主从数据库间数据同步延时,其不包括实际有效数据。
[0009]在上面所公开的方案中,优选地,所述主数据库日志和所述从数据库日志以不区分数据库/表的顺序的方式实施记录操作。
[0010]在上面所公开的方案中,优选地,所述主从数据库间数据同步延时D的精度是毫秒级或微秒级。
[0011]在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:主数据库在执行针对检测数据表的辅助操作之前向从数据库发送指示预期辅助操作执行时间的通知,所述预期辅助操作执行时间是距当前时间预定距离的未来时间。
[0012]在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:仅在所述预期辅助操作执行时间之前收到来自从数据库针对所述通知的成功应答的情况下才实际执行本次针对所述检测数据表的辅助操作,否则,等待下一次辅助操作。
[0013]在上面所公开的方案中,优选地,所述主数据库和所述从数据库的系统时间一致。
[0014]在上面所公开的方案中,优选地,所述时间Tl和所述时间T2的时间精度是毫秒级或微秒级。
[0015]在上面所公开的方案中,优选地,所述步骤(A4)中的轮询的频次是每秒100次本发明所公开的主从数据库间数据同步延时检测的方法具有下列优点:由于计算的同步延时是针对主数据库的辅助操作执行成功的时间至从数据库中对应的数据被更新结束的时间之间的差,故具有较高的准确性和小的误差,并且同步延时的精度可以获得显著地提高,从而能够适应对延迟精度控制要求较高的场合。
【附图说明】
[0016]结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的主从数据库间数据同步延时检测的方法的流程图。
【具体实施方式】
[0017]图1是根据本发明的实施例的主从数据库间数据同步延时检测的方法的流程图。如图1所示,本发明所公开的主从数据库间数据同步延时检测的方法包括下列步骤:(Al)将所执行的每个针对主数据库中的数据的操作(例如更新、删除、插入等等)的信息记录在主数据库日志中,其中,针对主数据库中的数据的操作包括周期性地针对检测数据表执行的辅助操作,该辅助操作的信息被用作检测点,并且该辅助操作执行完成的时间Tl被记录;(A2)周期性地将主数据库日志中新产生的日志记录传送至从数据库;(A3)所述从数据库基于接收到的主数据库日志中新产生的日志记录更新从数据库日志并记录每个新产生的日志信息的更新时间,并且随之针对从数据库中的数据依次执行更新后的从数据库日志中的新产生的日志记录所指示的操作;(A4)以预定频率通过轮询的方式周期性地检测从数据库以依次确定更新后的从数据库日志中的新产生的与所述辅助操作相关的记录指示的操作是否已被完成,其中当发现与所述辅助操作相关的记录指示的操作已被完成时记录当前时间T2作为该辅助操作
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1