[发明专利]一种基于拍卖算法的云容器资源分配方法及系统有效
申请号: | 202210138456.9 | 申请日: | 2022-02-15 |
公开(公告)号: | CN114595030B | 公开(公告)日: | 2023-05-23 |
发明(设计)人: | 何宇;张瑜;张俊明;刘芳;宋强;郝圣;李刚强;朱玉祥;高金锋;吴海涛;潘景辉 | 申请(专利权)人: | 黄淮学院 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
代理公司: | 广州专理知识产权代理事务所(普通合伙) 44493 | 代理人: | 邓易偲 |
地址: | 463000 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 拍卖 算法 容器 资源 分配 方法 系统 | ||
1.一种基于拍卖算法的云容器资源分配方法,其特征在于,所述方法包括以下步骤:
S100,将多个不同的云容器组成一个云容器集群;
S200,在云容器集群中上传数据集,各个云容器分别对数据集进行存储;
S300,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量;
S400,在云容器集群运行一段时间后,计算各个云容器的优选值;
S500,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配;
其中,在S200中,在云容器集群中上传数据集,各个云容器分别对数据集进行存储的方法为:向云容器集群中上传数据集,数据集为多个不同的表的集合,数据集中各个表的字节数量不全部相同,其中每个表不支持将一个表分割在不同的云容器中进行分布式存储;
记云容器集群为Cloud,云容器集群中云容器的数量为n,云容器集群中序号为i的云容器为Cloud(i),云容器集群中序号为i的云容器的内存容量为Cloud(i)t,云容器集群的总内存容量为Cloudt,Cloudt的计算公式为:
,
记数据集为集合Dataset,数据集中表的数量为m,数据集中序号为j的表为Dataset(j),数据集中序号为j的表的字节数量为load(j),数据集的总字节量为Load,Load的计算公式为:
,
其中,各个云容器分别对数据集进行存储为:每个云容器存储正整数个表,由此云容器集群各个云容器分别对数据集的各个表进行存储;
在S400中,在云容器集群运行一段时间后,计算各个云容器的优选值的方法为:
将云容器集群作为一个二叉树记为Ctree,云容器集群中各个云容器作为二叉树Ctree中的各个结点,以二叉树的结点的层次的序号及结点在该层次中从左至右的序号作为Ctree中的各个结点的定位序号,以二叉树Ctree的根结点为Ctree(1,1),以二叉树的根结点所在的层次为第1层次,二叉树Ctree的深度记为常数D,以二叉树的根结点所在的层次为开始向二叉树的深度所在的层次沿每一个层次逐层递增,二叉树Ctree的层次的序号为变量d,d∈[1,D],二叉树Ctree中序号为d的层次中从左至右的结点的数量记为wid(d),二叉树Ctree中序号为d的层次中从左至右的结点的序号记为t(d),t(d)∈[1,wid(d)],二叉树Ctree中序号为d的层次中从左至右的序号为t(d)的结点记作Ctree(d,t(d));
从Ctree中选取任一结点记作Ctree(d1,t(d1)),d1表示Ctree(d1,t(d1))所在层次的序号,t(d1)表示在二叉树Ctree中序号为d1的层次中从左至右的结点的序号,d1∈[1,D],Ctree(d1,t(d1))表示二叉树Ctree中序号为d1的层次中从左至右的序号为t(d1)的结点,二叉树Ctree中序号为d1的层次中从左至右的结点的数量记为wid(d1),t(d1)∈[1,wid(d1)],结点Ctree(d1, t(d1))的优先值记为p(d1, t(d1)),结点Ctree(d1,t(d1))的优先值的计算公式为:
,
其中,函数exp()表示以自然常数e为底的对数函数,p(d1,t(d1))的计算公式即为优先值的计算方法,从而通过优先值的计算公式计算得到云容器集群中各个云容器作为二叉树Ctree中的各个结点时各个结点的优先值即为各个云容器的优选值;
在S500中,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配的方法为:
计算各个云容器的剩余内存容量,记云容器Cloud(i)的剩余内存容量为res(i),获取云容器Cloud(i)的初始资源存储容量src(i),并获取云容器Cloud(i)的在云容器集群运行一段时间后于当前时刻的资源存储容量为src(i)t,云容器Cloud(i)的剩余内存容量的计算公式为:
,
获取云容器Cloud(i)的优先值并记为p(i),根据各个云容器的优选值,计算得到调度操作序列,调度操作序列为一个数组且数组中元素的数量与云容器集群中云容器的数量相同,调度操作序列中的元素为数值,调度操作序列中的元素的数量同为n,调度操作序列中的元素的序号同为i,调度操作序列中序号为i的元素与云容器集群中序号为i的云容器相对应,记调度操作序列为Seop,Seop中序号为i的元素为Seop(i),Seop(i)的计算公式为:
,
其中,函数sin()表示正弦函数,将调度操作序列中各元素的数值的算术平均数记为Seop_avg,由此,得到调度操作序列;
进而,使用调度操作序列,对各个云容器的初始资源存储容量进行再分配:
S501,在云容器集群中,对各个云容器Cloud(i)进行判断是否满足第一约束条件,第一约束条件为Seop(i)≥Seop_avg,若是满足第一约束条件则转到S502;
S502,对满足第一约束条件的云容器Cloud(i)获取其剩余内存容量res(i),并进行判断是否满足第二约束条件,第二约束条件为res(i)+ src(i)Cloud(i)t,若是满足第二约束条件则转到S503;
S503,对满足第二约束条件的云容器Cloud(i),从云容器Cloud(i)中获取其中内存容量大小为res(i)+ src(i)-Cloud(i)t的没有进行数据存储的内存容量归还于云容器集群,作为云容器集群在发生内存溢出的情况下的备用的存储空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于黄淮学院,未经黄淮学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210138456.9/1.html,转载请声明来源钻瓜专利网。