CN114124796A - 服务链部署处理的方法、装置、计算机存储介质及终端 - Google Patents

服务链部署处理的方法、装置、计算机存储介质及终端 Download PDF

Info

Publication number
CN114124796A
CN114124796A CN202111247767.0A CN202111247767A CN114124796A CN 114124796 A CN114124796 A CN 114124796A CN 202111247767 A CN202111247767 A CN 202111247767A CN 114124796 A CN114124796 A CN 114124796A
Authority
CN
China
Prior art keywords
cost
path
deployment
node
sfc
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.)
Pending
Application number
CN202111247767.0A
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202111247767.0A priority Critical patent/CN114124796A/zh
Publication of CN114124796A publication Critical patent/CN114124796A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文公开一种服务链部署处理的方法、装置、计算机存储介质及终端,包括:对层次化拓扑进行遍历时;根据预设的两项以上成本信息确定用户请求的最短路径;转换最短路径转换为SFC部署信息;其中,两项以上成本信息包括服务质量(SLA)违背成本、以及虚拟化网络功能(VNF)部署及运行成本和/或链路带宽成本。本发明实施例引入SLA违背成本作为路径搜索的参数,与VNF部署及运行成本和/或链路带宽成本结合确定提供用户请求的路径,由于引入的SLA违背成本对用户请求的转发时延进行考虑,因此提升了SFC部署方案的质量和用户体验。

Description

