【技术实现步骤摘要】
一种批量任务调度方法和系统、电子设备、存储介质
[0001]本专利技术属于数据处理
,更具体的说,尤其涉及一种批量任务调度方法和系统
、
电子设备
、
存储介质
。
技术介绍
[0002]批量任务是应用程序对数据的批量处理,能够定时触发或者按配置好的周期自动运行,适合大数据量逻辑处理,在软件系统开发具有广泛的应用场景,例如银行的报表加工任务
、
大文件的生成和解析入库任务都是常见的批量任务,以上任务处理的数据规模大
、
造成系统资源开销大但与主要业务关联性弱,采用日终批量的方式处理可以减少白天对系统资源的占用,避免对白天正常的银行联机实时交易造成影响
。
[0003]随着数字化转型和大数据技术的发展,银行系统的批量任务处理的数据规模成指数增长,配置的批量任务类型和数量逐渐增多,任务之间的依赖关系越来越复杂,对运行批量任务集群的计算资源的要求也越来越高,所以提高当前集群有效资源利用率显得尤为重要
。
现阶段系统的批量任务处理集群每日运行的批量任务数量可能是数百个甚至更多,需要调度工具对任务进行编排,有序执行
。
目前常用的调度工具有任务调度框架
oozie、
批量工作流任务调度器
Azkaban
,以及,可编程
、
调度和监控的工作流平台
Airflow。
[0004]但是,调度工具
oozie、Azkaban
和<
【技术保护点】
【技术特征摘要】
1.
一种批量任务调度方法,其特征在于,包括:建立初始调度表,将满足依赖条件的所有任务写入所述初始调度表中;设置各个任务类型的业务优先级;根据各个所述任务的历史运行情况,确定各个所述任务类型中各个所述任务的动态权重;其中,所述历史运行情况包括各个所述任务的历史时间片时长;依据所述业务优先级和所述动态权重,得到任务所分配的时间片时长;将所述业务优先级
、
所述动态权重和所述时间片时长记录到所述初始调度表,得到任务调度表;并依据所述任务调度表进行调度
。2.
根据权利要求1所述的批量任务调度方法,其特征在于,所述建立初始调度表,将满足依赖条件的所有任务写入所述初始调度表中,包括:在关系型数据库中创建所述初始调度表;所述初始调度表包括:任务标识
、
任务名称
、
所述任务类型的业务优先级
、
任务的动态权重和所述任务所分配的时间片时长;将满足所述依赖条件的任务对应的所述任务标识和所述任务名称,写入所述初始调度表中
。3.
根据权利要求1所述的批量任务调度方法,其特征在于,所述根据各个所述任务的历史运行情况,确定各个所述任务类型中各个所述任务的动态权,包括:获取各个所述任务的历史运行情况中预设时间内的调度记录,提取各个历史任务所分配的时间片时长;依据各个所述任务所分配的时间片时长,确定各个所述任务的动态权重
。4.
根据权利要求1所述的批量任务调度方法,其特征在于,所述依据所述业务优先级和所述动态权重,得到任务所分配的时间片时长,包括:针对任一所述任务,将所述任务对应的业务优先级和所述任务对应的动态权重的乘积,作为所述任务所分配的时间片时长
。5.
根据权利要求1所述的批量任务调度方法,其特征在于,所述依据所述任务调度表进行调度,包括:从第一行开始循环扫描所述任务调度表中记录,通过任务标识和任务行程取出当前记录对应的任务;其中,取出的记录满足所述依赖条件且处于等待状态;通过相应调度框架下的任务启动命令,开始执行当前任务;在所述当前任务执行的同时开始计时,在所述当前任务的运行时间达到对应的时间片时长时,使用任务挂起
/
暂停命令中断当前任务的执行;提取下一个任务返回执行通过相应调度框架下的任务启动命令,开始执行当前任务;在所述当前任务执行的同时开始计...
【专利技术属性】
技术研发人员:朱泓,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。