一种云计算环境下的资源自动分配方法

阅读: 评论:0

著录项
  • CN201210296593.1
  • 20120820
  • CN103634330A
  • 20140312
  • 曙光信息产业(北京)有限公司
  • 刘卫红;张晋峰
  • H04L29/08
  • H04L29/08 H04L12/917

  • 北京市海淀区东北旺西路8号中关村软件园36号
  • 北京(11)
  • 北京安博达知识产权代理有限公司
  • 徐国文
摘要
本发明涉及一种云计算环境下的资源自动分配方法,该方法包括下述步骤:A、定义并管理云计算环境下的“资源池”;B、预创建虚拟机;C、当用户提出资源申请时,管理系统自动匹配资源池中的资源,类型和配置均匹配则列入备选队列;如果备选队列个数超过用户需求,则根据预排序动态资源分配算法从备选队列中选择资源分配给用户;D、预创建虚拟机无法满足用户需求时,在用户资源申请提交后创建个数不足的虚拟机;E、资源自动申请、归还,用户数据按需保密存储或选择删除;F、对用户需求进行统计分析,自动生成资源分配报表。该方法过程快速安全,实现自动化,降低云计算环境中资源分配的复杂性和管理成本,提高工作效率,也科学提高资源使用率。
权利要求

1.一种云计算环境下的资源自动分配方法,其特征在于,所述方法包括下述步骤:

A、定义并管理云计算环境下的“资源池”;

B、预创建虚拟机;

C、当用户提出资源申请时,管理系统自动匹配资源池中的资源,类型和配置均匹配则 列入备选队列;如果备选队列个数超过用户需求,则根据预排序动态资源分配算法从备选队 列中选择资源分配给用户;

D、预创建虚拟机无法满足用户需求时,在用户资源申请提交后创建个数不足的虚拟机;

E、资源自动申请、归还,用户数据按需保密存储或选择删除;

F、对用户需求进行统计分析,自动生成资源分配报表。

2.如权利要求1所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤A 中,所述“资源池”是指管理和分配云计算环境下资源的一个逻辑抽象概念;定义资源池和设 备类型、配置、关联关系,并初始录入各种类型的资源、配置和关联关系,管理系统自动为 各资源设置初始状态为“未分配”,同时管理系统自动采集相关的指标作为资源的性能参数。

3.如权利要求1所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤B 预创建虚拟机包括下述步骤:

a、根据用户申请的虚拟机配置及数量,将不同配置的虚拟机申请个数按从多到少排序分 为周排名前五、月排名前五、周排名前六到十、月排名前六到十名、不属于周排名前五、月 排名前五、周排名前六到十和月排名前六到十名其他配置;

b、根据各类配置虚拟机申请个数的周排名或月排名划分优先级并预创建虚拟机。

4.如权利要求3所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤b包 括下述方案:

I、周排名前五的虚拟机配置,按照一周内最大日申请个数预创建;如果管理系统中尚存 在部分该配置的虚拟机未被分配,则预创建个数为最大日申请个数与未被分配个数之差,若 差值为零或负数,则不需预创建该配置的虚拟机;

II、月排名前五但不属于周排名前五的虚拟机配置,按照一个月内的日平均申请量预创 建;创建时要减去管理系统中尚未被分配的该配置虚拟机的个数,若差为零或负数,则不需 预创建该配置的虚拟机;

III、周排名前六到前十名的虚拟机配置,按照一周内日平均申请量预创建;创建时同样 要减去管理系统中尚未被分配的该配置虚拟机的个数,若差为零或负数,则不需预创建该配 置的虚拟机;

IV、月排名前六到前十名的虚拟机配置,则根据管理系统自身资源情况进行创建该配置 的虚拟机;

V、不属于周排名前五、月排名前五、周排名前六到十和月排名前六到十名的虚拟机配 置不预创建。

5.如权利要求4所述的云计算环境下的资源自动分配方法,其特征在于,所述方案IV 中,所述自身资源包括磁盘和内存;

若管理系统自身资源充足,即管理系统自身各类资源都超过月排名前六到前十名的虚拟 机的各种配置之和,则计算管理系统自身每种资源剩余总量与资源的最大使用率之积,整除 月排名前六到前十名的虚拟机配置中的该配置之和,取整除之后的商的最小值作为每种虚拟 机的创建个数;

