一种面向网络功能虚拟化的资源调度方法和系统与流程

文档序号:15777879发布日期:2018-10-30 15:46阅读:120来源:国知局
一种面向网络功能虚拟化的资源调度方法和系统与流程
本发明涉及网络功能虚拟化领域,尤其涉及一种面向网络功能虚拟化的资源调度方法和系统。
背景技术
:大数据的产生与发展对计算机网络,特别是数据中心网络提出了新的挑战与要求,而虚拟化技术和云计算技术的日渐成熟,使得网络功能的虚拟化部署成为现实,其安全性、共享性、可控性、可扩展性等特点成为人们关注的重点。传统的基于专用硬件部署的网络功能处理方式,部署周期长,运维复杂,不仅仅耗费了大量的财力物力,造成了资源的浪费,而且难于管理、弹性差,无法适应新时代大数据的要求,成为限制发展的因素。现如今,网络功能虚拟化(networkfunctionvirtualization,nfv)已能将诸多网络功能如防火墙、网络地址转换、域名服务系统、深层报文检测等用软件方式实现,部署在x86通用服务器上,其移植性和扩展性得到了显著的提高,大大节省了资源的开销。nfv技术成为互联网行业的一个主要趋势,也是时下学术界讨论的焦点。根据analysysmason咨询公司预测,到2019年,nfv产业规模将达到40亿美元。由此,如何提出一种合理的部署方案,以及相应的资源调度和管理办法,将虚拟的网络功能服务链放置在通用服务器上成为研究的热点。网络虚拟化技术在现实应用中具有重要意义,它的发展要适应硬件的新环境。特别是随着智能终端和移动互联网的发展,各种ott类新业务和商业模式不断在挑战运营商的传统优势地位。而传统电信网络基于私有平台部署,采用专用设备,部署周期长、运维复杂,运营商要想轻盈转身,就必须从根本上改变电信网络的部署和运维方式。目前硬件的进步支持了虚拟化的新功能,云计算技术也为虚拟化网络功能的部署提供了支持。然而如何将一条条服务链合理的部署在分布在不同地理位置的数据中心中,既要满足用户对服务质量和速度的要求,还要尽可能的节省部署开销和通信开销是网络功能虚拟化的一个难点。为了解决这个问题,人们分析不同服务链的特点以及之间网络功能的关联关系,根据当前的网络拓扑和资源情况、网络流的特征分配以及网络服务的需求建立模型,并设计出相应的资源分配和部署算法。目前研究的主要侧重方面:拓扑不同的服务链的部署,如线性(linear)、终点不同的分支(bifurcatedpathwithdifferentendpoints)、终点相同的分支(bifurcatedpathwithasingleendpoint)以及三者的相互组合。或是根据服务链中各个网络功能的顺序依赖关系建立多种部署拓扑,选择最优最合理的拓扑。多播网络拓扑(multicasttopology),很多多播服务如real-timemultimediastreaming,intrusiondetection,videotranscoding等等仍然是相对比较新的一个研究领域,该问题比较有挑战性的原因主要是其需要综合考虑nfv节点的部署和多播网络拓扑的特点及映射关系,其次该类型往往对时间的实时性有更高的要求。fat-tree数据中心的虚拟网络功能部署。先前的很多工作专注于将虚拟的网络功能部署在单个数据中心中,从不同的方面着手,如多层装箱问题、虚拟机大小可变、多租户、带宽分配、gomory-hutree等等。nfv与sdn(softwaredefinednetwork)相结合,sdn将网络的控制层面与转发层面分割,数据包将会根据更优化的数据平面被转发,nfv与sdn的结合,使得昂贵的专业设备被通用硬件和高级软件所取代,软件的控制平面得以优化,数据平面的控制变得有弹性易于升级。nfv的其他方面也成为重点考虑的方向,如安全性(security)、可移植性(migration)等等。为实现部署,越来越多的策略和技术被提出,如贪婪算法、排队论、马尔科夫优化、爬山算法等等,其还与某些前沿的技术相结合以寻求更大的突破,如docker、clickos、openstack、dpdk、openflow等等。总的来说,现有的网络功能虚拟化的资源调度算法主要拥有以下几个缺点:(1)算法效率过低,最终的资源耗费与最优解有较大差距;(2)单独考虑部署开销或是通信开销,未发现二者之间的关系而将二者相结合;(3)单纯考虑某种拓扑结构。技术实现要素:针对现有技术之不足,本发明提供了一种面向网络功能虚拟化的资源调度方法和系统,根据不同服务链之间网络功能的关联关系,建立综合网络服务图,结合数据中心的网络拓扑和资源限制,网络流特征以及虚拟网络功能需求,建立网络功能部署优化模型,并设计基于松弛策略的随机舍入算法,在极大地降低计算开销的情况下得到了优化的部署方案,综合地降低了部署开销和通信开销。根据一个优选实施方式,本发明公开了一种面向网络功能虚拟化的资源调度方法,所述方法包括:由至少一个处理器获取客户端请求构建的至少一条服务链的信息并由此通过所述至少一个处理器构造服务链集合;所述至少一个处理器基于所述服务链集合和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图;所述至少一个处理器根据部署限制条件和所述扩展图建立模型;所述至少一个处理器将所述模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数,更新模型,获得基础解;所述至少一个处理器将所述基础解中的网络功能实例按照其对应的部署变量xv放缩后的实数的大小进行排序且舍弃部署变量xv为零的网络功能实例得到排序序列,更新模型,获得与部署开销和通信开销关联的总体开销;所述至少一个处理器根据优化目标按照所述排序序列依次遍历地尝试删除与所述排序序列对应的网络功能实例以获得最小的总体开销。本发明通过建立综合网络服务图来精简服务链集合,找出其中不重复的网络功能和其间的关系,便于后续利用综合网络服务图降低实现扩展图的建立。在大规模的网络拓扑和/或服务链集合的情况下,得到优化的部署方案的求解过程所需时间是不能容忍的,本发明通过对部署变量进行缩放并将缩放后部署变量为零的网络功能实例舍弃,降低了计算开销,而且,本发明还利用缩放得到的实数对相应网络功能进行排序,并按照排序顺序尝试删除相应的网络功能实例,使得本发明的模型在时间是变为可解的。根据一个优选实施方式,所述优化目标包括:在尝试删除一个网络功能实例时,在删除该网络功能实例后满足部署要求且该网络功能实例被删除后的总体开销比被删除前的总体开销更小的情况下,才删除该网络功能实例;或者在删除该网络功能实例后不满足部署要求或者在删除该网络功能实例后满足部署要求但该网络功能实例被删除后的总体开销比被删除前的总体开销更大的情况下,保留该网络功能实例。通过该方式,本发明可以按照由随机放缩得到的排序序列尝试删除相应的网络功能实例,在降低计算开销的情况下得到一个优化的部署方案。根据一个优选实施方式,所述优化目标依据以下公式:cost-min:其中,γ和δ分别为设定的部署开销权重系数和通信开销权重系数,用于平衡部署开销和通信开销在总体开销中所占的比例,u、v是相应的网络功能实例,二进制变量xv表示网络功能实例v是否部署在数据中心d(v)中,其中,0表示不部署,1表示部署,euv表示连接网络功能实例对u、v的边,ev表示所有边的集合,n(u)、n(v)分别表示网络功能实例u、v的类型,un(u),n(v)表示流经网络功能实例对u、v的服务链,d(u)和d(v)分表代表网络功能实例u、v所在的数据中心,i为服务链编号,是一条服务链ci的网络功能实例对u、v的之间的网络流速率,hd(u),d(v)是数据中心u、v之间的跳数,通信开销由网络流速率和数据中心之间的跳数hd(u)d(v)的乘积决定。通过该方式,本发明可以通过为部署开销权重系数和通信开销权重系数设定不同的权重系数。根据一个优选实施方式,所述限制条件包括:数据中心的资源总数限制、数据流与网络功能实例间的关系限制和网络功能实例的最低网络流速限制中的至少一种。根据一个优选实施方式,所述服务链为各个网络功能的顺序具有依赖性的线性链。根据一个优选实施方式,所述方法还可以包括:在舍弃部署变量xv为零的网络功能实例之后且得到排序序列之前,校核模型中剩余的网络功能实例的类型,在剩余的网络功能实例的类型比服务链集合中存在的所有类型少的情况下,将缺少的网络功能随机部署到一个数据中心,然后才更新模型,得到排序序列。通过该方式,可以避免在一种网络功能的所有实例都被舍弃的极端情况。根据一个优选实施方式,所述扩展图是指将服务链集合中互不重复的所有网络功能扩展到数据中心拓扑中,以在每个数据中心中为服务链集合中互不重复的所有网络功能分配计算资源并建立连接,其中,所述至少一个处理器基于所述服务链集合和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图的处理包括:所述至少一个处理器先将所述服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图,所述至少一个处理器基于所述综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图;其中,所述所述至少一个处理器将所述服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图的处理包括:找出所述服务链集合中存在的所有类型的网络功能并将相同类型的网络功能合并为一个并由此生成待完善的综合网络服务图;根据各服务链中网络功能之间的连接关系在待完善的综合网络服务图中的各网络功能间建立连接并标记该连接所属的服务链;将源节点和目的节点添加到待完善的综合网络服务图中,并添加相应的连接,完成所述综合网络服务图的构建。该优选实施方式至少具有降低建立扩展图过程中的计算开销的优点。根据一个优选实施方式,所述所述至少一个处理器基于所述综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图的处理包括:在每个数据中心中部署所述综合网络服务图中的所有类型的网络功能实例且每种类型的网络功能只部署一个网络功能实例;根据所述综合网络服务图中的连接建立网络功能实例间的连接,在两个网络功能间有连接的情况下,则这两个网络功能对应的网络功能实例之间都有连接且每条连接都标记其所属的服务链;添加源节点和目的节点以及相应的连接,完成所述扩展图的构建。根据一个优选实施方式,本发明还公开了一种面向网络功能虚拟化的资源调度系统,所述系统包括:至少一个处理器以及存储若干计算机程序指令的至少一个计算机可读存储介质,所述计算机程序指令包括在由所述至少一个处理器执行时执行以下操作的指令:获取客户端请求构建的至少一条服务链的信息并由此构造服务链集合;基于所述服务链集合和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图;根据部署限制条件和所述扩展图建立模型;将所述模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数,更新模型,获得基础解;将所述基础解中的网络功能实例按照其对应的部署变量xv放缩后的实数的大小进行排序且舍弃部署变量xv为零的网络功能实例得到排序序列,更新模型,获得与部署开销和通信开销关联的总体开销;根据优化目标按照所述排序序列依次遍历地尝试删除与所述排序序列对应的网络功能实例以获得最小的总体开销。根据一个优选实施方式,所述优化目标包括:在尝试删除一个网络功能实例时,在删除该网络功能实例后满足部署要求且该网络功能实例被删除后的总体开销比被删除前的总体开销更小的情况下,才删除该网络功能实例;或者在删除该网络功能实例后不满足部署要求或者在删除该网络功能实例后满足部署要求但该网络功能实例被删除后的总体开销比被删除前的总体开销更大的情况下,保留该网络功能实例。附图说明图1是用于示例的三条服务链的示意图;图2是上述三条服务链的综合网络服务图;图3是用于示例的涉及两个数据中心的网络拓扑图;图4是c1服务链的网络功能实例部署的扩展图;图5是用于示例的上述三条服务链的三种部署策略示意图;和图6是本发明的方法的一个优选实施方式的流程示意图。具体实施方式下面结合附图进行详细说明。为了便于理解,在可能的情况下,使用相同附图标记来表示各附图中共同的相似元件。如在整篇本申请中所使用的那样,词语“可以”系容许含义(即,意味着有可能的)而不是强制性含义(即,意味着必须的)。类似地,词语“包括”意味着包括但不限于。短语“至少一个”、“一个或多个”以及“和/或”系开放式表达,它们涵盖操作中的关联与分离两者。例如,表述“a、b和c中的至少一个”、“a、b或c中的至少一个”、“a、b和c中的一个或更多个”、“a、b或c”和“a、b和/或c”中的每个分别指单独a、单独b、单独c、a和b一起、a和c一起、b和c一起或a、b和c一起。术语“一种”或“一个”实体指的是该实体中的一个或多个。这样,术语“一”(或“一”)、“一个或多个”以及“至少一个”在本文中可以交换地使用。还应该注意,术语“包括”、“包含”和“具有”可以交换地使用。如本文中所使用的那样,术语“自动的”及其变型是指当执行过程或操作时在没有实质性人工输入的情况下完成的任何过程或操作。然而,如果在执行该过程或操作之前接收到该输入,则该过程或操作可以是自动的,即使该过程或操作的执行使用了实质性或非实质性的人工输入。如果这样的输入影响该过程或操作的执行方式,则该人工输入被认为是实质性的。准予执行该过程或操作的人工输入不被视为“实质性的”。首先,对本发明涉及的术语进行说明:数据中心:全球协作的特定设备网络,用来在网络基础设施上传递、加速、展示、计算、存储数据信息,不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制设备、监控设备以及各种安全装置。网络功能是指网络实体实现的特定功能。比如,提供各种数据通信服务的软件和硬件,如防火墙、网关等。虚拟网络功能是网络功能在虚拟资源(如虚拟机)上的网络功能的实现。比如,利用虚拟化技术将网络功能从专用设备上虚拟化出来,以软件的形式部署在通用x86系统上。虚拟机:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,可以将虚拟网络功能在其上部署。服务链是指包括源节点和目的节点的多个虚拟网络功能的有序集合。例如:一个由七个节点组成的服务链,其包括源节点、五个虚拟网络功能和目的节点,必须依次穿过防火墙、深度包检测、加密、网络监视和解密功能单元,最后到达目的节点。或者说,服务链可以理解为一种业务形式。数据报文在网络中传递时,需要经过各种各样的业务节点,才能保证网络能够按照设计要求,提供给用户安全、快速、稳定的网络服务。当网络流量按照业务逻辑所要求的既定的顺序,经过这些业务点(主要指安全设备如防火墙、lb等),这就是服务链(servicechain)。网络功能虚拟化是一种网络架构概念,利用计算机虚拟化技术将网络节点功能虚拟化为可连接或链接在一起的以创建通信服务的构建模块。网络功能实例是指在虚拟资源(如虚拟机)上实现的网络功能,即虚拟网络功能。综合网络服务图是一个有向无环图,由服务链集合中的所有的源节点、目的节点和在类型上互不重复的所有网络功能及与服务链集合中各服务链对应的连接组成。比如,综合网络服务图gn=(vn,en)是一个有向无环图,由节点集合和边集合构成,其中vn包含三种类型:源节点集合o,网络功能集合n,目的节点集合t。每条边em,n∈en代表网络功能m和n之间有网络流经过。扩展图是指将服务链集合中互不重复的所有网络功能扩展到数据中心拓扑中,以在每个数据中心中为服务链集合中互不重复的所有网络功能分配计算资源并建立连接。比如,扩展图gv=(vv,ev)是基于综合网络服务图扩展到数据中心拓扑中以在每个数据中心中为综合网络服务图中的所有网络功能分配资源并建立连接,其由节点集合和边集合构成,其中节点集合vv包括三种类型:源节点集合、网络功能实例集合和目的节点集合,边集合ev表示节点间相连接的边。实施例1本实施例公开了一种方法,该方法可以由本发明的系统和/或其他可替代的装置实现。比如,通过使用本发明的系统中的各个部件实现本发明的方法。根据一个优选实施方式,一种面向网络功能虚拟化的资源调度方法,该方法可以包括:由至少一个处理器获取客户端请求构建的至少一条服务链的信息并由此通过至少一个处理器构造服务链集合。优选地,该方法还可以包括:至少一个处理器基于服务链集合和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图。比如,先将服务链集合中互不重复的所有网络功能提取出来,由此建立扩展图。优选地,该方法还可以包括:至少一个处理器根据部署的限制条件和扩展图建立模型。优选地,该方法还可以包括:至少一个处理器将模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数,更新模型,获得基础解。优选地,该方法还可以包括:至少一个处理器将基础解中的网络功能实例按照其对应的部署变量xv放缩后的实数的大小进行排序且舍弃部署变量xv为零的网络功能实例得到排序序列,更新模型,获得与部署开销和通信开销关联的总体开销。优选地,该方法还可以包括:至少一个处理器根据优化目标按照排序序列依次遍历地尝试删除与排序序列对应的网络功能实例以获得最小的总体开销。根据一个优选实施方式,至少一个处理器基于服务链集合和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图的处理可以包括:至少一个处理器先将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图,至少一个处理器基于综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图。优选地,至少一个处理器将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图的处理可以包括:找出服务链集合中存在的所有类型的网络功能并将相同类型的网络功能合并为一个并由此生成待完善的综合网络服务图;根据各服务链中网络功能之间的连接关系在待完善的综合网络服务图中的各网络功能间建立连接并标记该连接所属的服务链;将源节点和目的节点添加到待完善的综合网络服务图中,并添加相应的连接,完成综合网络服务图的构建。根据一个优选实施方式,至少一个处理器基于服务链集合和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图的处理包括:至少一个处理器先将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图,至少一个处理器基于综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图。优选地,至少一个处理器将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图的处理包括:找出服务链集合中存在的所有类型的网络功能并将相同类型的网络功能合并为一个并由此生成待完善的综合网络服务图;根据各服务链中网络功能之间的连接关系在待完善的综合网络服务图中的各网络功能间建立连接并标记该连接所属的服务链;将源节点和目的节点添加到待完善的综合网络服务图中,并添加相应的连接,完成综合网络服务图的构建。根据一个优选实施方式,至少一个处理器基于综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图的处理包括:在每个数据中心中部署综合网络服务图中的所有类型的网络功能实例且每种类型的网络功能只部署一个网络功能实例;根据综合网络服务图中的连接建立网络功能实例间的连接,在两个网络功能间有连接的情况下,则这两个网络功能对应的网络功能实例之间都有连接且每条连接都标记其所属的服务链;添加源节点和目的节点以及相应的连接,完成扩展图的构建。根据本发明的另一方面,优选地,本发明还公开了一种面向网络功能虚拟化的资源调度系统,该系统可以包括:至少一个处理器以及存储若干计算机程序指令的至少一个计算机可读存储介质。优选地,计算机程序指令包括在由至少一个处理器执行时执行以下操作的指令:获取客户端请求构建的至少一条服务链的信息并由此构造服务链集合;基于服务链集合和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图;根据部署限制条件和扩展图建立模型;将模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数,更新模型,获得基础解;将基础解中的网络功能实例按照其对应的部署变量xv放缩后的实数的大小进行排序且舍弃部署变量xv为零的网络功能实例得到排序序列,更新模型,获得与部署开销和通信开销关联的总体开销;根据优化目标按照排序序列依次遍历地尝试删除与排序序列对应的网络功能实例以获得最小的总体开销。实施例2根据一个优选实施方式,一种面向网络功能虚拟化的资源调度方法。本实施例可以是对实施例1的进一步改进和/或补充,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。优选地,该方法可以包括:获取待构建的至少一条服务链的信息并由此构造服务链集合。优选地,该方法还可以包括:将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图。优选地,该方法还可以包括:基于综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图。优选地,该方法还可以包括:根据部署限制条件和扩展图建立模型。优选地,该方法还可以包括:将模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数,更新模型,获得基础解。优选地,该方法还可以包括:将基础解中的网络功能实例按照其对应的部署变量xv放缩后的实数的大小进行排序且舍弃部署变量xv为零的网络功能实例得到排序序列,更新模型,获得与部署开销和通信开销关联的总体开销。优选地,该方法还可以包括:根据优化目标按照排序序列依次遍历地尝试删除与排序序列对应的网络功能实例以获得最小的总体开销。本发明的算法效率高,最终的资源耗费低于他算法,如greedy算法等,此外,本发明综合考虑部署开销或是通信开销以及二者之间的联系,利用网络功能实例复制的方式保证负载均衡,而且,本发明适用于多种拓扑结构。根据另一个优选实施方式,该方法可以包括:由至少一个处理器获取客户端请求待构建的至少一条服务链的信息并由此通过至少一个处理器构造服务链集合。该方法还可以包括:至少一个处理器将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图。该方法还可以包括:至少一个处理器基于综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图。该方法还可以包括:至少一个处理器根据部署限制条件和扩展图建立模型。该方法还可以包括:至少一个处理器将模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数,更新模型,获得基础解。该方法还可以包括:至少一个处理器将基础解中的网络功能实例按照其对应的部署变量xv放缩后的实数的大小进行排序且舍弃部署变量xv为零的网络功能实例得到排序序列,更新模型,获得与部署开销和通信开销关联的总体开销。该方法还可以包括:至少一个处理器根据优化目标按照排序序列依次遍历地尝试删除与排序序列对应的网络功能实例以获得最小的总体开销。根据一个优选实施方式,优化目标可以包括:在尝试删除一个网络功能实例时,在删除该网络功能实例后满足部署要求且该网络功能实例被删除后的总体开销比被删除前的总体开销更小的情况下,才删除该网络功能实例。优选地,在删除该网络功能实例后不满足部署要求或者在删除该网络功能实例后满足部署要求但该网络功能实例被删除后的总体开销比被删除前的总体开销更大的情况下,保留该网络功能实例。尤其优选地,在删除该网络功能实例后满足部署要求、该网络功能实例被删除后的总体开销比被删除前的总体开销更小以及该网络功能实例被删除后的数据中心总能耗比被删除前的数据中心总能耗更小的情况下,才删除该网络功能实例。根据一个优选实施方式,优化目标可以依据以下公式:cost-min:优选地,γ和δ分别为设定的部署开销权重系数和通信开销权重系数,用于平衡部署开销和通信开销在总体开销中所占的比例,u、v是相应的网络功能实例,二进制变量xv表示网络功能实例v是否部署在数据中心d(v)中,其中,0表示不部署,1表示部署,euv表示连接网络功能实例对u、v的边,ev表示所有边的集合,n(u)、n(v)分别表示网络功能实例u、v的类型,un(u),n(v)表示流经网络功能实例对u、v的服务链,d(u)和d(v)分表代表网络功能实例u、v所在的数据中心,i为服务链编号,是一条服务链ci的网络功能实例对u、v的之间的网络流速率,hd(u),d(v)是数据中心u、v之间的跳数,通信开销由网络流速率和数据中心之间的跳数hd(u)d(v)的乘积决定。优选地,系数γ和δ由用户决定,用以平衡部署成本和通信成本,并且可以根据不同的qos要求进行调整。根据本发明的另一方面,本发明公开了该方法可选用的一种算法,算法如下表所示:由于xv是整数变量,解决成本最小化问题在计算上变得不可接受的,特别是在大规模网络中。由此,本发明提出了一种基于松弛策略的方法来解决成本最小化问题。算法1为基于松弛策略的算法。首先,将xv放缩为[0,1]范围内的实数类型,以降低计算的复杂度。放缩后,模型被简化为一个线性规划(lp)问题cost-min-lp(第1行),可以通过gurobi和matlab等解决。然后,对xv进行升序排序(第2行),并将每个非零xv的值设置为1(第5行)。得到该vnf部署的解决方案xv*,记录每种网络功能的实例数目countn(v)(第6行)。通过解决cost-min-lp问题,输入vnf部署解决方案xv*,计算得网络流调度解决方案fuv*i和总成本cost*(第11行)。放缩策略可能会导致过多的vnf实例,因此需要减少实例数量以确保部署成本和通信成本近乎最佳(从第12行到第22行)。算法从xv的最小非零值开始。如果v是网络中唯一提供网络功能n(v)的实例,即countn(v)=1,则该实例v必须部署。相反,如果网络中有多个vnf实例提供相同类型的网络功能n(v)(第14行),算法将xv*设为0,并重新计算网络流调度解决方案fuv*i和总体成本cost*。只有当新成本低于当前成本mincost时,更新nfv部署解决方案xv*,网络流调度解决方案fuv*i和总成本mincost,然后更新网络功能n(v)的实例数目。另一方面,如果总成本没有降低,算法将xv*的值设置回1,然后移动到下一个实例,直到遍历完v中的所有vnf实例(第25行)。最后返回算法的最终结果:nfv部署解决方案xv*,流量调度解决方案fuv*i和总成本mincost。根据一个优选实施方式,限制条件可以包括:数据中心的资源总数限制、数据流与网络功能实例间的关系限制和网络功能实例的最低网络流速限制中的至少一种。根据一个优选实施方式,将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图的处理可以包括:找出服务链集合中存在的所有类型的网络功能并将相同类型的网络功能合并为一个并由此生成待完善的综合网络服务图;根据各服务链中网络功能之间的连接关系在待完善的综合网络服务图中的各网络功能间建立连接并标记该连接所属的服务链;将源节点和目的节点添加到待完善的综合网络服务图中,并添加相应的连接,完成综合网络服务图的构建。根据一个优选实施方式,基于综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图的处理可以包括:在每个数据中心中部署综合网络服务图中的所有类型的网络功能实例且每种类型的网络功能只部署一个网络功能实例;根据综合网络服务图中的连接建立网络功能实例间的连接,在两个网络功能间有连接的情况下,则这两个网络功能对应的网络功能实例之间都有连接且每条连接都标记其所属的服务链;添加源节点和目的节点以及相应的连接,完成扩展图的构建。根据一个优选实施方式,服务链为各个网络功能的顺序具有依赖性的线性链。根据一个可选实施方式,该方法还可以包括:在至少一个处理器将模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数之时,使相同类型的所有网络功能实例中存在至少一个网络功能实例的部署变量xv不为零。根据一个可选实施方式,该方法还可以包括:在舍弃部署变量xv为零的网络功能实例之后且得到排序序列之前,校核模型中剩余的网络功能实例的类型,在剩余的网络功能实例的类型比服务链集合中存在的所有类型少的情况下,将缺少的网络功能随机部署到一个数据中心,然后才更新模型,得到排序序列。根据一个可选实施方式,该方法还可以包括:在至少一个处理器将模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数之时,先随机将相同类型的所有网络功能实例中的随机选取一个为其分配一个为1的部署变量,然后再进行放缩。实施例3本实施例还公开了一种系统,该系统适于执行本发明记载的各个方法步骤,以达到预期的技术效果。本实施例可以是对实施例1、2或者其结合的进一步改进和/或补充,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。根据一个优选实施方式,一种面向网络功能虚拟化的资源调度系统,系统包括:至少一个处理器以及存储若干计算机程序指令的至少一个计算机可读存储介质,计算机程序指令包括在由至少一个处理器执行时执行以下操作的指令:获取待构建的至少一条服务链的信息并由此构造服务链集合;将服务链集合中相同类型的网络功能合并为一个以建立综合网络服务图;基于综合网络服务图和至少两个数据中心之间的网络拓扑关系建立部署网络功能实例的扩展图;根据部署限制条件和扩展图建立模型;将模型中代表每个网络功能部署情况的部署变量xv放缩为[0,1]范围的实数,更新模型,获得基础解;将基础解中的网络功能实例按照其对应的部署变量xv放缩后的实数的大小进行排序且舍弃部署变量xv为零的网络功能实例得到排序序列,更新模型,获得与部署开销和通信开销关联的总体开销;根据优化目标按照排序序列依次遍历地尝试删除与排序序列对应的网络功能实例以获得最小的总体开销。该计算机程序指令还可以包括在由至少一个处理器执行时执行以下操作的指令:在舍弃部署变量xv为零的网络功能实例之后且得到排序序列之前,校核模型中剩余的网络功能实例的类型,在剩余的网络功能实例的类型比服务链集合中存在的所有类型少的情况下,将缺少的网络功能随机部署到一个数据中心,然后才更新模型,得到排序序列。实施例4本实施例可以是对实施例1、2、3或者其结合的进一步改进和/或补充,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。根据一个优选实施方式,一种面向网络功能虚拟化的资源调度方法,方法包括:获取需要搭建的至少一条服务链并由此构造服务链集合;依据服务链集合中各服务链之间网络功能的关联关系,建立综合网络服务图;基于综合网络服务图和数据中心之间网络拓扑建立网络功能实例部署的扩展图;根据扩展图、优化目标和限制条件建立模型;为模型中的每个网络功能分配一个0/1变量xv并将其放缩为[0,1]范围内的实数,并对按照xv的大小对xv进行排序后更新模型,获得基础解;按照排序的顺序依次尝试删除网络功能实例,得到总体开销最小的部署方案;其中,在尝试删除一个网络功能实例时,在删除该网络功能实例后满足部署要求且该网络功能实例被删除后的总体开销比被删除前的总体开销更小的情况下才删除该网络功能实例。优选地,比如,参见图1,c1、c2和c3代表三条服务链。c={c1,c2,c3,…}表示服务链集合。oi和ti分别代表服务链ci∈c的源节点和目的节点。每条服务链ci包含了一系列有序的网络功能集合ci={si,1,si,1,…,si,j,…},流量需求为ri。|ci|表示链的长度,n(si,j)代表网络功能si,j的类型。如图1所示,三条服务链的长度分别是2,3,3。从图中可以看出,不同的服务链可能需要相同类型的网络功能,如服务链c1,c2,c3都需要经过f1这个网络功能,即n(s1,1)=n(s2,2)=n(s3,2)=f1。优选地,参见图2,综合网络服务图,以下简称gn图,gn图中的网络功能最终以实例的方式部署到数据中心中,因此gn图中的每个网络功能可能会有多个实例。优选地,参见图3,图3示出了涉及2个数据中心的网络拓扑图。其中,连接线上的数字表示本发明中数据中心之间的通信开销,以及三个源节点o1,o2,o3和三个目的节点t1,t2,t3到数据中心间的通信开销。优选地,参见图4,网络功能f1有两个vnf实例分别部署在数据中心d1和d2中。每个网络功能最多有|d|个实例,gn中的每条边最多有|d|2条实例。基于gn图建立扩展图,扩展图以下简称gv图,其中,gv=(vv,ev),其中,节点集合vv包含有vv·|d|个实例的集合v,源点集合o和目的节点集合t,ev表示节点相连的边。对于任意的eu,v∈ev,表示服务链ci的网络功能实例对u,v的之间的网络流。如gv图所示,每个网络功能可能部署在任意的数据中心中。二进制变量xv表示vnf实例v是否部署在相应的数据中心中,具体地,可以参见以下公式:由于直接绘制包含多条服务链的完整gv图较为复杂,为了简便,这里以仅包括c1服务链的gv图为例。考虑gn中的网络功能f1,f2以及边其对应的gv图如图3,其中的数据中心个数为2。网络功能f1的实例有两个,分别是v1和v3,网络功能的实例也有两个,分别是v2和v4,二者之间共有4条边,网络流可以在其中任意分配。对于任意的实例v∈v,d(v)表示实例所在的数据中心,n(v)表示实例的网络功能类型,如d(v1)=d1,n(v1)=f1。n(n)表示所有提供网络功能n的实例集合,如图3中n(f1)={v1,v3}。优选地,在放缩变量xv后,得到初始的排序后的非零解集:x1=0.4,x2=0.6,x3=0.7,x4=0.8,x5=0.9,其中n(v1)=n(v2)=n(v3)=f1,n(v4)=f2,n(v5)=f3。因此count(f1)=3,count(f2)=1,count(f3)=1。下一步,将该非零变量置为1,即令x1=1,x2=1,x3=1,x4=1,x5=1,更新模型,得到此部署方案的总体开销cost,并令mincost=cost。然后令x1=0,更新模型,得到此时的总体开销cost,如果模型有解且count(n(v))>1且cost<mincost,则count(n(v))--,mincost=cost,否则xv=1。然后再遍历下一个实例直至所有的实例都被遍历一遍。因为f2和f3只有一个实例,因此我们不删除此实例。最终mincost即为最终的总体开销。根据一个优选实施方式,根据扩展图、优化目标和限制条件建立模型的处理包括:优化目标包括:最小化部署开销和通信开销,其中通信开销由网络流速率r和数据中心之间的跳数hop的乘积决定;限制条件包括:数据流与实例间的关系,只要有数据流过该实例,就在该节点部署该实例,同时产生部署开销和通信开销;网络流速度要求,服务该服务链的实例必须满足其数据流速的需求;除了满足单个服务链的数据流速需求外,所有提供该服务的实例必须满足综合网络服务图中的数据流速需求;数据流在流经某种网络功能时,数据流会相应的减少或增加a倍;请求相应数据中心的资源不得超过该数据中心的资源总数。根据一个优选实施方式,按照排序的顺序依次尝试删除网络功能实例,得到总体开销最小的部署方案的处理包括:对于扩展图中的所有网络功能实例v,在xv>0的情况下,则令xv=1,并记录该网络功能实例个数,即count(n(v))++,在xv=0的情况下,则令xv=0;更新模型,获得总体开销,使得mincost=cost;根据排序序列,依次令xv=0,更新模型,在模型有解、count(n(v))>1且cost<mincost的情况下,则count(n(v))--,mincost=cost,否则xv=1;最终的总体开销即为mincost,根据相应xv的值得到总体开销最小的部署方案。优选地,参见图6,图6示出了与c1、c2和c3组成的服务链集合的三种部署策略。方案一:d1中部署f1、f2,d2中部署f3、f4,此时部署开销为4vnfs,通信开销为13;方案二:d1中部署f1、f2、f3、f4,d2无部署,此时部署开销为4vnfs,通信开销为8。方案三:d1中部署f1、f2、f3,d2中部署f1、f3、f4,此时部署开销为6vnfs,通信开销为6。由此可见,如下表所示,不同部署方案可能产生不同的开销。部署开销/vnfs通信开销部署方案1413部署方案248部署方案366根据一个优选实施方式,依据服务链集合中各服务链之间网络功能的关联关系,建立综合网络服务图的处理包括:找出服务链集合中所需的所有网络功能并将相同类型的网络功能合并为一个并由此生成待完善的综合网络服务图;根据各服务链中网络功能之间的连接关系在待完善的综合网络服务图中的各网络功能间建立连接并标记该连接所属的服务链;将源节点和目的节点添加到待完善的综合网络服务图中,并添加相应的连接,完成综合网络服务图的构建。根据一个优选实施方式,服务链为线性链,即服务链中各个网络功能的顺序具有依赖性。根据一个优选实施方式,基于综合网络服务图的网络拓扑建立网络功能实例部署的扩展图的处理包括:在每个数据中心中部署综合网络服务图中的所有网络功能的实例且每种网络功能只有一个实例;根据综合网络服务图中的连接建立实例间的连接,在两个虚拟网络功能间有连接的情况下,则这两个虚拟网络功能的实例之间都有连接,每条连接都标记其所属的服务链;添加源节点和目的节点以及相应的连接,完成扩展图的构建。根据一个优选实施方式,限制条件的处理可以包括:定义一个远远大于网络流的数值l,计算流经一个网络功能实例的所有网络流的和sum,(sum/l)≤xv≤(sum*l),进而保证只要有网络流经过一个网络功能实例,该网络功能实例就要部署;对于服务链集合中的所有网络功能对,在扩展图中都有相应的实例对与之相对应,而且二者对应的连接都标记源自同一服务链,累计扩展图中的实例对网络流之和,使其满足该服务链的需求;对于综合网络服务图中的所有网络功能对,计算其在扩展图中的所有对应的实例对的流量之和,使其等于综合网络服务图中网络功能对的网络流之和,此时忽略该网络功能对和实例对对应的连接的所属服务链,只求和;定义比例因子a,其数值与网络功能的类型决定,累计扩展图中任意一个实例的入流之和i和出流之和o,使得i=a*o;根据相应数据中心中部署的实例个数,求得所需的虚拟机的个数,使其小于等于该数据中心拥有虚拟机的数量。根据一个优选实施方式,在尝试删除一个网络功能实例时,在删除该网络功能实例后不满足部署要求或者在删除该网络功能实例后满足部署要求但该网络功能实例被删除后的总体开销比被删除前的总体开销更大的情况下保留该网络功能实例。优选地,参见图6,本发明的方法可以包括以下步骤:步骤s100:获取需要搭建的至少一条服务链并由此构造服务链集合;步骤s200:依据服务链集合中各服务链之间网络功能的关联关系,建立综合网络服务图;步骤s300:基于综合网络服务图和数据中心之间网络拓扑建立网络功能实例部署的扩展图;步骤s400:根据扩展图、优化目标和限制条件建立模型;步骤s500:为模型中的每个网络功能分配一个0/1变量xv并将其放缩为[0,1]范围内的实数,并对按照xv的大小对xv进行排序后更新模型,获得基础解;步骤s610:按照排序的顺序依次尝试删除一个网络功能实例并判断该网络功能实例是否为最后一个网络实例,若是,则转至步骤s640,若否,则转至步骤s620;步骤s620:判断删除该网络实例后是否满足部署要求,若是,则转至步骤s630,若否,则令xv=1,返回步骤s610;步骤s630:判断总体开销是否减少,若是,则令xv=0并返回步骤s610,若否,则令xv=1并返回步骤s610;步骤s640:更新模型,获得总体开销和部署方案。根据一个优选实施方式,本发明还公开了一种面向网络功能虚拟化的资源调度系统,系统包括:至少一个处理器,至少一个处理器被配置为:获取需要搭建的至少一条服务链并由此构造服务链集合;依据服务链集合中各服务链之间网络功能的关联关系,建立综合网络服务图;基于综合网络服务图和数据中心之间网络拓扑建立网络功能实例部署的扩展图;根据扩展图、优化目标和限制条件建立模型;为模型中的每个网络功能分配一个0/1变量xv并将其放缩为[0,1]范围内的实数,并对按照xv的大小对xv进行排序后更新模型,获得基础解;按照排序的顺序依次尝试删除网络功能实例,得到总体开销最小的部署方案;其中,在尝试删除一个网络功能实例时,在删除该网络功能实例后满足部署要求且该网络功能实例被删除后的总体开销比被删除前的总体开销更小的情况下才删除该网络功能实例。根据一个优选实施方式,根据扩展图、优化目标和限制条件建立模型的处理包括:优化目标包括:最小化部署开销和通信开销,其中通信开销由网络流速率r和数据中心之间的跳数hop的乘积决定;限制条件包括:数据流与实例间的关系,只要有数据流过该实例,就在该节点部署该实例,同时产生部署开销和通信开销;网络流速度要求,服务该服务链的实例必须满足其数据流速的需求;除了满足单个服务链的数据流速需求外,所有提供该服务的实例必须满足综合网络服务图中的数据流速需求;数据流在流经某种网络功能时,数据流会相应的减少或增加a倍;请求相应数据中心的资源不得超过该数据中心的资源总数。虽然已经详细描述了本发明,但是在本发明的精神和范围内的修改对于本领域技术人员将是显而易见的。这样的修改也被认为是本公开的一部分。鉴于前面的讨论、本领域的相关知识以及上面结合背景讨论的参考或信息(均通过引用并入本文),进一步的描述被认为是不必要的。此外,应该理解,本发明的各个方面和各个实施例的各部分均可以整体或部分地组合或互换。而且,本领域的普通技术人员将会理解,前面的描述仅仅是作为示例,并不意图限制本发明。已经出于示例和描述的目的给出了本公开的前述讨论。这并不意图将本公开限制于本文公开的形式。在前述的具体实施方式中,例如,为了简化本公开的目的,本公开的各种特征在一个或多个实施例、配置或方面中被组合在一起。实施例、配置或方面的特征可以以除上面讨论的那些之外的替代实施例、配置或方面组合。本公开的该方法不应被解释为反映本公开需要比每个权利要求中明确记载的更多特征的意图。相反,如以下权利要求所反映的,创造性方面在于少于单个前述公开的实施例、配置或方面的所有特征。因此,以下权利要求由此被并入本具体实施方式中,其中每个权利要求其自身作为本公开的单独实施例。而且,虽然本公开的描述已经包括对一个或多个实施例、配置或方面以及某些变型和修改的描述,但是其他变型、组合和修改也在本公开的范围内,例如在本领域技术人员的技能和知识范围内,在理解了本公开之后。旨在获得在允许的程度上包括替代实施例、配置或方面的权利,所述权利包括那些要求保护的替代的、可互换的和/或等效的结构、功能、范围或步骤的权利,无论这种替代的、可互换的和/或等效的结构、功能、范围或步骤是否在本文中公开,并且无意公开奉献任何可专利的主题。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1