服务链部署处理的方法、装置、计算机存储介质及终端
技术领域
本文涉及但不限于边缘计算技术,尤指一种服务链部署处理的方法、装置、计算机存储介质及终端。
背景技术
随着移动通信技术和物联网技术的发展,包括增强现实应用、驾驶助手服务和个人健康助手应用等移动网络服务也随之快速增长。这类移动网络服务通常具有计算密集型的特点,且具有不同的时延敏感度需求。对于一些时延敏感型服务,它们所能容忍的最大传播时延往往在几十到几百毫秒之间。如果将这类服务部署到远离用户的公有云来处理用户的应用请求,并通过骨干网来转发流量数据,则通常无法满足时延敏感型服务的时延需求。
边缘计算(EC,Edge Computing)技术是一种新型的云计算技术,它通过在靠近用户侧的网络边缘提供资源有限的云计算基础设施,形成边缘计算网络,为各种移动网络服务提供一定的计算能力。同时,由于更加靠近用户,边缘计算网络具有天然的低时延特点,满足时延敏感类服务的低时延需求,弥补在公有云部署网络服务所导致的请求转发时延过高等不足。为了节省为用户请求提供服务时产生的云计算基础设施运维成本,边缘计算网络也存在着成本管理需求,网络功能虚拟化(NFV,Network Function Virtualization)技术可以满足这一需求。在NFV系统中,网络功能以软件的形式运行在通用服务器上,以这种方式实现的网络功能被称为虚拟化网络功能(Virtual Network Function,VNF)。相比于专用的硬件网络设备,VNF可以以更低的运维成本进行部署和调度,同时NFV系统也提供了弹性和可规模化的VNF管理方式。考虑到现有的网络服务通常由若干个网络功能组成,服务链(SFC,Service Function Chain)技术作为一种灵活的网络服务提供方式,它可以与NFV技术相结合,将多个VNF以链的形式连接起来,以此提供一种完整的网络服务。
在EC网络中,对网络服务的提供成本和质量进行优化是一个重要的课题;其中,网络服务的提供成本主要指在EC网络和公有云中部署和运行VNF以及转发用户请求所产生的经济成本;而服务质量主要指用户请求在得到网络服务过程中的服务延迟等指标,若用户请求未能在指定时延前完成网络服务,则影响用户的服务体验;如何对网络服务的提供成本和SFC部署方案的质量进行优化,提升用户的服务体验,成为一个有待解决的问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种服务链部署处理的方法、装置、计算机存储介质及终端,能够提升SFC部署方案的质量。
本发明实施例提供了一种服务链部署处理的方法,包括:
对层次化拓扑进行遍历时,根据预设的两项以上成本信息确定用户请求的最短路径;
将确定的最短路径转换为SFC部署信息;
其中,所述两项以上成本信息包括服务质量SLA违背成本、以及虚拟化网络功能VNF部署及运行成本和/或链路带宽成本。
另一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述服务链部署处理的方法。
再一方面,本发明实施例还提供一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如上述服务链部署处理的方法。
还一方面,本发明实施例还提供一种服务链部署处理的装置,包括:确定单元和转换单元;其中,
确定单元设置为:对层次化拓扑进行遍历时,根据预设的两项以上成本信息确定用户请求的最短路径;
转换单元设置为:将获得的最短路径转换为SFC部署信息;
其中,所述两项以上成本信息包括服务质量SLA违背成本、以及虚拟化网络功能VNF部署及运行成本和/或链路带宽成本。
本申请技术方案包括:对层次化拓扑进行遍历时;根据预设的两项以上成本信息确定用户请求的最短路径;转换最短路径转换为SFC部署信息;其中,两项以上成本信息包括服务质量(SLA)违背成本、以及虚拟化网络功能(VNF)部署及运行成本和/或链路带宽成本。本发明实施例引入SLA违背成本作为路径搜索的参数,与VNF部署及运行成本和/或链路带宽成本结合确定提供用户请求的路径,由于引入的SLA违背成本对用户请求的转发时延进行考虑,因此提升了SFC部署方案的质量和用户体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例服务链部署处理的方法的流程图;
图2为本发明实施例服务链部署处理的装置的结构框图;
图3为本应用示例层次化拓扑的示意图;
图4为本应用示例一用户数据的示意图;
图5为本应用示例另一用户数据的示意图;
图6为本应用示例校园网流量的用户请求数据对应的SFC部署总成本曲线图;
图7为本应用示例随机流量的用户请求数据对应的SFC部署总成本曲线图;
图8为本发明应用示例校园网流量的实现成本的累计概率分布(CDF)图;
图9为本发明应用示例随机流量的实现成本的CDF图;
图10为本发明应用示例校园网流量的VNF部署及运行成本的对比分析图;
图11为本发明应用示例随机流量的VNF部署及运行成本的对比分析图;
图12为本发明应用示例校园网流量的服务质量违背成本的对比分析图;
图13为本发明应用示例随机流量的服务质量违背成本的对比分析图;
图14为本发明应用示例校园网流量的链路带宽成本的对比分析图;
图15为本发明应用示例随机流量的链路带宽成本的对比分析图;
图16为本发明应用示例SFC部署总成本较最优解的对比分析图;
图17为最大搜索深度对算法运行时间和算法精确度的影响图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请发明人分析发现:相关技术中的研究通常专注于对VNF部署运行成本以及流量路由成本进行优化;其中,流量路由成本包括转发用户请求产生的链路带宽成本和用户请求转发的端到端时延,这些处理未对不同用户请求的时延敏感度进行考虑,导致不合理的资源抢占问题;这一问题产生的主要是因为网络中用户请求到达的不确定性,当一些时延容忍度较高的用户请求先到达边缘计算网络时,若只是单纯地最小化每个请求的带宽消耗和转发时延,可能会导致这类用户请求被分配到边缘云中进行处理。由于边缘云中的计算资源有限,当时延容忍度较高的用户请求量较大时,会导致边缘云计算资源被耗尽;而对于之后到达的时延容忍度较底(敏感型)的用户请求,则不得不被转发到公有云上处理,而这就会导致较高的用户请求转发时延,产生大量的服务质量违背成本(用户请求未能在指定时延前完成网络服务,网络服务提供商需要向用户赔偿的成本),增加网络服务的提供成本,降低SFC部署方案的质量,影响用户的使用体验。
图1为本发明实施例服务链部署处理的方法的流程图,如图1所示,包括:
步骤101、对层次化拓扑进行遍历时,根据预设的两项以上成本信息确定用户请求的最短路径。
其中,两项以上成本信息包括服务质量(SLA)违背成本、以及虚拟化网络功能(VNF)部署及运行成本和/或链路带宽成本;
步骤102、将获得的最短路径转换为服务链(SFC)部署信息。
在一种示例性实例中,本发明实施例确定最短路径后,通过最短路径可以确定VNF实例部署在哪些云节点上(通过寻找最短路径中的垂直链路来确定),实现最短路径在原始拓扑(用于构建层次化拓扑的原始边缘云网络拓扑)中的映射(即该最短路径中的链路分别对应原拓扑中的哪些链路),即转换最短路径为SFC部署信息;本发明实施例可以参照相关技术实现最短路径到SFC部署信息的转换。
本发明实施例引入SLA违背成本作为路径搜索的参数之一,与VNF部署及运行成本和/或链路带宽成本结合确定提供用户请求的路径,由于引入的SLA违背成本对用户请求的转发时延进行考虑,因此提升了SFC部署方案的质量和用户体验。
在一种示例性实例中,根据预设的两项以上成本信息确定用户请求的最短路径之前,本发明实施例方法还包括:
根据用户请求的源点和终点、用户请求所需的SFC、和边缘计算(EC)的网络拓扑,构建层次化拓扑。
在一种示例性实例中,本发明实施例可以根据包括层次化算法(LayeredGraph)在内的相关算法,构建层次化拓扑。
在一种示例性实例中,本发明实施例对层次化拓扑进行遍历时,本发明实施例方法还包括:
对每一次遍历出的路径进行可行性检查,并根据可行性检查的结果确定通过可行性检查的路径;
其中,一次遍历包括:以层次化拓扑中的节点到其邻居节点的搜索,节点为路径的起点,节点的邻居节点为路径的终点。
本发明实施例通过可行性检查,确保剩余路径为可行路径,提升SFC部署信息的准确性。
在一种示例性实例中,本发明实施例可以参照相关技术对遍历出的路径可行性检查;在一种示例性实例中,本发明实施例对遍历出的路径可行性检查,包括:对遍历出的路径上的节点,确定已部署到该节点上的所有VNF实例所占用的总计算资源是否超过节点的资源容量;对于路径中的链路,确定已路由到该链路上的请求的流量速率之和是否超过链路的带宽容量限制。
在一种示例性实例中,对每一次遍历出的路径进行可行性检查之后,本发明实施例方法还包括:
对通过可行性检查的路径,将该路径中的起点记录为已访问节点;
其中,层次化拓扑中的节点仅允许访问一次。
在一种示例性实例中,本发明实施例可以通过预先设定的标识标记节点是否被访问过。
在一种示例性实例中,本发明实施例根据预设的两项以上成本信息确定用户请求的最短路径,包括:
对通过可行性检查的每一条路径,分别根据两项以上成本信息计算用户请求的源点到达路径的终点的SFC部署总成本;
确定层次化拓扑中的节点均被访问时,将计算出的从用户请求的源点到终点的SFC部署总成本最低的路径确定为最短路径。
在一种示例性实例中,本发明实施例可以通过相关技术中的最短路径算法执行上述遍历。在一种示例性实例中,本发明实施例计算源点到同一节点的SFC部署总成本包含两个以上时,可以进行仅保留SFC部署总成本最低的路径的处理。
在一种示例性实例中,本发明实施例通过预设算法进行层次化拓扑遍历时,包含可行性检查的遍历过程可以包括:
首次遍历层次化拓扑时,以用户请求的源点作为第一次遍历起点,通过预设算法搜索层次化拓扑中起点的邻居节点;对起点到其邻居节点的路径进行可行性检查;可行性检查通过时,根据两个以上成本信息计算源点到起点的邻居节点的SFC部署总成本;
从第二次遍历层次化拓扑开始,将在前一次遍历的起点确定为已访问节点,确定层次化拓扑中的节点是否均被访问;
确定层次化拓扑中的有节点未被访问时,以在前一次遍历后确定的已访问节点的邻居节点作为当前遍历的起点,通过预设算法搜索层次化拓扑中当前遍历的起点的邻居节点;对当前遍历的起点到其邻居节点的路径进行可行性检查;可行性检查通过时,根据两个以上成本信息计算源点到当前遍历的起点的邻居节点的SFC部署总成本;
确定层次化拓扑中的节点均被访问时,确定从用户请求的源点到终点的SFC部署总成本最低的路径,确定为最短路径。
在一种示例性实例中,对每一次遍历出的路径进行可行性检查时,本发明实施例方法还包括:
按照预设策略选出一个以上通过可行性检查的路径;
对选出的每一个通过可行性检查的路径,以该路径中的起点的邻居节点作为遍历的起点,对层次化拓扑进行预设次数的遍历;
进行预设次数遍历时,对每一次遍历出的路径分别进行可行性检查;
根据可行性检查的结果确定通过可行性检查的路径;
遍历出的路径通过可行性检查时,根据两个以上成本信息计算源点到该路径起点的邻居节点的SFC部署总成本。
在一种示例性实例中,本发明实施例按照预设策略选出一个以上通过可行性检查的路径可以包括:选择所有通过可行性检查的路径;在一种示例性实例中,本发明实施例按照预设策略选出一个以上通过可行性检查的路径可以包括:在遍历路径过程中,选择其中部分通过可行性检查的路径。
在一种示例性实例中,本发明实施例预设次数可以由本领域技术人员根据运算速度和获得最短路径的质量要求进行设定。
在一种示例性实例中,本发明实施例可以基于深度优先搜索(DFS)技术对层次化拓扑进行上述预设次数的遍历。
本发明实施例通过可行性检查,确保剩余路径为可行路径,提升SFC部署信息的准确性。
在一种示例性实例中,本发明实施例方法还包括:
通过预设元组记录计算SFC部署总成本的参数信息;
其中,参数信息包括:两个以上成本信息中的一个以上信息,一个以上用于确定成本信息的相关信息。
在一种示例性实例中,本发明实施例用于确定成本信息的相关信息包括:期望完成时间。
在一种示例性实例中,本发明实施例可以参照相关技术,通过堆来记录层次化网络中所有待访问的节点;堆为路径搜索算法中用于记录节点是否被访问的一种数组对象结构;在遍历开始前,将层次化网络中的节点添加到堆中;当节点被访问时,将访问过的节点从堆中取出。
在一种示例性实例中,本发明实施例可以通过堆的变量存储层次化拓扑中的节点以及该节点与用户请求的源点间的距离,两者一起作为堆中的一个元素。本发明实施例中的堆为最小堆,从最小堆中取出最小元素的复杂度为O(NlogN),而直接从一个数组中取最小元素的复杂度为O(N),在遍历节点时可以节省时间;因此,使用最小堆加速了节点遍历过程;对层次化拓扑中的节点进行遍历,等待遍历的节点被加入到堆中,被访问过的节点被取出;本发明实施例节点的加入和取出通过堆的pop函数和push函数实现;其中,pop函数用于取出堆中节点,push函数用于向堆中添加节点;当堆为空时,表示层次化拓扑中的节点已被访问过。参照层次化拓扑的搜索策略,所有节点只能被访问一次,在执行路径搜索的初始阶段,用户请求的源点会被加入到堆中,之后层次化拓扑中所有的节点都会在路径搜索的过程中不断地加入到堆中;是否被访问是最短路径算法中节点的一种状态,它表示节点是否已被访问。堆中的节点是否被访问过可以通过预先设定的变量进行标识,对于已经访问过的节点,在之后的路径搜索过程中,再次遍历到该节点时,将不进行路径遍历处理,以此节省算法运行时间,避免算法无法收敛。在一种示例性实例中,本应用示例通过使用变量vis来记录节点的被访问状态,vis变量为一个由布尔值构成的数组,其长度等于层次化拓扑中的节点数量,数组中所有值在初始状态下均为False,表示所有节点未被访问过;当节点在路径搜索过程中被访问过时,该节点在vis变量中的值会被设置为True,表示该节点已被访问过,之后将不再对其进行遍历。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述服务链部署处理的方法。
本发明实施例还提供一种终端,包括:存储器和处理器,存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
计算机程序被处理器执行时实现如上述服务链部署处理的方法。
图2为本发明实施例服务链部署处理的装置的结构框图,如图2所示,包括:确定单元和转换单元;其中,
确定单元设置为:对层次化拓扑进行遍历时,根据预设的两项以上成本信息确定用户请求的最短路径;
转换单元设置为:将获得的最短路径转换为SFC部署信息;
其中,两项以上成本信息包括SLA违背成本、以及VNF部署及运行成本和/或链路带宽成本。
本发明实施例引入SLA违背成本作为路径搜索的参数,与VNF部署及运行成本和/或链路带宽成本结合确定提供用户请求的路径,由于引入的SLA违背成本对用户请求的转发时延进行考虑,因此提升了SFC部署方案的质量和用户体验。
在一种示例性实例中,本发明实施例装置还包构建单元,设置为:
根据用户请求的源点和终点、用户请求所需的SFC、和EC的网络拓扑,构建层次化拓扑。
在一种示例性实例中,本发明实施例确定单元还设置为:对每一次遍历出的路径进行可行性检查,并根据可行性检查的结果确定通过可行性检查的路径;
其中,一次遍历包括:以层次化拓扑中的节点到其邻居节点的搜索,节点为路径的起点,节点的邻居节点为路径的终点。
在一种示例性实例中,本发明实施例确定单元还设置为:对通过可行性检查的路径,将该路径中的起点记录为已访问节点;
其中,层次化拓扑中的节点仅允许访问一次。
在一种示例性实例中,本发明实施例确定单元设置为根据预设的两项以上成本信息确定用户请求的最短路径,包括:
对通过可行性检查的每一条路径,分别根据两项以上成本信息计算用户请求的源点到达路径的终点的SFC部署总成本;
确定层次化拓扑中的节点均被访问时,将计算出的从用户请求的源点到终点的SFC部署总成本最低的路径确定为最短路径。
对每一次遍历出的路径进行可行性检查时,本发明实施例确定单元还设置为:
按照预设策略选出一个以上通过可行性检查的路径;
对选出的每一个通过可行性检查的路径,以该路径中的起点的邻居节点作为遍历的起点,对层次化拓扑进行预设次数的遍历;
进行预设次数遍历时,对每一次遍历出的路径分别进行可行性检查;
根据可行性检查的结果确定通过可行性检查的路径;
遍历出的路径通过可行性检查时,根据两个以上成本信息计算源点到该路径起点的邻居节点的SFC部署总成本。
在一种示例性实例中,本发明实施例装置还包括记录单元,设置为:
通过预设元组记录计算SFC部署总成本的参数信息;
其中,参数信息包括:两个以上成本信息中的一个以上信息,一个以上用于确定成本信息的相关信息。
以下通过应用示例对本发明实施例进行简要说明,应用示例仅用于陈述本发明实施例,并不用于限定本发明的保护范围。
应用示例
本应用示例的目的是最小化服务每个用户请求的SFC部署总成本,包括以下成本之和:所产生的VNF部署及运行成本、用户请求转发产生的链路带宽成本以及用户请求的服务质量违背成本;其中,VNF部署及运行成本包括:部署和运行VNF实例时所产生的时间成本和经济成本,时间成本主要为部署新的VNF实例时在云节点上启动云容器或虚拟机所产生的时间,经济成本包括:云基础设施运行时消耗的能源成本和云容器的租赁成本;链路带宽成本:主要指路由流量时需要占用网络链路带宽所产生经济成本;本应用示例中,参照相关技术中的计算:VNF部署及运行成本CO(t)的表达式为:
Figure BDA0003321670060000111
Figure BDA0003321670060000112
链路带宽成本CB(t)的表达式为:
Figure BDA0003321670060000113
Figure BDA0003321670060000114
的SFC部署总成本可以形式化为一个混合整数线性规划(MILP,Mixed Integer LinearProgramming)问题,表示如公式1-8:
Figure BDA0003321670060000115
Figure BDA0003321670060000116
Figure BDA0003321670060000121
Figure BDA0003321670060000122
Figure BDA0003321670060000123
Figure BDA0003321670060000124
Figure BDA0003321670060000125
Figure BDA0003321670060000126
在上述MILP问题中,公式(1)为SFC部署总成本的目标函数;公式(2)为VNF处理能力的处理容量约束,即进入一个VNF实例的总用户请求的流量速率不能超过其处理能力,处理能力指在任意时刻t,VNF f在云节点n上所能处理的请求数量;公式(3)为边缘云节点容量限制,即在边缘云上部署VNF数量不能超过边缘云的处理容量上限。公式(4)表示链路带宽的容量约束。公式(5)是为了保证对于每一个请求k,它所需的SFC中每两个相邻的VNF f和f′如果分别部署在节点n和n′上,则节点n和n′间只能有一条转发路径被选择,公式(6)是公式(5)的约束条件;表1为上述公式中涉及参数的参数说明:
Figure BDA0003321670060000127
Figure BDA0003321670060000131
表1
VNF f的实例所能处理的最大流量可参照相关技术由流量速率计算得到,由于流量速率的单位一般为比特/秒(bit/s)或字节/秒(bytes/s),也可用与之相同的单位表示,例如:一个VNF f的实例每秒能处理的最大流量。VNF f的处理容量与VNF f的类别相关,根据VNF f的类别可以确定VNF f的处理容量。节点n的资源容量限制指节点n所拥有的最大计算资源量,表示节点n上最多运行VNF实例数;节点n的资源容量限制主要根据节点所拥有的中央处理器(CPU)、内存或其他计算资源的总量设置;链路l的带宽容量限制,链路l的带宽容量限制指链路l所能容纳的最大流量,最大流量可由流量速率计算得到,由于流量速率的单位一般为比特/秒(bit/s)或字节/秒(bytes/s),也可用与之相同的单位表示,例如:一条链路l每秒最多可处理的最大流量;链路l的带宽资源成本指:在链路l上转发一定bit或byte的流量需要支付的费用,一般由网络运行商制定,可从公开渠道获取;链路l是否属于节点n和n′间的路径p指:在网络拓扑已知的情况下,通过图的路径遍历算法得到任意节点n和n′间的路径,以此判断链路l是否属于节点n和n′间的路径。用户请求k所需的SFC根据用户请求本身需要的网络服务;比如:对于一条视频流量,它需要视频压缩和解压缩两种网络功能所构成的SFC服务;用户请求k的服务质量违背成本系数由网络服务提供商根据提供服务的能力及客户的需求等信息确定;t时刻节点n上部署的VNF f的实例数量:VNF f的实例指运行该VNF f的云容器或虚拟机,t时刻节点n上部署的VNF f的实例数量可以通过统计该节点n上运行该VNF的云容器或虚拟机的数量确定;t时刻节点n上新增的VNF f的实例数量可以根据t-1时刻节点n上部署的VNF f的实例数量与t时刻节点n上部署的VNF f的实例数量进行相减后确定。链路l的转发时延可以根据相关技术中的网络测量方法获得,也可以从提供该链路的网络运营商的宣称信息中获取。
本应用示例首先根据用户请求所需的SFC以及边缘计算网络拓扑构建一个层次化拓扑(也可称为多层拓扑);利用路径搜索算法搜索从用户请求的源点到终点的最短路径;搜索出最短路径后,本应用示例转化确定的最短路径为SFC部署信息。
本应用示例在预设的一个时间周期T内(时间周期T可以由本领域技术人员根据经验设定,可以是几天、几周或几个月,只要能够获取到该时间周期内用户请求的到达情况即可),每个时刻t都会有若干的用户请求到达(用户请求集合K),对于用户请求集合K中的每个用户请求k,本应用示例为其构造一个层次化拓扑G′;在一种示例性实例中,本应用示例可以应用图的LayeredGraph构建层次化拓扑G′,构建层次化拓扑G′的处理包括:按照用户请求所需SFC的长度h,将原始拓扑复制h次;将复制的原始拓扑按照垂直方向向下排列,然后将相邻的两个拓扑(即相邻的两层)通过垂直链路连接;基于上述构建处理获得层次化拓扑G′包含h+1层(h为用户请求所需SFC的长度,即SFC包含VNF的个数),其中,原始拓扑指原始边缘云网络拓扑G,原边缘网络拓扑由边缘云节点、公有云节点、普通转发节点、以及节点间的链路组成。在一种示例性实例中,本发明实施例可以采用相关技术中的其他算法构建层次化拓扑G′;图3为本应用示例层次化拓扑的示意图,如图3所示,层次化拓扑中Layer 1就是Layer 0(第0层网络拓扑)的复制;变量vi表示原始拓扑中节点v在第i层中的对应节点;任意相邻的两层原始拓扑只能由节点vi-1和vi间的垂直链路连接(节点vi只能是原始拓扑的边缘云节点或公有云节点);本发明实施例层次化拓扑中的链路同样具有链路权重;其中,垂直链路的权重主要与三种成本相关:1、VNF部署成本ηf,n;2、VNF运行成本μf,n;3、VNF处理时延pf;水平链路的权重主要与链路带宽成本δl和转发时延κl相关。在多层拓扑中,用户请求k从层次化拓扑的第一层拓扑中的源点srck流入,通过h层拓扑后获取所需的网络服务(用户请求k所需的服务链Jk中),最后从第h+1层中的终点dstk流出;图3中用户请求k所需的SFC包含两种VNF:VNF1和VNF2,因此层次化拓扑一共包含3层。在此层次化拓扑中,节点C、H和J是边缘云节点,节点E是公有云节点,其他节点是普通转发节点;临近的两个拓扑层间只能通过节点Ci、Hi、Ji和Ei连接(只有这些节点可以部署VNF)。用户请求k的源点和终点分别为节点A和节点I;假设确定的用户请求k的SFC部署信息为由节点E和H部署的VNF,而具体的路由路径如图中虚线所示,那么SFC部署在原始拓扑中的体现为:A→B→E(VNF1)→G→H(VNF2)→I。
在构建好层次化拓扑后,需要搜索SFC部署总成本最低的路径;本应用示例搜索SFC部署总成本最低的路径,本发明实施例计算SFC部署总成本涉及的组成包括搜索到的路径的:VNF部署及运行成本的累加和,为便于后续处理过程的陈述,本应用示例通过dr_c表示VNF部署及运行成本的累加和;服务质量违背成本的累加和,为便于后续处理过程的陈述,本应用示例通过sla_c表示服务质量违背成本的累加;链路带宽成本的累加和,为便于后续处理过程的陈述,本应用示例通过bw_c表示链路带宽成本的累加和;资源权重的累加和,资源权重包括节点的资源权重和/或链路的资源权重,为便于后续处理过程的陈述,本应用示例通过res_w表示资源权重的累加和,res_w取值为剩余资源容量的倒数与一个常数系数的乘积,每当路径搜索遍历到一个节点或一条链路时,该值就会被更新,从而避免低成本资源被先到达的请求抢先耗尽;其中,进行VNF部署及运行成本的累加运算时,需要根据剩余的期望完成时间remn_t进行,剩余的期望完成时间的取值开始时为负数(即-Mk(t),Mk(t)为用户请求k的期望服务完成时间),当路径搜索过程中遍历到一条水平或垂直链路时,该变量的值就会根据链路的转发时延或VNF处理时延进行累加(例如一个请求的期望完成时间是500毫秒(ms),当它到达节点A0时,remn_t的值为-500,而在该请求在路径搜索过程中经过转发时延为80ms的链路A0→B0后,remn_t的值被更新为-420)。根据上述定义,SFC部署总成本为:dr_c,sla_c,bw_c和res_w的和;在一种示例性实例中,本应用示例根据dr_c、sla_c、bw_c、res_w和remn_t构建五元组,通过五元组记录计算访问到的每一个节点的SFC部署总成本的参数信息。
在一种示例性实例中,本应用示例dr_c依据CO(t)计算,在算法运行过程中,每遍历到一条垂直链路时,表示需要部署新的VNF实例或使用已有的VNF实例;如果存在部署新VNF实例,即当前节点上没有该VNF的实例或已有的VNF实例的处理容量不足以满足用户请求所需的流量(即流量速率)时,按照实际需求确定
Figure BDA0003321670060000161
的值,
Figure BDA0003321670060000162
可以使用请求流量速率除以VNF f的处理容量得
Figure BDA0003321670060000163
再将
Figure BDA0003321670060000164
向上取整;
Figure BDA0003321670060000165
的值此时与
Figure BDA0003321670060000166
的值相等;接下来对dr_c进行累加更新即可,即计算
Figure BDA0003321670060000167
其中,下标l和l-1用于标识区分遍历到链路的时序,即l-1为较l更早一次遍历到链路。如果不存在部署新VNF实例,即当前节点上已有的该VNF的实例可以处理用户请求的流量,此时只需确定
Figure BDA0003321670060000168
的值即可,确定方式同样为计算
Figure BDA0003321670060000169
并对计算结果向上取整;对dr_c根据
Figure BDA00033216700600001610
本应用示例根据remn_t的值计算sla_c;若remn_t的值小于0,则sla_c的值为0;若remn_t的值大于0,则sla_c=τk×remn_t。
在一种示例性实例中,本应用示例可以根据CB(t)计算bw_c;本应用示例可以参照CB(t)对bw_c的计算进行调整,例如,链路带宽成本的计算公式调整为δl×Rk,在算法运行过程中,每遍历到一条水平链路,根据上述公式计算当前链路的链路带宽成本;bw_c的计算公式为bw_c(l)=bw_c(l-1)l×Rk
在一种示例性实例中,本应用示例每遍历到一个节点,对res_w进行更新,遍历到节点时,更新res_w的计算公式为:res_w(k)=res_w(k-1)n;其中,下标k和k-1用于标识区分遍历到节点的时序,k-1为较k更早一次遍历到节点。遍历到链路时,更新res_w的计算公式为:res_w(l)=res_w(l-1)l
在一种示例性实例中,本应用示例每遍历到一条水平链路,就根据当前链路的转发时延κ(l)对remn_t进行更新,更新公式为:remn_t(l1)=remn_t(l1-1)+κ(l);每遍历到一条垂直链路,就根据当前垂直链路所代表的VNF的处理时延pf对remn_t进行更新,更新公式为:remn_t(l2)=remn_t(l2-1)+pf;其中,κ(l)和pf的值可通过网络测量得到;其中,下标l1、l2、l1-1和l2-1用于标识区分遍历到链路的时序,l1-1为较l1更早一次遍历到水平链路,l2-1为较l2更早一次遍历到水平链路。
在一种示例性实例中,本发明实施例可以借助相关技术中已有的算法进行路径搜索,包括但不限于:迪科斯彻算法(Dijkstra)算法。
本应用示例搜索SFC部署总成本最低的路径之前,需要根据公式
Figure BDA0003321670060000171
计算拓扑中每个节点的资源权重值,根据公式
Figure BDA0003321670060000172
计算拓扑中每个链路的资源权重值,式中,remn(n)为节点的剩余容量,remn(l)分为链路的剩余容量,节点的剩余容量和链路的剩余容量可以通过网络测量获取;对于节点n,剩余资源量指剩余的CPU或内存资源;对于链路l,剩余资源量主要指剩余的链路带宽容量;∈n和∈l由本领域技术人员根据经验设定和调整。
本应用示例通过编程语言编辑实现路径搜索算法,基于上述定义,为实现路径搜索算法,本应用示例需要初始化三个数组变量:path,dis和vis;其中,path用于记录层次化拓扑中用户请求的源点到其他每个节点的最短路径,dis用于记录path中每条路径的长度,vis用于记录层次化拓扑中的节点是否已经被访问(避免节点在搜索算法中被充分遍历)。同时路径搜索算法会维护一个堆变量pq,用于加快层次化拓扑的遍历速度,用户请求的源点是第一个被加入堆变量pq的节点;之后路径搜索算法会访问层次化拓扑中的所有节点,所有节点完成访问时,根据记录的路径长度确定用户请求的源点到终点的最短路径,以下就本应用示例路径搜素算法的部分程序进行简要说明:
输入:
Figure BDA0003321670060000173
//输入参数第一部分:G为原始的边缘云网络拓扑,V为拓扑中所有节点的集合,L为拓扑中链路的集合,N为所有可部署VNF实例的节点集合,K为用户请求的集合,T为算法运行覆盖的时间周期,
Figure BDA0003321670060000181
为VNF f在节点n上的部署,
Figure BDA0003321670060000182
为VNF f在节点n上的运行成本,π(n)为节点n的资源容量限制,b(l)为链路l的带宽容量限制;
输入:Jk,Rk,Mk,srck,dstk,∈n,∈1,Φ,κ(l),pf1//输入参数第二部分:用户请求k所需的SFC,用户请求k的流量速率,Mk为用户请求k的服务期望完成时间,srck为用户请求k的源点,dstk为用户请求k的终点,∈n和∈l为资源权重系数计算公式中的常数,Φ为最大搜索深度(表示进行预设次数的遍历,由本领域技术人员根据搜索速度和精度等设定;Φ值越大,运行时间越长,路径搜索准确度越高;Φ值越小,运行时间越短,路径搜索准确度较低),κ(l)为链路l的转发时延,pf为VNF f的处理时延,δl为链路l的带宽资源成本;
输出:shk//用户请求k的SFC部署信息;
1.for t∈T,k∈K do//对于算法运行覆盖的时间周期T中的每个时刻t,以及在t时刻到达的每个用户请求k,寻找最优的SFC部署信息;
2.
Figure BDA0003321670060000185
//根据原始边缘云网络拓扑G,用户请求k所需的SFCJk,构造层次化拓扑G′;
3.for each v∈N,l∈L do//对层次化拓扑中所有云节点和链路进行遍历;
4.αnl←CalWeight(v,l)//对每个云节点v和链路l,计算αn和αl
5.end
6.初始化三个数组变量path,dis以及vis//初始化数组变量path,dis以及vis;
7.初始化一个最小堆
Figure BDA0003321670060000183
并将srck加入到pq中//pq用于存储路径搜索过程中所有待遍历的节点,在遍历开始前,将srck使用堆自带的push函数加入到pq中;
8.while
Figure BDA0003321670060000184
do//只要堆pq不为空,对pq中的元素进行遍历;
9.v←pq.pop()//使用堆自带的pop函数将堆pq顶部的元素取出,并标识为v;
10.if vis[v]then continue//如果节点v已被访问过,则不再访问该节点,继续取出pq的堆顶元素;
11.vis[v]←True//将节点v的访问状态标记为已访问;
12.for u∈G′(v)do//开始遍历在层次化拓扑G′中,所有节点v的邻居节点u;
13.if CheckPath(path[v],π(n),b(l))then//对源点srck到节点v的路径path[v]进行可行性检查,即对于路径上的每个节点,检查该节点上的所有VNF实例所占用的总计算资源是否超过节点的资源容量π(n),对于路径中的每条链路,检查已路由到该链路上的请求的流量速率之和是否超过链路的带宽容量限制b(l),若路径检查后该路径可行,继续对节点v的邻居节点u进行遍历;
14.DFSNode(u,path,dis,vis,G′,π(n),b(l),Φ,Mknl)//调用深度优先搜索(DFS)节点算法(Node)(第二次开始,遍历时应用的算法,其中加入了用于记录参数信息的元组),其流程参考对DFSNode算法的描述);
15.d←CalDis(G′,v,u,αnl,Mk)//更新dr_c,sla_c,bw_c,res_w,remn_t的值,计算节点u到用户请求的源点srck的距离,将其标识为d,距离的计算方式为求五元组权重中前四个元素的和)
16.if d<dis[u]then//判断d的值是否小于之前dis中存储的u到srck的距离;
17.Update(u,dis[u],path[u],path[v],d)//如果d小于之前dis中存储的u到srck的距离,则对path和dis中u对应位置处之存储的值进行更新,dis[u]更新为d,path[u]更新为path[v]中存储的路径加上链路‘v->u’;
18.将节点u加入pq中//通过堆自带的push函数将节点u加入到pq中;
19.end
20.end
21.end
22.end
23.shk←path[dstk]//通过读取path中请求终点dstk位置处存储的值,即可获取dstk到srck的最短路径,这也是用户请求k的最优SFC部署信息;
本应用示例路径搜索算法的遍历流程主要基于第8-22行的汇编语言实现。首先,如果变量pq不为空(路径搜索算法的第8行),则取出变量pq中的一个节点v(即堆中的堆顶节点),检查该节点是否被访问过(路径搜索算法的第9-10行),如果该节点未被访问过,则更新其访问状态(路径搜索算法的第11行),并开始遍历其邻居节点u(路径搜索算法的12-21行),遍历其邻居节点u过程包括:需要检查节点v到其邻居节点u的路径是否可行,即检查节点或链路的资源容量约束是否被违背(路径搜索算法的第13行);若检查通过,则继续遍历节点u的邻居节点u′(路径搜索算法的第14行),这一过程为一个递归的过程,需调用算法2(DFSNode),在算法2中会执行类似路径搜索算法的中第10-21行的操作,即重复的遍历当前节点的邻居节点,并更新变量dis和path。同时,算法2的递归次数会被变量Φ(最大搜索深度)限制,每进行一次递归(即调用一次DFSNode),就更新变量curDepth(如算法2中第2行所示,该变量初始值为0),当该变量的值超过Φ时就停止递归(如算法2中第4行所示)。在DFSNode执行结束后,路径搜索算法会计算从节点u到节点的v路径长度(路径搜索算法的第15行),若计算得到的路径长度更小,则分别更新变量dis和path中的值(路径搜索算法的第16-17行),此过程会更新节点u到节点n的最短路径(对应变量path[u]处的值),以及该路径的长度(对应变量dis[u]处的值);之后,将节点u加入变量pq中(路径搜索算法的第18行)。当层次化拓扑中所有的节点都被访问过后(此时变量pq中没有新的元素,且vis中所有节点对应的变量值均为True,即已被访问),通过获取变量path[dstk]中的值,即可得到用户请求k从源点到终点的最短路径,之后再将其转化为一个可行的SFC部署信息(路径搜索算法的第23行)。这一过程包括了确定请求k所需SFC中VNF的部署节点(通过寻找最短路径所包含的在多层拓扑里对应属于垂直链路的链路即可确定)和用户请求在原始边缘云网络拓扑中的路由路径(通过寻找最短路径所包含的在层次化拓扑里对应属于水平链路的链路,并将其映射到原始拓扑中即可确定)。
DFSNode算法
输入:u,path,dis,vis,G′,π(n),b(l),Φ,Mknl//u为层次化拓扑中的一个节点它的取值由路径搜索算法的第12行的值决定,path,dis,vis均来自路径搜索算法,其取值取决于路径搜索算法的运行,G′为层次化拓扑,π(n)为云节点n的资源容量限制,b(l)为链路l的资源容量限制,Mk为请求k的服务期望完成时间,αnl分别为云节点和链路的资源权重值,其取值由算法1中第4行决定;
输出:无
1.初始化curDepth=0//初始化一个变量curDepth,记录当前的搜索深度,其初始值为0;
2.foru′∈G′(u)do//开始遍历在层次化拓扑G′中,所有节点u的邻居节点u′;
3.curDepth←curDepth+1//将curDepth的值增加1,表示已针对节点u进行了一层深度优先搜索;
4.if vis[u′]then continue//如果节点u′已被访问过,则不再对该节点进行遍历,继续遍历下一个邻居节点;
5.if curDepth≥Φthen return//如果当前搜索深度已超过规定的最大搜索深度,则停止继续搜索,并退出DFSNode算法,回到SFC-CEB算法;
6.if CheckPath(path[u],π(n),b(l))then//对源点srck到节点u的路径path[u]进行可行性检查,即对于路径上的每个节点,检查该节点上的所有VNF实例所占用的总计算资源是否超过节点的资源容量π(n),对于路径中的每条链路,检查已路由到该链路上的请求的流量速率之和是否超过链路的带宽容量限制b(l),若路径检查后该路径可行,则继续对节点u的邻居节点u′进行遍历;
7.DFSNode(u′,path,dis,vis,G′,π(n),b(l),Φ,Mknl)//对u′调用DFSNode算法,这是一个递归的过程;
8.d←CalDis(G′,u,u′,αnl,Mk)//更新dr_c,sla_c,bw_c,res_w和remn_t的值,计算节点u′到用户请求源点srck的距离,将其标识为d,距离的计算方式为求五元组(dr_c,sla_c,bw_c,res_w,remn_t)权重中前四个元素的和)
9.if d<dis[u′]then//判断d的值是否小于之前dis中存储的u′到srck的距离;
10.Update(u′,dis[u′],path[u′],path[u],d)//如果d小于之前dis中存储的u′到srck的距离,则对path和dis中u′对应位置处之存储的值进行更新,dis[u′]更新为d,path[u′]更新为path[u]中存储的路径加上链路‘u->u′’;
11.将节点u′加入pq中//通过堆自带的push函数将节点u′加入到pq中;
12.end
13.end
14.end
以下通过预先设定的数据集对本应用示例进行实验说明:
1)网络拓扑:本应用示例在两个网络拓扑上进行实验,分别为美国科研教育网(Abilene)(包含11个节点和14条链路)和美国商用运营商骨干网(Uunet)(包含49个节点和84条链路)。在每几个拓扑中会随机选择若干个节点作为边缘云节点,一个节点作为公有云节点。边缘云节点的容量被随机设置为[20,40]个单位(1个单位表示可以容纳1个VNF实例),而公有云的容量被设定为无限。链路的转发时延被随机设置为[3,70]毫秒(ms),链路的带宽容量被随机的设置在[10,20]吉比特/秒(Gb/s)之间。本应用示例节点属于边缘云节点或公有云节点,根据相关技术设定。边缘云的资源容量可根据边缘云基础设施所拥有的CPU或内存资源总量来设置。
2)流量数据:实验用到的SFC部署的用户请求的数据主要包含实际和随机生成两类;其中实际数据主要采集自校园网流量,而随机生成数据则依据泊松模型生成;图4为本应用示例一用户数据的示意图,图5为本应用示例另一用户数据的示意图,图中横坐标中每个单位表示10分钟,即图中横坐标的25表示25*10=250分钟;如图4和图5所示,每个用户请求的源点和终点均根据拓扑进行随机设置(拓扑中的非边缘云或公有云节点),每个用户请求的流量速率从[1,10]兆比特/秒(Mb/s)区间内随机取值,用户请求的服务期望完成时间则从[50,800]ms区间内随机取值。同时,每个用户请求也有相应的生存周期(随机生成),在生存周期内,云网络需为其提供计算资源以完成网络服务,而在其生存周期经过后,释放用户请求所占用的资源。
本应用示例VNF部署及运行成本参数:实验中主要包含10种不同的VNF,每个VNF的实例每秒可以处理50到100Mb的用户请求。每个SFC包含2到5个VNF。本应用示例随机设置每个VNF实例的部署成本
Figure BDA0003321670060000231
和运行成本
Figure BDA0003321670060000232
链路带宽成本(δl∈[0.1,0.8]),服务质量违背成本系数(τk∈[0.002,0.01])。
在一种示例性实例中,本应用示例以上部署成本可根据实际时间或经济成本进行设置,且可以通过预设运算方式进行归一化处理,归一化处理后的数值为无量纲参数,不再拥有单位,这样处理可以将所有成本表示在一个相同的度量范围内;在一种示例性实例中,本应用示例VNF实例部署成本可以通过以下公式进行归一化处理:
Figure BDA0003321670060000233
实例启动时间,VNF实例运行成本可以通过以下公式进行的归一化处理:
Figure BDA0003321670060000234
Figure BDA0003321670060000235
链路带宽成本可以通过以下公式进行归一化处理:δl=ζ3×链路带宽经济成本,服务质量违背成本系数可以通过以下公式进行归一化处理:τk=ζ4×服务质量违背经济成本;以上时间和经济成本均可由本领域技术人员通过相关原理确定,上述公式中的ζ1234为归一化系数,可由本领域技术人员根据经验值设定。
用于与本应用示例对比的算法:依赖型随机化服务链实例供应算法(RDIP,Randomized Dependent Instance Provision),RDIP是一个已有的对SFC在边缘云网络中部署的算法,它的目标主要是联合优化VNF的部署及运行成本,请求的端到端时延以及链路带宽成本;通过求解线性规划问题,并应用依赖型随机近似算法来获取VNF部署方案,并以此获取流量的路由方式。该方法主要用来解释单纯的最小化SFC部署总成本(VNF部署成本与流量路由成本之和)不考虑请求的时延敏感度的不足之处。服务链负载均衡部署算法(SFC-MAP,SFC embedding approach),SFC-MAP是一个已有的关于SFC在多数据中心网络中部署的算法,它的主要用于实现网络拓扑中节点和链路资源上的负载均衡。该方法主要用于对比说明负载均衡算法在SFC部署总成本上的优化效果;理论最优SFC部署算法(OPT-MILP),OPT-MILP表示通过现有的线性规划问题求解器来直接求解原始的MILP问题,得到的理论最优解;为便于后续对比陈述,以下简称RDIP为第一算法,简称SFC-MAP为第二算法,简称OPT-MILP为第三算法,简称本发明实施例搜索获得最短路径的算法为第四算法。
实验结果:本应用示例在Uunet拓扑上使用实际和随机生成的两组SFC的用户请求,将本发明实施例提出的搜索最短路径的算法,与RPID算法和SFC-MAP算法在VNF部署及运行成本、服务质量违背成本、带宽资源成本和SFC部署总成本上进行了对比。图6为本应用示例校园网流量的用户请求数据对应的SFC部署总成本曲线图,图7为本应用示例随机流量的用户请求数据对应的SFC部署总成本曲线图,如图6和图7所示,其中,图中横坐标中每个单位表示10分钟,即图中横坐标的50表示50*10=500分钟,纵坐标为归一化处理的数值,为无量纲参数;曲线1-1表示第一算法的SFC部署总成本;曲线2-1表示第二算法的SFC部署总成本,曲线3-1表示第四算法的SFC部署总成本;比对曲线可以看出,第四算法在两种用户请求数据下都可以实现最低的SFC部署总成本,相比于第一算法,第四算法减少了最多37%和33%的成本(平均降低19%和21%),相比于第二算法,第四算法减少了最多46%和35%的成本(平均降低28%和21%);当用户请求量较大时,第四算法的成本优化效果更加明显。图8为本发明应用示例校园网流量的实现成本的CDF图,图9为本发明应用示例随机流量的实现成本的CDF图,如图8和图9所示,其中,横坐标为归一化处理的数值,为无量纲参数;曲线1-2表示第一算法的实现成本的概率分布CDF曲线;曲线2-2表示第二算法的实现成本的概率分布CDF曲线,曲线3-2表示第四算法的实现成本的概率分布CDF曲线;本应用示例算法能以更高的概率实现更低的成本。
另外,在VNF部署及运行成本上的对比结果如图10和图11所示,图中横坐标中每个单位表示10分钟,即图中横坐标的25表示25*10=250分钟,纵坐标为归一化处理的数值,为无量纲参数;曲线1-3表示第一算法的VNF部署及运行成本;曲线2-3表示第二算法的VNF部署及运行成本,曲线3-3表示第四算法的VNF部署及运行成本;从对比结果可以看出,第一算法在用户请求数量较多时可以实现更好的优化效果,这是因为第四算法和第二算法不会轻易允许低成本资源被耗尽(为了保留一定的资源给后到达的请求),这使得这两种算法在部署SFC时可能会导致比较高的VNF部署及运行成本。但第一算法不会考虑这种情况,它只是单纯的最小化VNF部署及运行成本、端到端时延以及带宽资源成本之和。
服务质量违背成本对比如图12和图13所示,图中横坐标中每个单位表示10分钟,即图中横坐标的50表示50*10=500分钟,纵坐标为归一化处理的数值,为无量纲参数;曲线1-4表示第一算法的服务质量违背成本;曲线2-4表示第二算法的服务质量违背成本,曲线3-4表示第四算法的服务质量违背成本;链路带宽成本对比如图14和图15所示,图中横坐标中每个单位表示10分钟,即图中横坐标的50表示50*10=500分钟,纵坐标为归一化处理的数值,为无量纲参数;曲线1-5表示第一算法的链路带宽成本;曲线2-5表示第二算法的链路带宽成本,曲线3-5表示第四算法的链路带宽成本;在这两种成本上,本应用示例的第四算法实现了最好的优化效果。这是因为第一算法和第二算法均没有考虑不同用户请求对时延敏感度的不同需求,导致具有更低路由成本的资源会被先到达的用户请求抢占,而后到达的用户请求只能被分配到具有更高路由成本的资源上去,从而产生更多服务质量违背成本和链路带宽成本。但第四算法则会根据请求对时延的容忍度需求,更加合理地分配优先的边缘云计算资源,从而有效的降低服务质量违背成本和链路带宽成本。从以上对比结果可以看出,第四算法牺牲了一定的VNF部署及运行成本,获得了更低的服务质量违背成本和链路带宽成本,在这三种成本间取得平衡,从而实现了更低的SFC部署总成本。
第四算法优化效果与理论最优解间的差距:实验在Abilene网络拓扑上对第四算法的优化效果与直接用求解器得到的理论最优解进行了对比;本应用示例用了若干个随机生成的用户请求集合,这些用户请求集合依次包含50、100、500、800和1000个用户请求。对比结果如图16所示,其中,左斜线填充表示第四算法的SFC部署总成本,无填充表示最优解的SFC部署总成本;第四算法实现的SFC部署总成本相比于理论最优解(图中ILP的图例)存在7.3%~8.8%的差距。
第四算法与理论最优解间的成本对比:本应用示例第四算法中包含预设次数的遍历(一个不断递归的DFS过程)过程,该过程影响了算法的运行时间和精确度(理论上DFS的搜索深度越大,第四算法更容易找到最优解,但运行时间也会更长)。最大搜索深度对算法运行时间和算法精确度的影响如图17所示,图中曲线4表示未找到最优解的概率,曲线5表示算法运行时间,从图示可知,当DFS的最大搜索深度为6时,算法可以保证找到最优解,但运行时间也达到了8秒,这对于在线算法是不可接受的。本应用示例当最大搜索深度为1或2(预设次数取值为1或2)时,为找到最优解的概率已经可以接受,而此时第四算法的运行时间为30到80ms,这也是一个可以接受的运行时间,此时,第四算法的运算质量和速度均可以满足应用需求。
“本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。”。