若管理系统自身资源不充足,即系统自身资源中至少有一种低于月排名前六到前十名的 虚拟机的对应配置之和,则按月排名顺序进行创建,直到管理系统自身资源高于最大使用率 时停止创建。

6.如权利要求3-5中任一项所述的云计算环境下的资源自动分配方法,其特征在于,在 管理系统资源不足的情况下,按周前五、月前五、周前六到十、月前六到十的优先级顺序进 行虚拟机预创建;其中周前五优先级最高,月前六到十优先级最低。

7.如权利要求1所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤C 包括下述步骤:

(1)性能预排序;

(2)资源分配。

8.如权利要求7所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤(1) 中,所述性能预排序包括下述方案:

①基于所述“资源池”,根据资源指标、配置、关联关系,生成并维护所有“未分配”的资 源的性能排序列表;

②预排序动态资源分配算法确定资源性能值。

9.如权利要求8所述的云计算环境下的资源自动分配方法,其特征在于,所述方案②中, 用P来表示资源某项指标或配置的性能值,W表示资源性能中的权重,A表示资源某项指标 或配置平衡因子,V表示资源某项指标或配置实际取值,I表示资源某项指标或配置正负影响 值,所述资源某项指标或配置性能计算公式为:P=V1*A1*W1*I1+V2*A2*W2*I2+…+ Vn*An*Wn*In,其中,n表示影响改资源性能的指标和配置数;Vn表示第n个性能指标或配 置的实际取值,An表示这类指标或配置的平衡因子,Wn表示n个指标或配置的在资源性能 中的权重,In表示这类指标或配置的的正负影响值。

10.如权利要求7所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤(2) 中,所述资源分配包括下述步骤:

第一步:管理系统预创建虚拟机,并生成资源性能列表;

第二步:管理系统接收到用户提出的资源申请后,清空资源分配列表L0;资源分配列表 是用于保存管理系统分配给用户的最终资源的一个列表;

第三步:遍历用户申请的资源列表,查资源池中与用户申请的资源的类型一致的所有 资源得到一个资源列表L1;

如果该资源列表L1为空,则将空列表返回,并提示用户没有资源满足需求;

如果该资源列表不为空,则遍历该列表,判断厂商、型号与用户需求是否一致,如果都 一致则将该资源加入备选资源列表L2;

否则继续遍历下一条;遍历完列表后转入第四步处理;

第四步:判断备选资源列表L2是否为空;

如果为空,则将资源列表L1全部加入备选资源列表L2;

如果不为空,则判断备选资源列表中是否只有一个资源,如果是,则将其分配给用户; 否则,则转入第五步处理;

第五步:选择备选资源列表中配置满足用户需求或不超出最大差额的的资源列表L3,并 按配置、性能的优先级进行排序;判断资源列表L3是否只有一个资源;如果只有一个,则将 其加入资源分配列表L0,并分配给用户;否则,则判断用户是否申请多个相关联的资源,如 果是,则转入第六步;

第六步:判断用户申请中是否有与当前申请资源类型相关联的资源申请未被分配,如果 有,则保存当前资源到资源分配列表,返回第三步,查尚未被分配的关联资源进行分配;

如果没有,则从资源列表L3中查性能最高的资源保存到资源分配列表中;

判断用户是否还有其他资源申请未被分配,如果有,则返回步骤三,继续遍历用户申请 的资源列表进行资源分配,如果没有,则进入第七步;

第七步:将资源分配列表中的资源分配给用户。

11.如权利要求1所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤D 包括下述步骤:

i、管理系统获取用户需求后,先判断管理系统中是否存在该配置的未分配虚拟机;

ii、如果存在,则判断管理系统中该配置未分配的虚拟机个数是否满足用户需求,如果个 数满足,则将系统中预创建的该配置未分配虚拟机分配给用户,个数为用户申请的该配置虚 拟机总个数;

如果个数不满足,则判断管理系统自身资源是否能够创建差额部分的虚拟机,如果能, 则创建差额部分的虚拟机,创建完后将新创建的和管理系统中预创建的该配置未分配虚拟机 全部分配给用户;如果不能,则提示用户资源不足,无法满足需求;

iii、如果不存在,则判断管理系统自身资源是否能够创建用户指定数量的虚拟机,如果 能,则根据用户需求创建指定数量的该配置的虚拟机,创建完后将其分配给用户;如果不能, 则提示用户资源不足,无法满足需求。

12.如权利要求1所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤E 包括下述步骤:

1)用户提出资源申请后,管理系统自动根据资源分配算法和策略选择资源进行分配;

2)用户需求包含申请使用时间和归还时间,到期后,管理系统通过短信和邮件询问用户 是否归还,用户选择归还资源或继续使用资源;

3)如果用户选择归还,则管理系统询问用户是否需要保密存储用户数据,用户选择保密 存储数据或删除数据,如果选择保密存储,则管理系统将对其进行加密存储。

13.如权利要求1所述的云计算环境下的资源自动分配方法,其特征在于,所述步骤F 包括下述步骤:

一、对用户需求进行统计分析,分析各类型和配置的资源申请数量和频率,自动生成资 源申请报表;

二、对各种配置的虚拟机申请个数进行本日、本周和本月申请数量的统计;

三、资源分配报表指导采购部门和资源管理部门的工作。

说明书
技术领域

本发明涉及一种资源分配方法,具体涉及一种云计算环境下的资源自动分配方法。

云计算环境下资源(如虚拟机、服务器等)规模庞大,客户众多,并且大部分为虚拟机 资源,需要创建后才能分配。如果系统收到用户申请之后再创建虚拟进行分配,势必造成客 户等待,影响系统效率和客户满意度;可如果系统中预先创建好大量的虚拟机等待用户资源 申请,不仅将造成系统自身磁盘等资源的浪费,同时,由于用户需求中虚拟机的配置也是千 变万化的(比如虚拟机磁盘空间的配置可能为1G、2G、3G、4G、5G、8G、10G、16G…… 其他配置同理,各种配置组合起来的虚拟机配置将成百上千),所以预先创建好各种配置的虚 拟机几乎不可能,同时各种配置申请的次数还不尽相同,因此,即使创建了各种配置的虚拟 机,也无法满足某些高频率的申请需求。因此,资源如何分配已成为目前云计算应用中最关 注的问题之一。

人工分配显然无法满足需求,不仅效率低下,而且如果分配不当,将过高配置的资源分 配给低配置需求的用户,不仅浪费了资源,也造成了公司的经济损失;如果将过低配置的资 源分配给高配置需求的用户又将导致用户的需求得不到满足,降低客户满意度。现有技术主 要存在以下缺点:

a、预创建有限种类的“高需求”配置的虚拟机或预创建所有配置类型的虚拟机:根据经验 或个别用户的需求,预创建某几种“高需求”配置的虚拟机,虽然可以一定程度上节省系统资 源消耗,并且一定程度上满足某些用户的资源申请需求,但是并不是一种完善的方案,由经 验或个人用户需求而分析出的“高需求”配置很可能并不真是所有用户需求最多的配置,这样, 创建好的虚拟机就可能长时间不会被分配,从而浪费系统资源,同时加长用户等待资源分配 的时间,降低分配效率。

预创建所有配置类型的虚拟机显然更无法满足用户需求。不同配置的虚拟机用户需求的 数量不一样,不仅造成低频率申请配置的虚拟机浪费系统资源,同时,大部分用户需求将得 不到满足,加长用户等待资源分配的时间,降低分配效率。

b、将低性能的资源分配给用户,降低用户满意度,长此以往,将影响云计算服务提供商 的效益:根据用户需求自动匹配满足需求的资源,到即分配,虽然提高了分配速度,但是 以牺牲客户满意度为代价,显然不利于云计算服务提供商的长期发展。

c、孤立考虑用户需求中的资源配置,忽略用户所有资源申请之间的关联关系和指标性能 等因素:该方式虽然能提高分配速度,但比如用户申请一个服务器和一个数据库,如果按照 配置进行查,到任意两个不存在关联关系的服务器和数据库给用户,势必影响用户使用 过程中数据存取速度。

