The invention discloses a resource self-learning and adaptive allocation method for cloud software services, including steps: 1) establishing the QoS model of software services, using data sets of historical data as learning data to train QoS models through machine learning algorithms; 2) constructing the fitness function of the software service resource allocation plan; 3) Based on genetic algorithm, the optimal resource allocation plan is searched for the online automatic allocation of resources. The invention is simple in operation, can maintain QoS value at a reasonable level, improve resource utilization ratio and have better performance price ratio.
【技术实现步骤摘要】
面向云软件服务的资源自学习与自适应分配方法
本专利技术涉及软件工程云计算
,具体涉及一种面向云软件服务的资源自学习与自适应分配方法。
技术介绍
云计算正在蓬勃发展,大量基于云的软件服务显而易见。为了在不断变化的工作负载下提供可扩展性和弹性,云服务提供商通常能够在共享基础架构中提供配置软硬件资源的能力。云的弹性导致了我们管理基于云的软件服务方式的转变。然而,在设计初期,软件工程师和云工程师难以预测这些基于云的软件服务的工作负载动态变化和运行时需求。事实意味着工程师为软件服务分配适当的资源来保证良好的服务质量以及低资源成本变得越来越复杂。软件自适应应运而生,以此来应对当今软件系统的复杂性。这样的自适应系统可以配置和重新配置自己,增强其功能,不断优化自身,保护自己并恢复自身,同时保持大部分复杂性隐藏于用户和管理员身上。在基于云的软件服务的资源分配中需要自适应能力,因为工程师的干预是困难的,甚至是不可能的。传统的自适应资源分配方法是策略驱动的,由专家设计。然而,软件服务在工作负载类型和资源偏好上具有不同的特征。因此,云工程师通常必须为每个系统制定单独的规则集,以便有 ...
【技术保护点】
一种面向云软件服务的资源自学习与自适应分配方法,其特征在于,包括:步骤1:建立软件服务的QoS模型,使用历史数据的数据集作为学习数据通过机器学习算法训练QoS模型:Y=Q(X) (1)其中,输入矩阵X包括工作负载的数量xi,0,不同类型的任务工作量的比例(xi,1,xi,2,…,xi,m),分配的资源(xi,m+1,xi,m+2,…,xi,m+n),其中xi,1+xi,2+…+xi,m=1,xi,m+s表示第s类虚拟机的数量,s=1,2,...,n,输出矩阵Y是QoS的预测值yi;步骤2:构造软件服务资源分配计划的适应度函数:
【技术特征摘要】
1.一种面向云软件服务的资源自学习与自适应分配方法,其特征在于,包括:步骤1:建立软件服务的QoS模型,使用历史数据的数据集作为学习数据通过机器学习算法训练QoS模型:Y=Q(X)(1)其中,输入矩阵X包括工作负载的数量xi,0,不同类型的任务工作量的比例(xi,1,xi,2,…,xi,m),分配的资源(xi,m+1,xi,m+2,…,xi,m+n),其中xi,1+xi,2+…+xi,m=1,xi,m+s表示第s类虚拟机的数量,s=1,2,...,n,输出矩阵Y是QoS的预测值yi;步骤2:构造软件服务资源分配计划的适应度函数:其中,fit是适应度值,CostL是虚拟机的租赁成本,CostD是虚拟机的停止成本,r1、r2是权重,根据不同系统的需求设置;步骤3:基于遗传算法搜索最优的资源分配计划,进行资源的在线自动分配决策。2.根据权利要求1所述的资源自学习与自适应分配方法,其特征在于,所述机器学习算法是非线性回归、支持向量机或分类回归树方法。3.根据权利要求1所述的资源自学习与自适应分配方法,其特征在于,所述步骤3具体包括:步骤31:对资源分配计划进行二进制编码,每条染色体代表一种资源分配计划,初始化参数值,包括种群大小、最大迭代次数和染色体数量;假设虚拟机有n种类...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。