批量任务的执行方法、装置及电子设备与流程

文档序号:37016131发布日期:2024-02-09 13:07阅读:20来源:国知局
批量任务的执行方法、装置及电子设备与流程

本技术涉及云计算、金融科技领域和其他,具体而言,涉及一种批量任务的执行方法、装置及电子设备。


背景技术:

1、目前,在大数据、人工智能场景中,k8s集群中会运行一类并发任务:这种并发任务负责处理批量任务,由一个容器组(即pod)或多个pod组成,每个pod包含一个或多个容器,在集群中要求该并发任务中的所有容器得到集群分配的资源,或者分配到资源的容器的数量达到最低阈值时,才能执行该并发任务。这种调度并发任务所需资源的过程在大数据、人工智能场景中较为常见,也是云原生化过程中关键的技术问题。

2、由于当前k8s集群的原生系统调度器无法满足该并发任务的调度需求,现有技术中存在一种基于pod组的并发负载调度算法:通过给pod打上特定的标签组成逻辑上的pod组,并监听该pod组涵盖的所有pod是否已完成调度,如果是则运行该组pod,如果不是则保持等待状态,直到该并发任务超时。

3、但现有技术中基于pod组的并发负载调度算法存在以下问题:一是调度成功率低,由于系统调度器的调度队列中会穿插其它负载,导致同一pod组中的每个容器无法在一定时长内整体完成调度,进而降低了并发任务调度成功率;二是容易造成资源死锁的问题,由于并发任务不具备执行优先级,当多个并发任务同时进行时,多个并发任务中的部分容器调度成功,但并发任务整体无法到达执行要求,进而造成多个并发任务相互抢占资源,产生资源死锁的问题。

4、针对相关技术中集群节点运行批量任务时,由于无法保证该批量任务相关的至少一个容器处于就绪状态,从而引发资源死锁,导致该批量任务无法运行,降低了服务可用性的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术的主要目的在于提供一种批量任务的执行方法、装置及电子设备,以解决相关技术中集群节点运行批量任务时,由于无法保证该批量任务相关的至少一个容器处于就绪状态,从而引发资源死锁,导致该批量任务无法运行,降低了服务可用性的问题。

2、为了实现上述目的,根据本技术的一个方面,提供了一种批量任务的执行方法,该方法包括:确定集群中待执行的批量任务和执行所述批量任务的至少一个容器,得到并发任务;依据业务需求确定所述并发任务的优先级,得到所述并发任务的执行优先级;依据所述并发任务的执行优先级确定所述并发任务的任务调度值;依据所述并发任务的执行优先级和所述并发任务的任务调度值对所述并发任务进行排序,生成目标队列;执行所述目标队列中的所述并发任务,得到所述并发任务的执行结果。

3、进一步地,依据所述并发任务的执行优先级确定所述并发任务的任务调度值包括:确定执行所述并发任务时的资源使用情况;依据历史并发任务的执行情况,为所述执行优先级配置第一权重系数,以及为所述资源使用情况配置第二权重系数,其中,所述第一权重系数和所述第二权重系数的和为1;依据所述执行优先级、所述第一权重系数、所述资源使用情况和所述第二权重系数确定所述任务调度值。

4、进一步地,确定执行所述并发任务时的资源使用情况包括:确定执行所述并发任务所占用的至少一个资源类型,得到资源类型集合;确定所述资源类型集合中每个资源类型所占用的资源量;依据每个资源类型所占用的资源量和所述集群中包含每个资源类型的资源量确定所述并发任务时的资源使用情况。

5、进一步地,依据所述并发任务的执行优先级和所述并发任务的任务调度值对所述并发任务进行排序,生成目标队列包括:按照所述任务调度值对所述并发任务进行排序,得到第一队列;依据所述第一队列和所述集群当前的空闲资源量确定待执行的并发任务,得到目标并发任务;依据每个目标并发任务的执行优先级对所述目标并发任务进行排序,得到所述目标队列。

6、进一步地,依据所述第一队列和所述集群当前的空闲资源量确定待执行的并发任务,得到目标并发任务包括:确定所述第一队列中每个并发任务所需要占用的资源量,得到所述第一队列中每个并发任务的目标资源量;依据所述集群当前的空闲资源量和所述第一队列中每个并发任务的目标资源量确定所述目标并发任务。

7、进一步地,依据每个目标并发任务的执行优先级对所述目标并发任务进行排序,得到所述目标队列包括:依据所述执行优先级对所述目标并发任务进行排序,得到第三队列;依据所述目标并发任务的任务创建时刻对所述第三队列中所述执行优先级相同的所述目标并发任务进行排序,得到第四队列;依据所述目标并发任务的任务名称对所述第四队列中所述任务创建时刻相同的所述目标并发任务进行排序,得到所述目标队列。

8、进一步地,在依据所述第一队列和所述集群当前的空闲资源量确定待执行的并发任务,得到目标并发任务之后,所述方法还包括:将所述第一队列中除所述目标并发任务之外的并发任务的任务状态设置为待处理状态。

