故障处理方法、数据库节点及存储介质技术

技术编号:32460925 阅读:26 留言:0更新日期:2022-02-26 08:49
本发明专利技术公开了一种故障处理方法、数据库节点及存储介质。所述方法包括:在远程节点故障的情况下,根据管理系统中登记的等待对象唤醒对应的等待事件,并触发全局故障恢复的等待事件;向集群中的活动节点发送故障处理请求;在所述活动节点执行故障处理流程结束的情况下,唤醒全局故障恢复的等待事件。利用该方法,在远程节点故障的情况下,通过向集群中的活动节点发送故障处理请求,并触发全局故障恢复的等待事件能够使所有线程停止工作,以便对故障节点进行处理,同时不会对其余工作线程产生影响。响。响。

【技术实现步骤摘要】
故障处理方法、数据库节点及存储介质


[0001]本专利技术实施例涉及数据库
,尤其涉及一种故障处理方法、数据库节点及存储介质。

技术介绍

[0002]共享存储数据库集群是一种高可用的集群架构,集群环境内包含多个数据库实例。数据库实例可以包括一组操作系统进程(或者是一个多线程的进程)以及内存。实例间通过全局闩服务(Global Buffer Server,GBS)和本地闩服务(Local Buffer Server,LBS)来完成对数据页的访问控制。
[0003]在共享存储数据库集群环境里,全局闩锁信息根据数据页页号分片管理,每个节点维护一部分全局闩锁信息。当请求节点请求数据页的访问控制权限时,如果数据页对应的全局闩在其他节点(比如EP02),请求节点需要向EP02发送请求授权消息,请求节点收到EP02的授权响应消息后可继续执行;请求节点获得数据页授权后,还需要读取数据页的最新数据,如果数据页最新数据记录在节点EP03中,请求节点需要向EP03发送数据页读请求,请求节点收到EP03的数据页读响应消息后方可继续执行。
[0004]但是,当出现机器掉电、数据库实例异常等场景时,请求节点将无法收到远程节点(比如EP02、EP03)的响应消息,使得请求节点不能继续执行对数据页的访问控制。现有故障处理的方法可靠性低,不能实现对故障节点有效处理。

技术实现思路

