[发明专利]一种支持多任务重跑的调度方法有效
申请号: | 201911052270.6 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110825507B | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 李跃;余侍俊;陈永礼;陈俊洁 | 申请(专利权)人: | 杭州米络星科技(集团)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 杭州橙知果专利代理事务所(特殊普通合伙) 33261 | 代理人: | 贺龙萍 |
地址: | 310012 浙江省杭州市拱*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 任务 调度 方法 | ||
本发明公开了一种支持多任务重跑的调度方法。它具体包括如下步骤:解析每个job中的sql,得到读取的表列表、写入的表列表;每个job包装一个前置任务,一个后置任务,前置任务检查读取的表列表是否准备就绪,如果就绪继续执行当前job,如果还没有准备就绪,改任务一直轮询直到所有表准备就绪;后置任务用来标记所有写入表的状态为就绪状态,以便后续依赖这些表的任务执行;在后台展示所有job的依赖关系图,用一种颜色表示执行失败,当遇到执行失败时,只要修复好当前节点涉及的表,其他任务就能自动往下执行。本发明的有益效果是:能够大大节省数据异常时,补数据的时间;根据数据血缘关系图可以优化业务数仓的设计。
技术领域
本发明涉及数据处理相关技术领域,尤其是指一种支持多任务重跑的调度方法。
背景技术
现在常用的Azkaban框架是按照project、flow、job来管理的,一个project中包含多个调度流程flow,每个调度流程flow中可以有多个job,每个job可以根据实际需要完成任务(如:读取表,写入表)。现有技术中,当某个job失败后,只能快速重跑job所在的flow。现有Azkaban方案遇到任务失败,只能针对单个flow重跑任务,而实际业务可能存在需要多个任务重跑。例如:flow1-job1成功后会将结果记录写到表table1,flow1-job2、flow2-job1、flow3-job1可能都依赖table1的数据,如果flow1-job1执行失败,table1没有数据将影响到多个任务,这时候我们需要逐个手动处理,而这样的操作方式使得数据异常时,补数据的时间大大增加了。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种能够节省补数据时间的支持多任务重跑的调度方法。
为了实现上述目的,本发明采用以下技术方案:
一种支持多任务重跑的调度方法,具体包括如下步骤:
(1)在Azkaban框架下按照project、flow、job依次来管理的,即一个project中包含多个调度流程flow,每个调度流程flow中有多个job;
(2)解析每个job中的sql,得到读取的表列表、写入的表列表;
(3)每个job包装一个前置任务,前置任务检查读取的表列表是否准备就绪,如果就绪继续执行当前job,如果还没有准备就绪,该前置任务一直轮询直到所有表准备就绪;
(4)与此同时,每个job包装一个后置任务,后置任务用来标记所有写入的表列表的状态为就绪状态,以便后续依赖这些表的任务执行;
(5)在后台展示所有job的依赖关系图,用一种颜色表示执行失败,当遇到执行失败时,只要修复好当前节点涉及的表,其他任务就能自动往下执行。
通过本方法的设计,当某个job失败后,不需要重跑job所在的调度流程flow,而是针对该job进行一直轮询,故而能够大大节省数据异常时,补数据的时间;还可以根据表的依赖关系得到数据血缘关系图,根据数据血缘关系图可以优化业务数仓的设计。
作为优选,在步骤(2)中,通过以下两个阶段来得到读取的表列表、写入的表列表:第一阶段是人工整理并录入数据库,第二阶段是通过封装apache hive这个开源项目里面的SQL解析模块来实现。
作为优选,在步骤(3)和步骤(4)中,前置任务会一直轮询依赖资源的状态,当依赖的资源已准备就绪,才启动job执行,保证job在执行的时候所有资源都准备就绪了;后置任务主要是将自己完成修改的资源状态修改为就绪,方便其他下游任务及时检测到,并启动job;通过将状态记录到数据库,方便写入和读取;前置任务、job、后置任务是对一个job的封装,是串行结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州米络星科技(集团)有限公司,未经杭州米络星科技(集团)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911052270.6/2.html,转载请声明来源钻瓜专利网。