应用程序部署方法、部署主控机、部署客户端和集群的制作方法
【专利摘要】本发明公开了一种应用程序部署方法、部署主控机、部署客户端和集群,其中,所述应用程序部署方法包括:集群中的部署主控机构造与所述应用程序部署相关的部署命令,所述部署命令还关联有应用程序升级包;向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。本发明可以在集群环境中部署应用程序时,提高其效率及可靠性。
【专利说明】应用程序部署方法、部署主控机、部署客户端和集群
【技术领域】
[0001]本发明涉及计算机技术,尤其涉及一种应用程序部署方法、部署主控机、部署客户端和集群。
【背景技术】
[0002]随着计算机技术的不断发展,一些计算密集型应用,比如:天气预报、核试验模拟等,一般都使用计算机集群技术,集中几十台甚至上百台计算机的运算能力来满足要求。其中,集群是由一些互相连接在一起的计算机构成的一个并行或分布式系统。集群内的计算机一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。从外部来看,集群仅仅是一个系统,对外提供统一的服务,而集群内的计算机物理上通过电缆连接,程序上则通过集群软件连接。与此类似,集群就是指将很多服务器集中起来一起进行同一种服务。
[0003]现有技术中,在集群环境中部署应用程序时,其一般过程为:将应用程序升级包同步到每一台服务器上,在每台服务器上执行相同的解包,备份,停止,更新,启动等步骤,并手动编辑需要配置的每一个配置文件。
[0004]但是,上述部署应用程序方法在实现上效率很低,尤其手动操作时容易出错。
【发明内容】
[0005]有鉴于此,本发明实施例的目的在于提出一种应用程序部署方法、部署主控机、部署客户端和集群,使得在集群环境中部署应用程序时,能够提高其效率及可靠性。
[0006]第一方面,本发明实施例提供了一种应用程序部署方法,所述方法包括:
[0007]集群中的部署主控机构造与所述应用程序的部署相关的部署命令,所述部署命令还关联有应用程序升级包;
[0008]向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。
[0009]第二方面,本发明实施例提供了一种应用程序部署方法,所述方法包括:
[0010]集群中的部署客户端接收所述集群中的部署主控机发送的部署命令,所述部署命令还关联有应用程序升级包;
[0011]根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息。
[0012]第三方面,本发明实施例提供一种部署主控机,所述部署主控机包括:
[0013]构造单元,用于构造与所述应用程序的部署相关的部署命令,所述部署命令还关联有应用程序升级包;
[0014]发送单元,用于向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。
[0015]第四方面,本发明实施例提供一种部署客户端,所述部署客户端包括:[0016]接收单元,用于接收所述集群中的部署主控机发送的部署命令,所述部署命令还关联有应用程序升级包;
[0017]处理单元,用于根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息。
[0018]第五方面,本发明实施例提供一种集群,所述集群包括:在第三方面提供的部署主控机、以及至少一个在第四方面提供的部署客户端。
[0019]本发明实施例通过部署主控机构造与所述应用程序的部署相关的部署命令,并向所述集群中的每个部署客户端发送所述部署命令,当部署客户端接收部署主控机发送的部署命令,根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息,使得在集群环境中部署应用程序时,能够提高其效率及可靠性。
【专利附图】
【附图说明】
[0020]图1是本发明第一实施例的集群的架构图;
[0021]图2是本发明第二实施例的应用程序部署方法的流程图;
[0022]图3是本发明第三实施例的应用程序部署方法的流程图;
[0023]图4是本发明第四实施例的部署主控机的示意图;
[0024]图5是本发明第五实施例的部署客户端的示意图。
【具体实施方式】
[0025]下面结合附图并通过【具体实施方式】来进一步说明本发明的技术方案。
[0026]图1是本发明第一实施例的集群的架构图。如图1所示,所述集群10包括:部署主控机11和部署客户端12。其中,部署客户端12的数量可以为一个,也可以为多个。其中,部署客户端12也可以位于应用服务器上。即集群中除了包括部署主控机11之外,还包括一个或多个应用服务器上,每个应用服务器包括一个部署客户端12。另外,该集群10采用的是集群(cluster)技术。目前,集群技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益。
[0027]图2是本发明第二实施例的应用程序部署方法的流程图。该应用程序部署方法应用于图1所示的集群中的部署主控机。如图2所示,所述方法包括:
[0028]步骤210、集群中的部署主控机构造与所述应用程序的部署相关的部署命令,所述部署命令还关联有应用程序升级包。
[0029]步骤220、部署主控机向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。
[0030]上述步骤210和步骤220是部署主控机构造部署命令,并将该部署命令发送到每个部署客户端的过程。在此过程中,由于每次部署命令都由部署主控机生成,当有部署逻辑改变时只需要在部署主控机上修改,而无需或者减少对整个集群下的部署客户端进行升级更新。在本发明实施例中,是在Linux操作系统下由部署主控机来构造部署命令,并将部署命令发送到部署客户端执行。其中,Linux操作系统是一种自由和开放源码的类Unix操作系统。
[0031]在一个实施例中,步骤210中部署主控机构造部署命令的过程具体如下:[0032]部署主控机将与所述应用程序部署相关的所有脚本shell命令预先放入程序文件中,并将所述程序文件的链接地址添加到所述部署命令中,所述部署命令中还包括与所述应用程序部署相关的应用配置地址。其中,shell命令包括同步文件,环境检测,停止,启动,启动后检测等命令。
[0033]在另一个实施例中,本发明提供的应用程序部署方法除了包括步骤210和步骤220,还包括:
[0034]步骤230,集群中的部署主控机接收所述集群中的每个部署客户端发送的部署结果信息,并根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括:已经完成更新、或者未能完成更新。
[0035]具体地,集群中的部署客户端接收到部署命令后,会根据部署命令对应用程序进行更新。当更新成功时,得到的部署结果信息为已经完成更新。当更新失败时,得到的部署结果信息为未能完成更新。部署主控机接收到所有部署客户端发送的部署结果信息后,能够得到整个集群的部署状态。
[0036]因此,本发明实施例提供的应用程序部署方法,集群中的部署主控机构造与所述应用程序的部署相关的部署命令,并向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,从而实现了每次部署命令都由部署主控机生成,当部署命令改变时只需要在部署主控机上修改,而无需或者减少对整个集群下的部署客户端进行升级更新,进而降低了维护的成本。
[0037]图3是本发明第三实施例的应用程序部署方法的流程图。该应用程序部署方法应用于图1所示的集群中的部署客户端。如图3所示,所述方法包括:
[0038]步骤310、集群中的部署客户端接收所述集群中的部署主控机发送的部署命令,所述部署命令还关联有应用程序升级包;
[0039]步骤320集群中的部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息。
[0040]上述步骤310和步骤320是集群中的部署客户端接收部署命令,并执行部署命令的过程。在此过程中,部署客户端只是一个部署执行代理,负责执行部署主控机发送的部署命令。当有部署逻辑需要改变时,只需在部署主控机进行修改,而无需或尽可能少的更改部署客户端的代码,从来降低了维护的成本。
[0041]在一个实施例中,步骤310的部署命令包括与所述应用程序部署相关的程序文件的链接地址和应用配置地址,所述程序文件包括与所述应用程序部署相关的所有shell命令。其中,shell命令包括同步文件,环境检测,停止,启动,启动后检测等命令。
[0042]在另一个实施例中,本发明提供的应用程序部署方法除了包括步骤310和步骤320,还包括:
[0043]步骤330,集群中的部署客户端向所述集群中的部署主控机发送部署结果信息,以使所述部署主控机根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括已经完成更新、或者未能完成更新。
[0044]具体地,集群中的部署客户端接收到部署命令后,会根据部署命令对应用程序进行更新。当更新成功时,得到的部署结果信息为已经完成更新。当更新失败时,得到的部署结果信息为未能完成更新。[0045]因此,本发明实施例提供的应用程序部署方法,集群中的部署客户端接收所述集群中的部署主控机发送的部署命令,并根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息,从而实现了部署客户端只是一个部署执行代理,负责执行部署主控机发送的命令,当部署命令改变的时候,只需要修改部署主控机,而无需或尽可能少的更改客户端代码,进而降低了维护的成本。
[0046]图4是本发明第四实施例的部署主控机的示意图。该部署主控机用于执行本发明第二实施例的应用程序部署方法。如图4所示,所述部署主控机40包括:构造单元41和发送单元42。
[0047]构造单元41用于构造与所述应用程序的部署相关的部署命令,所述部署命令还关联有应用程序升级包;发送单元42用于向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。
[0048]在一个实施例中,所述构造单元41还用于将与所述应用程序部署相关的所有脚本shell命令预先放入程序文件中,并将所述程序文件的链接地址添加到所述部署命令中,所述部署命令中还包括与所述应用程序部署相关的应用配置地址。
[0049]再一个实施例中,所述部署主控机40还包括:接收单元43。
[0050]接收单元43用于接收所述集群中的每个部署客户端发送的部署结果信息,并根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括:已经完成更新、或者未能完成更新。
[0051]因此,本发明实施例提供的部署主控机,通过构造与所述应用程序的部署相关的部署命令,并向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,从而实现了每次部署命令都由部署主控机生成,当部署命令改变时只需要在部署主控机上修改,而无需或者减少对整个集群下的部署客户端进行升级更新,进而降低了维护的成本。
[0052]图5是本发明第五实施例的部署客户端的示意图。该部署客户端用于执行本发明第三实施例的应用程序部署方法。如图5所示,所述部署主控机50包括:接收单元51和处理单元52。
[0053]接收单元51用于接收所述集群中的部署主控机发送的部署命令,所述部署命令还关联有应用程序升级包;处理单元52用于根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息。
[0054]在一个实施例中,接收单元51接收到的部署命令包括与所述应用程序部署相关的程序文件的链接地址和应用配置地址,所述程序文件包括与所述应用程序部署相关的所有shell命令。
[0055]再一个实施例中,所述部署客户端50还包括:发送单元53。
[0056]发送单元53用于向所述部署主控机发送部署结果信息,以使所述部署主控机根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括已经完成更新、或者未能完成更新。
[0057]因此,本发明实施例提供的部署客户端,通过接收所述集群中的部署主控机发送的部署命令,并根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息,从而实现了部署客户端只是一个部署执行代理,负责执行部署主控机发送的命令,当部署命令改变的时候,只需要修改部署主控机,而无需或尽可能少的更改客户端代码,进而降低了维护的成本。
[0058]本发明实施例还提供了一种集群,该集群包括本发明第四实施例的部署主控机、以及至少一个本发明第五实施例的部署客户端。
[0059]显然,本领域技术人员应该明白,上述的本发明的各模块或各步骤可以通过如上所述的通信终端实施。可选地,本发明实施例可以用计算机装置可执行的程序来实现,从而可以将它们存储在存储装置中由处理器来执行,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等;或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0060]以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种应用程序部署方法,其特征在于,所述方法包括: 集群中的部署主控机构造与所述应用程序的部署相关的部署命令,所述部署命令还关联有应用程序升级包; 向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。
2.根据权利要求1所述的应用程序部署方法,其特征在于,所述部署主控机构造与所述应用程序部署相关的部署命令具体为: 将与所述应用程序部署相关的所有脚本shell命令预先放入程序文件中,并将所述程序文件的链接地址添加到所述部署命令中,所述部署命令中还包括与所述应用程序部署相关的应用配置地址。
3.根据权利要求1或2所述的应用程序部署方法,其特征在于,所述向所述集群中的每个部署客户端发送所述部署命令之后,还包括: 接收所述集群中的每个部署客户端发送的部署结果信息,并根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括:已经完成更新、或者未能完成更新。
4.一种应用程序部署方法,其特征在于,所述方法包括: 集群中的部署客户端接收所述集群中的部署主控机发送的部署命令,所述部署命令还关联有应用程序升级包; 根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果彳目息。
5.根据权利要求4所述的应用程序部署方法,其特征在于,所述部署命令包括与所述应用程序部署相关的程序文件和应用配置文件,所述程序文件包括与所述应用程序部署相关的所有shell命令。
6.根据权利要求4或5所述的应用程序部署方法,其特征在于,所述向所述集群中的每个部署客户端发送所述部署命令之后,还包括: 向所述集群中的部署主控机发送部署结果信息,以使所述部署主控机根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括已经完成更新、或者未能完成更新。
7.一种部署主控机,其特征在于,所述部署主控机包括: 构造单元,用于构造与所述应用程序的部署相关的部署命令,所述部署命令还关联有应用程序升级包; 发送单元,用于向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。
8.根据权利要求7中所述的部署主控机,其特征在于,所述构造单元还用于将与所述应用程序部署相关的所有脚本shell命令预先放入程序文件中,并将所述程序文件的链接地址添加到所述部署命令中,所述部署命令中还包括与所述应用程序部署相关的应用配置地址。
9.根据权利要求7或8中所述的部署主控机,其特征在于,所述部署主控机还包括: 接收单元,用于接收所述集群中的每个部署客户端发送的部署结果信息,并根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括:已经完成更新、或者未能完成更新。
10.一种部署客户端,其特征在于,所述部署客户端包括: 接收单元,用于接收所述集群中的部署主控机发送的部署命令,所述部署命令还关联有应用程序升级包; 处理单元,用于根据所述部署命令对所述应用程序升级包对应的应用程序进行更新,所述更新后得到部署结果信息。
11.根据权利要求10所述的部署客户端,其特征在于,所述部署指令包括与所述应用程序部署相关的程序文件的链接地址和应用配置地址,所述程序文件包括与所述应用程序部署相关的所有shell命令。
12.根据权利要求10或11所述的部署客户端,其特征在于,所述部署客户端还包括: 发送单元,用于向所述部署主控机发送部署结果信息,以使所述部署主控机根据所述部署结果信息统计所有部署客户端的部署情况;其中,所述部署结果信息包括已经完成更新、或者未能完成更新。
13.一种集群,其特征在于,包括根据权利要求7至9任一项所述的部署主控机、以及至少一个根据权利要求10至 12任一项所述的部署客户端。
【文档编号】G06F15/16GK103455346SQ201310362420
【公开日】2013年12月18日 申请日期:2013年8月19日 优先权日:2013年8月19日
【发明者】彭定邦, 张银全, 陈福洪 申请人:北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司