一种服务链部署方法及装置转让专利

申请号 : CN202110636179.X

文献号 : CN113422812B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐思雅杨超乔林邵苏杰张瑜郭少勇王飞李逸民金垒王实贺文晨

申请人 : 北京邮电大学国网辽宁省电力有限公司信息通信分公司国家电网有限公司

摘要 :

本发明实施例提供了一种服务链部署方法及装置,上述方法包括:获取待部署服务链的当前服务链状态;基于当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定当前服务链状态对应的部署策略,作为备选部署策略;判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;如果满足,按照备选部署策略对待部署服务链进行VNF部署。采用该方法,实现了优化服务链部署过程中的端到端时延和能量消耗的同时,保障物联网用户对服务的可靠性的基本需求。

权利要求 :

1.一种服务链部署方法,其特征在于,包括:

获取待部署服务链的当前服务链状态,所述当前服务链状态包括:待部署服务链当前部署状态和待部署服务器节点的当前网络资源状态;

基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行虚拟网络功能VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;

判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;

如果满足,按照所述备选部署策略对待部署服务链进行VNF部署;

所述对应关系的确定方式,包括:

获取所述目标服务链的服务链状态,作为第一服务链状态;

针对所述目标服务链包括的VNF,基于预设的部署动作确定规则确定出可部署该VNF的一个服务器节点;

判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件;

如果满足,确定将该VNF部署于该服务器节点后对应的部署成本,以及确定将该VNF部署于该服务器节点后得到的服务链的状态,作为第二服务链状态;

将所述第一服务链状态、该服务器节点的标识、该服务器节点对应的部署成本和所述第二服务链状态确定为一组状态转移样本;

基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系;

所述判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件,包括:若当前VNF部署于该服务器节点满足以下公式,则确定将当前VNF部署于该服务器节点满足预设部署资源约束条件和预设部署位置约束条件:其中,N表示能够以虚拟机承载VNF的服务器节点的集合;E表示服务器节点之间链路的集合;SRi表示第i条服务链; 表示服务链SRi中的所部署的第|Si|个VNF;Si为服务链SRi需要部署的VNF的数量;D(i,j)表示服务链SRi中每个VNF需要满足的计算资源需求;CRr(u)表示服务器节点u具有的计算资源; 为预设第一二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点u∈N上; 为预设第二二进制变量,当 时表示服务链SRi中的fi,j对应的备份VNF部署在服务器节点u∈N上; 为预设第三二进制变量,当 时表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1或fi,j+1对应的备份VNF部署在物理链路(u,v)上,且当 时服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为预设第四二进制变量,当时表示服务链SRi中的fi,j和fi,j对应的备份VNF之间的虚拟链路部署在(u,v)上;

W(i)表示服务链SRi具有的带宽资源需求;Br(u,v)表示链路(u,v)∈E的剩余带宽资源;Q为只起转发作用的交换机节点的集合;T为指定服务器节点的集合,所述指定服务器节点用于部署特定VNF。

2.根据权利要求1所述的方法,其特征在于,所述基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系,包括:获取一组状态转移样本;

将该组状态转移样本分别输入第一神经网络和第二神经网络,得到:第一神经网络输出的该组状态转移样本对应的动作价值函数的预测值,以及第二神经网络输出的该组状态转移样本对应的动作价值函数的真实值;其中,第一神经网络与第二神经网络的结构相同,所述动作价值函数用于表示采用各部署策略对服务链进行VNF部署的价值;

基于所述真实值和所述预测值计算该组状态转移样本对应的损失值;

若所述损失值大于预设损失阈值,则确定完成一次训练并调整第一神经网络的参数;

若所述损失值不大于所述预设损失阈值,则确定完成一次训练;

返回所述获取一组状态转移样本的步骤,直至完成预设次数的训练后,将第一神经网络的参数赋给第二神经网络;

针对所述目标服务链的每个服务链状态,基于第一神经网络确定该服务链状态的多个部署策略对应的动作价值函数,并将动作价值函数的值最大的部署策略确定为该服务链状态对应的部署策略;

判断采用所述目标服务链的每个服务链状态对应的部署策略,对服务链状态为该服务链状态的所述目标服务链进行VNF部署后得到的服务链,是否满足所述预设部署资源约束条件和预设部署位置约束条件;若均满足,确定完成一次迭代;若存在不满足,确定完成一次迭代;

返回所述获取一组状态转移样本的步骤,直至迭代次数达到预设迭代次数后,确定第一神经网络为目标神经网络;

针对所述目标服务链的每个服务链状态,基于所述目标神经网络确定该服务链状态的多个部署策略对应的动作价值函数,并将动作价值函数的值最大的部署策略确定为该服务链状态对应的部署策略。

3.根据权利要求1所述的方法,其特征在于,所述确定将该VNF部署于该服务器节点后对应的部署成本,包括:采用如下公式确定将该VNF部署于该服务器节点后对应的部署成本:

其中,r(s,a)表示将当前VNF部署于该服务器节点后对应的部署成本;N表示能够以虚拟机承载VNF的服务器节点的集合;V表示云边协同网络中节点的集合; 为预设第一二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点u∈N上; 为预设第三二进制变量,当 对表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1或fi,j+1对应的备份VNF部署在物理链路(u,v)上,且当 时表示服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为第五二进制变量,当 为1时表示SRi部署VNF导致服务器节点u从关闭状态进入了活跃状态;dtr(i,j)为传输时延,所述传输时延为服务器节点u∈V将服务链SRi中的fi,j需要处理的数据包传送到链路(u,v)所需的时间;dpp(u,v)为链路(u,v)的传播时延;dpr(i,j,u)为处理时延,所述处理时延为承载了fi,j的服务器节点u∈N对到来的数据包执行特定的网络功能所需的时间;dqq(i,j,u)为节点排队时延,所述节点排队时延为数据包滞留在服务器节点u∈N的等待时间;Pid(u)表示节点u∈V的空闲功耗;

Ppr(i,j,u)表示服务器节点u∈N在运行fi,j时产生的计算能耗;Pse(i,j,u,v)表示节点u在发送经过服务链的数据包时产生的功率消耗;Pre(i,j,v)表示节点u在接收经过服务链的数据包L(i,j‑1)时产生的功率消耗;s表示服务链状态;a表示将该VNF部署于该服务器节点的部署动作。

4.根据权利要求1所述的方法,其特征在于,在所述判断所确定的服务链部署方案是否满足预设的可靠性部署条件之后,还包括:如果所确定的服务链部署方案不满足预设的可靠性部署条件,计算所述待部署服务链所包括的未备份过的VNF对应的可靠性;

查找可靠性最低的VNF的前置VNF和后置VNF之间的部署路径中,是否存在满足预设部署资源约束调节和预设部署位置约束条件,且部署成本最小的服务器节点,作为目标服务器节点;

基于所述前置VNF、所述后置VNF和所述可靠性最低的VNF以及所述目标服务器节点,确定单路径备份部署策略的部署成本和多路径备份部署策略的部署成本;其中,所述单路径备份部署策略为:将所述可靠性最低的VNF对应的备份VNF部署到目标服务器节点,以替换所述备选部署策略中将所述可靠性最低的VNF部署到服务器节点的备份部署策略;所述多路径备份部署策略为:将所述可靠性最低的VNF对应的备份VNF部署到目标服务器节点的部署策略,与所述备选部署策略中将所述可靠性最低的VNF部署到服务器节点的部署策略共存的备份部署策略;

选择对应的部署成本较小的部署策略,并判断按照所述部署成本较小的部署策略部署VNF后得到的服务链,是否满足所述预设的可靠性条件;

若满足,则确定所述部署成本较小的部署策略为目标部署策略;

若不满足,将所述可靠性最低的VNF对应的备份VNF部署于所述目标服务器节点,返回所述计算所述待部署服务链所包括的未备份过的VNF对应的可靠性的步骤。

5.根据权利要求4所述的方法,其特征在于,所述基于所述前置VNF、所述后置VNF和所述可靠性最低的VNF以及所述目标服务器节点,确定单路径备份部署策略的部署成本和多路径备份部署策略的部署成本,包括:确定所述前置VNF和所述可靠性最低的VNF之间的第一备份服务器节点;其中,所述第一备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第一备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述前置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第一备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为第一总成本;

确定所述后置VNF和所述可靠性最低的VNF之间的第二备份服务器节点;其中,所述第二备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第二备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述后置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第二备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为第二总成本;

将较小的总成本确定为单路径备份部署策略的部署成本;

确定所述前置VNF、所述后置VNF和所述可靠性最低的VNF之间的第三备份服务器节点;

其中,所述第三备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第三备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述前置VNF的服务器节点、部署了所述后置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第三备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为多路径备份部署策略的部署成本。

6.根据权利要求1所述的方法,其特征在于,所述判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件,包括:若采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链满足以下公式,则确定采用所述备选部署策略对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,满足预设的可靠性条件:RA(i)≥R(i);

其中,RA(i)表示采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链可靠性;R(i)表示预设可靠性阈值;a1(i,j)表示服务链SRi中的fi,j的可靠性;A1(k)表示服务器节点k的可靠性; 为预设第六二进制变量,当对表示服务链SRi中的fi,j部署在服务器节点k上。

7.一种服务链部署装置,其特征在于,包括:

状态获取模块,用于获取待部署服务链的当前服务链状态,所述当前服务链状态包括:

待部署服务链当前部署状态和待部署服务器节点的当前网络资源状态;

策略确定模块,用于基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行虚拟网络功能VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;

判断模块,用于判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;

部署模块,用于如果满足,按照所述备选部署策略对待部署服务链进行VNF部署;

对应关系确定模块,用于采用如下方式确定所述对应关系:

获取所述目标服务链的服务链状态,作为第一服务链状态;

针对所述目标服务链包括的VNF,基于预设的部署动作确定规则确定出可部署该VNF的一个服务器节点;

判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件;

如果满足,确定将该VNF部署于该服务器节点后对应的部署成本,以及确定将该VNF部署于该服务器节点后得到的服务链的状态,作为第二服务链状态;

将所述第一服务链状态、该服务器节点的标识、该服务器节点对应的部署成本和所述第二服务链状态确定为一组状态转移样本;

基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系;

所述对应关系确定模块,具体用于若当前VNF部署于该服务器节点满足以下公式,则确定将当前VNF部署于该服务器节点满足预设部署资源约束条件和预设部署位置约束条件:其中,N表示能够以虚拟机承载VNF的服务器节点的集合;E表示服务器节点之间链路的集合;SRi表示第i条服务链; 表示服务链SRi中的所部署的第|Si|个VNF;Si为服务链SRi需要部署的VNF的数量;D(i,j)表示服务链SRi中每个VNF需要满足的计算资源需求;CRr(u)表示服务器节点u具有的计算资源; 为预设第一二进制变量,当 对表示服务链SRi中的fi,j部署在服务器节点u∈N上; 为预设第二二进制变量,当 对表示服务链SRi中的fi,j对应的备份VNF部署在服务器节点u∈N上; 为预设第三二进制变量,当 时表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1或fi,j+1对应的备份VNF部署在物理链路(u,v)上,且当 时服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为预设第四二进制变量,当时表示服务链SRi中的fi,j和fi,j对应的备份VNF之间的虚拟链路部署在(u,v)上;

W(i)表示服务链SRi具有的带宽资源需求;Br(u,v)表示链路(u,v)∈E的剩余带宽资源;Q为只起转发作用的交换机节点的集合;T为指定服务器节点的集合,所述指定服务器节点用于部署特定VNF。

说明书 :

一种服务链部署方法及装置

技术领域

[0001] 本发明涉及物联网应用技术领域,特别是涉及一种服务链部署方法及装置。

背景技术

[0002] 近些年来,随着智能家居、智能电网和车联网等物联网应用在日常生活的普及,物联网技术正以前所未有的速度进行发展。飞速发展的物联网急需一种高效、灵活的通信网络架构来处理其数量不断增长、需求多样化的物联网服务。
[0003] 目前,物联网服务主要是将NFV(Network Function Virtualization,网络功能虚拟化技术)与云计算技术、边缘计算技术相结合,构建一种CECIoT(cloud‑and‑edge‑collaborative IoT architecture,云边协同的物联网架构),可以通过综合的利用云和边缘的资源,为物联网流量以端到端的SFC(service function chain,服务功能链)的形式提供灵活的网络服务,以满足物联网的发展需求。其中,虚拟化后的网络功能被称为VNF(VirtualNetwork Functions,虚拟网络功能)。服务功能链SFC为一个确定的网络服务的实现方式,它是由一系列的VNF有序组成的。
[0004] 然而,目前的物联网服务在该云边协同的物联网架构下,服务链的部署仍然存在许多急需解决的问题,例如,在调度云边协同网络的资源来优化服务链部署过程中的端到端时延和能量消耗的同时,难以保障物联网服务的可靠性。

发明内容

[0005] 本发明实施例的目的在于提供一种服务链部署方法及装置,以实现优化服务链部署过程中的端到端时延和能量消耗的同时,保障物联网用户对服务的可靠性的基本需求。
[0006] 为了达到上述目的,本发明实施例提供了一种服务链部署方法,包括:
[0007] 获取待部署服务链的当前服务链状态,所述当前服务链状态包括:待部署服务链当前部署状态和待部署服务器节点的当前网络资源状态;
[0008] 基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行虚拟网络功能VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;
[0009] 判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;
[0010] 如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。
[0011] 进一步的,所述对应关系的确定方式,包括:
[0012] 获取所述目标服务链的服务链状态,作为第一服务链状态;
[0013] 针对所述目标服务链包括的VNF,基于预设的部署动作确定规则确定出可部署该VNF的一个服务器节点;
[0014] 判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件;
[0015] 如果满足,确定将该VNF部署于该服务器节点后对应的部署成本,以及确定将该VNF部署于该服务器节点后得到的服务链的状态,作为第二服务链状态;
[0016] 将所述第一服务链状态、该服务器节点的标识、该服务器节点对应的部署成本和所述第二服务链状态确定为一组状态转移样本;
[0017] 基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系。
[0018] 进一步的,所述基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系,包括:
[0019] 获取一组状态转移样本;
[0020] 将该组状态转移样本分别输入第一神经网络和第二神经网络,得到:第一神经网络输入出的该组状态转移样本对应的动作价值函数的预测值,以及第二神经网络输入出的该组状态转移样本对应的动作价值函数的真实值;其中,第一神经网络与第二神经网络的结构相同,所述动作价值函数用于表示采用各部署策略对服务链进行VNF部署的价值;
[0021] 基于所述真实值和所述预测值计算该组状态转移样本对应的损失值;
[0022] 若所述损失值大于预设损失阈值,则确定完成一次训练并调整第一神经网络的参数;若所述损失值不大于所述预设损失阈值,则确定完成一次训练;
[0023] 返回所述获取一组状态转移样本的步骤,直至完成预设次数的训练后,将第一神经网络的参数赋给第二神经网络;
[0024] 针对所述目标服务链的每个服务链状态,基于第一神经网络确定该服务链状态的多个部署策略对应的动作价值函数,并将动作价值函数的值最大的部署策略确定为该服务链状态对应的部署策略;
[0025] 判断采用所述目标服务链的每个服务链状态对应的部署策略,对服务链状态为该服务链状态的所述目标服务链进行VNF部署后得到的服务链,是否满足所述预设部署资源约束条件和预设部署位置约束条件;若均满足,确定完成一次迭代;若存在不满足,确定完成一次迭代;
[0026] 返回所述获取一组状态转移样本的步骤,直至迭代次数达到预设迭代次数后,确定第一神经网络为目标神经网络;
[0027] 针对所述目标服务链的每个服务链状态,基于所述目标神经网络确定该服务链状态的多个部署策略对应的动作价值函数,并将动作价值函数的值最大的部署策略确定为该服务链状态对应的部署策略。
[0028] 进一步的,所述判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件,包括:
[0029] 若当前VNF部署于该服务器节点满足以下公式,则确定将当前VNF部署于该服务器节点满足预设部署资源约束条件和预设部署位置约束条件:
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036] 其中,N表示能够以虚拟机承载VNF的服务器节点的集合;E表示服务器节点之间链路的集合;SRi表示第i条服务链; 表示服务链SRi中的所部署的第|Si|个VNF;Si为服务链SRi需要部署的VNF的数量;D(i,j)表示服务链SRi中每个VNF需要满足的计算资源需求;CRr(u)表示服务器节点u具有的计算资源; 为预设第一二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点u∈N上; 为预设第二二进制变量,当 时表示服务链SRi中的fi,j对应的备份VNF部署在服务器节点u∈N上; 为预设第三二进制变量,当 时表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1或fi,j+1对应的备份VNF部署在物理链路(u,v)上,且当 时服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为预设第四二进制变量,当时表示服务链SRi中的fi,j和fi,j对应的备份VNF之间的虚拟链路部署在(u,v)上;
W(i)表示服务链SRi具有的带宽资源需求;Br(u,v)表示链路(u,v)∈E的剩余带宽资源;Q为只起转发作用的交换机节点的集合;T为指定服务器节点的集合,所述指定服务器节点用于部署特定VNF。
[0037] 进一步的,所述确定将该VNF部署于该服务器节点后对应的部署成本,包括:
[0038] 采用如下公式确定将该VNF部署于该服务器节点后对应的部署成本:
[0039]
[0040] 其中,r(s,a)表示将当前VNF部署于该服务器节点后对应的部署成本;N表示能够以虚拟机承载VNF的服务器节点的集合;V表示云边协同网络中节点的集合; 为预设第一二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点u∈N上; 为预设第三二进制变量,当 时表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1或fi,j+1对应的备份VNF部署在物理链路(u,v)上,且当 时服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为第五二进制变量,当 为1时表示SRi部署VNF导致服务器节点u从关闭状态进入了活跃状态;dtr(i,j)为传输时延,所述传输时延为服务器节点u∈V将服务链SRi中的fi,j需要处理的数据包传送到链路(u,v)所需的时间;dpp(u,v)为链路(u,v)的传播时延;dpr(i,j,u)为处理时延,所述处理时延为承载了fi,j的服务器节点u∈N对到来的数据包执行特定的网络功能所需的时间;dqq(i,j,u)为节点排队时延,所述节点排队时延为数据包滞留在服务器节点u∈N的等待时间;Pid(u)表示节点u∈V的空闲功耗;Ppr(i,j,u)表示服务器节点u∈N在运行fi,j时产生的计算能耗;Pse(i,j,u,v)表示节点u在发送经过服务链的数据包时产生的功率消耗;Pre(i,j,v)表示节点u在接收经过服务链的数据包L(I,j‑1)时产生的功率消耗;s表示服务链状态;a表示将该VNF部署于该服务器节点的部署动作。
[0041] 进一步的,在所述判断所确定的服务链部署方案是否满足预设的可靠性部署条件之后,还包括:
[0042] 如果所确定的服务链部署方案不满足预设的可靠性部署条件,计算所述待部署服务链所包括的未备份过的VNF对应的可靠性;
[0043] 查找可靠性最低的VNF的前置VNF和后置VNF之间的部署路径中,是否存在满足预设部署资源约束调节和预设部署位置约束条件,且部署成本最小的服务器节点,作为目标服务器节点;
[0044] 基于所述前置VNF、所述后置VNF和所述可靠性最低的VNF以及所述目标服务器节点,确定单路径备份部署策略的部署成本和多路径备份部署策略的部署成本;其中,所述单路径备份部署策略为:将所述可靠性最低的VNF对应的备份VNF部署到目标服务器节点,以替换所述备选部署策略中将所述可靠性最低的VNF部署到服务器节点的备份部署策略;所述多路径备份部署策略为:将所述可靠性最低的VNF对应的备份VNF部署到目标服务器节点的部署策略,与所述备选部署策略中将所述可靠性最低的VNF部署到服务器节点的部署策略共存的备份部署策略;
[0045] 选择对应的部署成本较小的部署策略,并判断按照所述部署成本较小的部署策略部署VNF后得到的服务链,是否满足所述预设的可靠性条件;
[0046] 若满足,则确定所述部署成本较小的部署策略为目标部署策略;
[0047] 若不满足,将所述可靠性最低的VNF对应的备份VNF部署于所述目标服务器节点,返回所述计算所述待部署服务链所包括的未备份过的VNF对应的可靠性的步骤。
[0048] 进一步的,所述基于所述前置VNF、所述后置VNF和所述可靠性最低的VNF以及所述目标服务器节点,确定单路径备份部署策略的部署成本和多路径备份部署策略的部署成本,包括:
[0049] 确定所述前置VNF和所述可靠性最低的VNF之间的第一备份服务器节点;其中,所述第一备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第一备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述前置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第一备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为第一总成本;
[0050] 确定所述后置VNF和所述可靠性最低的VNF之间的第二备份服务器节点;其中,所述第二备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第二备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述后置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第二备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为第二总成本;
[0051] 将较小的总成本确定为单路径备份部署策略的部署成本;
[0052] 确定所述前置VNF、所述后置VNF和所述可靠性最低的VNF之间的第三备份服务器节点;其中,所述第三备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第三备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述前置VNF的服务器节点、部署了所述后置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第三备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为多路径备份部署策略的部署成本。
[0053] 进一步的,所述判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件,包括:
[0054] 若采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链满足以下公式,则确定采用所述备选部署策略对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,满足预设的可靠性条件:
[0055] RA(i)≥R(i);
[0056]
[0057]
[0058] 其中,RA(i)表示采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链可靠性;R(i)表示预设可靠性阈值;a1(i,j)表示服务链SRi中的fi,j的可靠性;A1(k)表示服务器节点k的可靠性; 为预设第六二进制变量,当时表示服务链SRi中的fi,j部署在服务器节点k上。
[0059] 为了达到上述目的,本发明实施例还提供了一种服务链部署装置,包括:
[0060] 状态获取模块,用于获取待部署服务链的当前服务链状态,所述当前服务链状态包括:待部署服务链当前部署状态和待部署服务器节点的当前网络资源状态;
[0061] 策略确定模块,用于基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行虚拟网络功能VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;
[0062] 判断模块,用于判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;
[0063] 部署模块,用于如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。
[0064] 进一步的,还包括:对应关系确定模块,用于采用如下方式确定所述对应关系:
[0065] 获取所述目标服务链的服务链状态,作为第一服务链状态;
[0066] 针对所述目标服务链包括的VNF,基于预设的部署动作确定规则确定出可部署该VNF的一个服务器节点;
[0067] 判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件;
[0068] 如果满足,确定将该VNF部署于该服务器节点后对应的部署成本,以及确定将该VNF部署于该服务器节点后得到的服务链的状态,作为第二服务链状态;
[0069] 将所述第一服务链状态、该服务器节点的标识、该服务器节点对应的部署成本和所述第二服务链状态确定为一组状态转移样本;
[0070] 基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系。
[0071] 为了达到上述目的,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0072] 存储器,用于存放计算机程序;
[0073] 处理器,用于执行存储器上所存放的程序时,实现上述任一所述服务链部署方法步骤。
[0074] 为了达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的服务链部署方法步骤。
[0075] 为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的服务链部署方法步骤。
[0076] 本发明实施例有益效果:
[0077] 采用本发明实施例提供的方法,获取待部署服务链的当前服务链状态,基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行虚拟网络功能VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。即通过采用本发明实施例提供的方法所确定的所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,在满足预设部署资源约束条件和预设部署位置约束条件的前提下,还能够满足预设的可靠性条件,实现了优化服务链部署过程中的端到端时延和能量消耗的同时,保障物联网用户对服务的可靠性的基本需求。
[0078] 当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

