一种应用服务器版本部署的方法、装置及系统与流程

文档序号:14175022阅读:273来源:国知局
一种应用服务器版本部署的方法、装置及系统与流程

本发明涉及计算机技术领域,尤其涉及一种应用服务器版本部署的方法、装置及系统。



背景技术:

在全球大型应用系统,特别是金融、电信等具有海量交易的系统中,系统服务器往往种类较多,数量较大,而日新月异的业务需求又要求常常需要进行版本更新。目前版本更新的方法,往往是手动逐台登陆到各个服务器,以脚本或者命令行的方式部署该服务器上的版本文件。

现有的版本部署方式下,维护人员需要逐台登陆各个应用服务器,进行停服务、换版本、起服务等动作。这种部署方式,投产运维人员全手工操作,投入人员多,停业时间长,并且整个过程操作琐碎,步骤繁多,对维护人员的熟练程度依赖较大。若维护人员为初次部署,则容易时间过长,且执行步骤有遗漏或出错风险。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

本发明实施例提出一种应用服务器版本部署的方法、装置及系统,以解决现有的应用服务器种类和数量众多,手工部署和回退版本工作的操作过程太复杂、操作时间过长、容易出错的问题。

为了达到上述目的,本发明实施例提供一种应用服务器版本部署的方法,包括:获取多个待部署应用服务器的配置文件、信任文件和待部署版本信息,所述配置文件包含所述待部署应用服务器的主机名和ip地址、应用服务器类别,所述待部署版本信息包括部署脚本、版本文件和应用参数;当接收到软件部署指令时,向所述待部署的应用服务器按照所述应用服务器类别分别传输所述部署脚本、版本文件和应用参数,操控所述多个待部署的应用服务器进行版本部署。

进一步地,在本实施例中,所述获取多个待部署应用服务器的信任文件,包括:所述信任文件为建立的待部署应用服务器和操作服务器之间的信任关系;所述信任关系通过开源软件ssh配置或者通过编写信任程序建立。

进一步地,在本实施例中,所述待部署应用服务器和操作服务器之间的信任关系,具体包括:允许所述操作服务器复制文件、传输文件和执行程序。

进一步地,在本实施例中,所述操控所述多个待部署的应用服务器进行版本部署,包括:操控所述多个待部署的应用服务器进行应用程序备份、数据备份、停止应用服务、版本更新、版本回退或者在版本部署完成后启动应用服务。

进一步地,在本实施例中,还包括:将参数文件中所涉及的用户和密码加密后存储到所述配置文件中,在程序使用时解密。

为了达到上述目的,本发明实施例还提供一种应用服务器版本部署的装置,包括:文件获取模块,用于获取多个待部署应用服务器的配置文件、信任文件和待部署版本信息,所述配置文件包含所述待部署应用服务器的主机名和ip地址、应用服务器类别,所述待部署版本信息包括部署脚本、版本文件和应用参数;版本部署模块,用于当接收到软件部署指令时,向所述待部署的应用服务器按照所述应用服务器类别分别传输所述部署脚本、版本文件和应用参数,操控所述多个待部署的应用服务器进行版本部署。

进一步地,在本实施例中,所述文件获取模块用于获取多个待部署应用服务器的信任文件,具体包括:所述信任文件为建立的待部署应用服务器和操作服务器之间的信任关系;并且,通过开源软件ssh配置或者通过编写信任程序建立所述信任关系。

进一步地,在本实施例中,所述待部署应用服务器和操作服务器之间的信任关系,具体包括:允许所述操作服务器复制文件、传输文件和执行程序。

进一步地,在本实施例中,所述版本部署模块用于操控所述多个待部署的应用服务器进行版本部署,具体包括:操控所述多个待部署的应用服务器进行应用程序备份、数据备份、停止应用服务、版本更新、版本回退或者在版本部署完成后启动应用服务。

