定时任务调度方法、装置、设备及存储介质制造方法及图纸

技术编号:37537925 阅读:8 留言:0更新日期:2023-05-12 16:06
本发明专利技术提供一种定时任务调度方法、装置、设备及存储介质,涉及计算机技术领域,包括:响应于定时任务的触发指令,读取所述定时任务对应的数据库中锁的节点IP;确定所述节点IP与主服务实例的虚拟IP相匹配,触发所述主服务实例执行所述定时任务,其中,所述主服务实例是从所述数据库中获取到锁对应的服务实例。本发明专利技术通过将获取到锁对应的服务实例作为主服务实例,进而当触发定时任务时,验证锁的节点IP与主服务实例的虚拟IP是否相匹配,从而触发主服务实例执行定时任务,而其他实例则不会重复执行该定时任务,从而有效避免了重复执行相同的定时任务、重新更新或者删除的错误操作。重新更新或者删除的错误操作。重新更新或者删除的错误操作。

【技术实现步骤摘要】
定时任务调度方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种定时任务调度方法、装置、设备及存储介质。

技术介绍

[0002]随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统,分布式集群系统中所有机器的代码都是一样的,每台机器会在同一时间点执行定时任务,也即,存在多个服务同时执行该时间点的任务。
[0003]目前,通常在Redis数据库设置锁,以控制一个固定的应用服务来运行定时任务。然而,一个应用服务可能存在多个实例,因此会出现多个实例重复执行定时任务,例如,实例1拿到锁执行定时任务后释放,紧接着实例2获取到锁又重新执行一遍定时任务,进而导致程序性能较低,且重复工作会对数据造成不可估量的损失,如重复更新,重复删除操作等。

技术实现思路

