一种云计算负载聚类方法、系统及电子设备与流程

文档序号:17079288发布日期:2019-03-09 00:03阅读:136来源:国知局
一种云计算负载聚类方法、系统及电子设备与流程

本申请属于云计算技术领域,特别涉及一种云计算负载聚类方法、系统及电子设备。



背景技术:

云计算技术由于其高可用性、按需服务和低成本而被广泛应用于云环境中。云环境是由大量物理机组成的分布式集群(资源池),使用户能够按需获取计算能力、存储空间和信息服务,影响其性能的关键因素是对各个节点的作业调度和资源分配,因此对运行在集群中的工作负载特征进行深入分析,从而更加合理的分配物理资源和对任务的执行节点进行有效决策对集群管理极其重要。

云计算环境聚合了大量物理资源、虚拟资源,并采用虚拟化技术实现动态伸缩服务量,按需提供服务,其上运行的工作负载因对服务器资源(cpu,内存,磁盘等)需求的不同以及执行时间的不同而呈现出不同的负载特征。对负载特征的深入理解有助于集群管理的作业调度和资源分配。而如何运用无监督的聚类方法将多种不同的负载根据相似的运行特征划分为同种类型,从而对其分配服务器资源,提升资源利用率,仍是目前负载特征分析的重大挑战。

对工作负载的类型进行有效的聚类可用于负载预测,而负载预测结果又为集群资源规划和任务调度提供真实可靠的依据,从而提升物理资源利用率,为云服务器提供商节省大量成本。因此,无论是工业界还是学术界,负载聚类都成为了当前负载分析领域的研究热点。

现有技术中,比较常见的负载类别有:cpu密集型、i/o密集型、内存密集型、网络密集型以及其他。最常用的负载分类方法是已知类别标签,运用数学方法对负载对象进行特征分析,与已知类型特征相似则将该负载划分为此类别,但目前仍然没有比较规范的相似度衡量标准。另一种将负载划分类别的方法是采用无监督学习法,类别数目和标签在划分类别前是未知的。使用比较广泛的聚类算法有k-means聚类算法、均值漂移聚类算法、凝聚层次聚类算法、基于密度的聚类方法、图团体检测(graphcommunitydetection)。

任晓丹的《基于资源和实时性需求的任务类型划分及其负载均衡研究》从用户任务请求类型不同这一特点出发,依据资源需求类型和实时性需求程度,将任务划分为实时型任务队列、i/o消耗型任务队列、cpu消耗型任务队列。郭平等的《基于服务器负载状况分类的负载均衡调度算法》提出了一种根据服务器上运行的负载特征将服务器进行不用类型分类的方法。尹建伟等在2016年发表的专利《一种云计算环境下虚拟机上运行的负载分类方法》提出了一种运用tsrsvm(trainingsetsrefreshsvm)分类器对集群中运行的负载进行分类的方法,将监控的负载分为四类:cpu密集型、内存密集型、i/o密集型和网络密集型,对运行着已经分类到四种密集型的操作系统提供对应的定制化优化策略。

综上所述,现有的负载分类方法均是将负载根据经验和粗粒度的负载特征划分为常见的负载类型,然后根据已知负载类型的标签确定采集数据样本的类别从属关系。且现有的负载分类方法大都是以有监督学习的方法对负载进行分类,划分的负载类别是常见的几种类型,而未考虑随着科技的发展以及人们对网络服务需求的多样化,负载的特征也变得更加复杂,很难将其划分为某种特定类型。其次,目前大部分的负载分类模型是采用有监督的机器学习方法如支持向量机(svm)以及统计分析方法进行分类,而应用于聚类分析最广泛的k-means算法大部分是根据人为确定的k值进行聚类划分,且聚类时将所有选取的特征向量作为k-means的输入,无法衡量k值得选择是否最佳,即无法保证划分的负载中,每个类簇中的对象特征都具有较强的相似性。



技术实现要素:

本申请提供了一种云计算负载聚类方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。

为了解决上述问题,本申请提供了如下技术方案:

一种云计算负载聚类方法,包括以下步骤:

步骤a:采集集群监控数据,并提取所述集群监控数据中的特征向量;

