一种面向混合云平台基于 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。
获取当前资源配额申请的资源类型在资源池中剩余额度,如果当前申请的资源数超过剩余额度则将剩余额度分配给该用户,否则分配预测的资源配额数给当前用户。
评论