首页 / 专利库 / 人工智能 / 剪枝 / 一种服务质量感知的虚拟网络映射方法和装置

一种服务质量感知的虚拟网络映射方法和装置

阅读:727发布:2020-05-11

专利汇可以提供一种服务质量感知的虚拟网络映射方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种服务 质量 感知 的虚拟网络映射方法和装置,所述方法包括:对于当前待映射的虚拟网络 请求 的每个虚拟 节点 ,由预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;基于所述虚拟网络请求中所有虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射;其中,所述节点映射策略网络是以训练时的底层物理网络的资源利用率U与所述虚拟网络请求的服务质量损失L之差作为奖励训练得到的。应用本发明可以实现满足多种服务质量度量指标和提高资源利用率之间的平衡。,下面是一种服务质量感知的虚拟网络映射方法和装置专利的具体信息内容。

1.一种服务质量感知的虚拟网络映射方法,其特征在于,包括:
对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
基于所述虚拟网络请求中所有虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射;
其中,所述节点映射策略网络是以训练时的底层物理网络的资源利用率U与所述虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是根据所述虚拟网络请求的服务质量需求的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
2.根据权利要求1所述的方法,其特征在于,所述节点映射策略网络的结构具体包括:
输入层,用于提取底层物理网络的物理节点特征矩阵M;其中,M是使用所述底层物理网络的所有物理节点的特征向量构建的;所述物理节点的特征向量是由根据当前底层物理网络所述物理节点的多种特征值经归一化后组成的;
卷积层,用于将特征矩阵M执行卷积运算,以生成表示每个物理节点的可用资源的向量;
柔性最大化层,用于将卷积层得到的每个物理节点的可用资源的向量,分别转换成每个物理节点的概率;其中一个物理节点的概率用以指示如果将虚拟节点映射到该物理节点上产生更好结果的可能性;
其中,所述物理节点的特征值包括:计算能、队列资源、相邻链路带宽总和、度中心性、到已映射节点的平均距离、接近中心性、时延、抖动、丢包率。
3.根据权利要求2所述的方法,其特征在于,所述节点映射策略网络的结构还包括:
过滤层,用于过滤掉没有足够的计算能力和队列资源的物理节点,以及已经被同一虚拟网络请求中其它虚拟节点映射的物理节点后,将剩余节点作为候选节点输出;
输出层,用于输出重新计算得到的每个候选节点的概率;其中一个候选节点的概率用以指示如果将虚拟节点映射到该候选节点上产生更好结果的可能性。
4.根据权利要求1-3任一所述的方法,其特征在于,所述节点映射策略网络的具体训练方法如下:
随机初始化节点映射策略网络中的参数后,对所述节点映射策略网络进行多轮迭代训练;其中,一轮迭代过程为:
对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,由所述节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,根据所述节点映射策略网络的输出,以∈的概率随机选择一个物理节点,或者以1-∈的概率选择概率最大的物理节点;将选择的物理节点确定为该虚拟节点的最终节点映射结果;其中,∈为设定在0~0.5之间的数值;
对于一轮迭代中的每个虚拟网络请求,根据该虚拟网络请求的每个虚拟节点的最终节点映射结果,进行该虚拟网络请求的链路映射;
对于一轮迭代中成功映射的虚拟网络请求依次进行奖励和梯度计算处理,直到处理的虚拟网络请求个数达到设定数值;
使用计算的梯度更新所述节点映射策略网络中的参数。
5.根据权利要求4所述的方法,其特征在于,所述奖励Reward具体根据如下公式计算得到:
Reward=U-L
其中, 表示当前底层物理网络的第i个物理节点的资源利用率, 表示当前底层物理网络的第j条链路的资源利用率,Ds,Js,PLs分别表示当前虚拟网络请求映射到物理网络后的实际时延、抖动和丢包率,Dv,Jv,PLv分别表示当前虚拟网络请求对个时延、抖动和丢包率的最大容忍值;n、m分别表示当前底层物理网络中物理节点的总数和物理链路的总数。
6.根据权利要求1-3任一所述的方法,其特征在于,所述基于所述虚拟网络请求的所有虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射,具体包括:
基于虚拟网络请求中所有节点的节点映射结果,以及经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,使用剪枝后的最短路算法完成链路映射;
其中,所述放宽因子β对应于所述虚拟网络请求的服务质量需求的等级。
7.一种服务质量感知的虚拟网络映射装置,其特征在于,包括:节点映射策略网络、节点映射模以及链路映射模块;
其中,所述节点映射模块用于对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
所述链路映射模块用于基于所述虚拟网络请求中所有节点的节点映射结果,完成所述虚拟网络请求的链路映射;
其中,所述节点映射策略网络是以训练时的底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是由根据所述虚拟网络请求的服务质量需求的等级最终确定的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
8.根据权利要求7所述的装置,其特征在于,所述节点映射策略网络的结构具体包括:
输入层,用于提取底层物理网络的物理节点特征矩阵M;其中,M是使用所述底层物理网络的所有物理节点的特征向量构建的;所述物理节点的特征向量是由根据当前底层物理网络所述物理节点的多种特征值经归一化后组成的;
卷积层,用于将特征矩阵M执行卷积运算,以生成表示每个物理节点的可用资源的向量;
柔性最大化层,用于将卷积层得到的每个物理节点的可用资源的向量,分别转换成每个物理节点的概率;其中一个物理节点的概率用以指示如果将虚拟节点映射到该物理节点上产生更好结果的可能性;
其中,所述物理节点的特征值包括:计算能力、队列资源、相邻链路带宽总和、度中心性、到已映射节点的平均距离、接近中心性、时延、抖动、丢包率。
过滤层,用于过滤掉没有足够的计算能力和队列资源的物理节点,以及已经被同一虚拟网络轻中其他虚拟节点映射的物理节点后,将剩余节点作为候选节点输出;
输出层,用于输出重新计算得到的每个候选节点的概率;其中一个候选节点的概率用以指示如果将虚拟节点映射到该候选节点上产生更好结果的可能性。
9.根据权利要求7所述的装置,其特征在于,还包括:
节点映射策略网络训练模块,用于随机初始化节点映射策略网络中的参数后,对所述节点映射策略网络进行多轮迭代训练;其中,一轮迭代过程包括:对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,由所述节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;对于一轮迭代中的每个虚拟网络请求,根据所述节点映射策略网络的输出,确定该虚拟网络请求的最终节点映射结果;对于一轮迭代中的每个虚拟网络请求,根据该虚拟网络请求的节点映射结果,进行该虚拟网络请求的链路映射;对于一轮迭代中成功映射的虚拟网络请求依次进行奖励和梯度计算处理,直到处理的虚拟网络请求个数达到设定数值;使用计算的梯度更新所述节点映射策略网络中的参数。
10.一种虚拟网络映射服务器,其特征在于,包括:如权利要求7-9任一所述的装置。

