一种实现虚拟网络映射的方法

文档序号:7853002阅读:259来源:国知局
专利名称:一种实现虚拟网络映射的方法
技术领域
本发明涉及一种实现虚拟网络映射的方法,属于计算机网络技术领域,特别是属于网络虚拟化技术领域。
背景技术
网络虚拟化是指将一个共用的网络基础设施从逻辑上划分为多个相互隔离的、具有不同网络拓扑的虚拟网络。虚拟网络一般包括多个节点和链路,每个节点或链路具有不同的资源需求。服务提供商通过租用底层网络的基础设施切片,减少了硬件相关的前期投入,并且利用底层网络基础设施上开放的访问控制权,能够快速部署自定制的网络协议或架构,提供多样化的服务给终端用户。然而在虚拟网络的映射过程中,由于需要同时满足节点和链路的资源需求,网络虚拟化的映射问题是一个NP-hard问题。 目前与其相关的解决方案普遍基于启发式算法而设计,但目前的启发式虚拟网络映射方案存在如下问题(I)探测范围和映射性能之间难以实现平衡;(2)不必要的带宽资源浪费;(3)忽视了虚拟网络生命周期的重要性。因此在进行虚拟网络映射的过程中,如何结合虚拟网络的生命周期,实现虚拟网络的高效映射和网络物理资源的有效利用是目前计算机网络工程领域一个急需要解决的技术难题。

