一种任务执行方法、装置、电子设备和存储介质制造方法及图纸

技术编号:29304548 阅读:19 留言:0更新日期:2021-07-17 01:41
本申请公开了一种任务执行方法,包括:获取当前服务器在Redis队列中的目标位置标号,并查询各个任务的任务标识;所述Redis队列用于存储各个服务器的IP;根据任务标识,确定与目标位置标号匹配的任务标识,并将与目标位置标号匹配的任务标识所对应的任务确定为在当前服务器上执行的任务;在确定当前服务器执行的任务后,执行相应的任务。该方法能够保证某些任务需要在同一服务器被执行的业务逻辑,且对于可并行的任务能够在多个服务器同时被执行,既保证了业务逻辑不被影响,还能够提高任务执行效率。本申请同时还提供了一种任务执行装置、一种电子设备和计算机可读存储介质,具有上述有益效果。有上述有益效果。有上述有益效果。

The invention relates to a task execution method, a device, an electronic device and a storage medium

【技术实现步骤摘要】
一种任务执行方法、装置、电子设备和存储介质


[0001]本申请涉及计算机
,特别涉及一种任务执行方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]目前,为了不影响业务逻辑,业务人员在项目执行之前就将项目下的各个任务设定在某一服务器中执行,效率低且容易阻塞,易造成服务器负载过大导致任务失败。或者是为了提高执行效率,简单粗暴的将项目的各个任务直接分布到不同的服务器下执行,导致必须在同一服务器执行任务的业务逻辑被打乱,造成任务失败。

技术实现思路

