本申请涉及大数据,具体而言,本申请涉及一种基于容器化分布式系统的任务调度方法。
背景技术:
1、传统的分布式系统(如hadoop、spark生态系统等)具备卓越的大数据处理和分析能力,但缺乏弹性能力,通常只能根据高峰期的业务需求来部署资源,导致低峰期时资源利用率较低。为了更灵活地满足不断变化的业务需求并提高资源利用率,将大数据处理和分析任务迁移到云端(如对分布式系统进行容器化)已成为当前的一个趋势。
2、但容器化分布系统通常需将任务调度至不同的节点上执行,即需要将任务数据通过网络传输数据到目标节点的计算资源进行处理,而网络传输所需的时间和带宽限制会导致任务执行的延迟,从而降低了数据处理的效率。
3、在此情况下,亟需提供一种基于容器化分布式系统的任务调度方案,提高数据处理效率。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
2、第一方面,本申请实施例提供了一种基于容器化分布式系统的任务调度方法,其特征在于,应用于容器化分布式系统;
3、方法包括:
4、控制驱动模块,确定待调度任务的任务需求和数据存储位置,从执行模块中确定满足任务需求的可用执行模块,并从可用执行模块中确定目标执行模块,将待调度任务的执行指令发送至目标执行模块;其中,目标执行模块为根据可用执行模块的数据本地性级别确定的;数据本地性级别为根据数据存储位置和可用执行模块所在主机确定的;
5、控制目标执行模块,根据执行指令执行待调度任务。
6、在本申请的一种可选实施例中,方法还包括:
7、控制执行模块,确定执行模块初次启动或状态变化,向驱动模块发送注册信息;其中,注册信息包括:主机唯一标志;
8、控制驱动模块,根据注册信息进行执行模块的注册。
9、在本申请的一种可选实施例中,从可用执行模块中确定目标执行模块,包括:
10、根据数据存储位置,确定存储待调度任务对应数据的执行模块标志;其中,执行模块标志包括:容器组网络地址和/或执行模块唯一标志;
11、根据执行模块标志和可用执行模块所在主机对应的数据本地性级别,从对应数据本地性级别最高的可用执行模块中,确定目标执行模块。
12、在本申请的一种可选实施例中,根据执行模块标志和可用执行模块所在主机对应的数据本地性级别,从对应数据本地性级别最高的可用执行模块中,确定目标执行模块,包括:
13、从执行模块的注册信息中,确定执行模块唯一标志;
14、确定执行模块唯一标志对应的执行模块是否为可用执行模块;
15、若确定执行模块唯一标志对应的执行模块是可用执行模块,则确定执行模块唯一标志对应的执行模块为目标执行模块。
16、在本申请的一种可选实施例中,方法还包括:
17、若确定执行模块唯一标志对应的执行模块不是可用执行模块,则从执行模块的注册信息中,确定与容器组网络地址对应的主机唯一标志;
18、根据主机唯一标志,确定第一主机;
19、若第一主机中存在可用执行模块,则从位于第一主机中的可用执行模块中确定目标执行模块。
20、在本申请的一种可选实施例中,方法还包括:
21、若第一主机中不存在可用执行模块,则确定与第一主机位于相同机架的第二主机;
22、若第二主机中存在可用执行模块,则从位于第二主机中的可用执行模块中确定目标执行模块。
23、在本申请的一种可选实施例中,方法还包括:
24、若第二主机中不存在可用执行模块,则从所有可用执行模块中确定目标执行模块。
25、第二方面,本申请实施例提供了一种容器化分布式系统,包括:驱动模块,和与驱动模块对应的至少一个执行模块;
26、驱动模块,用于确定待调度任务的任务需求和数据存储位置,从执行模块中确定满足任务需求的可用执行模块,并从可用执行模块中确定目标执行模块,将待调度任务的执行指令发送至目标执行模块;其中,目标执行模块为根据可用执行模块的数据本地性级别确定的;数据本地性级别为根据数据存储位置和可用执行模块所在主机确定的;
27、目标执行模块,用于根据执行指令执行待调度任务。
28、第三方面,本申请实施例提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现上述任一实施例所提供的基于容器化分布式系统的任务调度方法的步骤。
29、第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例所提供的基于容器化分布式系统的任务调度方法。
30、本申请实施例提供的技术方案带来的有益效果是:
31、本方案通过根据任务需求和数据存储位置,能够以数据本地性级别为依据,从可用执行模块中确定目标执行模块,实现资源利用的最优化,以降低数据传输所需时间,提高数据处理效率。
1.一种基于容器化分布式系统的任务调度方法,其特征在于,应用于容器化分布式系统;
2.根据权利要求1所述的基于容器化分布式系统的任务调度方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的基于容器化分布式系统的任务调度方法,其特征在于,所述从所述可用执行模块中确定目标执行模块,包括:
4.根据权利要求3所述的基于容器化分布式系统的任务调度方法,其特征在于,所述根据执行模块标志和所述可用执行模块所在主机对应的数据本地性级别,从对应数据本地性级别最高的可用执行模块中,确定目标执行模块,包括:
5.根据权利要求4所述的基于容器化分布式系统的任务调度方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的基于容器化分布式系统的任务调度方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的基于容器化分布式系统的任务调度方法,其特征在于,所述方法还包括:
8.一种容器化分布式系统,其特征在于,包括:驱动模块,和与所述驱动模块对应的至少一个执行模块;
9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。