发明内容
有鉴于此,本发明的目的是发明一种实现虚拟网络映射的方法,能够利用虚拟网络生命周期对映射性能的影响,实现虚拟网络的高效映射和网络物理资源的有效利用。为了达到上述目的,本发明提出了一种实现虚拟网络映射的方法,所述方法包括下列操作步骤(I)把需要进行网络映射的虚拟网络按照其生命周期的长短进行优先级排队,即生命周期越短的虚拟网络优先级越高,排在队列的前面,优先进行网络映射;(2)按照设定的映射周期,从步骤(I)所述的队列中,依次提取出优先级最高的虚拟网络进行网络映射;如果一个虚拟网络在本映射周期内网络映射失败,则把该虚拟网络放回所述队列中,等待在下一个映射周期内,再对该虚拟网络进行网络映射;如果一个虚拟网络在设定的映射时间内没有成功实现网络映射,则该虚拟网络被丢弃。所述步骤(2)中对虚拟网络进行网络映射的具体方法是包括如下操作步骤(21)利用复杂网络降解技术对虚拟网络拓扑结构进行分割,分割为核心网络和边缘网络;(22)对于前面所述的核心网络,使用节点优先虚拟网络映射方法进行网络映射,以确保核心网络中的节点有足够的资源;(23)对于前面所述的边缘网络,使用链路优先虚拟网络映射方法进行网络映射,以实现高效的网络映射和有效的带宽资源利用。所述步骤(21)的具体内容包括如下操作步骤
(211)根据虚拟网络的网络拓扑结构,递归性地删除虚拟网络中度数为I的网络节点及其与其相联的链路或者直到虚拟网络中只剩下三个网络节点,剩余的网络即为前面所述的虚拟网络的核心网络,该核心网络中与被删除的链路相联的网络节点称为核心根节占.(212)被删除的节点和链路,加上对应的核心根节点构成了多个树状拓扑结构,每一个树状拓扑结构,即为前面所述的边缘网络。所述步骤(22)中所述的节点优先虚拟网络映射方法的具体内容是包括如下操作步骤(221)按照设定的虚拟网络节点资源需求值计算方法,对核心网络中的所有虚拟节点进行计算,获得核心网络中每个节点的资源需求值;
(222)按照设定的物理网络节点资源能力值计算方法,对物理网络中的所有物理节点进行计算,获得物理网络中每个节点的资源能力值;(223)按照资源需求值和资源能力值从高到低的顺序分别对核心网络的节点和物理网络的节点进行排序,然后将当前资源需求值最高的一个核心网络节点映射到当前资源能力值最高的一个物理网络节点上,直到该核心网络中的所有节点映射完毕;(224)对于核心网络中的每一条虚拟链路,根据步骤(223)所完成的核心网络节点和物理网络节点的映射关系,从物理网络中找到能够满足该条虚拟链路资源需求的最短物理链路。所述步骤(23)中所述的链路优先虚拟网络映射方法的具体内容是包括如下操作步骤(231)按照设定的虚拟网络节点资源需求值计算方法,对边缘网络中除核心根节点之外的所有节点进行计算,获得边缘网络中除核心根节点之外的每个节点的资源需求值;(232)按照设定的物理网络节点资源能力值计算方法,对物理网络中的所有节点重新进行计算,获得物理网络中每个节点当前的资源能力值;(233)对每一个边缘网络,选择资源需求值最高的虚拟节点作为根节点,对边缘网络按照设定的遍历算法进行遍历,然后根据遍历的顺序确定除核心根节点之外的各个虚拟节点的映射顺序;(234)对于每一个要映射的虚拟节点,物理网络中满足其中央处理器CPU需求的所有网络节点构成该虚拟节点的可选映射节点集合;(235)按照设定的选择原则,从所述的可选映射节点集合中选择一个物理节点映射该虚拟节点;如果所述的可选映射节点集合为空,则回溯到上一成功实现映射的虚拟节点重新映射;(236)探测该虚拟节点与已完成映射的虚拟节点之间存在的所有虚拟链路需求是否同时都可以得到满足;如果不能,则将该承载映射的物理节点从所述的可选映射节点集合中剔除,回到步骤(235),重新对该虚拟节点进行映射;如果所有虚拟链路需求都得以满足,则按照映射顺序映射下一个虚拟节点,直至该边缘网络的所有虚拟节点都映射完毕;(237)回到步骤(234),直到该虚拟网络的所有边缘网络都完成映射。所述步骤(221)和(231)中所述的虚拟网络节点资源需求值计算方法的具体内容是虚拟网络节点资源需求值等于该虚拟节点的中央处理器CPU需求值与该虚拟节点相联的所有虚拟链路带宽需求值之和的乘积;或者是虚拟网络节点资源需求值等于与该虚拟节点相联的所有虚拟链路带宽需求值之和乘以该虚拟节点的度数,再加上该虚拟节点的中央处理器CPU需求值。所述步骤(222)和(232)中所述设定的物理网络节点资源能力值计算方法的具体内容是物理网络节点资源能力值等于该物理节点的中央处理器CPU能力值与该物理节点相联的所有物理链路带宽能力值之和的乘积;或者是物理网络节点资源能力值等于与该物理节点相联的所有物理链路带宽能力值之和乘以该物理节点的度数,再加上该物理节点的中央处理器CPU能力值。所述步骤(233)中对边缘网络进行遍历的遍历算法是广度优先遍历算法或者是深度优先遍历算法。所述步骤(235)中所述的选择原则的具体内容是选择当前资源能力值最高的物、理节点或者是选择当前中央处理器CPU剩余能力最低的物理节点。本发明的有益效果在于本发明的虚拟网络映射方法,结合了虚拟网络的生命周期,实现了网络物理资源的有效利用,有效地提高了虚拟网络映射的长期平均成功率,给底层网络基础设施提供商带来了更多的长期平均收益。


