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

news/2024/9/20 15:27:38

本文分享自天翼云开发者社区《一种面向混合云平台基于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。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/62565.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

uni-app上架ios语言设置

客户反馈了一个问题,日文的应用上架后在商店中,却显示了其他语言,解决方案如下 1.添加要设置的语言2.最重要的一步,在 app-plus 中添加下述代码 name 是app名称"app-plus" : {"locales" : {"ja" : {"name" : "xxx","…

【算法】topk之字节题

1. 合并两个有序列表 🔗 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1:输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] …

flink 启动Job加载外部jar都有哪些方法?

flink 启动Job加载外部jar都有哪些方法 在 Apache Flink 版本中,启动 Job 时加载外部 Jar 包有几种不同的方法。这些方法允许用户引入自定义的 UDF(用户定义函数)或其他依赖项。以下是几种常见的方法: 1.使用 flink run 命令直接启动 你可以通过命令行工具 flink run 来指定…

切片器110-112

透视表切片器抓照片场景描述 针对产品汇总分析数据透视表,制做数据看板,样例如下所示:具体操作制作产品汇总分析数据透视表插入选项卡——勾选雇员——确定——插入选项卡——插入二维柱状图——将数据透视表右侧雇员拖拽到筛选字段——在空白单元格输入INDIRECT函数和MATCH…

探索未来智能:Moonshot AI 引领AI新纪元——M1超级模型

在人工智能的快速演进中,Moonshot AI再次站在了技术创新的前沿。推出M1超级模型,这是一款旨在突破现有AI能力极限的革命性产品。M1超级模型的诞生背景 随着数据量的爆炸性增长和计算能力的提升,AI模型正变得越来越复杂和强大。M1超级模型的诞生是对这一趋势的直接响应,它代…

VSCode配置STM32HAL库开发环境

经常用MDK Keil进行STM32程序开发,但用过jetbrain全家桶等现代IDE后,对keil复古的开发界面以及代码提示不是很喜欢,因此参照网络方法配置了stm32cubemx+vscode+cmake+ninja+gcc的开发环境1. 开发工具下载下载STM32CubeMX:https://www.st.com.cn/zh/development-tools/stm32…

Kubernetes-POD生成 java dump文件

目录背景配置钩子函数验证 背景 在今天的线上业务中,某服务频繁重启。经过排查日志和事件信息,确认是由于 OOM(Out of Memory)导致服务重启。为了方便研发团队定位 OOM 的具体原因,我们决定在 OOM 发生时自动生成内存快照(heap dump),供后续分析使用。 关于 OOM 的详细…

php8:开启opcache和JIT(php 8.3.9)

一,配置文件中的项: opcache.enable=1 opcache.enable_cli=0 opcache.memory_consumption=128 opcache.max_accelerated_files=10000 opcache.revalidate_freq=240 opcache.save_comments=0 opcache.error_log=/data/logs/phplogs/opache_error.log opcache.enable=1 # …