掌桥专利:专业的专利平台
掌桥专利
首页

一种大数据平台中的任务调度方法、装置、设备及介质

文献发布时间:2023-06-19 18:32:25


一种大数据平台中的任务调度方法、装置、设备及介质

技术领域

本发明属于大数据技术领域,具体涉及一种大数据平台中的任务调度方法、装置、设备及介质。

背景技术

随着移动互联网和物联网的爆发,大数据价值在越来越多的场景中被挖掘,来自全世界各个方面的数据量急速膨胀,计算机需要计算处理的大数据任务越来越多。如果大数据平台能够将大数据任务合理的分配给所有可用的工作节点进行处理,那么大数据平台的运行和数据处理效率将会大大提升。任务调度系统是大数据开发平台的核心组件之一,其关注的重点之一包括底层物理资源的分配管理,目标是最大化地利用集群机器的CPU、磁盘、网络等硬件资源。如何将大数据任务合理地分配给工作节点,这是任务调度系统需要解决的问题。如果任务分配不均,或者工作节点异构,这会导致某些区域的工作节点负载过高,造成整个大数据平台的性能下降。

现有的大数据平台的任务调度策略,如Hadoop,其任务调度策略默认为两种:先进先出调度策略和公平共享模式调度策略。先进先出任务调度策略:每一个作业被切分成多个任务,第一个作业优先获取所有可用资源,接下来第二个作业在获取剩余可用资源。公平调度策略主要由公平调度器负责,设计目标是为所有的应用分配公平的资源,通过参数来设置使用公平调度。现有的大数据平台的任务调度策略,再如Spark,Spark任务依然采用Hadoop默认先进先出策略和公平调度策略,但Spark调度策略考虑任务间的依赖。

上述这些方法的优点在于易于实现和应用,但没有考虑到节点异构的情况,也没有考虑节点可用资源的余量,导致作业在节点之间的分配和调度不合理,造成整个大数据平台的性能下降。

发明内容

针对上述背景技术中作业在节点之间的分配和调度不合理,造成整个大数据平台的性能下降的问题,本发明提出了一种大数据平台中的任务调度方法、装置、设备及介质。综合考虑了被调度节点的CPU使用率、内存使用率、网卡发送带宽利用率和网卡接收带宽利用率,既可以降低工作节点对网络带宽的依赖,又能提高节点资源的利用率,从而增强大数据平台的运行效率。

为了实现上述目的,本发明采用如下技术方案:

本发明的第一方面,提供了一种大数据平台中的任务调度方法,包括如下步骤:

获取当前所有可用的工作节点;

对于每一个可用的所述工作节点,计算其资源使用率均值集合;

根据所述资源使用率均值集合确定所述工作节点的节点性能权值;

根据所述资源使用率均值集合计算所述工作节点的节点性能指标平均值;

根据所述资源使用率均值集合及所述节点性能指标平均值计算所述工作节点的节点性能碎片率;

根据所述节点性能碎片率、所述资源使用率均值集合和所述节点性能权值计算所述工作节点的性能分数;

获取当前所有可用的工作节点的性能分数;

将任务调度至性能分数最高的工作节点。

进一步的,所述对于每一个可用的所述工作节点,计算其资源使用率均值集合的步骤中,所述资源使用率均值集合包括CPU使用率均值、内存使用率均值、网卡发送带宽利用率均值和网卡接收带宽利用率均值。

进一步的,所述根据所述资源使用率均值集合确定所述工作节点的节点性能权值的步骤中,依据下式确定所述工作节点的节点性能权值:

其中,

进一步的,所述根据所述资源使用率均值集合计算所述工作节点的节点性能指标平均值的步骤中,按照下式计算所述工作节点的节点性能指标平均值:

其中,m为工作节点的节点性能指标平均值。

进一步的,所述根据所述资源使用率均值集合及所述节点性能指标平均值计算所述工作节点的节点性能碎片率的步骤中,按照下式计算所述工作节点的节点性能碎片率:

其中,

