基于云平台的应用系统自动部署方法

文档序号:6505818阅读:542来源:国知局
基于云平台的应用系统自动部署方法
【专利摘要】本发明提出了基于云平台的应用系统自动部署方法,所述方法包括以下步骤:用户基于云平台提供的项目应用模板,通过添加自定义的功能模块构建新的项目应用,构建完成后提交项目发布请求;云端服务器接收项目发布请求后,自动创建与新建项目应用对应的项目发布路径,同时安装一web服务器至该路径下,并为其分配端口;保存项目发布路径及端口信息;将新建的项目应用打包成可部署文件并拷贝至相应的项目发布路径下;启动web服务器加载部署文件,将项目应用发布为可访问的应用系统。实施本发明,用户只要关心如何更好地设计自己的应用系统,而无需考虑安装部署问题,更好地提高了云设计平台的服务能力和用户体验。
【专利说明】基于云平台的应用系统自动部署方法

【技术领域】
[0001]本发明涉及云计算领域,尤其涉及基于云平台的应用系统自动部署方法。

【背景技术】
[0002]企业的定制化软件需求一直是传统软件服务提供商难以平衡的问题,面对“众口难调”的软件使用者,软件服务提供商只好为每个定制化需求单独地投入一些研发、维护等资源和力量,如此周而复始导致了传统软件陷入了市场越大,投入越大的恶性循环。云计算的普及加速了人们对于软硬件资源共享的认识和使用,PAAS(Platform as a Service,平台即服务)作为云计算服务的中间层次,融合了 IAAS (Infrastructure as a Service,基础设施即服务)和SAAS(Software as a Service)的软硬件资源优势,将研发平台作为一种服务提供给用户,让软件服务提供商们寻觅到了一种如何解决产品多元化和定制化的良好途径。
[0003]但是,现有的PAAS平台的用户一般主要面向软件领域的专业研发人员,若要真正地方便产品的定制化,让企业的软件使用者亲自参与定制无疑是最好的选择。限于非专业研发人员的能力,PAAS平台服务提供商需要提供更加自动化的研发服务,并随之配备自动化的部署服务,才得以保证产品定制化的顺利进行。


【发明内容】

[0004]基于上述背景,本发明提出一种基于云平台的应用系统自动部署方法,旨在为基于云平台的应用系统进行自动发布提供一种简便、有效的方法。
[0005]本发明的主要技术方案为:
[0006]基于云平台的应用系统自动部署方法,包括以下步骤:
[0007]a.用户基于云平台提供的项目应用模板,通过添加自定义的功能模块构建新的项目应用,构建完成后提交项目发布请求;
[0008]b.云端服务器接收项目发布请求后,自动创建与新建项目应用对应的项目发布路径,同时安装一 web服务器至该路径下,并为其分配端口 ;
[0009]c.保存项目发布路径及端口信息;
[0010]d.将新建的项目应用打包成可部署文件并拷贝至相应的项目发布路径下;
[0011]e.启动web服务器加载部署文件,将项目应用发布为可访问的应用系统。
[0012]进一步,所述步骤b中,每个新建的项目应用对应一个web服务器。
[0013]进一步,所述步骤b中,为web服务器分配端口包括:根据已保存的端口信息为web服务器分配当前未占用的端口。
[0014]进一步,所述步骤d中,所述将新建的项目应用打包包括:将用户自定义的功能模块与项目应用模板提供的公共模块整体打包。
[0015]进一步,所述应用系统在一定时间内与所述web服务器无数据交互后,暂时关闭web服务器。
[0016]进一步,所述web服务器包括:具有自动部署功能的轻量级web服务器。
[0017]在该技术方案中,云平台上的每个自定义应用系统都拥有自己专属的web服务器,不会发生多个应用共用一个web服务器时,由于某个应用故障导致web服务器停止服务而影响其他应用正常使用的问题。考虑到项目应用与web服务器一对一的关系可能带来资源消耗或成本过高的问题,本技术方案选用轻量级web服务器,且暂时关闭长时间未被使用的web服务器,以降低资源占用、节约成本。因此,实施本发明,用户只要关心如何更好地设计自己的应用系统,而无需考虑安装部署问题,更好地提高了 PAAS平台的服务能力和用户体验。

【专利附图】

【附图说明】
[0018]图1为本发明实施例提供的基于云平台的应用系统自动部署方法的流程图;
[0019]图2为本发明实施例提供的以Tomcat7作为web服务器进行自动部署的流程图。

【具体实施方式】
[0020]为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施例和附图对本发明进一步阐述。
[0021]参见图1所示,本发明提供的基于云平台的应用系统自动部署方法主要包括如下的步骤:
[0022]步骤101中,基于云平台提供的项目应用模板建立新的项目应用。用户以云平台提供的项目应用模板为基础,添加自行设计的个性化功能模块,从而构建自定义的项目应用;
[0023]步骤102中,判断用户是否发布新建的项目应用。用户选择发布,执行步骤103 ;否则,返回步骤101继续编辑项目应用;
[0024]步骤103中,云端服务器接收项目发布请求后,自动为其创建用于发布的文件夹路径,并安装web服务器于该路径下;
[0025]步骤104中,云端服务器根据已保存的端口信息,为web服务器分配当前非占用端口。并保存当前发布路径及端口信息;
[0026]步骤105中,云端服务器将新建的项目应用打包成可部署文件,并将其拷贝至相应的发布路径下。打包的文件包括项目应用模板提供的公共模块和用户自定义的功能模块;
[0027]步骤106中,启动web服务器加载部署文件。
[0028]云端服务器通过命令启动web服务器,启动后web服务器自动加载发布路径下的部署文件,并进行自动配置与发布。
[0029]自动部署完成后,新建的项目应用发布为可在本地客户端(如浏览器等)访问的应用系统。
[0030]需要进一步说明的是,本实施例中,每当新建一个项目应用时,便为其安装一 web服务器,以保证该项目应用正常运行,不会产生多应用共用一个web服务器时,由于某一应用故障导致web服务器停止服务而影响其他应用正常使用的问题。
[0031]进一步,本实施例中,在一定时间内,与应用系统无数据交互的web服务器,暂时将其关闭,直至云端服务器接收到访问应用系统的请求再将其启动,从而降低多应用运行时的资源占用风险。
[0032]进一步,考虑到web服务器运行时自身所需的空间大小及资源消耗情况并结合本实施例的技术方案,本实施例选取轻量级的并具有自动部署功能的web服务器,例如Tomcat7 等。
[0033]图2为以Tomcat7作为web服务器进行自动部署的具体实施例的流程图。
[0034]Tomcat 是Apache 软件基金会(Apache Software Foundat1n)支持下多个公司参与研发的开源项目,由于其稳定的性能、先进的技术、轻巧的安装包并且免费,成为目前比较流行的web应用服务器,7.X是目前最新的版本,且相较于之前的版本,Tomcat7对当前主流的web技术的新特性有了更好的支持。
[0035]本实施例具体包括以下步骤:
[0036]步骤201中,用户以云平台提供的项目应用模板为基础,添加自行设计的个性化功能模块,构建自定义的B/S项目应用ProAppl ;
[0037]步骤202中,判断用户是否发布新建的项目应用ProAppl。若用户选择发布,执行步骤203 ;否则,返回步骤201继续编辑项目应用ProAppl ;
[0038]步骤203中,云端服务器接收项目发布请求后,自动为其创建用于发布的文件夹路径,例如% Server Path% \ProAppl\。同时,将Tomcat7文件包拷贝至该路径下;
[0039]本实施例选用的Tomcat7是非安装版,直接启动文件包内的start文件即可启动Tomcat。
[0040]步骤204中,云端服务器根据已保存的端口信息,为% Server Path %\ProAppl\路径下的Tomcat分配当前非占用端口 ;
[0041]云端服务器为新建的项目应用划分一定范围的端口地址段,例如从10000开始,假设Ρι.οΑρρ1是云端服务器上第一个发布的项目应用,则为其所属的Tomcat7分配端口地址10001,当用户新建其他项目应用时,则动态增加,如10002、10003等。对于已注销的项目应用,应回收其端口地址,以动态分配给其他新建项目应用。云端服务器为项目应用分配端口时,需要检测所分配的端口是否已被占用,如果已占用,则重新分配。
[0042]将当前项目的发布路径及端口信息保存至数据库或配置文件等存储单元,以方便信息查询和管理。
[0043]步骤205中,云端服务器将项目应用ProAppl打包成可部署文件,例如.war文件,并将其拷贝至% Server Path% \ProAppl\路径下的Tomcat7指定发布路径下,一般为%Tomcat_Home% \webapps\。打包的文件包括项目应用模板提供的公共模块和用户自定义的功能模块;
[0044]步骤206中,文件拷贝完成后,云端服务器通过命令启动Tomcat7,则Tomcat7自动加载webapps路径下的部署文件,并自动执行publish功能进行项目发布。
[0045]自动部署完成后,用户可以通过浏览器访问ProAppl应用系统。
[0046]云端服务器定时检测正在运行的多个Tomcat服务器的数据交互状态,若存在长时间与应用系统无数据交互的Tomcat,则将其暂时关闭,直至接收到用户发来的访问应用系统请求时再将其启动。
[0047]需要进一步说明的是,本领域的技术人员应当意识到,本实施例中所使用的tomcat服务器及所述的配置方法仅为了更清楚地阐述本发明的技术方案而举例,而非对本发明的限制,本发明的技术方案并不仅限于此。
[0048]以上所述,仅为本发明较佳的【具体实施方式】,对于熟悉本领域的技术人员来说,任何不脱离本发明构思的前提下,做出的若干变形和改进,都应涵盖在本发明的保护范围之内。
【权利要求】
1.基于云平台的应用系统自动部署方法,其特征在于,包括以下步骤: a.用户基于云平台提供的项目应用模板,通过添加自定义的功能模块构建新的项目应用,构建完成后提交项目发布请求; b.云端服务器接收项目发布请求后,自动创建与新建项目应用对应的项目发布路径,同时安装一 web服务器至该路径下,并为其分配端口 ; c.保存项目发布路径及端口信息; d.将新建的项目应用打包成可部署文件并拷贝至相应的项目发布路径下; e.启动web服务器加载部署文件,将项目应用发布为可访问的应用系统。
2.根据权利要求1所述的方法,其特征在于,所述步骤b中,每个新建的项目应用对应一个web服务器。
3.根据权利要求1所述的方法,其特征在于,所述步骤b中,为web服务器分配端口包括: 根据已保存的端口信息为web服务器分配当前未占用的端口。
4.根据权利要求1所述的方法,其特征在于,所述步骤d中,所述将新建的项目应用打包包括: 将用户自定义的功能模块与项目应用模板提供的公共模块整体打包。
5.根据权利要求1所述的方法,其特征在于,所述应用系统在一定时间内与所述web服务器无数据交互后,暂时关闭web服务器。
6.根据权利要求1、2、3、5中任一项所述的方法,其特征在于,所述web服务器包括: 具有自动部署功能的轻量级web服务器。
【文档编号】G06F9/445GK104301338SQ201310295517
【公开日】2015年1月21日 申请日期:2013年7月16日 优先权日:2013年7月16日
【发明者】牟春林, 冯平 申请人:苏州精易会信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1