一种资源管控方法和装置与流程

文档序号:15492124发布日期:2018-09-21 20:49阅读:137来源:国知局

本发明涉及互联网技术领域,特别是涉及一种资源管控方法和装置。



背景技术:

随着私有云计算技术的日益普及,资源滥用问题越来越突出,传统的计量计费方式难以在满足用户资源需求的同时提升资源利用率。

对于公有云而言,公有云的运营者希望用户使用云平台的资源越多越好,而不会去关心资源的实际利用率,虽然用户的实际利用率越低,代表用户存在资源浪费的情况越严重。然而,对于私有云来说,私有云一般是企业为了服务内部用户为设置的,私有云的设置目标不是为了盈利,相反是为了节省成本,因此私有云的运营者关心资源的实际利用率,如果用户对资源的实际利用率高,则说明私有云的利用率高,节省了成本。

但是,目前私有云并不会根据资源的利用率对用户进行约束,资源浪费的现象不能得到抑制。如果将应用在公有云上的计费功能运行在私有云中,也只能用于统计每个用户占用云平台的成本,不能体现资源的实际利用率,因而也不能因用户浪费资源而约束用户。



技术实现要素:

本发明要解决的技术问题是提供一种资源管控方法和装置,用以解决现私有云并不会根据资源的利用率对用户进行约束的问题。

为了解决上述技术问题,本发明是通过以下技术方案来解决的:

本发明提供了一种资源管控方法,包括:确定用户在监控周期内使用的资源的利用率;根据所述资源的利用率,确定所述用户的信用积分;如果所述用户的信用积分大于预设的信用阈值,则在下一个监控周期内,采用预设的资源管控策略,控制所述用户对资源的使用。

其中,所述方法还包括:基于物理机集群,划分资源超卖区和资源非超卖区;监测用户使用的虚拟机的内存利用率;如果所述内存利用率大于预设的超卖阈值,则将所述虚拟机迁移到所述资源非超卖区,反之,将所述虚拟机迁移到所述资源超卖区。

其中,在确定用户在监控周期内使用的资源的利用率之前,还包括:为资源对应设置单价;监测用户在监测周期内使用的资源以及所述资源的使用时间;根据用户使用的资源的单价和使用时间,对所述用户使用的资源进行计费;如果用户使用的资源的总价大于预设的费用阈值,则确定用户在监控周期内使用的资源的利用率,反之,则监测用户在下一个监测周期内使用的资源和使用时间。

其中,在根据所述资源的利用率,确定所述用户的信用积分之前,还包括:为资源对应设置多个利用率区间以及每个利用率区间对应的积分常数。

其中,根据所述资源的利用率,确定所述用户的信用积分,包括:根据所述资源的利用率所处的利用率区间,确定所述资源对应的积分常数;根据所述资源对应的积分常数以及所述用户对应的积分总值,确定所述用户的信用积分。

本发明还提供了一种资源管控装置,包括:第一确定模块,用于确定用户在监控周期内使用的资源的利用率;第二确定模块,用于根据所述资源的利用率,确定所述用户的信用积分;管控模块,用于在所述用户的信用积分大于预设的信用阈值的情况下,在下一个监控周期内,采用预设的资源管控策略,控制所述用户对资源的使用。

其中,所示装置还包括配置模块;所述配置模块,用于基于物理机集群,划分资源超卖区和资源非超卖区;监测用户使用的虚拟机的内存利用率;如果所述内存利用率大于预设的超卖阈值,则将所述虚拟机迁移到所述资源非超卖区,反之,将所述虚拟机迁移到所述资源超卖区。

其中,所述装置还包括:资源单价模块,用于在确定用户在监控周期内使用的资源的利用率之前,为资源对应设置单价;资源配置模块,用于监测用户在监测周期内使用的资源以及所述资源的使用时间;资源计费模块,用于根据用户使用的资源的单价和使用时间,对所述用户使用的资源进行计费;如果用户使用的资源的总价大于预设的费用阈值,则确定用户在监控周期内使用的资源的利用率,反之,则调用资源配置模块监测用户在下一个监测周期内使用的资源和使用时间。

其中,所述第二确定模块,用于:在根据所述资源的利用率,确定所述用户的信用积分之前,为资源对应设置多个利用率区间以及每个利用率区间对应的积分常数。

其中,所述第二确定模块,用于:根据所述资源的利用率所处的利用率区间,确定所述资源对应的积分常数;根据所述资源对应的积分常数以及所述用户对应的积分总值,确定所述用户的信用积分。

本发明有益效果如下:

通过对用户使用资源的情况进行监控,根据用户对资源的利用率,来识别用户是否存在资源浪费的情况,对存在资源浪费的用户进行约束,进而避免用户对资源的持续浪费,提升云平台整体的资源利用。

附图说明

图1是根据本发明一实施例的资源管控方法的流程图;

图2是根据本发明一实施例的信用积分的计算示意图;

图3是根据本发明一实施例的资源管控装置的结构图;

图4是根据本发明一实施例的计费系统的结构示意图。

具体实施方式

以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明实施例提供一种资源管控方法。图1是根据本发明一实施例的资源管控方法的流程图。

步骤s110,确定用户在监控周期内使用的资源的利用率。

在本实施例中,用户可以是个人或者单位,例如用户可以是业务部门。

在本实施例中,监控周期可以根据实际需求而设置。例如:监控周期可以是一天、一周或者一个月。

资源的类型,包括但不限于:cpu资源、内存资源、网络带宽资源。

确定用户在监控周期内使用的每种资源的利用率。

具体的,在满足预设条件的情况下,确定用户在监控周期内使用的资源的利用率。进一步地,在确定用户在监控周期内使用的资源的利用率之前,还包括:为资源对应设置单价;监测用户在监测周期内使用的资源以及所述资源的使用时间;根据用户使用的资源的单价和使用时间,对所述用户使用的资源进行计费;如果用户使用的资源的总价大于预设的费用阈值,则确定用户在监控周期内使用的资源的利用率,反之,则监测用户在下一个监测周期内使用的资源和使用时间。

其中,费用阈值可以用于衡量用户占用的云平台成本是否过多。用户使用的资源的总价大于该费用阈值,则说明用户占用的云平台成本过多,需要确定该用户是否存在资源浪费的情况。

计算总价的公式可以是:资源的单价×该资源的使用时间=该资源的总价。

步骤s120,根据所述资源的利用率,确定所述用户的信用积分。

在根据所述资源的利用率,确定所述用户的信用积分之前,还包括:为资源对应设置多个利用率区间以及每个利用率区间对应的积分常数。

根据所述资源的利用率所处的利用率区间,确定所述资源对应的积分常数;根据所述资源对应的积分常数以及所述用户对应的积分总值,确定所述用户的信用积分。积分总值为该用户在上一个监控周期的信用积分。积分常数可根据经验设置。

为每种资源对应设置多个利用率区间,并为每个利用率区间对应设置积分常数;根据用户使用的每种资源的利用率所处的利用率区间,确定用户使用的每种资源对应的积分常数。如:用户使用的资源1对应的积分常数、资源2对应的积分常数、......、资源n对应的积分常数,其中,n>1。

信用积分=资源1对应的积分常数+资源2对应的积分常数+......+资源n对应的积分常数+用户对应的积分总值。

具体而言,可以每种资源设置数量和取值范围都不同的多个利用率区间。也可以为不同资源的相同取值范围的利用率区间设置不同的积分常数。

例如:为cpu资源设置第一利用率区间0~10%、第二利用率区间11%~30%、第三利用率区间31%~50%、第四利用率区间51%~80%、第五利用率区间81%~100%;其中,第一利用率区间对应的积分常数为-5,第二利用率区间对应的积分常数为-3,第三利用率区间对应的积分常数为0,第四利用率区间对应的积分常数为3,第五利用率区间对应的积分常数为5。为内存资源设置三个利用率区间0~50%、51%~80%、81%~100%,0~50%对应的积分常数为-1、51%~70%对应的积分常数为0、71%~100%对应的积分常数为1。网络带宽资源的利用率区间划分和积分常数设置以此类推。

