一种跨域SFC的编排方法、装置、电子设备及存储介质与流程

文档序号:18523109发布日期:2019-08-24 09:58阅读:232来源:国知局
一种跨域SFC的编排方法、装置、电子设备及存储介质与流程

本发明涉及通信技术领域,特别是涉及一种跨域sfc的编排方法、装置、电子设备及存储介质。



背景技术:

随着通信技术的快速发展,网络规模的不断壮大以及业务的不断扩展,为了完成网络中相应的服务,网络中流量需要按符合特定顺序的网络功能按次序处理,sfc(servicefunctionchains,业务功能链)定义了网络功能处理的顺序。实际应用中,网络运营商需要将流量引导到专有硬件网络功能来完成sfc对应的服务,但传统专有设备的网络功能在网络灵活性,可扩展性,可管理型和运营效率方面都表现出了明显的局限性,使得nfv(networkfunctionsvirtualization,网络功能虚拟化)应运而生。nfv是一种新的网络架构,将网络功能从专有硬件设备中解耦,以vnf(virtualizednetworkfunction,虚拟网络功能)的形式运行在通用设备上。

随着云计算和大数据的广泛应用,分布于不同地理位置的多idcn(inter-dcnetwork,数据中心网络)已被广泛部署。通过在多idcn中部署基于nfv的sfc,使得用户可以灵活地使用数据中心的计算资源、网络资源和存储资源等,并实现经济快捷的用户业务部署。尽管在多idcn中部署sfc具有很大优势,但跨数据中心编排sfc是当前sfc编排的一项挑战。

目前针对sfc编排的方法为:针对所有的sfc,基于sfc中vnf类型的相关性,对待编排的多条sfc逐一进行网络功能类型的遍历整合,直至将所有待编排sfc整合到一张或多张服务功能图中,该服务功能图包含所有待编排sfc请求的网络功能序列,然后,选择规模最大的服务功能图,对该服务功能图进行拓扑排序,进一步选择带宽需求量最低的网络功能顺序,使用最短路径算法将待编排sfc的网络功能依次部署到底层网络中。

然而,实际应用中,sfc通常需要部署在不同地理位置分布的数据中心上以满足sfc的性能需求或位置约束,例如,“代理功能”和“缓存功能”应该部署在企业网络附近的数据中心上,“数据包过滤器”应该部署在靠近流量源头的数据中心上等。现有的针对sfc编排的方法,通常基于sfc中vnf类型的相关性,将待编排sfc整合到一张或多张服务功能图中,以实现对sfc的编排。但是,当待编排的sfc数量较多时,整合后的服务功能图中,可能会出现待编排sfc中的前续功能节点与后续功能节点不相邻的情况,也即,前续功能节点与后续功能节点可能出现跨域情况,造成前续功能节点与后续功能节点之间的跨域带宽开销增大,导致编排后sfc的跨域带宽开销增大。



技术实现要素:

本发明实施例的目的在于提供一种跨域sfc的编排方法、装置、电子设备及存储介质,以减少编排后sfc的跨域带宽开销。具体技术方案如下:

第一方面,本发明实施例提供了一种跨域sfc的编排方法,所述方法包括:

获取多条待编排的业务功能链sfc以及多个数据中心节点,每条所述sfc中均包括多个网络功能节点,所述数据中心节点用于部署所述sfc中的网络功能节点,一个所述网络功能节点部署于一个所述数据中心节点中;

基于不同网络功能节点部署于不同数据中心节点时所产生的虚拟网络功能vnf开销和带宽开销,确定将不同网络功能节点部署于不同数据中心节点中的初始概率,并基于所确定的多个所述初始概率构建初始概率集合;

基于第一状态转移至第二状态所确定的转移概率,构建转移概率矩阵;所述第一状态为将sfc中第一网络功能节点部署于第一数据中心节点中的过程所对应的状态,所述第二状态为将sfc中第二网络功能节点部署于第二数据中心节点中的过程所对应的状态,所述第二网络功能节点为所述第一网络功能节点的相邻节点;

基于第三状态下输出sfc中第三网络功能节点对应的功能类型的输出概率,构建输出概率矩阵;所述第三状态为将所述sfc中第三网络功能节点部署于第三数据中心节点中的过程所对应的状态;

基于所构建的所述初始概率集合、所述转移概率矩阵、以及所述输出概率矩阵,构建隐马尔可夫模型;

利用所述隐马尔可夫模型中的所述初始概率、所述转移概率以及所述输出概率,计算将所述sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于所述隐状态概率对所述多条sfc中每一条sfc进行编排,获得各所述sfc对应的隐状态子序列,得到所述多条sfc对应的多个隐状态子序列;所述隐状态子序列中包含的元素为:所述sfc中网络功能节点所部署的数据中心节点。

可选地,利用第一预设表达式,确定将所述不同网络功能节点部署于所述不同数据中心节点中的初始概率;

利用第二预设表达式,确定所述第一状态转移至所述第二状态的转移概率;

利用第三预设表达式,确定所述第三状态下输出sfc中所述第三网络功能节点对应的功能类型的输出概率;

所述第一预设表达式为:

式中,πm表示将所述网络功能节点部署于第m个数据中心节点的初始概率,m表示数据中心节点的个数,表示第m个数据中心节点中的第s个vnf实例,表示将第一个网络功能节点部署于第m个数据中心节点中的第s个vnf实例所产生的开销,表示将起始网络功能节点部署于起始数据中心节点,第一个网络功能节点部署于第m个数据中心节点所产生的转移带宽开销,01表示sfc的起始网络功能节点到第一个网络功能节点的状态转移,σm表示从起始数据中心节点到第m个数据中心节点的转移;

所述第二预设表达式为:

式中,表示状态转移至状态的转移概率,状态表示将第i-1个网络功能节点部署于第n个数据中心节点中的过程所对应的状态,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示将第(i-1)个网络功能节点部署于数据中心节点n,第i个网络功能节点部署于数据中心m的转移带宽开销,(i-1)i表示第(i-1)个网络功能节点到第i个网络功能节点的转移,nm表示从第n个数据中心节点到第m个数据中心节点的转移,表示数据中心节点n到数据中心节点m的单位带宽费用,n表示数据中心节点的网络拓扑数量,表示第p条sfc的第(i-1)个网络功能节点与第i个网络功能节点之间的请求带宽量;

所述第三预设表达式为:

式中,表示状态下输出网络功能类型的概率,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示第p条sfc的第i个网络功能节点的功能类型,表示状态下不输出网络功能类型的概率,表示将第i个网络功能节点部署于第m个数据中心节点中的第s个vnf实例所产生的开销,表示第m个数据中心节点中的第s个vnf实例的可靠性,表示第m个数据中心节点中的第s个vnf实例的功能类型。

可选地,所述多条待编排的sfc为sfc集合;所述利用所述隐马尔可夫模型中的所述初始概率、所述转移概率以及所述输出概率,计算将所述sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于所述隐状态概率对所述多条sfc中每一条sfc进行编排,获得各所述sfc对应的隐状态子序列,得到所述多条sfc对应的多个隐状态子序列为:

利用所述隐马尔可夫模型中的所述初始概率、所述转移概率以及所述输出概率,计算将所述sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于所述隐状态概率对所述多条sfc中每一条sfc进行编排,获得各所述sfc对应的隐状态子序列,得到所述sfc集合对应的隐状态序列集合。

可选地,所述利用所述隐马尔可夫模型中的所述初始概率、所述转移概率以及所述输出概率,计算将所述sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于所述隐状态概率对所述多条sfc中每一条sfc进行编排,获得各所述sfc对应的隐状态子序列,得到所述sfc集合对应的隐状态序列集合的步骤,包括:

判断所述sfc集合中是否存在待编排sfc;

如果所述sfc集合中存在待编排sfc,则选择所述sfc集合中最长的sfc作为当前编排sfc;

利用所述隐马尔可夫模型中的所述初始概率、所述转移概率以及所述输出概率,计算将所述当前编排sfc中每一网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于所述隐状态概率对所述当前编排sfc进行编排,获得所述当前编排sfc对应的隐状态子序列;

如果所述sfc集合中不存在待编排sfc,则输出所述sfc集合对应的隐状态序列集合。

可选地,所述利用所述隐马尔可夫模型中的所述初始概率、所述转移概率以及所述输出概率,计算将所述当前编排sfc中每一网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于所述隐状态概率对所述当前编排sfc进行编排,获得所述当前编排sfc对应的隐状态子序列的步骤,包括:

判断所述当前编排sfc是否编排完成;

如果所述当前编排sfc未编排完成,则判断所述当前编排sfc的当前编排网络功能节点是否为所述当前编排sfc的第一个网络功能节点;

如果所述当前编排sfc的当前编排网络功能节点是所述当前编排sfc的第一个网络功能节点,则基于所述隐马尔可夫模型中的所述初始概率,计算将该当前编排网络功能节点部署于每一数据中心节点中的初始隐状态概率;

如果所述当前编排sfc的当前编排网络功能节点不是所述当前编排sfc的第一个网络功能节点,则利用所述隐马尔可夫模型中的所述转移概率以及所述输出概率,计算将该当前编排网络功能节点部署于每一数据中心节点中的最大隐状态概率,并记录获得所述最大隐状态概率对应的前置数据中心节点的位置;

将所述当前编排sfc的当前编排网络功能节点的下一网络功能节点,作为所述当前编排sfc的当前编排网络功能节点,执行判断所述当前编排sfc是否编排完成的步骤;

如果所述当前编排sfc编排完成,则将所述当前编排sfc的末尾网络功能节点作为当前网络功能节点,选择使所述当前网络功能节点的隐状态概率最大对应的第四数据中心节点部署所述当前网络功能节点,并将所述第四数据中心节点存储于所述当前编排sfc对应的隐状态子序列中;

将使所述当前网络功能节点的隐状态概率最大对应的前置数据中心节点,确定为所述当前网络功能节点的前一网络功能节点所对应的第五数据中心节点,在所述第五数据中心节点中部署所述当前网络功能节点的前一网络功能节点,并将所述第五数据中心节点存储于所述当前编排sfc对应的隐状态子序列中,将所述当前网络功能节点的前一网络功能节点作为当前网络功能节点;

判断所述当前网络功能节点的前一网络功能节点是否为所述当前编排sfc的第一个网络功能节点;

如果所述当前网络功能节点的前一网络功能节点不是所述当前编排sfc的第一个网络功能节点,则执行将使所述当前网络功能节点的隐状态概率最大对应的前置数据中心节点,确定为所述当前网络功能节点的前一网络功能节点所对应的第五数据中心节点的步骤;

如果所述当前网络功能节点的前一网络功能节点是所述当前编排sfc的第一个网络功能节点,则将所述当前编排sfc从所述sfc集合中删除。

可选地,所述方法还包括:

基于所述隐状态序列集合、编排后各所述sfc对应的可靠性值以及所述隐状态序列集合中各隐状态子序列对应的sfc中每一网络功能节点所对应的vnf的成本效益值,对所述vnf进行备份。

可选地,所述基于所述隐状态序列集合、编排后各所述sfc对应的可靠性值以及所述隐状态序列集合中各隐状态子序列对应的sfc中每一网络功能节点所对应的vnf的成本效益值,对所述vnf进行备份的步骤,包括:

遍历所述隐状态序列集合中每一隐状态子序列,将该隐状态子序列所对应的sfc作为当前sfc;

计算所述当前sfc的可靠性值;

判断所述当前sfc的可靠性值是否小于预设可靠性值;

当所述当前sfc的可靠性值小于预设可靠性值时,将所述当前sfc放置于第一集合中,并将经过所述当前sfc的vnf放置于第二集合中;

判断所述第一集合是否为空;

当所述第一集合不为空时,计算所述第二集合中每一vnf的成本效益值;

对最大成本效益值对应的vnf进行备份;

计算备份后所述第一集合中每一sfc的可靠性值;

如果备份后所述第一集合中sfc的可靠性值不小于预设可靠性值,则将该sfc从所述第一集合中删除,并执行所述判断所述第一集合是否为空的步骤。

第二方面,本发明实施例提供了一种跨域sfc的编排装置,所述装置包括:

获取模块,用于获取多条待编排的业务功能链sfc以及多个数据中心节点,每条所述sfc中均包括多个网络功能节点,所述数据中心节点用于部署所述sfc中的网络功能节点,一个所述网络功能节点部署于一个所述数据中心节点中;

第一构建模块,用于基于不同网络功能节点部署于不同数据中心节点时所产生的虚拟网络功能vnf开销和带宽开销,确定将不同网络功能节点部署于不同数据中心节点中的初始概率,并基于所确定的多个所述初始概率构建初始概率集合;