步骤b:计算每个特征向量的平均轮廓系数,确定所述平均轮廓系数最大时每个特征向量对应的k值;

步骤c:将所述每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;

步骤d:将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别。

本申请实施例采取的技术方案还包括:所述步骤a还包括:判断采样时间开始时负载是否正在执行,或采样结束时负载仍未执行完毕,如果采样时间开始时负载正在执行,或采样结束时负载仍未执行完毕,将该集群监控数据的任务开始执行时间设置为负值。

本申请实施例采取的技术方案还包括:在所述步骤a中,所述提取所述集群监控数据中的特征向量还包括:对提取的特征向量进行min-max标准归一化处理。

本申请实施例采取的技术方案还包括:所述步骤b还包括:判断k值是否较大且对应的平均轮廓系数与k-1,k-2差距是否较小,如果k值较大且对应的平均轮廓系数与k-1,k-2差距较小,则采用较小的k-1或k-2作为新的k值。

本申请实施例采取的技术方案还包括:所述步骤d还包括:判断负载类别数目是否过多且存在差别较小的负载类别,如果负载类别数目过多且存在差别较小的负载类别,分析各个负载类别之间的特征相似性,并将具有相似特征的负载类别进行合并。

本申请实施例采取的另一技术方案为:一种云计算负载聚类系统,包括:

数据采集模块:用于采集集群监控数据;

特征提取模块:用于提取所述集群监控数据中的特征向量;

轮廓系数计算模块:用于计算每个特征向量的平均轮廓系数,确定所述平均轮廓系数最大时每个特征向量对应的k值;

聚类模块:用于将所述每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;

类别划分模块:用于将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别。

本申请实施例采取的技术方案还包括任务判断模块,所述任务判断模块用于判断采样时间开始时负载是否正在执行,或采样结束时负载仍未执行完毕,如果采样时间开始时负载正在执行,或采样结束时负载仍未执行完毕,将该集群监控数据的任务开始执行时间设置为负值。

本申请实施例采取的技术方案还包括:所述特征提取模块还用于对提取的特征向量进行min-max标准归一化处理。

本申请实施例采取的技术方案还包括k值判断模块,所述k值判断模块用于判断k值是否较大且对应的平均轮廓系数与k-1,k-2差距是否较小,如果k值较大且对应的平均轮廓系数与k-1,k-2差距较小,则采用较小的k-1或k-2作为新的k值。

本申请实施例采取的技术方案还包括类别合并模块,所述类别合并模块用于判断负载类别数目是否过多且存在差别较小的负载类别,如果负载类别数目过多且存在差别较小的负载类别,分析各个负载类别之间的特征相似性,并将具有相似特征的负载类别进行合并。

本申请实施例采取的又一技术方案为:一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的云计算负载聚类方法的以下操作:

步骤a:采集集群监控数据,并提取所述集群监控数据中的特征向量;

步骤b:计算每个特征向量的平均轮廓系数,确定所述平均轮廓系数最大时每个特征向量对应的k值;

步骤c:将所述每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;

步骤d:将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别。

相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的云计算负载聚类方法、系统及电子设备结合了有监督学习和非监督学习的优点,在生产型的云计算环境中基于特征集轮廓系数估计对特征向量进行聚类,再将所有的特征向量进行组合,形成相似度较高的负载类型,使得产生的类簇具有更强的相似性,确保了聚类效果的准确性,从而最大化服务器资源利用率,为资源规划和负载调度提供更准确的依据。

附图说明

图1是本申请实施例的云计算负载聚类方法的流程图;

图2是本申请实施例的云计算负载聚类系统的结构示意图;

图3是本申请实施例提供的云计算负载聚类方法的硬件设备结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

请参阅图1,是本申请实施例的云计算负载聚类方法的流程图。本申请实施例的云计算负载聚类方法包括以下步骤:

步骤100:通过集群监控软件采集集群监控数据;

步骤100中,采集的集群监控数据包括cpu利用率、内存利用率、任务开始执行时间、任务结束时间等属性值,采样频率为每隔60秒采样一次,具体可根据实际应用进行设定。

