应用托管方法及系统的制作方法

文档序号:6430168阅读:165来源:国知局
专利名称:应用托管方法及系统的制作方法
技术领域
本发明涉及云计算领域,具体而言,涉及一种云环境下的应用托管方法及系统。
背景技术
电信业务的多样化一直是个瓶颈,云平台代表了其中的一个发展趋势。通过搭建云平台,利用云计算技术,发挥运营商资源优势,降低开发者参与门槛和成本,聚集开发者创新力量,为用户提供海量、丰富、快速更新的个性化应用,实现运营商、开发者、用户多方共赢,打造全新的生态价值链,促进业务的多样性发展。在云平台的开发模式中,开发者开发了大量的应用托管在电信营运商的虚拟机上,虚拟机可以根据访问量的大小和资源消耗情况进行动态伸缩,当有故障产生时可以动态迁移到其它虚拟机上;运行在虚拟机上的应用可以方便的调用由电信运营商提供的各种 能力引擎(如短信能力,彩信能力等)和其它基础组件(如分布式数据库、分布式缓存、分布式文件系统等)。如此多的应用如何快速的托管在电信运营商的服务器上,对电信运营商的营运能力是个考验。现有的方式应用主要部署在物理服务器上。具体方式是先准备好物理服务器,然后在物理服务器上部署应用、并对应用进行配置,如果应用要需要公网地址和域名,还需要为服务器配置公网IP和域名解析。这种方式基本上是人工操作,耗费大量的人力物力,工作效率很低。在云平台的开发模式,开发者开发应用的数量取决于吸引开发者的数量,开发出的应用数量众多,如果依靠传统的部署模式周期长,容易出错,显然无法解决云平台开发模式中产生的大量应用的快速部署和托管问题。针对相关技术中不能适应云平台开发模式中大量应用快速部署和托管的要求的问题,目如尚未提出有效的解决方案。

发明内容
本发明的主要目的在于提供一种应用托管方法及系统,以至少解决上述云平台开发模式中大量应用快速部署和托管的问题。根据本发明的一个方面,提供了一种应用托管方法,包括应用管理中心接收开发者上传的应用;应用管理中心生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机,其中,虚拟机由云管理平台所创建和管理;虚拟机根据部署脚本和配置脚本在虚拟机上部署和配置应用。优选地,虚拟机根据部署脚本和配置脚本在虚拟机上部署和配置应用之后,还包括当用户需要访问应用提供的业务时,业务接入服务器将用户的访问请求路由至虚拟机;虚拟机处理访问请求,并将处理结果经业务接入服务器返回至用户。优选地,应用管理中心生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机之前还包括应用管理中心判断云管理平台管理的物理资源池中是否有空的虚拟机;如果无,则应用管理中心通知云管理平台创建新的虚拟机。
优选地,应用管理中心通知云管理平台创建新的虚拟机之后,还包括云管理平台选择与应用执行环境匹配的虚拟机模板创建新的虚拟机,并将创建的虚拟机加入到物理资源池中。优选地,应用管理中心生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机之前,还包括应用管理中心判断应用是否需要物理资源;如果是,则根据上传所述应用时所预定的物理资源数量为所述应用分配物理资源,其中,物理资源至少包括以下之一虚拟机、内存、CPU、存储器、网络带宽、数据库、分布式缓存、分布式数据库、分布式文件系统。优选地,应用管理中心生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机包括应用管理中心从云管理平台所管理的物理资源池中选择与应用执行环境匹配的虚拟机;应用管理中心生成应用的部署脚本和配置脚本并上传到虚拟机上;虚拟机根据部署脚本和配置脚本部署和配置应用。优选地,虚拟机根据部署脚本和配置脚本在虚拟想机上部署和配置应用之后,还·包括应用管理中心将应用通知业务接入服务器,并上传应用的业务路由配置脚本至业务接入服务器;业务接入服务器根据业务路由配置脚本配置应用的业务路由和二级域名解析;业务接入服务器配置完成后,通知业务管理中心并上报应用部署状态。优选地,业务接入服务器将用户的访问请求路由至虚拟机之前,还包括业务接入服务器判断访问请求是否为有效请求;如果否,则丢弃请求。优选地,业务接入服务器将用户的访问请求路由至虚拟机包括业务接入服务器对访问请求进行二级域名解析和业务路由解析;业务接入服务器根据二级域名和业务路由的解析结果将请求路由至虚拟机。根据本发明的另一方面,提供了一种应用托管系统,包括虚拟机、云管理平台和应用管理中心,其中,云管理平台,用于创建和管理虚拟机;应用管理中心,用于接收开发者上传的应用,生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机;虚拟机,用于根据部署脚本和配置脚本在虚拟机上部署和配置应用。优选地,应用托管系统还包括业务接入服务器,用于但用户需要访问应用提供的业务时,将用户的访问请求路由至虚拟机。优选地,虚拟机还用于处理访问请求,并将处理结果经业务接入服务器返回至用户。优选地,应用托管系统还包括物理资源池,用于容纳虚拟机,物理资源池由云管
理平台所管理。优选地,业务接入服务器包括外网业务接入服务器和内网业务接入服务器。 通过本发明,采用将应用部署在虚拟机上,应用部署过程和配置过程由自动化脚本来实现,从而解决了大量应用快速部署和托管的问题,进而达到了提高效率和增加稳定性的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图I是根据本发明实施例一的应用托管方法流程图;图2是根据本发明实施例二的应用托管系统结构示意图;图3是根据本发明实施例三的应用托管方法流程图;图4是根据本发明实施例四的应用托管系统架构图;图5是根据本发明实施例五的应用托管部署流程图;图6是根据本发明实施例六的应用托管处理流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一图I是根据本发明实施例一的应用托管方法流程图。如图I所示,包括以下步骤步骤S102,应用管理中心接收开发者上传的应用。步骤S104,应用管理中心生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机,其中,虚拟机由云管理平台所创建和管理。步骤S106,虚拟机根据部署脚本和配置脚本在虚拟机上部署和配置应用。在本实施例中,通过将应用部署在虚拟机上,以及应用部署过程和配置过程由自动化脚本来实现,从而解决了大量应用快速部署和托管的问题,进而达到了提高效率和增加稳定性的效果。其中,在步骤S104之前还包括应用管理中心判断云管理平台管理的物理资源池中是否有空的虚拟机;如果无,则应用管理中心通知云管理平台创建新的虚拟机。云管理平台选择与应用执行环境匹配的虚拟机模板创建新的虚拟机,并将创建的虚拟机加入到物理资源池中。其中,在步骤S104之前,还包括应用管理中心判断应用是否需要物理资源;如果是,则根据上传所述应用时所预定的物理资源数量为所述应用分配物理资源。物理资源包括数据库、分布式缓存、分布式数据库和分布式文件系统等。其中,步骤S104包括应用管理中心从云管理平台所管理的物理资源池中选择与应用执行环境匹配的虚拟机;应用管理中心生成应用的部署脚本和配置脚本并上传到虚拟机上;虚拟机根据部署脚本和配置脚本部署和配置应用。其中,在步骤S106之后,还包括应用管理中心将应用通知业务接入服务器,并上传应用的业务路由配置脚本至业务接入服务器;业务接入服务器根据业务路由配置脚本配置应用的业务路由和配置二级域名解析;业务接入服务器配置完成后,通知业务管理中心并上报应用部署状态。其中,业务接入服务器包括外网业务接入服务器和内网业务接入服务器。其中,在步骤S106之后,还包括当用户需要访问应用提供的业务时,业务接入服务器将用户的访问请求路由至虚拟机;虚拟机处理访问请求,并将处理结果返回至用户。业务接入服务器将用户的访问请求路由至虚拟机之前,还包括业务接入服务器判断访问请求是否为有效请求;如果否,则丢弃请求。业务接入服务器对访问请求进行二级域名解析和业务路由解析;业务接入服务器根据二级域名和业务路由的解析结果将请求路由至虚拟机。在本实施例中,应用部署在虚拟机上而不是物理服务器上,实现部署服务器的自动生成,多个应用可以共用一个虚拟机,实现应用在执行环境级别的隔离。应用部署过程和配置由自动化脚本来实现,自动化脚本根据脚本模板自动生成并上传到虚拟机上,实现部署过程的自动化。域名解析和业务路由的配置自动生成,业务接入服务器收到用户请求后自动解析、路由到所需的虚拟机。业务接入服务器具有一级域名,为每个要访问的应用映射一个二级域名。二级域名解析前提是DNS服务器需要配置为支持泛域名解析。业务接入服务器通常做双机处理,公网和内部局域网分别部署业务接入服务器。实施例二图2是根据本发明实施例二的应用托管系统结构示意图。如图2所示,该应用托管系统包括虚拟机10、云管理平台20和应用管理中心30。
其中,云管理平台20用于创建和管理虚拟机;应用管理中心30用于接收开发者上传的应用,生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机;虚拟机10用于根据部署脚本和配置脚本在虚拟机上部署和配置应用。在本实施例中,通过将应用部署在虚拟机上,以及应用部署过程和配置过程由自动化脚本来实现,从而解决了大量应用快速部署和托管的问题,进而达到了提高效率和增加稳定性的效果。实施例三图3是根据本发明实施例三的应用托管方法流程图。如图3所示,包括以下步骤步骤S302,用户根据规范开发好应用,提交到应用管理中心,开发者签约应用所需的资源,包括虚拟机资源、数据库资源和所需的分布式资源,如分布式缓存、分布式数据库和分布式文件系统等步骤S304,管理员审核应用通过后,实施自动化部署。主要包括下述过程初始化除虚拟机以外的其它资源,包括数据库资源和分布式资源等;生成自动化脚本,包括部署脚本,配置脚本和业务路由脚本;从云管理平台所管理的物理资源池中选择和应用执行环境相匹配的虚拟机,并上传部署脚本和配置脚本到该虚拟机上,执行应用部署过程和配置过程。步骤S306,业务路由和二级域名解析配置并激活服务,主要包括上传业务路由脚本到业务接入服务器上,在不中断现有应用请求的前提下,让新的应用可以接收用户请求。实施例四图4是根据本发明实施例四的应用托管系统架构图。如图4所示,该应用托管系统包括虚拟机10、云管理平台20、应用管理中心30、业务接入服务器40和物理资源池50。其中,应用管理中心30,管理员通过应用管理中心30接收开发者提交的应用,生成自动化脚本,下达各种指令,监控应用部署情况。云管理平台20,主要管理物理资源池50,负责虚拟机10的初始化、创建和销毁。为了能快速的创建虚拟机10,通常预先初始化一定数量的空的虚拟机。在空的虚拟机被使用后,补充新的虚拟机到物理资源池50中。虚拟机10,应用运行的操作系统,虚拟机10由模板创建,模板中预置了应用的执行环境。不同的执行环境对应不同的模板,如JAVA应用使用具有JAVA执行环境的模板,PHP应用使用具有PHP执行环境的模板。业务接入服务器40,负责域名解析和对业务请求进行路由。包括公网业务接入服务器和内网业务接入服务器。公网上的业务接入服务器同时具有局域网IP和互联网IP,互联网上的用户可直接访问。局域(内网)上的业务接入服务器只有局域网内可以访问,主要是电信的内部网元来访问,如收到用户的短信指令后通过业务接入服务器触发虚拟机上的某个业务。其中,业务接入服务器中的二级域名解析功能要求DNS服务器配置为支持泛域名解析,一般的DNS服务器均支持该功能。在本实施例中,应用管理中心30接收到用户提交的应用后,根据脚本模板生成自动部署脚本、自动配置脚本、业务路由脚本,应用部署在云管理平台20所管理的虚拟机10上,业务接入服务器40负责将用户请求路由到应用所在的虚拟机10。实施例五图5是根据本发明实施例五的应用托管部署流程图。本实施例使用了实施四的应用托管系统架构,具体流程如图5所示,包括以下步骤步骤S502,开发人员根据开发规范在应用开发环境中开发应用,开发规范规定了应用的开发语言、遵循标准、开发框架和打包结构等,开发规范保证了开发出的应用能够正常的运行在虚拟上。步骤S504,开发人员开发好应用后上传到应用管理中心,上传应用时需要填写应用基本信息、签约需要的物理资源(如应用需要多少虚拟机,CPU个数,多大内存和存储空间,以及是否需要数据库,是否需要使用分布式资源等),管理员审核应用是否符合规范并提交应用。步骤S506,应用管理中心判断应用是否需要数据库或其它分布式资源,从应用上传包中提取数据库脚本初始化数据库,初始化分布式资源,包括分布式缓存、分布式数据库和分布式文件系统等。步骤S508,应用管理中心判断云管理平台管理的物理资源池中是否有空的虚拟机。如果无空的虚拟机通知云管理平台创建新的虚拟机;如果有空的虚拟机则跳至步骤S512。步骤S510,云管理平台选择和应用执行环境匹配的虚拟机模板创建新的虚拟机加入到物理资源池中。·
步骤S512,应用管理中心从物理资源池中选择和应用执行环境匹配的待部署的虚拟机,并启动该虚拟机。步骤S514,虚拟机启动后,应用管理中心生成部署脚本和配置脚本并上传到待部署的虚拟机上。步骤S516,应用管理中心通知虚拟机调用上传的部署脚本下载应用部署包自动部署应用,应用部署完成后调用配置脚本配置应用。步骤S518,应用管理中心根据应用类型决定通知外网业务接入服务器或者内网业务接入服务器,并上传业务路由配置脚本。步骤S520,业务接入服务器配置业务路由。业务路由保存特定的URL字符串和提供服务的虚拟机的对应关系。如将http://www. test, com/s I对应到http ://10. 10. 10. 5/Si的服务地址。
步骤S522,业务接入服务器配置二级域名解析。如将http://si. test, com解析为http://www. test, com/sIo步骤S524,业务接入服务器配置完成后,通知业务管理中心并上报应用部署状态。图6是根据本发明实施例六的应用托管处理流程图。通过实施五的上述步骤,一个新的应用部署完成并对外提供服务。当有用户访问该应用时,业务接入服务器负载解析用户访问请求,将请求转向到真实的提供服务的虚拟机,并返回出来结果。具体处理流程如图6所示,包括以下步骤步骤S602,业务接入服务器接收到一个互联网用户访问请求,判断是否是无效请求,如果是无效请求,则执行步骤S604 ;如果是有效请求,则执行步骤S606。步骤S604,丢弃该无效用户请求。
步骤S606,业务接入服务器做二级域名解析,假设用户访问请求为http://si. test, com/test, jsp,将访问请求角军析为 http://www. test, com/sl/test, jsp。步骤S608,业务接入服务器做业务路由解析,将http://www. test, com/sl/test.jsp 路由到 http://10. 10. 10. 5/sl/test, jsp。步骤S610,虚拟机10. 10. 10. 5处理用户请求,解析test. . jsp。步骤S612,虚拟机经由业务接入服务器将处理结果返回给用户,用户就可以查看访问的页面。在本发明的上述各实施例中,提供了一种解决云平台开发模式下大量应用托管的方案。与现有技术相比,使传统的手工模式能够自动化处理,节省了大量的人力成本,提高了效率和稳定性等。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种应用托管方法,其特征在于,包括 应用管理中心接收开发者上传的应用; 所述应用管理中心生成所述应用的部署脚本和配置脚本,并将所述部署脚本和配置脚本上传至虚拟机,其中,所述虚拟机由云管理平台所创建和管理; 所述虚拟机根据所述部署脚本和配置脚本在所述虚拟机上部署和配置所述应用。
2.根据权利要求I所述的方法,其特征在于,所述虚拟机根据所述部署脚本和配置脚本在所述虚拟机上部署和配置所述应用之后,还包括 当用户需要访问所述应用提供的业务时,业务接入服务器将所述用户的访问请求路由至所述虚拟机; 所述虚拟机处理所述访问请求,并将处理结果经所述业务接入服务器返回至所述用户。
3.根据权利要求I所述的方法,其特征在于,所述应用管理中心生成所述应用的部署脚本和配置脚本,并将所述部署脚本和配置脚本上传至虚拟机之前还包括 所述应用管理中心判断所述云管理平台管理的物理资源池中是否有空的虚拟机; 如果无,则所述应用管理中心通知所述云管理平台创建新的虚拟机。
4.根据权利要求2所述的方法,其特征在于,所述应用管理中心通知所述云管理平台创建新的虚拟机之后,还包括 所述云管理平台选择与所述应用执行环境匹配的虚拟机模板创建新的虚拟机,并将创建的虚拟机加入到所述物理资源池中。
5.根据权利要求I所述的方法,其特征在于,所述应用管理中心生成所述应用的部署脚本和配置脚本,并将所述部署脚本和配置脚本上传至虚拟机之前,还包括 所述应用管理中心判断所述应用是否需要物理资源; 如果是,则根据上传所述应用时所预定的物理资源数量为所述应用分配物理资源,其中,所述物理资源至少包括以下之一虚拟机、内存、CPU、存储器、网络带宽、数据库、分布式缓存、分布式数据库、分布式文件系统。
6.根据权利要求I所述的方法,其特征在于,所述应用管理中心生成所述应用的部署脚本和配置脚本,并将所述部署脚本和配置脚本上传至虚拟机包括 所述应用管理中心从所述云管理平台所管理的物理资源池中选择与所述应用执行环境匹配的虚拟机; 所述应用管理中心生成所述应用的部署脚本和配置脚本并上传到所述虚拟机上。
7.根据权利要求I所述的方法,其特征在于,所述虚拟机根据所述部署脚本和配置脚本在所述虚拟想机上部署和配置所述应用之后,还包括 所述应用管理中心将所述应用通知所述业务接入服务器,并上传所述应用的业务路由配置脚本至所述业务接入服务器; 所述业务接入服务器根据所述业务路由配置脚本配置所述应用的业务路由和二级域名解析; 所述业务接入服务器配置完成后,通知业务管理中心并上报所述应用部署状态。
8.根据权利要求2所述的方法,其特征在于,业务接入服务器将所述用户的访问请求路由至所述虚拟机之前,还包括所述业务接入服务器判断所述访问请求是否为有效请求; 如果否,则丢弃所述请求。
9.根据权利要求7所述的方法,其特征在于,业务接入服务器将所述用户的访问请求路由至所述虚拟机包括 所述业务接入服务器对所述访问请求进行二级域名解析和业务路由解析; 所述业务接入服务器根据所述二级域名和所述业务路由的解析结果将所述请求路由至所述虚拟机。
10.一种应用托管系统,其特征在于,包括虚拟机、云管理平台和应用管理中心,其中 所述云管理平台,用于创建和管理所述虚拟机; 所述应用管理中心,用于接收开发者上传的应用,生成所述应用的部署脚本和配置脚本,并将所述部署脚本和配置脚本上传至所述虚拟机; 所述虚拟机,用于根据所述部署脚本和配置脚本在所述虚拟机上部署和配置所述应用。
11.根据权利要求10所述的系统,其特征在于,还包括 业务接入服务器,用于当用户需要访问所述应用提供的业务时,将所述用户的访问请求路由至所述虚拟机。
12.根据权利要求10所述的系统,其特征在于,所述虚拟机还用于处理所述访问请求,并将处理结果经所述业务接入服务器返回至所述用户。
13.根据权利要求10所述的系统,其特征在于,还包括 物理资源池,用于容纳所述虚拟机,所述物理资源池由所述云管理平台所管理。
14.根据权利要求11至13任一项所述的系统,其特征在于,所述业务接入服务器包括外网业务接入服务器和内网业务接入服务器。
全文摘要
本发明提供了一种应用托管方法及系统,该方法包括应用管理中心接收开发者上传的应用;应用管理中心生成应用的部署脚本和配置脚本,并将部署脚本和配置脚本上传至虚拟机,其中,虚拟机由云管理平台所创建和管理;虚拟机根据部署脚本和配置脚本在虚拟机上部署和配置应用。通过本发明,采用将应用部署在虚拟机上,应用部署过程和配置过程由自动化脚本来实现,从而解决了大量应用快速部署和托管的问题,进而达到了提高效率和增加稳定性的效果。
文档编号G06F9/455GK102916995SQ20111022436
公开日2013年2月6日 申请日期2011年8月5日 优先权日2011年8月5日
发明者陈心哲 申请人:南京中兴新软件有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1