CN108958915A - 定时任务执行方法及装置 - Google Patents
定时任务执行方法及装置 Download PDFInfo
- Publication number
- CN108958915A CN108958915A CN201810685956.8A CN201810685956A CN108958915A CN 108958915 A CN108958915 A CN 108958915A CN 201810685956 A CN201810685956 A CN 201810685956A CN 108958915 A CN108958915 A CN 108958915A
- Authority
- CN
- China
- Prior art keywords
- timing
- task
- timed task
- generator
- list
- 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
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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
Abstract
本申请实施例提供的定时任务执行方法及装置中,定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器;所述定时任务生成器根据所述定时配置信息生成定时任务;若所述定时任务的任务类型为同步调用类型,所述定时任务生成器将所述定时任务发送至任务执行器;所述任务执行器执行所述定时任务生成器发送的定时任务。本申请实施例提供的定时任务执行方法可以在配置定时任务时,将定时任务配置成事件驱动或事件加时间条件驱动改善了现有技术中不能对事件驱动或事件加时间驱动进行很好的支持的情况。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种定时任务执行方法及装置。
背景技术
定时调度是企业级业务系统至关重要的一部分,特别是银行信息系统,业务操作量大。为了提升客户体验,最大程度减少操作人员工作量,不可避免地要求系统自动化程度越来越高。在应用里经常需要在后台定时或满足某些业务条件时自动触发批量任务,完成所需处理的业务,如定时日终跑批、定时批量支付、定时迁移历史数据等,这些都需要系统提供一个设计灵活,功能强大而且效率高,可扩展性强的定时调度装置来支撑。在满足其基本调度功能外,不会因为无效或错误数据导致主控奔溃,出现错误时可以自动重新拉起。支持快速的纵向或横向扩展,满足数据增长的性能需求。
目前主要的JAVA定时任务框架有:
Timer:定时器类,功能单一,使用简单,只支持相对延迟或周期作为定时任务调度条件,没有绝对日期或时间。
Quartz:功能强大,支持cron表达式配置,可与spring进行集成。基本能实现所有基于时间条件驱动的定时任务,但是针对事件驱动或事件+时间条件驱动的定时任务不能进行很好的支持,且定时作业不便进行细分或并发。当各服务器时差较大时,可能导致任务被重复触发。
发明内容
有鉴于此,本申请实施例提供了一种定时任务执行方法及装置。
为实现上述目的,本申请实施例提供了一种定时任务执行方法,所述方法包括:定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器;所述定时任务生成器根据所述定时配置信息生成定时任务;若所述定时任务的任务类型为同步调用类型,所述定时任务生成器将所述定时任务发送至任务执行器;所述任务执行器执行所述定时任务生成器发送的定时任务。
在本申请的一种实施例中,在所述定时任务生成器根据所述定时配置信息生成定时任务之后,所述方法还包括:若所述定时任务的任务类型为异步调用类型,所述定时任务生成器将该定时任务发送给异步调度主控。
在本申请的一种实施例中,所述定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器,包括:所述定时配置扫描器初始化定时任务线程池,以使所述定时任务线程池多线程轮询所述定时条件配置信息列表;所述定时任务线程池根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表;若所述多个定时列表中的每个定时列表的消耗时长低于预设时间段,将所述多个定时列表作为定时配置信息置入第一任务生成器线程中。
在本申请的一种实施例中,在所述定时任务线程池根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表之后,所述方法还包括:若所述多个定时列表中的第一定时列表的消耗时长超出预设时间段,生成第二任务生成器线程;将所述第一定时列表作为定时配置信息置入所述第二任务生成器线程中。
在本申请的一种实施例中,所述定时配置信息包括定时起始时间、定时结束时间以及重复执行时间间隔,所述定时任务生成器根据所述定时配置信息生成定时任务,包括:所述定时任务生成器判断当前时刻是否在待生成的任务的定时起始时间与定时结束时间范围内;若是,跳过所述待生成的任务,对所述定时列表中该待生成的任务的下一个任务进行上述判断;若否,生成所述待生成的任务。
本申请实施例还提供了一种定时任务执行装置,所述装置包括:定时配置扫描器,用于根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器;定时任务生成器,用于根据所述定时配置信息生成定时任务;定时任务生成器,若任务类型为同步调用类型,用于将所述定时任务发送至任务执行器;任务执行器,用于执行所述定时任务生成器发送的定时任务。
在本申请的一种实施例中,所述定时任务生成器还用于:若所述定时任务的任务类型为异步调用类型,将该定时任务发送给异步调度主控。
在本申请的一种实施例中,所述定时配置扫描器还用于初始化定时任务线程池,以使所述定时任务线程池多线程轮询所述定时条件配置信息列表;所述定时任务线程池用于根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表;若所述多个定时列表中的每个定时列表的消耗时长低于预设时间段,所述定时配置扫描器用于将所述多个定时列表作为定时配置信息置入第一任务生成器线程中。
在本申请的一种实施例中,若所述多个定时列表中的第一定时列表的消耗时长超出预设时间段,所述定时配置扫描器用于生成第二任务生成器线程;所述定时配置扫描器用于将所述第一定时列表作为定时配置信息置入所述第二任务生成器线程中。
在本申请的一种实施例中,所述定时任务生成器用于判断当前时刻是否在待生成的任务的定时起始时间与定时结束时间范围内;若是,所述定时任务生成器用于跳过所述待生成的任务,对所述定时列表中该待生成的任务的下一个任务进行上述判断;若否,所述定时任务生成器用于生成所述待生成的任务。
本申请实施例提供的定时任务执行方法及装置的有益效果为:
本申请实施例提供的定时任务执行方法及装置中,定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器;所述定时任务生成器根据所述定时配置信息生成定时任务;若所述定时任务的任务类型为同步调用类型,所述定时任务生成器将所述定时任务发送至任务执行器;所述任务执行器执行所述定时任务生成器发送的定时任务。本申请实施例提供的定时任务执行方法可以在配置定时任务时,将定时任务配置成事件驱动或事件加时间条件驱动改善了现有技术中不能对事件驱动或事件加时间驱动进行很好的支持的情况。
附图说明
为了更清楚的说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请第一实施例提供的定时任务执行方法的流程图;
图2是图1中步骤S110的具体步骤示意图;
图3是图1中步骤S120的具体步骤示意图;
图4示出了本申请第二实施例提供的定时任务执行装置的结构框图。
具体实施方式
第一实施例
本申请实施例提供了一种定时任务执行方法,详情请参见图1所述方法包括:
步骤S110,定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器。
定时配置扫描器是一个守护进程,负责读取用户定义的定时任务配置信息,将其加载进入内存;轮询每条配置信息,根据定时配置信息从定时任务线程池中获取线程资源,实例化定时任务生成器,完成定时任务生成。
请参见图2,图2示出了步骤S110的具体步骤流程图,具体包括如下步骤:
步骤S111,所述定时配置扫描器初始化定时任务线程池,以使所述定时任务线程池多线程轮询所述定时条件配置信息列表。
定时任务线程池是能同时启动多条线程来同时轮询定时条件配置信息列表的线程,可以在提升处理效率的同时避免资源的过度使用。若线程池已满时,暂停定时任务的处理,使线程池的大小可动态调整。
步骤S112,所述定时任务线程池根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表。
标志信息具体可以包括组件标志、有效标志、扫描间隔等。组件标志表示该定时任务在哪个集群上校验触发。有效标志表示该定时配置是否有效,若无效则不进行处理。扫描间隔表示多长时间会扫描到该定时配置表一次。
定时任务线程池获取对应服务器中的标志信息,根据标志信息从定时条件配置信息列表里获取所有满足标志信息条件的定时列表。
步骤S113,若所述多个定时列表中的每个定时列表的消耗时长低于预设时间段,将所述多个定时列表作为定时配置信息置入第一任务生成器线程中。
通常,只有校验及生成比较耗时的定时列表才需要开设新的线程来实现,大部分定时列表的处理时间都在毫秒级,因此,若定时列表的消耗时长低于预先存储的预设时间段,则可以将低于预设时间段的多个定时列表作为定时配置信息,均置入第一任务生成器线程中。
步骤S114,若所述多个定时列表中的第一定时列表的消耗时长超出预设时间段,生成第二任务生成器线程。
对于某些定时列表需要在配置过程中获取自定义参数或进行耗时较长的前置校验,这一类的定时列表的消耗时长通常会超出预设时间段,因此需要新开任务生成器线程来单独处理。
针对部分特殊的定时任务,需要传入一些与具体业务相关的参数,实现类需要实现自定义参数接口方法,将对应参数传入定时请求对象,定时任务生成器根据传入的请求对象创建对应的定时任务。
步骤S115,将所述第一定时列表作为定时配置信息置入所述第二任务生成器线程中。
因此,可以将消耗时长超过预设时间段的第一定时列表置入第二任务生成器线程中。
需要注意的是,若具有多个第一定时列表,则根据第一定时列表的数量,需要开设多个第二任务生成器线程,从而分别运行对应的第一定时列表。
步骤S120,所述定时任务生成器根据所述定时配置信息生成定时任务。
定时配置信息具体包括定时起始时间、定时结束时间、是否重复执行、重复执行时间间隔、定时年月日、组件标志、有效标志、扫描间隔、独占线程标志、定时前置条件、自定义定时参数等字段。定时任务生成器可以根据上述的定时配置信息来实现定时时间条件的控制;也可以根据cron表达式进行配置。
定时任务生成器根据传入的定时配置信息,校验定时时间条件、定时前置条件,如果该定时任务有自定义定时参数,则还需接收自定义定时参数,生成对应的定时任务至定时任务队列,包括定时任务的步骤队列信息,同时支持同步和异步两种方式,同步请求则直接调用定时任务执行器执行完成。而异步请求在生成对应的定时任务后,无需用户等待及时返回,定时任务交由定时任务异步调度器进行调度处理。定时时间条件包括定时起始时间、定时结束时间、是否重复执行、重复执行时间间隔、定时年月日等。
请参见图3,图3示出了步骤S120的具体步骤流程图,具体包括如下步骤:
步骤S121,所述定时任务生成器判断当前时刻是否在待生成的任务的定时起始时间与定时结束时间范围内,若是,执行步骤S122;若否,执行步骤S123。
定时任务生成器可以判断当前时刻是否在定时开始时间与定时结束时间组成的时间段内,若是的话,表明当前时刻已经超过了定时开始时间而且本次时间段尚未结束,则可以先判断定时列表的下一条记录,即执行步骤S122;否则,执行步骤S123。
步骤S122,跳过所述待生成的任务,对所述定时列表中该待生成的任务的下一个任务进行上述判断。
步骤S123,生成所述待生成的任务。
如果当日不允许重复,判断当前日期是否等于上次执行日期,如果相等,则直接跳过处理下一条记录,如果不相等,则时间执行条件满足;
允许重复执行,如果上次执行时间为空,则时间执行条件满足,如果不为空,则判断当前时间>=上次执行时间+时间间隔,如果满足,则继续判断其他前置条件,如果不满足,则跳过处理下一条记录;如果是第二种配置方式,则直接调用Spring自带方法解析cron表达式进行判定。
在一些具体实施方式中,还可以通过前置校验器来为定时任务配置前置条件,例如,将前置条件配置为A|B|C表示满足任一条件即可;若将前置条件配置为A&B&C,则表示A、B、C三个条件需要同时满足。
步骤S130,若所述定时任务的任务类型为同步调用类型,所述定时任务生成器将所述定时任务发送至任务执行器。
同步调用由定时任务生成器在生成对应的定时任务后,可以直接创建任务执行器的线程,发起定时任务处理。
在所述定时任务生成器根据所述定时配置信息生成定时任务之后,所述方法还包括:若所述定时任务的任务类型为异步调用类型,所述定时任务生成器将该定时任务发送给异步调度主控。
定时任务生成器生成定时任务,并将任务置入异步定时任务队列表中,然后定时任务生成器直接返回,将定时任务交由异步定时任务调度主控发起。
具体地,异步定时任务调度主控可以轮询异步定时任务队列表,根据任务状态和集群标志获取本集群需要处理的定时任务,从异步任务线程池获取线程资源,实例化定时任务执行器,进行定时任务处理。其中,任务状态是通过参数配置的,表示需要处理那些任务状态的任务。比如:待处理、待重试、暂停;集群标志就是服务器集群的名字,例如集群标志为GROUP-A的服务器只处理任务信息中带有此集群标志的任务。不同机器根据配置分别获取同时满足这两个条件的任务进行处理。
步骤S140,所述任务执行器执行所述定时任务生成器发送的定时任务。
通常地,一个任务启动一个任务执行器,可以有多个任务执行器同时处理,从而实现多个定时任务的同时处理。定时任务执行器则是定时任务的实际执行者,负责根据任务的参数信息和步骤队列,根据步骤序号,依次调用各个步骤,步骤目前支持Bean及JAVA类全路径配置。同时,定时任务执行器支持步骤间的依赖关系判断、步骤内的线程并发、步骤间的并发控制、按错误码进行异常处理机制以及事务控制。
定时任务执行器获取定时任务中尚未处理的步骤,然后按照步骤的顺序进行处理,具体可以先判断前置条件是否满足,若是,启动步骤执行器进行处理。在进行步骤处理的过程中,判断步骤处理是否异常,若任务异常,可以进行回退处理,如果返回错误处理方式为回退,则调用相关的回退处理逻辑,对业务进行回退处理;也可以进行重试处理,如果返回错误处理方式为重试,如果在最大重试次数范围内,则等待一定时间间隔后,重启发起该步骤的业务处理;如果返回的错误处理方式为无,则不进行特殊处理。若任务无异常,则在全部步骤处理完成后更新任务状态为正常结束。
具体地,任务步骤执行器根据实际业务流程场景进行配置,定时任务步骤执行器实例化具体业务处理类完成业务逻辑处理。并根据处理结果更新对应的步骤状态及时间戳。
任务步骤执行器的具体步骤包括:
获取步骤业务处理类名称。步骤业务处理类有两种配置方式:全路径类名、BeanID业务处理类需要继承统一基类实现processExecute()方法,在此方法中完成定时任务所需的具体业务逻辑处理;具体地,在步骤信息上配有对应的处理类的BeanId,根据此id实例化对应的业务处理对象,然后调用该对象的processExecute()方法,达到实现具体业务逻辑处理的目的。
获取步骤并发度。步骤可配置并发度,根据并发度开启动线程数。如并发度配置为4,则启动四个线程进行该步骤的业务处理,根据线程总数和线程序号对待处理数据进行切分,保证每个线程处理数据不重复,不缺失。
对每个线程的返回结果进行分析,根据线程返回结果更新步骤状态。多个线程中只要有失败的线程则整个步骤失败,只有当所有线程都处理成功了整个步骤才成功。
本申请第一实施例提供的定时任务执行方法除支持基于时间条件驱动的定时任务外,能很好的支持事件驱动或事件及时间条件驱动的定时任务,且定时作业可再进行细分并能灵活实现细分步骤的并发,由于统一以数据库服务器时间为基准,可有效避免由于各服务器时差较大时,导致任务被重复触发的可能性。通过简单配置修改,即可维护相关参数,且大部分参数修改后能立即生效,针对频繁的业务需求变更能够快速响应,为其提供有力支撑。
第二实施例
本申请第二实施例还提供了一种定时任务执行装置,详情请参见图4,该装置300包括:
定时配置扫描器310,用于根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器。
定时任务生成器320,用于根据所述定时配置信息生成定时任务。
定时任务生成器320,若任务类型为同步调用类型,用于将所述定时任务发送至任务执行器。
任务执行器330,用于执行所述定时任务生成器发送的定时任务。
所述定时任务生成器320还用于:若所述定时任务的任务类型为异步调用类型,将该定时任务发送给异步调度主控。
所述定时配置扫描器310还用于初始化定时任务线程池,以使所述定时任务线程池多线程轮询所述定时条件配置信息列表;所述定时任务线程池用于根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表;若所述多个定时列表中的每个定时列表的消耗时长低于预设时间段,所述定时配置扫描器310用于将所述多个定时列表作为定时配置信息置入第一任务生成器线程中。
若所述多个定时列表中的第一定时列表的消耗时长超出预设时间段,所述定时配置扫描器310用于生成第二任务生成器线程;所述定时配置扫描器310用于将所述第一定时列表作为定时配置信息置入所述第二任务生成器线程中。
所述定时任务生成器320用于判断当前时刻是否在待生成的任务的定时起始时间与定时结束时间范围内;若是,所述定时任务生成器320用于跳过所述待生成的任务,对所述定时列表中该待生成的任务的下一个任务进行上述判断;若否,所述定时任务生成器320用于生成所述待生成的任务。
第二实施例提供的定时任务执行装置与第一实施例提供的定时任务执行方法相对应,在此便不做赘述。
本申请实施例提供的定时任务执行方法及装置中,定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器;所述定时任务生成器根据所述定时配置信息生成定时任务;若所述定时任务的任务类型为同步调用类型,所述定时任务生成器将所述定时任务发送至任务执行器;所述任务执行器执行所述定时任务生成器发送的定时任务。本申请实施例提供的定时任务执行方法可以在配置定时任务时,将定时任务配置成事件驱动或事件加时间条件驱动改善了现有技术中不能对事件驱动或事件加时间驱动进行很好的支持的情况。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种定时任务执行方法,其特征在于,所述方法包括:
定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器;
所述定时任务生成器根据所述定时配置信息生成定时任务;
若所述定时任务的任务类型为同步调用类型,所述定时任务生成器将所述定时任务发送至任务执行器;
所述任务执行器执行所述定时任务生成器发送的定时任务。
2.根据权利要求1所述的方法,其特征在于,在所述定时任务生成器根据所述定时配置信息生成定时任务之后,所述方法还包括:
若所述定时任务的任务类型为异步调用类型,所述定时任务生成器将该定时任务发送给异步调度主控。
3.根据权利要求1所述的方法,其特征在于,所述定时配置扫描器根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器,包括:
所述定时配置扫描器初始化定时任务线程池,以使所述定时任务线程池多线程轮询所述定时条件配置信息列表;
所述定时任务线程池根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表;
若所述多个定时列表中的每个定时列表的消耗时长低于预设时间段,将所述多个定时列表作为定时配置信息置入第一任务生成器线程中。
4.根据权利要求3所述的方法,其特征在于,在所述定时任务线程池根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表之后,所述方法还包括:
若所述多个定时列表中的第一定时列表的消耗时长超出预设时间段,生成第二任务生成器线程;
将所述第一定时列表作为定时配置信息置入所述第二任务生成器线程中。
5.根据权利要求3所述的方法,其特征在于,所述定时配置信息包括定时起始时间、定时结束时间以及重复执行时间间隔,所述定时任务生成器根据所述定时配置信息生成定时任务,包括:
所述定时任务生成器判断当前时刻是否在待生成的任务的定时起始时间与定时结束时间范围内;
若是,跳过所述待生成的任务,对所述定时列表中该待生成的任务的下一个任务进行上述判断;
若否,生成所述待生成的任务。
6.一种定时任务执行装置,其特征在于,所述装置包括:
定时配置扫描器,用于根据定时条件配置信息列表获得定时配置信息,将所述定时配置信息发送至定时任务生成器;
定时任务生成器,用于根据所述定时配置信息生成定时任务;
定时任务生成器,若任务类型为同步调用类型,用于将所述定时任务发送至任务执行器;
任务执行器,用于执行所述定时任务生成器发送的定时任务。
7.根据权利要求6所述的装置,其特征在于,所述定时任务生成器还用于:
若所述定时任务的任务类型为异步调用类型,将该定时任务发送给异步调度主控。
8.根据权利要求6所述的装置,其特征在于,
所述定时配置扫描器还用于初始化定时任务线程池,以使所述定时任务线程池多线程轮询所述定时条件配置信息列表;
所述定时任务线程池用于根据标志信息,从所述定时条件配置信息列表获取满足所述标志信息条件的多个定时列表;
若所述多个定时列表中的每个定时列表的消耗时长低于预设时间段,所述定时配置扫描器用于将所述多个定时列表作为定时配置信息置入第一任务生成器线程中。
9.根据权利要求8所述的装置,其特征在于,
若所述多个定时列表中的第一定时列表的消耗时长超出预设时间段,所述定时配置扫描器用于生成第二任务生成器线程;
所述定时配置扫描器用于将所述第一定时列表作为定时配置信息置入所述第二任务生成器线程中。
10.根据权利要求8所述的装置,其特征在于,
所述定时任务生成器用于判断当前时刻是否在待生成的任务的定时起始时间与定时结束时间范围内;
若是,所述定时任务生成器用于跳过所述待生成的任务,对所述定时列表中该待生成的任务的下一个任务进行上述判断;
若否,所述定时任务生成器用于生成所述待生成的任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685956.8A CN108958915A (zh) | 2018-06-28 | 2018-06-28 | 定时任务执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685956.8A CN108958915A (zh) | 2018-06-28 | 2018-06-28 | 定时任务执行方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108958915A true CN108958915A (zh) | 2018-12-07 |
Family
ID=64487473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810685956.8A Pending CN108958915A (zh) | 2018-06-28 | 2018-06-28 | 定时任务执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958915A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992390A (zh) * | 2019-04-23 | 2019-07-09 | 广州裕睿信息科技有限公司 | 定时任务调度方法以及定时任务处理方法 |
CN110083712A (zh) * | 2019-03-12 | 2019-08-02 | 平安科技(深圳)有限公司 | 一种数据读取方法、系统及终端设备 |
CN110471750A (zh) * | 2019-07-12 | 2019-11-19 | 平安科技(深圳)有限公司 | 定时任务控制方法、装置、介质和计算机设备 |
CN110795225A (zh) * | 2019-10-31 | 2020-02-14 | 华夏银行股份有限公司 | 一种调度任务的执行方法及系统 |
CN111078377A (zh) * | 2019-11-29 | 2020-04-28 | 广州易方信息科技股份有限公司 | 一种线程工作方法 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862575A (zh) * | 2005-08-19 | 2006-11-15 | 华为技术有限公司 | 计划调度定时任务的方法 |
CN101166208A (zh) * | 2006-10-20 | 2008-04-23 | 北京直真节点技术开发有限公司 | 一种维护作业自动化的方法及系统 |
CN102129393A (zh) * | 2011-03-09 | 2011-07-20 | 南京恩瑞特实业有限公司 | 通用定时任务管理的实现方法 |
CN102455940A (zh) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | 一种定时器和异步事件的处理方法及系统 |
CN102981904A (zh) * | 2011-09-02 | 2013-03-20 | 阿里巴巴集团控股有限公司 | 一种任务调度方法及系统 |
CN103200247A (zh) * | 2013-03-26 | 2013-07-10 | 深圳市网信联动技术有限公司 | 一种数据下载方法和pc下载客户端 |
CN103645909A (zh) * | 2013-12-30 | 2014-03-19 | 中国烟草总公司湖南省公司 | 定时任务的处理方法及装置 |
CN104166590A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种实现任务调度的方法及系统 |
CN104283958A (zh) * | 2014-10-13 | 2015-01-14 | 宁波公众信息产业有限公司 | 一种系统任务调度方法 |
CN105072267A (zh) * | 2015-07-31 | 2015-11-18 | 努比亚技术有限公司 | 移动终端及其定时控制方法 |
CN105389209A (zh) * | 2015-12-25 | 2016-03-09 | 中国建设银行股份有限公司 | 一种异步批量任务处理方法及系统 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
US9654297B2 (en) * | 2012-06-18 | 2017-05-16 | Ologn Technologies Ag | Systems, methods and apparatuses for secure time management |
CN106844043A (zh) * | 2016-12-29 | 2017-06-13 | 北京五八信息技术有限公司 | 集群任务的处理方法和装置 |
CN107292694A (zh) * | 2016-04-12 | 2017-10-24 | 北京京东尚科信息技术有限公司 | 采购单的生成方法及系统 |
CN107544853A (zh) * | 2017-08-23 | 2018-01-05 | 万惠投资管理有限公司 | 一种与银行进行交互重试的方法和系统 |
CN107766136A (zh) * | 2017-09-30 | 2018-03-06 | 南威软件股份有限公司 | 一种任务集群调度管理的方法 |
CN107797856A (zh) * | 2017-09-27 | 2018-03-13 | 天津同阳科技发展有限公司 | 基于windows服务的计划任务管控方法、装置及存储介质 |
US20180081733A1 (en) * | 2016-09-19 | 2018-03-22 | Texas Instruments Incorporated | Bandwidth Controlled Data Synchronization for Image and Vision Processor |
CN107967595A (zh) * | 2017-10-30 | 2018-04-27 | 北京大数元科技发展有限公司 | 一种支持异步、同步计算的消息提醒方法及系统 |
-
2018
- 2018-06-28 CN CN201810685956.8A patent/CN108958915A/zh active Pending
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862575A (zh) * | 2005-08-19 | 2006-11-15 | 华为技术有限公司 | 计划调度定时任务的方法 |
CN101166208A (zh) * | 2006-10-20 | 2008-04-23 | 北京直真节点技术开发有限公司 | 一种维护作业自动化的方法及系统 |
CN102455940A (zh) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | 一种定时器和异步事件的处理方法及系统 |
CN102129393A (zh) * | 2011-03-09 | 2011-07-20 | 南京恩瑞特实业有限公司 | 通用定时任务管理的实现方法 |
CN102981904A (zh) * | 2011-09-02 | 2013-03-20 | 阿里巴巴集团控股有限公司 | 一种任务调度方法及系统 |
US9654297B2 (en) * | 2012-06-18 | 2017-05-16 | Ologn Technologies Ag | Systems, methods and apparatuses for secure time management |
CN103200247A (zh) * | 2013-03-26 | 2013-07-10 | 深圳市网信联动技术有限公司 | 一种数据下载方法和pc下载客户端 |
CN104166590A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种实现任务调度的方法及系统 |
CN103645909A (zh) * | 2013-12-30 | 2014-03-19 | 中国烟草总公司湖南省公司 | 定时任务的处理方法及装置 |
CN104283958A (zh) * | 2014-10-13 | 2015-01-14 | 宁波公众信息产业有限公司 | 一种系统任务调度方法 |
CN105072267A (zh) * | 2015-07-31 | 2015-11-18 | 努比亚技术有限公司 | 移动终端及其定时控制方法 |
CN105389209A (zh) * | 2015-12-25 | 2016-03-09 | 中国建设银行股份有限公司 | 一种异步批量任务处理方法及系统 |
CN107292694A (zh) * | 2016-04-12 | 2017-10-24 | 北京京东尚科信息技术有限公司 | 采购单的生成方法及系统 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
US20180081733A1 (en) * | 2016-09-19 | 2018-03-22 | Texas Instruments Incorporated | Bandwidth Controlled Data Synchronization for Image and Vision Processor |
CN106844043A (zh) * | 2016-12-29 | 2017-06-13 | 北京五八信息技术有限公司 | 集群任务的处理方法和装置 |
CN107544853A (zh) * | 2017-08-23 | 2018-01-05 | 万惠投资管理有限公司 | 一种与银行进行交互重试的方法和系统 |
CN107797856A (zh) * | 2017-09-27 | 2018-03-13 | 天津同阳科技发展有限公司 | 基于windows服务的计划任务管控方法、装置及存储介质 |
CN107766136A (zh) * | 2017-09-30 | 2018-03-06 | 南威软件股份有限公司 | 一种任务集群调度管理的方法 |
CN107967595A (zh) * | 2017-10-30 | 2018-04-27 | 北京大数元科技发展有限公司 | 一种支持异步、同步计算的消息提醒方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083712A (zh) * | 2019-03-12 | 2019-08-02 | 平安科技(深圳)有限公司 | 一种数据读取方法、系统及终端设备 |
CN109992390A (zh) * | 2019-04-23 | 2019-07-09 | 广州裕睿信息科技有限公司 | 定时任务调度方法以及定时任务处理方法 |
CN110471750A (zh) * | 2019-07-12 | 2019-11-19 | 平安科技(深圳)有限公司 | 定时任务控制方法、装置、介质和计算机设备 |
CN110795225A (zh) * | 2019-10-31 | 2020-02-14 | 华夏银行股份有限公司 | 一种调度任务的执行方法及系统 |
CN110795225B (zh) * | 2019-10-31 | 2022-03-29 | 华夏银行股份有限公司 | 一种调度任务的执行方法及系统 |
CN111078377A (zh) * | 2019-11-29 | 2020-04-28 | 广州易方信息科技股份有限公司 | 一种线程工作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958915A (zh) | 定时任务执行方法及装置 | |
CN104536811B (zh) | 基于hive任务的任务调度方法及装置 | |
CN103197969B (zh) | 一种分布式定时任务控制装置及方法 | |
CN106293919B (zh) | 一种时间触发的嵌入式任务调度装置与方法 | |
Yu et al. | An adaptive rescheduling strategy for grid workflow applications | |
TW406242B (en) | System and method for maximizing usage of computer resources in scheduling of application tasks | |
CN106547613B (zh) | 任务处理流程的调度及故障恢复方法 | |
CN110888721A (zh) | 一种任务调度的方法及相关装置 | |
CN105630588A (zh) | 一种分布式作业调度方法和系统 | |
CN105487924B (zh) | 一种批处理控制方法及装置 | |
Reuther et al. | Scheduler technologies in support of high performance data analysis | |
CN103365708A (zh) | 任务调度方法和装置 | |
CN1784656A (zh) | 监控数据处理系统中的操作数据 | |
CN107277171A (zh) | 一种基于quartz的可定制消息发送方法 | |
US10908963B2 (en) | Deterministic real time business application processing in a service-oriented architecture | |
CN108984267A (zh) | 工业服务器的微内核架构控制系统及工业服务器 | |
CN105912387A (zh) | 数据处理作业调度方法及装置 | |
CN107704315A (zh) | 一种基于Quartz的定时任务调度服务框架及方法 | |
CN107066339A (zh) | 分布式作业管理器及分布式作业管理方法 | |
CN109656692B (zh) | 一种大数据任务管理方法、装置、设备及存储介质 | |
CN109445929A (zh) | 一种调度任务的方法和系统 | |
CN110177146A (zh) | 一种基于异步事件驱动的非阻塞Restful通信方法、装置和设备 | |
CN112199180A (zh) | 多任务调度的方法及装置、电子设备及可读存储介质 | |
US10514949B1 (en) | Efficient data processing in a serverless environment | |
Kalayci et al. | Distributed and Adaptive Execution of Condor DAGMan Workflows. |
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 |
Application publication date: 20181207 |
|
RJ01 | Rejection of invention patent application after publication |