又如:如图2所示,监测用户在某天对资源的利用率,cpu资源的利用率是90%,内存资源的使用率是40%,网络带宽资源的利用率是20%,按照利用率区间的设置,cpu加5分,内存减1分,网络带宽减3分,总得分加1分,该用户原来的积分总值是79分,得到该用户当天的信用积分80(79+5-1-3=80)。

如果在同一区域,同一用户使用了多个虚拟机,则计算多个虚拟机中相同资源的平均利用率,将该资源的平均利用率作为该资源的利用率。

例如:在同一区域,同一用户使用2个虚拟机,一个虚拟机的cpu利用率为50%,另一个虚拟机的cpu利用率为60%,则该用户使用的cpu资源的利用率为55%((50%+60%)/2=55%)。

本实施例针对laas平台资源浪费的情况,推出用户信用积分功能,

步骤s130,判断所述用户的信用积分是否大于预设的信用阈值;如果是,则执行步骤s140;如果否,则执行步骤s110。

信用阈值可以用于衡量用户对资源的使用是否出现的浪费情况。信用阈值可以是经验值或者通过实验获得的值。

如果所述用户的信用积分小于等于预设的信用阈值,则跳转到步骤s110,确定用户在下一个监控周期内使用的资源的利用率。

步骤s140,如果所述用户的信用积分大于预设的信用阈值,则在下一个监控周期内,采用预设的资源管控策略,控制所述用户对资源的使用。

资源管控策略用于对用户的资源使用进行约束。

资源管控策略可以包括多个等级的资源管控方式。

例如:资源管控策略包括:低级和高级资源管控方式,低级资源管控方式可以是向用户发送提示信息,高级资源管控方式可以是限制用户使用的虚拟机的数量。

如果用户的信用积分大于信用阈值,则说明用户存在资源浪费的情况,需要在下一个监控周期采用低级资源管控方式对用户的资源使用进行约束。当然,在该下一个监控周期,依旧需要确定用户使用的资源的利用率以及信用积分,如果用户的信用积分依旧大于信用阈值,则在下下个监控周期,采用高级资源管控策略继续对用户的资源使用进行约束。如果在某一个监控周期,用户的信用积分小于等于信用阈值,则在该监测周期的下一个监测周期,停止采用预设的资源管控策略,控制所述用户对资源的使用。

通过对用户使用资源的情况进行监控,根据用户对资源的利用率,来识别用户是否存在资源浪费的情况,对存在资源浪费的用户进行约束,进而避免用户对资源的持续浪费,提升云平台整体的资源利用。

在本实施例中,为了进一步提供云平台的资源利用率,可以在云平台中,基于物理机集群,划分资源超卖区和资源非超卖区;监测用户使用的虚拟机的内存利用率;如果所述内存利用率大于预设的超卖阈值,则将所述虚拟机迁移到所述资源非超卖区,反之,将所述虚拟机迁移到所述资源超卖区。

在正常情况下,一台物理机上运行的虚拟机数量受限于物理机cpu和内存的配置,例如:一台物理机的内存是128g,如果每台虚拟机平均分配8g,那一台物理机上最多可同时运行16台虚拟机。虽然物理机上可以跑满16台虚拟机,但可能由于用户对虚拟机的资源利用率比较低,比如用户为虚拟机申请了8g内存,但实际上只使用了4g,还有4g空间没有使用,这就降低了物理机的资源利用率。为了提高这部分物理机的利用率,本实施例提出资源超卖区,以便调整这台物理机的内存分配策略,比如原来的策略是在物理机上跑16台虚拟机,现在调整成跑32台虚拟机,达到内存超卖的目的。

