一种虚拟映射方法及装置与流程

文档序号:11709965阅读:161来源:国知局
一种虚拟映射方法及装置与流程

本发明涉及通讯领域,特别是涉及一种虚拟映射方法及装置。



背景技术:

互联网经过几十年的发展,展示了其强大的生命力和广阔的发展空间。但随着技术的发展,传统互联网由于自身体系架构的缺陷,难以适应新兴业务的不断发展,网络虚拟化技术被认为是解决现有网络体系僵化问题,构建下一代互联网最好的方案。

网路虚拟化旨在一个共享的物理网络资源之上创建多个虚拟网络,同时为每个虚拟网络独自地部署以及管理。网络虚拟化的本质是资源的共享,将物理网络资源池化,达到资源任意分割或者合并的目的,用于构建满足上层服务需求的虚拟网络。sdn(软件定义网络,softwaredefinednetwork)是一种新型网络创新架构,其核心技术是将网络的控制平面和转发平面面相分离,实现集中控制,从而实现网络流量的灵活控制。sdn要求集中控制,网络虚拟化要求集中控制,因此,将sdn运用于网络虚拟化是已然成为一个热门的研究方向。

而在这其中,网络虚拟化映射又是一个研究重点。在不破坏底层资源约束的前提下,控制平面将多个具有不同拓扑的虚拟网络同时映射到共用的数据平面中,并且保证底层资源的高效利用率,被称为虚拟网络映射问题。

虚拟网络映射被分为一节映射和二阶映射。一节映射算法是将节点映射和链路映射作为一个整体考虑,算法是可回溯的映射算法,即遍历所有满足需求的节点集合,寻找可行的链路映射,如果找不到合适的链路映射,则回溯至上一次可行的节点映射方案进行重新计算;如果找到合适的链路映射,则将对应的节点加入至可映射集合,继续计算下一个节点的映射方案;二阶映射分为节点映射和链路映射两个阶段,先映射虚拟网所有的节点,在节点映射完毕后再映射虚拟网所有的链路。

现有技术中的虚拟网络映射方法,需要遍历所有满足需求的节点集合,数据处理量较大,且没有考虑到带宽和距离等因素,得到的映射关系不准确,系统性能较差。



技术实现要素:

本发明提供一种虚拟映射方法及装置,用以解决现有技术中的虚拟网络映射方法,需要遍历所有满足需求的节点集合,数据处理量较大,且没有考虑到带宽和距离等因素,得到的映射关系不准确,系统性能较差的问题。

为解决上述技术问题,一方面,本发明提供一种虚拟映射方法,包括:计算物理拓扑网各个物理节点和虚拟拓扑网各个虚拟节点的资源值;以所述虚拟拓扑网中资源值最大的虚拟节点作为根节点,按照所述虚拟拓扑网资源值的降序排序依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序;选取所述物理拓扑网中资源值最大的前预定个未映射的节点作为当前虚拟节点的候选映射节点;计算所有候选映射节点的吸引力,并选取所有候选映射节点中吸引力最大的节点进行映射,以建立虚拟拓扑网与物理拓扑网的映射。

进一步,以所述虚拟拓扑网中资源值最大的虚拟节点作为根节点,按照所述虚拟拓扑网资源值的降序排序依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序,包括:从所述虚拟拓扑网中选取资源值最大的虚拟节点作为根节点;按照所述虚拟拓扑网资源值的降序排序,从所述根节点开始依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序。

进一步,计算所有候选映射节点的吸引力包括:根据双向广度搜索算法计算每个候选映射节点与相邻已映射的各物理节点之间的吸引力;将每个候选映射节点与相邻已映射的各个物理结点之间的吸引力加权求和,作为每个候选映射节点的吸引力。

进一步,根据双向广度搜索算法计算每个候选映射节点与相邻已映射的各物理节点之间的吸引力,包括:根据双向广度搜索算法确定每个候选映射节点与相邻已映射的各物理节点之间的最短路径;计算每条最短路径上节点之间的吸引力。

进一步,计算所有候选映射节点的吸引力,包括:

候选映射节点吸引力按照如下公式计算:

其中,表示虚拟拓扑网中待映射的虚拟节点;表示映射到物理拓扑网中的候选映射节点;表示已经映射过的相邻的虚拟节点,其中表示节点已经映射过的第i个相邻虚拟节点;表示映射到物理拓扑网中的节点,其中表示映射到物理拓扑网中的节点;表示节点对之间的吸引力,大小为p表示物理拓扑网中满足带宽需求的最短路径;hop表示路径p上节点的跳数;ave(p)表示路径p的平均带宽,大小为其中l是路径p上的一条链路;是虚拟拓扑网中相邻节点的带宽。

另一方面,本发明还提供一种虚拟映射装置,包括:计算模块,用于计算物理拓扑网各个物理节点和虚拟拓扑网各个虚拟节点的资源值;构建模块,用于以所述虚拟拓扑网中资源值最大的虚拟节点作为根节点,按照所述虚拟拓扑网资源值的降序排序依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序;选取模块,用于选取所述物理拓扑网中资源值最大的前预定个未映射的节点作为当前虚拟节点的候选映射节点;映射模块,用于计算所有候选映射节点的吸引力,并选取所有候选映射节点中吸引力最大的节点进行映射,以建立虚拟拓扑网与物理拓扑网的映射。

进一步,所述构建模块包括:选取单元,用于从所述虚拟拓扑网中选取资源值最大的虚拟节点作为根节点;构建单元,用于按照所述虚拟拓扑网资源值的降序排序,从所述根节点开始依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序。

进一步,所述映射模块包括:计算单元,用于根据双向广度搜索算法计算每个候选映射节点与相邻已映射的各物理结点之间的吸引力;确定单元,用于将每个候选映射节点与相邻已映射的各物理节点之间吸引力加权求和,作为每个候选映射节点的吸引力。

进一步,所述计算单元,还用于根据双向广度搜索算法确定每个候选映射节点与相邻已映射的各物理节点之间的最短路径;计算每条最短路径上节点之间的吸引力。

进一步,所述映射模块按照如下公式计算候选映射节点的吸引力:

候选映射节点吸引力为:

其中,表示虚拟拓扑网中待映射的虚拟节点;表示映射到物理拓扑网中的候选映射节点;表示已经映射过的相邻的虚拟节点,其中表示节点已经映射过的第i个相邻虚拟节点;表示映射到物理拓扑网中的节点,其中表示映射到物理拓扑网中的节点;表示节点对之间的吸引力,大小为p表示物理拓扑网中满足带宽需求的最短路径;hop表示路径p上节点的跳数;ave(p)表示路径p的平均带宽,大小为其中l是路径p上的一条链路;是虚拟拓扑网中相邻节点的带宽。

本发明为物理网和虚拟网中的各个节点计算资源值,根据计算的资源值,选取候选节点,再计算候选节点的吸引力,选取吸引力大的节点进行映射,在节点映射时考虑网络拓扑,增加了虚拟网的接受率,可以快速完成映射,解决了现有技术中的虚拟网络映射方法,需要遍历所有满足需求的节点集合,数据处理量较大,且没有考虑到带宽和距离等因素,得到的映射关系不准确,系统性能较差的问题。

附图说明

图1是本发明实施例中虚拟映射方法的流程图;

图2是本发明实施例中虚拟映射装置的结构示意图;

图3是本发明实施例中虚拟映射装置构建模块的结构示意图;

图4是本发明实施例中虚拟映射装置的映射模块结构示意图;

图5是本发明优选实施例中虚拟网映射流程图;

图6是本发明优选实施例中物理网拓扑示意图;

图7是本发明优选实施例中虚拟网拓扑示意图。

具体实施方式

为了解决现有技术中的虚拟网络映射方法,需要遍历所有满足需求的节点集合,数据处理量较大,且没有考虑到带宽和距离等因素,得到的映射关系不准确,系统性能较差的问题,本发明提供了一种虚拟映射方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明实施例提供一种虚拟映射方法,该方法的流程如图1所示,包括步骤s102至s108:

s102,计算物理拓扑网各个物理节点和虚拟拓扑网各个虚拟节点的资源值;

s104,以虚拟拓扑网中资源值最大的虚拟节点作为根节点,按照虚拟拓扑网资源值的降序排序依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序;

s106,选取物理拓扑网中资源值最大的前预定个未映射的节点作为当前虚拟节点的候选映射节点;

s108,计算所有候选映射节点的吸引力,并选取所有候选映射节点中吸引力最大的节点进行映射,以建立虚拟拓扑网与物理拓扑网的映射。

