一种基于特征选择的VNF资源需求预测方法及系统

文档序号:31870620发布日期:2022-10-21 19:04阅读:145来源:国知局
一种基于特征选择的VNF资源需求预测方法及系统
一种基于特征选择的vnf资源需求预测方法及系统
技术领域
1.本发明涉及一种基于特征选择的vnf资源需求预测方法及系统,属于网络 虚拟化、网络切片技术领域。


背景技术:

2.在电信行业中,基于软件定义网络(software defined network,sdn)和网 络功能虚拟化(network functions virtualization,nfv)的网络切片技术正在得到 越来越多的关注。在该场景下的服务功能链(service function chain,sfc)创造 了动态的网络服务,由于sfc中的虚拟网络功能(virtual network function,vnf) 运行在通用服务器中,这种业务处理架构保证了vnf的灵活性和可调整性。按 照以往的vnf资源分配策略,每个vnf大多用固定数量的资源实例化,该资 源量由开发人员预先在vnf描述符中定义,然而vnf通常并不需要固定的资 源,这样做很容易导致资源分配不足或过度分配。所以,如何设计一个有效的 vnf资源分配方案是一个巨大的挑战。
3.在网络服务部署时,预测vnf的资源需求是必要的,服务运营商必须将服 务水平协议(service level agreement,sla)中的性能规范映射成虚拟化基础架 构中适当数量的资源。在基于硬件的情况下,由于这是一个受控且隔离的环境, 可以很轻松地保证性能规范,但是在这种情况下,总资源预留并不灵活,通常 会导致过度配置且昂贵的硬件。相反,当使用vnf时,资源预留可以被转换为 处理实时网络负载所需资源的数量,同时要在网络负载或性能波动时,动态调 整资源的数量以满足sla中的性能规范。但是,根据实时网络负载来准确预测 vnf的资源需求是不易的。
4.vnf的软化特性使得在数据收集过程中需要测试众多配置组合,配置文件 中会包含数百万个数据点,因此机器学习算法成为处理配置文件的理想选择, 它可以自动从测量数据中训练出合适,准确和紧凑的模型。特征选择是从原始 特征中选择出一些最有效特征以降低数据维度的过程,是提高学习算法性能的一 个重要手段。由于vnf网络负载由配置文件中的多个特征表征,如果仅选择单 个特征作为预测依据,模型的预测结果存在片面性。但是如果选择所有相关网 络负载特征进行预测,一方面是没有考虑多个特征间的相关性,另一方面也会 导致较大的处理成本。所以,如何对所有相关特征进行有效的选择,使得模型 对vnf资源需求的预测性能最佳,这是目前研究的重点和难点之一。


技术实现要素:

5.本发明所要解决的技术问题是克服现有技术的缺陷,提供一种基于特征选 择的vnf资源需求预测方法及系统。
6.为解决上述技术问题,本发明提供一种基于特征选择的vnf资源需求预测 方法,包括:
7.获取vnf基准数据;
8.对vnf基准数据进行预处理,得到剔除异常数据、非数值型数据及不相关 数据的
预处理数据;
9.将预处理数据输入到预先训练好的包括不同类型的vnf资源需求预测模型;
10.根据vnf基准数据确定vnf的类型,根据vnf的类型确定与其类型相对 应的vnf资源需求预测模型,通过该vnf资源需求预测模型输出vnf资源需 求预测结果;
11.所述包括不同类型的vnf资源需求预测模型的确定过程包括:
12.获取不同类型的vnf历史基准数据;
13.将某个类型的vnf历史基准数据进行预处理,得到剔除异常数据、非数值 型数据及不相关数据的预处理历史数据;
14.根据预处理历史数据提取vnf所有相关特征;
15.根据vnf所有相关特征筛选出与预测目标高度相关的候选特征集;
16.基于贪婪式前向搜索策略对候选特征集进一步筛选获得最优特征集;
17.基于最优特征集,采用不同的回归模型训练出对应该vnf类型的不同的 vnf资源需求预测模型,对训练出的对应该vnf类型的不同的vnf资源需求 预测模型进行验证,确定该类型的vnf对应的最优vnf资源需求预测模型。
18.进一步的,所述根据vnf所有相关特征筛选出与预测目标高度相关的候选 特征集的过程包括:
19.对获得的vnf所有相关特征进行筛选,筛选出与vnf资源分配量cpu时间 相关性较高的原始特征,得到原始特征集n
raw

