CN110138612B - 一种基于QoS模型自校正的云软件服务资源分配方法 - Google Patents

一种基于QoS模型自校正的云软件服务资源分配方法 Download PDF

Info

Publication number
CN110138612B
CN110138612B CN201910403638.2A CN201910403638A CN110138612B CN 110138612 B CN110138612 B CN 110138612B CN 201910403638 A CN201910403638 A CN 201910403638A CN 110138612 B CN110138612 B CN 110138612B
Authority
CN
China
Prior art keywords
qos
resource allocation
particle
parameter
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.)
Active
Application number
CN201910403638.2A
Other languages
English (en)
Other versions
CN110138612A (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.)
Fuzhou University
Original Assignee
Fuzhou 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 Fuzhou University filed Critical Fuzhou University
Priority to CN201910403638.2A priority Critical patent/CN110138612B/zh
Priority to PCT/CN2019/098255 priority patent/WO2020228143A1/zh
Priority to US17/603,269 priority patent/US20220210028A1/en
Publication of CN110138612A publication Critical patent/CN110138612A/zh
Application granted granted Critical
Publication of CN110138612B publication Critical patent/CN110138612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于QoS模型自校正的云软件服务资源分配方法,包括:步骤S1:进行在线自学习,得到QoS预测模型;步骤S2:收集某个工作负载下的运行时数据,通过自校正控制提高QoS预测模型在当前工作负载下的准确度;步骤S3:结合服务质量QoS和云资源成本Cost构建适应度函数,并使用改进的粒子群优化算法来搜索目标资源分配方案;步骤S4:将当前的资源分配情况与搜索到的目标资源分配方案进行比较,得到二者之间的差异,然后按一定的比例进行资源调整;步骤S5:重复步骤S2至步骤S4,直到当前的资源分配情况和目标资源分配方案相同时,完成资源调整。本发明能够在QoS预测模型不准确时实现资源的最优分配。

Description