图I是本发明的实现虚拟网络映射的方法的流程图。图2是一个虚拟网络的示意图。图3是图2所示虚拟网络的核心网络示意图。图4是图2所示虚拟网络的边缘网络示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。参见图1,介绍本发明提出的一种一种实现虚拟网络映射的方法,所述方法包括下列操作步骤(I)把需要进行网络映射的虚拟网络按照其生命周期的长短进行优先级排队,即生命周期越短的虚拟网络优先级越高,排在队列的前面,优先进行网络映射;(2)按照设定的映射周期,从步骤(I)所述的队列中,依次提取出优先级最高的虚拟网络进行网络映射;如果一个虚拟网络在本映射周期内网络映射失败,则把该虚拟网络放回所述队列中,等待在下一个映射周期内,再对该虚拟网络进行网络映射;如果一个虚拟网络在设定的映射时间内没有成功实现网络映射,则该虚拟网络被丢弃。所述步骤(2)中对虚拟网络进行网络映射的具体方法是包括如下操作步骤(21)利用复杂网络降解技术对虚拟网络拓扑结构进行分割,分割为核心网络和边缘网络;(22)对于前面所述的核心网络,使用节点优先虚拟网络映射方法进行网络映射,以确保核心网络中的节点有足够的资源;
(23)对于前面所述的边缘网络,使用链路优先虚拟网络映射方法进行网络映射,以实现高效的网络映射和有效的带宽资源利用。所述步骤(21)的具体内容包括如下操作步骤(211)根据虚拟网络的网络拓扑结构,递归性地删除虚拟网络中度数为I的网络节点及其与其相联的链路或者直到虚拟网络中只剩下三个网络节点,剩余的网络即为前面所述的虚拟网络的核心网络,该核心网络中与被删除的链路相联的网络节点称为核心根节占.参见图2,图2所示的虚拟网络递归性地删除虚拟网络中度数为I的网络节点及其与其相联的链路后,得到一个核心网络(如图3所示),核心网络中的核心根节点是节点a和节点C。(212)被删除的节点和链路,加上对应的核心根节点构成了多个树状拓扑结构,每 一个树状拓扑结构,即为前面所述的边缘网络。参见图4,从图2所示的虚拟网络中得到两个边缘网络(如图4所示)。所述步骤(22)中所述的节点优先虚拟网络映射方法的具体内容是包括如下操作步骤(221)按照设定的虚拟网络节点资源需求值计算方法,对核心网络中的所有虚拟节点进行计算,获得核心网络中每个节点的资源需求值;(222)按照设定的物理网络节点资源能力值计算方法,对物理网络中的所有物理节点进行计算,获得物理网络中每个节点的资源能力值;(223)按照资源需求值和资源能力值从高到低的顺序分别对核心网络的节点和物理网络的节点进行排序,然后将当前资源需求值最高的一个核心网络节点映射到当前资源能力值最高的一个物理网络节点上,直到该核心网络中的所有节点映射完毕;(224)对于核心网络中的每一条虚拟链路,根据步骤(223)所完成的核心网络节点和物理网络节点的映射关系,从物理网络中找到能够满足该条虚拟链路资源需求的最短物理链路。所述步骤(23)中所述的链路优先虚拟网络映射方法的具体内容是包括如下操作步骤(231)按照设定的虚拟网络节点资源需求值计算方法,对边缘网络中除核心根节点之外的所有节点进行计算,获得边缘网络中除核心根节点之外的每个节点的资源需求值;(232)按照设定的物理网络节点资源能力值计算方法,对物理网络中的所有节点重新进行计算,获得物理网络中每个节点当前的资源能力值;(233)对每一个边缘网络,选择资源需求值最高的虚拟节点作为根节点,对边缘网络按照设定的遍历算法进行遍历,然后根据遍历的顺序确定除核心根节点之外的各个虚拟节点的映射顺序;(234)对于每一个要映射的虚拟节点,物理网络中满足其中央处理器CPU需求的所有网络节点构成该虚拟节点的可选映射节点集合;(235)按照设定的选择原则,从所述的可选映射节点集合中选择一个物理节点映射该虚拟节点;如果所述的可选映射节点集合为空,则回溯到上一成功实现映射的虚拟节点重新映射;(236)探测该虚拟节点与已完成映射的虚拟节点之间存在的所有虚拟链路需求是否同时都可以得到满足;如果不能,则将该承载映射的物理节点从所述的可选映射节点集合中剔除,回到步骤(235),重新对该虚拟节点进行映射;如果所有虚拟链路需求都得以满足,则按照映射顺序映射下一个虚拟节点,直至该边缘网络的所有虚拟节点都映射完毕;(237)回到步骤(234),直到该虚拟网络的所有边缘网络都完成映射。所述步骤(221)和(231)中所述的虚拟网络节点资源需求值计算方法的具体内容是虚拟网络节点资源需求值等于该虚拟节点的中央处理器CPU需求值与该虚拟节点相联的所有虚拟链路带宽需求值之和的乘积;或者是虚拟网络节点资源需求值等于与该虚拟节点相联的所有虚拟链路带宽需求值之和乘以该虚拟节点的度数,再加上该虚拟节点的中央处理器CPU需求值。比如一个虚拟网络节点的中央处理器CPU需求值是20GHz,与其连接的虚拟链路 总共有三条,带宽需求分别是300M、500M和800M,则该虚拟节点的度数是3,则该节点的资源需求值可以计算为20 X (300+500+800) = 32000或者计算为(300+500+800) X 3+20 = 4820所述步骤(222)和(232)中所述设定的物理网络节点资源能力值计算方法的具体内容是物理网络节点资源能力值等于该物理节点的中央处理器CPU能力值与该物理节点相联的所有物理链路带宽能力值之和的乘积;或者是物理网络节点资源能力值等于与该物理节点相联的所有物理链路带宽能力值之和乘以该物理节点的度数,再加上该物理节点的中央处理器CPU能力值。比如一个物理网络节点的中央处理器CPU能力值是30GHz,与其连接的物理链路总共有三条,带宽能力分别是300M、400M和500M,则该物理节点的度数是3,则该节点的资源能力值可以计算为30 X (300+400+500) = 36000或者计算为(300+400+500) X 3+30 = 3630所述步骤(233)中对边缘网络进行遍历的遍历算法是广度优先遍历算法或者是深度优先遍历算法。所述步骤(235)中所述的选择原则的具体内容是选择当前资源能力值最高的物理节点或者是选择当前中央处理器CPU剩余能力最低的物理节点。发明人对本发明所提的方法进行了大量仿真实验,实验结果证明本发明的方法是有效的,并能提高虚拟网络的平均映射成功率。
权利要求
1.一种实现虚拟网络映射的方法,其特征在于所述方法包括下列操作步骤 (1)把需要进行网络映射的虚拟网络按照其生命周期的长短进行优先级排队,即生命周期越短的虚拟网络优先级越高,排在队列的前面,优先进行网络映射; (2)按照设定的映射周期,从步骤(I)所述的队列中,依次提取出优先级最高的虚拟网络进行网络映射;如果一个虚拟网络在本映射周期内网络映射失败,则把该虚拟网络放回所述队列中,等待在下一个映射周期内,再对该虚拟网络进行网络映射;如果一个虚拟网络在设定的映射时间内没有成功实现网络映射,则该虚拟网络被丢弃。
2.根据权利要求I所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(2)中对虚拟网络进行网络映射的具体方法是包括如下操作步骤 (21)利用复杂网络降解技术对虚拟网络拓扑结构进行分割,分割为核心网络和边缘网络; (22)对于前面所述的核心网络,使用节点优先虚拟网络映射方法进行网络映射,以确保核心网络中的节点有足够的资源; (23)对于前面所述的边缘网络,使用链路优先虚拟网络映射方法进行网络映射,以实现高效的网络映射和有效的带宽资源利用。
3.根据权利要求2所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(21)的具体内容包括如下操作步骤 (211)根据虚拟网络的网络拓扑结构,递归性地删除虚拟网络中度数为I的网络节点及其与其相联的链路或者直到虚拟网络中只剩下三个网络节点,剩余的网络即为前面所述的虚拟网络的核心网络,该核心网络中与被删除的链路相联的网络节点称为核心根节点; (212)被删除的节点和链路,加上对应的核心根节点构成了多个树状拓扑结构,每一个树状拓扑结构,即为前面所述的边缘网络。
4.根据权利要求2所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(22)中所述的节点优先虚拟网络映射方法的具体内容是包括如下操作步骤 (221)按照设定的虚拟网络节点资源需求值计算方法,对核心网络中的所有虚拟节点进行计算,获得核心网络中每个节点的资源需求值; (222)按照设定的物理网络节点资源能力值计算方法,对物理网络中的所有物理节点进行计算,获得物理网络中每个节点的资源能力值; (223)按照资源需求值和资源能力值从高到低的顺序分别对核心网络的节点和物理网络的节点进行排序,然后将当前资源需求值最高的一个核心网络节点映射到当前资源能力值最高的一个物理网络节点上,直到该核心网络中的所有节点映射完毕; (224)对于核心网络中的每一条虚拟链路,根据步骤(223)所完成的核心网络节点和物理网络节点的映射关系,从物理网络中找到能够满足该条虚拟链路资源需求的最短物理链路。
5.根据权利要求2所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(23)中所述的链路优先虚拟网络映射方法的具体内容是包括如下操作步骤 (231)按照设定的虚拟网络节点资源需求值计算方法,对边缘网络中除核心根节点之外的所有节点进行计算,获得边缘网络中除核心根节点之外的每个节点的资源需求值; (232)按照设定的物理网络节点资源能力值计算方法,对物理网络中的所有节点重新进行计算,获得物理网络中每个节点当前的资源能力值; (233)对每一个边缘网络,选择资源需求值最高的虚拟节点作为根节点,对边缘网络按照设定的遍历算法进行遍历,然后根据遍历的顺序确定除核心根节点之外的各个虚拟节点的映射顺序; (234)对于每一个要映射的虚拟节点,物理网络中满足其中央处理器CPU需求的所有网络节点构成该虚拟节点的可选映射节点集合; (235)按照设定的选择原则,从所述的可选映射节点集合中选择一个物理节点映射该虚拟节点;如果所述的可选映射节点集合为空,则回溯到上一成功实现映射的虚拟节点重新映射; (236)探测该虚拟节点与已完成映射的虚拟节点之间存在的所有虚拟链路需求是否同时都可以得到满足;如果不能,则将该承载映射的物理节点从所述的可选映射节点集合中剔除,回到步骤(235),重新对该虚拟节点进行映射;如果所有虚拟链路需求都得以满足,则按照映射顺序映射下一个虚拟节点,直至该边缘网络的所有虚拟节点都映射完毕; (237)回到步骤(234),直到该虚拟网络的所有边缘网络都完成映射。
6.根据权利要求4和5所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(221)和(231)中所述的虚拟网络节点资源需求值计算方法的具体内容是虚拟网络节点资源需求值等于该虚拟节点的中央处理器CPU需求值与该虚拟节点相联的所有虚拟链路带宽需求值之和的乘积;或者是虚拟网络节点资源需求值等于与该虚拟节点相联的所有虚拟链路带宽需求值之和乘以该虚拟节点的度数,再加上该虚拟节点的中央处理器CPU需求值。
7.根据权利要求4和5所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(222)和(232)中所述设定的物理网络节点资源能力值计算方法的具体内容是物理网络节点资源能力值等于该物理节点的中央处理器CPU能力值与该物理节点相联的所有物理链路带宽能力值之和的乘积;或者是物理网络节点资源能力值等于与该物理节点相联的所有物理链路带宽能力值之和乘以该物理节点的度数,再加上该物理节点的中央处理器CPU能力值。
8.根据权利要求5所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(233)中对边缘网络进行遍历的遍历算法是广度优先遍历算法或者是深度优先遍历算法。
9.根据权利要求5所述的一种实现虚拟网络映射的方法,其特征在于所述步骤(235)中所述的选择原则的具体内容是选择当前资源能力值最高的物理节点或者是选择当前中央处理器CPU剩余能力最低的物理节点。
全文摘要
一种实现虚拟网络映射的方法,该方法包括下列操作步骤(1)把需要进行网络映射的虚拟网络按照其生命周期的长短进行优先级排队,即生命周期越短的虚拟网络优先级越高,排在队列的前面,优先进行网络映射;(2)按照设定的映射周期,从步骤(1)所述的队列中,依次提取出优先级最高的虚拟网络进行网络映射;如果一个虚拟网络在本映射周期内网络映射失败,则把该虚拟网络放回所述队列中,等待在下一个映射周期内,再对该虚拟网络进行网络映射;如果一个虚拟网络在设定的映射时间内没有成功实现网络映射,则该虚拟网络被丢弃;本发明的方法实现了虚拟网络的高效映射和网络物理资源的有效利用。
文档编号H04L12/46GK102710488SQ201210184748
公开日2012年10月3日 申请日期2012年6月7日 优先权日2012年6月7日
发明者卿苏德, 廖建新, 张乐剑, 徐童, 戚琦, 朱晓民, 王敬宇, 王晶 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1