一种资源调度方法及管理设备的制造方法

文档序号:9372030阅读:304来源:国知局
一种资源调度方法及管理设备的制造方法
【技术领域】
[0001]本发明实施例涉及通信技术领域,尤其涉及一种资源调度方法及管理设备。
【背景技术】
[0002]云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展的虚拟化资源。
[0003]在云计算领域的基础设施即服务(Infrastructure as a Service,IaaS)等服务系统中,用户的资源需求通常是通过一系列的虚拟机模板来描述的,这些虚拟机模板规定了虚拟机的中央处理器(Central Processing Unit,CPU)、内存、磁盘空间、网络等多维资源的资源配额,用户根据自身需求选取合适的虚拟机模板向管理平台提出申请,管理平台中的管理设备通常通过将虚拟机用户的各维资源需求值与云计算系统中所有物理节点的各维资源可分配值进行逐一比对,从而得到各维资源可分配值均大于或者等于虚拟机用户资源需求值的物理节点的集合,并根据预设策略从该集合中选取符合预设策略的物理节点,从而为虚拟机用户分配相应的资源。
[0004]其中,将虚拟机用户各维资源需求值与云计算系统中所有物理节点的各维资源可分配值进行逐一比对使得匹配过程复杂度高,需要消耗管理设备大量的资源。

【发明内容】

[0005]本发明实施例提供一种资源调度方法及管理设备,能够解决现有技术中在进行资源调度时,由于需要将虚拟机用户各维资源需求值与云计算系统中所有物理节点的各维资源可分配值进行逐一比对使得匹配复杂度高,从而导致管理设备资源消耗量大的问题。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供一种资源调度方法,包括:
[0008]获得云计算系统中所有物理节点分别映射到空间填充曲线上的点,并形成第一集合,所述物理节点通过d维资源向量表示,所述d维资源向量中的元素为所述物理节点的各维资源可分配值,所述d为大于I的正整数;
[0009]获得虚拟机用户的资源需求范围对应的子空间映射到空间填充曲线上的点,并形成第二集合,所述资源需求范围通过d维资源需求矩阵表示,所述d维资源需求矩阵中第i个行向量表示虚拟机用户的第i维资源需求值域,所述值域包括需求下限值rllOT和需求上限值rlhlgh,所述i的取值为区间[1,d]中的正整数;
[0010]从第三集合中的点对应的物理节点中选择一个待分配物理节点,并为所述虚拟机用户分配所述待分配物理节点上的各维资源,所述第三集合为所述第一集合与所述第二集合的交集。
[0011]结合第一方面,在第一方面的第一种可能的实现方式中,所述物理节点映射到空间填充曲线上的点由二进制形式表示,对于第一物理节点,获得所述第一物理节点映射到空间填充曲线上的点包括:
[0012]对所述第一物理节点的d维资源向量中的d维资源可分配值分别进行编码,获得所述d维资源可分配值对应的d个第一二进制码;
[0013]从第I位开始依次提取所述d个第一二进制码的每一位二进制数值,直至提取所述d个第一二进制码的最后一位二进制数值;
[0014]连接所述提取的二进制数值以生成第一二进制码串,获得所述第一物理节点映射到空间填充曲线上的点。
[0015]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,对所述第一物理节点的d维资源可分配值中第i维资源可分配值进行编码,获得所述第i维资源可分配值对应的第一二进制码包括:
[0016]设定d维资源空间中第i维资源的下限值Sinun和上限值s _,以及二叉查找树的树尚k ;
[0017]从所述二叉查找树的根节点开始进行迭代运算,直至到达所述二叉查找树的第k层节点,所述迭代运算包括:
[0018]获得所述Sinun与所述s iniax的中值s inud,并比较所述第一物理节点的第i维资源可分配值S1与所述s inud的大小;
[0019]若所述s/j、于所述s inid,则进入左子树,对应编码为0,并将所述Siniax的值更新为所述Simid的值;
[0020]否则,进入右子树,对应编码为1,并将所述Siniin的值更新为所述s inud的值。
[0021]结合第一方面,在第一方面的第三种可能的实现方式中,所述虚拟机用户的资源需求范围映射到空间填充曲线上的点由二进制形式表示,所述获得虚拟机用户的资源需求范围对应的子空间映射到空间填充曲线上的点,并形成第二集合包括:
[0022]分别获得所述第i维资源需求值域的所述rllOT对应的第二二进制码和所述r lhlgh对应的第三二进制码;
[0023]从左往右依次对所述第二二进制码和所述第三二进制码进行异或运算,直至首次出现所述异或结果为I ;
[0024]当在第j位首次出现异或结果为I时,保持所述第二二进制码的第I位至第j位的二进制数值不变,从第j+Ι位开始进行第一操作直至到达最后一位,所述第一操作包括:若当前位的右侧各位均为0,则保持当前位的二进制数值不变,当前位右侧的所有位均变为F,所述F表明当前位的数值为O或者当前位的数值为I ;否则,若当前位为0,则将当前位变为1,将右侧各位均变为F,若当前位为1,则保持当前位的数值不变且向右推进一位,从而得到第四二进制码集合,其中,j的取值为区间[l,k]中的正整数;
[0025]并且,保持所述第三二进制码的第I位至第j位的二进制数值不变,从第j+Ι位开始进行第二操作和第三操作直至到达最后一位,所述第二操作包括:若当前位的右侧各位均为1,则保持当前位的二进制数值不变,将当前位的右侧各位均变为F,否则保持当前位的二进制数值不变并向右推进一位;所述第三操作包括:若当前位为0,则保持当前位的二进制数值不变并向右推进一位,若当前位为1,则将当前位变为0,将右侧各位均变为F,从而得到第五二进制码集合;
[0026]获得所述第i维资源需求值域对应的第六二进制码集合Z1,所述第六二进制码集合Z1为第四二进制码集合与所述第五二进制码集合的并集;
[0027]将所述d维资源需求值域中各维资源需求值域分别对应的第六二进制码集合Z1至Zd作笛卡尔积,获得第二二进制码串集合,以获得虚拟机用户的资源需求范围对应的子空间映射到空间填充曲线上的点,并形成第二集合。
[0028]结合第一方面至第一方面的第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述方法还包括:
[0029]监测所述虚拟机用户的d维资源中各维资源的使用情况以及所述待分配物理节点的d维资源中各维资源的剩余情况;
[0030]当所述虚拟机用户的第i维资源使用量与所述rllOT的差值大于预设阈值1\时,将所述rllOT更新为r llow+ Δ 1;
[0031]若所述待分配物理节点的第i维资源的剩余量大于或者等于八i,则从所述待分配物理节点上为所述虚拟机用户追加资源量Λ i,所述Λ i的值大于所述T i的值;
[0032]若所述待分配物理节点的第i维资源的资源剩余量小于Λ i,则根据更新后的所述rllciw和所述r &#更新所述第二集合及所述第三集合,并从所述更新后的第三集合中重新选择所述待分配物理节点。
[0033]第二方面,提供一种管理设备,包括:
[0034]获取单元,用于获得云计算系统中所有物理节点分别映射到空间填充曲线上的点,并形成第一集合,所述物理节点通过d维资源向量表示,所述d维资源向量中的元素为所述物理节点的各维资源可分配值,所述d为大于I的正整数;
[0035]所述获取单元还用于,获得虚拟机用户的资源需求范围对应的子空间映射到空间填充曲线上的点,并形成第二集合,所述资源需求范围通过d维资源需求矩阵表示,所述d维资源需求矩阵中第i个行向量表示虚拟机用户的第i维资源需求值域,所述值域包括需求下限值rllOT和需求上限值rlhlgh,所述i的取值为区间[l,d]中的正整数;
[0036]处理单元,用于从第三集合中的点对应的物理节点中选择一个待分配物理节点,并为所述虚拟机用户分配所述待分配物理节点上的各维资源,所述第三集合为所述第一集合与所述第二集合的交集。
[0037]结合第二方面,在第二方面的第一种可能的实现方式中,所述物理节点映射到空间填充曲线上的点由二进制形式表示,对于第一物理节点,所述获取单元具体用于:
[0038]对所述第一物理节点的d维资源向量中的d维资源可分配值分别进行编码,获得所述d维资源可分配值对应的d个第一二进制码;
[0039]从第I位开始依次提取所述d个第一二进制码的每一位二进制数值,直至提取所述d个第一二进制码的最后一位二进制数值;
[0040]连接所述提取的二进制数值以生成第一二进制码串,获得所述第一物理节点映射到空间填充曲线上的点。
[0041]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述获取单元具体用于:
[0042]设定d维资源空间中第i维资源的下限值Sinun和上限值s _,以及二叉查找树的树尚k ;
[0043]从所述二叉查找树的根节点开始进行迭代运算,直至到达所述二叉查找树的第k层节点,所述迭代运算包括:
[0044]获得所述Siniin与所述s iniax的中值s inud,并比较所述任一物理节点的第i维资源可分配值S1与所述s inud的大小;
[0045]若所述s/j、于所述s inid,则进入左子树,对应编码为0,并将所述Siniax的值更新为所述Simid的值;
[0046]否则,进入右子树,对应编码为1,并将所述Sinun的值更新为所述s inud的值。
[0047]结合第二方面,在第二方面的第三种可能的实现方式中,所述获取单元具体用于:
[0048]分别获得所述第i维资源需求值域的所述rllOT对应的第二二进制码和所述r lhlgh对应的第三二进制码;
[0049]从左往右依次对所述第二二进制码和所述第三二进制码进行异或运算,直至首次出现所述异或结果为I ;
[0050]当在第j位首次出现异或结果为I时,保持所述第二二进制码的第I位至第j位的二进制数值不变,从第j+Ι位开始进行第一操作直至到达最后一位,所述第一操作包括:若当前位的右侧各位均为0,则保持当前位的二进制数值不变,当前位右侧的所有位均变为F,所述F表明当前位的数值为O或者当前位的数值为I ;否则,若当前位为0,则将当前位变为1,将右侧各位均变为F,若当前位为1,则保持当前位的数值不变且向右推进一位,从而得到第四二进制码集合,其中,j的取值为区间[l,k]中的正整数;
[0051]并且,保持所述第三二进制码的第I位至第j位的二进制数值不变,从第j+Ι位开始进行第二操作和第三操作直至到达最后一位,所述第二操作包括:若当前位的右侧各位均为1,则保持当前位的二进制数值不变,将当前位的右侧各位均变为F,否则保持当前位的二进制数值不变并向右推进一位;所述第三操作包括:若当前位为0,则保持当前位的二进制数值不变并向右推进一位,若当前位为1,则将当前位变为0,将右侧各位均变为F,从而得到第五二进制码集合;
[0052]获得所述第i维资源需求值域对应的第六二进制码集合Z1,所述第六二进制码集合Z1为第四二进制码集合与所述第五二进制码集合的并集;
[0053]将所述d维资源需求值域中各维资源需求值域分别对应的第六二进制码集合Z1至Zd作笛卡尔积,获得第二二进制码串集合,以获得虚拟机用户的资源需求范围对应的子空间映射到空间填充曲线上的点,并形成第二集合。
[0054]结合第二方面至第二方面的第三种可能的实现方式中的任意一种,在第二方面的第四
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1