一种基于QoS模型自校正的云软件服务资源分配方法
技术领域
本发明涉及云计算领域,特别是一种基于QoS模型自校正的云软件服务资源分配方法。
背景技术
自适应是为基于云的软件服务分配资源的有效方法。传统的自适应资源分配方法是规则驱动的,导致高管理成本和实现复杂性。机器学习技术和控制理论是降低人工成本的两种解决方案。然而,机器学习技术需要大量的历史数据来构建准确的QoS预测模型,容易导致资源分配错误;基于控制理论的方法需要大量的反馈迭代才能找到合适的资源分配计划,造成停止虚拟机的高开销。
发明内容
有鉴于此,本发明的目的是提出一种基于QoS模型自校正的云软件服务资源分配方法,能够在QoS预测模型不准确时实现资源的最优分配。
本发明采用以下方案实现:一种基于QoS模型自校正的云软件服务资源分配方法,具体包括以下步骤:
步骤S1:进行在线自学习,得到QoS预测模型;
步骤S2:收集某个工作负载下的运行时数据,通过自校正控制提高QoS预测模型在当前工作负载下的准确度;每当虚拟机资源重新调整后,就开始收集运行时数据,同样的,包括工作负载、已分配的资源和QoS值等信息;
步骤S3:结合服务质量QoS和云资源成本Cost构建适应度函数,并使用改进的粒子群优化算法来搜索目标资源分配方案;目标资源分配方案实际上是基于适应度函数的全局最优解;
步骤S4:将当前的资源分配情况与搜索到的目标资源分配方案进行比较,得到二者之间的差异,然后按一定的比例进行资源调整;在此期间,虚拟机是逐一添加或删除的,每添加或删除一台虚拟机,都收集云软件服务的运行时数据;
步骤S5:重复步骤S2至步骤S4,直到当前的资源分配情况和目标资源分配方案相同时,完成资源调整。
进一步地,步骤S1具体为:首先对响应时间建立服务质量映射函数,使其更能反映出服务质量的好坏;再通过机器学习,建立工作负载、已分配的资源和服务质量之间的关系模型,将得到的QoS预测模型初始化到下一个步骤S2中。
进一步地,步骤S1中,所述QoS预测模型以负载请求情况R(包括种类和数量)、分配的虚拟机情况VM(包括种类和数量)作为输入,以服务质量QoS(响应时间RT的映射值)作为输出,建立统一的非线性回归模型,公式如下:
Figure BDA0002060562390000021
上述公式是非线性回归的一般表达式。其中,自变量X是包含负载请求R和虚拟机分配情况VM的集合;如表1所示,工作负载即R={xc,1,xc,2,...,xc,n},表示有n种类型的负载请求,其中的xc,l表示第l种负载请求的数量;资源分配情况是VM={xc,n+1,xc,n+2,...,xc,n+m},表示有m种类型的虚拟机,其中的xc,n+l表示第l种虚拟机的数量;指数变量Parameter={p1,p2,...,pn+m}是自变量X的指数参数,可以根据每个云软件服务的特点和要求,设定不同的值;当Parameter的值全部取1时,上式变为线性回归模型,式中的参数W={w0,w1,...,wn+m}是所要求解和修正的参数。对于一个准确率不高的服务质量预测模型,可以通过采集其在某个工作负载下的运行时数据,如表1,基于自校正控制理论,通过最小化预测值和真实值之间的误差,从而实现对原参数W进行重估计和再整定。
表1 QoS预测模型自校正的数据集
R VM QoS<sub>predicted</sub> QoS<sub>actual</sub>
x<sub>1,1</sub>,x<sub>1,2</sub>,...,x<sub>1,n</sub> x<sub>1,n+1</sub>,x<sub>1,n+2</sub>,...,x<sub>1,n+m</sub> y<sub>1</sub> y<sub>1</sub>
x<sub>2,1</sub>,x<sub>2,2</sub>,...,x<sub>2,n</sub> x<sub>2,n+1</sub>,x<sub>2,n+2</sub>,...,x<sub>2,n+m</sub> y<sub>2</sub> y<sub>2</sub>
x<sub>c,1</sub>,x<sub>c,2</sub>,...,x<sub>c,n</sub> x<sub>c,n+1</sub>,x<sub>c,n+2</sub>,...,x<sub>c,n+m</sub> y<sub>c</sub> y<sub>c</sub>
进一步地,步骤S2包括参数递推估计和参数计算两个部分,其中参数递推估计是根据系统的输入输出信息,连续不断地估计QoS预测模型的参数;参数计算则将原QoS预测模型的参数和新的参数估计值进行计算和整定(一般按比例整定),并将最后计算结果更新到QoS预测模型中,使得QoS预测模型的预测性能达到最优或者接近最优状态。
进一步地,步骤S2具体包括以下步骤:
步骤S21:对于某个工作负载,在不断的资源调整过程,假设收集了u组运行时数据,包括工作负载、虚拟机分配情况以及真实的QoS值QoSactual;基于工作负载和虚拟机分配情况根据公式
Figure BDA0002060562390000041
得到如下的u个QoS预测方程:
Figure BDA0002060562390000042
Figure BDA0002060562390000043
Figure BDA0002060562390000044
Figure BDA0002060562390000045
对于一个已知的QoS预测模型,指数变量Parameter是固定的,不是本发明所关注的需要修正的对象;
步骤S22:对式(2)进行向量-矩阵形式表达如下:
Figure BDA0002060562390000046
用Y表示u个预测的输出QoS组成的向量,W为n+m+1维的参数向量,Φ表示u*(n+m+1)维的输入矩阵,即令:
Figure BDA0002060562390000047
将公式(3)简写成以下向量-矩阵方程:
Y=ΦW (5);
对于采集的真实的服务质量值和真实值QoSactual,它是QoSpredicted的最优估计,记作
Figure BDA0002060562390000051
Figure BDA0002060562390000052
表示W的最优估计,则:
Figure BDA0002060562390000053
步骤S23:采用最小二乘法进行参数估计,需要使得QoS预测值和QoS真实值之间的残差的平方差最小;其中残差的向量形式表达如下:
Figure BDA0002060562390000054
残差的平方差,即指标函数表示如下:
Figure BDA0002060562390000055
令J对
Figure BDA0002060562390000056
求导,即令
Figure BDA0002060562390000057
即能够求出
Figure BDA0002060562390000058
参数计算是为QoS预测模型计算并设置新的参数向量。
Figure BDA0002060562390000059
它需要对原参数向量W与局部最优参数向量
Figure BDA00020605623900000510
之间进行权衡,直接使用局部最优系数向量
Figure BDA00020605623900000511
会使QoS预测模型陷入局部最优,即在其他工作负载情况下,QoS预测模型的准确度具有失准的可能性。
步骤S24:对原系数向量W和步骤S23得到的
Figure BDA00020605623900000512
(局部最优系数向量)进行按比例整定,如下式:
Figure BDA0002060562390000061
式中,η为参数,专家可以根据不同系统的要求进行设置;更高的η表示对原参数具有更高的置信比例。
进一步地,PSO是一种基于群体智能的计算技术,它通常很快收敛到局部最优解,但失去了在全局范围内找到更优解的机会。而遗传算法是一种受自然选择过程启发的元启发式算法,通常用于生成高质量的全局最优解。本发明引入了遗传算法的思想,提出一种改进的PSO算法,使其具有较快的收敛速度和较好的全局搜索能力。传统PSO是通过一个候选粒子群来求解问题的。粒子根据一个关于位置和速度的简单数学公式,在解空间中不断移动和更新自己。每个粒子的移动都受到已知局部最优位置(即局部最优粒子)和全局最优位置(即全局最优粒子)的影响,从而促使一些更优的位置被更新后的粒子发现,即粒子群会朝着最优方向不断进化和更新,从而实现求得最优解。
本发明提出一种改进的粒子群算法,用遗传算法的更新策略,包括变异运算和交叉运算,来代替粒子的运动。步骤S3具体包括以下步骤:
步骤S31:对于云软件服务资源分配问题的编码,本发明采用离散编码方式对PSO的粒子进行编码。假设有m种虚拟机,每一种虚拟机的数量表示为vml,其中1≤l≤m;则某一种资源分配方案的粒子编码定义为如下公式:
VM={vm1,vm2,vm3,...,vmm} (10);
初始化相关参数的值,包括但不限于粒子群大小、最大迭代次数和初始粒子群大小;
步骤S32:根据下式计算出每个例子的适应度值,将每个粒子设为其自身的局部最优粒子,并将适应度值最小的粒子设为全局最优粒子:
Figure BDA0002060562390000071
式中,r1表示对服务质量QoS的权衡,r2表示对云资源代价的权衡;适应度函数是指导粒子群优化算法搜寻求解的方向,和本发明的管理目标函数具有相同的意义。因此,直接采用管理目标函数作为粒子群算法的适应度函数,如公式(11)。一个更好的资源分配方案应得到更小的适应度函数值。
步骤S33:根据突变和交叉运算更新粒子,并重新计算每个粒子的适应度值;
步骤S34:如果更新后的粒子的适应度值优于其局部最优粒子,则用更新后的粒子替换局部最优粒子;
步骤S35:如果更新后的粒子的适应度值优于全局最优粒子,则用更新后的粒子替换全局最优粒子;
步骤S36:返回步骤S33,直到满足停止条件,比如达到了最大迭代次数。
较佳的,在本发明中,对于粒子的更新策略,主要采用突变和交叉。
对于粒子的更新策略,主要采用突变和交叉。
对于突变策略:突变是在原始粒子中随机选择一个位点,然后突变该位点的值,形成一个新的粒子。对于某一位点的值,设计了两种突变情况:增加1,减少1,每种情况的概率是1/2。例如假设虚拟机有三种类型,突变前粒子为(1,2,6)。经过突变操作后,产生新粒子(1,2,7)。即原粒子中的第3个位点的值增加了1。
对于交叉策略:交叉包括两个步骤。首先,对于某个粒子,随机选取该粒子中的两个位点,将它们之间的片段替换为局部最优粒子中对应的片段,生成中间临时粒子。其次,再随机选取临时粒子的两个位点,用全局最优粒子中相应的片段替换这两位点之间的片段,从而生成新粒子。例如已知原始粒子为(1,2,7),局部最优粒子为(0,2,6),全局最优粒子为(0,2,5)。先将原始粒子和局部最优粒子的第一、第二位点之间的片段进行交叉,生成中间临时粒子(0,2,7);再使得临时粒子和全局最优粒子进行第二、第三位点之间的片段进行交叉,产生新粒子(0,2,5)。这样的交叉运算,保证了粒子群逐步朝着最优的方向不断进化和演变。
进一步地,QoS预测模型的准确率是渐进式地提高,随之得到的目标资源分配方案通常也会发生变化。如果资源调整完全按照目标分配方案进行,每个循环中,很大可能都在动态启用或停止租用虚拟机,这导致资源成本不断升高。因此,根据已分配的资源情况与每个循环中的目标分配方案之间的差异,按一定比例的进行资源调整,使其逐步靠近最优的资源分配方案,以降低由于启动不必要的虚拟机或者停止已租用虚拟机而带来的额外开销。
步骤S4具体包括以下步骤:
步骤S41:对于已分配的资源情况VMallocated采用式(12)表示,对于每次循环得到的目标分配方案VMObjective采用公式(13)表示,对于已分配的资源情况VMallocated和目标分配方案VMobjective之间的差异VMDifference采用式(14)表示:
Figure BDA0002060562390000081
Figure BDA0002060562390000082
Figure BDA0002060562390000091
步骤S42:采用下式计算出已分配的资源情况与每个循环中的目标分配方案之间的整体变化趋势:
Figure BDA0002060562390000092
当VMsum>0时,表示该云软件服务的虚拟机资源整体上需要增加,此时不减少虚拟机;而当VMsum<0时,表示该云软件服务的虚拟机资源具有剩余的计算能力,需要适当减少虚拟机数量,此时不增加虚拟机;
步骤S43:假设资源调整的比例是Proportion,并且0<Proportion<1,为了保证每种虚拟机每次调整的数量是整数,需要进行取整操作。如公式(16),是第l种虚拟机需要调整的数量,当VMAdjustement>0时,表示添加该类型的虚拟机VMAdjustement台,相反地,则减少该类型的虚拟机VMAdjustement台;其中,Intpart()是取整函数,它的含义如公式(17),对于某个数值a,当它大于等于0时,取上整;当它是负数,则向下取整。
VMadjustement(l)=Intpart(VMDifference(l)*Proportion) (16);
Figure BDA0002060562390000093
综上,本发明的方法主要有两部分组成:第一,基于运行时数据,通过自校正控制,对QoS预测模型进行修正改进;第二,根据已分配资源情况和目标资源分配方案之间的差异,按一定的比例进行资源调整。本发明在CloudStack云平台上搭建RUBiS软件服务进行了实验,实验结果表明该方法的可行性和有效性。
与现有技术相比,本发明有以下有益效果:对于云软件服务的自适应资源分配问题,本发明考虑当数据集不够完整且QoS预测模型不准确时,应如何实现资源的最优分配。针对该问题,本发明提出一种基于QoS模型自校正的资源分配方法。首先,采用自校正控制理论,基于运行时数据不断修正QoS预测模型,使得其在给定的工作负载下的准确率得到有效提高;然后,引入控制理论,将反馈控制环运用于资源调整决策过程中;分步调整的策略,不仅可以逐步靠近最优的资源分配方案,还有效地降低了由于启动不必要的虚拟机或停止已租用虚拟机而带来的额外开销。
附图说明
图1为本发明实施例的方法流程示意图。
图2为本发明实施例的自校正控制原理框图。
图3为本发明实施例的改进粒子群算法个体突变策略示意图。
图4为本发明实施例的改进粒子群算法个体交叉策略示意图。
图5为本发明实施例的资源调整的决策算法代码示意图。
图6为本发明实施例的平均工作负载数量和比例的变化情况,
图7为本发明实施例的QoS预测模型的相对误差值。其中(a)为当置信度为70%,(b)为当置信度为75%。
图8为本发明实施例的三种自适应资源分配方法的性能比较。其中(a)为当置信度为70%,(b)为当置信度为75%。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种基于QoS模型自校正的云软件服务资源分配方法,具体包括以下步骤:
步骤S1:进行在线自学习,得到QoS预测模型;
步骤S2:收集某个工作负载下的运行时数据,通过自校正控制提高QoS预测模型在当前工作负载下的准确度;每当虚拟机资源重新调整后,就开始收集运行时数据,同样的,包括工作负载、已分配的资源和QoS值等信息;
步骤S3:结合服务质量QoS和云资源成本Cost构建适应度函数,并使用改进的粒子群优化算法来搜索目标资源分配方案;目标资源分配方案实际上是基于适应度函数的全局最优解;
步骤S4:将当前的资源分配情况与搜索到的目标资源分配方案进行比较,得到二者之间的差异,然后按一定的比例进行资源调整;在此期间,虚拟机是逐一添加或删除的,每添加或删除一台虚拟机,都收集云软件服务的运行时数据;
步骤S5:重复步骤S2至步骤S4,直到当前的资源分配情况和目标资源分配方案相同时,完成资源调整。
在本实施例中,步骤S1具体为:首先对响应时间建立服务质量映射函数,使其更能反映出服务质量的好坏;再通过机器学习,建立工作负载、已分配的资源和服务质量之间的关系模型,将得到的QoS预测模型初始化到下一个步骤S2中。
在本实施例中,步骤S1中,所述QoS预测模型以负载请求情况R(包括种类和数量)、分配的虚拟机情况VM(包括种类和数量)作为输入,以服务质量QoS(响应时间RT的映射值)作为输出,建立统一的非线性回归模型,公式如下:
Figure BDA0002060562390000121
上述公式是非线性回归的一般表达式。其中,自变量X是包含负载请求R和虚拟机分配情况VM的集合;如表1所示,工作负载即R={xc,1,xc,2,...,xc,n},表示有n种类型的负载请求,其中的xc,l表示第l种负载请求的数量;资源分配情况是VM={xc,n+1,xc,n+2,...,xc,n+m},表示有m种类型的虚拟机,其中的xc,n+l表示第l种虚拟机的数量;指数变量Parameter={p1,p2,...,pn+m}是自变量X的指数参数,可以根据每个云软件服务的特点和要求,设定不同的值;当Parameter的值全部取1时,上式变为线性回归模型,式中的参数W={w0,w1,...,wn+m}是所要求解和修正的参数。对于一个准确率不高的服务质量预测模型,可以通过采集其在某个工作负载下的运行时数据,如表1,基于自校正控制理论,通过最小化预测值和真实值之间的误差,从而实现对原参数W进行重估计和再整定。
表1 QoS预测模型自校正的数据集
Figure BDA0002060562390000122
Figure BDA0002060562390000131
在本实施例中,如图2所示,步骤S2包括参数递推估计和参数计算两个部分,其中参数递推估计是根据系统的输入输出信息,连续不断地估计QoS预测模型的参数;参数计算则将原QoS预测模型的参数和新的参数估计值进行计算和整定(一般按比例整定),并将最后计算结果更新到QoS预测模型中,使得QoS预测模型的预测性能达到最优或者接近最优状态。
在本实施例中,步骤S2具体包括以下步骤:
步骤S21:对于某个工作负载,在不断的资源调整过程,假设收集了u组运行时数据,包括工作负载、虚拟机分配情况以及真实的QoS值QoSactual;基于工作负载和虚拟机分配情况根据公式
Figure BDA0002060562390000132
得到如下的u个QoS预测方程:
Figure BDA0002060562390000133
Figure BDA0002060562390000134
Figure BDA0002060562390000135
Figure BDA0002060562390000136
对于一个已知的QoS预测模型,指数变量Parameter是固定的,不是本发明所关注的需要修正的对象;
步骤S22:对式(2)进行向量-矩阵形式表达如下:
Figure BDA0002060562390000141
用Y表示u个预测的输出QoS组成的向量,W为n+m+1维的参数向量,Φ表示u*(n+m+1)维的输入矩阵,即令:
Figure BDA0002060562390000142
将公式(3)简写成以下向量-矩阵方程:
Y=ΦW (5);
对于采集的真实的服务质量值和真实值QoSactual,它是QoSpredicted的最优估计,记作
Figure BDA0002060562390000143
Figure BDA0002060562390000144
表示W的最优估计,则:
Figure BDA0002060562390000145
步骤S23:采用最小二乘法进行参数估计,需要使得QoS预测值和QoS真实值之间的残差的平方差最小;其中残差的向量形式表达如下:
Figure BDA0002060562390000151
残差的平方差,即指标函数表示如下:
Figure BDA0002060562390000152
令J对
Figure BDA0002060562390000153
求导,即令
Figure BDA0002060562390000154
即能够求出
Figure BDA0002060562390000155
参数计算是为QoS预测模型计算并设置新的参数向量。
Figure BDA0002060562390000156
它需要对原参数向量W与局部最优参数向量
Figure BDA0002060562390000157
之间进行权衡,直接使用局部最优系数向量
Figure BDA0002060562390000158
会使QoS预测模型陷入局部最优,即在其他工作负载情况下,QoS预测模型的准确度具有失准的可能性。
步骤S24:对原系数向量W和步骤S23得到的
Figure BDA0002060562390000159
(局部最优系数向量)进行按比例整定,如下式:
Figure BDA00020605623900001510
式中,η为参数,专家可以根据不同系统的要求进行设置;更高的η表示对原参数具有更高的置信比例。
在本实施例中,PSO是一种基于群体智能的计算技术,它通常很快收敛到局部最优解,但失去了在全局范围内找到更优解的机会。而遗传算法是一种受自然选择过程启发的元启发式算法,通常用于生成高质量的全局最优解。本发明引入了遗传算法的思想,提出一种改进的PSO算法,使其具有较快的收敛速度和较好的全局搜索能力。传统PSO是通过一个候选粒子群来求解问题的。粒子根据一个关于位置和速度的简单数学公式,在解空间中不断移动和更新自己。每个粒子的移动都受到已知局部最优位置(即局部最优粒子)和全局最优位置(即全局最优粒子)的影响,从而促使一些更优的位置被更新后的粒子发现,即粒子群会朝着最优方向不断进化和更新,从而实现求得最优解。
本实施例提出一种改进的粒子群算法,用遗传算法的更新策略,包括变异运算和交叉运算,来代替粒子的运动。步骤S3具体包括以下步骤:
步骤S31:对于云软件服务资源分配问题的编码,本发明采用离散编码方式对PSO的粒子进行编码。假设有m种虚拟机,每一种虚拟机的数量表示为vml,其中1≤l≤m;则某一种资源分配方案的粒子编码定义为如下公式:
VM={vm1,vm2,vm3,...,vmm} (10);
初始化相关参数的值,包括但不限于粒子群大小、最大迭代次数和初始粒子群大小;
步骤S32:根据下式计算出每个例子的适应度值,将每个粒子设为其自身的局部最优粒子,并将适应度值最小的粒子设为全局最优粒子:
Figure BDA0002060562390000161
式中,r1表示对服务质量QoS的权衡,r2表示对云资源代价的权衡;适应度函数是指导粒子群优化算法搜寻求解的方向,和本发明的管理目标函数具有相同的意义。因此,直接采用管理目标函数作为粒子群算法的适应度函数,如公式(11)。一个更好的资源分配方案应得到更小的适应度函数值。
步骤S33:根据突变和交叉运算更新粒子,并重新计算每个粒子的适应度值;
步骤S34:如果更新后的粒子的适应度值优于其局部最优粒子,则用更新后的粒子替换局部最优粒子;
步骤S35:如果更新后的粒子的适应度值优于全局最优粒子,则用更新后的粒子替换全局最优粒子;
步骤S36:返回步骤S33,直到满足停止条件,比如达到了最大迭代次数。
较佳的,在本发明中,对于粒子的更新策略,主要采用突变和交叉。
对于粒子的更新策略,主要采用突变和交叉。
对于突变策略:突变是在原始粒子中随机选择一个位点,然后突变该位点的值,形成一个新的粒子。对于某一位点的值,设计了两种突变情况:增加1,减少1,每种情况的概率是1/2。如图3,例如假设虚拟机有三种类型,突变前粒子为(1,2,6)。经过突变操作后,产生新粒子(1,2,7)。即原粒子中的第3个位点的值增加了1。
对于交叉策略:交叉包括两个步骤。首先,对于某个粒子,随机选取该粒子中的两个位点,将它们之间的片段替换为局部最优粒子中对应的片段,生成中间临时粒子。其次,再随机选取临时粒子的两个位点,用全局最优粒子中相应的片段替换这两位点之间的片段,从而生成新粒子。如图4,图4说明了交叉运算的过程,已知原始粒子为(1,2,7),局部最优粒子为(0,2,6),全局最优粒子为(0,2,5)。先将原始粒子和局部最优粒子的第一、第二位点之间的片段进行交叉,生成中间临时粒子(0,2,7);再使得临时粒子和全局最优粒子进行第二、第三位点之间的片段进行交叉,产生新粒子(0,2,5)。这样的交叉运算,保证了粒子群逐步朝着最优的方向不断进化和演变。
在本实施例中,QoS预测模型的准确率是渐进式地提高,随之得到的目标资源分配方案通常也会发生变化。如果资源调整完全按照目标分配方案进行,每个循环中,很大可能都在动态启用或停止租用虚拟机,这导致资源成本不断升高。因此,根据已分配的资源情况与每个循环中的目标分配方案之间的差异,按一定比例的进行资源调整,使其逐步靠近最优的资源分配方案,以降低由于启动不必要的虚拟机或者停止已租用虚拟机而带来的额外开销。
步骤S4具体包括以下步骤:
步骤S41:对于已分配的资源情况VMallocated采用式(12)表示,对于每次循环得到的目标分配方案VMObjective采用公式(13)表示,对于已分配的资源情况VMallocated和目标分配方案VMobjective之间的差异VMDifference采用式(14)表示:
Figure BDA0002060562390000181
Figure BDA0002060562390000182
Figure BDA0002060562390000183
步骤S42:采用下式计算出已分配的资源情况与每个循环中的目标分配方案之间的整体变化趋势:
Figure BDA0002060562390000184
当VMsum>0时,表示该云软件服务的虚拟机资源整体上需要增加,此时不减少虚拟机;而当VMsum<0时,表示该云软件服务的虚拟机资源具有剩余的计算能力,需要适当减少虚拟机数量,此时不增加虚拟机;
步骤S43:假设资源调整的比例是Proportion,并且0<Proportion<1,为了保证每种虚拟机每次调整的数量是整数,需要进行取整操作。如公式(16),是第l种虚拟机需要调整的数量,当VMAdjustement>0时,表示添加该类型的虚拟机VMAdjustement台,相反地,则减少该类型的虚拟机VMAdjustement台;其中,Intpart()是取整函数,它的含义如公式(17),对于某个数值a,当它大于等于0时,取上整;当它是负数,则向下取整。
VMadjustement(l)=Intpart(VMDifference(l)*Proportion) (16);
Figure BDA0002060562390000191
本实施例提出了一个决策算法,用来计算资源分配的调整方案,如图5所示。如果数组VMDifference中的每一项值都为0,表示当前的资源分配方案与目标分配方案相同,不需要调整(Line 3-4)。否则,根据VMsum的值来指导资源分配的总体趋势,要么增,要么减(Line6)。如果VMsum的值大于或等于0,则将增加虚拟机资源(Line7-14);相反地,已分配的虚拟机资源将被减少(Line 15-23)。比如,当VMsum的值大于或等于0时,如果数组VMDifference中的第index个值是正数,则对其先按比例(Proportion)计算再取整(Intpart()),得到需要调整的数量VMAdjustement(index)(Line 9-10);但如果如果数组VMDifference中的第index个值是负数,则直接取0作为调整的数量(Line 11-13)。即当整体趋势是增加虚拟机资源的时候,即使某些类型虚拟机需要减少数量,也不对其做减少和停止租用,而是继续保持原来的数量。因为,“整体趋势为增加虚拟机资源时”表示当前分配的计算能力满足不了当前的工作负载,为了优先保证服务质量水平,所以先只增加虚拟机。当然地,如果本次添加虚拟机后,服务质量水平得到了保证,但虚拟机资源多余了,算法1会在下一轮计算中,自动计算出对应需要减少的虚拟机数量(Line 15-23)。
较佳的,接下来对本实施例提出的方法进行评估。本实施例主要对资源分配方法的有效性、QoS预测模型准确率的提高情况、自校正方法的性能进评估,并与传统的资源分配方法以及基于规则的方法进行比较,选择小、中、大三种类型的虚拟机。
对于工作负载的类别设置,将其分为分为只浏览的行为(Only Browse)和其他的行为(Selling,Bidding,Rating,etc.)2类。具体工作负载变化如图7所示,其中横线段代表平均工作负载数量,柱状图表示两种负载类型的比例。对于工作负载数量的变化,首先是缓慢增长,接着骤减和骤增,最后缓慢减少,这样的负载数量变化是为了验证本发明方法自适应分配资源的有效性。整个实验持续7个小时,每一小时内的平均负载数量是一定的,数量范围是[3000,5000]。
关于本实施例的有效性评估具体如下:
本实施例通过不同负载下的资源分配情况评估自校正方法的有效性。表2展示了三种不同方法在不同工作负载下的的资源分配情况。由这些表可知,影响资源分配的因素很多。
表2三种自适应资源分配方法在不同工作负载下的资源分配情况
Figure BDA0002060562390000201
Figure BDA0002060562390000211
首先,工作负载的平均数量和负载种类比例都直接影响着资源分配方案。例如,对于前三个区间,由图6可知,他们工作负载的平均数量和负载种类的比例各不相同。对应地,每种资源分配方法在这三个区间之间,所分配的资源都存在显著差异;当然,同一个区间内,三种方法分配的资源也存在差异。
其次,前一个区间的资源分配情况会影响到当前区间的资源分配。例如,由图6可知,第一区间和第六区间的工作负载的平均数量以及负载种类比例是相同的。但对于本实施例方法和传统方法,由于第六区间的资源分配受到前一个区间(第五区间)已分配资源情况的影响(因为本实施例认为减去已分配的资源是有代价的),因此第一区间和第六区间所分配的资源存在差异。
第三,QoS预测模型的准确率也会影响资源分配方案。对于本实施例的使用不同准确率的两个QoS预测模型,每个阶段分配的资源之间都存在差异。
最后,三种方法都能一定程度地进行自适应资源分配。对于自校正方法,它在两种QoS预测模型情况下,都能有效地进行自适应资源分配。以置信度为75%的QoS预测模型为例,当平均工作负载从4000升到4500时(第一区间到第二区间),虚拟机分配情况由<0,2,5>变为<0,4,5>,本实施例会多分配2台Medium类型的虚拟机用以响应增长的500个工作负载;当平均工作负载从5000降到3000时(第三区间到第四区间),虚拟机分配情况则由<0,5,5>变为<0,0,5>,由于工作负载的骤降,本实施例会把多余的5台Medium类型的虚拟机停用,以保证云资源成本的最小化。如上,不论工作负载的增长和减少,本实施例的方法也都能有效地进行自适应资源分配。
关于本实施例的预测模型的准确率的提高情况具体如下:对于给定的工作负载下,本实施例比较原QoS预测模型准确率和修正后的QoS预测模型准确率之间的差异,用以评价自校正方法对QoS预测模型准确率的提高情况。如图7所示,本实施例计算了每次迭代的相对误差值R。可以看出,本实施例的自校正方法可以显著提高QoS预测模型在给定的工作负载下的准确率。
首先,提高QoS预测模型的准确率是一个渐进的过程,随着反馈迭代次数的增加,模型的相对误差值越小(如图7中相同颜色的离散点)。例如,当反馈迭代次数为0时,置信度为75%的QoS预测模型的平均相对误差值为0.23;当反馈迭代次数为3时,其平均相对误差值降低到0.08。
第二,本实施例对两个不同准确率的QoS预测模型都能有效地提高他们的准确率。对于置信度为70%的QoS预测模型,本实施例的影响更加明显,其准确率得到更有效地提高。例如,当反馈迭代次数为0时,置信度为70%的QoS预测模型的平均相对误差值为0.26;当反馈迭代次数为3时,其平均相对误差值降低到0.06。与75%置信度的QoS预测模型相比,经过相同的迭代次数,原来准确率低的模型得到了更有效地提高,其中70%置信度的平均相对误差值下降了0.20,而75%置信度的平均相对误差值下降了0.15。
最后,无论准确率高低,两个QoS预测模型经过完整的迭代过程后,他们的准确率都得到了有效的提高,并最后维持在一个很低的相对误差水平。例如,经过5次反馈迭代,70%置信度的QoS预测模型的相对误差值平均降低24%;而75%置信度的QoS预测模型经过7次反馈迭代后,相对误差值平均降低20%。最后二者的相对误差都维持在0.02左右。
关于本实施例方法的性能评估具体如下:
对于自适应资源分配性能的比较,本实施例直接采用目标函数值(即适应度值)进行验证。一个好的资源分配方案,其适应度值越小。
与传统方法相比,对于置信度为70%时,自校正方法可以平均提高8%的性能;对于置信度为75%时,它可以平均提高4%的性能,如图8所示。两种置信度情况下,自校正方法的性能都较传统方法有所提高。这是因为QoS预测模型的准确性会影响到最终资源分配方案。而本实施例方法可以不断提高QoS预测模型的准确性,并且原模型的准确性越低,提高效果越好。基于准确率提高后的模型,粒子群优化算法可以搜索到更优的资源分配方案。并且,与传统方法相比,当QoS预测模型准确率不高时,本实施例方法分配的资源方案更优,性能更好。
与传统的规则驱动方法相比,对于置信度为70%时,本实施例方法可以平均提高4%的性能;对于置信度为75%时,它可以平均提高7%的性能,如图8所示。由于规则驱动的方法是遵循表6-8中所描述的规则,不依赖于QoS预测模型的准确率;而本实施例方法使用了QoS预测模型,其准确性会影响资源分配的性能。当使用精确的QoS预测模型,本实施例可以得到最优资源分配方案,从而性能比规则驱动方法有明显的提高。实际上,规则的置定,需要针对不同云软件服务,同时考虑SLA要求、各种类型的虚拟机性能等,这将增加对云工程师的依赖和管理难度。而本实施例两种方法的QoS预测模型是基于机器学习方法得到的,具有自学习性,对于不同的云软件服务,只要采集所需的数据集,经过训练后即可得到QoS预测模型;同时,当QoS预测模型准确率不够高时,本实施例方法提供基于自校正控制理论的模型修正方法,可以不断地提高QoS预测模型的准确率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (7)

