基于云端服务器的多租户版本管理的应用引擎设计方法技术

技术编号:14337562 阅读:116 留言:0更新日期:2017-01-04 10:44
本发明专利技术公开了基于云端服务器的多租户版本管理的应用引擎设计方法,所述方法以开源的CloudFoundry作为基础运行环境,采用CloudFoundry开源PaaS云平台,将云存储上相应的代码包上传发布到CloudFoundry中,通过采用共享数据库、共享数据架构实现多租户管理,提供以SVN版本控制系统为基础的SVN资源自动分配和代码托管等服务,完成从项目创建到项目打包的自动化构建过程,并提供应用引擎监控和多版本管理功能,实现了对代码包的统一存储和管理。本发明专利技术提供多租户的应用运行和隔离机制,具备应用全生命周期的部署、升级、自动化上线、跟踪监控、等机制。

【技术实现步骤摘要】

本专利技术涉及计算机软件应用开发
,具体涉及一种基于云端服务器的多租户版本管理的应用引擎设计方法
技术介绍
随着云时代的到来,云计算技术层出不穷,各种云平台的出现是转向云计算的最重要环节之一。CloudFoundry是VMware推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题,几乎成为了云平台的标准。它本身是一个基于RubyonRails的由多个相对独立的子系统通过消息机制组成的分布式系统,使平台在各层级都可水平扩展。CloudFoundry支持多实例自动部署应用功能,开发人员只需上传应用包即可在CloudFoundry中自动部署应用,当然也可指定实例个数、内存大小等参数。CloudFoundry也提供了整套JavaAPI供java开发人员使用。SVN即Subversion,是一个免费的开放源代码的版本控制系统,它采用了分支管理系统。SVN对中文支持好,操作简单,各种工作人员可轻松上手,方便项目的统一管理。使用界面统一,功能完善,操作方便,众多企业的选择,是一款不错的代码托管工具。CloudFoundry作为开源PaaS平台,功能十分强大,但只能本地上传应用包,未能对应用包进行有效的统一管理。本专利技术是基于云端服务器的多租户版本管理的应用引擎设计方法,对需上传到CloudFoundry的应用包进行统一的版本管理并提供SVN代码托管平台,支持代码包的上传、下载,且可以在任何地方进行版本操作,方便对代码的统一管理分配,实现了可对多租户进行代码管理、应用包版本管理的云应用引擎。
技术实现思路
本专利技术要解决的技术问题是:本专利技术提供一种基于云端服务器的多租户版本管理的应用引擎设计方法,涉及基于云端服务器的多租户版本管理的应用引擎设计方法,实现了云应用引擎服务的多租户版本管理设计方法,解决了CloudFoundry无法对上传的代码包进行统一管理的问题。本专利技术所采用的技术方案为:基于云端服务器的多租户版本管理的应用引擎设计方法,所述方法以开源的CloudFoundry作为基础运行环境,采用CloudFoundry开源PaaS云平台,将云存储上相应的代码包上传发布到CloudFoundry中,通过采用共享数据库、共享数据架构实现多租户管理,提供以SVN版本控制系统为基础的SVN资源自动分配和代码托管等服务,完成从项目创建到项目打包的自动化构建过程,并提供应用引擎监控和多版本管理功能,实现了对代码包的统一存储和管理。所述采用共享数据库、共享数据架构实现多租户管理实现过程如下:用户申请云应用引擎资源时,通过唯一的用户标识区分引擎资源并将引擎信息存入数据库表中,用户只能访问其用户标识所标记的应用引擎,从而达到让多个租户共用一个应用程序或运算环境的目的。用户获取云应用引擎资源后,将对需要上传的代码包进行管理,根据不同需求,采用直接代码包上传的代码管理方式:该代码管理方式直接对完整的应用包(如war包、zip包等)进行分类管理,不进行代码托管等服务,该管理方式根据所申请应用引擎资源的上下文,即引擎的唯一标识进行分类管理,通过上传组件SWFUpload将所需的代码包上传至本地或云存储服务,并为同一个应用引擎下不同的代码包创建不同的应用版本,方便对代码包的管理。用户获取云应用引擎资源后,将对需要上传的代码包进行管理,根据不同需求,采用SVN代码管理方式,利用SVN版本控制系统,针对于开发人员,提供SVN资源和代码托管等服务,通过搭建一台SVN服务器,提供SVN资源,获取云应用引擎资源后,该管理方式将通过访问配置文件获取SVN服务器信息,使用SSH技术远程控制SVN服务器创建新的SVN资源库、获取并修改用户权限配置文件,返回并保存SVN资源地址;并采用SVNKit技术将开发框架提交至SVN服务器,实现代码托管;开发人员可以通过访问SVN资源地址检出项目并进行代码开发,然后提交完成的代码至SVN服务器;通过SSH技术远程控制SVN服务器发布SVN命令将所提交的代码检出,并利用ANT技术执行项目中相关的ANT脚本(默认使用build.xml)将项目打成相应的war包,然后通过CURL技术发布POST请求将war包上传至本地或云存储服务,并将存储信息写入版本管理的数据库中,实现了代码自动打包功能,为同一个应用引擎下不同的代码包创建不同的应用版本,方便对代码包的管理。对应用包的多版本管理服务实现过程如下:根据登录用户的唯一用户标识获取属于该用户的云应用引擎列表信息,通过访问某一应用引擎可获取应用的版本信息。所述方法通过访问数据库获取应用引擎的申请信息、调用CloudFoundry提供的JavaAPI获取应用引擎在CloudFoundry中的运行状态。所述方法通过访问数据库获取当前应用引擎下的应用版本列表信息,根据需求进行版本管理相关的操作,实现版本管理,包括:创建版本:根据申请时是否启用SVN选项来决定是否进行SVN代码托管,然后通过SVN创建应用包或直接上传应用包来创建新的版本并展示应用包信息(包括下载和上下线操作);下线:在CloudFoundry中将该应用引擎下运行的版本实例删除;上线:先将同一引擎下上线的版本下线,再将该版本发布部署到云平台CloudFoundry中,创建应用的运行实例,返回是否创建成功,最后通过访问应用引擎的域名访问该运行的应用;下载:下载应用包到本地;删除:将云存储上的应用包删除。所述方法通过调用CloudFoundry提供的JavaAPI获取应用引擎发布部署应用时的日志信息,进行日志管理,方便检查和排除错误等。所述方法根据用户对应用引擎的操作将其操作信息保存至数据库操作记录表中,对操作记录进行管理,方便查看操作是否成功和操作流程。本专利技术的有益效果为:本专利技术为企业提供了一套完整的应用引擎解决方案,提供图形化操作界面,提供多租户的应用运行和隔离机制,具备应用全生命周期的部署、升级、自动化上线、跟踪监控、等机制;采用兼容性好、使用范围广的CloudFoundry云平台作为基础架构,支持SVN代码托管,全自动化版本管理,智能分配与回收SVN资源库,自动将SVN最新代码进行打包上线运行。附图说明图1为本专利技术方法系统框图;图2为基于CloudFoundry实现版本管理的多租户应用引擎服务流程图。具体实施方式下面结合附图,根据具体实施方式对本专利技术进一步说明:实施例1:如图1所示,基于云端服务器的多租户版本管理的应用引擎设计方法,所述方法以开源的CloudFoundry作为基础运行环境,通过采用CloudFoundry开源PaaS云平台,将云存储上相应的代码包上传发布到CloudFoundry中,通过采用共享数据库、共享数据架构实现多租户管理,提供云应用引擎资源和代码托管服务,完成从项目创建到项目打包的自动化构建过程,并提供应用引擎监控和多版本管理功能,实现了对代码包的统一存储和管理。实施例2在实施例1的基础上,本实施例所述采用共享数据库、共享数据架构实现多租户管理实现过程如下:用户申请云应用引擎资源时,通过唯一的用户标识区分引擎资源并将引擎信息存入数据库表中,用户只能访问其用户标识所标记的应用引本文档来自技高网
...
基于云端服务器的多租户版本管理的应用引擎设计方法

