CN116360955A - 一种异步任务处理方法及系统 - Google Patents
一种异步任务处理方法及系统 Download PDFInfo
- Publication number
- CN116360955A CN116360955A CN202310632243.6A CN202310632243A CN116360955A CN 116360955 A CN116360955 A CN 116360955A CN 202310632243 A CN202310632243 A CN 202310632243A CN 116360955 A CN116360955 A CN 116360955A
- Authority
- CN
- China
- Prior art keywords
- task
- module
- record
- pool
- unit
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 230000000977 initiatory effect Effects 0.000 claims abstract description 13
- 238000012217 deletion Methods 0.000 claims description 20
- 230000037430 deletion Effects 0.000 claims description 20
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
Images
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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书实施例主要涉及异步任务处理技术领域,具体为一种异步任务处理方法及系统。一种异步任务处理方法,包括以下步骤:形成任务;发起所述任务;判定所述任务是否存在任务记录,当存在任务记录时,更新对应的任务记录并对所述任务进行计时;当不存在任务记录时,新增任务记录并对所述任务进行计时;发送所述任务;接收所述任务,并将所述任务存入任务池;执行任务池中的所述任务,且当所述任务执行成功时,回传执行结果;当所述任务执行失败时,将所述任务进行回调。本说明书实施例的异步任务处理方法及系统,能够使得相同的任务在短时间内只执行完成一次;且能够自动将获取执行失败或长时间未被执行到的任务,进而避免任务丢失。
Description
技术领域
本说明书实施例主要涉及异步任务处理技术领域,具体为一种异步任务处理方法及系统。
背景技术
异步处理是非常常见的任务处理方式,其不用阻塞当前线程来等待处理完成,被广泛用于处理复杂业务场景。现有的异步任务处理方式存在以下问题:1、由于网络异常等原因,会导致任务执行失败,如果该任务没有重新发起请求,那么就会丢失,进而会导致任务不能正常完成。2、当相同的任务短时间内多次发出请求时,常会出现之前的任务还在执行或待执行中,而新的任务需要再次执行的现象,即相同的任务在短时间内不管发出多少次请求都是需要依次执行并返回执行结果的,这样会降低其他任务的执行效率。
发明内容
本说明书实施例针对现有技术存在的问题,提出了一种异步任务处理方法及系统,以解决现有异步任务处理方式下任务易丢失,且相同任务短时间内重复下发并执行的问题。
在第一方面,本说明书实施例提供了一种异步任务处理方法,包括以下步骤:
形成任务;
发起所述任务;
判定所述任务是否存在任务记录,当存在任务记录时,更新对应的任务记录并对所述任务进行计时;当不存在任务记录时,新增任务记录并对所述任务进行计时;
发送所述任务;
接收所述任务,并将所述任务存入任务池;
执行任务池中的所述任务,且当所述任务执行成功时,回传执行结果;当所述任务执行失败时,将所述任务进行回调;
接收执行结果,当接收到执行结果时,产生任务记录删除信号;
获取任务记录删除信号,当获取到任务记录删除信号时,删除对应的任务记录;
当所述任务计时达到目标定时值时,将所述任务进行超时重发。
作为优选,形成任务具体包括以下步骤:
获取数据请求;
给所述数据请求设置唯一标志码;
给所述数据请求设置最大处理时长;
将所述数据请求、唯一标志码和最大处理时长组合形成任务。
作为优选,新增任务记录并对所述任务进行计时具体包括以下步骤:
获取一记录空间;
给所述记录空间添加所述任务;
给所述记录空间配设一定时器,且所述定时器的目标定时值为所述任务的最大处理时长;
启动所述定时器。
作为优选,将所述任务存入任务池具体包括以下步骤:
将接收到的任务与任务池中的任务进行比对,当所述任务池中存在相同任务时,删除所述任务池中的对应任务并将接收到的任务存入所述任务池;当所述任务池中不存在相同任务时,将接收到的任务存入所述任务池。
作为优选,将所述任务进行回调具体包括以下步骤:
获取任务池中的对应任务,将所述任务进行第一处理以形成回调任务,发送所述回调任务;
接收所述回调任务,将所述回调任务进行第一反向处理以形成任务;
其中,将所述任务进行超时重发具体包括以下步骤:
获取任务记录中的对应任务,将所述任务进行第二处理以形成超时重发任务,发送所述超时重发任务;
接收所述超时重发任务,将所述超时重发任务进行第二反向处理以形成任务。
在第二方面,本说明书实施例提供了一种主异步任务处理系统,包括:
任务形成模块,用于形成任务;
任务发起模块,用于发起所述任务;
任务判定模块,用于判定所述任务是否存在任务记录;
任务记录模块,用于当任务判定结果为存在任务记录时,更新对应的任务记录并对所述任务进行计时;当任务判定结果为不存在任务记录时,新增任务记录并对所述任务进行计时;
任务发送模块,用于发送所述任务;
任务接收模块,用于接收所述任务;
任务存储模块,用于将接收到的所述任务存入任务池;
任务执行模块,用于执行任务池中的所述任务;
任务执行结果回传模块,用于当所述任务执行成功时,回传执行结果;
任务回调模块,用于当所述任务执行失败时,将所述任务进行回调;
任务执行结果接收模块,用于接收执行结果;
删除信号产生模块,用于当接收到执行结果时,产生任务记录删除信号;
删除信号获取模块,用于获取任务记录删除信号;
任务记录删除模块,用于当获取到任务记录删除信号时,删除对应的任务记录;
任务超时重发模块,用于当所述任务计时达到目标定时值时,将所述任务进行超时重发。
作为优选,所述任务形成模块具体包括:
数据请求获取单元,用于获取数据请求;
标志码设置单元,用于给所述数据请求设置唯一标志码;
处理时长设置单元,用于给所述数据请求设置最大处理时长;
任务形成单元,用于将所述数据请求、唯一标志码和最大处理时长组合形成任务。
作为优选,所述任务记录模块具体包括:
记录空间获取单元,用于获取一记录空间;
任务添加单元,用于给所述记录空间添加所述任务;
定时器配设单元,用于给所述记录空间配设一定时器,且所述定时器的目标定时值为所述任务的最大处理时长;
定时器启动单元,用于启动所述定时器。
作为优选,所述任务存储模块具体包括:
任务比对单元,用于将接收到的任务与任务池中的任务进行比对;
任务删除单元,用于当所述任务池中存在相同任务时,删除所述任务池中的对应任务;
任务存储单元,用于在任务池中对应任务删除之后或直接将接收到的任务存入所述任务池。
作为优选,所述任务回调模块具体包括:
第一任务获取单元,用于获取任务池中的对应任务;
第一任务处理单元,用于将所述任务进行第一处理以形成回调任务;
回调任务发送单元,用于发送所述回调任务;
所述任务形成模块还包括:
回调任务接收单元,用于接收所述回调任务;
第一任务反向处理单元,用于将所述回调任务进行第一反向处理以形成任务;
所述任务超时重发模块具体包括:
第二任务获取单元,用于获取任务记录中的对应任务;
第二任务处理单元,用于将所述任务进行第二处理以形成超时重发任务;
超时任务发送单元,用于发送所述超时重发任务;
所述任务形成模块还包括:
超时任务接收单元,用于接收所述超时重发任务;
第二任务反向处理单元,用于将所述超时重发任务进行第二反向处理以形成任务。
有益效果
本说明书实施例的异步任务处理方法及系统,能够通过唯一标志码对任务进行标记,相同的任务使用相同的唯一标志码,当相同的任务在短时间内重复下发时,最新下发的任务能够将原先下发的相同任务覆盖掉,使得相同的任务在短时间内只执行完成一次;当某一任务执行失败或长时间没有被执行到时,能够自动将获取对应任务以使对应任务能够被重新处理一遍,进而避免任务丢失。
附图说明
图1为本说明书实施例提供的异步任务处理方法的流程示意图;
图2为本说明书实施例提供的异步任务处理系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本说明书的实施例。
实施例1:一种异步任务处理方法,如图1所示,包括以下步骤:
L1.形成任务。
本实施例中的任务并不直接是用户端发起的数据请求,而是需要通过任务形成模块对用户端发起的数据请求进行处理以形成本实施例的任务。
本实施例中的步骤L1具体包括以下步骤:
L11.获取数据请求。
当用户端发起数据请求时,与用户端最近的缓存服务器组中的数据请求获取单元接收对应的数据请求。
L12.给所述数据请求设置唯一标志码。
通过缓存服务器组中的标志码设置单元给数据请求设置一个唯一标志码,相同的数据请求使用相同的唯一标志码,唯一标志码可以是一个固定长度的字符串。缓存服务器组中具有一个缓存单元,用于存储一定时间(例如,20秒)内的数据请求及对应的唯一标志码,且缓存单元中的数据请求是按接收到的先后顺序进行排序的,最新接收到的数据请求排在最前面。当缓存服务器组新接收到一个数据请求后,会将该数据请求与缓存单元中的数据请求进行比对(先与最新的数据请求进行比对,然后与次新的数据请求进行比对......最后与最旧的数据请求进行比对)。
当全部数据请求都比对完了,缓存单元中没有对应的数据请求时,为新接收到的数据请求产生一个唯一标志码,并将新接收到的数据请求及唯一标志码的副本存储到当缓存单元中。当缓存单元中有对应的数据请求时,将对应数据请求的唯一标志码作为新接收到的数据请求的唯一标志码,并将新接收到的数据请求及唯一标志码的副本存储到当缓存单元中,且当比对到有相同的数据请求时就不需要再进行比对了。
L13.给所述数据请求设置最大处理时长。
通过缓存服务器组中的处理时长设置单元给数据请求设置一个最大处理时长,相同的数据请求使用相同的最大处理时长。最大处理时长事先已经设置好几类,例如,第一类(50秒),第二类(80秒),第三类(120秒)等。处理时长设置单元能够根据数据请求的类型选择对应一类的最大处理时长。相同的数据请求的类型必然是相同的,那么对应的最大处理时长必然也是相同的。
L14.将所述数据请求、唯一标志码和最大处理时长组合形成任务。
本实施例可以将数据请求、唯一标志码和最大处理时长以打包的形式组合形成任务。
L2.发起所述任务。
本实施例在任务形成之后,立即触发对应任务。
L3.判定所述任务是否存在任务记录,当存在任务记录时,更新对应的任务记录并对所述任务进行计时;当不存在任务记录时,新增任务记录并对所述任务进行计时。
本实施例在发起任务后,需要先通过任务判定模块对任务进行判定,如果新发起的任务与任务记录模块中的任务相同,那么直接将新发起的任务替换到原先的任务记录中,然后对新发起的任务开始计时。如果新发起的任务与任务记录模块中的任务都不相同,那么给新发起的任务设置一条新的任务记录,然后对新发起的任务开始计时。
本实施例步骤L3中,新增任务记录并对所述任务进行计时具体包括以下步骤:
L31.获取一记录空间。
本实施例中,记录空间具体可以是数据记录表,一张数据记录表用于记录一个任务。
L32.给所述记录空间添加所述任务。
本实施例中,添加任务具体可以是先将任务的唯一标志码添加到数据记录表的表名称上,然后将任务的数据请求和最大处理时长添加到数据记录表中。
L33.给所述记录空间配设一定时器,且所述定时器的目标定时值为所述任务的最大处理时长。
本实施例中,配设一定时器具体可以是给数据记录表对应配设一段具有定时器功能的程序,且将定时器的目标定时值设置成与最大处理时长相同,例如,当前任务的最大处理时长是50秒,那么对应定时器的目标定时值就设置为50秒。
L34.启动所述定时器。
当定时器设置完成后就立即启动定时器开始计时。
本实施例步骤L3中,更新对应的任务记录并对所述任务进行计时具体可以是:根据任务的唯一标志码找到对应的数据记录表,然后将新发起的任务的数据请求更新到对应的数据记录表中(因为数据请求可能有微小的改动),接着将与对应数据记录表配合设置的定时器删除,并重新配设一定时器,且将新的定时器的目标定时值设置为与新发起的任务的最大处理时长相同,最后启动定时器。
L4.发送所述任务。
本实施例在定时器启动之后,就将任务发送给某一分配好的缓存服务器。
L5.接收所述任务,并将所述任务存入任务池。
对应缓存服务器在接收到任务后,需要将任务存入任务池以等待执行。
本实施例中,将所述任务存入任务池具体包括以下步骤:
L51.将接收到的任务与任务池中的任务进行比对,具体可以通过任务的唯一标志码进行比对,当两个任务的唯一标志码相同时,说明两个任务是相同的任务。
L52.当所述任务池中存在相同任务时,删除所述任务池中的对应任务并将接收到的任务存入所述任务池。当新接收到的任务与任务池中的某一任务相同时,需要先将任务池中的对应任务删除(不管任务池中的对应任务是处于正在执行状态,还是处于待执行状态),然后将新的任务存入任务池中。
L53.当所述任务池中不存在相同任务时,将接收到的任务存入所述任务池。当新接收到的任务与任务池中的任务都不相同时,直接将新接收到的任务存入任务池。
S1.执行任务池中的所述任务,且当所述任务执行成功时,回传执行结果;当所述任务执行失败时,将所述任务进行回调。
任务池中的任务会根据任务接收到的先后顺序以及任务的优先级进行排队处理,多个任务可以同时处理。当某一任务执行成功时,会产生执行结果,且执行结果中包括对应任务的唯一标志码。缓存服务器回传执行结果时,会先将执行结果发送给缓存服务器组的任务执行结果接收模块,再通过任务执行结果接收模块将执行结果转发给用户端。另外,当某一任务执行完成时,任务池中的对应任务会自动删除。
S2.接收执行结果,当接收到执行结果时,产生任务记录删除信号。
当某一任务执行成功后,缓存服务器中的任务执行结果回传模块会将执行结果发出,而缓存服务器组中的任务执行结果接收模块能够接收到执行结果,通过执行结果中的唯一标志码能够知道是哪一个任务执行成功了,并通过删除信号产生模块对该任务产生一条任务记录删除信号。任务记录删除信号具体可以是高电平加高电平加低电平加唯一标志码的组合,前面的高电平加高电平加低电平用于表示该条信号为任务记录删除信号,后面的唯一标志码用于表示是哪一个任务记录需要被删除。
S3.获取任务记录删除信号,当获取到任务记录删除信号时,删除对应的任务记录。
当任务记录删除信号产生后,缓存服务器组中的删除信号获取模块能够获取到对应的任务记录删除信号。删除信号获取模块获取到任务记录删除信号后,缓存服务器组中的任务记录删除模块能够根据任务记录删除信号中的唯一标志码找到对应的任务记录并将该任务记录删除,即将表名称与唯一标志码相同的数据记录表以及与对应数据记录表配设的定时器全部删除。
再返回步骤S1,当某一任务因为网络异常等原因执行失败时,需要将对应的任务进行回调,使得对应的任务能够重新发起并执行一遍。其中,将所述任务进行回调具体包括以下步骤:
S11.获取任务池中的对应任务,将所述任务进行第一处理以形成回调任务,发送所述回调任务。
在某一任务执行失败后,缓存服务器的任务回调模块的第一任务获取单元能够获取到执行失败的任务(包括唯一标志码,数据请求和最大处理时长),然后通过第一任务处理单元将对应任务进行处理(具体可以是在任务中添加回调码,回调码用于表示对应任务是需要回调的)以形成回调任务,最后通过回调任务发送单元将回调任务发送出去。
S12.接收所述回调任务,将所述回调任务进行第一反向处理以形成任务。
本实施例中的任务形成模块还能够通过回调任务接收单元接收回调任务,具体通过回调码来识别回调任务。当接收到回调任务后,任务形成模块的第一任务反向处理单元能够对回调任务进行反向处理(具体可以是将回调码去除)以形成普通的任务。当任务形成之后,任务发起模块就会重新发起该任务(即回到步骤L2),使得该任务能够重新处理一遍。
M1.当所述任务计时达到目标定时值时,将所述任务进行超时重发。
本实施例还存在这种情况,任务发送模块在发出任务后,因为网络异常等原因,缓存服务器的任务接收模块并没有接收到任务,那么该任务就没有被存入任务池,进而不会被执行到。为此,本实施例通过定时器对任务进行计时,当某一任务长时间没有被执行时,定时器就会计时达到目标定时值,进而会触发任务超时重发模块对该任务进行重新处理。如果任务是正常执行完成的,那么对应的任务记录会被删除,对应的定时器不会计时达到目标定时值,进而不会触发任务超时重发模块;如果任务执行失败,则会进行任务回调处理,对应的任务记录会更新(定时器会重新计时),只要接下去任务能够正常执行完成,那么也不会触发任务超时重发模块。
本实施例中将所述任务进行超时重发具体包括以下步骤:
M11.获取任务记录中的对应任务,将所述任务进行第二处理以形成超时重发任务,发送所述超时重发任务。
当某一任务的定时器达到目标定时值时,任务超时重发模块的第二任务获取单元就会获取到超时未被执行的任务(包括唯一标志码,数据请求和最大处理时长),然后通过第二任务处理单元将对应任务进行处理(具体可以是在任务中添加超时码,超时码用于表示对应任务是需要超时重发的)以形成超时重发任务,最后通过超时任务发送单元将超时重发任务发送出去。
M12.接收所述超时重发任务,将所述超时重发任务进行第二反向处理以形成任务。
本实施例中的任务形成模块还能够通过超时任务接收单元接收超时重发任务,具体通过超时码来识别超时重发任务。当接收到超时重发任务后,任务形成模块的第二任务反向处理单元能够对超时重发任务进行反向处理(具体可以是将超时码去除)以形成普通的任务。当任务形成之后,任务发起模块就会重新发起该任务(即回到步骤L2),使得该任务能够重新处理一遍。
本实施例的异步任务处理方法,能够通过唯一标志码对任务进行标记,相同的任务使用相同的唯一标志码,当相同的任务在短时间内重复下发时,最新下发的任务能够将原先下发的相同任务覆盖掉,使得相同的任务在短时间内只执行完成一次;当某一任务执行失败或长时间没有被执行到时,能够自动将获取对应任务以使对应任务能够被重新处理一遍,进而避免任务丢失。
实施例2:一种异步任务处理系统,用于执行实施例1所述的异步任务处理方法,如图2所示,所述异步任务处理系统具体包括:任务形成模块,任务发起模块,任务判定模块,任务记录模块,任务发送模块,任务接收模块,任务存储模块,任务执行模块,任务执行结果回传模块,任务回调模块,任务执行结果接收模块,删除信号产生模块,删除信号获取模块,任务记录删除模块和任务超时重发模块。
任务形成模块用于形成任务。所述任务形成模块具体包括:数据请求获取单元,标志码设置单元,处理时长设置单元和任务形成单元。数据请求获取单元用于获取数据请求。标志码设置单元用于给所述数据请求设置唯一标志码。处理时长设置单元用于给所述数据请求设置最大处理时长。任务形成单元用于将所述数据请求、唯一标志码和最大处理时长组合形成任务。
任务发起模块用于发起所述任务。任务判定模块用于判定所述任务是否存在任务记录。任务记录模块用于当任务判定结果为存在任务记录时,更新对应的任务记录并对所述任务进行计时;当任务判定结果为不存在任务记录时,新增任务记录并对所述任务进行计时。任务发送模块用于发送所述任务。所述任务记录模块具体包括:记录空间获取单元,任务添加单元,定时器配设单元和定时器启动单元。记录空间获取单元用于获取一记录空间。任务添加单元用于给所述记录空间添加所述任务。定时器配设单元用于给所述记录空间配设一定时器,且所述定时器的目标定时值为所述任务的最大处理时长。定时器启动单元用于启动所述定时器。
任务接收模块用于接收所述任务。任务存储模块用于将接收到的所述任务存入任务池。所述任务存储模块具体包括:任务比对单元,任务删除单元和任务存储单元。任务比对单元用于将接收到的任务与任务池中的任务进行比对。任务删除单元用于当所述任务池中存在相同任务时,删除所述任务池中的对应任务。任务存储单元用于在任务池中对应任务删除之后或直接将接收到的任务存入所述任务池。
任务执行模块用于执行任务池中的所述任务。任务执行结果回传模块用于当所述任务执行成功时,回传执行结果。
任务回调模块用于当所述任务执行失败时,将所述任务进行回调。所述任务回调模块具体包括:第一任务获取单元,第一任务处理单元和回调任务发送单元。第一任务获取单元用于获取任务池中的对应任务。第一任务处理单元用于将所述任务进行第一处理以形成回调任务。回调任务发送单元用于发送所述回调任务。所述任务形成模块还包括:回调任务接收单元和第一任务反向处理单元。回调任务接收单元用于接收所述回调任务。第一任务反向处理单元用于将所述回调任务进行第一反向处理以形成任务。
任务执行结果接收模块用于接收执行结果。删除信号产生模块用于当接收到执行结果时,产生任务记录删除信号。删除信号获取模块用于获取任务记录删除信号。任务记录删除模块用于当获取到任务记录删除信号时,删除对应的任务记录。
任务超时重发模块用于当所述任务计时达到目标定时值时,将所述任务进行超时重发。所述任务超时重发模块具体包括:第二任务获取单元,第二任务处理单元和超时任务发送单元。第二任务获取单元用于获取任务记录中的对应任务。第二任务处理单元用于将所述任务进行第二处理以形成超时重发任务。超时任务发送单元用于发送所述超时重发任务。所述任务形成模块还包括:超时任务接收单元和第二任务反向处理单元。超时任务接收单元用于接收所述超时重发任务。第二任务反向处理单元用于将所述超时重发任务进行第二反向处理以形成任务。
本实施例的异步任务处理系统,能够通过唯一标志码对任务进行标记,相同的任务使用相同的唯一标志码,当相同的任务在短时间内重复下发时,最新下发的任务能够将原先下发的相同任务覆盖掉,使得相同的任务在短时间内只执行完成一次;当某一任务执行失败或长时间没有被执行到时,能够自动将获取对应任务以使对应任务能够被重新处理一遍,进而避免任务丢失。
虽然附图中显示了本说明书的某些实施例,然而应当理解的是,本说明书可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本说明书。应当理解的是,本说明书的附图及实施例仅用于示例性作用,并非用于限制本说明书的保护范围。
Claims (10)
1.一种异步任务处理方法,包括以下步骤:
形成任务;
发起所述任务;
判定所述任务是否存在任务记录,当存在任务记录时,更新对应的任务记录并对所述任务进行计时;当不存在任务记录时,新增任务记录并对所述任务进行计时;
发送所述任务;
接收所述任务,并将所述任务存入任务池;
执行任务池中的所述任务,且当所述任务执行成功时,回传执行结果;当所述任务执行失败时,将所述任务进行回调;
接收执行结果,当接收到执行结果时,产生任务记录删除信号;
获取任务记录删除信号,当获取到任务记录删除信号时,删除对应的任务记录;
当所述任务计时达到目标定时值时,将所述任务进行超时重发。
2.根据权利要求1所述的异步任务处理方法,形成任务具体包括以下步骤:
获取数据请求;
给所述数据请求设置唯一标志码;
给所述数据请求设置最大处理时长;
将所述数据请求、唯一标志码和最大处理时长组合形成任务。
3.根据权利要求2所述的异步任务处理方法,新增任务记录并对所述任务进行计时具体包括以下步骤:
获取一记录空间;
给所述记录空间添加所述任务;
给所述记录空间配设一定时器,且所述定时器的目标定时值为所述任务的最大处理时长;
启动所述定时器。
4.根据权利要求2所述的异步任务处理方法,将所述任务存入任务池具体包括以下步骤:
将接收到的任务与任务池中的任务进行比对,当所述任务池中存在相同任务时,删除所述任务池中的对应任务并将接收到的任务存入所述任务池;当所述任务池中不存在相同任务时,将接收到的任务存入所述任务池。
5.根据权利要求2所述的异步任务处理方法,将所述任务进行回调具体包括以下步骤:
获取任务池中的对应任务,将所述任务进行第一处理以形成回调任务,发送所述回调任务;
接收所述回调任务,将所述回调任务进行第一反向处理以形成任务;
其中,将所述任务进行超时重发具体包括以下步骤:
获取任务记录中的对应任务,将所述任务进行第二处理以形成超时重发任务,发送所述超时重发任务;
接收所述超时重发任务,将所述超时重发任务进行第二反向处理以形成任务。
6.一种异步任务处理系统,包括:
任务形成模块,用于形成任务;
任务发起模块,用于发起所述任务;
任务判定模块,用于判定所述任务是否存在任务记录;
任务记录模块,用于当任务判定结果为存在任务记录时,更新对应的任务记录并对所述任务进行计时;当任务判定结果为不存在任务记录时,新增任务记录并对所述任务进行计时;
任务发送模块,用于发送所述任务;
任务接收模块,用于接收所述任务;
任务存储模块,用于将接收到的所述任务存入任务池;
任务执行模块,用于执行任务池中的所述任务;
任务执行结果回传模块,用于当所述任务执行成功时,回传执行结果;
任务回调模块,用于当所述任务执行失败时,将所述任务进行回调;
任务执行结果接收模块,用于接收执行结果;
删除信号产生模块,用于当接收到执行结果时,产生任务记录删除信号;
删除信号获取模块,用于获取任务记录删除信号;
任务记录删除模块,用于当获取到任务记录删除信号时,删除对应的任务记录;
任务超时重发模块,用于当所述任务计时达到目标定时值时,将所述任务进行超时重发。
7.根据权利要求6所述的异步任务处理系统,所述任务形成模块具体包括:
数据请求获取单元,用于获取数据请求;
标志码设置单元,用于给所述数据请求设置唯一标志码;
处理时长设置单元,用于给所述数据请求设置最大处理时长;
任务形成单元,用于将所述数据请求、唯一标志码和最大处理时长组合形成任务。
8.根据权利要求7所述的异步任务处理系统,所述任务记录模块具体包括:
记录空间获取单元,用于获取一记录空间;
任务添加单元,用于给所述记录空间添加所述任务;
定时器配设单元,用于给所述记录空间配设一定时器,且所述定时器的目标定时值为所述任务的最大处理时长;
定时器启动单元,用于启动所述定时器。
9.根据权利要求7所述的异步任务处理系统,所述任务存储模块具体包括:
任务比对单元,用于将接收到的任务与任务池中的任务进行比对;
任务删除单元,用于当所述任务池中存在相同任务时,删除所述任务池中的对应任务;
任务存储单元,用于在任务池中对应任务删除之后或直接将接收到的任务存入所述任务池。
10.根据权利要求7所述的异步任务处理系统,所述任务回调模块具体包括:
第一任务获取单元,用于获取任务池中的对应任务;
第一任务处理单元,用于将所述任务进行第一处理以形成回调任务;
回调任务发送单元,用于发送所述回调任务;
所述任务形成模块还包括:
回调任务接收单元,用于接收所述回调任务;
第一任务反向处理单元,用于将所述回调任务进行第一反向处理以形成任务;
所述任务超时重发模块具体包括:
第二任务获取单元,用于获取任务记录中的对应任务;
第二任务处理单元,用于将所述任务进行第二处理以形成超时重发任务;
超时任务发送单元,用于发送所述超时重发任务;
所述任务形成模块还包括:
超时任务接收单元,用于接收所述超时重发任务;
第二任务反向处理单元,用于将所述超时重发任务进行第二反向处理以形成任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310632243.6A CN116360955A (zh) | 2023-05-31 | 2023-05-31 | 一种异步任务处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310632243.6A CN116360955A (zh) | 2023-05-31 | 2023-05-31 | 一种异步任务处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116360955A true CN116360955A (zh) | 2023-06-30 |
Family
ID=86923428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310632243.6A Pending CN116360955A (zh) | 2023-05-31 | 2023-05-31 | 一种异步任务处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116360955A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608662A (zh) * | 2017-09-14 | 2018-01-19 | 深圳易嘉恩科技有限公司 | 基于MongoDB的分布式计时系统 |
CN110196765A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 定时任务处理方法、装置、设备及计算机可读存储介质 |
US20190324797A1 (en) * | 2018-04-18 | 2019-10-24 | Alibaba Group Holding Limited | Task processing method, apparatus, and system |
CN112988356A (zh) * | 2021-03-30 | 2021-06-18 | 北京大米科技有限公司 | 异步调用方法、装置、存储介质及电子设备 |
-
2023
- 2023-05-31 CN CN202310632243.6A patent/CN116360955A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608662A (zh) * | 2017-09-14 | 2018-01-19 | 深圳易嘉恩科技有限公司 | 基于MongoDB的分布式计时系统 |
US20190324797A1 (en) * | 2018-04-18 | 2019-10-24 | Alibaba Group Holding Limited | Task processing method, apparatus, and system |
CN110196765A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 定时任务处理方法、装置、设备及计算机可读存储介质 |
CN112988356A (zh) * | 2021-03-30 | 2021-06-18 | 北京大米科技有限公司 | 异步调用方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5838923A (en) | Method and system for synchronizing computer mail user directories | |
US10417180B1 (en) | Fast recovery of backup cloud gateway following crash without garbage collection | |
CN112988883B (zh) | 数据库的数据同步方法、装置以及存储介质 | |
CN106034113A (zh) | 数据处理方法及装置 | |
CN110968478A (zh) | 日志采集方法、服务器及计算机存储介质 | |
CN107548039B (zh) | 一种短消息重试处理方法及装置、系统 | |
US6560700B1 (en) | Protocol for synchronizing parallel processors in a mobile communication system | |
CN113938461B (zh) | 域名缓存解析查询方法、装置、设备及存储介质 | |
WO2024179138A1 (zh) | 消息处理方法、装置、通信设备及存储介质 | |
CN116360955A (zh) | 一种异步任务处理方法及系统 | |
CN111355765A (zh) | 一种网络请求的处理、发送方法及装置 | |
CN115809301B (zh) | 数据库处理方法、装置、电子设备及可读存储介质 | |
CN109905459B (zh) | 一种数据传输方法及装置 | |
CN110888790A (zh) | 日志管理方法及装置、电子设备、存储介质 | |
CN110971599A (zh) | 漏洞扫描方法和装置 | |
JP3304365B2 (ja) | メッセージ通信制御方法および通信システム | |
CN116781719A (zh) | 容器镜像预热方法、电子设备及存储介质 | |
CN113190281B (zh) | 一种基于rowid区间的初始化装载方法与装置 | |
CN111708780B (zh) | 分布式表格系统与分片选主方法、装置、服务器及介质 | |
CN114676149A (zh) | 一种增量数据同步方法、装置、设备及可读存储介质 | |
CN110262871B (zh) | 容器应用的容器实例启停方法、装置、计算机设备及存储介质 | |
CN112819600A (zh) | 定时任务的执行方法、装置、设备及计算机存储介质 | |
CN107844491B (zh) | 一种在分布式系统中实现强一致性读操作的方法与设备 | |
CN109194520B (zh) | 一种Trap信息处理方法及装置 | |
CN116346918B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230630 |