面向多层次云应用的高可用性虚拟网络映射方法及装置的制造方法

文档序号:8942939阅读:211来源:国知局
面向多层次云应用的高可用性虚拟网络映射方法及装置的制造方法
【技术领域】
[0001] 本发明涉及一种虚拟网络映射方法及装置,特别涉及一种面向多层次云应用的高 可用性虚拟网络映射方法及装置,属于多层次云应用技术领域,具体属于虚拟网络可用性 和资源利用率等领域。
【背景技术】
[0002] 近几年,越来越多的服务提供商将他们多层次的应用迀移到公共云网络之中。在 传统的云网络环境中,云提供商拥有物理设备,能够向服务提供商提供虚拟网络资源,在每 个服务提供商得到一个单独的虚拟网络资源之后,即可为每个用户提供一定的服务。虚拟 网络嵌入实现了虚拟网络到真实物理网络的映射。为了实现更好的应用服务质量,服务提 供商通常会对虚拟网络有一些资源保证(如虚拟机资源、带宽资源)等的特殊需求,但一些 物理网络(如交换机、链路)的失效往往对服务的可用性造成很大影响。现有的一些研究 提出了保证数据中心网络可用性的方法,比如设计一种具有网络冗余度的新型拓扑结构, 但是数据中心失效造成的虚拟网络资源可用性降低仍然是一件困扰很多人的事情。因此, 服务提供商对于提高虚拟网络可用性和保证虚拟资源这两个目标具有很大的需求。
[0003] 现在有多个虚拟网络同时运行在相同的设备之上,所以很有必要设计一种虚拟网 络嵌入机制,实现高效的资源利用的同时满足服务提供商的需求。但是由于高效性和可用 性本身是相矛盾的,所以同时实现这两个目标非常困难。本发明提出了高可用性的虚拟网 络嵌入框架,同时提高了资源利用率和系统的可用性。另外,本发明能够分别测量资源利用 率开销和可用性开销,将这两个开销作为最优化问题进行解决。
[0004] 在多层次云应用中,资源的利用率和可用性是两个本身矛盾的目标,同时考虑这 两个目标,并获得这两个目标的平衡对于多层次云应用具有非常重要的意义,但遗憾的是 针对上述问题当前缺少相关行之有效的解决方法。

【发明内容】

