虚拟网络请求映射方法、装置及实现装置与流程

文档序号:16245246发布日期:2018-12-11 23:30阅读:200来源:国知局
虚拟网络请求映射方法、装置及实现装置与流程

本发明涉及虚拟网络技术领域,尤其是涉及一种虚拟网络请求映射方法、装置及实现装置。

背景技术

网络虚拟化技术被视为构建新一代网络体系架构的重要技术。利用网络虚拟化技术,网络服务提供商可以在同一个底层物理网络上创建多个虚拟网络,从而为用户提供多样化的可定制端到端的服务。在虚拟网络建立的过程中,需要使用虚拟网络映射技术,将虚拟网络请求映射到底层物理网络实体中特定节点和链路。目前国内外使用的虚拟网络映射方式都是采用启发式的算法,需要手工制定一系列的规则和假设,忽视了底层物理网络和虚拟网络请求两者之间的关系,导致时间复杂度较高,效率较低。



技术实现要素:

有鉴于此,本发明的目的在于提供一种虚拟网络请求映射方法、装置及实现装置,以降低虚拟网络映射过程的时间复杂度,提高物理网络资源的分配效率及利用率。

第一方面,本发明实施例提供了一种虚拟网络请求映射方法,包括:接收虚拟网络的映射请求;该映射请求包括虚拟节点、虚拟节点约束条件、虚拟链路及虚拟链路约束条件中的一种或多种;根据映射请求及预先建立的物理网络分配模型,为虚拟网络分配物理节点及物理链路;该物理网络分配模型通过神经网络建立。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述物理网络分配模型通过以下方式建立:建立待分配的物理网络的数学模型;根据预设的模型架构、数学模型及预设的效果指标,建立神经网络的网络结构;获取训练样本;该训练样本中包含多个虚拟网络的映射请求;将训练样本输入至网络结构中进行训练,得到物理网络分配模型。

结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述建立待分配的物理网络的数学模型的步骤,包括:将物理网络的节点信息转换为对应的属性矩阵,将物理网络的链路信息转换为对应的邻接矩阵;利用谱方法消除属性矩阵及邻接矩阵的噪声,得到属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵;根据属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵,确定物理网络的嵌入矩阵;根据矩阵摄动理论,对物理网络的嵌入矩阵进行求解,得到物理网络的数学模型;该数学模型包括静态更新模型。

结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述预设的效果指标包括运营商的长期平均收益、收益消耗比和长期接受率中的一种或多种。

结合第一方面第二种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述根据属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵,确定物理网络的嵌入矩阵的步骤,包括:通过下述公式获取当属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵的相关性最大时,属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量:

其中,约束条件为pa(t)′ya(t)′ya(t)pa(t)+px(t)′yx(t)′yx(t)px(t)=1。ya(t)、yx(t)分别为在t时刻属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵,ya(t)′、yx(t)′分别为ya(t)、yx(t)的转置矩阵;pa(t)、px(t)分别为在t时刻属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量,pa(t)、px(t)分别为pa(t)、px(t)的转置矩阵;表示以pa(t)、px(t)为变量求取上述公式的最大值;

通过拉格朗日函数求取属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量的梯度为零时,属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量的取值;

通过下述公式得到共识嵌入矩阵为:

y(t)=[ya(t),yx(t)]×p(t)

其中,p(t)为pa(t)及px(t)合成的投影向量,p(t)=[pa(t),px(t)]。

第二方面,本发明实施例还提供一种虚拟网络请求映射装置,包括:请求接收模块,用于接收虚拟网络的映射请求;该映射请求包括虚拟节点、虚拟节点约束条件、虚拟链路及虚拟链路约束条件中的一种或多种;物理网络分配模块,用于根据映射请求及预先建立的物理网络分配模型,为虚拟网络分配物理节点及物理链路;该物理网络分配模型通过神经网络建立。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述物理网络分配模型通过以下方式建立:建立待分配的物理网络的数学模型;根据预设的模型架构、数学模型及预设的效果指标,建立神经网络的网络结构;获取训练样本;该训练样本中包含多个虚拟网络的映射请求;将训练样本输入至网络结构中进行训练,得到物理网络分配模型。

