预测云软件性能的方法和装置技术领域
本发明涉及计算机领域,特别涉及计算机领域中的预测云软件性能的方法和装
置。
背景技术
随着电信网络的发展,电信产业将进入网络功能虚拟化(Network Functions
Virtualization,简称“NFV”)的时代,多个厂商分层集成未来的NFV产品将成为主流,电信
产品将以应用程序(Application,简称“APP”)的形式运行在不同厂商硬件,不同的云平台
上。目前电信产品在不同的厂商硬件和不同的云平台上的性能的预测是通过专家经验人工
进行预测,但是仅依靠专家经验评估电信产品的性能影响评估的准确性。
发明内容
本发明实施例提供的预测云软件性能的方法和装置,可以提高评估电信产品的性
能的准确性。
第一方面,提供了一种预测云软件性能的方法,该方法包括:获取目标业务的输入
参数,所述目标业务的输入参数包括:第一基础设施层的基准性能参数、所述目标业务在所
述第一基础设施层的虚拟网络功能VNF业务参数和所述目标业务在所述第一基础设施层的
网络功能虚拟化基础设施NFVI的容量参数中的至少一种;将所述目标业务的所述输入参数
输入到所述目标业务的预测模型得到所述目标业务在所述第一基础设施层的性能参数。
网络功能虚拟化产品包括基础设施层和虚拟网络功能层,虚拟网络功能层上的目
标业务,运行基础设施层上形成了云化软件,也即云软件,例如,目标业务可以是APP,也即
可以称为云化APP。
因此,通过获取目标业务的输入参数,然后将输入参数输入到预测模型中,得到性
能参数,利用预测模型预测产品的性能,避免了采用专家经验进行主观的评估,可以提高评
估产品性能的准确度,进一步地可以提高自动化程度,降低人力成本。
在第一方面的第一种可能的实现方式中,在所述获取目标业务的输入参数之前,
所述方法还包括:获取至少一个业务中每个业务的样本数据,所述每个业务的样本数据包
括:至少一个基础设施层的基准性能参数、所述每个业务在所述至少一个基础设施层中每
个基础设施层的VNF业务参数、所述每个业务在所述每个基础设施层的NFVI容量参数,所述
至少一个业务包括所述目标业务,所述至少一个基础设施层包括所述第一基础设施层;根
据所述每个业务的样本数据建立所述每个业务的预测模型。
换句话说,在利用预测模型对目标业务的输入参数进行预测得到性能参数时,需
要提前建立好预测模型,例如可以提前建立好至少一个业务中每个业务的预测模型,然后
目标业务在其对应的预测模型中进行预测,得到性能参数。
结合第一方面的上述可能的实现方式,在第一方面的第二种可能的实现方式中,
所述每个业务的预测模型的输入参数为所述每个基础设施层的基准性能参数和所述每个
业务在所述每个基础设施层的VNF业务参数,所述预测模型的性能参数为所述每个业务在
所述每个基础设施层的NFVI的容量参数,所述目标业务的输入参数为所述第一基础设施层
的基准性能参数和所述目标业务在所述第一基础设施层的VNF业务参数,所述目标业务的
性能参数为所述目标业务在所述第一基础设施层的NFVI的容量参数。
建立的预测模型的输入参数是所述每个基础设施层的基准性能参数和所述每个
业务在所述每个基础设施层的VNF业务参数,则目标业务的输入参数就为所述第一基础设
施层的基准性能参数和所述目标业务在所述第一基础设施层的VNF业务参数。
结合第一方面的上述可能的实现方式,在第一方面的第三种可能的实现方式中,
所述每个业务的预测模型的输入参数为所述每个基础设施层的基准性能参数和所述每个
业务在所述每个基础设施层的NFVI的容量参数,所述预测模型的性能参数为所述每个业务
在所述每个基础设施层的VNF业务参数,所述目标业务的输入参数为所述第一基础设施层
的基准性能参数和所述目标业务在所述第一基础设施层的NFVI的容量参数,所述目标业务
的性能参数为所述目标业务在所述第一基础设施层的VNF业务参数。
建立的预测模型的输入参数是所述每个基础设施层的基准性能参数和所述每个
业务在所述每个基础设施层的NFVI的容量参数,则目标业务的输入参数就为所述第一基础
设施层的基准性能参数和所述目标业务在所述第一基础设施层的NFVI的容量参数。
结合第一方面的上述可能的实现方式,在第一方面的第四种实现方式中,在所述
获取至少一个业务中每个业务的样本数据之前,所述方法还包括:所述至少一个业务中每
个业务的业务激励源激励NFV产品服务器产生所述每个业务的样本数据;其中,所述获取至
少一个业务中每个业务的样本数据,包括:获取所述NFV产品服务器产生的所述每个业务的
样本数据。
即获取每个业务的样本数据可以是通过每个业务的业务激励源激励NFV产品服务
器产生每个业务的样本数据。
结合第一方面的上述可能的实现方式,在第一方面的第五种实现方式中,在所述
根据所述每个业务的样本数据建立所述每个业务的预测模型之前,所述方法还包括:利用
所述每个业务的样本数据的至少部分样本数据进行规则训练,形成学习规则,所述学习规
则用于对所述每个业务的样本数据进行分类;对所述每个业务的样本数据利用所述学习规
则进行分类,得到分类后的所述每个业务的样本数据;其中,所述根据所述每个业务的样本
数据建立所述每个业务的预测模型,包括:根据所述分类后的所述每个业务的样本数据建
立所述每个业务的预测模型。
换句话说,在建立每个业务的预测模型之前,可以利用每个业务的样本数据的第
一部分数据进行规则训练,形成学习规则,利用每个业务的样本数据的第二部分数据进行
建模,建立预测模型;或者可以利用每个业务的全部样本数据进行规则训练,形成学习规
则,并且利用每个业务的全部样本数据进行规则训练,建立预测模型。
结合第一方面的上述可能的实现方式,在第一方面的第六种实现方式中,在所述
根据所述每个业务的样本数据建立所述每个业务的预测模型之前,所述方法还包括:对所
述每个业务的样本数据进行预处理操作,得到预处理后的所述每个业务的样本数据,所述
预处理操作包括:归一化处理、特征提取和噪声处理中的至少一种;其中,所述根据所述每
个业务的样本数据建立所述每个业务的预测模型,包括:根据所述预处理后的所述每个业
务的样本数据建立所述每个业务的预测模型。
可选地,可以对每个业务的样本数据既进行预处理操作又进行规则训练操作,但
是预处理操作或规则训练操作的先后顺序不作限定,可以先进行预处理操作,再进行规则
训练操作,或者,先进行规则训练操作,再进行预处理操作。
结合第一方面的上述可能的实现方式,在第一方面的第七种实现方式中,所述根
据所述每个业务的样本数据建立所述每个业务的预测模型,包括:利用神经网络算法或支
持向量机算法根据所述每个业务样本数据建立所述每个业务的预测模型。
可选地,也可以采用多元线性回归的方法、插值算法、遗传算法、动态规划方法根
据每个业务的样本数据建立所述每个业务的预测模型。
结合第一方面的上述可能的实现方式,在第一方面的第八种实现方式中,当所述
目标业务的所述输入参数包括第一基础设施层的基准性能参数和所述目标业务在所述第
一基础设施层的VNF业务参数时,所述方法还包括:获取所述目标业务在所述第一基础设施
层的NFVI容量参数,利用所述性能参数与所述第一基础设施层的NFVI容量参数确定第一误
差,若所述第一误差超过第一阈值,则重新建立所述目标业务的预测模型;或者,当所述目
标业务的输入参数包括所述第一基础设施层的基准性能参数和所述目标业务在所述第一
基础设施层的NFVI的容量参数时,所述方法还包括:获取所述目标业务在所述第一基础设
施层的VNF业务参数,利用所述性能参数与所述目标业务在所述第一基础设施层的VNF业务
参数确定第二误差,若所述第二误差超过第二阈值,则重新建立所述目标业务的预测模型。
结合第一方面的上述可能的实现方式,在第一方面的第九种实现方式中,所述基
准性能参数包括以下至少一种:核心基准性能测试参数coreMark、操作系统基准性能测试
unixbench单进程参数、操作系统基准性能测试unixbench多进程参数、标准性能评估组织
中央处理器整数性能specint参数和标准性能评估组织中央处理器浮点数性能specfp参
数。
结合第一方面的上述可能的实现方式,在第一方面的第十种实现方式中,所述VNF
业务参数包括以下至少一种:每秒试呼次数CAPS和每秒报文数PPS。
结合第一方面的上述可能的实现方式,在第一方面的第十一种实现方式中,所述
NFVI的容量参数包括以下至少一种:中央处理器CPU的占用率、内存的占用率、磁盘每秒读
写次数和网络的吞吐率。
第二方面,提供了一种预测云软件性能的装置,用于执行第一方面或第一方面任
意可能的实现方式中的方法。
第三方面,提供了一种预测云软件性能的装置,该装置包括:接收器、发送器、存储
器、处理器和总线系统。其中,该接收器、该发送器、该存储器和该处理器通过该总线系统相
连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制接收器接收信
号,并控制发送器发送信号,并且当该处理器执行该存储器存储的指令时,该执行使得该处
理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括
用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使
用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
图1示出了本发明实施例的应用场景的示意图。
图2示出了根据本发明实施例的预测云软件性能的方法的示意图。
图3示出了根据本发明实施例的另一预测云软件性能的方法的示意图。
图4示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图5示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图6示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图7示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图8示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图9示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图10示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图11示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图12示出了根据本发明实施例的又一预测云软件性能的方法的示意图。
图13示出了根据本发明实施例的预测云软件性能的装置的示意性框图。
图14示出了根据本发明实施例的另一预测云软件性能的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚描
述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的
实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,
都应属于本发明保护的范围。
图1示出了本发明实施例的应用场景示意图,包括:
Web控制服务器110,用于控制与Web前端的交互,实现用户使用的接口,并且用于
控制云化APP120、NFV产品服务器130、数据库服务器140和预测模型服务器150。
云化APP120,用于发起NFV网元输入激励产生性能激励源,并将激励源输入到NFV
产品服务器130,云化APP120由Web控制器服务器110部署网元性能激励程序。
NFV产品服务器130,用于产生样本数据,即进行测试NFV基础设施(NFV
Infrastructure,简称“NFVI”)的基准性能参数、NFVI的容量参数和监控虚拟网络功能
(Virtualized Network Function,简称“VNF”)业务参数,并将基准性能参数、NFVI的容量
参数和监控VNF业务参数这些样本数据输出到数据库服务器140。NFV产品服务器130的测试
程序和监控程序由Web控制服务器110部署。NFV产品服务器130由基础设施
(Infrastructure,简称“I”)层和VNF层组成,其中I层包括虚拟机(Virtual Machine,简称
“VM”)和商用现货(Commercial Off-the-Shelf,简称“COTS”)。
数据库服务器140,用于接收NFV产品服务器130输出的样本数据,并保存,并且可
以将预测模型服务器150得到的预测模型进行保存。
预测模型服务器150,用于从数据库服务器140获取样本数据,并建立预测模型,并
将预测模型输出到数据库服务器140。
云化APP120、NFV产品服务器130、数据库服务器140和预测模型服务器150的板卡
的数量取决于网络所需的NFVI的容量参数和VNF业务参数的规模。Web控制服务器110、云化
APP120、NFV产品服务器130、数据库服务器140和预测模型服务器150可以包含基本的中央
处理器(Central Processing Unit,简称“CPU”)、内存、网卡、磁盘等,每个服务器上运行着
相应的程序,通过对服务器编程来完成各服务器间的访问请求,并对服务器内的数据进行
处理。
应理解,图1中的Web控制服务器110、云化APP120、NFV产品服务器130、数据库服务
器140和预测模型服务器150只是示意性的举例,在具体实现过程中Web控制服务器110、云
化APP120、NFV产品服务器130、数据库服务器140和预测模型服务器150可以是集成的一个
或者是多个服务器,本发明实施例对此不作限制。
本发明实施例中提到的NFVI的容量参数可以为CPU的占用率、内存的占用率、磁盘
每秒读写次数和网络的吞吐率中的至少一种。
本发明实施例中提到的VNF业务参数可以为:每秒试呼次数(Call Attempts Per
Second,简称“CAPS”)和每秒报文数(Packets Per Second,简称“PPS”)中的至少一种。
本发明实施中提到的基准性能参数包括coreMark、unixbench单进程、unixbench
多进程、specint和specfp下列中的至少一种。
图2示出了根据本发明实施例提供的预测云软件性能的方法200,网络功能虚拟化
产品包括基础设施层和虚拟网络功能层,虚拟网络功能层上的目标业务运行在第一基础设
施层上形成了云软件,该方法200包括:
S210,获取目标业务的输入参数,所述目标业务的输入参数包括:第一基础设施层
的基准性能参数、所述目标业务在所述第一基础设施层的虚拟网络功能VNF业务参数和所
述目标业务在所述第一基础设施层的网络功能虚拟化基础设施NFVI的容量参数中的至少
一种。
在S210之前,方法200还包括:预测模型服务器150获取至少一个业务中每个业务
的样本数据,所述每个业务的样本数据包括:至少一个基础设施层的基准性能参数、所述每
个业务在所述至少一个基础设施层中每个基础设施层的VNF业务参数、所述每个业务在所
述每个基础设施层的NFVI容量参数,所述至少一个业务包括所述目标业务,所述至少一个
基础设施层包括所述第一基础设施层;根据所述每个业务的样本数据建立所述每个业务的
预测模型。
作为一个可选实施例,在所述根据所述每个业务的样本数据建立所述每个业务的
预测模型之前,方法200还包括:预测模型服务器150利用所述每个业务的样本数据的至少
部分样本数据进行规则训练,形成学习规则,所述学习规则用于对所述至少一个样本数据
进行分类;对所述至少一个样本数据利用所述学习规则进行分类,得到分类后的至少一个
样本数据;其中,所述根据所述每个业务的样本数据建立所述每个业务的预测模型,包括:
根据所述分类后的至少一个样本数据建立所述预测模型。
作为一个可选实施例,在所述根据所述每个业务的样本数据建立所述每个业务的
预测模型之前,方法200还包括:预测模型服务器150对所述至少一个样本数据进行预处理
操作,得到预处理后的样本数据,所述预处理操作包括:归一化处理、特征提取和噪声处理
中的至少一种;其中,所述根据所述每个业务的样本数据建立所述每个业务的预测模型,包
括:根据所述预处理后的样本数据建立所述预测模型。
具体地,上述在建立预测模型的过程中需要对每个业务的样本数据进行规则训练
和/或预处理操作,即可以只进行规则训练,对规则训练形成的学习规则对每个业务的样本
数据进行分类,利用分类后的样本数据建立预测模型;或者,有可能本身每个业务的样本数
据就存在一定的规则,不需要进行规则训练,则只需要对样本数据进行预处理操作,例如,
丢掉噪声较大的样本数据,又例如,对样本数据进行归一化处理或标准化处理,使得预处理
后的数据有利于建立预测模型;或者可以对每个业务的样本数据既进行预处理操作又进行
规则训练操作,但是预处理操作或规则训练操作的先后顺序不作限定,可以先进行预处理
操作,再进行规则训练操作,或者,先进行规则训练操作,再进行预处理操作,本发明实施例
不限于此。
可选地,所述根据所述每个业务的样本数据建立所述每个业务的预测模型,包括:
利用神经网络算法或支持向量机算法对所述每个业务的所述至少一个样本数据建立所述
预测模型。
当然,也可以采用其他算法建立预测模型,例如,多元线性回归的方法、插值算法、
遗传算法、动态规划方法等等,本发明实施例不限于此。
作为一个可选实施例,如何获取至少一个业务中每个业务的样本数据,可以通过
所述至少一个业务中每个业务的业务激励源激励NFV产品服务器产生所述每个业务的样本
数据;获取所述NFV产品服务器产生的所述每个业务的样本数据。样本数据的产生过程可以
是云化APP120产生性能激励源,将性能激励源输入到NFV产品服务器130中,NFV产品服务器
130根据激励源产生至少一个样本数据,NFV产品服务器130将至少一个样本数据输出到数
据库服务器140。
作为一个可选实施例,形成的每个业务的预测模型可能有两种预测模型:
第一种预测模型,该模型的输入参数为所述至少一个基础设施层中每个基础设施
层的基准性能参数和所述每个业务在所述每个基础设施层的VNF业务参数,则所述预测模
型的性能参数为所述每个业务在所述每个基础设施层的NFVI的容量参数;若采用第一种预
测模型,则所述目标业务的输入参数为所述第一基础设施层的基准性能参数和所述目标业
务在所述第一基础设施层的VNF业务参数,所述目标业务的性能参数为所述目标业务在所
述第一基础设施层的NFVI的容量参数。具体地,获取目标业务的输入参数可以是:所述目标
业务激励源激励NFV产品服务器产生所述目标业务的第一基础设施层的基准性能参数和所
述目标业务在所述第一基础设施层的VNF业务参数。
第二种预测模型,该模型的输入参数为所述每个基础设施层的基准性能参数和所
述每个业务在所述每个基础设施层的NFVI的容量参数,则所述预测模型的性能参数为所述
每个业务在所述每个基础设施层的VNF业务参数;若采用第二种预测模型,则所述目标业务
的性能参数为所述目标业务在所述第一基础设施层的VNF业务参数。具体地,获取目标业务
的输入参数可以是:所述目标业务激励源激励NFV产品服务器产生所述目标业务的所述第
一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的NFVI的容量参数。
具体地,所述目标业务的输入参数的产生过程可以是云化APP120产生性能激励
源,将性能激励源输入到NFV产品服务器130中,NFV产品服务器130根据激励源产生输入参
数,NFV产品服务器130将输入参数输出到数据库服务器140,预测模型服务器150根据数据
库服务器中的输入参数选择预测模型,例如,当输入参数是第一基础设施层的基准性能参
数和所述目标业务在所述第一基础设施层的VNF业务参数,选择第一种预测模型;当输入参
数是所述第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的NFVI
的容量参数,选择第二种预测模型。
S220,将所述目标业务的所述输入参数输入到所述目标业务的预测模型得到所述
目标业务在所述第一基础设施层的性能参数。
当预测模型是第一种预测模型时,第一种预测模型的输入参数可以为所述至少一
个基础设施层的基准性能参数和所述每个业务在所述至少一个基础设施层的VNF业务参
数,第一预测模型的性能参数为所述每个业务在所述至少一个基础设施层的NFVI的容量参
数,则在S220中获取的是目标业务的第一基础设施层的基准性能参数和所述目标业务在所
述第一基础设施层的VNF业务参数,将获取到的输入参数输入到预测模型中得到的性能参
数是目标业务在所述第一基础设施层的NFVI的容量参数。当预测模型时第二种预测模型
时,第二种预测模型的输入参数可以为所述至少一个基础设施层的基准性能参数和所述每
个业务在所述至少一个基础设施层的NFVI的容量参数,所述预测模型的性能参数为所述每
个业务在所述至少一个基础设备层的VNF业务参数,则在S220中获取的是目标业务的所述
第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的NFVI的容量参
数,将获取到的输入参数输入到预测模型中得到的性能参数是目标业务在所述第一基础设
施层的VNF业务参数。
作为一个例子,下面结合图3描述获取样本数据的过程,例如,在一个平台上的样
本采集过程可以包括:
S301,样本采集开始;
S302,NFV平台测试目标选择;
S303,NFVI基准性能程序部署;
S304,根据S303中基准形成程序的部署进行NFVI基准性能测试;
S305,根据S304中的NFVI基准性能测试得到NFVI基准性能样本;
S306,部署VNF业务测试激励程序,部署VNF进程,部署VNF业务压力性能,部署NFVI
容量性能监控程序,具体地,部署VNF业务测试激励程序可以是发送侧的,部署VNF进程可以
是接收侧的,部署VNF业务压力性能可以是接收侧的,部署NFVI容量性能监控程序可以是接
收侧的;
应理解,S306和S303可以同时进行也可以分别进行,并且S303和S306的顺序不作
任何限定,S303可以在S306之前,或者S306可以在S303之前,本发明实施例对此不作限定。
S307,根据S306的部署,得到业务性能压力-NFVI容量性能样本曲线;
S308,将S350和S307得到的样本数据进行合并上传至数据库;
应理解,在S308之前,S303-S307之间的顺序并不作任何限定,只要在S308时得到
NFVI基准性能样本和业务性能压力-NFVI容量性能样本曲线即可。
S309,样本采集结束。
应理解,上述的在一个平台上样本数据的采集只是示意性的举例,若需要在多个
平台上采集样本数据,则可以重复实现上述步骤,当然,上述样本数据的采集过程只是示意
性的举例,也可以采用其他的样本数据采集方法,本发明实施例对此不作限定。
也应理解,图3中,S303是最小组网时NFVI基准性能测试程序的部署,S306是实际
组网时APP的部署,具体APP的部署可以包括四部分:VNF业务测试激励程序部署、VNF进程部
署、VNF业务压力性能部署和NFVI容量性能监控程序部署。也即S303是APP还没有在开始运
行时,基础设施层的一些基准性能参数的测试,S306是APP在基础设施层上运行时部署的运
行程序和监控程序,得到的是业务性能压力-NFVI容量性能曲线。
作为一个例子,下面结合图4描述建立预测模型的过程,例如,建立业务的预测模
型的过程主要包括:S401-S404属于规则学习的过程,最终形成学习规则用于建立预测模
型;S405-S409属于建立预测模型的过程。
S401,将业务的VNF业务参数和NFVI容量参数输入到S402进行预处理;
S402,对输入的VNF业务参数和NFVI容量参数进行预处理,例如,预处理可以为误
差拟合、样本数据标准化和归一化等,进一步通过对样本数据的预处理降低样本数据的噪
声,进而提高确定的学习规则的准确性。
S403,将预处理后的不同基准性能参数下的VNF业务参数和NFVI容量参数样本数
据进行分类特征分析生成学习规则,例如,该分类特征分析可以是钻取分析。
S404,将S403生成的学习训练规则输出以便于建立预测模型。
可以将S401至S404可以理解形成规则的过程。
S405,输入建立预测模型的输入参数:VNF业务参数、NFVI容量参数和基准性能参数。
S406,对输入参数利用学习规则进行分类。
S407,对分类后的数据进行预处理操作,当然该步骤的预处理操作可以与S402中
的预处理操作相同或者不同,本发明实施例不限于此。
S408,对预处理后的数据进行特征提取,例如采用主成分分析法分析输入的参数
对建立模型是否有影响,将不重要的输入参数筛选掉,同时将测量误差较大的样本剔除,确
定与性能参数有关的输入参数。
应理解,S406,S407和S408的执行顺序并不做限定,S406可以在S407和S408之后或
之前等等。
S409,对处理后的样本数据进行机器学习训练生成预测模型。
S401-S409完成了预测模型的建立过程,目标业务利用该建立的预测模型进行参
数预测时,对输入参数也执行S406-S408,然后再输入操预测模型进行预测,得到预测值。
应理解,S401和S405中输入的:VNF业务参数和NFVI容量参数可以相同或者不同,
即S401和S405采用相同的输入参数分别训练学习规则和建立预测模型,或者S401中输入第
一部分参数用于训练学习规则,S405中输入第二部分参数用于建立预测模型等等,本发明
实施例不限于此。
也应理解,样本数据可能本身就有一定的规则,因此,对于样本数据可以没有规则
学习过程,即S401-S404属于可选步骤。
作为一个例子,下面结合图5描述对目标业务进行预测的过程,假设在图4的步骤
中已经建立了目标业务的第一种预测模型,在第一种预测模型下,所述目标业务的输入参
数为所述第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的VNF业
务参数,所述目标业务的性能参数为所述目标业务在所述第一基础设施层的NFVI的容量参
数,下面结合图5介绍如何利用图4中建立的目标业务的预测模型预测目标业务的性能参数。
S501,输入目标业务的输入参数,该输入参数可以为所述第一基础设施层的基准
性能参数和所述目标业务在所述第一基础设施层的VNF业务参数。
S502,利用S404建立预测模型过程中生成的学习规则对目标业务的输入参数进行
分类;
S503,利用S403中的预处理方法对目标业务的输入参数进行预处理,当然,也可以对
S502之后的输入参数进行预处理,例如,预处理可以为误差拟合、样本数据标准化和归一化等,
进一步通过对样本数据的预处理降低样本数据的噪声,进而提高确定的学习规则的准确性;
S504,利用S408中的特征提取方法对目标业务的输入参数进行特征提取,当然,也
可以对S503预处理后的输入参数进行特征提取;
S505,将通过S502、S503和S504的步骤处理后的输入参数输入到目标业务的预测
模型中,根据第一种预测模型的预测结果为所述目标业务在所述第一基础设施层的NFVI的
容量参数。
应理解,S502,S503和S504的执行顺序并不做限定,S502可以在S503和S504之后或
之前等等。
S506,输出预测结果,所述预测结果为所述目标业务在所述第一基础设施层的
NFVI的容量参数。
可选地,在S503中,当预处理过程包括对目标业务的输入参数进行归一化处理时,
在S505之后,S506之前需要对输出的预测结果进行反归一化处理,得到预测结果。
下面举一个例子,每个业务对应一个预测模型,在该例子中,测试的是目标业务对
应的模型的准确性,因此该例子主要描述如何建立目标业务的预测模型,以及利用目标业
务的预测模型做预测的过程。
第一步,产生样本数据:云化APP120产生至少一个业务的性能激励源,NFV产品服
务器130利用性能激励源产生至少一个业务中每个业务的样本数据,样本数据保存在数据
库服务器140。例如,样本数据可以为标准测试程序(benchmark)APP在不同I层上的基准性
能参数、目标业务在不同NFV产品服务器上的VNF业务参数和NFVI的容量参数,NFV产品服务
器130的I层由虚拟机和COTS组成,由三种类型的虚拟机和四种类型的COTS公组成十二个不
同的I层,三种类型的VM分别为:FusionCompute(简称“FC”)、FusionSphere(简称“FS”)和
VMware,该例子中下面的VMware简称为“VM”。四种类型的COTS分别为:E9000、RH2288(简称
“2288”)、CN21BRSA R7(简称“R7”)和CN21UPSA R5(简称“R5”)。目标业务在十二个不同的I
层和VNF层上运行产生十二组样本数据,每组样本数据为:基准性能参数i、NFVI的容量参数
i和目标业务在I层上运行的VNF业务参数i,i的取值为1至12。基准性能参数i包括四个虚拟
机利用benchmark APP测得的coreMark、unixbench单进程、unixbench多进程、specint、
specfp等测试值,以及COTS上所测得的相同基准测试程序的测试值,NFVI的容量参数i为虚
拟机的CPU%,VNF业务参数i为CAPS。得到十二组样本数据中可以将NFVI的容量参数i和VNF
业务参数i进行可视化处理,如图6所示,例如横坐标表示接收侧NFVI的容量参数为CPU的平
均占用率(RX CPU%AVG),纵坐标表示VNF业务参数为CAPS。
第二步,规则训练:原始的图6中的十二组样本数据并无明显特征,预测模型服务
器150在建立目标业务的预测模型之前可以利用目标业务的样本数据通过分类特征分析
法,例如向下钻取分析法进行规则训练,例如形成的学习规则是按照虚拟机分类后呈现一
定的规律,则按照虚拟机分类后的样本数据用图7、图8和图9表示,发现每种虚拟机中,不同
的COTS的RXCPU%AVG测量值的最大值接近,也就是每种虚拟机以RX CPU%AVG为输入时量
程一致,例如,FusionCompute样本的RX CPU%AVG的最大值均为80%,VMware样本的CPU%
AVG的最大值均为90%,而FusionSphere样本的RX CPU%AVG的最大值均为100%。这样,就
可以分析每种VM内不同COTS对CAPS=f(RX CPU%AVG)梯度曲线的影响。同时发现,每种VM
中,不同COTS的CAPS=f(RX CPU%AVG)曲线呈现相似的梯度差异,曲线位置按E9000、
RH2288、R5、R7分别降低,也就是组内CAPS=f(CPU%AVG)样本曲线非饱和段斜率与NFVI基
准性能指标的排序呈正相关关系。因此可以认为每种虚拟机分组内,COTS分类提取出的特
征就是I层基准测试性能指标。也就是虚拟机类型决定CAPS和RX CPU%AVG之间的映射关
系,因此在该场景下可以根据RX CPU%AVG预测CAPS,或者根据CAPS预测RX CPU%AVG。也就
是说,虚拟机类型决定CPU容量性能最大值(CPU%MAX);而在每种虚拟机分组内部,NFVI基
准测试性能参数决定CAPS=f(CPU%AVG)样本曲线的梯度位置或斜率。
第三步,根据第二步的规则对第一步的样本数据进行分类,得到分类后的样本数
据,然后对分类后的样本数据进行分析,例如可以设定函数关系为CAPS=f(RX CPU%AVG,
按虚拟机分类的NFVI基准性能参数,按COTS分类的基准性能参数),利用主成分分析发现RX
CPU%AVG、按虚拟机分类的NFVI基准性能参数、按COTS分类的基准性能参数中的按COTS分
类的基准性能参数对函数的影响呈现不规则性,也即COTS分类的基准性能参数占影响CAPS
的因子较低,因此,函数关系可以为CAPS=f(RX CPU%AVG,按虚拟机分类的NFVI基准性能
参数)。将VM+RH2288这组样本的基准性能参数的实验结果作为基准,其他十一组样本数据
的相对于VM+RH2288这组数据的结果如表1所示:
表1
![]()
![]()
从表1可以看出,每种虚拟机内,不同的COTS的排序按照CAPS=f(RX CPU%AVG)梯
度曲线位置依次降低排列,而[coreMark,unixbench单进程,unixbench多进程,specint,
specfp]的相对值也几乎按照该顺序排列,因此,准性能参数、VNF业务参数和NFVI的容量参
数三个参数呈现较强的相关性。
第四步,对样本数据进行预处理,由于样本数据中CAPS=f(RX CPU%AVG)梯度曲
线经过原点处,也就是输入输出数据都离零比较近,这样会造成后续机器学习训练时过拟
合,需要将样本数据预处理,删除离原点较近的样本点;同时需要删除导致误差的波动较大
点和饱和段的点;最后将预处理后的样本数据进行拟合,得到平滑的、单调的样本梯度曲
线。
第五步,建立预测模型,利用反向传播(Back Propagation,简称“BP”)神经网络的
机器学习算法进行训练,三组虚拟机样本都能较快的收敛,且样本本身预测值均满足SSE误
差要求。
第六步,评价预测模型的准确性:
步骤1,标准测试程序(benchmark)APP测试目标业务在目标I层上的基准性能参数
作为第五步形成的预测模型的第一个输入参数,目标业务在目标NFV服务器上的NFVI的容
量参数作为第五步得到的预测模型的第二个输入参数,得到预测模型的性能参数为目标业
务在目标NFV服务器上的VNF业务参数;或者标准测试程序(benchmark)APP测试目标业务在
目标I层上的基准性能参数作为第五步形成的预测模型的第一个输入参数,目标业务在目
标NFV服务器上的VNF业务参数,得到预测模型的性能参数为目标业务在NFV服务器上的
NFVI的容量参数。
步骤2,将上面3组虚拟机的分类样本中每组样本分为3个COTS训练样本、1个COTS
预测样本,训练收敛后预测,FC虚拟机内的性能梯度曲线如图10所示,VM虚拟机内的性能梯
度曲线如图11所示,FS虚拟机内的性能梯度曲线如图12所示,图10、图11和图12中,由点组
成的线每个虚拟机内不同的COTS的拟合后的训练样本曲线,星线表示目标NFV服务器上的
实际的CAPS-RX CPU%AVG曲线,倒三角组成的线表示目标业务在目标NFV服务器上的利用
预测模型预测的CAPS-RX CPU%AVG曲线。其中,图10中FC预测结果中倒三角形组成的线与
星线的平均误差15%,图11中VM预测结果中倒三角形组成的线与星线的平均误差10%,图
12中FS预测结果中倒三角形组成的线与星线的平均误差21%,基本都可以满足误差需求。
图13示出了根据本发明实施例提供的预测云软件性能的装置600示意图,该装置
600包括:
获取模块610,用于获取目标业务的输入参数,所述目标业务的输入参数包括:第
一基础设施层的基准性能参数、所述目标业务在所述第一基础设施层的虚拟网络功能VNF
业务参数和所述目标业务在所述第一基础设施层的网络功能虚拟化基础设施NFVI的容量
参数中的至少一种;
输入模块620,用于将所述目标业务的所述输入参数输入到所述目标业务的预测
模型得到所述目标业务在所述第一基础设施层的性能参数。
作为一个可选实施例,所述获取模块610还用于:在所述获取目标业务的输入参数
之前,获取至少一个业务中每个业务的样本数据,所述每个业务的样本数据包括:至少一个
基础设施层的基准性能参数、所述每个业务在所述至少一个基础设施层中每个基础设施层
的VNF业务参数、所述每个业务在所述每个基础设施层的NFVI容量参数,所述至少一个业务
包括所述目标业务,所述至少一个基础设施层包括所述第一基础设施层;
所述装置600还包括:建立模块,用于根据所述每个业务的样本数据建立所述每个
业务的预测模型。
作为一个可选实施例,所述每个业务的预测模型的输入参数为所述每个基础设施
层的基准性能参数和所述每个业务在所述每个基础设施层的VNF业务参数,所述预测模型
的性能参数为所述每个业务在所述每个基础设施层的NFVI的容量参数,所述目标业务的输
入参数为所述第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的
VNF业务参数,所述目标业务的性能参数为所述目标业务在所述第一基础设施层的NFVI的
容量参数。
作为一个可选实施例,所述每个业务的预测模型的输入参数为所述每个基础设施
层的基准性能参数和所述每个业务在所述每个基础设施层的NFVI的容量参数,所述预测模
型的性能参数为所述每个业务在所述每个基础设施层的VNF业务参数,所述目标业务的输
入参数为所述第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的
NFVI的容量参数,所述目标业务的性能参数为所述目标业务在所述第一基础设施层的VNF
业务参数。
作为一个可选实施例,所述装置600还包括:生成模块,用于在所述获取至少一个
业务中每个业务的样本数据之前,所述至少一个业务中每个业务的业务激励源激励NFV产
品服务器产生所述每个业务的样本数据;所述获取模块610具体用于:获取所述NFV产品服
务器产生的所述每个业务的样本数据。
作为一个可选实施例,所述装置600还包括:处理模块,用于在所述根据所述每个
业务的样本数据建立所述每个业务的预测模型之前,利用对所述每个业务的样本数据的至
少部分样本数据进行规则训练,形成学习规则,所述学习规则用于对所述每个业务的样本
数据进行分类;对所述每个业务的样本数据利用所述学习规则进行分类,得到分类后的所
述每个业务的样本数据;所述建立模块具体用于:根据所述分类后的所述每个业务的样本
数据建立所述每个业务的预测模型。
作为一个可选实施例,所述装置600还包括:预处理模块,用于在所述根据所述每
个业务的样本数据建立所述每个业务的预测模型之前,对所述每个业务的样本数据进行预
处理操作,得到预处理后的所述每个业务的样本数据,所述预处理操作包括:归一化处理、
特征提取和噪声处理中的至少一种;所述建立模块具体还用于:根据所述预处理后的所述
每个业务的样本数据建立所述每个业务的预测模型。
作为一个可选实施例,所述建立模块具体还用于:利用神经网络算法或支持向量
机算法根据所述每个业务样本数据建立所述每个业务的预测模型。
作为一个可选实施例,所述获取模块610还用于:当所述目标业务的所述输入参数
包括第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的VNF业务参
数时,获取所述目标业务在所述第一基础设施层的NFVI容量参数;所述装置600还包括:确
定模块,用于通过所述性能参数与所述第一基础设施层的NFVI容量参数确定第一误差,若
所述第一误差超过第一阈值,则重新建立所述目标业务的预测模型;或者
所述获取模块610还用于:当所述目标业务的输入参数包括所述第一基础设施层
的基准性能参数和所述目标业务在所述第一基础设施层的NFVI的容量参数时,获取所述目
标业务在所述第一基础设施层的VNF业务参数;
所述确定模块还用于:利用所述性能参数与所述目标业务在所述第一基础设施层
的VNF业务参数确定第二误差,若所述第二误差超过第二阈值,则重新建立所述目标业务的
预测模型。
作为一个可选实施例,所述基准性能参数包括以下至少一种:coreMark、
unixbench单进程、unixbench多进程、specint和specfp。
作为一个可选实施例,所述VNF业务参数包括每秒试呼次数CAPS和每秒报文数PPS
中的至少一种。
作为一个可选实施例,所述NFVI的容量参数包括以下至少一种:中央处理器CPU的
占用率、内存的占用率、磁盘每秒读写次数和网络的吞吐率。
应理解,这里的装置600以功能模块的形式体现。这里的术语“模块”可以指应用特
有集成电路(Application Specific Integrated Circuit,ASIC)、电子电路、用于执行一
个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储
器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
图14示出了本申请实施例提供的预测云软件性能的装置700,该装置700包括:接
收器710、处理器720、发送器730、存储器740和总线系统750。其中,接收器710、处理器720、
发送器730和存储器740通过总线系统750相连,该存储器740用于存储指令,该处理器720用
于执行该存储器740存储的指令,以控制该接收器710接收信号,并控制该发送器730发送指
令。
其中,接收器710用于获取目标业务的输入参数,所述目标业务的输入参数包括:
第一基础设施层的基准性能参数、所述目标业务在所述第一基础设施层的虚拟网络功能
VNF业务参数和所述目标业务在所述第一基础设施层的网络功能虚拟化基础设施NFVI的容
量参数中的至少一种,发送器730用于将所述目标业务的所述输入参数输入到所述目标业
务的预测模型得到所述目标业务在所述第一基础设施层的性能参数。
作为一个可选实施例,接收器710还用于在所述获取目标业务的输入参数之前,获
取至少一个业务中每个业务的样本数据,所述每个业务的样本数据包括:至少一个基础设
施层的基准性能参数、所述每个业务在所述至少一个基础设施层中每个基础设施层的VNF
业务参数、所述每个业务在所述每个基础设施层的NFVI容量参数,所述至少一个业务包括
所述目标业务,所述至少一个基础设施层包括所述第一基础设施层;处理器720用于根据所
述每个业务的样本数据建立所述每个业务的预测模型。
作为一个可选实施例,所述每个业务的预测模型的输入参数为所述每个基础设施
层的基准性能参数和所述每个业务在所述每个基础设施层的VNF业务参数,所述预测模型
的性能参数为所述每个业务在所述每个基础设施层的NFVI的容量参数,所述目标业务的输
入参数为所述第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的
VNF业务参数,所述目标业务的性能参数为所述目标业务在所述第一基础设施层的NFVI的
容量参数。
作为一个可选实施例,所述每个业务的预测模型的输入参数为所述每个基础设施
层的基准性能参数和所述每个业务在所述每个基础设施层的NFVI的容量参数,所述预测模
型的性能参数为所述每个业务在所述每个基础设施层的VNF业务参数,所述目标业务的输
入参数为所述第一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的
NFVI的容量参数,所述目标业务的性能参数为所述目标业务在所述第一基础设施层的VNF
业务参数。
作为一个可选实施例,处理器720还用于在所述获取至少一个业务中每个业务的
样本数据之前,所述至少一个业务中每个业务的业务激励源激励NFV产品服务器产生所述
每个业务的样本数据;接收器710具体用于获取所述NFV产品服务器产生的所述每个业务的
样本数据。
作为一个可选实施例,处理器720还用于:在所述根据所述每个业务的样本数据建
立所述每个业务的预测模型之前,利用对所述每个业务的样本数据的至少部分样本数据进
行规则训练,形成学习规则,所述学习规则用于对所述每个业务的样本数据进行分类;对所
述每个业务的样本数据利用所述学习规则进行分类,得到分类后的所述每个业务的样本数
据;根据所述分类后的所述每个业务的样本数据建立所述每个业务的预测模型。
作为一个可选实施例,处理器720还用于:所述根据所述每个业务的样本数据建立
所述每个业务的预测模型之前,对所述每个业务的样本数据进行预处理操作,得到预处理
后的所述每个业务的样本数据;根据所述预处理后的所述每个业务的样本数据建立所述每
个业务的预测模型,所述预处理操作包括:归一化处理、特征提取和噪声处理中的至少一
种。
作为一个可选实施例,处理器720还用于:利用神经网络算法或支持向量机算法根
据所述每个业务样本数据建立所述每个业务的预测模型。
作为一个可选实施例,接收器710还用于:当所述目标业务的所述输入参数包括第
一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的VNF业务参数时,
获取所述目标业务在所述第一基础设施层的NFVI容量参数;处理器720还用于:通过所述性
能参数与所述第一基础设施层的NFVI容量参数确定第一误差,若所述第一误差超过第一阈
值,则重新建立所述目标业务的预测模型。
作为一个可选实施例,接收器710还用于:当所述目标业务的输入参数包括所述第
一基础设施层的基准性能参数和所述目标业务在所述第一基础设施层的NFVI的容量参数
时,获取所述目标业务在所述第一基础设施层的VNF业务参数;处理器720还用于:利用所述
性能参数与所述目标业务在所述第一基础设施层的VNF业务参数确定第二误差,若所述第
二误差超过第二阈值,则重新建立所述目标业务的预测模型。
作为一个可选实施例,所述基准性能参数包括以下至少一种:coreMark、
unixbench单进程、unixbench多进程、specint和specfp。
作为一个可选实施例,所述VNF业务参数包括每秒试呼次数CAPS和每秒报文数PPS
中的至少一种。
作为一个可选实施例,所述NFVI的容量参数包括以下至少一种:中央处理器CPU的
占用率、内存的占用率、磁盘每秒读写次数和网络的吞吐率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步
骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软
件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领
域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实
现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系
统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨
论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合
或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案
的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上
或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全
部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简
称为“ROM”)、随机存取存储器(Random Access Memory,简称为“RAM”)、磁碟或者光盘等各
种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替
换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利
要求的保护范围为准。