[0003]本申请的目的是提供一种任务执行方法,能够保证某些任务需要在同一服务器被执行的业务逻辑,且对于可并行的任务能够在多个服务器同时被执行,又保证了业务逻辑不被影响,还能够提高任务执行效率。其具体方案如下:
[0004]第一方面,本申请公开了一种任务执行方法,包括:
[0005]获取当前服务器在Redis队列中的目标位置标号,并查询各个任务的任务标识;所述Redis队列用于存储各个服务器的IP;
[0006]根据所述任务标识,确定与所述目标位置标号匹配的任务标识,并将与所述目标位置标号匹配的任务标识所对应的任务确定为在所述当前服务器上执行的任务;
[0007]在确定所述当前服务器执行的任务后,执行相应的任务。
[0008]可选的,所述根据所述任务标识,确定与所述目标位置标号匹配的任务标识,包括:
[0009]对所述各个任务的任务标识与所述Redis队列的队列长度进行求余,生成各个余数;/>[0010]将等于所述目标位置标号的余数,确定为与所述目标位置标号匹配的任务标识。
[0011]可选的,在所述执行相应的任务之后,还包括:
[0012]判断所述当前服务器上执行的任务是否存活;
[0013]若否,则重启所述当前服务器,并执行当前任务。
[0014]可选的,在重启所述当前服务器之前,还包括:
[0015]判断所述当前任务被执行的次数是否大于预设阈值;
[0016]若是,则记录所述当前任务执行失败;
[0017]若否,则执行所述重启所述当前服务器的步骤。
[0018]可选的,若所述当前服务器上执行的任务未存活时,则重启所述当前服务器,并执行当前任务,包括:
[0019]若所述当前服务器上执行的任务未存活时,重启所述当前服务器,并确定重启后所述当前服务器的IP;
[0020]将所述Redis队列中重启前当前服务器的IP替换为重启后当前服务器的IP,并执行所述当前任务。
[0021]可选的,在获取当前服务器在Redis队列中的目标位置标号之前,还包括:
[0022]判断所述当前服务器的IP是否存储于所述Redis队列中;
[0023]若否,则判断所述Redis队列中当前存储的服务器数量是否小于所述Redis队列的队列长度;若是,则将所述当前服务器的IP添加到所述Redis队列中;若否,则查找所述Redis队列中不能访问的服务器IP,并将所述不能访问的服务器IP替换为所述当前服务器的IP。
[0024]第二方面,本申请公开了一种任务执行装置,包括:
[0025]查询模块,用于获取当前服务器在Redis队列中的目标位置标号,并查询各个任务的任务标识;所述Redis队列用于存储各个服务器的IP;
[0026]确定模块,用于根据所述任务标识,确定与所述目标位置标号匹配的任务标识,并将与所述目标位置标号匹配的任务标识所对应的任务确定为在所述当前服务器上执行的任务;
[0027]执行模块,用于在确定所述当前服务器执行的任务后,执行相应的任务。
[0028]可选的,所述确定模块,包括:
[0029]生成单元,用于对所述各个任务的任务标识与所述Redis队列的队列长度进行求余,生成各个余数;
[0030]确定单元,用于将等于所述目标位置标号的余数,确定为与所述目标位置标号匹配的任务标识。
[0031]第三方面,本申请公开了一种电子设备,包括:
[0032]存储器,用于存储计算机程序;
[0033]处理器,用于执行所述计算机程序时实现如上述任务执行方法的步骤。
[0034]第四方面,本申请公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任务执行方法的步骤。
[0035]本申请提供一种任务执行方法,包括:各个任务的任务标识;根据所述任务标识,确定与所述目标位置标号匹配的任务标识,并将与所述目标位置标号匹配的任务标识所对应的任务确定为在所述当前服务器上执行的任务;在确定所述当前服务器执行的任务后,执行相应的任务。
[0036]可见,本申请通过获取当前服务器的目标位置标号以及各个任务的任务标识,并确定与目标位置标号匹配的任务标识所对应的任务,作为在当前服务器上执行的任务;即本申请通过将对应同一目标位置标号的任务确定为在同一服务器上执行,可得出对应不同目标位置标号的任务在不同的服务器上运行,既能够满足某些任务需要在同一服务器上执行的业务需求,也能够提高任务的并行率和执行效率,避免了相关技术中所有任务在同一服务器中执行,效率低且容易阻塞,或将各个任务直接分布到不同的服务器下执行,导致业务逻辑被打乱,任务执行失败的缺陷,本申请能够保证某些任务需要在同一服务器被执行的业务逻辑,且对于可并行的任务能够在多个服务器同时被执行,既保证了业务逻辑不被影响,还能够提高任务执行效率。本申请同时还提供了一种任务执行装置、一种电子设备和计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
[0037]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0038]图1为本申请实施例所提供的一种任务执行方法的流程图;
[0039]图2为本申请实施例所提供的具体实施例的结构框图;
[0040]图3为本申请实施例提供的一种任务执行装置的结构示意图。
具体实施方式
[0041]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]相关技术的任务执行中,通常将项目的各个任务设定在某一服务器中执行,效率低且容易阻塞,或是为了提高任务的执行效率,将项目下的任务分布到不同的服务器,会造成应该在同一服务器执行的任务的业务逻辑被打乱,造成业务失败。基于上述技术问题,本实施例提供一种任务执行方法,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种任务执行方法,其特征在于,包括:获取当前服务器在Redis队列中的目标位置标号,并查询各个任务的任务标识;所述Redis队列用于存储各个服务器的IP;根据所述任务标识,确定与所述目标位置标号匹配的任务标识,并将与所述目标位置标号匹配的任务标识所对应的任务确定为在所述当前服务器上执行的任务;在确定所述当前服务器执行的任务后,执行相应的任务。2.根据权利要求1所述的任务执行方法,其特征在于,所述根据所述任务标识,确定与所述目标位置标号匹配的任务标识,包括:对所述各个任务的任务标识与所述Redis队列的队列长度进行求余,生成各个余数;将等于所述目标位置标号的余数,确定为与所述目标位置标号匹配的任务标识。3.根据权利要求1所述的任务执行方法,其特征在于,在所述执行相应的任务之后,还包括:判断所述当前服务器上执行的任务是否存活;若否,则重启所述当前服务器,并执行当前任务。4.根据权利要求3所述的任务执行方法,其特征在于,在重启所述当前服务器之前,还包括:判断所述当前任务被执行的次数是否大于预设阈值;若是,则记录所述当前任务执行失败;若否,则执行所述重启所述当前服务器的步骤。5.根据权利要求3所述的任务执行方法,其特征在于,若所述当前服务器上执行的任务未存活时,则重启所述当前服务器,并执行当前任务,包括:若所述当前服务器上执行的任务未存活时,重启所述当前服务器,并确定重启后所述当前服务器的IP;将所述Redis队列中重启前当前服务器的IP替换为重启后当前服务器的IP,并执行所述当前任务。6.根据权利要求1所述的任务执行方法,其特征在...

【专利技术属性】
技术研发人员:李光远
申请(专利权)人:上海销氪信息科技有限公司
类型:发明
国别省市:

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

1