为了达到上述目的,本发明实施例还提供一种应用服务器版本部署的系统,包括版本部署操作服务器及待部署应用服务器;所述版本部署操作服务器包括:文件获取模块,用于获取多个待部署应用服务器的配置文件、信任文件和待部署版本信息,所述配置文件包含所述待部署应用服务器的主机名和ip地址、应用服务器类别,所述待部署版本信息包括部署脚本、版本文件和应用参数;版本部署模块,用于当接收到软件部署指令时,向所述待部署的应用服务器按照所述应用服务器类别分别传输所述部署脚本、版本文件和应用参数,操控所述多个待部署的应用服务器进行版本部署。

本发明实施例提供的应用服务器版本部署的方法、装置及系统,采用了“一点操作、多点部署”的调度方式,实现全球大型系统的多服务器应用版本的自动部署和回退,将多台服务器的繁琐工作量简化为只需在一台服务器上运行即可,且待部署的诸服务器以及诸部署步骤可以同步进行,节省了投产时间,减小了停业窗口期,提高了版本部署和回退工作的效率,并避免了手工操作的失误。

参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的应用服务器版本部署的方法的处理流程图;

图2为本发明实施例的应用服务器版本部署的装置的结构示意图;

图3为本发明实施例的应用服务器版本部署的系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

在本发明中,操作服务器是指运行部署程序的服务器,可以操控其他所有应用服务器;待部署应用服务器是指待部署版本的所有应用服务器,有可能包括操作服务器。

图1为本发明实施例的应用服务器版本部署的方法的处理流程图。如图1所示,包括:

步骤s101,获取多个待部署应用服务器的配置文件、信任文件和待部署版本信息,所述配置文件包含所述待部署应用服务器的主机名和ip地址、应用服务器类别,所述待部署版本信息包括部署脚本、版本文件和应用参数;

步骤s102,当接收到软件部署指令时,向所述待部署的应用服务器按照所述应用服务器类别分别传输所述部署脚本、版本文件和应用参数,操控所述多个待部署的应用服务器进行版本部署。

具体实施时,部署版本需要有一个操作服务器,例如可以是一台安装windows、unix、linux操作系统的计算机,也可与某一台待部署版本的计算机公用,待部署版本信息(包括部署脚本、版本文件和应用参数)要提前放置在该计算机的存储上。

具体实施时,首先需要梳理软件产品的服务器类别及传统投产步骤,其中,服务器类别包括web服务器、批量服务器、联机业务服务器、数据库服务器等。对于web服务器来讲,其传统投产步骤包括停止web服务、备份web程序及配置、上传新web版本、部署新web版本、启动web服务等;对于批量服务器来讲,其传统投产步骤包括停止批量任务、备份批量程序及配置、上传新批量版本、部署新批量版本、启动批量服务等。并且,按服务器类别列出需要部署或回退版本的服务器及其部署程序、应用参数的清单,并将其写入配置文件中。部署程序,包含具体的操作命令及操作参数;应用参数包括各类服务器的ip地址信息、路径信息,以及路由、端口信息、最大连接数等。

如果不是首次进行版本部署,一般不用修改配置文件,仅在需要服务版本的服务器数量发生变化时才修改配置文件。

然后,将梳理出来的投产步骤所涉及的命令行进行整合,封装到程序中。在版本部署时,将部署步骤中的每个命令的输出信息输出到文件中,并提取通过分析输出文件信息,来获取一些关键步骤的执行结果,根据结果成功或失败来判定是否继续或终止。

为了安全起见,将参数文件中所涉及的用户和密码加密后存储到配置文件中,在程序使用时解密,比如部署程序在执行数据库脚本时所需要的数据库用户密码。参数文件,可理解为配置文件的一种,存放数据库服务器的用户名及加密后的密码等信息,在新增服务器、或变更服务器密码时,需要更新此文件。

在本实施例中,在部署版本时,待部署的应用服务器与操作服务器之间要配置信任关系。所述信任关系可以通过开源软件ssh配置或者通过编写信任程序建立。其中,通过开源软件ssh配置是在开放平台(unix、linux、aix等)的现存软件,无需开发,使用简单安全;编写信任程序需要自己编写代码实现,可以在任何平台使用,但实现较为复杂。