[0079] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0080] 图1为本发明实施例提供的服务链部署方法的一种流程图;
[0081] 图2为本发明实施例提供的确定对应关系的一种流程图;
[0082] 图3为本发明实施例提供的服务链部署方法的另一种流程图;
[0083] 图4为四种算法的部署成本示意图;
[0084] 图5为四种算法的端到端时延的示意图;
[0085] 图6为四种算法的功率消耗的示意图;
[0086] 图7为本发明实施例提供的服务链部署装置的一种流程图;
[0087] 图8为本发明实施例提供的服务链部署装置的另一种流程图;
[0088] 图9为本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0089] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
[0090] 本发明实施例可以应用于云边协同物联网场景下的云边协同网络。
[0091] 云边协同网络的结构G可表示为:G=(V,E),其中,V表示云边协同网络中节点的集合,E表示云边协同网络中服务器节点之间链路的集合。云边协同网络中的节点可包括两类节点:一类是能够以虚拟机承载VNF的服务器节点,另一类只起转发作用的交换机节点。N为能够以虚拟机承载VNF的服务器节点的集合,且 ;Q为只起转发作用的交换机节点的集合,且 ;且
[0092] 云边协同网络中的服务器节点可以根据所部署的位置划分为边缘计算服务器节点和云服务器节点,其中,F为边缘计算服务器节点的集合,C为云服务器节点的集合,且云边协同网络中的每一个服务器节点v(v∈N)都具有:一定的计算资源容量CR(v)(以CPU核数为计量单位),一定的处理能力PR(v)(代表其处理数据包的效率)和一定的可靠性A(v)。云边协同网络中的服务器节点之间每一条链路(u,v)都具有一定的带宽资源B(u,υ),其中,u和v均为云边协同网络中的服务器节点,且(u,v)∈E。
[0093] 本发明实施例中,可以用集合SR表示服务链的集合。每一条服务链可以由随机数量的VNF组成,可以用SRi表示第i条服务链,且 表示服务链SRi中的所部署的第|Si|个VNF;Si为服务链SRi需要部署的VNF的数量。
[0094] 每条服务链中的每个VNF都有需要满足的计算资源需求D(例如,服务链SRi中的每个VNF都有需要满足的计算资源需求为D(i,j))。部分特定的VNF可能只允许被部署在某些指定的服务器节点上,可以用T表示这类指定的服务器节点的集合。例如,若这部分特定的VNF只允许被部署在边缘计算服务器节点上,则可以有T=F。
[0095] 每一条服务链具有一定的带宽需求W,例如,服务链SRi具有一定的带宽需求W(i)。每一条服务链具有一个源点O,源点O代表服务链接入边缘网络的位置,且O∈F。例如,服务链SRi具有一个源点O(i),源点O(i)代表服务链SRi接入边缘网络的位置,且O(i)∈F。
[0096] 每条服务链均需要处理一定长度的数据包L,代表其要处理的任务。例如,对于服务链SRi,其需要处理的初始数据包长度为L(i,0),在经过第j个VNF处理后的数据包长度为L(i,j)。
[0097] 每个服务链还有一定的可靠性需求R,以保证服务链的服务的安全性。例如,服务链SRi具有可靠性需求R(i)。
[0098] 本发明实施例中可以规定如下多个二进制变量,以表示服务链在云边协同网络中的部署情况:
[0099] 为预设第一二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点u∈N上;
[0100] 为预设第一二二进制变量,当 时表示服务链SRi中的fi,j对应的备份VNF部署在服务器节点u∈N上;
[0101] 为预设第三二进制变量,当 时表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1(或fi,j+1对应的备份VNF)部署在物理链路(u,v)上,且当 时服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为预设第四二进制变量,当时表示服务链SRi中的fi,j和fi,j对应的备份VNF之间的虚拟链路部署在(u,v)上。
[0102] 服务链的端到端时延包括:传播时延dpp、传输时延dtr、处理时延dpr和节点排队时延dqq。其中:
[0103] 传播时延dpp取决于两个服务器节点之间的距离和服务器节点所处的网络层级;例如,链路(u,v)的传播时延dpp(u,v)取决于服务器节点u和服务器节点v之间的距离和服务器节点u与v所处的网络层级。
[0104] 传输时延dtr可以定义为服务链中的服务器节点将VNF需要处理的数据包传送到外向链路所需的时间,其大小取决于服务链中的VNF需要处理的数据包的长度和具有的带宽资源需求;例如,服务链SRi的传输时延dtr(i,j)可以定义为服务链SRi中的服务器节点u(u∈V)将fi,j需要处理的数据包L(i,j)传送到外向链路(u,v)所需的时间,可表示为:dtr(i,j)=L(i,j)/W(i)。
[0105] 处理时延dpr表示承载了VNF的服务器节点对接收的数据包执行特定的网络功能所需要的时间,其大小取决于所接收的数据包的长度、VNF的计算资源大小和服务器节点的处理能力;例如,处理时延dpr(i,j,u)表示承载了服务链SRi中fi,j的服务器节点u(u∈N)对接收的数据包执行特定的网络功能所需的时间,可表示为:
[0106]
[0107] 其中,L(i,j‑1)为服务链SRi中fi,j的服务器节点u(u∈N)接收的数据包的长度;PR(u)为服务器节点u具有的处理能力;D(i,j)为服务链SRi中的每个VNF的计算资源需求大小。
[0108] 节点排队时延dqq为数据包滞留在服务器节点的等待时间;其取决于服务链中的VNF部署到服务器节点之前,已经部署在服务器节点上的VNF的总处理时间;例如,服务链SRm中的节点排队时延dqq(i,j,u)代表数据包滞留在服务器节点u的等待时间,可表示为:
[0109]
[0110] 其中,SRm表示第m条服务链,处理时延dpr(m,n,u)为表示承载了服务链SRm中fm,n的服务器节点u(u∈N)对接收的数据包执行特定的网络功能所需的时间,fm,n为服务链SRm所部署的第n个VNF; 为预设第七二进制变量,当 时表示服务链SRm中的fm,n部署在服务器节点u∈N上。
[0111] 本发明实施例中,云边协同网络的能耗可以包括计算能耗和传输能耗。其中,计算能耗是指服务器节点处理服务链的数据包产生的能耗,传输能耗是指服务器节点发送和接收服务链的数据包时产生的能耗。
[0112] 本发明实施例中,可以定义服务器节点的三种状态:关闭状态、闲置状态和活跃状态,且服务器节点的各种状态之间的转换遵循以下四个状态转换规则:
[0113] 状态转换规则1(关闭状态转换至活跃状态):服务器节点处于关闭状态时的能耗为0,当服务器节点开始承载VNF后或开始承担传输服务链的数据包的任务后,服务器节点进入活跃状态;
[0114] 状态转换规则2(活跃状态转换至闲置状态):当活跃状态的服务器节点上的所有VNF都已被处理完毕、且服务器节点不再承担发送和接收服务链的数据包的任务后,服务器节点由活跃状态转换至闲置状态;服务器节点处于闲置状态时,会消耗固定数目的能量(称为空闲功耗),例如,可以用Pid(u)表示服务器节点u(u∈V)的空闲功耗;
[0115] 状态转换规则3(闲置状态转换至关闭状态):当闲置状态的服务器节点在预设闲置时间内没有承载VNF或没有承担传输服务链的数据包的任务后,该服务器节点就会从闲置状态转换至关闭状态;预设闲置时间可以根据实际应用情况进行设定,此处不做具体限定;例如,当闲置状态的服务器节点u在预设闲置时间tcold(u)内没有承载VNF或没有承担传输服务链的数据包的任务后,服务器节点u就会从闲置状态转换至关闭状态;
[0116] 状态转换规则4(闲置状态转换至活跃状态):当闲置状态的服务器节点承载新的VNF时或开始承担传输服务链的数据包的任务后,就会从闲置状态进入活跃状态;处于活跃状态的服务器节点的能耗不仅包括闲置能耗还包括计算能耗和传输能耗。
[0117] 服务器节点的计算能耗与要处理的数据包的长度和为VNF分配的计算资源等因素相关。例如,可以用以下公式表示服务器节点u(u∈N)在运行fi,j(VNF)时产生的计算能耗:
[0118]
[0119] 其中,Ppr(i,j,u)表示服务器节点u在运行fi,i(VNF)时产生的计算能耗;ppr(u)表示服务器节点u每单位的计算资源所使用的功率;L(i,j‑1)为fi,j的服务器节点u接收的数据包的长度;D(i,j)为fi,j的计算资源需求大小;R(u)为服务器节点u的可靠性。
[0120] 针对服务器节点的传输能耗,可以使用Pse(i,j,u,v)表示节点u在发送经过服务链的数据包时产生的功率消耗,可以使用Pre(i,j,u)表示节点u在接收经过服务链的数据包L(I,j‑1)时产生的功率消耗,计算公式如下:
[0121] Pse(i,j,u,v)=L(i,j‑1)·pse(u,v)
[0122] Pre(i,j,u)=L(i,j‑1)·pre(u)
[0123] 其中,pse(u,v)表示节点u发送单位长度的数据包到节点v时的功率;pre(u)表示节点u接收单位长度的数据包的功率。
[0124] 本发明实施例中,为了便于优化目标中能耗的计算,可以预设一个第八二进制变量 ,用于表示服务链SRi在部署VNF后服务器节点u的状态变化;当 为1时表示SRi部署VNF导致服务器节点u从关闭状态进入了活跃状态。
[0125] 本发明实施例中,可以认为每个VNF在被部署到了某个服务器节点后,就获得了该服务器节点的可靠性,即有 其中,a1(i,j)表示服务链SRi中的fi,j的可靠性;A1(k)表示服务器节点k的可靠性; 为预设第五二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点k上。
[0126] 如果VNF使用了对应的备份VNF,则可靠性应为:
[0127]
[0128] 其中A1(m)表示服务器节点m的可靠性,A1(n)表示服务器节点n的可靠性; 为预设第九二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点m上; 为预设第十二进制变量,当 时表示服务链SRi中的fi,j对应的备份VNF部署在服务器节点n上。
[0129] 本发明实施例中,可以采用如下公式实现对服务链部署的总能耗和时延的加权优化:
[0130]
[0131] 其中,mincost(i)为服务链SRi部署VNF的总能耗和时延的加权优化目标;wenergy为服务链SRi部署VNF的总能耗的权重,wdelay为服务链SRi部署VNF的时延的权重;
wenergy和wdelay可以根据实际应用进行设定,此处不做具体限定;N表示能够以虚拟机承载VNF的服务器节点的集合;V表示云边协同网络中节点的集合;SRi表示第i条服务链;
表示服务链SRi中的所部署的第|Si|个VNF;Si为服
务链SRi需要部署的VNF的数量。
[0132] 本发明实施例中,每一个VNF只能部署在一个服务器节点上,同一条服务链的每个VNF部署在不同的服务器节点上,每个VNF和其对应的备份VNF背书在不同的服务器节点上。
[0133] 为了在实现优化服务链部署过程中的端到端时延和能量消耗的同时,保障物联网用户对服务的可靠性的基本需求,本发明实施例提供了一种服务链部署方法及装置。图1为本发明实施例提供的服务链部署方法的一种流程,如图1所示,包括如下步骤:
[0134] 步骤101,获取待部署服务链的当前服务链状态,所述当前服务链状态包括:待部署服务链当前部署状态和待部署服务器节点的当前网络资源状态。
[0135] 步骤102,基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同。
[0136] 步骤103,判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件。
[0137] 步骤104,如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。
[0138] 采用本发明实施例提供的方法,获取待部署服务链的当前服务链状态,基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。即通过采用本发明实施例提供的方法所确定的所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,在满足预设部署资源约束条件和预设部署位置约束条件的前提下,还能够满足预设的可靠性条件,实现了优化服务链部署过程中的端到端时延和能量消耗的同时,保障物联网用户对服务的可靠性的基本需求。
[0139] 本发明实施例中,针对服务链部署定义了服务链状态、部署动作和部署成本等概念。具体的概念如下:
[0140] 服务链状态包括:服务链部署状态和服务器节点的网络资源状态。其中,服务器节点的网络资源状态包括服务器节点上可用的资源状态和服务器节点组成的链路上资源状态;服务链部署状态包括该服务链上已经部署的VNF的数量和已经部署的VNF的部署方案。可以采用下述公式表示服务链状态:
[0141]
[0142] 其中,s表示服务链状态;N表示能够以虚拟机承载VNF的服务器节点;hm表示已经部署的VNF的个数,dp(i)表示第i个VNF所选择部署的服务器节点,dp(i)为0时代表该VNF还未被部署;Rr表示服务器节点的剩余资源,Br表示链路(u,v)的剩余带宽资源;SRi表示第i条服务链。
[0143] 部署动作的定义为:将VNF部署到云边协同网络的一个服务器节点上。在部署服务链需要的VNF的过程中,每部署一个VNF之前,都需要为该VNF选择要部署的服务器节点,然后求解出该VNF到上一个已部署的VNF之间的部署成本最低的部署路径;直到该VNF部署失败或服务链所需要部署的所有VNF均被部署完毕后,确定完成一次部署。具体的,部署动作可以采用如下公式进行定义:
[0144] a∈T1(i,hm+1)
[0145] 其中,当前已经部署的VNF的个数为hm,在当前部署的VNF的基础上再部署一个VNF(即将部署的VNF的个数变为hm+1)时,部署动作a可以为部署动作集合T1中包括的i个部署动作的任何一个。
[0146] 部署成本可以定义为执行部署动作的成本的导数,具体可以采用如下公式表示:
[0147]
[0148] 其中,r(s,a)表示将当前VNF部署于该服务器节点后对应的部署成本; 为第五二进制变量,当 为1时表示SRi部署VNF导致服务器节点u从关闭状态进入了活跃状态;Pre(i,j,v)表示节点u在接收经过服务链的数据包L(I,j‑1)时产生的功率消耗;s表示服务链状态;a表示将该VNF部署于该服务器节点的部署动作。
[0149] 本发明实施例中,部署策略用于指导服务链处于某种服务链状态下时,应该执行π何种部署动作,以实现VNF的部署。可以用状态价值函数V (s)评估在服务链状态s下时,使用部署策略π对服务链进行VNF部署的价值:
[0150]
[0151] 其中,Eπ为期望值,γt为一个小于1的折扣系数,折扣系数γt越接近0,则表示越重t视短期价值,折扣系数γ越接近1则表示越重视长期价值;s(t+1)为:在采取部署动作a(t)将待部署VNF部署到服务链状态为s(t)的服务链后,得到的服务链的服务链状态。
[0152] 同时,本发明实施例中还可以用动作价值函数qπ(s,a)评估在服务链状态s下时,使用部署策略π对服务链进行VNF部署的价值(即评估在服务链状态s下时采取部署动作a的价值):
[0153]
[0154] 动作价值函数用来衡量针对某一状态下的服务链,执行某一部署动作的价值;状态价值函数用来服务链的某一服务链状态的价值。状态价值函数和动作价值函数之间的关系可以采用如下公式表示:
[0155]
[0156] 其中,π(a|s)是指在服务链状态为s情况下,依据部署策略π执行部署动作a的概率,A为部署动作的集合。
[0157] 本发明实施例中,部署VNF之后的服务链状态只与部署该VNF之前的服务链状态和针对该VNF所执行的部署动作有关。基于此,状态价值函数、动作价值函数可分别被表示为:
[0158]
[0159]
[0160] 其中, 表示在服务链状态s下执行部署动作a后,服务链状态跳转为s’的概率;π
π(s’/a’)是指在服务链状态为s’情况下,依据部署策略执行部署动作a’的概率;V (s’)为π
服务链状态为s’下的状态价值函数;q (s’,a’)为在服务链状态s’下,使用部署策略π对服务链进行VNF部署的动作价值函数;r(s,a,s’)为:在服务链状态s下使用部署策略π对服务链进行VNF部署的部署成本;S为服务链状态的集合;γ为一个小于1的折扣系数,折扣系数γ越接近0,则表示越重视短期价值,折扣系数γ越接近1则表示越重视长期价值。
[0161] 还可以定义最优状态价值函数V*(s)和最优动作价值函数q*(s,a):
[0162]
[0163]
[0164] 其中,最优状态价值函数V*(s)描述了处于某个服务链状态的长期最优化价值,即在该服务链状态下考虑到所有可能发生的部署动作,并且都挑选最优的部署动作来执行的*情况所对应的价值;最优动作价值函数q (s,a)描述了处于某个服务链状态并执行某个部署动作后所带来的长期最优价值,即在该服务链状态下执行某一特定部署动作后得到的服务链的所有可能处于的服务链状态,并且在这些所有可能处于的服务链状态选取最优部署* *
动作来执行所带来的长期价值;V (s’)为服务链状态为s’下的最优状态价值函数;q (s’,a’)为在服务链状态s’下,使用部署策略π对服务链进行VNF部署的最优动作价值函数。
[0165] 本发明实施例中,可以基于最优状态价值函数V*(s)和最优动作价值函数q*(s,a),*求解最佳的部署策略π ,最佳的部署策略π*应该满足公式: 和
,以及:
[0166]
[0167] 其中,π*(a|s)是指在服务链状态为s情况下,依据部署策略π执行部署动作a的概*率,A为部署动作的集合;otherwise为其他情况,即当a=最优动作函数中最大的值时π(a|*
s)=1,其他情况π(a|s)=0。
[0168] 图2为本发明实施例提供的确定对应关系的一种流程,如图2所示,上述步骤102中服务链状态与部署策略之间的对应关系可以采用如下步骤进行确定:
[0169] 步骤201,获取所述目标服务链的服务链状态,作为第一服务链状态。
[0170] 步骤202,针对所述目标服务链包括的VNF,基于预设的部署动作确定规则确定出可部署该VNF的一个服务器节点。
[0171] 预设的部署动作确定规则具体可以为贪婪算法规则。本步骤中,针对目标服务链包括的每个VNF,可以根据第一服务链状态,通过贪婪算法选择一个部署该VNF的服务器节点。
[0172] 具体的,基于第一服务链状态,可以针对该VNF生产一个随机值,如果所生成的随机值小于预设随机值阈值,则为该VNF随机选择一个部署动作;若所生成的随机值不要于预设随机值阈值,则为该VNF选择一个使得动作价值函数最大的部署动作。部署动作为将该VNF部署于所选择出的该VNF的服务器节点的操作。
[0173] 步骤203,判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件。
[0174] 本步骤中,若该VNF部署于该服务器节点满足以下公式,则确定将该VNF部署于该服务器节点满足预设部署资源约束条件和预设部署位置约束条件:
[0175]
[0176]
[0177]
[0178]
[0179]
[0180]
[0181] 其中,N表示能够以虚拟机承载VNF的服务器节点的集合;E表示服务器节点之间链路的集合;SRi表示第i条服务链; 表示服务链SRi中的所部署的第|Si|个VNF;Si为服务链SRi需要部署的VNF的数量;D(i,j)表示服务链SRi中每个VNF需要满足的计算资源需求;CRr(u)表示服务器节点u具有的计算资源; 为预设第一二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点u∈N上; 为预设第二二进制变量,当 时表示服务链SRi中的fi,j对应的备份VNF部署在服务器节点u∈N上; 为预设第三二进制变量,当 时表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1或fi,j+1对应的备份VNF部署在物理链路(u,v)上,且当 时服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为预设第四二进制变量,当时表示服务链SRi中的fi,j和fi,j对应的备份VNF之间的虚拟链路部署在(u,v)上;
W(i)表示服务链SRi具有的带宽资源需求;Br(u,v)表示链路(u,v)∈E的剩余带宽资源;Q为只起转发作用的交换机节点的集合;T为指定服务器节点的集合,所述指定服务器节点用于部署特定VNF。
[0182] 本步骤中,上述公式1‑公式6保证了该VNF只能部署在一个服务器节点上,同一条服务链的每个VNF部署在不同的服务器节点上。
[0183] 步骤204,如果满足,确定将该VNF部署于该服务器节点后对应的部署成本,以及确定将该VNF部署于该服务器节点后得到的服务链的状态,作为第二服务链状态。
[0184] 具体的,本步骤中可以采用如下公式确定将该VNF部署于该服务器节点后对应的部署成本:
[0185]
[0186] 其中,r(s,a)表示将当前VNF部署于该服务器节点后对应的部署成本;N表示能够以虚拟机承载VNF的服务器节点的集合;V表示云边协同网络中节点的集合; 为预设第一二进制变量,当 时表示服务链SRi中的fi,j部署在服务器节点u∈N上; 为预设第三二进制变量,当 时表示服务链SRi中的fi,j或fi,j对应的备份VNF,与fi,j+1或fi,j+1对应的备份VNF部署在物理链路(u,v)上,且当 时服务链SRi的源点和第一个VNF之间的虚拟链路部署在(u,v)上; 为第五二进制变量,当 为1时表示SRi部署VNF导致服务器节点u从关闭状态进入了活跃状态;dtr(i,j)为传输时延,所述传输时延为服务器节点u∈V将服务链SRi中的fi,j需要处理的数据包传送到链路(u,v)所需的时间;dpp(u,v)为链路(u,v)的传播时延;dpr(i,j,u)为处理时延,所述处理时延为承载了fi,j的服务器节点u∈N对到来的数据包执行特定的网络功能所需的时间;dqq(i,j,u)为节点排队时延,所述节点排队时延为数据包滞留在服务器节点u∈N的等待时间;Pid(u)表示节点u∈V的空闲功耗;Ppr(i,j,u)表示服务器节点u∈N在运行fi,j时产生的计算能耗;Pse(i,j,u,v)表示节点u在发送经过服务链的数据包时产生的功率消耗;Pre(i,j,v)表示节点u在接收经过服务链的数据包L(I,j‑1)时产生的功率消耗;s表示服务链状态;a表示将该VNF部署于该服务器节点的部署动作。
[0187] 步骤205,将所述第一服务链状态、该服务器节点的标识、该服务器节点对应的部署成本和所述第二服务链状态确定为一组状态转移样本。
[0188] 步骤206,基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系。
[0189] 本步骤组中,具体可以采用如下步骤A1‑步骤A9,基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系:
[0190] 步骤A1,获取一组状态转移样本;
[0191] 步骤A2,将该组状态转移样本分别输入第一神经网络和第二神经网络,得到:第一神经网络输入出的该组状态转移样本对应的动作价值函数的预测值,以及第二神经网络输入出的该组状态转移样本对应的动作价值函数的真实值;其中,第一神经网络与第二神经网络的结构相同,所述动作价值函数用于表示采用各部署策略对服务链进行VNF部署的价值;
[0192] 步骤A3,基于所述真实值和所述预测值计算该组状态转移样本对应的损失值;
[0193] 步骤A4,若所述损失值大于预设损失阈值,则确定完成一次训练并调整第一神经网络的参数;若所述损失值不大于所述预设损失阈值,则确定完成一次训练;
[0194] 步骤A5,返回所述获取一组状态转移样本的步骤,直至完成预设次数的训练后,将第一神经网络的参数赋给第二神经网络;
[0195] 步骤A6,针对所述目标服务链的每个服务链状态,基于第一神经网络确定该服务链状态的多个部署策略对应的动作价值函数,并将动作价值函数的值最大的部署策略确定为该服务链状态对应的部署策略;
[0196] 步骤A7,判断采用所述目标服务链的每个服务链状态对应的部署策略,对服务链状态为该服务链状态的所述目标服务链进行VNF部署后得到的服务链,是否满足所述预设部署资源约束条件和预设部署位置约束条件;若均满足,确定完成一次迭代;若存在不满足,确定完成一次迭代;
[0197] 步骤A8,返回所述获取一组状态转移样本的步骤,直至迭代次数达到预设迭代次数后,确定第一神经网络为目标神经网络;
[0198] 步骤A9,针对所述目标服务链的每个服务链状态,基于所述目标神经网络确定该服务链状态的多个部署策略对应的动作价值函数,并将动作价值函数的值最大的部署策略确定为该服务链状态对应的部署策略。
[0199] 本发明实施例中,可以利用QL(Q‑learning)算法确定部署策略。QL算法是一种off‑policy的强化学习算法,其主要基于动作价值函数来指导神经网络的的学习,并基于时序差分方法搜索最佳部署策略,即在不知道全局信息的情况下,在学习过程中利用后续服务链状态下的价值函数(包括:动作价值函数和状态价值函数)更新当前服务链状态下的价值函数。具体的,在神经网络的学习过程中,QL算法会基于当前的服务链状态s,使用贪婪算法选择部署动作a,然后得到部署成本r,并更新服务链状态进入新的服务链状态s’;基于新的服务链状态s’,QL算法可以直接使用贪婪算法从所有的部署动作中选择最优的部署动作a’,并采用如下的公式对动作价值函数进行更新:
[0200]
[0201] 其中,α为学习率,QL算法可以使用一个Q表格来记录所有部署状态和部署动作对应的动作价值函数;在神经网络的学习过程中,QL算法会不断的更新Q表格的值;在足够的学习步骤后,对于任意服务链状态可以基于Q表格确定出对应的部署动作使得长期价值最高,从而可以获得服务链从初始的服务链状态到结束时的服务链状态之间,长期价值最高的一系列部署动作的集合。
[0202] 本发明实施例中,可以使用深度学习算法中的神经网络拟合动作价值函数。具体的,可以利用DQL(Double Q‑learning)算法拟合动作价值函数。DQL算法包括经验回放和目标网络。其中,经验回放机制是指DQL算法在学习过程中会使用一个经验池来记录每一步学习的状态转换样本,在需要训练神经网络时就从经验池中随机抽取出一些状态转移样本来使用。经验回放机制使得DQL算法能够从先前的经验进行学习,并且能够减少各个状态转移样本间的相关性,从而可以更好地更新神经网络。目标网络机制同样能够消除状态转换样本间的相关性。DQL在学习过程中会使用两个结构完全相同但参数不同的神经网络:第一神经网络和第二神经网络。名为eval_net的第一神经网络用于预测动作价值函数的预测值。名为target_net的第二神经网络用于计算动作价值函数的真实值。
[0203] 上述步骤103中,判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件,具体可以包括:若采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链满足以下公式,则确定采用所述备选部署策略对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,满足预设的可靠性条件:
[0204] RA(i)≥R(i);
[0205]
[0206]
[0207] 其中,RA(i)表示采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链可靠性;R(i)表示预设可靠性阈值;a1(i,j)表示服务链SRi中的fi,j的可靠性;A1(k)表示服务器节点k的可靠性; 为预设第六二进制变量,当时表示服务链SRi中的fi,j部署在服务器节点k上。
[0208] 在一种可能的实施方式中,图3为本发明实施例提供的服务链部署方法的另一种流程,如图3所示,包括如下步骤:
[0209] 步骤301‑步骤303与步骤101‑步骤103分别对应相同,此处不再赘述。
[0210] 步骤304,如果所确定的服务链部署方案不满足预设的可靠性部署条件,计算所述待部署服务链所包括的未备份过的VNF对应的可靠性。
[0211] 步骤305,查找可靠性最低的VNF的前置VNF和后置VNF之间的部署路径中,是否存在满足预设部署资源约束调节和预设部署位置约束条件,且部署成本最小的服务器节点,作为目标服务器节点。
[0212] 本步骤中,可以在未进行过备份的VNF中选择可靠性最低的VNF,记为fselect;若fselect=0,则结束操作。若fselect≠0,则继续执行步骤306。
[0213] 步骤306,基于所述前置VNF、所述后置VNF和所述可靠性最低的VNF以及所述目标服务器节点,确定单路径备份部署策略的部署成本和多路径备份部署策略的部署成本。
[0214] 其中,所述单路径备份部署策略为:将所述可靠性最低的VNF对应的备份VNF部署到目标服务器节点,以替换所述备选部署策略中将所述可靠性最低的VNF部署到服务器节点的备份部署策略。所述多路径备份部署策略为:将所述可靠性最低的VNF对应的备份VNF部署到目标服务器节点的部署策略,与所述备选部署策略中将所述可靠性最低的VNF部署到服务器节点的部署策略共存的备份部署策略。
[0215] 例如,若以fx表示需要备份的VNF,则单路径备份部署策略是指求解fx和其邻接的VNF之间的部署成本最低的路径来替代原始路径,并将备份VNF部署在替代原始路径的路径上。单路径备份部署策略引入的能耗较小。而多路径备份部署策略则是指在保留原始路径的基础上,在fx的前置VNF和后置VNF之间额外求解一条与成本最小的路径,然后将备份VNF部署到这条成本最小的路径上。使用多路径备份部署策略引入的时延会比较小。
[0216] 本发明实施例中,为了减少备份VNF引入的时延和能耗,可以比较确定单路径备份部署策略的部署成本和多路径备份部署策略的部署成本,为备份VNF选择更优的备份部署策略。
[0217] 本步骤中,可以采用步骤B1‑步骤B4所述的方法,基于所述前置VNF、所述后置VNF和所述可靠性最低的VNF以及所述目标服务器节点,确定单路径备份部署策略的部署成本和多路径备份部署策略的部署成本:
[0218] 步骤B1,确定所述前置VNF和所述可靠性最低的VNF之间的第一备份服务器节点。
[0219] 其中,所述第一备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第一备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述前置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第一备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为第一总成本。
[0220] 步骤B2,确定所述后置VNF和所述可靠性最低的VNF之间的第二备份服务器节点。
[0221] 其中,所述第二备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第二备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述后置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第二备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为第二总成本。
[0222] 步骤B3,将较小的总成本确定为单路径备份部署策略的部署成本。
[0223] 步骤B4,确定所述前置VNF、所述后置VNF和所述可靠性最低的VNF之间的第三备份服务器节点;其中,所述第三备份服务器节点满足:将所述待部署服务链中所述可靠性最低的VNF对应的备份VNF,部署于所述第三备份服务器节点后得到的服务链,满足预设部署资源约束条件和预设部署位置约束条件;并计算部署了所述前置VNF的服务器节点、部署了所述后置VNF的服务器节点、部署了所述可靠性最低的VNF的服务器节点和所述第三备份服务器节点之间的路径成本,与部署所述可靠性最低的VNF对应的备份VNF的部署成本之和,作为多路径备份部署策略的部署成本。
[0224] 步骤307,选择对应的部署成本较小的部署策略,并判断按照所述部署成本较小的部署策略部署VNF后得到的服务链,是否满足所述预设的可靠性条件。
[0225] 具体的,若采用对应的部署成本较小的部署策略部署VNF后得到的服务链满足以下公式,则确定满足预设的可靠性条件:
[0226] RA(i)≥R(i);
[0227]
[0228]
[0229] 如果VNF使用了对应的备份VNF,则可靠性应为:
[0230]
[0231] 步骤308,若满足,则确定所述部署成本较小的部署策略为目标部署策略。
[0232] 本发明实施例中,可以用所确定的目标部署策略替换所述备选部署策略,对待部署服务链进行VNF部署。
[0233] 步骤309,若不满足,将所述可靠性最低的VNF对应的备份VNF部署于所述目标服务器节点,返回所述计算所述待部署服务链所包括的未备份过的VNF对应的可靠性的步骤。
[0234] 采用本发明实施例提供的方法,以最优化云边协同物联网场景下服务链部署的能耗和时延为优化目标,以服务链的资源需求、可靠性需求等为基本的约束条件,确定出了一种服务链部署策略,实现了在优化服务链部署过程中的端到端时延和能量消耗的同时,保障物联网用户对服务的可靠性的基本需求。
[0235] 下面为本发明实施例采用Python语言进行仿真验证的实施例:
[0236] 参见表1,展示了服务链以及云边协同网络的各种参数。
[0237] 表1:仿真的参数设置
[0238]
[0239] 本发明实施例选取了三种现有的算法与本发明实施例提供的DQL+MPB算法进行对比,求解服务链的部署策略。第一种算法为现有的TS+MMB(tabu search+multimode backup,禁忌搜索算法);第二种算法为现有的DQL+SPB(deep Q‑learning+single‑path backup)算法,其在备份步骤中将优先使用单路径备份部署策略,以是降低备份的能耗;第三种算法现有的DQL+MPB(deep Q‑learning+multi‑path backup)算法,DQL+MPB算法在备份步骤中将优先使用多路径备份部署策略,以是降低备份的时延。
[0240] 在进行四种算法的性能对比之前,我们测试了优化目标中能耗权重和时延权重对算法的性能影响,可以发现能耗和时延权重各为0.4和0.6时,本发明实施例提供的DQL+MMB算法可以更均衡的优化能耗和时延。具体的仿真结果如下所示:
[0241] 第一点,可以对比四种算法的部署成本。图4为四种算法的部署成本示意图。如图4所示,本发明实施例提供的DQL+MMB算法可以更均衡的优化能耗和时延能取得最低的部署成本。当服务链请求个数数量到达200时,DQL+MMB算法比TS+MMB算法的部署成本低出16.7%,这是因为DQL+MMB算法能够更有效的学习服务链部署策略和部署成本之间的数学关系,并且在VNF备份阶段中,为备份VNF选择了单路径备份部署策略和多路径备份部署策略中成本更低的模式。
[0242] 第二点,对比四种算法的端到端时延。图5为四种算法的端到端时延的示意图。如图5所示,四种算法的端到端时延都随着服务链请求的个数增加而增加,而本发明实施例提供的DQL+MMB算法的时延总是略微高于DQL+MPB算法。这是因为DQL+MPB算法在备份阶段中总是使用时延表现更好的多路径备份模式进行备份,而DQL+MMB算法则更加追求时延和能耗的均衡优化。
[0243] 第三点,对比四种算法的功率消耗表现。图6为四种算法的功率消耗的示意图。如图6所示,TS+MMB算法和DQL+MPB的算法的功率消耗明显高于另外两种算法,这是因为TS+MMB算法所使用的禁忌搜索算法只是通过连续的搜索来优化服务链部署策略的成本,而没有系统性的学习部署成本与部署策略间的数学关系,而DQL+MPB算法在VNF备份阶段消耗了更多的功率,因为其使用的多路径备份部署策略会占用更加多的服务器节点和链路。我们还可以观察到,所有算法的功率消耗曲线都会呈现一定的波动。导致这种波动的原因是:云边协同网络中的服务器节点在部署过程中总会重复的开启和关闭,而转换产生的空闲功率消耗在节点的总功率消耗中又占据了相当大的一部分,这是难以避免的。
[0244] 基于同一发明构思,根据本发明上述实施例提供的服务链部署方法,相应地,本发明另一实施例还提供了一种服务链部署装置,其结构示意图如图7所示,具体包括:
[0245] 状态获取模块701,用于获取待部署服务链的当前服务链状态,所述当前服务链状态包括:待部署服务链当前部署状态和待部署服务器节点的当前网络资源状态;
[0246] 策略确定模块702,用于基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;
[0247] 判断模块703,用于判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;
[0248] 部署模块704,用于如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。
[0249] 进一步的,参见图8,上述装置还包括:对应关系确定模块801,用于采用如下方式确定所述对应关系:
[0250] 获取所述目标服务链的服务链状态,作为第一服务链状态;
[0251] 针对所述目标服务链包括的VNF,基于预设的部署动作确定规则确定出可部署该VNF的一个服务器节点;
[0252] 判断将该VNF部署于该服务器节点后得到的服务链,是否满足所述预设部署资源约束条件和所述预设部署位置约束条件;
[0253] 如果满足,确定将该VNF部署于该服务器节点后对应的部署成本,以及确定将该VNF部署于该服务器节点后得到的服务链的状态,作为第二服务链状态;
[0254] 将所述第一服务链状态、该服务器节点的标识、该服务器节点对应的部署成本和所述第二服务链状态确定为一组状态转移样本;
[0255] 基于各组状态转移样本训练目标神经网络,并根据所训练的目标神经网络确定服务链状态与部署策略之间的对应关系。
[0256] 采用本发明实施例提供的装置,获取待部署服务链的当前服务链状态,基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。即通过采用本发明实施例提供的装置所确定的所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,在满足预设部署资源约束条件和预设部署位置约束条件的前提下,还能够满足预设的可靠性条件,实现了优化服务链部署过程中的端到端时延和能量消耗的同时,保障物联网用户对服务的可靠性的基本需求。
[0257] 本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
[0258] 存储器903,用于存放计算机程序;
[0259] 处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
[0260] 获取待部署服务链的当前服务链状态,所述当前服务链状态包括:待部署服务链当前部署状态和待部署服务器节点的当前网络资源状态;
[0261] 基于所述当前服务链状态,根据预先确定的服务链状态与部署策略之间的对应关系,确定所述当前服务链状态对应的部署策略,作为备选部署策略;其中,所述对应关系用于指示采用部署策略对目标服务链进行VNF部署后,使得所述目标服务链满足预设部署资源约束条件和预设部署位置约束条件,所述目标服务链的服务链状态与该部署策略对应的服务链状态相同;
[0262] 判断采用所述备选部署策略,对服务链状态为所述当前服务链状态的服务链进行VNF部署后得到的服务链,是否满足预设的可靠性条件;
[0263] 如果满足,按照所述备选部署策略对待部署服务链进行VNF部署。
[0264] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0265] 通信接口用于上述电子设备与其他设备之间的通信。
[0266] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non‑Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0267] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0268] 在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一服务链部署方法的步骤。
[0269] 在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一服务链部署方法。
[0270] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0271] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0272] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0273] 以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。