CN110417600B - 分布式***的节点切换方法、装置及计算机存储介质 - Google Patents
分布式***的节点切换方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN110417600B CN110417600B CN201910710522.3A CN201910710522A CN110417600B CN 110417600 B CN110417600 B CN 110417600B CN 201910710522 A CN201910710522 A CN 201910710522A CN 110417600 B CN110417600 B CN 110417600B
- Authority
- CN
- China
- Prior art keywords
- node
- master
- main
- coordination
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种分布式***的节点切换方法、装置及计算机存储介质,涉及分布式***技术领域。该方法中,主节点检测到与协调节点的连接中断后,若在预设时间段内与协调节点的连接恢复,且检测到与协调节点之间的会话未过期时,可以恢复为活跃状态,使得主节点不会随着网络波动而发生频繁的切换过程,可以避免由于主节点的频繁切换而导致服务不可用。
Description
技术领域
本申请涉及分布式***技术领域,具体而言,涉及一种分布式***的节点切换方法、装置及计算机存储介质。
背景技术
分布式调度***一般包括一个主节点和多个从节点。其中,主节点负责分发任务,从节点负责处理任务。但是,当主节点发生故障时(如:网络断开连接或发生波动),会造成整个分布式调度***瘫痪,导致服务不可用。此类故障被称为分布式调度***中的单点故障。
现有技术中,为解决分布式调度***中的单点故障问题,在分布式调度***中启动多个备用主节点。分布式调度***正常工作时,由主节点负责分发任务至各从节点;当主节点发生单点故障时,则可以从多个备用主节点中重新选取主节点以替换原有主节点。其中,新的主节点启动时需要从数据库或从节点的心跳信息中恢复调度任务的状态信息,才能进行工作,若新的主节点在恢复调度任务的状态信息过程中再次发生单点故障,则需要重新再选取主节点。
可见,采用现有技术解决单点故障问题时,如果分布式调度***中网络波动频繁,会造成主节点频繁切换,从而导致服务不可用。
发明内容
本申请的目的在于,提供一种分布式***的节点切换方法、装置及计算机存储介质,用于解决现有技术中解决单点故障问题时,如果分布式调度***中网络波动频繁,会造成主节点频繁切换,导致服务不可用的问题。
第一方面,本申请实施例提供一种分布式***的节点切换方法,包括:
主节点检测到与协调节点的连接中断后,若在预设时间段内与协调节点的连接恢复,则检测主节点与协调节点之间的会话是否过期;
若主节点确定主节点与协调节点之间的会话未过期,则主节点恢复活跃状态。
可选地,上述方法还包括:
主节点检测到与协调节点的连接中断后,若在预设时间段之后与协调节点的连接未恢复,则主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,上述检测主节点与协调节点之间的会话是否过期之后,还包括:
若主节点确定主节点与协调节点之间的会话过期,则主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,上述主节点切换至备用状态之后,还包括:
主节点接收协调节点发送的变更消息,变更消息用于指示主节点变更为活跃状态;
主节点比较变更消息与其他变更消息的时间戳,确定变更消息是否为最新变更信息;
若变更消息为最新变更消息,则主节点变更为活跃状态。
可选地,预设时间段的长度为主节点与协调节点之间的会话时长。
第二方面,本申请实施例还提供一种分布式***的节点切换方法,包括:
若协调节点在预设时间段后未收到主节点的会话回复,则协调节点根据预设规则确定新的主节点,预设规则包括备用主节点的选主优先级;
协调节点向新的主节点发送会话消息。
可选地,上述方法还包括:
若协调节点在预设时间段后未收到主节点的会话回复,则标记主节点为备用状态,且主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,预设时间段的长度为主节点与协调节点之间的会话时长。
第三方面,本申请实施例还提供一种分布式***的节点切换装置,该装置包括:
检测模块,用于检测到主节点与协调节点的连接中断后,若在预设时间段内与协调节点的连接恢复,则检测主节点与协调节点之间的会话是否过期;
状态切换模块,用于若检测模块确定主节点与协调节点之间的会话未过期,则将主节点恢复活跃状态。
可选地,状态切换模块还用于检测模块检测到主节点与协调节点的连接中断后,若在预设时间段之后与协调节点的连接未恢复,则将主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,状态切换模块还用于若检测模块确定主节点与协调节点之间的会话过期,则将主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,该装置还包括:
接收模块,用于接收协调节点发送的变更消息,变更消息用于指示主节点变更为活跃状态;
比较模块,用于比较变更消息与其他变更消息的时间戳,确定变更消息是否为最新变更信息;
状态切换模块,还用于若变更消息为最新变更消息,则将主节点变更为活跃状态。
可选地,预设时间段的长度为主节点与协调节点之间的会话时长。
第四方面,本申请实施例还提供一种分布式***的节点切换装置,该装置包括:
选主模块,用于若协调节点在预设时间段后未收到主节点的会话回复,则根据预设规则确定新的主节点,预设规则包括备用主节点的选主优先级;
发送模块,用于向新的主节点发送会话消息。
可选地,该装置还包括:
标记模块,用于若协调节点在预设时间段后未收到主节点的会话回复,则标记主节点为备用状态,且主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,预设时间段的长度为主节点与协调节点之间的会话时长。
第五方面,本申请实施例提供一种分布式***的主节点,包括:处理器和存储器,存储器中存储有可在处理器运行的计算机程序,处理器执行计算机程序时实现如第一方面所述的方法。
第六方面,本申请实施例提供一种分布式***的协调节点,包括:处理器和存储器,存储器中存储有可在处理器运行的计算机程序,处理器执行计算机程序时实现如第二方面所述的方法。
第七方面,本申请实施例提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面或第二方面所述的方法。
本申请的有益效果是:
本申请实施例提供的分布式***的节点切换方法、装置及计算机存储介质中,主节点检测到与协调节点的连接中断后,若在预设时间段内与协调节点的连接恢复,且检测到与协调节点之间的会话未过期时,可以恢复为活跃状态,使得主节点不会随着网络波动而发生频繁的切换过程,可以避免由于主节点的频繁切换而导致服务不可用。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的主从分布式调度***的结构示意图;
图2示出了本申请实施例提供的分布式***的节点切换方法的流程示意图;
图3示出了本申请实施例提供的分布式***的节点状态切换示意图;
图4示出了本申请实施例提供的分布式***的节点切换方法的另一流程示意图;
图5示出了本申请实施例提供的分布式***的节点切换方法的又一流程示意图;
图6示出了本申请实施例提供的主从分布式调度***的工作流程示意图;
图7示出了本申请实施例提供的节点选主过程示意图;
图8示出了本申请实施例提供的分布式***的节点切换装置的结构示意图;
图9示出了本申请实施例提供的分布式***的节点切换装置的另一结构示意图;
图10示出了本申请实施例提供的分布式***的节点切换装置的又一结构示意图;
图11示出了本申请实施例提供的分布式***的节点切换装置的又一结构示意图;
图12示出了本申请实施例提供的分布式***的主节点的结构示意图;
图13示出了本申请实施例提供的分布式***的协调节点的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,还需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
本申请实施例提供一种主从分布式调度***,图1示出了本申请实施例提供的主从分布式调度***的结构示意图。
如图1所示,该主从分布式调度***可以包括:协调节点110、多个主节点120和多个从节点130。协调节点110负责对多个主节点120进行管理,可以从多个主节点120中确定一个主节点120处于活跃状态,处于活跃状态的主节点120可以负责向各从节点130分发任务,各从节点130可以负责处理接收到的任务。其他未被协调节点110确定为活跃状态的主节点120可以作为备用主节点,当处于活跃状态的主节点120出现故障时,如网络出现波动或断开连接等,协调节点110可以从其他备用主节点中确定一个新的主节点120处于活跃状态,对原有处于活跃状态的主节点120进行替换,新的处于活跃状态主节点120可以继续向各从节点分发任务,保证主从分布式调度***的服务可用性。
可选地,协调节点110、主节点120和从节点130均可以是能够实现上述各自对应功能的服务器。
例如,该主从分布式***可以是分布式爬虫***,在分布式爬虫***中,协调节点可以是管理服务器、主节点可以是调度服务器、各从节点可以是数据服务器,管理服务器可以从多个调度服务器中选取一个调度服务器处于活跃状态。该处于活跃状态的调度服务器可以根据用户输入或上次控制***下发的数据采集需求,向不同的数据服务器分发数据采集任务,各数据服务器可以执行相应的数据采集任务进行数据采集,如:采集网站中的用户数据、获取网页的浏览信息等。
可选地,该主从分布式***还可以是其他数据处理***、企业管理***等,本申请对此不作限定。
基于前述主从分布式调度***,本申请实施例提供一种分布式***的节点切换方法,该方法可以应用于该分布式调度***。
图2示出了本申请实施例提供的分布式***的节点切换方法的流程示意图。
如图2所示,该节点切换方法可以包括:
S201、主节点检测到与协调节点的连接中断后,若在预设时间段内与协调节点的连接恢复,则检测主节点与协调节点之间的会话是否过期。
可选地,主节点和协调节点之间可以通过会话方式确定连接是否中断。例如,主节点可以向协调节点发送会话,协调节点接收到会话后,可以向主节点返回对应的会话响应。主节点若成功接收到该会话响应,则可以确定主节点与协调节点之间连接未中断;若未成功接收到该会话响应,则可以确定主节点与协调节点之间连接中断。
主节点检测到与协调节点的连接中断后,可以暂时不切换为备用节点。而是等待预设时间段,并在该预设时间段内判断与协调节点的连接是否恢复。若主节点在该预设时间段内与协调节点的连接恢复,则主节点可以检测与协调节点之间的会话是否过期。例如,主节点可以向协调节点发送会话查询信息,该会话查询信息可以向协调节点查询该主节点当前在协调节点中是否仍然被标记为活跃状态,若主节点查询到当前在协调节点中仍然被标记为活跃状态,则可以确定与协调节点之间的会话未过期;若主节点查询到当前在协调节点中未被标记为活跃状态,则可以确定与协调节点之间的会话已过期。
可选地,预设时间段的长度可以为主节点与协调节点之间的会话时长,或者也可以是小于该会话时长的某个值,本申请对此不作特别限定。
S202、若主节点确定主节点与协调节点之间的会话未过期,则主节点恢复活跃状态。
可选地,当主节点检测到与协调节点之间的会话还未过期时,主节点可以继续恢复为活跃状态,并继续负责向各从节点分发任务。
例如,假设主节点处于活跃状态时为(Active Master);主节点处于非活跃状态时为备用主节点(Standby Master);在上述预设时间段内时,主节点处于活跃状态和非活跃状态之间,可以称之为保护状态(Protected)。主节点与协调节点保持正常连接时,其状态可以为Active;主节点检测到与协调节点的连接中断后,其状态可以由Active切换为Protected,并在预设时间段内判断与协调节点的连接恢复。若主节点发现与协调节点之间的连接恢复,则主节点可以检测与协调节点之间的会话是否过期,若检测得到与协调节点之间的会话未过期,则主节点的状态可以由Protected切换为Active。
在上述过程中,由于主节点检测到与协调节点的连接中断后,状态并不会立刻由Active切换为Standby,所以,当网络波动频繁时,主节点并不会随着网络波动而频繁的向备用节点切换。
由上所述,本申请实施例中,主节点检测到与协调节点的连接中断后,若在预设时间段内与协调节点的连接恢复,且检测到与协调节点之间的会话未过期时,可以恢复为活跃状态,使得主节点不会随着网络波动而发生频繁的切换过程,可以避免由于主节点的频繁切换而导致服务不可用。
可选地,上述方法还包括:主节点检测到与协调节点的连接中断后,若在预设时间段之后与协调节点的连接未恢复,则主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
如上所述,主节点检测到与协调节点的连接中断后,其状态可以由Active切换为Protected。若主节点检测到,在预设时间段之后,主节点与协调节点的连接仍然未恢复,则主节点的状态可以由Protected切换为Standby。主节点的状态切换为Standby后,即可以作为备用节点等待下一次成为新的处于活跃状态的主节点。
可选地,上述检测主节点与协调节点之间的会话是否过期之后,还包括:若主节点确定主节点与协调节点之间的会话过期,则主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
如上所述,当主节点由Active切换为Protected后,若在预设时间段内检测到与协调节点的连接恢复,但与协调节点之间的会话已过期,则主节点的状态可以由Protected切换为Standby,即,原处于活跃状态的该主节点可以切换为备用主节点进行等待。
图3示出了本申请实施例提供的分布式***的节点状态切换示意图。
如图3所示,当处于Standby状态的主节点在协调节点上选主成功时,该主节点的状态可以由Standby切换为Active,开始向各从节点分发任务。处于Active状态的主节点与协调节点之间连接中断时,主节点的状态可以由Active切换为Protected。处于Protected的主节点可以在预设时间段内持续检测与协调节点之间的连接状态,例如,主节点上可以设置一个定时器,该定时器的时长为主节点与协调节点之间的会话(session)时长。若处于Protected的主节点在session时长内检测到与协调节点的连接恢复,且与协调节点之间的session未过期,则该主节点的状态可以由Protected切换为Active,继续向各从节点分发任务。若处于Protected的主节点在session时长之后与协调节点的连接仍未恢复,如:主节点上的定时器触发,或者处于Protected的主节点在session时长内检测到与协调节点的连接恢复、但与协调节点之间的session已过期,则该主节点的状态可以由Protected切换为Standby,重新作为备用节点等待下一次选主。
图4示出了本申请实施例提供的分布式***的节点切换方法的另一流程示意图。
可选地,如图4所示,上述主节点切换至备用状态之后,该节点切换方法还包括:
S401、主节点接收协调节点发送的变更消息,变更消息用于指示主节点变更为活跃状态。
可选地,已经切换为备用状态的主节点,即备用主节点,若被协调节点在进行新的选主时,确定为处于活跃状态的主节点。则协调节点可以向该主节点发送变更信息,通知该主节点由备用状态并更为活跃状态。
S402、主节点比较变更消息与其他变更消息的时间戳,确定变更消息是否为最新变更信息。
其中,其他变更消息可以是指主节点中存储的历史变更消息,如:可以是上一次转换为活跃状态时,所接收到的协调节点发送的变更消息。
可选地,备用主节点在接收到协调节点发送的变更消息时,可以根据该变更信息的时间戳和上一次接收到的协调节点发送的变更消息的时间戳进行对比,判断该变更消息是否为最新变更消息。
S403、若变更消息为最新变更消息,则主节点变更为活跃状态。
对应的,本申请实施例还提供一种节点切换方法,图5示出了本申请实施例提供的分布式***的节点切换方法的又一流程示意图。
如图5所示,该节点切换方法可以包括:
S501、若协调节点在预设时间段后未收到主节点的会话回复,则协调节点根据预设规则确定新的主节点。
其中,预设规则是指协调节点用于在各备用节点中确定新的主节点的选主规则。例如,可以是随机在各备用节点中进行选主,也可以是各备用节点进行竞争确定新的主节点,或者还可以是按照预设的顺序从各备用节点中依次进行轮换选主等。
可选地,预设规则可以包括备用主节点的选主优先级。协调节点在各备用节点中确定新的主节点时,可以根据备用主节点的选主优先级,优先对优先级较高的备用主节点进行选主。
S502、协调节点向新的主节点发送会话消息。
如上所述,当协调节点确定得到新的主节点后,可以向新的主节点发送会话消息,通知新的主节点转换为活跃状态向各从节点分发任务。
可选地,当主节点接收到协调节点发送的会话消息后,可以根据该会话消息向协调节点发送对应的会话回复,协调节点可以根据该会话回复判断与主节点之间的连接状态。
可选地,上述方法还包括:若协调节点在预设时间段后未收到主节点的会话回复,则标记主节点为备用状态,且主节点的选主优先级低于多个备用主节点的选主优先级。
其中,预设时间段的长度为主节点与协调节点之间的会话时长。
可选地,协调节点可以存储有主节点和其他各备用主节点的状态信息,当协调节点在预设时间段后仍然未收到主节点的会话回复时,协调节点可以将当前主节点标记为备用状态,并且主节点的选主优先级低于多个备用主节点的选主优先级。
由于当前主节点转换为备用状态后,其选主优先级低于多个备用主节点的选主优先级,所以,协调节点在对各备用节点进行新的选主时,原有主节点被选中的可能性最小,从而可以保证各备用节点之间竞争的公平性,并不会由于某个备用主节点的网络性能问题而使得该备用主节点一直无法被选主为主节点。
可选地,本申请实施例中,各主节点(Master)与协调节点之间可以构成分布式***,例如,可以是基于ZooKeeper的分布式******,ZooKeeper上可以创建各主节点对应的节点标识,如:节点ID,各主节点可以与各从节点进行通信。
图6示出了本申请实施例提供的主从分布式调度***的工作流程示意图。
如图6所示,以基于ZooKeeper的主从分布式调度***为例,其工作流程可以如下:
S1、ZooKeeper通知主节点选主成功。
S2、主节点获取活跃的从节点地址,并向其发送Active Master变更通知。
S3、从节点向主节点发送注册消息。
S4、主节点收到注册消息后,返回注册确认消息。
S5、从节点向主节点汇报心跳以及任务状态信息。
S6、主节点与ZooKeeper连接中断时,主节点由Active切换为Protected。
S7、处于Protected的主节点在ZooKeeper session时长内检测到连接恢复,且ZooKeeper session未过期时,由Protected切换为Active。
S8、处于Protected的主节点在ZooKeeper session时长内检测到连接恢复,但ZooKeeper session已过期,或者ZooKeeper session时长后连接仍未恢复时,由Protected切换为Standby。
图7示出了本申请实施例提供的节点选主过程示意图。
可选地,如图7所示,本申请部分实施方式中,ZooKeeper上的选主方式可以为:在ZooKeeper上按序创建各主节点的节点标识,如可以是图7中所示的“1”、“2”、“3”,第一次选主时,可以将“1”对应的主节点作为选主成功的主节点进行任务分发,“2”和“3”分别对应的主节点作为备用主节点等待下一次选主。第二次选主时,可以按顺序将“2”对应的主节点作为选主成功的主节点,而“3”和“1”分别对应的主节点作为备用主节点等待下一次选主,但是,在“1”需要按序排列在“3”之后,以保证下一次选主的时候,“3”的优先级可以高于“1”。后续选主过程可以按照上述过程类推,从而可以保证每个主节点可以公平地选主。
基于前述方法实施例,本申请实施例还提供一种分布式***的节点切换装置,该装置可以应用于主节点。
图8示出了本申请实施例提供的分布式***的节点切换装置的结构示意图。
如图8所示,该节点切换装置可以包括:检测模块11和状态切换模块12。检测模块11用于检测到主节点与协调节点的连接中断后,若在预设时间段内与协调节点的连接恢复,则检测主节点与协调节点之间的会话是否过期;状态切换模块12用于若检测模块11确定主节点与协调节点之间的会话未过期,则将主节点恢复活跃状态。
可选地,状态切换模块12还用于检测模块11检测到主节点与协调节点的连接中断后,若在预设时间段之后与协调节点的连接未恢复,则将主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,状态切换模块12还用于若检测模块11确定主节点与协调节点之间的会话过期,则将主节点切换至备用状态,其中,主节点的选主优先级低于多个备用主节点的选主优先级。
图9示出了本申请实施例提供的分布式***的节点切换装置的另一结构示意图。
可选地,如图9所示,该节点切换装置还可以包括:接收模块13和比较模块14。接收模块13用于接收协调节点发送的变更消息,变更消息用于指示主节点变更为活跃状态;比较模块14用于比较变更消息与其他变更消息的时间戳,确定变更消息是否为最新变更信息;状态切换模块12还用于若变更消息为最新变更消息,则将主节点变更为活跃状态。
可选地,预设时间段的长度为主节点与协调节点之间的会话时长。
对应的,本申请实施例还提供一种分布式***的节点切换装置,该装置可以应用于协调节点。
图10示出了本申请实施例提供的分布式***的节点切换装置的又一结构示意图。
如图10所示,该节点切换装置可以包括:选主模块21和发送模块22。选主模块21用于若协调节点在预设时间段后未收到主节点的会话回复,则根据预设规则确定新的主节点,预设规则包括备用主节点的选主优先级;发送模块22用于向新的主节点发送会话消息。
图11示出了本申请实施例提供的分布式***的节点切换装置的又一结构示意图。
可选地,如图11所示,该节点切换装置还包括:标记模块23。标记模块23用于若协调节点在预设时间段后未收到主节点的会话回复,则标记主节点为备用状态,且主节点的选主优先级低于多个备用主节点的选主优先级。
可选地,预设时间段的长度为主节点与协调节点之间的会话时长。
本申请前述实施例中所述的分布式***的节点切换装置,用于执行前述方法实施例中所述的分布式***的节点切换方法,具备前述方法实施例中所述的全部有益效果,本申请在此不再赘述。
本申请实施例还提供一种分布式***的主节点,图12示出了本申请实施例提供的分布式***的主节点的结构示意图。
如图12所示,该主节点可以包括:处理器31和存储器32,存储器32中存储有可在处理器31运行的计算机程序,处理器31执行计算机程序时实现如前述方法实施例中所述的分布式***的节点切换方法。具体实现方式和技术效果类似,本申请在此不再赘述。
本申请实施例提供一种分布式***的协调节点,图13示出了本申请实施例提供的分布式***的协调节点的结构示意图。
如图13所示,该协调节点可以包括:处理器41和存储器42,存储器42中存储有可在处理器41运行的计算机程序,处理器41执行计算机程序时实现如前述方法实施例中所述的分布式***的节点切换方法。具体实现方式和技术效果类似,本申请在此不再赘述。
本申请实施例还提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中所述的分布式***的节点切换方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种分布式***的节点切换方法,其特征在于,包括:
主节点检测到与协调节点的连接中断后,若在预设时间段内与所述协调节点的连接恢复,则检测所述主节点与所述协调节点之间的会话是否过期,所述协调节点用于对多个主节点进行管理;
若所述主节点确定所述主节点与所述协调节点之间的会话未过期,则所述主节点恢复活跃状态;
所述方法还包括:
所述主节点检测到与协调节点的连接中断后,若在所述预设时间段之后与所述协调节点的连接未恢复,则所述主节点切换至备用状态,其中,所述主节点的选主优先级低于多个备用主节点的选主优先级。
2.根据权利要求1所述的方法,其特征在于,所述检测所述主节点与所述协调节点之间的会话是否过期之后,还包括:
若所述主节点确定所述主节点与所述协调节点之间的会话过期,则所述主节点切换至备用状态,其中,所述主节点的选主优先级低于多个备用主节点的选主优先级。
3.根据权利要求1或2所述的方法,其特征在于,所述主节点切换至备用状态之后,还包括:
所述主节点接收所述协调节点发送的变更消息,所述变更消息用于指示所述主节点变更为活跃状态;
所述主节点比较所述变更消息与其他变更消息的时间戳,确定所述变更消息是否为最新变更信息;
若所述变更消息为最新变更消息,则所述主节点变更为活跃状态。
4.根据权利要求1所述的方法,其特征在于,所述预设时间段的长度为所述主节点与所述协调节点之间的会话时长。
5.一种分布式***的节点切换方法,其特征在于,包括:
主节点检测到与协调节点的连接中断后,若在预设时间段内与所述协调节点的连接恢复,则检测所述主节点与所述协调节点之间的会话是否过期,所述协调节点用于对多个主节点进行管理;
若所述主节点确定所述主节点与所述协调节点之间的会话未过期,则所述主节点恢复活跃状态;
若协调节点在预设时间段后未收到主节点的会话回复,则所述协调节点根据预设规则确定新的主节点,所述预设规则包括备用主节点的选主优先级,所述协调节点用于对多个主节点进行管理;
所述协调节点向所述新的主节点发送会话消息;
所述方法还包括:
若协调节点在预设时间段后未收到所述主节点的会话回复,则标记所述主节点为备用状态,且所述主节点的选主优先级低于多个所述备用主节点的选主优先级。
6.根据权利要求5所述的方法,其特征在于,所述预设时间段的长度为所述主节点与所述协调节点之间的会话时长。
7.一种分布式***的节点切换装置,其特征在于,所述装置包括:
检测模块,用于检测到主节点与协调节点的连接中断后,若在预设时间段内与所述协调节点的连接恢复,则检测所述主节点与所述协调节点之间的会话是否过期,所述协调节点用于对多个主节点进行管理;
状态切换模块,用于若所述主节点确定所述主节点与所述协调节点之间的会话未过期,则将所述主节点恢复活跃状态;
所述状态切换模块,还用于所述检测模块检测到主节点与协调节点的连接中断后,若在所述预设时间段之后与所述协调节点的连接未恢复,则将所述主节点切换至备用状态,其中,所述主节点的选主优先级低于多个备用主节点的选主优先级,所述协调节点用于对多个主节点进行管理。
8.根据权利要求7所述的装置,其特征在于,所述状态切换模块,还用于若所述检测模块确定所述主节点与所述协调节点之间的会话过期,则将所述主节点切换至备用状态,其中,所述主节点的选主优先级低于多个备用主节点的选主优先级。
9.根据权利要求7或8所述的装置,其特征在于,还包括:
接收模块,用于接收所述协调节点发送的变更消息,所述变更消息用于指示所述主节点变更为活跃状态;
比较模块,用于比较所述变更消息与其他变更消息的时间戳,确定所述变更消息是否为最新变更信息;
所述状态切换模块,还用于若所述变更消息为最新变更消息,则将所述主节点变更为活跃状态。
10.根据权利要求7所述的装置,其特征在于,所述预设时间段的长度为所述主节点与所述协调节点之间的会话时长。
11.一种分布式***的节点切换装置,其特征在于,主节点检测到与协调节点的连接中断后,若在预设时间段内与所述协调节点的连接恢复,则检测所述主节点与所述协调节点之间的会话是否过期,所述协调节点用于对多个主节点进行管理;
若所述主节点确定所述主节点与所述协调节点之间的会话未过期,则所述主节点恢复活跃状态,所述装置包括:
选主模块,用于若协调节点在预设时间段后未收到主节点的会话回复,则根据预设规则确定新的主节点,所述预设规则包括备用主节点的选主优先级;
发送模块,用于向所述新的主节点发送会话消息;
所述装置还包括:
标记模块,用于若协调节点在预设时间段后未收到所述主节点的会话回复,则标记所述主节点为备用状态,且所述主节点的选主优先级低于多个所述备用主节点的选主优先级。
12.根据权利要求11所述的装置,其特征在于,所述预设时间段的长度为所述主节点与所述协调节点之间的会话时长。
13.一种分布式***的主节点,其特征在于,包括:处理器和存储器,所述存储器中存储有可在所述处理器运行的计算机程序,所述处理器执行计算机程序时实现如权利要求1-4任一项所述的方法。
14.一种分布式***的协调节点,其特征在于,包括:处理器和存储器,所述存储器中存储有可在所述处理器运行的计算机程序,所述处理器执行计算机程序时实现如权利要求5-6任一项所述的方法。
15.一种计算机存储介质,其特征在于,其上存储有计算机程序,计算机程序被处理器执行时实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710522.3A CN110417600B (zh) | 2019-08-02 | 2019-08-02 | 分布式***的节点切换方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710522.3A CN110417600B (zh) | 2019-08-02 | 2019-08-02 | 分布式***的节点切换方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417600A CN110417600A (zh) | 2019-11-05 |
CN110417600B true CN110417600B (zh) | 2022-10-25 |
Family
ID=68365292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910710522.3A Active CN110417600B (zh) | 2019-08-02 | 2019-08-02 | 分布式***的节点切换方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417600B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865993B (zh) * | 2019-11-27 | 2022-10-14 | 上海哔哩哔哩科技有限公司 | 分布式主从***中从节点的切换方法和装置 |
CN112860787A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式主从***中主节点的切换方法、主节点设备和存储介质 |
CN113573329A (zh) * | 2020-04-28 | 2021-10-29 | 华为技术有限公司 | 节点控制的方法、***以及装置 |
CN112202616B (zh) * | 2020-09-30 | 2023-07-25 | 北京大米科技有限公司 | 故障处理方法、可读存储介质和电子设备 |
CN112532436B (zh) * | 2020-11-23 | 2024-05-28 | 京东科技控股股份有限公司 | 一种区块链节点状态转换方法及区块链*** |
CN114760650A (zh) * | 2022-03-15 | 2022-07-15 | 南京市德赛西威汽车电子有限公司 | 一种车载雷达网络组控制方法、***、汽车及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679604A (zh) * | 2015-02-12 | 2015-06-03 | 大唐移动通信设备有限公司 | 一种主节点和备节点切换的方法和装置 |
CN107341051A (zh) * | 2016-05-03 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 集群任务协调方法、***和装置 |
CN108763501A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种集群选主方法、***、设备及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595546B2 (en) * | 2011-10-28 | 2013-11-26 | Zettaset, Inc. | Split brain resistant failover in high availability clusters |
CN109101196A (zh) * | 2018-08-14 | 2018-12-28 | 北京奇虎科技有限公司 | 主节点切换方法、装置、电子设备及计算机存储介质 |
CN109639794B (zh) * | 2018-12-10 | 2021-07-13 | 杭州数梦工场科技有限公司 | 一种有状态集群恢复方法、装置、设备及可读存储介质 |
-
2019
- 2019-08-02 CN CN201910710522.3A patent/CN110417600B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679604A (zh) * | 2015-02-12 | 2015-06-03 | 大唐移动通信设备有限公司 | 一种主节点和备节点切换的方法和装置 |
CN107341051A (zh) * | 2016-05-03 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 集群任务协调方法、***和装置 |
CN108763501A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种集群选主方法、***、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110417600A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417600B (zh) | 分布式***的节点切换方法、装置及计算机存储介质 | |
CN113014634B (zh) | 集群选举处理方法、装置、设备及存储介质 | |
CN108847982B (zh) | 一种分布式存储集群及其节点故障切换方法和装置 | |
CN106936618B (zh) | 一种数据采集方法和*** | |
CN111901422B (zh) | 一种集群中节点的管理方法、***及装置 | |
CN106059825A (zh) | 一种分布式***及配置方法 | |
JPH10214199A (ja) | プロセスリスタート方法およびプロセスリスタートを実現するためのシステム | |
CN107066480B (zh) | 主备数据库的管理方法、***及其设备 | |
CN112333249B (zh) | 一种业务服务***及方法 | |
CN112612545A (zh) | 一种服务器集群的配置热加载***、方法、设备及介质 | |
CN107360025B (zh) | 一种分布式存储***集群监控方法及设备 | |
CN106161090A (zh) | 一种分区集群***的监测方法及装置 | |
CN107153660A (zh) | 分布式数据库***的故障检测处理方法及其*** | |
CN109189854B (zh) | 提供持续业务的方法及节点设备 | |
US20050234919A1 (en) | Cluster system and an error recovery method thereof | |
CN106878096B (zh) | Vnf状态检测通告方法、装置以及*** | |
US11636013B2 (en) | Event-driven system failover and failback | |
CN113765690A (zh) | 集群切换方法、***、装置、终端、服务器及存储介质 | |
CN110909048A (zh) | 数据查询方法、装置、服务器、客户端及存储介质 | |
CN111865659A (zh) | 主备控制器的切换方法和装置、控制器、网络设备 | |
US6792558B2 (en) | Backup system for operation system in communications system | |
CN116668269A (zh) | 一种用于双活数据中心的仲裁方法、装置及*** | |
CN112822283B (zh) | 边缘节点的控制方法、装置、控制节点及存储介质 | |
CN114253690A (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
CN110650059B (zh) | 故障群集检测方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |