用于系统配置同步的分布式状态模型的制作方法

文档序号:9732010阅读:344来源:国知局
用于系统配置同步的分布式状态模型的制作方法
【专利说明】用于系统配置同步的分布式状态模型
【背景技术】
[0001] 在其中组件被部署到不同的计算机或节点的应用部署中,一个节点上的部署常常 依赖于另一节点上的部署的状态。例如,一个节点上的主应用可能需要处于指定的状态,然 后冗余或辅助应用的部署才能够在另一节点上进行。现有的系统通常使用单个点(诸如集 中式协调系统或中央储存库)来编排每一个节点上的部署。
[0002] 集中式协调系统或中央储存库可W控制每一个节点上的部署,并确保每一节点上 的应用都W所希望的顺序部署。当每一应用部署从一种状态移动到下一状态时,在继续之 前,中央储存库验证其他节点处于所需的状态。然而,在现有系统中跨多个节点部署应用的 情况下,节点不能够直接确定应用在其他节点上的状态。

【发明内容】

[0003] 提供本概述W便W简化形式介绍将在W下详细描述中进一步描述的一些概念。本 概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护 主题的范围。
[0004] 在典型的数据中屯、或云计算应用部署中,不同的组件位于不同的计算机或节点 上。每一个组件都需要被部署并被配置,W使应用正确地工作。在部署和配置过程中,需要 不同的组件之间的协调,才能进行适当的配置。
[000引"所希望的状态配置"提供一种用于协调计算机或节点之间的配置步骤的机制。协 调基于特定的状态一一即,节点A上的配置步骤将等待另一节点B到达特定的状态,然后节 点A才能继续其配置。此协调将在不使用中央储存库或中央协调系统的情况下完成。现有配 置系统没有在不使用中央协调系统的情况下协调计算机或节点或节点之间的配置步骤的 途径。
[0006] 示例实施例的一些方面包括:
[0007] -不要求中央协调系统或中央储存库;
[0008] -能够等待计算机或节点上的配置到达特定状态;
[0009] -能够查询计算机或节点的状态;W及
[0010] -能够等待一个W上的计算机或节点到达所希望的状态。
[0011] 同步模型是被动的,其特征在于,依赖的节点查询它依赖的节点的状态,而并非要 求该节点向正在等待的节点显式地发送消息。不需要正在被等待的机器采取行动。通过拉 取模型进行同步,其中,依赖的节点查询目标的状态,而并非依赖于目标积极地通知正在等 待的节点。
[0012] 附图简述
[0013] 为了进一步阐明本发明的各实施例的W上和其他优点和特征,将参考附图来呈现 本发明的各实施例的更具体的描述。可W理解,运些附图只描绘本发明的典型实施例,因此 将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释, 附图中:
[0014] 图I示出了分布式状态模型,其中不同节点上的资源提供者基于远程节点上的部 署的状态来控制本地应用的部署。
[0015] 图2示出了使用本发明的一个实施例的节点。
[0016] 图3示出了使用示例配置文本的分布式数据库应用的两个节点。
[0017] 图4是示出了根据本发明的一个实施例的用于配置计算设备的方法或过程的流程 图。
[0018] 图5是示出了根据另一实施例的用于配置资源的方法或过程的流程图。
[0019] 图6示出了用于在不同的节点或机器上配置应用和资源的合适的计算和联网环境 的示例。
【具体实施方式】
[0020] 所希望的状态配置提供分布式状态模型,其中一个节点可W等待一个或多个其他 节点到达指定的状态。运是通过将同步建模为可W被配置的特殊资源来实现的。
[0021] 一般而言,使用资源提供者来配置资源。预期每个资源都定义描述资源的哪些属 性可W被配置的架构。资源的配置的实施是通过资源提供者来管理的。资源提供者定义两 个功能来将资源置于所希望的状态:
[0022] -Test-TargetResource(测试一目标资源)-判断资源是否处于所希望的状态;W 及
[0023] -Set-TargetResource(设置一目标资源)-将资源设置为所希望的状态。资源提供 者定义运两个功能W使用系统。
[0024] 通过展示特殊同步资源来实现跨节点的同步。资源提供者功能按如下方式表现: [002引Test-化rgetResource功能检查远程机器或节点上的所需的资源是否处于指定的 状态。
[0026] Set-化rgetResource功能等待直到远程机器或节点上的所需资源处于指定的状 态,然后将资源设置为所希望的状态。
[0027] 通过配置同步资源W到达所希望的状态,所希望的状态配置系统等待远程节点或 机器上的资源到达特定的状态。资源不取决于状态转换来触发,它已经完成。相反,同步资 源观察所需的远程节点,W判断它们是否处于所希望的状态。当向其中所有其他节点都处 于它们的最终状态的现有的集群中添加新的依赖节点时,新节点简单地验证所需的远程资 源处于所希望的状态。新节点不需要观察远程资源中的状态变化;它简单地确定远程资源 的当前状态。
[0028] 图1示出了分布式状态模型,其中节点101-103上的资源提供者基于数据中屯、或云 计算环境中的其他节点上的资源部署的状态来控制一个节点上的应用的部署。每一个节点 101-103(M1-M3)都具有五个本地状态(S1-S5)。本地地,每一个节点都按顺序从状态Sl移动 到状态S5。然而,在某些情况下,节点在本地地移动到下一状态之前必须等待远程节点处于 特定状态。例如,在本地状态S3,节点IOl(Ml)不能继续,直到节点102、103(M2,M3)两者都到 达指定的状态S5。
[0029] 节点102和103(M2,M3)各自都独立地从本地状态Sl移动到本地状态S3。然而,在移 出本地状态S3之前,每一个节点M2、M3都必须等待节点Ml到达其本地状态S2。当节点M2、M3 到达本地状态S3时,它们各自都使用Test-化巧etResource功能104来确定节点Ml的当前状 态。在一个实施例中,节点M2、M3上的状态S3查询节点Ml的状态S2, W判断S2是否处于所希 望的状态。如果节点Ml上的S2处于所希望的状态,那么节点M2和M3上的每一状态S3都处于 所希望的状态,流程移到M2和M3上的本地状态S4和S5。然而,当节点M2、M3不在所希望的状 态时,那么节点M2、M3上的S3使用Set-化rgetResource功能来观察S3的状态,并检测节点Ml 上的S2的W后的状态变化W到达所希望的状态。
[0030] 节点Ml设置本地资源,并从状态Sl移动到S3,但是必须等待远程节点M2,M3到达状 态S5。当节点Ml到达本地状态S3时,它使用Test-TargetResource功能105来确定节点M2和 M3的当前状态。当该功能返回节点M2和M3不在本地状态S5时,那么状态S3节点Ml使用Set-化rgetResource功能来观察节点12、]\0上的状态55,并检测节点12和13上的55^到达所希 望的状态。
[0031] 图2示出了使用本发明的一个实施例的节点201、211。每一个节点201、211都可^ 是不同的机器,诸如分布式网络上的服务器或工作站计算机,或可W是在同一个设备上运 行的许多独立实体中的一个,诸如虚拟机。每一个节点上的资源提供者202、212都管理资源 203、 213的配置。资源提供者202,212配置并实现它们的相应的本地资源203、213的功能。当 需要与其他节点同步时,资源提供者202、212也
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1