一种集群中业务切换方法、装置、设备及存储介质制造方法及图纸

技术编号:28632696 阅读:16 留言:0更新日期:2021-05-28 16:30
本发明专利技术公开了一种集群中业务切换方法、装置、设备及存储介质。所述方法包括:将集群中的每个节点CTDB均配置为对其它节点CTDB进行故障检测,并对故障节点CTDB的IP地址进行记录;从集群中的多个节点CTDB中确定集群的主节点CTDB;若主节点CTDB检测到至少一个节点CTDB故障,则获取主节点CTDB的目标网卡并进行状态检测;若主节点CTDB的目标网卡正常,则将主节点CTDB记录的故障节点CTDB的IP地址发送给主节点CTDB对应的底层服务;利用底层服务接收故障节点CTDB的IP地址并基于其进行业务切换。本发明专利技术的方案实现了在集群中有节点发生计划外故障时及时并主动通知底层服务,实现底层业务的快速切换,缩短故障后业务恢复的等待时间,增强集群的稳定性及场景适应性。

【技术实现步骤摘要】
一种集群中业务切换方法、装置、设备及存储介质
本专利技术涉及分布式存储
,尤其涉及一种集群中业务切换方法、装置、设备及存储介质。
技术介绍
集群中一般是由多个节点组成,共同为客户端提供业务,当有为客户端提供业务的节点发生计划外故障时,集群内部能够快速有效的完成故障切换,减少对客户端业务的影响是很有必要的。现有的技术中,当集群中有节点发生计划外故障时,集群内部的底层服务(例如MON模块、OSD模块、MDS模块等)进行业务切换是依靠超时机制来完成,客户端业务恢复必须要等到底层切换完成才能恢复,其中超时机制是指底层业务单独发送消息通知并设定固定的响应时间以确定故障的节点,例如通过MON模块向其他节点发送消息通信,假如设定时间内未收到回复则确认相应的节点宕机,然后才会进行相应的业务切换;然而依靠超时机制来检测底层故障会增加客户端业务中断的时间,严重的甚至导致客户端业务断开,此外通常底层模块包含多个,每个模块都单独进行故障确认造成不要的资源浪费。
技术实现思路
有鉴于此,必要针对以上技术问题提供能够避免长时间业务中断的一种集群中业务切换方法、装置、设备及存储介质。根据本专利技术的第一方面,提供了一种集群中业务切换方法,所述方法包括:将集群中的每个节点CTDB均配置为对其它节点CTDB进行故障检测,并对故障节点CTDB的IP地址进行记录;从集群中的多个节点CTDB中确定集群的主节点CTDB;若主节点CTDB检测到至少一个节点CTDB故障,则获取所述主节点CTDB的目标网卡并进行状态检测;若所述主节点CTDB的目标网卡正常,则将所述主节点CTDB记录的故障节点CTDB的IP地址发送给所述主节点CTDB对应的底层服务;利用所述底层服务接收所述故障节点CTDB的IP地址并基于其进行业务切换。在其中一个实施例中,所述从集群中的多个节点CTDB中确定集群的主节点CTDB的步骤包括:确定集群预先分配主节点CTDB,并通过发消息判断预先分配主节点CTDB是否故障;若所述预先分配主节点CTDB故障,从剩余节点CTDB中选举出主节点CTDB;若所述预先分配主节点CTDB无故障,则将所述预先分配主节点CTDB作为所述主节点CTDB。在其中一个实施例中,所述若主节点CTDB检测到至少一个节点CTDB故障,则获取所述主节点CTDB的目标网卡并进行状态检测的步骤包括:读取所述主节点CTDB配置文件中的通信IP地址,判断所述通信IP地址的类型;获取所述主节点CTDB的IP地址;根据所述主节点CTDB的IP地址和所述通信IP地址确定所述主节点CTDB的目标网卡;对所述目标网卡进行测试以确定目标网卡的状态是否正常。在其中一个实施例中,所述根据所述主节点CTDB的IP地址和所述通信IP地址确定所述主节点CTDB的目标网卡的步骤包括:若所述通信IP地址的类型为IPV6,则将所述通信IP地址转换成二进制形式,并与所述主节点CTDB的IP地址进行匹配以确定目标IP地址;若所述通信IP地址的类型为IPV4,则将所述主节点CTDB的IP地址转换成二进制形式,并与所述通信IP地址进行匹配以确定目标IP地址;将所述目标IP地址所在的网卡作为所述目标网卡。在其中一个实施例中,所述若所述主节点CTDB的目标网卡正常,则将所述主节点CTDB记录的故障节点CTDB的IP地址发送给所述主节点CTDB对应的底层服务的步骤包括:判断集群是否属于分布式文件集群;若集群不属于分布式文件集群,则将所述故障节点CTDB的IP地址分别发送至所述主节点CTDB对应的MON模块和OSD模块;若集群属于分布式文件集群,则将所述故障节点CTDB的IP地址分别发送至所述主节点CTDB对应的MON模块、OSD模块和MDS模块。在其中一个实施例中,所述利用所述底层服务接收所述故障节点CTDB的IP地址并基于其进行业务切换的步骤包括:MON模块和OSD模块分别接收所述故障节点CTDB的IP地址并进行对应的业务切换;或MON模块、OSD模块和MDS模块分别接收所述故障节点CTDB的IP地址并进行对应的业务切换。在其中一个实施例中,所述方法还包括:若所述主节点CTDB的目标网卡异常,则确认主节点CTDB故障并报错并返回所述确定集群的主节点CTDB的步骤。根据本专利技术的第二方面,提供了一种集群中业务切换装置,所述装置包括:故障检测模块,用于将集群中的每个节点CTDB均配置为对其它节点CTDB进行故障检测,并对故障节点CTDB的IP地址进行记录;主节点CTDB确定模块,用于从集群中的多个节点CTDB中确定集群的主节点CTDB;网卡检测模块,用于在主节点CTDB检测到至少一个节点CTDB故障时,则获取所述主节点CTDB的目标网卡并进行状态检测;发送模块,用于在所述主节点CTDB的目标网卡正常时,则将所述主节点CTDB记录的故障节点CTDB的IP地址发送给所述主节点CTDB对应的底层服务;业务切换模块,用于利用所述底层服务接收所述故障节点CTDB的IP地址并基于其进行业务切换。根据本专利技术的第三方面,还提供了一种计算机设备,该计算机设备包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的集群中业务切换方法。根据本专利技术的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的分布式系统的集群中业务切换方法。上述一种集群中业务切换方法,通过将集群中的每个节点CTDB均配置为对其它节点CTDB进行故障检测,并对故障节点CTDB的IP地址进行记录,以及从集群中的多个节点CTDB中确定集群的主节点CTDB,当主节点CTDB检测到至少一个节点CTDB故障时则获取主节点CTDB的目标网卡并进行状态检测,进而主节点CTDB的目标网卡正常时将主节点CTDB记录的故障节点CTDB的IP地址发送给主节点CTDB对应的底层服务,最后利用底层服务接收故障节点CTDB的IP地址并基于其进行业务切换,从而实现了在集群中有节点发生计划外故障时及时并主动通知底层服务,实现底层业务的快速切换,缩短故障后业务恢复的等待时间,增强集群的稳定性及场景适应性。此外,本专利技术还提供了一种集群中业务切换装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术一个实施例中提供的一种集群中业务切换方法的流程示意图;图2为本专利技术另一个本文档来自技高网...

