一种在集群节点中部署程序的方法和系统的制作方法

文档序号:8445420阅读:386来源:国知局
一种在集群节点中部署程序的方法和系统的制作方法
【技术领域】
[0001] 本发明涉及程序的部署,更具体地涉及一种在集群节点中部署程序的方法和系 统。
【背景技术】
[0002] 程序部署包含程序的安装、参数配置以及启动的过程。在分布式系统中,安装有不 同程序的节点扮演着不同的角色。不同节点安装的程序可能有依赖关系,需要以某种特定 的顺序安装、配置以及启动。例如,在节点X上部署程序A之前需要首先在节点Y上部署程 序B。因为在不同节点上不同程序的部署是分布式的,或者说是自治的,因此在不同节点上 的不同程序以协作的方式共同部署是非常困难的。
[0003] 目前常用的解决方案是:在集群拓扑结构中安装和升级程序时,为了保证较好的 扩展性,将完成相同功能的多个节点聚集成集群,各个节点之间具有预先定义的或者是随 机的依赖关系,然后使用人工根据依赖关系部署各个节点。这种方法既费时又容易出错。

【发明内容】

[0004] 根据本发明的一个方面,提供了一种在集群节点中部署程序的方法,包括:
[0005] 获得集群中该节点上要部署的程序与集群中要部署的其它程序之间的依赖关 系;
[0006] 获得订阅/发布服务器的IP地址和连接信息;
[0007] 连接订阅/发布服务器;
[0008] 向订阅/发布服务器订阅该程序依赖的其它程序的消息;
[0009] 响应于从订阅/发布服务器得到订阅的其它程序的消息,部署该程序。
[0010] 根据本发明的另一个方面,提供了一种在集群节点中协调程序部署的方法,包 括:
[0011] 响应于与多个节点建立连接,接收各节点上要安装的全部程序以及订阅信息;
[0012] 响应于第一节点的订阅信息中指出其要部署的第一程序依赖于第二程序,根据接 收的各节点上要安装的全部程序获得第二程序所在的第二节点;
[0013] 向第二节点发送发布第二程序的消息的请求;
[0014] 响应于从结点2接收到第二程序的消息,根据订阅信息,将第二程序的消息发送 给第一节点。
[0015] 根据本发明的又一个方面;提供了一种在集群节点中部署程序的系统,包括:
[0016] 依赖关系获得装置,被配置为获得集群中该节点上要部署的程序与集群中要部署 的其它程序之间的依赖关系;
[0017] IP地址和连接信息获得装置,被配置为获得订阅/发布服务器的IP地址和连接信 息;
[0018] 连接装置,被配置为连接订阅/发布服务器;
[0019] 订阅装置,被配置为向订阅/发布服务器订阅依赖的其它程序的消息;
[0020] 部署装置,被配置为响应于从订阅/发布服务器得到订阅的其它程序的消息,部 署该程序。
[0021] 根据本发明的再一个方面,提供了一种在集群节点中协调程序部署的系统,包 括:
[0022] 连接装置,被配置为响应于与多个节点建立连接,接收各节点上要安装的全部程 序以及订阅信息;
[0023] 订阅节点寻找装置,被配置为响应于第一节点的订阅信息中指出其要部署的第一 程序依赖于第二程序,根据接收的各节点上要安装的全部程序获得第二程序所在的第二节 占.
[0024] 订阅消息请求装置,被配置为向第二节点发送发布第二程序的消息的请求;
[0025] 订阅消息转达装置,被配置为响应于从第二节点接收到第二程序的消息,根据订 阅信息,将第二程序的消息发送给第一节点。
[0026] 利用根据本发明上述方面的方法和系统,可以在集群中快速并且容易地部署程 序,节省程序开发人员的劳动。
【附图说明】
[0027] 通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。
[0028] 图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图;
[0029] 图2示意性示出了根据本发明的一种实施方式的一种在集群节点中部署程序的 方法的流程图;
[0030] 图3描述了集群环境下三个节点之间部署有相互依赖关系程序的情况的一个例 子;
[0031] 图4示出了图3的节点1在部署"IBMContentCollector"时与订阅/发布服务 器之间的通信流程;
[0032] 图5示出了一种在集群节点中协调程序部署的方法的工作流程;
[0033] 图6示出了一种在集群节点中部署程序的系统600的结构框图;以及
[0034] 图7示出了一种在集群节点中协调程序部署的系统700的结构框图。
【具体实施方式】
[0035] 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整地传达给本领域的技术人员。
[0036] 所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。 因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包 括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为"电路"、"模 块"或"系统"。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质 中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0037] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计 算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是--但不限 于--电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储 器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、 或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程 序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0038] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括--但 不限于--电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是 计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者 传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0039] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括--但不限 于--无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0040] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机 程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++, 还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以 完全地在用户计算机上执行
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1