本发明实施例为物理网和虚拟网中的各个节点计算资源值,根据计算的资源值,选取候选节点,再计算候选节点的吸引力,选取吸引力大的节点进行映射,在节点映射时考虑网络拓扑,增加了虚拟网的接受率,可以快速完成映射,解决了现有技术中的虚拟网络映射方法,需要遍历所有满足需求的节点集合,数据处理量较大,且没有考虑到带宽和距离等因素,得到的映射关系不准确,系统性能较差的问题。

实现过程中,以虚拟拓扑网中资源值最大的虚拟节点作为根节点,按照虚拟拓扑网资源值的降序排序依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序,上述过程可以具体包括:从虚拟拓扑网中选取资源值最大的虚拟节点作为根节点;按照虚拟拓扑网资源值的降序排序,从根节点开始依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序。

对于计算所有候选映射节点的吸引力的过程,其可以包括:根据双向广度搜索算法计算每个候选映射节点与相邻已映射的各物理节点之间的吸引力;将每个候选映射节点与相邻已映射的各个物理结点之间的吸引力加权求和,作为每个候选映射节点的吸引力。

根据双向广度搜索算法计算每个候选映射节点与相邻已映射的各物理节点之间的吸引力具体可以包括:根据双向广度搜索算法确定每个候选映射节点与相邻已映射的各物理节点之间的最短路径;计算每条最短路径上节点之间的吸引力。

实现的过程中,候选映射节点吸引力按照如下公式计算:其中,表示虚拟拓扑网中待映射的虚拟节点;表示映射到物理拓扑网中的候选映射节点;表示已经映射过的相邻的虚拟节点,其中表示节点已经映射过的第i个相邻虚拟节点;表示映射到物理拓扑网中的节点,其中表示映射到物理拓扑网中的节点;表示节点对之间的吸引力,大小为p表示物理拓扑网中满足带宽需求的最短路径;hop表示路径p上节点的跳数;ave(p)表示路径p的平均带宽,大小为其中l是路径p上的一条链路;是虚拟拓扑网中相邻节点的带宽。

本发明实施例还提供一种虚拟映射装置,其结构示意如图2所示,包括:计算模块10,用于计算物理拓扑网各个物理节点和虚拟拓扑网各个虚拟节点的资源值;构建模块20,与计算模块10耦合,用于以虚拟拓扑网中资源值最大的虚拟节点作为根节点,按照虚拟拓扑网资源值的降序排序依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序;选取模块30,与构建模块20耦合,用于选取物理拓扑网中资源值最大的前预定个未映射的节点作为当前虚拟节点的候选映射节点;映射模块40,与选取模块30耦合,用于计算所有候选映射节点的吸引力,并选取所有候选映射节点中吸引力最大的节点进行映射,以建立虚拟拓扑网与物理拓扑网的映射。

其中,构建模块20的结构示意如图3所示,包括:选取单元202,用于从虚拟拓扑网中选取资源值最大的虚拟节点作为根节点;构建单元204,与选取单元202耦合,用于按照虚拟拓扑网资源值的降序排序,从根节点开始依次构建广度优先搜索树的每一层待映射节点,以作为虚拟拓扑网中节点的映射顺序。

图4示出了映射模块40的结构示意图,其包括:计算单元402,用于根据双向广度搜索算法计算每个候选映射节点与相邻已映射的各物理结点之间的吸引力;确定单元404,与计算单元402耦合,用于将每个候选映射节点与相邻已映射的各物理节点之间吸引力加权求和,作为每个候选映射节点的吸引力。

进一步,计算单元402还用于根据双向广度搜索算法确定每个候选映射节点与相邻已映射的各物理节点之间的最短路径;计算每条最短路径上节点之间的吸引力。

其中,映射模块40可以按照如下公式计算候选映射节点的吸引力:候选映射节点吸引力为:其中,表示虚拟拓扑网中待映射的虚拟节点;表示映射到物理拓扑网中的候选映射节点;表示已经映射过的相邻的虚拟节点,其中表示节点已经映射过的第i个相邻虚拟节点;表示映射到物理拓扑网中的节点,其中表示映射到物理拓扑网中的节点;表示节点对之间的吸引力,大小为p表示物理拓扑网中满足带宽需求的最短路径;hop表示路径p上节点的跳数;ave(p)表示路径p的平均带宽,大小为其中l是路径p上的一条链路;是虚拟拓扑网中相邻节点的带宽。

优选实施例

