会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件服务部署方法

软件服务部署方法

阅读:1014发布:2020-07-01

IPRDB可以提供软件服务部署方法专利检索,专利查询,专利分析的服务。并且本发明公开了一种软件服务部署方法,所述软件服务部署方法通过运行脚本执行如下步骤来实现:根据服务及其作业类型、作业主机以及所述服务在相应作业主机上的环境变量和启动参数的关联关系,确定所述服务的作业类型、作业主机以及相应作业主机上的环境变量和启动参数;在所述作业类型是更新时,向相应所确定的所述作业主机分发、安装新版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数。通过上述实施方式,极大地减少了人工参与软件服务的部署,自动化程度高,节省了人力,提高了工作效率并降低了错误率。,下面是软件服务部署方法专利的具体信息内容。

1.一种软件服务部署方法,其特征在于,所述软件服务部署方法通过运行脚本执行如下步骤来实现:根据服务及其作业类型、作业主机以及所述服务在相应作业主机上的环境变量和启动参数的关联关系,确定所述服务的作业类型、作业主机以及相应作业主机上的环境变量和启动参数;

在所述作业类型是更新时,向相应所确定的所述作业主机分发、安装新版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数。

2.根据权利要求1所述的软件服务部署方法,其特征在于:在确定所述服务的作业类型、作业主机以及相应作业主机上的环境变量和启动参数的步骤之中,包括:根据入参确定服务的作业类型;

根据入参确定所述服务的作业主机;

根据入参确定所述服务在相应作业主机上的环境变量和启动参数。

3.根据权利要求2所述的软件服务部署方法,其特征在于:在向相应所确定的所述作业主机分发、安装新版本的服务包的步骤之前,运行所述脚本还执行如下步骤:备份相应所述作业主机上当前版本的服务包。

4.根据权利要求3所述的软件服务部署方法,其特征在于:在根据入参确定服务的作业类型的步骤之后,运行所述脚本还执行如下步骤:检测所述服务的作业类型,所述服务类型包括更新和回滚;

在检测到所述作业类型是更新时,备份相应所述作业主机上当前版本的服务包;随后,向相应所确定的所述作业主机分发、安装新版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数进而完成服务的更新;

而在检测到所述作业类型是回滚时,将相应所述作业主机上当前版本的服务包回滚至上一版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数进而完成服务的回滚。

5.根据权利要求4所述的软件服务部署方法,其特征在于:在服务的更新或回滚完成之后,运行所述脚本还执行如下步骤:重启相应所述作业主机上的服务并生成启动日志;

根据所述启动日志判断启动是否成功;

如果判断为启动成功,则记录本次作业日志,结束作业;

如果判断为启动失败,中止更新或回滚,记录本次作业日志,结束作业。

6.根据权利要求2所述的软件服务部署方法,其特征在于:在根据入参确定服务的作业类型的步骤之中,包括:根据入参确定服务的服务名称列表;

根据所述服务名称列表确定服务的作业类型。

7.根据权利要求1所述的软件服务部署方法,其特征在于:所述脚本被配置存储于任意一台作业主机上或者被配置存储于非作业主机上;

所述作业主机是电脑主机或者服务器。

8.根据权利要求1所述的软件服务部署方法,其特征在于:在运行所述脚本之前,进行如下步骤:从代码版本管理系统中获取最新版本的代码,并将所述代码封装成服务包;

上传所述服务包进行存储。

9.根据权利要求8所述的软件服务部署方法,其特征在于:所述代码及由其封装形成的服务包被配置存储于相同或者不同的作业主机上或者非作业主机上。

10.一种计算机可读存储介质,其特征在于,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行实现如权利要求1~9任一项所述的软件服务部署方法的步骤。

说明书全文

软件服务部署方法

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种软件服务部署方法。

背景技术

[0002] 一般传统的java部署方式采用scp、xftp、rz等方式将待更新的jar服务包上传到服务器,然后运维人员再通过ssh或telnet登录服务器,替换原有的jar服务包,最后重启服务完成部署。
[0003] 传统方法需要运维人员全程参与,存在耗时费力,出错机率大,版本不好管理等缺点。

发明内容

[0004] 本发明为解决上述技术问题提供一种软件服务部署方法,极大地减少了人工参与软件服务的部署,自动化程度高,节省了人力,提高了工作效率并降低了错误率。
[0005] 为解决上述技术问题,本发明提供一种软件服务部署方法,所述软件服务部署方法通过运行脚本执行如下步骤来实现:根据服务及其作业类型、作业主机以及所述服务在相应作业主机上的环境变量和启动参数的关联关系,确定所述服务的作业类型、作业主机以及在相应作业主机上的环境变量和启动参数;在所述作业类型是更新时,向相应所确定的所述作业主机分发、安装新版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数。
[0006] 进一步地,在确定所述服务的作业类型、作业主机以及相应作业主机上的环境变量和启动参数的步骤之中,包括:根据入参确定服务的作业类型;根据入参确定所述服务的作业主机;根据入参确定所述服务在相应作业主机上的环境变量和启动参数。
[0007] 进一步地,在向相应所确定的所述作业主机分发、安装新版本的服务包的步骤之前,运行所述脚本还执行如下步骤:备份相应所述作业主机上当前版本的服务包。
[0008] 进一步地,在根据入参确定服务的作业类型的步骤之后,运行所述脚本还执行如下步骤:检测所述服务的作业类型,所述服务类型包括更新和回滚;在检测到所述作业类型是更新时,备份相应所述作业主机上当前版本的服务包;随后,向相应所确定的所述作业主机分发、安装新版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数进而完成服务的更新;而在检测到所述作业类型是回滚时,将相应所述作业主机上当前版本的服务包回滚至上一版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数进而完成服务的回滚。
[0009] 进一步地,在服务的更新或回滚完成之后,运行所述脚本还执行如下步骤:重启相应所述作业主机上的服务并生成启动日志;根据所述启动日志判断启动是否成功;如果判断为启动成功,则记录本次作业日志,结束作业;如果判断为启动失败,中止更新或回滚,记录本次作业日志,结束作业。
[0010] 进一步地,在根据入参确定服务的作业类型的步骤之中,包括:根据入参确定服务的服务名称列表;根据所述服务名称列表确定服务的作业类型。
[0011] 进一步地,所述脚本被配置存储于任意一台作业主机上或者被配置存储于非作业主机上;所述作业主机是电脑主机或者服务器。
[0012] 进一步地,在运行所述脚本之前,进行如下步骤:从代码版本管理系统中获取最新版本的代码,并将所述代码封装成服务包;上传所述服务包进行存储。
[0013] 进一步地,所述代码及由其封装形成的服务包被配置存储于相同或者不同的作业主机上或者非作业主机上。
[0014] 为解决上述技术问题,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行实现如上述任一项实施例所述的软件服务部署方法的步骤。
[0015] 本发明的软件服务部署方法,具有如下有益效果:通过运行脚本根据脚本内待配置的服务及其作业类型、作业主机及在相应作业主机上的环境变量和启动参数的关联关系,确定服务的作业类型、作业主机以及相应作业主机上的环境变量和启动参数,进而对相应作业主机进行对应作业类型的操作(更新或回滚),全程几乎无需人工参与配置,自动化程度高,节省了人力,提高了工作效率并降低了错误率。

附图说明

[0016] 图1是本发明软件服务部署方法第一实施例的流程图。
[0017] 图2是本发明软件服务部署方法第二实施例的流程图。

具体实施方式

[0018] 下面结合附图和实施方式对本发明进行详细说明。
[0019] 如图1所示,本发明提供一种软件服务部署方法。软件服务部署方法通过运行脚本执行如下步骤来实现:步骤S1,根据服务及其作业类型、作业主机以及服务在相应作业主机上的环境变量和启动参数的关联关系,确定服务的作业类型、作业主机以及该服务在相应作业主机上的环境变量和启动参数。
[0020] 其中,环境变量和启动参数具有关联关系,均由脚本内容来确定。根据服务在作业主机上的运行需求,同一服务在相同或不同作业主机上的启动参数可以配置为相同或不同,有助于实现启动参数的差异化处理,进而使该服务应用于不同的环境(开发、测试、生产,或生产A环境、生产B环境...)。
[0021] 步骤S2,在作业类型是更新时,向相应所确定的作业主机分发、安装新版本的服务包,并为作业主机配置所确定的环境变量和启动参数。
[0022] 结合图2进行参阅,在一具体实施例中,具体在步骤S1之中,即在确定服务的作业类型、作业主机以及相应作业主机上的环境变量和启动参数的步骤之中,包括:步骤S11,根据入参确定服务的作业类型。
[0023] 步骤S12,根据入参确定服务的作业主机。
[0024] 其中,一个服务可以对应安装到一个或多个指定的作业主机。一个作业主机可以对应安装一个或多个指定的服务。具体的,其通常是根据入参直接或间接(通过作业主机的名称)确定相应作业主机的IP地址。
[0025] 步骤S13,根据入参确定服务在相应作业主机上的环境变量和启动参数。
[0026] 在一具体实施例中,具体在步骤S2之前,即在向相应所确定的作业主机分发、安装新版本的服务包的步骤之前,运行脚本还执行如下步骤:步骤S21,备份相应作业主机上当前版本的服务包。
[0027] 在一具体实施例中,具体在步骤S11之后,即在根据入参确定服务的作业类型的步骤之后,运行脚本还执行如下步骤:步骤S14,检测服务的作业类型。其中,服务类型包括更新和回滚。
[0028] 在步骤S14中检测到作业类型是更新时,备份相应作业主机上当前版本的服务包,即进入步骤S21。然后,进入步骤S2,即向相应所确定的作业主机分发、安装新版本的服务包,并为作业主机配置所确定的环境变量和启动参数进而完成服务的更新。
[0029] 而在步骤S14中检测到作业类型是回滚时,进入步骤S22:将相应作业主机上当前版本的服务包回滚至上一版本的服务包,并为所述作业主机配置所确定的环境变量和启动参数。进而,经过步骤S22,完成了服务的回滚。
[0030] 在一具体实施例中,在步骤S2:服务的更新之后,或者在步骤S22:服务的回滚之后,运行脚本还执行如下步骤:步骤S23,重启相应作业主机上的服务并生成启动日志。
[0031] 步骤S24,根据启动日志判断启动是否成功。
[0032] 在步骤S24中,如果判断为启动成功,进入步骤S25。如果判断为启动失败,进入步骤S26。
[0033] 步骤S25,记录本次作业日志,结束作业。
[0034] 步骤S26,中止更新或回滚,记录本次作业日志,结束作业。
[0035] 在一具体实施例中,具体在步骤S11之中,即在根据入参确定服务的作业类型的步骤之中,包括:根据入参确定服务的服务名称列表。
[0036] 根据服务名称列表确定服务的作业类型。
[0037] 上述实施例中,代码可以采用Java语言或C语言等进行开发。以采用Java语言开发的代码为例,由该代码封装形成的服务包通常是jar格式的服务包,上述的方法也适用于如C语言等开发的代码封装形成的服务包进行服务更新或回滚。
[0038] 以代码由Java开发的为例,上述的代码举例可以被管理于SVN代码版本管理系统中,并举例通过jenkins工具从SVN代码版本管理系统中拉取、封装打包及上传。对应的,该脚本举例是shell脚本。
[0039] 举例而言,步骤S11至步骤S13中的入参通常可以是相应服务的服务名称(servicename),还可以是服务名称和作业类型(更新或回滚)的组合,也即整个更新或回滚的过程可以从服务的关键字开始匹配,也即可以从本文例举的服务名称或是服务名称及作业类型的组合开始上述过程。程序化实现时,其流程大致举例描述为:1.该shell脚本命名为update.sh,脚本执行语法:
update.sh servicename [update/rollback];
2.根据servicename确定作业主机hostlist(即作业主机列表在脚本内根据服务名称的关联关系确定);
3.根据hostlist依次确定启动参数start_conf。
[0040] 4.依次在hostlist相关主机上对现有jar包进行备份;5.依次向hostlist相关主机分发新的jar包,或回滚上一版;
6.依次对hostlist相关主机上的servicename服务进行重启;
7.对hostlist上servicename服务的启动日志进行判断,如果启动失败,则中止更新;
8.记录本次作业日志,更新或回滚处理结束。
[0041] 上述实施例中,脚本通常可以被配置存储于任意一台作业主机上,以节约硬件资源。当然,出于安全考虑,脚本还可以被配置存储于非作业主机上,即独立于上述的作业主机的另一主机上。上述的作业主机及非作业主机均可以被理解为电脑主机(台式电脑、笔记本或平板电脑等具有处理器及存储器的电子设备)或者服务器。脚本在其安装的作业主机或非作业主机运行时,常通过ssh方式登录到其他作业主机。
[0042] 在一具体实施例中,在运行脚本之前,进行如下步骤:步骤S101,从代码版本管理系统中获取最新版本的代码,并将代码封装成服务包。
[0043] 步骤S102,上传服务包进行存储。
[0044] 代码及由其封装形成的服务包被配置存储于相同或者不同的作业主机上或者非作业主机上。此处的作业主机及非作业主机均可以被理解为电脑主机(台式电脑、笔记本或平板电脑等具有处理器及存储器的电子设备)或者服务器。
[0045] 上述实施例中,在仅设置了多台作业主机时,各作业主机之间可通过网络实现相互通讯并配置为允许ssh登录;在既设置了多台作业主机、又设置了一台以上非作业主机时,各作业主机及非作业主机之间可通过网络建立通讯并配置为允许ssh登录。该网络可以是公网,也可以是局域网。
[0046] 上述实施例中,常可通过人为触发或自动触发启动脚本开始运行。自动触发时,脚本可以执行定期检测是否有新版本的服务包的步骤,并在检测到有新版本的服务包存在时,自动执行上述的各项步骤。
[0047] 本发明提供一种计算机程序。该计算机程序被处理器执行实现如上述任一项实施例的软件服务部署方法的步骤。
[0048] 本发明提供一种计算机可读存储介质。计算机可读存储介质存储有计算机程序,计算机程序被处理器执行实现如上述任一项实施例的软件服务部署方法的步骤。
[0049] 本发明的软件服务部署方法,具有如下有益效果:利用服务的关键字(入参中的任意一种如服务名称)自动匹配作业主机,减少了人工干预,避免了人为失误,提高了工作效率和正确率;
利用由脚本完成作业主机与环境变量的管理判断自动匹配启动参数,可实现同一服务在不同主机启动,启动参数差异化处理以适应于不同工作环境;
实现集群化部署环境下的服务灰度发布,在不中断服务的情况下,实现业务服务的灰度发布;
能够对启动日志进行判断,及时发现服务启动异常。
[0050] 以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用