[0005] 本发明的目的是为解决现有技术无法兼顾资源利用率和可用性这两个矛盾的目 标而进行虚拟网络映射的问题,提出一种面向多层次云应用的高可用性虚拟网络映射方 法,该方法能够有效提高虚拟网络的可用性和资源利用率,同时,本发明具有灵活性高、可 用性强、可用而高效的特点。
[0006] 本发明的思想是根据用户请求,分别计算在每种资源分配方案下的资源利用率开 销和可用性开销,获取开销之和最小时的资源分配,即为本发明最佳资源分配方案。
[0007] 本发明的目的是通过以下技术方案实现的:
[0008] -种面向多层次云应用的高可用性虚拟网络映射方法,包括以下步骤:
[0009] 1.服务提供商(用户)向云提供商提出具有k层的应用的请求T = {TJ (1彡i彡k),其中>,N1表示应用第i层需要的虚拟机的数量;#表示第 i层上每个虚拟机层内通信需要的带宽;乾*表示第i层上每个虚拟机层间通信需要的带 宽;
[0010] 2.云提供商获取当前云平台下的树形拓扑结构G= (V,E),其中V表示所有服务 器的集合,E表示所有链路的集合,root为E中的跟链路;并按照请求T中应用每层需求的 虚拟机数量N1进行降序排列,并将结果放到数组Τ'中;
[0011] 3.对于Τ'中的每一层的请求T1,计算每条链路子树的虚拟机可行向量\和最小 可行值5Γ η,可行向量\的表示如表1所示:
[0012] 表1可行向量Sf3
[0013]
[0014] 表示链路e子树的资源分配方案F,即当在该链路e子树分配X个虚拟机资源时, 是否可行(y = 1表示可行,否则不可行);对于变量X,若满足x<rv,则对应的y值为1, rv表示服务器V空槽的数量;最小可行值Sfn表示y = 1时,X的最小值;
[0015] 4.根据可行向量\中对应的虚拟资源分配方案F计算链路e对应的目标向量Pe 和最小目标值
[0016] Pe= C(F) +a A(F) (1)
[0017] 其中,C(F)表示数据中心结构在分配方案F下所有链路的带宽开销之和,通过下 式计算:
[0018]
[0019] 其中,^^表示链路e占有的权重,表示链路e的容量,表示在分配方案F下链 路的带宽需求,通过下式计算:
[0020]
[0021] 其中,iVT表示与G中链路e相连的子树中含有的第i层应用的虚拟机数 量,M+表示G中除去与链路e相连子树的剩余部分含有的第i层应用的虚拟机数 量,
表示与链路e相连的子树和剩余树层内通信所需要的带宽,
表示与链路e相连的子树和剩余树层间通信所需要的带宽;其 中,分配给链路e的带宽不大于链路e的剩余带宽容量,即r μ Vee E,匕表示链路e 的剩余容量,如果说明链路e的剩余带宽不足以满足分配方案F下用户的需求,则 舍弃该方案;
[0022] A(F)表示数据中心结构在分配方案F下的可用性开销,通过下式计算: CN 105159780 A 仇叱卞> 3/8 页
[0023]
[0024] 其中,J表示数据中心中可能失效的服务器集合,P],(j e J)表示J中每个服务器 j失效的可能性;
[0025] Sij=E veyfivZ^j/Ni (5)
[0026] Θ u表示J中j失效时,j中分配的第i层虚拟机资源数量占用户第i层资源需 求的比例,flv表示在服务器V中给应用的第i层分配的虚拟资源的数量,z v]表示服务器V 是否为j,故zv_j取值为0或1 ;当V = j时,z v_j = 1 ;当V辛j时,z v_j = 0 ; α是可用性开销 A(F)的参数,由云提供商来规定;最小目标值Zfin为目标向量PJ勺最小值;
[0027] 5.云提供商根据可行向量\和最小可行值Sf1以及目标向量Pe和最小目标值If in 通过遍历方法获取第i层最优的虚拟资源分配方案;
[0028] 作为优选,所述遍历方法为递归方法alloc (r,e,η),该方法获得给第i层应用 分配的虚拟资源数量,并与用户请求的队进行对比,如果两者相等,则返回true,说明存 在第i层应用的分配方案;如果两者不相等,则返回false,说明不存在第i层应用的分 配方案;其中,参数r表示用户请求,参数e表示链路,参数η表示用户请求分配的虚拟资 源数量;并且,将跟链路root作为方法alloc的初始执行链路,即将T 1, root,队代入方法 alloc (r,e, η)中;alloc (r,e, η)的工作流程如下:
[0029] (1)若level (e) = 0 (level表示链路e在数据中心所处的层 次,level (e) = 0时,链路e与服务器直接相连),分配的虚拟资源数量为
1表示当目标向量匕取最小值^rn时对应的1值, 判断doneVM在可行向量3(;是否合法(即当X = doneVM时,y是否为1),如果不合法,则返 回-1 ;如果合法,则返回doneVM值,即给第i层应用在链路e相连的服务器V内分配数量 为1的虚拟机资源,数学表达为flv= 1 ;
[0030] (2)若 level (e)辛 0,doneVM - 0d,on 设 eVseMt (e+) t 为 mp 链路 e 子树 level (e)-l层的链路集合,链路e' e set (e),对set (e)中的每条链路e'按照值进行 升序排列,计算虚拟资源可用数量base,
;对于set (e)中的每条链 路e',计算
,tmp是递归执行方法alloc (步骤 5)得到的数值;如果tmp辛-I, base和doneVM进行如下赋值彻此_一(_?-和 doneVM - doneVM+tmp ;如果tmp = -1,则alloc返回-1值;在执行完set (e)中的每条链 路e'操作之后,判断doneVM在可行向量3(;是否合法(即当X = doneVM时,y是否为1), 如果不合法,贝1J返回-1 ;如果合法,贝1J返回doneVM值;
[0031] 6.执行完步骤5之后,即可获得虚拟网络在第i层应用的资源分配方案 {flv},v e V,i固定,并依次执行第2步中Τ'中应用其它层的请求,获取其它层的 资源分配方案{f]v},l < j < k,j乒i,v e V,最终获得虚拟网络嵌入解决方案F = {flv},1彡i彡k,V e V,flv表示给应用的第i层在服务器V中分配的虚拟资源的数量。
[0032] -种面向多层次云应用的高可用性虚拟网络映射装置,包括依次连接的用户请求 接收模块、请求计算模块、资源分配模块和资源分配输出模块;用户请求接收模块用于接收 用户请求T = {Tj (I < i < k),并向请求计算模块输出该用户请求;请求计算模块用于根 据用户请求T和当前云平台下的树形拓扑结构分别计算链路的可行向量和对应的目标向 量,并向资源分配模块输出用户请求和计算结果:可行向量、目标向量;资源分配模块用于 调用alloc方法根据用户请求、可行向量和目标向量为应用的每一层分配一定的虚拟机资 源,并将分配方案输出到资源分配输出模块;资源分配输出模块用于将资源分配方案输出 给云提供商。
[0033] 作为优选,所述请求计算模块进一步由可行向量计算模块、目标向量计算模块、带 宽开销计算
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1