首页 > 其他分享 >一种面向混合云平台基于LSTM预测模型的资源池配额方法。

一种面向混合云平台基于LSTM预测模型的资源池配额方法。

时间:2024-09-20 15:25:04浏览次数:6  
标签:剩余 步骤 申请 用户 面向 配额 LSTM 资源

本文分享自天翼云开发者社区《一种面向混合云平台基于LSTM预测模型的资源池配额方法。》,作者:l****n

基于用户的历史配额申请情况和实际资源使用情况组成数据集搭建LSTM时序预测模型。当前用户提出资源配额申请时,基于该用户的历史资源实际使用情况结合LSTM模型来预测该次配额申请的实际使用量来动态调整实际分配给用户的配额量从而减少资源滥用的可能性。

针对用户是否所属于组织或者部门来限定用户可分得的最大资源配额数量,进一步实现资源配额公平性。

步骤1 选取包含用户的资源实际使用数和对应申请额度数的数据集。将用户u在日期d申请的资源配额数表示为,本次配额申请最终用户实际使用的资源配额数表示为,计算 并以日期d作为索引,若同样的日期d用户u提交了多个资源配额申请则对所有资源的取平均值作为索引d的值,将索引以此类推以时间从早到晚为序列顺序组成数据集。

步骤2 依据时间索引,将数据集前百分之八十的数据划分为训练集,末尾百分之二十划分为测试集。导入keras包构建LSTM模型,即通过Sequential顺序模型以及添加图层layer,卷积层Conv2D,最大池化层MaxPooling等搭建LSTM模型,通过RMSE判断模型实际表现并进行优化。

步骤3 用户提出资源配额申请,判断资源申请为增加还是减少配额,若为增加该资源配额量则跳转至步骤4,否则直接减少配额至申请数量。

步骤4 判断该用户是否有历史配额使用记录,如有跳转至步骤5,否则跳转至步骤6。

步骤5 将用户本次申请前一个月的历史资源实际使用率作为预测数据,得到预测的资源实际使用率为,假设用户提交的配额申请数为,则调整本次配额申请该用户实际可分得的配额数为

步骤6 依据用户是否选择将该配额申请与组织挂钩来确定该资源申请的最大限额标准,如该申请与组织相关则执行步骤7,否则跳转至步骤8。

步骤7 根据配额申请以及用户信息获取用户所属组织中该资源剩余可支配的配额数,若当前实际可分得配额数Q大于组织中该资源剩余配额,则将剩余配额作为资源实际可分得配额数,否则依据Q值分配相应资源给该用户。

步骤8 根据配额申请获取该资源对应资源池中该资源剩余可分配的最大配额数,若当前可分配配额数Q大于该资源对应资源池中的余额,则将最大限额分配给该用户,否则依据Q值分配相应资源给该用户。

当用户在混合云平台上提交配额申请时,首先依据历史使用记录判断用户是否为首次提交资源配额申请,如为首次:

判断当前用户是否隶属于相关组织。如与组织关联则跳转至步骤2,否则跳转至步骤3。

获取当前资源配额申请的资源类型在该组织中剩余额度,如果当前申请的资源数超过剩余额度则将剩余额度分配给该用户,否则分配申请的相应资源数给当前用户。

获取当前资源配额申请的资源类型在资源池中剩余额度,如果当前申请的资源数超过剩余额度则将剩余额度分配给该用户,否则分配申请的相应资源数给当前用户。

若为非首次申请资源配额的用户,则如图2所示:

判断当前配额申请是增加还是减少资源数,如为增加跳转至步骤2,否则直接释放资源至用户要求。

通过LSTM模型依据用户历史资源使用情况预测当前实际资源使用率并结合当前用户提交的资源配额数量调整用户当前实际可分得的资源配额数。

判断当前用户是否隶属于相关组织。如与组织关联则获取当前资源配额申请的资源类型在该组织中剩余额度,如果当前申请的资源数超过剩余额度则将剩余额度分配给该用户,否则分配预测的资源配额数给当前用户,若不隶属于组织则跳转至步骤4。

