CN103501350B - 一种云计算平台中SaaS应用部署的方法及装置 - Google Patents
一种云计算平台中SaaS应用部署的方法及装置 Download PDFInfo
- Publication number
- CN103501350B CN103501350B CN201310488486.3A CN201310488486A CN103501350B CN 103501350 B CN103501350 B CN 103501350B CN 201310488486 A CN201310488486 A CN 201310488486A CN 103501350 B CN103501350 B CN 103501350B
- Authority
- CN
- China
- Prior art keywords
- deployment
- application
- server
- multiserver
- version number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000013507 mapping Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 24
- 238000009826 distribution Methods 0.000 claims description 12
- 238000000151 deposition Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种云计算平台中软件即服务(SaaS)应用部署的方法及装置,包括上传多服务器部署包,在多服务器部署包中携带有应用所需要的服务器角色类型;根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器。本发明根据SaaS应用组件和服务器类型对应的特点,通过在多服务器部署包的应用部署文件中增加服务器角色和版本号,并根据服务器部署映射表,简单、快速地确定了多服务器部署包中各个组件所对应的服务器类型,并实现了云计算平台中SaaS应用的自动部署。
Description
技术领域
本发明涉及云计算技术,尤指一种云计算平台中SaaS应用部署的方法及装置。
背景技术
云计算作为一种新型的计算方式,以其高可扩展性和高可用性等优点迅速成为学术界和产业界的研究热点。
软件即服务(SaaS,Software-as-a-service,也称为软件运营模式)是云计算服务模式中的一种,SaaS是通过互联网提供应用软件的服务模式。在SaaS服务模式下,软件提供商将SaaS应用统一部署在服务器上,客户根据实际需求,定制所需的服务即可。
由于云计算平台SaaS应用类型众多,每种类型的应用所需要的服务器种类也不同,如应用服务器、流程服务器、企业服务总线(ESB,Enterprise Service Bus)服务器、消息服务器等。SaaS应用的不同组件需要部署到不同的服务器上,且每个SaaS应用会有不同的版本。不同应用在不同开发阶段所需要的环境也可能不同,如开发环境、测试环境、生产环境等。随着SaaS服务模式的兴起,SaaS应用的部署问题将成为一个云计算领域的重要问题,SaaS应用的快速、自动部署对云平台是一个非常关键的任务。
目前,针对云计算平台SaaS应用的部署问题,大致包括:首先,将SaaS应用的各种组件都集中安装在单台服务器上。这种部署方式简单,但是可扩展性差,且难以利用云平台弹性伸缩,按需服务的优势;接着,手工将各个组件上传到各个服务器上部署。这种部署方式的优点是灵活,但是当服务器数量较大时,工作量太大,且易于出错;然后,基于特定的算法,将SaaS应用部署作为一个优化问题,通过找最优解决。该方法的特点是自动化程度高,但是计算量太大。
也就是说,在目前的云计算平台SaaS应用的部署方案中,SaaS应用的各种组件都集中安装在单台服务器上,可扩展性差,且难以利用云平台弹性伸缩,按需服务的优势;而且通过手工将各个组件上传到服务器上部署,显然,当服务器数量较大时,工作量太大,且易于出错;需要基于特定的算法,优化SaaS应用部署,计算量大,而且随着服务器数量和SaaS组件的增多,所需的计算时间呈指数增长,显然会降低系统的效率。
发明内容
为了解决上述技术问题,本发明提供了一种云计算平台中SaaS应用部署的方法及系统,能够简单、快速地确定多服务器部署包中各个组件所对应的服务器类型,并实现云计算平台中SaaS应用的自动部署。
为了达到本发明目的,本发明提供了一种云计算平台中软件即服务SaaS应用部署的方法,预先设置用于存储不同应用与不同类型服务器之间的映射关系的多服务器部署映射关系;还包括:
上传多服务器部署包,在多服务器部署包中携带有应用所需要的服务器角色类型;
根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器。
所述在多服务器部署包中携带有应用所需要的服务器角色类型包括:
在所述SaaS应用的各个组件的应用部署文件中,增加应用所需要的服务器角色类型,并将其携带在所述多服务器部署包中。
所述应用部署文件中还携带有应用名,以及应用版本号。
所述部署当前应用所对应的服务器包括:
如果所述当前应用未被部署过,分配所述服务器角色类型对应的服务器,并将所述当前应用包上传至分配的服务器。
所述部署当前应用所对应的服务器还包括:
如果所述当前应用已被部署过,则根据所述应用版本号确定:如果所述当前应用已部署的服务器中的对应应用版本号与所述应用版本号一致,则上传所述当前应用包到该服务器中;如果版本号不一致,则在所述应用部署文件中指示覆盖时,上传所述当前应用包到该服务器中。
该方法还包括:所述当前应用成功部署后,更新所述多服务器部署映射关系。
本发明还提供一种云计算平台中软件即服务SaaS应用部署的装置,至少包括部署包处理单元、服务器管理单元,以及存储单元,其中,
在存储单元中,预先设置有多服务器部署映射关系,用于存储不同应用与不同类型服务器之间的映射关系;
部署包处理单元,用于接收多服务器部署包,根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器;在需要申请服务器时,向服务器部署单元发送服务器申请通知,并将应用包上传至分配的服务器;
服务器管理单元,用于接收来自部署包处理单元的服务器申请通知,分配当前应用对应类型的服务器。
所述多服务器部署包中携带有SaaS应用的各个组件的应用部署文件,而在所述SaaS应用的各个组件的应用部署文件中携带有应用所需要的服务器角色类型,以及应用名和应用版本号。
所述部署包处理单元,具体用于:
根据所述多服务器部署包及预先设置的多服务器部署映射关系确定出,如果所述当前应用未被部署过,向所述服务器部署单元发送服务器申请通知,并将应用包上传至分配的服务器;
如果所述当前应用已被部署过,则根据当前应用版本号,如果所述当前应用已部署的服务器中的对应应用版本号与所述应用版本号一致,则上传所述当前当前应用包到该服务器中;如果版本号不一致,则在所述应用部署文件指示覆盖时,上传所述当前应用包到该服务器中。
与现有技术相比,本发明包括上传多服务器部署包,在多服务器部署包中携带有应用所需要的服务器角色类型;根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器。本发明根据SaaS应用组件和服务器类型对应的特点,通过在多服务器部署包的应用部署文件中增加服务器角色和版本号,并根据服务器部署映射表,简单、快速地确定了多服务器部署包中各个组件所对应的服务器类型,并实现了云计算平台中SaaS应用的自动部署。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明云计算平台中SaaS应用部署的方法的流程图;
图2为本发明云计算平台中SaaS应用部署的装置的组成结构示意图;
图3为本发明云计算平台中SaaS应用部署的方法的实施例流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
云计算平台的SaaS应用由多个组件组成,每个组件表示SaaS应用中一个或多个特定的业务功能,各个组件部署到相应的服务器上。对于云计算平台中不同类型的服务器,定义不同的服务器角色,比如,对于应用服务器,定义角色名为as;对于流程服务器定,定义角色名为ws;对于ESB服务器定义角色名为esb;对于消息服务器定义角色名为ms等。同时,在各个组件的应用部署文件web.xml中,增加所需要的服务器角色类型。
图1为本发明云计算平台SaaS部署的方法的流程图,如图1所示,包括:
步骤100:预先设置多服务器部署映射关系,用于存储不同应用与不同类型服务器之间的映射关系。
步骤101:上传多服务器部署包,在多服务器部署包中携带有应用所需要的服务器角色类型。
本步骤中,在多服务器部署包中携带有应用所需要的服务器角色类型包括:在SaaS应用的各个组件的应用部署文件web.xml中增加应用所需要的服务器角色类型,并将其携带在多服务器部署包中。
在应用部署文件web.xml中还携带有应用名,以及应用版本号。
步骤102:根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器。
其中,如果当前应用未被部署过,直接分配当前应用对应类型的服务器即服务器角色类型对应的服务器,并将应用包上传至分配的服务器即可;
如果当前应用已被部署过,则根据当前应用版本号确定如何部署:如果当前应用已部署的服务器中的对应应用版本号与当前应用版本号一致,则上传当前应用包到该服务器中;如果版本号不一致,则根据应用部署文件web.xml中的指示是否覆盖的标识,若标识指示覆盖则上传当前应用包到该服务器中,否者丢弃。
在当前应用成功部署后,更新多服务器部署映射关系。
本发明根据SaaS应用组件和服务器类型对应的特点,通过在多服务器部署包的应用部署文件中增加服务器角色和版本号,并根据服务器部署映射表,简单、快速地确定了多服务器部署包中各个组件所对应的服务器类型,并实现了云计算平台中SaaS应用的自动部署。
图2为本发明云计算平台中SaaS应用部署的装置组成结构示意图,如图2所示,至少包括部署包处理单元、服务器管理单元,以及存储单元,其中,
在存储单元中,预先设置有多服务器部署映射关系,用于存储不同应用与不同类型服务器之间的映射关系。
部署包处理单元,用于接收多服务器部署包,根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器;在需要申请服务器时,向服务器部署单元发送服务器申请通知,并将应用包上传至分配的服务器。
其中,在多服务器部署包中携带有SaaS应用的各个组件的应用部署文件web.xml,而在SaaS应用的各个组件的应用部署文件web.xml中携带有应用所需要的服务器角色类型,以及应用名和应用版本号。
服务器管理单元,用于接收来自部署包处理单元的服务器申请通知,分配当前应用对应类型的服务器。
部署包处理单元,具体用于根据多服务器部署包及预先设置的多服务器部署映射关系确定出,如果当前应用未被部署过,向服务器部署单元发送服务器申请通知,并将应用包上传至分配的服务器;如果当前应用已被部署过,则根据当前应用版本号,如果当前应用已部署的服务器中的对应应用版本号与当前应用版本号一致,则上传当前应用包到该服务器中;如果版本号不一致,则在应用部署文件web.xml指示覆盖则上传当前应用包到该服务器中,否者丢弃。
下面结合具体实施例对本发明方法进行详细描述。
图3为本发明云计算平台中SaaS应用部署的方法的实施例流程示意图,如图3所示,具体包括:
步骤300:系统初始化,设置多服务器部署映射表。本步骤中,系统初始化的具体实现属于本领域技术人员的公知技术,这里不再赘述,所不同的是,本发明中需要在系统初始化中,设置多服务器部署映射表,用于存储不同应用与不同类型服务器之间的映射关系。
步骤301:上传多服务器部署包。
本步骤中,云计算平台用户如配置人员,在根据应用的需要增加如图片、可执行文件等,就会上传多服务器部署包,在具体实现属于本领域技术人员的惯用技术手段,这里不再赘述。
需要强调的是,本发明中的多服务器部署包中携带有SaaS应用的各个组件的应用部署文件web.xml,而在SaaS应用的各个组件的应用部署文件web.xml中携带有应用所需要的服务器角色类型,以及应用名和应用版本号。
步骤302:部署包处理单元对多服务器部署包进行解析,获取其中携带的各个服务器子包的应用部署文件web.xml,并将获得的应用部署文件web.xml放入队列Q。
步骤303:部署包处理单元判断队列Q是否为空,如果为空,则结束本流程;否则,继续执行步骤304。
步骤304:部署包处理单元将队列Q中的第一个元素赋值给变量p。
步骤305:读取变量p,以获取当前应用需要的服务器角色名r、以及当前应用的应用名n和版本号v1。
步骤306:查找多服务器部署映射表,获取应用名n的当前应用对应的服务器s。
步骤307:部署包处理单元判断对应的服务器s是否为空,如果没有部署过服务器s,则转入步骤312;否则,继续执行步骤308。
步骤308:部署包处理单元从服务器管理单元获取服务器s上应用名n对应的应用的版本号v2。
步骤309:部署包处理单元判断版本号v1是否等于版本号v2,如果二者一致,则转入步骤311;否则,继续执行步骤310。
步骤310:部署包处理单元根据应用部署文件web.xml中的指示判断是否保留版本v2的应用包,如果指示显示覆盖,则转入步骤311;否则,执行步骤312。
步骤311:部署包处理单元将当前版本号v1,应用名n的当前应用的应用包上传到服务器s。之后返回步骤303。
步骤312:部署包处理单元向服务器管理单元申请服务器角色名r的服务器,服务器管理单元分配服务器角色名为r的服务器R。
步骤313:部署包处理单元将当前版本号v1,应用名n的当前应用的应用包上传到服务器R。
步骤314:部署包处理单元修改多服务器部署映射表。之后返回步骤303。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (6)
1.一种云计算平台中软件即服务SaaS应用部署的方法,其特征在于,预先设置用于存储不同应用与不同类型服务器之间的映射关系的多服务器部署映射关系;还包括:
上传多服务器部署包,在多服务器部署包中携带有应用所需要的服务器角色类型;
根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器;
所述部署当前应用所对应的服务器包括:
如果所述当前应用未被部署过,分配所述服务器角色类型对应的服务器,并将所述当前应用包上传至分配的服务器;
在所述SaaS应用的各个组件的应用部署文件中还携带有应用版本号;
所述部署当前应用所对应的服务器还包括:
如果所述当前应用已被部署过,则根据所述应用版本号确定:如果所述当前应用已部署的服务器中的对应应用版本号与所述应用版本号一致,则上传所述当前应用包到该服务器中;如果版本号不一致,则在所述应用部署文件中指示覆盖时,上传所述当前应用包到该服务器中。
2.根据权利要求1所述的方法,其特征在于,所述在多服务器部署包中携带有应用所需要的服务器角色类型包括:
在所述SaaS应用的各个组件的应用部署文件中,增加应用所需要的服务器角色类型,并将其携带在所述多服务器部署包中。
3.根据权利要求2所述的方法,其特征在于,所述应用部署文件中还携带有应用名。
4.根据权利要求1所述的方法,其特征在于,该方法还包括:所述当前应用成功部署后,更新所述多服务器部署映射关系。
5.一种云计算平台中软件即服务SaaS应用部署的装置,其特征在于,至少包括部署包处理单元、服务器管理单元,以及存储单元,其中,
在存储单元中,预先设置有多服务器部署映射关系,用于存储不同应用与不同类型服务器之间的映射关系;
部署包处理单元,用于接收多服务器部署包,根据多服务器部署包及预先设置的多服务器部署映射关系,部署当前应用所对应的服务器;在需要申请服务器时,向服务器管理单元发送服务器申请通知,并将应用包上传至分配的服务器;
服务器管理单元,用于接收来自部署包处理单元的服务器申请通知,分配当前应用对应类型的服务器;
所述部署包处理单元,具体用于:
根据所述多服务器部署包及预先设置的多服务器部署映射关系确定出,如果所述当前应用未被部署过,向所述服务器管理单元发送服务器申请通知,并将应用包上传至分配的服务器;
在所述SaaS应用的各个组件的应用部署文件中还携带有应用版本号;
所述部署包处理单元,具体还用于:
如果所述当前应用已被部署过,则根据当前应用版本号,如果所述当前应用已部署的服务器中的对应应用版本号与所述应用版本号一致,则上传所述当前当前应用包到该服务器中;如果版本号不一致,则在所述应用部署文件指示覆盖时,上传所述当前应用包到该服务器中。
6.根据权利要求5所述的装置,其特征在于,所述多服务器部署包中携带有SaaS应用的各个组件的应用部署文件,而在所述SaaS应用的各个组件的应用部署文件中携带有应用所需要的服务器角色类型,以及应用名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310488486.3A CN103501350B (zh) | 2013-10-17 | 2013-10-17 | 一种云计算平台中SaaS应用部署的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310488486.3A CN103501350B (zh) | 2013-10-17 | 2013-10-17 | 一种云计算平台中SaaS应用部署的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103501350A CN103501350A (zh) | 2014-01-08 |
CN103501350B true CN103501350B (zh) | 2017-05-31 |
Family
ID=49866520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310488486.3A Active CN103501350B (zh) | 2013-10-17 | 2013-10-17 | 一种云计算平台中SaaS应用部署的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103501350B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159736B (zh) * | 2015-10-23 | 2018-10-09 | 武汉大学 | 一种支持性能分析的SaaS软件部署方案的构建方法 |
CN109426514B (zh) * | 2017-08-24 | 2022-09-02 | 北京金山云网络技术有限公司 | 服务自动化部署方法、装置、电子设备及存储介质 |
US10749740B2 (en) * | 2017-10-31 | 2020-08-18 | Hewlett Packard Enterprise Development Lp | Deploying network-based cloud platforms on end equipment |
CN108566432B (zh) * | 2018-04-26 | 2021-02-09 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN109067877B (zh) * | 2018-08-03 | 2021-08-24 | 平安科技(深圳)有限公司 | 一种云计算平台部署的控制方法、服务器及存储介质 |
MX2022007825A (es) * | 2022-06-21 | 2023-12-22 | Gustavo Adolfo Perez Carrera | Sistema termico publicitario para el transporte y entrega de comida. |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223398A (zh) * | 2011-05-30 | 2011-10-19 | 兰雨晴 | 一种部署在云计算环境中部署服务的方法 |
CN103004139A (zh) * | 2010-07-27 | 2013-03-27 | 惠普发展公司,有限责任合伙企业 | 用于部署saas(软件即服务)服务包的方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090112735A1 (en) * | 2007-10-25 | 2009-04-30 | Robert Viehmann | Content service marketplace solutions |
CN103067445B (zh) * | 2012-12-06 | 2015-07-08 | 华为技术有限公司 | 一种分布式系统的软件升级方法及装置 |
-
2013
- 2013-10-17 CN CN201310488486.3A patent/CN103501350B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103004139A (zh) * | 2010-07-27 | 2013-03-27 | 惠普发展公司,有限责任合伙企业 | 用于部署saas(软件即服务)服务包的方法和系统 |
CN102223398A (zh) * | 2011-05-30 | 2011-10-19 | 兰雨晴 | 一种部署在云计算环境中部署服务的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103501350A (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103501350B (zh) | 一种云计算平台中SaaS应用部署的方法及装置 | |
US10291704B2 (en) | Networked solutions integration using a cloud business object broker | |
US9229759B2 (en) | Virtual machine provisioning using replicated containers | |
CN107733977A (zh) | 一种基于Docker的集群管理方法及装置 | |
CN104391868B (zh) | 动态页面静态化的装置和方法 | |
CN103873505B (zh) | 向云存储服务器离线上传的方法、系统与装置 | |
CN108279932A (zh) | 一种移动终端动态配置用户界面方法和装置 | |
CN110019081A (zh) | 数据持久化处理方法、装置、系统及可读存储介质 | |
US10291706B1 (en) | Container image distribution acceleration | |
US10110456B2 (en) | Scalable software monitoring infrastructure, using parallel task queuing, to operate in elastic cloud environments | |
CN110413288A (zh) | 应用部署方法、装置、服务器及存储介质 | |
EP2357558A3 (en) | Independent access to virtual machine desktop content | |
JP2015167014A (ja) | ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム | |
US9088461B2 (en) | Common web accessible data store for client side page processing | |
US20140123142A1 (en) | System and method for providing data analysis service in cloud environment | |
CN106533713A (zh) | 一种应用部署方法及设备 | |
CN104424225B (zh) | 基于文件传输过程的文件处理方法及装置 | |
CN110119235A (zh) | 实现电子签章的方法、装置、签署终端及签署服务器 | |
CN107566477A (zh) | 一种在分布式文件系统集群中获取文件的方法和装置 | |
US9740366B2 (en) | Method and device for configuring mobile terminal icons | |
CN105897865B (zh) | 一种协议无关的网络文件服务管理系统和方法 | |
CN108089924A (zh) | 一种任务运行方法及装置 | |
US9893936B2 (en) | Dynamic management of restful endpoints | |
CN105354128B (zh) | 一种计算机资源监控方法、装置及系统 | |
JP2012510125A5 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |