首页> 中国专利> 应用程序部署方法、部署主控机、部署客户端和集群

应用程序部署方法、部署主控机、部署客户端和集群

摘要

本发明公开了一种应用程序部署方法、部署主控机、部署客户端和集群,其中,所述应用程序部署方法包括:集群中的部署主控机构造与所述应用程序部署相关的部署命令,所述部署命令还关联有应用程序升级包;向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。本发明可以在集群环境中部署应用程序时,提高其效率及可靠性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-03

    授权

    授权

  • 2014-01-15

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20130819

    实质审查的生效

  • 2013-12-18

    公开

    公开

说明书

技术领域

本发明涉及计算机技术,尤其涉及一种应用程序部署方法、部署主控机、 部署客户端和集群。

背景技术

随着计算机技术的不断发展,一些计算密集型应用,比如:天气预报、核 试验模拟等,一般都使用计算机集群技术,集中几十台甚至上百台计算机的运 算能力来满足要求。其中,集群是由一些互相连接在一起的计算机构成的一个 并行或分布式系统。集群内的计算机一起工作并运行一系列共同的应用程序, 同时,为用户和应用程序提供单一的系统映射。从外部来看,集群仅仅是一个 系统,对外提供统一的服务,而集群内的计算机物理上通过电缆连接,程序上 则通过集群软件连接。与此类似,集群就是指将很多服务器集中起来一起进行 同一种服务。

现有技术中,在集群环境中部署应用程序时,其一般过程为:将应用程序 升级包同步到每一台服务器上,在每台服务器上执行相同的解包,备份,停 止,更新,启动等步骤,并手动编辑需要配置的每一个配置文件。

但是,上述部署应用程序方法在实现上效率很低,尤其手动操作时容易出 错。

发明内容

有鉴于此,本发明实施例的目的在于提出一种应用程序部署方法、部署主 控机、部署客户端和集群,使得在集群环境中部署应用程序时,能够提高其效 率及可靠性。

第一方面,本发明实施例提供了一种应用程序部署方法,所述方法包括:

集群中的部署主控机构造与所述应用程序的部署相关的部署命令,所述部 署命令还关联有应用程序升级包;

向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端 根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。

第二方面,本发明实施例提供了一种应用程序部署方法,所述方法包括:

集群中的部署客户端接收所述集群中的部署主控机发送的部署命令,所述 部署命令还关联有应用程序升级包;

根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述 更新后得到部署结果信息。

第三方面,本发明实施例提供一种部署主控机,所述部署主控机包括:

构造单元,用于构造与所述应用程序的部署相关的部署命令,所述部署命 令还关联有应用程序升级包;

发送单元,用于向所述集群中的每个部署客户端发送所述部署命令,以使 所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行 更新。

第四方面,本发明实施例提供一种部署客户端,所述部署客户端包括:

接收单元,用于接收所述集群中的部署主控机发送的部署命令,所述部署 命令还关联有应用程序升级包;

处理单元,用于根据所述部署命令对所述应用程序升级包对应的应用程序 进行更新,所述更新后得到部署结果信息。

第五方面,本发明实施例提供一种集群,所述集群包括:在第三方面提供 的部署主控机、以及至少一个在第四方面提供的部署客户端。

本发明实施例通过部署主控机构造与所述应用程序的部署相关的部署命 令,并向所述集群中的每个部署客户端发送所述部署命令,当部署客户端接收 部署主控机发送的部署命令,根据所述部署命令对所述应用程序升级包对应的 应用程序进行更新,所述更新后得到部署结果信息,使得在集群环境中部署应 用程序时,能够提高其效率及可靠性。

附图说明

图1是本发明第一实施例的集群的架构图;

图2是本发明第二实施例的应用程序部署方法的流程图;

图3是本发明第三实施例的应用程序部署方法的流程图;

图4是本发明第四实施例的部署主控机的示意图;

图5是本发明第五实施例的部署客户端的示意图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

图1是本发明第一实施例的集群的架构图。如图1所示,所述集群10包括: 部署主控机11和部署客户端12。其中,部署客户端12的数量可以为一个,也 可以为多个。其中,部署客户端12也可以位于应用服务器上。即集群中除了包 括部署主控机11之外,还包括一个或多个应用服务器上,每个应用服务器包括 一个部署客户端12。另外,该集群10采用的是集群(cluster)技术。目前,集 群技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得 在性能、可靠性、灵活性方面的相对较高的收益。

图2是本发明第二实施例的应用程序部署方法的流程图。该应用程序部署 方法应用于图1所示的集群中的部署主控机。如图2所示,所述方法包括:

步骤210、集群中的部署主控机构造与所述应用程序的部署相关的部署命 令,所述部署命令还关联有应用程序升级包。

步骤220、部署主控机向所述集群中的每个部署客户端发送所述部署命 令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用 程序进行更新。

上述步骤210和步骤220是部署主控机构造部署命令,并将该部署命令发 送到每个部署客户端的过程。在此过程中,由于每次部署命令都由部署主控机 生成,当有部署逻辑改变时只需要在部署主控机上修改,而无需或者减少对整 个集群下的部署客户端进行升级更新。在本发明实施例中,是在Linux操作系统 下由部署主控机来构造部署命令,并将部署命令发送到部署客户端执行。其中, Linux操作系统是一种自由和开放源码的类Unix操作系统。

在一个实施例中,步骤210中部署主控机构造部署命令的过程具体如下:

部署主控机将与所述应用程序部署相关的所有脚本shell命令预先放入程序 文件中,并将所述程序文件的链接地址添加到所述部署命令中,所述部署命令 中还包括与所述应用程序部署相关的应用配置地址。其中,shell命令包括同步 文件,环境检测,停止,启动,启动后检测等命令。

在另一个实施例中,本发明提供的应用程序部署方法除了包括步骤210和 步骤220,还包括:

步骤230,集群中的部署主控机接收所述集群中的每个部署客户端发送的部 署结果信息,并根据所述部署结果信息统计所有部署客户端的部署情况;其中, 所述部署结果信息包括:已经完成更新、或者未能完成更新。

具体地,集群中的部署客户端接收到部署命令后,会根据部署命令对应用 程序进行更新。当更新成功时,得到的部署结果信息为已经完成更新。当更新 失败时,得到的部署结果信息为未能完成更新。部署主控机接收到所有部署客 户端发送的部署结果信息后,能够得到整个集群的部署状态。

因此,本发明实施例提供的应用程序部署方法,集群中的部署主控机构造 与所述应用程序的部署相关的部署命令,并向所述集群中的每个部署客户端发 送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级 包对应的应用程序进行更新,从而实现了每次部署命令都由部署主控机生成, 当部署命令改变时只需要在部署主控机上修改,而无需或者减少对整个集群下 的部署客户端进行升级更新,进而降低了维护的成本。

图3是本发明第三实施例的应用程序部署方法的流程图。该应用程序部署 方法应用于图1所示的集群中的部署客户端。如图3所示,所述方法包括:

步骤310、集群中的部署客户端接收所述集群中的部署主控机发送的部署命 令,所述部署命令还关联有应用程序升级包;

步骤320集群中的部署客户端根据所述部署命令对所述应用程序升级包对 应的应用程序进行更新,所述更新后得到部署结果信息。

上述步骤310和步骤320是集群中的部署客户端接收部署命令,并执行部 署命令的过程。在此过程中,部署客户端只是一个部署执行代理,负责执行部 署主控机发送的部署命令。当有部署逻辑需要改变时,只需在部署主控机进行 修改,而无需或尽可能少的更改部署客户端的代码,从来降低了维护的成本。

在一个实施例中,步骤310的部署命令包括与所述应用程序部署相关的程 序文件的链接地址和应用配置地址,所述程序文件包括与所述应用程序部署相 关的所有shell命令。其中,shell命令包括同步文件,环境检测,停止,启动, 启动后检测等命令。

在另一个实施例中,本发明提供的应用程序部署方法除了包括步骤310和 步骤320,还包括:

步骤330,集群中的部署客户端向所述集群中的部署主控机发送部署结果信 息,以使所述部署主控机根据所述部署结果信息统计所有部署客户端的部署情 况;其中,所述部署结果信息包括已经完成更新、或者未能完成更新。

具体地,集群中的部署客户端接收到部署命令后,会根据部署命令对应用 程序进行更新。当更新成功时,得到的部署结果信息为已经完成更新。当更新 失败时,得到的部署结果信息为未能完成更新。

因此,本发明实施例提供的应用程序部署方法,集群中的部署客户端接收 所述集群中的部署主控机发送的部署命令,并根据所述部署命令对所述应用程 序升级包对应的应用程序进行更新,所述更新后得到部署结果信息,从而实现 了部署客户端只是一个部署执行代理,负责执行部署主控机发送的命令,当部 署命令改变的时候,只需要修改部署主控机,而无需或尽可能少的更改客户端 代码,进而降低了维护的成本。

图4是本发明第四实施例的部署主控机的示意图。该部署主控机用于执行 本发明第二实施例的应用程序部署方法。如图4所示,所述部署主控机40包括: 构造单元41和发送单元42。

构造单元41用于构造与所述应用程序的部署相关的部署命令,所述部署命 令还关联有应用程序升级包;发送单元42用于向所述集群中的每个部署客户端 发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升 级包对应的应用程序进行更新。

在一个实施例中,所述构造单元41还用于将与所述应用程序部署相关的所 有脚本shell命令预先放入程序文件中,并将所述程序文件的链接地址添加到所 述部署命令中,所述部署命令中还包括与所述应用程序部署相关的应用配置地 址。

再一个实施例中,所述部署主控机40还包括:接收单元43。

接收单元43用于接收所述集群中的每个部署客户端发送的部署结果信息, 并根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结 果信息包括:已经完成更新、或者未能完成更新。

因此,本发明实施例提供的部署主控机,通过构造与所述应用程序的部署 相关的部署命令,并向所述集群中的每个部署客户端发送所述部署命令,以使 所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行 更新,从而实现了每次部署命令都由部署主控机生成,当部署命令改变时只需 要在部署主控机上修改,而无需或者减少对整个集群下的部署客户端进行升级 更新,进而降低了维护的成本。

图5是本发明第五实施例的部署客户端的示意图。该部署客户端用于执行 本发明第三实施例的应用程序部署方法。如图5所示,所述部署主控机50包括: 接收单元51和处理单元52。

接收单元51用于接收所述集群中的部署主控机发送的部署命令,所述部署 命令还关联有应用程序升级包;处理单元52用于根据所述部署命令对所述应用 程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息。

在一个实施例中,接收单元51接收到的部署命令包括与所述应用程序部署 相关的程序文件的链接地址和应用配置地址,所述程序文件包括与所述应用程 序部署相关的所有shell命令。

再一个实施例中,所述部署客户端50还包括:发送单元53。

发送单元53用于向所述部署主控机发送部署结果信息,以使所述部署主控 机根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结 果信息包括已经完成更新、或者未能完成更新。

因此,本发明实施例提供的部署客户端,通过接收所述集群中的部署主控 机发送的部署命令,并根据所述部署命令对所述应用程序升级包对应的应用程 序进行更新,所述更新后得到部署结果信息,从而实现了部署客户端只是一个 部署执行代理,负责执行部署主控机发送的命令,当部署命令改变的时候,只 需要修改部署主控机,而无需或尽可能少的更改客户端代码,进而降低了维护 的成本。

本发明实施例还提供了一种集群,该集群包括本发明第四实施例的部署主 控机、以及至少一个本发明第五实施例的部署客户端。

显然,本领域技术人员应该明白,上述的本发明的各模块或各步骤可以通 过如上所述的通信终端实施。可选地,本发明实施例可以用计算机装置可执行 的程序来实现,从而可以将它们存储在存储装置中由处理器来执行,所述的程 序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存 储器,磁盘或光盘等;或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于 任何特定的硬件和软件的结合。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技 术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所 作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号