一种批处理任务调度方法及装置制造方法及图纸

技术编号:15541174 阅读:52 留言:0更新日期:2017-06-05 10:42
本申请提供了一种批处理任务调度方法及装置,批处理任务调度方法及装置应用于任务调度框架Quartz服务器,批处理任务调度方法包括:扫描登记记录表,将所述登记记录表中的每条定义分别生成任务调度标识;将生成的各个任务调度标识注册到批处理框架Spring Batch的任务仓库中,以建立各个任务调度标识与批处理框架Spring Batch的任务仓库中批处理任务逻辑的对应关系;按照各个任务调度标识对应的任务执行频率或周期,调度执行批处理框架Spring Batch的任务仓库中各个任务调度标识对应的批处理任务逻辑。在本申请中,通过以上方式提高了调度执行批处理任务的效率。

Batch processing task scheduling method and device

The invention provides a method and apparatus for batch scheduling, batch task scheduling method and device used in task scheduling framework of Quartz server, including batch task scheduling methods: register table scan, the registration records of each definition table respectively into task scheduling of each task scheduling registration identification; identification the Spring Batch framework to a batch of tasks in the warehouse, in order to establish each task scheduling and batch identification task warehouse processing framework of Spring in Batch group correspondence processing task logic; according to each task scheduling corresponds to task execution frequency or period, batch job scheduling execution of each task batch logic framework Spring Batch task scheduling in identifying the corresponding warehouse. In this application, the scheduling execution efficiency of the batch task is improved by the method described above.

【技术实现步骤摘要】
一种批处理任务调度方法及装置
本申请涉及软件领域,特别涉及一种批处理任务调度方法及装置。
技术介绍
在现代企业应用当中,面对复杂的业务以及海量的数据,除了通过庞杂的人机交互界面进行各种处理外,还有一种处理方式,即批处理,批处理不需要人工干预,只需要定期读入大批量数据,然后完成相应业务处理并进行归档。批处理方式作为现代企业应用当中不可或缺的数据处理方式,如何高效的执行批处理任务成为问题。
技术实现思路
为解决上述技术问题,本申请实施例提供一种批处理任务调度方法及装置,以达到提高调度执行批处理任务的效率的目的,技术方案如下:一种批处理任务调度方法,应用于任务调度框架Quartz服务器,所述方法包括:扫描登记记录表,将所述登记记录表中的每条定义分别生成任务调度标识,所述登记记录表中的每条定义包括批处理任务逻辑的索引、执行任务类型、任务执行周期或频率;将生成的各个任务调度标识注册到批处理框架SpringBatch的任务仓库中,以建立各个所述任务调度标识与所述批处理框架SpringBatch的任务仓库中批处理任务逻辑的对应关系;按照各个所述任务调度标识对应的任务执行频率或周期,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑。优选的,在所述任务调度标识对应的批处理任务逻辑为周期性的批处理任务逻辑的情况下,按照各个所述任务调度标识对应的任务执行频率或周期,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑之后,还包括:生成所述周期性的批处理任务逻辑的下一次执行时间,并针对所述周期性的批处理任务逻辑生成一条单独的任务实例,并标注所述单独的任务实例的执行时间、计划开始执行时间、实际开始执行时间和实际结束执行时间;在所述登记记录表中设置标志位,用于存储所述单独的任务实例的执行状态。优选的,在所述任务调度标识对应的批处理任务逻辑为遇到节假日需要特殊处理的任务、每N(N>1)日/周执行的任务、每个执行日可能执行多次的任务或月末执行的任务的情况下,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑,包括:在每天的预设时刻判断当日是否是执行日;若当日是执行日,则执行父任务,以判断是否应该预约子任务,所述子任务为所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑中的某一个批处理任务逻辑;若应该预约子任务,则预约所述子任务;若不应该预约子任务,则不预约所述子任务。优选的,判断是否应该预约子任务,包括:判断预约日期是否为节假日,得到第一判断结果;判断所述预约日期是否为执行日,得到第二判断结果;根据所述第一判断结果和所述第二判断结果确定是否预约所述子任务。一种批处理任务调度装置,应用于任务调度框架Quartz服务器,所述装置包括:生成模块,用于扫描登记记录表,将所述登记记录表中的每条定义分别生成任务调度标识,所述登记记录表中的每条定义包括批处理任务逻辑的索引、执行任务类型、任务执行周期或频率;注册模块,用于将生成的各个任务调度标识注册到批处理框架SpringBatch的任务仓库中,以建立各个所述任务调度标识与所述批处理框架SpringBatch的任务仓库中批处理任务逻辑的对应关系;调度执行模块,用于按照各个所述任务调度标识对应的任务执行频率或周期,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑。优选的,所述调度执行模块包括:生成单元,用于生成所述周期性的批处理任务逻辑的下一次执行时间,并针对所述周期性的批处理任务逻辑生成一条单独的任务实例,并标注所述单独的任务实例的执行时间、计划开始执行时间、实际开始执行时间和实际结束执行时间;设置单元,用于在所述登记记录表中设置标志位,用于存储所述单独的任务实例的执行状态。优选的,所述调度执行模块包括:判断单元,用于在每天的预设时刻判断当日是否是执行日,若当日是执行日,则触发执行单元;所述执行单元,用于执行父任务,以判断是否应该预约子任务,所述子任务为所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑中的某一个批处理任务逻辑;若应该预约子任务,则预约所述子任务;若不应该预约子任务,则不预约所述子任务。优选的,所述执行单元包括:执行子单元,用于执行父任务,以判断预约日期是否为节假日,得到第一判断结果;判断所述预约日期是否为执行日,得到第二判断结果;根据所述第一判断结果和所述第二判断结果确定是否预约所述子任务。与现有技术相比,本申请的有益效果为:在本申请中,通过任务调度框架Quartz扫描登记记录表,将所述登记记录表中的每条定义分别生成任务调度标识;将生成的各个任务调度标识注册到批处理框架SpringBatch的任务仓库中,以建立各个所述任务调度标识与所述批处理框架SpringBatch的任务仓库中批处理任务逻辑的对应关系;按照各个所述任务调度标识对应的任务执行频率或周期,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑,实现了批处理任务的调度执行。由于批处理任务调度方法使用任务调度框架Quartz和批处理框架SpringBatch结合的方式,实现批处理任务的调度执行,结合批处理框架SpringBatch强大的批处理业务处理能力和任务调度框架Quartz强大的任务调度能力,提高了批处理任务调度执行的能力,因此提高了调度执行批处理任务的效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请提供的Quartz核心元素之间关系的示意图;图2是本申请提供的一种Quartz线程视图;图3是本申请提供的批处理任务调度方法的一种流程图;图4是本申请提供的批处理任务调度方法的另一种流程图;图5是本申请提供的批处理任务调度方法的一种子流程图;图6是本申请提供的批处理任务调度方法的另一种子流程图;图7是本申请提供的批处理任务调度装置的一种逻辑结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。实施例一在本实施例中,提供了一种批处理任务调度方法,应用于任务调度框架Quartz服务器,任务调度框架Quartz服务器上运行任务调度框架Quartz。其中,任务调度框架Quartz(后续简称为Quartz)的基本概念及原理如下:Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现。作为一个优秀的开源调度框架,Quartz具有功能强大,应用灵活,易于集成的特点。1、Quartz具有以下特点:强大的调度功能,例如支持丰富多样的调度方法,本文档来自技高网...
一种批处理任务调度方法及装置