[0004]本专利技术提供一种定时任务调度方法、装置、设备及存储介质,旨在解决多个实例重复执行相同的定时任务,导致程序性能较低的技术问题。
[0005]本专利技术提供一种定时任务调度方法,包括:
[0006]响应于定时任务的触发指令,读取所述定时任务对应的数据库中锁的节点IP;
[0007]确定所述节点IP与主服务实例的虚拟IP相匹配,触发所述主服务实例执行所述定时任务,其中,所述主服务实例是从所述数据库中获取到锁对应的服务实例。
[0008]根据本专利技术提供的一种定时任务调度方法,所述读取所述定时任务对应的数据库中锁的节点IP之前,还包括:
[0009]读取预先配置的所有服务实例的虚拟IP;
[0010]基于各所述服务实例的虚拟IP,配置所述数据库中锁对应的节点IP。
[0011]根据本专利技术提供的一种定时任务调度方法,所述基于各所述服务实例的虚拟IP,配置所述数据库中锁对应的节点IP,包括:
[0012]在各所述服务实例的虚拟IP中选取所述定时任务对应的目标虚拟IP;
[0013]将所述数据库中锁对应的节点IP配置为所述目标虚拟IP。
[0014]根据本专利技术提供的一种定时任务调度方法,所述基于各所述服务实例的虚拟IP,配置所述数据库中锁对应的节点IP,包括:
[0015]确定获取到所述锁对应的目标服务实例;
[0016]将所述数据库中锁对应的节点IP配置为所述目标服务实例对应的虚拟IP。
[0017]根据本专利技术提供的一种定时任务调度方法,所述确定所述节点IP与主服务实例的虚拟IP相匹配,触发所述主服务实例执行所述定时任务,包括:
[0018]若所述节点IP与所述主服务实例的虚拟IP相匹配,则控制所述主服务实例执行所
述定时任务;
[0019]若所述节点IP与所述主服务实例的虚拟IP不相匹配,则控制所述主服务实例进行解锁。
[0020]根据本专利技术提供的一种定时任务调度方法,所述触发所述主服务实例执行所述定时任务之前,还包括:
[0021]若检测到所述主服务实例处于宕机状态,则在所述锁的过期时间到达后,控制所述主服务实例进行解锁;
[0022]在其余服务实例中确定获取到所述锁的目标实例,其中,所述其余服务实例表示除所述主服务实例之外的各个服务实例;
[0023]基于所述目标实例的虚拟IP,配置所述锁对应的节点IP,并将所述目标实例作为新的主服务实例。
[0024]根据本专利技术提供的一种定时任务调度方法,所述响应于定时任务的触发指令,读取所述定时任务对应的数据库中锁的节点IP,包括:
[0025]响应于定时任务的触发指令,触发预先配置的IP读取命令;
[0026]基于所述IP读取命令,读取得到所述数据库中锁的节点IP。
[0027]本专利技术还提供一种定时任务调度装置,包括:
[0028]读取模块,用于响应于定时任务的触发指令,读取所述定时任务对应的数据库中锁的节点IP;
[0029]执行模块,用于确定所述节点IP与主服务实例的虚拟IP相匹配,触发所述主服务实例执行所述定时任务,其中,所述主服务实例是从所述数据库中获取到锁对应的服务实例。
[0030]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述定时任务调度方法。
[0031]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述定时任务调度方法。
[0032]本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述定时任务调度方法。
[0033]本专利技术提供的定时任务调度方法、装置、设备及存储介质,方法包括:响应于定时任务的触发指令,读取所述定时任务对应的数据库中锁的节点IP;确定所述节点IP与主服务实例的虚拟IP相匹配,触发所述主服务实例执行所述定时任务,其中,所述主服务实例是从所述数据库中获取到锁对应的服务实例。实现了通过将获取到锁对应的服务实例作为主服务实例,进而当触发定时任务时,验证锁的节点IP与主服务实例的虚拟IP是否相匹配,从而触发主服务实例执行定时任务,而其他实例则不会重复执行该定时任务,从而有效避免了重复执行相同的定时任务、重新更新或者删除的错误操作。
附图说明
[0034]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一
些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1是本专利技术提供的定时任务调度方法的流程示意图;
[0036]图2是本专利技术提供的定时任务调度装置的结构示意图;
[0037]图3是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0038]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0039]在本专利技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术一个或多个实施例。在本专利技术一个或多个实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本专利技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0040]应当理解,尽管在本专利技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种定时任务调度方法,其特征在于,包括:响应于定时任务的触发指令,读取所述定时任务对应的数据库中锁的节点IP;确定所述节点IP与主服务实例的虚拟IP相匹配,触发所述主服务实例执行所述定时任务,其中,所述主服务实例是从所述数据库中获取到锁对应的服务实例。2.根据权利要求1所述的定时任务调度方法,其特征在于,所述读取所述定时任务对应的数据库中锁的节点IP之前,还包括:读取预先配置的所有服务实例的虚拟IP;基于各所述服务实例的虚拟IP,配置所述数据库中锁对应的节点IP。3.根据权利要求2所述的定时任务调度方法,其特征在于,所述基于各所述服务实例的虚拟IP,配置所述数据库中锁对应的节点IP,包括:在各所述服务实例的虚拟IP中选取所述定时任务对应的目标虚拟IP;将所述数据库中锁对应的节点IP配置为所述目标虚拟IP。4.根据权利要求2所述的定时任务调度方法,其特征在于,所述基于各所述服务实例的虚拟IP,配置所述数据库中锁对应的节点IP,包括:确定获取到所述锁对应的目标服务实例;将所述数据库中锁对应的节点IP配置为所述目标服务实例对应的虚拟IP。5.根据权利要求1所述的定时任务调度方法,其特征在于,所述触发所述主服务实例执行所述定时任务之前,还包括:若检测到所述主服务实例处于宕机状态,则在所述锁的过期时间到达后,控制所述主服务实例进行解锁;在其余服务实例中确定获取到所述锁的目标实例,其中,所述其余服务实例表示除所述主服务实例之外的各个服务实例;基于所述目标...

【专利技术属性】
技术研发人员:王小童
申请(专利权)人:浪潮通信技术有限公司
类型:发明
国别省市:

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

1