第二构建模块,用于基于第一状态转移至第二状态所确定的转移概率,构建转移概率矩阵;所述第一状态为将sfc中第一网络功能节点部署于第一数据中心节点中的过程所对应的状态,所述第二状态为将sfc中第二网络功能节点部署于第二数据中心节点中的过程所对应的状态,所述第二网络功能节点为所述第一网络功能节点的相邻节点;

第三构建模块,用于基于第三状态下输出sfc中第三网络功能节点对应的功能类型的输出概率,构建输出概率矩阵;所述第三状态为将所述sfc中第三网络功能节点部署于第三数据中心节点中的过程所对应的状态;

第四构建模块,用于基于所构建的所述初始概率集合、所述转移概率矩阵、以及所述输出概率矩阵,构建隐马尔可夫模型;

编排模块,用于利用所述隐马尔可夫模型中的所述初始概率、所述转移概率以及所述输出概率,计算将所述sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于所述隐状态概率对所述多条sfc中每一条sfc进行编排,获得各所述sfc对应的隐状态子序列,得到所述多条sfc对应的多个隐状态子序列;所述隐状态子序列中包含的元素为:所述sfc中网络功能节点所部署的数据中心节点。

第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的一种跨域sfc的编排方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的一种跨域sfc的编排方法。

本发明实施例提供的一种跨域sfc的编排方法、装置、电子设备及存储介质,因hmm的隐藏状态不能直接观察到,但可以通过可观察序列观察到,每个可观察序列都是通过概率密度分布表现为各种状态的,每一个可观察序列是由一个具有相应概率密度分布的状态序列产生,本发明实施例中,将跨域sfc的编排建模成隐马尔可夫模型,再利用隐马尔可夫模型,对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,因是基于计算得到的将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,对sfc的网络功能节点进行部署,实现sfc的编排,可以降低编排后sfc的跨域带宽开销,进而减少sfc编排后所消耗的带宽资源。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的一种跨域sfc的编排方法的流程示意图;

图2为本发明实施例提供的一种对sfc进行编排的实施方式流程示意图;

图3为图2中s203的一种实施方式流程示意图;

图4为本发明实施例提供的一种sfc结构示意图;

图5为本发明实施例提供的一种对vnf进行备份的实施方式流程示意图;

图6a为本发明实施例提供的vnf开销与sfc需求量关系仿真图;

图6b为本发明实施例提供的跨域带宽开销与sfc需求量关系仿真图;

图6c为本发明实施例提供的备份开销与sfc需求量关系仿真图;

图6d为本发明实施例提供的总开销与sfc需求量关系仿真图;

图7为本发明实施例提供的一种跨域sfc的编排装置的结构示意图;

图8为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

如图1所示,图1为本发明实施例提供的一种跨域sfc的编排方法的流程示意图,该方法可以包括:

s101,获取多条待编排的业务功能链sfc以及多个数据中心节点。

本发明实施例中,对sfc进行编排时,可以获取多条待编排的sfc以及多个数据中心节点。其中,每条sfc中均包括多个网络功能节点,数据中心节点用于部署sfc中的网络功能节点,一个网络功能节点部署于一个数据中心节点中,一个数据中心节点表示一个数据中心网络。

s102,基于不同网络功能节点部署于不同数据中心节点时所产生的vnf开销和带宽开销,确定将不同网络功能节点部署于不同数据中心节点中的初始概率,并基于所确定的多个初始概率构建初始概率集合。

实际应用中,将网络功能节点部署于数据中心节点时,需要创建vnf实例,进而将网络功能节点部署于所创建的vnf实例上,进而会产生vnf开销。示例性的,vnf实例可以是vfw(virtualizedfirewall,虚拟防火墙)、vlb(virtualizedloadbalance,虚拟流量均衡器)等。不同数据中心节点之间的网络进行数据交互时,需要占用相应的带宽,使得不同网络功能节点部署于不同数据中心节点时会产生相应的带宽开销。

因隐马尔可夫模型可以根据已知的状态序列计算概率最大的隐藏状态序列,而sfc的编排过程中,sfc中网络功能节点的序列是已知,需要得到的网络功能节点所部署的位置序列是未知的,因而本发明实施例中,将跨域sfc的编排问题建模成一个隐马尔可夫模型。基于不同网络功能节点部署于不同数据中心节点时所产生的vnf开销和带宽开销,确定将不同网络功能节点部署于不同数据中心节点中的初始概率。

作为本发明实施例一种可选的实施方式,可以利用第一预设表达式,确定将不同网络功能节点部署于不同数据中心节点中的初始概率,该第一预设表达式可以为:

式中,πm表示将网络功能节点部署于第m个数据中心节点的初始概率,m表示数据中心节点的个数,表示第m个数据中心节点中的第s个vnf实例,表示将第一个网络功能节点部署于所产生的开销,表示将起始网络功能节点部署于起始数据中心节点,第一个网络功能节点部署于第m个数据中心节点所产生的转移带宽开销,01表示sfc的起始网络功能节点到第一个网络功能节点的状态转移,σm表示从起始数据中心节点到第m个数据中心节点的转移。

在确定将不同网络功能节点部署于不同数据中心节点中的初始概率之后,可以基于所确定的多个初始概率构建初始概率集合。示例性的,所构建的初始概率集合可以表示为:π={π1,π2,…πm},其中,πm表示将网络功能节点部署于第m个数据中心节点的初始概率。

s103,基于第一状态转移至第二状态所确定的转移概率,构建转移概率矩阵。

本发明实施例中,可以确定第一状态转移至第二状态的转移概率,再基于所确定的转移概率,构建转移概率矩阵。其中,第一状态为将sfc中第一网络功能节点部署于第一数据中心节点中的过程所对应的状态,第二状态为将sfc中第二网络功能节点部署于第二数据中心节点中的过程所对应的状态,第二网络功能节点为第一网络功能节点的相邻节点。本发明实施例中,sfc中网络功能节点的顺序是可观察序列,将sfc中的网络功能节点部署的数据中心节点是不能直接观察到的,但可以通过可观察序列的中间转化,表现为各种状态。示例性的,可以将sfc中第一网络功能节点部署于第一数据中心节点中的过程转化为一种状态,该状态表示为第一状态。

作为本发明实施例一种可选的实施方式,可以利用第二预设表达式,确定第一状态转移至第二状态的转移概率,该第二预设表达式可以为:

