分布式系统中的自更新功能技术方案

技术编号:20369530 阅读:24 留言:0更新日期:2019-02-16 19:50
描述的是提供服务的计算机节点的分布式系统经由分布式系统的组件进行自更新的技术。这样的自更新运行向分布式系统中的成员计算机节点中的每一个应用一个或多个更新,同时维持由分布式系统提供的服务。该更新运行可包括将工作负载从要被更新的每个计算机节点移开、更新那个节点、并在更新后恢复工作负载。执行更新运行可包括将更新相关责任(其可以是工作负载)从一个计算机节点移到另一个计算机节点。

Self-renewal Function in Distributed System

Describes the technology of self-renewal of distributed systems of computer nodes providing services through components of distributed systems. Such self-update runs one or more updates to each application in a member computer node of a distributed system while maintaining the services provided by the distributed system. The update operation may include removing the workload from each computer node to be updated, updating that node, and restoring the workload after the update. Performing update runs can include moving Update-Related responsibilities, which can be workloads, from one computer node to another.

【技术实现步骤摘要】
分布式系统中的自更新功能本专利技术专利申请是国际申请号为PCT/US2013/023524,国际申请日为2013年1月29日,进入中国国家阶段的申请号为201380007760.9,名称为“分布式系统中的自更新功能”的专利技术专利申请的分案申请。
本专利技术涉及分布式系统,更具体地,涉及分布式系统中的自更新功能。
技术介绍
分布式系统通过节点/服务器的集合(诸如安排为群集)向客户机提供各种计算机服务(包括应用)。当计算机软件被部署在分布式系统上的产品中时,企业等很难以最新调整和软件改善来保持软件最新,而不干扰由该分布式系统提供的服务。结果,为了更新分布式系统,管理员执行相对详尽的计划,以旨在更新分布式系统的集合中的节点/服务上的软件清单而不影响由该集合提供的服务,有时被称为在更新方面“是服务知晓的”。典型的管理步骤包括将这些服务从这样的分布式系统集合中的每个服务器/节点迁移,以及将这些服务重新主存到这样的分布式系统集合中的每个服务器/节点,使得节点可被更新,而确保,例如,全部集合的容错“临界量”(例如群集法定数量)在更新过程中保持,并使用以节点为中心的更新软件来更新每个节点。一些管理员手动执行这些任务,而其他管理员使用自组织脚本来试图自动化该过程的部分。在一些情况下,可能有用于与特定类型的软件更新管理软件耦合的特定类型的聚类服务的端到端工具。在任何情况下,这样的信息技术(IT)方法是费力的、易出错的,需要IT专家来管理,并且在正在进行的基础上维护是昂贵的。随着分布式系统的数量增加,这些手动过程/脚本的操作花费以及需要运行/维护它们的IT管理员对于IT组织来说变成相当可观的操作成本负担。这对于中小型的企业以及倾向于具有无本地IT专家可用的多个分支机构的组织来说尤其如此。
技术实现思路
提供本概述以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些代表性概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。简言之,在此描述的主题的各个方面涉及提供服务的诸计算机节点的分布式系统经由该分布式系统的组件进行自更新的技术。诸计算机节点的成员资格被确定,并且该组件执行将一个或多个更新应用到有成员资格的多个计算机节点的每一个,同时维持由分布式系统提供的服务的更新运行。执行更新运行可包括潜在地多次重新引导和/或重启有成员资格的多个计算机节点中的每一个。在一个方面,执行更新运行包括将任何工作负载从每个要更新的计算机节点移开,并在那个计算机节点的更新完成后恢复那个计算机节点上的至少一个工作负载。执行更新运行可包括将协调器(orchestrator)责任从一个计算机节点移到另一个计算机节点。可在将协调器责任从一个计算机节点移到另一个计算机节点之前持久保存更新相关的状态信息,并在将协调器责任从一个计算机节点移到另一个计算机节点之后在第二节点处读取该更新相关的状态信息。结合附图阅读以下具体实施方式,本专利技术的其他优点会变得显而易见。附图说明作为示例而非限制,在附图中示出了本专利技术,附图中相同的附图标记指示相同或相似的元素,附图中:图1A是示出通过分布式系统的软件组件执行自更新的分布式系统的示例组件的框图。图1B是示出通过分布式系统的硬件/固件执行自更新的替换分布式系统的示例组件的框图。图2-6包括示出在自更新运行期间处于各种不同状态的示例自更新分布式系统的诸计算机节点和组件的示例表示的框图。图7是表示在自更新运行期间处于各种不同状态的示例自更新分布式系统中可采取的示例步骤的流程图。图8是表示示例性非限制联网环境的框图,其中可实现本文所描述的各种实施例。图9是表示示例性非限制计算系统或运行环境的框图,其中可实现本文所描述各种实施例的一个或多个方面。具体实施方式此处所描述的技术的各方面一般针对允许分布式系统以服务知晓方式将其诸节点自更新到当前所需软件级别。一般来说,这提供了一种不要求本地IT专家在场来更新分布式系统软件的端到端分布式系统更新方案。如将会理解的,自更新分布式系统可在无需外部帮助或监控的情况下运行。分布式系统中的各计算机节点可继续用对IT组织适用的更新(补丁)适用性规则和策略来管控,同时足够智能以自更新它们自己而将分布式系统的全局服务可用性考虑作为整体来考虑。在此使用分布式系统的各种不同的示例,诸如故障转移群集,应当理解,此处的任何示例均是非限制性的。因此,本专利技术不限制于在此描述的任何具体的实施例、方面、概念、结构、功能或示例。相反,此处所描述的实施例、方面、概念、结构、功能或示例中的任一个都是非限制性的,并且本专利技术一般能够以在计算和分布式系统方面提供好处和优点的各种方式来使用。一般而言且如在此所描述的,自更新群集软件(例如,进程/线程)在所有者节点上运行、确定分布式系统的成员资格、并更新每个成员;(注意,在允许诸如新的、未连接的或非正在运行的机器的非成员成为分布式系统的成员之前或作为其一部分,更新可在那些非成员上执行)。为此,自更新群集软件可更新除了自己之外的每个其它节点,并可操作以更新它在其上运行的节点。在一个情形中,自更新群集软件从所有者节点“移”到新所有者节点,新所有者节点随后运行自更新群集软件的实例来更新先前的所有者节点,包括执行任何那个节点所需的重新引导。与更新相关的状态信息可被持久保存并经由“共享存储设备”发送到新所有者节点。注意在“无共享”分布式系统的特定实施例中,共享存储设备可被分布式存储服务取代,其中该服务可从分布式系统中作为持久存储的的诸节点处访问,即使当不需要到全部节点的真实共享存储连接性时也是如此。此外,注意在替换情形中,自更新群集软件不需要在另一个节点上运行以将更新安装到其自己的节点上。例如,如果不需要重新引导,自更新群集软件只需要安装更新。可替换地,如果需要重新引导且所有者节点能够将其工作负载移到能够继续分布式系统的服务的其它节点,所有者节点的自更新软件能够重新引导其自身以完成该更新;所有者节点可写入任何可访问持久存储以跨一次或多次重新引导持久保存状态信息。图1A示出了包含包括多个计算机节点1041-104N的自更新分布式系统102的一个示例实现的框图。例如,计算机节点可以是虚拟机或物理机器。分布式系统可具有少到两个节点多到符合实际的任何数量的节点。事实上,在此描述的自更新技术对于小到两个刀片的服务器群集也是有益的,因为除了其它益处,小的自更新服务器群集可被配置为需要很少或不需要手动维护的器具型设备。节点的每一个包含一个或多个相应的工作负载(示为1061-106J和1071-107K),其包括可在系统102的诸节点之间分布的服务(可能包括应用)。这样的分布式系统的一个示例是故障转移群集,其中在一个节点发生故障或暂停(其可由非预计的(例如,崩溃相关的)或故意的(例如,维护相关的)事件导致)时,该一个节点的工作负载实际上自动“移动”(“故障转移”)到一个或多个其它节点。为此,一旦需要将工作负载从一个节点移开,对应的工作负载的实例被加载到一个或多个其它节点上并因此继续对节点客户机透明地运行。其它类型的分布式系统出于其它理由(例如为了执行自动负载平衡或作为手动维护的一部分)而移动工作负载。耦合到分布式系统通信机制1101-110N的共享联本文档来自技高网
...

【技术保护点】
1.一种在计算环境中的、至少部分地在至少一个处理器上执行的方法,包括:由分布式系统的协调器模块确定所述分布式系统的多个计算机节点中的提供服务的节点成员资格,并且执行所述分布式系统的自更新运行,包括将一个或多个更新应用到所述成员资格中的多个计算机节点的节点本地软件清单,同时维持由所述分布式系统提供的服务,包括:对于多个计算机节点中的要被更新的计算机节点,在将任何服务工作负载从该计算机节点移到另一个计算机节点之前获取所述一个或多个更新的至少一部分,将所述服务工作负载从该计算机节点移到另一个计算机节点,以及在完成对该计算机节点的更新之后恢复该计算机节点上的至少一个服务工作负载。

【技术特征摘要】
2012.02.02 US 13/364,7141.一种在计算环境中的、至少部分地在至少一个处理器上执行的方法,包括:由分布式系统的协调器模块确定所述分布式系统的多个计算机节点中的提供服务的节点成员资格,并且执行所述分布式系统的自更新运行,包括将一个或多个更新应用到所述成员资格中的多个计算机节点的节点本地软件清单,同时维持由所述分布式系统提供的服务,包括:对于多个计算机节点中的要被更新的计算机节点,在将任何服务工作负载从该计算机节点移到另一个计算机节点之前获取所述一个或多个更新的至少一部分,将所述服务工作负载从该计算机节点移到另一个计算机节点,以及在完成对该计算机节点的更新之后恢复该计算机节点上的至少一个服务工作负载。2.如权利要求1所述的方法,其特征在于,执行所述自更新运行包括重新引导或重启或重新引导并重启所述成员资格中的所述多个计算机节点至少一次。3.如权利要求1所述的方法,其特征在于,移动所述服务工作负载包括暂停该计算机节点。4.如权利要求1所述的方法,其特征在于,还包括:确定所述分布式系统的多个计算机节点的运行状态,包括所述服务工作负载;以及响应于确定由所述分布式系统提供的服务不能在所述服务工作负载被移动的情况下被维持,将所述自更新运行推迟到下一次。5.如权利要求1所述的方法,其特征在于,执行所述自更新运行包括将所述协调器模块从将要被更新的计算机节点移动到所述多个计算机节点中的另一个计算机节点。6.如权利要求1所述的方法,其特征在于,执行所述自更新运行包括在完成所述自更新之前恢复经更新的计算机节点上的一个或多个服务工作负载。7.如权利要求1所述的方法,其特征在于,所述协调器模块与自更新相关工作负载相关联,并且其中执行所述自更新运行包括将所述自更新相关工作负载从一个计算机节点移动到所述多个计算机节点中的另一个计算机节点。8.如权利要求1所述的方法,其特征在于,所述分布式系统包括故障转移群集,其中所述协调器模块与自更新相关工作负载相关联,并且其中执行所述自更新运行包括将所述自更新相关工作负载从一个计算机节点故障转移到所述多个计算机节点中的另一个计算机节点。9.如权利要求1所述的方法,其特征在于,还包括:将更新相关状态信息持久保存到所述多个计算机节点的共享存储;在所述自更新运行期间将所述协调器模块从一个计算机节点移动到所述多个计算机节点中的另一个计算机节点;以及在将所述协调器模块从所述一个计算机节点移动到所述另一个计算机节点之后,在所述另一个节点处读取所述更新相关状态信息。10.一种系统,包括:被安排为分布式系统的多个计算机节点;所述分布式系统内的多个计算机节点中的第一计算机节点上的处理器,所述处理器执行自更新协调器模块,所述自更新协调器模块被配置成:在所述多个计算机节点中的所述第一...

【专利技术属性】
技术研发人员:D·J·汤普森A·E·图尔科格鲁G·O·德斯潘德M·查达拉帕卡
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1