云计算环境下paas平台的saas应用部署方法和系统的制作方法

文档序号:6527004阅读:545来源:国知局
云计算环境下paas平台的saas应用部署方法和系统的制作方法
【专利摘要】本发明公开了一种云计算环境下PAAS平台的SAAS应用部署方法,包括:将开发的应用安装包上传至PAAS平台;以及后台部署模块对应用安装包执行应用安装部署操作。利用本发明的技术方案,能够实现SAAS应用在PAAS平台的一种快捷、可定制的部署。此外,第三方开发者不需要关注特定平台资源,只需要关注自身应用的基本的开发与设计,也可以依据PAAS平台的API进行开发,由此开发来的应用采用本发明方法都可以正常部署,因此,扩宽了技术可选项范围。
【专利说明】云计算环境下PAAS平台的SAAS应用部署方法和系统
【技术领域】
[0001]本发明一般地涉及计算机【技术领域】,更具体地,涉及云计算环境下PAAS平台的SAAS应用部署方法和系统。
【背景技术】
[0002]PAAS是Platform-as-a-Service的缩写,意思是平台即服务。把服务器平台作为一种服务提供的商业模式。而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了 PAAS (Platform as a Service)。PAAS平台的是由不同的提供基础服务能力应用的组合而成。这种组合是一种节约资源且实现资源最佳组合的平台。
[0003]在现有技术中,当前主流的PAAS平台所提供的基础服务能力都是基于Jetty容器进行定制,从而面向第三方WEB应用开发者提供生产运行平台。而第三方开发者基于此平台进行开发生产软件并对外提供软件服务,就是SAAS应用。SAAS应用的开发过程同传统的软件应用的开发流程相似,不同的之处就是部署环境,它不需要关注资源利用或资源采购,只需要把自己重心关注在自己的软件业务上。
[0004]然而,当前主流的PAAS平台发布SAAS应用能力都是采用单一的默认的技术,如,Jetty、Mysql等。这样需求也由公网上的公共PAAS平台能力决定的。对于第三方开发者来说,技术可选项范围就比较窄了,只能按PAAS平台的提供的几种SDK版本来进行选择开发。

【发明内容】

[0005]针对相关技术中第三方开发者受限于公网上的公共PAAS平台能力,并且技术可选项范围就比较窄的问题,本发明提出云计算环境下PAAS平台的SAAS应用部署方法和系统,能够自动部署生产应用。
[0006]本发明的技术方案是这样实现的:一种云计算环境下PAAS平台的SAAS应用部署方法,包括:将开发的应用安装包上传至PAAS平台;以及后台部署模块对应用安装包执行应用安装部署操作。
[0007]优选地,应用安装部署包括:进行申请负载资源任务并阻塞等待;进行负载资源初始化任务并阻塞等待;进行申请容器资源任务并阻塞等待;进行容器资源初始化任务并阻塞等待;进行部署安装包任务并阻塞等待;以及进行添加负载节点任务并阻塞等待。
[0008]优选地,在创建完虚拟机之后将申请负载资源任务分配给线程池,并在申请负载资源成功后执行网络连通性验证以验证虚拟机的资源是否可以正常使用。
[0009]优选地,负载资源初始化任务包括:查找申请得到的资源相关的配置参数并组装成参数列表,按照初始化脚本顺序要求进行排序并进行脚本动作。
[0010]优选地,在创建完配置有容器的虚拟机后将申请容器资源任务分配给线程池,并在申请容器资源成功后执行网络连通性验证以验证配置有容器的虚拟机的资源是否可以正常使用。[0011]优选地,容器资源初始化包括:查找配置有容器的虚拟机的配置参数,按照脚本参数顺序进行排序并进行脚本动作。
[0012]优选地,部署安装包任务包括:部署管理客户端从FTP下载安装包至指定的目录内,下载完成后根据配置参数进行配置并执行容器启动指令。
[0013]优选地,添加负载节点任务包括:将已经完成按照的容器IP与端口添加至负载均衡器节点内以实现负载管理,并返回最终的可访问地址。
[0014]优选地,申请负载资源任务、负载资源初始化任务、申请容器资源任务、容器资源初始化任务、部署安装包任务和添加负载节点任务中的任一个任务均会在第一次执行失败后进行第二次,并且每一个任务均设置有相应的时间阈值,时间阈值用于在执行任务失败而重新执行任务的时间达到时间阈值时,放弃执行任务。
[0015]本发明还提供了一种云计算环境下PAAS平台的SAAS应用部署系统,包括:应用安装包上传模块,用于将开发的应用安装包上传至PAAS平台;以及后台部署模块,对应用安装包执行应用安装部署操作。
[0016]本发明通过云计算环境下PAAS平台的SAAS应用部署方法和系统,能够实现SAAS应用在PAAS平台的一种快捷、可定制的部署。此外,第三方开发者不需要关注特定平台资源,只需要关注自身应用的基本的开发与设计,也可以依据PAAS平台的API进行开发,由此开发来的应用采用本发明方法都可以正常部署,因此,扩宽了技术可选项范围。
【专利附图】

【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图I是根据本发明的云计算环境下PAAS平台的SAAS应用部署方法的流程图;
[0019]图2是根据本发明实施例的应用安装部署的流程图;以及
[0020]图3是根据本发明实施例的云计算环境下PAAS平台的SAAS应用部署系统的框图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0022]图I是根据本发明的第一实施例的云计算环境下PAAS平台的SAAS应用部署方法的总体流程图。
[0023]参照图I,根据本发明的云计算环境下PAAS平台的SAAS应用部署方法包括以下步骤:S102中,将开发的应用安装包上传至PAAS平台;以及S104,后台部署模块对应用安装包执行应用安装部署操作。
[0024]利用本发明的实施例的云计算环境下PAAS平台的SAAS应用部署方法,在第三方开发者依据PAAS平台提供的开发包开发出自己的应用,可以通过平台提供的应用管理来创建其相应的应用版本,并完成应用上传操作。完成此操作后,开发者就不需要做任何操作,只需要等待部署结果。此外,如果部署成功则PAAS平台会返回给开发者访问地址,如果失败PAAS平台会告诉开发者失败原因及开发后续操作提示。
[0025]以下参照图2详细描述本发明的实施例。
[0026]图2是根据本发明实施例的应用安装部署的流程图。
[0027]在开发者创建好自己的应用后,后台接收到应用安装包就开始启动部署流程。本发明方法部署流程分拆多个原子任务,即每个原子任务只做一件事,例如,从接收到安装包开始,就开始启动一个查询开发所绑定与申请的服务线程,该线程就是代表一个原子任务。该原子任务完成查询操作后,如果有结果就开始执行与SAAS应用的绑定操作任务。
[0028]接着就会进入应用安装部署阶段,部署流程分如下几个任务执行:
[0029]I)向线程池提交申请负载资源任务并阻塞等待。申请线程开始申请资源,当虚拟机创建完好后即可分配给该线程。申请线程得到结果后并执行网络连通性验证算法,验证此虚拟机资源可以正常使用。在该线程池申请负载资源任务的同时,阻塞等待,以防止其他用户申请负载资源任务。此外,如图2所示,当线程池申请负载资源没有成功时,线程池可以发起重新申请并阻塞等待。
[0030]2)申请线程完成操作后就触发负载资源初始化线程,对申请到的负载资源进行初始化并阻塞等待,以防止其他用户对进行初始化操作。初始化线程将会尝试查找此申请得到资源相关配置参数,并组装成参数列表,按照初始化脚本顺序要求排序好传递过去并执行脚本动作。此过程就依据脚本参数组装算法实现的。此外,如图2所示,如果负载资源初始化失败,则线程池重新申请负载资源。
[0031]3)初始化成功后将进入申请容器资源线程任务,由线程池执行申请容器资源任务并阻塞等待,以防止用户执行申请容器资源任务。当配置有容器(WEB容器)的虚拟机创建好后分配给该线程。申请线程得到结果后并执行网络连通性的验证算法,验证此虚拟机资源可以正常使用。此外,如图2所示,如果申请容器资源失败,则线程池重复申请容器资源。
[0032]4)容器进行资源初始化任务,并阻塞等待以防止其他用户执行容器资源初始化任务。初始化线程查找此容器虚拟机的相关配置参数,将按照脚本参数顺序排序和相关赋值然后再调用脚本执行。此外,如图2所示,如果容器资源初始化任务失败,则线程池重复申请容器资源。
[0033]5)部署安装包任务,并阻塞等待以防止其他用户同时执行部署安装包任务。当容器初始化成功后,就可以进入应用安装包安装部署阶段,后台将向FTP服务器发出下载指令,部署管理客户端就可以从FTP下载安装包至指定的目录内,下载完成后依据配置参数进行相关配置。并执行容器启动指令,使得部署结果进行正常加载。此外,如图2所示,如果部署安装包任务失败,则重复部署安装包任务。
[0034]6)添加负载节点任务,并阻塞等待以防止其他用户进行添加负载节点任务。当安装包安装成功后,将会进入添加负载节点任务,将已完成安装的容器IP与端口添加至负载均衡器节点内,实现负载管理。并将最终的可访问地址返回给开发者。
[0035]总之,申请负载资源任务、负载资源初始化任务、申请容器资源任务、容器资源初始化任务、部署安装包任务和添加负载节点任务中的任一个任务均会在第一次执行失败后进行第二次,并且每一个任务均设置有相应的时间阈值(例如,30分钟),时间阈值用于在执行任务失败而重新执行任务的时间达到时间阈值时,放弃执行任务。
[0036]利用本发明的实施例的云计算环境下PAAS平台的SAAS应用部署方法,首先,能够自动为应用申请负载均衡器资源、WEB容器资源、申请成功自动执行初始化操作指令。如果初始化失败,则放弃已申请的资源,通知资源管理者。同时重新申请新的可用资源。其次,为应用自动添加默认策略,支持应用自动伸缩。每个SAAS应用都可以定制符合自身要求的伸缩策略,可以有提高资源的使用效率。再次,支持二次部署,对于第一次部署失败,会自动发起第二次部署新任务且完成资源的重新申请与初始化。最后,采用了线程池技术,把复杂的自动化部署分解成多个原子任务,使得每个任务处理可以保持致性的事务处理效果,从而提高部署效率与可控处理。
[0037]图3是根据本发明实施例的云计算环境下PAAS平台的SAAS应用部署系统的框图。
[0038]参照图3,本发明实施例的云计算环境下PAAS平台的SAAS应用部署系统包括:应用安装包上传模块32,用于将开发的应用安装包上传至PAAS平台;以及后台部署模块34,对应用安装包执行应用安装部署操作。后台部署模块对应用安装包执行应用安装部署操作已经在上面进行了详细的描述,此处不再重复其描述。
[0039]利用本发明实施例的云计算环境下PAAS平台的SAAS应用部署系统,在第三方开发者依据PAAS平台提供的开发包开发出自己的应用,可以通过平台提供的应用管理来创建其相应的应用版本,并完成应用上传操作。完成此操作后,开发者就不需要做任何操作,只需要等待部署结果。此外,如果部署成功则PAAS平台会返回给开发者访问地址,如果失败PAAS平台会告诉开发者失败原因及开发后续操作提示。
[0040]本领域技术人员应该理解,本发明的实施例的云计算环境下PAAS平台的SAAS应用部署方法和系统具有如下优点:1)采用线程池技术,依据线程阻塞的方式实现自动化部署。线程阻塞有利于维护整个部署流程的一致性,一个线程一旦启用进入阻塞状态,不让部署流程中的其它线程进行启用,直到些线程正常完成任务再触发下一个线程操作;2)优化部署线程池,二次申请资源分配算法。如果申请的资源任务线程申请的资源被验证不能够正常使用,那么该线程将尝试重新申请资源;3)部署资源与FTP同步算法。该算法将部署要用到的资源自动从FTP同步下来,有利于部署的正确性和节约部署时间;4) SAAS应用日志远程打包下载算法。每个SAAS应用都会产生自己的日志,而该SAAS应用的开发者可能需要分析日志,这样开发者通过本算法可以同步下载到最新的日志打包文件;5)能够对SAAS应用进行自动伸缩策略,达到资源高效利用。每个SAAS应用都可能要用到负载,而伸缩策略依据一定的阈值计算出资源的是否紧张。如果紧张就会触发自动扩展负载节点来缓解。否则资源闲置至一定的阈值,也将会自动触发资源回收策略;以及6)能够自动执行相关脚本来完成资源的使用。
[0041]综上所述,利用本发明的实施例的云计算环境下PAAS平台的SAAS应用部署方法和系统能够获得以下效果:首先,能够自动为应用申请负载均衡器资源、WEB容器资源、申请成功自动执行初始化操作指令。如果初始化失败,则放弃已申请的资源,通知资源管理者。同时重新申请新的可用资源。其次,为应用自动添加默认策略,支持应用自动伸缩。每个SAAS应用都可以定制符合自身要求的伸缩策略,可以有提高资源的使用效率。再次,支持二次部署,对于第一次部署失败,会自动发起第二次部署新任务且完成资源的重新申请与初始化。最后,采用了线程池技术,把复杂的自动化部署分解成多个原子任务,使得每个任务处理可以保持致性的事务处理效果,从而提高部署效率与可控处理。
[0042]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种云计算环境下PAAS平台的SAAS应用部署方法,其特征在于,包括: 将开发的应用安装包上传至所述PAAS平台;以及 后台部署模块对所述应用安装包执行应用安装部署操作。
2.根据权利要求I所述的SAAS应用部署方法,其特征在于,所述应用安装部署包括: 进行申请负载资源任务并阻塞等待; 进行负载资源初始化任务并阻塞等待; 进行申请容器资源任务并阻塞等待; 进行容器资源初始化任务并阻塞等待; 进行部署安装包任务并阻塞等待;以及 进行添加负载节点任务并阻塞等待。
3.根据权利要求2所述的SAAS应用部署方法,其特征在于,在创建完虚拟机之后将所述申请负载资源任务分配给线程池,并在申请负载资源成功后执行网络连通性验证以验证所述虚拟机的资源是否可以正常使用。
4.根据权利要求3所述的SAAS应用部署方法,其特征在于,所述负载资源初始化任务包括:查找申请得到的资源相关的配置参数并组装成参数列表,按照初始化脚本顺序要求进行排序并进行脚本动作。
5.根据权利要求4所述的SAAS应用部署方法,其特征在于,在创建完配置有容器的虚拟机后将所述申请容器资源任务分配给线程池,并在申请容器资源成功后执行网络连通性验证以验证所述配置有容器的虚拟机的资源是否可以正常使用。
6.根据权利要求5所述的SAAS应用部署方法,其特征在于,所述容器资源初始化包括:查找所述配置有容器的虚拟机的配置参数,按照脚本参数顺序进行排序并进行脚本动作。
7.根据权利要求6所述的SAAS应用部署方法,其特征在于,所述部署安装包任务包括:部署管理客户端从FTP下载安装包至指定的目录内,下载完成后根据配置参数进行配置并执4丁各器启动指令。
8.根据权利要求7所述的SAAS应用部署方法,其特征在于,所述添加负载节点任务包括:将已经完成按照的容器IP与端口添加至负载均衡器节点内以实现负载管理,并返回最终的可访问地址。
9.根据权利要求2所述的SAAS应用部署方法,其特征在于,所述申请负载资源任务、所述负载资源初始化任务、所述申请容器资源任务、所述容器资源初始化任务、所述部署安装包任务和所述添加负载节点任务中的任一个任务均会在第一次执行失败后进行第二次,并且每一个任务均设置有相应的时间阈值,所述时间阈值用于在执行任务失败而重新执行任务的时间达到所述时间阈值时,放弃执行任务。
10.一种云计算环境下PAAS平台的SAAS应用部署系统,其特征在于,包括: 应用安装包上传模块,用于将开发的应用安装包上传至所述PAAS平台;以及 后台部署模块,对所述应用安装包执行应用安装部署操作。
【文档编号】G06F9/445GK103716403SQ201310752258
【公开日】2014年4月9日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】晏伟, 李亦民, 季锡洋, 孙洪涛, 曾兵, 柳国治, 田勇, 孙征 申请人:曙光云计算技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1