所述待部署应用服务器和操作服务器之间的信任关系,具体包括:允许所述操作服务器复制文件、传输文件和执行程序;在被部署服务器上放置服务程序、在版本部署机上放置客户端程序,客户端程序可以通过被部署服务器上的服务程序对该服务器进行文件上传、下传、复制操作、执行程序操作。

具体实施时,在步骤s102中,在得到某一个或者某几个待部署应用服务器的软件部署指令后,可以根据部署指令同时对几个应用服务器进行如下操作:通过文件复制方式备份原版本和应用配置参数到指定文件系统存储中、执行停止应用服务脚本、上传新版本到待部署应用服务器、通过脚本或程序对待部署应用服务器上的配置进行参数增加或修改、通过脚本启动启动应用服务或者停止应用服务、恢复原版本程序及参数、启动应用服务。

通过上述实施例提供的应用服务器的版本部署的方法,采用了“一点操作、多点部署”的调度方式,实现全球大型系统的多服务器应用版本的自动部署和回退,将多台服务器的繁琐工作量简化为只需在一台服务器上运行即可,且待部署的诸服务器以及诸部署步骤可以同步进行,节省了投产时间,减小了停业窗口期,提高了版本部署和回退工作的效率,并避免了手工操作的失误。

应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

在介绍了本发明示例性实施方式的方法之后,接下来,参考图2对本发明示例性实施方式的应用服务器版本部署的装置进行介绍。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2为本发明实施例的应用服务器版本部署的装置的结构示意图。如图所示,包括:

文件获取模块101,用于获取多个待部署应用服务器的配置文件、信任文件和待部署版本信息,所述配置文件包含所述待部署应用服务器的主机名和ip地址、应用服务器类别,所述待部署版本信息包括部署脚本、版本文件和应用参数;

版本部署模块102,用于当接收到软件部署指令时,向所述待部署的应用服务器按照所述应用服务器类别分别传输所述部署脚本、版本文件和应用参数,操控所述多个待部署的应用服务器进行版本部署。

进一步在,本实施例中,所述文件获取模块101用于获取多个待部署应用服务器的信任文件,具体包括:

所述信任文件为建立的待部署应用服务器和操作服务器之间的信任关系;

并且,通过开源软件ssh配置或者通过编写信任程序建立所述信任关系。

进一步在,本实施例中,所述待部署应用服务器和操作服务器之间的信任关系,具体包括:允许所述操作服务器复制文件、传输文件和执行程序。

进一步在,本实施例中,所述版本部署模块102用于操控所述多个待部署的应用服务器进行版本部署,具体包括:操控所述多个待部署的应用服务器进行应用程序备份、数据备份、停止应用服务、版本更新、版本回退或者在版本部署完成后启动应用服务。

图3为本发明实施例的应用服务器版本部署的系统的结构示意图。如图3所示,包括:版本部署操作服务器11及多个待部署应用服务器12;

所述版本部署操作服务器11包括:

文件获取模块101,用于获取多个待部署应用服务器的配置文件、信任文件和待部署版本信息,所述配置文件包含所述待部署应用服务器的主机名和ip地址、应用服务器类别,所述待部署版本信息包括部署脚本、版本文件和应用参数;

版本部署模块102,用于当接收到软件部署指令时,向所述待部署的应用服务器按照所述应用服务器类别分别传输所述部署脚本、版本文件和应用参数,操控所述多个待部署的应用服务器进行版本部署。

此外,尽管在上文详细描述中提及了应用服务器的版本部署的装置及系统的若干单元,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。

本发明实施例提供的应用服务器的版本部署的方法、装置及系统,采用了“一点操作、多点部署”的调度方式,实现全球大型系统的多服务器应用版本的自动部署和回退,将多台服务器的繁琐工作量简化为只需在一台服务器上运行即可,且待部署的诸服务器以及诸部署步骤可以同步进行,节省了投产时间,减小了停业窗口期,提高了版本部署和回退工作的效率,并避免了手工操作的失误。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1