式中,表示状态转移至状态的转移概率,状态表示将第i-1个网络功能节点部署于第n个数据中心节点中的过程所对应的状态,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示将第(i-1)个网络功能节点部署于数据中心节点n,第i个网络功能节点部署于数据中心m的转移带宽开销,(i-1)i表示第(i-1)个网络功能节点到第i个网络功能节点的转移,nm表示从第n个数据中心节点到第m个数据中心节点的转移,表示数据中心节点n到数据中心节点m的单位带宽费用,n表示数据中心节点的网络拓扑数量,表示第p条sfc的第(i-1)个网络功能节点与第i个网络功能节点之间的请求带宽量。

示例性的,所构建的转移概率矩阵可以表示为:

其中,a表示所构建的转移概率矩阵,表示状态转移至状态的转移概率,状态表示将第i-1个网络功能节点部署于第1个数据中心节点中的过程所对应的状态,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态。

s104,基于第三状态下输出sfc中第三网络功能节点对应的功能类型的输出概率,构建输出概率矩阵。

本发明实施例中,可以确定第三状态下输出sfc中第三网络功能节点对应的功能类型的输出概率,再根据所确定的输出概率构建输出概率矩阵。其中,第三状态为将sfc中第三网络功能节点部署于第三数据中心节点中的过程所对应的状态。

作为本发明实施例一种可选的实施方式,可以利用第三预设表达式,确定第三状态下输出sfc中第三网络功能节点对应的功能类型的输出概率,该第三预设表达式可以为:

式中,表示状态下输出网络功能类型的概率,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示第p条sfc的第i个网络功能节点的功能类型,表示状态下不输出网络功能类型的概率,表示第m个数据中心节点中的第s个vnf实例,表示将第i个网络功能节点部署于所产生的开销,表示的可靠性值,表示的功能类型。

示例性的,所构建的输出概率矩阵可以表示为:

其中,b表示所构建的输出概率矩阵,表示状态下输出网络功能类型的概率,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示第p条sfc的第i个网络功能节点对应的功能类型。

s105,基于所构建的初始概率集合、转移概率矩阵、以及输出概率矩阵,构建隐马尔可夫模型。

作为本发明实施例一种可选的实施方式,可以基于所构建的初始概率集合π、转移概率矩阵a、以及输出概率矩阵b,构建隐马尔可夫模型的三元组模型,该三元组模型可以表示为(π,a,b)。

s106,利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,得到多条sfc对应的多个隐状态子序列。

本发明实施例中,sfc中网络功能节点的顺序是可观察序列,将sfc中的网络功能节点部署的数据中心节点是不能直接观察到的,但可以通过可观察序列观察到,每个可观察序列都是通过概率密度分布表现为各种状态的,每一个可观察序列是由一个具有相应概率密度分布的状态序列产生。本发明实施例中,计算将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,进而可以基于隐状态概率对多条sfc中每一条sfc进行编排。其中,所得到的隐状态子序列中包含的元素可以为:sfc中网络功能节点所部署的数据中心节点。

作为本发明实施例一种可选的实施方式,多条待编排的sfc可以表示为sfc集合。上述步骤s106具体可以为:

利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,得到sfc集合对应的隐状态序列集合。

示例性的,sfc集合可以表示为:sfc={s1,s2,…sq},sfc集合对应的隐状态序列集合可以表示为:q={q1,q2,…qq},其中,sq表示第q条sfc,qq表示第q条sfc对应的隐状态子序列。

作为本发明实施例一种可选的实施方式,利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,得到sfc集合对应的隐状态序列集合的实施方式可参见图2,该实施方式可以包括:

s201,判断sfc集合中是否存在待编排sfc。

针对待编排的sfc集合,判断该sfc集合中是否存在待编排sfc,如果sfc集合中存在待编排sfc,则说明正在对待编排sfc进行编排,或即将开始对待编排sfc进行编排,则执行s202的步骤;如果sfc集合中不存在待编排sfc,则说明已将待编排sfc编排完成,则执行s204的步骤。

s202,如果sfc集合中存在待编排sfc,则选择sfc集合中最长的sfc作为当前编排sfc。

作为本发明实施例一种可选的实施方式,如果sfc集合中存在待编排sfc,为简化sfc编排的复杂度,选择sfc集合中最长的sfc作为当前编排sfc,该最长的sfc可以为:包含网络功能节点数最多对应的sfc。示例性的,该最长的sfc可以表示为:其中,表示第p条sfc的第k个网络功能节点。

s203,利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将当前编排sfc中每一网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对当前编排sfc进行编排,获得当前编排sfc对应的隐状态子序列。

确定当前编排sfc后,对当前编排sfc进行编排,其具体实现过程在下文详细介绍。

s204,如果sfc集合中不存在待编排sfc,则输出sfc集合对应的隐状态序列集合。

sfc集合中不存在待编排sfc,则表明已将待编排sfc编排完成,此时输出sfc集合对应的隐状态序列集合。

作为本发明实施例一种可选的实施方式,上述步骤s203的具体实施方式可参见图3,该实施方式可以包括:

s2031,判断当前编排sfc是否编排完成。

针对当前编排sfc,可以判断当前编排sfc是否编排完成,如果是,则执行s2032的步骤;如果不是,则执行s2036的步骤。

s2032,如果当前编排sfc未编排完成,则判断当前编排sfc的当前编排网络功能节点是否为当前编排sfc的第一个网络功能节点。

在当前编排sfc未编排完成时,可以判断当前编排sfc的当前编排网络功能节点是否为当前编排sfc的第一个网络功能节点,如果是,则执行s2033的步骤;如果不是,则执行s2034的步骤。

s2033,如果当前编排sfc的当前编排网络功能节点是当前编排sfc的第一个网络功能节点,则基于隐马尔可夫模型中的初始概率,计算将该当前编排网络功能节点部署于每一数据中心节点中的初始隐状态概率。

作为本发明实施例一种可选的实施方式,可以利用第四预设表达式来基于隐马尔可夫模型中的初始概率,计算将该当前编排网络功能节点部署于每一数据中心节点中的初始隐状态概率,因该当前编排网络功能节点是当前编排sfc的第一个网络功能节点,故计算的该第一个网络功能节点对应的初始隐状态概率,也可以是它的最大隐状态概率。该第四预设表达式可以为:

式中,表示该当前编排sfc的第一个网络功能节点部署于数据中心节点m的初始隐状态概率,πm表示将网络功能节点部署于第m个数据中心节点的初始概率,表示状态下输出网络功能类型的概率,状态表示将第一个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示第p条sfc的第一个网络功能节点的功能类型。

