受控的数据中心服务的自动复原的制作方法

文档序号:6433999阅读:118来源:国知局
专利名称:受控的数据中心服务的自动复原的制作方法
技术领域
本发明涉及复原数据中心服务的方法和系统。
背景技术
有时被称为云的数据中心由联网计算机资源(例如,服务器、盘、虚拟机等)组成, 这些联网计算机资源被利用来部署所主存的应用程序。通过这样做,分布式应用程序可实现比底层硬件的可用性更高的可用性级别。即,有时底层硬件可能在将应用程序指派给了资源并且该应用程序正在利用这些资源的时候进入有故障状态(例如,调查或修复)。因此,具有适于将应用程序从有故障资源处重分配至无故障资源处,以便允许该应用程序保持可用性的措施是有帮助的。而且,即使在转移期间,以允许应用程序保持可用性的方式来重分配该应用程序也是有帮助的。

发明内容
本发明的各实施例由下面的权利要求书进行定义,而不由本概述进行定义。为此, 此处提供了在此描述的主题的高级概览,以提供公开内容的概览,并介绍将在以下具体实施方式
部分中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。在此描述的主题旨在将应用程序组件从有故障数据中心资源处重分配至无故障数据中心资源处。后台监控器标识有故障的数据中心资源,并调度对应用程序组件的从有故障数据中心资源到无故障数据中心资源的迁移。以允许应用程序保持可用的自动方式来执行迁移。阈值适于控制迁移率以及检测何时会因数据中心范围内的处理或应用程序故障而造成资源故障。


下面将参考附图详细描述本发明的说明性实施例,在附图中图1是描绘了适于根据本发明的各实施方式来使用的示例性计算设备的框图;图2是根据本发明的实施例的示例性操作环境的框图;以及图3和4是根据本发明的实施例的示例性流程图。
具体实施例方式此处用具体细节来描述本发明以满足法定要求。然而,该说明书本身并非旨在必定限制权利要求的范围。相反,所要求保护的主题可结合其它当前或未来技术按照其它方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。术语不应被解释为暗示本文所公开的各步骤之中或之间的任何特定次序,除非且除了在明确描述个别步骤的次序的时候。一般而言,本发明的实施例旨在将应用程序组件从有故障数据中心资源处重分配至无故障数据中心资源处。正如此处所使用的,“应用程序组件”描述了部署在数据中心资源上的应用程序的至少一部分,并与一个或多个其他应用程序组件一起执行来实现应用程序的所期望的功能。应用程序组件有时被称为“实例”、“角色实例”或“应用程序角色实例”。 “数据中心资源”包括数据中心的计算资源,诸如服务器(也称为“节点”)、盘或虚拟机(VM) 等。通常,数据中心包括一定数量的(例如成千上万的)独立资源,将这些独立资源结合在一起来形成资源网络。通常,应用程序包括指定如何在资源网络中部署应用程序的指令(也称为“应用程序模型”或“应用程序部署参数”)。例如,该指令可指示将应用程序部署成在五个不同的数据中心资源(例如,服务器)间均分的50个角色实例(即,应用程序组件),每一个角色实例包括单独的电源。因此,将在五个资源中的每一个上部署10个角色实例。可将具有十个角色实例的每个组指定为相应的虚拟分组(也称为“升级域”)。通常,基于应用程序模型的可用性约束,并不允许同时升级或迁移各虚拟分组。继续该实例,如果五个资源中的一个失效了,则本发明的实施例将十个应用程序组件从故障资源处迁移至健康资源处。而且,以与应用程序模型相一致的方式来重分配这十个应用程序组件。即,对这十个应用程序组件的迁移是在任何其他应用程序组件的重分配或任何其他维护操作被启动之前完成的,由此遵守了虚拟分组迁移的要求。另外,接收这十个应用程序组件的健康资源并不是其上部署有其他40个应用程序组件的那四个资源中的一个,由此遵守了需要五个不同的数据中心资源的参数。在简单描述了各实施例后,现描述图1,其中示出了用于实现本发明的各实施例的示例性操作环境,并将其概括指定为计算设备100。计算设备100只是合适的计算环境的一个示例,而非旨在对本发明的实施方式的使用范围或功能提出任何限制。也不应该将计算设备100解释为对所示出的任一组件或其组合有任何依赖性或要求。本发明的各实施例可以在由计算机或诸如个人数据助理或其它手持式设备之类的其它机器执行的计算机代码或机器可使用指令(包括诸如程序模块之类的计算机可执行指令)的一般上下文中描述。一般而言,包括例程、程序、对象、组件、数据结构等等的程序模块是指执行特定任务或实现特定抽象数据类型的代码。本发明的各实施例可在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、或更专用计算设备等等。本发明的各实施方式也可在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。本发明的各实施例可被实现为包含在一个或多个计算机可读介质上的方法、系统或指令集。计算机可读介质包括易失性和非易失性介质、可移动的和不可移动的介质,并设想可由数据库、交换机和各种其他网络设备读取的介质。作为示例,计算机可读介质包括以用于存储信息的任何方法或技术实现的介质。存储的信息的示例包括计算机可使用指令、数据结构、程序模块以及其它数据表示。介质示例包括,但不仅限于,信息传送介质、 RAM、ROM、EEPR0M、闪存或其他存储技术,CD-ROM、数字多功能盘(DVD)、全息介质或其他光盘存储、磁带盒、磁带、磁盘存储器,及其他磁存储设备。这些技术可以即刻、临时或永久地存储数据。参考图1,计算设备100包括直接或间接耦合以下设备的总线110 存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出端口 118、输入/输出组件120、和电源122。总线110可表示一个或多个总线(诸如地址总线、数据总线或其组合)。虽然为了清楚起见利用线条示出了图1的各框,但是实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等的呈现组件认为是I/O组件。而且,处理器具有存储器。可以认识到,这是本领域的特性,并且重申,图1只是说明可结合本发明的一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算设备”。计算设备100通常包括各种计算机可读介质。作为示例,计算机可读介质可以包括随机存取存储器(RAM)只读存储器(ROM)电可擦可编程序只读存储器(EEPROM)闪存或其他存储技术CDR0M、数字多功能盘(DVD)或其他光学或全息介质;磁带盒、磁带、磁盘存储或其他磁存储设备;载波或可以用来编码所需要的信息并可以被计算设备100访问的任何其他介质。存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的、或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等等。计算设备100包括从诸如存储器112或I/O组件120之类的各种实体读取数据的一个或多个处理器114。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。I/O端口 118可允许计算设备100在逻辑上耦合到包括I/O组件120在内的其他设备,其中一些可以是内置的。说明性组件包括话筒、操纵杆、游戏垫、碟形卫星天线、扫描仪、打印机、无线设备等等。现参考图2,描绘了适用于实现本发明的一实施例并由参考标记210来概括地标识的示例性操作环境。环境210包括一组联网的数据中心计算机资源212和控制器214,该控制器监控、维护以及向部署在数据中心处的主应用程序指派资源212。资源212包括资源A 216、资源B 218、资源C 220和资源D 222。资源A-D是出于说明性目的来描绘的;然而,资源212可以包括由省略号2M指示的若干(例如成千上万的)其他资源。在图2中,已使用资源A 216和资源B 218部署了应用程序。资源A 216包括应用程序角色实例12 和应用程序角色实例2228,且资源B 218包括应用程序角色实例3230 和应用程序角色实例4232。S卩,已使用资源A 216和资源B 218部署了应用程序(例如,在应用程序模型250中标识的“示例应用程序”),并且该应用程序包括至少四个角色实例。而且,将这四个角色实例(即,2洸、2沘、230和232)划分成虚拟分组(例如,升级域)。例如, 虚拟分组Al包括角色实例12 和角色实例22 ,且虚拟分组Bl包括角色实例3230和角色实例4232。虽然出于说明的目的在图2中仅描绘了四个角色实例,但是应用程序可以包括部署在其他资源中的若干其他角色实例,并可被划分成更大的及更多数量的虚拟分组。资源A 216和资源B 218被添加了阴影,以描绘一有故障状态。可以出于各种原因,诸如在资源处于手动调查状态(例如,人类调查(HI)状态)或者修复状态(例如,“要进行修复(OutForR印air) ”)时,认为资源包含有故障状态。资源212还包括资源C 220和资源D 222,这两者都未被添加阴影,以描绘一无故障状态。而且,资源C 220和资源D 222 中的每一个都包括接收由空白框236、238、240和242指示的应用程序组件(例如,应用程序角色实例)的可用性。控制器214 (例如,结构控制器)包括彼此通信的各种组件,并且包括联网计算机资源清单对4、应用程序信息数据存储246和应用程序组件重分配器M8。如之前描述的, 控制器214监控、维护、以及向部署于数据中心的主应用程序指派资源212。因此,清单244 包括包含在资源212中的所有资源的列表,并包括对每一资源的健康或状态的指示。例如, 清单244列出了资源A并指示资源A包括一有故障状态。即,在清单M4中列出的“资源 A”与描绘在资源212中的资源A 216相对应。同样地,清单244还列出了资源B-D以及相应的状态指示。应用程序信息数据存储246存储有与使用资源212来进行部署的应用程序有关的信息。在数据存储246中存储的信息的示例性类型包括应用程序模型250和应用程序健康历史252。此处出于示例性的目的,在数据存储246中存储的信息涉及被描述为部署在资源 A 216和资源B 218上的相同的应用程序。即,使用资源A 216和资源B 218来部署在信息 254的分解图中标识的“示例应用程序”。应用程序模型250指示示例应用程序在已被部署时将包括在两个服务器之间划分的四个实例。应用程序健康历史252跟踪应用程序在整个时间段内已被重分配的次数和场合,并跟踪特定的应用程序组件(例如,实例)在整个时间段内已被重分配的次数。如将要在后面更详细描述地,与底层的硬件相对比,这种度量对于标识应用程序和/或应用程序组件何时会引起有故障状态是有用的。控制器214还包括应用程序组件重分配器M8。重分配器248包括共同作用来实现如下各项的各个监控器标识有故障资源、确定可用的及合适的(即,与应用程序模型一致的)无故障资源;以及根据应用程序模型250来将应用程序组件从有故障资源处迁移至无故障资源处。组件重分配器248包括标识包括有故障状态的资源(例如,服务器、盘或VM)的资源状态后台监控器256。在一个实施例中,当资源状态后台监控器256醒来时,它参考清单 244来标识包括有故障状态的资源。例如,资源状态后台监控器256可参考清单244来确定资源A 216包括有故障状态。如之前描述地,资源A 216主存应用程序角色实例12 和应用程序角色实例22观。由于资源A 216已失效了,因此期望重分配应用程序角色实例12 和应用程序角色实例2228,以允许示例应用程序保持可用性。在标识了有故障资源以后,资源状态后台监控器256生成在复原任务队列沈2中维护的服务复原任务260。服务复原任务260包括需要从已标识的有故障资源处对应用程序组件进行重分配的指令。例如,如图2所描绘地,服务复原任务260可以包括需要从资源 A处对应用程序角色实例1226进行重分配的指令。虽然没有明确地描绘,但是任务260可以同样包括需要从资源B处对角色实例22 进行重分配的指令。资源能够因为诸如部署数据中心控制软件升级的失败、配置改变或大量硬件故障等分组范围内的状况(即,网络范围内的状况)而进入有故障状态。在这种场景中,可能期望暂停控制器214的至少一些操作,以允许调查或以其他方式来保护应用程序组件。因此, 重分配可能是不合需要的,因为它会干扰调查、从无故障节点处进行重分配、或以其他方式而不能恢复向应用程序分配的资源的健康。因此,资源状态后台监控器256包括依赖于分组健康的禁用器258。在生成服务复原任务(例如,260)前,禁用器258确定在一组资源中的有故障资源的数目是否超过了分组健康阈值。分组健康阈值是可配置的,并且可以包括有故障资源的阈值数目或有故障资源与无故障资源的比率。因此,禁用器258从清单M4 处确定有故障资源的数量,并将该数量与分组健康阈值进行比较。如果该数量低于阈值,则资源状态后台监控器256继续执行。然而,如果该数量超过了阈值,则禁用资源状态后台监控器256,由此挂起了复原操作。应用程序缺陷也能使资源进入有故障状态,使得对应用程序的连续重分配感染后续的资源。因此,资源状态后台监控器256包括依赖于应用程序复原率的禁用器沈4。在生成服务复原任务(例如,260)之前,禁用器264确定应用程序的复原频率(即,应用程序在给定时间段内已被复原了多少次)。例如,可参考应用程序健康历史252来确定应用程序在某一时间段内已被复原了多少次。禁用器264将应用程序的复原频率与应用程序复原率阈值进行比较。当应用程序的复原频率低于应用程序复原率阈值时,资源状态后台监控器 256继续执行。然而,当应用程序的复原频率超过应用程序复原率阈值时,禁用器264禁用针对应用程序的进一步复原尝试。另外,可以发出警报或通知来指示应当对应用程序进行调查。可以使用各种方法来确定应用程序复原率阈值。例如,可以基于经验来试探性地确定应用程序复原率阈值。或者(或另外),应用程序复原率阈值可以基于进入了并非由应用程序缺陷所引起的有故障状态的资源的计算出的概率。在一个实施例中,使用泊松分布 (Poisson distribution)来确定该计算出的概率。即,如果事件以已知的平均速率发生,则泊松分布表达了事件(例如,资源进入有故障状态)在固定时间段内发生的概率,而不考虑从最后的事件开始的时间。因此,如果将应用程序主存到五个节点上,则使用泊松分布来表明这五个节点进入独立和随机发生的(即,并非由应用程序缺陷所引起的)有故障状态的频率。由这五个节点的故障,而非由泊松分布表明的频率,来指示应用程序缺陷可以引起故障。因此,泊松分布频率被可用作或用来表明应用程序复原率阈值。与使资源进入有故障状态的应用程序缺陷类似,应用程序组件(例如,实例)可以包括使资源进入有故障状态的缺陷。因此,资源状态后台监控器256包括依赖于组件复原率的禁用器266,其作用与依赖于应用程序复原率的禁用器264类似。S卩,在生成服务复原任务(例如,260)前,禁用器266确定组件的复原频率(即,组件在给定时间段内已被复原了多少次)。例如,可参考应用程序健康历史252来确定组件在某一时间段内已被复原了多少次。禁用器266将组件的复原频率与组件复原率阈值进行比较。当组件的复原频率低于组件复原率阈值时,资源状态后台监控器256继续运行。然而,当组件的复原频率超过组件复原率阈值时,禁用器266禁用针对组件的应用的进一步复原尝试。另外,可以发出警报或通知来指示应当调查应用程序组件。如果未被选中,则经由应用程序组件重分配器248的重分配可以在不考虑控制器 214的工作负荷的情况下生成大量的任务。因此,可以建立阈值来限制在重分配会话中生成的任务的数目。即,资源状态后台监控器256部分地通过以下方式来起作用从休眠状态中醒来、标识有故障资源、创建服务复原任务、以及返回到休眠状态。每当资源状态后台监控器256醒来时,它就会启动重分配会话。因此,为了管理控制器214的工作负荷,可以对允许资源状态后台监控器256 在给定重分配会话中进行重分配的应用程序的大致数目设置上限。因此,每会话扼制器 (per-session throttle) 268控制被允许在重分配会话中得到重分配的应用程序的数目。在每会话扼制器沈8建立每会话上限(per-session cap)时,资源状态后台监控器256将大致地重分配的每会话上限,以舍入到(rounded to)下一资源边界。例如,资源状态后台监控器256可以醒来并标识有故障的三个资源,每个资源主存了八个应用程序。如果每会话扼制器268将重分配的上限设为十个应用程序,则重分配三个资源中的两个(即,十六个应用程序),并在后续会话中重分配剩下的一个资源。即,当超过每会话上限(即,十个)时, 将对最多到下一资源边界的列表(例如,十六个应用程序)进行重分配,但不会对更多的列表进行重分配。组件重分配后台监控器270使用(consume)服务复原任务,并标识应用程序组件可被迁移至的无故障资源。例如,在接收了服务复原任务沈0以后,组件重分配后台监控器 270可参考清单244来标识可用来接收应用程序角色实例12 的资源。除了标识可用的无故障资源以外,组件重分配后台监控器270还确保应用程序角色实例12 到特定的无故障资源的迁移符合应用程序模型250。例如,应用程序模型250 指定要使用两个服务器来部署示例应用程序。因此,即使单个服务器可用来主存应用程序角色实例1-4中的每一个,组件重分配后台监控器270也不会调度所有这些应用程序组件来使其重分配至该单个服务器。一旦组件重分配后台监控器270已标识了应用程序组件可被重分配至的可用和合适资源以后,组件重分配后台监控器270生成升级任务272。例如,升级任务272指示将应用程序角色实例12 重分配至资源C 220处。虽然没有明确地描绘,但任务272可以同样包括需要将角色实例22 重分配至可用和合适的资源处的指令。与应用程序角色实例 22 有关的升级任务(例如,27 可指示应当将应用程序角色实例22 迁移至资源C 220 或资源D 220处,只要维持与应用程序模型250的一致性。在滚动升级任务队列276中确定升级任务的优先级。组件重分配监控器270也可包括每会话扼制器274,其作用与每会话扼制器268类似。即,每会话扼制器274控制被允许在重分配会话中得到重分配的应用程序的数目。当每会话扼制器274建立每会话上限时,在醒来的组件重分配后台监控器270上处理数量大致等于该上限的服务复原任务。即,类似于资源状态后台监控器256,组件重分配后台监控器270可以处理舍入到下一资源边界的数目。滚动升级后台监控器278使用升级任务并执行对应用程序组件的重分配。例如, 滚动升级后台监控器278使得应用程序角色实例12 被重分配至资源C处。在一实施例中,滚动升级后台监控器278符合虚拟分组规则。例如,滚动升级后台监控器278可在开始对同一应用程序的另一虚拟分组(例如,虚拟分组Bi)的迁移之前,等待将该应用程序的整个虚拟分组(例如,虚拟分组Al)迁移至新的资源。在这方面,滚动升级任务队列并不遵循先入先出的处理方案。滚动升级后台监控器278也可包括每会话扼制器观0,其作用与每会话扼制器268 和每会话扼制器274类似。即,每会话扼制器280控制被允许在重分配会话中得到重分配的应用程序的数目。当每会话扼制器280建立了每会话上限时,在醒来的滚动升级后台监控器278上处理数目大致等于该上限的升级任务。即,类似于资源状态后台监控器256和组件重分配监控器270,滚动升级后台监控器270可以处理舍入到下一资源边界的数目。参考图3,描绘了概述在本发明的一实施例中执行的方法的流程图。一般由参考标记310来描绘该方法,并且在描述图3时,也可对图2作出参考。该方法可以被包含在其上包含计算机可执行指令的一个或多个计算机可读介质上,当执行指令时,便于实现一种将应用程序组件从有故障数据中心资源处重分配至无故障数据中心资源处的方法。方法310包括在312处标识其上主存有应用程序组件(例如,实例2 和228)的有故障数据中心资源(例如,服务器、盘、虚拟机)。例如,可以在资源状态后台监控器醒来并参考清单244时,标识有故障数据中心资源。步骤314包括生成指示要将应用程序组件从有故障数据中心资源处转移走的服务复原任务(例如,260)。例如,在标识了有故障数据中心资源后,资源状态后台监控器256可以生成服务复原任务。在步骤316,方法310包括执行使用服务复原任务并标识无故障数据中心资源可用来接收应用程序组件的组件重分配后台监控器。例如,可检查应用程序模型250来确定在重分配应用程序组件时满足参数。示例性参数包括要在其中分摊应用程序组件的资源 (例如,服务器)的总数。可参考清单244来确定哪些资源是没有故障的,并确定选择了符合该参数的可用的无故障资源。步骤318包括生成指示要将应用程序组件转移到无故障数据中心资源处的滚动升级任务(例如,272)。另外,步骤320包括执行使用该滚动升级任务并将应用程序组件重分配至无故障数据中心资源处的滚动升级后台监控器。如之前所描述地,在执行方法310 时,可以利用各种阈值(例如,每会话扼制器)来控制工作负荷以及检测何时会因数据中心范围内的处理(例如,分组健康阈值)或应用程序故障(例如,应用程序复原率阈值)而造成资源故障。现参考图4,描绘了概述在本发明的一实施例中执行的方法的另一流程图。一般由参考标记410来描绘该方法,并且在描述图4时,也可对图2作出参考。该方法可以被包含在其上包含计算机可执行指令的一个或多个计算机可读介质上,当执行指令时,便于实现一种将应用程序组件从有故障数据中心资源处重分配至无故障数据中心资源处的方法。在操作412处,方法410包括在一组数据中心资源中确定包含有故障数据中心资源的该组的一部分。另外,步骤414包括将该部分与分组健康阈值进行比较。例如,依赖于分组健康的禁用器258可以验证这部分有故障资源并不太多,其可表明在服务复原继续进行之前,应当考虑网络范围内的状况。操作416包括,当该部分低于分组健康阈值时,标识其上部署了应用程序组件的有故障数据中心资源,其中该应用程序组件在给定时间段内已被重分配了一定次数。而且, 步骤418包括将该次数与另一阈值进行比较。其他阈值可包括应用程序复原率阈值、组件复原率阈值、或同时为应用程序复原率阈值和组件复原率阈值。例如,由于较高的重分配率表明应用程序是资源故障的基本起因,因此依赖于应用程序复原率的禁用器264可验证该次数并不太多。而且,操作420包括在该数量低于其他阈值时,将应用程序组件从有故障数据中心资源处重分配至无故障数据中心资源处。在不背离所附权利要求书的精神和范围的情况下,所描绘的各组件以及未示出的组件的许多不同的安排都是可能的。已带着说明而非限制的意图描述了本发明的各实施例。在阅读本发明之后或由于阅读了本发明,替换实施例将变得对本发明的读者显而易见。 可完成实现上述的替换装置而不脱离所附权利要求书的范围。某些特征和子组合是有用的, 并且可以使用而无需参考其他特征和子组合并且被认为是在权利要求书的范围之内的。
权利要求
1.一种将应用程序组件(226)从有故障数据中心资源(216)处重分配至无故障数据中心资源(220)处的方法,该方法包括标识(312)其上部署了所述应用程序组件026)的有故障数据中心资源016);生成(314)指示要将所述应用程序组件从所述有故障数据中心资源处转移走的服务复原任务O60);执行(316)使用所述服务复原任务并标识所述无故障数据中心资源(220)可用来接收所述应用程序组件的组件重分配后台监控器O70);生成(318)指示要将所述应用程序组件转移至所述无故障数据中心资源处的滚动升级任务(272),以及;执行(320)使用所述滚动升级任务并将所述应用程序组件重分配至所述无故障数据中心资源处的滚动升级后台监控器078)。
2.如权利要求1所述的方法,其特征在于,其中所述应用程序组件是一组应用程序组件中的一个组件,以及其中,在两个或更多虚拟分组中划分所述组,使得所述应用程序组件在一个虚拟分组内,且所述组中的另一应用程序组件在另一虚拟分组内。
3.如权利要求2所述的方法,其特征在于,其中,将所述一个虚拟分组和所述其他虚拟分组分配到各自的有故障数据中心资源上,并且其中,根据所述滚动升级任务来启动对所述应用程序组件的重分配是以完成对在所述其他虚拟分组中的所述其他应用程序组件的重分配为条件的。
4.如权利要求1所述的方法,其特征在于,为了标识所述无故障数据中心资源,所述组件重分配后台监控器参考由联网计算机资源控制器来维护的资源清单。
5.如权利要求1所述的方法,其特征在于,其中,将所述有故障数据中心资源包括在多个数据中心资源的网络中,其中,在标识所述有故障数据中心资源之前,标识所述多个中的一部分包括有故障数据中心资源,以及其中,当所述部分超过阈值部分时,并不生成所述服务复原任务。
6.如权利要求1所述的方法,其特征在于,其中,维护一历史,该历史包括在给定时间段内重分配所述应用程序组件的场合的数目,以及其中,当所述数目超过阈值数目时,并不生成所述服务复原任务。
7.—种在一个或多个计算机可读介质上实现的系统,该系统将应用程序组件(226)从有故障数据中心资源处(216)重分配至无故障数据中心资源(220)处,所述系统包括标识所述有故障数据中心资源(216)的资源状态后台监控器056),(a)其中,将应用程序的应用程序组件(226)部署在所述有故障数据中心资源上,以及(b)其中,所述资源状态后台监控器生成一服务复原任务060),该服务复原任务包括从所述有故障数据中心资源处对所述应用程序组件进行重分配的指令;接收所述服务复原任务并标识所述无故障数据中心资源(220)可用来接收所述应用程序组件的组件重分配后台监控器O70),其中所述组件重分配后台监控器生成一升级任务072),该升级任务包括将所述应用程序组件迁移至所述无故障数据中心资源处的指令; 以及接收所述升级任务并转移所述应用程序组件的滚动升级后台监控器(278)。
8.如权利要求7所述的系统,其特征在于,还包括在一组数据中心资源中确定有故障的数据中心资源的比率的依赖于分组健康的禁用器,其中在所述比率超过阈值比率时,禁用所述资源状态后台监控器。
9.如权利要求7所述的系统,其特征在于,还包括,跟踪在给定时间段内复原所述应用程序的次数的依赖于应用程序复原率的禁用器,其中在该次数超过每应用程序复原频率阈值时,禁用旨在复原所述应用程序的操作。
10.如权利要求7所述的系统,其特征在于,还包括,跟踪在给定时间段内复原所述应用程序组件的次数的依赖于组件复原率的禁用器,其中在该次数超过每组件复原频率阈值时,禁用旨在复原所述应用程序的操作。
11.如权利要求7所述的系统,其特征在于,还包括控制如下各项的每会话扼制器允许所述资源状态后台监控器在单个重分配会话中进行处理的应用程序组件的数目、允许所述组件重分配后台监控器在单个重分配会话中进行处理的应用程序组件的数目、允许升级后台监控器在单个重分配会话中进行处理的应用程序组件的数目、或其组合。
12.其上包含计算机可执行指令的一个或多个计算机可读介质,在执行所述计算机可执行指令时,便于实现一种将应用程序组件(226)从有故障数据中心资源(216)处重分配至无故障数据中心资源(220)处的方法,所述方法包括在一组数据中心资源中确定(41 包括有故障数据中心资源的所述组的一部分016 和 21 ;将所述部分与分组健康阈值进行比较G14);在所述部分低于所述分组健康阈值时,标识(416)其上部署了所述应用程序组件的所述有故障数据中心资源,其中所述应用程序组件在给定时间段内已被重分配了一定的次数;将所述次数与另一阈值进行比较G18);以及在所述数量低于所述其他阈值时,将所述应用程序组件从所述有故障数据中心资源处重分配(420)至所述无故障数据中心资源处。
13.如权利要求12所述的计算机可读介质,其特征在于,所述其他阈值包括应用程序复原率阈值、组件复原率阈值或其结合。
14.如权利要求12所述的计算机可读介质,其特征在于,其中所述应用程序组件是一组应用程序组件中的一个组件,以及其中,在两个或更多虚拟分组之间划分所述组,使得所述应用程序组件在一个虚拟分组内,且所述组中的另一应用程序组件在另一虚拟分组内。
15.如权利要求14所述的计算机可读介质,其特征在于,其中,将所述一个虚拟分组和所述其他虚拟分组分配到各自的有故障数据中心资源上,以及其中,重分配所述应用程序组件是以完成对在所述其他虚拟分组中的所述其他应用程序组件的重分配为条件的。
全文摘要
本发明涉及受控的数据中心服务的自动复原。在此描述的主题旨在将应用程序组件从有故障数据中心资源处重分配至无故障数据中心资源处。后台监控器标识有故障的数据中心资源,并调度对应用程序组件的从有故障数据中心资源到无故障数据中心资源的迁移。以允许应用程序保持可用的自动方式来执行迁移。阈值适于控制迁移率以及检测何时会因数据中心范围内的处理或应用程序故障而造成资源故障。
文档编号G06F9/48GK102385541SQ20111028571
公开日2012年3月21日 申请日期2011年9月9日 优先权日2010年9月10日
发明者P·A·杜尔诺夫, 徐海智 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1