【技术保护点】
一种批处理任务调度方法,其特征在于,应用于任务调度框架Quartz服务器,所述方法包括:扫描登记记录表,将所述登记记录表中的每条定义分别生成任务调度标识,所述登记记录表中的每条定义包括批处理任务逻辑的索引、执行任务类型、任务执行周期或频率;将生成的各个任务调度标识注册到批处理框架Spring Batch的任务仓库中,以建立各个所述任务调度标识与所述批处理框架Spring Batch的任务仓库中批处理任务逻辑的对应关系;按照各个所述任务调度标识对应的任务执行频率或周期,调度执行所述批处理框架Spring Batch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑。

【技术特征摘要】
1.一种批处理任务调度方法,其特征在于,应用于任务调度框架Quartz服务器,所述方法包括:扫描登记记录表,将所述登记记录表中的每条定义分别生成任务调度标识,所述登记记录表中的每条定义包括批处理任务逻辑的索引、执行任务类型、任务执行周期或频率;将生成的各个任务调度标识注册到批处理框架SpringBatch的任务仓库中,以建立各个所述任务调度标识与所述批处理框架SpringBatch的任务仓库中批处理任务逻辑的对应关系;按照各个所述任务调度标识对应的任务执行频率或周期,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑。2.根据权利要求1所述的方法,其特征在于,在所述任务调度标识对应的批处理任务逻辑为周期性的批处理任务逻辑的情况下,按照各个所述任务调度标识对应的任务执行频率或周期,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑之后,还包括:生成所述周期性的批处理任务逻辑的下一次执行时间,并针对所述周期性的批处理任务逻辑生成一条单独的任务实例,并标注所述单独的任务实例的执行时间、计划开始执行时间、实际开始执行时间和实际结束执行时间;在所述登记记录表中设置标志位,用于存储所述单独的任务实例的执行状态。3.根据权利要求1所述的方法,其特征在于,在所述任务调度标识对应的批处理任务逻辑为遇到节假日需要特殊处理的任务、每N(N>1)日/周执行的任务、每个执行日可能执行多次的任务或月末执行的任务的情况下,调度执行所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑,包括:在每天的预设时刻判断当日是否是执行日;若当日是执行日,则执行父任务,以判断是否应该预约子任务,所述子任务为所述批处理框架SpringBatch的任务仓库中各个所述任务调度标识对应的批处理任务逻辑中的某一个批处理任务逻辑;若应该预约子任务,则预约所述子任务;若不应该预约子任务,则不预约所述子任务。4.根据权利要求3所述的方法,其特征在于,判断是否应该预约子任务,包...

【专利技术属性】
技术研发人员:徐冬冬岳玮陈清江孙宇晨刘天宝
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京,11

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

1