1.一种基于QoS模型自校正的云软件服务资源分配方法,其特征在于:包括以下步骤:
步骤S1:进行在线自学习,得到QoS预测模型;
步骤S2:收集某个工作负载下的运行时数据,通过自校正控制提高QoS预测模型在当前工作负载下的准确度;
步骤S3:结合服务质量QoS和云资源成本Cost构建适应度函数,并使用改进的粒子群优化算法来搜索目标资源分配方案;
步骤S4:将当前的资源分配情况与搜索到的目标资源分配方案进行比较,得到二者之间的差异,然后按一定的比例进行资源调整;
步骤S5:重复步骤S2至步骤S4,直到当前的资源分配情况和目标资源分配方案相同时,完成资源调整。
2.根据权利要求1所述的一种基于QoS模型自校正的云软件服务资源分配方法,其特征在于:步骤S1具体为:首先对响应时间建立服务质量映射函数,使其更能反映出服务质量的好坏;再通过机器学习,建立工作负载、已分配的资源和服务质量之间的关系模型,将得到的QoS预测模型初始化到下一个步骤S2中。
3.根据权利要求1所述的一种基于QoS模型自校正的云软件服务资源分配方法,其特征在于:步骤S1中,所述QoS预测模型以负载请求情况R、分配的虚拟机情况VM作为输入,以服务质量QoS作为输出,建立统一的非线性回归模型,公式如下:
Figure FDA0002540632870000021
其中,自变量X是包含负载请求R和虚拟机分配情况VM的集合;工作负载即R={xc,1,xc,2,...,xc,n},表示有n种类型的负载请求,其中的xc,l表示第l种负载请求的数量;资源分配情况是VM={xc,n+1,xc,n+2,...,xc,n+m},表示有m种类型的虚拟机,其中的xc,n+l表示第l种虚拟机的数量;指数变量Parameter={p1,p2,...,pn+m}是自变量X的指数参数;当Parameter的值全部取1时,上式变为线性回归模型,式中的参数W={w0,w1,...,wn+m}是所要求解和修正的参数。
4.根据权利要求1所述的一种基于QoS模型自校正的云软件服务资源分配方法,其特征在于:步骤S2包括参数递推估计和参数计算两个部分,其中参数递推估计是根据系统的输入输出信息,连续不断地估计QoS预测模型的参数;参数计算则将原QoS预测模型的参数和新的参数估计值进行计算和整定,并将最后计算结果更新到QoS预测模型中,使得QoS预测模型的预测性能达到最优或者接近最优状态。
5.根据权利要求3所述的一种基于QoS模型自校正的云软件服务资源分配方法,其特征在于:步骤S2具体包括以下步骤:
步骤S21:对于某个工作负载,在不断的资源调整过程,假设收集了u组运行时数据,包括工作负载、虚拟机分配情况以及真实的QoS值QoSactual;基于工作负载和虚拟机分配情况根据公式
Figure FDA0002540632870000022
得到如下的u个QoS预测方程:
Figure FDA0002540632870000031
Figure FDA0002540632870000032
Figure FDA0002540632870000033
Figure FDA0002540632870000034
步骤S22:对式(2)进行向量-矩阵形式表达如下:
Figure FDA0002540632870000035
用Y表示u个预测的输出QoS组成的向量,W为n+m+1维的参数向量,Φ表示u*(n+m+1)维的输入矩阵,即令:
Figure FDA0002540632870000036
将公式(3)简写成以下向量-矩阵方程:
Y=ΦW (5);
对于采集的真实的服务质量值和真实值QoSactual,它是QoSpredicted的最优估计,记作
Figure FDA0002540632870000037
Figure FDA0002540632870000038
表示W的最优估计,则:
Figure FDA0002540632870000041
步骤S23:采用最小二乘法进行参数估计,需要使得QoS预测值和QoS真实值之间的残差的平方差最小;其中残差的向量形式表达如下:
Figure FDA0002540632870000042
残差的平方差,即指标函数表示如下:
Figure FDA0002540632870000043
令J对
Figure FDA0002540632870000044
求导,即令
Figure FDA0002540632870000045
即能够求出
Figure FDA0002540632870000046
步骤S24:对原系数向量W和步骤S23得到的
Figure FDA0002540632870000047
进行按比例整定,如下式:
Figure FDA0002540632870000048
式中,η为参数,更高的η表示对原参数具有更高的置信比例。
6.根据权利要求1所述的一种基于QoS模型自校正的云软件服务资源分配方法,其特征在于:步骤S3具体包括以下步骤:
步骤S31:假设有m种虚拟机,每一种虚拟机的数量表示为vm l ,其中1≤l≤m;则某一种资源分配方案的粒子编码定义为如下公式:
VM={vm1,vm2,vm3,...,vmm } (10);
初始化相关参数的值,包括但不限于粒子群大小、最大迭代次数和初始粒子群大小;
步骤S32:根据下式计算出每个粒子的适应度值,将每个粒子设为其自身的局部最优粒子,并将适应度值最小的粒子设为全局最优粒子:
Figure FDA0002540632870000051
式中,r1表示对服务质量QoS的权衡,r2表示对云资源代价的权衡;
步骤S33:根据突变和交叉运算更新粒子,并重新计算每个粒子的适应度值;
步骤S34:如果更新后的粒子的适应度值优于其局部最优粒子,则用更新后的粒子替换局部最优粒子;
步骤S35:如果更新后的粒子的适应度值优于全局最优粒子,则用更新后的粒子替换全局最优粒子;
步骤S36:返回步骤S33,直到满足停止条件。
7.根据权利要求1所述的一种基于QoS模型自校正的云软件服务资源分配方法,其特征在于:步骤S4具体包括以下步骤:
步骤S41:对于已分配的资源情况VMallocated采用式(12)表示,对于每次循环得到的目标分配方案VMObjective采用公式(13)表示,对于已分配的资源情况VMallocated和目标分配方案VMobjective之间的差异VMDifference采用式(14)表示:
Figure FDA0002540632870000052
Figure FDA0002540632870000053
Figure FDA0002540632870000054
步骤S42:采用下式计算出已分配的资源情况与每个循环中的目标分配方案之间的整体变化趋势:
Figure FDA0002540632870000061
当VMsum>0时,表示该云软件服务的虚拟机资源整体上需要增加,此时不减少虚拟机;而当VMsum<0时,表示该云软件服务的虚拟机资源具有剩余的计算能力,需要适当减少虚拟机数量,此时不增加虚拟机;
步骤S43:假设资源调整的比例是Proportion,并且0<Proportion<1,为了保证每种虚拟机每次调整的数量是整数,需要进行取整操作;如公式(16),是第l种虚拟机需要调整的数量,当VMadjustement >0时,表示添加该类型的虚拟机VMadjustement 台,相反地,则减少该类型的虚拟机VMadjustement 台;其中,Intpart()是取整函数;
VMadjustement(l)=Intpart(VMDifference(l)*Proportion) (16)。
CN201910403638.2A 2019-05-15 2019-05-15 一种基于QoS模型自校正的云软件服务资源分配方法 Active CN110138612B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910403638.2A CN110138612B (zh) 2019-05-15 2019-05-15 一种基于QoS模型自校正的云软件服务资源分配方法
PCT/CN2019/098255 WO2020228143A1 (zh) 2019-05-15 2019-07-30 一种基于QoS模型自校正的云软件服务资源分配方法
US17/603,269 US20220210028A1 (en) 2019-05-15 2019-07-30 Cloud software service resource allocation method based on qos model self-correctio

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910403638.2A CN110138612B (zh) 2019-05-15 2019-05-15 一种基于QoS模型自校正的云软件服务资源分配方法