步骤200:判断采样时间开始时负载是否正在执行,或采样结束时负载仍未执行完毕,如果采样时间开始时负载正在执行,或采样结束时负载仍未执行完毕,执行步骤300;否则,执行步骤400;

步骤300:将该集群监控数据的任务开始执行时间设置为负值(-1);

步骤300中,由于在采样过程中,含有正在运行的负载以及采样结束仍有负载未结束的情形,针对这种特殊情况,本申请通过将对应集群监控数据中的任务开始执行时间设置为负值,以标记负载的特殊性,在进行负载分类时可以将这些任务开始执行时间为负值的集群监控数据剔除,保证分析的准确性和完整性。

步骤400:提取集群监控数据中最具有统计意义的特征向量作为聚类的维度,并对提取的特征向量进行min-max标准归一化处理;

步骤400中,由于采集的原始集群监控数据并不能直接作为聚类的特征向量,需要从特征集合中选取出最具有统计意义的特征向量,达到降维的目的。根据相关研究,得出cpu、内存、磁盘占用率、i/o、网络流量和负载执行时间对负载类别属性的影响最大,可以根据采集的集群监控数据合理选择特征向量,作为聚类的维度。

对提取的特征值进行标准归一化,可以避免不同列数据数量级相差过大,导致计算起来大数的变化会掩盖小数的变化的问题。本申请采用典型的min-max标准化方法,计算方法是对于数据对象x,归一化的x值的计算方式为:

步骤500:计算每个特征向量的平均轮廓系数,确定平均轮廓系数最大时每个特征向量对应的k值;

步骤500中,使用平均轮廓系数来确定每个特征向量的最佳k值。轮廓系数评估聚类的标准即是类簇间和类簇内的离散程度,结合了凝聚度和分离度,其中凝聚度是指对第i个对象,它与同类簇中其他点的平均距离,记为ai;分离度是指第i个对象与不包含它的类簇中的所有点的平均距离,记为bi;而第i个对象的轮廓系数该值处于[-1,1]之间,数值越大,说明聚类效果越好。对于第k个特征向量featurek的平均轮廓系数计算方式为:本申请采用平均轮廓系数评估特征向量的聚类结果,避免k-means算法需要人为确定k值的不确定性和不精准性。

步骤600:判断k值是否较大且对应的平均轮廓系数与k-1,k-2差距是否较小,如果k值较大且对应的平均轮廓系数与k-1,k-2差距较小,执行步骤700;否则,执行步骤800;

步骤700:采用较小的k-1或k-2作为新的k值;

步骤800:将每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;

步骤800中,由于每个特征向量均为一维,所以待确定k值之后,即可确定每个类簇的边界值,通常根据数值按照大、中、小或者长、中、短来标记。采用无监督的聚类方法k-menas应用到集群负载聚类中,确定特征向量聚类的边界值,得到更符合需求复杂的工作负载类型。

步骤900:将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别;

步骤1000:判断负载类别数目是否过多且存在差别较小的负载类别,如果负载类别数目过多且存在差别较小的负载类别,执行步骤1100;否则,执行步骤1200;

步骤1100:分析各个负载类别之间的特征相似性,并将具有相似特征的负载类别进行合并,从而减少负载类别数目;

步骤1200:负载聚类结束。

请参阅图2,是本申请实施例的云计算负载聚类系统的结构示意图。本申请实施例的云计算负载聚类系统包括数据采集模块、任务判断模块、特征提取模块、轮廓系数计算模块、k值判断模块、聚类模块、类别划分模块和类别合并模块。

数据采集模块:用于通过集群监控软件采集集群监控数据;其中,采集的集群监控数据包括cpu利用率、内存利用率、任务开始执行时间、任务结束时间等属性值,采样频率为每隔60秒采样一次,具体可根据实际应用进行设定。

任务判断模块:用于判断采样时间开始时负载是否正在执行,或采样结束时负载仍未执行完毕,如果采样时间开始时负载正在执行,或采样结束时负载仍未执行完毕,将该集群监控数据的任务开始执行时间设置为负值(-1);其中,由于在采样过程中,含有正在运行的负载以及采样结束仍有负载未结束的情形,针对这种特殊情况,本申请通过将对应集群监控数据中的任务开始执行时间设置为负值,以标记负载的特殊性,在进行负载分类时可以将这些任务开始执行时间为负值的集群监控数据剔除,保证分析的准确性和完整性。

