当前位置: 首页 > 专利查询>武汉大学专利>正文

一种支持性能分析的SaaS软件部署方案的构建方法技术

技术编号:12511834 阅读:80 留言:0更新日期:2015-12-16 09:26
本发明专利技术公开了一种支持性能分析的SaaS软件部署方案的构建方法,定义了部署环境、部署对象、部署计划和部署约束;部署环境描述物理环境所能提供的硬件节点及资源供给情况,包括虚拟机和虚拟机之间的通信能力;部署对象描述了需要部署的SaaS软件、软件的资源需求和软件中服务调用信息,包括基本服务和组合服务;部署计划描述了SaaS软件中的服务在硬件节点上的部署情况与配置参数,包括多个部署单元,每个部署单元由一个虚拟机实例和多个基本服务实例组成;部署约束描述了由于业务技术、可靠性、安全性、高效性等方面的需要,部署计划必须遵循的各种限制条件;本发明专利技术适用于动态变化的部署环境,为SaaS软件的性能分析提供必要的信息。

【技术实现步骤摘要】

本专利技术属于软件部署与性能分析
,具体涉及一种支持性能分析的SaaS软件部署方案的构建方法
技术介绍
SaaS(SoftwareasaService,软件即服务)通过分布于Internet中的云服务提供软件。然而SaaS软件经过长时间运行会出现性能降级问题,随着用户数量的增加和系统环境的变化,现有的部署方案和资源数目无法满足当前的软件需求,软件的性能和质量会严重下降,例如:(1)用户请求较多时,服务的请求调用会出现排队现象,延长了服务响应时间,甚至超出了阈值;(2)当硬件节点出现故障使得请求负载超过了系统的处理能力,导致服务超时率超过警戒线;(3)SaaS软件中某些服务调用较多,使得服务部署的硬件节点较为繁忙,而其它节点相对空闲,从而导致硬件节点的资源使用率严重不均衡。针对SaaS软件部署方案的性能分析可用来寻求改善软件性能状况的途径,为了显式地呈现软件性能分析所需的各种信息,需要一种支持性能分析的SaaS软件部署方案的构建方法。近年来已有不少的研究支持软件系统的动态部署过程,协助部署工程师生成切实可行的部署方案。早期的研究者提供了描述、部署、激活和管理分布式应用程序的框架,要求编程者定义程序中的所有配置信息,这些框架注重于软件包的配置和安装,并非web服务框架的服务部署方式。目前,有研究者针对服务部署提出了软件资源配置元模型,包括了软件的配置参数信息和参数之间的约束关系,并给出了验证规则集和验证算法来检测配置冲突,即是否满足部署约束关系,但是只注重于部署配置信息,忽略了性能需求和资源可用性需求。此外,一些研究者考虑了可靠性、可用性和性能等因素的权衡,寻求解决软件架构变化的自适应方案,达到性能优化的目的,然而并未考虑软件服务之间的约束关系,描述能力有限。综上所述,这些研究通常注重于部署配置信息(如服务的配置参数和服务之间的相互依赖与约束关系),或者着重于性能和资源可用性的需求,然而只考虑这些不足以为面向SaaS软件部署方案的性能分析提供支持。
技术实现思路
针对上述研究背景和问题,本专利技术提供的一种支持性能分析的SaaS软件部署方案的构建方法,定义了部署环境、部署对象、部署计划和部署约束,其中部署环境体现了云计算环境虚拟化和分布性特点,部署对象体现了SaaS软件的服务化特点,部署计划体现了多虚拟机集群协同工作的特点,部署约束体现了资源共享的特点。本专利技术的技术方案是:一种支持性能分析的SaaS软件部署方案的构建方法,其特征在于,包含以下步骤:步骤1:将云环境下提供的虚拟机v1、v2、…、vn-1、vn作为资源池,定义为部署环境;步骤2:SaaS软件通过服务s1、s2、…、sn-1、sn呈现具体功能,定义为部署对象;步骤3:部署对象中的服务部署到部署环境中的虚拟机上,将一台虚拟机与部署在该虚拟机上的所有服务集合定义为部署计划;步骤4:在部署过程中,部署对象和部署环境之间定义位置、资源、协同和请求等部署约束条件。优选的,所述的步骤1包含以下步骤:步骤1.1:为云环境下每种类型的虚拟机定义唯一的名称、不同的资源数量和计算能力;步骤1.2:任意两个虚拟机之间指定不同的通信能力;步骤1.3:将每个虚拟机实例化为一定数目的虚拟机实例,虚拟机实例是虚拟机的具体实现。优选的,所述的步骤2包含以下步骤:步骤2.1:将SaaS软件的每个服务定义为基本服务,所述的基本服务是原子服务,不可再分;步骤2.2:基于原子服务及其之间的交互关系构成组合服务;步骤2.3:为组合服务定义一定数目的请求到达速率;步骤2.4:基本服务为用户提供特定的功能,为每个基本服务指定唯一的名称;步骤2.5:为每个基本服务定义一定数目的时间需求,表示服务部署在一个单位计算能力的虚拟机上,当无资源争用时,该虚拟机处理单个服务的时间数值;步骤2.6:为每个基本服务定义一定数目的资源需求,表示执行服务所需要的资源数量;步骤2.7:为每个基本服务定义一定数目的请求到达速率,表示单位时间内请求调用服务的数量,由组合服务请求到达速率计算得到;步骤2.8:为每个基本服务定义一定数目的请求处理速率,表示单位时间内服务请求被处理的数量;步骤2.9:将每个基本服务实例化为一定数目的基本服务实例,所述的基本服务实例是基本服务的具体实现;步骤2.10:描述基本服务之间的交互关系,包括顺序关系seq、选择关系split、部分选择关系partSplit、部分连接关系partJoin和空关系null,任意两个存在交互关系的基本服务具有服务调用概率;以下使用4个基本服务实体,分别为服务a、服务b、服务c和服务d,阐述5种交互关系:服务a与服务b顺序执行,交互关系为aseqb;服务a执行完毕,选择调用服务b和服务c,服务b与服务c不能同时执行,交互关系为aseqb,aseqc,bpartSplitc;服务a执行完毕,经过一个并发调用,服务b和服务c同时被调用执行,当服务b和服务c执行完后才能执行服务d,交互关系为aseqb,aseqc,bsplitc,bpartJoind,cpartJoind,anulld;服务a、服务b和服务c循环调用,交互关系为aseqb,bseqc,cseqa。优选的,所述的3步骤包含以下步骤:步骤3.1:将部署计划定义为多个部署单元;步骤3.2:将部署单元定义为一个虚拟机实例和部署在该虚拟机实例上的服务实例集合,每个服务实例至少部署在一台虚拟机实例上,每台虚拟机实例可部署一个或多个服务实例。优选的,所述的步骤4包含以下步骤:步骤4.1:将部署对象中服务与部署环境中虚拟机之间的映射关系定义为位置约束,有三种情况:(a)服务不能部署某台在虚拟机上;(b)服务必须部署在某台虚拟机上;(c)服务与虚拟机无位置约束关系;步骤4.2:将部署对象中服务与服务之间的位置关系定义为协同约束,有三种情况:(a)两个服务不能部署在同一台虚拟机上;(b)两个服务必须部署在同一台虚拟机上;(c)两个服务之间无协同约束关系;步骤4.3:将一个虚拟机上的多个服务对资源争用的约束关系定义为资源约束,为一个虚拟机上部署的所有服务的资源需求与该虚拟机资源数的比值不超过资源约束值;步骤4.4:将基本服务的请求到达速率与请求处理速率之间的约束关系定义为请求约束,基本服务的请求到达速率与该基本服务部署节点的请求处理速率的比值不超过请求约束值。优选的,所述的资源约束值α的取值范围是(0,1),所述的请求约束值β的取值范围是(0,1)。相对于现有技术,本专利技术的有益效果是:(a)能抽象软件部署过程,适用于动态变化的部署环境;(b)为SaaS软件的性能分析提供充分的信息,以及支持性能分析之后重部署工作的实施。附图说明图1是本专利技术支持性能分析的SaaS软件部署方案的元模型;图2是本专利技术实施例的SaaS软件中的顺序交互关系图;图3本文档来自技高网
...

【技术保护点】
一种支持性能分析的SaaS软件部署方案的构建方法,其特征在于,包含以下步骤:步骤1:将云环境下提供的虚拟机v1、v2、…、vn‑1、vn作为资源池,定义为部署环境;步骤2:SaaS软件通过服务s1、s2、…、sn‑1、sn呈现具体功能,定义为部署对象;步骤3:部署对象中的服务部署到部署环境中的虚拟机上,将一台虚拟机与部署在该虚拟机上的所有服务集合定义为部署计划;步骤4:在部署过程中,部署对象和部署环境之间定义位置、资源、协同和请求等部署约束条件。

【技术特征摘要】
1.一种支持性能分析的SaaS软件部署方案的构建方法,其特征在于,包含以下步骤:
步骤1:将云环境下提供的虚拟机v1、v2、…、vn-1、vn作为资源池,定义为部署环境;
步骤2:SaaS软件通过服务s1、s2、…、sn-1、sn呈现具体功能,定义为部署对象;
步骤3:部署对象中的服务部署到部署环境中的虚拟机上,将一台虚拟机与部署在该虚拟机上的所有服务集合定义为部署计划;
步骤4:在部署过程中,部署对象和部署环境之间定义位置、资源、协同和请求等部署约束条件。
2.根据权利要求1所述的一种支持性能分析的SaaS软件部署方案的构建方法,其特征在于,所述的步骤1包含以下步骤:
步骤1.1:为云环境下每种类型的虚拟机定义唯一的名称、不同的资源数量和计算能力;
步骤1.2:任意两个虚拟机之间指定不同的通信能力;
步骤1.3:将每个虚拟机实例化为一定数目的虚拟机实例,虚拟机实例是虚拟机的具体实现。
3.根据权利要求1所述的一种支持性能分析的SaaS软件部署方案的构建方法,其特征在于,所述的步骤2包含以下步骤:
步骤2.1:将SaaS软件的每个服务定义为基本服务,所述的基本服务是原子服务,不可再分;
步骤2.2:基于原子服务及其之间的交互关系构成组合服务;
步骤2.3:为组合服务定义一定数目的请求到达速率;
步骤2.4:基本服务为用户提供特定的功能,为每个基本服务指定唯一的名称;
步骤2.5:为每个基本服务定义一定数目的时间需求,表示服务部署在一个单位计算能力的虚拟机上,当无资源争用时,该虚拟机处理单个服务的时间数值;
步骤2.6:为每个基本服务定义一定数目的资源需求,表示执行服务所需要的资源数量;
步骤2.7:为每个基本服务定义一定数目的请求到达速率,表示单位时间内请求调用服务的数量,由组合服务请求到达速率计算得到;
步骤2.8:为每个基本服务定义一定数目的请求处理速率,表示单位时间内服务请求被处理的数量;
步骤2.9:将每个基本服务实例化为一定数目的基本服务实例,所述的基本服务实例是基本服务的具体实现;
步骤2.10:描述基本服务之间的交互关系,包括顺序关系seq、选择关系split、部分选择关系partSplit、部分连接关系partJoin和空关系null,任意...

【专利技术属性】
技术研发人员:应时董波文卫东彭敏贾向阳陈旭罗敏骆慧张婷王勇
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

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

1