任务节点管理方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务节点管理方法及装置。
背景技术
数据仓库(Extraction-Transformation-Loading,ETL)中的处理过程包括数据抽取、转换、加载、数据集市生成、数据立方生成过程,数据仓库管理的更新、归档过程以及应用报表生成程序等。对于企业级数据仓库***,其中的ETL程序成千上万。
当ETL工作人员想要对数据仓库中的某一批任务节点进行批量管理的时候,一种方式是对该批任务中的每个作为父任务节点、中间结点以及叶子节点的任务节点分别进行管理,另一种方式是通过只对作为叶子节点的任务节点进行管理。
然而,采用第一种方式的缺点是当要管理的任务节点比较多时,或者待管理的任务节点的拓扑结构比较扁平时,逐一手动的管理所有任务节点的效率非常低;采用第二种方式的缺点是当作为叶子节点的任务节点的较多时,对于所有作为叶子节点的任务节点的管理效率也非常低下。
发明内容
为克服相关技术中存在的问题,本发明提供一种任务节点管理方法及装置。
根据本发明实施例的第一方面,提供一种任务节点管理方法,所述方法包括:
在预设任务集中选取包含具有相同的业务标识的至少两个任务节点的任务集合,所述业务标识用于标识任务节点实现的业务功能;
确定所述任务集合中任务节点之间的上下游依赖关系,利用所述上下游依赖关系构建所述任务集合中任务节点之间拓扑结构;
根据所述拓扑结构从所述任务集合中确定出满足预设条件的至少一个参考任务节点;
在所有所述参考任务节点的下游链路上构建虚拟节点,所述虚拟节点与所述参考任务节点的业务标识相同;
建立每个所述参考任务节点与所述虚拟节点之间的上下游依赖关系,并更新所述拓扑结构,以便通过管理虚拟节点,实现管理所述更新后的拓扑结构中位于所述虚拟节点上游链路上的任务节点。
可选地,所述根据所述拓扑结构从所述任务集合中确定出满足预设条件的至少一个参考任务节点,包括:
根据所述拓扑结构获取作为叶子节点的任务节点;
将作为叶子节点的任务节点确定为参考任务节点。
可选地,所述建立每个所述参考任务节点与所述虚拟节点之间的上下游依赖关系包括:
获取所述参考任务节点的配置信息以及所述虚拟节点的配置信息;
将所述参考任务节点的配置信息中的输出参数确定为所述虚拟节点的输入参数,以建立由所述参考任务节点向其下游链路的虚拟节点的依赖关系;
将所述虚拟节点的配置信息中的输入参数确定为所述参考任务节点的输出参数,以建立由所述虚拟节点向其上游链路的参考任务节点的依赖关系。
根据本发明实施例的第二方面,提供一种任务节点管理方法,包括:
获取多个包含虚拟节点和至少两个任务节点的拓扑结构;
在多个拓扑结构中查找与待管理的业务功能具有相同业务标识的虚拟节点;
获取所述虚拟节点以及包含所述虚拟节点的拓扑结构;
通过管理虚拟节点,管理所述拓扑结构中位于所述虚拟节点上游链路上的任务节点。
可选地,所述通过管理虚拟节点,管理所述拓扑结构中位于所述虚拟节点上游链路上的任务节点,包括:
检测是否接收到对所述虚拟节点进行管理的管理操作;
当接收到对所述虚拟节点进行管理的管理操作时,根据所述拓扑结构查找到位于所述虚拟节点上游链路上的任务节点;
控制查找的任务节点执行所述管理操作。
根据本发明实施例提供的第三方面,提供一种任务节点管理装置,所述装置包括:
选取模块,用于在预设任务集中选取包含具有相同的业务标识的至少两个任务节点的任务集合,所述业务标识用于标识任务节点实现的业务功能;
确定构建模块,用于确定所述任务集合中任务节点之间的上下游依赖关系,利用所述上下游依赖关系构建所述任务集合中任务节点之间拓扑结构;
确定模块,用于根据所述拓扑结构从所述任务集合中确定出满足预设条件的至少一个参考任务节点;
构建模块,用于在所有所述参考任务节点的下游链路上构建虚拟节点,所述虚拟节点与所述参考任务节点的业务标识相同;
建立模块,用于建立每个所述参考任务节点与所述虚拟节点之间的上下游依赖关系,并更新所述拓扑结构,以便通过管理虚拟节点,实现管理所述更新后的拓扑结构中位于所述虚拟节点上游链路上的任务节点。
可选地,所述确定模块包括:
第一获取子模块,用于根据所述拓扑结构获取作为叶子节点的任务节点;
第一确定子模块,用于将作为叶子节点的任务节点确定为参考任务节点。
可选地,所述建立模块包括:
第二获取子模块,用于获取所述参考任务节点的配置信息以及所述虚拟节点的配置信息;
第二确定子模块,用于将所述参考任务节点的配置信息中的输出参数确定为所述虚拟节点的输入参数,以建立由所述参考任务节点向其下游链路的虚拟节点的依赖关系;
第三确定子模块,用于将所述虚拟节点的配置信息中的输入参数确定为所述参考任务节点的输出参数,以建立由所述虚拟节点向其上游链路的参考任务节点的依赖关系。
根据本发明实施例的第四方面,提供一种任务节点管理装置,包括:
第一获取模块,用于获取多个包含虚拟节点和至少两个任务节点的拓扑结构;
查找模块,用于在多个拓扑结构中查找与待管理的业务功能具有相同业务标识的虚拟节点;
第二获取模块,用于获取所述虚拟节点以及包含所述虚拟节点的拓扑结构;
管理模块,用于通过管理虚拟节点,管理所述拓扑结构中位于所述虚拟节点上游链路上的任务节点。
可选地,所述管理模块包括:
检测子模块,用于检测是否接收到对所述虚拟节点进行管理的管理操作;
查找子模块,用于当接收到对所述虚拟节点进行管理的管理操作时,根据所述拓扑结构查找到位于所述虚拟节点上游链路上的任务节点;
执行子模块,用于对查找到的任务节点执行所述管理操作。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明通过在预设任务集中选取包含至少一个任务节点的任务集合,在所述任务集合中的所有任务节点的下游链路上构建虚拟节点,并为所述虚拟节点设置与所述任务节点相同的业务标识,可以在所述任务集合中的每个任务节点与所述虚拟节点之间分别建立拓扑结构,以使在进行实现业务功能的任务节点的批量管理时,直接根据所述虚拟节点的业务标识、并利用所述拓扑结构管理所述虚拟结构上游链路的任务节点。
本发明实施例提供的该方法,能够通过在实现某一业务功能的拓扑结构的叶子节点下游新增一个虚拟节点,只需对虚拟节点进行管理,上游的拓扑任务中的每个任务节点都会向上继承虚拟节点的管理,从而实现管理虚拟节点提高对上游特定拓扑任务的管理的效率;实现对特定任务实现逻辑划分,虚拟节点可以充当任务节点的索引功效,进而提升数据管理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种任务节点管理方法的流程图;
图1A是根据一示例性实施例示出的一种拓扑结构示意图;
图2是图1中步骤S103的流程图;
图3是图1中步骤S105的流程图;
图4是根据一示例性实施例示出的另一种任务节点管理方法的流程图;
图5是图4中步骤S404的流程图;
图6是根据一示例性实施例示出的一种任务节点管理装置的结构图;
图7是根据一示例性实施例示出的另一种任务节点管理装置的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如图1所示,在本发明的一个实施例中,提供一种任务节点管理方法,所述方法包括以下步骤。
在步骤S101中,在预设任务集中选取包含具有相同的业务标识的至少两个任务节点的任务集合。
在本发明实施例中,所述业务标识用于标识任务节点实现的业务功能。预设任务集可以指用于处理数据仓库中数据的任务节点组成的集合,任务节点是指在特定唤醒下运行的程序或者命令,也可以称为任务或者作业等,在数据仓库***中,多个任务节点按照一定的先后顺序调度执行后可以用于实现一项业务功能,例如:数据集的抽取或者报表的生成等。
在本发明实施例中,所述任务集合中的任务节点设置有相同的业务标识,所述业务标识用于标识任务节点实现的业务功能。
在实际应用中,业务标识可以用于标识任务节点实现的业务功能,业务标识可以为“数据抽取”、“报表生成”等文字标识,也可以为“001”等数字标识,还可以为“AAA”等字符标识等等,当使用使用数字标识或者字符标识等进行标识时,可以预先设置一个记录有数字标识或者字符标识,以及与每个数字标识或者字符标识对应的业务功能的对应关系表格,以数字标识为例,对应关系表格可以如下表1所示:
表1:
业务标识 |
业务功能 |
001 |
数据抽取 |
002 |
生成报表 |
在该步骤中,可以首先获取待管理的业务功能,查找与业务功能对应的目标业务标识,然后遍历每个任务节点的业务标识,然后查找到与目标业务标识相同的各个任务节点的业务标识,再在这些所有业务标识对应的任务节点中查找所有作为中间节点和叶子节点的任务节点,最后,选取所有作为中间节点和叶子节点的任务节点,或者,仅作为叶子节点的任务节点,将选取的所有任务节点构建任务集合。
例如,如图1A所示,任务节点M1、M2、M3、M4、M5、E1、E2、E3、E4和E5为用于实现仓库数据的抽取业务功能的任务节点,则M1、M2、M3、M4、M5、E1、E2、E3、E4和E5可以作为一个任务集合。
再例如,任务节点T1、T2、T3、L1、L2和L3为用于实现仓库数据的计算业务功能,则T1、T2、T3、L1、L2和L3作为一个任务集合。
再例如,任务节点T4、T5、T6、L4和T6为用于实现统计仓库数据的业务功能,则T4、T5、T6、L4、T6可以作为一个任务集合。
在步骤S102中,确定所述任务集合中任务节点之间的上下游依赖关系,利用所述上下游依赖关系构建所述任务集合中任务节点之间拓扑结构。
在本发明实施例中,可以获取任务集合中每个任务节点的配置信息,从配置信息中读取输出参数可以作为该任务节点的输入参数的任务节点,以及输入参数为该任务节点的输出参数的输出节点,按照这样的方式,对任务结合中的所有任务节点照此操作,直至任务集合中的任务节点全部获取完毕,这样,各个任务节点之间即可关联起来,即确定了任务节点之间的上下游依赖关系,然后可以按照上下游依赖关系在任务集合中的所有任务节点之间建立拓扑结构。
在步骤S103中,根据所述拓扑结构从所述任务集合中确定出满足预设条件的至少一个参考任务节点。
在本发明实施例中,预设条件可以指在拓扑结构中作为叶子节点的任务节点,作为参考任务节点。
在步骤S104中,在所有所述参考任务节点的下游链路上构建虚拟节点,所述虚拟节点与所述参考任务节点的业务标识相同。
在本发明实施例中,虚拟节点可以不用于进行任何仓库数据的处理,只用于标识任务节点间的上下游依赖关系,不占用***资源。
例如,如图1A所示,任务节点E1、E2、E3、E4和E5为用于实现仓库数据的抽取业务的所有任务节点中的叶子节点,则可以在任务节点E1、E2、E3、E4和E5的下游可以建立虚拟节点Virtual1,并为虚拟节点Virtual1设置实现仓库数据的抽取业务功能的标识,例如“数据抽取”“001”等等。
再例如,任务节点L1、L2和L3为用于实现仓库数据的计算业务的叶子节点,则可以在任务节点L1、L2和L3的下游建立虚拟节点Virtual2,并为虚拟节点Virtual2设置实现仓库数据计算业务功能的标识,例如“数据计算”“002”等等。
再例如,任务节点L4和T6为用于实现统计仓库数据的业务功能的叶子节点,则可以在L4和T6的下游建立虚拟任务节点Virtual3等,虚拟节点2在任务节点L1、L2和L3的下游,并为虚拟节点Virtual3设置实现仓库数据计算业务功能的标识,例如“数据统计”“003”等等。
在本发明实施例中,当将业务功能的标识为“001”、“002”和“003”等用于替代业务功能文字描述的数字标识或者符号标识等时,每个数字标识或者符号标识都应当对应一个业务功能。
在步骤S105中,建立每个所述参考任务节点与所述虚拟节点之间的上下游依赖关系,并更新所述拓扑结构。
通过步骤S105,可以通过管理虚拟节点,实现管理所述更新后的拓扑结构中位于所述虚拟节点上游链路上的任务节点。
在本发明实施例中,可以将任务集合中的每个任务节点分别与虚拟节点建立关联关系。
例如,对于虚拟节点Virtuall,可以在任务节点E1、E2、E3、E4和E5与虚拟节点Virtual1之间建立拓扑结构,这样,更新后的用于实现仓库数据的抽取业务功能的拓扑结构即包含M1、M2、M3、M4、M5、E1、E2、E3、E4、E5和Virtuall。
再例如,对于虚拟节点Virtual2,可以在任务节点L1、L2和L3与虚拟节点Virtual2之间建立拓扑结构,这样,更新后的用于实现仓库数据的计算业务功能的拓扑结构即包含T1、T2、T3、L1、L2、L3和Virtual2。
再例如,对于虚拟节点Virtual3,在任务节点L4、T6和虚拟节点Virtual3之间建立拓扑结构,这样更新后的用于实现统计仓库数据的业务功能的拓扑结构即包含T4、T5、T6、L4和Virtual3。
在需要对实现某一业务功能的所有任务节点进行批量管理时,可以首先查找所有虚拟节点的业务标识,当查找到与业务功能对应的业务标识时,可以首先根据虚拟节点的拓扑结构查找到所有与虚拟节点连接的任务节点,然后可以根据查找到的所有任务节点再查找任务节点上游链路的任务节点,直至找到用于实现该业务功能的父任务节点,这样,即可以实现在以虚拟节点为索引的层级结构中将实现某一业务功能的所有任务节点的快速查找,在某种程度上实现逻辑划分。
另外,在本发明实施例中,当需要对Virtual2对应的业务功能进行优先级管理时,可以首先设置Virtual2的优先级,这样,其上游链路的所有任务节点即可继承Virtual2的优先级,提高管理效率。
本发明通过在预设任务集中选取包含具有相同的业务标识的至少两个任务节点的任务集合,所述业务标识用于标识任务节点实现的业务功能,确定所述任务集合中任务节点之间的上下游依赖关系,利用所述上下游依赖关系构建所述任务集合中任务节点之间拓扑结构,根据所述拓扑结构从所述任务集合中确定出满足预设条件的至少一个参考任务节点,在所有所述参考任务节点的下游链路上构建虚拟节点,建立每个所述参考任务节点与所述虚拟节点之间的上下游依赖关系,并更新所述拓扑结构,以便通过管理虚拟节点,实现管理所述更新后的拓扑结构中位于所述虚拟节点上游链路上的任务节点。
本发明实施例提供的该方法,能够通过在实现某一业务功能的拓扑结构的叶子节点下游新增一个虚拟节点,只需对虚拟节点进行管理,上游的拓扑任务中的每个任务节点都会向上继承虚拟节点的管理,从而实现管理虚拟节点提高对上游特定拓扑任务的管理的效率;实现对特定任务实现逻辑划分,虚拟节点可以充当任务节点的索引功效,进而提升数据管理效率。
如图2所示,在本发明的又一实施例中,所述步骤S103包括以下步骤。
在步骤S201中,根据所述拓扑结构获取作为叶子节点的任务节点;
在步骤S202中,将作为叶子节点的任务节点确定为参考任务节点。
本发明通过在预设任务集中获取具有相同的业务标识的多个任务节点,在获取的所有任务节点中选择作为叶子节点的任务节点作为参考任务节点。
本发明实施例提供的该方法,能够将所有作为叶子节点的任务节点组成的集合确定为任务集合,这样可以便于根据虚拟节点查找到所有叶子节点,然后再根据任务集合中的任务节点查找上游链路的所有任务节点,进而实现任务节点的高效管理。
如图3所示,在本发明的又一实施例中,所述步骤S105包括:
在步骤S301中,获取所述参考任务节点的配置信息以及所述虚拟节点的配置信息;
在步骤S302中,将所述参考任务节点的配置信息中的输出参数确定为所述虚拟节点的输入参数。
通过该步骤,可以建立由所述参考任务节点向其下游链路的虚拟节点的依赖关系。
在步骤S303中,将所述虚拟节点的配置信息中的输入参数确定为所述参考任务节点的输出参数。
通过该步骤,可以建立由所述虚拟节点向其上游链路的参考任务节点的依赖关系。
另外,在本发明实施例中,本领域技术人员可以得知的是,步骤S303还可以位于步骤S302之前,因此,步骤S302和303顺序不限。
本发明通过获取所述参考任务节点的配置信息以及所述虚拟节点的配置信息,将所述参考任务节点的配置信息中的输出参数确定为所述虚拟节点的输入参数,以建立由所述参考任务节点向其下游链路的虚拟节点的依赖关系,将所述虚拟节点的配置信息中的输入参数确定为所述参考任务节点的输出参数,以建立由所述虚拟节点向其上游链路的参考任务节点的依赖关系。
本发明实施例提供的该方法,能够将所有参考任务节点与虚拟任务节点之间建立上下游依赖关系,这样可以便于根据虚拟节点查找到其上游链路的所有叶子节点,进而实现任务节点的高效管理。
如图4所示,在本发明的又一实施例中,提供一种任务节点管理方法,包括以下步骤。
在步骤S401中,获取多个包含虚拟节点和至少两个任务节点的拓扑结构。
在步骤S402中,在多个拓扑结构中查找与待管理的业务功能具有相同业务标识的虚拟节点。
在本发明实施例中,根据待管理的业务功能对应的业务标识,可以查找每个拓扑结构中虚拟节点的业务标识。
在步骤S403中,获取所述虚拟节点以及包含所述虚拟节点的拓扑结构。
在步骤S404中,通过管理虚拟节点,管理所述拓扑结构中位于所述虚拟节点上游链路上的任务节点。
本发明通过获取多个包含虚拟节点和至少两个任务节点的拓扑结构,在多个拓扑结构中查找与待管理的业务功能具有相同业务标识的虚拟节点,获取所述虚拟节点以及包含所述虚拟节点的拓扑结构,通过管理虚拟节点,可以管理所述拓扑结构中位于所述虚拟节点上游链路上的任务节点。
本发明实施例提供的该方法,能够利用事先构建的虚拟节点、虚拟节点的业务标识以及包含虚拟节点的拓扑结构,在需要对实现某一业务功能的任务节点进行批量管理时,自动批量的管理待管理的任务节点。
如图5所示,在本发明的又一实施例中,所述步骤S404包括以下步骤。
在步骤S501中,检测是否接收到对所述虚拟节点进行管理的管理操作。
在本发明实施例中,管理操作可以指设置虚拟节点的优先级等。
当接收到对所述虚拟节点进行管理的管理操作时,在步骤S502中,根据所述拓扑结构查找到位于所述虚拟节点上游链路上的任务节点。
在本发明实施例中,由于每个虚拟节点是建立在任务集合中所有任务节点的下游链路上,并与任务集合中的每个参考任务节点建立有直接的拓扑结构,与其它任务节点建立有间接的拓扑结构,所以可以根据拓扑结构查找到虚拟节点上游链路上的所有任务节点。
在实际应用中,首先,可以以虚拟节点为基础,查找到其上游链路直接建立有拓扑结构的参考任务节点,接着,再以参考任务节点为基础,查找其上游链路直接建立有拓扑结构的任务节点,按照此种方式一直进行查找,直至查找到任务集合中的所有任务节点。
在步骤S503中,对查找到的任务节点执行所述管理操作。
本发明通过检测是否接收到对所述虚拟节点进行管理的管理操作,当接收到对所述虚拟节点进行管理的管理操作时,根据所述拓扑结构查找到位于所述虚拟节点上游链路上的任务节点,可以对查找到的任务节点执行所述管理操作。
本发明实施例提供的该方法,能够自动根据虚拟节点批量的查找到其上游链路的所有任务节点,方法简单且高效。
如图6所示,在本发明的又一实施例中,提供一种任务节点管理装置,所述装置包括:选取模块601、确定构建模块602、确定模块603、构建模块604和建立模块605。
选取模块601,用于在预设任务集中选取包含具有相同的业务标识的至少两个任务节点的任务集合,所述业务标识用于标识任务节点实现的业务功能;
确定构建模块602,用于确定所述任务集合中任务节点之间的上下游依赖关系,利用所述上下游依赖关系构建所述任务集合中任务节点之间拓扑结构;
确定模块603,用于根据所述拓扑结构从所述任务集合中确定出满足预设条件的至少一个参考任务节点;
构建模块604,用于在所有所述参考任务节点的下游链路上构建虚拟节点,所述虚拟节点与所述参考任务节点的业务标识相同;
建立模块605,用于建立每个所述参考任务节点与所述虚拟节点之间的上下游依赖关系,并更新所述拓扑结构,以便通过管理虚拟节点,实现管理所述更新后的拓扑结构中位于所述虚拟节点上游链路上的任务节点。
在本发明的又一实施例中,所述确定模块包括:
第一获取子模块,用于根据所述拓扑结构获取作为叶子节点的任务节点;
第一确定子模块,用于将作为叶子节点的任务节点确定为参考任务节点。
在本发明的又一实施例中,所述建立模块包括:
第二获取子模块,用于获取所述参考任务节点的配置信息以及所述虚拟节点的配置信息;
第二确定子模块,用于将所述参考任务节点的配置信息中的输出参数确定为所述虚拟节点的输入参数,以建立由所述参考任务节点向其下游链路的虚拟节点的依赖关系。
第三确定子模块,用于将所述虚拟节点的配置信息中的输入参数确定为所述参考任务节点的输出参数,以建立由所述虚拟节点向其上游链路的参考任务节点的依赖关系。
如图7所示,在本发明的又一实施例中,提供一种任务节点管理装置,包括:第一获取模块701、查找模块702、第二获取模块703和管理模块704。
第一获取模块701,用于获取多个包含虚拟节点和至少两个任务节点的拓扑结构。
查找模块702,用于在多个拓扑结构中查找与待管理的业务功能具有相同业务标识的虚拟节点。
第二获取模块703,用于获取所述虚拟节点以及包含所述虚拟节点的拓扑结构。
管理模块704,用于通过管理虚拟节点,管理所述拓扑结构中位于所述虚拟节点上游链路上的任务节点。
在本发明的又一实施例中,所述管理模块包括:
检测子模块,用于检测是否接收到对所述虚拟节点进行管理的管理操作;
查找子模块,用于当接收到对所述虚拟节点进行管理的管理操作时,根据所述拓扑结构查找到位于所述虚拟节点上游链路上的任务节点;
执行子模块,用于对查找到的任务节点执行所述管理操作。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。