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

文档序号:8942895阅读:435来源:国知局
一种支持性能分析的SaaS软件部署方案的构建方法
【专利说明】
[0001]
技术领域
[0002] 本发明属于软件部署与性能分析技术领域,具体涉及一种支持性能分析的SaaS 软件部署方案的构建方法。
[0003]
【背景技术】
[0004] SaaS (Software as a Service,软件即服务)通过分布于Internet中的云服务提 供软件。然而SaaS软件经过长时间运行会出现性能降级问题,随着用户数量的增加和系统 环境的变化,现有的部署方案和资源数目无法满足当前的软件需求,软件的性能和质量会 严重下降,例如:(1)用户请求较多时,服务的请求调用会出现排队现象,延长了服务响应 时间,甚至超出了阈值;(2)当硬件节点出现故障使得请求负载超过了系统的处理能力,导 致服务超时率超过警戒线;(3)SaaS软件中某些服务调用较多,使得服务部署的硬件节点 较为繁忙,而其它节点相对空闲,从而导致硬件节点的资源使用率严重不均衡。针对SaaS 软件部署方案的性能分析可用来寻求改善软件性能状况的途径,为了显式地呈现软件性能 分析所需的各种信息,需要一种支持性能分析的SaaS软件部署方案的构建方法。
[0005] 近年来已有不少的研究支持软件系统的动态部署过程,协助部署工程师生成切实 可行的部署方案。早期的研究者提供了描述、部署、激活和管理分布式应用程序的框架,要 求编程者定义程序中的所有配置信息,这些框架注重于软件包的配置和安装,并非web服 务框架的服务部署方式。目前,有研究者针对服务部署提出了软件资源配置元模型,包括了 软件的配置参数信息和参数之间的约束关系,并给出了验证规则集和验证算法来检测配置 冲突,即是否满足部署约束关系,但是只注重于部署配置信息,忽略了性能需求和资源可用 性需求。此外,一些研究者考虑了可靠性、可用性和性能等因素的权衡,寻求解决软件架构 变化的自适应方案,达到性能优化的目的,然而并未考虑软件服务之间的约束关系,描述能 力有限。
[0006] 综上所述,这些研究通常注重于部署配置信息(如服务的配置参数和服务之间的 相互依赖与约束关系),或者着重于性能和资源可用性的需求,然而只考虑这些不足以为面 向SaaS软件部署方案的性能分析提供支持。
[0007]

【发明内容】

[0008] 针对上述研究背景和问题,本发明提供的一种支持性能分析的SaaS软件部署方 案的构建方法,定义了部署环境、部署对象、部署计划和部署约束,其中部署环境体现了云 计算环境虚拟化和分布性特点,部署对象体现了 SaaS软件的服务化特点,部署计划体现了 多虚拟机集群协同工作的特点,部署约束体现了资源共享的特点。
[0009] 本发明的技术方案是: 一种支持性能分析的SaaS软件部署方案的构建方法,其特征在于,包含以下步骤: 步骤1 :将云环境下提供的虚拟机Vl、V2、…、Vn r Vn作为资源池,定义为部署环境; 步骤2 :SaaS软件通过服务s2、…、sn p Sn呈现具体功能,定义为部署对象; 步骤3 :部署对象中的服务部署到部署环境中的虚拟机上,将一台虚拟机与部署在该 虚拟机上的所有服务集合定义为部署计划; 步骤4:在部署过程中,部署对象和部署环境之间定义位置、资源、协同和请求等部署 约束条件。
[0010] 优选的,所述的步骤1包含以下步骤: 步骤1. 1 :为云环境下每种类型的虚拟机定义唯一的名称、不同的资源数量和计算能 力; 步骤1. 2 :任意两个虚拟机之间指定不同的通信能力; 步骤1. 3 :将每个虚拟机实例化为一定数目的虚拟机实例,虚拟机实例是虚拟机的具 体实现。
[0011] 优选的,所述的步骤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顺序执行,交互关系为a seq b ; 服务a执行完毕,选择调用服务b和服务c,服务b与服务c不能同时执行,交互关系为 a seq b,a seq c,b partSplit c ; 服务a执行完毕,经过一个并发调用,服务b和服务c同时被调用执行,当服务b和服 务c执行完后才能执行服务d,交互关系为a seq b, a seq c, b split c, b part Join d, c partjoin d, a null d ; 服务a、服务b和服务c循环调用,交互关系为a seq b,b seq c, c seq a。
[0012] 优选的,所述的3步骤包含以下步骤: 步骤3. 1 :将部署计划定义为多个部署单元; 步骤3. 2 :将部署单元定义为一个虚拟机实例和部署在该虚拟机实例上的服务实例集 合,每个服务实例至少部署在一台虚拟机实例上,每台虚拟机实例可部署一个或多个服务 实例。
[0013] 优选的,所述的步骤4包含以下步骤: 步骤4. 1 :将部署对象中服务与部署环境中虚拟机之间的映射关系定义为位置约束, 有三种情况:(a)服务不能部署某台在虚拟机上;(b)服务必须部署在某台虚拟机上;(c) 服务与虚拟机无位置约束关系; 步骤4.2 :将部署对象中服务与服务之间的位置关系定义为协同约束,有三种情况: (a)两个服务不能部署在同一台虚拟机上;(b)两个服务必须部署在同一台虚拟机上;(c) 两个服务之间无协同约束关系; 步骤4. 3 :将一个虚拟机上的多个服务对资源争用的约束关系定义为资源约束,为一 个虚拟机上部署的所有服务的资源需求与该虚拟机资源数的比值不超过资源约束值S ; 步骤4. 4 :将基本服务的请求到达速率与请求处理速率之间的约束关系定义为请求约 束,基本服务的请求到达速率与该基本服务部署节点的请求处理速率的比值不超过请求约 束值_。
[0014] 优选的,所述的资源约束值α的取值范围是(〇,1),所述的请求约束值β的取值范围 是(0,1 )〇
[0015] 相对于现有技术,本发明的有益效果是:(a)能抽象软件部署过程,适用于动态变 化的部署环境;(b)为SaaS软件的性能分析提供充分的信息,以及支持性能分析之后重部 署工作的实施。
[0016]
【附图说明】
[0017]图1是本发明支持性能分析的SaaS软件部署方案的元模型; 图2是本发明实施例的SaaS软件中的顺序交互关系图; 图3是本发明实施例的SaaS软件中的选择交互关系图; 图4是本发明实施例的SaaS软件中的并发交互关系图; 图5是本发明实施例的SaaS软件中的循环交互关系图; 图6是本发明实施例的含有八个服务的SaaS软件的流程案例图。
[0018]
【具体实施方式】 为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作 进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于 限定本发明。
[0019] -、定义支持性能分析的SaaS软件部署方案元模型 根据上述定义,附图1给出了支持性能分析的SaaS软件部署方案的元模型,定义了
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1