获取当前资源配额申请的资源类型在资源池中剩余额度,如果当前申请的资源数超过剩余额度则将剩余额度分配给该用户,否则分配预测的资源配额数给当前用户。

标签:剩余,步骤,申请,用户,面向,配额,LSTM,资源
From: https://www.cnblogs.com/developer-tianyiyun/p/18422587

相关文章

  • 【网络原理】❤️Tcp 常用机制❤️ —— 延时应答,捎带应答, 面向字节流, 异常情况处理。保姆
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • Python面向对象编程
    Python-面向对象:类、对象、属性、方法面向对象概念面向对象编程(Object-orientedProgramming,简称OOP),是一种封装代码的方法面向对象:将模拟真实世界里的事物(对象)和描述其特征(属性)的数据和函数代码块(方法)封装到一起(类)类:可以理解是一个模板,通过它可以创建出无数个具体实例对象:类并......
  • 面向对象设计
    在现实世界中,万事万物皆对象。例如,一支铅笔、身边的同学、一辆汽车、这些都可以称为对象。这些对象也都有自己的特征和行为。例如,铅笔的颜色是黄色,长度是10厘米,可以用来写字、画画等;其他同学有姓名、性别和身高等,可以和我们一起学习、玩游戏等。同样,在程序的世界里,也有对象。另外,......
  • 顶刊算法 | Matlab实现鹈鹕算法POA-CNN-LSTM-Multihead-Attention多头注意力机制多变
    顶刊算法|Matlab实现鹈鹕算法POA-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测,优化前后对比目录顶刊算法|Matlab实现鹈鹕算法POA-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测,优化前后对比预测效果基本介绍程序设计参考资料预测效果基本......
  • Java面向对象编程(OOP)的四个主要特征
    目录1.封装(Encapsulation):2.继承(Inheritance):3.多态(Polymorphism):4.抽象(Abstraction):Java面向对象编程(OOP)有四个主要特征:封装、继承、多态和抽象。这些特性是OOP的核心概念,帮助构建灵活、可维护的代码结构。1.封装(Encapsulation):封装是将对象......
  • 面向对象的理解
    面向对象编程思想的理解面向对象编程(Object-OrientedProgramming,OOP)是一种广泛使用的编程范式,它以“对象”作为基本单元来组织程序,强调对象的封装性、继承性、多态性,以及通过抽象和组合来构建复杂的软件系统。下面,我将从您提到的几个方面详细阐述面向对象编程的核心思想。......
  • 对面向对象的理解
    面向对象编程(Object-OrientedProgramming,简称OOP)是一种编程范式,它将软件结构建模为对象的集合,每个对象都是数据和行为的封装体。以下是对面向对象编程的深入理解:核心概念对象(Object):对象是面向对象编程的基本单元,它代表现实世界中的一个实体。对象具有属性(称为字段或属性)和......
  • BayesianLSTM PawaritL 使用PyTorch中的贝叶斯LSTM进行能源消耗预测,贝叶斯神经网络仅
    https://colab.research.google.com/github/PawaritL/BayesianLSTM/blob/master/Energy_Consumption_Predictions_with_Bayesian_LSTMs_in_PyTorch.ipynb#EnergyConsumptionPredictionswithBayesianLSTMsinPyTorchAuthor:PawaritLaosunthara内容:请点击上面的在Col......
  • C/C++语言基础--C++面向对象、类、对象概念讲解
    本专栏目的更新C/C++的基础语法,包括C++的一些新特性前言今天更新的比较晚了,主要一直用是谷歌Colab训练模型,访问国内csdn反而不好使了,请大家见谅;C++是面向对象的语言,本文将介绍什么是面向对象、什么是类、什么是对象、类和对象的关系是什么?欢迎大家点赞+收藏+关注;C语......
  • 面向对象程序设计的了解
    面向对象程序设计(Object-OrientedProgramming,简称OOP)是一种编程范式,它使用对象和类来设计软件。以下是对面向对象程序设计的基本了解:核心概念对象(Object):对象是面向对象程序设计的基本单位,它是一个包含数据和行为的软件构件。对象是现实世界中事物的抽象表示。类(Class):......