CN108965016B - 一种虚拟网络的映射方法及装置 - Google Patents

一种虚拟网络的映射方法及装置 Download PDF

Info

Publication number
CN108965016B
CN108965016B CN201810835008.8A CN201810835008A CN108965016B CN 108965016 B CN108965016 B CN 108965016B CN 201810835008 A CN201810835008 A CN 201810835008A CN 108965016 B CN108965016 B CN 108965016B
Authority
CN
China
Prior art keywords
link
mapped
node
condition
virtual
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
CN201810835008.8A
Other languages
English (en)
Other versions
CN108965016A (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.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
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 Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN201810835008.8A priority Critical patent/CN108965016B/zh
Publication of CN108965016A publication Critical patent/CN108965016A/zh
Application granted granted Critical
Publication of CN108965016B publication Critical patent/CN108965016B/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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种虚拟网络映射方法及装置,其中,方法包括:获取用于表示初始待映射虚拟网络的初始待映射拓扑结构;待映射拓扑结构包括节点标识和链路标识,一个节点标识表示待映射虚拟网络中的一个虚拟节点,一个链路标识表示待映射虚拟网络中的一条虚拟链路;对初始待映射拓扑结构中的节点标识进行合并,使得节点标识合并后的待映射拓扑结构中任意一个链路标识所代表的虚拟链路满足预设条件;确定第一映射关系;基于第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。通过本申请,解决虚拟网络与底层网络映射过程中,对虚拟网络所包括的虚拟节点的规模的限制问题。

Description

一种虚拟网络的映射方法及装置
技术领域
本申请涉及网络虚拟化领域,特别是涉及一种虚拟网络的映射方法及装置。
背景技术
虚拟网络是一种由计算设备通过虚拟网络链接所形成的计算机网络。其中,虚拟网络链接是指在两个计算设备间通过网络虚拟化进行链接。虚拟网络包括多个虚拟节点和多条虚拟链路,由仿真资源构成的物理网络通常称为底层网络或物理网络,其中,底层网络包括多个底层节点和多条底层链路。在实际应用中,底层网络需要为虚拟网络中的虚拟节点和虚拟链路提供仿真资源。
为虚拟网络分配仿真资源,在逻辑上可视为将虚拟网络中的虚拟节点和虚拟链路映射到底层网络中的底层节点和底层链路上。目前,通过映射算法将虚拟网络中的虚拟节点与底层网络中的底层节点进行映射,实现虚拟网络中的虚拟节点与底层网络中的底层节点的映射,以及虚拟网络中的虚拟链路与底层网络中的底层链路间的映射。
但是,映射算法只能完成包括百余个虚拟节点的虚拟网络的映射。因此,在映射算法的可行范围内,需要完成包括更多虚拟节点的虚拟网络的映射。
发明内容
基于此,本申请提出了一种虚拟网络的映射方法,用以解决虚拟网络与底层网络映射过程中,对虚拟网络所包括的虚拟节点的规模的限制问题。
本申请还提供了一种虚拟网络的映射装置,用以保证上述方法在实际中的实现及应用。
本申请提供的技术方案为:
本申请公开了一种虚拟网络的映射方法,包括:
获取用于表示初始待映射虚拟网络的初始待映射拓扑结构;待映射拓扑结构包括节点标识和链路标识,一个节点标识表示所述待映射虚拟网络中的一个虚拟节点,一个链路标识表示所述待映射虚拟网络中的一条虚拟链路;
对所述初始待映射拓扑结构中的节点标识进行合并,使得节点标识合并后的待映射拓扑结构中任意一个链路标识所代表的虚拟链路满足预设条件;所述预设条件包括:所需的任一种节点资源小于对应的预设节点资源阈值、所需的任一种链路资源小于对应的预设链路资源阈值,以及所需的任一种链路条件满足对应的预设链路条件;
确定第一映射关系;所述第一映射关系表示所述节点标识合并后的待映射拓扑结构与用于表示底层网络的底层拓扑结构间的映射关系;
基于所述第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
其中,所述对所述初始待映射拓扑结构中的节点标识进行合并,得到节点标识合并后的待映射拓扑结构,包括:
按照预设流程对所述初始待映射拓扑结构中的节点标识进行合并,得到第一中间待映射拓扑结构;并按照所述预设流程对所述第一中间待映射拓扑结构中的节点标识进行合并,得到第二中间待映射拓扑结构;依次循环,直至得到目标待映射拓扑结构;使得对所述目标待映射拓扑结构中的节点标识进行合并,所得到的节点标识合并后的目标待映射拓扑结构中,存在所代表的虚拟链路不满足所述预设条件的链路标识;
将所述目标待映射拓扑结构,确定为所述节点标识合并后的待映射拓扑结构。
其中,所述预设流程包括:
按照待处理拓扑结构中链路标识的预设先后顺序,依次判断每个链路标识所代表的虚拟链路是否满足所述预设条件,若所述链路标识所代表的虚拟链路满足所述预设条件,则将满足所述预设条件的链路标识所链接的两个节点标识合并为一个节点标识;所述待处理拓扑结构为:所述初始待映射拓扑结构和多个中间待映射拓扑结构中的任意一个待映射拓扑结构。
其中,在所述确定第一映射关系之后,还包括:
确定每个中间待映射拓扑结构与所述底层拓扑结构间的映射关系为第二映射关系;其中,一个中间待映射拓扑结构对应一个第二映射关系;
计算所述第一映射关系的收益,以及与每个中间待映射拓扑结构对应的第二映射关系的收益;所述第一映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述第一映射关系中实际所提供的总资源间的比值;任意一个第二映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述任意一个第二映射关系中实际所提供的总资源间的比值;
所述基于所述第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系,具体为:
若存在收益大于所述第一映射关系的收益的第二映射关系,则按照所述收益大于所述第一映射关系的收益的第二映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
其中,对于任意一个中间待映射拓扑结构,确定与所述中间待映射拓扑结构对应的第二映射关系,包括:
按照所述第一映射关系,确定所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系;
调整所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系,得到所述中间待映射拓扑结构对应的第二映射关系。
其中,所述预设条件还包括:
任意一端所链接的虚拟节点总数量小于预设数量阈值。
本申请还公开了一种虚拟网络的映射装置,包括:
获取单元,用于获取用于表示初始待映射虚拟网络的初始待映射拓扑结构;待映射拓扑结构包括节点标识和链路标识,一个节点标识表示所述待映射虚拟网络中的一个虚拟节点,一个链路标识表示所述待映射虚拟网络中的一条虚拟链路;
合并单元,用于对所述初始待映射拓扑结构中的节点标识进行合并,使得节点标识合并后的待映射拓扑结构中任意一个链路标识所代表的虚拟链路满足预设条件;所述预设条件包括:所需的任一种节点资源小于对应的预设节点资源阈值、所需的任一种链路资源小于对应的预设链路资源阈值,以及所需的任一种链路条件满足对应的预设链路条件;
第一确定单元,用于确定第一映射关系;所述第一映射关系表示所述节点标识合并后的待映射拓扑结构与用于表示底层网络的底层拓扑结构间的映射关系;
第二确定单元,用于基于所述第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
其中,合并单元,包括:
合并子单元,用于按照预设流程对所述初始待映射拓扑结构中的节点标识进行合并,得到第一中间待映射拓扑结构;并按照所述预设流程对所述第一中间待映射拓扑结构中的节点标识进行合并,得到第二中间待映射拓扑结构;依次循环,直至得到目标待映射拓扑结构;使得对所述目标待映射拓扑结构中的节点标识进行合并,所得到的节点标识合并后的目标待映射拓扑结构中,存在所代表的虚拟链路不满足所述预设条件的链路标识;
第一确定子单元,用于将所述目标待映射拓扑结构,确定为所述节点标识合并后的待映射拓扑结构。
其中,合并子单元,包括执行模块,
所述执行模块,用于执行所述合并子单元中的预设流程,具体用于:按照待处理拓扑结构中链路标识的预设先后顺序,依次判断每个链路标识所代表的虚拟链路是否满足所述预设条件,若所述链路标识所代表的虚拟链路满足所述预设条件,则将满足所述预设条件的链路标识所链接的两个节点标识合并为一个节点标识;所述待处理拓扑结构为:所述初始待映射拓扑结构和多个中间待映射拓扑结构中的任意一个待映射拓扑结构。
其中,该装置还包括:
第三确定单元,用于确定每个中间待映射拓扑结构与所述底层拓扑结构间的映射关系为第二映射关系;其中,一个中间待映射拓扑结构对应一个第二映射关系;
计算单元,用于计算所述第一映射关系的收益,以及与每个中间待映射拓扑结构对应的第二映射关系的收益;所述第一映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述第一映射关系中实际所提供的总资源间的比值;任意一个第二映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述任意一个第二映射关系中实际所提供的总资源间的比值;
所述第二确定单元,具体用于若存在收益大于所述第一映射关系的收益的第二映射关系,则按照所述收益大于所述第一映射关系的收益的第二映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
其中,所述第三确定单元,包括:
第二确定子单元,用于按照所述第一映射关系,确定所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系;
调整子单元,用于调整所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系,得到所述中间待映射拓扑结构对应的第二映射关系。
其中,合并单元中的预设条件还包括:
任意一端所链接的虚拟节点总数量小于预设数量阈值。
本申请的有益效果为:
在本申请实施例中,获取初始待映射虚拟网络对应的初始待映射拓扑结构,对初始待映射拓扑结构中的节点标识进行合并,使得合并后的待映射拓扑结构中每个链路标识所代表的虚拟链路满足预设条件,该预设条件表示:底层网络中的任意一条底层链路,可以承载合并后的拓扑结构中的任意一个链路标识所代表的虚拟链路时,合并后的待映射拓扑结构中每个链路标识所代表的虚拟链路所需满足的条件。因此,本申请实施例保证在底层网络可以承载的前提下,对初始待映射拓扑结构中的节点标识进行合并。一方面,相比于初始待映射拓扑结构,合并后的待映射拓扑结构中节点标识的数量明显减少;进而,在初始待映射虚拟网络中虚拟节点数量不变的前提下,减少了与底层拓扑结构中的节点标识进行映射的节点标识数量,实现了对更大虚拟节点规模的虚拟网络的映射,得到第一映射关系;另一方面,保证了底层网络的任意一条虚拟链路,可以承载节点标识合并后的待映射拓扑结构中任意一个链路标识所代表的虚拟链路;进而,保证基于第一映射关系所得到的初始待映射虚拟网络与底层网络间的映射,可以在实际中应用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请中一种对虚拟拓扑结构中的节点标识进行合并的方法实施例的流程图;
图2为本申请中一种节点标识合并后的待映射拓扑结构与底层拓扑结构间的映射方法实施例的流程图;
图3为本申请中一种映射关系的修正方法实施例的流程图;
图4为本申请中一种虚拟网络映射的装置实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对虚拟网络中的每个节点都存在两方面的需求,一方面为:至少两种资源,另一方面为:至少两个条件;其中,至少两种资源可以包括CPU和内存等;至少两个条件可以包括:延时极大值和丢包率。
在本实施例中,对于虚拟网络中的每个节点所需的任意一种资源定义为如下公式(1)所示:
Figure BDA0001744339950000061
其中,该式中,q表示资源类型,具体可以为CPU,也可以为内存,当然,也可以为其他资源;Nv表示虚拟网络中所有节点所组成的节点集合;nv表示属于Nv中的任意一个节点;
Figure BDA0001744339950000062
表示nv节点的q资源值;
Figure BDA0001744339950000063
表示该虚拟网络中每个节点所对应的q资源值的最大值;
Figure BDA0001744339950000064
表示本实施例中定义的nv节点的q资源值。例如,当q表示内存时,
Figure BDA0001744339950000065
表示该虚拟网络中每个节点所需要的内存值中的最大值;
Figure BDA0001744339950000066
表示本实施例中nv节点所需的内存值。
对于虚拟网络中的每个节点所需的总资源定义为如下公式(2)所示:
Figure BDA0001744339950000071
式中,m表示资源类型的总数量,
Figure BDA0001744339950000072
表示nv节点第i种类型的资源值,
Figure BDA0001744339950000073
表示nv节点所需的总资源值。例如,当资源类型为CPU和内存时,
Figure BDA0001744339950000074
表示nv节点所需的CPU值与内存值的和。
对于虚拟网络中的每个节点所需的任意一种条件定义为如下公式(3)所示:
Figure BDA0001744339950000075
式中,t表示条件类型,具体可以为延时极大值,也可以为丢包率;
Figure BDA0001744339950000076
表示nv节点所需的t条件值;
Figure BDA0001744339950000077
表示该虚拟网络中每个节点所承受的t条件值中的最大值,
Figure BDA0001744339950000078
表示本实施例中所定义的nv节点所需的t条件值。例如,当t表示延时极大值时,
Figure BDA0001744339950000079
表示该虚拟网络中每个节点所承受的延时极大值中的最大值;
Figure BDA00017443399500000710
表示nv节点所承受的延时极大值。
对于虚拟网络中的任意一个节点nv所需的总条件定义为如下公式(4)所示:
Figure BDA00017443399500000711
式中,p表示条件类型的总数量,
Figure BDA00017443399500000712
表示本实施例中所定义的nv节点第i种条件类型的条件值,
Figure BDA00017443399500000713
表示nv节点所需的总条件值。例如,当条件类型为延时极大值和丢包率时,
Figure BDA00017443399500000714
表示nv节点所需的延时极大值与丢包率值的和。
针对虚拟网络中的每条链路都包括两方面的需求,其中,一方面为带宽资源,另一方面为至少两个条件;其中,至少两个条件可以包括:延时极大值和丢包率。
对于虚拟网络中的每条链路所需带宽定义为如下公式(5)所示:
Figure BDA00017443399500000715
其中,该式中,q表示资源类型,具体可以为带宽,当然,还可以为其他资源;Lv表示虚拟网络中所有链路所组成的链路集合;lv表示属于Lv中的任意一条链路;
Figure BDA0001744339950000081
表示链路lv所需的q资源值;
Figure BDA0001744339950000082
表示该虚拟网络中每条链路所需的q资源值中的最大值;
Figure BDA0001744339950000083
表示本实施例所定义的链路lv所需的q资源值。例如,当q表示带宽时,
Figure BDA0001744339950000084
表示该虚拟网络中每条链路所需要的带宽中的最大值;
Figure BDA0001744339950000085
表示链路lv所需的带宽值。
对于虚拟网络中的任意一条链路lv所需的总资源定义为如下公式(6)所示:
Figure BDA0001744339950000086
式中,m表示资源类型的总数量,
Figure BDA0001744339950000087
表示链路lv所需的第i种资源类型的资源值,
Figure BDA0001744339950000088
表示链路lv所需的总资源值。例如,当资源类型包括带宽时,
Figure BDA0001744339950000089
表示链路lv所需的带宽。
对于虚拟网络中的每条链路所需的任意一种条件定义为如下公式(7)所示:
Figure BDA00017443399500000810
式中,t表示条件类型,具体可以为延时极大值,也可以为丢包率;
Figure BDA00017443399500000811
表示链路lv所需的t条件值;
Figure BDA00017443399500000812
表示该虚拟网络中每条链路所需要的t条件值中的最大值,
Figure BDA00017443399500000813
表示本实施例所定义的lv链路所需的t条件值。例如,当t表示延时极大值时,
Figure BDA00017443399500000814
表示该虚拟网络中每条链路所需要的延时极大值中的最大值;
Figure BDA00017443399500000815
表示本实施例中链路lv所需的延时极大值。
对于虚拟网络中的每条链路所需的总条件定义为如下公式(8)所示:
Figure BDA00017443399500000816
式中,p表示条件类型的总数量,
Figure BDA00017443399500000817
表示链路lv所需的第i种类型的条件值,
Figure BDA00017443399500000818
表示本实施例中所定义的链路lv所需的总条件值。例如,当条件类型为延时极大值和丢包率时,
Figure BDA00017443399500000819
表示链路lv所需的延时极大值与丢包率值的和。
针对底层网络中的每个节点都可以提供至少两种资源和至少两个条件这两方面,其中,至少两种资源可以包括CPU和内存等;至少两个条件可以包括:延时极大值和丢包率。
对于底层网络中的每个节点所提供的任意一种资源定义为如下公式(9)所示:
Figure BDA0001744339950000091
式中,q表示资源类型,具体可以为CPU,也可以为内存;Ns表示底层网络中所有节点所组成的节点集合;ns表示属于Ns中的任意一个节点;
Figure BDA0001744339950000092
表示节点ns可以提供的q资源值;
Figure BDA0001744339950000093
表示该底层网络中每个节点所提供的q资源值中的最大值;
Figure BDA0001744339950000094
表示本实施例所定义的节点ns所提供的q资源值。例如,当q表示内存时,
Figure BDA0001744339950000095
表示该底层网络中每个节点所提供的内存值中的最大值;
Figure BDA0001744339950000096
表示本实施例中节点ns提供的内存值。
对于底层网络中的每个节点所提供的总资源定义为如下公式(10)所示:
Figure BDA0001744339950000097
式中,m表示资源类型的总数量,
Figure BDA0001744339950000098
表示本实施例定义的节点ns提供的第i种类型的资源值,
Figure BDA0001744339950000099
表示本实施例中定义的节点ns所提供的总资源值。例如,当资源类型为CPU和内存时,
Figure BDA00017443399500000910
表示节点ns所提供的CPU值与内存值的和。
对于底层网络中的每个节点所提供的任意一种条件定义为如下公式(11)所示:
Figure BDA00017443399500000911
式中,t表示条件类型,具体可以为延时极大值,也可以为丢包率;
Figure BDA00017443399500000912
表示节点ns所提供的t条件值;
Figure BDA00017443399500000913
表示该底层网络中每个节点所提供的t条件值中的最大值,
Figure BDA00017443399500000914
表示本实施例中所定义的节点ns所提供的t条件值。例如,当t表示延时极大值时,
Figure BDA00017443399500000915
表示该底层网络中每个节点所提供的延时极大值中的最大值;
Figure BDA00017443399500000916
表示本实施例中节点ns所提供的延时值。
对于底层网络中的任意一个节点所提供的总条件定义为如下公式(12)所示:
Figure BDA00017443399500000917
式中,p表示条件类型的总数量,
Figure BDA00017443399500000918
表示节点ns所提供的第i种类型的条件值,
Figure BDA00017443399500000919
表示本实施例中所定义的节点ns所提供的总条件值。例如,当条件类型为延时极大值和丢包率时,
Figure BDA00017443399500000920
表示本实施例中节点ns所提供的延时极大值与丢包率值的和。
针对底层网络中的任意一条链路都提供链路资源和至少两个条件这两方面,其中,链路资源可以包括带宽;至少两个条件可以包括:延时极大值和丢包率。
对于底层网络中的任意一条链路所提供的任意一种资源定义为如下公式(13)所示:
Figure BDA0001744339950000101
其中,该式中,q表示资源类型,具体可以为带宽;Ls表示底层网络中所有链路所组成的链路集合;ls表示属于Ls中的任意一条链路;
Figure BDA0001744339950000102
表示链路ls所提供的q资源值;
Figure BDA0001744339950000103
表示该底层网络中每条链路所提供的q资源值中的最大值;
Figure BDA0001744339950000104
表示本实施例所定义的链路ls所提供的q资源值。例如,当q表示带宽时,
Figure BDA0001744339950000105
表示该底层网络中每条链路所提供的带宽值中的最大值;
Figure BDA0001744339950000106
表示本实施例中链路ls所提供的带宽值。
对于底层网络中的任意一条链路所提供的总资源定义为如下公式(14)所示:
Figure BDA0001744339950000107
式中,m表示资源类型的总数量,
Figure BDA0001744339950000108
表示链路ls所提供的第i种类型的定义资源值,
Figure BDA0001744339950000109
表示链路ls所提供的总资源值。例如,当资源类型为带宽时,
Figure BDA00017443399500001010
表示链路ls所提供带宽。
对于底层网络中的任意一条链路所提供的任意一种条件定义为如下公式(15)所示:
Figure BDA00017443399500001011
式中,t表示条件类型,具体可以为延时极大值,也可以为丢包率;
Figure BDA00017443399500001012
表示链路ls所提供的t条件值;
Figure BDA00017443399500001013
表示该底层网络中每条链路所提供的t条件值中的最大值,
Figure BDA00017443399500001014
表示链路ls所提供的t条件值。例如,当t表示延时极大值时,
Figure BDA00017443399500001015
表示该底层网络中每条链路所提供的延时极大值中的最大值;
Figure BDA00017443399500001016
表示本实施例中所定义的链路ls所提供的延时极大值。
对于底层网络中的任意一条链路所提供的总条件定义为如下公式(16)所示:
Figure BDA0001744339950000111
式中,p表示条件类型的总数量,
Figure BDA0001744339950000112
表示链路ls所提供的第i种类型的定义条件值,
Figure BDA0001744339950000113
表示链路ls所提供的总条件值。例如,当条件类型为延时极大值和丢包率时,
Figure BDA0001744339950000114
表示链路ls所提供的延时极大值与丢包率值的和。
参考图1,示出了本申请中一种对虚拟拓扑结构中的节点标识进行合并的方法实施例的流程图。
在本实施例中,为了描述方便,对于待映射的虚拟网络统称为初始待映射虚拟网络,并将用于表示初始待映射虚拟网络的拓扑结构,统称为初始待映射拓扑结构。在本实施例中,初始待映射拓扑结构包括节点标识和链路标识,其中,一个节点标识代表初始待映射虚拟网络中的一个虚拟节点,一个链路标识代表初始待映射虚拟网络中的一条虚拟链路。
在本实施例中,需要对初始待映射拓扑结构中的节点标识进行合并,具体的,针对初始待映射拓扑结构中的任意一个链路标识,判断该链路标识所代表的虚拟链路是否满足预设条件,若满足,则将该任意一个链路标识所链接的两个节点标识合并为一个节点标识。具体的,执行以下步骤101~步骤110:
步骤101:按照预设的第一函数,计算初始待映射拓扑结构中每个链路标识所代表的虚拟链路的第一函数值。
其中,第一函数如下公式(17)所示:
Figure BDA0001744339950000115
式中,nv1与nv2表示任意一个链路标识所代表的虚拟链路lv所连接的两个节点;α、β和γ分别为预设参数;
Figure BDA0001744339950000116
表示本实施例所定义的该条虚拟链路的总资源值,
Figure BDA0001744339950000117
表示本实施例所定义的该条虚拟链路的总条件值;
Figure BDA0001744339950000118
表示本实施例所定义的虚拟节点nv1的总资源值,
Figure BDA0001744339950000119
表示本实施例所定义的虚拟节点nv2的总资源值,
Figure BDA00017443399500001110
表示本实施例所定义的虚拟节点nv1的总条件值,
Figure BDA00017443399500001111
表示本实施例所定义的虚拟节点nv2的总条件值,F(lv)为该条链路lv的第一函数值。
对于该条链路的第一函数值越大,表示该条虚拟链路所需第一数值越大,且该条虚拟链路所连接的两个虚拟节点所需的第二数值越小,其中,第一数值为该条虚拟链路所需的总资源和所需的总条件值的和;第二数值为该条虚拟链路所链接的两个虚拟节点分别所需的总资源、该条虚拟链路所链接的两个虚拟节点分别所需的总条件值之和。
假设将该条虚拟链路所链接的两个虚拟节点合并后,将合并后所得到的节点映射到底层网络中的目标节点时,该条虚拟链路之间的传输只需在目标节点内部传输即可,不需要消耗底层网络中的链路资源,因此,在底层网络不变的情况下,第一数值越大,表示该底层网络可以节省的资源越多,该底层网络可以支持的虚拟网络的规模越大;第二数值越小,表示对于同一个目标节点来说,该目标节点可以支持更多的虚拟节点,因此,该底层网络可以支持的虚拟网络的规模越大。
需要说明的是,上述公式(17)提供了第一函数的一种实现形式,在实际应用中,第一函数还可以为其他形式,只要第一函数与第一数值成正相关,且与第二数值成负相关即可。
步骤102:按照第一函数值从大到小的顺序,确定待处理的链路标识;针对任意一个待处理链路标识,都按照以下步骤103~步骤110的动作执行。
步骤103:确定待处理链路标识所代表的待处理虚拟链路所需的节点资源向量。
在该步骤中,节点资源向量的维度与资源类型的种类相同,且一种资源类型构成该资源向量中的一个元素。具体的,针对该条待处理虚拟链路所连接的虚拟节点所需的任意一种资源类型,将该待处理虚拟链路所链接的两个节点分别所需的该种资源类型的资源值的和,确定为节点资源向量中该种资源类型所对应的元素值,此时,一种资源类型对应一个元素值,所有的元素值构成了该条待处理虚拟链路所需的节点资源向量。
例如,资源类型包括CPU和内存两种,在本步骤中,分别计算该待处理虚拟链路上的两个虚拟节点所需的CPU之和,以及该待处理虚拟链路上的两个虚拟节点分别所需的内存之和;并将计算得到的CPU之和与内存之和作为该待处理链路对应的资源向量。
步骤104:确定待处理链路标识所代表的待处理虚拟链路所需的链路资源向量。
在本步骤中,该待处理虚拟链路所需的链路资源向量的维度与该待处理虚拟链路所需资源类型的种类数目相同,即一种资源类型作为组成链路资源向量的一个元素。为了描述方便,将待处理链路所需的链路资源向量统称为第一向量。
具体的,确定该待处理虚拟链路所需的第一资源向量包括:
步骤A1:针对该待处理虚拟链路所链接的任意一个虚拟节点,确定包含该任意一个虚拟节点的虚拟链路与该待处理虚拟链路所需总带宽值,得到该任意一个虚拟节点对应的总带宽值,此时,得到与待处理虚拟链路所链接的每个虚拟节点所对应的总带宽值。
步骤A2:基于待处理虚拟链路中每个虚拟节点对应的总带宽值,确定该待处理虚拟链路所对应的带宽值。
其中,该待处理虚拟链路所对应的带宽值为所链接的每个虚拟节点所对应的总带宽值之和。
步骤105:确定待处理链路标识所代表的待处理虚拟链路所需的链路条件向量。
其中,条件向量的维度表示该待处理虚拟链路所需的条件类型的数目,具体的,链路条件向量中的一个元素代表待处理虚拟链路所需的一种条件类型,并且,一个元素的取值代表待处理虚拟链路所需的一种条件类型的条件值,为了描述方便,本实施例中将链路条件向量统称为第一条件向量。具体的,确定待处理虚拟链路所需的第一条件向量的过程可以包括步骤B1~步骤B2:
步骤B1:针对任意一种条件类型,以及该待处理虚拟链路所链接的任意一个虚拟节点,确定包含该任意一个虚拟节点的虚拟链路与该待处理虚拟链路所需的该条件类型的最小条件值,得到该任意一个虚拟节点所对应的该种条件类型的最小条件值,同理,得到与待处理虚拟链路所链接的每个虚拟节点所对应的该种条件类型的最小条件值。
步骤B2:确定待处理虚拟链路所对应的该任意一种条件类型的最小条件值。
针对任意一种条件类型,将每个虚拟节点所对应的该种条件类型所对应的条件最小值中的最小值,确定该待处理虚拟链路所对应的该任意一种条件类型的最小条件值。
步骤B3:将由每种条件类型所对应的最小条件值所组成的条件向量,确定为待处理虚拟链路的第一条件向量。
步骤106:确定合并后的节点标识所包含的节点标识总数量。
其中,假设将表示该待处理虚拟链路的链路标识所连接的两个节点标识进行合并,为了描述方便,将合并后的节点标识统称为合并后的节点标识。该合并后的节点标识所包含的节点标识的总数量为:从初始待映射拓扑结构到当前待映射拓扑结构,该合并后的节点标识所包含的节点标识的总数量。
步骤107:确定合并后的节点标识的链路直径。
其中,合并后的节点标识的链路直径为:该合并后的节点标识在初始待映射拓扑结构中所对应的节点标识子图中,任意两个节点标识间的链路表示的最大数量。
步骤108:确定第一比值。
第一比值为:合并后的待映射拓扑结构中节点标识的数量,与合并前待映射拓扑结构中节点标识的数量间的比值。
步骤109:获取节点资源阈值向量、链路资源阈值向量和链路条件阈值向量。
确定节点资源阈值向量的过程可以包括:
对于底层网络中的任意一个底层节点,该底层节点对应的资源阈值向量中元素的个数与资源类型的数目相同,一个元素对应一种资源类型。针对每种资源类型,从该底层网络中的所有节点分别对应的该种资源类型所对应的资源值中,确定中位数,并将该种资源类型所对应的中位数,确定为该底层节点所对应的节点资源阈值向量中的对应元素的取值,此时,不同种类的节点资源对应不同的元素值,不同的元素值构成了节点资源阈值向量。为了描述方便,将链路资源阈值向量统称为第二资源向量。
确定链路资源阈值向量的过程包括步骤C1~步骤C3:
步骤C1:确定底层网络中每条链路所提供的第二资源向量,得到多个第二资源向量。
其中,底层网络中每条链路所提供的第二资源向量的确定原理,与步骤104中第一资源向量的确定原理相同,具体原理可以参考步骤104,这里不再赘述。
步骤C2:针对任意一种链路资源,确定多个第二资源向量中与该任意一种链路资源所对应的多个资源值的中位数,得到每种链路资源所对应的中位数。
步骤C3:将每种链路资源所对应的中位数所组成的向量,确定为链路资源阈值向量。
确定链路条件阈值向量的过程可以包括步骤D1~步骤D3:
步骤D1:确定底层网络中每条链路所提供的第二条件向量,得到多个第二条件向量。
具体的,确定底层网络中每条链路所提供的第二条件向量的原理,与步骤105中确定待处理链路的第一条件向量的原理相同,具体细节可以参考步骤105,这里不再赘述。
步骤D2:针对任意一种条件,确定多个第二条件向量中与该任意一种条件所对应的多个条件值的中位数,得到每种条件所对应的中位数。
步骤D3:将每种条件所对应的中位数所组成的向量,确定为条件阈值向量。
步骤110:若该待处理链路满足预设条件,则将代表该待处理链路的链路标识所链接的两个节点标识合并为一个节点标识。
具体的,预设条件可以包括:
第一条件:待处理虚拟链路所需的节点资源向量中的数值对应小于节点资源阈值向量中的数值。这里的对应表示,虚拟链路所需的节点资源向量中一种资源的元素值,小于节点资源阈值向量中同种资源类型的元素值。例如,虚拟链路所需的节点资源向量中的内存值,小于节点资源阈值向量中的内存值。
第二条件:待处理虚拟链路所需的链路资源向量中的数值对应小于链路资源阈值向量中数值。具体的,待处理虚拟链路所需的链路资源向量中的带宽值,小于链路资源阈值向量中的带宽值。
第三条件:待处理虚拟链路所需的链路条件向量中的数值对应小于链路条件阈值向量中的数值。例如,待处理虚拟链路所需的链路条件向量中的最大延时,小于链路条件阈值向量中的最大延时。
若该待处理链路满足上述第一条件、第二条件和第三条件时,将代表该待处理链路的链路标识所链接的两个节点标识合并为一个节点标识。
在实际应用中,为了使得对待处理链路达到更高的合并效果,在本实施例中,若合并代表待处理链路的链路标识所链接的两个节点标识,除了满足上述第一条件、第二条件和第三条件之外,还需要满足以下第四条件、第五条件和第六条件。
其中,第四条件为:合并后的节点标识所包含的节点标识总数量小于预设数量阈值;
第五条件为:合并后的节点标识链路直径小于预设链路直径;
第六条件为:第一比值小于预设比值。
在本步骤中,第一比值为合并后的待映射虚拟链路中虚拟节点的数量,与待映射虚拟链路中虚拟节点的数量间的比值。
上述步骤101~步骤110的目的是:针对初始待映射拓扑结构中满足预设条件的虚拟链路所对应的链路标识,将该链路标识所链接的两个节点标识合并为一个节点标识。在将两个链路标识所链接的两个节点标识合并后,所得到的拓扑结构上,按照初始待映射拓扑结构中第一函数值的先后顺序,对下一个待处理链路标识按照上述步骤103~步骤110进行处理,依次循环,直至对初始待映射拓扑结构中的每个链路标识,都按照步骤103~步骤110处理后,此时,完成了对初始待映射拓扑结构的一次迭代过程,得到中间待映射拓扑结构。
接着,判断完成一次迭代后的中间待映射拓扑结构是否还可以进行下一次迭代,具体的执行步骤111。
步骤111:判断本次中间待映射拓扑结构与得到该中间待映射拓扑结构前最近一次所得到的待映射拓扑结构,是否相同。
若不同,则基于本次所得到的中间拓扑结构,按照步骤102确定待处理虚拟链路标识,并按照步骤103~步骤110的步骤进行下一次迭代;直至,所得到的中间待映射拓扑结构与上次所得到的中间待映射拓扑结构相同。为了描述方便,本实施例中,将最后一次所得到的中间待映射拓扑结构,统称为节点标识合并后待映射拓扑结构。
接着,需要将节点标识合并后的待映射拓扑结构与用于表示底层网络的底层拓扑结构进行映射。即需要建立映射关系,具体的,参考图2,示出了本申请中一种节点标识合并后的待映射拓扑结构与底层拓扑结构间的映射方法实施例的流程图,该方法实施例可以包括:
步骤201:生成矩阵。
在得到节点标识合并后的待映射拓扑结构后,假设该节点标识合并后的待映射拓扑结构中包括n个节点标识,为该节点标识合并后的待映射拓扑结构中的节点标识进行编号,分别为
Figure BDA0001744339950000171
假设底层拓扑结构中包括m个底层节点,为该底层拓扑结构中的底层节点标识进行编号。分别为
Figure BDA0001744339950000172
Figure BDA0001744339950000173
生成一个n×m的矩阵,该矩阵中的行表示该底层拓扑结构中的各底层节点标识的编号,列表示该节点标识合并后的待映射拓扑结构中各节点标识的编号。该矩阵中某行某列所对应的数值表示该行的底层节点标识编号映射到该列的节点标识编号的概率。
在矩阵中个,任意一行表示该行所对应的节点标识编号与各个底层节点标识编号映射时的概率值,该行所有的概率值之和为1;在该行中,对于不能与该行对应的节点标识编号映射的底层节点标识,该行中不能映射的底层节点标识对应的位置处的取值为0;对于与该节点标识可以映射的底层节点标识概率之和为1。
步骤202:依据矩阵生成多个个体。
在生成矩阵后,接着,在本步骤中,依据所生成的矩阵生成多个个体,每个个体表示初始待映射拓扑结构中的各节点标识与底层拓扑结构中的底层节点标识间的一种对应关系。
其中,依据矩阵生成任意一个个体的过程可以包括:
从矩阵中的每行随机选取一个不为零的数值,并将所选取的多个不为零的数值所对应的节点标识与底层节点标识所形成的映射关系,确定为一个个体。
假设所生成的矩阵为如下表1所示,依据该表1中的数据生成10个个体,即
Figure BDA0001744339950000174
Figure BDA0001744339950000175
间的10种映射关系。在该表1中,
Figure BDA0001744339950000176
Figure BDA0001744339950000177
建立映射关系的概率为0.5,体现在10个个体中为:在10个个体中存在5个个体中存在
Figure BDA0001744339950000179
Figure BDA00017443399500001710
建立映射关系。
表1
Figure BDA0001744339950000178
Figure BDA0001744339950000181
步骤203:计算每个个体的收益。
其中,任意一个个体的收益为该个体的收益开销比,其中,该个体的收益为初始待映射虚拟网络所需的总资源;该个体的开销为:底层网络在每个个体所代表的映射关系中实际所提供的总资源。
步骤204:确定最优个体。
在计算出每个个体的收益后,接着,在本步骤中,将最大收益值所对应的个体确定为最优个体。
步骤205:计算当前迭代过程中最优个体的收益增量。
其中,当前迭代过程中最优个体的收益增量为:当前迭代过程中最优个体的收益与上次迭代过程中最优个体的收益间的差值。当本次迭代为第一次迭代时,在本步骤中,上次迭代过程中最优个体的收益为0。
步骤206:判断当前迭代是否满足第一目标预设条件;
其中,第一目标预设条件包括:当前迭代次数达到预设迭代次数;或者,当前迭代过程中最优个体的收益是否大于预设收益阈值;或者,当前迭代过程中最优个体的收益增量是否小于预设差值阈值。
若不满足第一目标预设条件,则需要更新个体并进行下一次迭代,具体执行步骤207的动作;若满足第一目标预设条件,表示可以对节点标识合并后的待映射拓扑结构中的节点标识与底层拓扑结构中的底层节点标识间的映射关系的优化过程结束,此时,执行步骤208的动作。
步骤207:更新个体。
在本次迭代不满足第一目标预设条件时,需要更新个体继续进行迭代过程。在本步骤中,执行更新个体的动作,具体的,通过更新矩阵实现对个体的更新,具体可以包括步骤E1~步骤E2:
步骤E1:更新矩阵。
在本步骤中,按照以下公式(18)所示的更新规则更新矩阵。
Figure BDA0001744339950000182
其中,
Figure BDA0001744339950000191
在式中,pij(k)表示待更新的矩阵中第i行第j列对应的概率值,在本步骤中为本次迭代过程中步骤201所生成的矩阵中第i行第j列对应的概率值;pij(k+1)表示与pij(k)对应的更新后的概率值;α表示学习速率,取值为0~1之间的一个数值;Nmin表示当前多个个体中,收益值较优的个体数量;
Figure BDA0001744339950000192
表示示性函数,其中,该示性函数中,Il(i)表示多个个体中第l个个体的第i个节点标识,当多个个体中第l个个体的第i个节点标识映射到第j个底层节点标识时,
Figure BDA0001744339950000194
的取值为1,否则
Figure BDA0001744339950000193
的取值为0。
步骤E2:依据更新后的矩阵生成新个体,并将当前迭代过程中的最优个体与所生成的新个体确定为更新后的个体。
在得到更新后的概率矩阵后,接着,在本步骤中,依据更新后概率矩阵生成新个体,若所有个体的个数为10个,在本步骤中,依据更新后的矩阵生成9个新个体;并将本次迭代所得到的最优个体与本步骤中所生成的9个新个体所组成的10个个体,作为更新后的个体返回步骤203,按照步骤203的动作计算更新后的每个个体的收益,即开始下一次迭代,即执行步骤203的动作。
步骤208:确定第一映射关系。
在本步骤中,将当前迭代过程中的最优个体所表示的映射关系,确定节点标识合并后的待映射拓扑结构中的节点标识与底层拓扑结构中的底层节点标识间的映射关系,为了描述方便,将节点标识合并后的待映射拓扑结构中的节点标识与底层拓扑结构中的底层节点标识间的映射关系,统称为第一映射关系。
在确定出第一映射关系后,可能在将初始待映射拓扑中的节点标识合并后,得到节点标识合并后的待映射拓扑结构的过程中,存在某个中间待映射拓扑结构与底层拓扑结构间进行映射后所得到的映射关系对应的收益更好。
因此,在图2所对应的实施例确定第一映射关系后,接着,修正该第一映射关系。具体的,参考图3,示出了本申请中一种映射关系的修正方法实施例的流程图。
在本实施例中,对映射关系的修正即是寻找比图2实施例所得到的映射关系的收益更高的映射关系。具体的,在将节点标识合并后的待映射拓扑结构一步一步还原为中间待映射拓扑结构的过程中,针对每次所还原出的中间待映射拓扑结构,检测该次所还原的中间待映射拓扑结构与底层拓扑结构间的映射关系的收益,是否比图2实施例所对应的第一映射关系的收益更高。
该修正方法实施例具体可以包括以下步骤:
步骤301:将节点标识合并后的待映射拓扑结构进行一次还原,得到一个中间待映射拓扑结构。
步骤302:根据第一映射关系,确定第二映射关系。
在本步骤中,第二映射关系为中间待映射拓扑结构与底层拓扑结构间的映射关系。例如,对于节点标识合并后的待映射拓扑结构中的某个节点标识还原出2个节点标识,此时,将该2个节点标识同时对应到该某个节点标识所对应的底层节点标识。
步骤303:确定第二映射关系的多种k阶映射关系。
在本步骤中,对于该第二映射关系中的任意一个节点标识,改变该任意一个节点标识对应的底层节点标识,且改变后的底层节点标识与原底层节点标识间的距离为k,其中,改变后的底层节点标识与原底层节点标识间的距离表示:链接改变后的底层节点标识与原底层节点标识间的链路条数。此时,得到该任意一个节点标识所对应的多个k阶映射关系。为了描述方便,本实施例中将与该任意一个节点标识所对应的多个k阶映射关系,统称为一种k阶映射关系。因此,在本实施例中,第二映射关系中的一个节点标识对应一种k阶映射关系,并且,一种k阶映射关系包括多个k阶映射关系。
例如,该第二映射关系中包括10个节点标识和20个底层节点标识,其中,第1个节点标识对应第2个底层节点标识,如果第4个底层节点标识、第6个底层节点标识和第12个底层节点标识分别与第2个底层节点标识间的距离为k;此时,与第1个节点标识对应的多个k阶映射关系分别为:在该第二映射关系的基础上,将第1个节点标识与第4个底层节点标识进行映射所得到的映射关系;在该第二映射关系的基础上,将第1个节点标识与第6个底层节点标识进行映射所得到的映射关系;在该第二映射关系的基础上,将第1个节点标识与第12个底层节点标识进行映射所得到的映射关系;此时,针对第1个节点标识得到3个k阶映射关系,并且,本实施例中将所得到的3个k阶映射关系作为一种k阶映射关系。
同理,针对该第二映射关系中的第2个节点标识,同样可以得到多个k阶映射关系,本实施例将针对第2个节点标识所得到的多个k阶映射关系,作为一种k阶映射关系。因此,在本步骤中,在该第二映射关系的基础上,可以得到多种k阶映射关系,其中,一种k阶映射关系对应该第二映射关系中的一个节点标识,并且,一种k阶映射关系可以包括多个k阶映射关系。
步骤304:从多种k阶映射关系中选取一个k阶映射关系。
在确定出该第二映射关系对应的多种k阶映射关系后,接着,在本步骤中,从多种k阶映射关系中随机选取一种k阶映射关系,并且,从所选取的一种k阶映射关系中选取一个k阶映射关系。
步骤305:计算当前所选取的映射关系的收益。
在从多种k阶映射关系中选取一个映射关系后,接着,在本步骤中,计算所选取的映射关系的收益。
步骤306:更新最优解。
在本实施例中,设置一个最优解,该最优解表示历史收益最高的一种映射关系。在计算出当前所选取的映射关系的收益后,判断所计算出的收益是否大于最优解的收益,若当前计算得到的收益大于最优解的收益,则将最优解更新为当前所选取的映射关系。
步骤307:判断是否接受当前所选的映射关系。
其中,采用模拟退火算法的解接受策略判断是否接受当前所选取的映射关系。其中,模拟退火算法的解接受策略可以包括:若当前所选的映射关系的收益大于该第二映射关系的收益,则接受当前所选取的映射关系。若当前所选取的映射关系的收益不大于第二映射关系的收益,则以某种概率接受当前所选取的映射关系。其中,若当前所选取的映射关系的收益不大于第二映射关系的收益时,接受当前所选取的映射关系的概率与模拟退火算法中的温度系数成正相关。假设以30%的概率接受当前所选取的映射关系所表示的含义为:在10次判断是否接受当前所选取的映射关系的情况下,只有3次接受当前所选取的映射关系。
若不接受当前所选取的映射关系,则执行步骤308的动作;若接受当前所选取的映射关系,则执行步骤309的动作。
步骤308:从未被选取的多种k阶映射关系中选取一个k阶映射关系。
在本实施例中,当不接受当前所选取的映射关系时,执行本步骤的动作。具体的,在本步骤中,采用不重复选取的方式,即从多种k阶映射关系中未被选取的多种k阶映射关系中随机选取一种k阶映射关系,并从当前所选取的一种k阶映射关系中选取一个映射关系,并返回步骤305,直至步骤307接受当前所选取的映射关系,接着,执行步骤309的动作。
步骤309:判断是否达到第二目标预设条件。
其中,第二目标预设条件可以包括:当前迭代次数达到第三阈值;或者,当前迭代的修正收益小于预设修正收益阈值;或者,当前迭代的累积修正收益大于预设累积修正收益阈值。其中,当前迭代的修正收益为:当前迭代所接受的映射关系的收益,与上次迭代所接受的映射关系的收益间的差值。当前迭代的累积修正收益为:当前次迭代所接受的映射关系的收益,与第一次迭代所接受的映射关系的收益间的差值。
若不满足第二目标预设条件,执行步骤310的动作;若满足第二目标预设条件,则执行步骤312的动作。
步骤310:更新模拟退火算法中的温度参数。
在本步骤中,降低模拟退火算法中的温度参数,并执行步骤311的动作。
步骤311:将该当前所选取的映射关系作为第二映射关系。
若不满足第二目标预设条件,则将所接受的映射关系作为第二映射关系,并返回步骤303。
步骤312:判断节点标识合并后的待映射拓扑结构是否完全展开。
在进行一次迭代之后,判断当前中间待映射拓扑结构是否还可以进一步的还原,若可以还原则执行步骤313的动作;若不可以还原,则执行步骤314的动作。
步骤313:进一步还原当前中间待映射拓扑结构。
对当前中间待映射拓扑结构进行进一步还原,得到还原后的中间待映射拓扑结构,并将还原后的中间待映射拓扑结构确定为中间待映射拓扑结构,并返回步骤302。
步骤314:输出最优解。
参考图4,示出了本申请中一种虚拟网络映射装置实施例的结构示意图,该装置实施例可以包括:
获取单元401,用于获取用于表示初始待映射虚拟网络的初始待映射拓扑结构;待映射拓扑结构包括节点标识和链路标识,一个节点标识表示所述待映射虚拟网络中的一个虚拟节点,一个链路标识表示所述待映射虚拟网络中的一条虚拟链路;
合并单元402,用于对所述初始待映射拓扑结构中的节点标识进行合并,使得节点标识合并后的待映射拓扑结构中任意一个链路标识所代表的虚拟链路满足预设条件;所述预设条件包括:所需的任一种节点资源小于对应的预设节点资源阈值、所需的任一种链路资源小于对应的预设链路资源阈值,以及所需的任一种链路条件满足对应的预设链路条件;
第一确定单元403,用于确定第一映射关系;所述第一映射关系表示所述节点标识合并后的待映射拓扑结构与用于表示底层网络的底层拓扑结构间的映射关系;
第二确定单元404,用于基于所述第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
其中,合并单元402,可以包括:
合并子单元,用于按照预设流程对所述初始待映射拓扑结构中的节点标识进行合并,得到第一中间待映射拓扑结构;并按照所述预设流程对所述第一中间待映射拓扑结构中的节点标识进行合并,得到第二中间待映射拓扑结构;依次循环,直至得到目标待映射拓扑结构;使得对所述目标待映射拓扑结构中的节点标识进行合并,所得到的节点标识合并后的目标待映射拓扑结构中,存在所代表的虚拟链路不满足所述预设条件的链路标识;
第一确定子单元,用于将所述目标待映射拓扑结构,确定为所述节点标识合并后的待映射拓扑结构。
其中,合并子单元,可以包括执行模块,
所述执行模块,用于执行所述合并子单元中的预设流程,具体用于:按照待处理拓扑结构中链路标识的预设先后顺序,依次判断每个链路标识所代表的虚拟链路是否满足所述预设条件,若所述链路标识所代表的虚拟链路满足所述预设条件,则将满足所述预设条件的链路标识所链接的两个节点标识合并为一个节点标识;所述待处理拓扑结构为:所述初始待映射拓扑结构和多个中间待映射拓扑结构中的任意一个待映射拓扑结构。
其中,该装置实施例还可以包括:
第三确定单元,用于确定每个中间待映射拓扑结构与所述底层拓扑结构间的映射关系为第二映射关系;其中,一个中间待映射拓扑结构对应一个第二映射关系;
计算单元,用于计算所述第一映射关系的收益,以及与每个中间待映射拓扑结构对应的第二映射关系的收益;所述第一映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述第一映射关系中实际所提供的总资源间的比值;任意一个第二映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述任意一个第二映射关系中实际所提供的总资源间的比值;
所述第二确定单元,具体用于若存在收益大于所述第一映射关系的收益的第二映射关系,则按照所述收益大于所述第一映射关系的收益的第二映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
其中,所述第三确定单元,可以包括:
第二确定子单元,用于按照所述第一映射关系,确定所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系;
调整子单元,用于调整所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系,得到所述中间待映射拓扑结构对应的第二映射关系。
其中,合并单元中的预设条件还可以包括:
任意一端所链接的虚拟节点总数量小于预设数量阈值。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。在文中的“包括”、“包含”等词语解释为包含的含义而不是排他或穷举的含义;也就是说,是“包含但不限于”的含义。在不脱离本发明构思的前提下,还可以做出变形、同等替换、改进等,这些都属于本发明的保护范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种虚拟网络的映射方法,其特征在于,包括:
获取用于表示初始待映射虚拟网络的初始待映射拓扑结构;待映射拓扑结构包括节点标识和链路标识,一个节点标识表示所述待映射虚拟网络中的一个虚拟节点,一个链路标识表示所述待映射虚拟网络中的一条虚拟链路;
对所述初始待映射拓扑结构中的节点标识进行合并,使得节点标识合并后的待映射拓扑结构中任意一个链路标识所代表的虚拟链路满足预设条件;所述预设条件包括:所需的任一种节点资源小于对应的预设节点资源阈值、所需的任一种链路资源小于对应的预设链路资源阈值,以及所需的任一种链路条件满足对应的预设链路条件;
确定第一映射关系;所述第一映射关系表示所述节点标识合并后的待映射拓扑结构与用于表示底层网络的底层拓扑结构间的映射关系;
基于所述第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系;
其中,对所述初始待映射拓扑结构中的节点标识进行合并,具体包括:
按照预设的第一函数,计算初始待映射拓扑结构中每个链路标识所代表的虚拟链路的第一函数值;
按照第一函数值从大到小的顺序,确定待处理的链路标识;
确定待处理链路标识所代表的待处理虚拟链路所需的节点资源向量;
确定待处理链路标识所代表的待处理虚拟链路所需的链路资源向量;
确定待处理链路标识所代表的待处理虚拟链路所需的链路条件向量;
确定合并后的节点标识所包含的节点标识总数量;
确定合并后的节点标识的链路直径;
确定第一比值,所述第一比值为合并后的待映射拓扑结构中节点标识的数量与合并前待映射拓扑结构中节点标识的数量间的比值;
获取节点资源阈值向量、链路资源阈值向量和链路条件阈值向量;
若待处理链路满足预设条件,则将代表待处理链路的链路标识所链接的两个节点标识合并为一个节点标识,得到中间待映射拓扑结构,所述预设条件包括第一条件、第二条件、第三条件、第四条件、第五条件以及第六条件,所述第一条件为待处理虚拟链路所需的节点资源向量中的数值对应小于节点资源阈值向量中的数值,所述第二条件为待处理虚拟链路所需的链路资源向量中的数值对应小于链路资源阈值向量中数值,所述第三条件为待处理虚拟链路所需的链路条件向量中的数值对应小于链路条件阈值向量中的数值,所述第四条件为合并后的节点标识所包含的节点标识总数量小于预设数量阈值,所述第五条件为合并后的节点标识链路直径小于预设链路直径,所述第六条件为第一比值小于预设比值;
判断所述中间待映射拓扑结构与得到所述中间待映射拓扑结构前最近一次所得到的待映射拓扑结构是否相同;
若是,将所述中间待映射拓扑结构作为节点标识合并后的待映射拓扑结构;
若否,返回按照第一函数值从大到小的顺序,确定待处理的链路标识,进行相应的处理,直至所得到的中间待映射拓扑结构与得到所述中间待映射拓扑结构前最近一次所得到的待映射拓扑结构相同。
2.根据权利要求1所述的方法,其特征在于,在所述确定第一映射关系之后,还包括:
确定每个中间待映射拓扑结构与所述底层拓扑结构间的映射关系为第二映射关系;其中,一个中间待映射拓扑结构对应一个第二映射关系;
计算所述第一映射关系的收益,以及与每个中间待映射拓扑结构对应的第二映射关系的收益;所述第一映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述第一映射关系中实际所提供的总资源间的比值;任意一个第二映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述任意一个第二映射关系中实际所提供的总资源间的比值;
所述基于所述第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系,具体为:
若存在收益大于所述第一映射关系的收益的第二映射关系,则按照所述收益大于所述第一映射关系的收益的第二映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
3.根据权利要求2所述的方法,其特征在于,对于任意一个中间待映射拓扑结构,确定与所述中间待映射拓扑结构对应的第二映射关系,包括:
按照所述第一映射关系,确定所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系;
调整所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系,得到所述中间待映射拓扑结构对应的第二映射关系。
4.根据权利要求1所述的方法,其特征在于,所述预设条件还包括:
任意一端所链接的虚拟节点总数量小于预设数量阈值。
5.一种虚拟网络的映射装置,其特征在于,包括:
获取单元,用于获取用于表示初始待映射虚拟网络的初始待映射拓扑结构;待映射拓扑结构包括节点标识和链路标识,一个节点标识表示所述待映射虚拟网络中的一个虚拟节点,一个链路标识表示所述待映射虚拟网络中的一条虚拟链路;
合并单元,用于对所述初始待映射拓扑结构中的节点标识进行合并,使得节点标识合并后的待映射拓扑结构中任意一个链路标识所代表的虚拟链路满足预设条件;所述预设条件包括:所需的任一种节点资源小于对应的预设节点资源阈值、所需的任一种链路资源小于对应的预设链路资源阈值,以及所需的任一种链路条件满足对应的预设链路条件;
第一确定单元,用于确定第一映射关系;所述第一映射关系表示所述节点标识合并后的待映射拓扑结构与用于表示底层网络的底层拓扑结构间的映射关系;
第二确定单元,用于基于所述第一映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系;
其中,所述合并单元具体用于:
按照预设的第一函数,计算初始待映射拓扑结构中每个链路标识所代表的虚拟链路的第一函数值;
按照第一函数值从大到小的顺序,确定待处理的链路标识;
确定待处理链路标识所代表的待处理虚拟链路所需的节点资源向量;
确定待处理链路标识所代表的待处理虚拟链路所需的链路资源向量;
确定待处理链路标识所代表的待处理虚拟链路所需的链路条件向量;
确定合并后的节点标识所包含的节点标识总数量;
确定合并后的节点标识的链路直径;
确定第一比值,所述第一比值为合并后的待映射拓扑结构中节点标识的数量与合并前待映射拓扑结构中节点标识的数量间的比值;
获取节点资源阈值向量、链路资源阈值向量和链路条件阈值向量;
若待处理链路满足预设条件,则将代表待处理链路的链路标识所链接的两个节点标识合并为一个节点标识,得到中间待映射拓扑结构,所述预设条件包括第一条件、第二条件、第三条件、第四条件、第五条件以及第六条件,所述第一条件为待处理虚拟链路所需的节点资源向量中的数值对应小于节点资源阈值向量中的数值,所述第二条件为待处理虚拟链路所需的链路资源向量中的数值对应小于链路资源阈值向量中数值,所述第三条件为待处理虚拟链路所需的链路条件向量中的数值对应小于链路条件阈值向量中的数值,所述第四条件为合并后的节点标识所包含的节点标识总数量小于预设数量阈值,所述第五条件为合并后的节点标识链路直径小于预设链路直径,所述第六条件为第一比值小于预设比值;
判断所述中间待映射拓扑结构与得到所述中间待映射拓扑结构前最近一次所得到的待映射拓扑结构是否相同;
若是,将所述中间待映射拓扑结构作为节点标识合并后的待映射拓扑结构;
若否,返回按照第一函数值从大到小的顺序,确定待处理的链路标识,进行相应的处理,直至所得到的中间待映射拓扑结构与得到所述中间待映射拓扑结构前最近一次所得到的待映射拓扑结构相同。
6.根据权利要求5所述的装置,其特征在于,还包括:
第三确定单元,用于确定每个中间待映射拓扑结构与所述底层拓扑结构间的映射关系为第二映射关系;其中,一个中间待映射拓扑结构对应一个第二映射关系;
计算单元,用于计算所述第一映射关系的收益,以及与每个中间待映射拓扑结构对应的第二映射关系的收益;所述第一映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述第一映射关系中实际所提供的总资源间的比值;任意一个第二映射关系的收益为:所述初始待映射虚拟网络所需的总资源,与所述底层网络在所述任意一个第二映射关系中实际所提供的总资源间的比值;
所述第二确定单元,具体用于若存在收益大于所述第一映射关系的收益的第二映射关系,则按照所述收益大于所述第一映射关系的收益的第二映射关系,确定所述初始待映射虚拟网络与所述底层网络间的映射关系。
7.根据权利要求6所述的装置,其特征在于,所述第三确定单元,包括:
第二确定子单元,用于按照所述第一映射关系,确定所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系;
调整子单元,用于调整所述中间待映射拓扑结构与所述底层拓扑结构间的映射关系,得到所述中间待映射拓扑结构对应的第二映射关系。
8.根据权利要求5所述的装置,其特征在于,合并单元中的预设条件还包括:
任意一端所链接的虚拟节点总数量小于预设数量阈值。
CN201810835008.8A 2018-07-26 2018-07-26 一种虚拟网络的映射方法及装置 Active CN108965016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810835008.8A CN108965016B (zh) 2018-07-26 2018-07-26 一种虚拟网络的映射方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810835008.8A CN108965016B (zh) 2018-07-26 2018-07-26 一种虚拟网络的映射方法及装置

Publications (2)

Publication Number Publication Date
CN108965016A CN108965016A (zh) 2018-12-07
CN108965016B true CN108965016B (zh) 2021-06-15

Family

ID=64463353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810835008.8A Active CN108965016B (zh) 2018-07-26 2018-07-26 一种虚拟网络的映射方法及装置

Country Status (1)

Country Link
CN (1) CN108965016B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995619B (zh) * 2019-10-17 2021-09-28 北京邮电大学 一种服务质量感知的虚拟网络映射方法和装置
CN115862417B (zh) * 2023-02-28 2023-05-12 中电运行(北京)信息技术有限公司 一种集成攻防演练学习的虚拟仿真系统及仿真方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420797A (zh) * 2010-09-27 2012-04-18 北京系统工程研究所 一种拓扑映射方法及系统
CN105939244A (zh) * 2016-06-14 2016-09-14 北京邮电大学 一种协同虚拟网络映射方法
CN107360031A (zh) * 2017-07-18 2017-11-17 哈尔滨工业大学 一种基于优化开销收益比的虚拟网络映射方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420797A (zh) * 2010-09-27 2012-04-18 北京系统工程研究所 一种拓扑映射方法及系统
CN105939244A (zh) * 2016-06-14 2016-09-14 北京邮电大学 一种协同虚拟网络映射方法
CN107360031A (zh) * 2017-07-18 2017-11-17 哈尔滨工业大学 一种基于优化开销收益比的虚拟网络映射方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"虚拟网络映射机制与算法研究";刘江;《中国博士学位论文全文数据库信息科技辑》;20130115;正文第2.4节 *
虚拟网络映射算法研究;张葆;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315;正文第2-5章 *

Also Published As

Publication number Publication date
CN108965016A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN111953758B (zh) 一种边缘网络计算卸载和任务迁移方法及装置
CN112737854B (zh) 一种基于能耗和服务质量的服务链迁移方法及装置
CN108965016B (zh) 一种虚拟网络的映射方法及装置
CN113033800A (zh) 分布式深度学习方法、装置、参数服务器及主工作节点
CN108667657A (zh) 一种面向sdn的基于局部特征信息的虚拟网络映射方法
CN116962438B (zh) 一种梯度数据同步方法、系统、电子设备及可读存储介质
CN111556516A (zh) 面向时延和能效敏感业务的分布式无线网络任务协同分配方法
CN112966054A (zh) 基于企业图谱节点间关系的族群划分方法和计算机设备
CN114816739B (zh) 针对负载均衡的片上网络增量任务映射方法
WO2019148605A1 (zh) 资源感知的服务链备份节点分配算法及装置
CN112104693A (zh) 非均匀移动边缘计算网络的任务卸载方法及装置
CN113179175A (zh) 一种电力通信网业务的实时带宽预测方法及装置
CN112596910A (zh) 一种多用户mec系统中的云计算资源调度方法
CN109032630A (zh) 一种参数服务器中全局参数的更新方法
CN110933728B (zh) 虚拟化无线传感网络的映射方法、装置、存储介质
CN117436627A (zh) 任务分配方法、装置、终端设备及介质
CN113992520B (zh) 一种虚拟网络资源的部署方法和系统
CN115099178B (zh) 一种考虑编程干扰的flash型FPGA布线方法
CN109245948A (zh) 安全感知的虚拟网络映射方法及其装置
US20230216811A1 (en) Method and apparatus for managing network traffic via uncertainty
CN113824650B (zh) 一种分布式深度学习系统中的参数传输调度算法及系统
JP4127056B2 (ja) 並列多目標追尾装置
WO2022057459A1 (zh) 一种基于Tensorcore处理int4数据类型的方法、系统、设备及介质
CN110166362B (zh) 一种基于节点筛选的服务功能图低时延映射方法
CN114912627A (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
GR01 Patent grant
GR01 Patent grant