[发明专利]面向多层次云应用的高可用性虚拟网络映射方法及装置有效
申请号: | 201510520914.5 | 申请日: | 2015-08-21 |
公开(公告)号: | CN105159780B | 公开(公告)日: | 2018-07-20 |
发明(设计)人: | 沈蒙;徐恪;吴波 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L29/08;G06F9/455 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙) 11639 | 代理人: | 唐华 |
地址: | 100081 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种面向多层次云应用的高可用性虚拟网络映射方法及装置,属于多层次云应用技术领域。本发明方法首先获取用户提出的多层次应用请求;然后对用户提出的请求按照各层需要的虚拟机数量降序排序;接下来按照各层需要的虚拟机数量从高到低的顺序为各层分配虚拟机资源,具体如下:首先对该层请求需要的虚拟机数量根据当前云平台下的树形拓扑结构计算所有分配方案的可行向量Se和最小可行值以及对应的目标向量Pe和最小目标值其次,通过递归方法获取每条链路对该层的最优分配方案;最后输出该用户多层次应用请求的最优分配方案。对比现有技术,本发明的资源分配方案兼顾到资源利用率和可用性,在保证可用性的同时,提高了整个系统的效率。 | ||
搜索关键词: | 面向 多层次 应用 可用性 虚拟 网络 映射 方法 装置 | ||
【主权项】:
1.一种面向多层次云应用的高可用性虚拟网络映射方法,其特征在于:包括以下步骤:(1)服务提供商向云提供商提出具有k层的应用的请求T={Ti},其中1≤i≤k,Ni表示应用第i层需要的虚拟机的数量;表示第i层上每个虚拟机层内通信需要的带宽;表示第i层上每个虚拟机层间通信需要的带宽;(2)云提供商获取当前云平台下的树形拓扑结构G=(V,E),其中V表示所有服务器的集合,E表示所有链路的集合,这里根链路为root;并按照请求T中应用每层需求的虚拟机数量Ni进行降序排列,并将结果放到数组T'中;(3)对于T'中的每一层的请求Ti,计算每条链路子树的虚拟机可行向量Se和最小可行值可行向量Se表示链路e子树的资源分配方案F,即当在该链路e子树分配x个虚拟机资源时,是否可行:y=1表示可行,否则不可行;对于变量x,若满足x≤rv,则对应的y值为1,rv表示服务器v空槽的数量;最小可行值表示y=1时,x的最小值;(4)根据可行向量Se中对应的虚拟资源分配方案F计算链路e对应的目标向量Pe和最小目标值Pe=C(F)+αA(F) (1)其中,C(F)表示数据中心结构在分配方案F下所有链路的带宽开销之和,通过下式计算:其中,we表示链路e占有的权重,ce表示链路e的容量,be表示在分配方案F下链路的带宽需求,通过下式计算:其中,表示与G中链路e相连的子树中含有的第i层应用的虚拟机数量,表示G中除去与链路e相连子树的剩余部分含有的第i层应用的虚拟机数量,表示与链路e相连的子树和剩余树层内通信所需要的带宽,表示与链路e相连的子树和剩余树层间通信所需要的带宽;其中,分配给链路e的带宽不大于链路e的剩余带宽容量,即be≤re,re表示链路e的剩余容量,如果be>re,说明链路e的剩余带宽不足以满足分配方案F下用户的需求,则舍弃该方案;A(F)表示数据中心结构在分配方案F下的可用性开销,通过下式计算:其中,J表示数据中心中可能失效的服务器集合,pj(j∈J)表示J中每个服务器j失效的可能性;θij=∑v∈Vfivzvj/Ni (5)θij表示J中j失效时,j中分配的第i层虚拟机资源数量占用户第i层资源需求的比例,fiv表示在服务器v中给应用的第i层分配的虚拟资源的数量,zvj表示服务器v是否为j,故zvj取值为0或1;当v=j时,zvj=1;当v≠j时,zvj=0;α是可用性开销A(F)的参数,由云提供商来规定;最小目标值为目标向量Pe的最小值;(5)云提供商根据第i层可行向量Se和最小可行值以及目标向量Pe和最小目标值通过遍历方法获取第i层最优的虚拟资源分配方案;(6)执行完步骤5之后,即可获得虚拟网络在第i层应用的资源分配方案{fiv},v∈V,i固定,并依次执行第2步中T'中应用其它层的请求,获取其它层的资源分配方案{fjv},1≤j≤k,j≠i,v∈V,最终获得虚拟网络嵌入解决方案F={fiv},1≤i≤k,v∈V,fiv表示给应用的第i层在服务器v中分配的虚拟资源的数量;步骤(5)所述遍历方法为递归方法alloc(r,e,n),该方法获得给第i层应用分配的虚拟资源数量,并与用户请求的Ni进行对比,如果两者相等,则返回true,说明存在第i层应用的分配方案;如果两者不相等,则返回false,说明不存在第i层应用的分配方案;其中,参数r表示用户请求,参数e表示链路,参数n表示用户请求分配的虚拟资源数量;其具体实现过程如下:(5.1)若level(e)=0,其中level表示链路e在数据中心所处的层次,level(e)=0时,链路e与服务器直接相连,分配的虚拟资源数量为表示当目标向量Pe取最小值时对应的l值,判断doneVM在可行向量Se是否合法,即当x=doneVM时,y是否为1,如果不合法,则返回‑1;如果合法,则返回doneVM值,即给第i层应用在链路e相连的服务器v内分配数量为l的虚拟机资源,数学表达为fiv=l;(5.2)若level(e)≠0,设set(e)为链路e子树level(e)‑1层的链路集合,链路e'∈set(e),对set(e)中的每条链路e'按照值进行升序排列,计算虚拟资源可用数量base,对于set(e)中的每条链路e',计算和tmp=alloc(r,e',ne'),tmp是递归执行方法alloc(步骤5)得到数值;如果tmp≠‑1,base和doneVM进行如下赋值:和doneVM←doneVM+tmp;如果tmp=‑1,则alloc返回‑1值;在执行完set(e)中的每条链路e'操作之后,判断doneVM在可行向量Se是否合法,即当x=doneVM时,y是否为1,如果不合法,则返回‑1;如果合法,则返回doneVM值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510520914.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种进程间通信的方法和装置
- 下一篇:一种汽车翼子板安装机构