节点故障切换方法、装置、数据库系统、设备和介质与流程

文档序号:37308998发布日期:2024-03-13 20:56阅读:11来源:国知局
节点故障切换方法、装置、数据库系统、设备和介质与流程

本技术涉及数据库,具体而言,涉及一种节点故障切换方法、装置、数据库系统、设备和介质。


背景技术:

1、随着信息技术和人类生产生活的交汇融合以及互联网的快速普及,企业数据信息呈现爆发增长、海量集聚的特点,导致传统单机数据库的处理和存储能力遇到瓶颈,从而推动了横向扩展的多节点集群数据库的诞生。多节点集群数据库利用其并行计算能力,在每个节点中存储和处理海量数据的一部分,再把计算结果汇总,使得处理大规模数据成为可能。

2、另一方面,随着企业数据信息转变为重要的实体数据资产,对于承载数据资产的数据库软件来说,可靠性和可用性已经成为其核心诉求,多节点集群数据库也不例外。可靠性是指作为企业关键资产的数据,不能丢失,不能被篡改,时刻都要是安全且一致的。可用性则是指数据库库软件及其所承载的数据资产,能最大程度保证业务连续运行。这也是所有信息技术人员在建设企业信息系统架构中首先要考虑的问题。为保证业务连续性,一般都是通过提供数据库的高可用性能力而实现。高可用性能力一般是通过节点的主备复制和故障自动切换来实现的。

3、对于多节点集群数据库来说,如果依赖主备复制建立备数据库,那么备数据库节点数量就要与主数据库节点一致。集群数据库某工作节点发生故障后,一直到备用节点接替对外服务前,和故障节点相关的数据服务都是不可用的,也就是会发生业务中断。并且由于集群数据库每个节点处理的数据都很大,加载时间也很长。

4、现有的集群数据库中的节点故障切换方法,节点发生故障后自动进行切换的时间较长,并且整个集群数据库的硬件资源冗余配置成本较高。


技术实现思路

1、本技术提供一种节点故障切换方法、装置、数据库系统、设备和介质,用于解决现有的节点故障切换方法耗时较长,整个集群数据库的硬件配置成本较高的技术问题。

2、本技术提供一种节点故障切换方法,包括:

3、确定发生故障的当前工作节点,以及所述当前工作节点对应的候选工作节点,并将所述当前工作节点的数据处理任务挂起;

4、将所述当前工作节点在共享持久化存储设备中对应的持久化数据卷重新挂载至所述候选工作节点,以及将所述当前工作节点在共享内存设备中对应的数据缓冲区重新映射至所述候选工作节点;

5、将所述数据处理任务发送至所述候选工作节点;所述候选工作节点用于基于所述持久化数据卷和所述数据缓冲区中的数据,对所述数据处理任务进行处理。

6、在一些实施例中,所述当前工作节点和所述候选工作节点基于计算机互联总线与所述共享内存设备连接。

7、在一些实施例中,所述确定发生故障的当前工作节点,以及所述当前工作节点对应的候选工作节点,包括:

8、向集群数据库中的各个候选工作节点发送访问测试信号;

9、接收各个候选工作节点基于所述访问测试信号反馈的访问响应时间;

10、将访问响应时间最小值对应的候选工作节点确定为所述当前工作节点对应的候选工作节点。

11、在一些实施例中,所述将所述当前工作节点在共享持久化存储设备中对应的持久化数据卷重新挂载至所述候选工作节点,以及将所述当前工作节点在共享内存设备中对应的数据缓冲区重新映射至所述候选工作节点,包括:

12、确定所述当前工作节点在共享持久化存储设备中对应的持久化数据卷;

13、对所述当前工作节点在共享持久化存储设备中对应的持久化数据卷进行解除挂载;

14、将所述持久化数据卷挂载至所述候选工作节点,并将所述候选工作节点对所述持久化数据卷的访问方式设置为独占锁访问;

15、确定所述当前工作节点在共享内存设备中对应的数据缓冲区;

16、对所述当前工作节点在共享内存设备中对应的数据缓冲区进行解除映射;

