一种虚拟数据中心的跨域映射方法与流程

文档序号:12477603阅读:219来源:国知局
一种虚拟数据中心的跨域映射方法与流程
本发明属于网络通信
技术领域
,更为具体地讲,涉及一种虚拟数据中心的跨域映射方法。
背景技术
:近些年,云计算提供了一种有效的模型允许多租户共享云资源。传统上,像亚马逊等云计算供应商以虚拟机的形式提供资源,而忽略了运行在这些虚拟机上的网络服务要求。这导致产生很多于关于网络性能、安全性和可管理性的问题。为了解决这个限制,最近一些研究方案提出虚拟数据中心这个概念,主张以虚拟数据中心的形式而不是虚拟机的形式提供资源。这样既能提供具有保证的服务器也能提供具有保证的网络资源。相比传统只提供虚拟机的方式,以虚拟数据中心VDC(VirtualDataCenter)的形式出租资源,服务提供商可以提供给应用程序更好的性能隔离和服务质量(QualityofServive,QoS)。在云计算中,基础设施提供商拥有物理基础设施(例如,物理数据中心),负责将每个数据中心的物理资源划分成虚拟资源(例如,虚拟机),然后将这些虚拟资源出租给服务提供者服务提供商。服务提供商通过将应用程序部署在基础设施提供商提供的基础设施上,然后向用户提供相应的服务。服务提供商对于物理资源的请求可以抽象为VDC。数据中心物理资源的虚拟化使得对数据中心的物理资源的管理变得灵活、高效,并且有利于提升了服务器和网络资源的使用率。以VDC的形式出租资源带来了一个问题,就是如何最优地将服务器和数据中心网络资源分配给多个虚拟数据中心,并且最大化总收益,最小化数据中心的能源消耗总量。为VDC设计一个有效的资源管理方案是一个具有挑战性的问题。本发明研究的是VDC跨域映射。值得注意的是VDC跨域映射一个NP-hard问题。然而,使问题变得更加糟糕的是,基础设施提供商s可以为服务提供商s提供更多的灵活性,通过允许服务提供商s根据根据它们提供服务的需求向上扩展或向下缩小VDC的规模。例如,服务提供商可能想要增加VDC的容量来适应服务需求的快速增长。增加VDC容量的方式可以是通过增加VM或VL的资源需求,也可以是通过增加新的VM或VL。另一方面,服务提供商还可以在服务闲置期间减少VDC的规模节约物理资源的租赁成本。缩小已映射的VDC的规模可以降低运营成本。特别是,VDC整合算法,旨在最大化开启机器的资源使用情况,同时允许关闭闲置的机器。因此,本发明研究了资源需求动态变化的VDC跨域映射问题,使用虚拟机迁移动态调整资源配置,以满足VDC资源需求波动的可能性。现有的方法主要是针对虚拟网络的动态映射,针对虚拟网络的动态映射的方法有动态的虚拟网络映射算法(DynamicVirtualNetworkMappingAlgorithm,DVNMA),DVNMA算法提出一种重新配置和映射VN的框架和算法,实现了最小化总的重新配置和映射VN的成本。DVNMA算法没有考虑跨域映射时的域间成本,它只考虑了数据中心内部重新配置和映射VN的情况,并且它没有考虑节能的问题。此外,DVNMA算法还没有考虑同时有多个VN请求发生变化和系统总的重配置成本。由于DVNMA算法研究的是VN映射和VDC映射相似,但还有一些不同。比如,VNE中属于相同VN的VM不能映射在同一个服务器上,而VDC映射中属于相同VDC的VM则可以映射在一起。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种虚拟数据中心的跨域映射方法,在虚拟数据中心进行跨域映射的同时还能够更新新增用户的请求,使用虚拟机迁移动态调整资源配置,以满足VDC资源需求波动的可能性。为实现上述发明目的,本发明一种虚拟数据中心的跨域映射方法,其特征在于,包括以下步骤:(1)、使用虚拟数据中心的初始跨域算法对虚拟数据中心进行跨域映射:(1.1)、在虚拟数据中心中随机选择一个虚拟机进行跨域映射;(1.2)、在虚拟数据中心未映射的虚拟机中,选择和已映射虚拟机相连且通信带宽最大的虚拟机进行映射;(1.3)、重复步骤(1.2),直到映射完所有的虚拟机;(1.4)、估算虚拟机映射成本Costaddn;CostaddnΣv∈V2-V1Σv‾∈V‾req(v)*hvv‾*cost(v‾)---(1)]]>其中,V2-V1表示虚拟机的动态改变;表示服务器的集合;v表示一个虚拟机;表示一台服务器;req(v)表示虚拟机v的资源需求;表示当前虚拟机映射关系,v是否映射在服务器上,或0,其中,1表示v映射在服务器上,0表示v没有映射在上;表示服务器的资源单位成本;(1.5)、估算原始虚拟数据中心内部虚拟链路的映射成本Costaddl;Costaddl=Σe∈(E2-E1)Σe‾∈ME(e)ϵcap(e‾)+δ*b(e)*cos(e‾)*s1e---(2)]]>其中,δ是一个接近0的极小正常数;E2-E1表示虚拟链路的动态改变;ε是用来控制负载均衡重要性的参数;表示一条物理链路;e表示一条虚拟链路;b(e)表示虚拟链路e的资源请求;表示物理链路的资源单位成本;costb表示单位带宽费用;表示物理链路的资源容量;ME(e)表示虚拟链路e映射的物理路径;或0,1表示虚拟链路e映射在域内,0表示虚拟链路e不映射在域内;(1.6)、估算域间虚拟链路映射成本Costaddb;Costaddb=Σe∈(E2-E1)s2e*b(e)*costb---(3)]]>其中,或0,1表示虚拟链路e映射在域间,0表示虚拟链路e不映射在域间;(2)、对虚拟数据中心进行跨域映射时收到的用户新增请求进行整合;(2.1)、收到删减资源的请求;(2.1.1)、减少请求中指定虚拟机的资源,释放减少的那部分物理资源,改变该虚拟机的资源需求;(2.1.2)、减少指定虚拟机对应的虚拟链路的资源,释放减少的那部分物理带宽,改变该虚拟链路的带宽需求;(2.2)、收到删减组件的请求;(2.2.1)、删除请求中指定虚拟机,释放该虚拟机占用的物理主机上的物理资源,并从虚拟数据中心中删除该虚拟机;(2.2.2)、删除指定虚拟机对应的虚拟链路,释放该虚拟链路占用的物理路径上的带宽,从虚拟数据中心中删除该虚拟链路;(2.3)、收到增加节点资源的请求;(2.3.1)、将需要增加资源的虚拟机放入队列中,将队列中的虚拟机按照增加资源量降序排列;(2.3.2)、如果需要增加资源的虚拟机所映射的服务器有足够的剩余资源容量,则直接增加虚拟机资源;否则,通过将服务器上的虚拟机迁移到其他服务器上,来完成增加虚拟机资源的请求;(2.4)、收到增加链路资源的请求;对于需要增加带宽资源的虚拟链路,如果在物理链路带宽资源充足的情况下,直接增加虚拟链路的带宽;如果物理链路的资源不充足,则使用最短k路径算法将虚拟链路拆分映射到多条底层路径上;(2.5)、收到增加虚拟机的请求;(2.5.1)、将需要增加的新的虚拟机放入队列中,将队列中的虚拟机按照和已映射虚拟机间带宽量降序排列;(2.5.2)、根据降序排列顺序,映射新增加的虚拟机;(2.6)、收到分组调整的请求;(2.6.1)、删除需要删除的域内链路,并对需要迁移的分组中的节点进行域间迁移和重映射;(2.6.2)、减少域内链路的带宽,并对需要迁移的分组中的节点进行域间迁移和重映射;(2.6.3)、增加域内链路的带宽,并对需要迁移的分组中的节点进行域间迁移和重映射;(2.6.4)、估算虚拟机重映射成本;Costremn=Σv∈VΣv‾∈V‾reqt(v)v*hvv‾*cost(v‾)-Σv∈VΣv‾∈V‾reqt-1(v)*hvv‾*cost(v‾)---(4)]]>其中,reqt(v)表示t时刻虚拟机v的资源需求,reqt-1(v)表示t-1时刻虚拟机v的资源需求。(2.6.5)、估算数据中心内部虚拟链路重映射成本;Costreml=Σe∈(E)Σe‾∈ME(e)ϵcap(e‾)+δbt(e)*cost(e‾)*s1e-Σe∈(E)Σe‾∈ME(e)ϵcap(e‾)+δbt-1(e)*cost(e‾)*s1e---(5)]]>其中,bt(e)表示t时刻虚拟链路e的资源请求,bt-1(e)表示t-1时刻虚拟链路e的资源请求,E表示虚拟链路的集合。(2.6.6)、估算域间虚拟链路重映射成本;costremb=Σe∈(E2-E1)s2e*bt(e)*costb-Σe∈(E2-E1)s2e*bt-1(e)*costb---(6)]]>(2.7)、收到对虚拟数据中心进行整合的请求;(2.7.1)、遍历各个机架上的所有服务器,将所有的服务器的使用率按照从小到大排序,依次将使用率最小且低于下限的服务器上的虚拟机迁移到使用率最大且没有超过上限的服务器上,直到将使用率低于下限的服务器都关闭,或者无法继续关闭服务器;(2.7.2)、判断各个服务器之间是否存在多条虚拟链路,如果不存在,则不进行整合;如果存在,判断是否可以通过交换两个服务器上的虚拟机减少这两个服务器之间的通信带宽,如果可以,则进行整合,否则不进行整合。本发明的发明目的是这样实现的:本发明一种虚拟数据中心的跨域映射方法,将虚拟数据中心映射到底层的分布式的多个数据中心,并且最小化总的映射成本和节约能耗,为了适应VDC映射的灵活性,一个简单而常见的解决方案是从头开始重映射VDC,而动态的VDC映射是将新增加的虚拟资源映射到底层物理基础设施上,为新增加的虚拟节点或虚拟链路分配物理资源,同时将减少的虚拟资源从物理基础设施上删除,释放其占用的物理资源。同时,本发明一种虚拟数据中心的跨域映射方法还具有以下有益效果:(1)适用范围广。传统的动态映射大多是针对虚拟网络请求的。本方法能适用于虚拟数据中心请求。因此与传统的算法相比,本方法的适用范围更广。(2)总的映射成本小。由于本发明提出的动态的虚拟数据中心映射算法,通过使用域间迁移减少域间成本,通过使用域内迁移减少域内映射成本,从而减少总的映射成本小,因此与传统的算法相比,本方法的总的映射成本更小。(3)能耗低。由于本发明提出的动态的虚拟数据中心映射算法,通过域内VM迁移整合VDC降低开启物理主机的数目,从而减少能源消耗,因此与传统的算法相比,本方法的能耗更低。附图说明图1是本发明一种虚拟数据中心的跨域映射方法流程图;图2是增加节点资源时的域内迁移示意图;图3是分组调整时的域内迁移示意图;图4是虚拟数据中心整合示意图。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。实施例图1是本发明一种虚拟数据中心的跨域映射方法流程图。在本实施例中,如图1所示,本发明一种虚拟数据中心的跨域映射方法,包括以下步骤:(1)、使用虚拟数据中心的初始跨域算法对虚拟数据中心进行跨域映射:(1.1)、在虚拟数据中心中随机选择一个虚拟机进行跨域映射;(1.2)、在虚拟数据中心未映射的虚拟机中,选择和已映射虚拟机相连且通信带宽最大的虚拟机进行映射;(1.3)、重复步骤(1.2),直到映射完所有的虚拟机;(1.4)、估算虚拟机映射成本Costaddn;CostaddnΣv∈V2-V1Σv‾∈V‾req(v)*hvv‾*cost(v‾)---(1)]]>其中,V2-V1表示虚拟机的动态改变;表示服务器的集合;v表示一个虚拟机;表示一台服务器;req(v)表示虚拟机v的资源需求;表示当前虚拟机映射关系,v是否映射在服务器上;表示服务器的资源单位成本;(1.5)、估算原始虚拟数据中心内部虚拟链路的映射成本Costaddl;Costaddl=Σe∈(E2-E1)Σe‾∈ME(e)ϵcap(e‾)+δ*b(e)*cost(e‾)*s1e---(2)]]>其中,δ是一个接近0的极小正常数;E2-E1表示虚拟链路的动态改变;ε是用来控制负载均衡重要性的参数;表示一条物理链路;e表示一条虚拟链路;b(e)表示虚拟链路e的资源请求;表示物理链路的资源单位成本;costb表示单位带宽费用;表示物理链路的资源容量;ME(e)表示虚拟链路e映射的物理路径;或0,1表示虚拟链路e映射在域内,0表示虚拟链路e不映射在域内;(1.6)、估算域间虚拟链路映射成本Costaddb;Costaddb=Σe∈(E2-E1)s2e*b(e)*costb---(3)]]>其中,或0,1表示虚拟链路e映射在域间,0表示虚拟链路e不映射在域间;(2)、对虚拟数据中心进行跨域映射时收到的用户新增请求进行整合;(2.1)、收到删减资源的请求;(2.1.1)、减少请求中指定虚拟机的资源,释放减少的那部分物理资源,改变该虚拟机的资源需求;(2.1.2)、减少指定虚拟机对应的虚拟链路的资源,释放减少的那部分物理带宽,改变该虚拟链路的带宽需求;(2.2)、收到删减组件的请求;(2.2.1)、删除请求中指定虚拟机,释放该虚拟机占用的物理主机上的物理资源,并从虚拟数据中心中删除该虚拟机;(2.2.2)、删除指定虚拟机对应的虚拟链路,释放该虚拟链路占用的物理路径上的带宽,从虚拟数据中心中删除该虚拟链路;(2.3)、收到增加节点资源的请求;(2.3.1)、将需要增加资源的虚拟机放入队列中,将队列中的虚拟机按照增加资源量降序排列;(2.3.2)、如果需要增加资源的虚拟机所映射的服务器有足够的剩余资源容量,则直接增加虚拟机资源;否则,通过将服务器上的虚拟机迁移到其他服务器上,来完成增加虚拟机资源的请求;在本实施例中,在增加虚拟节点资源和增加虚拟节点的算法中使用虚拟机迁移来完成,通过使用虚拟机迁移能够使得在增加虚拟节点资源和虚拟节点的过程中域内链路的映射成本最小。如图2所示,一个VM域内迁移的例子。当虚拟节点a的资源需求增加,且承载a的物理服务器F中的剩余资源容量不足,此时需要通过VM域内迁移到一个能够映射a且链路映射成本最小的服务器。通过将a迁移到服务器E来完成增加虚拟节点a的资源的请求。(2.4)、收到增加链路资源的请求;对于需要增加带宽资源的虚拟链路,如果在物理链路带宽资源充足的情况下,直接增加虚拟链路的带宽;如果物理链路的资源不充足,则使用最短k路径算法将虚拟链路拆分映射到多条底层路径上;(2.5)、收到增加虚拟机的请求;(2.5.1)、将需要增加的新的虚拟机放入队列中,将队列中的虚拟机按照和已映射虚拟机间带宽量降序排列;(2.5.2)、根据降序排列顺序,映射新增加的虚拟机;(2.6)、收到分组调整的请求;(2.6.1)、删除需要删除的域内链路,并对需要迁移的分组中的节点进行域间迁移和重映射;(2.6.2)、减少域内链路的带宽,并对需要迁移的分组中的节点进行域间迁移和重映射;在本实施例中,如图3所示,当域内的一条虚拟链路vl带宽需求减少导致要进行迁移调整,划分该链路所在dc中属于同一VDC的所有VM。如果不是将VM分为两组而是分为三组,group1、group2和group3。假如group1迁移到dc1,group2迁移到dc2,group3在原dc不动,且vl的两个端点分别在group1和group3中。那么组group2和group3之间的总的链路带宽并没有收到链路vl带宽减少的影响,也就是vl带宽减少前后group2和group3之间总的链路带宽没有改变。此时,group2和dc2之间的映射在域间网络的链路总带宽也没有改变。由于在链路vl带宽减少前,group2中的VM和dc2之间的域间网络带宽小于group2和group3之间的总带宽。在链路vl带宽减少后,group2中VM和dc2之间的域间网络带宽还是小于group2和group3之间的总带宽。因此group2中的VM不需要迁移到dc2中,从而,group2中的VM可以和group3中的VM合并成一个不需要迁移的组。如图3所示,当链路dc的带宽从2增加到5,通过将虚拟节点d从原数据中心网络迁移到c所在的数据中心网络,减少域间网络的带宽消耗,从而减少域间成本。(2.6.3)、增加域内链路的带宽,并对需要迁移的分组中的节点进行域间迁移和重映射;(2.6.4)、估算虚拟机重映射成本;Costremn=Σv∈VΣv‾∈V‾reqt(v)v*hvv‾*cost(v‾)-Σv∈VΣv‾∈V‾reqt-1(v)*hvv‾*cost(v‾)---(4)]]>其中,reqt(v)表示t时刻虚拟机v的资源需求,reqt-1(v)表示t-1时刻虚拟机v的资源需求。(2.6.5)、估算数据中心内部虚拟链路重映射成本;Costreml=Σe∈(E)Σe‾∈ME(e)ϵcap(e‾)+δbt(e)*cost(e‾)*s1e-Σe∈(E)Σe‾∈ME(e)ϵcap(e‾)+δbt-1(e)*cost(e‾)*s1e---(5)]]>其中,bt(e)表示t时刻虚拟链路e的资源请求,bt-1(e)表示t-1时刻虚拟链路e的资源请求,E表示虚拟链路的集合。(2.6.6)、估算域间虚拟链路重映射成本;Costremb=Σe∈(E2-E1)s2e*bt(e)*costb-Σe∈(E2-E1)s2e*bt-1(e)*costb---(6)]]>(2.7)、收到对虚拟数据中心进行整合的请求;随着VDC请求规模的缩小或者VDC超过有效期离开系统,大量的物理节点的使用率会变得较低,还会产生资源碎片。在这种情况下,想要动态地整合VDC使得部分开启的服务器能够关闭。周期性整合的目的是为了最小化VDC使用的开启的服务器的数量。如图4所示,服务器a和服务器b在同一个机架上,服务器c和服务器d在另一个机架上。因此,进行VDC局部整合时,只能将服务器a和b上的VM进行整合,或者将服务器c和d上的VM进行整合。下面对具体整合的步骤进行说明:(2.7.1)、遍历各个机架上的所有服务器,将所有的服务器的使用率按照从小到大排序,依次将使用率最小且低于下限的服务器上的虚拟机迁移到使用率最大且没有超过上限的服务器上,直到将使用率低于下限的服务器都关闭,或者无法继续关闭服务器;(2.7.2)、判断各个服务器之间是否存在多条虚拟链路,如果不存在,则不进行整合;如果存在,判断是否可以通过交换两个服务器上的虚拟机减少这两个服务器之间的通信带宽,如果可以,则进行整合,否则不进行整合。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1