进一步的,根据所述节点性能碎片率、所述资源使用率均值集合和所述节点性能权值计算所述工作节点的性能分数的步骤中,按照下式计算工作节点的性能分数:

其中,S为工作节点的性能分数,

进一步的,所述工作节点与数据节点的位置关系

若工作节点与数据节点相同,则所述工作节点与数据节点的位置关系

若工作节点与数据节点属于同一局域网段,则所述工作节点与数据节点的位置关系

获取工作节点W所属数据中心的全部局域网段CIDRs,将数据节点

如果上述条件均未满足,则所述工作节点与数据节点的位置关系

本发明的第二方面,提供了一种大数据平台中的任务调度装置,包括:

第一获取模块,用于获取当前所有可用的工作节点;

第一计算模块,用于对于每一个可用的所述工作节点,计算其资源使用率均值集合;

第二计算模块,用于根据所述资源使用率均值集合确定所述工作节点的节点性能权值;

第三计算模块,用于根据所述资源使用率均值集合计算所述工作节点的节点性能指标平均值;

第四计算模块,用于根据所述资源使用率均值集合及所述节点性能指标平均值计算所述工作节点的节点性能碎片率;

第五计算模块,用于根据所述节点性能碎片率、所述资源使用率均值集合和所述节点性能权值计算所述工作节点的性能分数;

第二获取模块,用于获取当前所有可用的工作节点的性能分数;

调度模块,用于将任务调度至性能分数最高的工作节点。

本发明的第三方面,提供了一种电子设备,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现上述的大数据平台中的任务调度方法。

本发明的第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现上述的大数据平台中的任务调度方法。

与现有技术相比较,本发明的有益效果如下:

本发明提供的任务调度方法,先计算了工作节点的资源使用率均值集合及节点性能权值,然后根据资源使用率均值集合及节点性能指标平均值计算节点性能碎片率,最后根据节点性能碎片率、资源使用率均值集合和节点性能权值计算工作节点的性能分数,筛选出评分最高的节点,并将任务调度至该节点上。综合考虑节点的CPU使用率、内存使用率、网卡发送带宽利用率和网卡接收带宽利用率,并考虑这些资源使用率的碎片率和任务的数据亲和性,保证整个大数据平台任务调度的高效运行。

附图说明

构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例一种大数据平台中的任务调度方法流程图;

图2为本发明实施例一种大数据平台中的任务调度装置的结构框图;

图3为本发明实施例一种电子设备的结构框图。

具体实施方式

下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。

实施例1

如图1所示,本方案提供了一种大数据平台中的任务调度方法,包括如下步骤:

S1、获取当前所有可用的工作节点。

具体的,通过调度器获取所有可用的工作节点,并将所有可用的工作节点存储为节点数组

本方案中,定义资源使用率集合