现有技术中的虚拟网络映射方法,需要遍历所有满足需求的节点集合,数据处理量较大,且没有考虑到带宽和距离等因素,得到的映射关系不准确,系统性能较差。本发明实施例要解决的问题是相邻的虚拟网(虚拟拓扑网)节点映射距离过远问题,以及一节映射算法的探测阀值的限制。

本发明实施例在实现时,设置满足以下限制,以使得实施例实现的效果更好:物理网络(物理拓扑网,或称为物理网)是由单个网络设施提供商提供;节点的计算资源约束不予考虑;链路映射不支持路径分割。本发明方案及具体参数设置如下:

a)具体规则:

将物理网和虚拟网的节点计算资源值并按照资源值排序,虚拟网中资源值最大的节点作为根结点构建广度优先搜索树,将广度优先搜索树的每层节点按照资源值大小进行排序,排序后作为节点的映射顺序。对于每个节点映射,选择资源值最大的前k个未映射节点作为候选节点,采用带宽优先的双向广度搜索算法进行链路映射,并计算候选节点的吸引力,选取吸引力最大的候选节点映射,然后映射下一个节点,直到所有节点和链路映射完毕。

b)相关参数:

物理网络图可以通过一个带权值的无向图gs=(ns,ls)表示。相关参数如下:

ns:为物理网中节点的集合。

ls:为物理网中链路的集合。

虚拟网络图可以通过一个带权值的无向图gv=(nv,lv)表示。相关参数如下:

nv:为虚拟网中节点的集合。n=|nv|为节点个数。

lv:为虚拟网中链路的集合。

节点的相对资源值可以通过相邻链路的带宽和来表示,定义节点资源值以用于节点的排名。相关参数如下:

rv:为节点的资源值,其大小可以表示为∑l∈lbw(l),l是节点的相邻链路的集合。

吸引力与路径的平均带宽成正比,与路径的节点跳数成反比。相关参数如下:

表示虚拟网中某一个已经映射过的虚拟节点。

是虚拟网中的相邻节点,还没有映射到物理网中。

是虚拟网中相邻节点的带宽。

表示虚拟网节点映射到物理网中的节点

表示虚拟网节点映射到物理网中的候选节点。

表示虚拟网节点的已经映射的相邻节点集合中下标为i的相邻节点。

表示节点的映射到物理网中的节点

p:表示理网中节点满足带宽需求的最短路径。

hop:表示路径p上节点的跳数。

ave(p):表示路径p的平均带宽,其大小可以表示为

表示节点对之间的吸引力,其大小可以表示为

表示候选节点的吸引力。其大小可以表示为

本发明实施例完成虚拟网映射的流程图见图5,步骤如下:

1)首先分别计算物理网gs和虚拟网gv所有节点的资源值;2)将物理网络和虚拟网络按照资源值的降序排列;3)选取虚拟网gv中资源值最大的点,作为根节点,构建广度优先搜索树;4)将广度优先搜索树的每一层节点按照资源值的降序排列,构建虚拟网顶点映射顺序;5)赋初值,将回溯上界和候选节点个数赋初值;6)映射虚拟网第i个顶点和相应链路,判断是否映射成功;7)若映射成功,查看i是否小于虚拟网顶点个数。若是则i加1转到步骤6),若否则转到步骤11)。

8)若映射失败,则查看是否是根结点。若是根结点,则转到步骤10),若否则转到步骤9);9)查看回溯值是否小于回溯上界,若是则找寻导致映射失败的已映射相邻节点,赋值给i,转到步骤6),若否则清除映射信息,转到步骤10);10)虚拟网映射失败,算法结束;11)虚拟网映射成功,算法结束。

下面结合附图和具体实施实例对本发明作进一步的详细描述。

本发明提供的实施例包括如下过程:

步骤s10,根据各个节点建立初始网络物理拓扑和网络虚拟拓扑。

步骤s20,计算物理拓扑和虚拟拓扑的每个节点的资源值,并将节点按照资源值的降序排列,排序后的网络物理拓扑如图6所示,网络虚拟拓扑如图7所示。

步骤s30,虚拟拓扑中以资源值最高的节点c为根节点构建广度优先搜索树,将树的每一层节点按照资源值的降序排列,构建虚拟拓扑的节点映射顺序为c、b、a。

步骤s40,按照虚拟拓扑的节点映射顺序,依次映射节点和链路。

执行s40时,其按照如下过程执行:步骤s4011,映射虚拟拓扑节点c,计算c的资源值为7,得到物理拓扑中满足节点资源值需求且未被映射的节点有5、4、2、1、6、3,选取资源值最大的前两个节点5和4作为候选节点;步骤s4012,在候选节点中选取资源值最大的节点5作为虚拟拓扑根节点c的映射节点。

步骤s50,虚拟拓扑节点c映射完毕,映射节点为物理拓扑中节点5,保存节点和链路映射信息。

随后,重复执行s10至s30,再次执行到s40时,按照如下过程执行:

步骤s4021,映射虚拟拓扑节点b,计算b的资源值为6,得到物理拓扑中满足节点资源值需求且未被映射的节点有4、2、1、6、3,选取资源值最大的前两个节点4和2作为候选节点。

步骤s4022,候选节点为4时,得到节点b的已经映射的相邻节点只有c,节点c的映射节点为5,利用带宽优先的双向广度搜索算法得到满足带宽需求的节点4到节点5的最短路径为4-5,计算两点之间吸引力为7,节点c只有一个相邻已映射节点,计算候选节点的4的吸引力也为7。

步骤s4023,候选节点为2时,得到节点b的已经映射的相邻节点只有c,节点c的映射节点为5,利用带宽优先的双向广度搜索算法得满足带宽需求的节点2到节点5的最短路径为2-5,计算两点之间吸引力为6,节点c只有一个相邻已映射节点,计算候选节点的2的吸引力也为6。

步骤s4024,将候选节点按照吸引力的降序排列为4、2,选择吸引力最大的节点4作为节点b的映射节点。

在按照上述过程执行完s40的过程后,执行步骤s50,此时对应的是虚拟拓扑节点b映射完毕,映射节点为物理拓扑中节点4,保存节点和链路映射信息,更新物理拓扑链路信息。

随后,再次重复执行s10至s30,当再次执行到s40时,再次按照如下的过程执行:

步骤s4031,映射虚拟拓扑节点a,计算a的资源值为5,得到物理拓扑中满足节点资源值需求且未被映射的节点有2、1、6、3,选取资源值最大的前两个节点2和1作为候选节点。

步骤s4032,候选节点为2时,得到节点a的已经映射的相邻节点有c和b,节点c的映射节点为5,节点b的映射节点为4。利用带宽优先的双向广度搜索算法得到满足带宽需求的最短路径,得到节点5到节点2的最短路径为5-2,计算两点之间吸引力为6,节点4到节点2的最短路径为4-1-2,计算两点之间吸引力为2.5。节点b有两个已经映射过的相邻节点,计算候选节点的2的吸引力也为4.6。

步骤s4033,候选节点为1时,得到节点a的已经映射的相邻节点有c和b,节点c的映射节点为5,节点b的映射节点为4。利用带宽优先的双向广度搜索算法得到满足带宽需求的最短路径,得到节点5到节点1的最短路径为5-4-1,计算两点之间吸引力为2.75,节点4到节点1的最短路径为4-1,计算两点之间吸引力为5。节点b有两个已经映射过的相邻节点,计算候选节点的2的吸引力也为3.65。

步骤s4034,将候选节点按照吸引力的降序排列为2、1,选择吸引力最大的节点2作为节点b的映射节点。

在按照上述过程执行完s40的过程后,执行步骤s50,此时的虚拟拓扑节点a映射完毕,映射节点为物理拓扑中节点2,保存节点和链路映射信息,更新物理拓扑带宽信息。

在上述过程将三个虚拟节点都映射完毕后,执行步骤s60,即虚拟拓扑映射完毕,节点c映射到节点5,节点b映射到节点4,链路c-b的映射为4-5,节点a映射到节点2,链路a-c的映射为5-2,链路a-b的映射为4-1-2,更新物理拓扑信息,虚拟网映射完毕。

本发明实施例提供的方法首先为物理网和虚拟网中的各个节点计算资源值,根据计算的资源值,选取资源值最大的前k个未映射的节点作为候选节点,综合考虑带宽和距离的因素,计算候选节点的吸引力,选取吸引力大的节点进行映射,并选择满足带宽需求的带宽优先的最短路径作为链路映射。在节点映射时考虑网络拓扑,增加了虚拟网的接受率,在链路映射时综合考虑带宽和距离,降低虚拟网的链路代价。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1