20.根据原始特征与预测目标间的线性与非线性关系,计算皮尔逊相关系数和 距离相关系数,根据皮尔逊相关系数和距离相关系数从原始特征集n
raw
特征中选 择n
can
个特征作为候选特征集,其中n
can
是可设置的参数。
21.进一步的,所述基于贪婪式前向搜索策略对候选特征集进一步筛选获得最 优特征集的过程包括:
22.从所述候选特征集中选择使得预测误差rmse最小化的单特征,然后再从 剩余的候选特征中依次选择使预测误差rmse得到最大改善的特征,并添加到 最终特征集中,当最大改善的改进值小于预先给定的阈值时,停止将最大改善 的特征添加到最终特征集中,此时的最终特征集为最优特征集m
pred

23.进一步的,所述包括不同的回归模型包括:
24.线性回归模型、岭回归模型、k近邻模型、决策树模型、随机森林模型和 自适应提升模型。
25.一种基于特征选择的vnf资源需求预测系统,包括:
26.第一获取模块,用于获取vnf基准数据;
27.第一预处理模块,用于对vnf基准数据进行预处理,得到剔除异常数据、 非数值型数据及不相关数据的预处理数据;
28.输入模块,用于将预处理数据输入到预先训练好的包括不同类型的vnf 资源需求预测模型;
29.输出模块,用于根据vnf基准数据确定vnf的类型,根据vnf的类型确 定与其类型相对应的vnf资源需求预测模型,通过该vnf资源需求预测模型 输出vnf资源需求预测结果;
30.所述输出模块包括模型确定模块,包括:
31.第二获取模块,用于获取不同类型的vnf历史基准数据;
32.第二预处理模块,用于将某个类型的vnf历史基准数据进行预处理,得到 剔除异常数据、非数值型数据及不相关数据的预处理历史数据;
33.提取模块,用于根据预处理历史数据提取vnf所有相关特征;
34.第一筛选模块,用于根据vnf所有相关特征筛选出与预测目标高度相关的 候选特征集;
35.第二筛选模块,基于贪婪式前向搜索策略对候选特征集进一步筛选获得最 优特征集;
36.最优模型确定模块,用于基于最优特征集,采用不同的回归模型训练出对 应该vnf类型的不同的vnf资源需求预测模型,对训练出的对应该vnf类型 的不同的vnf资源需求预测模型进行验证,确定该类型的vnf对应的最优vnf 资源需求预测模型。
37.进一步的,所述第一筛选模块包括:
38.原始特征筛选模块,用于对获得的vnf所有相关特征进行筛选,筛选出与 vnf资源分配量cpu时间相关性较高的原始特征,得到原始特征集n
raw

39.后续特征筛选模块,用于根据原始特征与预测目标间的线性与非线性关系, 计算皮尔逊相关系数和距离相关系数,根据皮尔逊相关系数和距离相关系数从 原始特征集n
raw
特征中选择n
can
个特征作为候选特征集,其中n
can
是可设置的参 数。
40.进一步的,所述第二筛选模块包括:
41.添加模块,用于从所述候选特征集中选择使得预测误差rmse最小化的单 特征,然后再从剩余的候选特征中依次选择使预测误差rmse得到最大改善的 特征,并添加到最终特征集中;
42.判断模块,用于当最大改善的改进值小于预先给定的阈值时,停止将最大 改善的特征添加到最终特征集中,此时的最终特征集为最优特征集m
pred

