CN104301403A - 基于组件服务副本增删的云服务资源动态配置系统及方法 - Google Patents

基于组件服务副本增删的云服务资源动态配置系统及方法 Download PDF

Info

Publication number
CN104301403A
CN104301403A CN201410512536.1A CN201410512536A CN104301403A CN 104301403 A CN104301403 A CN 104301403A CN 201410512536 A CN201410512536 A CN 201410512536A CN 104301403 A CN104301403 A CN 104301403A
Authority
CN
China
Prior art keywords
service
component service
virtual machine
cpu
resources
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.)
Granted
Application number
CN201410512536.1A
Other languages
English (en)
Other versions
CN104301403B (zh
Inventor
张斌
郭军
刘宇
杨丽春
莫玉岩
闫永明
刘舒
马庆敏
马群
李智
李海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
North Laboratory Shenyang Co ltd
Northeastern University China
Original Assignee
LIAONING NORTH LABORATORIES Co Ltd
Northeastern University China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LIAONING NORTH LABORATORIES Co Ltd, Northeastern University China filed Critical LIAONING NORTH LABORATORIES Co Ltd
Priority to CN201410512536.1A priority Critical patent/CN104301403B/zh
Publication of CN104301403A publication Critical patent/CN104301403A/zh
Application granted granted Critical
Publication of CN104301403B publication Critical patent/CN104301403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Abstract

一种基于组件服务副本增删的云服务资源动态配置系统及方法,该系统包括注册模块、质量参数生成模块、监测模块、评价模块和控制模块。方法包括对SLA进行注册;提取SLA中的信息,生成约定质量参数;周期性采集云服务环境中的虚拟机资源状态、云服务性能状态数据并保存;得出各虚拟机资源信息、组件服务质量、组件服务重要性、组件服务资源需求量;确定适合删除最优组件服务副本的虚拟机和适合部署瓶颈组件服务副本的虚拟机,得出组件服务副本增删决策;进行组件服务增删。本发明通过对历史数据的学习,预测用户的并发请求量,通过判断瓶颈组件服务和最优组件服务得出组件服务副本增删策略,达到实现云服务的性能保证的效果。

Description

基于组件服务副本增删的云服务资源动态配置系统及方法
技术领域
本发明涉及云服务技术领域,具体是一种基于组件服务副本增删的云服务资源动态配置系统及方法。
背景技术
随着云计算的发展,人们对云服务的要求逐渐体现在可复用的组件服务上,于是云服务系统开始面向服务架构提供服务,其服务以工作流形式描述,工作流中的每个任务均绑定在相应的组件服务之上。云服务面向用户提供服务,其对用户而言是一个实现某种业务的服务,也可称为一个应用(Application),也可称为一个服务业务流程(Service Business Process)。云服务系统的服务部署与运行的基本过程包括三个阶段:初始部署阶段,运行阶段,以及分析阶段。
初部署之后的云服务系统,在运行阶段会面临用户请求并发数目的变化,或网络不可用和过载等状况。在复杂多变的运行环境中,如何使一个基于服务业务流程的云服务系统能够自适应各种变化并有高可靠性,这是一个具有挑战性的问题。云服务系统采用面向服务的架构,经常被作为一个服务组合,例如BPEL流程。但服务组合只是一种服务模型,当应用到云计算中时,为了使组件服务能在变化的环境中被使用,组件服务必须满足云服务系统的约束,例如功能特性、服务质量QoS等,除此之外,还必须满足与用户之间的SLA协议。鉴于这些约束,云服务系统必须随着运行环境的变化而不断优化服务,以满足系统约束和用户的需求,并保障服务性能。
基于服务业务流程的云服务系统中的某一服务,如果其所具有的各个组件服务都是唯一存在的,并且部署在同一个虚拟机上,那么为了最大可能的保障服务性能,可以对整个云服务进行资源调整或对其部署的虚拟机进行调整等来优化服务。但是,云组件服务经常需要部署多个副本(所有副本功能相同,位置不同)来提高服务的处理能力。为了充分利用空间中的资源,云服务系统将组件服务的多个副本部署到不同的虚拟机节点上。如果某一副本出现问题,或者其所在的某个虚拟机出现问题,那么可以利用其他虚拟机上的服务副本来保证工作的顺利进行。基于多副本的云服务虽然增进了服务的可靠性和灵活性,但是管理起来更加复杂,尤其是对云服务系统进行基于多副本管理的服务性能保障。
传统的基于副本增量部署的服务性能保障方法中包括服务性能指标监测、服务性能状态评估、瓶颈组件服务定位,以及副本部署的虚拟机选择等方面。这些已经在分布式应用和服务组合等领域已经得到了广泛深入的研究,但是,当前一些研究成果如果运用到面向多副本的云服务性能保障机制中可能有不足之处。因此,合适的基于副本调整的云服务性能保障机制需要在目前研究现状的基础上进行改进。
云服务系统中服务性能保障一直是国内外学者研究的重点,目前已经取得了较多的学术成果。采用SOA构架的云服务系统在许多大规模分布式应用服务中要求具有自适应能力的,可以监测系统变化,分析和控制各种服务质量QoS之间的性能保障权衡,使服务配置满足多种QoS要求。所以ASQ(Activity-State-QoS)模型被创建来获得云服务系统中的服务的动态变化、系统资源,以及服务质量QoS,并在此研究基础上采取服务性能保障措施,使服务满足系统约束和用户需求。当前对云服务的性能保障主要关注三个方面:调整资源(ResourceAdjusting,RA),服务迁移(Service Migrating,SM),以及调整副本(Duplicate Adjusting,DA)。下面从国内外研究现状方面分别对这三个性能保障方法进行阐述。
调整资源RA模式是指对支持服务运行的各种资源进行调整,例如增加虚拟机资源池中的虚拟机,或删除、停止某一虚拟机等。云服务系统一般有很大的用户群,并且处理大量的任务,则如何给这些任务分配硬件资源和虚拟机资源,以实现资源有效的动态配置和共享使用,成为云计算领域研究的一个核心问题。研究人员提出多种资源动态提供和管理方案,如Lu Huang等人总结了一些调整资源来提高性能的方法,其中包括基于失效率和基于可信度的动态资源分配策略,基于蚁群算法的资源分配,基于阈值的动态调度算法,以及具有对偶适应度函数的遗传算法。文献在对已有虚拟机分配算法进行研究、比较和总结的基础上,对虚拟机分配问题进行了建模,并提出了一种基于随机规划的虚拟机分配性能保障算法。调整资源往往存在各种资源使用问题,例如,受当前资源的限制,在物理机上不能无限的增加虚拟机来满足服务需求,或者不能使虚拟机资源得到充分利用而造成资源浪费等。当然,如果资源充足,完全可以通过增加资源来满足服务的正常运行,这是比较简单的方法。
服务迁移SM模式是指将组件服务从某个虚拟机迁移到其他虚拟机,来实现服务性能保障或节省资源。对于云计算方面的迁移问题,已有很多研究,例如Binz等人将迁移类型分为三类,分别是标准式迁移(如以VMware或Open Virtualization为标准格式)、组件式迁移和整体迁移。整体迁移是将整个云服务中所有组件服务分别迁移,而组件服务迁移则为这里所提到的服务迁移。Amoretti等人对SP2A中间件进行扩展,使对等云计算系统被按需迁移的服务特征化,以应对变化的运行环境。Fan等人也提出一个在混合云中能自动、智能地进行服务迁移的基于代理技术的框架。在文献中,为了降低某私有云数据中心的负载,Wang等人也提出自动将应用服务从私有云迁移到公共云的框架。而论文中,一个服务迁移和重定位框架可以动态的把关键服务从一个遭受恶意攻击或出现系统故障的平台迁移到健壮的平台上,以保证服务的可靠性和持续性。服务迁移也存在影响服务正常运行的一方面,即当进行服务迁移的时候,需要中止当前正在进行的服务,或者延迟响应服务请求,等服务迁移的动作完成才能恢复服务。
RA与SM方式在无副本的云服务性能保障中应用较多,在基于多副本的云服务系统中,鉴于以上两种方式存在的若干不足,近年来更多研究人员关注调整副本DA方式:DA模式是指为组件服务创建新的运行副本,并且部署到其他虚拟机上;或者减少组件服务的运行副本。在大型分布式系统中,副本是提高系统冗余度,保障数据高可用性和提高数据访问效率的通用技术。针对区域云系统中跨地域分布的用户网,有研究者提出了一种区域云跨地域节点动态副本策略,减少对区域云跨地域节点间骨干网络的带宽消耗,提高数据访问的效率。文献中根据教育领域中资源访问的聚集性等特征,设计了副本热度表征副本访问聚集性程度,实现了基于时空特征的副本相关数值计算;同时运用服务集概念和Hadoop分布式文件系统(HDFS)的存储机制提出了三方面的副本管理策略。赵少卡等人考虑了弹性这一云服务的重要特性,提出了任务调度与弹性服务副本的匹配策略。Tsai等人也提出了一个SLMR的新增服务副本方法,可以使云计算调整服务实例部署情况,以应对存在的和预计的用户请求负载。
在DA模式中,当增加副本时,因为所有副本同时处理用户请求,因此并发处理能力高,从而改善组件服务的性能;当减少副本时,可以减少资源的使用代价。如果在设计云服务系统时在自适应策略中包括DA模式,则必须同时指定需要创建副本的组件服务,并且在初始部署阶段部署副本的请求分配机制。在服务运行阶段,随着用户请求数目的增大,云组件服务被访问次数不同,某些节点和链路可能成为访问热点,从而出现拥塞现象;而部分节点由于服务任务较轻,或者没有部署相应的服务会出现剩余资源现象。为了平衡系统负载,提高系统性能,研究人员常常将处于拥塞状态的云组件服务增量副本部署在空闲的资源上,从而最大效能地利用资源并提供高效的服务。同时,随着用户请求的减少,可以适当减少访问热点组件服务的副本数目,以节省资源。
目前解决拥塞问题的一个重要方法是对服务的增量部署,该方法通过每次增加部署一个服务副本的方式,最大化地发挥新增副本的效用,有效解决分布式服务系统中面向服务组合的服务性能保障问题。具体来说,该策略主要解决以下两个方面的问题:
(1)定位瓶颈服务:瓶颈服务是指面向服务的分布式系统中严重影响系统性能的那部分服务。可以通过分析违背QoS的请求数量以及违背QoS的程度来评测某一服务是否成为系统的瓶颈服务。瓶颈服务产生的原因如下:i)服务本身需要的资源量比较多(例如具有计算复杂的服务需要消耗大量的CPU和内存资源,或是相关数据量庞大的服务需要大量的网络带宽);ii)服务是访问热点(调用频率较大,相对于其他组件服务来说是较为重要的组件服务)导致服务任务过重;iii)服务的副本数过少,或副本所在的节点的可用容量较低。
(2)确定副本增量部署的最优化位置:由于受到节点可用资源,链路可用带宽,组合服务选择与路由方式等多方面的制约,因此为副本寻找最合适,能够最高效的提高系统QoS的部署节点,使得加入的副本充分利用空闲资源提供服务,是一个很重要的问题。
发明内容
针对现有技术存在的问题,本发明提供一种基于组件服务副本增删的云服务资源动态配置系统及方法。
本发明的技术方案是:
一种基于组件服务副本增删的云服务资源动态配置系统,该系统在云服务的服务器中实现;
该系统包括注册模块、质量参数生成模块、监测模块、评价模块和控制模块。
注册模块用于对云服务提供者与云服务使用者协商后的SLA进行注册;
质量参数生成模块用于提取SLA中的信息,生成约定质量参数,包括组件服务平均运行时延、虚拟机CPU资源利用率和虚拟机内存资源利用率;
监控模块用于周期性采集云服务环境中的虚拟机资源状态、云服务性能状态数据并保存;
评价模块用于分析虚拟机资源状态、云服务性能状态,得出各虚拟机资源信息、组件服务质量、组件服务重要性、组件服务资源需求量,并且结合云服务环境中虚拟机剩余资源信息得出组件服务副本增删决策;
控制模块用于根据副本增删决策进行组件服务增删。
所述监控模块包括数据采集模块、数据传输模块、数据解析模块、虚拟机资源状态库和云服务性能状态库;
数据采集模块用于周期性采集云服务环境中各虚拟机资源状态、云服务性能状态数据;
数据传输模块用于将采集到的数据以XML的形式进行封包并通过Sockets协议进行传输;
数据解析模块用于对云服务环境中各虚拟机资源状态、云服务性能状态数据的XML形式数据进行解析;
虚拟机资源状态库用于存储解析得到的虚拟机资源状态数据;
云服务性能状态库用于存储虚拟机性能状态和云服务性能状态数据。
采用所述的云服务资源动态配置系统的云服务资源动态配置方法,包括以下步骤:
步骤1:对云服务提供者与云服务使用者协商后的SLA进行注册;
步骤2:提取SLA中的信息,生成约定质量参数,包括组件服务平均运行时延、虚拟机CPU资源利用率和虚拟机内存资源利用率;
步骤3:周期性采集云服务环境中的虚拟机资源状态、云服务性能状态数据并保存;
虚拟机资源状态包括虚拟机CPU资源状态和虚拟机内存资源状态,其中,虚拟机CPU资源状态包括虚拟机CPU资源总量和虚拟机CPU资源使用量,虚拟机内存资源状态包括虚拟机内存资源总量和虚拟机内存资源使用量;
云服务性能状态数据包括组件服务调用频率、组件服务业务执行时间和网络数据传输时间;
步骤4:分析虚拟机资源状态和云服务性能状态数据,得出各虚拟机资源信息、组件服务质量、组件服务重要性、组件服务资源需求量;
步骤5:根据组件服务质量、组件服务重要性、组件服务资源需求量和云平台中虚拟机剩余资源信息确定适合删除最优组件服务副本的虚拟机和适合部署瓶颈组件服务副本的虚拟机,得出组件服务副本增删决策,该决策包括删除最优组件服务副本和部署瓶颈组件副本;
步骤6:根据组件服务副本增删决策进行组件服务增删。
所述步骤3按以下步骤执行:
步骤3-1:周期性采集云服务环境中各虚拟机资源状态、云服务性能状态数据;
步骤3-2:将采集到的数据以XML的形式进行封包;
步骤3-3:通过Sockets协议对封包后的数据进行传输;
步骤3-4:对云服务环境中各虚拟机资源状态、云服务性能状态数据的XML形式数据进行解析;
步骤3-5:将解析得到的虚拟机资源状态数据存入虚拟机资源状态库;
步骤3-6:将云服务性能状态数据存入云服务性能状态库。
所述步骤4按以下步骤执行:
步骤4-1:分析云服务性能状态数据,得出组件服务重要性、组件服务质量、组件服务资源需求量;
步骤4-1-1:通过组件服务性能指标数据,对组件服务质量进行评估;组件服务性能指标数据包括组件服务的平均数据量、组件服务及其副本拥有最大可用资源时的最小处理时间、组件服务所能承担的负载;
步骤4-1-1-1:计算组件服务运行时延,即组件服务业务的执行时间和网络数据传输时间之和;
步骤4-1-1-2:利用组件服务的平均数据量DA(ci)、组件服务及其副本拥有最大可用资源时的最小处理时间MT(ci)、组件服务所能承担的负载ML(ci)和组件服务当前的负载CL(ci),计算组件服务平均运行时延;
DT ( c i ) = Σ k = 1 n i DA ( c k i ) × Σ k = 1 n i MT ( c k i ) × Σ k = 1 n i ML ( c k i ) Σ k = 1 n i ML ( c k i ) - Σ k = 1 n i CL ( c k i )
其中,ni表示组件服务i拥有的副本数量,表示组件服务ci的第k个副本;
步骤4-1-1-3:将组件服务平均运行时延与约定质量参数中的组件服务平均运行时延进行比对,得到组件服务质量;
步骤4-1-2:通过组件服务调用关系及组件服务调用频率,对组件服务重要性进行评估;
步骤4-1-2-1:通过一个周期内组件服务调用次数来确定组件服务调用频率,进而求得组件服务cj被ci调用的频率Fij
组件服务ci有ni个副本且cj有nj个副本时,组件服务cj被ci调用的频率则可以通过计算所有副本之间调用的频率之和得到其中,为组件服务ci的第k1个组件服务副本调用组件服务cj的第k2个组件服务副本的调用频率;
步骤4-1-2-2:根据组件服务调用关系和组件服务调用频率,分别计算每个组件服务相对其他所有组件服务的权值eij
e ij = F ij Σ j = 1 n F ij ;
其中,n表示组件服务个数;
步骤4-1-2-3:各个组件服务相对其他所有组件服务的权值构成组件服务权值矩阵E,其中每个组件服务相对其他所有组件的权值和为1;
E = e 11 e 12 . . . e 1 n e 21 e 22 . . . e 2 n e 31 e 23 . . . e 3 n e 41 e 24 . . . e 4 n ;
步骤4-1-2-4:分别计算出每个组件服务的重要性值v(ci):
v ( c i ) = 1 - K n + K × Σ k ∈ N ( c i ) v ( c k ) e ki
其中:N(ci)为各组件服务的下标集合,该集合中不包括组件服务ci;K是用来调整组件服务自身重要性和其他组件服务对其重要性的影响的常数;
步骤4-1-2-5:各组件服务的重要性值构成向量矩阵,利用该向量矩阵调整权值,直到各组件服务的重要性值都稳定,即权值变化稳定在误差范围内;
v ( c 1 ) . . . v ( c n ) = ( 1 - K ) / n . . . ( 1 - K ) / n + K × E T v ( c 1 ) . . . v ( c n ) ;
步骤4-1-3:根据各组件服务的重要性和各组件服务质量,确定瓶颈组件服务和最优组件服务;
步骤4-1-3-1:计算组件服务的综合评估值CE(ci),即组件服务的重要性值v(ci)与组件服务平均运行时延DT(ci)之积;
步骤4-1-3-2:比较所有组件服务的综合评估值CE(ci),组件服务综合评估值最大的组件服务为瓶颈组件服务;
步骤4-1-3-3:比较所有组件服务的综合评估值CE(ci),组件服务综合评估值最小的组件服务为最优组件服务;
步骤4-1-4:通过云服务性能状态数据、组件服务并发请求量和虚拟机资源状态数据,得出组件服务资源需求量;
步骤4-1-4-1:建立组件服务并发请求量和CPU资源需求量/内存资源需求量之间的关系模型;
y+y2+y3=α01x+α2x2
其中,y表示CPU资源需求量/内存资源需求量,x表示组件服务并发请求量,α0、α1、α2分别为x的0次方至2次方的系数;
步骤4-1-4-2:建立CPU资源需求量/内存资源需求量误差平方和SSE模型;
SSE = Σ i = 1 n ( y i - y ^ ) 2 = Σ i = 1 n [ y i - ( α ^ 0 + α ^ 1 x i + α ^ 2 x i 2 ) ] 2
其中,yi表示组件服务i的CPU资源需求量/内存资源需求量,xi表示组件服务i的组件服务并发请求量,样本估计值分别为α0、α1、α2的估计值;
步骤4-1-4-3:建立关系模型对应的最小二乘方程;
∂ SSE ∂ α ^ 0 = 0 , ∂ SSE ∂ α ^ 1 = 0 , ∂ SSE ∂ α ^ 2 = 0
∂ SSE ∂ α ^ 0 = 2 Σ i = 1 n [ y i - ( α ^ 0 + α ^ 1 x i + α ^ 2 x i 2 ) ] ( - 1 ) = 0
∂ SSE ∂ α ^ 1 = 2 Σ i = 1 n [ y i - ( α ^ 0 + α ^ 1 x i + α ^ 2 x i 2 ) ] ( - x i ) = 0
∂ SSE ∂ α ^ 2 = 2 Σ i = 1 n [ y i - ( α ^ 0 + α ^ 1 x i + α ^ 2 x i 2 ) ] ( - x i 2 ) = 0
步骤4-1-4-4:极小化SSE的样本估计值求解最小二乘方程,得到关于样本估计值的线性方程,进而求得
Σ i = 1 n y i = n α ^ 0 + α ^ 1 Σ i = 1 n x i + α ^ 2 Σ i = 1 n x i 2
Σ i = 1 n x i y i = α ^ 0 Σ i = 1 n x i + α ^ 1 Σ i = 1 n x i 2 + α ^ 2 Σ i = 1 n x i 3
Σ i = 1 n x i 2 y i = α ^ 0 Σ i = 1 n x i 2 + α ^ 1 Σ i = 1 n x i 3 + α ^ 2 Σ i = 1 n x i 4
步骤4-1-4-5:将作为α0、α1、α2代入关系模型,确定最终的关系模型;
步骤4-1-4-6:计算新增组件服务副本的组件服务并发请求量ρ;
ρ = Σ k = 1 n ρ k n + 1
或者 ρ = n × ρ 1 n + 1
其中,组件服务副本的并发请求量为ρ(ρ12,...,ρn),ρ12,...,ρn均相等;
步骤4-1-4-7:根据新增组件服务副本的组件服务并发请求量ρ,利用组件服务并发请求量和CPU资源需求量/内存资源需求量之间的关系模型,求出新增服务副本所需的CPU资源需求量SRCPU/内存资源需求量SRMEM
步骤4-2:分析各虚拟机资源状态数据,得出各虚拟机剩余资源信息,包括CPU资源剩余量和内存资源剩余量;
步骤4-2-1:分析虚拟机资源状态数据,得到虚拟机CPU资源总量RCPU、虚拟机内存资源总量RMEM、虚拟机CPU资源使用量URCPU、虚拟机内存资源使用量URMEM
步骤4-2-2:根据虚拟机CPU资源总量、虚拟机CPU资源使用量,得到虚拟机CPU资源利用率UCPU
步骤4-2-3:通过SLA和虚拟机CPU资源利用率,求得虚拟机的SLA违背率fSLA(VM):
f SLA ( VM q ) = 1 - 1 1 + e ( U q CPU - m )
其中,虚拟机q的CPU资源利用率,虚拟机CPU资源利用率不高于SLA约定的CPU利用率阈值m;
步骤4-2-4:根据虚拟机CPU资源总量、虚拟机CPU资源使用量,求得虚拟机CPU资源剩余量LRCPU=RCPU-URCPU
步骤4-2-5:通过虚拟机内存资源总量、虚拟机内存资源使用量,求得虚拟机内存资源剩余量LRMEM=RMEM-URMEM
所述步骤5按以下步骤执行:
步骤5-1:根据最优组件服务和虚拟机剩余资源信息,确定适合删除最优组件服务副本的虚拟机VM0
步骤5-1-1:计算部署有最优组件服务的虚拟机集合VMs中各虚拟机资源体积V,即虚拟机CPU资源利用率UCPU与虚拟机内存资源利用率UMEM之积;
V=UCPU*UMEM
步骤5-1-2:比较所有部署有最优组件服务的虚拟机的资源体积V,得出其中资源体积最大的虚拟机VMo,即为适合删除最优组件服务副本的虚拟机;
步骤5-2:根据瓶颈组件服务的资源需求量和虚拟机剩余资源信息,确定适合部署瓶颈组件服务副本的虚拟机VMx
步骤5-2-1:计算增量部署瓶颈组件服务副本后虚拟机的CPU资源利用率Uq CPU
U q CPU = UR q CPU + SR CPU R q CPU ;
其中, SR CPU < LR q CPU ;
步骤5-2-2:根据增量部署瓶颈组件服务副本后虚拟机CPU资源利用率Uq CPU计算SLA违背率fSLA(VMq),即虚拟机q的SLA违背率;
f SLA ( VM q ) = 1 - 1 1 + e ( UR q CPU + SR CPU R q CPU - m ) ;
步骤5-2-3:根据虚拟机资源剩余量、增量部署瓶颈组件服务所需的CPU资源需求量SRCPU和SLA违背率,求得虚拟机q的加权值,比较各虚拟机的加权值,加权值最大的虚拟机VMx即为适合部署瓶颈组件服务的虚拟机VMχ
VM &chi; = arg max ( ( LR q CPU - SR CPU ) &times; k 1 + ( LR q MEM - SR MEM ) &times; k 2 + ( 1 - f SLA ( VM q ) ) &times; k 3 )
其中, SR CPU < LR q CPU , SR MEM < LR q MEM , k1、k2和k3是自定义的权重;
步骤5-3:根据适合删除最优组件服务副本的虚拟机VMo和适合部署瓶颈组件服务的虚拟机VMχ,确定组件服务副本增删决策,即在虚拟机VMo中删除最优组件服务副本和在VMx上部署瓶颈组件副本。
有益效果:
本发明通过对历史数据的学习,预测用户的并发请求量,通过判断瓶颈组件服务和最优组件服务得出组件服务副本增删策略,通过执行组件服务增删策略,达到实现云服务的性能保证的效果。
附图说明
图1为本发明具体实施方式的基于组件服务副本增删的云服务资源动态配置系统结示意图;其中:①虚拟机资源状态、虚拟机性能状态、组件服务状态数据;②虚拟机性能状态和组件服务状态数据;③虚拟机资源状态数据;④组件服务性能指标数据;⑤组件服务调用关系及组件服务调用频率;⑥瓶颈组件服务和最优组件服务;
图2为本发明具体实施方式的云服务资源动态配置方法流程图;
图3为本发明具体实施方式的云服务资源动态配置方法的步骤3具体流程图;
图4为本发明具体实施方式的云服务资源动态配置方法的分析云服务性能状态数据流程图;
图5为本发明具体实施方式的云服务资源动态配置方法的分析各虚拟机资源状态数据流程图;
图6为本发明具体实施方式的云服务资源动态配置方法的步骤5具体流程图;
图7为本发明具体实施方式的云服务中的组件服务调用关系和初始部署情况示意图;
图8为本发明具体实施方式的并发请求量变化曲线图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细说明。
一种基于组件服务副本增删的云服务资源动态配置系统,该系统在云服务的服务器中实现;如图1所示,包括注册模块、质量参数生成模块、监测模块、评价模块和控制模块;
注册模块用于对云服务提供者与云服务使用者协商后的SLA进行注册;
质量参数生成模块用于提取SLA中的信息,生成约定质量参数,包括组件服务平均运行时延、虚拟机CPU资源利用率和虚拟机内存资源利用率;
监控模块用于周期性采集云服务环境中的虚拟机资源状态、云服务性能状态数据并保存;
评价模块用于分析虚拟机资源状态、虚拟机性能状态,得出各虚拟机资源信息、组件服务质量、组件服务重要性、组件服务资源需求量,并且结合云服务环境中虚拟机剩余资源信息得出组件服务副本增删决策;
控制模块用于根据副本增删决策进行组件服务增删。
所述监控模块包括数据采集模块、数据传输模块、数据解析模块、虚拟机资源状态库和云服务性能状态库;
数据采集模块用于周期性采集云服务环境中各虚拟机资源状态、云服务性能状态数据;
数据传输模块用于将采集到的数据以XML的形式进行封包并通过Sockets协议进行传输;
数据解析模块用于对云服务环境中各虚拟机资源状态、云服务性能状态数据的XML形式数据进行解析;
虚拟机资源状态库用于存储解析得到的虚拟机资源状态数据;
云服务性能状态库用于存储虚拟机性能状态和云服务性能状态数据。
采用所述的云服务资源动态配置系统的云服务资源动态配置方法,如图2所示,包括以下步骤:
步骤1:对云服务提供者与云服务使用者协商后的SLA进行注册;
步骤2:提取SLA中的信息,生成约定质量参数,包括组件服务平均运行时延、虚拟机CPU资源利用率和虚拟机内存资源利用率;
步骤3:周期性采集云服务环境中的虚拟机资源状态、云服务性能状态数据并保存;
虚拟机资源状态包括虚拟机CPU资源状态和虚拟机内存资源状态,其中,虚拟机CPU资源状态包括虚拟机CPU资源总量和虚拟机CPU资源使用量,虚拟机内存资源状态包括虚拟机内存资源总量和虚拟机内存资源使用量;
云服务性能状态数据包括组件服务调用频率、组件服务业务执行时间和网络数据传输时间;
如图3所示,具体步骤如下:
步骤3-1:周期性采集云服务环境中各虚拟机资源状态、云服务性能状态数据;
步骤3-2:将采集到的数据以XML的形式进行封包;
步骤3-3:通过Sockets协议对封包后的数据进行传输;
步骤3-4:对云服务环境中各虚拟机资源状态、云服务性能状态数据的XML形式数据进行解析;
步骤3-5:将解析得到的虚拟机资源状态数据存入虚拟机资源状态库;
步骤3-6:将云服务性能状态数据存入云服务性能状态库。
步骤4:分析虚拟机资源状态和组件服务状态数据,得出各虚拟机资源信息、组件服务质量、组件服务重要性、组件服务资源需求量;,具体流程如图4所示
步骤4-1:分析云服务性能状态数据,得出组件服务重要性、组件服务质量、组件服务资源需求量,如图4所示;
步骤4-1-1:通过组件服务性能指标数据,对组件服务质量进行评估;
组件服务性能指标数据包括组件服务的平均数据量、组件服务及其副本拥有最大可用资源时的最小处理时间、组件服务所能承担的负载;
步骤4-1-1-1:计算组件服务运行时延DT,即组件服务业务的执行时间Ttransaction和网络数据传输时间Ttransmission之和;
DT=Ttransaction+Ttransmission
步骤4-1-1-2:利用组件服务的平均数据量DA(ci)、组件服务及其副本拥有最大可用资源时的最小处理时间MT(ci)、组件服务所能承担的负载ML(ci)和组件服务当前的负载CL(ci),计算组件服务平均运行时延;
DT ( c i ) = &Sigma; k = 1 n i DA ( c k i ) &times; &Sigma; k = 1 n i MT ( c k i ) &times; &Sigma; k = 1 n i ML ( c k i ) &Sigma; k = 1 n i ML ( c k i ) - &Sigma; k = 1 n i CL ( c k i )
其中,ni表示组件服务i拥有的副本数量,表示组件服务ci的第k个副本;
步骤4-1-1-3:将组件服务平均运行时延与约定质量参数中的组件服务平均运行时延进行比对,得到组件服务质量;
步骤4-1-2:通过组件服务调用关系及组件服务调用频率,对组件服务重要性进行评估;
步骤4-1-2-1:通过一个周期内组件服务调用次数来确定组件服务调用频率,进而求得组件服务cj被ci调用的频率Fij
组件服务ci有ni个副本且cj有nj个副本时,组件服务cj被ci调用的频率则可以通过计算所有副本之间调用的频率之和得到其中,为组件服务ci的第k1个组件服务副本调用组件服务cj的第k2个组件服务副本的调用频率;
步骤4-1-2-2:根据组件服务调用关系和组件服务调用频率,分别计算每个组件服务相对其他所有组件服务的权值eij
e ij = F ij &Sigma; j = 1 n F ij ;
其中,n表示组件服务个数;
步骤4-1-2-3:各个组件服务相对其他所有组件服务的权值构成组件服务权值矩阵E,其中每个组件服务相对其他所有组件的权值和为1;
E = e 11 e 12 . . . e 1 n e 21 e 22 . . . e 2 n e 31 e 23 . . . e 3 n e 41 e 24 . . . e 4 n ;
步骤4-1-2-4:分别计算出每个组件服务的重要性值v(ci):
v ( c i ) = 1 - K n + K &times; &Sigma; k &Element; N ( c i ) v ( c k ) e ki
其中:N(ci)为各组件服务的下标集合,该集合中不包括组件服务ci;K是用来调整组件服务自身重要性和其他组件服务对其重要性的影响的常数;
步骤4-1-2-5:各组件服务的重要性值构成向量矩阵,利用该向量矩阵调整权值,直到各组件服务的重要性值都稳定,即权值变化稳定在误差范围内;
v ( c 1 ) . . . v ( c n ) = ( 1 - K ) / n . . . ( 1 - K ) / n + K &times; E T v ( c 1 ) . . . v ( c n ) ;
步骤4-1-3:根据各组件服务的重要性和各组件服务质量,确定瓶颈组件服务和最优组件服务;
步骤4-1-3-1:计算组件服务的综合评估值CE(ci),即组件服务的重要性值v(ci)与组件服务平均运行时延DT(ci)之积;
步骤4-1-3-2:比较所有组件服务的综合评估值CE(ci),组件服务综合评估值最大的组件服务为瓶颈组件服务;
步骤4-1-3-3:比较所有组件服务的综合评估值CE(ci),组件服务综合评估值最小的组件服务为最优组件服务;
步骤4-1-4:通过云服务性能状态数据、云服务性能状态数据,得出组件服务资源需求量;
步骤4-1-4-1:建立组件服务并发请求量和CPU资源需求量/内存资源需求量之间的关系模型;
y+y2+y3=α01x+α2x2
其中,y表示CPU资源需求量/内存资源需求量,x表示组件服务并发请求量,α0、α1、α2分别为x的0次方至2次方的系数;
步骤4-1-4-2:建立CPU资源需求量/内存资源需求量误差平方和SSE模型;
SSE = &Sigma; i = 1 n ( y i - y ^ ) 2 = &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] 2
其中,yi表示组件服务i的CPU资源需求量/内存资源需求量,xi表示组件服务i的组件服务并发请求量,样本估计值分别为α0、α1、α2的估计值;
步骤4-1-4-3:建立关系模型对应的最小二乘方程;
&PartialD; SSE &PartialD; &alpha; ^ 0 = 0 , &PartialD; SSE &PartialD; &alpha; ^ 1 = 0 , &PartialD; SSE &PartialD; &alpha; ^ 2 = 0
&PartialD; SSE &PartialD; &alpha; ^ 0 = 2 &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] ( - 1 ) = 0
&PartialD; SSE &PartialD; &alpha; ^ 1 = 2 &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] ( - x i ) = 0
&PartialD; SSE &PartialD; &alpha; ^ 2 = 2 &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] ( - x i 2 ) = 0
步骤4-1-4-4:极小化SSE的样本估计值求解最小二乘方程,得到关于样本估计值的线性方程,进而求得
&Sigma; i = 1 n y i = n &alpha; ^ 0 + &alpha; ^ 1 &Sigma; i = 1 n x i + &alpha; ^ 2 &Sigma; i = 1 n x i 2
&Sigma; i = 1 n x i y i = &alpha; ^ 0 &Sigma; i = 1 n x i + &alpha; ^ 1 &Sigma; i = 1 n x i 2 + &alpha; ^ 2 &Sigma; i = 1 n x i 3
&Sigma; i = 1 n x i 2 y i = &alpha; ^ 0 &Sigma; i = 1 n x i 2 + &alpha; ^ 1 &Sigma; i = 1 n x i 3 + &alpha; ^ 2 &Sigma; i = 1 n x i 4
步骤4-1-4-5:将作为α0、α1、α2代入关系模型,确定最终的关系模型;
步骤4-1-4-6:计算新增组件服务副本的组件服务并发请求量ρ;
&rho; = &Sigma; k = 1 n &rho; k n + 1
或者 &rho; = n &times; &rho; 1 n + 1
其中,组件服务副本的并发请求量为ρ(ρ12,...,ρn),ρ12,...,ρn均相等;
步骤4-1-4-7:根据新增组件服务副本的组件服务并发请求量ρ,利用组件服务并发请求量和CPU资源需求量/内存资源需求量之间的关系模型,求出新增服务副本所需的CPU资源需求量SRCPU/内存资源需求量SRMEM
步骤4-2:分析各虚拟机资源状态数据,得出各虚拟机剩余资源信息,包括CPU资源剩余量和内存资源剩余量,如图5所示;
步骤4-2-1:分析虚拟机资源状态数据,得到虚拟机CPU资源总量RCPU、虚拟机内存资源总量RMEM、虚拟机CPU资源使用量URCPU、虚拟机内存资源使用量URMEM
步骤4-2-2:根据虚拟机CPU资源总量、虚拟机CPU资源使用量,得到虚拟机CPU资源利用率UCPU
步骤4-2-3:通过SLA和虚拟机CPU资源利用率,求得虚拟机的SLA违背率fSLA(VM):
f SLA ( VM q ) = 1 - 1 1 + e ( U q CPU - m )
其中,虚拟机q的CPU资源利用率,虚拟机CPU资源利用率不高于SLA约定的CPU利用率阈值m=0.9;
步骤4-2-4:根据虚拟机CPU资源总量、虚拟机CPU资源使用量,求得虚拟机CPU资源剩余量LRCPU=RCPU-URCPU
步骤4-2-5:通过虚拟机内存资源总量、虚拟机内存资源使用量,求得虚拟机内存资源剩余量LRMEM=RMEM-URMEM
步骤5:根据组件服务质量、组件服务重要性、组件服务资源需求量和云平台中虚拟机剩余资源信息得出组件服务副本增删决策,该决策包括适合删除最优组件服务副本的虚拟机和适合部署瓶颈组件服务副本的虚拟机;
具体流程如图6所示,按以下步骤进行:
步骤5-1:根据最优组件服务和虚拟机剩余资源信息,确定适合删除最优组件服务副本的虚拟机VM0
步骤5-1-1:计算部署有最优组件服务的虚拟机集合VMs中各虚拟机资源体积V,即虚拟机CPU资源利用率UCPU与虚拟机内存资源利用率UMEM之积;
V=UCPU*UMEM
步骤5-1-2:比较所有部署有最优组件服务的虚拟机的资源体积V,得出其中资源体积最大的虚拟机VMo,即为适合删除最优组件服务副本的虚拟机;
步骤5-2:根据瓶颈组件服务的资源需求量和虚拟机剩余资源信息,确定适合部署瓶颈组件服务副本的虚拟机VMx
步骤5-2-1:计算增量部署瓶颈组件服务副本后虚拟机的CPU资源利用率Uq CPU
U q CPU = UR q CPU + SR CPU R q CPU ;
其中, SR CPU < LR q CPU ;
步骤5-2-2:根据增量部署瓶颈组件服务副本后虚拟机CPU资源利用率Uq CPU计算SLA违背率fSLA(VMq),即虚拟机q的SLA违背率;
f SLA ( VM q ) = 1 - 1 1 + e ( UR q CPU + SR CPU R q CPU - m ) ;
步骤5-2-3:根据虚拟机资源剩余量、增量部署瓶颈组件服务所需的CPU资源需求量SRCPU和SLA违背率,求得虚拟机q的加权值,比较各虚拟机的加权值,加权值最大的虚拟机VMx即为适合部署瓶颈组件服务的虚拟机VMχ
VM &chi; = arg max ( ( LR q CPU - SR CPU ) &times; k 1 + ( LR q MEM - SR MEM ) &times; k 2 + ( 1 - f SLA ( VM q ) ) &times; k 3 )
其中, SR CPU < LR q CPU , SR MEM < LR q MEM , k1、k2和k3是自定义的权重;
步骤5-3:根据适合删除最优组件服务副本的虚拟机VMo和适合部署瓶颈组件服务的虚拟机VMχ,确定组件服务副本增删决策,即在虚拟机VMo中删除最优组件服务副本和在VMx上部署瓶颈组件副本。
步骤6:根据组件服务副本增删决策进行组件服务增删。
本实施方式的物理机环境与虚拟机配置如下:
物理环境是:一台HP Z820工作站以及若干台HP Compaq 8080台式机作为物理机,利用KVM虚拟机化技术将服务器虚拟化成三个虚拟机,放入虚拟机资源池。
物理机配置以及对物理机完成的虚拟化处理之后的各个虚拟机具体资源配置情况如表1所示。
表1物理机和虚拟机初始化配置表
在3个虚拟机上安装Linux操作系统,在Linux操作系统中安装tomcat中间件来部署java开发的云服务,这里还在其中一个虚拟机上安装了nginx软件。依靠nginx来实现面向多副本的云服务的负载均衡,即同一个部署多个副本的组件服务可以分担所有的用户请求,这里每个副本都是等权重的。基于这两个软件,部署如表2所示的虚拟机软件环境;
表2各虚拟机的软件配置表
云服务仿真案例和部署拓扑结构:
本实施方式的云服务包含4个组件服务,分别是开始计算组件服务(Calculate,c1)、加法组件服务(Add,c2)、乘法组件服务(Multiple,c3)以及结果组件服务(ShowResult,c4)。组件服务c1执行完后可能会调用组件服务c2或组件服务c3,而组件服务c2和c3执行完都会调用组件服务c4。具体云服务中的组件服务调用关系和初始部署情况如图7所示,初始部署云服务时在虚拟机VM1上部署了一个组件服务c1,在虚拟机VM2上部署了c1的一个组件服务副本,在虚拟机VM3上部署了组件服务c2、c3和c4(VM1:nginx+c1;VM2:c1;VM3:c2、c3、c4)。本实施方式的仿真案例的并发请求量变化曲线如图8所示,在实验实施过程中,施加在云服务上的并发请求量是动态变化的,以保证最大的仿真效果。
上述案例中使用两种方法:LoadRunner监测工具和日志解析(自编代码)。组件服务运行过程中会输出各种监测指标到日志文件。首先使用LoadRunner施压,即提供用户并发请求。之后,可以使用LoadRunner监测工具,解析日志文件得出并发请求下的服务响应时间以及各组件服务的平均运行时延。为了解析出日志中的虚拟机的CPU利用率、内存利用率和带宽利用率,我们自编一些程序截取日志中的相关信息。
通过实验可以监测到一段时间内的各项指标变化:10min时间段内,云服务响应时间(T)随并发请求量的变化,它是衡量服务性能的最重要的指标;当响应时间T>Ts时,监测每个组件服务及其副本被哪些组件服务调用以及调用频率(),每个组件服务及其副本的平均数据量(DA(c1),DA(c2),DA(c3),DA(c4))以及最小处理时间(MT1,MT2,MT3,MT4);监测随并发请求量变化时各个组件服务的最大用户请求并发量(ML1,ML2,ML3,ML4)。

Claims (6)

1.一种基于组件服务副本增删的云服务资源动态配置系统,其特征在于:该系统在云服务的服务器中实现;
该系统包括注册模块、质量参数生成模块、监测模块、评价模块和控制模块;
注册模块用于对云服务提供者与云服务使用者协商后的SLA进行注册;
质量参数生成模块用于提取SLA中的信息,生成约定质量参数,包括组件服务平均运行时延、虚拟机CPU资源利用率和虚拟机内存资源利用率;
监控模块用于周期性采集云服务环境中的虚拟机资源状态、云服务性能状态数据并保存;
评价模块用于分析虚拟机资源状态、云服务性能状态,得出各虚拟机资源信息、组件服务质量、组件服务重要性、组件服务资源需求量,并且结合云服务环境中虚拟机剩余资源信息得出组件服务副本增删决策;
控制模块用于根据副本增删决策进行组件服务增删。
2.根据权利要求1所述的基于组件服务副本增删的云服务资源动态配置系统,其特征在于:所述监控模块包括数据采集模块、数据传输模块、数据解析模块、虚拟机资源状态库和云服务性能状态库;
数据采集模块用于周期性采集云服务环境中各虚拟机资源状态、云服务性能状态数据;
数据传输模块用于将采集到的数据以XML的形式进行封包并通过Sockets协议进行传输;
数据解析模块用于对云服务环境中各虚拟机资源状态、云服务性能状态数据的XML形式数据进行解析;
虚拟机资源状态库用于存储解析得到的虚拟机资源状态数据;
云服务性能状态库用于存储虚拟机性能状态和云服务性能状态数据。
3.采用权利要求1所述的云服务资源动态配置系统的云服务资源动态配置方法,其特征在于:包括以下步骤:
步骤1:对云服务提供者与云服务使用者协商后的SLA进行注册;
步骤2:提取SLA中的信息,生成约定质量参数,包括组件服务平均运行时延、虚拟机CPU资源利用率和虚拟机内存资源利用率;
步骤3:周期性采集云服务环境中的虚拟机资源状态、云服务性能状态数据并保存;
虚拟机资源状态包括虚拟机CPU资源状态和虚拟机内存资源状态,其中,虚拟机CPU资源状态包括虚拟机CPU资源总量和虚拟机CPU资源使用量,虚拟机内存资源状态包括虚拟机内存资源总量和虚拟机内存资源使用量;
云服务性能状态数据包括组件服务调用频率、组件服务业务执行时间和网络数据传输时间;
步骤4:分析虚拟机资源状态和云服务性能状态数据,得出各虚拟机资源信息、组件服务质量、组件服务重要性、组件服务资源需求量;
步骤5:根据组件服务质量、组件服务重要性、组件服务资源需求量和云平台中虚拟机剩余资源信息确定适合删除最优组件服务副本的虚拟机和适合部署瓶颈组件服务副本的虚拟机,得出组件服务副本增删决策,该决策包括删除最优组件服务副本和部署瓶颈组件副本;
步骤6:根据组件服务副本增删决策进行组件服务增删。
4.根据权利要求3所述的云服务资源动态配置方法,其特征在于:所述步骤3按以下步骤执行:
步骤3-1:周期性采集云服务环境中各虚拟机资源状态、云服务性能状态数据;
步骤3-2:将采集到的数据以XML的形式进行封包;
步骤3-3:通过Sockets协议对封包后的数据进行传输;
步骤3-4:对云服务环境中各虚拟机资源状态、云服务性能状态数据的XML形式数据进行解析;
步骤3-5:将解析得到的虚拟机资源状态数据存入虚拟机资源状态库;
步骤3-6:将云服务性能状态数据存入云服务性能状态库。
5.根据权利要求3所述的云服务资源动态配置方法,其特征在于:所述步骤4按以下步骤执行:
步骤4-1:分析云服务性能状态数据,得出组件服务重要性、组件服务质量、组件服务资源需求量;
步骤4-1-1:通过组件服务性能指标数据,对组件服务质量进行评估;组件服务性能指标数据包括组件服务的平均数据量、组件服务及其副本拥有最大可用资源时的最小处理时间、组件服务所能承担的负载;
步骤4-1-1-1:计算组件服务运行时延,即组件服务业务的执行时间和网络数据传输时间之和;
步骤4-1-1-2:利用组件服务的平均数据量DA(ci)、组件服务及其副本拥有最大可用资源时的最小处理时间MT(ci)、组件服务所能承担的负载ML(ci)和组件服务当前的负载CL(ci),计算组件服务平均运行时延;
DT ( c i ) = &Sigma; k = 1 n i DA ( c k i ) &times; &Sigma; k = 1 n i MT ( c k i ) &times; &Sigma; k = 1 n i ML ( c k i ) &Sigma; k = 1 n i ML ( c k i ) - &Sigma; k = 1 n i CL ( c k i )
其中,ni表示组件服务i拥有的副本数量,表示组件服务ci的第k个副本;
步骤4-1-1-3:将组件服务平均运行时延与约定质量参数中的组件服务平均运行时延进行比对,得到组件服务质量;
步骤4-1-2:通过组件服务调用关系及组件服务调用频率,对组件服务重要性进行评估;
步骤4-1-2-1:通过一个周期内组件服务调用次数来确定组件服务调用频率,进而求得组件服务cj被ci调用的频率Fij
组件服务ci有ni个副本且cj有nj个副本时,组件服务cj被ci调用的频率则可以通过计算所有副本之间调用的频率之和得到其中,为组件服务ci的第k1个组件服务副本调用组件服务cj的第k2个组件服务副本的调用频率;
步骤4-1-2-2:根据组件服务调用关系和组件服务调用频率,分别计算每个组件服务相对其他所有组件服务的权值eij
e ij = F ij &Sigma; j = 1 n F ij ;
其中,n表示组件服务个数;
步骤4-1-2-3:各个组件服务相对其他所有组件服务的权值构成组件服务权值矩阵E,其中每个组件服务相对其他所有组件的权值和为1;
E = e 11 e 12 . . . e 1 n e 21 e 22 . . . e 2 n e 31 e 23 . . . e 3 n e 41 e 24 . . . e 4 n ;
步骤4-1-2-4:分别计算出每个组件服务的重要性值v(ci):
v ( c i ) = 1 - K n + K &times; &Sigma; k &Element; N ( c i ) v ( c k ) e ki
其中:N(ci)为各组件服务的下标集合,该集合中不包括组件服务ci;K是用来调整组件服务自身重要性和其他组件服务对其重要性的影响的常数;
步骤4-1-2-5:各组件服务的重要性值构成向量矩阵,利用该向量矩阵调整权值,直到各组件服务的重要性值都稳定,即权值变化稳定在误差范围内;
v ( c 1 ) . . . v ( c n ) = ( 1 - K ) / n . . . ( 1 - K ) / n + K &times; E T v ( c 1 ) . . . v ( c n ) ;
步骤4-1-3:根据各组件服务的重要性和各组件服务质量,确定瓶颈组件服务和最优组件服务;
步骤4-1-3-1:计算组件服务的综合评估值CE(ci),即组件服务的重要性值v(ci)与组件服务平均运行时延DT(ci)之积;
步骤4-1-3-2:比较所有组件服务的综合评估值CE(ci),组件服务综合评估值最大的组件服务为瓶颈组件服务;
步骤4-1-3-3:比较所有组件服务的综合评估值CE(ci),组件服务综合评估值最小的组件服务为最优组件服务;
步骤4-1-4:通过云服务性能状态数据、组件服务并发请求量和虚拟机资源状态数据,得出组件服务资源需求量;
步骤4-1-4-1:建立组件服务并发请求量和CPU资源需求量/内存资源需求量之间的关系模型;
y+y2+y3=α01x+α2x2
其中,y表示CPU资源需求量/内存资源需求量,x表示组件服务并发请求量,α0、α1、α2分别为x的0次方至2次方的系数;
步骤4-1-4-2:建立CPU资源需求量/内存资源需求量误差平方和SSE模型;
SSE = &Sigma; i = 1 n ( y i - y ^ ) 2 = &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] 2
其中,yi表示组件服务i的CPU资源需求量/内存资源需求量,xi表示组件服务i的组件服务并发请求量,样本估计值分别为α0、α1、α2的估计值;
步骤4-1-4-3:建立关系模型对应的最小二乘方程;
&PartialD; SSE &PartialD; &alpha; ^ 0 = 0 , &PartialD; SSE &PartialD; &alpha; ^ 1 = 0 , &PartialD; SSE &PartialD; &alpha; ^ 2 = 0
&PartialD; SSE &PartialD; &alpha; ^ 0 = 2 &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] ( - 1 ) = 0
&PartialD; SSE &PartialD; &alpha; ^ 1 = 2 &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] ( - x i ) = 0
&PartialD; SSE &PartialD; &alpha; ^ 2 = 2 &Sigma; i = 1 n [ y i - ( &alpha; ^ 0 + &alpha; ^ 1 x i + &alpha; ^ 2 x i 2 ) ] ( - x i 2 ) = 0
步骤4-1-4-4:极小化SSE的样本估计值求解最小二乘方程,得到关于样本估计值的线性方程,进而求得
&Sigma; i = 1 n y i = n &alpha; ^ 0 + &alpha; ^ 1 &Sigma; i = 1 n x i + &alpha; ^ 2 &Sigma; i = 1 n x i 2
&Sigma; i = 1 n x i y i = &alpha; ^ 0 &Sigma; i = 1 n x i + &alpha; ^ 1 &Sigma; i = 1 n x i 2 + &alpha; ^ 2 &Sigma; i = 1 n x i 3
&Sigma; i = 1 n x i 2 y i = &alpha; ^ 0 &Sigma; i = 1 n x i 2 + &alpha; ^ 1 &Sigma; i = 1 n x i 3 + &alpha; ^ 2 &Sigma; i = 1 n x i 4
步骤4-1-4-5:将作为α0、α1、α2代入关系模型,确定最终的关系模型;
步骤4-1-4-6:计算新增组件服务副本的组件服务并发请求量ρ
&rho; = &Sigma; k = 1 n &rho; k n + 1
或者 &rho; = n &times; &rho; 1 n + 1
其中,组件服务副本的并发请求量为ρ(ρ12,...,ρn),ρ12,...,ρn均相等;
步骤4-1-4-7:根据新增组件服务副本的组件服务并发请求量ρ,利用组件服务并发请求量和CPU资源需求量/内存资源需求量之间的关系模型,求出新增服务副本所需的CPU资源需求量SRCPU/内存资源需求量SRMEM
步骤4-2:分析各虚拟机资源状态数据,得出各虚拟机剩余资源信息,包括CPU资源剩余量和内存资源剩余量;
步骤4-2-1:分析虚拟机资源状态数据,得到虚拟机CPU资源总量RCPU、虚拟机内存资源总量RMEM、虚拟机CPU资源使用量URCPU、虚拟机内存资源使用量URMEM
步骤4-2-2:根据虚拟机CPU资源总量、虚拟机CPU资源使用量,得到虚拟机CPU资源利用率UCPU
步骤4-2-3:通过SLA和虚拟机CPU资源利用率,求得虚拟机的SLA违背率fSLA(VM): f SLA ( VM q ) = 1 - 1 1 + e ( U q CPU - m )
其中,虚拟机q的CPU资源利用率,虚拟机CPU资源利用率不高于SLA约定的CPU利用率阈值m;
步骤4-2-4:根据虚拟机CPU资源总量、虚拟机CPU资源使用量,求得虚拟机CPU资源剩余量LRCPU=RCPU-URCPU
步骤4-2-5:通过虚拟机内存资源总量、虚拟机内存资源使用量,求得虚拟机内存资源剩余量LRMEM=RMEM-URMEM
6.根据权利要求3所述的云服务资源动态配置方法,其特征在于:所述步骤5按以下步骤执行:
步骤5-1:根据最优组件服务和虚拟机剩余资源信息,确定适合删除最优组件服务副本的虚拟机VM0
步骤5-1-1:计算部署有最优组件服务的虚拟机集合VMs中各虚拟机资源体积V,即虚拟机CPU资源利用率UCPU与虚拟机内存资源利用率UMEM之积;
V=UCPU*UMEM
步骤5-1-2:比较所有部署有最优组件服务的虚拟机的资源体积V,得出其中资源体积最大的虚拟机VMo,即为适合删除最优组件服务副本的虚拟机;
步骤5-2:根据瓶颈组件服务的资源需求量和虚拟机剩余资源信息,确定适合部署瓶颈组件服务副本的虚拟机VMx
步骤5-2-1:计算增量部署瓶颈组件服务副本后虚拟机的CPU资源利用率Uq CPU
U q CPU = UR q CPU + SR CPU R q CPU ;
其中, SR CPU < LR q CPU ;
步骤5-2-2:根据增量部署瓶颈组件服务副本后虚拟机CPU资源利用率Uq CPU计算SLA违背率fSLA(VMq),即虚拟机q的SLA违背率;
f SLA ( VM q ) = 1 - 1 1 + e ( UR q CPU + SR CPU R q CPU - m ) ;
步骤5-2-3:根据虚拟机资源剩余量、增量部署瓶颈组件服务所需的CPU资源需求量SRCPU和SLA违背率,求得虚拟机q的加权值,比较各虚拟机的加权值,加权值最大的虚拟机VMx即为适合部署瓶颈组件服务的虚拟机VMχ
VM &chi; = arg max ( ( LR q CPU - SR CPU ) &times; k 1 + ( LR q MEM - SR MEM ) &times; k 2 + ( 1 - f SLA ( VM q ) ) &times; k 3 )
其中, SR CPU < LR q CPU , SR MEM < LR q MEM , k1、k2和k3是自定义的权重;
步骤5-3:根据适合删除最优组件服务副本的虚拟机VMo和适合部署瓶颈组件服务的虚拟机VMχ,确定组件服务副本增删决策,即在虚拟机VMo中删除最优组件服务副本和在VMx上部署瓶颈组件副本。
CN201410512536.1A 2014-09-26 2014-09-26 基于组件服务副本增删的云服务资源动态配置系统及方法 Active CN104301403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410512536.1A CN104301403B (zh) 2014-09-26 2014-09-26 基于组件服务副本增删的云服务资源动态配置系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410512536.1A CN104301403B (zh) 2014-09-26 2014-09-26 基于组件服务副本增删的云服务资源动态配置系统及方法