【技术保护点】
基于云端服务器的多租户版本管理的应用引擎设计方法,其特征在于,所述方法以开源的CloudFoundry作为基础运行环境,采用CloudFoundry开源PaaS云平台,将云存储上相应的代码包上传发布到CloudFoundry中,通过采用共享数据库、共享数据架构实现多租户管理,提供以SVN版本控制系统为基础的SVN资源自动分配和代码托管等服务,完成从项目创建到项目打包的自动化构建过程,并提供应用引擎监控和多版本管理功能,实现了对代码包的统一存储和管理。

【技术特征摘要】
1.基于云端服务器的多租户版本管理的应用引擎设计方法,其特征在于,所述方法以开源的CloudFoundry作为基础运行环境,采用CloudFoundry开源PaaS云平台,将云存储上相应的代码包上传发布到CloudFoundry中,通过采用共享数据库、共享数据架构实现多租户管理,提供以SVN版本控制系统为基础的SVN资源自动分配和代码托管等服务,完成从项目创建到项目打包的自动化构建过程,并提供应用引擎监控和多版本管理功能,实现了对代码包的统一存储和管理。2.根据权利要求1所述的基于云端服务器的多租户版本管理的应用引擎设计方法,其特征在于,所述采用共享数据库、共享数据架构实现多租户管理实现过程如下:用户申请云应用引擎资源时,通过唯一的用户标识区分引擎资源并将引擎信息存入数据库表中,用户只能访问其用户标识所标记的应用引擎,从而达到让多个租户共用一个应用程序或运算环境的目的。3.根据权利要求2所述的基于云端服务器的多租户版本管理的应用引擎设计方法,其特征在于,用户获取云应用引擎资源后,将对需要上传的代码包进行管理,根据不同需求,采用直接代码包上传的代码管理方式:该代码管理方式直接对完整的应用包进行分类管理,不进行代码托管服务,该管理方式根据所申请应用引擎资源的上下文,引擎的唯一标识进行分类管理,通过上传组件SWFUpload将所需的代码包上传至本地或云存储服务,并为同一个应用引擎下不同的代码包创建不同的应用版本。4.根据权利要求2所述的基于云端服务器的多租户版本管理的应用引擎设计方法,其特征在于,用户获取云应用引擎资源后,将对需要上传的代码包进行管理,根据不同需求,采用SVN代码管理方式,利用SVN版本控制系统,通过搭建一台SVN服务器,提供SVN资源,获取云应用引擎资源后,该管理方式将通过访问配置文件获取SVN服务器信息,使用SSH技术远程控制SVN服务器创建新的SVN资源库、获取并修改用户权限配置文件,返回并保存SVN资源地址;并采用SVNKit技术将开发框架提交至SVN服务器,实现代码托管;开发人员可以通过访问SVN资源地址检出项目并进行代码开发,然后提交完成的代码至SVN服务器...

【专利技术属性】
技术研发人员:徐健康周庆勇
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1