43.本发明所达到的有益效果:
44.本发明的算法应用于网络切片环境中的vnf资源需求预测,针对以往的 vnf资源分配策略无法满足动态的资源需求,很容易导致资源分配不足或过度 分配的问题,提出了一种基于两阶段算法(two-stage algorithm,tsa)的vnf 资源需求预测方法,该方法首先基于数据特征筛选出与预测目标高度相关的候 选特征集,然后基于贪婪式前向搜索策略对候选特征集进一步筛选获得最优特 征集,最终训练出不同类型的预测模型。基于该方法所训练的模型可以获得更 好的预测性能,同时该方法的可扩展性较好,训练好的模型可以直接集成到现 有的vnf部署算法中应用。
附图说明
45.图1网络切片场景下的vnf动态资源分配框架
46.图2vnf资源需求预测方法框图
47.图3、图4、图5、图6为模型预测误差对比图、模型预测r2对比图、模型 训练时间对比图以及模型预测时间对比图的仿真结果图(以nginx vnf为例)。
具体实施方式
48.为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结 合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描 述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其它实施例,都属于本发明保护的范围。
49.如图1网络切片场景下的vnf动态资源分配框架所示,从左至右依次为无 线虚拟网络用户、虚拟网络管理平台、虚拟资源池及由底层网络功能抽象出的 一个个vnf按顺序排列所组成的sfc。在该系统中,无线虚拟网络用户分别在 不同的应用场景下提交在移动性、安全性、时延和可靠性等方面要求各不相同 的服务请求;在虚拟网络管理平台中,网络状态监测实体主要负责对vnf网络 状态进行监测,虚拟网络调度器主要负责对vnf资源需求预测的结果进行统一 调度;传统的不同类型网络实体通过nfv技术抽象为一个个vnf,多个不同类 型的vnf按照相应的顺序排列组成sfc,为满足用户提出的不同的服务请求, 必须为不同类型的vnf实时分配所需的资源。在这里,虚拟资源池中的云服务 器提供包含计算资源、缓存资源、带宽资源等多种类型的虚拟网络资源,网络 状态监测实体对vnf网络状态进行监测并获得相应的vnf配置文件,利用机 器学习的方法,训练出对vnf的资源需求准确预测的模型,然后虚拟网络调度 器对vnf资源需求预测的结果进行统一调度,即对资源池中的虚拟资源进行动 态分配。
50.下面对本文的研究目标进行公式化阐述。底层网络g=(u,l)是基础网络, 其中给定的网络服务应该被部署在底层网络,用户分布在整个网络中,每个用 户u∈u位于网络节点v∈v处,并以数据速率λu请求网络服务s。网络服务 s=(c,a)由多个组件c∈c(即vnf)组成,它们通过虚拟链路a∈a互连。vnf 可以实例化一次或多次,其中每个vnf的实例根据其资源需求分配了一定数量 的资源rc。在现有文献中,通常将rc设置为预定的固定值或网络负载λ的线性函 数rc(λ),但是这两个假设都是不合理的,它们很容易导致分配过多或分配不足。 因此,本发明的目标是利用机器学习准确地建模和预测vnf资源需求。参考图 2vnf资源需求预测方法框图,具体的实施步骤如下所示:
51.第一步,数据集采集。基于nfv基准测试框架采集了vnf的相关特征, 包括实验特征和时间序列特征。通过分析给定vnf,然后利用不同的资源对其 进行系统地配置并记录其相应的性能,由此得到vnf配置文件。该数据集中主 要包括网络安全场景,web场景和物联网场景下的代表性vnf。这样,在研究 中既包含了在被动分析流量的同时透明转发流量的vnf(ids系统),还有可以 主动修改流量的vnf(代理服务器),同时还提供了物联网场景下的vnf(mqtt 服务器),可以将其作为5g垂直行业的示例。具体信息如表1所示。
52.表1 vnf基准数据集概述
53.[0054][0055]
第二步,数据预处理。表1的数据集中主要包括了vnf的执行环境信息, vnf处理信息及监控信息等,这样直接从测试环境中所获得的原始数据是十分 杂乱的,会有一些缺失数据、异常数据及不易处理的非数值型数据,如果直接 将这些数据用于建模将会对预测结果产生较大的影响,使得预测结果与真实值 之间相差巨大。因此,在模型训练之前,有必要对数据集进行预处理,本发明 通过将缺失值设置为相应特征的中位数,异常数据、非数值型数据及少量不相 关数据移除的处理方式,使得原始数据更加干净有效。
[0056]
第三步,最优单特征选择。针对现有研究所存在的不足之处,本发明通过 遍历所有相关特征,找出使得预测误差rmse最小化的最优单特征。
[0057]
第四步,候选特征集选择。在第1阶段(见算法1),通过筛选出与vnf 资源分配量cpu时间相关性较高的原始特征,由此减少了所考虑的原始特征的数 量。本发明将vnf资源分配量(这里指的是cpu时间)表示为cpu,将在时间间 隔t结束时vnf所用的cpu的时间序列表示为向量并将原 始特征表示为m,所有原始特征组成的集合表示为m,然后,将在时间间隔t结 束的每个特征的时间序列表示为向量对于每个特征m∈m, 用rm表示cpu和m之间的皮尔逊相关系数的绝对值,用dm表示cpu和m之间的距离 相关系数,该算法同时考虑了这两个相关性度量标准,皮尔逊相关系数为0并 不一定表示两个变量之间是独立的,也有可能是非线性相关的。其中距离相关 系数就是为了克服皮尔逊相关系数的弱点而生的,其主要是衡量非线性相关的 程度。最终从原始特征集n
raw
特征中选择了n
can
特征作为第二阶段算法的候选特 征。其中n
can
是可设置的参数,保证第二阶段中可以在更好的模型精度和更低的 开销之间进行权衡。
[0058]
第五步,最优特征集选择。在第2阶段(见算法2),探索在第1阶段中生 成的候选特征的各种子集,并选择其中一种预测性能最佳的子集,选择过程中 通过利用10倍交叉验证法来获得模型的训练误差值rmse(均方根误差),同 时并比较了六种预测模型的预测能力。
[0059]
尽管在第1阶段后,预测特征的数量已从减少到并且这些候选特 征都是与预测目标相关性较高的,但是将候选特征组合到模型中并不一定能提 供更多有用的信息。所以,提出了基于贪婪式前向搜索策略的方法,即先从阶 段1所得到的n
can
特征中选择可以使得预测误差rmse最小化的单特征,然后再 从剩余的特征中依次选择可以使rmse值得到最大改善的其他特征,当改进小 于给定阈值时,该特征将不被添加到最终特征集。最后获得了针对不同模型所 对应的最优特征集m
pred
。在具体实施过程中,以nginx vnf为例,基于不同 ml算法所获得的最优特征集如表2所示。
[0060]
表2不同ml算法所对应的最优特征集(nginx vnf)
[0061][0062]
第六步,集成到vnf部署算法中。首先,vnf部署算法需要将训练好的机 器学习模型加载到内存中,在算法初始化期间就预先加载所有模型,以快速预 测vnf资源需求;然后,调整vnf实例资源分配的预测算法,此时返回的不 再是预定义值,而是基于相应vnf的最优机器学习模型,从而动态决定每个部 署的vnf实例的分配资源,解决资源分配过多和分配不足的问题。作为最新 vnf部署算法的代表,本发明以b-jointsp算法为例进行说明,在该部署算法中 为所有请求的vnf加载预先训练好的机器学习模型,同时由于sklearn api的通 用机器学习模型具有一致的接口,因此对于该算法而言,加载和交换不同的机 器学习模型是简单且透明的,这有利于选择最优预测模型,最后利用机器学习 模型来代替现有的线性函数逼近,使得在现有的vnf部署算法上做较少的改动, 就可以为每个vnf实例进行准确的资源分配。
[0063]
图3和图4分别是基于最优单特征和最优特征集的模型预测性能比较。由 图3可知,针对不同类型的预测模型,基于最优特征集的模型预测性能相较于 最优单特征的都获得了改善,最多的改善高达25%;图4从另一个角度也验证 了该结论,除了dtree模型,其他模型的预测指标r2都获得了提升。图5和图6 分别是基于最优单特征和最优特征集的模型训练时间及预测时间的对比,与基 于最优单特征的模型训练和预测时间相比,针对不同的预测模型,基于最优特 征集的模型训练时间增减趋势不一,而基于最优特征集的模型预测时间都明显 更多,但虽然预测时间都有增加,但由于基数并不大,增长后的时间成本是可 以接受的。由此说明了本文所提出的基于tsa算法的vnf资源需求预测方法的 有效性。
[0064]
相应的本发明还提供一种基于特征选择的vnf资源需求预测系统,包括:
[0065]
第一获取模块,用于获取vnf基准数据;
[0066]
第一预处理模块,用于对vnf基准数据进行预处理,得到剔除异常数据、 非数值型数据及不相关数据的预处理数据;
[0067]
输入模块,用于将预处理数据输入到预先训练好的包括不同类型的vnf 资源需求预测模型;
[0068]
输出模块,用于根据vnf基准数据确定vnf的类型,根据vnf的类型确 定与其类型相对应的vnf资源需求预测模型,通过该vnf资源需求预测模型 输出vnf资源需求预测结果;
[0069]
所述输出模块包括模型确定模块,包括:
[0070]
第二获取模块,用于获取不同类型的vnf历史基准数据;
[0071]
第二预处理模块,用于将某个类型的vnf历史基准数据进行预处理,得到 剔除异常数据、非数值型数据及不相关数据的预处理历史数据;
[0072]
提取模块,用于根据预处理历史数据提取vnf所有相关特征;
[0073]
第一筛选模块,用于根据vnf所有相关特征筛选出与预测目标高度相关的 候选特征集;
[0074]
第二筛选模块,基于贪婪式前向搜索策略对候选特征集进一步筛选获得最 优特征集;
[0075]
最优模型确定模块,用于基于最优特征集,采用不同的回归模型训练出对 应该vnf类型的不同的vnf资源需求预测模型,对训练出的对应该vnf类型 的不同的vnf资源需求预测模型进行验证,确定该类型的vnf对应的最优vnf 资源需求预测模型。
[0076]
所述第一筛选模块包括:
[0077]
原始特征筛选模块,用于对获得的vnf所有相关特征进行筛选,筛选出与 vnf资源分配量cpu时间相关性较高的原始特征,得到原始特征集n
raw

[0078]
后续特征筛选模块,用于根据原始特征与预测目标间的线性与非线性关系, 计算皮尔逊相关系数和距离相关系数,根据皮尔逊相关系数和距离相关系数从 原始特征集n
raw
特征中选择n
can
个特征作为候选特征集,其中n
can
是可设置的参 数。
[0079]
所述第二筛选模块包括:
[0080]
添加模块,用于从所述候选特征集中选择使得预测误差rmse最小化的单 特征,然后再从剩余的候选特征中依次选择使预测误差rmse得到最大改善的 特征,并添加到最终特征集中;
[0081]
判断模块,用于当最大改善的改进值小于预先给定的阈值时,停止将最大 改善的特征添加到最终特征集中,此时的最终特征集为最优特征集m
pre
d。
[0082]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计 算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结 合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包 含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0083]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品 的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或 方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式 处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机 或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流 程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0084]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的 指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流 程和/或方框图一个方框或多个方框中指定的功能。
[0085]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在 计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从 而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或 多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0086]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理 解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分 技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱 离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1