一种集群业务处理方法、服务器及系统技术方案

技术编号:38661821 阅读:10 留言:0更新日期:2023-09-02 22:44
本申请提供一种集群业务处理方法、服务器及系统,该方法应用于集群业务系统,该集群业务系统包括第一节点和第二节点;该方法包括:在第一节点的心跳网络和第二节点的心跳网络正常的情况下,获取本地输入输出IO流检测的检测结果;在本地IO流检测的检测结果为异常的情况下,获取对端IO流检测的检测结果;基于对端IO流检测的检测结果和本地IO流检测的检测结果,确定故障原因,并根据该故障原因对集群业务进行处理。解决了现有技术中因心跳网络检测无法检测到节点中的RAID卡故障,而导致集群业务系统不会将业务从RAID卡发生故障的节点切换到正常节点上运行的问题。换到正常节点上运行的问题。换到正常节点上运行的问题。

【技术实现步骤摘要】
一种集群业务处理方法、服务器及系统


[0001]本申请涉及数据库
,尤其涉及一种集群业务处理方法、服务器及系统。

技术介绍

[0002]数字化和信息化的飞速发展,给人们的生产生活带来了很多便利的同时,也伴随着大量数据的产生,现有技术通常会采用数据库的方式对这些数据进行存储和分析。为了保障业务的连续性,通常采用高可用集群的方式来搭建数据库。高可用集群在检测到集群内部的一个或者多个节点出现故障时,会将业务从故障节点切换到正常工作的节点上运行,由此避免了业务的中断。
[0003]现有技术中,高可用集群中的节点切换通常依赖于心跳网络检测。心跳网络检测主要通过监听集群中的节点的心跳信号来检测节点是否发生失效故障,当在指定时间内未监听到集群中的某一节点的心跳信号,则确定该节点失效,将该节点上运行的业务切换到正常节点。然而,在节点未失效的情况下,若节点中用于控制数据存储的独立冗余磁盘阵列(Redundant Array of Independent Disks,简称RAID)卡发生故障,则会导致RAID卡管理的多个磁盘的IO流无法正常读写,进而影响数据库业务,此时也需要进行节点切换。而由于该节点并未失效,其心跳信号仍能被监听到,因此集群业务系统不会将业务从RAID卡发生故障的节点切换到正常节点上运行。

技术实现思路

[0004]本申请实施例提供一种集群业务处理方法、服务器及系统,用于解决现有技术中因心跳网络检测无法检测到节点中的RAID卡故障,而导致集群业务系统不会将业务从RAID卡发生故障的节点切换到正常节点上运行的问题。
[0005]第一方面,本申请实施例提供一种集群业务处理方法,所述方法应用于集群业务系统,所述集群业务系统包括:第一节点和第二节点;所述方法包括:在所述第一节点的心跳网络和所述第二节点的心跳网络正常的情况下,获取本地输入输出IO流检测的检测结果;在本地IO流检测的检测结果为异常的情况下,获取对端IO流检测的检测结果;基于所述对端IO流检测的检测结果和所述本地IO流检测的检测结果,确定故障原因,并根据所述故障原因对所述集群业务进行处理;其中,所述本地输入输出IO流检测为所述第一节点对所述第一节点中的第一独立冗余磁盘阵列RAID卡与第一磁盘之间的IO流的第一本地IO流检测,和所述第二节点对所述第二节点中的第二RAID卡与第二磁盘之间的IO流的第二本地IO流检测;所述对端IO流检测为所述第一节点对所述第二节点中的第二RAID卡与第二磁盘之间的IO流的第一对端IO流检测,和/或所述第二节点对所述第一节点中的第一RAID卡与第一磁盘之间的IO流的第二对端IO流检测。
[0006]本申请实施例中,通过引入IO流检测服务,各节点分别对本地的IO流进行检测,在检测结果异常的情况下,各节点对对端的IO流进行检测。由于本地IO流检测服务异常,可能是本地IO流检测服务异常或者本地RAID卡发生软故障导致,因此,在本地IO流检测异常的
情况下,通过对对端IO流检测,可以进一步判断是否是本地RAID卡发生软故障,从而可以解决磁盘无法正常读写时,导致系统假死而不进行集群业务系统主、备节点切换的问题,提高集群业务系统的可靠性。
[0007]在一种具体实施方式中,获取本地IO流检测的检测结果,包括:所述第一节点和所述第二节点分别向本地节点的磁盘发起第一读数据指令;其中,所述第一读数据指令用于读取所述本地节点中的磁盘中的第一数据;获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据;所述本地IO流检测的检测结果为异常,包括:没有获取到所述本地节点的磁盘返回的第一数据。
[0008]在上述实施方式中,第一节点和第二节点分别向各自本地的磁盘发送读数据指令,并基于该数据读指令,返回数据,若能获取到本地磁盘中的数据,则本地IO流检测结果为正常,没有获取到本地磁盘中数据,则本地IO流检测结果为异常,通过上述方法,以实现各节点对本地IO流的检测。
[0009]在一种具体实施方式中,获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据,包括:在预设的第一时间段内,按照预设的时间间隔点获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据;所述本地IO流检测的检测结果为异常,还包括:若在所述预设的第一时间段内,按照所述预设的时间间隔点,获取到所述本地节点的磁盘返回第一数据的次数总和小于第一次数阈值,则确定所述本地IO流检测的检测结果为异常。
[0010]在上述实施方式中,通过在一段预设的第一时间段内,每隔一段时间间隔点,各节点就读取本地节点的磁盘中的数据,若在该预设的第一时间段内,获取到本地节点的磁盘返回的第一数据的总次数大于或者等于第一次数阈值,则可确定本地IO流检测的检测结果为正常,反之则异常,通过在一段预设的时间段内,判断成功获取第一数据的次数,从而使得对IO流检测的检测结果的判断更为准确,可靠。
[0011]在一种具体实施方式中,获取本地节点的磁盘基于第一读数据指令返回的第一数据,包括:在预设的第二时间段内,获取所述本地节点的磁盘基于第一读数据指令返回的第一数据;本地IO流检测的检测结果为异常,还包括:若获取到所述本地节点的磁盘返回的第一数据的获取时间与所述预设的第二时间之差大于第一时间阈值,则确定所述本地IO流检测的检测结果为异常;其中,预设的第二时间为正常获取到本地节点的磁盘返回第一数据的最大时间。
[0012]在上述实施方式中,通过在预设的第二时间段内,判断各节点各自获取第一数据的超时时间,若超时时间大于第一时间阈值,则确定本地IO流检测结果为异常,反之则正常,通过上述实施方式,可以使得对本地IO流检测的检测结果更加可靠。
[0013]在一种具体实施方式中,获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据,包括:在预设的第一时间段内,获取本地节点的磁盘基于第一读数据指令返回的第一数据;所述本地IO流检测的检测结果为异常,还包括:在所述预设的第一时间段内,获取到所述本地节点的磁盘返回的第一数据的获取时间与预设的第二时间之差大于第一时间阈值的次数大于第二次数阈值;所述预设的第二时间为正常获取到所述本地节点的磁盘返回所述第一数据的最大时间。
[0014]在上述实施方式中,通过判断各节点在第一时间段内获取第一数据的超时次数,
来对本地IO流的检测结果进行判断,进一步提高了检测的可靠性和准确性。
[0015]在一种具体实施方式中,所述获取对端IO流检测的检测结果,包括:所述第一节点或者所述第二节点向对端节点的磁盘发起第二读数据指令;其中,所述第二读数据指令用于读取所述对端节点的磁盘中的第二数据;获取所述对端节点的磁盘基于所述第二读数据指令返回的第二数据;若获取到所述对端节点的磁盘返回的第二数据,则确定所述对端IO流检测的检测结果为正常;若没有获取到所述对端节点的磁盘返回的第二数据,则确定所述对端IO流检测的检测结果为异常。
[0016]在上述实施方式中,各节点通过向对端节点的磁盘发送读数据指令,若能够获取到对端节点返回的第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群业务处理方法,其特征在于,所述方法应用于集群业务系统,所述集群业务系统包括:第一节点和第二节点;所述方法包括:在所述第一节点的心跳网络和所述第二节点的心跳网络正常的情况下,获取本地输入输出IO流检测的检测结果;在本地IO流检测的检测结果为异常的情况下,获取对端IO流检测的检测结果;基于所述对端IO流检测的检测结果和所述本地IO流检测的检测结果,确定故障原因,并根据所述故障原因对所述集群业务进行处理;其中,所述本地输入输出IO流检测为所述第一节点对所述第一节点中的第一独立冗余磁盘阵列RAID卡与第一磁盘之间的IO流的第一本地IO流检测,和所述第二节点对所述第二节点中的第二RAID卡与第二磁盘之间的IO流的第二本地IO流检测;所述对端IO流检测为所述第一节点对所述第二节点中的第二RAID卡与第二磁盘之间的IO流的第一对端IO流检测,和/或所述第二节点对所述第一节点中的第一RAID卡与第一磁盘之间的IO流的第二对端IO流检测。2.根据权利要求1所述的集群业务处理方法,其特征在于,获取本地IO流检测的检测结果,包括:所述第一节点和所述第二节点分别向本地节点的磁盘发起第一读数据指令;其中,所述第一读数据指令用于读取所述本地节点中的磁盘中的第一数据;获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据;所述本地IO流检测的检测结果为异常,包括:没有获取到所述本地节点的磁盘返回的第一数据。3.根据权利要求2所述的集群业务处理方法,其特征在于,所述获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据,包括:在预设的第一时间段内,按照预设的时间间隔点获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据;所述本地IO流检测的检测结果为异常,还包括:若在所述预设的第一时间段内,按照所述预设的时间间隔点,获取到所述本地节点的磁盘返回第一数据的次数总和小于第一次数阈值,则确定所述本地IO流检测的检测结果为异常。4.根据权利要求2所述的集群业务处理方法,其特征在于,所述获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据,包括:在预设的第二时间段内,获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据;所述本地IO流检测的检测结果为异常,还包括:若获取到所述本地节点的磁盘返回的第一数据的获取时间与所述预设的第二时间之差大于第一时间阈值,则确定所述本地IO流检测的检测结果为异常;其中,所述预设的第二时间为正常获取到所述本地节点的磁盘返回所述第一数据的最大时间。5.根据权利要求2所述的集群业务处理方法,其特征在于,所述获取所述本地节点的磁盘基于所述第一读数据指令返回的第一数据,包括:在预设的第一时间段内,获取所述本地节点的磁盘基于所述第一读数据指令返回的第
一数据;所述本地IO流检测的检测结果为异常,还包括:在所述预设的第一时间段内,获取到所述本地节点的磁盘返回的第一数据的获取时间与预设的第二时间之差大于第一时间阈值的次数大于第二次数阈值;所述预设的第二时间为正常获取到所述本地节点的磁盘返回所述第一数据的最大时间。6.根据权利要求1所述的集群业务处理方法,其特征在于,所述获取对端IO流检测的检测结果,包括:所述第一节点或者所述第二节点向对端节点的磁盘发起第二读数据指令;其中,所述第二读数据指令用于读取所述对端节点的磁盘...

【专利技术属性】
技术研发人员:田苗薛居征
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1