定义资源使用率时间集合元组(

定义资源使用率哈希表

S2、对于节点数组

具体的,先对节点数组

设网卡发送数据量为

获取工作节点W操作系统的当前时间戳t以及网卡IP地址ip,令资源使用率数组

若资源使用率数组

若资源使用率数组

S3、根据资源使用率均值集合确定工作节点的节点性能权值。

定义节点分数哈希表

对节点数组

本方案中,依据下式确定工作节点的节点性能权值:

其中,

S4、根据资源使用率均值集合计算工作节点的节点性能指标平均值。

具体的,本方案中按照下式计算工作节点的节点性能指标平均值:

其中,m为工作节点的节点性能指标平均值。

S5、根据资源使用率均值集合及节点性能指标平均值计算工作节点的节点性能碎片率。

具体的,本方案中按照下式计算工作节点的节点性能碎片率:

其中,

S6、根据节点性能碎片率、资源使用率均值集合和节点性能权值计算各个工作节点的性能分数。

具体的,本方案中按照下式计算工作节点的性能分数:

其中,S为工作节点的性能分数,

本方案中,取CPU权值

本方案中,工作节点与数据节点的位置关系

若工作节点W与数据节点

若工作节点W与数据节点

获取工作节点W所属数据中心的全部局域网段CIDRs,将数据节点

如果上述条件均未满足,则工作节点W与数据节点

S7、获取当前所有可用的工作节点的性能分数。

S8、将任务调度至性能分数最高的工作节点。

具体的,本方案中令

根据节点分数哈希表

调度器尝试将任务调度至工作节点W。若经过时间阈值T=5秒的等待后,任务未成功调度至节点W,则进入下一层循环。对节点分数哈希表

本方案提供的一种大数据平台中的任务调度方法,综合考虑了被调度节点的CPU使用率、内存使用率、网卡发送带宽利用率和网卡接收带宽利用率,并考虑这些资源使用率的碎片率和任务的数据亲和性。

实施例2

如图2所示,基于与上述实施例的同一发明构思,本方案的第二方面,还提供了一种大数据平台中的任务调度装置,包括:

第一获取模块,用于获取当前所有可用的工作节点。

第一计算模块,用于对于每一个可用的工作节点,计算其资源使用率均值集合。

具体的,由第一计算模块计算所得的资源使用率均值集合包括CPU使用率均值、内存使用率均值、网卡发送带宽利用率均值和网卡接收带宽利用率均值。

第二计算模块,用于根据资源使用率均值集合确定工作节点的节点性能权值;

具体的,第二计算模块中,依据下式确定工作节点的节点性能权值:

其中,

第三计算模块,用于根据资源使用率均值集合计算工作节点的节点性能指标平均值;

具体的,第三计算模块中,按照下式计算工作节点的节点性能指标平均值:

其中,m为工作节点的节点性能指标平均值。

第四计算模块,用于根据资源使用率均值集合及节点性能指标平均值计算工作节点的节点性能碎片率;

具体的,第四计算模块中,按照下式计算工作节点的节点性能碎片率:

其中,

第五计算模块,用于根据节点性能碎片率、资源使用率均值集合和节点性能权值计算工作节点的性能分数;

具体的,第五计算模块中,按照下式计算工作节点的性能分数:

其中,S为工作节点的性能分数,

进一步具体的,工作节点与数据节点的位置关系

若工作节点与数据节点相同,则工作节点与数据节点的位置关系

若工作节点与数据节点属于同一局域网段,则工作节点与数据节点的位置关系

获取工作节点W所属数据中心的全部局域网段CIDRs,将数据节点

如果上述条件均未满足,则工作节点与数据节点的位置关系

第二获取模块,用于获取当前所有可用的工作节点的性能分数。

调度模块,用于将任务调度至性能分数最高的工作节点。

实施例3

如图3所示,基于与上述实施例的同一发明构思,本方案的第三方面,还提供了一种用于实现上述实施例一种大数据平台中的任务调度方法的电子设备100;电子设备100包括存储器101、至少一个处理器102、存储在存储器101中并可在至少一个处理器102上运行的计算机程序103及至少一条通讯总线104。存储器101可用于存储计算机程序103,处理器102通过运行或执行存储在存储器101内的计算机程序,以及调用存储在存储器101内的数据,实现实施例1一种大数据平台中的任务调度方法步骤。

存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器101可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。

至少一个处理器102可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以是微处理器或者该处理器102也可以是任何常规的处理器等,处理器102是电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。

电子设备100中的存储器101存储多个指令以实现一种大数据平台中的任务调度方法,处理器102可执行多个指令从而实现:

获取当前所有可用的工作节点;

对于每一个可用的工作节点,计算其资源使用率均值集合;

根据资源使用率均值集合确定工作节点的节点性能权值;

根据资源使用率均值集合计算工作节点的节点性能指标平均值;

根据资源使用率均值集合及节点性能指标平均值计算工作节点的节点性能碎片率;

根据节点性能碎片率、资源使用率均值集合和节点性能权值计算工作节点的性能分数;

获取当前所有可用的工作节点的性能分数;

将任务调度至性能分数最高的工作节点。

实施例4

电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器及只读存储器(ROM,Read-Only Memory)。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

技术分类

06120115600498