CN112333035B - 一种实时的混合型服务功能链嵌入代价优化方法及设备 - Google Patents

一种实时的混合型服务功能链嵌入代价优化方法及设备 Download PDF

Info

Publication number
CN112333035B
CN112333035B CN202011600848.XA CN202011600848A CN112333035B CN 112333035 B CN112333035 B CN 112333035B CN 202011600848 A CN202011600848 A CN 202011600848A CN 112333035 B CN112333035 B CN 112333035B
Authority
CN
China
Prior art keywords
chain
sub
network
virtualized network
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011600848.XA
Other languages
English (en)
Other versions
CN112333035A (zh
Inventor
郭得科
罗来龙
林旭
廖汉龙
袁昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202011600848.XA priority Critical patent/CN112333035B/zh
Publication of CN112333035A publication Critical patent/CN112333035A/zh
Application granted granted Critical
Publication of CN112333035B publication Critical patent/CN112333035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书一个或多个实施例提供一种实时的混合型服务功能链嵌入代价优化方法及设备,分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则;根据所述网络功能并行机制规则将所述服务功能链切分成若干子链;在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解。本公开能够有效降低混合型服务功能链嵌入代价,并保证实时性。

Description

一种实时的混合型服务功能链嵌入代价优化方法及设备
技术领域
本说明书一个或多个实施例涉及网络通信技术领域,尤其涉及一种实时的混合型服务功能链嵌入代价优化方法及设备。
背景技术
网络功能虚拟化(Network Function Virtualization, NFV)是一种新兴的技术,它通过将基于专用硬件中间件的网络功能(Network Function, NF)替代为运行在通用服务器上的虚拟化网络功能(Virtual Network Function, VNF)以达到灵活性、易管理性、可拓展性和降低成本等目的。在基于NFV的流量工程中,多个VNF可通过一定的顺序组成服务功能链(Service Function Chain, SFC)以向网络流提供端到端的服务。近年来,对VNF可并行性的探索不断取得性进展,混合型SFC(SFC中包含有并行的VNF)被提出以有效降低SFC的运行时延。然而,在网络中嵌入多个混合型SFC的优化方法研究依旧是一个具有挑战性的开放问题。
在云网络中,有许多地理位置分散的云节点通过网络链接相互连接。每个节点中,可能存在多个VNF实例,这些实例由第三方VNF提供商或网络运营商部署。其中,不同节点中的VNF实例可能具有不同的租赁价格(由其部署成本和资源消耗确定)和流量处理能力。网络链接也具有不同的价格和带宽容量。网络中的客户随时可能发送网络流请求,每个网络流请求都需在源节点和目标节点之间嵌入一个混合SFC,以提供端到端服务。如何实时响应每个请求,同时降低嵌入相应混合SFC的总成本,在现有技术中缺乏相应的解决方案。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种实时的混合型服务功能链嵌入代价优化方法及设备,以解决现有技术中缺乏如何实时响应每个请求,同时降低嵌入相应混合SFC的总成本的相应的解决方案的问题。
基于上述目的,本说明书一个或多个实施例提供了一种实时的混合型服务功能链嵌入代价优化方法,包括:
分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则;
根据所述网络功能并行机制规则将所述服务功能链切分成若干子链;
在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解;所述预先构建的子链数据库包括子链和子链对应的嵌入子解。
可选的,还包括:预先计算若干子链的嵌入子解,构建子链数据库;
具体包括:
将所述子链转换成服务功能树;
计算所述服务功能树的嵌入子解。
可选的,还包括:根据网络资源余量,验证得到的所述服务功能链的嵌入候选解的可行性。
可选的,所述分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则,包括:
分析所述服务功能链中所述虚拟化网络功能之间的直接可并行性;
根据所述直接可并行性,得到所述服务功能链中所述虚拟化网络功能之间的间接可并行性;
根据所述直接可并行性和所述间接可并行性,得到网络功能并行机制规则。
可选的,所述在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解,包括:
判断所述子链包括的虚拟化网络功能的数量;
若所述子链仅包括一个虚拟化网络功能,则选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
若所述子链包括至少两个虚拟化网络功能,则查询子链数据库是否包括有所述子链的嵌入子解;
若所述子链数据库包括有所述子链的嵌入子解,则依据预设的概率选取一个入口节点与上一个嵌入的子链的出口节点邻近的嵌入子解;所述概率与所述嵌入子解的代价成负相关,且与所述嵌入子解的容量成正相关;
若所述子链数据库不包括所述子链的嵌入子解,则将所述子链分解成仅包括一个虚拟化网络功能的子链;依照服务功能链的顺序,对于所述仅包括一个虚拟化网络功能的子链,选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
用最短路径连接各个嵌入子解以得到所述服务功能链的嵌入候选解。
可选的,所述将所述子链转换成服务功能树,包括:
将一个空的虚拟化网络功能作为入口虚拟化网络功能,并将所述子链的所有虚拟化网络功能都连接在所述空的虚拟化网络功能后,以构建初始服务功能树;
按照广度优先搜索的顺序依次遍历所述初始服务功能树的每个所述虚拟化网络功能;
对于每个所述虚拟化网络功能,基于所述网络功能并行机制规则检测所述虚拟化网络功能的所有后置虚拟化网络功能;若所述虚拟化网络功能没有后置虚拟化网络功能,则直接跳过节点遍历下一个所述节点;
在所述初始服务功能树中获取所述虚拟化网络功能的所有后置虚拟化网络功能的共同先祖虚拟化网络功能;
将当前虚拟化网络功能从所述初始服务功能树中切除,并将所述当前虚拟化网络功能插入到所述共同先祖虚拟化网络功能与所述共同先祖虚拟化网络功能包括的所述当前虚拟化网络功能的后置虚拟化网络功能的子树之间,作为叶子节点;
遍历完所有所述子链的虚拟化网络功能后,将所有所述叶子节点连接至合并器,以生成服务功能树。
可选的,所述计算所述服务功能树的嵌入子解,包括:
将所述服务功能树分解成若干个兄弟虚拟化网络功能集合;所述兄弟虚拟化网络功能集合的所有元素均为所述服务功能树中具有相同父虚拟化网络功能的兄弟虚拟化网络功能;
对于每一个网络节点,将当前网络节点作为入口节点;
按照广度优先搜索的顺序遍历所有兄弟虚拟化网络功能集合,基于每个上一个遍历的兄弟虚拟化网络功能集合的嵌入子解生成当前兄弟虚拟化网络功能集合的嵌入子解;
遍历完所有兄弟虚拟化网络功能集合后,通过分配合并器并路由所述服务功能树的各叶子虚拟化网络功能分配的网络节点到合并器所分配的网络节点的路径以生成所述子链的嵌入子解。
可选的,还包括:
对于每个节点
Figure 229323DEST_PATH_IMAGE001
和第
Figure 548309DEST_PATH_IMAGE002
个服务功能树,根据适应度因子
Figure 794614DEST_PATH_IMAGE003
从大到小的顺序,筛选出前若干个以
Figure 72011DEST_PATH_IMAGE001
为入口节点嵌入第
Figure 773907DEST_PATH_IMAGE002
个服务功能树的嵌入子解。
其中,计算所述适应度因子的公式为:
Figure 162163DEST_PATH_IMAGE004
其中,
Figure 262974DEST_PATH_IMAGE005
为适应度因子;
Figure 852218DEST_PATH_IMAGE006
为入口节点为
Figure 163114DEST_PATH_IMAGE001
的第
Figure 964848DEST_PATH_IMAGE002
个服务功能树的
Figure 716903DEST_PATH_IMAGE007
第个嵌入子解的容量;
Figure 336103DEST_PATH_IMAGE008
为入口节点为
Figure 9661DEST_PATH_IMAGE001
的第
Figure 208561DEST_PATH_IMAGE002
个服务功能树的第
Figure 549544DEST_PATH_IMAGE007
个嵌入子解的代价;
Figure 339646DEST_PATH_IMAGE009
为调节容量与代价的权重。
可选的,还包括:
将所有网络节点的权值
Figure 234920DEST_PATH_IMAGE010
设置为
Figure 768670DEST_PATH_IMAGE011
对于每个叶虚拟化网络功能,假设其被分配在网络节点
Figure 26476DEST_PATH_IMAGE001
,则提取一个网络节点集合
Figure 594336DEST_PATH_IMAGE012
,所述网络节点集合
Figure 39224DEST_PATH_IMAGE012
包括了所有距离网络节点
Figure 869340DEST_PATH_IMAGE001
不超过
Figure 184915DEST_PATH_IMAGE013
跳的网络节点;
对于每个网络节点
Figure 723343DEST_PATH_IMAGE014
,如果
Figure 717844DEST_PATH_IMAGE015
,则网络节点
Figure 468763DEST_PATH_IMAGE014
的权值
Figure 497899DEST_PATH_IMAGE010
自减从
Figure 410491DEST_PATH_IMAGE001
Figure 157867DEST_PATH_IMAGE014
的最短路径跳数
Figure 446897DEST_PATH_IMAGE016
;如果
Figure 596119DEST_PATH_IMAGE017
Figure 679612DEST_PATH_IMAGE010
自减
Figure 383126DEST_PATH_IMAGE018
;每个网络节点的剩余权值表示在所述网络节点上分配合并器的适应度;
选择剩余权值最大的所述网络节点来承载合并器。
基于同一发明构思,本说明书一个或多个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。
从上面所述可以看出,本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法及设备,分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则;根据所述网络功能并行机制规则将所述服务功能链切分成若干子链;基于预先计算得到的嵌入子解,处理所述子链,得到所述服务功能链的嵌入候选解。本公开能够有效降低混合型服务功能链嵌入代价,并保证实时性。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法的第一种流程示意图;
图2为本说明书一个或多个实施例提供的获取网络功能并行机制规则的示意图;
图3为本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法的第二种流程示意图;
图4为本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法的工作流程的一种流程示意图;
图5为本说明书一个或多个实施例提供的一种更为具体的电子设备硬件结构示意图;
图6为本说明书一个或多个实施例提供的仿真实验的性能评估结果的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现所述词前面的元件或者物件涵盖出现在所述词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则所述相对位置关系也可能相应地改变。
网络功能虚拟化(Network Function Virtualization, NFV)是一种新兴的技术,它通过将基于专用硬件中间件的网络功能(Network Function, NF)替代为运行在通用服务器上的虚拟化网络功能(Virtual Network Function, VNF)以达到灵活性、易管理性、可拓展性和降低成本等目的。在基于NFV的流量工程中,多个VNF可通过一定的顺序组成服务功能链(Service Function Chain, SFC)以向网络流提供端到端的服务。近年来,对VNF可并行性的探索不断取得新进展,混合型SFC(SFC中包含有并行的VNF)被提出以有效降低SFC的运行时延。然而,在网络中嵌入多个混合型SFC的优化方法研究依旧是一个具有挑战性的开放问题。
在云网络中,有许多地理位置分散的云节点通过网络链接相互连接。每个节点中,可能存在多个VNF实例,这些实例由第三方VNF提供商或网络运营商部署。其中,不同节点中的VNF实例可能具有不同的租赁价格(由其部署成本和资源消耗确定)和流量处理能力。网络链接也具有不同的价格和带宽容量。网络中的客户随时可能发送网络流请求,每个网络流请求都需在源节点和目标节点之间嵌入一个混合SFC,以提供端到端服务。如何实时响应每个请求,同时较大程度地降低嵌入相应混合SFC的总成本,在现有技术中缺乏相应的解决方案。
以下,将分析混合型SFC嵌入代价优化问题的复杂性。首先,对于混合型SFC嵌入代价优化问题(Optimal Embedding problem of Multiple Hybrid SFCs, OEMH)进行整数规划建模。
作为一种示例,将云网络视为目标网络。网络中包含多个网络节点,每个网络节点都具有一定的计算和存储功能。第三方VNF提供商在各网络节点上部署VNF实例以供客户租赁。本公开将OEMH问题定义为:在给定目标网络和一组网络流请求,如何在不超过链路容量和VNF处理能力的约束前提下,将每个流所需的混合型SFC较优的嵌入到目标网络中,能够使的整体的流量传输和处理代价(包括链路代价和VNF租赁代价)较小。
具体的,OEMH问题的优化目标可定义为以下形式:
Figure 475847DEST_PATH_IMAGE019
其中,
Figure 213996DEST_PATH_IMAGE020
为整数变量,表示第
Figure 731040DEST_PATH_IMAGE021
个请求
Figure 187429DEST_PATH_IMAGE022
对在节点
Figure 83841DEST_PATH_IMAGE023
上部署的第
Figure 942076DEST_PATH_IMAGE024
种VNF
Figure 632951DEST_PATH_IMAGE025
的复用次数;
Figure 311057DEST_PATH_IMAGE026
为整数变量,表示第
Figure 745581DEST_PATH_IMAGE021
个请求
Figure 661584DEST_PATH_IMAGE022
对链路
Figure 647995DEST_PATH_IMAGE027
的复用次数。
在上述目标函数中,对于每一个流请求
Figure 954342DEST_PATH_IMAGE022
,括号中的左半部分表示总的VNF租赁代价,右半部分表示总的链路代价。
基于OEMH问题的定义,本公开将OEMH问题的约束定义如下:
容量约束:以下两个约束保证了当所有混合型SFC被嵌入到网络中后,每个VNF实例上分配的流量不会超过其处理能力限制,和每条网络链路不会超过其带宽容量限制。
Figure 51611DEST_PATH_IMAGE028
完整性约束:以下约束保证了当混合型SFC被嵌入时,各SFC所包含的VNF都只被分配了一次,和各SFC中的每条VNF之间的连接至少被一条路由路径实现。
Figure 494225DEST_PATH_IMAGE029
Figure 651537DEST_PATH_IMAGE030
Figure 445181DEST_PATH_IMAGE031
Figure 346141DEST_PATH_IMAGE032
为了让上述模型更加清晰,本公开给出两种复用因子的计算方法,其中分别可用来计算第
Figure 908840DEST_PATH_IMAGE021
个请求复用在
Figure 237053DEST_PATH_IMAGE033
上部署的第
Figure 255343DEST_PATH_IMAGE024
种VNF的次数和可用来计算第
Figure 694415DEST_PATH_IMAGE021
个请求复用从节点
Figure 439517DEST_PATH_IMAGE034
到节点
Figure 813998DEST_PATH_IMAGE035
的直接链路
Figure 441288DEST_PATH_IMAGE036
的次数。
Figure 559417DEST_PATH_IMAGE037
Figure 486922DEST_PATH_IMAGE038
Figure 32304DEST_PATH_IMAGE039
Figure 881311DEST_PATH_IMAGE040
Figure 803131DEST_PATH_IMAGE041
在求解在线场景下的混合型SFC嵌入优化问题时会遇到以下挑战:与嵌入传统SFC相比,混合型SFC的嵌入问题由于SFC内部结构更加复杂多样而复杂度更高;相对于SFC的离线嵌入问题,在线嵌入问题需要实现实时响应;与嵌入单个SFC相比,嵌入多个SFC需要避免SFC之间的资源冲突并需要平衡网络负载。所以,综上,OEMH问题是非确定性多项式难题。
下面,我们将详细解决在线场景下的实时的多混合型服务功能链嵌入代价优化问题。
图1为本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法的第一种流程示意图,实时的混合型服务功能链嵌入代价优化方法,包括:
S110、分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则。
所属领域的普通技术人员应当理解,作为示例,本说明书一个或多个实施例在描述本发明的技术方案时,为了方便描述,从字面来看,可能是对于单个服务功能链进行描述的,在本发明的实际运用和技术方案中,是存在多个服务功能链的,本发明解决的是在线场景下的实时的多混合型服务功能链嵌入代价优化问题,以及在描述更具体的结构时,也是同理。
接收到一个流请求时,分析所述流请求的服务功能链(Service Function Chain,SFC)中虚拟化网络功能(Virtual Network Function, VNF)之间的依赖关系,具体的,所述依赖关系为可并行性。其中,可以通过查表的方式识别每两个VNF之间的可并行性。根据所述可并行性关系,得到网络功能并行机制(Network Function Parallelism,NFP)规则。
一些实施方式中,S110具体包括:
分析所述服务功能链中所述虚拟化网络功能之间的直接可并行性;
根据所述直接可并行性,得到所述服务功能链中所述虚拟化网络功能之间的间接可并行性;
根据所述直接可并行性和所述间接可并行性,得到网络功能并行机制规则。
为了避免NFP规则只关注了一个SFC中客观上的不可并行VNF对(即两个VNF会处理数据包的同一个属性,并至少有一个要对该属性执行写操作),却忽略了在一个SFC中可能存在的潜在不可并行VNF对,即为了避免NFP规则只包括直接可并行性,不包括间接可并行性,本公开先分析SFC中VNF之间的直接可并行性;再根据所述直接可并行性,得到SFC中VNF之间的间接可并行性;最后根据所述直接可并行性和所述间接可并行性,共同作用得到NFP规则。
作为一个示例,如图2所示,图2为本说明书一个或多个实施例提供的获取网络功能并行机制规则的示意图,其中,NF2和NF4为可并行的VNF对,然而由于图中第2和第3条NFP规则导致在该SFC中存在一条潜在的依赖关系{NF2, before, NF4}。因此,需要推断单个SFC中潜在的VNF间依赖关系。最终的输出结果为一系列NFP规则,其包括输入的SFC包含的VNF涉及的所有直接NFP规则和推断出的潜在即间接NFP规则。
S120、根据所述网络功能并行机制规则将所述服务功能链切分成若干子链。
一些实施方式中,S120具体包括:
从不同的SFC中提取常见的可并行部分。为了明确后续表述,本公开定义静态VNF为:已知一个VNF集合
Figure 319563DEST_PATH_IMAGE042
包含
Figure 363742DEST_PATH_IMAGE043
个不同的VNF,如果存在一个VNF
Figure 575412DEST_PATH_IMAGE044
,有
Figure 159977DEST_PATH_IMAGE045
个NFP规则与
Figure 406281DEST_PATH_IMAGE046
相关,则
Figure 418100DEST_PATH_IMAGE046
被称为基于VNF集合
Figure 382645DEST_PATH_IMAGE042
的静态VNF。
在一个确定的VNF集合中,静态VNF与所有其他的VNF都具有确定的依赖关系,因此静态VNF能够自然的将该VNF集合切分成多个子集。然后,对每个子集而言,若存在基于本子集的静态VNF,则该子集将再次被切分。VNF集合的切分将一直迭代至所有的子集不包含基于自身的静态VNF或只包含一个VNF。
基于以上VNF集合切分过程,SFC可被切分为一系列基础的子链。切分后的同一子链中的VNF具有并行运行的潜力,而各子链之间仍然保持顺序关系。
另外,对于每个包含不少于两个VNF的基础子链,将检验其是否能够通过VNF并行获得足够的处理延迟优化。若可以,则保留该子链;否则,将该子链打散为一系列单个VNF。
S130、在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解。
所述预先构建的子链数据库包括子链和子链对应的嵌入子解。
一些实施方式中,S130具体包括:
判断所述子链包括的虚拟化网络功能的数量;
若所述子链仅包括一个虚拟化网络功能,则选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
若所述子链包括至少两个虚拟化网络功能,则查询子链数据库是否包括有所述子链的嵌入子解;
若所述子链数据库包括有所述子链的嵌入子解,则依据预设的概率选取一个入口节点与上一个嵌入的子链的出口节点邻近的嵌入子解;所述概率与所述嵌入子解的代价成负相关,且与所述嵌入子解的容量成正相关;
若所述子链数据库不包括所述子链的嵌入子解,则将所述子链分解成仅包括一个虚拟化网络功能的子链;依照服务功能链的顺序,对于所述仅包括一个虚拟化网络功能的子链,选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
用最短路径连接各个嵌入子解以得到所述服务功能链的嵌入候选解。
一些实施方式中,本公开包括子链数据库,子链数据库包括预先计算得到的嵌入子解。具体的,对于每个常见的子链,子链数据库将为其建立一条记录,该记录包含以下内容:该记录的ID;该记录所对应的子链包含的VNF集合;该子链的SFT形式;该SFT的入口VNF;该SFT的出口VNF;一系列嵌入该子链的嵌入子解记录。
其中,每个所述的嵌入子解记录包含以下内容:嵌入该子链的子解决方案(嵌入子解);执行该嵌入子解所产生的代价;该嵌入子解能够容纳的最大带宽(如1Gbps)。
本公开通过预计算以解决实时的优化嵌入代价问题,所谓预计算,就是在上一个时刻计算好下一个时刻需要的某些中间结果,那么当网络请求来临,就可以直接使用上一个时刻已经算好的中间结果,以大幅降低计算的时间以实现实时响应。
一些实施方式中,本公开得到所述服务功能链的嵌入候选解基于贪心算法的思路,通过逐个分配子链以快速生成嵌入混合型SFC的候选解。
为了明确后续表述,本公开给出以下定义:子链的入口节点:表示承载子链的入口VNF的网络节点;子链的出口节点:表示承载子链的出口VNF的网络节点。
具体的,首先判断当前子链包括的VNF的数量。一些子链仅包括一个VNF,另一些子链包括至少两个VNF。
若当前子链仅包括一个VNF,则选择一个与上一个嵌入的子链的出口节点邻近的且包括所述VNF的网络节点,分配所述VNF到所述网络节点,并将所述网络节点设置为所述子链的出口节点。到此,即得到了仅包括一个VNF的子链的嵌入子解。
若当前子链包括至少两个VNF,则查询子链数据库是否包括有所述子链的嵌入子解:
若所述子链数据库包括有当前子链的嵌入子解,则依据预设的概率选取一个入口节点与上一个嵌入的子链的出口节点邻近的嵌入子解;所述概率与所述嵌入子解的代价成负相关,且与所述嵌入子解的容量成正相关。
概率这样设计的目的为这种混合型SFC嵌入代价与网络资源间的负载均衡以提升系统的稳定性。详细的,因为子链数据库的更行滞后于网络资源利用率的变化,因此随机选择嵌入子解能够一定程度的防止子链数据库存储的嵌入子解的容量与其真实容量间出现巨大的误差,从而保护系统在运行过程中的稳定性。
若所述子链数据库不包括当前子链的嵌入子解,则将所述子链分解成仅包括一个VNF的子链;依照SFC的顺序,对于其中的仅包括一个VNF的子链,执行如上述仅包括一个VNF的子链的操作,具体的,选择一个与上一个嵌入的子链的出口节点邻近的且包括所述VNF的网络节点,分配所述VNF到所述网络节点,并将所述网络节点设置为所述子链的出口节点。即得到了仅包括一个VNF的子链的嵌入子解。
最后,用最短路径连接各个嵌入子解以得到所述SFC的嵌入候选解。
从上面所述可以看出,本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法,分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则;根据所述网络功能并行机制规则将所述服务功能链切分成若干子链;在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解。本公开能够有效降低混合型服务功能链嵌入代价,并保证实时性。
可以理解,所述方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
图3为本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法的第二种流程示意图,实时的混合型服务功能链嵌入代价优化方法,包括:
S310、预先计算若干子链的嵌入子解,构建子链数据库。
一些实施方式中,S310具体包括:
将所述子链转换成服务功能树(Service Function Tree,SFT);
计算所述服务功能树的嵌入子解。
预先计算一系列常见子链的嵌入方案(称为嵌入子解),当一个新的子链第一次出现时,会将其转换为标准化的SFT形式,并将其添加到预计算的输入子链列表中以使子链数据库具有自更新性;这些嵌入子解将被存储并用于在下一段时间内支持混合型SFC嵌入候选解的快速生成。
同一个子链的合法树形结构多样,若一个子链的多种树形结构都被存储在子链数据库中,必然会导致子链数据库的规模增大、加剧预计算的计算量以及复杂化候选解的计算过程。因此,本公开提出一种SFT转化算法,基于树形拓扑的广度优先搜索以实现SFT的标准化塑形。
为明确算法描述,先给出以下定义:
前置VNF和后置VNF:在一个NFP规则
Figure 770901DEST_PATH_IMAGE047
中,
Figure 134361DEST_PATH_IMAGE048
被称作
Figure 51502DEST_PATH_IMAGE049
的前置VNF;相应的,
Figure 237764DEST_PATH_IMAGE049
被称作
Figure 164131DEST_PATH_IMAGE048
的后置VNF。
其中,将所述子链转换成服务功能树,包括:
将一个空的VNF作为入口VNF,并将所述子链的所有VNF都连接在所述空的VNF后,以构建初始SFT。
按照广度优先搜索的顺序依次遍历所述初始SFT的每个所述VNF。当遍历SFT中具有相同父VNF的兄弟VNF时,将按照VNF的编号顺序依次遍历。
对于每个所述VNF,基于所述网络功能并行机制规则检测所述VNF的所有后置VNF;若所述VNF没有后置VNF,则直接跳过节点遍历下一个所述节点。
在所述初始SFT中获取所述VNF的所有后置VNF的共同先祖VNF。
将当前VNF从所述初始SFT中切除,并将所述当前VNF插入到所述共同先祖VNF与所述共同先祖VNF包括的所述当前VNF的后置VNF的子树之间,作为叶子节点。
遍历完所有所述子链的VNF后,将所有所述叶子节点连接至合并器,以生成SFT。
合并器的作用在于将同一个数据包经过SFT不同分支操作后的不同版本进行整合并形成一个统一的输出,以保证所述SFT与传统顺序子链的输出完全一致。
其中,计算所述SFT的嵌入子解,包括:
为了方便后续描述,先给出以下定义:
兄弟VNF集合:为一个VNF的集合,所述集合的所有成员为一个SFT中具有相同父VNF的兄弟VNF。
将所述SFT分解成若干个兄弟VNF集合;所述兄弟VNF集合的所有元素均为所述SFT中具有相同父VNF的兄弟VNF。
对于每一个网络节点,将当前网络节点作为入口节点。
按照广度优先搜索的顺序遍历所有兄弟VNF集合,基于每个上一个遍历的兄弟VNF集合的嵌入子解生成当前兄弟VNF集合的嵌入子解。
遍历完所有兄弟VNF集合后,通过分配合并器并路由SFT的各叶子VNF分配的网络节点到合并器所分配的网络节点的路径以生成所述SFC的候选嵌入子解。
可选的,若有多个候选嵌入子解,可以筛选优质的候选嵌入子解。引入此操作的原因主要包括以下三个方面:为了精简存储的数据以防止存储原始数据造成巨大的存储开销;为了综合避免劣质解被使用而导致的嵌入混合型SFC总体代价的增涨;以及为了保障系统的稳定性。
此处应注意的是,如果上述筛选过程只考虑嵌入子解的代价是否最低而忽略其容量因素,可能会导致筛选出的候选嵌入子解具有很小的容量并很快被消耗完,从而导致频繁的触发预计算过程增大计算资源开销并降低系统稳定性。因此,上述筛选过程的设计不仅应考虑嵌入子解的代价是否较低,也应考虑所述嵌入子解的容量是否较大。所以,本公开引入以下适应度因子以衡量候选嵌入子解的优劣程度。
其中,具体包括:
对于每个节点
Figure 650608DEST_PATH_IMAGE050
和第
Figure 4228DEST_PATH_IMAGE002
个SFT,基于适应度因子
Figure 959677DEST_PATH_IMAGE051
筛选出最优的
Figure 455117DEST_PATH_IMAGE052
个以
Figure 389575DEST_PATH_IMAGE050
为入口节点嵌入第
Figure 586201DEST_PATH_IMAGE002
个SFT的候选嵌入子解。
计算适应度因子,公式为:
Figure 747055DEST_PATH_IMAGE053
其中,
Figure 280804DEST_PATH_IMAGE054
为入口节点为
Figure 210714DEST_PATH_IMAGE050
的第
Figure 906138DEST_PATH_IMAGE002
个SFT的第
Figure 554288DEST_PATH_IMAGE055
个候选嵌入子解的容量;
Figure 626149DEST_PATH_IMAGE056
为入口节点为
Figure 410566DEST_PATH_IMAGE050
的第
Figure 542470DEST_PATH_IMAGE002
个SFT的第
Figure 409407DEST_PATH_IMAGE055
个候选嵌入子解的代价;
Figure 284959DEST_PATH_IMAGE057
为调节容量与代价的权重;
Figure 251778DEST_PATH_IMAGE058
为适应度因子,适应度因子较大表示该候选嵌入子解的容量较大或者代价较小,即更优。
可选的,关于合并器,需要注意的是,数据包通过SFT不同分支处理可能生成多个不同的版本,从SFT各叶节点到合并器的路由必须由多条单播路径实现。因此,合并器的选址对生成的候选子解的通信代价将产生较大影响。本公开提出一种基于跳数加权的贪婪算法(
Figure 429950DEST_PATH_IMAGE059
-hop Weighted Merger Allocation,
Figure 911747DEST_PATH_IMAGE059
-WMA),以避免由于合并器的不恰当分配引起的巨大的各叶节点到合并器的通信开销。
Figure 200777DEST_PATH_IMAGE059
-WMA通过SFT中各叶VNF的分配节点到某网络节点的总跳数来衡量在所述网络节点分配合并器的适应度,并且选择总跳数最小的节点放置合并器以生成所述候选嵌入子解。为了方便后续描述,作出以下假设:目标SFT含有
Figure 84419DEST_PATH_IMAGE060
个叶VNF。
其中,具体包括:
将所有网络节点的权值
Figure 433492DEST_PATH_IMAGE061
设置为
Figure 402585DEST_PATH_IMAGE062
对于每个叶VNF,假设其被分配在网络节点
Figure 760885DEST_PATH_IMAGE063
,则提取一个网络节点集合
Figure 499034DEST_PATH_IMAGE012
,所述网络节点集合
Figure 19008DEST_PATH_IMAGE012
包括了所有距离网络节点
Figure 475397DEST_PATH_IMAGE063
不超过
Figure 106230DEST_PATH_IMAGE059
跳的网络节点;
对于每个网络节点
Figure 964464DEST_PATH_IMAGE064
,如果
Figure 717657DEST_PATH_IMAGE065
,则网络节点
Figure 536708DEST_PATH_IMAGE064
的权值
Figure 95865DEST_PATH_IMAGE061
自减从
Figure 483640DEST_PATH_IMAGE063
Figure 673313DEST_PATH_IMAGE066
的最短路径跳数(记为
Figure 714081DEST_PATH_IMAGE067
);如果
Figure 811350DEST_PATH_IMAGE068
Figure 519543DEST_PATH_IMAGE061
自减
Figure 676855DEST_PATH_IMAGE069
;每个网络节点的剩余权值表示在所述网络节点上分配合并器的适应度;
选择剩余权值最大的所述网络节点来承载合并器。
本发明通过预先计算常见子链的嵌入子解,构建子链数据库的方式,以解决在线场景下关于时效性的要求,提高了求解的实时性。
S320、分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则。
一些实施方式中,S320具体包括:
分析所述服务功能链中所述虚拟化网络功能之间的直接可并行性;
根据所述直接可并行性,得到所述服务功能链中所述虚拟化网络功能之间的间接可并行性;
根据所述直接可并行性和所述间接可并行性,得到网络功能并行机制规则。
S330、根据所述网络功能并行机制规则将所述服务功能链切分成若干子链。
一些实施方式中,S330具体包括:
从不同的SFC中提取常见的可并行部分。为了明确后续表述,本公开定义静态VNF为:已知一个VNF集合
Figure 204920DEST_PATH_IMAGE070
包含
Figure 105880DEST_PATH_IMAGE071
个不同的VNF,如果存在一个VNF
Figure 934158DEST_PATH_IMAGE072
,有
Figure 262371DEST_PATH_IMAGE073
个NFP规则与
Figure 277732DEST_PATH_IMAGE074
相关,则
Figure 451224DEST_PATH_IMAGE074
被称为基于VNF集合
Figure 134010DEST_PATH_IMAGE070
的静态VNF。
在一个确定的VNF集合中,静态VNF与所有其他的VNF都具有确定的依赖关系,因此静态VNF能够自然的将该VNF集合切分成多个子集。然后,对每个子集而言,若存在基于本子集的静态VNF,则该子集将再次被切分。VNF集合的切分将一直迭代至所有的子集不包含基于自身的静态VNF或只包含一个VNF。
基于以上VNF集合切分过程,SFC可被切分为一系列基础的子链。切分后的同一子链中的VNF具有并行运行的潜力,而各子链之间仍然保持顺序关系。
可选的,对于每个包含不少于两个VNF的基础子链,将检验其是否能够通过VNF并行获得足够的处理延迟优化。若可以,则保留该子链;否则,将该子链打散为一系列单个VNF。其中,上述检验操作是通过先将目标子链转换为服务功能树(Service FunctionTree, SFT)结构,再通过比对SFT中最长端到端延时与该子链的顺序结构的端到端延时以实现。将子链转换为SFT结构的方法,如本公开S310中所述。
S340、在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解。
一些实施方式中,S340具体包括:
判断所述子链包括的虚拟化网络功能的数量;
若所述子链仅包括一个虚拟化网络功能,则选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
若所述子链包括至少两个虚拟化网络功能,则查询子链数据库是否包括有所述子链的嵌入子解;
若所述子链数据库包括有所述子链的嵌入子解,则依据预设的概率选取一个入口节点与上一个嵌入的子链的出口节点邻近的嵌入子解;所述概率与所述嵌入子解的代价成负相关,且与所述嵌入子解的容量成正相关;
若所述子链数据库不包括所述子链的嵌入子解,则将所述子链分解成仅包括一个虚拟化网络功能的子链;依照服务功能链的顺序,对于所述仅包括一个虚拟化网络功能的子链,选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
用最短路径连接各个嵌入子解以得到所述服务功能链的嵌入候选解。
S350、根据网络资源余量,检测得到的所述服务功能链的嵌入候选解的可行性。
所产生的候选解将被检验所述候选解的可行性。若所述候选解被检验通过,则所述请求的混合型SFC将按照所述候选解的分配方案部署;否则,需再次计算候选解直至所求得的候选解被检验通过或者重新计算的次数超过阈值。在上述超过阈值的情况下,所述请求将被拒绝。详细的,当候选解检验不通过时,将标记所述候选解中包括的瓶颈资源,并且在重新求解的过程中含有这些被标记资源的嵌入子解将被暂时禁止选用。
当候选解生成时,将根据当前实时的网络资源余量检测所述候选解是否能够被完整部署。若能,则将返回一个ACK以通知所述候选解已被录用;否则,将通过返回一个包括瓶颈资源标签的信息以通知所述候选解已被拒收。
监控网络资源的实时余量(如VNF实例剩余容量和网络链路带宽),从而可以检测生成的候选解的可行性,可选的,基于网络资源用度的改变量,触发新一轮的预计算过程。
嵌入一个新请求的SFC或者一个网络流的终止都会引起网络资源余量的改变。相对于上次预计算时使用的网络快照,当资源余量累计改变值超过一定阈值,则将触发新一轮的预计算过程以避免存储的嵌入子解容量和实际的资源用度之间的严重不匹配。本公开通过平均所有网络资源的利用率的改变量的绝对值,以衡量上述资源余量累计改变值。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图4为本说明书一个或多个实施例提供的实时的混合型服务功能链嵌入代价优化方法的工作流程的一种流程示意图。
与上述任意实施例方法相对应的,基于本公开提供的实时的混合型服务功能链嵌入代价优化方法,本公开将工作流程内容分为三个模块,分别为SFC分析模块、在线模块和离线模块,其中,SFC分析模块包括VNF依赖关系分析组件、规则扩展组件和SFC切分组件;在线模块包括子链数据库和候选解生成器;离线模块包括SFT转换器、预计算组件和网络监控组件。
VNF依赖关系分析组件,用于分析所述服务功能链中所述虚拟化网络功能之间的直接可并行性。
规则扩展组件,用于根据所述直接可并行性,得到所述服务功能链中所述虚拟化网络功能之间的间接可并行性;根据所述直接可并行性和所述间接可并行性,得到网络功能并行机制规则。
SFC切分组件,用于根据所述网络功能并行机制规则将所述服务功能链切分成若干子链。
子链数据库,用于在预先构建的子链数据库中查询所述子链。
候选解生成器,用于根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解。
SFT转换器,用于将所述子链转换成服务功能树。
预计算组件,用于计算所述服务功能树的嵌入子解。
网络监控组件,用于根据网络资源余量,验证得到的所述服务功能链的嵌入候选解的可行性。
如图4所示,作为一个示例,一个流请求对应的服务功能链(Service FunctionChain, SFC)中包括五个虚拟化网络功能(Virtual Network Function, VNF),分别为虚拟化网络功能1、2、3和4。分析这五个虚拟化网络功能之间的直接可并行性,根据所述直接可并行性,得到所述服务功能链中所述虚拟化网络功能之间的间接可并行性,根据所述直接可并行性和所述间接可并行性,得到网络功能并行机制规则。假设虚拟化网络功能1、2、3和4之间具有可并行性,虚拟化网络功能1、2、3、4和5之间均不具有可并行性,那么,根据所述网络功能并行机制规则将所述服务功能链切分成两个子链,分别为子链1和子链2,子链1包括虚拟化网络功能1、2、3和4,子链2包括虚拟化网络功能5。
在预先构建的子链数据库中查询子链1和子链2。假设子链1为首次出现的子链和子链2为子链数据库中包含的子链。那么,查询得到子链2对应的嵌入子解。由于子链1为首次出现的子链,子链数据库中不存在子链1对应的嵌入子解,将子链1分解成仅包括一个虚拟化网络功能的子链,即分解成仅分别包含虚拟化网络功能1、2、3和4中的一个的子链;依照服务功能链的顺序,对于所述仅包括一个虚拟化网络功能的子链,选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点。最后,用最短路径连接各个嵌入子解以得到所述服务功能链的嵌入候选解。同时,会将子链1最终得到的嵌入子解结果存入子链数据库,以更新子链数据库。
得到所述服务功能链的嵌入候选解之后,将根据网络资源余量,检测得到的所述服务功能链的嵌入候选解的可行性。若能,则将返回一个ACK以通知所述候选解已被录用;否则,将通过返回一个包括瓶颈资源标签的信息以通知所述候选解已被拒收。另外,基于网络资源用度的改变量,将触发新一轮的预计算过程。
上述实施例的工作流程用于实现前述任一实施例中相应的实时的混合型服务功能链嵌入代价优化方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的实时的混合型服务功能链嵌入代价优化方法。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 所述设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,所述设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包括实现本说明书实施例方案所必需的组件,而不必包括图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的实时的混合型服务功能链嵌入代价优化方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图6为本说明书一个或多个实施例提供的仿真实验的性能评估结果的示意图,为了验证本公开提出的实时的混合型服务功能链嵌入代价优化方法及设备的性能,进行了如下仿真实验:
首先,通过调节适应度因子
Figure 633124DEST_PATH_IMAGE075
中的参数
Figure 135781DEST_PATH_IMAGE076
为0和1,分别得到本公开提出的实时的混合型服务功能链嵌入代价优化方法的两个版本,分别记为SFT-M和SFT-O。其中,
Figure 378543DEST_PATH_IMAGE076
为调节容量与代价的权重,所以,SFT-M在预计算中的筛选步骤和候选解生成过程中均只考虑价格因素,选择最便宜的嵌入子解;而SFT-O在上述两个步骤中都折中考虑嵌入子解的价格和容量因素。
通过在不同的网络条件配置下运行并与已有算法对比以评估本公开在降低嵌入代价、实时响应和系统稳定性等各方面性能。
本实验中的对比算法包含有MBBE算法和两种基线算法:分别为RANV和MINV。其中,RANV是一个随机算法,它随机选择网络节点以部署SFC中包含的各个VNF;而MINV是一种简单贪婪算法,它选择包含最便宜网络实例的VNF以部署SFC中包含的各个VNF;最后,RANV和MINV都使用最短路径以路由SFC中各VNF之间的连接。MBBE算法是一个基于搜索的贪婪算法,其通过搜索流的源点附近的节点以分配VNF并用最短路径实现VNF之间的连接从而得到一系列候选解,并选择候选解中最便宜的解作为请求的SFC的最终部署方案。需要说明的是,MBBE只能应对单个DAG-SFC嵌入代价最优化问题,其中上述DAG-SFC为混合型SFC的一种特例。
为了方便后续表述,给出以下定义:
SFC规模:SFC包含的VNF的个数;网络规模:网络包含的网络节点个数;网络连通性:网络中各节点的平均度数;VNF部署率:各VNF在网络节点中的部署率平均值;平均价格比:网络中链路单位价格平均值与VNF单位价格平均值的比值;VNF价格波动率:VNF的最大值与其最小值之差的一半除以VNF的平均价格,该值主要描述VNF的价格浮动大小。
本实验通过一个随机网络生成器生成仿真网络拓扑。该生成器首先生成一个满足网络规模的随机树,并通过不断添加任意边直至满足上述网络连通性,此后按照VNF部署率随机在个网络节点上部署各种VNF,并按照平均价格比和VNF价格波动率以随机设置网络资源的单位代价。此外,本实验所用SFC请求通过一个随机SFC生成器产生。该SFC生成器通过组合一系列记录的VNF集合以生成SFC,并随机指定源节点,目的节点以及流量带宽以生成SFC请求。表1展示了仿真网络与SFC的基准配置。
表1 网络条件的基准配置
Figure 647326DEST_PATH_IMAGE077
本公开通过大规模对比仿真实验以评估本公开在不同网络条件下的性能。详细的,本实验主要包含六组对比实验,分别只改变上述基准配置中的一个条件以评估本公开在该网络属性改变下的性能影响。在以上实验中,同时评估了本公开的求解速率。此外,通过对比分析了配置不同的参数对本公开性能的影响。
具体的,分别在不同SFC规模,网络规模,网络连通性,VNF部署率,链路与VNF的平均价格比,VNF价格波动率条件下,对本公开进行性能评估,以及对实时性进行性能评估。
SFC规模对本公开性能的影响:
在本组实验中,除了SFC规模配置从1逐渐变化为9,其他配置均与上述基准配置相同。如图6中的a所示,嵌入SFC的代价随着SFC规模的变大而上升。然而,SFT-M算法相比于MINV和RANV,能够降低高达30%的SFC嵌入代价;而SFT-O相对于两个基准算法,能够降低高达20%的代价。此外,当SFC的规模变大时,SFT-M和SFT-O与两种基准算法的差距不断扩大。据分析,产生SFT-M和SFT-O之间的性能差距主要原因为,SFT-O为了保障系统的稳定性牺牲了部分优化嵌入代价方面的性能。图中MBBE和SFT-M之间的微小差距(大约4%)是由于本组实验为了兼容MBBE而使用了DAG-SFC作为实验用SFC。为了不失一般性,接下来的各组实验均使用一般混合型SFC。
网络规模对本公开性能的影响:
在本组实验中,除了网络规模的配置被更改为20、50、100、200、500和1000个节点,其他配置均与上述基准配置相同。本组实验的结果如图6中的b所示,当网络规模增长时,基准算法获得的嵌入方案成本大幅上升,而SFT-M和SFT-O的性能较为稳定;并且基准算法与SFT-M和SFT-O之间的性能差距不断增加。据分析,发生上述性能差异的主要原因是当网络规模变大时,基准算法选择距离较远的VNF以部署SFC请求的可能性增大,从而导致路由VNF之间的连接的链路代价上升。在不同的网络规模条件下,相对于基准算法,SFT-O和SFT-M分别至少能降低9%和21%的嵌入代价。
网络连通性对本公开性能的影响:
在本组实验中,网络连通度从2逐步增加到16。实验结果如图6中的c所示, SFT-M和SFT-O的性能一直优于基准算法。就整体而言,随着网络连通性的增强,嵌入SFC的代价将降低。据分析,出现上述现象的原因是当网络连通性增强时使用较短的路由路径实现VNF之间的连接的可能性增大。
VNF部署率对本公开性能的影响:
在本组实验中,VNF部署率从20%逐步增加到70%。实验结果如图6中的d所示,随着VNF部署率增大,基准算法求得的解的代价发生波动,而SFT-M和SFT-O的求得的解的代价持续降低。据分析,出现上述现象的原因是,当VNF部署率上升时,SFT-M和SFT-O通过在邻近的节点部署VNF以更大的可能性利用更短的路由路径以实现VNF之间的连接。
链路与VNF的平均价格比对本公开性能的影响:
在本组实验中,平均价格比从1%逐渐增加到50%。如图6中的e所示,当平均价格比上升时,各方法求得的解的代价都在增大。据分析,上述现象主要与平均链路价格的上涨有关。然而,基准算法求得解的代价上升速率比SFT-M和SFT-O更大,这主要因为SFT-M和SFT-O在预计算过程中能够合理的这种VNF代价和链路代价。
VNF价格波动率对本公开性能的影响:
在本组实验中,VNF价格波动率从5%逐渐调整到50%。如图6中的f所示,当VNF价格波动变大时,SFT-M和SFT-O和MINV求得的解的代价不断降低,并且SFT-M和SFT-O与MINV的性能差距不断减小。据分析,VNF价格波动越剧烈,MINV越能通过选择价格最低的VNF以降低VNF代价从而降低SFC嵌入代价。即便如此,即使当VNF价格波动率达到50%,与MINV相比,SFT-M依旧能够获得更好的性能,而SFT-O会造成大约3%的嵌入代价增长。
对实时性的性能评估:
在上述六组实验中,同时对嵌入SFC的响应时间进行了评估。表2展示了第一组实验中的响应时间数据,随着SFC规模变大,各方法都存在响应时间变长的趋势。其中,SFT-M和SFT-O嵌入单个SFC的响应时间稳定在几毫秒的级别,而对比算法的响应时间增长明显,尤其是MBBE算法的响应时间剧烈增长。局分析,上述现象是由于随着SFC规模的增大,对比算法将需要计算更多的VNF间路由路径,尤其是MBBE计算更多的候选解以增大搜索空间。
由于其他五组的实验结果与表2中第5行数据相似,因此不再逐个展示。实际上,VNF部署率、平均价格比和VNF价格波动率的变化对响应时间的影响甚微。当除SFC规模以外的其他5项网络配置改变时,SFT-M和SFT-O的响应时间基本稳定在毫秒级;而当网络规模增大或网络连通性降低时,对比算法的响应时间明显增长。在所有上述实验中,SFT-M和SFT-O的响应时间维持在毫秒级;当SFC规模大于2时,相比于对比算法,SFT-M和SFT-O降低了至少22倍的响应时间。上述实验结果表明,SFT-M和SFT-O能够支持混合型SFC的实时响应。
表2 SFC规模对响应时间的影响(单位:ms)
Figure 317342DEST_PATH_IMAGE078
参数
Figure 307294DEST_PATH_IMAGE057
的配置对SFT-M和SFT-O性能的影响:
在本组实验中,所有的网络配置保持与基准配置一致;分别用SFT-M和SFT-O两个变种将100个不同的SFC请求重复嵌入1000次;并分别统计SFT-M和SFT-O仅经过一次候选解计算就得到可行解的比率(下文中称其为命中率)。实验结果表明SFT-O的平均命中率高达73%,是SFT-M的平均命中率(29%)的2.5倍。据分析,上述现象主要因为SFT-M在预计算过程中不考虑容量因素导致存储的嵌入子解可能包含瓶颈资源或容量较小。因此,配置一个适当的
Figure 557010DEST_PATH_IMAGE057
能够合理的折中系统稳定性和嵌入代价。
综上所述,SFT-M和SFT-O相比于基准算法能够获得可观的嵌入代价降低,尤其是当嵌入DAG-SFC时SFT-M能够达到与MBBE相接近(相差大概4%)的代价优化。通过引入预计算,SFT-M和SFT-O能够在数毫秒的时间内响应混合型SFC的嵌入请求,相比于已有算法降低了至少22倍。此外,参数的引入使得SFT-M和SFT-O能够灵活的折中系统稳定性和嵌入代价。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (9)

1.一种实时的混合型服务功能链嵌入代价优化方法,其特征在于,包括:
分析服务功能链中虚拟化网络功能之间的可并行性,得到网络功能并行机制规则;具体包括:分析所述服务功能链中所述虚拟化网络功能之间的直接可并行性;根据所述直接可并行性,得到所述服务功能链中所述虚拟化网络功能之间的间接可并行性;根据所述直接可并行性和所述间接可并行性,得到网络功能并行机制规则;
根据所述网络功能并行机制规则将所述服务功能链切分成若干子链;
在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解;所述预先构建的子链数据库包括子链和子链对应的嵌入子解。
2.根据权利要求1所述的优化方法,其特征在于,还包括:预先计算若干子链的嵌入子解,构建子链数据库;
具体包括:
将所述子链转换成服务功能树;
计算所述服务功能树的嵌入子解。
3.根据权利要求1所述的优化方法,其特征在于,还包括:根据网络资源余量,验证得到的所述服务功能链的嵌入候选解的可行性。
4.根据权利要求1所述的优化方法,其特征在于,所述在预先构建的子链数据库中查询所述子链,根据所述子链对应的嵌入子解,得到所述服务功能链的嵌入候选解,包括:
判断所述子链包括的虚拟化网络功能的数量;
若所述子链仅包括一个虚拟化网络功能,则选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
若所述子链包括至少两个虚拟化网络功能,则查询子链数据库是否包括有所述子链的嵌入子解;
若所述子链数据库包括有所述子链的嵌入子解,则依据预设的概率选取一个入口节点与上一个嵌入的子链的出口节点邻近的嵌入子解;所述概率与所述嵌入子解的代价成负相关,且与所述嵌入子解的容量成正相关;
若所述子链数据库不包括所述子链的嵌入子解,则将所述子链分解成仅包括一个虚拟化网络功能的子链;依照服务功能链的顺序,对于所述仅包括一个虚拟化网络功能的子链,选择一个与上一个嵌入的子链的出口节点邻近的且包括所述虚拟化网络功能的网络节点,分配所述虚拟化网络功能到所述网络节点,并将所述网络节点设置为所述子链的出口节点;
用最短路径连接各个嵌入子解以得到所述服务功能链的嵌入候选解。
5.根据权利要求2所述的优化方法,其特征在于,所述将所述子链转换成服务功能树,包括:
将一个空的虚拟化网络功能作为入口虚拟化网络功能,并将所述子链的所有虚拟化网络功能都连接在所述空的虚拟化网络功能后,以构建初始服务功能树;
按照广度优先搜索的顺序依次遍历所述初始服务功能树的每个所述虚拟化网络功能;
对于每个所述虚拟化网络功能,基于所述网络功能并行机制规则检测所述虚拟化网络功能的所有后置虚拟化网络功能;若所述虚拟化网络功能没有后置虚拟化网络功能,则直接跳过节点遍历下一个所述节点;
在所述初始服务功能树中获取所述虚拟化网络功能的所有后置虚拟化网络功能的共同先祖虚拟化网络功能;
将当前虚拟化网络功能从所述初始服务功能树中切除,并将所述当前虚拟化网络功能插入到所述共同先祖虚拟化网络功能与所述共同先祖虚拟化网络功能包括的所述当前虚拟化网络功能的后置虚拟化网络功能的子树之间,作为叶子节点;
遍历完所有所述子链的虚拟化网络功能后,将所有所述叶子节点连接至合并器,以生成服务功能树。
6.根据权利要求2所述的优化方法,其特征在于,所述计算所述服务功能树的嵌入子解,包括:
将所述服务功能树分解成若干个兄弟虚拟化网络功能集合;所述兄弟虚拟化网络功能集合的所有元素均为所述服务功能树中具有相同父虚拟化网络功能的兄弟虚拟化网络功能;
对于每一个网络节点,将当前网络节点作为入口节点;
按照广度优先搜索的顺序遍历所有兄弟虚拟化网络功能集合,基于每个上一个遍历的兄弟虚拟化网络功能集合的嵌入子解生成当前兄弟虚拟化网络功能集合的嵌入子解;
遍历完所有兄弟虚拟化网络功能集合后,通过分配合并器并路由所述服务功能树的各叶子虚拟化网络功能分配的网络节点到合并器所分配的网络节点的路径以生成所述子链的嵌入子解。
7.根据权利要求6所述的优化方法,其特征在于,还包括:
对于每个节点
Figure 549200DEST_PATH_IMAGE001
和第
Figure 347392DEST_PATH_IMAGE002
个服务功能树,根据适应度因子
Figure 77450DEST_PATH_IMAGE003
从大到小的顺序,筛选出前若干个以
Figure 480750DEST_PATH_IMAGE001
为入口节点嵌入第
Figure 5272DEST_PATH_IMAGE002
个服务功能树的嵌入子解;
其中,计算所述适应度因子的公式为:
Figure 290760DEST_PATH_IMAGE004
其中,
Figure 824509DEST_PATH_IMAGE005
为适应度因子;
Figure 879053DEST_PATH_IMAGE006
为入口节点为
Figure 840056DEST_PATH_IMAGE001
的第
Figure 816102DEST_PATH_IMAGE002
个服务功能树的第
Figure 622384DEST_PATH_IMAGE007
个嵌入子解的容量;
Figure 797013DEST_PATH_IMAGE008
为入口节点为
Figure 928918DEST_PATH_IMAGE001
的第
Figure 186068DEST_PATH_IMAGE002
个服务功能树的第
Figure 999303DEST_PATH_IMAGE007
个嵌入子解的代价;
Figure 28439DEST_PATH_IMAGE009
为调节容量与代价的权重。
8.根据权利要求5所述的优化方法,其特征在于,还包括:
将所有网络节点的权值
Figure 596824DEST_PATH_IMAGE010
设置为
Figure 78620DEST_PATH_IMAGE011
对于每个叶虚拟化网络功能,假设其被分配在网络节点
Figure 492284DEST_PATH_IMAGE001
,则提取一个网络节点集合
Figure 579189DEST_PATH_IMAGE012
,所述网络节点集合
Figure 52896DEST_PATH_IMAGE012
包括了所有距离网络节点
Figure 21989DEST_PATH_IMAGE001
不超过
Figure 239343DEST_PATH_IMAGE013
跳的网络节点;
对于每个网络节点
Figure 243071DEST_PATH_IMAGE014
,如果
Figure 90942DEST_PATH_IMAGE015
,则网络节点
Figure 547331DEST_PATH_IMAGE014
的权值
Figure 302797DEST_PATH_IMAGE010
自减从
Figure 161032DEST_PATH_IMAGE001
Figure 976541DEST_PATH_IMAGE014
的最短路径跳数
Figure 920226DEST_PATH_IMAGE016
;如果
Figure 479384DEST_PATH_IMAGE017
Figure 395387DEST_PATH_IMAGE010
自减
Figure 116218DEST_PATH_IMAGE018
;每个网络节点的剩余权值表示在所述网络节点上分配合并器的适应度;
选择剩余权值最大的所述网络节点来承载合并器。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
CN202011600848.XA 2020-12-30 2020-12-30 一种实时的混合型服务功能链嵌入代价优化方法及设备 Active CN112333035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011600848.XA CN112333035B (zh) 2020-12-30 2020-12-30 一种实时的混合型服务功能链嵌入代价优化方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011600848.XA CN112333035B (zh) 2020-12-30 2020-12-30 一种实时的混合型服务功能链嵌入代价优化方法及设备

Publications (2)

Publication Number Publication Date
CN112333035A CN112333035A (zh) 2021-02-05
CN112333035B true CN112333035B (zh) 2021-04-02

Family

ID=74301833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011600848.XA Active CN112333035B (zh) 2020-12-30 2020-12-30 一种实时的混合型服务功能链嵌入代价优化方法及设备

Country Status (1)

Country Link
CN (1) CN112333035B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938930B (zh) * 2021-12-16 2022-03-25 中国船舶重工集团公司第七二二研究所 适应5g网络多业务场景的虚拟网络功能转发图的构建方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110476453A (zh) * 2017-04-28 2019-11-19 华为技术有限公司 用于向客户提供网络切片的服务发放

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9462084B2 (en) * 2014-12-23 2016-10-04 Intel Corporation Parallel processing of service functions in service function chains
WO2017131765A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Verifying a service function chain
US10666516B2 (en) * 2016-04-04 2020-05-26 Avago Technologies International Sales Pte. Limited Constraint-based virtual network function placement
CN108092803B (zh) * 2017-12-08 2020-07-17 中通服咨询设计研究院有限公司 网络功能虚拟化环境中实现网元级并行化服务功能的方法
CN108768736B (zh) * 2018-06-05 2021-04-23 中国人民解放军国防科技大学 一种混合型服务功能链嵌入代价的优化方法
CN108494685B (zh) * 2018-06-05 2020-07-31 中国人民解放军国防科技大学 服务链在多播路由中的最优嵌入方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110476453A (zh) * 2017-04-28 2019-11-19 华为技术有限公司 用于向客户提供网络切片的服务发放

Also Published As

Publication number Publication date
CN112333035A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
CN112738820B (zh) 一种服务功能链的动态部署方法、装置及计算机设备
CN112153700B (zh) 一种网络切片资源管理方法及设备
Lischka et al. A virtual network mapping algorithm based on subgraph isomorphism detection
CN108768736B (zh) 一种混合型服务功能链嵌入代价的优化方法
Gill et al. Modeling on quicksand: Dealing with the scarcity of ground truth in interdomain routing data
US10341189B2 (en) Operator fusion management in a stream computing environment
CN104683488B (zh) 流式计算系统及其调度方法和装置
Wang et al. Virtual network mapping with traffic matrices
CN103516733A (zh) 一种虚拟私有云的处理方法及装置
CN111682962A (zh) 一种电力数据网故障恢复方法、系统及存储介质
CN114268371B (zh) 量子通道资源分配方法、装置和电子设备
CN112333035B (zh) 一种实时的混合型服务功能链嵌入代价优化方法及设备
Cheung et al. Green resource allocation algorithms for publish/subscribe systems
Shirmarz et al. Automatic software defined network (SDN) performance management using TOPSIS decision-making algorithm
CN112214316A (zh) 基于物联网的数据资源分配方法及云计算服务器
Janßen et al. Scheduling stream processing tasks on geo-distributed heterogeneous resources
Chai et al. A parallel placement approach for service function chain using deep reinforcement learning
CN115277429A (zh) 基于灵活以太网的电力通信业务资源分配方法及装置
US9391875B2 (en) Resource oriented dependency graph for network configuration
Luizelli et al. Characterizing the impact of network substrate topologies on virtual network embedding
Garg et al. Heuristic and reinforcement learning algorithms for dynamic service placement on mobile edge cloud
Keller et al. Template embedding: Using application architecture to allocate resources in distributed clouds
Wen et al. An efficient resource embedding algorithm in software defined virtualized data center
CN109309858A (zh) 一种互斥图标的显示方法、装置、设备及介质
Nesi et al. Tackling virtual infrastructure allocation in cloud data centers: a gpu-accelerated framework

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant