处理故障节点的方法及装置、非易失性存储介质、处理器制造方法及图纸

技术编号:36095520 阅读:22 留言:0更新日期:2022-12-24 11:13
本申请公开了一种处理故障节点的方法及装置、非易失性存储介质、处理器。其中,该方法包括:获取数据库中节点的信息和数据库的故障容忍时间,根据节点的关键健康指标判断节点是否为故障节点,如果节点的关键健康指标为不达标,确定节点为故障节点,如果节点的关键健康指标为达标,确定节点不是故障节点;如果节点为故障节点,根据节点属性,节点类型和数据库的故障容忍时间,确定故障节点的处理方式,并依据处理方式对故障节点进行处理的方式,解决了由于现有技术中对数据库故障节点的处理方式不能覆盖全部故障场景造成的不能及时、准确的处理数据库故障节点,导致数据库的数据一致性和服务连续性降低的技术问题。性和服务连续性降低的技术问题。性和服务连续性降低的技术问题。

【技术实现步骤摘要】
处理故障节点的方法及装置、非易失性存储介质、处理器


[0001]本申请涉及数据库
,具体而言,涉及一种由数据库的连接层实现的处理故障节点的方法及装置、非易失性存储介质、处理器。

技术介绍

[0002]数据库作为信息系统的核心之一,承载业务的数据访问和处理,一个完整的数据库架构包括故障切换模块和连接层模块,其中,故障切换模块负责检测健康状态、切换以及切换后的处理;连接层模块负责提供业务转发、感知后端数据库服务状态的变化以及相应的处理。相关技术中,当数据库集群节点出现故障后,连接层模块对发生故障的节点进行处理时,存在无法覆盖全部故障场景,导致未能及时下线数据库故障节点,或将未发生故障的数据库节点下线,导致服务连续性较差的问题。
[0003]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本申请实施例提供了一种处理故障节点的方法及装置、非易失性存储介质、处理器,以至少解决由于现有技术中对数据库故障节点的处理方式不能覆盖全部故障场景造成的不能及时、准确的处理数据库故障节点,导致数据库的数据一致性和服务连续性降低的技术问题。
[0005]根据本申请实施例的一个方面,提供了一种处理故障节点的方法,该方法应用于连接层,包括:获取数据库中节点的信息和数据库的故障容忍时间,其中,节点的信息包括:节点类型,节点的关键健康指标,节点属性,其中,节点类型包括:主节点和从节点,节点属性用于指示节点为参与故障切换的节点,或者节点为不参与故障切换的节点;根据节点的关键健康指标判断节点是否为故障节点,如果节点的关键健康指标为不达标,确定节点为故障节点,如果节点的关键健康指标为达标,确定节点不是故障节点;如果节点为故障节点,根据节点属性,节点类型和数据库的故障容忍时间,确定故障节点的处理方式,并依据处理方式对故障节点进行处理。
[0006]可选地,根据节点属性,节点类型和数据库的故障容忍时间,确定故障节点的处理方式,并依据处理方式对故障节点进行处理,包括:如果故障节点类型为主节点,根据故障容忍时间确定对故障主节点的第一处理方式,依据第一处理方式对故障主节点进行处理;如果故障节点类型为从节点,根据故障容忍时间确定对故障从节点的第二处理方式,依据第二处理方式对故障从节点进行处理。
[0007]可选地,依据第一处理方式对故障主节点进行处理,包括:确定检测时间,在检测时间内获取节点属性为参与故障切换的多个第一从节点的关键健康指标,其中,第一从节点为允许连接层直接访问的从节点;如果多个第一从节点中,存在关键健康指标为达标的第一从节点,确定故障主节点的关键健康指标为不达标的持续不达标时间,确定持续不达标时间与数据库的故障容忍时间的第一差值;如果第一差值小于或者等于检测时间的预设
倍数,确定将故障主节点下线;如果第一差值大于检测时间的预设倍数,重新获取多个第一从节点的关键健康指标;如果多个第一从节点中,不存在关键健康指标为达标的第一从节点,记录故障主节点的持续不达标时间,并重新获取多个第一从节点的关键健康指标。
[0008]可选地,依据第一处理方式对故障主节点进行处理,还包括:在检测时间内获取节点属性为参与故障切换的多个第二从节点的关键健康指标,其中,第二从节点为不允许连接层直接访问的从节点;如果多个第二从节点中,存在关键健康指标为达标的第二从节点,且第一差值小于或者等于检测时间的预设倍数,确定将故障主节点下线;如果多个第二从节点中,存在关键健康指标为达标的第二从节点,且第一差值大于检测时间的预设倍数,重新获取多个第二从节点的关键健康指标;如果多个第二从节点中,不存在关键健康指标为达标的第二从节点,记录故障主节点的持续不达标时间,并重新获取多个第一从节点和第二从节点的关键健康指标。
[0009]可选地,依据第一处理方式对故障主节点进行处理,还包括:如果多个第二从节点中不存在关键健康指标为达标的第二从节点,确定利用主节点策略对故障主节点进行处理,其中,利用主节点策略对故障主节点进行处理,包括:确定数据库的服务连续性和数据库的数据一致性的优先级;如果服务连续性的优先级高于数据一致性的优先级,确定不将故障主节点下线,并重新获取多个第一从节点和第二从节点的关键健康指标;如果服务连续性的优先级低于数据一致性的优先级,且第一差值小于或者等于检测时间的预设倍数,确定将故障主节点下线;如果服务连续性的优先级低于数据一致性的优先级,且第一差值大于检测时间的预设倍数,确定不将故障主节点下线,并重新获取多个第一从节点和第二从节点的关键健康指标。
[0010]可选地,依据第二处理方式对故障从节点进行处理,包括:获取故障从节点的复制链上,允许连接层访问的且节点属性为参与故障切换的多个第三从节点的信息;如果根据多个第三从节点的信息,确定多个第三从节点中存在复制中断的第三从节点,确定故障从节点的复制链中断的持续时间;确定故障从节点的复制链中断的持续时间与数据库的故障容忍时间的第二差值;如果第二差值为正数或零,确定将故障从节点下线;如果第二差值为负数,确定重新获取故障从节点的复制链的信息;如果根据多个第三从节点的信息,确定多个第三从节点中不存在复制中断的第三从节点,将故障从节点的复制链中断的持续时间清零,并重新获取故障从节点的复制链的信息。
[0011]可选地,依据第二处理方式对故障从节点进行处理,还包括:获取故障从节点的复制链上,不允许连接层访问的且节点属性为参与故障切换的多个第四从节点的信息;如果根据多个第四从节点的信息,确定多个第四从节点中存在复制中断的第四从节点,且第二差值为正数或零,确定将故障从节点下线;如果根据多个第四从节点的信息,确定多个第四从节点中存在复制中断的第四从节点,且第二差值为负数,确定重新获取故障从节点的复制链的信息;如果根据多个第四从节点的信息,确定多个第四从节点中不存在复制中断的第四从节点,将故障从节点的复制链中断的持续时间清零,并重新获取故障从节点的复制链的信息。
[0012]可选地,依据第二处理方式对故障从节点进行处理,还包括:如果根据多个第四从节点的信息,确定多个第四从节点中不存在复制中断的第四从节点,依据从节点策略对故障从节点进行处理,其中,依据从节点策略对故障从节点进行处理,包括:确定数据库的服
务连续性和数据库的数据一致性的优先级;如果服务连续性的优先级高于数据一致性的优先级,确定不将故障从节点下线,并将故障从节点的复制链中断的持续时间清零,重新获取故障从节点的复制链的信息;如果服务连续性的优先级低于数据一致性的优先级,且第二差值为负数,确定重新获取故障从节点的复制链的信息;如果服务连续性的优先级低于数据一致性的优先级,且第二差值为正数或零,确定将故障从节点下线。
[0013]根据本申请实施例的另一方面,还提供了一种处理故障节点的装置,该装置应用于连接层,包括:获取模块,用于获取数据库中节点的信息和数据库的故障容忍时间,其中,节点的信息包括:节点类型,节点的关键健康指标,其中,节点类型包括:主节点和从节点,节点属性用于指示节点为参与故障切换的节点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理故障节点的方法,其特征在于,所述方法应用于连接层,包括:获取数据库中节点的信息和所述数据库的故障容忍时间,其中,所述节点的信息包括:节点类型,节点的关键健康指标,节点属性,其中,所述节点类型包括:主节点和从节点,所述节点属性用于指示所述节点为参与故障切换的节点,或者所述节点为不参与所述故障切换的节点;根据所述节点的关键健康指标,判断所述节点是否为故障节点,如果所述节点的关键健康指标为不达标,确定所述节点为故障节点,如果所述节点的关键健康指标为达标,确定所述节点不是所述故障节点;如果所述节点为故障节点,根据所述节点属性,所述节点类型和所述数据库的故障容忍时间,确定所述故障节点的处理方式,并依据所述处理方式对所述故障节点进行处理。2.根据权利要求1所述的方法,其特征在于,根据所述节点属性,所述节点类型和所述数据库的故障容忍时间,确定所述故障节点的处理方式,并依据所述处理方式对所述故障节点进行处理,包括:如果所述故障节点类型为主节点,根据所述故障容忍时间确定对故障主节点的第一处理方式,依据所述第一处理方式对所述故障主节点进行处理;如果所述故障节点类型为从节点,根据所述故障容忍时间确定对故障从节点的第二处理方式,依据所述第二处理方式对所述故障从节点进行处理。3.根据权利要求2所述的方法,其特征在于,依据所述第一处理方式对所述故障主节点进行处理,包括:确定检测时间,在所述检测时间内获取所述节点属性为参与故障切换的多个第一从节点的关键健康指标,其中,所述第一从节点为允许所述连接层直接访问的从节点;如果所述多个第一从节点中,存在所述关键健康指标为达标的所述第一从节点,确定所述故障主节点的关键健康指标为不达标的持续不达标时间,确定所述持续不达标时间与所述数据库的故障容忍时间的第一差值;如果所述第一差值小于或者等于所述检测时间的预设倍数,确定将所述故障主节点下线;如果所述第一差值大于所述检测时间的预设倍数,重新获取多个所述第一从节点的关键健康指标;如果多个所述第一从节点中,不存在所述关键健康指标为达标的所述第一从节点,记录所述故障主节点的持续不达标时间,并重新获取多个所述第一从节点的关键健康指标。4.根据权利要求3所述的方法,其特征在于,依据所述第一处理方式对所述故障主节点进行处理,还包括:在所述检测时间内获取所述节点属性为参与故障切换的多个第二从节点的关键健康指标,其中,所述第二从节点为不允许所述连接层直接访问的从节点;如果所述多个第二从节点中,存在所述关键健康指标为达标的所述第二从节点,且所述第一差值小于或者等于所述检测时间的预设倍数,确定将所述故障主节点下线;如果所述多个第二从节点中,存在所述关键健康指标为达标的所述第二从节点,且所述第一差值大于所述检测时间的预设倍数,重新获取多个所述第二从节点的关键健康指标;
如果所述多个第二从节点中,不存在所述关键健康指标为达标的所述第二从节点,记录所述故障主节点的持续不达标时间,并重新获取多个所述第一从节点和所述第二从节点的关键健康指标。5.根据权利要求4所述的方法,其特征在于,依据所述第一处理方式对所述故障主节点进行处理,还包括:如果所述多个第二从节点中不存在所述关键健康指标为达标的所述第二从节点,确定利用主节点策略对所述故障主节点进行处理,其中,利用所述主节点策略对所述故障主节点进行处理,包括:确定所述数据库的服务连续性和所述数据库的数据一致性的优先级;如果所述服务连续性的优先级高于所述数据一致性的优先级,确定不将所述故障主节点下线,并重新获取多个所述第一从节点和所述第二从节点的关键健康指标;如果所述服务连续性的优先级低于所述数据一致性的优先级,且所述第一差值小于或者等于所述检测时间的预设倍数,确定将所述故障主节点下线;如果所述服务连续性的优先级低于所述数据一致性的优先级,且所述第一差值大于所述检测时间的预设...

【专利技术属性】
技术研发人员:郎俊
申请(专利权)人:云和恩墨北京信息技术有限公司
类型:发明
国别省市:

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

1