Publications (2)

Publication Number Publication Date
CN110138612A CN110138612A (zh) 2019-08-16
CN110138612B true CN110138612B (zh) 2020-09-01

Family

ID=67574246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910403638.2A Active CN110138612B (zh) 2019-05-15 2019-05-15 一种基于QoS模型自校正的云软件服务资源分配方法

Country Status (3)

Country Link
US (1) US20220210028A1 (zh)
CN (1) CN110138612B (zh)
WO (1) WO2020228143A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110809275B (zh) * 2019-11-08 2021-09-28 福州大学 基于无线城域网的微云节点放置方法
KR20220114653A (ko) * 2019-12-23 2022-08-17 로베르트 보쉬 게엠베하 프로세서 자원 할당 방법, 컴퓨팅 유닛 및 비디오 감시 장치
CN111314120A (zh) * 2020-01-23 2020-06-19 福州大学 基于迭代QoS模型的云软件服务资源自适应管理框架
CA3178285A1 (en) * 2020-04-07 2021-10-14 Assia Spe, Llc Systems and methods for remote collaboration
CN112214320A (zh) * 2020-10-10 2021-01-12 福州大学 面向负载时间窗口的基于pso-ga的云服务资源自适应分配方法
US11816610B2 (en) * 2020-10-28 2023-11-14 Cox Communications, Inc. Systems and methods for network resource allocations
CN113268350B (zh) * 2021-06-07 2024-01-26 上海数禾信息科技有限公司 基于云的服务构建的资源分配方法、装置、计算机设备
CN113687780B (zh) * 2021-07-30 2024-02-23 济南浪潮数据技术有限公司 分布式存储服务端QoS优化方法、系统、终端及存储介质
CN115002215B (zh) * 2022-04-11 2023-12-05 北京邮电大学 面向云上政企的资源分配模型训练方法以及资源分配方法
CN114531365B (zh) * 2022-04-24 2022-07-15 北京华创方舟科技集团有限公司 多云环境下云资源自动化运维的方法
CN115118675B (zh) * 2022-06-17 2023-05-23 赛诺信致软件技术(北京)有限公司 基于智能网卡设备实现的数据流传输加速方法及其系统
CN114819424B (zh) * 2022-06-30 2022-10-11 国网江西省电力有限公司电力科学研究院 一种适应多场景应用的储能剩余容量分配方法
CN114860462B (zh) * 2022-07-11 2022-09-30 南京普道电子技术有限公司 双路机架式服务器的计算资源智能分配系统及其分配方法
CN117057840A (zh) * 2023-08-21 2023-11-14 奇墨科技(广州)有限公司 云资源成本优化方法及系统
CN116893903B (zh) * 2023-09-11 2023-12-08 北京格尔国信科技有限公司 一种加密资源分配方法、系统、设备及存储介质
CN117170881B (zh) * 2023-11-02 2024-02-02 建信金融科技有限责任公司 一种资源调控的方法、装置及存储介质、处理器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095849A (zh) * 2013-02-07 2013-05-08 南京邮电大学 基于QoS属性预测和纠错的有监督Web服务发现方法及系统
US8676981B2 (en) * 2011-05-12 2014-03-18 International Business Machines Corporation Routing service requests based on lowest actual cost within a federated virtual service cloud
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009631A (zh) * 2006-01-24 2007-08-01 华为技术有限公司 一种QoS控制方法和系统
CN102780759B (zh) * 2012-06-13 2016-05-18 合肥工业大学 基于调度目标空间的云计算资源调度方法
CN103699446B (zh) * 2013-12-31 2017-02-15 南京信息工程大学 基于量子粒子群优化算法的多目标工作流动态调度方法
CN105592160B (zh) * 2015-12-30 2019-09-13 南京邮电大学 一种云计算环境下面向服务消费者的资源配置方法
US10942776B2 (en) * 2016-09-21 2021-03-09 Accenture Global Solutions Limited Dynamic resource allocation for application containers
CN109165081B (zh) * 2018-08-15 2021-09-28 福州大学 基于机器学习的Web应用自适应资源配置方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676981B2 (en) * 2011-05-12 2014-03-18 International Business Machines Corporation Routing service requests based on lowest actual cost within a federated virtual service cloud
CN103095849A (zh) * 2013-02-07 2013-05-08 南京邮电大学 基于QoS属性预测和纠错的有监督Web服务发现方法及系统
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Self-Adaptive and Online QoS Modeling for Cloud-Based Software Services;Tao Chen;《IEEE TRANSAC TIONS ON SOFTWA RE ENGINEER ING》;20170531;全文 *
Self-learning and self-adaptive resource allocation for cloud-based software services;陈星;《WILEY》;20180130;全文 *

