CN104135535A - 一种面向云计算的租户调整方法及系统 - Google Patents

一种面向云计算的租户调整方法及系统 Download PDF

Info

Publication number
CN104135535A
CN104135535A CN201410399793.9A CN201410399793A CN104135535A CN 104135535 A CN104135535 A CN 104135535A CN 201410399793 A CN201410399793 A CN 201410399793A CN 104135535 A CN104135535 A CN 104135535A
Authority
CN
China
Prior art keywords
tenant
virtual machine
charging point
benefit
monitoring period
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
CN201410399793.9A
Other languages
English (en)
Other versions
CN104135535B (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.)
Suzhou University
Original Assignee
Suzhou University
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 Suzhou University filed Critical Suzhou University
Priority to CN201410399793.9A priority Critical patent/CN104135535B/zh
Publication of CN104135535A publication Critical patent/CN104135535A/zh
Application granted granted Critical
Publication of CN104135535B publication Critical patent/CN104135535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向云计算的租户调整方法及系统,通过基于SLA中多种效益的计算,当出现一个或多个虚拟机不满足负载需求时,对这些调整虚拟机上的租户的分布进行调整,在保证系统效益的情况下,将租户迁移至其他虚拟机上,实现本发明目的。本发明通过动态调整每个虚拟机中的租户,使得在有限数据库资源的情况下,保证租户的SLA质量需求及良好的系统效益。

Description