s2034,如果当前编排sfc的当前编排网络功能节点不是当前编排sfc的第一个网络功能节点,则利用隐马尔可夫模型中的转移概率以及输出概率,计算将该当前编排网络功能节点部署于每一数据中心节点中的最大隐状态概率,并记录获得最大隐状态概率对应的前置数据中心节点的位置。

作为本发明实施例一种可选的实施方式,在当前编排sfc的当前编排网络功能节点不是当前编排sfc的第一个网络功能节点时,则可以利用第五预设表达式来计算将该当前编排网络功能节点部署于每一数据中心节点中的最大隐状态概率,并记录获得最大隐状态概率对应的前置数据中心节点的位置。该第五预设表达式可以为:

式中,表示将该当前编排sfc的第i个网络功能节点部署于数据中心节点m中的最大隐状态概率,表示将当前编排sfc的第i-1个网络功能节点部署于数据中心节点x中的最大隐状态概率,表示状态转移至状态的转移概率,状态表示将第i-1个网络功能节点部署于第x个数据中心节点中的过程所对应的状态,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示状态下输出网络功能类型的概率,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示第p条sfc的第i个网络功能节点的功能类型。

s2035,将当前编排sfc的当前编排网络功能节点的下一网络功能节点,作为当前编排sfc的当前编排网络功能节点,执行判断当前编排sfc是否编排完成的步骤。

在计算将该当前编排网络功能节点部署于每一数据中心节点中的最大隐状态概率,并记录获得最大隐状态概率对应的前置数据中心节点的位置后,将当前编排sfc的当前编排网络功能节点的下一网络功能节点,作为当前编排sfc的当前编排网络功能节点,然后,执行s2031的步骤,直至当前编排sfc编排完成。

s2036,如果当前编排sfc编排完成,则将当前编排sfc的末尾网络功能节点作为当前网络功能节点,选择使当前网络功能节点的隐状态概率最大对应的第四数据中心节点部署当前网络功能节点,并将第四数据中心节点存储于当前编排sfc对应的隐状态子序列中。

在当前编排sfc编排完成时,将当前编排sfc的末尾网络功能节点,即当前编排sfc的最后一个网络功能节点作为当前网络功能节点,选择使当前网络功能节点的隐状态概率最大对应的第四数据中心节点部署当前网络功能节点,并将第四数据中心节点存储于当前编排sfc对应的隐状态子序列中。示例性的,该当前编排sfc是第p条sfc,当前编排sfc的末尾网络功能节点为使当前网络功能节点的隐状态概率最大对应的第四数据中心节点为dm,将dm存储于当前编排sfc对应的隐状态子序列中。

s2037,将使当前网络功能节点的隐状态概率最大对应的前置数据中心节点,确定为当前网络功能节点的前一网络功能节点所对应的第五数据中心节点,在第五数据中心节点中部署当前网络功能节点的前一网络功能节点,并将第五数据中心节点存储于当前编排sfc对应的隐状态子序列中,将当前网络功能节点的前一网络功能节点作为当前网络功能节点。

示例性的,使当前网络功能节点的隐状态概率最大对应的第四数据中心节点为dm,使当前网络功能节点的隐状态概率最大对应的前置数据中心节点,即当前网络功能节点的前一网络功能节点所对应的第五数据中心节点dx,在dx中部署将dx存储于当前编排sfc对应的隐状态子序列中,并将作为当前网络功能节点。

s2038,判断当前网络功能节点的前一网络功能节点是否为当前编排sfc的第一个网络功能节点。

判断当前网络功能节点的前一网络功能节点是否为当前编排sfc的第一个网络功能节点,如果是,说明当前编排sfc的网络功能节点已全部部署完成,并得到该当前编排sfc对应的隐状态子序列,则执行s2039的步骤,如果不是,说明当前编排sfc的网络功能节点并没有全部部署完成,则返回执行s2037的步骤。示例性的,当前编排sfc为sp,得到的前编排sfc对应的隐状态子序列可以表示为:其中,表示前编排sp中的第k个网络功能节点所部署的数据中心节点dk。

s2039,如果当前网络功能节点的前一网络功能节点是当前编排sfc的第一个网络功能节点,则将当前编排sfc从sfc集合中删除。

如果当前网络功能节点的前一网络功能节点是当前编排sfc的第一个网络功能节点,说明当前编排sfc的网络功能节点已全部部署完成,并得到该当前编排sfc对应的隐状态子序列,则将当前编排sfc从sfc集合中删除,并继续对下一待编排sfc的进行编排。

本发明实施例提供的一种跨域sfc的编排方法,因hmm的隐藏状态不能直接观察到,但可以通过可观察序列观察到,每个可观察序列都是通过概率密度分布表现为各种状态的,每一个可观察序列是由一个具有相应概率密度分布的状态序列产生,本发明实施例中,将跨域sfc的编排建模成隐马尔可夫模型,再利用隐马尔可夫模型,对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,因是基于计算得到的将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,对sfc的网络功能节点进行部署,实现sfc的编排,可以降低编排后sfc的跨域带宽开销,进而减少sfc编排后所消耗的带宽资源。

作为本发明实施例一种可选的实施方式,在上述步骤s106之后,本发明实施例的跨域sfc的编排还可以包括:基于隐状态序列集合、编排后各sfc对应的可靠性值以及隐状态序列集合中各隐状态子序列对应的sfc中每一网络功能节点所对应的vnf的成本效益值,对vnf进行备份。

实际应用中,用户对每一sfc都会有可靠性需求。示例性的,如图4所示,有两条sfc,分别为业务功能链1和业务功能链2。业务功能链1开始于客户端a,业务流需要顺序穿过fw(firewall,防火墙),lb(loadbalance,流量均衡器)和nat(networkaddresstranslatio,网络地址转换器),最终流向客户端c。业务功能链2开始于客户端b,业务流顺序穿过fw,lb和gw(gateway,网关),最终流向客户端d。其中,业务功能链1可靠性需求为r1=80%,业务功能链2的可靠性需求为r2=85%。

示例性的,有5个数据中心节点,分别为:dc1,dc2,dc3,dc4和dc5。在对业务功能链1和业务功能链2进行编排之后,编排结果为:业务功能链1业务流依次穿过部署于dc1的vfw,部署于dc3的vlb和部署于dc4的vnat(virtualizednetworkaddresstranslatio,虚拟网络地址转换器),到达客户端c。其中,将vfw部署于dc1的可靠性值为0.92,将vlb部署于dc3的可靠性值为0.82,将vnat部署于dc4的可靠性值为0.93,则业务功能链1部署的可靠性值为:0.92×0.82×0.93=70.2%<r1=80%。

业务功能链2业务流依次穿过部署于dc2的vfw,部署于dc3的vlb和部署于dc5的vgw(virtualizedgateway,虚拟网关),最终到达客户端d。其中,将vfw部署于dc2的可靠性值为0.97,将vlb部署于dc3的可靠性值为0.82,将vgw部署于dc5的可靠性值为0.74,业务功能链2部署的可靠性值为0.97×0.82×0.74=58.86%<r2=85%。

可见,实际应用中,对sfc进行编排后,sfc的可靠性需求不一定能够满足用户的需求,故而,本发明实施例中,可以基于上述隐状态序列集合、编排后各sfc对应的可靠性值以及隐状态序列集合中各隐状态子序列对应的sfc中每一网络功能节点所对应的vnf的成本效益值,对vnf进行备份,以提高vnf备份后,编排sfc的可靠性值。

作为本发明实施例一种可选的实施方式,如图5所示,上述对vnf进行备份的步骤,具体可以包括:

s301,遍历隐状态序列集合中每一隐状态子序列,将该隐状态子序列所对应的sfc作为当前sfc。

针对上述已编排的每一sfc,遍历隐状态序列集合中每一隐状态子序列,将该隐状态子序列所对应的sfc作为当前sfc。

s302,计算当前sfc的可靠性值。

作为本发明实施例一种可选的实施方式,针对每一当前sfc,计算该当前sfc的可靠性值可以是:利用第六预设表达式来计算将该当前sfc的可靠性值。该第六预设表达式可以为:

式中,rp表示第p条sfc的可靠性值,k表示第p条sfc的网络功能节点数,表示第p条sfc的第i个网络功能节点的可靠性值。其中,由第p条sfc编排过程中第i个网络功能节点所部署的数据中心节点位置和第i个网络功能节点的功能类型来确定,即当sfc编排完成,第i个网络功能节点部署于数据中心节点,数据中心节点中vnf的可靠性值由vnf的功能类型决定,也就是说,当sfc编排完成,得到确定。

s303,判断当前sfc的可靠性值是否小于预设可靠性值。

在完成对编排后所有sfc的可靠性值计算之后,针对每一sfc,可以判断当前sfc的可靠性值是否小于预设可靠性值。该预设可靠性值为用户针对该条sfc的可靠性需求值。

s304,当当前sfc的可靠性值小于预设可靠性值时,将当前sfc放置于第一集合中,并将经过当前sfc的vnf放置于第二集合中。

当当前sfc的可靠性值小于预设可靠性值时,说明编排后当前sfc的可靠性值不满足用户的需求,将当前sfc放置于第一集合中,并将经过当前sfc的vnf放置于第二集合中。

s305,判断第一集合是否为空。

第一集合中放置的是可靠性值不满足用户需求对应的sfc,如果第一集合为空,表示sfc编排后所有sfc的可靠性值都满足用户的需求,如果第一集合不为空,表示sfc编排后有sfc的可靠性值不满足用户的需求。

s306,当第一集合不为空时,计算第二集合中每一vnf的成本效益值。

第一集合不为空,表示sfc编排后有sfc的可靠性值不满足用户的需求,此时,可以针对第二集合中的每一vnf,使用上述第六预设表达式计算备份该vnf后第一集合中每一sfc的可靠性值。然后,基于备份vnf后第一集合中每一sfc的可靠性值,第一预设可靠性值,备份vnf的处理能力需求量以及备份vnf的单位处理能力费用,使用第七预设表达式计算第二集合中每一vnf的成本效益值。该第七预设表达式可以为:

其中,

式中,表示第m个数据中心节点中的第s个vnf实例,表示备份的成本效益值,p表示第p条sfc,q表示sfc的数量,表示备份对第p条sfc可靠性的提升值,rp表示备份后第p条sfc的可靠性值,φp表示第一预设可靠性值,可以是用户设置的可靠性值,表示备份对所有sfc可靠性的提升程度,表示产生的费用,αm表示备份vnf的单位处理能力费用,表示的处理能力需求量,表示的功能类型。

当备份后第p条sfc的可靠性值rp大于第一预设可靠性值时,将取结果为1,使得备份后产生更高的可靠性提升值,且产生费用较低的具有较高的成本效益值。

s307,对最大成本效益值对应的vnf进行备份。

在计算第二集合中每一vnf的成本效益值之后,可以对最大成本效益值对应的vnf进行备份。实际应用中,可以对最大成本效益值对应的一个vnf进行备份,也可以对最大成本效益值对应的多个vnf进行备份,具体的本发明实施例在此不作限定。

s308,计算备份后第一集合中每一sfc的可靠性值。

本发明实施例中,对最大成本效益值对应的vnf进行备份后,计算备份后第一集合中每一sfc的可靠性值,具体的,可参见步骤s302中对当前sfc的可靠性值的计算方式,来对备份后第一集合中每一sfc的可靠性值进行计算,本发明实施例在此不做赘述。

s309,如果备份后第一集合中sfc的可靠性值不小于预设可靠性值,则将该sfc从第一集合中删除,并执行判断第一集合是否为空的步骤。

在计算备份后第一集合中每一sfc的可靠性值后,可以对该sfc的可靠性值进行判断,判断其是否不小于预设可靠性值,如果备份后第一集合中sfc的可靠性值不小于预设可靠性值,说明此时sfc的可靠性值满足用户的需求,将该sfc从第一集合中删除,并返回执行s305的步骤,直至第一集合中所有sfc的可靠性值都满足用户的需要。

本发明实施例提供的一种跨域sfc的编排方法,因hmm的隐藏状态不能直接观察到,但可以通过可观察序列观察到,每个可观察序列都是通过概率密度分布表现为各种状态的,每一个可观察序列是由一个具有相应概率密度分布的状态序列产生,本发明实施例中,将跨域sfc的编排建模成隐马尔可夫模型,再利用隐马尔可夫模型,对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,因是基于计算得到的将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,对sfc的网络功能节点进行部署,实现sfc的编排,可以降低编排后sfc的跨域带宽开销,进而减少sfc编排后所消耗的带宽资源。另外,对vnf进行备份,提高备份后sfc的可靠性值,以使备份后每一sfc的可靠性值都能够满足用户的需求。

示例性地,本发明实施例中对sfc使用不同的编排方法进行编排,得到的仿真图分别如图6a至图6d所示。其中,现有技术方法1为背景技术中所描述的现有技术,现有技术方法2为:将sfc编排问题建模成整数线性规划问题,进而实现的编排,其具体实现过程可参见现有技术的实现,本发明实施例在此不做赘述。本发明实施例中,多数据中心网络从大规模准确的网络拓扑结构topology-zoo中选取,跨数据中心带宽设置为200gbps,跨数据中心带宽单位费用为均匀分布在[0.01,0.02]$/mbps之间的随机值,数据中心的单位it资源费用为[0.05,0.10]$/unit,其中不同虚拟网络功能节点请求的it资源在[1,3]之间随机选取,虚拟网络功能节点的可靠性值设置为[0.8,0.99],sfc的长度均匀分布在[2,6]之间,sfc的请求带宽满足[10,100]mbps的均匀分布,sfc的可靠性值在[0.95,0.98,0.99,0.995,0.999]随机选择。

其中,图6a为本发明实施例提供的vnf开销与sfc需求量关系仿真图,当sfc的请求数量小于400时,现有技术方法1使用较小的vnf实例来处理传入的sfc请求。但是,当sfc的请求数量大于600时,现有技术方法1的vnf开销会显着增加。本发明实施例在小规模sfc请求情况下使用较多的的vnf,这是由于本发明实施例按照sfc的长度的降序处理,忽略了sfc的其他关联性以降低问题的复杂性,导致更多的vnf开销。当处理大规模sfc请求时,本发明实施例与现有技术方法2的vnf开销相差不大,这是由于本发明实施例将sfc编排转化成隐马尔可夫模型的解码问题,充分考虑了vnf的使用效率,实现较低成本的vnf开销。

图6b为本发明实施例提供的跨域带宽开销与sfc需求量关系仿真图,在编排相同数量的sfc时,现有技术方法1使用了更多跨域带宽开销,这是由于现有技术方法1将sfc合并到图形中以减少vnf实例的使用,但这会导致更高的带宽消耗。本发明实施例同时考虑了带宽开销和vnf开销,与现有技术方法1相比,使用的带宽成本减少了约26.2%。当sfc请求数量小于400时,本发明实施例的带宽成本与现有技术方法2相当。当数量大于600时,与现有技术方法2相比,本发明实施例使用的数据中心节点间带宽成本增加约11.3%,这是由于本发明实施例的隐马尔可夫模型中的输出概率既考虑了vnf开销,也考虑了vnf的可靠性。因此,本发明实施例牺牲了部分跨域带宽开销以获得高可靠性的sfc编排结果。

图6c为本发明实施例提供的备份开销与sfc需求量关系仿真图,当sfc请求数量小于600时,本发明实施例使用与现有技术方法2可比较的备份开销。当sfc请求数量大于800时,本发明实施例使用的备份开销减少13.2%,这是因为本发明实施例在使用隐马尔可夫模型编排sfc时考虑了可靠性要求,本发明实施例牺牲了部署跨域带宽实现了更高可靠性的sfc编排。

图6d为本发明实施例提供的总开销与sfc需求量关系仿真图,总开销包括三部分:vnf开销(如图6a所示),跨域带宽开销(如图6b所示)和vnf备份开销(如图6c所示)。显然,与本发明实施例和现有技术方法2的方法得到的结果相比,现有技术方法1消耗更多开销。与现有技术方法2和本发明实施例的方法得到的结果相比,现有技术方法1的成本分别高出约20.4%和15.6%。当sfc数量大于600时,本发明实施例的总开销比现有技术方法2高出约11.4%。

虽然本发明实施例的开销相对稍高,但本发明实施例中sfc编排后对vnf进行备份,能够提高sfc的可靠性,更好的满足用户的需求。

相应于上述方法实施例,本发明实施例提供了一种跨域sfc的编排装置,如图7所示,该装置可以包括:

获取模块401,用于获取多条待编排的业务功能链sfc以及多个数据中心节点,每条sfc中均包括多个网络功能节点,数据中心节点用于部署sfc中的网络功能节点,一个网络功能节点部署于一个数据中心节点中。

第一构建模块402,用于基于不同网络功能节点部署于不同数据中心节点时所产生的虚拟网络功能vnf开销和带宽开销,确定将不同网络功能节点部署于不同数据中心节点中的初始概率,并基于所确定的多个初始概率构建初始概率集合。

第二构建模块403,用于基于第一状态转移至第二状态所确定的转移概率,构建转移概率矩阵;第一状态为将sfc中第一网络功能节点部署于第一数据中心节点中的过程所对应的状态,第二状态为将sfc中第二网络功能节点部署于第二数据中心节点中的过程所对应的状态,第二网络功能节点为第一网络功能节点的相邻节点。

第三构建模块404,用于基于第三状态下输出sfc中第三网络功能节点对应的功能类型的输出概率,构建输出概率矩阵;第三状态为将sfc中第三网络功能节点部署于第三数据中心节点中的过程所对应的状态。

第四构建模块405,用于基于所构建的初始概率集合、转移概率矩阵、以及输出概率矩阵,构建隐马尔可夫模型。

编排模块406,用于利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,得到多条sfc对应的多个隐状态子序列;隐状态子序列中包含的元素为:sfc中网络功能节点所部署的数据中心节点。

需要说明的是,本发明实施例的装置是与图1所示的一种跨域sfc的编排方法对应的装置,图1所示的一种跨域sfc的编排方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

本发明实施例提供的一种跨域sfc的编排装置,因hmm的隐藏状态不能直接观察到,但可以通过可观察序列观察到,每个可观察序列都是通过概率密度分布表现为各种状态的,每一个可观察序列是由一个具有相应概率密度分布的状态序列产生,本发明实施例中,将跨域sfc的编排建模成隐马尔可夫模型,再利用隐马尔可夫模型,对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,因是基于计算得到的将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,对sfc的网络功能节点进行部署,实现sfc的编排,可以降低编排后sfc的跨域带宽开销,进而减少sfc编排后所消耗的带宽资源。

可选地,利用第一预设表达式,确定将不同网络功能节点部署于不同数据中心节点中的初始概率。

利用第二预设表达式,确定第一状态转移至第二状态的转移概率。

利用第三预设表达式,确定第三状态下输出sfc中第三网络功能节点对应的功能类型的输出概率。

第一预设表达式为:

式中,πm表示将网络功能节点部署于第m个数据中心节点的初始概率,m表示数据中心节点的个数,表示第m个数据中心节点中的第s个vnf实例,表示将第一个网络功能节点部署于第m个数据中心节点中的第s个vnf实例所产生的开销,表示将起始网络功能节点部署于起始数据中心节点,第一个网络功能节点部署于第m个数据中心节点所产生的转移带宽开销,01表示sfc的起始网络功能节点到第一个网络功能节点的状态转移,σm表示从起始数据中心节点到第m个数据中心节点的转移。

第二预设表达式为:

式中,表示状态转移至状态的转移概率,状态表示将第i-1个网络功能节点部署于第n个数据中心节点中的过程所对应的状态,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示将第(i-1)个网络功能节点部署于数据中心节点n,第i个网络功能节点部署于数据中心m的转移带宽开销,(i-1)i表示第(i-1)个网络功能节点到第i个网络功能节点的转移,nm表示从第n个数据中心节点到第m个数据中心节点的转移,表示数据中心节点n到数据中心节点m的单位带宽费用,n表示数据中心节点的网络拓扑数量,表示第p条sfc的第(i-1)个网络功能节点与第i个网络功能节点之间的请求带宽量。

第三预设表达式为:

式中,表示状态下输出网络功能类型的概率,状态表示将第i个网络功能节点部署于第m个数据中心节点中的过程所对应的状态,表示第p条sfc的第i个网络功能节点的功能类型,表示状态下不输出网络功能类型的概率,表示将第i个网络功能节点部署于第m个数据中心节点中的第s个vnf实例所产生的开销,表示第m个数据中心节点中的第s个vnf实例的可靠性,表示第m个数据中心节点中的第s个vnf实例的功能类型。

可选地,多条待编排的sfc为sfc集合;利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,得到多条sfc对应的多个隐状态子序列为:

利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,得到sfc集合对应的隐状态序列集合。

可选地,编排模块406,包括:

判断子模块,用于判断sfc集合中是否存在待编排sfc。

选择子模块,用于在sfc集合中存在待编排sfc时,选择sfc集合中最长的sfc作为当前编排sfc。

编排子模块,用于利用隐马尔可夫模型中的初始概率、转移概率以及输出概率,计算将当前编排sfc中每一网络功能节点部署于数据中心节点中所对应的隐状态概率,并基于隐状态概率对当前编排sfc进行编排,获得当前编排sfc对应的隐状态子序列。

输出子模块,用于在sfc集合中不存在待编排sfc时,输出sfc集合对应的隐状态序列集合。

可选地,编排子模块,具体用于:

判断当前编排sfc是否编排完成;

如果当前编排sfc未编排完成,则判断当前编排sfc的当前编排网络功能节点是否为当前编排sfc的第一个网络功能节点;

如果当前编排sfc的当前编排网络功能节点是当前编排sfc的第一个网络功能节点,则基于隐马尔可夫模型中的初始概率,计算将该当前编排网络功能节点部署于每一数据中心节点中的初始隐状态概率;

如果当前编排sfc的当前编排网络功能节点不是当前编排sfc的第一个网络功能节点,则利用隐马尔可夫模型中的转移概率以及输出概率,计算将该当前编排网络功能节点部署于每一数据中心节点中的最大隐状态概率,并记录获得最大隐状态概率对应的前置数据中心节点的位置;

将当前编排sfc的当前编排网络功能节点的下一网络功能节点,作为当前编排sfc的当前编排网络功能节点,执行判断当前编排sfc是否编排完成的步骤;

如果当前编排sfc编排完成,则将当前编排sfc的末尾网络功能节点作为当前网络功能节点,选择使当前网络功能节点的隐状态概率最大对应的第四数据中心节点部署当前网络功能节点,并将第四数据中心节点存储于当前编排sfc对应的隐状态子序列中;

将使当前网络功能节点的隐状态概率最大对应的前置数据中心节点,确定为当前网络功能节点的前一网络功能节点所对应的第五数据中心节点,在第五数据中心节点中部署当前网络功能节点的前一网络功能节点,并将第五数据中心节点存储于当前编排sfc对应的隐状态子序列中,将当前网络功能节点的前一网络功能节点作为当前网络功能节点;

判断当前网络功能节点的前一网络功能节点是否为当前编排sfc的第一个网络功能节点;

如果当前网络功能节点的前一网络功能节点不是当前编排sfc的第一个网络功能节点,则执行将使当前网络功能节点的隐状态概率最大对应的前置数据中心节点,确定为当前网络功能节点的前一网络功能节点所对应的第五数据中心节点的步骤;

如果当前网络功能节点的前一网络功能节点是当前编排sfc的第一个网络功能节点,则将当前编排sfc从sfc集合中删除。

可选地,本发明实施例的装置还包括:备份模块,用于基于隐状态序列集合、编排后各sfc对应的可靠性值以及隐状态序列集合中各隐状态子序列对应的sfc中每一网络功能节点所对应的vnf的成本效益值,对vnf进行备份。

可选地,备份模块,具体用于:

遍历隐状态序列集合中每一隐状态子序列,将该隐状态子序列所对应的sfc作为当前sfc;

计算当前sfc的可靠性值;

判断当前sfc的可靠性值是否小于预设可靠性值;

当当前sfc的可靠性值小于预设可靠性值时,将当前sfc放置于第一集合中,并将经过当前sfc的vnf放置于第二集合中;

判断第一集合是否为空;

当第一集合不为空时,计算第二集合中每一vnf的成本效益值;

对最大成本效益值对应的vnf进行备份;

计算备份后第一集合中每一sfc的可靠性值;

如果备份后第一集合中sfc的可靠性值不小于预设可靠性值,则将该sfc从第一集合中删除,并执行判断第一集合是否为空的步骤。

本发明实施例还提供了一种电子设备,如图8所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例所提供的一种跨域sfc的编排。

本发明实施例提供的一电子设备,因hmm的隐藏状态不能直接观察到,但可以通过可观察序列观察到,每个可观察序列都是通过概率密度分布表现为各种状态的,每一个可观察序列是由一个具有相应概率密度分布的状态序列产生,本发明实施例中,将跨域sfc的编排建模成隐马尔可夫模型,再利用隐马尔可夫模型,对多条sfc中每一条sfc进行编排,获得各sfc对应的隐状态子序列,因是基于计算得到的将sfc中网络功能节点部署于数据中心节点中所对应的隐状态概率,对sfc的网络功能节点进行部署,实现sfc的编排,可以降低编排后sfc的跨域带宽开销,进而减少sfc编排后所消耗的带宽资源。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一一种跨域sfc的编排方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一一种跨域sfc的编排方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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