结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述建立待分配的物理网络的数学模型的步骤,包括:将物理网络的节点信息转换为对应的属性矩阵,将物理网络的链路信息转换为对应的邻接矩阵;利用谱方法消除属性矩阵及邻接矩阵的噪声,得到属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵;根据属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵,确定物理网络的嵌入矩阵;根据矩阵摄动理论,对物理网络的嵌入矩阵进行求解,得到物理网络的数学模型;该数学模型包括静态更新模型。

结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,上述预设的效果指标包括运营商的长期平均收益、收益消耗比和长期接受率中的一种或多种。

第三方面,本发明实施例还提供一种虚拟网络请求映射实现装置,包括存储器和处理器,其中,存储器用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述方法。

本发明实施例带来了以下有益效果:

本发明实施例提供了一种虚拟网络请求映射方法、装置及实现装置;接收虚拟网络的映射请求后,根据该映射请求及预先建立的物理网络分配模型,为虚拟网络分配物理节点及物理链路;该方式降低虚拟网络映射过程的时间复杂度,提高了物理网络资源的分配效率及利用率。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种虚拟网络请求映射方法的流程图;

图2为本发明实施例提供的一种虚拟网络请求映射方法中,物理网络分配模型的建立方法的流程图;

图3为本发明实施例提供的一种虚拟网络请求映射方法中,虚拟网络请求和物理网络的拓扑图;

图4为本发明实施例提供的一种虚拟网络请求映射方法中,节点映射的流程图;

图5为本发明实施例提供的一种虚拟网络请求映射方法中,物理网络分配模型的工作过程图;

图6为本发明实施例提供的四种采用不同算法的物理网络分配模型对同一组测试集进行测试的评价指标对比图;

图7为本发明实施例提供的一种虚拟网络请求映射装置的结构示意图;

图8为本发明实施例提供的一种虚拟网络请求映射实现装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,虚拟网络技术快速发展。在虚拟网络建立的过程中,需要使用虚拟网络映射技术;虚拟网络映射的目标就是在满足资源约束条件的前提下,实现底层物理网络资源的高效利用。虚拟网络映射需要选择和虚拟网络请求相匹配的物理节点和物理链路,承载租户个性化需求。如果能实现高效可靠的虚拟网络映射技术,并且动态变化的虚拟请求进行快速响应,那么将显著提高物理资源的利用率,从而提高网络服务提供商的营收能力。

但实际操作中,在节点和链路的约束条件下,虚拟网络映射是一个np-hard(non-deterministicpolynomial-hard,非确定性多项式困难)问题。

现有的虚拟网络映射方式时间复杂度较高,对物理网络资源的分配效率及利用率低。基于此,本发明实施例提供了一种虚拟网络请求映射方法、装置及实现装置,可以应用于物理网络资源的分配及其他资源分配领域。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种虚拟网络请求映射方法进行详细介绍。

参见图1所示的一种虚拟网络请求映射方法的流程图,该方法包括以下步骤:

步骤s100,接收虚拟网络的映射请求;该映射请求包括虚拟节点、虚拟节点约束条件、虚拟链路及虚拟链路约束条件中的一种或多种;在建立虚拟网络时,提出分配物理网络资源的请求;该物理网络资源的分配需依照虚拟网络的节点、链路及相应的约束条件进行,该约束条件可以为cpu(centralprocessingunit,中央处理器)计算资源和带宽资源等。

步骤s102,根据映射请求及预先建立的物理网络分配模型,为虚拟网络分配物理节点及物理链路;该物理网络分配模型通过神经网络建立。

