[发明专利]一种定位任务依赖瓶颈的方法和装置在审
申请号: | 202111040288.1 | 申请日: | 2021-09-06 |
公开(公告)号: | CN113703949A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 潘洪菊;张宁 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;王安娜 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定位 任务 依赖 瓶颈 方法 装置 | ||
本发明公开了一种定位任务依赖瓶颈的方法和装置,涉及大数据技术领域。该方法的一具体实施方式包括:根据不同层级任务之间的依赖关系生成任务依赖链;从所述任务依赖链中查询出待优化的目标任务对应的父任务,将所述目标任务及其对应的父任务记录在任务数组中;其中,所述父任务包括直接父任务和间接父任务;基于所述任务数组生成邻接矩阵,根据所述邻接矩阵计算出所述目标任务对应的各条路径;分别生成所述各条路径对应的字符串,筛选出字符串最小的路径作为任务依赖瓶颈。该实施方式能够解决无法快速定位任务的依赖瓶颈的技术问题。
技术领域
本发明涉及大数据技术领域,尤其涉及一种定位任务依赖瓶颈的方法和装置。
背景技术
大数据平台是大数据业务的基础服务平台,为大数据业务的实现提供一站式、自助式的大数据处理全流程解决方案。其中,任务调度数据开发平台支持了数据的加工和流转,在该平台上分布着大量的数据加工任务,从数据的接入到目标应用需要经过多层级任务的转换,这些任务之间存在着直接或间接的依赖关系。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
只能单独查找每一层的直接父任务,如果想要提升任务时效,只能逐层向前推进去找哪些任务需要优化或者发现一个任务时效性有问题就解决一个,因此耗时耗力,无法进行预判性的优化与调整;由于任务链路层数和分支过多,任务链路过长,没有形成完整且直接的依赖关系链,无法清晰明了地发现哪些任务对目标应用有关键性的影响,因此无法快速定位任务的依赖瓶颈,导致难以优化长链路任务。
发明内容
有鉴于此,本发明实施例提供一种定位任务依赖瓶颈的方法和装置,以解决无法快速定位任务的依赖瓶颈的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种定位任务依赖瓶颈的方法,包括:
根据不同层级任务之间的依赖关系生成任务依赖链;
从所述任务依赖链中查询出待优化的目标任务对应的父任务,将所述目标任务及其对应的父任务记录在任务数组中;其中,所述父任务包括直接父任务和间接父任务;
基于所述任务数组生成邻接矩阵,根据所述邻接矩阵计算出所述目标任务对应的各条路径;
分别生成所述各条路径对应的字符串,筛选出字符串最小的路径作为任务依赖瓶颈。
可选地,将所述目标任务及其对应的父任务记录在任务数组中,包括:
为所有没有父任务的任务增加一个初始化任务,将所述初始化任务、所述目标任务以及所述目标任务记录在任务数组中。
可选地,在所述任务数组中,所述初始化任务位于第一个位置,所述目标任务位于第二个位置;
所述邻接矩阵的行、列对应的任务顺序与所述任务数组中的任务顺序相同。
可选地,根据所述任务数组生成邻接矩阵,包括:
初始化n*n的邻接矩阵,n为所述任务数组的长度;
对于所述任务数组中的第x个任务,判断所述第x个任务的直接父任务与所述任务数组中的第y个任务是否相同;若是,则将所述邻接矩阵中第x行第y列的值置为1;若否,则将所述邻接矩阵中第x行第y列的值置为0;若所述第x个任务没有父任务,则将所述邻接矩阵中第x行第1列的值置为1。
可选地,基于所述邻接矩阵计算出所述目标任务对应的各条路径,包括:
采用深度优先搜索算法或者广度优先搜索算法对所述邻接矩阵进行计算,从而计算出所述目标任务对应的各条路径。
可选地,分别生成所述各条路径对应的字符串,筛选出字符串最小的路径作为任务依赖瓶颈,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111040288.1/2.html,转载请声明来源钻瓜专利网。