CN114281664A - 应用程序负载数据预测方法、装置及存储介质 - Google Patents
应用程序负载数据预测方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114281664A CN114281664A CN202111603738.3A CN202111603738A CN114281664A CN 114281664 A CN114281664 A CN 114281664A CN 202111603738 A CN202111603738 A CN 202111603738A CN 114281664 A CN114281664 A CN 114281664A
- Authority
- CN
- China
- Prior art keywords
- application program
- load data
- application
- deployed
- predicted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种应用程序负载数据预测方法、装置及存储介质,通过获取待预测应用程序的静态特征,输入预先训练的应用程序分类模型,确定待预测应用程序所属的应用程序类别,其中各应用程序类别是根据已部署应用程序样本的负载数据聚类得到;将待预测应用程序所属的应用程序类别中各已部署应用程序样本的平均负载数据确定为待预测应用程序的预测负载数据。预先对已部署应用程序的负载数据聚类,通过应用程序分类模型确定待预测应用程序所属的应用程序类别,将该应用程序类别中各已部署应用程序样本的平均负载数据作为待预测应用程序的预测负载数据,不依赖待预测应用程序的历史负载数据,可对未部署应用程序进行负载预测,扩展负载预测的适用场景。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序负载数据预测方法、装置及存储介质。
背景技术
近年来云计算技术得到飞速发展,越来越多的用户将自己的应用程序部署到云平台以获得高效快速的计算服务。在云平台中,用户可将应用程序部署到虚拟机中,虚拟机的实际计算资源分配来自于云平台服务端的服务器集群。应用程序的负载预测是指采用一定的技术方法预测得到应用程序未来一段时间工作负载数据的过程,对于云平台的资源分配和任务管理工作具有重要意义。
现有技术中,可基于深度学习相关技术对应用程序进行负载预测,具体的,对于云平台中某个已部署运行一段时间的应用程序进行负载预测时,需要依据该应用程序的历史负载数据来预测该应用程序未来的负载数据。
然而现有技术的负载预测方法过度依赖需要预测的应用程序的历史负载数据,对于未部署应用程序,由于应用程序还没有部署运行,没有历史负载数据,因此现有技术的负载预测方法无法对未部署的应用程序进行负载预测,适用场景有限。
发明内容
本申请提供一种应用程序负载数据预测方法、装置及存储介质,以不依赖待预测应用程序的历史负载数据实现对待预测应用程序的负载数据的预测。
第一方面,本申请提供一种应用程序负载数据预测方法,包括:
获取待预测应用程序的静态特征;
根据所述待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定所述待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;
获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将所述平均负载数据确定为所述待预测应用程序的预测负载数据。
在一种可能的设计中,所述获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,包括:
根据所述待预测应用程序所属的应用程序类别,获取该应用程序类别中的各已部署应用程序样本的负载数据,并根据该应用程序类别中的各已部署应用程序样本的负载数据计算平均值,得到所述平均负载数据;或者
根据所述待预测应用程序所属的应用程序类别,查询该应用程序类别对应的预设平均负载数据,其中所述预设平均负载数据为预先根据该应用程序类别中的各已部署应用程序样本的负载数据计算的平均值。
在一种可能的设计中,负载数据包括:目标负载指标的平均值和/或峰值,所述目标负载指标包括CPU占用率和/或内存占用率;
所述静态特征包括以下至少一项:应用程序安装包大小、功能类型、虚拟机信息、使用者信息。
第二方面,本申请提供一种应用程序分类模型的训练方法,包括:
获取多个已部署应用程序样本的静态特征以及负载数据;
根据所述多个已部署应用程序样本的负载数据对所述多个已部署应用程序样本进行聚类,得到不同的应用程序类别;
将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,根据训练数据对应用程序分类模型进行训练。
在一种可能的设计中,所述已部署应用程序样本的负载数据包括:已部署应用程序样本在预定时长内目标负载指标的平均值和/或峰值,所述目标负载指标包括CPU占用率和/或内存占用率;
所述静态特征包括以下至少一项:应用程序安装包大小、功能类型、虚拟机信息、使用者信息。
在一种可能的设计中,所述将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据前,还包括:
将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别输入特征重要性评价模型,获取在选择不同静态特征组合的情况下对应用程序类别预测的准确度以及所选择的静态特征的基尼系数;
基于预测的准确度以及静态特征的基尼系数确定一组最优静态特征;
所述将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,包括:
对于任一已部署应用程序样本,从其静态特征中筛选出所述最优静态特征,并将筛选出的所述最优静态特征以及该已部署应用程序样本对应的应用程序类别作为一组训练数据。
在一种可能的设计中,所述根据训练数据对应用程序分类模型进行训练,包括:
根据训练数据分别对多个不同架构的备选应用程序分类模型进行训练;
根据训练结果,对多个备选应用程序分类模型进行对比,选择最优的备选应用程序分类模型作为最终的应用程序分类模型。
第三方面,本申请提供一种应用程序负载数据预测设备,包括:
特征获取模块,用于获取待预测应用程序的静态特征;
分类模块,用于根据所述待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定所述待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;
负载预测模块,用于获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将所述平均负载数据确定为所述待预测应用程序的预测负载数据。
在一种可能的设计中,所述负载预测模块在获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据时,用于:
根据所述待预测应用程序所属的应用程序类别,获取该应用程序类别中的各已部署应用程序样本的负载数据,并根据该应用程序类别中的各已部署应用程序样本的负载数据计算平均值,得到所述平均负载数据;或者
根据所述待预测应用程序所属的应用程序类别,查询该应用程序类别对应的预设平均负载数据,其中所述预设平均负载数据为预先根据该应用程序类别中的各已部署应用程序样本的负载数据计算的平均值。
第四方面,本申请提供一种应用程序分类模型的训练设备,包括:
采集模块,用于获取多个已部署应用程序样本的静态特征以及负载数据;
聚类模块,用于根据所述多个已部署应用程序样本的负载数据对所述多个已部署应用程序样本进行聚类,得到不同的应用程序类别;
训练模块,用于将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,根据训练数据对应用程序分类模型进行训练。
在一种可能的设计中,所述已部署应用程序样本的负载数据包括:已部署应用程序样本在预定时长内目标负载指标的平均值和/或峰值,所述目标负载指标包括CPU占用率和/或内存占用率;
所述静态特征包括以下至少一项:应用程序安装包大小、功能类型、虚拟机信息、使用者信息。
在一种可能的设计中,所述训练模块在将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据前,还用于:
将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别输入特征重要性评价模型,获取在选择不同静态特征组合的情况下对应用程序类别预测的准确度以及所选择的静态特征的基尼系数;
基于预测的准确度以及静态特征的基尼系数确定一组最优静态特征;
所述训练模块在将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据时,用于:
对于任一已部署应用程序样本,从其静态特征中筛选出所述最优静态特征,并将筛选出的所述最优静态特征以及该已部署应用程序样本对应的应用程序类别作为一组训练数据。
在一种可能的设计中,所述训练模块在根据训练数据对应用程序分类模型进行训练时,用于:
根据训练数据分别对多个不同架构的备选应用程序分类模型进行训练;
根据训练结果,对多个备选应用程序分类模型进行对比,选择最优的备选应用程序分类模型作为最终的应用程序分类模型。
第五方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面或第二方面所述的方法。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面或第二方面所述的方法。
第七方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面或第二方面所述的方法。
本申请提供的应用程序负载数据预测方法、装置及存储介质,通过获取待预测应用程序的静态特征;根据待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;获取待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将平均负载数据确定为待预测应用程序的预测负载数据。本申请中预先对已部署应用程序的负载数据进行聚类,并训练了应用程序分类模型,通过机器学习过程学习了各应用程序类别中已部署应用程序的静态特征与各应用程序类别之间的对应关系,进而可通过应用程序分类模型确定待预测应用程序所属的应用程序类别,将该应用程序类别中的各已部署应用程序样本的平均负载数据作为待预测应用程序的预测负载数据,可不依赖待预测应用程序的历史负载数据,可实现对未部署的应用程序进行负载预测,扩展了负载预测的适用场景。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一实施例提供的应用程序负载数据预测方法的应用场景示意图;
图2为本申请一实施例提供的应用程序负载数据预测方法的流程图;
图3为本申请一实施例提供的应用程序分类模型的训练方法的流程图;
图4为本申请一实施例提供的应用程序负载数据预测设备的结构图;
图5为本申请一实施例提供的应用程序分类模型的训练设备的结构图;
图6为本申请一实施例提供的电子设备的结构图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
云平台:又称为云计算平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力;
静态特征:是指应用程序在未部署到云平台之前便已知的特征,例如应用程序大小等;
工作负载:指应用程序在运行时单位时间内所需的服务器内存占用率,CPU占用率等;
机器学习:机器学习的主要研究内容是关于在计算机上从数据中产生“模型”的算法,即“学习算法”。经验数据提供给学习算法,学习算法通过统计学、概率论等原理,对数据进行学习得到模型,当有一个新数据到来时,学习好的模型会得出相应的判断;
聚类:将无标签的数据集分成由类似数据组成的多个类的过程被称为聚类。由聚类所生成的类是一组数据的集合,这些数据和同一类里的数据彼此相似,与其他类里的数据相异;
分类:从有标签的训练样本数据集学习出一个分类模型,当新的数据到来,可以根据分类模型来预测新数据的类型。
下面对现有技术进行介绍。
近年来云计算技术得到飞速发展,越来越多的用户将自己的应用程序部署到云平台以获得高效快速的计算服务。在云平台中,用户可将应用程序部署到虚拟机中,虚拟机的实际计算资源分配来自于云平台服务端的服务器集群。应用程序的负载预测是指采用一定的技术方法预测得到应用程序未来一段时间工作负载数据的过程,对于云平台的资源分配和任务管理工作具有重要意义。
现有技术中,可基于深度学习相关技术对应用程序进行负载预测,具体的,对于某个已部署运行一段时间的应用程序进行负载预测时,需要依据该应用程序的历史负载数据来预测该应用程序未来的负载数据。
例如,现有的技术方案解决如下:
第一,基于差分整合移动平均自回归模型(Autoregressive Integrated MovingAverage model,ARIMA)预测应用未来负载的方法:通过使用ARIMA模型训练应用程序历史负载数据,进一步进行应用工作负载预测;
第二,基于自回归(Autoregressive model,AR)的模型预测应用程序未来负载的方法:针对周期性较强的应用程序历史工作负载,使用自回归模型进行训练,来预测应用未来的工作负载。
然而现有技术的负载预测方法过度依赖需要预测的应用程序的历史负载数据,对于未部署应用程序,由于应用程序还没有部署运行,没有历史负载数据,因此现有技术的负载预测方法无法对未部署的应用程序进行负载预测,适用场景有限。
为了解决上述技术问题,本申请体提供一种应用程序负载数据预测方法,可利用已部署应用程序的负载数据进行聚类,得到不同的应用程序类别,各应用程序类别中已部署应用程序的负载数据相近,因此只需要确定待预测应用程序属于哪个应用程序类别,即可预测待预测应用程序的负载数据,也即将负载预测问题转换成分类问题;对于分类问题,本申请训练了应用程序分类模型,该应用程序分类模型通过机器学习过程学习了各应用程序类别中已部署应用程序的静态特征与各应用程序类别之间的对应关系,因此只需要获取待预测应用程序的静态特征,输入应用程序分类模型,即可得到待预测应用程序所属的应用程序类别,进而将该应用程序类别中的各已部署应用程序样本的平均负载数据确定为待预测应用程序的预测负载数据。本申请不需要依赖待预测应用程序的历史负载数据,可实现对未部署的应用程序进行负载预测,扩展了负载预测的适用场景。
本申请具体的应用场景如图1所示,处理设备可获取待预测应用程序的静态特征;根据待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;获取待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将平均负载数据确定为待预测应用程序的预测负载数据,并输出待预测应用程序的预测负载数据,可用于云平台的资源分配和任务管理,也可用于其他用途,本申请不做限定。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的应用程序负载数据预测方法流程图。本实施例提供了一种应用程序负载数据预测方法,其执行主体为终端或服务器等电子设备,该应用程序负载数据预测方法具体步骤如下:
S201、获取待预测应用程序的静态特征。
在本实施例中,预先训练了应用程序分类模型,该应用程序分类模型的输入为应用程序的静态特征,输出为应用程序类别,而各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到,也即同一应用程序类别中的各已部署应用程序样本的负载数据相近,不同应用程序类别中的各已部署应用程序样本的负载数据不相近。其中,静态特征是应用程序在未部署之前便已知的特征,可包括应用程序安装包大小、功能类型、虚拟机信息、使用者信息中的一项或多项,具体可根据模型实际情况进行选择和确定;而负载数据则可包括一些负载指标的平均值和/或峰值,例如CPU占用率的平均值和/或峰值、内存占用率的平均值和/或峰值等。
基于应用程序分类模型,对于待预测应用程序,需要获取至少满足应用程序分类模型输入的静态特征,此处不再一一赘述。
需要说明的是,本实施例的应用程序负载数据预测方法可以对未部署的应用程序进行负载数据预测,当然也对任意已部署的应用程序进行负载数据预测。也即,待预测应用程序既可以是未部署的应用程序,也可以是已部署的应用程序。
S202、根据所述待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定所述待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到。
在本实施例中,将待预测应用程序的静态特征输入到应用程序分类模型中,通过应用程序分类模型可确定待预测应用程序所属的应用程序类别。本实施例中的应用程序分类模型可以采用任意及学习模型,例如决策树模型、神经网络模型等,其模型运行过程此处不做限制。
S203、获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将所述平均负载数据确定为所述待预测应用程序的预测负载数据。
在本实施例中,在获取到待预测应用程序所属的应用程序类别后,由于各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到,也即同一应用程序类别中的各已部署应用程序样本的负载数据相近,因此可获取待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将该平均负载数据作为待预测应用程序的预测负载数据。
其中,在一种可选实施例中,待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,可以在确定待预测应用程序所属的应用程序类别之后再进行计算,也即获取该应用程序类别中的各已部署应用程序样本的负载数据,并根据该应用程序类别中的各已部署应用程序样本的负载数据计算平均值,得到所述平均负载数据。
在另一种可选实施例中,待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,也可以在对已部署应用程序样本的负载数据进行聚类之后就进行计算,也即对每一应用程序类别中的各已部署应用程序样本的负载数据计算平均值,得到各应用程序类别对应的平均负载数据,并进行存储;在确定待预测应用程序所属的应用程序类别之后,查询该应用程序类别对应的平均负载数据。
本实施例提供的应用程序负载数据预测方法,通过获取待预测应用程序的静态特征;根据待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;获取待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将平均负载数据确定为待预测应用程序的预测负载数据。本实施例中预先对已部署应用程序的负载数据进行聚类,并训练了应用程序分类模型,通过机器学习过程学习了各应用程序类别中已部署应用程序的静态特征与各应用程序类别之间的对应关系,进而可通过应用程序分类模型确定待预测应用程序所属的应用程序类别,将该应用程序类别中的各已部署应用程序样本的平均负载数据作为待预测应用程序的预测负载数据,可不依赖待预测应用程序的历史负载数据,可实现对未部署的应用程序进行负载预测,扩展了负载预测的适用场景。
图3为本申请实施例提供的应用程序分类模型的训练方法流程图。本实施例提供了一种应用程序分类模型的训练方法,其执行主体为终端或服务器等电子设备,可以是上述实施例同一执行主体,也可以是不同的执行主体,该应用程序分类模型的训练方法具体步骤如下:
S301、获取多个已部署应用程序样本的静态特征以及负载数据。
在本实施例中,对多个已部署应用程序样本采集静态特征以及负载数据,其中已部署应用程序样本的静态特征包括以下至少一项:应用程序安装包大小、功能类型、虚拟机信息、使用者信息,举例来讲,功能类型可分为计算型、存储型和综合型,虚拟机信息可包括应用程序对应的虚拟机选型、虚拟机的CPU核数、虚拟机的内存大小,使用者信息可包括但不限于使用者是否为VIP用户、使用者付款方式等。已部署应用程序样本的负载数据可包括已部署应用程序样本在预定时长内目标负载指标的平均值和/或峰值,所述目标负载指标包括CPU占用率和/或内存占用率。
其中,对于任一已部署应用程序样本的负载数据,可先采集该应用程序在一段时间内每个时段(例如每5分钟)的内存使用大小、CPU占用率,再通过降维处理,计算预定时长内CPU占用率的平均值、峰值,内存占用率的平均值、峰值。
S302、根据所述多个已部署应用程序样本的负载数据对所述多个已部署应用程序样本进行聚类,得到不同的应用程序类别。
在本实施例中,在获取到各已部署应用程序样本的负载数据后,可采用聚类算法根据负载数据对多个已部署应用程序样本进行聚类,本实施例可采用任意的聚类算法,本实施例中不做限制。
作为一种可选实施例,对所述多个已部署应用程序样本进行聚类具体可如下:
首先进行聚类算法的参数调优,针对不同的聚类算法主要调整的是聚类参数,例如聚类个数、聚类半径等,它们是聚类最重要的参数,选取最优的参数是聚类处理的关键要素;
然后进行中心计算,可依次输入各已部署应用程序样本的负载数据,计算每个样本点与各聚类中心之间的距离,把每个样本点分配给距离它最近的聚类中心,每分配一个样本点即根据该类别中现有样本点重新计算聚类中心;
在重新计算聚类中心后,判断聚类中心是否发生变化,如果聚类中心发生变化,继续执行输入已部署应用程序样本的负载数据,如果各聚类中心均不发生变化,则可结束聚类。
通过聚类处理,可以将负载数据相近的已部署应用程序样本划分为一个应用程序类别。进一步可对已部署应用程序样本标注应用程序类别标签。
S303、将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,根据训练数据对应用程序分类模型进行训练。
在本实施例中,在完成聚类处理后,由于负载数据相近的已部署应用程序样本划分为一个应用程序类别,可进一步通过机器学习来学习已部署应用程序样本的静态特征与应用程序类别之间的关系,训练一个应用程序分类模型,来实现根据应用程序样本的静态特征即可确定应用程序类别。
本实施例中可将任意一个已部署应用程序样本的静态特征以及对应的应用程序类别作为一个训练数据,从而得到多个训练数据,进而基于多个训练数据来对应用程序分类模型的初始模型进行训练,得到最终的应用程序分类模型。具体的,可将训练数据划分为训练集和测试集,通过训练集对应用程序分类模型进行训练,通过测试集应用程序分类模型进行测试和验证。
以决策树模型举例来讲,可先进行模型设计,选取最佳树高度和叶子节点数,是训练好模型的关键要素,进而通过训练集对应用程序分类模型进行训练,通过测试集应用程序分类模型进行测试和验证。
可选的,为了得到最佳的应用程序分类模型,本实施例中可设计多个不同架构的备选应用程序分类模型,例如决策树模型、神经网络模型等,并根据训练数据分别对多个不同架构的备选应用程序分类模型进行训练,并根据训练结果对多个备选应用程序分类模型进行对比,选择最优的备选应用程序分类模型作为最终的应用程序分类模型。
在上述实施例中,由于已部署应用程序样本的静态特征可能存在多种,但是其中可能一些无效的静态特征,例如已部署应用程序样本的开发时间等,无效的静态特征对应用程序分类不产生影响或影响较小,过多的无效的静态特征可能导致应用程序分类模型的训练效率降低,影响模型效果,因此可对多种静态特征进行重要性分析,从多种静态特征中筛选出有效的静态特征,作为应用程序分类模型的入参。
在一种可选实施例中,在筛选有效静态特征时,可采用如下过程:
将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别输入特征重要性评价模型,获取在选择不同静态特征组合的情况下对应用程序类别预测的准确度以及所选择的静态特征的基尼系数;基于预测的准确度以及静态特征的基尼系数确定一组最优静态特征。
在本实施例中,可基于特征重要性评价模型来实现静态特征的重要性分析,首先将全量静态特征作为入参,计算预测的已部署应用程序样本的应用程序类别,获取预测准确度以及各静态特征的基尼系数(Gini index),并对静态特征的基尼系数进行排序,其中基尼系数越低说明该静态特征对预测结果影响越小,可去除基尼系数最低的一个静态特征,将剩余的静态特征组合作为入参,重新计算预测的已部署应用程序样本的应用程序类别,获取预测准确度以及各静态特征的基尼系数,这时预测准确度可能有所提高,则继续此时基尼系数最低的一个静态特征,重复迭代上述过程,直至预测准确度相对于上一次迭代过程的预测准确度有所下降,可结束迭代,将预测准确度最高的一组静态特征确定为最优静态特征。
在确定出一组最优静态特征后,可将该组最优静态特征作为应用程序分类模型的入参,进而,对于任一已部署应用程序样本,从其静态特征中筛选出所述最优静态特征,并将筛选出的所述最优静态特征以及该已部署应用程序样本对应的应用程序类别作为一组训练数据,得到多组训练数据,基于该些训练数据来训练应用程序分类模型,可有效提高训练效率,提高模型效果。
在上述实施例的基础上,在聚类处理后,还可对每一应用程序类别中的各已部署应用程序样本的负载数据计算平均值,得到各应用程序类别对应的平均负载数据,并进行存储,以用于后续在模型应用阶段,确定待预测应用程序所属的应用程序类别之后,可直接查询该应用程序类别对应的平均负载数据。当然,待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,可以在确定待预测应用程序所属的应用程序类别之后再进行计算,此处可不做限制。
上述实施例提供的应用程序分类模型的训练方法,通过对已部署应用程序的负载数据进行聚类,并训练了应用程序分类模型,通过机器学习过程学习了各应用程序类别中已部署应用程序的静态特征与各应用程序类别之间的对应关系,从而可实现通过应用程序分类模型确定待预测应用程序所属的应用程序类别,从而将该应用程序类别中的各已部署应用程序样本的平均负载数据作为待预测应用程序的预测负载数据,可不依赖待预测应用程序的历史负载数据,可实现对未部署的应用程序进行负载预测,扩展了负载预测的适用场景。
图4为本申请实施例提供的应用程序负载数据预测设备的结构图。本实施例提供的应用程序负载数据预测设备可以执行应用程序负载数据预测方法实施例提供的处理流程,如图4所示,所述应用程序负载数据预测设备400包括:特征获取模块401、分类模块402、负载预测模块403。
特征获取模块401,用于获取待预测应用程序的静态特征;
分类模块402,用于根据所述待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定所述待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;
负载预测模块403,用于获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将所述平均负载数据确定为所述待预测应用程序的预测负载数据。
在上述实施例的基础上,所述负载预测模块403在获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据时,用于:
根据所述待预测应用程序所属的应用程序类别,获取该应用程序类别中的各已部署应用程序样本的负载数据,并根据该应用程序类别中的各已部署应用程序样本的负载数据计算平均值,得到所述平均负载数据;或者
根据所述待预测应用程序所属的应用程序类别,查询该应用程序类别对应的预设平均负载数据,其中所述预设平均负载数据为预先根据该应用程序类别中的各已部署应用程序样本的负载数据计算的平均值。
本申请实施例的应用程序负载数据预测设备可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请实施例提供的应用程序分类模型的训练设备的结构图。本实施例提供的应用程序分类模型的训练设备可以执行应用程序分类模型的训练方法实施例提供的处理流程,如图5所示,所述应用程序分类模型的训练设备500包括:采集模块501、聚类模块502、训练模块503。
采集模块501,用于获取多个已部署应用程序样本的静态特征以及负载数据;
聚类模块502,用于根据所述多个已部署应用程序样本的负载数据对所述多个已部署应用程序样本进行聚类,得到不同的应用程序类别;
训练模块503,用于将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,根据训练数据对应用程序分类模型进行训练。
在本申请的一个或多个实施例中,所述已部署应用程序样本的负载数据包括:已部署应用程序样本在预定时长内目标负载指标的平均值和/或峰值,所述目标负载指标包括CPU占用率和/或内存占用率;
所述静态特征包括以下至少一项:应用程序安装包大小、功能类型、虚拟机信息、使用者信息。
在本申请的一个或多个实施例中,所述训练模块503在将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据前,还用于:
将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别输入特征重要性评价模型,获取在选择不同静态特征组合的情况下对应用程序类别预测的准确度以及所选择的静态特征的基尼系数;
基于预测的准确度以及静态特征的基尼系数确定一组最优静态特征;
所述训练模块503在将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据时,用于:
对于任一已部署应用程序样本,从其静态特征中筛选出所述最优静态特征,并将筛选出的所述最优静态特征以及该已部署应用程序样本对应的应用程序类别作为一组训练数据。
在本申请的一个或多个实施例中,所述训练模块503在根据训练数据对应用程序分类模型进行训练时,用于:
根据训练数据分别对多个不同架构的备选应用程序分类模型进行训练;
根据训练结果,对多个备选应用程序分类模型进行对比,选择最优的备选应用程序分类模型作为最终的应用程序分类模型。
本申请实施例的应用程序分类模型的训练设备可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6示出了本申请实施例提供的一种电子设备的硬件结构示意图。如图6所示,该电子设备600,用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的电子设备600可以包括:存储器601,处理器602和通讯接口603。
存储器601,用于存储计算机程序。该存储器601可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器602,用于执行存储器存储的计算机程序,以实现上述实施例中的方法,具体可以参见前述方法实施例中的相关描述。该处理器602可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选的,存储器601既可以是独立的,也可以跟处理器602集成在一起。当存储器601是独立于处理器602之外的器件时,电子设备600还可以包括总线。该总线用于连接存储器601和处理器602。该总线可以是工业标准体系结构(IndustryStandard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
通讯接口603,用于进行应用程序样本的静态特征、负载数据、或其他数据和指令的传输。
本实施例提供的电子设备可用于执行上述实施例中的应用程序负载数据预测方法和/或应用程序分类模型的训练方法,其实现方式和技术效果类似,本实施例此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的应用程序负载数据预测方法和/或应用程序分类模型的训练方法。
另外,本实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的应用程序负载数据预测方法和/或应用程序分类模型的训练方法。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上各实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述各实施例对本申请实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例各实施例技术方案的范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种应用程序负载数据预测方法,其特征在于,包括:
获取待预测应用程序的静态特征;
根据所述待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定所述待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;
获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将所述平均负载数据确定为所述待预测应用程序的预测负载数据。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,包括:
根据所述待预测应用程序所属的应用程序类别,获取该应用程序类别中的各已部署应用程序样本的负载数据,并根据该应用程序类别中的各已部署应用程序样本的负载数据计算平均值,得到所述平均负载数据;或者
根据所述待预测应用程序所属的应用程序类别,查询该应用程序类别对应的预设平均负载数据,其中所述预设平均负载数据为预先根据该应用程序类别中的各已部署应用程序样本的负载数据计算的平均值。
3.一种应用程序分类模型的训练方法,其特征在于,包括:
获取多个已部署应用程序样本的静态特征以及负载数据;
根据所述多个已部署应用程序样本的负载数据对所述多个已部署应用程序样本进行聚类,得到不同的应用程序类别;
将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,根据训练数据对应用程序分类模型进行训练。
4.根据权利要求3所述的方法,其特征在于,所述已部署应用程序样本的负载数据包括:已部署应用程序样本在预定时长内目标负载指标的平均值和/或峰值,所述目标负载指标包括CPU占用率和/或内存占用率;
所述静态特征包括以下至少一项:应用程序安装包大小、功能类型、虚拟机信息、使用者信息。
5.根据权利要求3或4所述的方法,其特征在于,所述将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据前,还包括:
将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别输入特征重要性评价模型,获取在选择不同静态特征组合的情况下对应用程序类别预测的准确度以及所选择的静态特征的基尼系数;
基于预测的准确度以及静态特征的基尼系数确定一组最优静态特征;
所述将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,包括:
对于任一已部署应用程序样本,从其静态特征中筛选出所述最优静态特征,并将筛选出的所述最优静态特征以及该已部署应用程序样本对应的应用程序类别作为一组训练数据。
6.根据权利要求3所述的方法,其特征在于,所述根据训练数据对应用程序分类模型进行训练,包括:
根据训练数据分别对多个不同架构的备选应用程序分类模型进行训练;
根据训练结果,对多个备选应用程序分类模型进行对比,选择最优的备选应用程序分类模型作为最终的应用程序分类模型。
7.一种应用程序负载数据预测设备,其特征在于,包括:
特征获取模块,用于获取待预测应用程序的静态特征;
分类模块,用于根据所述待预测应用程序的静态特征以及预先训练的应用程序分类模型,确定所述待预测应用程序所属的应用程序类别;其中各应用程序类别是根据已部署应用程序样本的负载数据进行聚类得到;
负载预测模块,用于获取所述待预测应用程序所属的应用程序类别中的各已部署应用程序样本的平均负载数据,将所述平均负载数据确定为所述待预测应用程序的预测负载数据。
8.一种应用程序分类模型的训练设备,其特征在于,包括:
采集模块,用于获取多个已部署应用程序样本的静态特征以及负载数据;
聚类模块,用于根据所述多个已部署应用程序样本的负载数据对所述多个已部署应用程序样本进行聚类,得到不同的应用程序类别;
训练模块,用于将所述多个已部署应用程序样本的静态特征以及对应的应用程序类别作为训练数据,根据训练数据对应用程序分类模型进行训练。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-2或3-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-2或3-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603738.3A CN114281664A (zh) | 2021-12-24 | 2021-12-24 | 应用程序负载数据预测方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603738.3A CN114281664A (zh) | 2021-12-24 | 2021-12-24 | 应用程序负载数据预测方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281664A true CN114281664A (zh) | 2022-04-05 |
Family
ID=80875450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111603738.3A Pending CN114281664A (zh) | 2021-12-24 | 2021-12-24 | 应用程序负载数据预测方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281664A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056836A (zh) * | 2023-10-13 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 程序分类模型的训练、程序类目识别方法及装置 |
-
2021
- 2021-12-24 CN CN202111603738.3A patent/CN114281664A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056836A (zh) * | 2023-10-13 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 程序分类模型的训练、程序类目识别方法及装置 |
CN117056836B (zh) * | 2023-10-13 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 程序分类模型的训练、程序类目识别方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6749468B2 (ja) | 評価モデルのためのモデリング方法及び装置 | |
CN108304427B (zh) | 一种用户客群分类方法和装置 | |
CN107423613B (zh) | 依据相似度确定设备指纹的方法、装置及服务器 | |
CN110009171B (zh) | 用户行为模拟方法、装置、设备及计算机可读存储介质 | |
KR101964412B1 (ko) | 이동통신데이터 처리시스템의 이상로그 발생을 진단하는 방법 및 그 시스템 | |
CN110689368B (zh) | 一种移动应用内广告点击率预测系统设计方法 | |
CN111178380A (zh) | 数据分类方法、装置及电子设备 | |
CN111210072B (zh) | 预测模型训练和用户资源额度确定方法及装置 | |
US11250368B1 (en) | Business prediction method and apparatus | |
CN112766578A (zh) | 一种基于车辆网的车辆用途识别方法、系统及存储介质 | |
CN111582645B (zh) | 基于因子分解机的app风险评估方法、装置和电子设备 | |
CN114281664A (zh) | 应用程序负载数据预测方法、装置及存储介质 | |
CN110147493B (zh) | 活跃因子的确定方法、装置、计算机设备及存储介质 | |
CN112801231B (zh) | 用于业务对象分类的决策模型训练方法和装置 | |
CN112200271A (zh) | 一种训练样本确定方法、装置、计算机设备及存储介质 | |
CN112686312A (zh) | 一种数据分类方法、装置及系统 | |
CN112749003A (zh) | 系统优化的方法、设备及计算机可读存储介质 | |
CN115757900A (zh) | 应用人工智能模型的用户需求分析方法及系统 | |
CN113160987B (zh) | 健康状态预测方法、装置、计算机设备及存储介质 | |
CN115660101A (zh) | 一种基于业务节点信息的数据服务提供方法及装置 | |
CN115687034A (zh) | 一种业务系统平面可用性判定方法和装置 | |
CN113487440A (zh) | 模型生成、健康险理赔的确定方法、装置、设备及介质 | |
CN112489810B (zh) | 一种基于智慧医疗的数据处理方法、系统、服务器及介质 | |
CN113159957B (zh) | 一种交易处理方法及装置 | |
CN113448955B (zh) | 数据集质量评估方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |