使用混合群集来构建大规模测试基础结构的制作方法

文档序号:6532856阅读:196来源:国知局
使用混合群集来构建大规模测试基础结构的制作方法
【专利摘要】分布式计算系统。该系统将管理和工作器功能划分成不同的群集,由此使工作器群集不再有管理开销。具体地,该系统包括管理群集。该管理群集被配置成执行工作器节点的服务部署、工作器节点的服务维护、工作器节点的服务升级和回滚、工作器节点的服务监视以及工作器节点的服务报告。该系统进一步包括耦合管理群集但与管理群集分开的一个或多个工作器群集。工作器群集中的每一个都包括一个或多个工作器节点,这一个或多个工作器节点被配置成提供处理能力、存储、和网络连接性中的一个或多个,但不使用这些管理配置功能中的一个或多个。
【专利说明】使用混合群集来构建大规模测试基础结构
[0001] 背景
[0002] 背景和相关技术
[0003] 计算机和计算系统已经影响了现代生活的几乎每个方面。计算机通常涉及工作、 休闲、保健、运输、娱乐、家政管理等。
[0004] 此外,计算系统功能还可以通过计算系统的经由网络连接互连到其他计算系统的 能力来增强。网络连接可包括,但不仅限于,经由有线或无线以太网的连接,蜂窝式连接,或 者甚至通过串行、并行、USB或其它连接的计算机到计算机的连接。这些连接允许计算系统 访问其他计算系统处的服务,并快速且有效地从其他计算系统接收应用数据。
[0005] 此外,互连的计算系统可用于实现群集计算系统,在该群集计算系统中,若干分立 系统一起工作以作为整体来完成分配到该群集的计算任务。一些这样的系统可具有在云中 部署的群集的全部或部分。云计算允许将计算资源作为服务而非可递送产品来提供。具体 地,在网络(诸如因特网)上(例如通过租赁协定)提供计算能力、软件、信息、网络连接性 等。
[0006] 云服务(诸如,可从华盛顿州雷蒙德市的微软?公司获得的Windows Azure? ) 以低成本提供实际上无限的可缩放性和高可用性。然而,这种可缩放性可受到每一群集上 预配管理功能的能力的限制。具体地,管理功能(诸如,服务部署、维护、升级和回滚、以及 监视功能性)表示在每一群集上完成的大量工作。因此,可在群集处完成的除管理功能以 外的工作可受到也在那个工作器群集处执行的管理功能的限制。
[0007] 此外,云计算允许测试实验室基础结构开发中的新机会。然而,传统的测试实验室 依赖于购买和自我维护物理机器,从而给予测试团队进行硬件安装、网络设置、打补丁等负 担。在这样的物理实验室环境下,在进行中添加新硬件以及移除空闲硬件的灵活性也受到 限制。
[0008] 在此要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的各个实 施例。相反,提供该背景仅用以示出在其中可实践在此描述的部分实施例的一个示例性技 术领域。
[0009] 简要概述
[0010] 一个实施例可包括分布式计算系统。该系统包括管理群集。该管理群集被配置成 执行工作器节点的服务部署、工作器节点的服务维护、工作器节点的服务升级和回滚、工作 器节点的服务监视以及工作器节点的服务报告。该系统进一步包括耦合管理群集但与管 理群集分开的一个或多个工作器群集。工作器群集中的每一个都包括一个或多个工作器 节点,这一个或多个工作器节点被配置成提供处理能力、存储、和网络连接性中的一个或多 个,但不使用这些管理配置功能中的一个或多个。
[0011] 另一实施例包括为分布式系统中的客户机处理作业的方法。该方法包括在分布式 系统中的管理群集处接收来自客户机的作业。该方法进一步包括在该管理群集处基于作业 特性将该作业分发给与该管理群集分开的工作器群集。
[0012] 提供本概述是为了以简化的形式介绍将在以下【具体实施方式】中进一步描述的概 念选择。本
【发明内容】
不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用 于帮助确定所要求保护的主题的范围。
[0013] 将在以下的描述中阐述另外的特征和优点,并且部分特征和优点可从该描述中显 而易见,或者可从本文教导的实践中获知。本发明的特征和优点可以通过在所附权利要求 中特别指出的手段和组合来实现并获取。本发明的特征将从以下描述和所附权利要求书中 变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
[0014] 附图简述
[0015] 为了描述可获得本主题的上述和其它优点和特征的方式,将通过参考附图中示出 的本主题的具体实施例来呈现以上简要描述的本主题的更具体描述。应该理解,这些附图 仅描绘了各典型实施例,因此其不应被认为是对范围的限制,各实施例将通过使用附图用 附加特征和细节来描述并解释,在附图中:
[0016] 图1解说了包括管理群集和工作器群集的群集系统;以及
[0017] 图2解说了为客户机处理作业的方法。
[0018] 详细描述
[0019] 本文中描述的一些实施例实现用于构建云计算基础结构的"混合群集"。具体地, 各实施例可使用小型管理群集来管理其他工作器群集。这允许管理功能性(诸如服务部 署、维护、升级和回滚以及监视)被卸载到管理群集,从而留给工作器群集更多用于执行群 集作业的资源。
[0020] 具体地,各实施例可使用用于提供集中监视的一个小尺寸受管群集以及用于以最 少服务开销来提供虚拟机环境的若干大尺寸"原始"群集的组合。将解说各个实施例,包括 适用于通用云计算以及用于测试云计算基础结构的实施例。
[0021] 在一个特定示例中,可从华盛顿州雷蒙德市的微软?公司获得的"Blackbird" 是成熟的能够启用SQL Azure?以在Windows Azure?上运行的群集管理和监视平台。本 文中解说的一些实施例能够克服"原始"Windows Azure?群集的监视管道的限制以及 Blackbird管理的Windows Azure?^¥集的服务开销的限制。各实施例可使用称作"混合 群集"的基础结构--其在一个示例中是诸如Blackbird管理的Windows Azure?群集之 类的用于提供集中监视的一个小尺寸管理群集和诸如"原始"Windows Azure?群集之类的 用于以最少的服务开销来提供虚拟机环境的若干大尺寸工作器群集的组合。
[0022] 现参考图1,解说了一个示例。图1解说用户客户机102。该用户客户机与用户 104交互,并将各作业保存在作业队列106中。
[0023] 图1进一步解说了管理控制台108。该管理控制台108包括允许用户监视多个环 境并显示多个视图的用户界面。在一些实施例中,管理控制台108可使用Xts来实现。Xts 是可从华盛顿州雷蒙德市的微软?公司获得的Autopilot/Blackbird管理控制台。
[0024] 图1解说数据中心110。数据中心110包括管理群集112。管理群集112包括作 业管理器115。作业管理器115调度作业并监视作业状态。管理群集进一步包括群集管理 器114、OpStore管理器116和0pStorell8。0pStorell8存储操作信息和性能信息。如所 述的,在一些实施例中,管理群集112可以使用Blackbird管理的群集来实现。
[0025] 数据中心110进一步包括多个工作器群集。在所解说的示例中,解说了单个工作 器群集120,但应该领会,可实现实际上任何数量的工作器群集。每个工作器群集可包括多 个工作器节点。在所解说的该示例中,示出了工作器节点122-1和122-2。尽管示出了仅两 个工作器节点(一般被称为122),但应该领会,在工作器群集120中可实现实际上任何数目 的工作器节点122。
[0026] 在所解说的示例中,每一工作器节点122包括工作器角色实例,其在本文中可被 称为工作器124。工作器124被配置成启动驱动程序,并使用该驱动程序来执行作业案例。 工作器124还跟踪作业执行状态。
[0027] 在所解说的示例中,每一工作器节点122进一步包括运行时信息模块126。该运行 时信息模块126包括拓扑信息和通信端点。运行时信息模块126还向管理群集112发送文 件。
[0028] 在所解说的示例中,每一工作器节点122包括健康上传器模块128。该健康上传器 模块128是可收集信息(诸如节点状态、性能计数和其他信息)并将这些收集到的信息发 送给管理群集112的服务上传器。管理群集可包括在OpStorellS内的健康存储。从健康 上传器模块128发送的信息可被存储在0pStorell8。
[0029] 现在以下解说在一个实施例中实现的示例情形。在该示例中,数据中心110就绪, 其包括使管理群集112和工作器群集120 (包括工作器节点122)被部署好。一个或多个作 业驱动程序被部署。可以实现其中对于给定作业驱动程序而言,如果不存在对该作业驱动 程序的修改,则该作业驱动程序仅被部署一次的一些实施例。
[0030] 用户104使用用户客户机102来将作业置于作业队列106中。在所解说的示例中, 作业队列106是优先级队列。在优先级队列中,以优先级为基础将各元素从该队列中拉取 出。如所解说的,用户客户机102就当前作业处理状态周期性地检查作业管理器115。当 客户机102确定作业管理器114就绪时,它从作业队列106中检索作业并将作业数据部署 在团块130中。作业管理器114检查该作业并将该作业划分成作业项,并将这些项保存在 作业项时间表132中。例如,该作业可具有20个作业套件。每个作业项可以是一套件。由 此,作业时间表132具有20个作业项。
[0031] 每一工作器节点122上的工作器124周期性地检查该作业项队列。当工作器124 找到作业项时,工作器124取得该项目并更新该状态。更新状态可包括如下多个动作。工 作器124将来自团块130的作业数据134加载到工作器节点122中。工作器124使用作业 驱动程序来运行作业数据134。工作器124将状态信息报告到OpStore数据库118中。这 样的状态信息可包括作业状态。例如,在一些实施例中,作业状态可被分类成以下之一:就 绪、处理中、完成、超时或取消。状态信息可另外地或替换地包括作业结果。例如,作业结果 可被分类成通过、失败或超时之一。工作器124在每一作业完成之后将作业日志信息保存 到团块130中。工作器124随后查找下一作业项,以重复如以上所述的各个动作。如果存 在新作业的话,作业管理器115可将新作业项添加到工作项队列中。
[0032] 一些实施例可实现web API,这些web API使得管理基础结构可用作用于外部用户 的服务。
[0033] 如本文中所描述的,所实现的实施例可允许更多效率。例如,假定一实施例实现10 个测试套件,并且这10个套件的最长运行时间为4小时。其他9个测试套件可花费2小时。 如果该实施例具有10个工作器且每一工作器取得一套件,则在大约4个小时之后,完成结 果可从所有这些测试套件处获得。然而,如果这在单个机器上运行,则结果将花费22个小 时来获得。
[0034] 各实施例可促成可缩放性。例如,使用刚才解说的示例,各实施例可在有可能的情 况下将这10个套件划分成更小的组块,并添加更多的测试工作器。因此,这些实施例可进 一步减少运行时间。例如,如果一实施例将相同的10个套件划分成100个套件,并添加了 100个测试工作器,其中每一套件花费0. 22小时,则结果可在0. 22小时内获得。
[0035] 各实施例可进一步促成增加的可靠性和可用性。作为说明,如果一个或多个测试 工作器出故障了,则其他工作器可接手作业项,并完成作业。此外,各实施例可用于减少开 发和管理成本,因为仅不得不管理单个管理群集。各实施例还可允许扩展工作器群集的可 缩放性。
[0036] 如本文中所解说的,各实施例可包括管理群集,诸如管理群集112。管理群集可被 配置成执行各个管理功能,以将工作器节点从这些管理功能中释放出来。例如,该管理群集 可执行工作器节点的服务部署,由此将各服务部署到工作器节点(诸如,图1中解说的工作 器节点122)处。该管理群集可执行工作器节点上的对各服务的维护。管理群集可执行工 作器节点上的服务升级和回滚。管理群集可执行工作器节点上的服务监视,诸如监视服务 健康状态。管理群集可执行工作器节点的服务报告,诸如通过图1中解说的管理控制台108 向用户报告服务功能性。
[0037] 各实施例可包括耦合管理群集的一个或多个工作器群集。图1解说耦合到管理群 集112的工作器群集120。工作器群集中的每一个都包括一个或多个工作器节点(诸如,节 点122),其被配置成提供处理能力、存储和网络连接性中的一个或多个。如所述的,在一些 实施例中,工作器节点不使用这些管理配置功能中的一个或多个,而使那些功能被卸载到 管理群集112中。
[0038] 管理群集可被配置成基于分布式计算系统要执行的工作量来将节点添加到一个 或多个工作群集中或从其移除节点。
[0039] 分布式系统可被配置成将来自工作器节点的健康信息上传到管理群集中。例如, 图1解说了可用于将健康信息上传到0pStorell8的健康上传器128。
[0040] 可实现其中分布式系统被耦合到在该分布式系统外部的客户机以从该客户机接 收要由该分布式系统来执行的作业的实施例。例如,如图1所解说的,分布式系统110被耦 合到用户客户机102以从用户104接收作业。
[0041] 管理群集可包括数据库(诸如,OpStorellS),以存储分布式系统中的工作器节点 的操作和性能信息。在一些实施例中,该数据库被配置成被用户查询,以使得该用户能够监 视工作器节点的性能信息。如所述的,工作器节点可包括健康上传器模块,该模块被配置成 收集节点状态并将该节点状态发送给管理群集以供存储在存储操作和性能信息的数据库 中。健康上传器模块可被配置成收集性能计数,并将这些性能计数发送给管理群集以供存 储在存储操作和性能信息的数据库中。
[0042] 以下讨论现涉及可以执行的多种方法以及方法动作。虽然用特定次序讨论或用以 特定次序发生的流程图示出了各个方法动作,但除非明确规定或因为一动作依赖于另一动 作在执行该动作之前完成而需要特定次序,否则不需要特定次序。
[0043] 现在参考图2,示出了方法200。本文中解说的一个实施例涉及一种为分布式系统 中的客户机处理作业的方法200。该方法包括在分布式系统中的管理群集处接收来自客户 机的作业(动作202)。例如,管理群集112可接收来自用户客户机102的作业。该方法200 进一步包括基于作业特性,在该管理群集处将该作业分发给与该管理群集分开的工作器群 集。例如,如图1中所解说的,可将作业分发给工作器群集120中的工作器节点122。
[0044] 方法200可进一步包括接收来自工作器群集的健康信息。例如,如图2中所解说 的,工作器节点122-1可使用健康上传器120将健康信息上传到管理群集112。在一些实 施例中,方法200进一步包括将健康信息存储在用户可查询的数据库(诸如,0pStorell8) 中。
[0045] 方法200可进一步包括该管理群集部署工作器群集中的工作器节点、执行工作器 群集中的工作器节点上的维护、执行工作器群集中的工作器节点上的更新或回滚中的至少 一者、执行工作器群集中的工作器节点的监视、执行工作器群集中的工作器节点的服务报 生 口 〇 〇
[0046] 方法200可进一步包括该管理群集维护向分布式计算系统分派的作业的作业状 态的作业数据库。例如,作业数据库可包括关于传入作业、传出作业、哪个群集或节点正在 执行作业、作业结果等的信息。该信息可以是用户可查询的。
[0047] 此外,各种方法可由包括一个或多个处理器和诸如计算机存储器等计算机可读介 质的计算机系统来实施。具体而言,计算机存储器可存储计算机可执行指令,这些指令在由 一个或多个处理器执行时使得诸如各实施例中所述的各个动作等各种功能被执行。
[0048] 本发明的各实施例可以包括或利用包含计算机硬件的专用或通用计算机,这将在 下文中更详细地讨论。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令 和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或 专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存 储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制, 本发明的各实施例可包括至少两种显著不同的计算机可读介质:物理计算机可读存储介质 和传输计算机可读介质。
[0049] 物理计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储(如CD、DVD 等)、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需 程序代码装置且可由通用或专用计算机访问的任何其他介质。
[0050] "网络"被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设 备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、 或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介 质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且 可由通用或专用计算机访问的网络和/或数据链路。以上介质的组合也被包括在计算机可 读介质的范围内。
[0051] 此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程 序代码装置可从传输计算机可读介质自动转移到物理计算机可读存储介质(或者相反)。 例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模 块(例如,"NIC")内的RAM中,然后最终被传送到计算机系统RAM和/或计算机系统处的 较不易失性的计算机可读物理存储介质。因此,计算机可读物理存储介质可被包括在同样 (或甚至主要)利用传输介质的计算机系统组件中。
[0052] 计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某 一功能或某组功能的指令和数据。计算机可执行指令例如可以是二进制代码、诸如汇编语 言之类的中间格式指令或者甚至是源代码。尽管用结构特征和/或方法动作专用的语言描 述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体 而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
[0053] 本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络 计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息 处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型 计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过 网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的 组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统 环境中,程序模块可以位于本地和远程存储器存储设备二者中。
[0054] 本发明可具体化为其他具体形式而不背离其精神或特征。所描述的实施例在所有 方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前 述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范 围所涵盖。
【权利要求】
1. 一种分布式计算系统,所述计算系统包括: 管理群集,其中所述管理群集被配置成执行工作器节点的服务部署、工作器节点的服 务维护、工作器节点的服务升级和回滚、工作器节点的服务监视以及工作器节点的服务报 告;以及 耦合所述管理群集的一个或多个工作器群集,其中所述工作器群集中的每一个都包括 一个或多个工作器节点,所述一个或多个工作器节点被配置成提供处理能力、存储和网络 连接性中的一个或多个,但不使用这些管理配置功能中的一个或多个。
2. 如权利要求1所述的系统,其特征在于,所述管理群集被配置成基于要由所述分布 式计算系统执行的工作的量来将节点添加到所述一个或多个工作群集中或从所述一个或 多个工作群集移除节点。
3. 如权利要求1所述的系统,其特征在于,所述分布式系统被配置成将来自工作器节 点的健康信息上传到所述管理群集。
4. 如权利要求1所述的系统,其特征在于,所述分布式系统被耦合到所述分布式系统 外部的客户机,以从所述客户机接收要由所述分布式系统来执行的作业。
5. 如权利要求1所述的系统,其特征在于,所述管理群集包括存储所述分布式系统中 的工作器节点的操作和性能信息的数据库。
6. 如权利要求5所述的系统,其特征在于,数据库被配置成被用户查询以使得所述用 户能够监视工作器节点的性能信息。
7. 如权利要求5所述的系统,其特征在于,所述工作器节点中的至少一个包括健康上 传器模块,所述健康上传器模块被配置成收集节点状态,并将所述节点状态发送给所述管 理群集,以供存储在存储操作和性能信息的所述数据库中。
8. 如权利要求6所述的系统,其特征在于,所述健康上传器模块被配置成收集性能计 数,并将所述性能计数发送给所述管理群集以供存储在存储操作和性能信息的所述数据库 中。
9. 一种为分布式系统中的客户机处理作业的方法,所述方法包括: 在分布式系统中的管理群集处,接收来自客户机的作业; 在所述管理群集处基于作业特性将所述作业分发给与所述管理群集分开的工作器群 集。
10. 如权利要求9所述的方法,其特征在于,进一步包括接收来自所述工作器群集的健 康信息。
11. 如权利要求10所述的方法,其特征在于,进一步包括将所述健康信息存储在用户 可查询的数据库中。
12. 如权利要求9所述的方法,其特征在于,进一步包括所述管理群集部署所述工作器 群集中的工作器节点。
13. 如权利要求9所述的方法,其特征在于,进一步包括所述管理群集执行所述工作器 群集中的工作器节点上的维护。
14. 如权利要求9所述的方法,其特征在于,所述管理群集执行所述工作器群集中的工 作器节点上的升级或回滚中的至少一个。
15. 如权利要求9所述的方法,其特征在于,所述管理群集执行所述工作器群集中的工
【文档编号】G06F9/44GK104067221SQ201380006408
【公开日】2014年9月24日 申请日期:2013年1月18日 优先权日:2012年1月23日
【发明者】M·M·琴恩塔拉帕蒂, C·贾, T·弗雷格, K·萨布拉马尼安, S·杨 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1