背景
目前混合云平台背景下采用的固定静态的资源配额方式不仅逐渐无法保障用户的需求,且由于云平台虚拟化的特点也导致用户在申请资源配额时对资源实际需要的数量估算存在偏差,这会导致有限的资源被占用,对平台服务造成消极影响。同时,依据用户身份不同,在可分得的资源配额数量方面应存在优先级的差异,否则会导致资源分配缺乏公平性。
主要不足如下:
1、所采用的固定限额方式未能考虑到资源配额的实际需求与配额申请量之间可能存在的实际差异,无法解决潜在的资源滥用现象。
2、当前可分配到的资源量完全依据于信用因子是否超越基准线这一个标准,若当前信用因子超越基准线则直接依据当前资源配额申请来分配资源的方法在防范突发恶意资源占用行为上存有漏洞,同时未考虑到用户身份或者所属部门对于资源配额的不同要求,一定程度上缺乏公平性
技术方案
步骤1 用户提出资源配额申请,判断资源申请为增加还是减少配额,若为减少配额则直接减少至申请数量,若为增加该资源配额量则判断该用户是否有历史配额使用记录,如有跳转至下一步骤,否则跳转至步骤6。
步骤2 选取包含用户的资源实际使用数和对应申请额度数的时序数据。将用户u在日期d申请的资源配额数表示为,本次配额申请最终用户实际使用的资源配额数表示为,计算 并以日期d作为索引,若同样的日期d用户u提交了多个资源配额申请则对所有资源的取平均值作为索引d的值,将索引以此类推以时间从早到晚为序列顺序组成时序数据集。
步骤3 将数据集前百分之八十的数据划分为训练集,末尾百分之二十划分为测试集。通过ARIMA模型进行训练以及预测得到当前时间点 预测结果。
步骤4 将步骤3得到的预测结果加入原数据集构建新的数据集,并通过XGBoost模型结合正则化项来防止模型过拟合,得到最终当前时间点 预测结果,假设用户本次提交的原配额申请数为,依据预测结果调整本次配额申请该用户实际可分得的配额数为
步骤6 依据用户是否选择将该配额申请与组织挂钩来确定该资源申请的最大限额标准,如该申请与组织相关则执行步骤7,否则跳转至步骤8。
步骤7 根据配额申请以及用户信息获取用户所属组织中该资源剩余可支配的配额数,若当前实际可分得配额数Q大于组织中该资源剩余配额,则将剩余配额作为资源实际可分得配额数,否则依据Q值分配相应资源给该用户。
步骤8 根据配额申请获取该资源对应资源池中该资源剩余可分配的最大配额数,若当前可分配配额数Q大于该资源对应资源池中的余额,则将最大限额分配给该用户,否则依据Q值分配相应资源给该用户。
优势
(1)依据用户历史资源实际使用情况,通过训练ARIMA和XGBoost混合模型对用户当前提交的配额申请的实际使用情况进行预测从而动态修改实际分配的配额数量,避免资源过度滥用,同时侧面增加用户意识。
(2)基于混合云平台的常用环境,引入组织部门这一概念作为资源配额时资源实际分配量的衡量因素。依据用户身份来限定其实际可获取资源的最大限额,增加了资源配额时的公平性