[发明专利]一种分布式作业调度方法有效
申请号: | 201910902602.9 | 申请日: | 2019-09-24 |
公开(公告)号: | CN110688211B | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 谢延泽;李佳明;周勇 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 徐金琼 |
地址: | 610094 四川省成都市成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 作业 调度 方法 | ||
1.一种分布式作业调度方法,其特征在于,包括如下步骤:
S1、根据作业依赖应用场景,将每个作业进行分片,得到作业分片;
S2、在每个作业中都有一个用于描述其依赖作业的字段,若作业不是起始作业,在字段中配置依赖作业的相关信息,配置后得到所有JAVA依赖作业,所有JAVA依赖作业包括起始作业和配置了字段的JAVA依赖作业;
S3、基于作业分片和所有JAVA依赖作业,周期性触发各JAVA依赖作业执行逻辑判断,根据判断结果执行或不执行作业,直到整个流程中所有作业正常完成,其中,所述步骤S3的具体步骤为:
S3.1、判断JAVA依赖作业的作业分片是否是起始作业,即判断描述依赖作业的字段中是否配置有相关信息,若是起始作业,转到步骤S3.7,若否,转到步骤S3.2;
S3.2、周期性触发各JAVA依赖作业的各作业分片执行逻辑判断,即针对各JAVA依赖作业的各作业分片,周期性的检查作业分片是否有流程记录,若是,转到步骤S3.3,若否,转到步骤S3.4,流程记录包括起始作业产生的用于标志一个流程的流程ID和作业分片执行记录,作业分片执行记录即为作业分片执行结果;
S3.3、判断作业分片是否已成功执行,若否,返回true,并转到步骤S3.8,若是,返回false;
S3.4、检查作业分片的依赖作业是否都有执行记录,若是,转到步骤S3.5,若否,返回false,即作业分片执行失败,整个流程都停在出错的作业,从web页面查看依赖作业以及日志,排错后清除作业分片的执行记录,再次执行步骤S3.2,其中,执行记录包括起始作业产生的用于标志一个流程的流程ID和作业分片执行记录,作业分片执行记录包括执行成功或者失败的记录、执行过程和执行结果;
S3.5、检查作业分片的依赖作业的作业分片的执行数量是否与该依赖作业的作业分片数量相同,若是,转到步骤S3.6,若否,返回false,即作业分片执行失败,整个流程都停在出错的作业,从web页面查看依赖作业以及日志,排错后清除作业分片的执行记录,再次执行步骤S3.2;
S3.6、检查作业分片的依赖作业的作业分片是否都正常执行完成,若是,返回true,并转到步骤S3.8,若否,返回false,即作业分片执行失败,整个流程都停在出错的作业,从web页面查看依赖作业以及日志,排错后清除作业分片的执行记录,再次执行步骤S3.2;
S3.7、检查是否有作业分片执行记录,若有,判断是否已成功执行,若是成功执行,表示起始作业的作业分片已正常执行完成,返回false,若不是成功执行或没有作业分片执行记录,返回true,并转到步骤S3.8;
S3.8、执行JAVA依赖作业的该作业分片,并对执行后的结果进行处理,若JAVA依赖作业的作业分片是结束作业,正常执行后清除所有JAVA依赖作业的记录,若否,则不作处理。
2.根据权利要求1所述的一种分布式作业调度方法,其特征在于,所述步骤S1通过web页面配置分片数量以及每个分片的任务来将每个作业拆分成多个作业分片。
3.根据权利要求1所述的一种分布式作业调度方法,其特征在于,所述步骤S2中的字段是用于描述依赖作业的作业名,即相关信息为作业名;依赖作业即指当前JAVA依赖作业所要依赖的其它JAVA依赖作业。
4.根据权利要求1所述的一种分布式作业调度方法,其特征在于,所述步骤S2中,在字段中配置依赖作业的相关信息的方式为手工配置。
5.根据权利要求1所述的一种分布式作业调度方法,其特征在于,所述步骤S3.2中,通过Cron表达式周期性触发作业分片执行判断逻辑,其中,超始作业的执行周期按照当前需要进行设置,包括日切任务,即设置日切为每天的某个时间点,JAVA依赖作业的执行周期设置为1-5秒一次,超始作业的周期要比JAVA依赖作业的周期要长。
6.根据权利要求1所述的一种分布式作业调度方法,其特征在于,所述步骤S3.8中,执行JAVA依赖作业的该作业分片,并对执行后的结果进行处理的具体步骤为:
S3.8.1、执行器执行当前JAVA依赖作业的该作业分片,若作业分片执行异常,转到步骤S3.8.2,若作业分片执行正常,转到步骤S3.8.3;
S3.8.2、返回失败以及异常信息,异常信息会以http的方式被发送到对应的告警平台,作业分片的执行结果会被记录在Zookeeper和MySQL数据库中,其中,Zookeeper的数据用来判断作业执行与否,数据库的数据是用在控制台页面展示,即图形化方式展示作业执行状态,包括历史执行记录,现在运行状态;
S3.8.3、作业分片的执行结果会被记录在Zookeeper和MySQL数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910902602.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:任务优先级确定方法及装置
- 下一篇:基于quartz的定时管理方法及系统