用于动态地改变云计算环境的方法和系统的制作方法_3

文档序号:8395767阅读:来源:国知局
理开始于700,然后,在步骤710处,过程从存储器区域715中选择第一(最高加权优先级)工作负载,存储器区域715预先从最高加权优先级工作负载到最低加权优先级工作负载被分类。
[0056]在步骤720处,基于工作负载的需求和工作负载的优先级,过程计算由所选工作负载要求的资源。运行给定工作负载的需求和优先级的工作负载所需要的资源被存储在存储器区域725中。
[0057]在步骤730处,过程检索分配给工作负载的诸如VM的数目、需要的IP地址、网络带宽等之类的资源,并且比较工作负载的当前资源分配与工作负载所要求的工作负载的计算资源。基于比较,由过程做出决定关于是否需要改变工作负载的资源分配(决定740)。如果需要改变工作负载的资源分配,则决定740分支到“是”分支,然后,在步骤750处,过程设置针对工作负载的“优选”资源分配,其被存储在存储器区域755中。“优选”指示意指,如果资源是充分可用的,这些便是工作负载应当已经分配的资源。然而,由于云组中的资源约束,工作负载可能不得不勉强接受少于优选工作负载资源分配的分配。回到决定740,如果工作负载已经被分配了所需要的资源,则决定740分支到“否”分支,从而绕过步骤750。
[0058]由过程做出决定关于是否存在更多的通过加权优先级排序的工作负载需要处理(决定760)。如果存在更多的工作负载要处理,则决定760分支到“是”分支,其循环回到步骤710,以如上面描述的选择下一个(下一个最高加权优先级)工作负载并且设置新选工作负载的资源。该循环继续,直到所有工作负载已被处理,此时决定760分支到“否”分支并且在795处处理返回到调用例程(见图6)。
[0059]图8是示出用于优化云组的逻辑的流程图描绘。处理开始于800,然后,在步骤810处,过程从存储在数据存储805中的云配置中选择第一云组。可以基于应用到各种组的服务水平协议(SLA)、基于指派给各种组的优先级或者基于一些其它准则,对云组进行分类。
[0060]在步骤820处,过程聚集针对所选云组中的每个工作负载的优选工作负载资源,并且计算优选云组资源(由云组需要的总资源)以满足运行在所选云组中的工作负载的优选工作负载资源。从存储器区域755中检索优选工作负载资源。满足运行在所选云组中的工作负载的工作负载资源所需要的计算优选云组资源被存储在存储器区域825中。
[0061]在步骤830处,过程选择在云计算环境中可用的第一资源类型。在步骤840处,比较所选资源与已经分配给所选云组的资源的当前分配。从存储器区域845中检索针对云组的资源的当前分配。由过程做出决定关于是否所选云组需要更多的所选资源以满足运行在所选云组中的工作负载的工作负载资源(决定850)。如果所选云组需要更多的所选资源,则决定850分支到“是”分支,然后,在预定义的过程860处,过程将资源添加到所选云组(针对处理细节,见图9和对应文字)。另一方面,如果所选云组不需要更多的所选资源,则决定850分支到“否”分支,然后,由过程做出决定关于是否当前将过量的所选资源分配给云组(决定870)。如果当前将过量的所选资源分配给云组,则决定870分支到“是”分支,然后,在步骤875处,过程从所选云组中将过量的分配的资源标记为“可用”。对存储在存储器区域845中的云组资源的列表做出这种标记。另一方面,如果当前没有将过量的所选资源分配给云组,则决定870分支到“否”分支,从而绕过步骤875。
[0062]由过程做出决定关于是否存在更多的资源类型要分析(决定880)。如果存在更多的资源类型要分析,则决定880分支到“是”分支,其循环回到步骤830,以如上面描述的选择和分析下一个资源类型。该循环继续,直到针对所选云组的所有资源类型已被处理,此时决定880分支到“否”分支。由过程做出决定关于是否存在更多的云组要选择和处理(决定890)。如果存在更多的云组要选择和处理,则决定890分支到“是”分支,其循环回到步骤810,以如上面描述的选择和处理下一个云组。该循环继续,直到所有云组已经被处理,此时决定890分支到“否”分支并且在895处处理返回到调用例程(见图6)。
[0063]图9是示出用于将资源添加到云组的逻辑的流程图描绘。处理开始于900,然后,在步骤910处,过程检查运行在云计算环境中的其它云组,以可能找到具有过量的由该云组期望的资源的其它云组。如先前在图8中示出的,在云组标识了过量的资源时,过量的资源被标记并且使得对其它云组可用。所有云资源(每个云组)和它们的资源分配以及过量资源的列表被列在存储器区域905中。
[0064]由过程做出决定关于是否标识了具有过量的期望资源的一个或多个云组(决定920) ο如果一个或多个云组被标识具有过量的期望资源,则决定920分支到“是”分支,然后,在步骤925处,过程选择具有标识的过量期望的(需要的)资源的第一云组。基于从存储器区域935中检索的所选云组的配置文件和另一云组的配置文件两者,由过程做出决定关于是否允许该云组接收来自所选云组的资源(决定930)。例如,在图3和图4中,呈现了如下情景,其中一个云组(财务组)具有高的安全性设置,由于在财务组中执行的工作中的敏感性。这种敏感性可能已经阻止诸如网络链路之类的一些资源被共享或者从财务组重新分配给一个其它云组。如果资源可以从所选云组移动到该云组,则决定930分支到“是”分支,然后,在步骤940处,资源分配从所选云组移动到该云组,并且反映在存储在存储器区域905中的云资源的列表中和存储在存储器区域990中的云资源中。另一方面,如果资源不能从所选云组移动到该云组,则决定930分支到“否”分支,从而绕过步骤940。由过程做出决定关于是否存在更多的具有资源的云组要检查(决定945)。如果存在更多的云组要检查,则决定945分支到“是”分支,其循环回到步骤925,以选择和分析来自下一个云组的可能可用的资源。该循环继续,直到没有更多的云组要检查(或者直到已经满足所需要的资源),此时决定945分支到“否”分支。
[0065]由过程做出决定关于是否在检查来自其它云组的可用过量资源之后,云组仍然需要更多的资源(决定950)。如果不需要更多的资源,则决定950分支到“否”分支,然后在955处处理返回到调用例程(将图8)。另一方面,如果仍然需要更多的资源以用于该云组,则决定950分支到“是”分支,以用于进一步处理。
[0066]在步骤960处,基于云配置文件、SLA等,过程与数据中心核对当前未分配给该云计算环境的并且允许分配给该云计算环境的可用资源。从存储器区域965中检索数据中心资源。由过程做出决定关于是否找到了满足该云组的资源需要的数据中心资源(决定970)。如果找到了满足该云组的资源需要的数据中心资源,则决定970分支到“是”分支,然后,在步骤980处,过程将标识的数据中心资源分配给该云组。对该云组的分配反映在对存储在存储器区域990中的云资源的列表的更新中。回到决定970,如果没有找到满足该云组的资源需要的数据中心资源,则决定970分支到“否”分支,从而绕过步骤980。于是,在995处,处理返回到调用例程(见图8)。
[0067]图10是用于基于工作负载分析动态地移动异构云资源的部件的描绘。云组1000示出了已经被标识为“有压力的”工作负载(虚拟机(VM) 1010)。在VM已经被标识为有压力的之后,复制工作负载,以便确定是否“向上”或“向外”扩展对工作负载更加有益。
[0068]盒1020描绘了改变的VM(VM 1021),其已经通过将诸如CPU和存储器之类的附加资源指定给原始VM 1010而被“向上”扩展。盒1030描绘了复制的VM,其已经通过将附加虚拟机添加到工作负载(VM 1031、1032和1033)而被向外扩展。
[0069]测试向上扩展的环境,并且将测试结果存储在存储器区域1040中。同样地,测试向外扩展的环境,并且将测试结果存储在存储器区域1050中。过程1060被示出比较向上扩展测试结果和向外扩展测试结果。过程1060产生一个或多个工作负载扩展配置文件,它们被存储在数据存储1070中。工作负载扩展配置文件将指示针对工作负载优选的扩展技术(向上、向外等)以及配置设置(例如,如果向上扩展的分配的资源,如果向外扩展的虚拟机数目)。此外,通过结合向上扩展的一些方面与向外扩展的一些方面(例如,增加分配的资源以及将附加虚拟机指定给工作负载等),扩展“对角化”是可能的。
[0070]图11是示出在动态处理工作负载扩展请求中使用的逻辑的流程图描绘。过程开始于1100,然后,在步骤1110处,过程接收来自云(云组1000)的请求以增加针对给定工作负载的资源。例如,工作负载的性能可能已经低于给定阈值或者可能已经违反扩展策略。
[0071]由过程做出决定关于是否针对该工作负载的工作负载扩展配置文件已经存在(决定1120)。如果针对该工作负载的工作负载扩展配置文件已经存在,则决定1120分支到“是”分支,然后,在预定义的过程1130处,通过从数据存储1070中读取现有的工作负载扩展配置文件,过程实现现有的扩展配置文件(针对处理细节,见图13和对应文字)。
[0072]另一方面,如果针对该工作负载的工作负载扩展配置文件尚未存在,则决定1120分支到“否”分支,然后,在预定义的过程1140处,过程创建针对工作负载的新的扩展配置文件(针对处理细节,见图12和对应文字)。新的扩展配置文件被存储在数据存储1070中。
[0073]图12是示出用于由扩展系统创建扩展配置文件的逻辑的流程图描绘。处理开始于1200,然后在步骤1210处,过程将工作负载复制成两个不同的虚拟机(工作负载“A” 1211是向上扩展的工作负载,以及工作负载“B” 1212是向外扩展的工作负载)。
[0074]在步骤1220处,过程将资源添加到工作负载A的VM。通过工作负载A接收附加资源,这反映在步骤1221中。
[0075]在步骤1230处,过程添加用于处理工作负载B的附加VM。通过工作负载B接收附加VM,这反映在步骤1231中。
[0076]在步骤1240处,过程将进入业务量复制到工作负载A和工作负载B两者。这反映在工作负载A的步骤1241中,其使用分配给运行工作负载A的VM的附加资源处理业务量(请求)。这还反映在工作负载B的步骤1242中,其使用被添加用于处理工作负载B的附加VM处理相同的业务量。
[0077]在步骤1250处,工作负载A和工作负载B两者指引出站数据(响应)回到请求者。然而,步骤1250阻挡来自一个工作负载(例如工作负载B)的出站数据,使得请求者仅接收一组预期的出站数据。
[0078]在预定义的过程1260处,过程监控工作负载A和工作负载B两者的性能(针对处理细节,见图14和对应文字)。预定义的过程1260将向上扩展(工作负载A)的结果存储在存储器区域1040中,并且将向外扩展(工作负载B)的结果存储在存储器区域1050中。由过程做出决定关于是否已经聚集了足够的性能数据以决定针对该工作负载的扩展计策(决定1270)。决定1270可以由时间或者由工作负载处理的业务量的量驱动。如果尚未聚集足够的性能数据以决定针对该工作负载的扩展计策,则决定1270分支到“否”分支,其循环回到预定义的过程1260以继续监控工作负载A和工作负载B的性能并且提供分别存储在存储器区域1040和1050中的进一步的测试结果。该循环继续,直到已经聚集了足够的性能数据以决定针对该工作负载的扩展计策,此时决定1270分支到“是”分支,然后,在步骤1280处,基于聚集的性能数据,过程创建针对该工作负载的工作负载扩展配置文件(例如,优选向上扩展、向外扩展或者对角性扩展,以及分配的资源的
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1