【技术保护点】
1.一种集群中业务切换方法,其特征在于,所述方法包括:/n将集群中的每个节点CTDB均配置为对其它节点CTDB进行故障检测,并对故障节点CTDB的IP地址进行记录;/n从集群中的多个节点CTDB中确定集群的主节点CTDB;/n若主节点CTDB检测到至少一个节点CTDB故障,则获取所述主节点CTDB的目标网卡并进行状态检测;/n若所述主节点CTDB的目标网卡正常,则将所述主节点CTDB记录的故障节点CTDB的IP地址发送给所述主节点CTDB对应的底层服务;/n利用所述底层服务接收所述故障节点CTDB的IP地址并基于其进行业务切换。/n

【技术特征摘要】
1.一种集群中业务切换方法,其特征在于,所述方法包括:
将集群中的每个节点CTDB均配置为对其它节点CTDB进行故障检测,并对故障节点CTDB的IP地址进行记录;
从集群中的多个节点CTDB中确定集群的主节点CTDB;
若主节点CTDB检测到至少一个节点CTDB故障,则获取所述主节点CTDB的目标网卡并进行状态检测;
若所述主节点CTDB的目标网卡正常,则将所述主节点CTDB记录的故障节点CTDB的IP地址发送给所述主节点CTDB对应的底层服务;
利用所述底层服务接收所述故障节点CTDB的IP地址并基于其进行业务切换。


2.根据权利要求1所述的方法,其特征在于,所述从集群中的多个节点CTDB中确定集群的主节点CTDB的步骤包括:
确定集群预先分配主节点CTDB,并通过发消息判断预先分配主节点CTDB是否故障;
若所述预先分配主节点CTDB故障,从剩余节点CTDB中选举出主节点CTDB;
若所述预先分配主节点CTDB无故障,则将所述预先分配主节点CTDB作为所述主节点CTDB。


3.根据权利要求1所述的方法,其特征在于,所述若主节点CTDB检测到至少一个节点CTDB故障,则获取所述主节点CTDB的目标网卡并进行状态检测的步骤包括:
读取所述主节点CTDB配置文件中的通信IP地址,判断所述通信IP地址的类型;
获取所述主节点CTDB的IP地址;
根据所述主节点CTDB的IP地址和所述通信IP地址确定所述主节点CTDB的目标网卡;
对所述目标网卡进行测试以确定目标网卡的状态是否正常。


4.根据权利要求3所述的方法,其特征在于,所述根据所述主节点CTDB的IP地址和所述通信IP地址确定所述主节点CTDB的目标网卡的步骤包括:
若所述通信IP地址的类型为IPV6,则将所述通信IP地址转换成二进制形式,并与所述主节点CTDB的IP地址进行匹配以确定目标IP地址;
若所述通信IP地址的类型为IPV4,则将所述主节点CTDB的IP地址转换成二进制形式,并与所述通信IP地址进行匹配以确定目标IP地址;
将所述目标IP地址所在的网卡作为所述目标网卡。


5.根据权利要求1所述的方法,其特征在于,所述若所述主节点CTDB的目标网卡正常,则将所...

【专利技术属性】
技术研发人员:李二明
申请(专利权)人:山东英信计算机技术有限公司
类型:发明
国别省市:山东;37

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

1