具体地,上述物理网络分配模型可以通过以下方式建立:

(1)建立待分配的物理网络的数学模型;由于待分配的物理网络资源是有限的,因此对虚拟网络映射请求需要考虑到物理网络资源的承受能力,建立准确的物理网络的数学模型,并应用于神经网络模型中,更有利于高效完成虚拟网络映射请求。

(2)根据预设的模型架构、数学模型及预设的效果指标,建立神经网络的网络结构;具体地,上述模型架构可以为预设的效果指标可以为运营商的长期平均收益、收益消耗比和长期接受率中的一种或多种。

(3)获取训练样本;该训练样本中包含多个虚拟网络的映射请求。

(4)将训练样本输入至网络结构中进行训练,得到物理网络分配模型。

本发明实施例提供了一种虚拟网络请求映射方法;接收虚拟网络的映射请求后,根据该映射请求及预先建立的物理网络分配模型,为虚拟网络分配物理节点及物理链路;该方式降低虚拟网络映射过程的时间复杂度,提高了物理网络资源的分配效率及利用率。

本发明实施例还提供了一种虚拟网络请求映射方法中,物理网络分配模型的建立方法,该方法在图1所示的方法的基础上实现,其流程图如图2所示,包括以下步骤:

步骤s200,将物理网络的节点信息转换为对应的属性矩阵,将物理网络的链路信息转换为对应的邻接矩阵;具体地,物理网络的节点信息可以用一个属性矩阵表示,每一行代表一个物理节点,每一列代表一个节点属性。物理网络的链路信息可以使用邻接矩阵表示,可以分别采用a(t)和x(t)表示物理底层网络的属性矩阵和邻接矩阵。下述公式中的各个符号的定义如表1所示:

表1

步骤s202,利用谱方法消除属性矩阵及邻接矩阵的噪声,得到属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵。

具体地,邻接矩阵的嵌入矩阵可以获取过程如下:规定dx(t)为x(t)的度矩阵,即规定lx(t)为x(t)的拉普拉斯矩阵,即lx(t)=dx(t)-x(t)。根据谱理论,将n维的矩阵映射到k维的嵌入矩阵中(k<<n),能有效减少矩阵表示中的噪音。一个普适性选择yx(t)=[y1,y2,...yn]'的方式是最小化损失函数即在新的空间中,相互连接的节点之间距离更近。此时问题就退化成了广义特征问题假设为该问题的对应特征值0=λ1<=λ2<=...<=λn的特征向量,很容易验证λ1=0,并且对应的特征向量为1。取作为邻接矩阵x(t)的嵌入矩阵yx(t),并且取它们对应的特征值[λ1,λ2,...,λk+1]作为时间t的特征值。

与邻接矩阵类似,属性矩阵a(t)也可以得到对应的ya(t),先得到归一化的属性矩阵,然后得到属性矩阵的相似度矩阵w(t)。以同样的方式生成属性矩阵a(t)的嵌入式表示ya(t)

步骤s204,根据属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵,确定物理网络的嵌入矩阵。

具体地,该步骤通过以下方式实现:

(1)通过下述公式获取当属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵的相关性最大时,属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量:

其中,约束条件为pa(t)′ya(t)′ya(t)pa(t)+px(t)′yx(t)′yx(t)px(t)=1。ya(t)、yx(t)分别为在t时刻属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵,ya(t)′、yx(t)′分别为ya(t)、yx(t)的转置矩阵;pa(t)、px(t)分别为在t时刻属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量,pa(t)、px(t)分别为pa(t)、px(t)的转置矩阵;表示以pa(t)、px(t)为变量求取上述公式的最大值。

(2)通过拉格朗日函数求取属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量的梯度为零时,属性矩阵的嵌入矩阵对应的投影向量及邻接矩阵的嵌入矩阵对应的投影向量的取值;具体地,使γ为拉格朗日算子,那么通过拉格朗日函数对px(t)和pa(t)求梯度为零,可以得到px(t)和pa(t)的值。对应的广义特征问题的表述为:

然后我们取上述广义特征问题的前l个特征向量共识嵌入表示,可以得到投影矩阵

(3)通过下述公式得到共识嵌入矩阵为:

y(t)=[ya(t),yx(t)]×p(t)(3)

其中,p(t)为pa(t)及px(t)合成的投影向量,p(t)=[pa(t),px(t)]。

步骤s206,根据矩阵摄动理论,对物理网络的嵌入矩阵进行求解,得到物理网络的数学模型;该数学模型包括静态更新模型。

在虚拟网络映射过程中,当一个虚拟请求到来以后,物理网络就会发生改变。因此属性矩阵是一个高频率动态变化的矩阵。如果在每个时间步,对每个物理网络都通过特征向量和特征值的方式先求出yx(t)和ya(t),然后通过yx(t)和ya(t)得到y(t),这是非常消耗时间的,在大规模网络中这样的方式也是不现实的。因此提出通过矩阵变量更新的方式对yx(t)和ya(t)进行动态更新,以降低时间复杂度。

该动态更新算法的提出基于虚拟网络映射算法的一个事实,即在两个连续的时间步,属性矩阵不会变化太多。因为在虚拟网络映射中,完成一个虚拟网络请求以后,物理网络会在减去本次虚拟请求需要的资源,而这个虚拟请求的资源通常不会占物理资源很大一部分。采用δa和δx代表在两个连续时间步长内属性矩阵和邻接矩阵的变化量,那么对于这两者的度矩阵和拉普拉斯矩阵:

da(t+1)=da(t)+δda,la(t+1)=la(t)+δla,

dx(t+1)=dx(t)+δdx,lx(t+1)=lx(t)+δlx.(4)

在静态模型中,得到属性矩阵和邻接矩阵的嵌入矩阵,等价于求解一个广义特征问题。然后取前k个特征向量作为嵌入矩阵,这需要对广义特征问题求解,但是求解特征问题复杂度很高,所以我们需要一种有效的方式,得到属性矩阵和邻接矩阵的嵌入矩阵。我们以邻接矩阵的嵌入矩阵更新方法为例,说明动态更新的具体步骤。由矩阵摄动理论可知:

对于某个特征值和特征向量对(λi,ai):

那么动态更新的算法问题就等价于怎么由拉普拉斯变化矩阵δl和度矩阵变化矩阵δd得到特征值和特征向量的变化对求解的方式分为求δλi和求解两个部分。

首先计算δλi,将(6)式展开,得到:

由于二重导数如等对结果影响小,因此将其略去。并且由于可以将(7)化简为结果:

将等式两侧同时乘上ai',(8)变为:

因为拉普拉斯矩阵lx(t)和度矩阵dx(t)是对称矩阵,那么:

因此等式(9)就变为了:

因此特征值的变化量为:

易得因此:

接下来计算由于在连续时间步长内,网络结构的变化是平滑的,假设特征向量的摄动由前k个特征向量构成,即其中αij是第j个特征向量的权重,可通过以下方式获取权重:

插入公式(8)中,得到:

将等式两边同时乘上同时易得:

因此,权重αip就可以求出来:

当p≠i时,权重值已经求出来,下面介绍求p=i时,αii如何求取:

将(17)展开,并且舍去二重导数项,得到:

得到:

因此特征向量ai的摄动为:

到现在为止,可以求出特征值和特征矩阵的摄动对在物理网络的嵌入矩阵更新过程如算法一(algorithm1)中的伪代码所示,其代码如表2所示。

表2