Also Published As

Publication number Publication date
US20220210028A1 (en) 2022-06-30
CN110138612A (zh) 2019-08-16
WO2020228143A1 (zh) 2020-11-19

Similar Documents

Publication Publication Date Title
CN110138612B (zh) 一种基于QoS模型自校正的云软件服务资源分配方法
CN107995039B (zh) 面向云软件服务的资源自学习与自适应分配方法
CN112052071B (zh) 强化学习和机器学习相结合的云软件服务资源分配方法
CN111314120A (zh) 基于迭代QoS模型的云软件服务资源自适应管理框架
Liu et al. An adaptive online parameter control algorithm for particle swarm optimization based on reinforcement learning
CN109165081B (zh) 基于机器学习的Web应用自适应资源配置方法
CN109976901A (zh) 一种资源调度方法、装置、服务器及可读存储介质
CN115085202A (zh) 电网多区域智能功率协同优化方法、装置、设备及介质
CN112348155A (zh) 一种模糊神经网络模型的优化方法及系统
CN110851247B (zh) 一种带约束云工作流的成本优化调度方法
CN110490319B (zh) 一种基于融合神经网络参数的分布式深度强化学习方法
Takayama et al. Multi-objective deep inverse reinforcement learning for weight estimation of objectives
CN110233763B (zh) 一种基于时序差分学习的虚拟网络嵌入算法
CN114648178B (zh) 一种基于ddpg算法的电能计量装置运维策略优化方法
CN111461482A (zh) 空域动态管理方法和装置
CN114942799B (zh) 云边环境下基于强化学习的工作流调度方法
CN113220437B (zh) 一种工作流多目标调度方法及装置
CN110555742A (zh) 一种发电商代理报价的生成方法与系统
CN115204056A (zh) 一种电网前瞻优化调度方法及系统
CN109347900A (zh) 基于改进狼群算法的云服务系统自适应演化方法
NL2029431B1 (en) Cloud software service resource allocation method based on qos model self-correction
CN114138416A (zh) 面向负载-时间窗口的基于dqn云软件资源自适应分配方法
Masadeh et al. Selector-actor-critic and tuner-actor-critic algorithms for reinforcement learning
CN112306641B (zh) 一种用于虚拟机迁移模型的训练方法
CN112953845B (zh) 分布式系统流量控制方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant