分布式任务调度方法及其设备、分布式任务处理系统和介质与流程
- 国知局
- 2024-12-26 16:09:12
本技术涉及任务处理,特别是涉及一种分布式任务调度方法及分布式任务调度设备、分布式任务处理系统和存储介质。
背景技术:
1、在现代计算环境中,分布式任务调度设备在处理大量并发任务时扮演着至关重要的角色。这些设备通常用于调度和管理分布式计算资源,以执行复杂的计算任务。然而,现有的分布式任务调度设备在高并发场景下,在任务调度和执行过程中,无法充分利用分布式环境下的计算资源,容易出现性能瓶颈。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种分布式任务调度方法及分布式任务调度设备、分布式任务处理系统和存储介质,能够基于各计算节点的节点资源使用情况将负载过量的计算节点中的大任务拆分后分配到负载较轻的计算节点中运行,动态且充分利用分布式环境下的各个计算节点的节点资源,提高分布式任务调度系统的扩展性和性能。
2、一种分布式任务调度方法,应用于分布式任务调度设备,包括:获取各计算节点的节点资源使用信息,根据各计算节点的节点资源使用信息确定各计算节点的负载数据;根据各计算节点的负载数据确定出负载超过设定第一负载量的第一计算节点和负载小于设定第二负载量的多个第二计算节点,第一负载量大于第二负载量;获取第一计算节点中的大任务,大任务为满足占用第一计算节点的节点资源大于设定节点资源阈值、任务处理时间大于设定时长以及任务数据量大于数据量阈值中任一项或多项条件的任务;按照设定切片条件将大任务拆分出多个子任务;获取各子任务的任务属性、各第二计算节点的节点属性和负载数据,根据各子任务的任务属性和各第二计算节点的节点属性和负载数据将各子任务分配到各第二计算节点,以使得各第二计算节点执行对应的子任务。
3、在其中一个实施例中,节点资源使用信息包括cpu利用率、内存利用率以及网络带宽使用率;根据各计算节点的节点资源使用信息确定各计算节点的负载数据,包括:分别获取各计算节点的cpu利用率、内存利用率以及网络带宽使用率的权重系数;根据各计算节点的cpu利用率以及cpu利用率的权重系数、内存利用率以及内存利用率的权重系数、以及网络带宽使用率以及网络带宽使用率的权重系数计算各计算节点的负载数据。
4、在其中一个实施例中,设定切片条件包括数据切片条件、任务分解条件和时间窗口条件;按照设定切片条件将大任务拆分出多个子任务,包括:在大任务的任务结构满足任务分解条件时,基于任务分解条件将大任务拆分出各任务逻辑的子任务;在大任务为数据文件任务时,基于数据切片条件中的行或列的逻辑将大任务的数据集切分成多个子数据集;在大任务涉及时间序列数据时,按照时间窗口条件将大任务拆分出多个满足时间序列的子任务。
5、在其中一个实施例中,各第二计算节点的节点属性包括cpu性能和磁盘读写性能;根据各子任务的任务属性和各第二计算节点的节点属性和负载数据将各子任务分配到各第二计算节点,包括:在任一子任务的任务属性为计算密集型时,基于各第二计算节点的节点属性确定出cpu性能达到设定cpu性能要求的第二计算节点,将任一子任务分配到cpu性能达到设定性能要求的第二计算节点;在任一子任务的任务属性为数据密集型时,基于各第二计算节点的节点属性确定磁盘读写性能达到设定磁盘读写性能要求的第二计算节点,将任一子任务分配到磁盘读写性能达到设定磁盘读写性能要求的第二计算节点;在任一子任务的任务属性不是数据密集型且不是计算密集型时,获取任一子任务的数据属性以及各第二计算节点存储数据的数据属性,若是任一子任务的数据属性与任一第二计算节点存储数据的数据属性相匹配,则将任一子任务分配到匹配的第二计算节点,若是任一子任务的数据属性与任一第二计算节点存储数据的数据属性不匹配,则基于各第二计算节点的负载数据确定出负载小于设定负载要求的第二计算节点,将任一子任务分配到负载小于设定负载要求的第二计算节点,其中,负载小于设定负载要求的第二计算节点在被分配到任一子任务时,暂停任务优先级小于任一子任务的节点任务,将节点任务的节点资源分配给任一子任务,以使用分配的节点资源执行任一子任务。
6、在其中一个实施例中,根据各计算节点的节点资源使用信息确定各计算节点的负载数据的步骤之后,还包括:根据各计算节点的负载数据确定负载小于设定第三负载量的多个第三计算节点;若是多个第三计算节点的多个第三目标计算节点中均包含存在任务关联的任务,则将各存在任务关联的任务按照数据依赖或流程顺序进行合并,得到任务集,将任务集分配到指定的第三目标计算节点。
7、在其中一个实施例中,指定的第三目标计算节点存储有任务集中各任务需要处理的相同的数据集或数据分片。
8、在其中一个实施例中,一种分布式任务调度方法还包括:通过心跳机制或对各计算节点的设备进行健康检查的方式,检测各计算节点是否出现故障;若任一计算节点出现故障,则获取故障的计算节点中未执行任务;根据未出现故障的计算节点的负载数据确定出负载小于设定第四负载量的多个第四计算节点;将未执行任务拆分后分别分配到各第四计算节点。
9、一种分布式任务处理系统,分布式任务处理系统包括分布式任务调度设备和多个计算节点;分布式任务调度设备获取各计算节点的节点资源使用信息,根据各计算节点的节点资源使用信息确定各计算节点的负载数据;分布式任务调度设备根据各计算节点的负载数据确定出负载超过设定第一负载量的第一计算节点和负载小于设定第二负载量的多个第二计算节点,第一负载量大于第二负载量;分布式任务调度设备获取第一计算节点中的大任务,大任务为满足占用第一计算节点的节点资源大于设定节点资源阈值、任务处理时间大于设定时长以及任务数据量大于数据量阈值中任一项或多项条件的任务;分布式任务调度设备按照设定切片条件将大任务拆分出多个子任务;分布式任务调度设备获取各子任务的任务属性、各第二计算节点的节点属性和负载数据,根据各子任务的任务属性和各第二计算节点的节点属性和负载数据将各子任务分配到各第二计算节点;各第二计算节点执行对应的子任务。
10、本技术还提供一种分布式任务调度设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
11、本技术还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
12、上述一种分布式任务调度方法及分布式任务调度设备、分布式任务处理系统和存储介质,获取各计算节点的节点资源使用信息,根据各计算节点的节点资源使用信息确定各计算节点的负载数据;根据各计算节点的负载数据确定出负载超过设定第一负载量的第一计算节点和负载小于设定第二负载量的多个第二计算节点;获取第一计算节点中的大任务,大任务为满足占用第一计算节点的节点资源大于设定节点资源阈值、任务处理时间大于设定时长以及任务数据量大于数据量阈值中任一项或多项条件的任务;按照设定切片条件将大任务拆分出多个子任务;获取各子任务的任务属性、各第二计算节点的节点属性和负载数据,根据各子任务的任务属性和各第二计算节点的节点属性和负载数据将各子任务分配到各第二计算节点,以使得各第二计算节点执行对应的子任务。
13、因此,能够将任意负载过量的计算节点中的大任务拆分多出子任务后,分别分配给负载过少的计算节点,以利用负载过少的多个计算节点的节点资源处理负载过量的计算节点中的大任务,动态且充分利用分布式环境下的各个计算节点的节点资源,避免某些计算节点的过载,提高分布式任务调度系统中各计算节点的资源的高效利用,提高分布式任务调度系统的扩展性和性能。
本文地址:https://www.jishuxx.com/zhuanli/20241216/348414.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表