一种面向云计算的租户调整方法及系统
技术领域
本发明涉及云计算技术领域,特别涉及一种面向云计算的租户方法及系统。
背景技术
云计算包括有三种服务:SaaS(Software as a Service,软件即服务),PaaS(Platform as a Service,平台即服务)以及IaaS(Infrastructure as a Service,基础架构即服务)。其中,SaaS模式通过网络提供软件服务;PaaS模式把开发集成环境作为服务提供,客户可以通过互联网直接使用开发平台;IaaS模式则是将硬件设备等基础设施资源封装成服务。SaaS通常向IaaS提供商租用虚拟机。每个SaaS提供商通常以租用尽可能少的资源,服务尽可能多的租户为目的。
SLA(Service-Level Agreement,服务等级协议),其本质上是SaaS提供商和租户之间的合同,记录了协议双方协商出来的用来保证服务质量的内容。SLA包括目标有效时间、SLA参数、与参数有关的度量等。SLA参数在SLA中起到标尺的作用,常用的参数如服务的平均响应时间、并发服务的客户数目、服务的有效性等。
SaaS通常采用共享数据库的资源的数据库模式为租户提供软件服务。为了满足不同租户的不同质量需求,提高资源利用率,对租赁的资源进行动态资源调整称为一种有效的手段。相比已有的面向独立数据库模式的资源调整方法,面向共享数据库的资源管理需要考虑SaaS软件的多租户共享特性,多个租户共享一个虚拟机,需要考虑租户之间的性能影响。但是,由于SaaS提供商没有权限调整虚拟机的配置,使得应用于IaaS提供商和独立的数据库模式的数据库资源调整技术无法应用于SaaS提供商和共享数据库模式,使得SaaS提供商无法调整数据库资源以提高租户对应的SLA质量需求。
因此,亟需一种能够有效调整数据库资源,在有限数据库资源的情况下,保证租户的SLA质量需求的技术方案。
发明内容
本发明的目的在于提供一种面向云计算的租户调整方法及系统,用以能够在有效调整数据库资源,在有限数据库资源的情况下,保证租户的SLA质量需求。
本发明提供了一种面向云计算的租户调整方法,应用于虚拟机集合,所述虚拟机集合中包括多台虚拟机,每台所述虚拟机上部署有云计算软件代码,每台所述虚拟机对应至少一个租户,所述方法包括:
获取每个预设监控周期内在每台所述虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本,每个所述计费样本包括第一计费点集合和第二计费点集合;
依据每个所述计费样本中的第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益;
依据每个所述监控周期内的租户效益、虚拟机效益及系统效益,获取预设时间长内的所有监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,所有所述监控周期组成所述预设时间长;
依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的服务等级协议SLA满足率;
在每个所述监控周期中,依据每台所述虚拟机对应的预设报警规则,对其各自对应的每个租户的SLA满足率进行报警判断,生成每个所述监控周期内每台所述虚拟机的报警记录表;
根据所述报警记录表,获取每个所述租户在预设时间长内的所有监控周期内的报警次数;
将出现所述报警次数大于其对应虚拟机的报警规则中的报警次数上限值的租户所在的虚拟机确定为调整虚拟机,对每台所述调整虚拟机上的租户执行以下步骤:
利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表,所述租户调整列表中包括至少一个目标租户及其各自对应的目标虚拟机,所述目标虚拟机区别于所述调整虚拟机;
将每台所述调整虚拟机中租户调整列表内的目标租户迁移至其对应的目标虚拟机中。
上述方法,优选的,所述获取每个预设监控周期内在每台所述虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本,包括:
预先标记每台所述虚拟机上的每组所述云计算软件代码的计费点;
在每个所述计费点前后分别置入样本采集对象,所述样本采集对象用于获取其对应计费点的执行时间长度;
在每个所述计费点开始被执行之后,将执行时间长度大于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第一计费点集合中,将执行时间长度小于或等于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第二计费点集合中;
将每个预设监控周期内的所述第一计费点集合及所述第二计费点集合分别进行组合,得到每个所述监控周期内的计费样本。
上述方法,优选的,所述依据每个所述计费样本中的第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益,包括:
利用 BT < i , k > = &Sigma; s = 1 S ( SN < i , k , s > &times; R s - AN < i , k , s > &times; P s ) , 获取每个所述监控周期内的每个租户的租户效益,SN<i,k,s>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,AN<i,k,s>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,Rs为计费类型Ts对应的计费点价格,Ps为计费类型Ts对应的罚金数值,S为总的计费类型的数量,BT<i,k>为租户i在所述监控周期k内租户效益;
利用获取每个所述监控周期内的每台虚拟机的虚拟机效益,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,Mj为虚拟机j的租用成本值,N为总的租户的数量,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益;
利用获取每个所述监控周期内的系统效益,M为总的虚拟机数量,SysBRk为所述监控周期k内的系统效益。
上述方法,优选的,所述依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的SLA满足率,包括:
利用 ASLA < i , k > = SN < i , k > ( SN < i , k > + AN < i , k > ) SN < i , k > + AN < i , k > > AVG k AVG k - AN < i . k > AVG k SN < i . k > + AN < i , k > &le; AVG k , 获取每个所述监控周期内每个所述租户的SLA满足率,SN<i,k>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AN<i,k>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AVGk为所述监控周期k内所有租户的平均计费点执行数量;
其中, AVG k = &Sigma; i = 1 N ( SN < i , k > + AN < i , k > ) N , N为总的租户的数量。
上述方法,优选的,所述利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表,包括:
预先设置空的租户调整列表;
在所述调整虚拟机中,选取在所述租户调整列表中未出现且未被选取过的租户;
在所述虚拟机集合中除所述调整虚拟机之外的所有虚拟机的报警规则中的最小SLA满足率减去所述调整虚拟机的报警规则中的最小SLA满足率,得到满足率差;
将满足率差的绝对值小于预设第一阈值的虚拟机确定为候选虚拟机,组成候选虚拟机列表;
确定所述候选虚拟机列表中,具有最低平均虚拟机效益且若添加选取的租户后的平均虚拟机计费点执行数量小于或等于其预设的虚拟机计费点执行数量最大值的候选虚拟机,为选取的租户对应的目标虚拟机;
利用 &Delta;ASysBR = ASysBR k N &prime; - ART i + TCost i , 获取若将选取的租户添加至所述目标虚拟机之后的平均系统效益与添加前的平均系统效益的效益差,TCosti为选取的租户i的数据迁移成本,N'为所述目标虚拟机k中的租户数量,ARTi为租户i的平均租户计费点执行数量,ASysBRk为所述目标虚拟机k内的平均系统效益,ΔASysBR为所述效益差;
把若迁出选取的租户之前的调整虚拟机的平均虚拟机计费点执行数量减去选取的租户的平均租户计费点执行数量,得到所述调整虚拟机的若迁出选取的租户之后的平均虚拟机计费点执行数量;
若所述迁出选取的租户之后的平均虚拟机计费点执行数量大于所述调整虚拟机计费点执行数量最大值或所述效益差小于或等于0,返回执行在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选取过的租户,直到若将重新选取的租户迁移至所述调整虚拟机之后所述调整虚拟机的平均虚拟机计费点执行数量小于或等于所述调整虚拟机计费点执行数量最大值且所述效益差大于0,将选取的租户确定为目标租户,将所述目标租户与其对应的目标虚拟机组成一个二元组置入所述租户调整列表中,再返回执行在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到所述调整虚拟机中的所有租户均在所述租户调整列表中出现或均被选取过。
本发明还提供了一种面向云计算的租户调整系统,应用于虚拟机集合,所述虚拟机集合中包括多台虚拟机,每台所述虚拟机上部署有云计算软件代码,每台所述虚拟机对应至少一个租户,所述系统包括:
计费样本获取单元,用于获取每个预设监控周期内在每台虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本,每个所述计费样本包括第一计费点集合和第二计费点集合;
第一效益获取单元,用于依据每个所述计费样本中第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益;
第二效益获取单元,用于依据每个所述监控周期内的租户效益、虚拟机效益及系统效益,获取预设时间长内的所有监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,所有所述监控周期组成所述预设时间长;
SLA满足率获取单元,用于依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的SLA满足率;
报警记录生成单元,用于在每个所述监控周期内,依据每台所述虚拟机对应的预设报警规则,对其各自对应的每个租户的SLA满足率进行报警判断,生成每个所述监控周期内每台所述虚拟机的报警记录表;
报警次数获取单元,用于根据所述报警记录表,获取每个所述租户在预设时间长内的所有监控周期内的报警次数;
调整虚拟机确定单元,用于将出现所述报警次数大于其对应虚拟机的报警规则中的报警次数上限值的租户所在的虚拟机确定为调整虚拟机,对每台调整虚拟机触发调整列表获取单元;
调整列表获取单元,用于利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表,所述租户调整列表中包括至少一个目标租户及其各自对应的目标虚拟机,所述目标虚拟机区别于所述调整虚拟机;
租户迁移单元,用于将每台所述调整虚拟机中租户调整列表内的目标租户迁移至其对应的目标虚拟机中。
上述系统,优选的,所述计费样本获取单元包括:
计费点标记子单元,用于预先标记每台虚拟机上的每组所述云计算软件代码的计费点;
对象设置子单元,用于在每个所述计费点前后分别置入样本采集对象,所述样本采集对象用于获取其对应计费点的执行时间长度;
数据组操作子单元,用于在每个所述计费点开始被执行之后,将执行时间长度大于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第一计费点集合中,将执行时间长度小于或等于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第二计费点集合中;
样本组合子单元,用于将每个预设监控周期内的所述第一计费点集合及所述第二计费点集合分别进行组合,得到每个所述监控周期内的计费样本。
上述系统,优选的,所述第一效益获取单元包括:
租户效益获取子单元,用于利用 BT < i , k > = &Sigma; s = 1 S ( SN < i , k , s > &times; R s - AN < i , k , s > &times; P s ) , 获取每个所述监控周期内的每个租户的租户效益,SN<i,k,s>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,AN<i,k,s>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,Rs为计费类型Ts对应的计费点价格,Ps为计费类型Ts对应的罚金数值,S为总的计费类型的数量,BT<i,k>为租户i在所述监控周期k内租户效益;
虚拟机效益子单元,用于利用获取每个所述监控周期内的每台虚拟机的虚拟机效益,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,Mj为虚拟机j的租用成本值,N为总的租户的数量,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益;
系统效益子单元,用于利用获取每个所述监控周期内的系统效益,M为总的虚拟机数量,SysBRk为所述监控周期k内的系统效益。
上述系统,优选的,所述SLA满足率获取单元包括:
满足率获取子单元,用于利用 ASLA < i , k > = SN < i , k > ( SN < i , k > + AN < i , k > ) SN < i , k > + AN < i , k > > AVG k AVG k - AN < i . k > AVG k SN < i . k > + AN < i , k > &le; AVG k , 获取每个所述监控周期内每个所述租户的SLA满足率,SN<i,k,s>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AN<i,k,s>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,AVGk为所述监控周期k内所有租户的平均计费点执行数量;
其中, AVG k = &Sigma; i = 1 N ( SN < i , k > + AN < i , k > ) N , N为总的租户的数量。
上述系统,优选的,所述调整列表获取单元包括:
列表预置子单元,用于预先设置空的租户调整列表;
租户选取子单元,用于在所述调整虚拟机中,选取所述租户调整列表中未出现且未被选取过的租户;
满足率差获取子单元,用于在所述虚拟机集合中除所述调整虚拟机之外的所有虚拟机的报警规则中的最小SLA满足率减去所述调整虚拟机的报警规则中的最小SLA满足率,得到满足率差;
候选确定子单元,用于将满足率差的绝对值小于预设第一阈值的虚拟机确定为候选虚拟机,组成候选虚拟机列表;
第一目标确定子单元,用于确定所述候选虚拟机列表中,具有最低平均虚拟机效益且若添加选取的租户后的平均虚拟机计费点执行数量小于或等于其预设的虚拟机计费点执行数量最大值的候选虚拟机,为选取的租户对应的目标虚拟机;
效益差获取子单元,用于利用 &Delta;ASysBR = ASysBR k N &prime; - ART i + TCost i , 获取若将选取的租户添加至所述目标虚拟机之后的平均系统效益与添加前的平均系统效益的效益差,TCosti为选取的租户i的数据迁移成本,N'为所述目标虚拟机k中的租户数量,ARTi为租户i的平均租户计费点执行数量,ASysBRk为所述目标虚拟机k内的平均系统效益,ΔASysBR为所述效益差;
执行数量获取子单元,用于把若迁出选取的租户之前的调整虚拟机的平均虚拟机计费点执行数量减去选取的租户的平均租户计费点执行数量,得到所述待选虚拟机的若迁出选取的用户之后的平均虚拟机计费点执行数量;
数量判断子单元,用于若所述迁出选取的租户之后的平均虚拟机计费点执行数量大于所述调整虚拟机的计费点执行数量最大值或所述效益差小于等于0,触发所述租户选取子单元重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到若将重新选取的租户迁移至所述调整虚拟机之后所述调整虚拟机的平均虚拟机计费点执行数量小于或等于所述调整虚拟机计费点执行数量最大值且所述效益差大于0,触发第二目标确定单元;
第二目标确定子单元,用于将选取的租户确定为目标租户,触发目标操作子单元;
目标操作子单元,用于将所述目标租户与其对应的目标虚拟机组成一个二元组置入所述租户调整列表中,触发所述租户选取子单元重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到所述调整虚拟机中的所有租户均在所述租户调整列表中出现或均被选取过。
由上述方案可知,本发明提供的一种面向云计算的租户调整方法及系统,通过基于SLA中多种效益的计算,当出现一个或多个虚拟机不满足负载需求时,对这些调整虚拟机上的租户的分布进行调整,在保证系统效益的情况下,将租户迁移至其他虚拟机上,实现本发明目的。本发明通过动态调整每个虚拟机中的租户,使得在有限数据库资源的情况下,保证租户的SLA质量需求及良好的系统效益。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种面向云计算的租户调整方法实施例一的流程图;
图2为本发明提供的一种面向云计算的租户调整方法实施例二的部分实现流程图;
图3为本发明提供的一种面向云计算的租户调整方法实施例三的部分流程图;
图4为本发明提供的一种面向云计算的租户调整方法实施例四的部分流程图;
图5为本发明提供的一种面向云计算的租户调整方法实施例五的部分流程图;
图6为本发明提供的一种面向云计算的租户调整系统实施例六的结构示意图;
图7为本发明提供的一种面向云计算的租户调整系统实施例七的部分结构示意图;
图8为本发明提供的一种面向云计算的租户调整系统实施例八的部分结构示意图;
图9为本发明提供的一种面向云计算的租户调整系统实施例九的部分结构示意图;
图10为本发明提供的一种面向云计算的租户调整系统实施例十的部分结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,为本发明提供的一种面向云计算的租户调整方法实施例一的流程图,其中,本实施例中的方法适用于虚拟机集合中,所述虚拟机集合中包括有多台虚拟机,每台虚拟机上部署有云计算软件代码,而每台虚拟机上至少有一个租户对应。
在本实施例中,以下为例:SaaS提供商租用了6台虚拟机V1-V6来提供数据库服务,已经部署了25个租户T1-T25的数据库到这些虚拟机上,每个租户的数据库均使用共享数据库模式,初始具体分布情况如下表1所示。共享在同一个虚拟机上的租户形成了资源竞争,当某个租户出现性能报警时,需要进行租户调整。
表1 共享数据库型租户初始分布情况
其中,本实施例中的方法可以通过以下步骤实现:
步骤101:获取每个预设监控周期内在每台所述虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本。
其中,每个所述计费样本包括第一计费点集合和第二计费点集合,所述第一计费点集合为违反SLA说明书中计费点标准的计费点数据组所组成的集合,所述第二计费点为满足所述SLA说明书中计费点标准的计费点数据组所组成的集合。而所述预设监控周期可以为一小时等用户预先设置的周期值。
需要说明的是,所述第一计费点集合及所述第二计费点集合中均包括有多个计费点数据组,每个计费点数据组中均包括有四个数据员,例如,所述第二计费点集合中的一个计费点数据组的数据结构可以如下表示:
<T10,插入操作,13:24:3404/24/2014,0.5s>
其中,T10为其对应的租户名称,“插入操作”为其对应计费点的计费点类型,“13:24:3404/24/2014”为其对应计费点的计费点开始执行时间点,“0.5s”为其对应计费点的计费点执行时间长度。
另外,在所述步骤101之后,本实施例还可以利用计费样本来获取每个租户对应的当前总费用,例如:
利用 realR i = &Sigma; s = 1 S ( SN < i , s > &times; R i - AN < i , s > &times; P i ) , 获取租户i的当前总费用,其中,SN<i,s>为所述第一计费点集合中租户i执行的计费点类型为Ts的计费点数据组的个数,AN<i,s>为第二计费点集合中租户i执行的计费点类型为Ts的计费点数据组的个数,Rs为计费点类型Ts对应的计费点价格,Ps为计费点类型Ts对应的罚金数值,S为总的计费类型的数量,realRi为租户i的当前总费用。
步骤102:依据每个所述计费样本中的第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益。
具体的,所述步骤102中,利用每个所述计费样本中,所述第一计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,及所述第二计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,来获取每个所述监控周期内的租户效益、虚拟机效益及系统效益。
步骤103:依据每个所述监控周期内的租户效益、虚拟机效益及系统效益,获取预设时间长内的所有监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,所有所述监控周期组成所述预设时间长。
其中,所述预设时间长可以为一周等用户预先设置的时间长,所述预设时间长内具有多个监控周期,例如,一周中包括有7*24即168个监控周期。这里的“平均”是指,以7天为一个单位进行计算,从当前周期前溯168个监控周期(1小时)的平均值。例如,计算各个租户1-25的平均租户效益ABT和平均租户计费点执行数ART,虚拟机V1-V6的的平均虚拟机效益ABV和平均虚拟机计费点执行数ARV,以及整个SaaS软件平均系统效益ASysBR。
具体的,所述步骤103可以通过以下方式实现:
利用获取所述预设时间长中所有监控周期内的租户i的平均租户效益,BT<i,k>为租户i在所述监控周期k内租户效益,ABTi为租户i在所述预设时间长内的平均租户效益,K为所述预设时间长内监控周期的数量;
利用获取所述预设时间长中所有监控周期内的虚拟机j的平均虚拟机效益,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益,ABVj为虚拟机j在所述预设时间长内的平均虚拟机效益;
利用获取所述预设时间长中所有监控周期内平均系统效益,SysBRk为所述监控周期k内的系统效益,ASysBR为所述预设时间长内的平均系统效益;
利用获取所述预设时间长中所有监控周期内租户i的平均租户计费点执行数量,SN<i,k>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AN<i,k>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,ARTi为租户i在所述预设时间长内的平均租户计费点执行数量;
利用获取所述预设时间长中所有监控周期内虚拟机j的平均虚拟机计费点执行数量,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,N'为所述虚拟机j对应的租户数量,N为总的租户的数量。
步骤104:依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的服务等级协议SLA满足率。
具体的,所述步骤104中可以利用每个所述计费样本中,所述第一计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,及所述第二计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,来获取每个所述监控周期内每个租户的SLA满足率。
步骤105:在每个所述监控周期中,依据每台所述虚拟机对应的预设报警规则,对其各自对应的每个租户的SLA满足率进行报警判断,生成每个所述监控周期内每台所述虚拟机的报警记录表。
其中,所述报警规则中包括有二元组的结构:<StandardSLA,WarningLine>。其中,StandardSLA是SLA的下限(最小SLA满足率),WarningLine是报警次数上限值。所述报警规则二元组由SaaS服务提供商根据实际情况确定,每个虚拟机有一个报警规则二元组。而所述报警记录表Wlist中包括有多个报警记录Warning,其中,报警记录Warning的结构为<监控周期k,租户i>,所述报警记录表Wlist由所述报警记录Warning组成。
其中,所述步骤105中具体可以为:
在每个所述监控周期k内,把每个所述租户i的SLA满足率ASLA<i,k>与其对应虚拟机的报警规则二元组中的最小SLA满足率StandardSLA值比较,若所述ASLA<i,k>小于StandardSLA,则产生报警记录Warning,加入报警记录表Wlist中。
例如,虚拟机V3的报警规则二元组为<85%,5>,则假如当前第1000个监控周期内,租户T8的SLA满足率为97%,租户T9的SLA满足率为76%。那么,租户T9的SLA满足率小于最小SLA满足率(85%),产生报警记录<1000,9>。
步骤106:根据所述报警记录表,获取每个所述租户在预设时间长内的所有监控周期内的报警次数。
其中,所述步骤106中是指:在所述报警记录表中,计算出每个租户在预设时间长内的所有监控周期内的报警记录的个数,即为报警次数。
步骤107:将出现所述报警次数大于其对应虚拟机的报警规则中的报警次数上限值的租户所在的虚拟机确定为调整虚拟机,对每台所述调整虚拟机上的租户执行以下步骤108。
其中,所述步骤107中,将每个租户i对应的报警次数与其对应虚拟机的报警次数上限值WarningLine进行大小比较,以确定调整虚拟机,该调整虚拟机中不满足需求负载,才会出现其内部租户报警次数多于其报警次数上限值。
步骤108:利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表。
其中,所述租户调整列表中包括至少一个目标租户及其各自对应的目标虚拟机,所述目标虚拟机区别于所述调整虚拟机。
而所述步骤108中,是基于所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,来确定所述调整虚拟机中需要迁移至其对应目标虚拟机上的租户,形成租户调整列表。
步骤109:将每台所述调整虚拟机中租户调整列表内的目标租户迁移至其对应的目标虚拟机中。
其中,所述步骤109中,可以设置自动迁移,由本实施例所在系统对租户进行自动调整,或者,也可以提示用户管理员,由工作人员对目标租户进行迁移至目标虚拟机中。
例如,V1和V4是调整虚拟机,根据上述方案生成了租户调整计划列表包括两项数据:
<2,2>
<14,5>
则表示把V1中的T2调整到V2,把V4中的T14调整到V5可以获得更好的系统效益。
由上述方案可知,本发明提供的一种面向云计算的租户调整方法实施例一,通过基于SLA中多种效益的计算,当出现一个或多个虚拟机不满足负载需求时,对这些调整虚拟机上的租户的分布进行调整,在保证系统效益的情况下,将租户迁移至其他虚拟机上,实现本发明目的。本实施例通过动态调整每个虚拟机中的租户,使得在有限数据库资源的情况下,保证租户的SLA质量需求及良好的系统效益。
参考图2,为本发明提供的一种面向云计算的租户调整方法实施例二中所述步骤101的实现流程图,其中,所述步骤101可以包括以下步骤:
步骤111:预先标记每台所述虚拟机上的每组所述云计算软件代码的计费点。
其中,所述步骤111中将所述云计算软件代码中的每一个SQL执行点标记为一个计费点。
步骤112:在每个所述计费点前后分别置入样本采集对象,所述样本采集对象用于获取其对应计费点的执行时间长度。
其中,所述样本采集对象可以理解为一个样本采集器SampleCollector,该对象插入在每个所述计费点的前后,以获取到每个所述计费点的执行时间长度等信息。
例如,在所述计费点前后所插入所述样本采集器时的代码可以如下所示:
步骤113:在每个所述计费点开始被执行之后,将执行时间长度大于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第一计费点集合中,将执行时间长度小于或等于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第二计费点集合中。
其中,所述步骤113中,对于每个计费点类型为Ti的计费点,如果它的执行时间大于SLA说明书中的计费标准值Si,则在违反SLA计费点集合againstN(初始值为空)中加入一个计费点四元组<租户名称,计费点类型,计费点开始执行时间,计费点执行时间长度>;否则,在满足SLA计费点集合satisfyN(初始值为空)中加入一个计费点四元组<租户名称,计费点类型,计费点开始执行时间,计费点执行时间长度>。所述违反SLA计费点集合即为所述第一计费点集合,所述满足SLA计费点集合即为所述第二计费点集合。
需要说明的是,SLA说明书为整个SaaS软件的服务等级目标SLO,形式如下所示:
<服务等级目标SLO1><计费标准值S1><计费点类型T1><价格R1><罚金P1>
<服务等级目标SLO2><计费标准值S2><计费点类型T2><价格R2><罚金P2>
……
<服务等级目标SLOL><计费标准值SL><计费点类型TL><价格RL><罚金PL>
例如:
<等级1><0.8s><插入操作><12><15>
表示满足SLA质量需求即响应时间是0.8s,满足标准的一次操作租户需支付12单位的费用,违反标准的一次操作租户可获得15单位的赔偿。
步骤114:将每个预设监控周期内的所述第一计费点集合及所述第二计费点集合分别进行组合,得到每个所述监控周期内的计费样本。
参考图3,为本发明提供的一种面向云计算的租户调整方法实施例三中所述步骤102的实现流程图,其中,所述步骤102可以包括以下步骤:
步骤121:利用 BT < i , k > = &Sigma; s = 1 S ( SN < i , k , s > &times; R s - AN < i , k , s > &times; P s ) , 获取每个所述监控周期内的每个租户的租户效益。
其中,SN<i,k,s>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,AN<i,k,s>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,Rs为计费类型Ts对应的计费点价格,Ps为计费类型Ts对应的罚金数值,S为总的计费类型的数量,BT<i,k>为租户i在所述监控周期k内租户效益,即为:所述监控周期k内租户i所需要付给SaaS提供商的租金。
步骤122:利用获取每个所述监控周期内的每台虚拟机的虚拟机效益。
其中,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,Mj为虚拟机j的租用成本值,其由IaaS提供商与SaaS提供商协商确定的,N为总的租户数量,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益。
步骤123:利用获取每个所述监控周期内的系统效益。
其中,M为总的虚拟机数量,SysBRk为所述监控周期k内的系统效益。
例如,在本实施例中,监控周期为1小时,则计算1小时内各个租户T1-T25在当前监控周期内的效益BT,虚拟机V1-V6的虚拟机效益BV和整个SaaS软件的系统效益SysBR。
参考图4,为本发明提供的一种面向云计算的租户调整方法实施例四中所述步骤104的实现流程图,其中,所述步骤104可以包括以下步骤:
步骤141:利用 ASLA < i , k > = SN < i , k > ( SN < i , k > + AN < i , k > ) SN < i , k > + AN < i , k > > AVG k AVG k - AN < i . k > AVG k SN < i . k > + AN < i , k > &le; AVG k , 获取每个所述监控周期内每个所述租户的SLA满足率,SN<i,k>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内计费点数据组的个数,AN<i,k>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AVGk为所述监控周期k内所有租户的平均计费点执行数量;
其中, AVG k = &Sigma; i = 1 N ( SN < i , k > + AN < i , k > ) N , N为总的租户的数量。
需要说明的是,当某个租户在某个监控周期内执行的计费点数目过少时,会造成计算得到的SLA满足率不合理。本实施例采用以下措施去除误差:在某个监控周期中,若某个租户的计费点执行数小于所述周期内所有租户的平均计费点执行数,那么把所述平均计费点执行数减去该租户的计费点执行数作为满足SLA的计费点执行数,然后重新计算所述监控周期内的SLA满足率。
例如,T4在所述监控周期k内,在所述违反SLA计费点集合和所述满足SLA计费点集合中的个数分别只有2个和1个时,T4在所述监控周期k内的SLA满足率为1/(2+1)=33.3%。加入了误差去除措施后,假如当前周期内所有租户的平均计费点执行数为100,则T4的SLA满足率为(100-2)/100=98%。
参考图5,为本发明提供的一种面向云计算的租户调整方法实施例五中所述步骤108的实现流程图,其中,所述步骤108可以通过以下步骤实现:
步骤181:预先设置空的租户调整列表。
其中,所述租户调整列表即为所述调整虚拟机的租户调整列表ML。
步骤182:在所述调整虚拟机中,选取在所述租户调整列表中未出现且未被选取过的租户。
例如:从调整虚拟机VMj中任选一个在ML列表中未出现,且未被选中过的租户Ti作为待迁移租户。若在所述调整虚拟机中已经无法选取到合适的租户,说明该调整虚拟机中的租户均被选取或在ML列表中,那么可以直接结束当前操作,得到该调整虚拟机的租户调整列表。
步骤183:在所述虚拟机集合中除所述调整虚拟机之外的所有虚拟机的报警规则中的最小SLA满足率减去所述调整虚拟机的报警规则中的最小SLA满足率,得到满足率差。
具体的,所述步骤183可以为:把当前系统的虚拟机集合中除了VMj外的所有虚拟机的报警规则二元组中的最小SLA满足率减去所述VMj的报警规则二元组中的最小SLA满足率,得到满足率差。
步骤184:将满足率差的绝对值小于预设第一阈值的虚拟机确定为候选虚拟机,组成候选虚拟机列表。
其中,所述候选虚拟机列表中的各个虚拟机上均设置有未处理标记。
步骤185:选取所述候选虚拟机列表中含有未处理标记且具有最低平均虚拟机效益ABVj的虚拟机作为候选迁移虚拟机VMk并设置已处理标记。
步骤186:获取所述候选迁移虚拟机若添加选取的租户后的平均虚拟机计费点执行数量。
步骤187:判断所述候选迁移虚拟机若添加选取的租户后的平均虚拟机计费点执行数量是否大于其预设的虚拟机计费点执行数量最大值,如果是,返回执行所述步骤185,重新选取所述候选虚拟机列表中含有未处理标记且具有最低平均虚拟机效率的虚拟机作为候选迁移虚拟机并设置已处理标记,直到所述候选迁移虚拟机若添加选取的租户后的平均虚拟机计费点执行数量小于或等于其预设的虚拟机计费点执行数量最大值,执行步骤188。
也就是说,估算所述VMk调整后的平均虚拟机计费点执行数,如果所述调整后的平均虚拟机计费点执行数大于VMk的虚拟机计费点执行数最大值IMk,则说明目标虚拟机VMk不能满足租户i的SLA质量需求,则转步骤188。
其中,所述VMk调整后的平均虚拟机计费点执行数为调整前虚拟机k的平均虚拟机计费点执行数ARVk加上租户i的平均租户计费点执行数ARTi。另外,VMk的虚拟机计费点执行数最大值IMk由管理员根据实际情况确定。
步骤188:将重新选取的候选迁移虚拟机作为目标虚拟机。
需要说明的是,上述步骤185至所述步骤188的目的,在于确定所述候选虚拟机列表中,具有最低平均虚拟机效益且若添加选取的租户后的平均虚拟机计费点执行数量小于或等于其预设的虚拟机计费点执行数量最大值的候选虚拟机,为选取的租户对应的目标虚拟机,再执行步骤189。
步骤189:利用 &Delta;ASysBR = ASysBR k N &prime; - ART i + TCost i , 获取若将选取的租户添加至所述目标虚拟机之后的平均系统效益与添加前的平均系统效益的效益差。
其中,TCosti为选取的租户i的数据迁移成本,N'为所述目标虚拟机k中的租户数量,ARTi为租户i的平均租户计费点执行数量,ASysBRk为所述目标虚拟机k内的平均系统效益,ΔASysBR为所述效益差。而用VMk中每个租户的平均租户效益来估算租户i迁移到VMk后的平均租户效益。
步骤190:把若迁出选取的租户之前的调整虚拟机的平均虚拟机计费点执行数量减去选取的租户的平均租户计费点执行数量,得到所述调整虚拟机的若迁出选取的租户之后的平均虚拟机计费点执行数量。
也就是说,所述步骤190中,把调整前所述VMj的平均虚拟机计费点执行数ARVj减去租户i的平均租户计费点执行数ARTi,得到VMj的调整后平均虚拟机计费点执行数。
步骤191:判断所述迁出选取的租户之后的平均虚拟机计费点执行数量是否大于所述调整虚拟机计费点执行数量最大值或所述效益差是否小于或等于0,如果是,返回执行所述步骤182,重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选取过的租户,直到若将重新选取的租户迁移至所述调整虚拟机之后所述调整虚拟机的平均虚拟机计费点执行数量小于或等于所述调整虚拟机计费点执行数量最大值且所述效益差大于0,执行步骤192。
步骤192:将选取的租户确定为目标租户。
步骤193:将所述目标租户与其对应的目标虚拟机组成一个二元组置入所述租户调整列表中,返回执行步骤182,重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到所述调整虚拟机中的所有租户均在所述租户调整列表中出现或均被选取过。
其中,所述目标租户与其对应的目标虚拟机组成的二元组可以为<i,k>表示,例如V1和V4是调整虚拟机,根据上述方法生成了租户调整计划列表包括两项数据:
<2,2>
<14,5>
则表示把V1中的T2调整到V2,把V4中的T14调整到V5可以获得更好的系统效益。
参考图6,为本发明提供的一种面向云计算的租户调整系统实施例六的结构示意图,其中,所述系统适用于虚拟机集合中,所述虚拟机集合中包括有多台虚拟机,每台虚拟机上部署有云计算软件代码,而每台虚拟机上至少有一个租户对应。
其中,本实施例中的系统可以包括以下结构:
计费样本获取单元601,用于获取每个预设监控周期内在每台虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本。
其中,每个所述计费样本包括第一计费点集合和第二计费点集合,所述第一计费点集合为违反SLA说明书中计费点标准的计费点数据组所组成的集合,所述第二计费点为满足所述SLA说明书中计费点标准的计费点数据组所组成的集合。而所述预设监控周期可以为一小时等用户预先设置的周期值。
需要说明的是,所述第一计费点集合及所述第二计费点集合中均包括有多个计费点数据组,每个计费点数据组中均包括有四个数据员,例如,所述第二计费点集合中的一个计费点数据组的数据结构可以如下表示:
<T10,插入操作,13:24:3404/24/2014,0.5s>
其中,T10为其对应的租户名称,“插入操作”为其对应计费点的计费点类型,“13:24:3404/24/2014”为其对应计费点的计费点开始执行时间点,“0.5s”为其对应计费点的计费点执行时间长度。
另外,在所述步骤101之后,本实施例还可以利用计费样本来获取每个租户对应的当前总费用,例如:
利用 realR i = &Sigma; s = 1 S ( SN < i , s > &times; R i - AN < i , s > &times; P i ) , 获取租户i的当前总费用,其中,SN<i,s>为所述第一计费点集合中租户i执行的计费点类型为Ts的计费点数据组的个数,AN<i,s>为第二计费点集合中租户i执行的计费点类型为Ts的计费点数据组的个数,Rs为计费点类型Ts对应的计费点价格,Ps为计费点类型Ts对应的罚金数值,S为总的计费类型的数量,realRi为租户i的当前总费用。
第一效益获取单元602,用于依据每个所述计费样本中第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益。
具体的,所述第一效益获取单元602中,利用每个所述计费样本中,所述第一计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,及所述第二计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,来获取每个所述监控周期内的租户效益、虚拟机效益及系统效益。
第二效益获取单元603,用于依据每个所述监控周期内的租户效益、虚拟机效益及系统效益,获取预设时间长内的所有监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,所有所述监控周期组成所述预设时间长。
其中,所述预设时间长可以为一周等用户预先设置的时间长,所述预设时间长内具有多个监控周期,例如,一周中包括有7*24即168个监控周期。这里的“平均”是指,以7天为一个单位进行计算,从当前周期前溯168个监控周期(1小时)的平均值。例如,计算各个租户1-25的平均租户效益ABT和平均租户计费点执行数ART,虚拟机V1-V6的的平均虚拟机效益ABV和平均虚拟机计费点执行数ARV,以及整个SaaS软件平均系统效益ASysBR。
具体的,所述第二效益获取单元603可以通过以下方式实现:
利用获取所述预设时间长中所有监控周期内的租户i的平均租户效益,BT<i,k>为租户i在所述监控周期k内租户效益,ABTi为租户i在所述预设时间长内的平均租户效益,K为所述预设时间长内监控周期的数量;
利用获取所述预设时间长中所有监控周期内的虚拟机j的平均虚拟机效益,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益,ABVj为虚拟机j在所述预设时间长内的平均虚拟机效益;
利用获取所述预设时间长中所有监控周期内平均系统效益,SysBRk为所述监控周期k内的系统效益,ASysBR为所述预设时间长内的平均系统效益;
利用获取所述预设时间长中所有监控周期内租户i的平均租户计费点执行数量,SN<i,k>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AN<i,k>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,ARTi为租户i在所述预设时间长内的平均租户计费点执行数量;
利用获取所述预设时间长中所有监控周期内虚拟机j的平均虚拟机计费点执行数量,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,N'为所述虚拟机j对应的租户数量,N为总的租户的数量。
SLA满足率获取单元604,用于依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的SLA满足率。
具体的,所述SLA满足率获取单元604可以利用每个所述计费样本中,所述第一计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,及所述第二计费点集合中每个租户开始执行计费点的时间处于每个监控周期内对应的每个计费点类型的计费点数据组的个数,来获取每个所述监控周期内每个租户的SLA满足率。
报警记录生成单元605,用于在每个所述监控周期内,依据每台所述虚拟机对应的预设报警规则,对其各自对应的每个租户的SLA满足率进行报警判断,生成每个所述监控周期内每台所述虚拟机的报警记录表。
其中,所述报警规则中包括有二元组的结构:<StandardSLA,WarningLine>。其中,StandardSLA是SLA的下限(最小SLA满足率),WarningLine是报警次数上限值。所述报警规则二元组由SaaS服务提供商根据实际情况确定,每个虚拟机有一个报警规则二元组。而所述报警记录表Wlist中包括有多个报警记录Warning,其中,报警记录Warning的结构为<监控周期k,租户i>,所述报警记录表Wlist由所述报警记录Warning组成。
其中,所述报警记录生成单元605具体可以为:
在每个所述监控周期k内,把每个所述租户i的SLA满足率ASLA<i,k>与其对应虚拟机的报警规则二元组中的最小SLA满足率StandardSLA值比较,若所述ASLA<i,k>小于StandardSLA,则产生报警记录Warning,加入报警记录表Wlist中。
例如,虚拟机V3的报警规则二元组为<85%,5>,则假如当前第1000个监控周期内,租户T8的SLA满足率为97%,租户T9的SLA满足率为76%。那么,租户T9的SLA满足率小于最小SLA满足率(85%),产生报警记录<1000,9>。
报警次数获取单元606,用于根据所述报警记录表,获取每个所述租户在预设时间长内的所有监控周期内的报警次数。
其中,所述报警次数获取单元606是指:在所述报警记录表中,计算出每个租户在预设时间长内的所有监控周期内的报警记录的个数,即为报警次数。
调整虚拟机确定单元607,用于将出现所述报警次数大于其对应虚拟机的报警规则中的报警次数上限值的租户所在的虚拟机确定为调整虚拟机,对每台调整虚拟机触发调整列表获取单元608。
其中,所述调整虚拟机确定单元607中,将每个租户i对应的报警次数与其对应虚拟机的报警次数上限值WarningLine进行大小比较,以确定调整虚拟机,该调整虚拟机中不满足需求负载,才会出现其内部租户报警次数多于其报警次数上限值。
调整列表获取单元608,用于利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表.
其中,所述租户调整列表中包括至少一个目标租户及其各自对应的目标虚拟机,所述目标虚拟机区别于所述调整虚拟机。
而所述调整列表获取单元608中,是基于所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,来确定所述调整虚拟机中需要迁移至其对应目标虚拟机上的租户,形成租户调整列表。
租户迁移单元609,用于将每台所述调整虚拟机中租户调整列表内的目标租户迁移至其对应的目标虚拟机中。
其中,所述租户迁移单元609可以设置自动迁移,由本实施例所在系统对租户进行自动调整,或者,也可以提示用户管理员,由工作人员对目标租户进行迁移至目标虚拟机中。
例如,V1和V4是调整虚拟机,根据上述方案生成了租户调整计划列表包括两项数据:
<2,2>
<14,5>
则表示把V1中的T2调整到V2,把V4中的T14调整到V5可以获得更好的系统效益。
由上述方案可知,本发明提供的一种面向云计算的租户调整系统实施例六,通过基于SLA中多种效益的计算,当出现一个或多个虚拟机不满足负载需求时,对这些调整虚拟机上的租户的分布进行调整,在保证系统效益的情况下,将租户迁移至其他虚拟机上,实现本发明目的。本实施例通过动态调整每个虚拟机中的租户,使得在有限数据库资源的情况下,保证租户的SLA质量需求及良好的系统效益。
参考图7,为本发明提供的一种面向云计算的租户调整系统实施例七中所述计费样本获取单元601的结构示意图,其中,所述计费样本获取单元601可以包括以下结构:
计费点标记子单元611,用于预先标记每台虚拟机上的每组所述云计算软件代码的计费点。
其中,所述计费点标记子单元611中将所述云计算软件代码中的每一个SQL执行点标记为一个计费点。
对象设置子单元612,用于在每个所述计费点前后分别置入样本采集对象,所述样本采集对象用于获取其对应计费点的执行时间长度。
其中,所述样本采集对象可以理解为一个样本采集器SampleCollector,该对象插入在每个所述计费点的前后,以获取到每个所述计费点的执行时间长度等信息。
例如,在所述计费点前后所插入所述样本采集器时的代码可以如下所示:
数据组操作子单元613,用于在每个所述计费点开始被执行之后,将执行时间长度大于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第一计费点集合中,将执行时间长度小于或等于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第二计费点集合中。
其中,所述数据组操作子单元613中,对于每个计费点类型为Ti的计费点,如果它的执行时间大于SLA说明书中的计费标准值Si,则在违反SLA计费点集合againstN(初始值为空)中加入一个计费点四元组<租户名称,计费点类型,计费点开始执行时间,计费点执行时间长度>;否则,在满足SLA计费点集合satisfyN(初始值为空)中加入一个计费点四元组<租户名称,计费点类型,计费点开始执行时间,计费点执行时间长度>。所述违反SLA计费点集合即为所述第一计费点集合,所述满足SLA计费点集合即为所述第二计费点集合。
需要说明的是,SLA说明书为整个SaaS软件的服务等级目标SLO,形式如下所示:
<服务等级目标SLO1><计费标准值S1><计费点类型T1><价格R1><罚金P1>
<服务等级目标SLO2><计费标准值S2><计费点类型T2><价格R2><罚金P2>
……
<服务等级目标SLOL><计费标准值SL><计费点类型TL><价格RL><罚金PL>
例如:
<等级1><0.8s><插入操作><12><15>
表示满足SLA质量需求即响应时间是0.8s,满足标准的一次操作租户需支付12单位的费用,违反标准的一次操作租户可获得15单位的赔偿。
样本组合子单元614,用于将每个预设监控周期内的所述第一计费点集合及所述第二计费点集合分别进行组合,得到每个所述监控周期内的计费样本。
参考图8,为本发明提供的一种面向云计算的租户调整系统实施例八中所述第一效益获取单元602的结构示意图,其中,所述第一效益获取单元602可以包括以下结构:
租户效益获取子单元621,用于:
利用 BT < i , k > = &Sigma; s = 1 S ( SN < i , k , s > &times; R s - AN < i , k , s > &times; P s ) , 获取每个所述监控周期内的每个租户的租户效益。
其中,SN<i,k,s>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,AN<i,k,s>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,Rs为计费类型Ts对应的计费点价格,Ps为计费类型Ts对应的罚金数值,S为总的计费类型的数量,BT<i,k>为租户i在所述监控周期k内租户效益,即为:所述监控周期k内租户i所需要付给SaaS提供商的租金。
虚拟机效益子单元622,用于利用获取每个所述监控周期内的每台虚拟机的虚拟机效益。
其中,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,Mj为虚拟机j的租用成本值,N为总的租户的数量,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益。
系统效益子单元623,用于利用获取每个所述监控周期内的系统效益。
其中,M为总的虚拟机数量,SysBRk为所述监控周期k内的系统效益。
例如,在本实施例中,监控周期为1小时,则计算1小时内各个租户T1-T25在当前监控周期内的效益BT,虚拟机V1-V6的虚拟机效益BV和整个SaaS软件的系统效益SysBR。
参考图9,为本发明提供的一种面向云计算的租户调整系统实施例九中所述SLA满足率获取单元604的结构示意图,其中,所述SLA满足率获取单元604可以包括以下结构:
满足率获取子单元641,用于:
利用 ASLA < i , k > = SN < i , k > ( SN < i , k > + AN < i , k > ) SN < i , k > + AN < i , k > > AVG k AVG k - AN < i . k > AVG k SN < i . k > + AN < i , k > &le; AVG k , 获取每个所述监控周期内每个所述租户的SLA满足率。
其中,SN<i,k>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AN<i,k>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AVGk为所述监控周期k内所有租户的平均计费点执行数量;
其中, AVG k = &Sigma; i = 1 N ( SN < i , k > + AN < i , k > ) N , N为总的租户的数量。
需要说明的是,当某个租户在某个监控周期内执行的计费点数目过少时,会造成计算得到的SLA满足率不合理。本实施例采用以下措施去除误差:在某个监控周期中,若某个租户的计费点执行数小于所述周期内所有租户的平均计费点执行数,那么把所述平均计费点执行数减去该租户的计费点执行数作为满足SLA的计费点执行数,然后重新计算所述监控周期内的SLA满足率。
例如,T4在所述监控周期k内,在所述违反SLA计费点集合和所述满足SLA计费点集合中的个数分别只有2个和1个时,T4在所述监控周期k内的SLA满足率为1/(2+1)=33.3%。加入了误差去除措施后,假如当前周期内所有租户的平均计费点执行数为100,则T4的SLA满足率为(100-2)/100=98%。
参考图10,为本发明提供的一种面向云计算的租户调整系统实施例十中所述调整列表获取单元608的结构示意图,其中,所述调整列表获取单元608可以包括以下结构:
列表预置子单元681,用于预先设置空的租户调整列表。
其中,所述租户调整列表即为所述调整虚拟机的租户调整列表ML。
租户选取子单元682,用于在所述调整虚拟机中,选取所述租户调整列表中未出现且未被选取过的租户。
例如:从调整虚拟机VMj中任选一个在ML列表中未出现,且未被选中过的租户Ti作为待迁移租户。若在所述调整虚拟机中已经无法选取到合适的租户,说明该调整虚拟机中的租户均被选取或在ML列表中,那么可以直接结束当前操作,得到该调整虚拟机的租户调整列表。
满足率差获取子单元683,用于在所述虚拟机集合中除所述调整虚拟机之外的所有虚拟机的报警规则中的最小SLA满足率减去所述调整虚拟机的报警规则中的最小SLA满足率,得到满足率差。
具体的,所述满足率差获取子单元683可以为:把当前系统的虚拟机集合中除了VMj外的所有虚拟机的报警规则二元组中的最小SLA满足率减去所述VMj的报警规则二元组中的最小SLA满足率,得到满足率差。
候选确定子单元684,用于将满足率差的绝对值小于预设第一阈值的虚拟机确定为候选虚拟机,组成候选虚拟机列表。
第一目标确定子单元685,用于确定所述候选虚拟机列表中,具有最低平均虚拟机效益且若添加选取的租户后的平均虚拟机计费点执行数量小于或等于其预设的虚拟机计费点执行数量最大值的候选虚拟机,为选取的租户对应的目标虚拟机。
其中,所述第一目标确定子单元685的执行方案可以参照本发明实施例五中附图所示的方案进行,此处不再阐述。
效益差获取子单元686,用于利用 &Delta;ASysBR = ASysBR k N &prime; - ART i + TCost i , 获取若将选取的租户添加至所述目标虚拟机之后的平均系统效益与添加前的平均系统效益的效益差。
其中,TCosti为选取的租户i的数据迁移成本,N'为所述目标虚拟机k中的租户数量,ARTi为租户i的平均租户计费点执行数量,ASysBRk为所述目标虚拟机k内的平均系统效益,ΔASysBR为所述效益差。而用VMk中每个租户的平均租户效益来估算租户i迁移到VMk后的平均租户效益。
执行数量获取子单元687,用于把若迁出选取的租户之前的调整虚拟机的平均虚拟机计费点执行数量减去选取的租户的平均租户计费点执行数量,得到所述待选虚拟机的若迁出选取的用户之后的平均虚拟机计费点执行数量。
也就是说,所述执行数量获取子单元687中,把调整前所述VMj的平均虚拟机计费点执行数ARVj减去租户i的平均租户计费点执行数ARTi,得到VMj的调整后平均虚拟机计费点执行数。
数量判断子单元688,用于若所述迁出选取的租户之后的平均虚拟机计费点执行数量大于所述调整虚拟机的计费点执行数量最大值或所述效益差小于等于0,触发所述租户选取子单元682重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到若将重新选取的租户迁移至所述调整虚拟机之后所述调整虚拟机的平均虚拟机计费点执行数量小于或等于所述调整虚拟机计费点执行数量最大值且所述效益差大于0,触发第二目标确定单元689。
第二目标确定子单元689,用于将选取的租户确定为目标租户,触发目标操作子单元690。
目标操作子单元690,用于将所述目标租户与其对应的目标虚拟机组成一个二元组置入所述租户调整列表中,触发所述租户选取子单元682重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到所述调整虚拟机中的所有租户均在所述租户调整列表中出现或均被选取过。
其中,所述目标租户与其对应的目标虚拟机组成的二元组可以为<i,k>表示,例如V1和V4是调整虚拟机,根据上述方法生成了租户调整计划列表包括两项数据:
<2,2>
<14,5>
则表示把V1中的T2调整到V2,把V4中的T14调整到V5可以获得更好的系统效益。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种面向云计算的租户调整方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种面向云计算的租户调整方法,其特征在于,应用于虚拟机集合,所述虚拟机集合中包括多台虚拟机,每台所述虚拟机上部署有云计算软件代码,每台所述虚拟机对应至少一个租户,所述方法包括:
获取每个预设监控周期内在每台所述虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本,每个所述计费样本包括第一计费点集合和第二计费点集合;
依据每个所述计费样本中的第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益;
依据每个所述监控周期内的租户效益、虚拟机效益及系统效益,获取预设时间长内的所有监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,所有所述监控周期组成所述预设时间长;
依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的服务等级协议SLA满足率;
在每个所述监控周期中,依据每台所述虚拟机对应的预设报警规则,对其各自对应的每个租户的SLA满足率进行报警判断,生成每个所述监控周期内每台所述虚拟机的报警记录表;
根据所述报警记录表,获取每个所述租户在预设时间长内的所有监控周期内的报警次数;
将出现所述报警次数大于其对应虚拟机的报警规则中的报警次数上限值的租户所在的虚拟机确定为调整虚拟机,对每台所述调整虚拟机上的租户执行以下步骤:
利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表,所述租户调整列表中包括至少一个目标租户及其各自对应的目标虚拟机,所述目标虚拟机区别于所述调整虚拟机;
将每台所述调整虚拟机中租户调整列表内的目标租户迁移至其对应的目标虚拟机中。
2.根据权利要求1所述的方法,其特征在于,所述获取每个预设监控周期内在每台所述虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本,包括:
预先标记每台所述虚拟机上的每组所述云计算软件代码的计费点;
在每个所述计费点前后分别置入样本采集对象,所述样本采集对象用于获取其对应计费点的执行时间长度;
在每个所述计费点开始被执行之后,将执行时间长度大于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第一计费点集合中,将执行时间长度小于或等于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第二计费点集合中;
将每个预设监控周期内的所述第一计费点集合及所述第二计费点集合分别进行组合,得到每个所述监控周期内的计费样本。
3.根据权利要求1所述的方法,其特征在于,所述依据每个所述计费样本中的第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益,包括:
利用 BT < i , k > = &Sigma; s = 1 S ( SN < i , k , s > &times; R s - AN < i , k , s > &times; P s ) , 获取每个所述监控周期内的每个租户的租户效益,SN<i,k,s>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,AN<i,k,s>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,Rs为计费类型Ts对应的计费点价格,Ps为计费类型Ts对应的罚金数值,S为总的计费类型的数量,BT<i,k>为租户i在所述监控周期k内租户效益;
利用获取每个所述监控周期内的每台虚拟机的虚拟机效益,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,Mj为虚拟机j的租用成本值,N为总的租户的数量,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益;
利用获取每个所述监控周期内的系统效益,M为总的虚拟机数量,SysBRk为所述监控周期k内的系统效益。
4.根据权利要求1所述的方法,其特征在于,所述依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的SLA满足率,包括:
利用 ASLA < i , k > = SN < i , k > ( SN < i , k > + AN < i , k > ) SN < i , k > + AN < i , k > > AVG k AVG k - AN < i . k > AVG k SN < i . k > + AN < i , k > &le; AVG k , 获取每个所述监控周期内每个所述租户的SLA满足率,SN<i,k>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AN<i,k>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AVGk为所述监控周期k内所有租户的平均计费点执行数量;
其中, AVG k = &Sigma; i = 1 N ( SN < i , k > + AN < i , k > ) N , N为总的租户的数量。
5.根据权利要求1所述的方法,其特征在于,所述利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表,包括:
预先设置空的租户调整列表;
在所述调整虚拟机中,选取在所述租户调整列表中未出现且未被选取过的租户;
在所述虚拟机集合中除所述调整虚拟机之外的所有虚拟机的报警规则中的最小SLA满足率减去所述调整虚拟机的报警规则中的最小SLA满足率,得到满足率差;
将满足率差的绝对值小于预设第一阈值的虚拟机确定为候选虚拟机,组成候选虚拟机列表;
确定所述候选虚拟机列表中,具有最低平均虚拟机效益且若添加选取的租户后的平均虚拟机计费点执行数量小于或等于其预设的虚拟机计费点执行数量最大值的候选虚拟机,为选取的租户对应的目标虚拟机;
利用 &Delta;ASysBR = ASysBR k N &prime; - ART i + TCost i , 获取若将选取的租户添加至所述目标虚拟机之后的平均系统效益与添加前的平均系统效益的效益差,TCosti为选取的租户i的数据迁移成本,N'为所述目标虚拟机k中的租户数量,ARTi为租户i的平均租户计费点执行数量,ASysBRk为所述目标虚拟机k内的平均系统效益,ΔASysBR为所述效益差;
把若迁出选取的租户之前的调整虚拟机的平均虚拟机计费点执行数量减去选取的租户的平均租户计费点执行数量,得到所述调整虚拟机的若迁出选取的租户之后的平均虚拟机计费点执行数量;
若所述迁出选取的租户之后的平均虚拟机计费点执行数量大于所述调整虚拟机计费点执行数量最大值或所述效益差小于或等于0,返回执行在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选取过的租户,直到若将重新选取的租户迁移至所述调整虚拟机之后所述调整虚拟机的平均虚拟机计费点执行数量小于或等于所述调整虚拟机计费点执行数量最大值且所述效益差大于0,将选取的租户确定为目标租户,将所述目标租户与其对应的目标虚拟机组成一个二元组置入所述租户调整列表中,再返回执行在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到所述调整虚拟机中的所有租户均在所述租户调整列表中出现或均被选取过。
6.一种面向云计算的租户调整系统,其特征在于,应用于虚拟机集合,所述虚拟机集合中包括多台虚拟机,每台所述虚拟机上部署有云计算软件代码,每台所述虚拟机对应至少一个租户,所述系统包括:
计费样本获取单元,用于获取每个预设监控周期内在每台虚拟机上的每组云计算软件代码的计费点开始被执行之后所述虚拟机集合中的计费样本,每个所述计费样本包括第一计费点集合和第二计费点集合;
第一效益获取单元,用于依据每个所述计费样本中第一计费点集合和第二计费点集合,获取每个所述监控周期内的租户效益、虚拟机效益及系统效益;
第二效益获取单元,用于依据每个所述监控周期内的租户效益、虚拟机效益及系统效益,获取预设时间长内的所有监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,所有所述监控周期组成所述预设时间长;
SLA满足率获取单元,用于依据每个所述监控周期内所述计费样本的第一计费点集合和第二计费点集合,获取每个所述监控周期内每个租户的SLA满足率;
报警记录生成单元,用于在每个所述监控周期内,依据每台所述虚拟机对应的预设报警规则,对其各自对应的每个租户的SLA满足率进行报警判断,生成每个所述监控周期内每台所述虚拟机的报警记录表;
报警次数获取单元,用于根据所述报警记录表,获取每个所述租户在预设时间长内的所有监控周期内的报警次数;
调整虚拟机确定单元,用于将出现所述报警次数大于其对应虚拟机的报警规则中的报警次数上限值的租户所在的虚拟机确定为调整虚拟机,对每台调整虚拟机触发调整列表获取单元;
调整列表获取单元,用于利用预设的租户调整规则,依据所述调整虚拟机中在每个所述监控周期内的平均租户效益、平均虚拟机效益、平均系统效益、平均租户计费点执行数量和平均虚拟机计费点执行数量,生成所述调整虚拟机的租户调整列表,所述租户调整列表中包括至少一个目标租户及其各自对应的目标虚拟机,所述目标虚拟机区别于所述调整虚拟机;
租户迁移单元,用于将每台所述调整虚拟机中租户调整列表内的目标租户迁移至其对应的目标虚拟机中。
7.根据权利要求6所述的系统,其特征在于,所述计费样本获取单元包括:
计费点标记子单元,用于预先标记每台虚拟机上的每组所述云计算软件代码的计费点;
对象设置子单元,用于在每个所述计费点前后分别置入样本采集对象,所述样本采集对象用于获取其对应计费点的执行时间长度;
数据组操作子单元,用于在每个所述计费点开始被执行之后,将执行时间长度大于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第一计费点集合中,将执行时间长度小于或等于其对应的预设计费标准值的计费点对应的计费点数据组置入预设的第二计费点集合中;
样本组合子单元,用于将每个预设监控周期内的所述第一计费点集合及所述第二计费点集合分别进行组合,得到每个所述监控周期内的计费样本。
8.根据权利要求6所述的系统,其特征在于,所述第一效益获取单元包括:
租户效益获取子单元,用于利用 BT < i , k > = &Sigma; s = 1 S ( SN < i , k , s > &times; R s - AN < i , k , s > &times; P s ) , 获取每个所述监控周期内的每个租户的租户效益,SN<i,k,s>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,AN<i,k,s>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内且被执行的计费点类型为Ts的计费点数据组的个数,Rs为计费类型Ts对应的计费点价格,Ps为计费类型Ts对应的罚金数值,S为总的计费类型的数量,BT<i,k>为租户i在所述监控周期k内租户效益;
虚拟机效益子单元,用于利用获取每个所述监控周期内的每台虚拟机的虚拟机效益,租户i处于虚拟机j内λ<i,j>为1,否则,λ<i,j>为0,Mj为虚拟机j的租用成本值,N为总的租户的数量,BV<j,k>为虚拟机j在所述监控周期k内虚拟机效益;
系统效益子单元,用于利用获取每个所述监控周期内的系统效益,M为总的虚拟机数量,SysBRk为所述监控周期k内的系统效益。
9.根据权利要求6所述的系统,其特征在于,所述SLA满足率获取单元包括:
满足率获取子单元,用于利用 ASLA < i , k > = SN < i , k > ( SN < i , k > + AN < i , k > ) SN < i , k > + AN < i , k > > AVG k AVG k - AN < i . k > AVG k SN < i . k > + AN < i , k > &le; AVG k , 获取每个所述监控周期内每个所述租户的SLA满足率,SN<i,k>为第一计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AN<i,k>为第二计费点集合中租户i开始执行计费点的时间处于所述监控周期k内的计费点数据组的个数,AVGk为所述监控周期k内所有租户的平均计费点执行数量;
其中, AVG k = &Sigma; i = 1 N ( SN < i , k > + AN < i , k > ) N , N为总的租户的数量。
10.根据权利要求6所述的系统,其特征在于,所述调整列表获取单元包括:
列表预置子单元,用于预先设置空的租户调整列表;
租户选取子单元,用于在所述调整虚拟机中,选取所述租户调整列表中未出现且未被选取过的租户;
满足率差获取子单元,用于在所述虚拟机集合中除所述调整虚拟机之外的所有虚拟机的报警规则中的最小SLA满足率减去所述调整虚拟机的报警规则中的最小SLA满足率,得到满足率差;
候选确定子单元,用于将满足率差的绝对值小于预设第一阈值的虚拟机确定为候选虚拟机,组成候选虚拟机列表;
第一目标确定子单元,用于确定所述候选虚拟机列表中,具有最低平均虚拟机效益且若添加选取的租户后的平均虚拟机计费点执行数量小于或等于其预设的虚拟机计费点执行数量最大值的候选虚拟机,为选取的租户对应的目标虚拟机;
效益差获取子单元,用于利用 &Delta;ASysBR = ASysBR k N &prime; - ART i + TCost i , 获取若将选取的租户添加至所述目标虚拟机之后的平均系统效益与添加前的平均系统效益的效益差,TCosti为选取的租户i的数据迁移成本,N'为所述目标虚拟机k中的租户数量,ARTi为租户i的平均租户计费点执行数量,ASysBRk为所述目标虚拟机k内的平均系统效益,ΔASysBR为所述效益差;
执行数量获取子单元,用于把若迁出选取的租户之前的调整虚拟机的平均虚拟机计费点执行数量减去选取的租户的平均租户计费点执行数量,得到所述待选虚拟机的若迁出选取的用户之后的平均虚拟机计费点执行数量;
数量判断子单元,用于若所述迁出选取的租户之后的平均虚拟机计费点执行数量大于所述调整虚拟机的计费点执行数量最大值或所述效益差小于等于0,触发所述租户选取子单元重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到若将重新选取的租户迁移至所述调整虚拟机之后所述调整虚拟机的平均虚拟机计费点执行数量小于或等于所述调整虚拟机计费点执行数量最大值且所述效益差大于0,触发第二目标确定单元;
第二目标确定子单元,用于将选取的租户确定为目标租户,触发目标操作子单元;
目标操作子单元,用于将所述目标租户与其对应的目标虚拟机组成一个二元组置入所述租户调整列表中,触发所述租户选取子单元重新在所述调整虚拟机中选取在所述租户调整列表中未出现且未被选中过的租户,直到所述调整虚拟机中的所有租户均在所述租户调整列表中出现或均被选取过。
CN201410399793.9A 2014-08-14 2014-08-14 一种面向云计算的租户调整方法及系统 Active CN104135535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410399793.9A CN104135535B (zh) 2014-08-14 2014-08-14 一种面向云计算的租户调整方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410399793.9A CN104135535B (zh) 2014-08-14 2014-08-14 一种面向云计算的租户调整方法及系统

Publications (2)

Publication Number Publication Date
CN104135535A true CN104135535A (zh) 2014-11-05
CN104135535B CN104135535B (zh) 2017-10-31

Family

ID=51808057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410399793.9A Active CN104135535B (zh) 2014-08-14 2014-08-14 一种面向云计算的租户调整方法及系统

Country Status (1)

Country Link
CN (1) CN104135535B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260230A (zh) * 2015-10-30 2016-01-20 广东石油化工学院 基于分段服务等级协议的数据中心虚拟机资源调度方法
CN105468449A (zh) * 2015-12-22 2016-04-06 内蒙古农业大学 一种通过可重用的工作负载模式支持动态云服务的交付方法
CN107426012A (zh) * 2017-05-27 2017-12-01 深信服科技股份有限公司 一种基于超融合架构的故障恢复方法及其装置
CN109379229A (zh) * 2018-11-07 2019-02-22 中山大学 一种面向租户的微服务云平台准入控制方法
CN112256423A (zh) * 2016-04-29 2021-01-22 华为技术有限公司 分布式资源管理系统中的动态租户结构调整的系统、设备和过程

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078914A (zh) * 2012-12-27 2013-05-01 北京邮电大学 服务提供方法及装置
CN103166989A (zh) * 2011-12-13 2013-06-19 中国电信股份有限公司 面向云计算的资源使用计量方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166989A (zh) * 2011-12-13 2013-06-19 中国电信股份有限公司 面向云计算的资源使用计量方法和系统
CN103078914A (zh) * 2012-12-27 2013-05-01 北京邮电大学 服务提供方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LI JIANG: ""A Mixed Multi-tenancy Data Model and Its Migration Approach for the SaaS Application"", 《SERVICES COMPUTING CONFERENCE(APSCC)》 *
江丽: ""面向SaaS提供商的数据库迁移和资源供给机制的研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260230A (zh) * 2015-10-30 2016-01-20 广东石油化工学院 基于分段服务等级协议的数据中心虚拟机资源调度方法
CN105260230B (zh) * 2015-10-30 2018-06-26 广东石油化工学院 基于分段服务等级协议的数据中心虚拟机资源调度方法
CN105468449A (zh) * 2015-12-22 2016-04-06 内蒙古农业大学 一种通过可重用的工作负载模式支持动态云服务的交付方法
CN112256423A (zh) * 2016-04-29 2021-01-22 华为技术有限公司 分布式资源管理系统中的动态租户结构调整的系统、设备和过程
CN112256423B (zh) * 2016-04-29 2023-12-15 华为云计算技术有限公司 分布式资源管理系统中的动态租户结构调整的系统、设备和过程
CN107426012A (zh) * 2017-05-27 2017-12-01 深信服科技股份有限公司 一种基于超融合架构的故障恢复方法及其装置
CN109379229A (zh) * 2018-11-07 2019-02-22 中山大学 一种面向租户的微服务云平台准入控制方法
CN109379229B (zh) * 2018-11-07 2021-06-08 中山大学 一种面向租户的微服务云平台准入控制方法

Also Published As

Publication number Publication date
CN104135535B (zh) 2017-10-31

Similar Documents

Publication Publication Date Title
CN104135535A (zh) 一种面向云计算的租户调整方法及系统
CN106406987A (zh) 一种集群中的任务执行方法及装置
CN104572301A (zh) 一种资源分配方法和系统
CN106775936A (zh) 一种虚拟机的管理方法及装置
CN104407925A (zh) 一种动态的资源分配方法
CN106407207A (zh) 一种实时新增数据更新方法和装置
CN109996202B (zh) 一种流量的计费方法及装置
CN102904824A (zh) 服务提供实体选择方法及装置
CN107395748A (zh) 异构分布式云资源管理方法及系统
CN104009887A (zh) 一种应用于网络资源优化的自动测速方法
CN107450855A (zh) 一种用于分布式存储的模型可变的数据分布方法及系统
CN105808341A (zh) 一种资源调度的方法、装置和系统
CN105608167A (zh) 一种基于kdfs系统的文件备份方法与系统
WO2018063663A1 (en) Cloud container resource binding and tasking using keys
CN106980994A (zh) 一种开票申请单据的拆分方法
CN106686039A (zh) 一种云计算系统中的资源调度方法及装置
CN104111875B (zh) 云数据中心新增任务数动态控制装置、系统及方法
CN104717251A (zh) OpenStack云计算管理平台Cell节点调度方法和系统
CN105592160B (zh) 一种云计算环境下面向服务消费者的资源配置方法
CN104866375B (zh) 一种迁移虚拟机的方法及装置
CN106888107A (zh) 一种滑动窗口业务数据确定方法及装置
CN109684033A (zh) 云平台裸机管理方法、存储介质、电子设备及系统
CN106327273A (zh) 一种基于sts的预付费售电系统和方法
CN103731495B (zh) Paas平台的扩展和收缩资源池的资源数量的方法和系统
CN108429704B (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