针对现有技术的不足,本发明提供一种云计算环境下的资源自动分配方法,该方法根据 资源各项指标、配置、关联关系等数据,给出了一种预排序动态资源分配算法,通过预先在 资源分配系统中生成并维护关于可用资源的性能排序列表,在分配资源时根据该列表结合资 源类型、配置、关联关系与用户需求,选择满足分配条件且性能排在前列的资源进行分配, 实现资源的按需自动申请、归还、用户数据按需保密存储。一旦资源使用过程中出现任何异 常或损环,系统将以最快的方式在不影响业务的情况下根据资源分配算法自动选择满足用户 需求的高效可用资源重新分配,并自动复制用户数据至新分配的资源,同时删除原资源中用 户数据,整个过程快速安全,基本实现自动化,降低云计算环境中资源分配的复杂性和管理 成本,提高工作效率,也科学提高资源使用率。

本发明的目的是采用下述技术方案实现的:

一种云计算环境下的资源自动分配方法,其改进之处在于,所述方法包括下述步骤:

A、定义并管理云计算环境下的“资源池”;

B、预创建虚拟机;

C、当用户提出资源申请时,管理系统自动匹配资源池中的资源,类型(如服务器和虚 拟机、应用软件等)和配置均匹配则列入备选队列;如果备选队列个数超过用户需求,则根 据预排序动态资源分配算法从备选队列中选择资源分配给用户;

D、预创建虚拟机无法满足用户需求时,在用户资源申请提交后创建个数不足的虚拟机;

E、资源自动申请、归还,用户数据按需保密存储或选择删除;

F、对用户需求进行统计分析,自动生成资源分配报表。

其中,所述步骤A中,所述“资源池”是指管理和分配云计算环境下资源的一个逻辑抽象 概念;定义资源池和设备类型、配置、关联关系,并初始录入各种类型的资源、配置和关联 关系,管理系统自动为各资源设置初始状态为“未分配”,同时管理系统自动采集相关的指标 (例如CPU个数、CPU利用率、内存剩余量等)作为资源的性能参数。

其中,所述步骤B预创建虚拟机包括下述步骤:

a、根据用户申请的虚拟机配置及数量,将不同配置的虚拟机申请个数按从多到少排序分 为周排名前五、月排名前五、周排名前六到十、月排名前六到十名、不属于周排名前五、月 排名前五、周排名前六到十和月排名前六到十名其他配置;

b、根据各类配置虚拟机申请个数的周排名或月排名划分优先级并预创建虚拟机。

其中,所述步骤b包括下述方案:

I、周排名前五的虚拟机配置,按照一周内最大日申请个数预创建;如果管理系统中尚存 在部分该配置的虚拟机未被分配,则预创建个数为最大日申请个数与未被分配个数之差,若 差值为零或负数,则不需预创建该配置的虚拟机;

II、月排名前五但不属于周排名前五的虚拟机配置,按照一个月内的日平均申请量预创 建;创建时要减去管理系统中尚未被分配的该配置虚拟机的个数,若差为零或负数,则不需 预创建该配置的虚拟机;

III、周排名前六到前十名的虚拟机配置,按照一周内日平均申请量预创建;创建时同样 要减去管理系统中尚未被分配的该配置虚拟机的个数,若差为零或负数,则不需预创建该配 置的虚拟机;

IV、月排名前六到前十名的虚拟机配置,则根据管理系统自身资源情况进行创建该配置 的虚拟机;

V、不属于周排名前五、月排名前五、周排名前六到十和月排名前六到十名的虚拟机配 置不预创建。

其中,所述方案IV中,所述自身资源包括磁盘和内存等;

若管理系统自身资源充足,即管理系统自身各类资源都超过月排名前六到前十名的虚拟 机的各种配置之和,则计算管理系统自身每种资源剩余总量与资源的最大使用率之积,整除 月排名前六到前十名的虚拟机配置中的该配置之和,取整除之后的商的最小值作为每种虚拟 机的创建个数;

若管理系统自身资源不充足,即系统自身资源中至少有一种低于月排名前六到前十名的 虚拟机的对应配置之和,则按月排名顺序进行创建,直到管理系统自身资源高于最大使用率 时停止创建。

其中,在管理系统资源不足的情况下,按周前五、月前五、周前六到十、月前六到十的 优先级顺序进行虚拟机预创建;其中周前五优先级最高,月前六到十优先级最低。

其中,所述步骤C包括下述步骤:

(1)性能预排序;

(2)资源分配。

其中,所述步骤(1)中,所述性能预排序包括下述方案:

①基于所述“资源池”,根据资源指标、配置、关联关系,生成并维护所有“未分配”的可 用资源的性能排序列表;

②预排序动态资源分配算法确定资源性能值。

其中,所述方案②中,用P来表示资源某项指标或配置的性能值,W表示资源性能中的 权重,A表示资源某项指标或配置平衡因子,V表示资源某项指标或配置实际取值,I表示资 源某项指标或配置正负影响值,所述资源某项指标或配置资源性能计算公式为:P= V1*A1*W1*I1+V2*A2*W2*I2+…+Vn*An*Wn*In,其中,n表示影响改资源性能的指标和配 置数;Vn表示第n个性能指标或配置的实际取值,An表示这类指标或配置的平衡因子,Wn 表示n个指标或配置的在资源性能中的权重,In表示这类指标或配置的的正负影响值。

其中,所述步骤(2)中,所述资源分配包括下述步骤:

第一步:管理系统预创建虚拟机,并生成资源性能列表;

第二步:管理系统接收到用户提出的资源申请后,清空资源分配列表L0;资源分配列表 是用于保存管理系统分配给用户的最终资源的一个列表;

第三步:遍历用户申请的资源列表,查资源池中与用户申请的资源的类型(如服务器 和虚拟机、应用软件等)一致的所有资源得到一个资源列表L1;

如果该资源列表L1为空,则将空列表返回,并提示用户没有资源满足需求;

如果该资源列表不为空,则遍历该列表,判断厂商、型号与用户需求是否一致,如果都 一致则将该资源加入备选资源列表L2;

否则继续遍历下一条;遍历完资源列表L1后转入第四步处理;

第四步:判断备选资源列表L2是否为空;

如果为空,则将资源列表L1全部加入备选资源列表L2;

如果不为空,则判断备选资源列表L2中是否只有一个资源,如果是,则将其分配给用户; 否则,则转入第五步处理;

第五步:选择备选资源列表L2中配置满足用户需求或不超出最大差额的的资源列表L3, 并按配置、性能的优先级进行排序;判断资源列表L3是否只有一个资源;如果只有一个,则 将其加入资源分配列表L0,并分配给用户;否则,判断用户是否申请多个相关联的资源,如 果是,则转入第六步;

第六步:判断用户申请中是否有与当前申请资源类型相关联的资源申请未被分配,如果 有,则保存当前资源到资源分配列表,返回第三步,查尚未被分配的关联资源进行分配;

如果没有,则从资源列表L3中查性能最高的资源保存到资源分配列表中;

判断用户是否还有其他资源申请未被分配,如果有,则返回第三步,继续遍历用户申请 的资源列表进行资源分配,如果没有,则进入第七步;

第七步:将资源分配列表中的资源分配给用户。

其中,所述步骤D包括下述步骤:

i、管理系统获取用户需求后,先判断管理系统中是否存在该配置的未分配虚拟机;

ii、如果存在,则判断管理系统中该配置未分配的虚拟机个数是否满足用户需求,如果个 数满足,则将系统中预创建的该配置未分配虚拟机分配给用户,个数为用户申请的该配置虚 拟机总个数;

如果个数不满足,则判断管理系统自身资源是否能够创建差额部分的虚拟机,如果能, 则创建差额部分的虚拟机,创建完后将新创建的和管理系统中预创建的该配置未分配虚拟机 全部分配给用户;如果不能,则提示用户资源不足,无法满足需求;

iii、如果不存在,则判断管理系统自身资源是否能够创建用户指定数量的虚拟机,如果 能,则根据用户需求创建指定数量的该配置的虚拟机,创建完后将其分配给用户;如果不能, 则提示用户资源不足,无法满足需求。

其中,所述步骤E包括下述步骤:

1)用户提出资源申请后,管理系统自动根据资源分配算法和策略选择资源进行分配;

2)用户需求包含申请使用时间和归还时间,到期后,管理系统通过短信和邮件询问用户 是否归还,用户选择归还资源或继续使用资源;

3)如果用户选择归还,则管理系统询问用户是否需要保密存储用户数据,用户选择保密 存储数据或删除数据,如果选择保密存储,则管理系统将对其进行加密存储。

其中,所述步骤F包括下述步骤:

一、对用户需求进行统计分析,分析各类型和配置的资源申请数量和频率,自动生成资 源申请报表;

二、对各种配置的虚拟机申请个数进行本日、本周和本月申请数量的统计;

三、资源分配报表指导采购部门和资源管理部门的工作。

与现有技术比,本发明达到的有益效果是:

1、基于资源池和性能排序算法自动分配资源,不仅提高效率,而且能在满足用户需求的 同时提供最佳性能的资源给用户,提高客户满意度,解决目前一些云计算服务提供商只满足 用户需求,无法顾及资源使用性能的问题。

2、对资源申请进行统计分析,科学决定预创建虚拟机资源的配置类型和数量,不仅是对 系统本身资源的充分合理利用,同时也节省了用户等待资源分配的时间,降低了大型云计算 环境中各种类型资源分配的复杂度,简化了资源分配流程,达到降低管理成本,提高效率的 目的。

3、在满足用户配置等需求的同时,结合用户其他资源申请,根据资源之间的关联关系等 制定多维资源分配策略,提高用户资源使用效率和性能。

4、资源使用过程中如果出现异常或损坏,系统都会自动快速地重新分配高效可用的资源 给用户,且对用户数据进行安全迁移,速度快、安全有保障。同时资源使用完毕后,用户可 选择对数据进行保密保留或彻底删除,灵活方便。

图1是本发明提供的云计算环境下的“资源池”的示意图;

图2是本发明提供的资源分配的流程图;

图3是本发明提供的云计算环境下的资源自动分配方法的流程图。

下面结合附图对本发明的具体实施方式作进一步的详细说明。

本发明提供一种云计算环境下的资源自动分配方法流程图如图3所示,该方法包括下述 步骤:

A、定义并管理云计算环境下的“资源池”:

“资源池”是指灵活管理和分配云计算环境下资源的一个逻辑抽象概念。管理员定义资源 池和设备类型、配置、关联关系,并初始录入各种类型的资源及其配置和关联关系,系统自 动为各资源设置初始状态为“未分配”,同时系统自动采集相关的指标(例如CPU个数、CPU 利用率、内存剩余量等)作为资源的性能参数。本发明提供的云计算环境下的“资源池”的示 意图如图1所示。

根据用户申请的统计分析结果,对不同配置的虚拟机申请个数进行周排序和月排序,根 据排序结果预创建虚拟机,详见步骤B。

当用户提出资源申请时,系统自动匹配资源池中的资源,类型匹配并且配置符合条件则 列入备选队列。如果个数超过用户需求,则根据预排序动态资源分配算法从备选队列中选择 高效可用的资源分配给用户,详见步骤C。如果个数刚好满足用户需求,则直接将所有该配 置的资源分配给用户。

如果备选队列资源个数无法满足用户需求,则判断用户申请的资源是否为虚拟机,如果 是,则根据用户需求中的配置创建虚拟机分配给用户,如果不是,则提示用户资源不足,无 法满足需求,详见步骤D。

被选中分配的资源标记为“已分配”,资源使用完毕或者用户资源申请到期,系统都会自 动询问用户是否归还资源。如果用户选择归还,则系统将根据用户需求对其数据进行相应处 理,然后将资源状态修改为“未分配”。

B、预创建虚拟机,包括下述步骤:

a、根据用户申请的虚拟机配置及数量,将不同配置的虚拟机申请个数按从多到少排序分 为周排名前五、月排名前五、周排名前六到十、月排名前六到十名、不属于周排名前五、月 排名前五、周排名前六到十和月排名前六到十名其他配置;

b、根据各类配置虚拟机申请个数的周排名或月排名划分优先级并预创建虚拟机,包括如 下方案:

I、周排名前五的虚拟机配置,按照一周内最大日申请个数预创建,如果系统中尚存在部 分该配置的虚拟机未被分配,则预创建个数为最大日申请个数与未被分配个数之差,若该值 为零或负数,则不需预创建。

例如,某种配置的虚拟机一周之内申请个数排名第二,假设这一周之内某天申请该配置 虚拟机个数最多,值为a,另外假设系统中尚存在b个该配置的虚拟机未被分配,如果a-b值 为0或负数,则不需预创建该配置的虚拟机,否则将预创建a-b个该配置的虚拟机。

II、月排名前五但不属于周排名前五的虚拟机配置,按照一个月内的日平均申请量预创 建。创建时同样要减去系统中尚未被分配的该配置虚拟机的个数,若差为零或负数,则不需 预创建。

III、周排名前六到前十名的虚拟机配置,按照一周内日平均申请量预创建。创建时同样 要减去系统中尚未被分配的该配置虚拟机的个数,若差为零或负数,则不需预创建。

IV、月排名前六到前十名的虚拟机配置,则根据系统自身资源(如磁盘、内存等)实际 情况进行创建。

如果系统自身资源充足(即系统自身各类资源都超过月排名前六到前十名的虚拟机的各 种配置之和),则计算系统自身每种资源剩余总量与这种资源的最大使用率之积(最大使用率 由云计算服务提供商确定),然后整除月排名前六到前十名的虚拟机配置中的该配置之和,取 这些整除之后的商的最小值作为每种虚拟机的创建个数。

例如:系统自身剩余磁盘空间为160G,磁盘最大使用率为90%,月排名前六到前十名的 虚拟机配置中磁盘需求之和为50G,则整除商为160*90%/50=2;系统自身内存剩余容量为 50G,内存最大使用率为80%,这些虚拟机配置中内存需求之和为10G,则整除商为 50*80%/10=4,所以这些虚拟机创建个数为2。

如果系统自身资源不充足(即系统自身资源中至少有一种低于月排名前六到前十名的虚 拟机的对应配置之和),则按月排名顺序进行创建,直到系统自身某种资源高于最大使用率则 停止创建。

不论哪种情况,创建时都要减去系统中尚未被分配的该配置虚拟机的个数,若差为零或 负数,则不需预创建。

V、不属于周排名前五、月排名前五、周排名前六到十和月排名前六到十名的虚拟机配 置不预创建。

以上五种方案在系统资源不足的情况下,按周前五、月前五、周前六到十、月前六到十 的优先级顺序进行虚拟机预创建。周前五优先级最高,月前六到十优先级最低。

C、当用户提出资源申请时,管理系统自动匹配资源池中的资源,类型(如服务器和虚 拟机、应用软件等)和配置均匹配则列入备选队列;如果备选队列个数超过用户需求,则根 据预排序动态资源分配算法从备选队列中选择资源分配给用户;包括下述步骤:

(1)性能预排序:

性能预排序包括下述方案:

①基于所述“资源池”,根据资源指标、配置、关联关系,生成并维护所有“未分配”的可 用资源的性能排序列表;

②预排序动态资源分配算法确定资源性能值:

资源性能由资源各项指标、配置和关联关系等因素共同决定。同类型的资源指标和配置 相同,但各指标和配置具有不同的权重、平衡因子和正负影响值,通过这些权重、平衡因子 和正负影响值来计算相应的资源性能。这里,平衡因子是一个用以平衡各因素实际取值以便 计算资源性能的值。一般我们取所有指标和配置平均值的最小公倍数与各指标和配置平均值 的商作为平衡因子,因此不同指标和配置平衡因子一般不同,如果有其他特殊因素影响,我 们也可以手动设置该值。各指标和配置的平均值为资源池中所有同类型资源对应取值的平均 值,是一个统计得出的平均结果。正负影响值是各指标或配置对性能造成正面影响或负面影 响的标志值,如果为1则将在资源性能值中累加该指标或配置的性能值,如果为-1则在资源 性能值中减去该指标或配置的性能值。

预排序动态资源分配算法:我们用P来表示资源某项指标或配置的性能值,W表示它在 资源性能中的权重,A表示它的平衡因子,V表示它的实际取值,I表示它的正负影响值,那 么这项指标或配置的性能计算公式为:P=V*A*W*I。资源的性能计算公式为:P= V1*A1*W1*I1+V2*A2*W2*I2+…+Vn*An*Wn*In,其中,n表示影响改资源性能的指标和配 置数。Vn表示第n个性能指标或配置的实际取值,An表示这类指标或配置的平衡因子,Wn 表示这类指标或配置的在资源性能中的权重,In表示这类指标或配置的的正负影响值。

(2)资源分配:

资源分配流程如图2所示,具体描述如下:

第一步:系统预创建虚拟机,并生成资源性能列表。