将整个物理机集群分成两个区域,一个是资源超卖区,一个是资源非超卖区。将用户刚创建的虚拟机运行在资源非超买区,当监控到虚拟机的内存利用率比较低,比如申请了8g内存却一直只使用了4g,就将用户的虚拟机通过云平台提供的热迁移技术迁移到资源超卖区,从而提高资源的利用率。另外,如果这台虚拟机的利用率提高了,例如现在内存使用超过了4g,则可以再次把该虚拟机迁移回资源非超买区。总之通过设置资源超卖区和资源非超卖区,动态迁移虚拟机,提高了云平台的资源利用率。

本实施例通过设计资源超卖区管理、计量计费动态管理、资源报表等一系列手段,来约束用户提高资源的利用率,避免资源浪费,从而提高整个私有云平台资源的利用率。

本发明实施例还提供了一种资源管控装置。如图3所示,为根据本发明一实施例的资源管控装置的结构图。

该资源管控装置包括:

第一确定模块310,用于确定用户在监控周期内使用的资源的利用率。

第二确定模块320,用于根据所述资源的利用率,确定所述用户的信用积分。

管控模块330,用于在所述用户的信用积分大于预设的信用阈值的情况下,在下一个监控周期内,采用预设的资源管控策略,控制所述用户对资源的使用。

可选地,所示装置还包括配置模块(图中未示出);所述配置模块,用于基于物理机集群,划分资源超卖区和资源非超卖区;监测用户使用的虚拟机的内存利用率;如果所述内存利用率大于预设的超卖阈值,则将所述虚拟机迁移到所述资源非超卖区,反之,将所述虚拟机迁移到所述资源超卖区。

可选地,所述第二确定模块320,用于:在根据所述资源的利用率,确定所述用户的信用积分之前,为资源对应设置多个利用率区间以及每个利用率区间对应的积分常数。

可选地,所述第二确定模块320,用于:根据所述资源的利用率所处的利用率区间,确定所述资源对应的积分常数;根据所述资源对应的积分常数以及所述用户对应的积分总值,确定所述用户的信用积分。

可选地,在所述装置中还包括:资源单价模块340、资源配置模块350、计费核心模块360、资源计费模块370和用户计费模块380。资源单价模块340、资源配置模块350、计费核心模块360、资源计费模块370和用户计费模块380可以形成计费系统。图4是根据本发明一实施例的计费系统的结构示意图。

资源单价模块340,用于为资源对应设置单价,并存储每种资源的单价。

资源配置模块350,用于监测用户在监测周期内使用的资源和使用时间。

计费核心模块360,用于根据资源配置模块监测到的资源,从资源单价模块中获取该资源的单价,并将该资源的使用时间和单价提供给资源计费模块。

资源计费模块370,用于根据用户使用的资源的单价和使用时间,对所述用户使用的资源进行计费;进一步地,资源计费模块,还用于统计用户使用的所有资源的总价(各资源的总价的和)。如果用户使用的资源的总价大于预设的费用阈值,则确定用户在监控周期内使用的资源的利用率,反之,则调用资源配置模块监测用户在下一个监测周期内使用的资源和使用时间。

用户计费模块380,用于查询用户使用资源的计费情况。

管理员可以在资源单价模块配置各种资源的单价信息。例如:cpu的单价,内存的单价,存储的单价等。

管理员设置完各种资源的单价后,用户在云平台创建或者删除资源。云平台在创建资源之后会通知计费系统开始启动对该资源的计费,云平台删除资源之后会通知计费系统停止对该资源的计费。资源计费模块每天根据用户使用的所有资源进行统一计费,例如:用户a某天使用了4台云主机,总共使用了16cpu、16g内存,1t存储空间,使用时长是8小时,则根据管理员设置的单价计算出用户a该天的账单。

用户可以在用户计费模块查看每天的详细账单和自己的计费情况,管理员可以查看整体平台的计费情况和所有用户的计费情况。

通过计量计费功能,用户掌握了自己使用资源的详细情况,管理员了解了平台上整体用户的资源使用情况,比如:哪几个用户是消费较多。针对消费多的用户需要重点关注该用户资源的申请情况和实际利用率,并以此来约束他们,降低消费并提高资源的利用率。

本实施例所述的装置的功能已经在上述的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1