Publications (2)

Publication Number Publication Date
CN104301403A true CN104301403A (zh) 2015-01-21
CN104301403B CN104301403B (zh) 2017-09-26

Family

ID=52320966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410512536.1A Active CN104301403B (zh) 2014-09-26 2014-09-26 基于组件服务副本增删的云服务资源动态配置系统及方法

Country Status (1)

Country Link
CN (1) CN104301403B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506663A (zh) * 2015-01-22 2015-04-08 成都派沃特科技有限公司 一种智能云计算运行管理系统
CN104932898A (zh) * 2015-06-30 2015-09-23 东北大学 一种基于改进多目标粒子群优化算法的待增组件选择方法
CN105528250A (zh) * 2015-12-31 2016-04-27 沈阳航空航天大学 多核多线程计算机系统确定性评测及控制方法
CN106357734A (zh) * 2016-08-26 2017-01-25 广东亿迅科技有限公司 基于数据驱动的组件服务平台
CN106789377A (zh) * 2017-03-24 2017-05-31 聚好看科技股份有限公司 网元集群的服务参数更新方法
CN107395447A (zh) * 2016-03-09 2017-11-24 阿里巴巴集团控股有限公司 模块检测方法、系统容量预估方法及相应的设备
CN107590000A (zh) * 2017-09-06 2018-01-16 中国科学院上海高等研究院 二次随机资源管理方法/系统、计算机存储介质及设备
CN108154317A (zh) * 2018-01-25 2018-06-12 福建师范大学 多云环境下基于实例自适应分配整合的工作流组调度方法
CN108496338A (zh) * 2015-12-11 2018-09-04 阿尔卡特朗讯 用于电信网络中基于云服务的控制器以及提供基于云服务的方法
CN108664330A (zh) * 2018-05-16 2018-10-16 哈尔滨工业大学(威海) 一种基于变邻域搜索策略的云资源分配方法
CN109347974A (zh) * 2018-11-16 2019-02-15 北京航空航天大学 一种提高在线服务质量和集群资源利用率的在线离线混合调度系统
CN109450686A (zh) * 2018-11-12 2019-03-08 北京交通大学 一种基于普适网络的网络资源管理系统及方法
CN109902797A (zh) * 2019-04-22 2019-06-18 桂林电子科技大学 一种基于蚁群算法的云副本放置方案
CN111159714A (zh) * 2019-12-23 2020-05-15 北京工业大学 一种访问控制中主体运行时可信验证方法及系统
CN111405072A (zh) * 2020-06-03 2020-07-10 杭州朗澈科技有限公司 一种基于云厂家成本调度的混合云优化方法
CN112019385A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 一种云平台组件删除方法、装置、设备及存储介质
CN112099924A (zh) * 2020-11-18 2020-12-18 南京信易达计算技术有限公司 基于容器构建高性能计算集群系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331948A (zh) * 2011-09-01 2012-01-25 杭州湾云计算技术有限公司 一种基于资源状态的虚拟机结构调整方法和调整系统
CN102662757A (zh) * 2012-03-09 2012-09-12 浪潮通信信息系统有限公司 一种云计算程序平滑迁移的资源需求预估方法
CN104038392A (zh) * 2014-07-04 2014-09-10 云南电网公司 一种云计算资源服务质量评估方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331948A (zh) * 2011-09-01 2012-01-25 杭州湾云计算技术有限公司 一种基于资源状态的虚拟机结构调整方法和调整系统
CN102662757A (zh) * 2012-03-09 2012-09-12 浪潮通信信息系统有限公司 一种云计算程序平滑迁移的资源需求预估方法
CN104038392A (zh) * 2014-07-04 2014-09-10 云南电网公司 一种云计算资源服务质量评估方法

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506663B (zh) * 2015-01-22 2018-03-13 成都派沃特科技有限公司 一种智能云计算运行管理系统
CN104506663A (zh) * 2015-01-22 2015-04-08 成都派沃特科技有限公司 一种智能云计算运行管理系统
CN104932898A (zh) * 2015-06-30 2015-09-23 东北大学 一种基于改进多目标粒子群优化算法的待增组件选择方法
CN104932898B (zh) * 2015-06-30 2018-03-23 东北大学 一种基于改进多目标粒子群优化算法的待增组件选择方法
US10862766B2 (en) 2015-12-11 2020-12-08 Alcatel Lucent Controller for a cloud based service in a telecommunications network, and a method of providing a cloud based service
CN108496338A (zh) * 2015-12-11 2018-09-04 阿尔卡特朗讯 用于电信网络中基于云服务的控制器以及提供基于云服务的方法
CN108496338B (zh) * 2015-12-11 2021-02-02 阿尔卡特朗讯 用于电信网络中基于云服务的控制器以及提供基于云服务的方法
CN105528250B (zh) * 2015-12-31 2019-03-12 沈阳航空航天大学 多核多线程计算机系统确定性评测及控制方法
CN105528250A (zh) * 2015-12-31 2016-04-27 沈阳航空航天大学 多核多线程计算机系统确定性评测及控制方法
CN107395447A (zh) * 2016-03-09 2017-11-24 阿里巴巴集团控股有限公司 模块检测方法、系统容量预估方法及相应的设备
CN107395447B (zh) * 2016-03-09 2021-04-16 阿里巴巴集团控股有限公司 模块检测方法、系统容量预估方法及相应的设备
CN106357734A (zh) * 2016-08-26 2017-01-25 广东亿迅科技有限公司 基于数据驱动的组件服务平台
CN106789377A (zh) * 2017-03-24 2017-05-31 聚好看科技股份有限公司 网元集群的服务参数更新方法
CN107590000B (zh) * 2017-09-06 2020-11-10 中国科学院上海高等研究院 二次随机资源管理方法/系统、计算机存储介质及设备
CN107590000A (zh) * 2017-09-06 2018-01-16 中国科学院上海高等研究院 二次随机资源管理方法/系统、计算机存储介质及设备
CN108154317A (zh) * 2018-01-25 2018-06-12 福建师范大学 多云环境下基于实例自适应分配整合的工作流组调度方法
CN108154317B (zh) * 2018-01-25 2021-09-21 福建师范大学 多云环境下基于实例自适应分配整合的工作流组调度方法
CN108664330A (zh) * 2018-05-16 2018-10-16 哈尔滨工业大学(威海) 一种基于变邻域搜索策略的云资源分配方法
CN109450686A (zh) * 2018-11-12 2019-03-08 北京交通大学 一种基于普适网络的网络资源管理系统及方法
CN109347974B (zh) * 2018-11-16 2020-10-13 北京航空航天大学 提高在线服务质量和集群资源利用率的混合调度系统
CN109347974A (zh) * 2018-11-16 2019-02-15 北京航空航天大学 一种提高在线服务质量和集群资源利用率的在线离线混合调度系统
CN109902797A (zh) * 2019-04-22 2019-06-18 桂林电子科技大学 一种基于蚁群算法的云副本放置方案
CN111159714A (zh) * 2019-12-23 2020-05-15 北京工业大学 一种访问控制中主体运行时可信验证方法及系统
CN111159714B (zh) * 2019-12-23 2022-03-11 北京工业大学 一种访问控制中主体运行时可信验证方法及系统
CN111405072A (zh) * 2020-06-03 2020-07-10 杭州朗澈科技有限公司 一种基于云厂家成本调度的混合云优化方法
CN111405072B (zh) * 2020-06-03 2021-04-02 杭州朗澈科技有限公司 一种基于云厂家成本调度的混合云优化方法
CN112019385A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 一种云平台组件删除方法、装置、设备及存储介质
CN112019385B (zh) * 2020-08-28 2022-11-25 北京浪潮数据技术有限公司 一种云平台组件删除方法、装置、设备及存储介质
CN112099924A (zh) * 2020-11-18 2020-12-18 南京信易达计算技术有限公司 基于容器构建高性能计算集群系统
CN112099924B (zh) * 2020-11-18 2022-02-15 南京信易达计算技术有限公司 基于容器构建高性能计算集群系统