说明书全文

一种服务质量感知的虚拟网络映射方法和装置

技术领域

[0001] 本发明涉及虚拟网络映射技术领域,特别是指一种服务质量感知的虚拟网络映射方法和装置。

背景技术

[0002] 网络虚拟化允许多个虚拟网络(VN)同时运行在共享的底层物理网络(SN)上。虚拟网络由一组虚拟节点和连接这些虚拟节点的虚拟链路组成,底层物理网络由一组物理节点和连接这些物理节点的物理链路组成。虚拟网络映射(VNE)是网络虚拟化的关键技术之一。VNE的主要目标是将虚拟网络请求(VNR)映射到SN,从而有效地利用底层物理网络的资源。
目前,提出了大量的启发式VNE算法和基于机器学习的VNE算法。
[0003] 其中,启发式VNE算法主要分为基于图论的,基于拓扑感知的和基于线性规划的算法。基于图论的算法利用了子图分割、子图同构检测等方法;基于拓扑感知的算法通过拓扑感知区分网络中资源重要性的差异,并在映射虚拟网络时考虑这种差异以优化映射资源的选取;基于线性规划的算法,将虚拟网络映射建模为数学规划模型,并设计合理的目标函数和约束条件,再利用优化工具进行求解。
[0004] 机器学习算法可以处理在一段时间内收集的大量数据,并自动从数据中学习统计信息以进行分类或预测。强化学习作为机器学习中广泛使用的技术,在处理复杂的任务时表现出巨大的潜。在强化学习模型中,代理以“试错”的方式进行学习,通过与环境进行交互获得的奖励来指导其行为,目标是使代理获得最大的奖励。基于强化学习的VNE算法通过将虚拟网络映射建模为尔科夫决策过程,并使用强化学习来解决虚拟网络映射问题。
[0005] 但是上述算法都没有考虑虚拟网络请求的服务质量(QoS)需求。然而近年来互联网上出现了各种类型的多媒体应用。思科预测,大约90%的互联网流量是由于QoS敏感的应用程序生成的。QoS敏感应用程序,包括IP电话(VoIP),实时网络和视频会议(Skype,WebEx)和游戏等,流行程度已大大提高,且不同的应用对QoS的敏感度各不相同。VNE领域中考虑虚拟网络请求的QoS需求的工作主要分为以下几种:
[0006] 1、基于拓扑感知:算法将虚拟网络请求的拓扑分割为多个中心辐射拓扑,并将每个中心拓扑中具有最大节点排名值的节点设为代理节点,使用贪婪策略映射代理节点后,以代理节点为根节点使用广度优先搜索来完成链路映射和剩余节点映射,算法的目标是在保证时延约束的基础上,以最小的带宽成本将虚拟链路映射到物理路径上;
[0007] 2、基于马尔科夫奖励链:算法通过马尔科夫随机游走分别计算待映射物理节点到固定物理节点的相似度和待映射虚拟节点到已映射虚拟节点的相似度,并根据贪婪策略来完成节点映射,在链路映射阶段使用剪枝后的最短路径算法计算得到候选路径,并选择候选路径中具有最小时延的路径进行映射;
[0008] 3、基于线性规划:将虚拟网络请求根据其QoS需求中的带宽高低和时延大小分为三种类型,并为不同类型制定不同的目标函数,使用线性规划工具进行求解。
[0009] 在实际应用中,本发明的发明人发现上述现有的QoS感知的VNE算法都只考虑了时延,QoS度量指标太少;并且对所有虚拟网络请求一致对待,导致了低的请求接收率和资源利用率。

发明内容

[0010] 本发明提出了一种服务质量感知的虚拟网络映射方法和装置,实现了满足多种QoS度量指标和提高资源利用率之间的平衡。
[0011] 基于上述目的,本发明提供一种服务质量感知的虚拟网络映射方法,包括:
[0012] 对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
[0013] 基于所述虚拟网络请求中所有虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射;
[0014] 其中,所述节点映射策略网络是以通过强化学习模型进行训练时的底层物理网络的资源利用率U与所述虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是根据所述虚拟网络请求的服务质量QoS需求的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
[0015] 其中,所述节点映射策略网络的结构具体包括:
[0016] 输入层,用于提取底层物理网络的物理节点特征矩阵M;其中,M是使用所述底层物理网络的所有物理节点的特征向量构建的;所述物理节点的特征向量是由根据当前底层物理网络所述物理节点的多种特征值经归一化后组成的;
[0017] 卷积层,用于将特征矩阵M执行卷积运算,以生成表示每个物理节点的可用资源的向量;
[0018] 柔性最大化层,用于将卷积层得到的每个物理节点的可用资源的向量,分别转换成每个物理节点的概率;其中一个物理节点的概率用以指示如果将虚拟节点映射到该物理节点上产生更好结果的可能性;
[0019] 其中,所述物理节点的特征值包括:计算能力、队列资源、相邻链路带宽总和、度中心性、到已映射节点的平均距离、接近中心性、时延、抖动、丢包率。
[0020] 进一步,所述节点映射策略网络的结构还包括:
[0021] 过滤层,用于过滤掉没有足够的计算能力和队列资源的物理节点,以及已经被同一虚拟网络请求中其它虚拟节点映射的物理节点后,将剩余节点作为候选节点输出;
[0022] 输出层,用于输出重新计算得到的每个候选节点的概率;其中一个候选节点的概率用以指示如果将虚拟节点映射到该候选节点上产生更好结果的可能性。
[0023] 其中,所述节点映射策略网络的具体训练方法如下:
[0024] 随机初始化节点映射策略网络中的参数后,对所述节点映射策略网络进行多轮迭代训练;其中,一轮迭代过程为:
[0025] 对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,由所述节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
[0026] 具体地,对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,根据所述节点映射策略网络的输出,以∈的概率随机选择一个物理节点,或者以1-∈的概率选择概率最大的物理节点;将选择的物理节点确定为该虚拟节点的最终节点映射结果;其中,∈为设定在0~0.5之间的数值;
[0027] 对于一轮迭代中的每个虚拟网络请求,根据所述虚拟网络请求的所有虚拟节点的最终节点映射结果,进行该虚拟网络请求的链路映射;
[0028] 对于一轮迭代中成功映射的虚拟网络请求依次进行奖励和梯度计算处理,直到处理的虚拟网络请求个数达到设定数值;
[0029] 使用计算的梯度更新所述节点映射策略网络中的参数。
[0030] 其中,所述奖励Reward具体根据如下公式计算得到:
[0031] Reward=U-L
[0032]
[0033]
[0034] 其中, 表示当前底层物理网络的第i个物理节点的资源利用率, 表示当前底层物理网络的第j条链路的资源利用率,Ds,Js,PLs分别表示当前虚拟网络请求映射到物理网络后的实际时延、抖动和丢包率,Dv,Jv,PLv分别表示当前虚拟网络请求对时延、抖动和丢包率的最大容忍值;n、m分别表示当前底层物理网络中物理节点的总数和物理链路的总数。
[0035] 较佳地,所述基于所述虚拟网络请求的所有节点的节点映射结果,完成所述虚拟网络请求的链路映射,具体包括:
[0036] 基于虚拟节点的节点映射结果,以及经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,使用剪枝后的最短路径算法完成链路映射;
[0037] 其中,所述放宽因子β对应于所述虚拟网络请求的QoS需求的等级。
[0038] 本发明还提供一种服务质量感知的虚拟网络映射装置,包括:节点映射策略网络、节点映射模以及链路映射模块;
[0039] 其中,所述节点映射模块用于对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
[0040] 所述链路映射模块用于基于所述虚拟网络请求中所有节点的节点映射结果,完成所述虚拟网络请求的链路映射;
[0041] 其中,所述节点映射策略网络是以训练时的底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是由根据所述虚拟网络请求的QoS需求的等级最终确定的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
[0042] 进一步,所述服务质量感知的虚拟网络映射装置还包括:
[0043] 节点映射策略网络训练模块,用于随机初始化节点映射策略网络中的参数后,对所述节点映射策略网络进行多轮迭代训练;其中,一轮迭代过程包括:对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,由所述节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;对于一轮迭代中的每个虚拟网络请求,根据所述节点映射策略网络的输出,确定该虚拟网络请求的最终节点映射结果;对于一轮迭代中的每个虚拟网络请求,根据该虚拟网络请求的节点映射结果,进行该虚拟网络请求的链路映射;对于一轮迭代中成功映射的虚拟网络请求依次进行奖励和梯度计算处理,直到处理的虚拟网络请求个数达到设定数值;使用计算的梯度更新所述节点映射策略网络中的参数。
[0044] 本发明还提供一种虚拟网络映射服务器,包括:如上所述的服务质量感知的虚拟网络映射装置。
[0045] 本发明的技术方案中,对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;基于所述虚拟网络请求中所有虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射;其中,所述节点映射策略网络是以之前的底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是根据所述虚拟网络请求的QoS需求的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
[0046] 由于本发明的技术方案,在训练节点映射策略网络时为不同的虚拟网络请求考虑更多QoS度量指标来计算所采用的奖励,从而解决了现有算法考虑QoS度量指标太少的问题;而且,在训练节点映射策略网络时设置的奖励为底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差,可以平衡虚拟网络请求满足多种QoS度量指标和物理网络资源利用率。
[0047] 进一步,本发明的技术方案,还可以将不同虚拟网络请求的QoS需求划分为不同的等级,不同等级的QoS需求被设置于不同的放宽因子,并基于经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,完成链路映射;也就是说对QoS等级高的虚拟网络请求严格满足QoS需求,而对QoS等级低的虚拟网络请求适当放宽其QoS需求,牺牲一部分的服务质量来提高请求接收率;从而平衡虚拟网络请求的QoS保证和物理网络请求接收率。附图说明
[0048] 图1为本发明实施例提供的一种服务质量感知的虚拟网络映射方法流程图
[0049] 图2为本发明实施例提供的一种节点映射策略网络的内部结构框图
[0050] 图3为本发明实施例提供的一种节点映射策略网络的训练方法流程图;
[0051] 图4为本发明实施例提供的一种服务质量感知的虚拟网络映射装置的内部结构框图。