算法的输入是在起始时间(t=1)时,通过传统的求解广义特征问题的特征值和特征向量的方式,得到前k个特征值和特征向量对。以及每一个时间步的拉布拉斯矩阵和度矩阵的摄动。输出为在时间步t的前k个特征值和特征向量对。其中第3行和第4行调用公式(13)和公式(20)计算摄动,然后更新特征值和特征向量。上述过程以邻接矩阵的方式展示了如何对特征值和特征矩阵进行更新,那么属性矩阵的嵌入矩阵也采用同样的方式进行更新即可,从而得到了物理网络的静态更新模型。

上述方法采用谱方法获得了健壮的共识矩阵,这个共识矩阵可以有效地表示底层物理网络,实现了物理网络的静态表示;此外,还利用了矩阵摄动理论来捕捉连续时间内物理网络中节点和链路的变化,并完成物理网络更新,实现了物理网络的动态更新。

本发明实施例还提供了另一种虚拟网络请求映射方法,该方法在图2所示的方法基础上实现。

虚拟网络映射问题可以采用如图3所示的虚拟网络请求和物理网络拓扑来表示,其中(a)和(b)是虚拟网络请求,(c)是底层的物理网络。使用一个无向图的模型表示物理网络,其中ns和ls分别表示物理网络的节点集合和链路集合,分别表示物理网络的节点和链路的属性集合。物理网络的节点属性包括节点的cpu能力和位置信息等,链路属性包括链路的带宽和延迟。类似的,虚拟网络请求也可以使用无向图来表示。使用一个无向图模型表示虚拟网络请求,其中nv和lv分别表示虚拟网络请求的节点集合和链路集合,分别表示虚拟网络请求的节点和链路的约束条件。为了使虚拟网络映射的描述简洁直观,物理资源和虚拟网络请求的节点资源主要考虑cpu计算资源,链路资源主要考虑带宽资源。

如图3(c)表示一个物理网络,包含a到g七个物理节点,以节点a和节点b为例,节点a的计算资源为30个单位,节点b的计算资源为40个单位,节点a和节点b之间的带宽资源为20个单位。图3(a)和图3(b)表示虚拟网络请求,以图3(a)为例,虚拟节点a需要的计算资源为5个单位,虚拟节点b需要的计算资源为10个单位,虚拟节点a和虚拟节点b之间需要的虚拟链路资源为10个单位。

将一次虚拟网络映射过程记为m:gv(nv,lv)→gs(n',l'),其中以图3举例,a和b两个节点可能被映射到a和b两个节点上,那么ab之间的链路请求就被映射到ab之间的物理链路上;也有可能a和b两个节点可能被映射到a和c两个节点上,那么ab之间的链路请求就被映射到ab之间和bc之间的两个物理链路上,这样比前一种映射方式多消耗了bc之间的链路资源,以更多的网络资源的消耗完成了本次虚拟网络映射任务。

当图3(a)的请求在时间t到达图3(c)的物理网络后,占用物理网络的资源时长记为td,在整个占用时长td时间内,分配给该请求的物理资源不能被其他虚拟网络请求占用。因此虚拟网络映射算法,即如何做出合理分配虚拟网络请求的决策,将对物理资源的利用率产生重要影响。

虚拟网络映射的主要目标,就是将虚拟网络请求尽可能多的映射到物理网络中,以此提高物理网络资源的利用效率,增加基础设施运营商的收益。本实施例中将以长期平均收益、收益消耗比和长期接受率三个指标作为衡量虚拟网络请求任务完成情况的标准。

根据上述实施例,已根据公式(3)、公式(13)和公式(20)建立了物理网络的数学模型,根据该模型并结合rdam(reinforcementlearningbaseddynamicattributematrix,基于增强学习的动态属性矩阵表示)算法,建立物理网络分配模型,将虚拟网络映射请求输入该网络,通过该模型输出虚拟网络请求节点映射到每个物理网络节点的概率。

