CN114301927B - 一种分布式系统中主节点选取方法、装置及介质 - Google Patents
一种分布式系统中主节点选取方法、装置及介质 Download PDFInfo
- Publication number
- CN114301927B CN114301927B CN202111629665.5A CN202111629665A CN114301927B CN 114301927 B CN114301927 B CN 114301927B CN 202111629665 A CN202111629665 A CN 202111629665A CN 114301927 B CN114301927 B CN 114301927B
- Authority
- CN
- China
- Prior art keywords
- master node
- node
- distributed system
- temporary
- control authority
- 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
- 238000010187 selection method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种分布式系统中主节点选取方法、装置及介质,包括:获取控制权限以作为临时主节点执行处理任务,以保证分布式系统在主节点宕机后能够正常运行;并通过判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值,判断当前节点是否为高性能节点;若大于阈值,则表明当前节点性能不足,则将控制权限移交至从节点,以便于从节点成为临时主节点;若小于阈值,则表明当前节点为高性能节点,则确定临时主节点为分布式系统的主节点。在本申请所提供的方案中,将控制权限主动移交至下一个临时节点并不断重复该操作,直到高性能节点成为主节点为止,在这一过程中不存在主节点宕机的情况,防止主节点频繁宕机影响系统运行。
Description
技术领域
本申请涉及云服务领域,特别是涉及一种分布式系统中主节点选取方法、装置及介质。
背景技术
在互联网应用中由于需要处理的数据的量较大,单服务器无法完成数据处理任务,通常采用分布式部署方式部署服务器,以提高系统整体的计算能力。在分布式系统中存在多个服务器节点,各服务器节点在主节点的控制下执行不同的任务。当主节点宕机时,为保证系统能够正常运行,需要选出新的主节点执行控制任务。
当主节点宕机后,各节点进入等待状态并向其他各节点发出声明消息,其中最先发出声明消息的节点作为新的主节点。但在这一过程中,相较于任务繁忙的节点,空闲的节点能够更快的执行发送声明消息的任务,因此空闲节点成为新的主节点的可能性更高。但在分布式系统运行过程中,空闲节点多为计算能力较差的节点。因此,可能会造成主节点宕机后后续主节点均为计算能力低的节点的情况,导致主节点频繁宕机,影响分布式系统的正常运行。
由此可见,如何提供一种主节点选取方式,防止计算能力低的节点成为主节点导致主节点频繁宕机,保证系统正常运行,是本领域技术人员亟需解决的问题。
发明内容
本申请的目的是提供一种分布式系统中主节点选取方法、装置及介质,以解决云服务系统中计算能力低的节点成为主节点导致主节点频繁宕机,保证系统正常运行。
为解决上述技术问题,本申请提供一种分布式系统中主节点选取方法,该方法包括:
获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取所述控制权限;
判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值;
若大于所述阈值,将所述控制权限移交至其他所述从节点,以便于其他所述从节点成为所述临时主节点;
若小于所述阈值,则确定所述临时主节点为分布式系统的主节点。
优选的,所述将所述控制权限移交至从节点包括:
判断各所述从节点中是否存在预设主节点;
若存在所述预设主节点,则将所述控制权限移交至所述预设主节点;
若不存在所述预设主节点,则将所述控制权限移交至任意所述从节点。
优选的,所述判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值的步骤前,还包括:
读取所述分布式系统日志文件以获取所述错误消息数量。
优选的,所述判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值,包括:
判断所述控制权限是否为所述临时主节点移交的权限;
若是所述临时主节点移交的权限,则判断阈值时间内执行所述处理任务过程中产生的所述错误消息数量是否大于第二数量阈值;
若不是,则判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于所述第一数量阈值,所述第一数量阈值不大于所述第二数量阈值。
优选的,所述判断各所述从节点中是否存在预设主节点的步骤后,还包括:
若不存在所述预设主节点,向管理人员发送预警信息。
优选的,所述将所述控制权限移交至从节点的步骤后,还包括:
将所述从节点成为所述临时主节点的消息发送至其他各所述从节点。
优选的,还包括:
记录选取临时主节点的选取次数;
判断所述选取次数是否大于选取阈值;
若大于所述选取阈值,确定所述临时主节点为所述主节点,
为解决上述技术问题,本申请还提供一种分布式系统中主节点选取装置,该装置包括:
获取模块,用于获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取所述控制权限;
判断模块,用于判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值;
若大于所述阈值,将所述控制权限移交至所述从节点,以便于所述从节点成为所述临时主节点;
若小于所述阈值,则确定所述临时主节点为分布式系统的主节点。
为解决上述技术问题,本申请还提供另一种分布式系统中主节点选取装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的分布式系统中主节点选取方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的分布式系统中主节点选取方法的步骤。
本申请提供一种分布式系统中主节点选取方法,该方法包括:
获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取控制权限,以保证分布式系统在主节点宕机后能够正常运行;并通过判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值,判断当前节点是否为高性能节点;若大于阈值,则表明当前节点性能不足,则将控制权限移交至从节点,以便于从节点成为临时主节点;若小于阈值,则表明当前节点为高性能节点,则确定临时主节点为分布式系统的主节点。在本申请所提供的方案中,将控制权限主动移交至下一个临时节点并不断重复该操作,直到高性能节点成为主节点为止,在这一过程中不存在主节点宕机的情况,防止主节点频繁宕机影响系统运行。
此外,本申请还提供一种分布式系统中主节点选取装置及介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种分布式系统中主节点选取方法的流程图;
图2为本申请实施例所提供的一种分布式系统中主节点选取装置的结构图;
图3为本申请实施例所提供的另一种分布式系统中主节点选取装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种分布式系统中主节点选取方法、装置及介质。
在分布式云服务器应用场景中,各从节点在主节点的控制下协调工作。当主节点宕机且新的主节点未确定时,由于没有主节点的控制系统将无法正常工作,当主节点频繁宕机时,会导致选举时间过长,影响系统正常运行。为了解决这一问题,本申请所提出的方案在主节点宕机后,使任意一个从节点获取原主节点的控制权限以成为临时主节点,并判断临时主节点执行任务过程中产生的错误消息数量是否大于阈值,若大于阈值则表明当前临时节点的性能较低,无法作为主节点,则将控制权限移交至其他从节点,并再次重复判断过程。通过主动移交的方式防止新选出的主节点为低性能节点,减少主节点宕机次数和选择主节点所用时间,使分布式系统更加稳定。
可以理解的是,本申请中所提到的服务器节点包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等设备。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例所提供的一种分布式系统中主节点选取方法的流程图,如图1所示,该方法包括:
S10:获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取控制权限。
在具体实施中,当主节点宕机后,使另一从节点获取控制权限以成为临时主节点。在这个过程中,可以由预先设置的从节点作为临时主节点;也可以由各从节点自动发送声明信息,最先发出声明信息或最先获取到主节点宕机消息的从节点自动成为临时主节点。本申请中选用最先获取主节点宕机消息的从节点作为临时主节点,以替代主节点协调各从节点工作,维持系统稳定。
可以理解的是,在原主节点宕机后选取新的主节点的过程中,只有主节点宕机后所产生的第一个临时主节点为最先获取到主节点宕机消息的从节点,后续临时主节点均为当前主节点选取的。
S11:判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值。
在具体实施中,通过判断阈值时间内该临时主节点执行任务过程中产生的错误消息的数量是否大于第一数量阈值,若大于第一数量阈值,则表明该从节点的性能较差,不能够很好的执行系统任务,需要选择新的从节点作为主节点。
可以理解的是,阈值时间越长,越能够更好的体现当前临时主节点的性能高低,以判断当前临时主节点是否能够保证系统正常运行,但阈值时间过长会导致无法及时更换临时节点,可能造成当前临时主节点宕机,影响系统正常运行。阈值时间越短,越能够防止临时主节点宕机,但可能会导致对临时主节点性能的误判,最终导致系统无法选取合适的主节点,延长主节点的选取时间。
在具体实施中,阈值时间可以由管理人员自行设置,也可以由当前的临时主节点根据当前分布式服务器系统的业务压力确定阈值时间,此处不做限定。
需要注意的是,当分布式系统中选取出的除主节点宕机后的第一个临时主节点外的其他从节点成为临时主节点时,由于先前的临时主节点工作期间已经积累的大量的错误消息,若仅按照错误消息的数量判断临时主节点的性能会导致对后续的临时主节点的性能分析不准确,影响主节点的选取。且存在错误消息表明系统运行过程中出现错误,同样会对后续临时主节点的工作造成影响,导致性能分析结果不准确。为了解决这一问题,可以在临时主节点开始工作时,根据错误消息对分布式系统当前工作状态进行判断,以增加或减少阈值时间。
S12:若大于第一数量阈值,将控制权限移交至其他从节点,以便于其他从节点成为临时主节点。
可以理解的是,部署在大型分布式系统中的各节点服务器的规格和性能可能并不相同,性能好的节点服务器读写速度和任务处理速度都较快,因此需要承担比较多的处理任务,当主节点发生故障时,性能好的从节点服务器无法参与节点选举,为保证新的主节点能够保证系统正常运行,当临时主节点不能保证系统正常运行导致错误消息的数量超过阈值时,需要临时主节点主动将控制权限交至其他节点。
进一步的,还需要记录成为临时主节点的从节点的身份标识,例如:序号、服务器编码,防止再次将主节点权限交至已确定不能完成主节点任务的从节点。
在具体实施中,可以将上述错误消息和临时主节点的改变记录写入系统日志中,以便于管理人员查看,通过读取系统日志获取错误消息的数量,当系统日志中错误消息的数量大于阈值数量后向管理人员发出警报。
S13:若小于第一数量阈值,则确定临时主节点为分布式系统的主节点。
可以理解的是,可以将分布式系统中的高性能节点预先设置为预设主节点,当临时主节点无法使系统正常工作时(即错误消息数量大于阈值时),控制权限移交至预设主节点,以提高主节点选取的效率,缩短系统选取主节点所用的时间,从而提高系统性能。
进一步的,若不存在预设主节点,则表明:管理人员未设置预设主节点;或预设主节点均不能保证系统正常运行,则需要向管理人员发出警报以便于及时维护。
需要注意的是,为了保证各节点服务器间信息交换的稳定性和实效性,各节点服务器间TCP传输协议传输数据。
在本实施例中提供了一种分布式系统中主节点选取方法,该方法包括:获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取控制权限,以保证分布式系统在主节点宕机后能够正常运行;并通过判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值,判断当前节点是否为高性能节点;若大于阈值,则表明当前节点性能不足,则将控制权限移交至从节点,以便于从节点成为临时主节点;若小于阈值,则表明当前节点为高性能节点,则确定临时主节点为分布式系统的主节点。在本申请所提供的方案中,将控制权限主动移交至下一个临时节点并不断重复该操作,直到高性能节点成为主节点为止,在这一过程中不存在主节点宕机的情况,防止主节点频繁宕机影响系统运行。
在具体实施中,若连续多次选择的临时主节点均为不能成为主节点以控制分布式系统正常运行,将延长主节点选取时间,从而影响分布式系统工作效率。
为了解决这一问题,在上述实施例的基础上,将控制权限移交至从节点包括:
判断各从节点中是否存在预设主节点;
若存在预设主节点,则将控制权限移交至预设主节点;
若不存在预设主节点,则将控制权限移交至任意从节点。
其中,预设主节点为管理人员预先指定的节点,可以为分布式系统中性能较强的从节点,也可以为分布式系统中准备的备用主节点。当主节点宕机时,由最先获取到主节点宕机消息的从节点作为临时主节点,当检测到系统错误消息数量大于阈值时,临时主节点将主节点的控制权限移交至预设主节点,以使预设主节点作为临时主节点,控制分布式系统工作。若当前预设主节点性能不足依然不能成为主节点,则将控制权限移交至另一个预设主节点,以实现控制权限的平滑过渡,防止系统故障。
可以理解的是,在一些特殊情况中,系统中不存在预设主节点,例如:管理人员未设置预设主节点,或各预设主节点的性能不足,均不能承担主节点的任务,则将控制权限移交至任意从节点,并向管理人员发送警报,以便于管理人员及时维护。
在本实施例中,通过将高性能的从节点预先设置为预设主节点,使高性能的从节点优先成为临时主节点,提高主节点选取成功率,从而缩短主节点选取时间,提高系统工作效率。
在具体实施中,临时主节点执行处理任务过程中所产生的错误消息可以保存在缓存队列中,也可以保存在日志文件中。考虑到临时主节点可能为低性能节点,为了保证系统的稳定性以防止系统故障导致错误消息丢失,并减少任务量以提高临时主节点的工作效率,选择将错误消息存入日志文件中。
在上述实施例的基础上,判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值的步骤前,还包括:
读取分布式系统日志文件以获取错误消息数量。
可以理解的是,为了提高系统稳定性,防止日志文件丢失,将错误消息写入日志文件中后,还可以在其他从节点上保存日志文件的备份。
需要注意的是,除记录错误消息外,日志文件还可以用于记录不满足要求的从节点的信息。当读取日志文件以获取错误消息数量时,还可以获取不满足要求的从节点的信息,以防止将控制权限移交至低性能节点。
在本实施例中,通过读取分布式系统日志文件以获取错误消息数量,防止由于系统故障将存放在缓存队列中的错误消息丢失,影响系统的正常运行。
在具体实施中,考虑到除主节点宕机后第一个临时主节点外的其他从节点成为临时主节点时,由于先前的临时主节点工作期间已经积累的大量的错误消息,若仅按照错误消息的数量判断临时主节点的性能会导致对后续的临时主节点的性能分析不准确,影响主节点的选取。
为了解决这一问题,在上述实施例的基础上,判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值,包括:
判断控制权限是否为临时主节点移交的权限;
若是临时主节点移交的权限,则判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第二数量阈值;
若不是,则判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值,其中,第一数量阈值不大于第二数量阈值。
为了防止前期的临时主节点运行过程中产生的错误消息对当前临时主节点造成影响导致对临时主节点的性能判断失误,提高数量阈值至第一数量阈值,以防止误判,提高系统的稳定性。
在具体实施中,当全部预设主节点均不能作为主节点或未设置主节点时,当前系统无法将控制权限移交至预设主节点,只能将控制权限移交至任意从节点,不利于选取性能强的主节点。
为了解决这一问题,在上述实施例的基础上,判断各从节点中是否存在预设主节点的步骤后,还包括
若不存在预设主节点,向管理人员发送预警信息。
在本实施例中,通过在分布式系统不存在预设主节点时向管理人员发送预警信息,以便于管理人员及时维护,提高主节点选取的成功率,提高分布式系统的可靠性和准确性。
作为优选的实施例,当主节点宕机后,最先获取到主节点宕机消息的从节点成为临时主节点,为了防止其他临时主节点继续尝试成为主节点,将控制权限移交至从节点的步骤后,还包括:
将从节点成为临时主节点的消息发送至其他各从节点。
在本实施例中,通过将从节点成为临时主节点的消息发送至其他各从节点,以防止其他从节点继续尝试成为主节点,节约计算资源。
在具体实施中,为了防止分布式系统中主节点选取时间过长导致系统无法正常工作,当选取临时主节点的次数大于选取阈值时,则使当前临时主节点成为主节点以停止选取主节点的进程,并向管理人员发送警报。
在上述实施例的基础上,记录选取临时主节点的次数,在选取临时主节点的次数大于选取阈值时,使当前临时主节点成为主节点,防止主节点选取时间过长影响系统的工作。并向管理人员发送警报以便于管理人员及时维护。
在上述实施例中,对于分布式系统中主节点选取方法进行了详细描述,本申请还提供分布式系统中主节点选取装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本申请实施例所提供的一种分布式系统中主节点选取装置,该装置包括:
获取模块10,用于获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取控制权限;
判断模块11,用于判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值;
若大于阈值,将控制权限移交至其他从节点,以便于其他从节点成为临时主节点;
若小于阈值,则确定临时主节点为分布式系统的主节点。
在本实施例中提供了一种分布式系统中主节点选取装置,该装置包括:获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取控制权限,以保证分布式系统在主节点宕机后能够正常运行;并通过判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值,判断当前节点是否为高性能节点;若大于阈值,则表明当前节点性能不足,则将控制权限移交至从节点,以便于从节点成为临时主节点;若小于阈值,则表明当前节点为高性能节点,则确定临时主节点为分布式系统的主节点。在本申请所提供的方案中,将控制权限主动移交至下一个临时节点并不断重复该操作,直到高性能节点成为主节点为止,在这一过程中不存在主节点宕机的情况,防止主节点频繁宕机影响系统运行。
图3为本申请另一实施例提供的分布式系统中主节点选取装置的结构图,如图3所示,该分布式系统中主节点选取装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例将控制权限移交至其他从节点的方法的步骤。
本实施例提供的服务器可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的分布式系统中主节点选取方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于错误消息的数量等。
在一些实施例中,分布式系统中主节点选取装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图3中示出的结构并不构成对分布式系统中主节点选取装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的分布式系统中主节点选取装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:
获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取控制权限;
判断阈值时间内执行处理任务过程中产生的错误消息数量是否大于第一数量阈值;
若大于阈值,将控制权限移交至其他从节点,以便于其他从节点成为临时主节点;
若小于阈值,则确定临时主节点为分布式系统的主节点。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种分布式系统中主节点选取方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种分布式系统中主节点选取方法,其特征在于,包括:
获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取所述控制权限;
判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值;
若大于所述阈值,将所述控制权限移交至其他所述从节点,以便于其他所述从节点成为所述临时主节点;
若小于所述阈值,则确定所述临时主节点为分布式系统的主节点。
2.根据权利要求1所述的分布式系统中主节点选取方法,其特征在于,所述将所述控制权限移交至其他所述从节点包括:
判断各所述从节点中是否存在预设主节点;
若存在所述预设主节点,则将所述控制权限移交至所述预设主节点;
若不存在所述预设主节点,则将所述控制权限移交至任意所述从节点。
3.根据权利要求1所述的分布式系统中主节点选取方法,其特征在于,所述判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值的步骤前,还包括:
读取所述分布式系统日志文件以获取所述错误消息数量。
4.根据权利要求1所述的分布式系统中主节点选取方法,其特征在于,所述判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值,包括:
判断所述控制权限是否为所述临时主节点移交的权限;
若是所述临时主节点移交的权限,则判断阈值时间内执行所述处理任务过程中产生的所述错误消息数量是否大于第二数量阈值;
若不是,则判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于所述第一数量阈值,所述第一数量阈值不大于所述第二数量阈值。
5.根据权利要求2所述的分布式系统中主节点选取方法,其特征在于,所述判断各所述从节点中是否存在预设主节点的步骤后,还包括:
若不存在所述预设主节点,向管理人员发送预警信息。
6.根据权利要求1所述的分布式系统中主节点选取方法,其特征在于,所述将所述控制权限移交至其他所述从节点的步骤后,还包括:
将所述从节点成为所述临时主节点的消息发送至其他各所述从节点。
7.根据权利要求1至6任意一项所述的分布式系统中主节点选取方法,其特征在于,还包括:
记录选取临时主节点的选取次数;
判断所述选取次数是否大于选取阈值;
若大于所述选取阈值,确定所述临时主节点为所述主节点。
8.一种分布式系统中主节点选取装置,其特征在于,包括:
获取模块,用于获取控制权限以作为临时主节点执行处理任务,其中,分布式系统的主节点故障后从节点首次获取控制权限的方式为接收到主节点故障消息后主动获取所述控制权限;
判断模块,用于判断阈值时间内执行所述处理任务过程中产生的错误消息数量是否大于第一数量阈值;
若大于所述阈值,将所述控制权限移交至所述从节点,以便于所述从节点成为所述临时主节点;
若小于所述阈值,则确定所述临时主节点为分布式系统的主节点。
9.一种分布式系统中主节点选取装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的分布式系统中主节点选取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的分布式系统中主节点选取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629665.5A CN114301927B (zh) | 2021-12-28 | 2021-12-28 | 一种分布式系统中主节点选取方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629665.5A CN114301927B (zh) | 2021-12-28 | 2021-12-28 | 一种分布式系统中主节点选取方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301927A CN114301927A (zh) | 2022-04-08 |
CN114301927B true CN114301927B (zh) | 2024-04-26 |
Family
ID=80972576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111629665.5A Active CN114301927B (zh) | 2021-12-28 | 2021-12-28 | 一种分布式系统中主节点选取方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301927B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338028A (zh) * | 2014-07-30 | 2016-02-17 | 浙江宇视科技有限公司 | 一种分布式服务器集群中主从节点选举方法及装置 |
CN108763501A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种集群选主方法、系统、设备及计算机可读存储介质 |
CN108769118A (zh) * | 2018-04-23 | 2018-11-06 | 网宿科技股份有限公司 | 一种分布式系统中主节点的选取方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11122118B2 (en) * | 2019-10-31 | 2021-09-14 | Elasticsearch B.V. | Node clustering configuration |
-
2021
- 2021-12-28 CN CN202111629665.5A patent/CN114301927B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338028A (zh) * | 2014-07-30 | 2016-02-17 | 浙江宇视科技有限公司 | 一种分布式服务器集群中主从节点选举方法及装置 |
CN108769118A (zh) * | 2018-04-23 | 2018-11-06 | 网宿科技股份有限公司 | 一种分布式系统中主节点的选取方法及装置 |
CN108763501A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种集群选主方法、系统、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114301927A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397648B2 (en) | Virtual machine recovery method and virtual machine management device | |
CN109656895B (zh) | 分布式存储系统、数据写入方法、装置和存储介质 | |
US10789111B2 (en) | Message oriented middleware with integrated rules engine | |
US10417062B2 (en) | Method and apparatus of unloading out of memory processing flow to user space | |
CN114637475A (zh) | 一种分布式存储系统控制方法、装置及可读存储介质 | |
CN108475201B (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
CN108667740B (zh) | 流量控制的方法、装置及系统 | |
CN112199240B (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN114301927B (zh) | 一种分布式系统中主节点选取方法、装置及介质 | |
CN112433669A (zh) | 一种分布式存储卷在线迁移的方法、系统、设备及介质 | |
CN109298974B (zh) | 系统控制方法、装置、计算机及计算机可读存储介质 | |
CN116089124A (zh) | 一种仿真系统通信方法、装置、介质 | |
CN114328007B (zh) | 一种容器备份还原方法、装置及其介质 | |
CN114884836A (zh) | 一种虚拟机高可用方法、装置及介质 | |
CN114189429A (zh) | 一种服务器集群故障的监测系统、方法、装置及介质 | |
CN114721876A (zh) | 一种数据备份方法、装置、介质 | |
CN116578446B (zh) | 虚拟机备份方法、装置、系统、电子设备及存储介质 | |
CN113297324B (zh) | 一种数据写入的优化方法及终端 | |
CN114237509B (zh) | 数据访问方法及装置 | |
CN115994068A (zh) | 一种数据处理方法、装置、介质 | |
CN117135144A (zh) | 逻辑地址冲突检测方法、装置和计算机设备和存储介质 | |
CN114816855A (zh) | 一种hdfs系统数据处理方法、装置、介质 | |
CN116010036A (zh) | 一种数据迁移方法、装置及其介质 | |
CN114461408A (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 |