Claims (10)

1.一种服务链部署处理的方法,包括:
对层次化拓扑进行遍历时,根据预设的两项以上成本信息确定用户请求的最短路径;
将确定的最短路径转换为SFC部署信息;
其中,所述两项以上成本信息包括服务质量SLA违背成本、以及虚拟化网络功能VNF部署及运行成本和/或链路带宽成本。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的两项以上成本信息确定用户请求的最短路径之前,所述方法还包括:
根据所述用户请求的源点和终点、所述用户请求所需的SFC、和边缘计算EC的网络拓扑,构建所述层次化拓扑。
3.根据权利要求1所述的方法,其特征在于,所述对层次化拓扑进行遍历时,所述方法还包括:
对每一次遍历出的路径进行可行性检查,并根据可行性检查的结果确定通过所述可行性检查的路径;
其中,一次遍历包括:以所述层次化拓扑中的节点到其邻居节点的搜索,所述节点为所述路径的起点,节点的邻居节点为所述路径的终点。
4.根据权利要求3所述的方法,其特征在于,所述对每一次遍历出的路径进行可行性检查之后,所述方法还包括:
对通过所述可行性检查的路径,将该路径中的起点记录为已访问节点;
其中,所述层次化拓扑中的节点仅允许访问一次。
5.根据权利要求4所述的方法,其特征在于,所述根据预设的两项以上成本信息确定用户请求的最短路径,包括:
对通过所述可行性检查的每一条路径,分别根据所述两项以上成本信息计算所述用户请求的源点到达所述路径的终点的SFC部署总成本;
确定所述层次化拓扑中的节点均被访问时,将计算出的从用户请求的源点到终点的SFC部署总成本最低的路径确定为所述最短路径。
6.根据权利要求3所述的方法,其特征在于,所述对每一次遍历出的路径进行可行性检查时,所述方法还包括:
按照预设策略选出一个以上通过所述可行性检查的路径;
对选出的每一个通过所述可行性检查的路径,以该路径中的起点的邻居节点作为遍历的起点,对所述层次化拓扑进行预设次数的遍历;
进行所述预设次数遍历时,对每一次遍历出的路径分别进行所述可行性检查;
根据可行性检查的结果确定通过所述可行性检查的路径;
遍历出的路径通过所述可行性检查时,根据所述两个以上成本信息计算源点到该路径起点的邻居节点的SFC部署总成本。
7.根据权利要求5或7所述的方法,其特征在于,所述方法还包括:
通过预设元组记录计算所述SFC部署总成本的参数信息;
其中,所述参数信息包括:所述两个以上成本信息中的一个以上信息,一个以上用于确定所述成本信息的相关信息。
8.一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~7中任一项所述的服务链部署处理的方法。
9.一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如权利要求1~7中任一项所述的服务链部署处理的方法。
10.一种服务链部署处理的装置,包括:确定单元和转换单元;其中,
确定单元设置为:对层次化拓扑进行遍历时,根据预设的两项以上成本信息确定用户请求的最短路径;
转换单元设置为:将获得的最短路径转换为SFC部署信息;
其中,所述两项以上成本信息包括服务质量SLA违背成本、以及虚拟化网络功能VNF部署及运行成本和/或链路带宽成本。
CN202111247767.0A 2021-10-26 2021-10-26 服务链部署处理的方法、装置、计算机存储介质及终端 Pending CN114124796A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111247767.0A CN114124796A (zh) 2021-10-26 2021-10-26 服务链部署处理的方法、装置、计算机存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111247767.0A CN114124796A (zh) 2021-10-26 2021-10-26 服务链部署处理的方法、装置、计算机存储介质及终端

Publications (1)

Publication Number Publication Date
CN114124796A true CN114124796A (zh) 2022-03-01

Family

ID=80376787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111247767.0A Pending CN114124796A (zh) 2021-10-26 2021-10-26 服务链部署处理的方法、装置、计算机存储介质及终端

Country Status (1)

Country Link
CN (1) CN114124796A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317697A (zh) * 2017-05-25 2017-11-03 清华大学 一种ospf与sdn混合网络的路由配置方法
CN107332913A (zh) * 2017-07-04 2017-11-07 电子科技大学 一种5g移动网络中服务功能链的优化部署方法
CN107483286A (zh) * 2017-08-14 2017-12-15 电子科技大学 一种基于云‑雾环境下合并和部署服务功能链的方法
CN109617811A (zh) * 2019-01-29 2019-04-12 电子科技大学 一种云网络中移动应用的快速迁移方法
CN110505082A (zh) * 2019-07-26 2019-11-26 国家电网有限公司 一种面向成本和QoS的NFV服务链映射方法
CN111385202A (zh) * 2020-03-17 2020-07-07 重庆邮电大学 一种基于虚拟网络功能的路由分配方法
CN113422726A (zh) * 2021-06-21 2021-09-21 中国电信股份有限公司 服务链部署方法及装置、存储介质及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317697A (zh) * 2017-05-25 2017-11-03 清华大学 一种ospf与sdn混合网络的路由配置方法
CN107332913A (zh) * 2017-07-04 2017-11-07 电子科技大学 一种5g移动网络中服务功能链的优化部署方法
CN107483286A (zh) * 2017-08-14 2017-12-15 电子科技大学 一种基于云‑雾环境下合并和部署服务功能链的方法
CN109617811A (zh) * 2019-01-29 2019-04-12 电子科技大学 一种云网络中移动应用的快速迁移方法
CN110505082A (zh) * 2019-07-26 2019-11-26 国家电网有限公司 一种面向成本和QoS的NFV服务链映射方法
CN111385202A (zh) * 2020-03-17 2020-07-07 重庆邮电大学 一种基于虚拟网络功能的路由分配方法
CN113422726A (zh) * 2021-06-21 2021-09-21 中国电信股份有限公司 服务链部署方法及装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN110505101B (zh) 一种网络切片编排方法及装置
US10623277B2 (en) Network service pricing and resource management in a software defined networking environment
CN107332913A (zh) 一种5g移动网络中服务功能链的优化部署方法
US6044075A (en) Apparatus and method for routing a communication in a network
CN107454019B (zh) 软件定义网络动态带宽分配方法、装置、设备及存储介质
CN109792409A (zh) 用于在拥塞事件期间丢弃消息的方法、系统和计算机可读介质
CN112738820A (zh) 一种服务功能链的动态部署方法、装置及计算机设备
CN108809857A (zh) 一种基于sdn的流量监控与业务服务质量保障策略的方法
US20130055091A1 (en) Graph-Based Virtual Data Center Requests
US10419965B1 (en) Distributed meters and statistical meters
US20060282405A1 (en) System and method for optimized distributed file transfer
Gvozdiev et al. On low-latency-capable topologies, and their impact on the design of intra-domain routing
CN112217725B (zh) 一种基于边缘计算的延迟优化方法
WO2016173618A1 (en) Resource provisioning in a virtualized network
CN113300861B (zh) 网络切片配置方法、装置以及存储介质
CN107846371A (zh) 一种多媒体业务QoE资源分配方法
CN113422726B (zh) 服务链部署方法及装置、存储介质及电子设备
CN114124796A (zh) 服务链部署处理的方法、装置、计算机存储介质及终端
CN110430236A (zh) 一种部署业务的方法以及调度装置
CN105917621A (zh) 用于数据路由的方法和系统
Jarray et al. Efficient resource allocation and dimensioning of media edge clouds infrastructure
CN113965616A (zh) 一种基于vnf资源改变矩阵的sfc映射方法
Andonov et al. Generalized net representations of the causal structure of a queuing system
KR101911473B1 (ko) 데이터 센터 간 광역 통신망에서 통계적 다중화 및 자원 할당 시스템과 이의 방법
CN105162613B (zh) 一种基于光网络架构业务平面的资源量化分配方法

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