System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及任务调度领域,具体涉及一种基于dag分组的任务并行度调度方法、介质和设备。
技术介绍
1、离线计算是对离线批量及延时较高的静态数据进行处理的一种数据计算技术,适用于对大规模数据集在离线环境中进行处理分析。离线计算的任务调度是对数据处理任务进行配置检查,依据执行顺序生成任务流,并分配对应节点以对离线任务进行管理。在传统大数据平台的离线计算流程节点调度中,调度流程包含任务数量多,对所有调度任务需手动确定执行顺序,以生成任务dag图再进行节点分配。
2、目前,主流大数据平台的离线计算任务调度中,对于某一调度流程中的众多任务需独立确定节点依赖,以进行资源分配,不利于平台集群的资源利用,且调度流程执行效率低。且现有的任务调度技术中需手动确定任务执行顺序及资源分配情况,操作流程繁琐,复杂度高,不利于资源均匀分配,可能导致任务执行并行度低的问题,不能有效满足实际应用需求。
3、公开号为“cn108984284a”的中国专利申请公开了一种基于离线计算平台的dag任务调度方法及装置,方法包括:根据预先存储的元数据信息构建多个任务节点,及根据元数据间依赖关系构建多个任务节点间的依赖关系;对任务节点进行拓扑排序,生成dag任务关系图;根据触发地对任务节点的调度请求,执行对应的任务节点的任务,并实时修改dag任务关系图中对应的任务节点的显示样式。但该方法更多地是为了实现实时对任务调度进行监听,方便利用dag任务关系图对任务异常进行追溯,查找任务异常源头。其主要是基于多个相关任务节点并根据元数据间依赖关系进行拓扑排序
技术实现思路
1、鉴于上述问题,本专利技术提供了一种基于dag分组的任务并行度调度的技术方案,用以解决现有技术的任务并行度调度方式执行速度慢,效率不高等问题。
2、为实现上述目的,第一方面,本专利技术提供了一种基于dag分组的任务并行度调度方法,所述方法包括以下步骤:
3、对相同类型的调度任务进行分组;
4、根据初始并行度以及任务节点的执行顺序,对执行各分组的调度任务的任务节点进行初步划分,得到第一划分结果,所述第一划分结果包括若干并行任务节点组,每一所述并行任务节点组包括至少一个任务节点;
5、根据各分组内任务节点的元数据规模及历史执行耗时信息对所述第一划分结果进行修正,得到第二划分结果,所述第二划分结果包括各并行任务节点组所包含的任务节点的划分修正结果;
6、根据所述第二划分结果确定分组内任务节点的调度关系,自动生成分组内的dag图;
7、根据生成的所述dag图调度分组内的并行任务节点组执行所述调度任务;
8、执行所述调度任务对应的分组内的并行任务节点组根据最佳适应算法确定,所述最佳适应算法包括以下步骤:
9、将接收的需要调度的任务按所占资源大小进行降序排序;
10、对已排序的任务进行遍历,判断是否完成遍历,若是则遍历完成,终止流程,若否则每次处理一所述任务的分配,具体包括:
11、判断当前任务是否存在最优并行任务节点组;
12、若存在则将当前任务分配至所述最优并行任务节点组进行执行,所述最优并行任务节点组为分组内使用资源最少且可用资源数大于当前任务的并行任务节点组;
13、若不存在则将当前任务划分至当前资源总数最小的并行任务节点组,等待该并行任务节点组中可用资源数大于或等于该任务时再将当前任务分配给该并行任务节点组。
14、进一步的,所述初始并行度根据用户输入的设定指令进行确定或根据离线计算资源默认并行度进行确定,所述任务节点的执行顺序根据分组内任务节点的依赖关系进行确定。
15、进一步的,所述元数据规模根据元数据表中所描述的实际表的数据量进行确定 ,所述元数据表中记载有多个元数据信息,所述元数据信息包括任务节点的名称、数据类型、调度类型和任务执行状态。
16、进一步的,所述历史执行耗时信息从任务节点的历史执行日志信息中获取,所述历史执行日志信息包括任务节点的历史执行耗时信息、任务节点分配情况和任务执行状态。
17、进一步的,各个并行任务节点组所分配的资源总数的差异在预设误差范围内。
18、进一步的,所述方法包括:按照预设周期定时更新所述并行任务节点组中各个任务节点的运行状态。
19、进一步的,所述对相同类型的调度任务进行分组包括:根据调度任务执行所需的资源大小以及历史执行时长对调度任务进行分组;
20、所述方法包括:
21、根据并行度生成并行任务流,每一并行任务流包括若干任务,所述任务被配置为通过所述最佳适应算法分配至所述并行任务节点组中的并行节点,每一并行节点用于执行一个所述任务。
22、进一步的,所述资源包括硬件资源和/或软件资源;
23、所述硬件资源包括处理器核心、内存、存储空间、网络设备、输入/输出设备中的任一项或多项;
24、所述软件资源包括线程、许可证、连接、数据库中的任一项或多项。
25、在第二方面,本专利技术还提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现在第一方面所述的方法。
26、在第三方面,本专利技术还提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现在第一方面所述的方法。
27、区别于现有技术,上述技术方案涉及的基于dag分组的任务并行度调度方法、存储介质和电子设备,所述方法根据初始并行度以及任务节点的执行顺序,对执行各分组的调度任务的任务节点进行初步划分,得到第一划分结果;而后根据各分组内任务节点的元数据规模及历史执行耗时信息对所述第一划分结果进行修正,得到第二划分结果;而后根据所述第二划分结果确定分组内任务节点的调度关系,自动生成分组内的dag图;而后根据生成的所述dag图调度分组内的并行任务节点组执行所述调度任务。本申请通过调度任务对应的元数据规模和历史执行时长,采用最佳适应算法自动对调度任务进行划分,同时确保分组内任务具有良好并行性。
28、上述
技术实现思路
相关记载仅是本专利技术技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本专利技术的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本专利技术的上述目的及其它目的、特征和优点能够更易于理解,以下结合本专利技术的具体实施方式及附图进行说明。
【技术保护点】
1.一种基于DAG分组的任务并行度调度方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的基于DAG分组的任务并行度调度方法,其特征在于,所述初始并行度根据用户输入的设定指令进行确定或根据离线计算资源默认并行度进行确定,所述任务节点的执行顺序根据分组内任务节点的依赖关系进行确定。
3.如权利要求1所述的基于DAG分组的任务并行度调度方法,其特征在于,所述元数据规模根据元数据表中所描述的实际表的数据量进行确定 ,所述元数据表中记载有多个元数据信息,所述元数据信息包括任务节点的名称、数据类型、调度类型和任务执行状态。
4.如权利要求1所述的基于DAG分组的任务并行度调度方法,其特征在于,所述历史执行耗时信息从任务节点的历史执行日志信息中获取,所述历史执行日志信息包括任务节点的历史执行耗时信息、任务节点分配情况和任务执行状态。
5.如权利要求1所述的基于DAG分组的任务并行度调度方法,其特征在于,各个并行任务节点组所分配的资源总数的差异在预设误差范围内。
6.如权利要求1所述的基于DAG分组的任务并行度调度方法,其
7.如权利要求1所述的基于DAG分组的任务并行度调度方法,其特征在于,所述对相同类型的调度任务进行分组包括:根据调度任务执行所需的资源大小以及历史执行时长对调度任务进行分组;
8.如权利要求1-7任一项所述的基于DAG分组的任务并行度调度方法,其特征在于,所述资源包括硬件资源和/或软件资源;
9.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-8中任一项所述的方法。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-8中任一项所述的方法。
...【技术特征摘要】
1.一种基于dag分组的任务并行度调度方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的基于dag分组的任务并行度调度方法,其特征在于,所述初始并行度根据用户输入的设定指令进行确定或根据离线计算资源默认并行度进行确定,所述任务节点的执行顺序根据分组内任务节点的依赖关系进行确定。
3.如权利要求1所述的基于dag分组的任务并行度调度方法,其特征在于,所述元数据规模根据元数据表中所描述的实际表的数据量进行确定 ,所述元数据表中记载有多个元数据信息,所述元数据信息包括任务节点的名称、数据类型、调度类型和任务执行状态。
4.如权利要求1所述的基于dag分组的任务并行度调度方法,其特征在于,所述历史执行耗时信息从任务节点的历史执行日志信息中获取,所述历史执行日志信息包括任务节点的历史执行耗时信息、任务节点分配情况和任务执行状态。
5.如权利要求1所述的基于dag分组的任务并行度调度方...
【专利技术属性】
技术研发人员:徐传秋,钟春林,王超,林奋强,
申请(专利权)人:福建顶点软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。