节点可用性管理、控制方法、节点、集群、装置及介质制造方法及图纸

技术编号:31027314 阅读:20 留言:0更新日期:2021-11-30 03:31
本申请实施例中提供节点可用性管理、控制方法、节点、集群、装置及介质,方法包括:在检测到原主节点故障时,配置所述原主节点为从节点且并行地从各个原有的从节点中选择一个配置为新主节点,以从所述原主节点切换至新主节点;在所述切换完成后,关闭所述原主节点的写入服务。本申请实现数据库集群中主、从节点热备的自动快速切换,无需人工介入,提升效率;并且,能避免原、新主节点的数据不一致的问题,避免“脑裂”情况发生。情况发生。情况发生。

【技术实现步骤摘要】
节点可用性管理、控制方法、节点、集群、装置及介质


[0001]本申请涉及数据库
,尤其涉及节点可用性管理、控制方法、节点、集群、装置及介质。

技术介绍

[0002]随着基于PostgreSQL的数据库在不断的投入生产使用后,需要保证PoststgreSQL数据库集群能够平稳运行。即需要一套高可用性机制,以在遭遇数据库服务中断、数据库服务器宕机、网络中断等情况下依然能够快速恢复业务。
[0003]通常,会采用数据库的主节点到备节点的热切换的方式来快速恢复业务。但是,切换过程中往往因为切换时的数据处理不妥,导致难以保障强数据一致性,造成正常写入数据丢失,以及数据在主、备节点发生错乱(也被称为“脑裂”)等,影响业务的一致性。此外,切换通常需要人工干预,耗时长、效率低,人工损耗较大,业务影响时间长;另外,目前的主备热切换方案在极端情况下的应对能力较弱,比如当集群中多数节点发生故障时,就会导致业务不可用。
[0004]以上问题会极大的影响数据库集群的可靠性,并且在发生问题时需要人工接入,效率低、耗时长,使得业务无法提供稳定且可靠的服务。
[0005]专利技术消息
[0006]鉴于以上所述现有技术的缺点,本申请的目的在于提供节点可用性管理、控制方法、节点、集群、装置及介质,解决现有技术的问题。
[0007]本申请第一方面提供一种节点可用性管理方法,应用于包含主节点及其通信的多个从节点的数据库集群;所述主节点用于供写入数据,各所述从节点用于从所述主节点复制数据以供读取;所述节点可用性管理方法包括:在检测到原主节点故障时,配置所述原主节点为从节点且并行地从各个原有的从节点中选择一个配置为新主节点,以从所述原主节点切换至新主节点;在所述切换完成后,关闭所述原主节点的写入服务。
[0008]在第一方面的实施例中,所述的节点可用性管理方法包括:根据预设判活逻辑检测原主节点是否故障;所述判活逻辑包括:当检测到与原主节点之间连接失败的连续次数达到预设数量,判断原主节点故障;其中,所述检测周期性地执行;所述周期的时长配置成使至少一次所述检测位于短暂网络波动影响之后的网络正常状态中。
[0009]在第一方面的实施例中,所述的节点可用性管理方法包括:对各所述从节点按复制延迟大小进行排序;所述从各个原有的从节点中选择一个配置为新主节点,包括:选择各个原有的从节点中复制延迟最低的作为新主节点。
[0010]在第一方面的实施例中,所述的节点可用性管理方法包括:当原主节点及新主节点均故障时,依照所述排序选择延迟最低的存活从节点作为下一新主节点。
[0011]在第一方面的实施例中,所述的节点可用性管理方法还包括:各从节点搭建复制关系至所述新主节点。
[0012]在第一方面的实施例中,所述的节点可用性管理方法还包括:当所述原主节点故
障修复后,其作为从节点搭建复制关系至所述新主节点。
[0013]在第一方面的实施例中,所述的节点可用性管理方法还包括:周期性地对各所述从节点进行复制延迟检测;若复制延迟超过预设延迟值,则告警提示。
[0014]在第一方面的实施例中,所述的节点可用性管理方法包括:当所有从节点均故障时,主节点与各从节点之间配置为异步复制模式;或者,当从节点从故障恢复时,主节点与恢复的从节点之间配置为同步复制模式。
[0015]在第一方面的实施例中,所述的节点可用性管理方法包括:周期性地检测各存活的从节点对主节点的复制模式是否为同步复制模式;若为异步复制模式,则修改配置为同步复制模式。
[0016]在第一方面的实施例中,所述数据库集群为关系型数据库;和/或,所述数据库集群为PostgresSQL数据库集群。
[0017]本申请第二方面提供一种节点控制方法,应用于数据库集群中的主节点,所述数据库集群还包括与所述主节点通信的多个从节点;所述主节点用于供写入数据,各所述从节点用于从所述主节点复制数据以供读取;所述节点控制方法包括:在出现故障时,原主节点被配置为从节点;在所述原主节点切换至新主节点后,所述原主节点的写入服务关闭;其中,所述新主节点从原有的各所述从节点中选择。
[0018]本申请第三方面提供一种节点可用性管理装置,应用于包含主节点及其通信的多个从节点的数据库集群;所述主节点用于供写入数据,各所述从节点用于从所述主节点复制数据以供读取;所述节点可用性管理装置包括:第一管理模块,用于在检测到原主节点故障时,配置所述原主节点为从节点且并行地从各个原有的从节点中选择一个配置为新主节点,以从所述原主节点切换至新主节点;第二管理模块,用于在所述切换完成后,关闭所述原主节点的写入服务。
[0019]本申请第四方面提供一种节点控制装置,应用于数据库集群中的主节点,所述数据库集群还包括与所述主节点通信的多个从节点;所述主节点用于供写入数据,各所述从节点用于从所述主节点复制数据以供读取;所述节点控制装置包括:配置模块,用于在出现故障时,原主节点被配置为从节点;服务模块,用于在所述原主节点切换至新主节点后,关闭所述原主节点的写入服务;其中,所述新主节点从原有的各所述从节点中选择。
[0020]本申请第五方面提供一种管理节点,应用于数据库集群;所述管理节点包括:通信器、存储器及处理器;所述通信器用于与外部通信;所述存储器存储有程序指令;所述处理器用于运行所述程序指令以执行如第一方面任一项所述的节点可用性管理方法。
[0021]本申请第六方面提供一种主节点,应用于数据库集群;所述主节点包括:通信器、存储器及处理器;所述通信器用于与外部通信;所述存储器存储有程序指令;所述处理器用于运行所述程序指令以执行如第二方面所述的节点控制方法。
[0022]本申请第七方面提供一种数据库集群,包括:如第六方面所述的主节点;多个从节点,与所述主节点通信;如第五方面所述的管理节点,与所述主节点及各从节点通信。
[0023]本申请第八方面提供一种计算机可读存储介质,存储有程序指令,所述程序指令被运行以执行如第一方面任一项所述的节点可用性管理方法;或者,执行如第二方面任一项所述的节点控制方法。
[0024]综上,本申请实施例中提供节点可用性管理、控制方法、节点、集群、装置及介质,
某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。
[0039]虽然在一些实例中术语第一、第二等在本文中用来表示各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一接口及第二接口等表示。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、模块、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、模块、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种节点可用性管理方法,其特征在于,应用于包含主节点及其通信的多个从节点的数据库集群;所述主节点用于供写入数据,各所述从节点用于从所述主节点复制数据以供读取;所述节点可用性管理方法包括:在检测到原主节点故障时,配置所述原主节点为从节点且并行地从各个原有的从节点中选择一个配置为新主节点,以从所述原主节点切换至新主节点;在所述切换完成后,关闭所述原主节点的写入服务。2.根据权利要求1所述的节点可用性管理方法,其特征在于,包括:根据预设判活逻辑检测原主节点是否故障;所述判活逻辑包括:当检测到与原主节点之间连接失败的连续次数达到预设数量,判断原主节点故障;其中,所述检测周期性地执行;所述周期的时长配置成使至少一次所述检测位于短暂网络波动影响之后的网络正常状态中。3.根据权利要求1所述的节点可用性管理方法,其特征在于,包括:对各所述从节点按复制延迟大小进行排序;所述从各个原有的从节点中选择一个配置为新主节点,包括:选择各个原有的从节点中复制延迟最低的作为新主节点。4.根据权利要求3所述的节点可用性管理方法,其特征在于,包括:当原主节点及新主节点均故障时,依照所述排序选择延迟最低的存活从节点作为下一新主节点。5.根据权利要求1所述的节点可用性管理方法,其特征在于,还包括:各从节点搭建复制关系至所述新主节点。6.根据权利要求1所述的节点可用性管理方法,其特征在于,还包括:当所述原主节点故障修复后,其作为从节点搭建复制关系至所述新主节点。7.根据权利要求1所述的节点可用性管理方法,其特征在于,还包括:周期性地对各所述从节点进行复制延迟检测;若复制延迟超过预设延迟值,则告警提示。8.根据权利要求1所述的节点可用性管理方法,其特征在于,包括:当所有从节点均故障时,主节点与各从节点之间配置为异步复制模式;或者,当从节点从故障恢复时,主节点与恢复的从节点之间配置为同步复制模式。9.根据权利要求1或8所述的节点可用性管理方法,其特征在于,包括:周期性地检测各存活的从节点对主节点的复制模式是否为同步复制模式;若为异步复制模式,则修改配置为同步复制模式。10.根据权利要求1所述的节点可用性管理方法,其特征在于,所述数据库集群为关系型数据库;和/或,所述数据库集群为PostgresSQL数据库集群。11.一种节点控制...

【专利技术属性】
技术研发人员:吴宙旭徐云磊
申请(专利权)人:携程旅游信息技术上海有限公司
类型:发明
国别省市:

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

1