增量数据获取方法和装置与流程

    技术2025-11-03  2


    本申请实施例涉及数据库技术。更具体地讲,涉及一种增量数据获取方法和装置。


    背景技术:

    1、数据库领域中的消费组件,用于从源端数据库中获取更新日志,以满足实时数据同步、数据订阅等多种场景下的业务需求。目前的消费组件只能在集群内进行切换。例如,在一个集群内,由于主设备出现故障,原有的从设备之一接管主设备的业务,成为新的主设备,此时,消费组件也将源端数据库从原来的主设备切换为新的主设备,以基于新的主设备上获取更新日志。若一个集群内的所有设备均出现故障,目前的消费组件则不能再继续消费更新日志。


    技术实现思路

    1、为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种增量数据获取方法和装置,可以使消费组件在主集群故障的情况下,继续在备用集群进行消费。

    2、第一方面,本申请实施例提供了一种增量数据获取方法,该方法包括:对消费组件上配置的主集群和备用集群进行健康检测,得到主集群和备用集群的健康状态,主集群为消费组件的源端数据库集群,消费组件用于通过消费线程消费源端数据库集群中主设备的更新日志并更新消费位置点,更新日志用于指示使源端数据库集群发生数据变更的事务,主集群的消费位置点用于指示消费组件消费所源端数据库集群中主设备的更新日志对应的事务的事务标识;在主集群的健康状态为异常状态,且备用集群的健康状态为正常状态的情况下,停止消费组件针对主集群的消费线程;删除消费组件记录的主集群的消费位置点;将备用集群中主设备的执行位置点作为目标消费位置点,基于目标消费位置点,将消费组件的源端数据库集群由主集群切换到备用集群,执行位置点用于指示备用集群中主设备当前执行的使备用集群发生数据变更的事务的事务标识;启动消费组件针对备用集群的目标消费线程,以使消费组件基于目标消费位置点消费备用集群的主设备的更新日志。

    3、第二方面,本申请实施例提供了一种增量数据获取装置,该装置包括:

    4、检测单元,用于对消费组件上配置的主集群和备用集群进行健康检测,得到主集群和备用集群的健康状态,主集群为消费组件的源端数据库集群,消费组件用于通过消费线程消费源端数据库集群中主设备的更新日志并更新消费位置点,更新日志用于指示使源端数据库集群发生数据变更的事务,主集群的消费位置点用于指示消费组件消费源端数据库集群中主设备的更新日志对应的事务的事务标识;

    5、停止单元,用于在主集群的健康状态为异常状态,且备用集群的健康状态为正常状态的情况下,停止消费组件针对主集群的消费线程;

    6、删除单元,用于删除消费组件记录的主集群的消费位置点;

    7、切换单元,用于将备用集群中主设备的执行位置点作为目标消费位置点,基于目标消费位置点,将消费组件的源端数据库集群由主集群切换到备用集群,执行位置点用于指示备用集群中主设备当前执行的使备用集群发生数据变更的事务的事务标识;

    8、启动单元,用于启动消费组件针对备用集群的目标消费线程,以使消费组件基于目标消费位置点消费备用集群的主设备的更新日志。

    9、第三方面,本申请实施例提供了一种电子设备,包括:处理器,该处理器用于执行存储于存储器的计算机程序,该计算机程序被处理器执行时实现第一方面提供的任一种增量数据获取方法的步骤。

    10、第四方面,本申请实施例提供了一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面所示的增量数据获取方法。

    11、第五方面,本申请实施例提供了一种计算机程序产品,包括:当计算机程序产品在计算机上运行时,使得计算机实现如第一方面所示的增量数据获取方法。

    12、本申请实施例提供的技术方案与现有技术相比具有如下优点:本申请实施例中,首先对消费组件上配置的主集群和备用集群进行健康检测,得到主集群和备用集群的健康状态;在主集群的健康状态为异常状态,且备用集群的健康状态为正常状态的情况下,停止消费组件针对主集群的消费线程;删除消费组件记录的主集群的消费位置点;将备用集群中主设备的执行位置点作为目标消费位置点,基于目标消费位置点,将消费组件的源端数据库集群由主集群切换到备用集群,执行位置点用于指示备用集群中主设备当前执行的使备用集群发生数据变更的事务的事务标识;启动消费组件针对备用集群的目标消费线程,以使消费组件基于目标消费位置点消费备用集群的主设备的更新日志。本方案中,为了避免主集群与备用集群的位置点体系不一致,无法在备用集群中主设备的更新日志中识别到消费组件记录的主集群的消费位置点,导致无法完成消费组件的跨集群消费的问题,首先将消费组件记录的主集群的消费位置点删除,再将备用集群中主设备的执行位置点作为新的消费位置点,以避免备用集群中主设备无法识别消费组件在集群间切换时注册的消费位置点,导致无法完成消费组件的跨集群消费的问题。如此,便能使消费组件在主集群故障后,继续在备用集群进行消费,以保证消费组件记录的数据的完整性。



    技术特征:

    1.一种增量数据获取方法,其特征在于,所述方法包括:

    2.根据权利要求1所述的方法,其特征在于,所述删除所述消费组件记录的所述主集群的消费位置点之前,所述方法还包括:

    3.根据权利要求2所述的方法,其特征在于,所述确定所述备用集群中主设备是否是目标设备的从设备之后,所述方法还包括:

    4.根据权利要求3所述的方法,其特征在于,所述确定所述第一事务标识集合中是否包括所述主集群的消费位置点指示的事务标识之后,所述方法还包括:

    5.根据权利要求4所述的方法,其特征在于,所述确定所述第二事务标识集合中是否包括所述目标消费位置点指示的事务标识之后,所述方法还包括:

    6.根据权利要求1所述的方法,其特征在于,所述删除所述消费组件记录的所述主集群的消费位置点之前,所述方法还包括:

    7.根据权利要求6所述的方法,其特征在于,所述确定所述主集群的拓扑中是否包括所述备用集群中的主设备之后,所述方法还包括:

    8.根据权利要求7所述的方法,其特征在于,所述确定所述第一事务标识集合中是否包括所述主集群的消费位置点指示的事务标识之后,所述方法还包括:

    9.一种增量数据获取装置,其特征在于,包括:

    10.根据权利要求9所述的装置,其特征在于,所述装置为消费组件。


    技术总结
    本公开涉及一种增量数据获取方法和装置,应用于数据库领域,可以使消费组件在主集群故障的情况下,继续在备用集群进行消费。该方法包括:对消费组件上配置的主集群和备用集群进行健康检测,得到主集群和备用集群的健康状态;在主集群的健康状态为异常状态,且备用集群的健康状态为正常状态的情况下,停止消费组件针对主集群的消费线程;删除消费组件记录的主集群的消费位置点;将备用集群中主设备的执行位置点作为目标消费位置点,基于目标消费位置点,将消费组件的源端数据库集群由主集群切换到备用集群;启动消费组件针对备用集群的目标消费线程,以使消费组件基于目标消费位置点消费备用集群的主设备的更新日志。

    技术研发人员:胡新静,刘先攀,辛全琦,傅子剑
    受保护的技术使用者:聚好看科技股份有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-36083.html

    最新回复(0)