[0005]本专利技术实施例提供了一种故障处理方法、数据库节点及存储介质,以实现对故障节点的有效处理,且不会对其余工作线程产生影响,提高数据库集群的可靠性。
[0006]第一方面,本专利技术实施例提供了一种故障处理方法,包括:
[0007]在远程节点故障的情况下,根据管理系统中登记的等待对象唤醒对应的等待事件,并触发全局故障恢复的等待事件;
[0008]向集群中的活动节点发送故障处理请求;
[0009]在所述活动节点执行故障处理流程结束的情况下,唤醒全局故障恢复的等待事件。
[0010]第二方面,本专利技术实施例提供了一种故障处理方法,包括:
[0011]响应故障处理请求,执行故障处理流程;
[0012]在执行故障处理流程结束的情况下,唤醒全局故障恢复的等待事件。
[0013]第三方面,本专利技术实施例还提供了一种数据库节点,包括:
[0014]一个或多个处理器;
[0015]存储装置,用于存储一个或多个程序;
[0016]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例提供的故障处理方法。
[0017]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本专利技术实施例提供的故障处理方法。
[0018]本专利技术实施例提供了一种故障处理方法、数据库节点及存储介质,该方法在远程节点故障的情况下,根据管理系统中登记的等待对象唤醒对应的等待事件,并触发全局故障恢复的等待事件;向集群中的活动节点发送故障处理请求;在所述活动节点执行故障处理流程结束的情况下,唤醒全局故障恢复的等待事件。利用上述技术方案,在远程节点故障的情况下,通过向集群中的活动节点发送故障处理请求,并触发全局故障恢复的等待事件能够使所有线程停止工作,以便对故障节点进行处理,同时不会对其余工作线程产生影响。
附图说明
[0019]图1为本专利技术实施例一提供的一种故障处理方法的流程示意图;
[0020]图2为本专利技术实施例二提供的一种故障处理方法的流程示意图;
[0021]图3为本专利技术实施例二提供的一种故障处理方法中节点间消息交互的结构示意图;
[0022]图4为本专利技术实施例三提供的一种故障处理方法的流程示意图;
[0023]图5为本专利技术实施例四提供的一种第一故障处理装置的结构示意图;
[0024]图6为本专利技术实施例五提供的一种第二故障处理装置的结构示意图;
[0025]图7为本专利技术实施例六提供的一种数据库节点的结构示意图。
具体实施方式
[0026]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0027]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。此外,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0028]本专利技术使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”。
[0029]需要注意,本专利技术中提及的“第一”、“第二”等概念仅用于对相应内容进行区分,并非用于限定顺序或者相互依存关系。
[0030]需要注意,本专利技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0031]实施例一
[0032]图1为本专利技术实施例一提供的一种故障处理方法的流程示意图,该方法可适用于共享存储数据库集群中出现故障节点的情况,该方法可以由第一故障处理方法装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在数据库节点上。
[0033]需要说明的是,全局闩服务包含所有已经授权的闩锁信息,包括授予闩锁的节点信息、数据页地址、数据页LSN、闩锁类型、最新数据页分布等信息。本地闩服务包含所有本节点已获得全局闩服务授予权限的数据页信息,包括数据页地址、数据页LSN信息、闩锁类型等。
[0034]一般地,示例性的,节点EP01访问或修改数据页P1时,首先要获得数据页P1的LBS权限,然后再获取P1的最新数据。具体过程大致可以描述为:首先节点EP01需要请求数据页P1的访问控制权限,如果P1对应的全局闩在其他节点,即远程节点1,节点EP01需要向远程节点1发送请求授权消息,并且等待远程节点1授权响应消息;远程节点1收到EP01请求授权消息,调整P1全局闩信息,授予节点EP01数据页P1的访问控制权限,向EP01发送授权响应消息;EP01收到远程节点1的授权响应消息后继续执行;
[0035]然后在节点EP01获得数据页P1授权后,需要读取数据页P1最新数据。数据页P1最新数据可能存储在磁盘中,也可能记录在其他活动节点中,即远程节点2。如果数据页P1最新数据记录在远程节点2中,EP01需要向远程节点2发送数据页读请求,并且等待远程节点2响应消息;远程节点2收到EP01的数据页P1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种故障处理方法,其特征在于,包括:在远程节点故障的情况下,根据管理系统中登记的等待对象唤醒对应的等待事件,并触发全局故障恢复的等待事件;向集群中的活动节点发送故障处理请求;在所述活动节点执行故障处理流程结束的情况下,唤醒全局故障恢复的等待事件。2.根据权利要求1所述的方法,其特征在于,所述远程节点包括第一远程节点,所述第一远程节点为待访问数据页的全局闩节点;所述管理系统包括本地闩服务LBS管理系统。3.根据权利要求2所述的方法,其特征在于,在所述在远程节点故障的情况下,根据管理系统中登记的等待对象唤醒对应的等待事件之前,还包括:向所述第一远程节点发送关于待访问数据页的LBS权限请求消息,并在所述LBS管理系统中登记一个等待对象;若接收到所述第一远程节点的授权响应消息,则取消所述LBS管理系统中对所述等待对象的登记信息,并唤醒所述等待对象对应的等待事件;若未接收到所述第一远程节点的授权响应消息,则所述第一远程节点故障。4.根据权利要求1所述的方法,其特征在于,所述远程节点包括第二远程节点,所述第二远程节点为包含待访问数据页最新数据的节点;所述管理系统包括数据读取管理系统。5.根据所述权利要求4所述的方法,其特征在于,在所述在远程节点故障的情况下,根据管理系统中登记的等待对象唤醒对应的等待事件之前,还包括:若所述待访问数据页的...

【专利技术属性】
技术研发人员:王巍韩朱忠
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:

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

1