17、将所述数据缓冲区映射至所述候选工作节点,并将所述候选工作节点对所述数据缓冲区的访问方式设置为独占锁访问。

18、在一些实施例中,所述对所述当前工作节点在共享持久化存储设备中对应的持久化数据卷进行解除挂载,包括:

19、获取所述当前工作节点的通信状态;

20、在所述当前工作节点的通信状态为可连接的情况下,向所述当前工作节点发送第一解除挂载命令;

21、所述当前工作节点用于基于所述第一解除挂载命令在所述共享持久化存储设备中解除对所述对应的持久化数据卷的挂载;

22、在所述当前工作节点的通信状态为不可连接或者基于所述第一解除挂载命令无法对所述对应的持久化数据卷解除挂载的情况下,确定其他工作节点;

23、向所述其他工作节点发送第二解除挂载命令;

24、所述其他工作节点用于基于所述第二解除挂载命令将所述对应的持久化数据卷在所述共享持久化存储设备中的访问状态强制设置为可访问状态。

25、在一些实施例中,所述对所述当前工作节点在共享内存设备中对应的数据缓冲区进行解除映射,包括:

26、获取所述当前工作节点的通信状态;

27、在所述当前工作节点的通信状态为可连接的情况下,向所述当前工作节点发送第一解除映射命令;

28、所述当前工作节点用于基于所述第一解除映射命令在所述共享内存设备中解除对所述对应的数据缓冲区的内存地址映射;

29、在所述当前工作节点的通信状态为不可连接或者基于所述第一解除映射命令无法对所述对应的数据缓冲区解除映射的情况下,确定其他工作节点;

30、向所述其他工作节点发送第二解除映射命令;

31、所述其他工作节点用于基于所述第二解除映射命令将所述对应的数据缓冲区在所述共享内存设备中的访问状态强制设置为可访问状态。

32、本技术提供一种节点故障切换装置,包括:

33、确定模块,用于确定发生故障的当前工作节点,以及所述当前工作节点对应的候选工作节点,并将所述当前工作节点的数据处理任务挂起;

34、切换模块,用于将所述当前工作节点在共享持久化存储设备中对应的持久化数据卷重新挂载至所述候选工作节点,以及将所述当前工作节点在共享内存设备中对应的数据缓冲区重新映射至所述候选工作节点;

35、执行模块,用于将所述数据处理任务发送至所述候选工作节点;所述候选工作节点用于基于所述持久化数据卷和所述数据缓冲区中的数据,对所述数据处理任务进行处理。

36、本技术提供一种数据库系统,包括工作节点、候选工作节点、共享内存设备、共享持久化存储设备和节点故障切换装置;

37、所述工作节点,分别与所述共享内存设备和所述共享持久化存储设备连接;

38、所述节点故障切换装置,分别与所述工作节点和所述候选工作节点连接,用于执行所述的节点故障切换方法。

39、本技术提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述的节点故障切换方法。

40、本技术提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的节点故障切换方法。

41、本技术提供的节点故障切换方法、装置、数据库系统、设备和介质,确定发生故障的当前工作节点,以及当前工作节点对应的候选工作节点,并将当前工作节点的数据处理任务挂起;将当前工作节点在共享持久化存储设备中对应的持久化数据卷重新挂载至候选工作节点,以及将当前工作节点在共享内存设备中对应的数据缓冲区重新映射至候选工作节点;将数据处理任务发送至候选工作节点,由候选工作节点对数据处理任务进行处理。由于在集群数据库中增加了共享内存设备,将原来节点服务器中的数据缓冲区设置在共享内存设备中,使得在节点发生故障进行切换时,无需将持久化存储的数据加载到候选工作节点中去,而是通过重新挂载共享持久化存储模块中的持久化数据卷和重新映射共享内存设备中的数据缓冲区,从而节省了数据加载的时间,加速了切换过程,减少了节点故障切换的时间;由于在共享内存设备中采用了内存地址映射的方式,共享内存空间用于缓存集群数据库中的数据,使得每个节点服务器中不必设置单独的数据缓冲区,从而减少了整个集群服务器的硬件配置,降低了集群数据库的硬件成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1