发明名称 一种基于云计算环境下的服务资源分配的负载均衡策略
摘要 本发明公开了一种基于云计算环境下的服务资源分配的负载均衡策略,在云计算环境下将单位时间内一定数量用户需求作为一批处理对象进行批处理,采用Map/Reduce模型将较大的任务分割成若干个逻辑无关的子任务,并将硬件物理资源虚拟化为虚拟服务资源,分配子任务给虚拟服务资源。本发明用相应的权值分别表示各个服务资源的处理性能和各个服务需求的规格,利用贪心算法进行求解,有效地解决了现有云计算环境下服务资源分配负载不均衡的问题。
申请公布号 CN102710779A 申请公布日期 2012.10.03
申请号 CN201210185413.2 申请日期 2012.06.06
申请人 合肥工业大学 发明人 罗贺;胡笑旋;汪永康;马华伟;靳鹏;潘申
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 安徽合肥华信知识产权代理有限公司 34112 代理人 余成俊
主权项 一种基于云计算环境下的服务资源分配的负载均衡策略,其特征在于:在云计算环境下将单位时间内一定数量用户需求作为一批处理对象进行批处理,在用户需求批处理的过程中,采用Map/Reduce模型,将用户需求中较大的任务分割成若干个逻辑无关的子任务,同时考虑到云计算环境下具有虚拟化的特点,将硬件物理资源虚拟化为虚拟服务资源,分配子任务给虚拟服务资源,包括以下步骤:(1)初始化任务、虚拟服务资源,设定任务的数量和属性,以及虚拟服务资源的数量和属性;(2)在云计算环境下用vmi表示虚拟服务资源,计算当前虚拟服务资源vmi的权重大小ki值,计算公式如下: <mrow> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>vmMips</mi> <mi>i</mi> </msub> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>vmMips</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <mi>m</mi> <mo>,</mo> </mrow>公式中,vmMipsj表示任意一个虚拟服务资源vmj中虚拟服务资源的处理能力;(3)在云计算环境下,将用户的服务需求转换为待执行的独立任务cloudleti,;cloudlet={cloudlet1,cloudlet2,…cloudletn};在任意一个独立任务cloudleti中,定义cloudletLengthi为由用户需求转换而来的任务大小,可表示为cloudLengthi={startTime,endTime,duration},式中startTime为任务最早开始时间,endTime为任务最迟完成时间,duration为任务的执行时间;计算当前任务cloudletj相对于单位任务个数,即cloudletTasksj值,cloudletTasksj表示任务cloudletj大小与单位任务大小的比值,其含义表示为任务cloudletj的任务数量可以由多少个单位任务数量表示,计算公式如下: <mrow> <msub> <mi>cloudletTasks</mi> <mi>j</mi> </msub> <mo>=</mo> <mfenced open="" close=""> <mtable> <mtr> <mtd> <mfrac> <msub> <mi>cloudletLength</mi> <mi>j</mi> </msub> <mi>cloudletLength</mi> </mfrac> <mo>=</mo> <mfrac> <msub> <mi>cloudletLength</mi> <mi>j</mi> </msub> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>cloudletLength</mi> <mi>i</mi> </msub> </mrow> <mi>n</mi> </mfrac> </mfrac> <mo>=</mo> <mfrac> <msub> <mi>cloudletLength</mi> <mi>j</mi> </msub> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>cloudletLength</mi> <mi>i</mi> </msub> </mrow> </mfrac> <mo>&times;</mo> <mi>n</mi> </mtd> </mtr> <mtr> <mtd> <mo>=</mo> <msub> <mi>w</mi> <mi>j</mi> </msub> <mo>&times;</mo> <mi>n</mi> </mtd> </mtr> </mtable> </mfenced> </mrow>j=1,2,…,n;(4)计算当前虚拟服务资源vmi的负载任务的数量,即vmTasksi值,vmTasksi表示虚拟服务资源vmi负载任务的数量,即虚拟服务资源vmi已经接受任务的数量,计算公式如下: <mrow> <msub> <mi>vmTasks</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>cloudletTasks</mi> <mi>j</mi> </msub> <mo>*</mo> <msub> <mi>S</mi> <mi>ij</mi> </msub> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <mi>m</mi> <mo>,</mo> </mrow>公式中: sij是m×n的0‑1矩阵中第i行第j列的元素,表示任务cloudletj是否成功分配给虚拟服务资源vmi;(5)计算当前虚拟服务资源vmi的效应值,即Valuei值,Valuei表示虚拟服务资源vmi的效用度,Valuei越小表示虚拟服务资源vmi处理任务效果越好,计算公式如下: <mrow> <msub> <mi>Value</mi> <mi>i</mi> </msub> <mo>=</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>vmTask</mi> <msub> <mi>s</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <msub> <mi>vmTasks</mi> <mi>i</mi> </msub> <msub> <mi>k</mi> <mi>i</mi> </msub> </mfrac> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <mi>m</mi> <mo>,</mo> </mrow>比较各个虚拟服务资源vmi效应值的大小,选择最佳虚拟服务资源。
地址 230009 安徽省合肥市屯溪路193号