一种任务依赖关系更新方法、装置及存储介质制造方法及图纸

技术编号:29223157 阅读:8 留言:0更新日期:2021-07-10 01:05
本说明书实施例提供一种任务依赖关系更新方法、装置及存储介质,可以应用于大数据处理技术领域。包括:获取目标任务清单;所述目标任务为脚本内容发生变化的任务;解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系;所述依赖关系表征所述目标任务依赖的上游任务;使用所述目标任务的依赖关系对原始依赖关系进行更新;所述原始依赖关系为所述目标任务在脚本内容发生变化前的依赖关系,以解决现有技术中需要停批刷新任务依赖的问题,实现不停机情况下的任务依赖局部更新,提高任务的执行效率。提高任务的执行效率。提高任务的执行效率。

【技术实现步骤摘要】
一种任务依赖关系更新方法、装置及存储介质


[0001]本说明书实施例涉及大数据处理
,特别涉及一种任务依赖关系更新方法、装置及存储介质。

技术介绍

[0002]随着大数据的应用,很多数据处理平台会对各种数据进行处理,比如ODPS平台(Open Data Processing Service,开放数据处理服务),该数据平台提供针对TB/PB级数据、实时性要求不高的分布式处理能力,可应用于数据分析、挖掘、商业智能等领域。在数据开发过程中,针对某个数据业务,开发者会将其拆解为一系列的任务部署到数据平台中,该任务是运行在数据平台上的最小调度作业单元。其中,各个任务之间可能存在某种依赖关系,每个任务可以认为是该数据业务中的一个任务节点。
[0003]以银行经营的业务为例,在银行业经营分析的任务数量众多,任务关系复杂,互相依赖层层嵌套,任务之间的依赖关系通过预设关系维护。现有调度,为了保证任务执行前必须执行前序加工任务,需要提前设置任务之间的依赖关系,以使各个任务有序地调度执行。
[0004]然而,通过提前设置任务之间的依赖关系的方式,一旦这些依赖关系上线,则会固化,不能在非停机状态下自由变动,如果新任务上线影响到存量的依赖关系时,需要停止任务的调度和执行,重新更新依赖关系。
[0005]现有的依赖关系的更新方式,导致任务的调度和执行不能24小时
×
7天运行,每月的投产浪费了跑批时间,并且需要追批,占用集群的时间、资源追平批量,增加了调度服务器、集群的调度负担。
专利技术内
[0006]本说明书实施例的目的是提供一种任务依赖关系更新方法、装置及存储介质,以解决现有技术中需要停批刷新任务依赖的问题,实现不停机情况下的任务依赖局部更新,提高任务的执行效率。
[0007]为解决上述问题,本说明书实施例提供一种任务依赖关系更新方法,所述方法包括:获取目标任务清单;所述目标任务为脚本内容发生变化的任务;解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系;所述依赖关系表征所述目标任务依赖的上游任务;使用所述目标任务的依赖关系对原始依赖关系进行更新;所述原始依赖关系为所述目标任务在脚本内容发生变化前的依赖关系。
[0008]为解决上述问题,本说明书实施例还提供一种任务依赖关系更新装置,所述装置包括:获取模块,用于获取目标任务清单;所述目标任务为脚本内容发生变化的任务;解析模块,用于解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系;所述依赖关系表征所述目标任务依赖的上游任务;更新模块,用于使用所述目标任务的依赖关系对原始依赖关系进行更新;所述原始依赖关系为所述目标任务在脚本内容发生变化前的依赖关系。
[0009]为解决上述问题,本说明书实施例还提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现:获取目标任务清单;所述目标任务为脚本内容发生变化的任务;解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系;所述依赖关系表征所述目标任务依赖的上游任务;使用所述目标任务的依赖关系对原始依赖关系进行更新;所述原始依赖关系为所述目标任务在脚本内容发生变化前的依赖关系。
[0010]为解决上述问题,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现:获取目标任务清单;所述目标任务为脚本内容发生变化的任务;解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系;所述依赖关系表征所述目标任务依赖的上游任务;使用所述目标任务的依赖关系对原始依赖关系进行更新;所述原始依赖关系为所述目标任务在脚本内容发生变化前的依赖关系。
[0011]由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以获取目标任务清单;所述目标任务为脚本内容发生变化的任务;解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系;所述依赖关系表征所述目标任务依赖的上游任务;使用所述目标任务的依赖关系对原始依赖关系进行更新;所述原始依赖关系为所述目标任务在脚本内容发生变化前的依赖关系。本说明书实施例提供的方法,能够解决现有技术中需要停批刷新任务依赖的问题,实现不停机情况下的任务依赖局部更新,提高任务的执行效率。
附图说明
[0012]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013]图1为本说明书一个场景示例的示意图;
[0014]图2为本说明书实施例依赖关系更新的一个示例;
[0015]图3为本说明书一个场景示例依赖关系更新的流程图;
[0016]图4为本说明书实施例提供一种任务依赖关系更新方法的流程图;
[0017]图5为本说明书实施例一种电子设备的功能结构示意图;
[0018]图6为本说明书实施例一种任务依赖关系更新装置的功能结构示意图。
具体实施方式
[0019]下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0020]在一些场景下,处理数据的时候往往都是分成好几个任务步骤来完成一个数据处理流程。多个任务单元之间往往有着强依赖关系,上游任务执行并成功,下游任务才可以执行。比如上游任务结束后拿到A结果,下游任务需结合A结果才能产出B结果,因此下游任务
的开始一定是在上游任务成功运行拿到结果之后才可以开始。而为了保证数据处理结果的准确性,就必须要求这些任务按照上下游依赖关系有序、高效的执行。
[0021]为了保证任务执行前必须执行前序加工任务,需要提前设置任务之间的依赖关系,以使各个任务有序地调度执行。然而,通过提前设置任务之间的依赖关系的方式,一旦这些依赖关系上线,则会固化,不能在非停机状态下自由变动,如果新任务上线影响到存量的依赖关系时,需要停止任务的调度和执行,重新更新依赖关系。现有的依赖关系的更新方式,导致任务的调度和执行不能24小时
×
7天运行,每月的投产浪费了跑批时间,并且需要追批,占用集群的时间、资源追平批量,增加了调度服务器、集群的调度负担。
[0022]考虑到如果能够将任务之间依赖关系维护在开源关系型数据库中,每个任务只需获取自己的任务依赖和依赖于自己的任务清单,就可以完成批量运行。由于任务关系数据量小,数据量小,特别适合使用查询方便,利于统计的关系型数据库维护,从而有望解决现有技术中需要停批刷新任务依赖的问题,实现不停机情况下的任务依赖局部更新,提高任务的执行效率。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务依赖关系更新方法,其特征在于,所述方法包括:获取目标任务清单;所述目标任务为脚本内容发生变化的任务;解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系;所述依赖关系表征所述目标任务依赖的上游任务;使用所述目标任务的依赖关系对原始依赖关系进行更新;所述原始依赖关系为所述目标任务在脚本内容发生变化前的依赖关系。2.根据权利要求1所述的方法,其特征在于,所述获取目标任务清单包括:从预设的数据库中读取各个任务最近两个版本的脚本内容;根据各个任务最近两个版本的脚本内容确定脚本内容发生变化的任务。3.根据权利要求2所述的方法,其特征在于,所述数据库为postgresql数据库;所述postgresql数据库存储有各个任务每一版本的脚本内容的大小和修改时间。4.根据权利要求2所述的方法,其特征在于,所述预设的数据库中各个任务不同版本的脚本内容从存储各个任务的元数据的元数据库中得到。5.根据权利要求1所述的方法,其特征在于,所述解析所述目标任务清单中目标任务的脚本内容,得到所述目标任务的依赖关系包括:解析所述目标任务的脚本内容中的HQL语句用到的数据表和数据表的分区标识;根据所述数据表和数据表的分区标识获取所述目标任务依赖的上游任务;基于所述目标任务依赖的上游任务生成所述目标任务的依赖关系。6.根据权利要求1所述的方法,其特征在于,所述依赖关系包括强依赖关系和弱依赖关系;所述弱依赖关系表示目标任务使用依赖的上游任务对应的数据表指定分区已经加载完毕的数据;所述强依赖关系表示目标任务使用依赖的上游任务对应的数据表未完成加载的数据。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:验证所述目标任务的依赖关系是否存在任务环;所述任务环表示所述目标任务与依赖的上游任务之间形成环状的依赖关系;相应的,在验证所述目标任务的依赖关系不存在任务环的情况下,使用所述目标任务的依赖关系对原始依赖关系进行更新。8.根据权利要求7所述的方法,其特征在于,根据以下方式验证所述目标任务的依赖关系是否存在任务环:将所述目标任务的依赖关系保存在临时表中;基于所述临时表中的目标任务的...

【专利技术属性】
技术研发人员:王伟王备李湘玲唐一帆
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1