Also Published As

Publication number Publication date
CN104301403B (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
CN104301403A (zh) 基于组件服务副本增删的云服务资源动态配置系统及方法
Rossi et al. Geo-distributed efficient deployment of containers with Kubernetes
Feller et al. Energy-aware ant colony based workload placement in clouds
Sun et al. Modeling a dynamic data replication strategy to increase system availability in cloud computing environments
CN102130938B (zh) 一种面向Web应用宿主平台的资源供给方法
Addis et al. Autonomic management of cloud service centers with availability guarantees
CN102932422B (zh) 基于改进蚁群算法的云环境任务调度方法
Fan et al. Agent-based service migration framework in hybrid cloud
Sharkh et al. An evergreen cloud: Optimizing energy efficiency in heterogeneous cloud computing architectures
Li An adaptive overload threshold selection process using Markov decision processes of virtual machine in cloud data center
Chakrabarti et al. A pareto framework for data analytics on heterogeneous systems: Implications for green energy usage and performance
Zhou et al. Virtual machine migration algorithm for energy efficiency optimization in cloud computing
Fernández-Cerero et al. Sphere: Simulator of edge infrastructures for the optimization of performance and resources energy consumption
Zhou et al. An experience-based scheme for energy-SLA balance in cloud data centers
CN105404549A (zh) 基于yarn架构的虚拟机调度系统
Shi et al. MapReduce short jobs optimization based on resource reuse
Zaidi Virtual Machine Allocation Policy in Cloud Computing Environment using CloudSim.
Du et al. Dynamic scheduling with process migration
Lu et al. InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud
Bui et al. Energy efficiency in cloud computing based on mixture power spectral density prediction
Visheratin et al. Hard-deadline constrained workflows scheduling using metaheuristic algorithms
Wang et al. An Efficient Load Prediction-Driven Scheduling Strategy Model in Container Cloud
Okada et al. Consolidation of VMs to improve energy efficiency in cloud computing environments
Liang et al. A high-applicability heterogeneous cloud data centers resource management algorithm based on trusted virtual machine migration
Arabas Modeling and simulation of hierarchical task allocation system for energy-aware HPC clouds

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 110819 No. 3 lane, Heping Road, Heping District, Shenyang, Liaoning 11

Patentee after: Northeastern University

Patentee after: North Laboratory (Shenyang) Co.,Ltd.

Address before: 110819 No. 3 lane, Heping Road, Heping District, Shenyang, Liaoning 11

Patentee before: Northeastern University

Patentee before: LIAONING NORTH LABORATORIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210302

Address after: 110180 No.02, 21st floor, No.6-1, Sanyi street, Hunnan New District, Shenyang City, Liaoning Province

Patentee after: North Laboratory (Shenyang) Co.,Ltd.

Address before: 110819 No. 3 lane, Heping Road, Heping District, Shenyang, Liaoning 11

Patentee before: Northeastern University

Patentee before: North Laboratory (Shenyang) Co.,Ltd.