特征提取模块:用于提取集群监控数据中最具有统计意义的特征向量作为聚类的维度,并对提取的特征向量进行min-max标准归一化处理;其中,由于采集的原始集群监控数据并不能直接作为聚类的特征向量,需要从特征集合中选取出最具有统计意义的特征向量,达到降维的目的。根据相关研究,得出cpu、内存、磁盘占用率、i/o、网络流量和负载执行时间对负载类别属性的影响最大,可以根据采集的集群监控数据合理选择特征向量,作为聚类的维度。

对提取的特征值进行标准归一化,可以避免不同列数据数量级相差过大,导致计算起来大数的变化会掩盖小数的变化的问题。本申请采用典型的min-max标准化方法,计算方法是对于数据对象x,归一化的x值的计算方式为:

轮廓系数计算模块:用于计算每个特征向量的平均轮廓系数,确定平均轮廓系数最大时每个特征向量对应的k值;其中,使用平均轮廓系数来确定每个特征向量的最佳k值。轮廓系数评估聚类的标准即是类簇间和类簇内的离散程度,结合了凝聚度和分离度,其中凝聚度是指对第i个对象,它与同类簇中其他点的平均距离,记为ai;分离度是指第i个对象与不包含它的类簇中的所有点的平均距离,记为bi;而第i个对象的轮廓系数该值处于[-1,1]之间,数值越大,说明聚类效果越好。对于第k个特征向量featurek的平均轮廓系数计算方式为:本申请采用平均轮廓系数评估特征向量的聚类结果,避免k-means算法需要人为确定k值的不确定性和不精准性。

k值判断模块:用于判断k值是否较大且对应的平均轮廓系数与k-1,k-2差距是否较小,如果k值较大且对应的平均轮廓系数与k-1,k-2差距较小,采用较小的k-1或k-2作为新的k值;

聚类模块:用于将每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;其中,由于每个特征向量均为一维,所以待确定k值之后,即可确定每个类簇的边界值,通常根据数值按照大、中、小或者长、中、短来标记。采用无监督的聚类方法k-menas应用到集群负载聚类中,确定特征向量聚类的边界值,得到更符合需求复杂的工作负载类型。

类别划分模块:用于将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别;

类别合并模块:用于判断负载类别数目是否过多且存在差别较小的负载类别,如果负载类别数目过多且存在差别较小的负载类别,则分析各个负载类别之间的特征相似性,并将具有相似特征的负载类别进行合并,从而减少负载类别数目。

图3是本申请实施例提供的云计算负载聚类方法的硬件设备结构示意图。如图3所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。

处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图3中以通过总线连接为例。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:

步骤a:采集集群监控数据,并提取所述集群监控数据中的特征向量;

步骤b:计算每个特征向量的平均轮廓系数,确定所述平均轮廓系数最大时每个特征向量对应的k值;

步骤c:将所述每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;

步骤d:将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。

本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:

步骤a:采集集群监控数据,并提取所述集群监控数据中的特征向量;

步骤b:计算每个特征向量的平均轮廓系数,确定所述平均轮廓系数最大时每个特征向量对应的k值;

步骤c:将所述每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;

步骤d:将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别。

本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:

步骤a:采集集群监控数据,并提取所述集群监控数据中的特征向量;

步骤b:计算每个特征向量的平均轮廓系数,确定所述平均轮廓系数最大时每个特征向量对应的k值;

步骤c:将所述每个特征向量对应的k值代入k-means聚类算法进行聚类,得到各个维度的聚类结果;

步骤d:将各个维度的聚类结果进行组合划分,形成具有相似特征的负载类别。

本申请实施例的云计算负载聚类方法、系统及电子设备结合了有监督学习和非监督学习的优点,在生产型的云计算环境中基于特征集轮廓系数估计对特征向量进行聚类,再将所有的特征向量进行组合,形成相似度较高的负载类型,使得产生的类簇具有更强的相似性,确保了聚类效果的准确性,从而最大化服务器资源利用率,为资源规划和负载调度提供更准确的依据。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。

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