CN105389209B - 一种异步批量任务处理方法及系统 - Google Patents
一种异步批量任务处理方法及系统 Download PDFInfo
- Publication number
- CN105389209B CN105389209B CN201510998298.4A CN201510998298A CN105389209B CN 105389209 B CN105389209 B CN 105389209B CN 201510998298 A CN201510998298 A CN 201510998298A CN 105389209 B CN105389209 B CN 105389209B
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- processing
- batch tasks
- time
- 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.)
- Active
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种异步批量任务处理方法及系统,包括:接收异步批量任务请求,依据事件参数生成与批量任务请求对应的事件信息,依据任务类型生成与批量任务请求对应的任务信息,轮询任务队列,在查找到符合待处理条件的任务,且,具有空闲线程时,按照预设顺序,利用空闲线程,对符合待处理条件的任务发起任务执行线程,执行任务处理过程,直到任务队列中的全部任务被处理完经由上述的技术方案可知,本申请公开的异步批量任务处理方法中,批量任务以异步任务的形式进行处理,通过将批量任务生成任务队列,并在具有空闲进程时,对队列中的任务进行顺序处理,实现对批量任务的异步处理,缩短了任务处理时间,减少了用户等待时间,提升了用户体验。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种异步批量任务处理方法及系统。
背景技术
随着经济的发展,银行系统越来越广泛的进入到人们的日常生活当中,银行为服务用户,其推出的各种业务也日益繁多。这就使得银行数据处理系统需要面临庞大的数据处理任务。
而处理这些任务,则需要较长的时间,相应的,用户的等待时间就就会增长,因此,在一定程度上影响了用户体验。
如何快速有效的处理这些任务,已经成为银行数据处理系统面临的首要问题。
发明内容
有鉴于此,本申请提供了一种异步批量任务处理方法及系统,以实现快速有效处理任务的目的。
为实现上述目的,本申请提供如下技术方案:
一种异步批量任务处理方法,包括:
接收异步批量任务请求,所述请求中包含有异步批量任务中各个任务的任务类型和事件参数,依据所述事件参数生成与所述批量任务请求对应的事件信息,所述事件信息包括:包含有各个任务提交时间的时间队列,以及各个任务对应的时间参数,依据所述任务类型生成与所述批量任务请求对应的任务信息,所述任务信息包括:包含有各个任务的任务队列,以及各个任务对应的任务步骤;
轮询所述任务队列,在查找到符合待处理条件的任务,且,具有空闲线程时,按照预设顺序,利用所述空闲线程,对所述符合待处理条件的任务发起任务执行线程,执行任务处理过程,直到所述任务队列中的全部任务被处理完;
所述任务处理过程包括:查询所述符合待处理条件的任务对应的任务步骤,依照所述任务步骤对所述符合待处理条件的任务进行处理,当所述符合待处理条件的任务处理成功时,记录所述符合待处理条件的任务的开始处理时间和处理结束时间,并记录其任务状态为已处理。
优选的,所述任务处理过程还包括:
当所述符合待处理条件的任务处理不成功时,记录所述任务的状态为处理失败。
优选的,所述任务处理过程还包括:
接收暂停指令,暂停当前被处理的任务,并记录所述任务的状态为暂停。
优选的,所述接收批量任务请求包括:
接收用户实时发送的异步批量任务请求;
或;
接收符合定时发送条件时服务器发送的定时异步批量任务请求。
优选的,所述任务信息还包括:各个任务的允许开始时间、允许结束时间和优先级。
优选的,所述查找符合待处理条件的任务的过程包括:
查找任务状态为待处理、处理失败或暂停且当前时间在允许时间段内的任务为符合待处理条件的任务。
优选的,所述预设顺序包括:
将所述符合待处理条件的任务按照优先级进行排序,优先级高则优先处理;
当有多个任务为同一优先级时,按照所述任务提交时间进行排序,提交时间早的则优先处理。
优选的,所述对所述符合待处理条件的任务发起任务执行线程步骤后,还包括:
修改所述符合待处理条件的任务的状态为处理中。
优选的,所述依照所述任务步骤对所述符合待处理条件的任务进行处理的过程包括:
判断当前步骤是否可行,若可行,则判断当前步骤与其后续步骤是否可并发处理,若可以,则发起并发处理线程,并发处理所述当前步骤和后续步骤,所述并发处理线程的个数与所述当前步骤和后续步骤个数之和相同;
若所述当前步骤可行,所述当前步骤的后续步骤不可并发处理,则执行所述当前步骤;
若所述当前步骤不可行,则结束处理该任务。
一种异步批量任务处理系统,包括:
任务接收器,用于接收异步批量任务请求,所述请求中包含有异步批量任务中各个任务的任务类型和事件参数,据所述事件参数生成与所述批量任务请求对应的事件信息,所述事件信息包括:包含有各个任务提交时间的时间队列,以及各个任务对应的时间参数,依据所述任务类型生成与所述批量任务请求对应的任务信息,所述任务信息包括:包含有各个任务的任务队列,以及各个任务对应的任务步骤;
调度主控器,用于轮询所述任务队列,在查找到符合待处理条件的任务,且,具有空闲线程时,按照预设顺序,利用所述空闲线程,对所述符合待处理条件的任务发起任务执行线程,执行下述任务处理过程,直到所述任务队列中的全部任务被处理完;
任务执行器,用于查询所述符合待处理条件的任务对应的任务步骤,依照所述任务步骤对所述符合待处理条件的任务进行处理,当所述符合待处理条件的任务处理成功时,记录所述符合待处理条件的任务的开始处理时间和处理结束时间,并记录其任务状态为已处理。
经由上述的技术方案可知,本申请公开的异步批量任务处理方法中,批量任务以异步任务的形式进行处理,通过将批量任务生成任务队列,并在具有空闲进程时,对队列中的任务进行顺序处理,实现对批量任务的异步处理,缩短了任务处理时间,减少了用户等待时间,提升了用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的异步批量任务处理方法的流程图;
图2为本申请实施例公开的又一异步批量任务处理方法的流程图;
图3为本申请实施例公开的又一异步批量任务处理方法的流程图;
图4为本申请实施例公开的一种异步批量任务处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开的批量任务处理方法的流程如图1所示,包括:
步骤S101:接收异步批量任务请求,所述请求中包含有异步批量任务中各个任务的任务类型和事件参数;
在本实施例中,事件接收器接收异步批量任务请求,该请求包括由用户实时发送的异步批量任务请求,例如,在前端界面点击缴费入账,则事件接收器接收到一个任务请求,其事件参数包括:缴费到账、提交时间、提交人、缴费到账单据号、计划编码,或者,接收符合定时发送条件时,定时主控器发送的定时异步批量任务请求,例如,任务类型为每日批量的定时事件请求,事件参数包括:任务类型、提交时间、上次执行日期、上次执行时间等。
步骤S102:依据所述事件参数生成与所述批量任务请求对应的事件信息,所述事件信息包括:包含有各个任务提交时间的时间队列,以及各个任务对应的时间参数,依据所述任务类型生成与所述批量任务请求对应的任务信息,所述任务信息包括:包含有各个任务的任务队列,以及各个任务对应的任务步骤;
在接收到任务后,生成事件信息和任务信息,事件信息记录各个任务提交时间的时间队列,以及各个任务对应的时间参数,即,在哪个时间段内触发,或者,处理时间为多长。通过接收的批量任务请求中,任务的类型,查询对应的配置信息表,得到对应的一些信息,即,从该表中查到该类型的允许开始时间、允许结束时间、优先级、时间ID等,并且,生成任务列表,获得各个任务对应的任务步骤。
步骤S103:轮询所述任务队列,在查找到符合待处理条件的任务,且,具有空闲线程时,按照预设顺序,利用所述空闲线程,对所述符合待处理条件的任务发起任务执行线程,执行任务处理过程,直到所述任务队列中的全部任务被处理完。
在本实施例中,查找符合待处理条件的任务的过程包括:
查找任务状态为待处理、处理失败或暂停且当前时间在允许时间段内的任务为符合待处理条件的任务。
轮询任务队列表,如有待处理、处理失败、暂停的任务且线程池有空闲线程,则启动任务执行器线程。
在本实施例中,预设顺序为将所述符合待处理条件的任务按照优先级进行排序,优先级高则优先处理;当有多个任务为同一优先级时,按照所述任务提交时间进行排序,提交时间早的则优先处理。
轮询任务队列表,当前时间在允许时间段内的任务,按任务类型的优先级、任务提交时间进行排序,先处理允许时间段内优先级别高的任务类型,然后处理优先级别低的任务类型查询可执行任务列表,同一优先级按任务按提交时间排序进行处理。如有可执行任务,则依次处理每条任务,只要线程池中有空闲线程,则为该任务发起任务执行线程。
在此之后,还包括:修改所述符合待处理条件的任务的状态为处理中。将正在被处理的任务的状态,修改为处理中。
在上述实施例中,任务处理过程的流程如图2所示,包括:
步骤S201:查询所述符合待处理条件的任务对应的任务步骤;
步骤S202:依照所述任务步骤对所述符合待处理条件的任务进行处理;
步骤S203:当所述符合待处理条件的任务处理成功时,记录所述符合待处理条件的任务的开始处理时间和处理结束时间,并记录其任务状态为已处理。
进一步的,该处理过程还包括:
当所述符合待处理条件的任务处理不成功时,记录所述任务的状态为处理失败。
在处理失败时,记录失败的原因或者错误代码,以及错误描述。
以及,该处理过程还包括:接收暂停指令,暂停当前被处理的任务,并记录所述任务的状态为暂停。
通过上述步骤,记录任务在处理过程中的信息,以及任务的状态。
经由上述的技术方案可知,本申请公开的批量任务处理方法中,批量任务以异步任务的形式进行处理,通过将批量任务生成任务队列,并在具有空闲进程时,对队列中的任务进行顺序处理,实现对批量任务的异步处理,缩短了任务处理时间,减少了用户等待时间,提升了用户体验。
在本申请实施例中,定时异步批量任务请求由定时主控根据定时任务参数表来生成,主要产生以下两类定时任务:
1)通过业务规则判断,过滤生成具体实现的任务
例如,自动成交汇总:参考下表,在定时配置中,对应有一条自动成交汇总的配置。定时主控根据该配置定时(每日8:00)生成“自动成交汇总”的任务,在异步任务调度主控制器执行该任务时,通过业务规则判断,过滤生成每个计划对应的成交汇总任务。
2)具体实现的任务
例如,日终处理:参考下表1,在定时配置中,对应有一条日终处理的配置。定时主控根据该配置在定时时间或定时时间段内生成一条或多条(判断是否重复标志)“日终处理”的任务,异步任务调度主控制器执行该任务,进行具体日终业务逻辑处理。
定时任务参数表中的配置:
表1
发送定时任务的具体处理流程如下:
定时主控器轮询定时任务参数表,如果有定时任务记录,则判断日终任务是否正在处理,避免与日终任务产生资源竞争,等待日终任务完成后,开始处理每条定时业务类型记录。
对于每一条定时任务记录,首先需要判断当前时间是否在该定时任务记录的定时开始时间和定时结束时间内,如果不在,则直接跳过该定时任务记录,处理下一条定时任务记录。
如果当前时间在该定时任务记录的定时开始时间和定时结束时间内,则判断该定时任务类型是否允许重复执行。如果不允许重复,判断当前日期是否等于上次执行日期,如果相等,则证明该定时任务请求已经被发送过,则直接跳过该定时任务,处理下一条记录,如果不相等,则根据定时任务类型发送定时业务请求;如果允许重复,如果上次执行时间为空,说明还没有被发送过,则直接根据定时任务类型发送定时业务请求,如果不为空,说明已经被发送过该定时任务的请求,则判断当前时间>=等于上次执行时间+预设时间间隔,如果满足,则根据定时任务类型发送定时业务请求,如果不满足,则跳过该定时任务,处理下一条定时任务记录。
在上述实施例中,依照所述任务步骤对所述符合待处理条件的任务进行处理的过程如图3所示,包括:
步骤S301:判断当前步骤是否可行,若可行,则执行步骤S302,若不可行,则执行步骤S307;
判断当前步骤是否可行主要是看,当前步骤的依赖步骤是否已经执行成功,或者,当前步骤被执行的条件是否都满足。
步骤S302:判断当前步骤与其后续步骤是否可并发处理,若可以,则执行步骤S303,若不可以,则执行步骤S304;
如果该步骤的后续步骤无依赖步骤或依赖步骤已完成,则根据后续步骤数并发多个步骤执行器,处理后续步骤。
步骤S303:发起并发处理线程,并发处理所述当前步骤和后续步骤;
根据该步骤配置的并发数实例化多个业务处理器来处理当前步骤和后续步骤,假设后续步骤有4个,再加上当前步骤的个数1,则并发5个步骤执行器。
步骤S304:执行所述当前步骤,然后执行步骤S305;
由一个业务处理器来执行具体的业务逻辑处理。
步骤S305:判断是否还有未执行步骤,若有,则执行步骤S306,若否,则执行步骤S307;
步骤S306:选择下一步骤作为当前步骤,返回执行步骤S301;
步骤S307:结束处理该任务。
在当前步骤和后续步骤不能并发处理时,业务处理器执行当前步骤,并且,可在执行结束后,返回执行成功。若执行失败,则返回该步骤执行失败。步骤执行器记录步骤执行失败的原因,或者错误码,以明确是什么原因造成的失败。以便于后续可以针对失败原因通过修改参数等方式,消除影响,使得步骤能够正常处理,任务能够顺利执行。
在并发处理当前步骤和后续步骤时,步骤执行器需要等待并发的步骤都处理完成后,再判断并发处理是否成功,只有当所有的并发步骤的业务处理器都返回执行成功,步骤执行器才能记录步骤的状态为成功,而只要有一个步骤执行失败,则所有并发步骤的状态均为失败,如果后续重新执行,则需要并发执行所有的步骤。
具体的,可以通过在每个步骤中配置是否允许多线程并发“thread_size”的标志来控制;该标志为数字,表示用多少线程并发处理该步骤,大于1时表示为多线程;并发时,每个线程读待处理步骤中间表中不同的未处理的记录,根据线程数取余,处理记录=记录序号%线程数。如任务表中100000条记录(记录序号1-100000),3个线程并发处理,则线程1处理记录1、4、7、10……。线程2处理2、5、8、11……,线程3处理记录3、6、9、12……,每个线程每处理完1万条记录提交一次事物。
如果在执行顺序处理,或者并发处理时,某一个业务处理器被暂停,则其执行的步骤被暂停,返回暂停的状态。
只有当一个任务的所有步骤都执行成功时,该任务的状态才能被修改为处理成功。
本申请同时公开了一种异步批量任务处理系统,其结构如图4所示,包括:
任务接收器401,用于接收异步批量任务请求,所述请求中包含有异步批量任务中各个任务的任务类型和事件参数,据所述事件参数生成与所述批量任务请求对应的事件信息,所述事件信息包括:包含有各个任务提交时间的时间队列,以及各个任务对应的时间参数,依据所述任务类型生成与所述批量任务请求对应的任务信息,所述任务信息包括:包含有各个任务的任务队列,以及各个任务对应的任务步骤;
调度主控器402,用于轮询所述任务队列,在查找到符合待处理条件的任务,且,具有空闲线程时,按照预设顺序,利用所述空闲线程,对所述符合待处理条件的任务发起任务执行线程,执行下述任务处理过程,直到所述任务队列中的全部任务被处理完;
任务执行器403,用于查询所述符合待处理条件的任务对应的任务步骤,依照所述任务步骤对所述符合待处理条件的任务进行处理,当所述符合待处理条件的任务处理成功时,记录所述符合待处理条件的任务的开始处理时间和处理结束时间,并记录其任务状态为已处理。
进一步的,在本实施例中,任务执行器中包含有步骤执行器4031和至少一个业务处理器4032,所述步骤执行器判断当前步骤是否可行,若可行,则判断当前步骤与其后续步骤是否可并发处理,若可以,则触发与步骤个数相同的业务处理器4032来发起并发处理线程,并发处理所述当前步骤和后续步骤,所述并发处理线程的个数与所述当前步骤和后续步骤个数之和相同;若所述当前步骤可行,所述当前步骤的后续步骤不可并发处理,则执行所述当前步骤;若所述当前步骤不可行,则结束处理该任务。
在当前步骤和后续步骤不能并发处理时,业务处理器执行当前步骤,并且,可在执行结束后,返回执行成功。若执行失败,则返回该步骤执行失败。
在并发处理当前步骤和后续步骤时,步骤执行器4031需要等待并发的步骤都处理完成后,再判断并发处理是否成功,只有当所有的并发步骤的业务处理器4032都返回执行成功,步骤执行器4031才能记录步骤的状态为成功,而只要有一个步骤执行失败,则所有并发步骤的状态均为失败,如果后续重新执行,则需要并发执行所有的步骤。
如果在执行顺序处理,或者并发处理时,某一个业务处理器4032被暂停,则其执行的步骤被暂停,返回暂停的状态。
只有当一个任务的所有步骤都执行成功时,该任务的状态才能被修改为处理成功。
在本实施例中,任务接收器401接收的请求包括由用户实时发送的异步批量任务请求,也可以接收符合定时发送条件时,定时主控器404发送的定时异步批量任务请求。
进一步的,在本申请公开的实施例中,该系统可以包括多个调度主控器402,同时对任务队列进行轮询处理。为了避免调度主控器402处理同一个主任务,通过主任务表中的任务状态和时间戳来控制,如线程1和线程2同时获取任务A,同时获取到A任务的任务主键和时间戳,如线程1根据任务主键和时间戳去更新该任务的状态为”处理中”,时间戳为当前更新时间;然后线程2再根据原有任务主键和时间戳去更新任务状态及时间戳,会更新不到对应的记录,因为时间戳已发生变化。从而避免不同的线程处理同一个批量任务。
经由上述的技术方案可知,本申请公开的批量任务处理系统中,批量任务以异步任务的形式进行处理,通过将批量任务生成任务队列,调度主控器在具有空闲进程时,对队列中的任务进行顺序处理,实现对批量任务的异步处理,缩短了任务处理时间,减少了用户等待时间,提升了用户体验。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种异步批量任务处理方法,其特征在于,包括:
接收异步批量任务请求,所述请求中包含有异步批量任务中各个任务的任务类型和事件参数,依据所述事件参数生成与所述批量任务请求对应的事件信息,所述事件信息包括:包含有各个任务提交时间的时间队列,以及各个任务对应的时间参数,依据所述任务类型生成与所述批量任务请求对应的任务信息,所述任务信息包括:包含有各个任务的任务队列,以及各个任务对应的任务步骤;
轮询所述任务队列,在查找到符合待处理条件的任务,且,具有空闲线程时,按照预设顺序,利用所述空闲线程,对所述符合待处理条件的任务发起任务执行线程,执行任务处理过程,直到所述任务队列中的全部任务被处理完;
所述任务处理过程包括:查询所述符合待处理条件的任务对应的任务步骤,依照所述任务步骤对所述符合待处理条件的任务进行处理,当所述符合待处理条件的任务处理成功时,记录所述符合待处理条件的任务的开始处理时间和处理结束时间,并记录其任务状态为已处理;
所述依照所述任务步骤对所述符合待处理条件的任务进行处理的过程包括:
判断当前步骤是否可行,若可行,则判断当前步骤与其后续步骤是否可并发处理,若可以,则发起并发处理线程,并发处理所述当前步骤和后续步骤,所述并发处理线程的个数与所述当前步骤和后续步骤个数之和相同;
若所述当前步骤可行,所述当前步骤的后续步骤不可并发处理,则执行所述当前步骤;
若所述当前步骤不可行,则结束处理该任务。
2.根据权利要求1所述的方法,其特征在于,所述任务处理过程还包括:
当所述符合待处理条件的任务处理不成功时,记录所述任务的状态为处理失败。
3.根据权利要求2所述的方法,其特征在于,所述任务处理过程还包括:
接收暂停指令,暂停当前被处理的任务,并记录所述任务的状态为暂停。
4.根据权利要求3所述的方法,其特征在于,所述接收批量任务请求包括:
接收用户实时发送的异步批量任务请求;
或;
接收符合定时发送条件时服务器发送的定时异步批量任务请求。
5.根据权利要求4所述的方法,其特征在于,所述任务信息还包括:各个任务的允许开始时间、允许结束时间和优先级。
6.根据权利要求5所述的方法,其特征在于,所述查找符合待处理条件的任务的过程包括:
查找任务状态为待处理、处理失败或暂停且当前时间在允许时间段内的任务为符合待处理条件的任务。
7.根据权利要求6所述的方法,其特征在于,所述预设顺序包括:
将所述符合待处理条件的任务按照优先级进行排序,优先级高则优先处理;
当有多个任务为同一优先级时,按照所述任务提交时间进行排序,提交时间早的则优先处理。
8.根据权利要求7所述的方法,其特征在于,所述对所述符合待处理条件的任务发起任务执行线程步骤后,还包括:
修改所述符合待处理条件的任务的状态为处理中。
9.一种异步批量任务处理系统,其特征在于,包括:
任务接收器,用于接收异步批量任务请求,所述请求中包含有异步批量任务中各个任务的任务类型和事件参数,据所述事件参数生成与所述批量任务请求对应的事件信息,所述事件信息包括:包含有各个任务提交时间的时间队列,以及各个任务对应的时间参数,依据所述任务类型生成与所述批量任务请求对应的任务信息,所述任务信息包括:包含有各个任务的任务队列,以及各个任务对应的任务步骤;
调度主控器,用于轮询所述任务队列,在查找到符合待处理条件的任务,且,具有空闲线程时,按照预设顺序,利用所述空闲线程,对所述符合待处理条件的任务发起任务执行线程,执行下述任务处理过程,直到所述任务队列中的全部任务被处理完;
任务执行器,用于查询所述符合待处理条件的任务对应的任务步骤,依照所述任务步骤对所述符合待处理条件的任务进行处理,当所述符合待处理条件的任务处理成功时,记录所述符合待处理条件的任务的开始处理时间和处理结束时间,并记录其任务状态为已处理;
任务执行器中包含有步骤执行器和至少一个业务处理器,所述步骤执行器判断当前步骤是否可行,若可行,则判断当前步骤与其后续步骤是否可并发处理,若可以,则触发与步骤个数相同的业务处理器来发起并发处理线程,并发处理所述当前步骤和后续步骤,所述并发处理线程的个数与所述当前步骤和后续步骤个数之和相同;若所述当前步骤可行,所述当前步骤的后续步骤不可并发处理,则执行所述当前步骤;若所述当前步骤不可行,则结束处理该任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510998298.4A CN105389209B (zh) | 2015-12-25 | 2015-12-25 | 一种异步批量任务处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510998298.4A CN105389209B (zh) | 2015-12-25 | 2015-12-25 | 一种异步批量任务处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105389209A CN105389209A (zh) | 2016-03-09 |
CN105389209B true CN105389209B (zh) | 2019-04-26 |
Family
ID=55421516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510998298.4A Active CN105389209B (zh) | 2015-12-25 | 2015-12-25 | 一种异步批量任务处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389209B (zh) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239326A (zh) * | 2016-03-28 | 2017-10-10 | 平安科技(深圳)有限公司 | 承保多线程批处理方法和系统 |
CN105959346A (zh) * | 2016-04-19 | 2016-09-21 | 中国银联股份有限公司 | 基于服务器集群的数据处理系统及方法 |
CN105912386A (zh) * | 2016-05-03 | 2016-08-31 | 深圳市永兴元科技有限公司 | 线程管理方法及系统 |
CN106055315A (zh) * | 2016-05-19 | 2016-10-26 | 乐视控股(北京)有限公司 | 批量任务的处理方法及系统 |
CN107491346B (zh) * | 2016-06-12 | 2021-03-12 | 阿里巴巴集团控股有限公司 | 一种应用的任务处理方法、装置及系统 |
CN106095554B (zh) * | 2016-06-17 | 2019-08-23 | 中国银行股份有限公司 | 在日间联机阶段进行批量数据处理的方法及装置 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
CN106095585B (zh) * | 2016-06-22 | 2019-08-30 | 中国建设银行股份有限公司 | 任务请求处理方法、装置和企业信息系统 |
CN107678840B (zh) * | 2016-08-01 | 2021-08-24 | 百度在线网络技术(北京)有限公司 | 用于运行任务的系统、方法和装置 |
CN108009005A (zh) * | 2016-10-31 | 2018-05-08 | 北京优朋普乐科技有限公司 | 一种线程池管理方法及装置 |
CN108090731B (zh) * | 2016-11-23 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及设备 |
CN108615136B (zh) * | 2016-12-13 | 2022-04-19 | 中国地质调查局发展研究中心 | 任务流程控制方法及系统 |
CN106681840A (zh) * | 2016-12-30 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种云操作系统的任务调度方法及装置 |
CN106648874B (zh) * | 2016-12-30 | 2020-05-22 | 中国建设银行股份有限公司 | 一种批量任务的处理方法及装置 |
CN107015855B (zh) * | 2017-03-14 | 2020-10-30 | 微梦创科网络科技(中国)有限公司 | 一种支持时间策略的异步服务集中调度方法及装置 |
CN108733476B (zh) * | 2017-04-20 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 一种执行多任务的方法和装置 |
CN107273190A (zh) * | 2017-05-19 | 2017-10-20 | 武汉票据交易中心有限公司 | 一种批量定时业务处理方法和系统 |
CN107797854B (zh) * | 2017-06-26 | 2020-08-11 | 平安科技(深圳)有限公司 | 交易文件处理方法、装置、存储介质和计算机设备 |
CN108427599A (zh) * | 2017-09-30 | 2018-08-21 | 平安科技(深圳)有限公司 | 异步任务统一处理方法、装置及存储介质 |
CN108108463B (zh) * | 2017-12-29 | 2021-08-24 | 北京奇虎科技有限公司 | 基于时间片调度的同步任务处理方法及装置 |
CN108363617B (zh) * | 2018-01-04 | 2021-06-22 | 郑州云海信息技术有限公司 | 一种ssr上的离线清单异步导入方法 |
CN108509271A (zh) * | 2018-03-21 | 2018-09-07 | 四川斐讯信息技术有限公司 | 一种数据处理方法及系统 |
CN108920261B (zh) * | 2018-05-23 | 2020-03-24 | 中国航天系统科学与工程研究院 | 一种适于大规模并行数据处理任务的两级自适应调度方法 |
CN108958915A (zh) * | 2018-06-28 | 2018-12-07 | 中国建设银行股份有限公司 | 定时任务执行方法及装置 |
CN110807047A (zh) * | 2018-07-20 | 2020-02-18 | 富士通株式会社 | 管理信息处理任务的有效性的方法和装置 |
CN109358917A (zh) * | 2018-08-23 | 2019-02-19 | 贵阳朗玛信息技术股份有限公司 | 一种通用异步任务执行方法及装置 |
CN109308219B (zh) * | 2018-08-23 | 2021-08-10 | 创新先进技术有限公司 | 任务处理方法、装置及分布式计算机系统 |
CN109359189A (zh) * | 2018-10-25 | 2019-02-19 | 广州力挚网络科技有限公司 | 一种搜索结果生成方法与装置 |
CN109598603B (zh) * | 2018-10-26 | 2023-07-25 | 创新先进技术有限公司 | 一种开户任务处理方法及开户服务系统 |
CN109669720B (zh) * | 2018-11-22 | 2022-05-10 | 北京字节跳动网络技术有限公司 | 基于Promise的链式异步请求处理方法、装置及电子设备 |
CN109828853B (zh) * | 2019-01-28 | 2020-12-01 | 车轮互联科技(上海)股份有限公司 | 用于社区的内容发布处理方法及装置、服务器 |
CN109800074A (zh) * | 2019-02-21 | 2019-05-24 | 北京致远互联软件股份有限公司 | 任务数据并发执行方法、装置以及电子设备 |
CN110083442B (zh) * | 2019-03-18 | 2021-12-07 | 咪咕文化科技有限公司 | 一种用户任务的操作方法、服务器及可存储介质 |
CN110232092B (zh) * | 2019-04-26 | 2023-08-01 | 平安科技(深圳)有限公司 | 一种基于数据处理的批量数据异步解决方法及相关设备 |
CN110297711B (zh) * | 2019-05-16 | 2024-01-19 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN110221927B (zh) * | 2019-06-03 | 2021-11-09 | 中国工商银行股份有限公司 | 异步消息处理方法和装置 |
CN112231073A (zh) * | 2019-07-15 | 2021-01-15 | 上海哔哩哔哩科技有限公司 | 一种分布式任务调度方法及其装置 |
CN110990132B (zh) * | 2019-11-01 | 2023-03-10 | 浙江大搜车软件技术有限公司 | 异步任务处理方法、装置、计算机设备和存储介质 |
CN110806933B (zh) * | 2019-11-05 | 2022-06-10 | 中国建设银行股份有限公司 | 一种批量任务处理方法、装置、设备和存储介质 |
CN111045932B (zh) * | 2019-11-25 | 2023-06-16 | 杭州网易再顾科技有限公司 | 业务系统仿真处理方法、装置、电子设备及存储介质 |
CN111080342A (zh) * | 2019-11-27 | 2020-04-28 | 京东数字科技控股有限公司 | 资源的分配方法和装置、存储介质、电子装置 |
CN111414198B (zh) * | 2020-03-18 | 2023-05-02 | 北京字节跳动网络技术有限公司 | 一种请求处理方法及装置 |
CN111459638B (zh) * | 2020-04-01 | 2023-07-07 | 广东三维家信息科技有限公司 | 主线程等待时间确定方法及装置 |
CN112486654A (zh) * | 2020-12-08 | 2021-03-12 | 浙江诺诺网络科技有限公司 | 一种异步慢任务调度方法、装置、设备及介质 |
CN112788115A (zh) * | 2020-12-30 | 2021-05-11 | 银盛支付服务股份有限公司 | 一种基于异步处理的文件传输方法及系统 |
CN112887446B (zh) * | 2021-01-22 | 2023-07-18 | 北京金山云网络技术有限公司 | 域名处理方法、装置和域名服务器 |
CN113051019A (zh) * | 2021-03-31 | 2021-06-29 | 北京和信融慧信息科技有限公司 | 流程任务执行管控方法、装置以及设备 |
CN113391857A (zh) * | 2021-07-12 | 2021-09-14 | 上海哔哩哔哩科技有限公司 | 指令处理方法及装置 |
CN114567625B (zh) * | 2022-03-01 | 2024-07-05 | 上海创远仪器技术股份有限公司 | 基于安卓Http服务的无线电监测设备控制处理系统、方法、装置、处理器及其存储介质 |
CN115168354B (zh) * | 2022-07-11 | 2023-06-30 | 广州市玄武无线科技股份有限公司 | 一种关于移动端事件流的集成处理方法及装置 |
CN116932252B (zh) * | 2023-09-18 | 2024-01-26 | 北京冠群信息技术股份有限公司 | 一种基于批量数据导入流水线的异步任务补偿方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882161A (zh) * | 2010-06-23 | 2010-11-10 | 中国工商银行股份有限公司 | 应用级异步任务调度系统和方法 |
CN102393822A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 批量调度系统及方法 |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
CN104216785A (zh) * | 2014-08-26 | 2014-12-17 | 烽火通信科技股份有限公司 | 通用策略任务系统及其实现方法 |
CN104407922A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种异步批处理调度方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181522A1 (en) * | 2003-01-16 | 2004-09-16 | Jardin Cary A. | Shared memory router system and method for node communication in a distributed system |
CN102508716B (zh) * | 2011-09-29 | 2015-04-15 | 用友软件股份有限公司 | 任务控制装置和任务控制方法 |
-
2015
- 2015-12-25 CN CN201510998298.4A patent/CN105389209B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882161A (zh) * | 2010-06-23 | 2010-11-10 | 中国工商银行股份有限公司 | 应用级异步任务调度系统和方法 |
CN102393822A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 批量调度系统及方法 |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
CN104216785A (zh) * | 2014-08-26 | 2014-12-17 | 烽火通信科技股份有限公司 | 通用策略任务系统及其实现方法 |
CN104407922A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种异步批处理调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105389209A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389209B (zh) | 一种异步批量任务处理方法及系统 | |
US9477521B2 (en) | Method and system for scheduling repetitive tasks in O(1) | |
CN106293919B (zh) | 一种时间触发的嵌入式任务调度装置与方法 | |
CN101567013B (zh) | 一种etl调度的实现方法及装置 | |
EP3008594B1 (en) | Assigning and scheduling threads for multiple prioritized queues | |
CN106126354A (zh) | 一种异步批量处理方法及系统 | |
CN106557369A (zh) | 一种多线程的管理方法及系统 | |
CN103092682A (zh) | 异步网络应用程序处理方法 | |
CN102096603A (zh) | MapReduce系统中的作业分解控制方法及调度节点设备 | |
CN113971519B (zh) | 一种机器人调度方法、装置、电子设备和存储介质 | |
EP3147785B1 (en) | Task processing method and device | |
JP5605131B2 (ja) | ジョブスケジューリングプログラム,方法,および装置 | |
CN112148480A (zh) | 基于多线程的任务处理方法、装置、设备及存储介质 | |
CN117785431B (zh) | 任务调度分配方法、装置、电子设备及存储介质 | |
KR20130041540A (ko) | 코루틴을 이용하여 원격 프로시저 호출 서비스를 제공하는 방법 및 장치 | |
CN107544844A (zh) | 一种提升Spark运行效能的方法及装置 | |
Boudjadar et al. | Compositional schedulability analysis of an avionics system using UPPAAL | |
CN108509264B (zh) | 超时任务调度系统及方法 | |
CN107479962B (zh) | 一种用于任务下发的方法与设备 | |
Naghibzadeh | A modified version of rate-monotonic scheduling algorithm and its' efficiency assessment | |
CN108845870B (zh) | 一种基于pWCET整形的概率性实时任务调度方法 | |
KR100848323B1 (ko) | 임베디드 운영체제 커널의 실시간 성능을 향상시키는 방법 | |
CN109829005A (zh) | 一种大数据处理方法及装置 | |
CN111177232B (zh) | 一种数据处理方法、装置、系统和存储介质 | |
CN114327906A (zh) | 批量任务的处理方法及其装置、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |