《一种环境部署方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种环境部署方法及装置.pdf(18页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104090799A43申请公布日20141008CN104090799A21申请号201410329069922申请日20140711G06F9/44520060171申请人百度在线网络技术北京有限公司地址100085北京市海淀区上地十街10号百度大厦72发明人安奕星孙彬何涛74专利代理机构北京鸿德海业知识产权代理事务所普通合伙11412代理人袁媛54发明名称一种环境部署方法及装置57摘要本发明实施例提供了一种环境部署方法,包括依据环境模板以及所述环境模板上的点击位置,获得应用中待部署的模块、所述待部署的模块的中控机信息和所述待部署的模块的行为命令;获得输入的目的主机信息;。
2、依据待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,获得所述应用的环境信息,所述环境信息用于实现所述应用的环境部署;本发明实施例还提供一种环境部署装置。根据本发明实施例提供的技术方案,可以实现提高环境部署效率,降低环境部署成本。51INTCL权利要求书2页说明书10页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书10页附图5页10申请公布号CN104090799ACN104090799A1/2页21一种环境部署方法,其特征在于,所述方法包括依据环境模板以及所述环境模板上的点击位置,获得应用中待部署的模块、所述待部署的模块的。
3、中控机信息和所述待部署的模块的行为命令;获得输入的目的主机信息;依据待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,获得所述应用的环境信息,所述环境信息用于实现所述应用的环境部署。2根据权利要求1所述的方法,其特征在于,所述环境模板包括所述应用的产品历史版本;所述依据环境模板以及所述环境模板上的点击位置,获得应用中所述待部署的模块的中控机信息,包括依据显示的所述应用的产品历史版本和所述环境模板上的点击位置,获得所述应用当前的产品版本;依据所述应用当前的产品版本,获得所述待部署的模块当前的版本;依据所述待部署的模块当前的版本,获得所述待部署的模块的中控机。
4、信息,所述中控机信息包括所述待部署的模块所在的中控机以及所述中控机中的默认路径。3根据权利要求2所述的方法,其特征在于,所述依据所述应用当前的产品版本,获得所述待部署的模块当前的版本,包括若所述待部署的模块的基准版本小于或者等于所述应用当前的产品版本,且所述待部署的模块的废弃版本大于或者等于所述应用当前的产品版本,依据所述应用当前的产品版本和所述待部署的模块的基准版本中的最小值,获得所述待部署的模块当前的版本。4根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括依据所述环境模板以及所述环境模板上的点击位置,获得自定义变量;将所述自定义变量写入目的主机的环境变量;依据所述中控机信息。
5、和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机;其中,所述目的主机信息包括所述待部署的模块需要部署的目的主机以及所述目的主机中的部署路径;运行所述行为命令,以使得所述行为命令从所述目的主机的环境变量获得自定义变量,以及利用所述自定义变量,启动所述目的主机上的模块,以使得所述目的主机上的模块开始工作。5根据权利要求4所述的方法,其特征在于,所述依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机,包括依据所述中控机信息和所述目的主机信息,利用自动交互工具登录所述待部署的模块所在的中控机和所述目的主机;运行安全复制命令,以使得安全复制命令将所述中控机的默。
6、认路径下的所述待部署的模块拷贝在所述目的主机的部署路径下。6一种环境部署装置,其特征在于,所述装置包括第一获取单元,用于依据环境模板以及所述环境模板上的点击位置,获得应用中待部署的模块、所述待部署的模块的中控机信息和所述待部署的模块的行为命令;第二获取单元,用于获得输入的目的主机信息;权利要求书CN104090799A2/2页3处理单元,用于依据待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,获得所述应用的环境信息,所述环境信息用于实现所述应用的环境部署。7根据权利要求6所述的装置,其特征在于,所述环境模板包括所述应用的产品历史版本;所述第一获取单元,。
7、具体用于依据显示的所述应用的产品历史版本和所述环境模板上的点击位置,获得所述应用当前的产品版本;依据所述应用当前的产品版本,获得所述待部署的模块当前的版本;依据所述待部署的模块当前的版本,获得所述待部署的模块的中控机信息,所述中控机信息包括所述待部署的模块所在的中控机以及所述中控机中的默认路径。8根据权利要求7所述的装置,其特征在于,所述依据所述应用当前的产品版本,获得所述待部署的模块当前的版本,具体包括若所述待部署的模块的基准版本小于或者等于所述应用当前的产品版本,且所述待部署的模块的废弃版本大于或者等于所述应用当前的产品版本,依据所述应用当前的产品版本和所述待部署的模块的基准版本中的最小值。
8、,获得所述待部署的模块当前的版本。9根据权利要求6至8中任一项所述的装置,其特征在于,所述装置还包括部署准备单元,用于依据所述环境模板以及所述环境模板上的点击位置,获得自定义变量;所述部署准备单元,还用于将所述自定义变量写入目的主机的环境变量;部署执行单元,用于依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机;其中,所述目的主机信息包括所述待部署的模块需要部署的目的主机以及所述目的主机中的部署路径;所述部署执行单元,还用于运行所述行为命令,以使得所述行为命令从所述目的主机的环境变量获得自定义变量,以及利用所述自定义变量,启动所述目的主机上的模块,以使得所述目的主。
9、机上的模块开始工作。10根据权利要求9所述的装置,其特征在于,所述依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机,具体包括依据所述中控机信息和所述目的主机信息,利用自动交互工具登录所述待部署的模块所在的中控机和所述目的主机;运行安全复制命令,以使得安全复制命令将所述中控机的默认路径下的所述待部署的模块拷贝在所述目的主机的部署路径下。权利要求书CN104090799A1/10页4一种环境部署方法及装置【技术领域】0001本发明涉及计算机技术领域,尤其涉及一种环境部署方法及装置。【背景技术】0002拥有大量模块的庞大且复杂的应用,其环境部署需求多种多样,例如环境的。
10、拓扑、模块之间的互联、模块与其他应用的互联等。0003现有技术中,针对应用定制的环境部署工具无法满足多种部署需求,如果需要应用于其他应用,要么对已有的环境部署工具进行修改和重新配置,要么重新定制环境部署工具,都会导致环境部署成本增加且部署效率比较低。【发明内容】0004有鉴于此,本发明实施例提供了一种环境部署方法及装置,可以实现提高环境部署效率,降低环境部署成本。0005本发明实施例提供了一种环境部署方法,包括0006依据环境模板以及所述环境模板上的点击位置,获得应用中待部署的模块、所述待部署的模块的中控机信息和所述待部署的模块的行为命令;0007获得输入的目的主机信息;0008依据待部署的模。
11、块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,获得所述应用的环境信息,所述环境信息用于实现所述应用的环境部署。0009上述方法中,所述环境模板包括所述应用的产品历史版本;所述依据环境模板以及所述环境模板上的点击位置,获得应用中所述待部署的模块的中控机信息,包括0010依据显示的所述应用的产品历史版本和所述环境模板上的点击位置,获得所述应用当前的产品版本;0011依据所述应用当前的产品版本,获得所述待部署的模块当前的版本;0012依据所述待部署的模块当前的版本,获得所述待部署的模块的中控机信息,所述中控机信息包括所述待部署的模块所在的中控机以及所述中控机中的默认。
12、路径。0013上述方法中,所述依据所述应用当前的产品版本,获得所述待部署的模块当前的版本,包括0014若所述待部署的模块的基准版本小于或者等于所述应用当前的产品版本,且所述待部署的模块的废弃版本大于或者等于所述应用当前的产品版本,依据所述应用当前的产品版本和所述待部署的模块的基准版本中的最小值,获得所述待部署的模块当前的版本。0015上述方法中,所述方法还包括0016依据所述环境模板以及所述环境模板上的点击位置,获得自定义变量;0017将所述自定义变量写入目的主机的环境变量;0018依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署说明书CN104090799A2/10页5。
13、在目的主机;其中,所述目的主机信息包括所述待部署的模块需要部署的目的主机以及所述目的主机中的部署路径;0019运行所述行为命令,以使得所述行为命令从所述目的主机的环境变量获得自定义变量,以及利用所述自定义变量,启动所述目的主机上的模块,以使得所述目的主机上的模块开始工作。0020上述方法中,所述依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机,包括0021依据所述中控机信息和所述目的主机信息,利用自动交互工具登录所述待部署的模块所在的中控机和所述目的主机;0022运行安全复制命令,以使得安全复制命令将所述中控机的默认路径下的所述待部署的模块拷贝在所述目的主机的部。
14、署路径下。0023本发明实施例还提供一种环境部署装置,包括0024第一获取单元,用于依据环境模板以及所述环境模板上的点击位置,获得应用中待部署的模块、所述待部署的模块的中控机信息和所述待部署的模块的行为命令;0025第二获取单元,用于获得输入的目的主机信息;0026处理单元,用于依据待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,获得所述应用的环境信息,所述环境信息用于实现所述应用的环境部署。0027上述装置中,所述环境模板包括所述应用的产品历史版本;所述第一获取单元,具体用于0028依据显示的所述应用的产品历史版本和所述环境模板上的点击位置,获得所述。
15、应用当前的产品版本;0029依据所述应用当前的产品版本,获得所述待部署的模块当前的版本;0030依据所述待部署的模块当前的版本,获得所述待部署的模块的中控机信息,所述中控机信息包括所述待部署的模块所在的中控机以及所述中控机中的默认路径。0031上述装置中,所述依据所述应用当前的产品版本,获得所述待部署的模块当前的版本,具体包括0032若所述待部署的模块的基准版本小于或者等于所述应用当前的产品版本,且所述待部署的模块的废弃版本大于或者等于所述应用当前的产品版本,依据所述应用当前的产品版本和所述待部署的模块的基准版本中的最小值,获得所述待部署的模块当前的版本。0033上述装置中,所述装置还包括00。
16、34部署准备单元,用于依据所述环境模板以及所述环境模板上的点击位置,获得自定义变量;0035所述部署准备单元,还用于将所述自定义变量写入目的主机的环境变量;0036部署执行单元,用于依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机;其中,所述目的主机信息包括所述待部署的模块需要部署的目的主机以及所述目的主机中的部署路径;0037所述部署执行单元,还用于运行所述行为命令,以使得所述行为命令从所述目的主机的环境变量获得自定义变量,以及利用所述自定义变量,启动所述目的主机上的模块,说明书CN104090799A3/10页6以使得所述目的主机上的模块开始工作。0038上。
17、述装置中,所述依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机,具体包括0039依据所述中控机信息和所述目的主机信息,利用自动交互工具登录所述待部署的模块所在的中控机和所述目的主机;0040运行安全复制命令,以使得安全复制命令将所述中控机的默认路径下的所述待部署的模块拷贝在所述目的主机的部署路径下。0041由以上技术方案可以看出,本发明实施例具有以下有益效果0042本发明实施例提供的技术方案可以依据环境模板和点击位置,以及输入的信息,自动生成用于进行应用的环境部署的环境信息,与现有技术相比,该环境模板可以满足多种环境部署需求,因此该环境模板复用性较高,减少环境部。
18、署的修改和重新配置,因此能够降低环境部署成本,提高环境部署效率。【附图说明】0043为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。0044图1是本发明实施例所提供的环境部署方法的流程示意图;0045图2是本发明实施例所提供的环境模板的第一示意图;0046图3是本发明实施例所提供的环境模板的第二示意图;0047图4是本发明实施例所提供的依据环境信息自动进行应用的环境部署的方法的流程示意图;0048图5是本发明实施。
19、例所提供的依据应用当前的产品版本获得待部署的模块当前的版本的方法的流程示意图;0049图6是本发明实施例所提供的环境部署装置的功能方块图。【具体实施方式】0050为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。0051应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。0052在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多。
20、数形式,除非上下文清楚地表示其他含义。0053应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。说明书CN104090799A4/10页70054取决于语境,如在此所使用的词语“如果”可以被解释成为“在时”或“当时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测陈述的条件或事件”可以被解释成为“当确定时”或“响应于确定”或“当检测陈述的条件或事件时”或“响应于检测陈述的条件或事件。
21、”。0055本发明实施例给出一种环境部署方法,请参考图1,其为本发明实施例所提供的环境部署方法的流程示意图,如图所示,该方法包括以下步骤0056S101,依据环境模板以及所述环境模板上的点击位置,获得应用中待部署的模块、所述待部署的模块的中控机信息和所述待部署的模块的行为命令。0057S102,获得输入的目的主机信息。0058S103,依据待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,获得所述应用的环境信息,所述环境信息用于实现所述应用的环境部署。0059优选的,所述环境模板包括所述应用的产品历史版本;所述依据环境模板以及所述环境模板上的点击位置,获。
22、得应用中所述待部署的模块的中控机信息的方法可以包括依据显示的所述应用的产品历史版本和所述环境模板上的点击位置,获得所述应用当前的产品版本;依据所述应用当前的产品版本,获得所述待部署的模块当前的版本;依据所述待部署的模块当前的版本,获得所述待部署的模块的中控机信息,所述中控机信息包括所述待部署的模块所在的中控机以及所述中控机中的默认路径。0060其中,依据所述应用当前的产品版本,获得所述待部署的模块当前的版本的方法可以包括若所述待部署的模块的基准版本小于或者等于所述应用当前的产品版本,且所述待部署的模块的废弃版本大于或者等于所述应用当前的产品版本,依据所述应用当前的产品版本和所述待部署的模块的基。
23、准版本中的最小值,获得所述待部署的模块当前的版本。0061可选的,上述方法中,所述S103之后,还可以包括0062依据环境模板以及所述环境模板上的点击位置,获得自定义变量;0063将所述自定义变量写入目的主机的环境变量;0064依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机;其中,所述目的主机信息包括所述待部署的模块需要部署的目的主机以及所述目的主机中的部署路径;0065运行所述行为命令,以使得所述行为命令从所述目的主机的环境变量获得自定义变量,以及利用所述自定义变量,启动所述目的主机上的模块,以使得所述目的主机上的模块开始工作。0066其中,所述依据所述中控。
24、机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机的方法可以包括0067依据所述中控机信息和所述目的主机信息,利用自动交互工具登录所述待部署的模块所在的中控机和所述目的主机;0068运行安全复制命令,以使得安全复制命令将所述中控机的默认路径下的所述待部署的模块拷贝在所述目的主机的部署路径下。0069实施例一说明书CN104090799A5/10页80070请参考图2和图3,其分别为本发明实施例所提供的环境模板的第一示意图和第二示意图。0071本发明实施例中,可以显示环境模板,该环境模板用于表征待部署的环境的所有信息的集合,该环境模板可以包括模块信息和行为命令,还可以包括拓扑信。
25、息和部署类型。0072其中,模块信息可以包括待部署的模块的名称、待部署的模块的中控机信息;其中,待部署的模块的中控机信息用于指示该待部署的模块所在的位置,待部署的模块的中控机信息可以包括待部署的模块所在的中控机和该中控机中的默认路径DEFAULTPATH。0073需要说明的是,待部署的模块除了包括上述名称、中控机和默认路径三个自有属性外,还包括待部署的模块当前的版本MODULEVERSION和行为命令两个属性。其中,待部署的模块当前的版本可以依据应用当前的产品版本PRODUCTVERSION获得,具体获得待部署的模块当前版本的方法请参见后述实施例三的描述。0074例如,图2所示的环境模板中,“。
26、搭建模块”中的内容为应用中可以部署的模块的名称NAME,依据用户利用鼠标在环境模板上的点击位置,可以获得应用中待部署的模块。“模块列表”MODULELIST包括选出的多个待部署的模块。0075其中,行为命令ACTION指的是在将待部署的模块部署好后,可以对模块运行的命令,用以实现对模块执行相应的操作。需要说明的是,一个环境模板中,每个待部署的模块可以对应一个行为命令。0076例如,如图2所示,“搭建模块”右侧的框中“”前面的信息表示模块的名称,“”后面的信息表示该模块对应的行为命令。0077其中,拓扑信息可以包括需要部署模块的目的主机HOST、每个目的主机上需要部署的模块、需要将模块部署在目的。
27、主机的部署路径DEPLOYPATH、每个目的主机上部署的模块之间的串并行模式和目的主机之间的串并行模式。0078例如,如图3所示,可以在“机器”的输入框中输入需要部署模块的目的主机的名称,如输入了“云机器”,环境模板中“模块列表”中的待部署的模块需要部署在“云机器”中。0079再例如,“部署路径”的输入框中输入目的主机中的部署路径,该部署路径用于指示待部署的模块需要部署在该目的主机的位置,这样,就可以获得目的主机信息。0080其中,部署类型可以包括全量部署和增量部署。全量部署指的是依据新生成的环境信息对应用进行重新的环境部署,之前已经存在的环境将被废弃;增量部署指的是依据新生成的环境信息,增加。
28、应用的环境部署,相当于,在应用已经部署好的环境中增加一些新的环境部署。0081例如,图3中有部署类型的选项,“全量”表示全量部署,“增量”表示增量部署。0082另外,显示的环境模板可以包括应用的产品历史版本,如图3中“版本”。依据显示的环境模板和用户利用鼠标在该环境模板上的点击位置,确定应用当前的产品版本。0083显示的环境模板还可以包括自定义变量,如图2中“变量名”;依据显示的自定义变量和环境模板上的点击位置,获得用户选出的自定义变量。0084用户可以利用鼠标点击图3中“部署”按钮,这样就可以依据待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,生成应。
29、用的环境信息,然后依据该环境信息自动进行应用的环境部署。0085实施例二说明书CN104090799A6/10页90086请参考图4,其为本发明实施例所提供的依据环境信息自动进行应用的环境部署的方法的流程示意图,如图所示,该方法可以包括以下步骤0087S401,部署准备单元对环境信息进行解析,以获得待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息。0088S402,部署准备单元将获得的自定义变量写入目的主机的环境变量。0089具体的,部署准备单元可以运行EXPORT命令,已使得EXPORT命令将获得的每个自定义变量写入到待部署的模块需要部署的目的主机的环。
30、境变量中,写入环境变量的自定义变量用于模块的行为命令在需要使用自定义变量时使用。0090S403,部署准备单元向部署执行单元发送部署命令。0091具体的,部署准备单元将解析获得的待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主机信息,通过跨系统调用的方式发送给部署执行单元,并发送部署命令。0092如果部署发起成功,部署执行单元向部署准备单元返回“ERROR0”,表示部署准备单元部署发起成功,同时运行NOHUP命令,以使得NOHUP命令利用部署进程在后台执行环境部署,部署执行单元运行状态监控进程,以对部署状态进行监控。如果部署发起失败,部署执行单元向部署准备单元。
31、返回“ERROR1”,表示部署准备单元部署发起失败,本次环境部署结束。0093S404,部署执行单元依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机;其中,所述目的主机信息包括所述待部署的模块需要部署的目的主机以及所述目的主机中的部署路径。0094具体的,被置于后台执行环境部署的部署进程,通过EXPECT工具,依据所述中控机信息和所述目的主机信息,自动登录到每个待部署的模块所在的中控机和所述目的主机,然后运行安全复制SECURECOPY,SCP命令,以使得安全复制命令将所述中控机的默认路径下的所述待部署的模块,拷贝在所述目的主机的部署路径下,从而实现该待部署的模。
32、块的自动部署。0095S405,部署执行单元运行所述行为命令,以使得所述行为命令从所述目的主机的环境变量获得自定义变量,以及利用所述自定义变量,启动所述目的主机上的模块,以使得所述目的主机上的模块开始工作。0096例如,部署执行单元利用EXPECT工具运行模块对应的行为命令;由于运行的行为命令属于部署进程的子进程,所以当行为命令需要获取自定义变量时,行为命令就可以从目的主机的环境变量中获取到自定义变量。0097运行行为命令用于实现对模块进行相应的操作,例如,在目的主机上部署模块A后,需要启动模块A,使模块A开始工作,而启动模块A的操作就需要由行为命令完成。0098另外,运行安全命令之后,部署进。
33、程会远程调用部署状态更新接口,以获得部署结果,然后将部署结果发送给部署准备单元的状态监控进程,该状态监控进程获得部署结果包括部署成功或者部署失败后,结束监控。0099实施例三0100请参考图5,其为本发明实施例所提供的依据应用当前的产品版本获得待部署的模块当前的版本的方法的流程示意图,如图所示,该方法包括以下步骤说明书CN104090799A7/10页100101S501,读取应用当前的产品版本PRODUCTVERISON。0102需要说明的是,读取到的应用当前的产品版本是依据用户在环境模板上选出的产品版本,因此该应用当前的产品版本不一定是最新版本。0103S502,判断应用当前的产品版本是否。
34、存在回滚,即应用当前的产品版本是否是最新版本,如果存在回滚,说明应用当前的产品版本不是最新版本,执行S503;如果不存在回滚,说明应用当前的产品版本是最新版本,执行S504。0104S503,递减应用的产品历史版本中的最新版本,例如,将应用的产品历史版本的版本号减1,然后执行S502。0105S504,依据读取的应用当前的产品版本,计算模块当前的版本MODULEVERSION,然后执行S505。0106例如,计算方法可以是判断模块的基准版本MODULEBASEVERSION与应用当前的产品版本的大小,如果模块的基准版本大于应用当前的产品版本,说明模块的基准版本是非法版本,则该模块不存在当前的版。
35、本,该模块不需要部署;反之,如果模块的基准版本小于或者等于应用当前的产品版本,继续判断模块的废弃版本DISCARDEDVERSION与应用当前的产品版本的大小。0107如果模块的废弃版本小于应用当前的产品版本,说明模块的废弃版本是非法版本,则该模块不存在当前的版本,该模块不需要部署;反之,如果模块的废弃版本大于或者等于应用当前的产品版本,说明该模块需要部署,则将应用当前的产品版本和该模块的基准版本中的最小值,作为该待部署的模块当前的版本。0108S505,判断模块当前的版本是否存在回滚,如果存在,执行S506;如果不存在,执行S507。0109S506,获得该模块上一个版本,将该模块上一个版本。
36、作为该模块当前的版本,然后执行S505。0110S507,判断模块当前的版本的版本号是否大于0,如果是,执行S508;如果否,执行S509。0111S508,依据模块当前的版本,获得模块的中控机信息。0112例如,依据模块当前的版本、中控机的名称、默认路径和模块路径,获得模块的中控机信息。0113S509,若模块当前的版本的版本号小于或者等于0,表示该模块当前的版本无效或者该模块被废弃,则结束流程,不获得模块当前的版本。0114需要说明的是,升级后应用的产品版本的版本号等于升级前应用的产品版本的版本号1。被升级的模块的版本的版本号等于本次升级后应用的产品版本的版本号,未升级的模块的版本保持不变。
37、。另外,如果模块是新增加的模块,则该模块的基准版本的版本号等于应用当前的产品版本。如果模块是被废弃的模块,则该模块的废弃版本的版本号等于应用当前的产品版本。0115例如,请参考表1,其为本发明实施例所提供的应用的产品版本的版本号和待部署的模块的版本的版本号的关系。0116表10117说明书CN104090799A108/10页1101180119如表1所示,其中“”表示本次版本升级中该模块没有进行版本升级,“”表示本次升级中没有该模块,或者表示该模块被废弃。0120例如,应用的产品版本在第四次升级后可以回滚到第三次升级后应用的产品版本;再例如,模块A在第二次升级时没有升级,模块A的版本仍然停留。
38、在第一次升级后的版本;再例如,模块B在第二次升级时也被升级,则模块B的版本等于应用在第二次升级后的产品版本。0121本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。0122请参考图6,其为本发明实施例所提供的环境部署装置的功能方块图。如图所示,该装置包括0123第一获取单元601,用于依据环境模板以及所述环境模板上的点击位置,获得应用中待部署的模块、所述待部署的模块的中控机信息和所述待部署的模块的行为命令;0124第二获取单元602,用于获得输入的目的主机信息;0125处理单元603,用于依据待部署的模块、所述待部署的模块的中控机信息、所述待部署的模块的行为命令和所述目的主。
39、机信息,获得所述应用的环境信息,所述环境信息用于实现所述应用的环境部署。0126优选的,所述环境模板包括所述应用的产品历史版本;所述第一获取单元601,具体用于0127依据显示的所述应用的产品历史版本和所述环境模板上的点击位置,获得所述应用当前的产品版本;0128依据所述应用当前的产品版本,获得所述待部署的模块当前的版本;0129依据所述待部署的模块当前的版本,获得所述待部署的模块的中控机信息,所述中控机信息包括所述待部署的模块所在的中控机以及所述中控机中的默认路径。0130其中,所述依据所述应用当前的产品版本,获得所述待部署的模块当前的版本,具体包括说明书CN104090799A119/10。
40、页120131若所述待部署的模块的基准版本小于或者等于所述应用当前的产品版本,且所述待部署的模块的废弃版本大于或者等于所述应用当前的产品版本,依据所述应用当前的产品版本和所述待部署的模块的基准版本中的最小值,获得所述待部署的模块当前的版本。0132可选的,所述装置还包括0133部署准备单元604,用于依据所述环境模板以及所述环境模板上的点击位置,获得自定义变量;0134所述部署准备单元604,还用于将所述自定义变量写入目的主机的环境变量;0135部署执行单元605,用于依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机;其中,所述目的主机信息包括所述待部署的模块需。
41、要部署的目的主机以及所述目的主机中的部署路径;0136所述部署执行单元605,还用于运行所述行为命令,以使得所述行为命令从所述目的主机的环境变量获得自定义变量,以及利用所述自定义变量,启动所述目的主机上的模块,以使得所述目的主机上的模块开始工作。0137其中,所述依据所述中控机信息和所述目的主机信息,将中控机中的所述待部署的模块部署在目的主机,具体包括0138依据所述中控机信息和所述目的主机信息,利用自动交互工具登录所述待部署的模块所在的中控机和所述目的主机;0139运行安全复制命令,以使得安全复制命令将所述中控机的默认路径下的所述待部署的模块拷贝在所述目的主机的部署路径下。0140由于本实施。
42、例中的各单元能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1至图5的相关说明。0141本发明实施例的技术方案具有以下有益效果01421、本发明实施例提供的技术方案可以依据环境模板和点击位置,以及输入的信息,自动生成用于进行应用的环境部署的环境信息,与现有技术相比,该环境模板可以满足多种环境部署需求,因此该环境模板复用性较高,减少环境部署的修改和重新配置,因此能够降低环境部署成本,提高环境部署效率。01432、由于环境模板可以满足多种环境部署需求,所以环境模板的通用性较高,可以减少环境部署的维护代价。01443、现有技术中,应用的升级频率较高,而且每次升级时,部署的模块也不固定,无。
43、法实现获取每个模块的版本,本发明实施例三给出了确定模块当前的版本的方法,能够简单、方便地实现获得每个模块的版本。0145所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。0146在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互。
44、之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。说明书CN104090799A1210/10页130147所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。0148另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加。
45、软件功能单元的形式实现。0149上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置可以是个人计算机,服务器,或者网络装置等或处理器PROCESSOR执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器READONLYMEMORY,ROM、随机存取存储器RANDOMACCESSMEMORY,RAM、磁碟或者光盘等各种可以存储程序代码的介质。0150以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。说明书CN104090799A131/5页14图1图2说明书附图CN104090799A142/5页15图3说明书附图CN104090799A153/5页16图4说明书附图CN104090799A164/5页17图5说明书附图CN104090799A175/5页18图6说明书附图CN104090799A18。