CN112865992A - 分布式主从***中主节点的切换方法、装置和计算机设备 - Google Patents

分布式主从***中主节点的切换方法、装置和计算机设备 Download PDF

Info

Publication number
CN112865992A
CN112865992A CN201911183863.6A CN201911183863A CN112865992A CN 112865992 A CN112865992 A CN 112865992A CN 201911183863 A CN201911183863 A CN 201911183863A CN 112865992 A CN112865992 A CN 112865992A
Authority
CN
China
Prior art keywords
task
election
state
master
nodes
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.)
Granted
Application number
CN201911183863.6A
Other languages
English (en)
Other versions
CN112865992B (zh
Inventor
韩志华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201911183863.6A priority Critical patent/CN112865992B/zh
Publication of CN112865992A publication Critical patent/CN112865992A/zh
Application granted granted Critical
Publication of CN112865992B publication Critical patent/CN112865992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供了一种分布式主从***中主节点的切换方法、装置和计算机设备。***包括多个从节点和多个主节点,处于工作状态的主节点每间隔预设时长向处于休息状态的主节点发送心跳信息,切换方法包括:当监测到心跳信息超时时,由休息状态进入选举状态,并发送选举请求;当接收到的选举投票的数量大于第一阈值时,由选举状态进入工作状态;接收客户端发送的任务请求,建立对应的任务条目写入本地日志;将本地日志中未完成的任务条目对应的任务分配至从节点,并根据从节点返回的执行进度更新对应的任务状态;当本地日志被修改时,将修改信息携带至心跳信息。通过本发明,避免依赖第三方而降低故障感知准确性。

Description

分布式主从***中主节点的切换方法、装置和计算机设备
技术领域
本发明涉及分布式***技术领域,尤其涉及一种分布式主从***中主节点的切换方法、装置、计算机设备和计算机可读存储介质。
背景技术
分布式主从***包括主节点和多个从节点,用户通过界面提交任务到分布式主从***后,主节点接收任务,并将任务分配至从节点执行,因此,分布式主从***展现给用户的是一个统一的整体,用户无需关注***内部主节点和从节点的工作流程,同时,由于分布式主从***可以把任务分散到众多的从节点上,单个从节点故障时不影响其他从节点的正常运行,因而分布式主从***的可靠性较高。
然而,当主节点发生故障时,分布式主从***无法正常接收并分发任务至从节点。相关技术中提出一种解决上述问题的方法,在分布式主从***中设置第三方服务器,主节点与第三方服务器进行通信,当处于工作状态的工作主节点发生故障时,第三方服务器感知到该故障后通知其他主节点,从而其他主节点能够及时将发生故障工作主节点替换,而成为新的工作主节点,实现故障主节点的感知和切换。
但是,上述解决方案需要引入第三方服务器,增加分布式主从***物理部署的复杂性,同时,分布式主从***中主节点的可靠性需要依赖工作主节点与第三方服务器之间通信的可靠性,对第三方服务器的依赖性较强,会由于工作主节点与第三方服务器之间的通信故障而将正常的工作节点判定为故障,从而降低了故障感知的准确性。
发明内容
本发明的目的是提供一种分布式主从***中主节点的切换方法、装置和计算机设备,用于解决现有技术中依赖主节点故障感知和切换时,由于依赖第三方而降低故障感知准确性的技术问题。
一方面,为实现上述目的,本发明提供了一种分布式主从***中主节点的切换方法。
分布式主从***包括多个从节点和多个主节点,主节点的状态包括工作状态、休息状态和选举状态,其中,处于工作状态的主节点每间隔预设时长向处于休息状态的主节点发送心跳信息,切换方法包括:当监测到心跳信息超时时,由休息状态进入选举状态,并发送选举请求,其中,接收到选举请求的主节点用于返回选举投票;当接收到的选举投票的数量大于第一阈值时,由选举状态进入工作状态;接收客户端发送的任务请求;建立任务请求对应的任务条目,其中,任务条目包括任务标识和任务状态;将任务条目写入本地日志;将本地日志中未完成的任务条目对应的任务分配至从节点,并根据从节点返回的执行进度更新对应的任务状态;当本地日志被修改时,将修改信息携带至心跳信息,其中,接收到修改信息的主节点用于根据修改信息修改自身的日志。
进一步地,在由休息状态进入选举状态之后,发送选举请求之前,切换方法还包括:将本地日志中最新的任务条目中的任务标识作为检测标识携带至选举请求;其中,接收到选举请求的主节点还用于比对检测标识和自身日志中的任务标识,并当自身日志中不包括检测标识,或者自身日志中最新的任务条目中的任务标识与检测标识相同,返回选举投票。
进一步地,各主节点分别维护自身的周期序号,切换方法还包括:在由休息状态进入选举状态之后,发送选举请求之前,将自身的周期序号更新,并将更新后的周期序号作为检测序号携带至选举请求,其中,接收到选举请求的主节点用于比对检测序号和自身的周期序号,并当自身的周期序号不新于检测序号时,返回选举投票;以及在由选举状态进入工作状态后,将被选举信息携带至心跳信息,其中,接收到被选举信息的主节点将自身的周期序号更新。
进一步地,主节点的状态还包括预选举状态,由休息状态进入选举状态的步骤包括:由休息状态进入预选举状态,并发送预选举请求,其中,接收到预选举请求的主节点判断当前是否存在处于工作状态且正常的主节点,若不存在处于工作状态且正常的主节点,返回预选举投票;当接收到的预选举投票的数量大于第二阈值时,由预选举状态进入选举状态。
进一步地,接收到选举请求的主节点还用于在一个周期序号内仅能发送一次选举投票,且当接收到两个或两个以上选举请求时,向先发送选举请求的主节点返回选举投票。
进一步地,在接收客户端发送的任务请求之后,切换方法还包括:将任务请求对应的任务数据写入数据库,其中,任务数据包括任务标识、任务命令和任务参数;本地日志中的任务条目按顺序排列,将本地日志中未完成的任务条目对应的任务分配至从节点的步骤包括:查询本地日志中未完成的任务条目;获取多个未完成的任务条目中的任务标识;根据获取到的多个任务标识批量读取数据库中的任务数据;根据获取到的任务数据分配任务至从节点。
进一步地,根据获取到的任务数据分配任务至从节点的步骤包括:将任务命令相同的任务分配至同一从节点。
另一方面,为实现上述目的,本发明提供了一种分布式主从***中主节点的切换装置。
分布式主从***包括多个从节点和多个主节点,主节点的状态包括工作状态、休息状态和选举状态,其中,处于工作状态的主节点每间隔预设时长向处于休息状态的主节点发送心跳信息,切换装置包括:第一状态切换模块,用于当监测到心跳信息超时时,由休息状态进入选举状态;选举请求发送模块,用于发送选举请求,其中,接收到选举请求的主节点用于反馈选举投票;第二状态切换模块,用于当接收到的选举投票的数量满足第一预设条件时,由选举状态进入工作状态;任务请求接收模块,用于接收客户端发送的任务请求;任务条目新建模块,用于建立任务请求对应的任务条目,其中,任务条目包括任务标识和任务状态;日志更新模块,用于将任务条目写入本地日志;任务分配模块,将本地日志中未完成的任务条目对应的任务分配至从节点,日志更新模块还用于根据从节点返回的执行进度更新对应的任务状态;心跳信息处理模块,用于当本地日志被修改时,将修改信息携带至心跳信息,其中,接收到修改信息的主节点用于根据修改信息修改自身的日志。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的分布式主从***中主节点的切换方法、装置和计算机设备,主节点具有工作状态、休息状态和选举状态,处于工作状态的主节点作为工作主节点,每间隔预设时长向处于休息状态的主节点发送心跳信息,处于休息状态的主节点作为冗余主节点,通过监测心跳信息来监测工作主节点的是否发生故障;同时,工作主节点在工作过程中,接收客户端发送的任务请求,并建立对应的任务条目写入本地日志。在分配任务时,将本地日志中未完成的任务条目对应的任务分配至从节点,并根据从节点返回的执行进度更新对应的任务状态,当本地日志被修改时,将修改信息携带至上述心跳信息,通过心跳信息,使得冗余主节点能够根据修改信息修改自身的日志,也即同步工作主节点的日志。当冗余主节点监测到心跳信息超时时,当前工作主节点发生故障,该冗余主节点由休息状态进入选举状态,通过发送选举请求以请求被选举为新的工作主节点,当接收到的选举投票的数量大于第一阈值时,可被选举为新的工作主节点,此时由选举状态进入工作状态,成为新的工作主节点,实现了工作主节点的切换。新的工作主节点也可接收客户端发送的任务请求,并且,在分配任务时,将本地日志中未完成的任务条目对应的任务分配至从节点,该新的工作主节点的本地日志,包括前一个工作主节点,也即被替换的故障主节点的日志,也就是说,在工作主节点发生故障时,不仅实现工作主节点的切换,而且能够同步工作主节点的日志。并且,从中可以看出,在故障主节点的监测与切换,以及日志的同步过程中,无需通过第三方服务器监测和反馈,从而避免第三方依赖对故障主节点感知准确性的影响。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例一提供的分布式主从***中主节点的切换方法的步骤流程图;
图2为本发明实施例二提供的分布式主从***中主节点的切换装置的框图;
图3为本发明实施例三提供的计算机设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种分布式主从***中主节点的切换方法、装置、计算机设备和计算机可读存储介质,在本发明中,分布式主从***包括多个主节点和多个从节点,主节点的状态包括工作状态、休息状态和选举状态,其中,主节点处于工作状态时,又称工作主节点,能够接收客户端的任务请求,将任务分配至从节点执行,并接收执行结果,反馈至客户端;主节点处于休息状态时,作为冗余主节点;当需要进行工作主节点转换时,主节点由休息状态进入选举状态,在选举状态选举产生新的工作主节点,被选为工作主节点的主节点由选举状态进入工作状态,其他未被选为工作主节点的主节点保持休息状态或由选举状态返回休息状态,其中,处于工作状态的主节点每间隔预设时长向处于休息状态的主节点发送心跳信息,也即,工作主节点每间隔预设时长向冗余主节点发送心跳信息,基于此,在本发明提供的分布式主从***中主节点的切换方法中,正常状态下,工作主节点每间隔预设时长向冗余主节点发送心跳信息,冗余主节点监测心跳信息,当某一冗余主节点监测到心跳信息超时,也即无法在该预设时长内接收到心跳信息时,表明工作主节点故障,需要产生新的工作主节点,此时,该主节点由休息状态进入选举状态,并向分布式主从***中的其他主节点发送选举请求,对于接收到选举请求的主节点,可向发送选举请求的此主节点返回选举投票,当接收到的选举投票的数量大于一定数量时,该主节点被选举为新的工作主节点,由选举状态进入工作状态,接入工作状态后,接收客户端发送的任务请求,并建立任务请求对应的任务条目,将任务条目写入本地日志,同时,针对本地日志中未完成的任务条目,将对应的任务分配至从节点,相应地,根据从节点返回的执行进度更新对应的任务状态,在上述过程中,当本地日志被修改时,包括写入新的任务条目以及对任务条目中任务状态进行修改时,均会将修改信息携带至心跳信息,在将心跳信息发送至其他主节点的同时,将修改同步至其他主节点,而接收到修改信息的主节点,根据修改信息修改自身的日志,使得冗余主节点能够同步到工作主节点分配任务的进度和任务的执行状态,因此,当一个工作主节点出现故障被替换时,重新选举出的工作主节点的本地日志与故障主节点的本地日志同步,若故障主节点的本地日志中包括未完成的任务条目,该未完成的任务条目会保留在重新选举出的工作主节点的本地日志中,因而,新的工作主节点在针对本地日志中未完成的任务条目进行任务分配时,可将故障主节点上,也即前一个工作主节点上未完成的任务条目继续任务分配。从中可以看出,当处于工作状态的工作主节点发生故障时,其他主节点能够感知到该故障并及时产生新的工作主节点,实现了故障主节点的替换,同时,能够保证工作主节点上任务信息的延续性,提升工作主节点任务的可靠性,更重要的是,与现有技术相比,无需通过第三方服务器监测和反馈,避免第三方依赖对故障主节点感知准确性的影响。
关于本发明提供的分布式主从***中主节点的切换方法、装置、计算机设备和计算机可读存储介质的具体实施方式,将在下文中详细描述。
实施例一
本发明实施例一提供了一种分布式主从***中主节点的切换方法,该分布式主从***包括多个主节点和多个从节点,主节点的状态包括工作状态、休息状态和选举状态,一个主节点可在三个状态之间转换。通过该实施例提供的分布式主从***中主节点的切换方法,当处于工作状态的主节点发送故障时,处于休息状态的主节点能够及时感知,并由休息状态进入选举状态,并在被选举为工作节点后,由选举状态进入工作状态,也即,替换了发生故障的主节点,实现了分布式主从***中主节点故障时,由故障主节点自动切换为正常主节点,并保证主节点上任务的可靠性,同时,无需通过第三方服务器监测和反馈,避免第三方依赖对故障主节点感知准确性的影响,具体地,图1为本发明实施例一提供的分布式主从***中主节点的切换方法的步骤流程图,如图1所示,该实施例提供的分布式主从***中主节点的切换方法包括如下的步骤S101至步骤S107。
步骤S101:当监测到心跳信息超时时,由休息状态进入选举状态,并发送选举请求。
其中,处于工作状态的主节点(也即工作主节点),会每间隔预设时长向处于休息状态的主节点(也即冗余主节点)发送心跳信息,当工作主节点发生故障时,冗余主节点会无法按时接收到心跳信息或接收不到心跳信息,因此,对于冗余主节点,能够通过监测该心跳信息是否超时,来监测工作主节点是否出现故障。当一个冗余主节点监测到心跳信息超时时,该主节点由休息状态进入选举状态。
可选地,在***启动时,所有主节点均处于休息状态,***中没有主节点处于工作状态,也即***还没有产生工作主节点,配置各主节点可在某一时长范围内,随机确定一时长作为预设时长,当某一主节点在预设时长内没有监测到心跳信息时,也即监测到心跳信息超时时,该主节点率先由休息状态进入到选举状态。
可选地,在***正常工作的过程中,部分主节点处于休息状态为冗余主节点,***中某主节点处于工作状态为工作主节点,当该工作主节点发生故障时,冗余主节点会监测到心跳信息超时,当某一主节点在其预设时长内没有监测到心跳信息时,也即监测到心跳信息超时时,该主节点由休息状态进入到选举状态。
主节点进入选举状态后,发送选举请求,可向分布式主从***中的其他主节点发送,也可向自己发送,该选举请求用于请求选举投票,可选地,接收到选举请求的主节点用于返回选举投票,进一步可选地,可设置投票规则,接收到选举请求的主节点进行投票规则的判断,在满足投票规则时,返回选举投票,在不满足投票规则时,不返回选举投票。
步骤S102:当接收到的选举投票的数量大于第一阈值时,由选举状态进入工作状态。
处于选举状态的主节点发送选举请求后,可接收到各主节点发送的选举投票,当接收到的选举投票的数量达到预定数量,也即大于第一阈值时,该主节点被选举为工作主节点,因而由选举状态进入工作状态。可选地,第一阈值可为分布式主从***中主节点数量的一半,当一个主节点接收到的选举投票的数量过半时,也即达到分布式主从***中主节点总数量的一半时,该主节点被选举为工作主节点。
步骤S103:接收客户端发送的任务请求。
主节点进入工作状态成为工作主节点后,可接收客户端发送的任务请求,该任务请求可包括任务标识、任务参数以及任务命令等信息。
步骤S104:建立任务请求对应的任务条目。
其中,任务条目包括任务标识和任务状态。
接收到任务请求后,建立任务请求所对应的任务条目,一个任务请求可对应一个任务条目,任务条目包括任务标识和任务状态。
步骤S105:将任务条目写入本地日志。
其中,各主节点均在自身本地维护有日志。建立对应任务请求的任务条目后,将任务条目写入本地日志,该本地日志也等同于状态机,维护任务状态。
步骤S106:将本地日志中未完成的任务条目对应的任务分配至从节点,并根据从节点返回的执行进度更新对应的任务状态。
工作主节点在进行任务分配时,将本地日志中未完成的任务条目对应的任务分配至从节点,从节点接收到被分配的任务后,执行任务,并将执行进度和执行结果反馈至工作主节点,以供工作主节点更新对应的任务状态,以及在需要时,将执行结果返回至客户端,以响应任务请求。
步骤S107:当本地日志被修改时,将修改信息携带至心跳信息。
其中,接收到修改信息的主节点用于根据修改信息修改自身的日志。
工作主节点在将新的任务条目写入本地日志时、在更新本地日志中某任务条目的任务状态时,均是对本地日志的修改,而当本地日志被修改时,将修改信息携带至心跳信息,发送至冗余主节点。冗余主节点接收到心跳信息后可解析出修改信息,进而能够根据修改信息修改自身的日志,将工作主节点的日志同步至冗余主节点。
基于此,在上述步骤S106中,当前工作主节点上本地日志中未完成的任务条目,不仅包括该工作主节点根据接收到的任务请求建立的任务条目,还包括由上一个工作主节点同步过来的任务条目,也就是说,在工作主节点切换时,能够保证工作主节点上任务信息的延续性。
采用该实施例提供的分布式主从***中主节点的切换方法,主节点具有工作状态、休息状态和选举状态,处于工作状态的主节点作为工作主节点,每间隔预设时长向处于休息状态的主节点发送心跳信息,处于休息状态的主节点作为冗余主节点,通过监测心跳信息来监测工作主节点的是否发生故障;同时,工作主节点在工作过程中,接收客户端发送的任务请求,并建立对应的任务条目写入本地日志。在分配任务时,将本地日志中未完成的任务条目对应的任务分配至从节点,并根据从节点返回的执行进度更新对应的任务状态,当本地日志被修改时,将修改信息携带至上述心跳信息,通过心跳信息,使得冗余主节点能够根据修改信息修改自身的日志,也即同步工作主节点的日志。当冗余主节点监测到心跳信息超时时,当前工作主节点发生故障,该冗余主节点由休息状态进入选举状态,通过发送选举请求以请求被选举为新的工作主节点,当接收到的选举投票的数量大于第一阈值时,可被选举为新的工作主节点,此时由选举状态进入工作状态,成为新的工作主节点,实现了工作主节点的切换。新的工作主节点也可接收客户端发送的任务请求,并且,在分配任务时,将本地日志中未完成的任务条目对应的任务分配至从节点,该新的工作主节点的本地日志,包括前一个工作主节点,也即被替换的故障主节点的日志,也就是说,在工作主节点发生故障时,不仅实现工作主节点的切换,而且能够同步工作主节点的日志。并且,从中可以看出,在故障主节点的监测与切换,以及日志的同步过程中,无需通过第三方服务器监测和反馈,从而避免第三方依赖对故障主节点感知准确性的影响。
可选地,在一种实施例中,在由休息状态进入选举状态之后,发送选举请求之前,切换方法还包括:将本地日志中最新的任务条目中的任务标识作为检测标识携带至选举请求,其中,接收到选举请求的主节点还用于比对检测标识和自身日志中的任务标识,并当自身日志中不包括检测标识,或者自身日志中最新的任务条目中的任务标识与检测标识相同,返回选举投票。
具体地,冗余主节点由休息状态进入选举状态后,查询本地日志中最新的任务条目的任务标识,将该任务标识作为检测标识携带至选举请求,接收到选举请求的主节点,将检测标识与自身日志中的任务标识进行比对,如果自身日志中不包括该检测标识,表示发送选举请求的主节点的本地日志的更新状况超前于接收到选举请求的主节点的更新状况;如果自身日志中最新的任务条目中的任务标识与检测标识相同,表示发送选举请求的主节点的本地日志的更新状况与接收到选举请求的主节点的更新状况一致;如果自身日志中非最新的任务条目中的任务标识与检测标识相同,表示发送选举请求的主节点的本地日志的更新状况滞后于接收到选举请求的主节点的更新状况,综上,接收到选举请求的主节点,通过将检测标识与自身日志中的任务标识进行比对,能够确定发送选举请求的主节点的本地日志的更新状况与其自身日志的更新状况的关系,在自身日志中不包括检测标识,或者自身日志中最新的任务条目中的任务标识与检测标识相同时返回选举投票,也即避免向本地日志更新状况滞后于自身日志更新状况的主节点返回选举投票。
采用该实施例提供的分布式主从***中主节点的切换方法,处于选举状态的主节点将本地日志中最新的任务条目的任务标识作为检测标识携带至选举请求,使得接收到选举请求的主节点,能够判断自身日志更新状况和发送选举请求的主节点的本地日志的更新状况来确定是否返回选举投票,避免选举出的新的工作主节点上的本地日志滞后投出选举投票的主节点的日志信息。
可选地,在一种实施例中,各主节点分别维护自身的周期序号,切换方法还包括:在由休息状态进入选举状态之后,发送选举请求之前,将自身的周期序号更新,并将更新后的周期序号作为检测序号携带至选举请求,其中,接收到选举请求的主节点用于比对检测序号和自身的周期序号,并当自身的周期序号不新于检测序号时,返回选举投票;以及在由选举状态进入工作状态后,将被选举信息携带至心跳信息,其中,接收到被选举信息的主节点将自身的周期序号更新。
具体地,将主节点处于选举状态和工作状态的时期作为一个周期,各主节点均维护有周期序号,当主节点由休息状态进入选举状态时,在发送选举请求之前,先将自身的周期序号更新,例如,周期序号为数字时,可通过增加数字来更新周期序号。更新周期序号后,将更新后的周期序号作为检测序号,携带至选举请求,因此,接收到选举请求的主节点,同时可获得检测序号,进一步可通过检测序号来判断是否返回选举投票,具体地,将检测序号和自身的周期序号进行比对,当自身的周期序号不新于检测序号时(包括比检测序号旧以及与检测序号相同),返回选举投票,如果自身的周期序号新于检测序号,则不返回选举投票。处于选举状态的主节点接收到的选举投票的数量大于第一阈值时,该主节点被选举为工作主节点,此时由选举状态进入工作状态,将被选举信息携带至心跳信息,通知其他主节点,已产生新的工作主节点,接收到被选举信息的主节点获知新的工作主节点出现,此时也将自身的周期序号更新,统一进入新的周期。
采用该实施例提供的分布式主从***中主节点的切换方法,处于选举状态的主节点首先更新自身周期序号,并将更新后的周期序号为作检测序号携带至选举请求,使得接收到选举请求的主节点,能够判断自身周期序号和发送选举请求的主节点的周期序号的顺序来确定是否返回选举投票,避免选举出的新的工作主节点的周期序号滞后投出选举投票的主节点的周期序号。对于主节点的周期序号,自己进入选举状态或者其他主节点被选举为新的工作主节点,会触发周期序号的更新,因此,周期序号的顺序能够表征主节点的活跃性,避免选举出的新的工作主节点的周期序号滞后投出选举投票的主节点的周期序号,也即避免将活跃性低的主节点选举为工作主节点。此外,接收到选举请求的主节点,通过检测序号和检测标识判断是否返回选举投票,能够减少***中同时选举出两个或两个以上工作主节点的概率。
可选地,在一种实施例中,主节点的状态还包括预选举状态,由休息状态进入选举状态的步骤包括:由休息状态进入预选举状态,并发送预选举请求,其中,接收到预选举请求的主节点判断当前是否存在处于工作状态且正常的主节点,若不存在处于工作状态且正常的主节点,返回预选举投票;当接收到的预选举投票的数量大于第二阈值时,由预选举状态进入选举状态。
具体地,当一个进入选举状态的主节点出现网络分区问题,无法与其他主节点正常通信时,其反复进入选举状态,进而导致其维护的周期序号反复更新,此时,当某一时刻其与其他主节点的通信正常,将携带检测序号的选举请求发送至冗余主节点后,该冗余主节点的周期序号大概率会不新于检测序号,因而会返回选举投票,此时,被选举出新的工作主节点实质上是具有网络问题的主节点。为了避免该情况的发生,设置主节点的状态还包括预选举状态,主节点在由休息状态进入选举状态时,首先由休息状态进入预选举状态,并发送预选举请求,对于接收到预选举请求的主节点,先判断当前是否存在处于工作状态且正常的主节点,例如,通过监测心跳信息来进行判断,如果心跳信息正常,则表明当前存在处于工作状态且正常的主节点,此时不返回预选举投票,若不存在处于工作状态且正常的主节点,才返回预选举投票,当接收到的预选举投票的数量大于一定数量时,也即大于第二阈值时,由预选举状态进入选举状态,然后发送选举请求。其中,第二阈值可为分布式主从***中主节点数量的一半。
采用该实施例提供的分布式主从***中主节点的切换方法,处于休息状态的主节点进入选举状态时,经过预选举状态,先发送预选举请求,接收到预选举请求的主节点先判断当前持否存在正常工作的主节点,如果存在,表明发送预选举请求的主节点自身存在问题,此时不返回预选举投票,仅当不存在正常工作的主节点,才返回预选举投票,当接收到的预选举投票的数量满足要求,再由预选举状态进入选举状态,减小冗余主节点由于自身问题而发起新的选举的概率。
可选地,在一种实施例中,接收到选举请求的主节点还用于在一个周期序号内仅能发送一次选举投票,且当接收到两个或两个以上选举请求时,向先发送选举请求的主节点返回选举投票。
具体地,接收到选举请求的主节点在确定是否返回选举投票时,遵循一个周期只投一次和先到先投的原则,其中,各原则的优先权可进行配置。
采用该实施例提供的分布式主从***中主节点的切换方法,通过上述投票原则,能够降低两个或两个以上主节点被选举为工作主节点的概率。
可选地,在一种实施例中,在接收客户端发送的任务请求之后,切换方法还包括:将任务请求对应的任务数据写入数据库,其中,任务数据包括任务标识、任务命令和任务参数;本地日志中的任务条目按顺序排列,将本地日志中未完成的任务条目对应的任务分配至从节点的步骤包括:查询本地日志中未完成的任务条目;获取多个未完成的任务条目中的任务标识;根据获取到的多个任务标识批量读取数据库中的任务数据;根据获取到的任务数据分配任务至从节点。
具体地,在接收到任务请求后,将任务数据写入数据库,本地日志的任务条目中设置任务标识和任务状态,而不设置任务命令和任务参数等,因此,工作主节点对本地日志进行修改时不需要涉及任务命令和任务参数等的修改,减少修改信息的数据量,有利于将修改信息同步至其他冗余主节点。工作主节点本地日志中的任务条目按顺序排列,在将本地日志中未完成的任务条目对应的任务分配至从节点时,首先在本地日志中,根据任务条目中的任务状态确定出未完成的任务,然后批量获取未完成任务的任务标识,根据这些任务标识在数据库中获取对应的任务数据,最终根据获取到的任务数据批量分配任务至从节点。
采用该实施例提供的分布式主从***中主节点的切换方法,一方面,任务命令和任务参数等任务数据写入数据库而不设置于本地日志中,能够减少工作主节点向冗余主节点同步修改信息时的数据量,另一方面,将任务数据设置于数据库中,通过批量获取和批量分配来提升任务分配的效率,减少访问数据库接口的压力。
可选地,在一种实施例中,根据获取到的任务数据分配任务至从节点的步骤包括:将任务命令相同的任务分配至同一从节点。
采用该实施例提供的分布式主从***中主节点的切换方法,将任务命令相同的任务分配至同一从节点,能够使得从节点批量执行相同的任务命令,提升从节点执行任务的速度。
实施例二
对应于上述实施例一,本发明实施例二提供了一种分布式主从***中主节点的切换装置,分布式主从***包括多个从节点和多个主节点,主节点的状态包括工作状态、休息状态和选举状态,其中,处于工作状态的主节点每间隔预设时长向处于休息状态的主节点发送心跳信息,相关技术特征和相应的技术效果可以参考上述实施例一,该处不再赘述。具体地,图2为本发明实施例二提供的分布式主从***中主节点的切换装置的框图,如图2所示,该切换装置包括:第一状态切换模块201、选举请求发送模块202、第二状态切换模块203、任务请求接收模块204、任务条目新建模块205、日志更新模块206、任务分配模块207和心跳信息处理模块208。
其中,第一状态切换模块201,用于当监测到心跳信息超时时,由休息状态进入选举状态;选举请求发送模块202,用于发送选举请求,其中,接收到选举请求的主节点用于反馈选举投票;第二状态切换模块203,用于当接收到的选举投票的数量满足第一预设条件时,由选举状态进入工作状态;任务请求接收模块204,用于接收客户端发送的任务请求;任务条目新建模块205,用于建立任务请求对应的任务条目,其中,任务条目包括任务标识和任务状态;日志更新模块206,用于将任务条目写入本地日志;任务分配模块207,将本地日志中未完成的任务条目对应的任务分配至从节点,日志更新模块206还用于根据从节点返回的执行进度更新对应的任务状态;心跳信息处理模块208,用于当本地日志被修改时,将修改信息携带至心跳信息,其中,接收到修改信息的主节点用于根据修改信息修改自身的日志。
可选地,在一种实施例中,选举请求发送模块202还用于在由休息状态进入选举状态之后,发送选举请求之前,将本地日志中最新的任务条目中的任务标识作为检测标识携带至选举请求;其中,接收到选举请求的主节点还用于比对检测标识和自身日志中的任务标识,并当自身日志中不包括检测标识,或者自身日志中最新的任务条目中的任务标识与检测标识相同,返回选举投票。
可选地,在一种实施例中,各主节点分别维护自身的周期序号,选举请求发送模块202还用于在由休息状态进入选举状态之后,发送选举请求之前,将自身的周期序号更新,并将更新后的周期序号作为检测序号携带至选举请求,其中,接收到选举请求的主节点用于比对检测序号和自身的周期序号,并当自身的周期序号不新于检测序号时,返回选举投票;心跳信息处理模块208还用于在由选举状态进入工作状态后,将被选举信息携带至心跳信息,其中,接收到被选举信息的主节点将自身的周期序号更新。
可选地,在一种实施例中,主节点的状态还包括预选举状态,第一状态切换模块201在由休息状态进入选举状态时,具体执行的步骤包括:由休息状态进入预选举状态,并发送预选举请求,其中,接收到预选举请求的主节点判断当前是否存在处于工作状态且正常的主节点,若不存在处于工作状态且正常的主节点,返回预选举投票;当接收到的预选举投票的数量大于第二阈值时,由预选举状态进入选举状态。
可选地,在一种实施例中,接收到选举请求的主节点还用于在一个周期序号内仅能发送一次选举投票,且当接收到两个或两个以上选举请求时,向先发送选举请求的主节点返回选举投票。
可选地,在一种实施例中,切换装置还包括数据库写入模块,用于在任务请求接收模块204接收客户端发送的任务请求之后,将任务请求对应的任务数据写入数据库,其中,任务数据包括任务标识、任务命令和任务参数;本地日志中的任务条目按顺序排列,任务分配模块207在将本地日志中未完成的任务条目对应的任务分配至从节点时,具体执行的步骤包括:查询本地日志中未完成的任务条目;获取多个未完成的任务条目中的任务标识;根据获取到的多个任务标识批量读取数据库中的任务数据;根据获取到的任务数据分配任务至从节点。
可选地,在一种实施例中,任务分配模块207在根据获取到的任务数据分配任务至从节点时,将任务命令相同的任务分配至同一从节点。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备01至少包括但不限于:可通过***总线相互通信连接的存储器011、处理器012,如图3所示。需要指出的是,图3仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器011(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作***和各类应用软件,例如实施例二的分布式主从***中主节点的切换装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如分布式主从***中主节点的切换方法等。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储分布式主从***中主节点的切换装置,被处理器执行时实现实施例一的分布式主从***中主节点的切换方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种分布式主从***中主节点的切换方法,其特征在于,所述分布式主从***包括多个从节点和多个主节点,所述主节点的状态包括工作状态、休息状态和选举状态,其中,处于所述工作状态的主节点每间隔预设时长向处于所述休息状态的主节点发送心跳信息,所述切换方法包括:
当监测到所述心跳信息超时时,由所述休息状态进入所述选举状态,并发送选举请求,其中,接收到所述选举请求的主节点用于返回选举投票;
当接收到的所述选举投票的数量大于第一阈值时,由所述选举状态进入所述工作状态;
接收客户端发送的任务请求;
建立所述任务请求对应的任务条目,其中,所述任务条目包括任务标识和任务状态;
将所述任务条目写入所述本地日志;
将所述本地日志中未完成的所述任务条目对应的任务分配至所述从节点,并根据所述从节点返回的执行进度更新对应的所述任务状态;
当所述本地日志被修改时,将修改信息携带至所述心跳信息,其中,接收到所述修改信息的所述主节点用于根据所述修改信息修改自身的日志。
2.根据权利要求1所述的分布式主从***中主节点的切换方法,其特征在于,在由所述休息状态进入所述选举状态之后,发送选举请求之前,所述切换方法还包括:
将所述本地日志中最新的所述任务条目中的任务标识作为检测标识携带至所述选举请求;
其中,接收到所述选举请求的主节点还用于比对所述检测标识和自身日志中的任务标识,并当自身日志中不包括所述检测标识,或者自身日志中最新的所述任务条目中的任务标识与所述检测标识相同,返回所述选举投票。
3.根据权利要求1所述的分布式主从***中主节点的切换方法,其特征在于,各所述主节点分别维护自身的周期序号,所述切换方法还包括:
在由所述休息状态进入所述选举状态之后,发送选举请求之前,将自身的周期序号更新,并将更新后的所述周期序号作为检测序号携带至所述选举请求,其中,接收到所述选举请求的主节点用于比对所述检测序号和自身的周期序号,并当自身的周期序号不新于所述检测序号时,返回所述选举投票;以及
在由所述选举状态进入所述工作状态后,将被选举信息携带至所述心跳信息,其中,接收到所述被选举信息的主节点将自身的周期序号更新。
4.根据权利要求3所述的分布式主从***中主节点的切换方法,其特征在于,所述主节点的状态还包括预选举状态,由所述休息状态进入所述选举状态的步骤包括:
由所述休息状态进入所述预选举状态,并发送预选举请求,其中,接收到所述预选举请求的主节点判断当前是否存在处于所述工作状态且正常的主节点,若不存在处于所述工作状态且正常的主节点,返回预选举投票;
当接收到的所述预选举投票的数量大于第二阈值时,由所述预选举状态进入所述选举状态。
5.根据权利要求3所述的分布式主从***中主节点的切换方法,其特征在于,接收到所述选举请求的主节点还用于在一个所述周期序号内仅能发送一次所述选举投票,且当接收到两个或两个以上所述选举请求时,向先发送所述选举请求的主节点返回所述选举投票。
6.根据权利要求1所述的分布式主从***中主节点的切换方法,其特征在于,
在接收客户端发送的任务请求之后,所述切换方法还包括:将所述任务请求对应的任务数据写入数据库,其中,所述任务数据包括所述任务标识、任务命令和任务参数;
所述本地日志中的所述任务条目按顺序排列,将所述本地日志中未完成的所述任务条目对应的任务分配至所述从节点的步骤包括:查询所述本地日志中未完成的所述任务条目;获取多个未完成的所述任务条目中的任务标识;根据获取到的多个所述任务标识批量读取所述数据库中的任务数据;根据获取到的所述任务数据分配任务至所述从节点。
7.根据权利要求6所述的分布式主从***中主节点的切换方法,其特征在于,根据获取到的所述任务数据分配任务至所述从节点的步骤包括:
将任务命令相同的任务分配至同一从节点。
8.一种分布式主从***中主节点的切换装置,其特征在于,分布式主从***包括多个从节点和多个主节点,所述主节点的状态包括工作状态、休息状态和选举状态,其中,处于工作状态的主节点每间隔预设时长向处于所述休息状态的主节点发送心跳信息,所述切换装置包括:
第一状态切换模块,用于当监测到所述心跳信息超时时,由所述休息状态进入所述选举状态;
选举请求发送模块,用于发送选举请求,其中,接收到所述选举请求的所述主节点用于反馈选举投票;
第二状态切换模块,用于当接收到的所述选举投票的数量满足第一预设条件时,由所述选举状态进入所述工作状态;
任务请求接收模块,用于接收客户端发送的任务请求;
任务条目新建模块,用于建立所述任务请求对应的任务条目,其中,所述任务条目包括任务标识和任务状态;
日志更新模块,用于将所述任务条目写入所述本地日志;
任务分配模块,将所述本地日志中未完成的所述任务条目对应的任务分配至所述从节点,所述日志更新模块还用于根据所述从节点返回的执行进度更新对应的所述任务状态;
心跳信息处理模块,用于当所述本地日志被修改时,将修改信息携带至所述心跳信息,其中,接收到所述修改信息的所述主节点用于根据所述修改信息修改自身的日志。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN201911183863.6A 2019-11-27 2019-11-27 分布式主从***中主节点的切换方法、装置和计算机设备 Active CN112865992B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911183863.6A CN112865992B (zh) 2019-11-27 2019-11-27 分布式主从***中主节点的切换方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911183863.6A CN112865992B (zh) 2019-11-27 2019-11-27 分布式主从***中主节点的切换方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN112865992A true CN112865992A (zh) 2021-05-28
CN112865992B CN112865992B (zh) 2022-10-14

Family

ID=75984913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911183863.6A Active CN112865992B (zh) 2019-11-27 2019-11-27 分布式主从***中主节点的切换方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN112865992B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113325689A (zh) * 2021-08-02 2021-08-31 中国人民解放军海军工程大学 一种基于数据同步的控制***全时域热备方法
CN113923222A (zh) * 2021-12-13 2022-01-11 云和恩墨(北京)信息技术有限公司 数据处理方法及装置
CN114363350A (zh) * 2021-12-14 2022-04-15 中科曙光南京研究院有限公司 一种服务治理***及方法
CN115102839A (zh) * 2022-06-17 2022-09-23 济南浪潮数据技术有限公司 一种主从节点选举方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933132A (zh) * 2015-06-12 2015-09-23 广州巨杉软件开发有限公司 基于操作序列号的分布式数据库有权重选举方法
CN105554142A (zh) * 2015-12-24 2016-05-04 北京奇虎科技有限公司 消息推送的方法、装置及***
CN106789197A (zh) * 2016-12-07 2017-05-31 高新兴科技集团股份有限公司 一种集群选举方法及***
CN107124305A (zh) * 2017-04-20 2017-09-01 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
US20170270176A1 (en) * 2010-12-23 2017-09-21 Eliot Horowitz System and method for determining consensus within a distributed database
CN108810100A (zh) * 2018-05-22 2018-11-13 郑州云海信息技术有限公司 一种主节点的选举方法、装置及设备
CN108989391A (zh) * 2018-06-19 2018-12-11 北京百悟科技有限公司 一种一致性处理的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170270176A1 (en) * 2010-12-23 2017-09-21 Eliot Horowitz System and method for determining consensus within a distributed database
CN104933132A (zh) * 2015-06-12 2015-09-23 广州巨杉软件开发有限公司 基于操作序列号的分布式数据库有权重选举方法
CN105554142A (zh) * 2015-12-24 2016-05-04 北京奇虎科技有限公司 消息推送的方法、装置及***
CN106789197A (zh) * 2016-12-07 2017-05-31 高新兴科技集团股份有限公司 一种集群选举方法及***
CN107124305A (zh) * 2017-04-20 2017-09-01 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
CN108810100A (zh) * 2018-05-22 2018-11-13 郑州云海信息技术有限公司 一种主节点的选举方法、装置及设备
CN108989391A (zh) * 2018-06-19 2018-12-11 北京百悟科技有限公司 一种一致性处理的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113325689A (zh) * 2021-08-02 2021-08-31 中国人民解放军海军工程大学 一种基于数据同步的控制***全时域热备方法
CN113325689B (zh) * 2021-08-02 2021-12-28 中国人民解放军海军工程大学 一种基于数据同步的控制***全时域热备方法
CN113923222A (zh) * 2021-12-13 2022-01-11 云和恩墨(北京)信息技术有限公司 数据处理方法及装置
CN113923222B (zh) * 2021-12-13 2022-05-31 云和恩墨(北京)信息技术有限公司 数据处理方法及装置
CN114363350A (zh) * 2021-12-14 2022-04-15 中科曙光南京研究院有限公司 一种服务治理***及方法
CN114363350B (zh) * 2021-12-14 2024-04-16 中科曙光南京研究院有限公司 一种服务治理***及方法
CN115102839A (zh) * 2022-06-17 2022-09-23 济南浪潮数据技术有限公司 一种主从节点选举方法、装置、设备及介质
CN115102839B (zh) * 2022-06-17 2024-02-09 济南浪潮数据技术有限公司 一种主从节点选举方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112865992B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN112865992B (zh) 分布式主从***中主节点的切换方法、装置和计算机设备
CN106789362B (zh) 一种设备管理方法及网管***
US11888933B2 (en) Cloud service processing method and device, cloud server, cloud service system and storage medium
CN107844343B (zh) 一种复杂服务端应用***的升级***及方法
CN102567438A (zh) 对分布式存储***中的数据项进行访问的方法
CN112558997A (zh) 一种部署应用的方法及装置
CN112860386A (zh) 分布式主从***中节点的切换方法
CN100583787C (zh) 数据的核查方法、装置及***
CN110704172B (zh) 集群***定时任务调度方法及集群***
CN112416542A (zh) 分布式任务***、管理方法、装置和计算机设备
CN106533751B (zh) 一种sdn控制器集群合并方法及装置
CN112860787A (zh) 分布式主从***中主节点的切换方法、主节点设备和存储介质
CN112865995B (zh) 分布式主从***
CN113946427A (zh) 用于多操作***的任务处理方法、处理器及存储介质
CN110737670A (zh) 一种集群数据一致性的保障方法、装置及***
CN107623705B (zh) 基于视频云存储***的存储模式升级方法、装置和***
CN111884834A (zh) 基于zookeeper的分布式***升级方法、***和计算机设备
CN112631727B (zh) 一种容器组pod的监控方法及装置
CN115733737A (zh) 一种管理ip漂移方法和存储机框
CN111414242B (zh) 状态机的运行方法、装置、服务器、***和存储介质
CN113608831B (zh) 一种插件实例管理方法、***、存储介质及设备
CN110650059B (zh) 故障群集检测方法、装置、计算机设备和存储介质
CN110489208B (zh) 虚拟机配置参数核查方法、***、计算机设备和存储介质
CN115905271B (zh) 一种病毒库更新方法、装置及多引擎检测***
CN112527652B (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