具体实施方式

[0052] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0053] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0054] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0055] 需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”和“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0056] 本发明的发明人研究了当前网络中以下几种不同应用的QoS需求:
[0057] 1、在线对抗游戏(MOBA游戏):这类游戏对时延、抖动和丢包率都极其敏感,单向时延不超过50ms,每跳抖动峰值不超过10ms,丢包率不超过0.1%,但对带宽要求不高;
[0058] 2、实时交互视频(直播、会议视频)的QoS要求类似VoIP,单向时延不超过100ms,每跳抖动峰值不超过10ms,丢包率不超过0.1%,带宽根据编码、分辨率速率等而定;
[0059] 3、语音应用:语音应用最主要的QoS需求是低时延,如果时延过大,双方的对话就会很困难。相比时延,网络抖动对语音质量的影响不是那么大,因为在各个网络节点都可以运用缓冲技术来改善网络抖动,从而使前面一段抖动造成的影响不至于蔓延到下一段。因此语音应用的QoS需求为:单向时延不超过150ms,单向网络抖动峰值不超过30ms,丢包率不超过1%;
[0060] 4、广播视频(在线影视):广播视频是单向的,而且大量运用了缓冲技术,因此这类应用对网络的时延和抖动没有严格要求,但是对丢包率有相当严格的要求。因此广播视频对QoS的要求为:丢包率不应超过1%;
[0061] 5、一般业务(网页、邮箱、下载):对时延、抖动、丢包率都不敏感,因此不需要设置具体的QoS容忍值,对带宽的要求各不相同,比如下载需要高带宽,网页、邮箱只需要低带宽。
[0062] 不同应用对QoS的不同需求及分级具体如表1所示:
[0063] 表1不同应用的QoS需求与分级
[0064] Q级别 带宽 延迟 抖动 丢包率1游戏 0.5Mbps 50ms 10ms 0.1%
2实时交互视频 2Mbps 100ms 10ms 0.1%
3语音 0.5Mbps 150ms 30ms 1%
4广播视频 4Mbps 200ms 50ms 1%
5高带宽一般业 5Mbps - - -
6低带宽一般业 0.5Mbps - - -
[0065] 本发明的技术方案中,需要预先训练一个节点映射策略网络,然后对于当前待映射的虚拟网络请求的每个虚拟节点,由该预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;基于每个虚拟网络所有虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射;其中,所述节点映射策略网络是以之前的底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是根据所述虚拟网络请求的QoS需求的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
[0066] 由于本发明的技术方案,在训练节点映射策略网络时为不同的虚拟网络请求考虑更多的QoS度量指标来计算所采用的奖励,从而解决了现有算法考虑QoS度量指标太少的问题;而且,在训练节点映射策略网络时设置的奖励为底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差,可以平衡虚拟网络请求的QoS保证和底层物理网络的请求接收率以及资源利用率。
[0067] 下面结合附图详细说明本发明实施例的技术方案。
[0068] 本发明将服务质量感知的虚拟网络映射问题描述如下:
[0069] 底层物理网络抽象为一个无向带权图Gs=(Ns,Ls),其中,Ns表示物理节点集合,每个物理节点ns∈Ns都有CPU(ns),QU(ns),PL(ns),分别表示该节点拥有的CPU资源、队列资源和产生的丢包率。Ls表示物理链路集合,每条物理链路ls∈Ls都有B(ls),D(ls),J(ls),分别表示该链路拥有的带宽资源、产生的一跳时延和抖动。
[0070] 虚拟网络请求也抽象为无向带权图Gv=(Nv,Lv,Qv),其中,Nv表示虚拟节点集合,每个虚拟节点nv∈Nv都有CPU(nv),QU(nv),分别表示该节点所需的CPU资源和队列资源。Lv表示物理链路集合,每条虚拟链路lv∈Lv都有B(lv)表示该链路所需的带宽资源。Qv由三元组Dv,Jv,PLv组成,分别表示该虚拟网络请求对一跳时延、抖动和丢包率的最大容忍值。
[0071] 虚拟网络映射的目标就是寻找一个Gv到Gs的映射:
[0072]
[0073] 其中 是Gs的一个子图,表示分配给Gv的物理资源, Ps表示底层网络无环路径的集合, 是其子集, 表示分配的物理节点资源量, 表示分配的物理路径的资源量。
[0074] 虚拟网络映射可以分解为两个阶段:节点映射和链路映射。
[0075] 节点映射阶段:
[0076] 节点映射需保证物理节点资源满足虚拟节点的计算能力和队列资源需求:
[0077]
[0078] 其中,dem(nv)表示虚拟节点nv的CPU和队列资源需求,M(nv)表示映射该虚拟节点的物理节点,RN(M(nv))表示该物理节点的可用资源。同一虚拟网络中的任意两个虚拟节点不允许映射到同一物理节点上:
[0079] MN(nv)=MN(mv),ifnv=mv
[0080] MN(nv)≠MN(mv),ifnv≠mv
[0081] 链路映射阶段:
[0082] 每条虚拟链路到一条物理路径的映射需要满足资源约束条件:
[0083]
[0084] 其中,p(lv)是虚拟链路lv映射的物理网络中的无环路径,ls∈p(lv)表示ls是p(lv)上的一条物理链路,bw(lv)表示虚拟链路lv的带宽需求,RE(ls)表示物理链路ls的可用带宽。
[0085] 而在QoS感知的VNE中,映射方案还需要满足虚拟网络请求的QoS需求:
[0086]
[0087] 其中,D(ls)是物理链路ls上产生的一跳时延,Dv是该虚拟网络请求对一跳时延的最大容忍值。
[0088]
[0089] 其中,J(ls)是物理链路ls上产生的一跳抖动,Jv是该虚拟网络请求对一跳抖动的最大容忍值。
[0090]
[0091] 其中,PL(ns)是物理节点ns上的丢包率,PLv是该虚拟网络请求对丢包率的最大容忍值。
[0092] 上述的β∈[1,2]是与虚拟网络请求的QoS需求的等级(本文中简称QoS等级)相应的放宽因子,针对不同QoS等级的虚拟网络请求它的值不同,具体如表2所示。也就是说,对QoS等级高的虚拟网络请求严格满足QoS需求,而对QoS等级低的虚拟网络请求适当放宽其QoS需求,牺牲一部分的服务质量来提高请求接收率。
[0093] 表2不同QoS等级下的放宽因子
[0094]
[0095] 本发明实施例提供的一种服务质量感知的虚拟网络映射方法,具体流程如图1所示,包括如下步骤:
[0096] 步骤S101:对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络根据从当前底层物理网络提取的状态矩阵,输出该虚拟节点的节点映射结果。
[0097] 具体地,随着虚拟网络请求的到达和离开,底层物理网络的资源状态会发生变化;由此,本步骤中为当前底层物理网络的物理节点提取资源特征、拓扑特征和QoS特征,然后将底层物理网络节点的所有特征组成为该物理节点的特征向量,最后将所有物理节点的特征向量组合成一个矩阵来表示当前底层物理网络的节点特征状态矩阵。其中物理节点的特征值具体包括:物理节点的计算能力、队列资源、相邻链路带宽总和、度中心性、到已映射节点的平均距离、接近中心性、时延、抖动、丢包率。
[0098] 其中,计算能力:物理节点的CPU容量对其可用性有很大影响,具有更高计算能力的物理节点可以映射更多的虚拟节点。用 来表示底层物理网络s上第k个物理节点的CPU的计算资源。
[0099] 队列资源:用 表示底层物理网络s上第k个物理节点可用的队列资源。
[0100] 相邻链路带宽总和:每个物理节点都连接到一组链路。用 表示底层物理网络s上第k个物理节点的相邻可用带宽和资源为: 其中 表示与物理节点 相连的链路集合。
[0101] 度中心性:物理节点的度中心性表示连接到它的链路的数量,具有更多相邻链路的物理节点更可能找到到其它物理节点的路径。用 表示物理网络s上第k个物理节点的度中心性: 其中, 为物理节点 的相邻链路数量,m为底层物理网络的物理节点数量。
[0102] 到已映射节点的平均距离:映射虚拟节点时,需要考虑同一请求中其它虚拟节点的映射位置。通过选择接近已映射的衬底节点,可以降低衬底链路带宽的成本。用沿最短路径的链路数量来测量两个物理节点之间的距离: 其中 表示一个虚拟网络请求中已被映射的虚拟节点所在的物理节点。
[0103] 接近中心性:度量物理节点到底层物理网络中所有其它物理节点的距离远近,其中 表示两个节点之间的最短路径上的链路数量。
[0104] 时延:度量该物理节点到底层物理网络中其它物理节点的延迟度,其中 表示两个物理节点之间的最短路径。
[0105] 抖动:度量该物理节点到底层物理网络中其它物理节点的抖动度,其中 表示两个物理节点之间的最短路径。
[0106] 丢包率:用 表示底层物理网络s上第k个物理节点的丢包率。
[0107] 在提取了所有物理节点的特征值之后,对它们的值使用Min-Max Normalization(极值正规化)进行归一化,使这些值都介于0到1之间:x′=(x-xmin)/(xmax-xmin)。
[0108] 则第k个物理节点的特征向量可以由Vk表示:
[0109]
[0110] 使用所有物理节点的特征向量构建状态矩阵M,其中每一行是特定物理节点的特征向量:M=(v1,v2,...,vn)T。
[0111] 将状态矩阵作为预先训练得到的节点映射策略网络的输入,并且输入的状态矩阵会随着不断变化的底层物理网络一起更新;也就是说,将当前底层物理网络所有物理节点的特征向量构建状态矩阵M输入到节点映射策略网络中。对于虚拟网络请求中需要映射的每个虚拟节点,节点映射策略网络为其选择物理节点,即预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,对于当前待映射的虚拟网络请求的每个虚拟节点,输出该虚拟节点的节点映射结果。
[0112] 节点映射策略网络具体结构如图2所示,它包含输入层、卷积层、柔性最大化层。
[0113] 节点映射策略网络以某一个底层物理网络的资源状态作为输入,通过前向传播最终输出在该状态下所有可执行动作的概率分布函数,在本发明中该概率分布对应于不同底层网络资源状态下某一虚拟节点到所有底层物理节点的可映射概率分布。
[0114] 具体地,输入层的作用是提取底层物理网络的物理节点特征矩阵M。
[0115] 卷积层的作用是评估每个物理节点的资源,它将输入的特征矩阵M执行卷积运算,以生成表示每个物理节点的可用资源的向量,其中,第k个物理节点的可用资源的向量表示如下:
[0116]
[0117] 其中,hk是卷积层输出的第k个物理节点的可用资源的向量,ω是卷积核权重向量,b是偏置项,ReLU为激活函数。其中,ω、b是在训练节点映射策略网络的过程中确定出的最优参数。
[0118] 柔性最大化层的作用是将卷积层得到的每个物理节点的可用资源的向量,分别转换成每个物理节点的概率;其中一个物理节点的概率用以指示如果将虚拟节点映射到该物理节点上产生更好结果的可能性。对于第k个物理节点,概率pk计算如下: 其中, 表示对第i个物理节点的可用资源值计算以e为底数的指数值。
[0119] 在实际应用中,一些物理节点因为没有足够的计算能力和队列资源而无法映射虚拟节点,因此,作为更优的实施方式,作为节点映射策略网络的预先训练得到的节点映射策略网络还包括:过滤层和输出层。
[0120] 过滤层一方面过滤掉没有足够的计算能力和队列资源的物理节点;另一方面由于在同一个虚拟网络请求里的不同虚拟节点不能被映射到同一个物理节点上,因此,过滤层还将已经被同一虚拟网络中的其他虚拟节点映射的物理节点过滤掉。最后过滤层会得到一组具有足够CPU容量,且可映射的候选节点。
[0121] 在过滤层将一些节点过滤掉后,其候选节点的概率和不等于1,因此需要在输出层重新计算候选节点的概率分布。输出层输出如下的概率分布:
[0122] P=(p1,p2,p3,…,pm);
[0123] (p1,p2,p3,…,pm)中每一项都对应一个候选节点被选中的概率,如果映射到某个候选节点上的效果越好,那么对应于这个候选节点的概率值就越大。
[0124] 也就是说,输出层输出重新计算得到的每个候选节点的概率;其中一个候选节点的概率用以指示如果将虚拟节点映射到该候选节点上产生更好结果的可能性;通常,选择最大概率的候选节点作为该虚拟节点所映射的物理节点。
[0125] 步骤S102:基于所述虚拟网络请求中所有节点的节点映射结果,完成所述虚拟网络请求的链路映射。
[0126] 具体地,在完成虚拟网络请求的每个虚拟节点的映射后,基于虚拟网络请求中全部虚拟节点的节点映射结果,使用剪枝后的最短路径算法完成链路映射。
[0127] 作为一种更优的实施方式,本步骤中,可以基于虚拟节点的节点映射结果,以及经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,使用剪枝后的最短路径算法完成链路映射;其中,所述放宽因子β对应于虚拟网络请求的QoS需求的等级;例如,表2示出一种设置的QoS需求的等级与放宽因子β的对应关系。上述经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,分别等于β×Dv、β×Jv、β×PLv;其中,Dv是设置的该虚拟网络请求对时延的最大容忍值;Jv是设置的该虚拟网络请求对抖动的最大容忍值;PLv是设置的该虚拟网络请求对丢包率的最大容忍值。
[0128] 本发明使用策略梯度法(Policy Gradients)通过强化学习模型来训练上述的节点映射策略网络。策略梯度法通过环境给出的反馈即累积折扣奖励来直接优化策略。在通过强化学习模型进行训练的过程中,节点映射策略网络通过当前得到的奖励反馈来判定当前策略的好坏,高奖励值意味着当前策略是好的,低奖励值或负的奖励值意味着当前的策略还需要继续优化,通过多次迭代对多个样本进行学习,节点映射策略网络会逐渐增加选择好的动作的概率,并降低选择差的动作的概率,从而得到最优策略。
[0129] 本发明使用小批量梯度下降(Mini-Batch Gradient Descent,MBGD)法来更新网络参数,MBGD的思想为:每次迭代使用batch_size个样本来对参数进行更新。另外学习速率α也会影响训练结果的好坏。学习速率α用来控制梯度的大小和训练的计算速度。如果梯度太大,则模型变得不稳定,并且可能无法通过训练过程得到改善,而太小的梯度使训练极其缓慢。其中,batch_size为设定的样本数,经过参数调优可以将这两个参数分别设为batch_size=100、α=0.05。
[0130] 本发明实施例提供的一种节点映射策略网络的具体训练方法,流程如图3所示,包括如下步骤:
[0131] 步骤S301:随机初始化节点映射策略网络中的参数。
[0132] 步骤S302:对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,由所述节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
[0133] 本步骤中,对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,由所述节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的一组可用的物理节点以及每个物理节点被选择的概率,每个物理节点的概率代表将该虚拟节点映射到该物理节点将产生更好的结果的可能性。
[0134] 步骤S303:对于一轮迭代中的每个虚拟网络请求,根据所述节点映射策略网络的输出,确定该虚拟网络请求的最终节点映射结果。
[0135] 具体地,在训练阶段,不会简单地选择具有最大概率的节点作为映射的物理节点,因为节点映射策略网络是随机初始化的,这意味着输出可能存在偏差并且可能存在更好的解决方案。也就是说,在训练过程中需要在探索更好的解决方案和利用当前节点映射策略网络的模型之间取得平衡。为此,本步骤中,可以根据节点映射策略网络输出的物理节点的概率分布中使用∈-greedy法选择一个节点作为被映射的物理节点;也就是说,本步骤中,对于每个虚拟网络请求的每个虚拟节点,根据所述节点映射策略网络输出的该虚拟节点的节点映射结果,以∈的概率从节点映射结果的可用物理节点集中随机选择一个物理节点作为该虚拟节点的最终映射结果,或者以1-∈的概率从节点映射结果的可用物理节点集中选择概率最大的物理节点作为该虚拟节点的最终映射结果。∈一般是设定的一个较小的在0~0.5之间的数值,即以较大概率利用当前策略,但也有一定概率去探索。
[0136] 如果节点映射策略网络的输出中没有可用的物理节点,则由于缺乏资源而导致映射失败。
[0137] 步骤S304:对于一轮迭代中的每个虚拟网络请求,根据该虚拟网络请求的所有虚拟节点的最终节点映射结果,进行该虚拟网络请求的链路映射。
[0138] 本步骤中,对于一轮迭代中的每个虚拟网络请求,根据该虚拟网络请求的节点映射结果,具体可以采用剪枝后的K最短路径完成该虚拟网络请求的链路映射;从而实现该虚拟网络请求的成功映射。
[0139] 作为一种更优的实施方式,本步骤中,对于一轮迭代中的每个虚拟网络请求,根据该虚拟网络请求的节点映射结果,以及经该虚拟网络请求所对应的放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,使用剪枝后的最短路径算法完成链路映射;其中,所述放宽因子β对应于该虚拟网络请求的QoS需求的等级;所述经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,分别等于β×Dv、β×Jv、β×PLv;其中,Dv是设置的该虚拟网络请求对时延的最大容忍值;Jv是设置的该虚拟网络请求对抖动的v最大容忍值;PL是设置的该虚拟网络请求对丢包率的最大容忍值。
[0140] 步骤S305:对于一轮迭代中成功映射的虚拟网络请求依次进行奖励和梯度计算处理,直到处理的虚拟网络请求个数达到设定数值batch_size。
[0141] 具体地,使用当前底层物理网络的资源利用率U与单个虚拟网络请求的服务质量损失L之差作为该虚拟网络请求的奖励Reward,Reward可以根据如下公式计算得到:
[0142] Reward=U-L
[0143]
[0144]
[0145] 其中, 表示当前底层物理网络的第i个物理节点的资源利用率, 表示当前底层物理网络的第j条链路的资源利用率,Ds,Js,PLs分别表示当前虚拟网络请求映射到物理网络后的实际时延、抖动和丢包率,Dv,Jv,PLv分别表示当前虚拟网络请求对个时延、抖动和丢包率的最大容忍值;n、m分别表示当前底层物理网络中物理节点的总数和物理链路的总数。
[0146] 根据计算得到虚拟网络请求的奖励,依据梯度下降法计算该虚拟网络请求的梯度。
[0147] 步骤S306:使用计算的梯度更新节点映射策略网络中的参数,并判断是否满足迭代结束条件;若是,退出迭代,结束训练,得到最优参数;若否,重复步骤S302~S306继续进行迭代,直到得到最优参数。
[0148] 其中,设定的迭代结束条件可以是:当前的迭代次数达到设定的迭代次数最大值;或者,设定的迭代结束条件可以是:节点映射策略网络的误差值已收敛。
[0149] 基于上述的服务质量感知的虚拟网络映射方法,本发明实施例提供的一种服务质量感知的虚拟网络映射装置,结构如图4所示,包括:节点映射策略网络401、节点映射模块402以及链路映射模块403。
[0150] 其中,节点映射模块402用于对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络401根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;
[0151] 链路映射模块403用于基于节点映射模块402输出的每个虚拟网络请求中全部虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射;具体地,链路映射模块403可以基于节点映射模块402输出的虚拟节点的节点映射结果,以及经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,使用剪枝后的最短路径算法完成链路映射;其中,所述放宽因子β对应于所述虚拟网络请求的QoS需求的等级。上述经放宽因子β放宽后v v v
的所述虚拟网络请求的时延、抖动和丢包率的容忍值,分别等于β×D、β×J、β×PL ;其中,Dv是设置的该虚拟网络请求对时延的最大容忍值;Jv是设置的该虚拟网络请求对抖动的最大容忍值;PLv是设置的该虚拟网络请求对丢包率的最大容忍值。
[0152] 其中,所述节点映射策略网络401是以训练时的底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是由根据所述虚拟网络请求的QoS需求的等级最终确定的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
[0153] 节点映射策略网络401的具体结构如图2所示,此处不再赘述;节点映射模块402和链路映射模块403的具体映射方法可参考上述图1所示流程各步骤中的方法,此处不再赘述。
[0154] 进一步,本发明实施例提供的一种服务质量感知的虚拟网络映射装置还可包括:节点映射策略网络训练模块404。
[0155] 节点映射策略网络训练模块404用于随机初始化作为节点映射策略网络的节点映射策略网络中的参数后,对所述节点映射策略网络进行多轮迭代训练;其中,一轮迭代过程包括:对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,由所述节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;对于一轮迭代中的每个虚拟网络请求的每个虚拟节点,根据所述节点映射策略网络的输出,以∈的随机选择一个物理节点,或者以1-∈的概率选择概率最大的物理节点;将选择的物理节点确定为该虚拟节点的最终节点映射结果;其中,∈为设定在0~0.5之间的数值;对于一轮迭代中的每个虚拟网络请求,根据该虚拟网络请求的每个虚拟节点的最终节点映射结果,进行该虚拟网络请求的链路映射;对于一轮迭代中成功映射的虚拟网络请求依次进行奖励和梯度计算处理,直到处理的虚拟网络请求个数达到设定数值;使用计算的梯度更新所述节点映射策略网络中的参数。
[0156] 节点映射策略网络训练模块404训练节点映射策略网络的具体方法可参考上述图3所示流程中各步骤的方法,此处不再赘述。
[0157] 本发明的技术方案中,对于当前待映射的虚拟网络请求的每个虚拟节点,由预先训练得到的节点映射策略网络根据当前底层物理网络的资源状态,输出该虚拟节点的节点映射结果;基于每个虚拟网络请求的所有虚拟节点的节点映射结果,完成所述虚拟网络请求的链路映射;其中,所述节点映射策略网络是以之前的底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差作为奖励训练得到的;其中,L是根据所述虚拟网络请求的QoS需求的时延、抖动和丢包率的最大容忍值,以及所述虚拟网络请求映射到底层物理网络后的实际时延、抖动和丢包率计算得到的。
[0158] 由于本发明的技术方案,在训练节点映射策略网络时为不同的虚拟网络请求考虑更多的QoS度量指标来计算所采用的奖励,从而解决了现有算法考虑QoS度量指标太少的问题;而且,在训练节点映射策略网络时设置的奖励为底层物理网络的资源利用率U与虚拟网络请求的服务质量损失L之差,可以平衡虚拟网络请求满足多种QoS度量指标和物理网络的资源利用率。
[0159] 进一步,本发明的技术方案,还可以将不同虚拟网络请求的QoS需求划分为不同的等级,不同等级的QoS需求被设置于不同的放宽因子,并基于经放宽因子β放宽后的所述虚拟网络请求的时延、抖动和丢包率的容忍值,完成链路映射;也就是说对QoS等级高的虚拟网络请求严格满足QoS需求,而对QoS等级低的虚拟网络请求适当放宽其QoS需求,牺牲一部分的服务质量来提高请求接收率;从而平衡虚拟网络请求的QoS保证和虚拟网络请求接收率。
[0160] 本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
[0161] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