一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

Hadoop集群的资源分配方法、装置、设备及介质与流程

2022-03-26 14:31:56 来源:中国专利 TAG:

hadoop集群的资源分配方法、装置、设备及介质
技术领域
1.本技术涉及大数据技术领域,尤其涉及一种hadoop集群的资源分配方法、装置、设备及介质。


背景技术:

2.在大数据技术领域中,可以通过hadoop集群对电商、金融、工业、通信、医疗等各个领域提供海量数据的存储、查询和分析功能。为了满足各种应用场景下的业务需求,需要给hadoop集群中的各个任务队列分配资源。现有方式中,可以通过人工的方式给hadoop集群中的各个任务队列进行资源分配。然而,由于hadoop集群中任务队列的数量较多,人工进行资源分配的方式效率较低。或者由于运维人员的能力有限,无法快速精准的对各个任务队列进行资源分配,造成资源浪费。


技术实现要素:

3.本技术实施例提供了一种hadoop集群的资源分配方法、装置、设备及介质。可以通过资源预测模型确定hadoop集群中各个任务队列的目标资源,并根据各个任务队列的目标资源进行资源分配,可以快速精准的对各个任务队列进行资源分配。
4.第一方面,本技术实施例提供了一种hadoop集群的资源分配方法,该方法包括:
5.获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量;
6.调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果;其中,每个任务队列的资源预测结果用于指示每个任务队列与多个候选资源的匹配度;
7.根据每个任务队列的资源预测结果确定每个任务队列的目标资源,并根据每个任务队列的目标资源进行资源分配。
8.第二方面,本技术实施例提供了一种hadoop集群的资源分配装置,该装置包括:
9.特征提取单元,用于获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量;
10.预测处理单元,用于调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果;其中,每个任务队列的资源预测结果用于指示每个任务队列与多个候选资源的匹配度;
11.资源分配单元,用于根据每个任务队列的资源预测结果确定每个任务队列的目标资源,并根据每个任务队列的目标资源进行资源分配。
12.第三方面,本技术实施例还提供了一种hadoop集群的资源分配设备,包括输入接口、输出接口,该hadoop集群的资源分配设备还包括:
13.处理器,适于实现一条或多条指令;以及,
14.计算机存储介质,该计算机存储介质存储有一条或多条指令,该一条或多条指令
适于由处理器加载并执行第一方面所述的方法。
15.第四方面,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序指令,计算机程序指令被处理器执行时,用于执行第一方面所述的方法。
16.在本技术实施例中,hadoop集群的资源分配设备可以获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量,调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果,并根据每个任务队列的资源预测结果确定每个任务队列的目标资源,以及根据每个任务队列的目标资源进行资源分配。由于确定任务队列的目标资源实现资源分配是基于机器学习算法构建的资源预测模型完成的,无需运维人员以人工方式给hadoop集群中的各个任务队列进行资源分配,这样可减少人为操作,有效节省人力资源,提升效率,并且,还可不受运维人员的能力限制,可以快速精准的对各个任务队列进行资源分配,避免资源浪费,提升资源的利用率。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例提供的一种hadoop集群的资源分配系统的架构示意图;
19.图2是本技术实施例提供的一种hadoop集群的资源分配方法的流程示意图;
20.图3是本技术实施例提供的另一种hadoop集群的资源分配方法的流程示意图;
21.图4是本技术实施例提供的一种hadoop集群的资源分配装置的结构示意图;
22.图5是本技术实施例提供的一种hadoop集群的资源分配设备的结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.在大数据技术领域中,可以通过hadoop集群对电商、金融、工业、通信、医疗等各个领域提供海量数据的存储、查询和分析功能。例如,hadoop集群可以用于存储医疗技术领域的医疗数据,如个人健康档案、处方、检查报告等医疗数据。又例如,hadoop集群可以用于分析金融技术领域的金融数据,如对股市的k线图进行分析。为了满足各种应用场景下的业务需求,常常需要在hadoop集群上中架设多个任务队列,并且需要分别给各个任务队列分配资源。现有方式中,可以通过人工的方式给hadoop集群中的各个任务队列进行资源分配。然而,由于hadoop集群中任务队列的数量较多,人工进行资源分配的方式效率较低。或者由于运维人员的能力有限,无法快速精准的对各个任务队列进行资源分配,造成资源浪费。
25.基于此,本技术实施例提供了一种hadoop集群的资源分配方法、装置、设备及介
质,在该方法中,hadoop集群的资源分配设备基于资源预测模型分别对hadoop集群中每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果,并根据每个任务队列的资源预测结果确定每个任务队列的目标资源,以便根据每个任务队列的目标资源进行资源分配。无需运维人员对hadoop集群中的各个任务队列进行资源分配,可有效节省人力资源,提升效率;并且,还可不受运维人员的能力限制,可以快速精准的对各个任务队列进行资源分配。
26.其中,资源预测模型可以是基于人工智能技术领域的机器学习算法训练得到的。其中,人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。机器学习(machine learning,ml)是一门多领域交叉的学科,其涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
27.在一个实施例中,该hadoop集群的资源分配方法可应用在如图1所示的hadoop集群的资源分配系统中,如图1所示,该hadoop集群的资源分配系统可至少包括:hadoop集群11和hadoop集群的资源分配设备12。其中,hadoop集群11可以部署于服务器中,该服务器的数量可以是一个或多个,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、内容分发网络(content delivery network,cdn)、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器,等等。该hadoop集群11中可以包括多个任务队列,如图1所示的任务队列1、任务队列2、任务队列3