9、进一步地,在依据业务需求确定所述并发任务的优先级,得到所述并发任务的执行优先级之前,所述方法还包括:确定所述并发任务的任务状态是否为待处理状态;在所述并发任务的任务状态为所述待处理状态的情况下,依据所述集群当前的空闲资源量对所述并发任务进行预调度,得到预调度结果;在所述预调度结果为调度失败的情况下,配置所述并发任务的任务状态为所述待处理状态;在所述预调度结果为调度成功的情况下,执行依据所述业务需求确定对所述并发任务进行处理的优先级,得到所述并发任务的执行优先级的步骤。

10、为了实现上述目的,根据本技术的另一方面,提供了一种批量任务的执行装置,该装置包括:第一确定单元,用于确定集群中待执行的批量任务和执行所述批量任务的至少一个容器,得到并发任务;第二确定单元,用于依据业务需求确定所述并发任务的优先级,得到所述并发任务的执行优先级;第三确定单元,用于依据所述并发任务的执行优先级确定所述并发任务的任务调度值;排序单元,用于依据所述并发任务的执行优先级和所述并发任务的任务调度值对所述并发任务进行排序,生成目标队列;执行单元,用于执行所述目标队列中的所述并发任务,得到所述并发任务的执行结果。

11、进一步地,所述第三确定单元包括:第一确定子单元,用于确定执行所述并发任务时的资源使用情况;第一配置子单元,用于依据历史并发任务的执行情况,为所述执行优先级配置第一权重系数,以及为所述资源使用情况配置第二权重系数,其中,所述第一权重系数和所述第二权重系数的和为1;第二确定子单元,用于依据所述执行优先级、所述第一权重系数、所述资源使用情况和所述第二权重系数确定所述任务调度值。

12、进一步地,所述第一确定子单元包括:第一确定模块,用于确定执行所述并发任务所占用的至少一个资源类型,得到资源类型集合;第二确定模块,用于确定所述资源类型集合中每个资源类型所占用的资源量;第三确定模块,用于依据每个资源类型所占用的资源量和所述集群中包含每个资源类型的资源量确定所述并发任务时的资源使用情况。

13、进一步地,所述排序单元包括:第一排序子单元,用于按照所述任务调度值对所述并发任务进行排序,得到第一队列;第三确定子单元,用于依据所述第一队列和所述集群当前的空闲资源量确定待执行的并发任务,得到目标并发任务;第二排序子单元,用于依据每个目标并发任务的执行优先级对所述目标并发任务进行排序,得到所述目标队列。

14、进一步地,所述第三确定子单元包括:第四确定模块,用于确定所述第一队列中每个并发任务所需要占用的资源量,得到所述第一队列中每个并发任务的目标资源量;第五确定模块,用于依据所述集群当前的空闲资源量和所述第一队列中每个并发任务的目标资源量确定所述目标并发任务。

15、进一步地,所述第二排序子单元包括:第一排序模块,用于依据所述执行优先级对所述目标并发任务进行排序,得到第三队列;第二排序模块,用于依据所述目标并发任务的任务创建时刻对所述第三队列中所述执行优先级相同的所述目标并发任务进行排序,得到第四队列;第三排序模块,用于依据所述目标并发任务的任务名称对所述第四队列中所述任务创建时刻相同的所述目标并发任务进行排序,得到所述目标队列。

16、进一步地,所述排序单元还包括:第二配置子单元,用于在依据所述第一队列和所述集群当前的空闲资源量确定待执行的并发任务,得到目标并发任务之后,将所述第一队列中除所述目标并发任务之外的并发任务的任务状态设置为待处理状态。

17、进一步地,所述装置还包括:第四确定单元,用于在依据业务需求确定所述并发任务的优先级,得到所述并发任务的执行优先级之前,确定所述并发任务的任务状态是否为待处理状态;第一处理单元,用于在所述并发任务的任务状态为所述待处理状态的情况下,依据所述集群当前的空闲资源量对所述并发任务进行预调度,得到预调度结果;第二处理单元,用于在所述预调度结果为调度失败的情况下,配置所述并发任务的任务状态为所述待处理状态;第三处理单元,用于在所述预调度结果为调度成功的情况下,执行依据所述业务需求确定对所述并发任务进行处理的优先级,得到所述并发任务的执行优先级的步骤。

18、为了实现上述目的,根据本技术的一个方面,提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项所述批量任务的执行方法。

19、通过本技术,采用以下步骤:确定集群中待执行的批量任务和执行所述批量任务的至少一个容器,得到并发任务;依据业务需求确定所述并发任务的优先级,得到所述并发任务的执行优先级;依据所述并发任务的执行优先级确定所述并发任务的任务调度值;依据所述并发任务的执行优先级和所述并发任务的任务调度值对所述并发任务进行排序,生成目标队列;执行所述目标队列中的所述并发任务,得到所述并发任务的执行结果,解决了相关技术中集群节点运行批量任务时,由于无法保证该批量任务相关的至少一个容器处于就绪状态,从而引发资源死锁,导致该批量任务无法运行,降低了服务可用性的问题。通过批量任务的任务信息定义并发任务,能够对执行批量任务的至少一个容器进行整体调度,避免了集群执行多个批量任务时由于每个批量任务中的单个容器没有分配到集群资源导致集群资源死锁的问题,提高了批量任务的调度成功率,并且通过确定并发任务的优先级以及任务调度值生成动态的目标队列,保证了高优先级应用的并发任务能够被优先处理,达到了提高业务稳定性的效果,进一步达到了提高服务可用性的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1