rdam算法将虚拟网络映射看作节点映射和链路映射两个阶段。相对于节点映射阶段,链路映射阶段就是将节点映射阶段映射的节点按照深度优先遍历的方法分配链路。节点映射的流程如图4中所示,分为problem1(问题1)和problem2(问题2)。problem1指的是特征选取和特征表示的问题,problem2指的是特征动态更新的问题。特征选取和特征表示使用谱分析的方法,得到一个物理网络健壮的共识矩阵;特征更新方式采用矩阵摄动理论,解决静态更新方式时间复杂度高的问题。

如图4所示,左侧表示时间步t,右侧表示时间步t+1。在时间步t,首先得到物理底层网络(substratenetwork)属性(attributes)矩阵a(t)和邻接矩阵x(t),通过谱分析的方式消除两个矩阵中的噪音,得到属性矩阵嵌入式表示ya(t)和邻接矩阵嵌入式表示yx(t)。然后通过两个嵌入式的矩阵得到最终的共识矩阵(consensusembedding)y(t)。然后在时间步t+1,图中灰色格子表示变化属性,由属性矩阵的变化量δa和邻接矩阵的变化量δx,进行在线升级(onlineupdate),得到新的属性矩阵嵌入式表示ya(t+1)和邻接矩阵嵌入式表示yx(t+1),得到新的共识矩阵y(t+1);上述节点映射的问题即为怎样得到共识矩阵及在经过虚拟网络映射后怎样得到新的共识矩阵;这两个问题在物理网络的数学模型建立过程中已得到解决,在此不再赘述。

该模型的工作过程图如图5所示,该模型(也被称为policynetwork)包括输入层(inputlayer)、卷积层(convolutionallayer)、softmax(柔性最大值传输函数)层、及候选层(candidateslayer)。其中,第一层是输入层,将y输入到模型中,其中yij(1≤i≤n,1≤j≤l)表示第i个节点的隐层表示中,第j维的值。第二层是卷积层,通过卷积层以后,得到一个n维的可用物理节点的向量表示。即:

hi=w·yi+b(21)

其中,hi是第i个卷积层的输出,w是卷积核的权重向量,b是偏置。

第三层是softmax层,将卷积层的输出h传进softmax层,产生一个概率,此概率代表该虚拟网络请求节点选择每一个物理节点的概率。对于每个物理节点,概率softmax的计算方法为:

softmax是逻辑斯特函数的一种推广,它能求得一个向量每一个维度的概率,每一个维度的概率的范围都在(0,1)之间,并且所有维度的概率和为1。

第四层是候选节点层,通过该模型得到每一个物理节点都有概率,但是实际情况中会有某个物理节点不满足该虚拟网络请求节点,因此该层会有一个筛选节点的过滤器,选出过滤后的概率最大的物理节点。

在建立模型后,需要采用强化学习的方法对该模型进行训练。在神经网络的监督学习中,样本包括样本特征以及样本的标签,将样本特征通过模型以后得到预测的标签,与样本的真实标签的距离作为损失函数,那么监督学习的过程就是不断降低损失函数值的过程。而强化学习中,样本没有真实的标签,强化学习对比监督学习少了样本的标签,多了一个评价指标函数。将样本特征通过模型以后,得到预测的标签,选中预测的标签,如果该标签能给整个系统带来更好的评价指标的值,就说明模型预测的方向是正确的,因此鼓励模型的参数继续向这个方向训练。如果带来的评价指标的值较小,甚至是负值,那么就说明模型预测的方向是不正确的,因此需要模型的参数训练方向进行调整。

具体到虚拟网络映射过程,假设物理网络有n个节点,每个节点的嵌入矩阵表示有l维,将物理网络的嵌入矩阵(n*l)作为输入传入模型,得到虚拟网络节点请求选择每个物理节点的概率。此时不能直接选择概率最大的物理网络节点,因为网络模型参数是随机初始化的,如果选择概率最大的节点,那么模型是一直有偏的。因此要在模型的探索和现有模型的利用之间找到一个平衡。此时,通过该模型得到了每个节点的概率向量p,然后我们随机选择第i个节点,构建一个one-hot编码的向量,即该向量有n维,只有第i位是1,其余全为0。那么损失函数就可以写为:

其中yi和pi分别是随机选择的one-hot向量和预测出来的概率向量p的第i维的值。然后才用反向求导的方式得到梯度g,该模型的训练结果倾向于当这个随机选择的节点能带来较大收益消耗比时,模型参数训练的方向是更倾向于做出相似的决策;而这个随机选择的节点带来的收益消耗比较低时,模型参数训练的方向是不鼓励做出相似的决策。因此,对梯度做出更新:

g:=α·r·g(24)

其中α是学习速率,控制模型训练的快慢。当α过大时,训练过程将无法收敛,错过全局最优解。当α过小时,训练过程又太慢,因此需要选择合适的学习速率。将奖励与梯度相乘,获得较大奖励的决策将对训练代理产生更大的影响,因此能更倾向于产生相似的决策;而获得较小的奖励或者是负的奖励的决策将对训练代理产生更小的影响。

在该模型对一个虚拟网络请求进行训练时,由于虚拟网络请求一般包含多个虚拟网络请求节点。每个虚拟请求节点通过模型后,将梯度押入栈而不是直接应用到模型中,因为该虚拟网络请求有可能映射失败。如果映射失败,将该虚拟网络请求节点压入栈的部分清空,接着处理下一个虚拟网络请求。当虚拟网络请求到达的个数达到批处理的个数以后,将栈内的梯度全部应用于模型,然后将栈清空,重新计数。之所以应用批量梯度下降,首先是因为梯度更新需要消耗大量的时间,如果批量梯度下降将会节省很多时间。其次批量梯度下降将梯度在批量大小内进行了平均,训练出的结果更加稳定。

一次完整的虚拟网络映射的训练过程的代码如表3中的算法2(algorithm2)所示:

表3

第7-10行是节点映射的过程,11-13行是链路映射的过程。第28行当映射不成功时,会将栈里的梯度清空,从下一个虚拟网络映射请求开始训练。第21-23行,对batchsize个梯度进行更新,并将请求计数器清零。

测试阶段的伪代码如表4中的算法3(algorithm3)所示:

表4

在测试阶段,直接采用贪婪策略从最大的概率节点中选择物理节点进行映射。如果节点和链路全部映射成功,那么对最终结果的长期平均收益,接受率和长期收益消耗比都有提升。

对物理网络分配模型进行训练后,可将该模型应用于虚拟网络映射请求的处理。为了验证模型的泛化效果,我们在测试集上进行了实验。对照试验选择了三个。第一个对照模型采用的是baseline(基线)算法:

第二个对照模型采用的是noderank(节点排序)算法。第三个对照模型采用的是同样基于强化学习的算法rlvne(reinforcementlearningalgorithmforvirtualnetworkembedding,用于虚拟网络嵌入的增强学习算法)。这三个算法都是将节点映射和链路映射分为两个阶段的虚拟网络映射算法,并且链路映射都采用深度优先遍历的方式,区别只是在于节点映射阶段采用的算法。

在训练过程中,以长期收益消耗比作为评价指标。在每一个epoch(时间上的一点),如果长期平均收益比当前最佳的长期平均收益高,那么更新最佳的长期平均收益为本个epoch的长期平均收益,并且使用当前模型对测试集进行虚拟网络映射。在训练过程中,会有很多组对测试集的测试。显然最后一组结果是训练过程中模型最优的情况下,对测试集进行的虚拟网络映射。图6中本算法展示的是最后一组的测试集的结果,图6(a)中显示的为四个模型对同一组测试集测试结果的长期平均收益(long-termaveragerevenue),图6(b)中显示的为四个模型对同一组测试集测试结果的收益消耗比,图6(c)中显示的为四个模型对同一组测试集测试结果的长期接受率;其中,rda-vne代表采用rdam算法的模型,rl代表采用rlvne算法的模型,noderank代表采用noderank算法的模型,baseline代表采用baseline算法的模型。

在测试阶段,虚拟网路请求的开始时间是22,结束时间是30000,以1000为一个时间单位,图6给出了在三十个时间段内,虚拟网络请求的评价指标的变化。在图6(a)和图6(b)中,开始阶段长期平均收益和接受率会有下降,因为随着虚拟网络请求的到来,物理资源会逐渐消耗。而开始阶段长期收益与消耗比不会有明显的下降,因为该指标和物理资源的多少无关。然后三个指标都趋于平稳,但可以看到在三个评价指标中,rdam算法的收敛趋势和收敛值都要优于其他三种算法。通过该实验可以得出结论,在训练阶段rdn-vne算法中强化学习代理学习到了物理网络节点的关系,并且在测试阶段可以将模型泛化,在测试集上表现出优越性。

本实施例通过采用强化学习方法对基于神经网络建立的物理网络分配模型进行训练,可以有效地发现底层网络表示和虚拟网络请求之间的关系,从而完成有效的虚拟网络映射。

对应于上述实施例,本发明实施例还提供一种虚拟网络请求映射装置,其结构示意图如图7所示,包括:请求接收模块700,用于接收虚拟网络的映射请求;该映射请求包括虚拟节点、虚拟节点约束条件、虚拟链路及虚拟链路约束条件中的一种或多种;物理网络分配模块702,用于根据映射请求及预先建立的物理网络分配模型,为虚拟网络分配物理节点及物理链路;该物理网络分配模型通过神经网络建立。

上述物理网络分配模型可以通过以下方式建立:

(1)建立待分配的物理网络的数学模型;具体地,将物理网络的节点信息转换为对应的属性矩阵,将物理网络的链路信息转换为对应的邻接矩阵;利用谱方法消除属性矩阵及邻接矩阵的噪声,得到属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵;根据属性矩阵的嵌入矩阵及邻接矩阵的嵌入矩阵,确定物理网络的嵌入矩阵;根据矩阵摄动理论,对物理网络的嵌入矩阵进行求解,得到物理网络的数学模型;该数学模型为物理网络的静态更新模型。

(2)根据预设的模型架构、数学模型及预设的效果指标,建立神经网络的网络结构;该预设的效果指标可以为运营商的长期平均收益、收益消耗比和长期接受率中的一种或多种。

(3)获取训练样本;该训练样本中包含多个所述虚拟网络的映射请求。

(4)将训练样本输入至网络结构中进行训练,得到物理网络分配模型。

本发明实施例提供的虚拟网络请求映射装置,与上述实施例提供的虚拟网络请求映射方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本实施方式提供了一种与上述方法实施方式相对应的虚拟网络请求映射实现装置。图8为该实现装置的结构示意图,如图7所示,该设备包括处理器1201和存储器1202;其中,存储器1202用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述虚拟网络请求映射方法。

图8所示的实现装置还包括总线1203和转发芯片1204,处理器1201、转发芯片1204和存储器1202通过总线1203连接。该报文传输的实现装置可以是网络边缘设备。

其中,存储器1202可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。总线1203可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

转发芯片1204用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的ipv4报文或ipv6报文通过网络接口发送至用户终端。

处理器1201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1201可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1202,处理器1201读取存储器1202中的信息,结合其硬件完成前述实施方式的方法的步骤。

本发明实施方式还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述虚拟网络请求映射方法,具体实现可参见方法实施方式,在此不再赘述。

本发明实施方式所提供的虚拟网络请求映射装置及实现装置,其实现原理及产生的技术效果和前述方法实施方式相同,为简要描述,装置实施方式部分未提及之处,可参考前述方法实施方式中相应内容。

在本申请所提供的几个实施方式中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施方式中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施方式,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施方式对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施方式所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施方式技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

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