任务队列n。其中,hadoop集群的资源分配设备12可以用于为hadoop集群11中的各个任务队列进行资源分配,hadoop集群的资源分配设备12可以部署有flink工具,flink工具是由apache软件基金会开发的开源流处理框架,其核心是用java和scala编写的分布式流数据流引擎。该flink工具以数据并行和流水线方式执行任意流数据程序,可以同时对hadoop集群中的各个任务队列进行资源分配。其中,hadoop集群的资源分配设备12可以为终端设备,该终端设备可以包括但不限于:智能手机、平板电脑、膝上计算机、可穿戴设备、台式计算机,等等;或者,该hadoop集群的资源分配设备12也可以是服务器,本技术实施例不做限定。
28.下面详细阐述本技术实施例的hadoop集群的资源分配方法。请参见图2,是本技术实施例提出的一种hadoop集群的资源分配方法的流程示意图。如图2所示,该hadoop集群的资源分配方法包括s201-s203:
29.s201:获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量。
30.其中,hadoop集群是一个由apache基金会所开发的分布式系统基础架构。可以在不了解分布式底层细节的情况下,开发和运行分布式程序,hadoop集群可以运行多个yarn任务队列,每个yarn任务队列中可以包括但不限于hive任务,mapreduce任务,spark任务中的一种或多种任务。
31.其中,任务队列信息可以包括任务资源信息和任务数量信息。其中,任务资源信息
用于指示任务队列的资源使用情况,任务资源信息包括但不限于任务队列的资源利用率、读写字节数。其中,任务数量信息用于指示任务队列的任务数量情况,该任务数量信息可以包括但不限于任务队列中提交的任务数量、任务队列中挂起的任务数量以及任务队列中运行的任务数量中的一种或多种,例如,一个任务队列中提交的任务数量为44075146,该任务队列中挂起的任务数量为489以及任务队列中运行的任务数量为2191。需要说明,随着业务的扩展,在一些其他实施例中,任务队列信息还包括任务队列中每个任务计划的map数量和reduce数量。
32.其中,可以通过特征提取层分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量。可选的,该特征提取层可以包括编码单元和交叉单元。其中,编码单元用于根据编码方法分别对每个任务队列的任务队列信息进行编码得到每个任务队列的基础向量。其中,本技术对编码方法不做限定,该编码方法可以为独热编码(one-hot编码)、嵌入编码、硬编码(label encoding)和目标变量编码(target encoding)等等。除此之外,也可以通过编码模型分别对每个任务队列的任务队列信息进行编码得到每个任务队列信息的基础向量,如bert预训练模型。其中,该交叉单元用于基于交叉特征算法(例如fm算法)对每个任务队列的基础向量进行交叉处理得到每个任务队列的特征向量。
33.可选的,该特征提取层可以包括编码单元和多线性注意力单元,经过该特征提取层得到的特征向量为多维度特征向量。其中,编码单元用于根据编码方法分别对每个任务队列的任务队列信息进行编码得到每个任务队列的基础向量。其中,多线性注意力单元用于基于多层线性权重向量对每个任务队列的基础向量进行多线性注意力处理,得到每个任务队列的多维度特征向量,例如,针对目标任务队列,该目标任务队列为各个任务队列中的任意一个任务队列,可以基于多层线性权重向量对目标任务队列的基础向量进行多线性注意力处理,得到目标任务队列的多维度特征向量。具体的,多层线性权重向量可以包括第一线性权重向量、第二线性权重向量以及第三线性权重向量。基于多层线性权重向量对目标任务队列的基础向量进行多线性注意力处理,得到目标任务队列的多维度特征向量包括:对目标任务队列的基础向量与第一线性权重向量进行点积归一化处理,得到点积归一化特征向量,基于第二线性权重向量和第三线性权重向量对点积归一化特征向量和目标任务队列的基础向量进行线性变换处理,得到线性变化特征向量,并基于预设阈值函数对线性变化特征向量进行阈值映射处理,得到阈值映射特征向量;基于目标任务队列的基础向量、点积归一化特征向量以及阈值映射特征向量确定目标任务队列的多维度特征向量。
34.其中,点积归一化处理可以包括以下公式:
[0035][0036]
其中,i为点积归一化特征向量,scale_dot可以为点积归一化运算,为常量,可以结合实际需求进行设置,w
(m)
为多头注意力单元第m个节点在训练后得到的第一线性权重向量,x为任务队列的基础向量,b
(m)
为多头注意力单元第m个节点在训练后确定的偏置。
[0037]
其中,线性变换处理可以包括以下公式:
[0038]
u=sigmod1(w2*x w3*i b)
[0039]
其中,u可以为线性变化特征向量,sigmod1为线性变换运算,w2、w3均为训练后得到的线性权重矩阵(即分别对应第二线性权重向量以及第三线性权重向量,如w2为第二线性
权重向量,w3为第三线性权重向量),i为点积归一化特征向量,x为任务队列的基础向量,b为常量,可以结合实际应用需求进行设置。通过一维线性权重矩阵(w2和w3)可以在进行特征向量处理的同时,有效控制i和x的比例。
[0040]
其中,阈值映射处理可以包括以下公式:
[0041]
f=sigmod2(u)
[0042]
其中,f可以为阈值映射特征向量,u可以为线性变化特征向量,sigmod2为神经网络的阈值函数,可以将线性变化特征向量中的元素映射到0至1之间。
[0043]
其中,可以采用以下公式对目标任务队列的基础向量、点积归一化特征向量以及阈值映射特征向量确定目标任务队列的多维度特征向量:
[0044]
multiline_attention=∑mattentionm(f*i (1-f)*x)
[0045]
其中,multiline_attention可以表示任务队列的多维度特征向量,f可以为阈值映射特征向量,i可以为点积归一化特征向量;x可以为任务队列的基础向量,∑mattentionm表示将多线性注意力单元的多个节点对应的特征向量中每个特征向量看作qm(即f*i (1-f)*x),然后,将任务队列的任务队列信息看作k,计算每个qm与k的相关性得分,最后,将qm相对于k的相关性得分进行加权求和,在加权求和过程中,通过对权重的分配,将较高的权重分配给任务队列信息起重要作用的特征,将较低的权重分配给与任务队列信息无关的特征,然后,通过加权实现对重要特征的关注,筛选出可以更好表征任务队列的多维度特征向量。
[0046]
s202:调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果;其中,每个任务队列的资源预测结果用于指示每个任务队列与多个候选资源的匹配度。
[0047]
在一个实施例中,在调用资源预测模型分别对每个任务队列的特征向量进行预测处理之前,还需要对初始模型进行训练,得到资源预测模型。具体包括:
[0048]
s11:获取训练样本集,该训练样本集中包括多个训练样本,每个训练样本中包括样本任务队列信息以及多个候选资源;
[0049]
其中,本技术所提及的资源可以通过资源因子进行描述,例如,该资源因子包括但不限于cpu、内存容量、vcores数中的一种或多种。
[0050]
一个实施例中,在对资源预测模型进行训练之前,还需要确定多个候选资源。具体的,可以获取资源因子的边界值以及资源因子增量,基于资源因子的边界值以及资源因子增量构建多个候选资源。可选的,资源因子增量可以为固定增量值,例如,假设资源因子为内存容量,且该资源因子对应的最大边界值为16g内存,最小边界值为2g内存,资源因子增量为2g内存,那么基于资源因子的边界值以及资源因子增量构建多个候选资源包括:2g内存,4g内存,6g内存,8g内存,10g内存,12g内存,14g内存和16g内存。可选的,资源因子增量也可以为固定增量比例,又例如,假设资源因子为内存容量,且该资源因子对应的最大边界值为16g内存,最小边界值为2g内存,资源因子增量为1倍内存,那么基于资源因子的边界值以及资源因子增量构建多个候选资源包括:2g内存,4g内存,8g内存和16g内存。
[0051]
s12:对每个训练样本中的样本任务队列信息进行特征提取,确定每个样本任务队列信息对应的样本向量。
[0052]
其中,对样本任务队列信息进行特征提取确定每个样本任务队列信息对应的样本
向量的具体实现方式,可以参见前文对任务队列的任务队列信息进行特征提取得到特征向量的相关实施例,这里不做赘述。
[0053]
s13:将每个训练样本对应的样本向量输入到初始模型中,得到每个样本任务队列信息与各个候选资源的匹配度,并基于每个样本任务队列信息与各个候选资源的匹配度确定初始模型的损失值。
[0054]
可选的,一个样本任务队列信息与各个候选资源的匹配度可以通过预测概率进行表示,预测概率越高,就表征该样本任务队列信息与候选资源的匹配度越高,预测概率越低,就表征该样本任务队列信息与候选资源的匹配度越低。具体的,可以根据样本任务队列信息的样本向量与各个候选资源的特征矩阵确定该样本向量属于各个候选资源的特征矩阵的预测概率,并将样本向量属于各个候选资源的特征矩阵的预测概率作为这个样本任务队列信息与各个候选资源的匹配度。
[0055]
s14:基于初始模型的损失值对初始模型进行更新,得到资源预测模型。
[0056]
可选的,可以根据初始模型的损失值确定梯度,根据梯度对初始模型的模型参数进行参数更新,并检测损失值是否满足预设收敛条件,当检测到损失值满足预设收敛条件时,停止初始模型的参数更新,得到资源预测模型。其中,预设收敛条件可以是指损失值对应的梯度小于预设阈值,和/或初始模型的更新次数达到了预先设置的最大更新次数。
[0057]
在一个实施例中,资源预测模型可以是基于机器学习算法训练得到的模型。其中,机器学习算法可以包括但不限于以下一种或多种:决策树(decision tree,dt)算法、rocchio算法、极端梯度提升(xtreme gradient boosting,xgbooste)算法、朴素贝叶斯(naive bayes,nb)算法、线性判别分析(linear discriminant analysis,lda)、支持向量机(support vector machine,svm)算法、随机森林(random forest,rf)算法、以及逻辑回归(logistic regression,lr)算法。等等。进一步的,资源预测模型也可以是基于深度学习算法训练得到的模型。例如,该深度学习算法包括全连接神经网络(factorisation machine supported neural networks,fnn)算法、卷积神经网络(convolutional neural network,cnn)算法和循环神经网络(recurrent neural network,rnn)算法,等等。
[0058]
s203:根据每个任务队列的资源预测结果确定每个任务队列的目标资源,并根据每个任务队列的目标资源进行资源分配。
[0059]
一个实施例中,针对目标任务队列来说,从目标任务队列的资源预测结果中获取与目标任务队列匹配度最高的候选资源,将匹配度最高的候选资源确定为目标任务队列的目标资源。例如,多个候选资源包括2g内存,4g内存,8g内存和16内存。目标任务队列的资源预测结果为:目标任务队列与2g内存的匹配度为p1,目标任务队列与4g内存的匹配度为p2,目标任务队列与8g内存的匹配度为p3以及目标任务队列与16g内存的匹配度为p4。比较p1、p2、p3与p4,将最大匹配度对应的候选资源确定为目标任务队列的目标资源,如p1》p2》p3》p4,那么将2g内存确定为目标任务队列的目标资源。
[0060]
在一些实施例中,还可以存储目标任务队列对应的目标资源,便于后续分析。例如,可以将目标任务队列对应的目标资源上传至区块链网络。具体的,可以将目标任务队列对应的目标资源上传至区块链网络中的共识节点,该共识节点对目标任务队列对应的目标资源进行共识验证,若共识验证通过,则目标任务队列对应的目标资源封装成区块,并传入区块链网络。
[0061]
在一些实施例中,hadoop集群的资源分配设备在根据每个任务队列的目标资源进行资源分配之后,还可以实时监控每个任务队列的任务队列信息,并对任务队列信息进行异常监测,当存在异常时,生成告警消息,以便基于告警消息进行运维。可选的,对任务队列信息进行异常监测包括但不限于,对任务队列资源信息和任务队列任务数量信息进行异常监测,本技术对此不做限制。
[0062]
当hadoop集群的资源分配设备生成告警消息之后,hadoop集群的资源分配设备可以将告警消息发送至运维人员相关的终端设备,以便运维人员执行运维操作。具体实现中,可通过社交软件,如微信,小程序,或者企业微信等发送给运维人员关联的终端设备。可选的,hadoop集群的资源分配设备生成告警消息之后,hadoop集群的资源分配设备还可以将告警消息发送至智能运维设备,该智能运维设备可以实现智能运维(artificial intelligence for it operations,aiops)。其中,智能运维是指将人的知识和运维经验与大数据、机器学习技术相结合,开发成一系列的智能策略,融入到运维系统中,并以开发的智能策略(或运维系统)去完成运维操作,智能运维可以节省人力资源成本,并且,智能运维方法可以不受运维人员的能力限制,可以快速准确的进行运维,有效提升运维的效率和准确性。
[0063]
在本技术实施例中,hadoop集群的资源分配设备可以获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量,调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果,并根据每个任务队列的资源预测结果确定每个任务队列的目标资源,以及根据每个任务队列的目标资源进行资源分配。由于确定任务队列的目标资源实现资源分配是基于机器学习算法构建的资源预测模型完成的,无需运维人员以人工方式给hadoop集群中的各个任务队列进行资源分配,这样可减少人为操作,有效节省人力资源,提升效率,并且,还可不受运维人员的能力限制,可以快速精准的对各个任务队列进行资源分配,避免资源浪费,提升资源的利用率。
[0064]
参见上述图2所示方法实施例的相关描述可知,图2所示的hadoop集群的资源分配方法可以根据每个任务队列的资源预测结果确定每个任务队列的目标资源,并根据每个任务队列的目标资源进行资源分配。由于hadoop集群的资源是有限的,有限的资源可能无法满足所有任务队列的资源需求,因此本技术实施例还提出了另一种hadoop集群的资源分配方法。如图3所示,图3示出了另一种hadoop集群的资源分配方法的流程示意图,包括s301-s302:
[0065]
s301:获取每个任务队列的优先级。
[0066]
由于资源是有限的,有限的资源可能无法满足所有任务队列的资源需求,所以可以基于任务队列的重要程度(或者任务队列包括任务的重要程度)为每个任务队列设置优先级,例如,重要程度较高的任务队列设置较高的优先级,重要程度较低的任务队列设置较低的优先级。例如,设存在任务队列a、任务队列b和任务队列c,且任务队列a的重要程度较高,任务队列b的重要程度次之,任务队列c的重要程度较低,那么可以设置任务队列a、任务队列b和任务队列c的优先级顺序为:任务队列a》任务队列b》任务队列c。
[0067]
s302:基于每个任务队列的优先级以及每个任务队列的资源预测结果确定每个任务队列的目标资源。
[0068]
一个实施例中,可以基于每个任务队列的优先级从各个任务队列中确定未分配资源且优先级最高的参考任务队列,并基于参考任务队列与多个候选资源的匹配度以及剩余待分配资源确定参考任务队列的目标资源,该参考任务队列的目标资源为小于剩余待分配资源且匹配度最高的候选资源。
[0069]
其中,针对前述的例子,多个任务队列包括任务队列a、任务队列b和任务队列c。例如,当hadoop集群的资源分配设备未给任务队列a、任务队列b和任务队列c分配资源时,未分配资源的任务队列包括任务队列a、任务队列b和任务队列c,由于任务队列a、任务队列b和任务队列c的优先级顺序为:任务队列a》任务队列b》任务队列c,任务队列a的优先级最高,那么可以将任务队列a确定为参考任务队列。又例如,当hadoop集群的资源分配设备给任务队列a分配了资源,未给任务队列b和任务队列c分配资源时,任务队列b和任务队列c的优先级顺序为:任务队列b》任务队列c,任务队列b的优先级最高,那么可以将任务队列b确定为参考任务队列。
[0070]
一个实施中,在确定参考任务队列之后,可以获取参考任务队列与多个候选资源的匹配度,并根据参考任务队列与多个候选资源的匹配度以及剩余待分配资源确定参考任务队列的目标资源,该参考任务队列的目标资源为小于或等于剩余待分配资源且匹配度最高的候选资源。
[0071]
具体的,可以将参考任务队列的最大匹配度对应的候选资源与剩余待分配资源作比较。可选的,当剩余待分配资源大于或等于参考任务队列的最大匹配度对应的候选资源时,可以确定参考任务队列的目标资源为最大匹配度对应的候选资源(即该参考资源)。当剩余待分配资源小于参考任务队列的最大匹配度对应的候选资源时,可选的,可以将剩余待分配资源作为参考任务队列的目标资源。可选的,可以按照匹配度由高到低的顺序依次获取参考任务队列的各个候选资源,直到查找到小于或等于剩余待分配资源的候选资源,并将该小于或等于剩余待分配资源的候选资源作为参考任务队列的目标资源。
[0072]
需要明白,剩余待分配资源是动态变化的,例如,当hadoop集群的资源分配设备未给任务队列a、任务队列b和任务队列c分配资源时,剩余待分配资源为总资源;当hadoop集群的资源分配设备给任务队列a分配了资源,未给任务队列b和任务队列c分配资源时,剩余待分配资源为总资源与任务队列a的目标资源的差值。
[0073]
在本技术实施例中,hadoop集群的资源分配设备可以结合每个任务队列的资源预测结果以及各个任务队列的优先级确定各个任务队列的目标资源,可以优先满足重要程度较高的任务队列的资源需求,避免重要程度较低的任务队列抢占资源,可以提升资源的利用率。
[0074]
请参见图4,图4为本技术实施例提供的一种hadoop集群的资源分配装置的结构示意图,该hadoop集群的资源分配装置可以为前述方法实施例所提及的hadoop集群的资源分配设备,该hadoop集群的资源分配装置可以包括特征提取单元401、预测处理单元402以及资源分配单元403。
[0075]
特征提取单元401,用于获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量;
[0076]
预测处理单元402,用于调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果;其中,每个任务队列的资源预测结果用于指
示每个任务队列与多个候选资源的匹配度;
[0077]
资源分配单元403,用于根据每个任务队列的资源预测结果确定每个任务队列的目标资源,并根据每个任务队列的目标资源进行资源分配。
[0078]
在一个实施例中,资源分配单元403用于根据每个任务队列的资源预测结果确定每个任务队列的目标资源,包括:
[0079]
获取每个任务队列的优先级;
[0080]
基于每个任务队列的优先级以及每个任务队列的资源预测结果确定每个任务队列的目标资源。
[0081]
再一个实施例中,资源分配单元403用于基于每个任务队列的优先级以及每个任务队列的资源预测结果确定每个任务队列的目标资源,包括:
[0082]
基于每个任务队列的优先级从各个任务队列中确定未分配资源且优先级最高的参考任务队列;
[0083]
基于参考任务队列与多个候选资源的匹配度以及剩余待分配资源确定参考任务队列的目标资源,该参考任务队列的目标资源为小于或等于待剩余待分配资源且匹配度最高的候选资源。
[0084]
再一个实施例中,资源分配单元403用于根据每个任务队列的资源预测结果确定每个任务队列的目标资源,包括:
[0085]
从目标任务队列的资源预测结果中获取与目标任务队列匹配度最高的候选资源,该目标任务队列为每个任务队列中的任意一个任务队列;
[0086]
将匹配度最高的候选资源确定为目标任务队列的目标资源。
[0087]
再一个实施例中,特征向量包括多维度特征向量,特征提取单元401用于分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量,包括:对目标任务队列的任务队列信息进行编码处理,得到目标任务队列的基础向量;
[0088]
基于多层线性权重向量对目标任务队列的基础向量进行多线性注意力处理,得到目标队列的多维度特征向量。
[0089]
再一个实施例中,多层线性权重向量包括第一线性权重向量、第二线性权重向量以及第三线性权重向量;特征提取单元401用于基于多层线性权重向量对目标任务队列的基础向量进行多线性注意力处理,得到目标队列的特征向量,包括:
[0090]
对目标任务队列的基础向量与第一线性权重向量进行点积归一化处理,得到点积归一化特征向量;
[0091]
基于第二线性权重向量和第三线性权重向量对点积归一化特征向量和目标任务队列的基础向量进行线性变换处理,得到线性变化特征向量,并基于预设阈值函数对线性变化特征向量进行阈值映射处理,得到阈值映射特征向量;
[0092]
基于目标任务队列的基础向量、点积归一化特征向量以及阈值映射特征向量确定目标任务队列的多维度特征向量。
[0093]
再一个实施例中,预测处理单元402用于调用资源预测模型分别对每个任务队列的特征向量进行预测处理之前,预测处理单元402还用于:
[0094]
获取资源因子的边界值以及资源因子增量;
[0095]
基于资源因子的边界值以及资源因子增量构建多个候选资源。
[0096]
根据本技术的另一个实施例,图4所示的hadoop集群的资源分配装置中的各个单元可以分别或者全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以是由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其他实施例中,hadoop集群的资源分配装置也可以包括其他单元,在实际应用中,这些功能也可以由其他单元协助实现,并且可以由多个单元协作实现。
[0097]
根据本技术的另一个实施例,可以通过包括中央处理单元(central processing unit,cpu),随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件。例如计算机的通用计算设备上运行能够执行如图2或图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图4所示的hadoop集群的资源分配装置,以及来实现本技术实施例的hadoop集群的资源分配方法。该计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述hadoop集群的资源分配设备中,并在其中运行。
[0098]
在本技术实施例中,hadoop集群的资源分配装置可以获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量,调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果,并根据每个任务队列的资源预测结果确定每个任务队列的目标资源,以及根据每个任务队列的目标资源进行资源分配。由于确定任务队列的目标资源实现资源分配是基于机器学习算法构建的资源预测模型完成的,无需运维人员以人工方式给hadoop集群中的各个任务队列进行资源分配,这样可减少人为操作,有效节省人力资源,提升效率,并且,还可不受运维人员的能力限制,可以快速精准的对各个任务队列进行资源分配,避免资源浪费,提升资源的利用率。
[0099]
请参阅图5,图5为本技术实施例提供的一种hadoop集群的资源分配设备的结构示意图。该hadoop集群的资源分配设备可以包括:一个或多个处理器501,一个或多个输入接口502,一个或多个输出接口503和计算机存储介质504。上述处理器501、输入接口502、输出接口503以及计算机存储介质504通过总线或其他方式连接。计算机存储介质504是hadoop集群的资源分配设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质504既可以包括hadoop集群的资源分配设备的内置存储介质,当然也可以包括hadoop集群的资源分配设备支持的扩展存储介质。计算机存储介质504提供存储空间,该存储空间存储了hadoop集群的资源分配设备的操作系统。并且,在该存储空间中还存放了适于被处理器501加载并执行的一条或多条指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器;可选的,还可以是至少一个远离前述处理器的计算机存储介质、该处理器可以称为中央处理单元(central processing unit,cpu),是hadoop集群的资源分配设备的核心以及控制中心,适于被实现一条或多条指令,具体加载并执行一条或多条指令从而实现相应的方法流程或功能。
[0100]
在一个实施例中,可由处理器501加载并执行计算机存储介质504中存放的一条或多条指令,以实现执行如图2或图3中所示的相应方法所涉及的各步骤,具体实现中,计算机
存储介质504中的一条或多条指令由处理器501加载并执行以下步骤:
[0101]
获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量;
[0102]
调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果;其中,每个任务队列的资源预测结果用于指示每个任务队列与多个候选资源的匹配度;
[0103]
根据每个任务队列的资源预测结果确定每个任务队列的目标资源,并根据每个任务队列的目标资源进行资源分配。
[0104]
在一个实施例中,处理器501用于根据每个任务队列的资源预测结果确定每个任务队列的目标资源,包括:
[0105]
获取每个任务队列的优先级;
[0106]
基于每个任务队列的优先级以及每个任务队列的资源预测结果确定每个任务队列的目标资源。
[0107]
再一个实施例中,处理器501用于基于每个任务队列的优先级以及每个任务队列的资源预测结果确定每个任务队列的目标资源,包括:
[0108]
基于每个任务队列的优先级从各个任务队列中确定未分配资源且优先级最高的参考任务队列;
[0109]
基于参考任务队列与多个候选资源的匹配度以及剩余待分配资源确定参考任务队列的目标资源,该参考任务队列的目标资源为小于或等于待剩余待分配资源且匹配度最高的候选资源。
[0110]
再一个实施例中,处理器501用于根据每个任务队列的资源预测结果确定每个任务队列的目标资源,包括:
[0111]
从目标任务队列的资源预测结果中获取与目标任务队列匹配度最高的候选资源,该目标任务队列为每个任务队列中的任意一个任务队列;
[0112]
将匹配度最高的候选资源确定为目标任务队列的目标资源。
[0113]
再一个实施例中,特征向量包括多维度特征向量,处理器501用于分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量,包括:
[0114]
对目标任务队列的任务队列信息进行编码处理,得到目标任务队列的基础向量;
[0115]
基于多层线性权重向量对目标任务队列的基础向量进行多线性注意力处理,得到目标队列的多维度特征向量。
[0116]
再一个实施例中,多层线性权重向量包括第一线性权重向量、第二线性权重向量以及第三线性权重向量;处理器501用于基于多层线性权重向量对目标任务队列的基础向量进行多线性注意力处理,得到目标队列的特征向量,包括:
[0117]
对目标任务队列的基础向量与第一线性权重向量进行点积归一化处理,得到点积归一化特征向量;
[0118]
基于第二线性权重向量和第三线性权重向量对点积归一化特征向量和目标任务队列的基础向量进行线性变换处理,得到线性变化特征向量,并基于预设阈值函数对线性变化特征向量进行阈值映射处理,得到阈值映射特征向量;
[0119]
基于目标任务队列的基础向量、点积归一化特征向量以及阈值映射特征向量确定
目标任务队列的多维度特征向量。
[0120]
再一个实施例中,处理器501用于调用资源预测模型分别对每个任务队列的特征向量进行预测处理之前,处理器501还用于:
[0121]
获取资源因子的边界值以及资源因子增量;
[0122]
基于资源因子的边界值以及资源因子增量构建多个候选资源。
[0123]
在本技术实施例中,hadoop集群的资源分配设备可以获取hadoop集群中每个任务队列的任务队列信息,并分别对每个任务队列的任务队列信息进行特征提取,得到每个任务队列的特征向量,调用资源预测模型分别对每个任务队列的特征向量进行预测处理,得到每个任务队列的资源预测结果,并根据每个任务队列的资源预测结果确定每个任务队列的目标资源,以及根据每个任务队列的目标资源进行资源分配。由于确定任务队列的目标资源实现资源分配是基于机器学习算法构建的资源预测模型完成的,无需运维人员以人工方式给hadoop集群中的各个任务队列进行资源分配,这样可减少人为操作,有效节省人力资源,提升效率,并且,还可不受运维人员的能力限制,可以快速精准的对各个任务队列进行资源分配,避免资源浪费,提升资源的利用率。
[0124]
本技术实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令。计算机程序指令被处理器执行时,可执行上述hadoop集群的资源分配方法实施例中所执行的步骤。
[0125]
本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述hadoop集群的资源分配方法实施例中所执行的步骤。
[0126]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。所述的计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
[0127]
以上所揭露的仅为本技术一种较佳实施例而已,当然不能以此来限定本技术之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本技术权利要求所作的等同变化,仍属于发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献