第二步:系统接收到用户提出的资源申请后,首先清空资源分配列表L0。资源分配列表 是用于保存系统分配给用户的最终资源的一个列表。

第三步:遍历用户申请的资源列表,查资源池中与用户申请的资源的类型(如服务器, 虚拟机、机柜等类型)一致的所有资源得到一个资源列表L1,如果该资源列表L1为空,则 将空列表返回,并提示用户没有资源满足需求;如果该资源列表不为空,则遍历该列表,判 断厂商、型号与用户需求是否一致,如果都一致则将该资源加入备选资源列表L2;否则继续 遍历下一条。遍历完列表后转入第四步处理。

第四步:判断备选资源列表L2是否为空,如果为空,则将资源列表L1全部加入备选资 源列表L2,如果不为空,则判断备选资源列表中是否只有一个资源,如果是,则将其分配给 用户;如果有多个,则转入第五步处理。

第五步:选择备选资源列表中配置满足用户需求或不超出最大差额的的资源列表L3,并 按配置、性能的优先级进行排序。其中最大差额是一个预定义的数据,针对每个配置和指标 有一个最大差额,比如硬盘最大差额为16(G),cpu个数最大差额为1(个)。如果只有一个, 则将其加入资源分配列表L0,并分配给用户,如果有多个,则判断用户是否申请多个相关联 的资源,如果是,则转入第六步。

第六步:判断用户申请中是否有与当前申请资源类型相关联的资源申请未被分配,如果 有,则保存当前资源到资源分配列表,然后进入第三步,查尚未被分配的关联资源进行分 配;如果没有,则从列表L3中查性能最高的资源保存到资源分配列表中。判断用户是否还 有其他资源申请未被分配,如果有,则进入第三步,继续遍历用户申请的资源列表进行资源 分配,如果没有,则进入第七步。

第七步:将资源分配列表中的资源分配给用户。

D、预创建虚拟机无法满足用户需求时,在用户资源申请提交后创建个数不足的虚拟机; 包括下述步骤:

i、管理系统获取用户需求后,先判断管理系统中是否存在该配置的未分配虚拟机;

ii、如果存在,则判断管理系统中该配置未分配的虚拟机个数是否满足用户需求,如果个 数满足,则将系统中预创建的该配置未分配虚拟机分配给用户,个数为用户申请的该配置虚 拟机总个数;

如果个数不满足,则判断管理系统自身资源是否能够创建差额部分的虚拟机,如果能, 则创建差额部分的虚拟机,创建完后将新创建的和管理系统中预创建的该配置未分配虚拟机 全部分配给用户;如果不能,则提示用户资源不足,无法满足需求;

iii、如果不存在,则判断管理系统自身资源是否能够创建用户指定数量的虚拟机,如果 能,则根据用户需求创建指定数量的该配置的虚拟机,创建完后将其分配给用户;如果不能, 则提示用户资源不足,无法满足需求。

E、资源自动申请、归还,用户数据按需保密存储或选择删除;包括下述步骤:

1)用户提出资源申请后,管理系统自动根据资源分配算法和策略选择资源进行分配;

2)用户需求包含申请使用时间和归还时间,到期后,管理系统通过短信和邮件询问用户 是否归还,用户选择归还资源或继续使用资源;

3)如果用户选择归还,则管理系统询问用户是否需要保密存储用户数据,用户选择保密 存储数据或删除数据,如果选择保密存储,则管理系统将对其进行加密存储。

F、对用户需求进行统计分析,自动生成资源分配报表;包括下述步骤:

一、对用户需求进行统计分析,分析各类型(如服务器和虚拟机、应用软件等)和配置 的资源申请数量和频率,自动生成资源申请报表。

二、对各种配置的虚拟机申请个数进行本日、本周和本月申请数量的统计,以便指导预 创建虚拟机策略。

三、资源分配报表指导采购部门和资源管理部门的工作。

本发明提供的云计算环境下的资源自动分配方法,基于资源池和性能排序算法自动分配 资源,不仅提高效率,而且能在满足用户需求的同时提供最佳性能的资源给用户,提高客户 满意度,解决目前一些云计算服务提供商只满足用户需求,无法顾及资源使用性能的问题。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照 上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本 发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等 同替换,其均应涵盖在本发明的权利要求范围当中。

本文发布于:2023-04-14 00:53:48,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/86848.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图