CN116909701A - 一种定时任务执行方法、装置、设备及介质 - Google Patents
一种定时任务执行方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116909701A CN116909701A CN202310822017.4A CN202310822017A CN116909701A CN 116909701 A CN116909701 A CN 116909701A CN 202310822017 A CN202310822017 A CN 202310822017A CN 116909701 A CN116909701 A CN 116909701A
- Authority
- CN
- China
- Prior art keywords
- node server
- target
- timing task
- node
- target subtask
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 6
- 101150039208 KCNK3 gene Proteins 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供了一种定时任务执行方法、装置、设备及介质,分布式服务器若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行该目标子任务失败的节点服务器的信息,确定执行该目标子任务的第二节点服务器;向该第二节点服务器发送执行该目标子任务的信息,使得该第二节点服务器执行该目标子任务。由于,在本申请实施例中,分布式服务器在获取到目标节点服务器执行失败的信息之后,该分布式服务器会再次选择其他节点服务器执行该目标定时任务,避免了一个节点服务器执行失败就认为该目标定时任务执行失败,提高了定时任务执行成功的成功率。
Description
技术领域
本申请涉及分布式技术领域,尤其涉及一种定时任务执行方法、装置、设备及介质。
背景技术
目前分布式系统中在执行定时任务时,通常采用分布式锁机制控制,即分布式系统中的每个节点服务器竞争分布式锁,获取到分布式锁的节点服务器执行待执行的定时任务。
在相关技术中,获取到分布式锁的节点服务器执行待执行的定时任务时,若该节点服务器执行失败,则直接导致该次定时任务执行失败,其他节点不会再尝试执行。但是,在实际应用过程中,其实有些失败是节点服务器自身原因导致的,例如节点内存积压,或是远程调度定时任务路由失败等,这就导致了定时任务执行成功的成功率低。
发明内容
本申请提供了一种定时任务执行方法、装置、设备及介质,用以解决现有技术中获取到分布式锁的节点服务器出现执行失败的情况,直接导致定时任务执行失败,影响定时任务执行成功的成功率的问题。
第一方面,本申请实施例提供了一种定时任务执行方法,所述方法包括:
若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器;
向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
第二方面,本申请实施例提供了一种定时任务执行装置,所述装置包括:
处理模块,用于若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器;
发送模块,用于向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
第三方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述定时任务执行方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述中任一所述定时任务执行方法的步骤。
在本申请实施例中,分布式服务器若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行该目标子任务失败的节点服务器的信息,确定执行该目标子任务的第二节点服务器;向该第二节点服务器发送执行该目标子任务的信息,使得该第二节点服务器执行该目标子任务。由于,在本申请实施例中,分布式服务器在获取到目标节点服务器执行失败的信息之后,该分布式服务器会再次选择其他节点服务器执行该目标定时任务,避免了一个节点服务器执行失败就认为该目标定时任务执行失败,提高了定时任务执行成功的成功率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种定时任务执行过程示意图;
图2为本申请实施例提供到的定时任务执行的流程示意图;
图3为本申请实施例提供的一种定时任务执行装置结构示意图;
图4为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
为了提高定时任务执行的成功率,本申请实施例提供了一种定时任务执行方法、装置、设备及介质。
在本申请实施例中,分布式服务器若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行该目标子任务失败的节点服务器的信息,确定执行该目标子任务的第二节点服务器;向该第二节点服务器发送执行该目标子任务的信息,使得该第二节点服务器执行该目标子任务。
实施例1:
图1为本申请实施例提供的一种定时任务执行过程示意图,该过程包括:
S101:若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器。
本申请实施例提供的一种定时任务执行方法应用于分布式服务器,其中,该分布式服务器位于分布式系统中,该分布式服务器可以为分布式系统中用于统筹的统筹服务器。
目前分布式系统中在执行定时任务时,通常采用分布式锁机制控制,即分布式系统中的每个节点服务器竞争分布式锁,获取到分布式锁的节点服务器执行待执行的定时任务。其中,该分布式锁可以是shedlock。
在相关技术中,获取到分布式锁的节点服务器执行待执行的定时任务时,若该节点服务器执行失败,则直接导致该次定时任务执行失败,其他节点不会再尝试执行,导致定时任务执行效果差。其实有些失败是由于节点服务器自身原因导致的,例如节点内存积压,或是远程调度定时任务路由失败等,这些情况下其他节点服务器执行该定时任务会有成功的可能。
基于此,为了提高定时任务执行的成功率,在本申请实施例中,若分布式服务器接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则该分布式服务器会重新选择其他节点服务器执行该目标子任务。其中,该目标子任务为该目标定时任务中当前时刻所需要执行的任务。
具体的,在本申请实施例中,若分布式服务器接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行该目标定时任务失败的节点服务器的信息,确定执行该目标子任务的第二节点服务器。
即,在本申请实施例中,若分布式服务器接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则该分布式服务器在执行定时任务未失败的节点服务器中,确定在此执行该目标子任务的第二节点服务器。
其中,在本申请实施例中,该执行该目标定时任务失败的节点服务器的信息可以保存在前置表中,分布式服务器可以前置表和shedlock表配合使用的调度模块进行定时任务的执行。
S102:向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
在本申请实施例,电子设备在确定了再次执行定时任务的目标子任务的第二节点服务器之后,该分布式服务器向该第二节点服务器发送执行该目标子任务的信息,使得该第二节点服务器执行该目标子任务。
本申请实施例提供的定时任务执行方法,在分布式系统中的定时任务不会重复执行的基础上,使得一个节点服务器竞争到锁执行失败后,其他节点服务器仍旧可以尝试竞争锁去执行该定时任务,直到有一节点服务器执行成功或所有节点服务器均执行失败,分布式服务器确定定时任务调度结束,提高了定时任务执行的容错性。
由于,在本申请实施例中,分布式服务器在获取到目标节点服务器执行失败的信息之后,该分布式服务器会再次选择其他节点服务器执行该目标定时任务,避免了一个节点服务器执行失败就认为该目标定时任务执行失败,提高了定时任务执行的成功率。
实施例2:
为了提高了定时任务执行的成功率,在上述实施例的基础上,在本申请实施例中,所述根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器之前,所述方法包括:
根据所述保存的执行所述目标定时任务失败的节点服务器的信息,以及已接收到的每个节点服务器发送的锁竞争请求,判断所述每个节点服务器中是否存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器;
若存在,则进行后续根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器的步骤。
为了提高定时任务执行的成功率,在本申请实施例中,该电子设备会从没有被记录执行该目标定时任务失败的节点服务器中,选择再次执行目标定时任务的目标子任务的第二节点服务器。
基于此,在本申请实施例中,电子设备在确定再次执行目标子任务的第二节点服务器之前,该电子设备会先根据预先保存的执行该目标定时任务失败的节点服务器的信息,以及接收到的每个节点服务器发送的锁竞争请求,判断是否存在除执行目标子任务失败的节点服务器外的至少一个其他节点服务器。
若电子设备确定存在其他节点服务器,则该电子设备执行后续根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行目标子任务失败的节点服务器的信息,确定执行目标子任务的第二节点服务器的步骤。
为了更好地执行目标定时任务,在上述各实施例的基础上,在本申请实施例中,若所述每个节点服务器中不存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器,所述方法还包括:
确定所述目标子任务执行失败,并保存所述目标子任务执行失败的记录。
在本申请实施例中,若分布式服务器确定每个节点服务器中不存在除执行目标子任务失败的节点服务器外的至少一个其他节点服务器,则分布式服务器确定该目标子任务执行失败,则分布式服务器保存该目标子任务执行失败的记录。
实施例3:
为了实现定时任务的执行,在上述各实施例的基础上,在本申请实施例中,所述根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器包括:
确定接收到所述至少一个其他节点服务器发送的锁竞争请求的接收时间,将对应的接收时间最早的其他节点服务器确定为执行所述目标子任务的第二节点服务器。
在本申请实施例中,分布式服务器在接收到每个节点服务器发送的锁竞争请求之后,该分布式服务器保存对每个锁竞争请求的接收时间,分布式服务器可以根据每个锁竞争请求对应的接收时间,确定竞争成功的第二节点服务器。
具体的,当分布式服务器从对目标定时任务未执行失败的每个其他节点服务器中确定第二节点服务器时,该分布式服务器可以获取保存到的每个其他节点服务器对应的锁竞争请求的接收时间,并将接收时间最早的其他节点服务器确定为执行目标定时任务的目标子任务的第二节点服务器。
实施例4:
为了提高定时任务执行的成功率,在上述各实施例的基础上,在本申请实施例中,所述接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息之后,所述方法还包括:
获取所述信息中携带的失败原因;
将所述失败原因及所述第一节点服务器对应的标识发送给预设设备,使得所述预设设备展示所述失败原因。
在本申请实施例中,分布式服务器接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息之后,该分布式服务器获取该信息中携带的失败原因,并将该失败原因及该第一节点服务器对应的标识发送给预设设备,使得该预设设备展示该失败原因。
其中,该失败原因可以是第一节点服务器自身原因导致的,例如节点内存积压,或是远程调度定时任务路由失败等。该预设设备一般为运维人员对应的设备。
为了提高定时任务执行的成功率,在上述各实施例的基础上,在本申请实施例中,所述方法还包括:
若接收到所述预设设备发送的所述第一节点服务器已被修复的消息,则在保存的执行所述目标子任务失败的节点服务器的信息中删除所述第一节点服务器。
在本申请实施例中,分布式服务器将第一节点服务器对应的失败原因及该第一节点服务器对应的标识发送给预设设备之后,该预设设备展示该失败原因,运维人员根据展示该失败原因对第一节点服务器进行维护。
当运维人员确定该第一节点服务器维护完成之后,该运维人员通过该预设设备向分布式服务器发送第一节点服务器已被修复的消息。分布式服务器接收到该消息后,该分布式服务器在保存的执行该目标子任务失败的节点服务器的信息中删除该第一节点服务器。
为了提高定时任务执行的成功率,在上述各实施例的基础上,在本申请实施例中,所述接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息之后,所述方法还包括:
将所述第一节点服务器添加到保存的执行所述目标定时任务失败的节点服务器的信息中。
在本申请实施例中,分布式服务器接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息之后,该分布式服务器将第一节点服务器添加到保存的执行目标定时任务失败的节点服务器的信息中。
具体的,在本申请实施例中,分布式服务器将该第一节点服务器对应的标识和该目标定时任务对应添加到用于存储执行定时任务失败的节点服务器的前置表中。
图2为本申请实施例提供到的定时任务执行的流程示意图,如该图2所示,该过程包括:
S201:定时任务Task1到执行时间。
S202:分布式服务器查询前置表,确定是否有Task1执行失败的记录,若是,则执行S203,若否,则执行S205。
S203:确定是否有其他节点服务器可用,若是,则执行S204,若否,则确定Task1执行失败。
S204:由其他节点竞争锁。
S205:所有节点服务器都可以竞争锁。
其中,S204和S205是两个并列的过程。
S206:竞争到锁的节点注册shedlock并执行Task1。
S207:确定是否执行成功,若否,则执行S208。
S208:在前置表中记录该节点服务器执行Task1失败。
S209:触发短信网关通知运维人员。
S210:节点服务器的问题解决后删除前置表相关记录。
实施例5:
图3为本申请实施例提供的一种定时任务执行装置结构示意图,该装置包括:
处理模块301,用于若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器;
发送模块302,用于向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
在一种可能的实施方式中,所述处理模块301,还用于根据所述保存的执行所述目标定时任务失败的节点服务器的信息,以及已接收到的每个节点服务器发送的锁竞争请求,判断所述每个节点服务器中是否存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器;若存在,则进行后续根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器的步骤。
在一种可能的实施方式中,所述处理模块301,具体用于确定接收到所述至少一个其他节点服务器发送的锁竞争请求的接收时间,将对应的接收时间最早的其他节点服务器确定为执行所述目标子任务的第二节点服务器。
在一种可能的实施方式中,若所述每个节点服务器中不存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器,所述处理模块301,还用于确定所述目标子任务执行失败,并保存所述目标子任务执行失败的记录。
在一种可能的实施方式中,所述处理模块301,还用于获取所述信息中携带的失败原因;
所述发送模块,还用于将所述失败原因及所述第一节点服务器对应的标识发送给预设设备,使得所述预设设备展示所述失败原因。
在一种可能的实施方式中,所述处理模块301,还用于将所述第一节点服务器添加到保存的执行所述目标子任务失败的节点服务器的信息中。
在一种可能的实施方式中,所述处理模块301,还用于若接收到所述预设设备发送的所述第一节点服务器已被修复的消息,则在保存的执行所述目标子任务失败的节点服务器的信息中删除所述第一节点服务器。
实施例6:
在上述实施例的基础上,本申请实施例还提供了一种电子设备,图4为本申请实施例提供的一种电子设备结构示意图,如图4所示,包括:处理器41、通信接口42、存储器43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信;
存储器43中存储有计算机程序,当程序被处理器41执行时,使得处理器41执行以下步骤:
若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器;
向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
在一种可能的实施方式中,所述处理器还用于:
根据所述保存的执行所述目标定时任务失败的节点服务器的信息,以及已接收到的每个节点服务器发送的锁竞争请求,判断所述每个节点服务器中是否存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器;
若存在,则进行后续根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器的步骤。
在一种可能的实施方式中,所述处理器还用于:
确定接收到所述至少一个其他节点服务器发送的锁竞争请求的接收时间,将对应的接收时间最早的其他节点服务器确定为执行所述目标子任务的第二节点服务器。
在一种可能的实施方式中,所述处理器还用于:
确定所述目标子任务执行失败,并保存所述目标子任务执行失败的记录。
在一种可能的实施方式中,所述处理器还用于:
获取所述信息中携带的失败原因;
将所述失败原因及所述第一节点服务器对应的标识发送给预设设备,使得所述预设设备展示所述失败原因。
在一种可能的实施方式中,所述处理器还用于:
将所述第一节点服务器添加到保存的执行所述目标子任务失败的节点服务器的信息中。
在一种可能的实施方式中,所述处理器还用于:
若接收到所述预设设备发送的所述第一节点服务器已被修复的消息,则在保存的执行所述目标子任务失败的节点服务器的信息中删除所述第一节点服务器。
由于上述电子设备解决问题的原理与定时任务执行方法相似,因此上述电子设备的实施可以参见方法的实施例,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口802用于上述电子设备与其他设备之间通信。存储器可以包括随机存取存储器(RandomAccess Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。由于上述电子设备解决问题的原理与动作识别方法相似,因此上述电子设备的实施可以参见方法的实施例,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口42用于上述电子设备与其他设备之间通信。存储器可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例7:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有可由处理器执行的计算机程序,当程序在处理器上运行时,使得处理器执行时实现以下步骤:
若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器;
向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
在一种可能的实施方式中,所述根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器之前,所述方法包括:
根据所述保存的执行所述目标定时任务失败的节点服务器的信息,以及已接收到的每个节点服务器发送的锁竞争请求,判断所述每个节点服务器中是否存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器;
若存在,则进行后续根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器的步骤。
在一种可能的实施方式中,所述根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器包括:
确定接收到所述至少一个其他节点服务器发送的锁竞争请求的接收时间,将对应的接收时间最早的其他节点服务器确定为执行所述目标子任务的第二节点服务器。
在一种可能的实施方式中,若所述每个节点服务器中不存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器,所述方法还包括:
确定所述目标子任务执行失败,并保存所述目标子任务执行失败的记录。
在一种可能的实施方式中,所述接收到第一节点服务器发送的目标定时任务对应的目标定时任务执行失败的信息之后,所述方法还包括:
获取所述信息中携带的失败原因;
将所述失败原因及所述第一节点服务器对应的标识发送给预设设备,使得所述预设设备展示所述失败原因。
在一种可能的实施方式中,所述接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息之后,所述方法还包括:
将所述第一节点服务器添加到保存的执行所述目标子任务失败的节点服务器的信息中。
在一种可能的实施方式中,所述方法还包括:
若接收到所述预设设备发送的所述第一节点服务器已被修复的消息,则在保存的执行所述目标子任务失败的节点服务器的信息中删除所述第一节点服务器。
由于上述计算机可读存储介质解决问题的原理与定时任务执行方法相似,因此上述计算机可读存储介质的实施可以参见方法的实施例,重复之处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种定时任务执行方法,其特征在于,所述方法包括:
若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器;
向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
2.根据权利要求1所述的方法,其特征在于,所述根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器之前,所述方法包括:
根据所述保存的执行所述目标定时任务失败的节点服务器的信息,以及已接收到的每个节点服务器发送的锁竞争请求,判断所述每个节点服务器中是否存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器;
若存在,则进行后续根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器的步骤。
3.根据权利要求2所述的方法,其特征在于,所述根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标子任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器包括:
确定接收到所述至少一个其他节点服务器发送的锁竞争请求的接收时间,将对应的接收时间最早的其他节点服务器确定为执行所述目标子任务的第二节点服务器。
4.根据权利要求2所述的方法,其特征在于,若所述每个节点服务器中不存在除执行所述目标子任务失败的节点服务器外的至少一个其他节点服务器,所述方法还包括:
确定所述目标子任务执行失败,并保存所述目标子任务执行失败的记录。
5.根据权利要求1所述的方法,其特征在于,所述接收到第一节点服务器发送的目标定时任务对应的目标定时任务执行失败的信息之后,所述方法还包括:
获取所述信息中携带的失败原因;
将所述失败原因及所述第一节点服务器对应的标识发送给预设设备,使得所述预设设备展示所述失败原因。
6.根据权利要求1所述的方法,其特征在于,所述接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息之后,所述方法还包括:
将所述第一节点服务器添加到保存的执行所述目标子任务失败的节点服务器的信息中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若接收到所述预设设备发送的所述第一节点服务器已被修复的消息,则在保存的执行所述目标子任务失败的节点服务器的信息中删除所述第一节点服务器。
8.一种定时任务执行装置,其特征在于,所述装置包括:
处理模块,用于若接收到第一节点服务器发送的目标定时任务对应的目标子任务执行失败的信息,则根据已接收到的每个节点服务器发送的锁竞争请求、以及保存的执行所述目标定时任务失败的节点服务器的信息,确定执行所述目标子任务的第二节点服务器;
发送模块,用于向所述第二节点服务器发送执行所述目标子任务的信息,使得所述第二节点服务器执行所述目标子任务。
9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7任一所述定时任务执行方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述定时任务执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310822017.4A CN116909701A (zh) | 2023-07-05 | 2023-07-05 | 一种定时任务执行方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310822017.4A CN116909701A (zh) | 2023-07-05 | 2023-07-05 | 一种定时任务执行方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116909701A true CN116909701A (zh) | 2023-10-20 |
Family
ID=88359492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310822017.4A Pending CN116909701A (zh) | 2023-07-05 | 2023-07-05 | 一种定时任务执行方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909701A (zh) |
-
2023
- 2023-07-05 CN CN202310822017.4A patent/CN116909701A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2749339C1 (ru) | Способ управления оборудованием, кластерная система, электронное устройство и читаемый носитель данных | |
CN105468718B (zh) | 数据一致性处理方法、装置和系统 | |
CN111159233A (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN111897826A (zh) | 参数信息更新方法、装置、电子设备及可读存储介质 | |
CN110471780B (zh) | 分布式事件处理装置、终端和计算机存储介质 | |
CN108846085B (zh) | 一种id生成方法、装置、电子设备及系统 | |
CN113703929B (zh) | 一种任务调度方法、系统、计算设备和存储介质 | |
CN108108126B (zh) | 一种数据处理方法、装置及设备 | |
CN117762652A (zh) | 基于消息中间件的分布式事务的处理方法及装置 | |
CN107479962B (zh) | 一种用于任务下发的方法与设备 | |
CN116909701A (zh) | 一种定时任务执行方法、装置、设备及介质 | |
CN111338775B (zh) | 一种执行定时任务的方法及设备 | |
CN115866047B (zh) | 一种多方安全计算中的数据重定向方法、装置及电子设备 | |
CN110417597B (zh) | 用于监控证书的方法及装置、电子设备和可读存储介质 | |
CN111124631A (zh) | 一种基于区块链网络的任务处理方法及装置 | |
CN110765392A (zh) | 数据的加载方法及装置、存储介质、终端 | |
CN115437761A (zh) | 调度器的仿真方法、电子设备和存储介质 | |
CN112954008B (zh) | 一种分布式任务处理方法、装置、电子设备及存储介质 | |
CN111104223B (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
CN110008010B (zh) | 系统调用方法、装置、设备及可读存储介质 | |
CN113656374A (zh) | 带有附件的业务报文的处理方法及装置 | |
CN113419829A (zh) | 作业调度方法、装置、调度平台及存储介质 | |
CN112541810A (zh) | 业务数据的风险处置方法、装置及计算机可读存储介质 | |
CN116382870A (zh) | 一种任务调度方法、装置、设备及介质 | |
CN107967181B (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 |