一种磁盘IO资源分配方法和装置.pdf

上传人:r7 文档编号:1492550 上传时间:2018-06-18 格式:PDF 页数:14 大小:1.34MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310422054.2

申请日:

2013.09.16

公开号:

CN103440113A

公开日:

2013.12.11

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 3/06变更事项:专利权人变更前:北京搜狐新媒体信息技术有限公司变更后:北京搜狐新媒体信息技术有限公司变更事项:地址变更前:100084 北京市海淀区中关村东路1号院9号楼搜狐网络大厦8层802房间变更后:100086 北京市海淀区科学院南路2号院3号楼12层1201|||授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20130916|||公开

IPC分类号:

G06F3/06

主分类号:

G06F3/06

申请人:

北京搜狐新媒体信息技术有限公司

发明人:

栾利刚

地址:

100084 北京市海淀区中关村东路1号院9号楼搜狐网络大厦8层802房间

优先权:

专利代理机构:

北京集佳知识产权代理有限公司 11227

代理人:

王宝筠

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种磁盘IO资源分配方法和装置,所述方法包括:预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。本发明采用新的令牌分配方式,避免了资源分配过程中磁盘IO资源的浪费,同时,由于采用策略分组方式,减少了磁盘IO请求的拥堵,提高了磁盘IO资源的利用率。

权利要求书

权利要求书
1.  一种磁盘IO资源分配方法,其特征在于,所述方法包括:
预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;
为各个策略组分别分配令牌个数和策略模式;
接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;
获取所述磁盘分区标识对应的策略组;
判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。

2.  根据权利要求1所述的方法,其特征在于,所述当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:
当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。

3.  根据权利要求2所述的方法,其特征在于,所述方法还包括:
为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。

4.  根据权利要求1所述的方法,其特征在于,所述获取所述磁盘分区标识对应的策略组,包括:
获取所述磁盘IO请求中的磁盘分区标识;
根据所述磁盘分区标识查找对应的磁盘分区;
获取所述磁盘分区对应的策略组。

5.  根据权利要求1所述的方法,其特征在于,所述当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:
当所有策略组的令牌个数均为零时,执行新一轮令牌发放;
或者,
当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态,如果否,则执行新一轮令牌发放。

6.  根据权利要求1-5中任一所述的方法,其特征在于,所述方法还包括:
每隔预设频率的时长获取一次资源分配日志;
根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。

7.  一种磁盘IO资源分配系统,其特征在于,所述系统包括:
设置单元,用于预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;
第一分配单元,用于为各个策略组分别分配令牌个数和策略模式;
接收单元,用于接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;
第一获取单元,用于获取所述磁盘分区标识对应的策略组;
判断单元,用于判断所述策略组的令牌个数是否大于零;
第二分配单元,用于在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;
令牌发放单元,用于在所述判断单元的结果为否,且满足新一轮令牌发放条件时,执行新一轮令牌发放。

8.  根据权利要求7所述的系统,其特征在于,所述令牌发放单元,包括:
第一发放子单元,用于当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。

9.  根据权利要求8所述的系统,其特征在于,所述系统还包括:
第三分配单元,用于为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。

10.  根据权利要求7所述的系统,其特征在于,所述第一获取单元,包括:
第一获取子单元,用于获取所述磁盘IO请求中的磁盘分区标识;
查找子单元,用于根据所述磁盘分区标识查找对应的磁盘分区;
第二获取子单元,用于获取所述磁盘分区对应的策略组。

11.  根据权利要求7所述的系统,其特征在于,所述令牌发放单元,包括:
第二发放子单元,用于当所有策略组的令牌个数均为零时,执行新一轮令牌发放;
或者,
判断子单元,用于当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态;
第三发放子单元,用于在所述判断子单元的结果为否时,执行新一轮令牌 发放。

12.  根据权利要求7-11中任一所述系统,其特征在于,所述系统还包括:
第二获取单元,用于每隔预设频率的时长获取一次资源分配日志;
第四分配单元,用于根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。

说明书

说明书一种磁盘IO资源分配方法和装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种磁盘IO资源分配方法和装置。
背景技术
近些年,随着物理机单机的性能不断提升和虚拟化技术的不断成熟,用户可以在一台物理机上面部署多台虚拟机,启用多个类型的应用。系统将资源平均分配给各个虚拟机,而无法根据应用服务的实际资源需求为虚拟机进行合理有效的资源分配。实际应用中,对于磁盘IO资源的分配就是采用上述平均分配的方式。
通常,系统接收到磁盘IO请求后,根据磁盘IO请求,确定该IO请求所需求的磁盘分区后,直接将该磁盘分区的资源分配给该IO请求。可见,该资源方法是以磁盘分区为控制对象,当该需求磁盘分区不存在可用资源时,该磁盘IO请求即得不到响应。
所以,上述资源分配方法会造成磁盘IO请求的拥堵,同时不能有效的利用资源。
发明内容
为了充分利用空闲资源,从而提高资源利用率,本发明提供了一种基于IaaS平台的资源调度方法和装置。
本发明提供了一种磁盘IO资源分配方法,所述方法包括:
预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;
为各个策略组分别分配令牌个数和策略模式;
接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;
获取所述磁盘分区标识对应的策略组;
判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。
优选地,所述当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:
当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。
优选地,所述方法还包括:
为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。
优选地,所述获取所述磁盘分区标识对应的策略组,包括:
获取所述磁盘IO请求中的磁盘分区标识;
根据所述磁盘分区标识查找对应的磁盘分区;
获取所述磁盘分区对应的策略组。
优选地,所述当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:
当所有策略组的令牌个数均为零时,执行新一轮令牌发放;
或者,
当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态,如果否,则执行新一轮令牌发放。
优选地,所述方法还包括:
每隔预设频率的时长获取一次资源分配日志;
根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。
本发明还提供了一种磁盘IO资源分配系统,所述系统包括:
设置单元,用于预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;
第一分配单元,用于为各个策略组分别分配令牌个数和策略模式;
接收单元,用于接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;
第一获取单元,用于获取所述磁盘分区标识对应的策略组;
判断单元,用于判断所述策略组的令牌个数是否大于零;
第二分配单元,用于在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;
令牌发放单元,用于在所述判断单元的结果为否,且满足新一轮令牌发放 条件时,执行新一轮令牌发放。
优选地,所述令牌发放单元,包括:
第一发放子单元,用于当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。
优选地,所述系统还包括:
第三分配单元,用于为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。
优选地,所述第一获取单元,包括:
第一获取子单元,用于获取所述磁盘IO请求中的磁盘分区标识;
查找子单元,用于根据所述磁盘分区标识查找对应的磁盘分区;
第二获取子单元,用于获取所述磁盘分区对应的策略组。
优选地,所述令牌发放单元,包括:
第二发放子单元,用于当所有策略组的令牌个数均为零时,执行新一轮令牌发放;
或者,
判断子单元,用于当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态;
第三发放子单元,用于在所述判断子单元的结果为否时,执行新一轮令牌发放。
优选地,所述系统还包括:
第二获取单元,用于每隔预设频率的时长获取一次资源分配日志;
第四分配单元,用于根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。
本发明预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;并获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发 放。本发明采用了新的令牌分配方式,避免了资源分配过程中磁盘IO资源的浪费,同时,由于采用了策略分组方式,在磁盘IO资源分配上更加灵活可以为一台虚拟机分配磁盘IO资源,也可以让几个部署相关应用的虚拟机共享一定比例磁盘IO资源,减少了磁盘IO请求的拥堵,提高了磁盘IO资源的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的磁盘IO资源分配方法流程图;
图2为本发明实施例一提供的执行新一轮令牌发放的方法流程图;
图3为本发明实施例二磁盘IO资源分配装置结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例采用了更加科学的令牌分配方式,可以解决现有技术的系统资源浪费问题,从而可以更加合理高效的使用系统资源。同时,本发明还采用了策略分组方式,可将相关磁盘分区加入到一个策略组里面,策略组包含1个或者多个磁盘分区,然后再为策略组分配策略,即本发明的控制对象不是磁盘分区而是策略组,从全局角度为各个虚拟机进行磁盘IO带宽分配和控制,从而可以支持为拥有多个分区的虚拟机分配一定比例的磁盘IO带宽,并支持多个虚拟机共享一定比例带宽。
实施例一
参考图1,图1为本实施例提供的磁盘IO资源分配方法流程图,具体可以包括:
步骤101:预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;
本实施例中,磁盘包括若干个磁盘分区,若干个磁盘分区组成一个策略组。本实施例预先设置若干个策略组,每个策略组包括至少一个磁盘分区。本实施例的控制对象不是磁盘分区而是策略组。
步骤102:为各个策略组分别分配令牌个数和策略模式;
本实施例中,在设置若干个策略组之后,为所有策略组分别分配令牌个数和策略方式。
其中,可以为各个策略组分配权重系数,根据各个策略组的权重系数为各个策略组分配令牌个数,例如,预先设置两个策略组A和B,将包含有2048个令牌的基础令牌池为策略组A和B进行分配,策略组A和B的权重系数分别为80%和20%,为策略组A分配80%的磁盘IO资源,对应的令牌个数为:2048*80%=1638;为策略组B分配20%的磁盘IO资源,对应的令牌个数为:2048*20%=410。
另外,为各个策略组分别分配一种策略模式,具体的,策略模式可以包括weight和sector-weight两种模式,其中,weight模式不关心磁盘IO请求要请求的扇区的大小,对于任何一个磁盘IO请求的损耗均为一个令牌;而sector-weight模式会根据磁盘IO请求扇区的大小来损耗相应的令牌,一个扇区中的512字节对应一个令牌,也就是说,当磁盘IO请求需要的资源不大于512字节时,则一个磁盘IO请求的损耗为一个令牌,相应的,当磁盘IO请求需要的资源大于512字节且不大于1024字节时,则一个磁盘IO请求的损耗为两个令牌,依此类推。用户在为各个策略组分配策略模式时可以选择两种模式的任何一种,同时,策略模式也不仅限于上述两种模式。
步骤103:接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;
本实施例中,接收任意一个磁盘IO请求,所述磁盘IO请求用于为输入输出等命令提供磁盘资源,其中,磁盘IO请求可以包括磁盘分区标识,磁盘分区标识用于唯一标识磁盘分区,也就是说,可以根据磁盘分区标识唯一确定磁盘分区。
步骤104:获取所述磁盘分区标识对应的策略组;
本实施例中,由于磁盘分区标识可以用于唯一确定磁盘分区,同时任意一个策略组包括若干个磁盘分区,即策略组与磁盘分区具有对应关系,所以,首先可以根据磁盘分区标识确定磁盘分区,其次可以根据磁盘分区确定该磁盘分区所在的策略组。
实际操作中,获取磁盘分区标识对应的策略组的方法可以包括:
首先,获取所述磁盘IO请求中的磁盘分区标识;
其次,根据所述磁盘分区标识查找对应的磁盘分区;
最后,获取所述磁盘分区对应的策略组。
步骤105:判断所述策略组的令牌个数是否大于零,如果是,则进入步骤106,如果否,则进入步骤107。
本实施例中,在磁盘IO请求需要访问的策略组确定后,首先判断该策略组持有的令牌个数是否大于零,如果该策略组持有的令牌个数大于零,则进入步骤106,否则,进入步骤107。
其中,应用程序发出的磁盘IO请求可以通过所请求策略组持有的令牌来进行磁盘IO操作,并消耗相应的令牌。也就是说,通过令牌个数的增减能够体现该策略组所持有的磁盘资源的情况。
步骤106:为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;
本实施例中,当该磁盘IO请求需要访问的策略组持有的令牌个数大于零时,为该磁盘IO请求分配该策略组的资源,从而该磁盘IO请求对应的应用程序可以正常运行。并且,根据该策略组的策略模式减少该策略组所持有的令牌个数,也就是说,通过减少该策略组所持有的令牌个数体现该策略组的资源被分配。例如,当该策略组的策略模式为weight模式时,如果该策略组持有的令牌个数大于零,将该策略组持有的令牌个数减少1个。如果减后小于0,则设置该策略组持有令牌数为0。
步骤107:当满足新一轮令牌发放条件时,执行新一轮令牌发放。
为避免策略组因为令牌被用光,长时间不能提交新的磁盘IO请求,而导致系统资源浪费及服务异常,本实施例会发放新一轮的令牌以供所有策略组使用。
本实施例中,当该磁盘IO请求需要访问的策略组持有的令牌个数不大于零,即等于零时,判断当前状态是否满足新一轮令牌发放条件,如果满足,则执行新一轮令牌发放。
如果当前状态不满足新一轮令牌发放条件时,可以将当前的磁盘IO请求放入该策略组对应的block_bios队列中,其中,该block_bios队列可以按照磁盘IO请求的时间顺序存储未被响应的磁盘IO请求,当满足block_bios队列中的磁盘IO请求的响应条件时,依照请求时间顺序对该block_bios队列中的磁盘IO请求进行响应。
实际操作中,执行新一轮令牌发放的操作主要表现在:当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。也就是说,将策略组持有的令牌个数增加后,相应的该策略组就具有处理磁盘IO请求的能力。其中,新一轮令牌的发放也是依据预先制定的策略,在新一轮的令牌分配中,假设策略组A和B的权重系数仍然分别为80%和20%,则策略组A将在原来持有的令牌个数的基础上增加1638个,而策略组B将在原来持有的令牌数目上增加410个。
参考图2,图2为执行新一轮令牌发放的方法流程图,具体可以包括:
步骤201:判断所有策略组的令牌个数是否均为零,如果否,则进入步骤202,如果是,则进入步骤203。
步骤202:判断令牌个数最多的策略组是否处于预设的繁忙状态,如果是,则进入步骤204,如果否,则进入步骤203。
步骤203:执行新一轮令牌发放。
步骤204:将磁盘IO请求加入当前策略组的队列,等待被处理。
实际操作中,新一轮令牌发放条件可以存在两种设置方法,第一个条件为:当所有策略组的令牌个数均为零时,执行新一轮令牌发放;第二个条件为:当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态,如果否,则执行新一轮令牌发放。如果持有令牌最多策略组,其IO请求也非常繁忙,则不会分配新一轮令牌,优先保证持有令牌最多的策略组进行磁盘IO读写操作。本实施例可以在满足上述两个条件中的任意一个时,执行新一轮令牌发放。具体的条件的设置不限于上述两种。
其中,预设的繁忙状态的标准可以是:5分钟内,当前策略组所提交的IO请求个数与所有策略组提交IO请求总个数的比值是否大于当前策略组初始分配令牌个数与所有策略组初始分配令牌个数的比值,如果大于,说明该当前策略组处于繁忙状态。
进一步的,在执行新一轮令牌发放之后,本实施例可以对为完成响应的磁盘IO请求分配资源,具体的:
为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。
另外,本实施例可以向用户反馈磁盘IO资源分配日志,用户可以预先设置需要获取资源分配日志的频率,并且对各个策略组的磁盘IO操作信息进行统计,例如包含预设频率段内读写IO的个数和读写磁盘空间总大小,进行了多少轮令牌分配,其中可以包括多少次令牌有富裕,多少次令牌不够用等。按照预先设定的频率定期将资源分配日志通过netlink方式传输到应用层,以便用户进行分析判断,从而可以更加真实的了解到各个策略组磁盘IO资源使用情况。
具体的,本实施例可以每隔预设频率的时长获取一次资源分配日志;根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。
本实施例预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;并获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。本实施例采用了新的令牌分配方式,避免了资源分配过程中磁盘IO资源的浪费,同时,由于采用了策略分组方式,在磁盘IO资源分配上更加灵活可以为一台虚拟机分配磁盘IO资源,也可以让几个部署相关应用的虚拟机共享一定比例磁盘IO资源,减少了磁盘IO请求的拥堵,提高了磁盘IO资源的利用率。
实施例二
参考图3,图3为本实施例提供的磁盘IO资源分配装置结构图,所述装置可以包括:
设置单元301,用于预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;
第一分配单元302,用于为各个策略组分别分配令牌个数和策略模式;
接收单元303,用于接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;
第一获取单元304,用于获取所述磁盘分区标识对应的策略组;
判断单元305,用于判断所述策略组的令牌个数是否大于零;
第二分配单元306,用于在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;
令牌发放单元307,用于在所述判断单元的结果为否,且满足新一轮令牌发放条件时,执行新一轮令牌发放。
其中,所述令牌发放单元,可以包括:
第一发放子单元,用于当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。
其中,所述系统还可以包括:
第三分配单元,用于为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。
具体的,所述第一获取单元,可以包括:
第一获取子单元,用于获取所述磁盘IO请求中的磁盘分区标识;
查找子单元,用于根据所述磁盘分区标识查找对应的磁盘分区;
第二获取子单元,用于获取所述磁盘分区对应的策略组。
具体的,所述令牌发放单元,可以包括:
第二发放子单元,用于当所有策略组的令牌个数均为零时,执行新一轮令牌发放;
或者,
判断子单元,用于当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态;
第三发放子单元,用于在所述判断子单元的结果为否时,执行新一轮令牌发放。
进一步的,所述系统还可以包括:
第二获取单元,用于每隔预设频率的时长获取一次资源分配日志;
第四分配单元,用于根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。
本实施例提供的磁盘IO资源分配装置的工作原理为:
设置单元预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;第一分配单元为各个策略组分别分配令牌个数和策略模式;接收单元接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;第一获取单元获取所述磁盘分区标识对应的策略组;判断单元判断所述策略组的令牌个数是否大于零;第二分配单元在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;令牌发放单元在所述判断单元的结果为否,且满足新一轮令牌发放条件时,执行新一轮令牌发放。
其中,所述令牌发放单元包括第一发放子单元,当满足新一轮令牌发放条件时,第一发放子单元将所有策略组令牌个数增加预设个数。所述系统还可以包括第三分配单元,第三分配单元为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。
具体的,所述第一获取单元包括第一获取子单元,第一获取子单元获取所述磁盘IO请求中的磁盘分区标识;查找子单元根据所述磁盘分区标识查找对应的磁盘分区;第二获取子单元获取所述磁盘分区对应的策略组。
具体的,所述令牌发放单元包括,当所有策略组的令牌个数均为零时,第二发放子单元执行新一轮令牌发放;或者,当所有策略组的令牌个数不都为零时,判断子单元判断令牌个数最多的策略组是否处于预设的繁忙状态;在所述判断子单元的结果为否时,第三发放子单元执行新一轮令牌发放。
进一步的,所述系统包括第二获取单元和第四分配单元,第二获取单元每 隔预设频率的时长获取一次资源分配日志;第四分配单元根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。
本实施例预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;并获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。本实施例采用了新的令牌分配方式,避免了资源分配过程中磁盘IO资源的浪费,同时,由于采用了策略分组方式,在磁盘IO资源分配上更加灵活可以为一台虚拟机分配磁盘IO资源,也可以让几个部署相关应用的虚拟机共享一定比例磁盘IO资源,减少了磁盘IO请求的拥堵,提高了磁盘IO资源的利用率。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。 
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的磁盘IO资源分配方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

一种磁盘IO资源分配方法和装置.pdf_第1页
第1页 / 共14页
一种磁盘IO资源分配方法和装置.pdf_第2页
第2页 / 共14页
一种磁盘IO资源分配方法和装置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种磁盘IO资源分配方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种磁盘IO资源分配方法和装置.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103440113 A(43)申请公布日 2013.12.11CN103440113A*CN103440113A*(21)申请号 201310422054.2(22)申请日 2013.09.16G06F 3/06(2006.01)(71)申请人北京搜狐新媒体信息技术有限公司地址 100084 北京市海淀区中关村东路1号院9号楼搜狐网络大厦8层802房间(72)发明人栾利刚(74)专利代理机构北京集佳知识产权代理有限公司 11227代理人王宝筠(54) 发明名称一种磁盘IO资源分配方法和装置(57) 摘要本发明实施例公开了一种磁盘IO资源分配方法和装置,所述方法包括:预。

2、先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。本发明采用新的令牌分配方式,避免了资源分配过程中磁盘IO资源的浪费,同时,由于采用策略分组方式,减少了磁盘IO请求的拥堵,提高了磁盘IO资源的利用率。(51)Int.Cl.权利要求书2页 说明书8页 附图。

3、3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书8页 附图3页(10)申请公布号 CN 103440113 ACN 103440113 A1/2页21.一种磁盘IO资源分配方法,其特征在于,所述方法包括:预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;为各个策略组分别分配令牌个数和策略模式;接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;获取所述磁盘分区标识对应的策略组;判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;。

4、如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。2.根据权利要求1所述的方法,其特征在于,所述当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。4.根据权利要求1所述的方法,其特征在于,所述获取所述磁盘分区标识对应的策略组,包括:获取所述磁盘IO请求中的磁盘分区标识;根据所述磁盘分区标识查找对应的磁盘分区;获取所述磁盘分区对应的策略组。5.根据权利要求1所述的方法,其特征在于,。

5、所述当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:当所有策略组的令牌个数均为零时,执行新一轮令牌发放;或者,当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态,如果否,则执行新一轮令牌发放。6.根据权利要求1-5中任一所述的方法,其特征在于,所述方法还包括:每隔预设频率的时长获取一次资源分配日志;根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。7.一种磁盘IO资源分配系统,其特征在于,所述系统包括:设置单元,用于预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;第一分配单元,用于为各个策略组分别分配令牌个数和策略模式;接收单元,用于接收。

6、任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;第一获取单元,用于获取所述磁盘分区标识对应的策略组;判断单元,用于判断所述策略组的令牌个数是否大于零;第二分配单元,用于在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;令牌发放单元,用于在所述判断单元的结果为否,且满足新一轮令牌发放条件时,执行权 利 要 求 书CN 103440113 A2/2页3新一轮令牌发放。8.根据权利要求7所述的系统,其特征在于,所述令牌发放单元,包括:第一发放子单元,用于当满足新一轮令牌发放条件时,将所有策。

7、略组的令牌个数增加预设个数。9.根据权利要求8所述的系统,其特征在于,所述系统还包括:第三分配单元,用于为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。10.根据权利要求7所述的系统,其特征在于,所述第一获取单元,包括:第一获取子单元,用于获取所述磁盘IO请求中的磁盘分区标识;查找子单元,用于根据所述磁盘分区标识查找对应的磁盘分区;第二获取子单元,用于获取所述磁盘分区对应的策略组。11.根据权利要求7所述的系统,其特征在于,所述令牌发放单元,包括:第二发放子单元,用于当所有策略组的令牌个数均为零时,执行新一轮令牌发放;或者,判断子单元,用于当所有策略组的令牌。

8、个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态;第三发放子单元,用于在所述判断子单元的结果为否时,执行新一轮令牌发放。12.根据权利要求7-11中任一所述系统,其特征在于,所述系统还包括:第二获取单元,用于每隔预设频率的时长获取一次资源分配日志;第四分配单元,用于根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。权 利 要 求 书CN 103440113 A1/8页4一种磁盘 IO 资源分配方法和装置技术领域0001 本发明涉及数据处理技术领域,具体涉及一种磁盘IO资源分配方法和装置。背景技术0002 近些年,随着物理机单机的性能不断提升和虚拟化技术的不断成熟,用户。

9、可以在一台物理机上面部署多台虚拟机,启用多个类型的应用。系统将资源平均分配给各个虚拟机,而无法根据应用服务的实际资源需求为虚拟机进行合理有效的资源分配。实际应用中,对于磁盘IO资源的分配就是采用上述平均分配的方式。0003 通常,系统接收到磁盘IO请求后,根据磁盘IO请求,确定该IO请求所需求的磁盘分区后,直接将该磁盘分区的资源分配给该IO请求。可见,该资源方法是以磁盘分区为控制对象,当该需求磁盘分区不存在可用资源时,该磁盘IO请求即得不到响应。0004 所以,上述资源分配方法会造成磁盘IO请求的拥堵,同时不能有效的利用资源。发明内容0005 为了充分利用空闲资源,从而提高资源利用率,本发明提。

10、供了一种基于IaaS平台的资源调度方法和装置。0006 本发明提供了一种磁盘IO资源分配方法,所述方法包括:0007 预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;0008 为各个策略组分别分配令牌个数和策略模式;0009 接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;0010 获取所述磁盘分区标识对应的策略组;0011 判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。0012 优选地,所述。

11、当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:0013 当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。0014 优选地,所述方法还包括:0015 为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。0016 优选地,所述获取所述磁盘分区标识对应的策略组,包括:0017 获取所述磁盘IO请求中的磁盘分区标识;0018 根据所述磁盘分区标识查找对应的磁盘分区;0019 获取所述磁盘分区对应的策略组。0020 优选地,所述当满足新一轮令牌发放条件时,执行新一轮令牌发放,包括:0021 当所有策略组的令牌个数均为零时,执行新一轮令牌发放;说 明。

12、 书CN 103440113 A2/8页50022 或者,0023 当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态,如果否,则执行新一轮令牌发放。0024 优选地,所述方法还包括:0025 每隔预设频率的时长获取一次资源分配日志;0026 根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。0027 本发明还提供了一种磁盘IO资源分配系统,所述系统包括:0028 设置单元,用于预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;0029 第一分配单元,用于为各个策略组分别分配令牌个数和策略模式;0030 接收单元,用于接收任一磁盘IO请求,所述磁。

13、盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;0031 第一获取单元,用于获取所述磁盘分区标识对应的策略组;0032 判断单元,用于判断所述策略组的令牌个数是否大于零;0033 第二分配单元,用于在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;0034 令牌发放单元,用于在所述判断单元的结果为否,且满足新一轮令牌发放条件时,执行新一轮令牌发放。0035 优选地,所述令牌发放单元,包括:0036 第一发放子单元,用于当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。0037 优选地,所述系统。

14、还包括:0038 第三分配单元,用于为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。0039 优选地,所述第一获取单元,包括:0040 第一获取子单元,用于获取所述磁盘IO请求中的磁盘分区标识;0041 查找子单元,用于根据所述磁盘分区标识查找对应的磁盘分区;0042 第二获取子单元,用于获取所述磁盘分区对应的策略组。0043 优选地,所述令牌发放单元,包括:0044 第二发放子单元,用于当所有策略组的令牌个数均为零时,执行新一轮令牌发放;0045 或者,0046 判断子单元,用于当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状。

15、态;0047 第三发放子单元,用于在所述判断子单元的结果为否时,执行新一轮令牌发放。0048 优选地,所述系统还包括:0049 第二获取单元,用于每隔预设频率的时长获取一次资源分配日志;0050 第四分配单元,用于根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。0051 本发明预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各说 明 书CN 103440113 A3/8页6个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;并获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,则为所述磁。

16、盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。本发明采用了新的令牌分配方式,避免了资源分配过程中磁盘IO资源的浪费,同时,由于采用了策略分组方式,在磁盘IO资源分配上更加灵活可以为一台虚拟机分配磁盘IO资源,也可以让几个部署相关应用的虚拟机共享一定比例磁盘IO资源,减少了磁盘IO请求的拥堵,提高了磁盘IO资源的利用率。附图说明0052 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人。

17、员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0053 图1为本发明实施例一提供的磁盘IO资源分配方法流程图;0054 图2为本发明实施例一提供的执行新一轮令牌发放的方法流程图;0055 图3为本发明实施例二磁盘IO资源分配装置结构图。具体实施方式0056 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。0057 本发明实施例采用了更加科学的令牌分配方式,可以。

18、解决现有技术的系统资源浪费问题,从而可以更加合理高效的使用系统资源。同时,本发明还采用了策略分组方式,可将相关磁盘分区加入到一个策略组里面,策略组包含1个或者多个磁盘分区,然后再为策略组分配策略,即本发明的控制对象不是磁盘分区而是策略组,从全局角度为各个虚拟机进行磁盘IO带宽分配和控制,从而可以支持为拥有多个分区的虚拟机分配一定比例的磁盘IO带宽,并支持多个虚拟机共享一定比例带宽。0058 实施例一0059 参考图1,图1为本实施例提供的磁盘IO资源分配方法流程图,具体可以包括:0060 步骤101:预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;0061 本实施例中,磁盘包括若干个磁。

19、盘分区,若干个磁盘分区组成一个策略组。本实施例预先设置若干个策略组,每个策略组包括至少一个磁盘分区。本实施例的控制对象不是磁盘分区而是策略组。0062 步骤102:为各个策略组分别分配令牌个数和策略模式;0063 本实施例中,在设置若干个策略组之后,为所有策略组分别分配令牌个数和策略方式。0064 其中,可以为各个策略组分配权重系数,根据各个策略组的权重系数为各个策略说 明 书CN 103440113 A4/8页7组分配令牌个数,例如,预先设置两个策略组A和B,将包含有2048个令牌的基础令牌池为策略组A和B进行分配,策略组A和B的权重系数分别为80%和20%,为策略组A分配80%的磁盘IO资。

20、源,对应的令牌个数为:2048*80%=1638;为策略组B分配20%的磁盘IO资源,对应的令牌个数为:2048*20%=410。0065 另外,为各个策略组分别分配一种策略模式,具体的,策略模式可以包括weight和sector-weight两种模式,其中,weight模式不关心磁盘IO请求要请求的扇区的大小,对于任何一个磁盘IO请求的损耗均为一个令牌;而sector-weight模式会根据磁盘IO请求扇区的大小来损耗相应的令牌,一个扇区中的512字节对应一个令牌,也就是说,当磁盘IO请求需要的资源不大于512字节时,则一个磁盘IO请求的损耗为一个令牌,相应的,当磁盘IO请求需要的资源大于5。

21、12字节且不大于1024字节时,则一个磁盘IO请求的损耗为两个令牌,依此类推。用户在为各个策略组分配策略模式时可以选择两种模式的任何一种,同时,策略模式也不仅限于上述两种模式。0066 步骤103:接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;0067 本实施例中,接收任意一个磁盘IO请求,所述磁盘IO请求用于为输入输出等命令提供磁盘资源,其中,磁盘IO请求可以包括磁盘分区标识,磁盘分区标识用于唯一标识磁盘分区,也就是说,可以根据磁盘分区标识唯一确定磁盘分区。0068 步骤104:获取所述磁盘分区标识对应的策略组;0069 本实施例中,由于磁盘分。

22、区标识可以用于唯一确定磁盘分区,同时任意一个策略组包括若干个磁盘分区,即策略组与磁盘分区具有对应关系,所以,首先可以根据磁盘分区标识确定磁盘分区,其次可以根据磁盘分区确定该磁盘分区所在的策略组。0070 实际操作中,获取磁盘分区标识对应的策略组的方法可以包括:0071 首先,获取所述磁盘IO请求中的磁盘分区标识;0072 其次,根据所述磁盘分区标识查找对应的磁盘分区;0073 最后,获取所述磁盘分区对应的策略组。0074 步骤105:判断所述策略组的令牌个数是否大于零,如果是,则进入步骤106,如果否,则进入步骤107。0075 本实施例中,在磁盘IO请求需要访问的策略组确定后,首先判断该策略。

23、组持有的令牌个数是否大于零,如果该策略组持有的令牌个数大于零,则进入步骤106,否则,进入步骤107。0076 其中,应用程序发出的磁盘O请求可以通过所请求策略组持有的令牌来进行磁盘IO操作,并消耗相应的令牌。也就是说,通过令牌个数的增减能够体现该策略组所持有的磁盘资源的情况。0077 步骤106:为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;0078 本实施例中,当该磁盘IO请求需要访问的策略组持有的令牌个数大于零时,为该磁盘IO请求分配该策略组的资源,从而该磁盘IO请求对应的应用程序可以正常运行。并且,根据该策略组的策略模式减少该策略组所持有的。

24、令牌个数,也就是说,通过减少该策略组所持有的令牌个数体现该策略组的资源被分配。例如,当该策略组的策略模式为weight说 明 书CN 103440113 A5/8页8模式时,如果该策略组持有的令牌个数大于零,将该策略组持有的令牌个数减少1个。如果减后小于0,则设置该策略组持有令牌数为0。0079 步骤107:当满足新一轮令牌发放条件时,执行新一轮令牌发放。0080 为避免策略组因为令牌被用光,长时间不能提交新的磁盘IO请求,而导致系统资源浪费及服务异常,本实施例会发放新一轮的令牌以供所有策略组使用。0081 本实施例中,当该磁盘IO请求需要访问的策略组持有的令牌个数不大于零,即等于零时,判断当。

25、前状态是否满足新一轮令牌发放条件,如果满足,则执行新一轮令牌发放。0082 如果当前状态不满足新一轮令牌发放条件时,可以将当前的磁盘请求放入该策略组对应的block_bios队列中,其中,该block_bios队列可以按照磁盘请求的时间顺序存储未被响应的磁盘请求,当满足block_bios队列中的磁盘请求的响应条件时,依照请求时间顺序对该block_bios队列中的磁盘请求进行响应。0083 实际操作中,执行新一轮令牌发放的操作主要表现在:当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。也就是说,将策略组持有的令牌个数增加后,相应的该策略组就具有处理磁盘请求的能力。其中,新一轮。

26、令牌的发放也是依据预先制定的策略,在新一轮的令牌分配中,假设策略组A和B的权重系数仍然分别为80%和20%,则策略组A将在原来持有的令牌个数的基础上增加1638个,而策略组B将在原来持有的令牌数目上增加410个。0084 参考图2,图2为执行新一轮令牌发放的方法流程图,具体可以包括:0085 步骤201:判断所有策略组的令牌个数是否均为零,如果否,则进入步骤202,如果是,则进入步骤203。0086 步骤202:判断令牌个数最多的策略组是否处于预设的繁忙状态,如果是,则进入步骤204,如果否,则进入步骤203。0087 步骤203:执行新一轮令牌发放。0088 步骤204:将磁盘IO请求加入当。

27、前策略组的队列,等待被处理。0089 实际操作中,新一轮令牌发放条件可以存在两种设置方法,第一个条件为:当所有策略组的令牌个数均为零时,执行新一轮令牌发放;第二个条件为:当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态,如果否,则执行新一轮令牌发放。如果持有令牌最多策略组,其请求也非常繁忙,则不会分配新一轮令牌,优先保证持有令牌最多的策略组进行磁盘IO读写操作。本实施例可以在满足上述两个条件中的任意一个时,执行新一轮令牌发放。具体的条件的设置不限于上述两种。0090 其中,预设的繁忙状态的标准可以是:5分钟内,当前策略组所提交的IO请求个数与所有策略组提交IO请。

28、求总个数的比值是否大于当前策略组初始分配令牌个数与所有策略组初始分配令牌个数的比值,如果大于,说明该当前策略组处于繁忙状态。0091 进一步的,在执行新一轮令牌发放之后,本实施例可以对为完成响应的磁盘IO请求分配资源,具体的:0092 为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。0093 另外,本实施例可以向用户反馈磁盘IO资源分配日志,用户可以预先设置需要获取资源分配日志的频率,并且对各个策略组的磁盘IO操作信息进行统计,例如包含预设频说 明 书CN 103440113 A6/8页9率段内读写IO的个数和读写磁盘空间总大小,进行了多少轮令牌分配,其中可。

29、以包括多少次令牌有富裕,多少次令牌不够用等。按照预先设定的频率定期将资源分配日志通过netlink方式传输到应用层,以便用户进行分析判断,从而可以更加真实的了解到各个策略组磁盘IO资源使用情况。0094 具体的,本实施例可以每隔预设频率的时长获取一次资源分配日志;根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。0095 本实施例预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;并获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,则为所。

30、述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。本实施例采用了新的令牌分配方式,避免了资源分配过程中磁盘IO资源的浪费,同时,由于采用了策略分组方式,在磁盘IO资源分配上更加灵活可以为一台虚拟机分配磁盘IO资源,也可以让几个部署相关应用的虚拟机共享一定比例磁盘IO资源,减少了磁盘IO请求的拥堵,提高了磁盘IO资源的利用率。0096 实施例二0097 参考图3,图3为本实施例提供的磁盘IO资源分配装置结构图,所述装置可以包括:0098 设置单元301,用于预先设置至少一个策略组,所述策略组包括至少一。

31、个磁盘分区;0099 第一分配单元302,用于为各个策略组分别分配令牌个数和策略模式;0100 接收单元303,用于接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;0101 第一获取单元304,用于获取所述磁盘分区标识对应的策略组;0102 判断单元305,用于判断所述策略组的令牌个数是否大于零;0103 第二分配单元306,用于在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;0104 令牌发放单元307,用于在所述判断单元的结果为否,且满足新一轮令牌发放条件时,执行新一轮令牌。

32、发放。0105 其中,所述令牌发放单元,可以包括:0106 第一发放子单元,用于当满足新一轮令牌发放条件时,将所有策略组的令牌个数增加预设个数。0107 其中,所述系统还可以包括:0108 第三分配单元,用于为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。0109 具体的,所述第一获取单元,可以包括:0110 第一获取子单元,用于获取所述磁盘IO请求中的磁盘分区标识;0111 查找子单元,用于根据所述磁盘分区标识查找对应的磁盘分区;0112 第二获取子单元,用于获取所述磁盘分区对应的策略组。说 明 书CN 103440113 A7/8页100113 具体的,。

33、所述令牌发放单元,可以包括:0114 第二发放子单元,用于当所有策略组的令牌个数均为零时,执行新一轮令牌发放;0115 或者,0116 判断子单元,用于当所有策略组的令牌个数不都为零时,判断令牌个数最多的策略组是否处于预设的繁忙状态;0117 第三发放子单元,用于在所述判断子单元的结果为否时,执行新一轮令牌发放。0118 进一步的,所述系统还可以包括:0119 第二获取单元,用于每隔预设频率的时长获取一次资源分配日志;0120 第四分配单元,用于根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。0121 本实施例提供的磁盘IO资源分配装置的工作原理为:0122 设置单元预先设置至少。

34、一个策略组,所述策略组包括至少一个磁盘分区;第一分配单元为各个策略组分别分配令牌个数和策略模式;接收单元接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识,所述磁盘分区标识用于唯一标识磁盘分区;第一获取单元获取所述磁盘分区标识对应的策略组;判断单元判断所述策略组的令牌个数是否大于零;第二分配单元在所述判断单元的结果为是时,为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;令牌发放单元在所述判断单元的结果为否,且满足新一轮令牌发放条件时,执行新一轮令牌发放。0123 其中,所述令牌发放单元包括第一发放子单元,当满足新一轮令牌发放条件时,第一发放子单元。

35、将所有策略组令牌个数增加预设个数。所述系统还可以包括第三分配单元,第三分配单元为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述令牌个数。0124 具体的,所述第一获取单元包括第一获取子单元,第一获取子单元获取所述磁盘IO请求中的磁盘分区标识;查找子单元根据所述磁盘分区标识查找对应的磁盘分区;第二获取子单元获取所述磁盘分区对应的策略组。0125 具体的,所述令牌发放单元包括,当所有策略组的令牌个数均为零时,第二发放子单元执行新一轮令牌发放;或者,当所有策略组的令牌个数不都为零时,判断子单元判断令牌个数最多的策略组是否处于预设的繁忙状态;在所述判断子单元的结果为否时,第三。

36、发放子单元执行新一轮令牌发放。0126 进一步的,所述系统包括第二获取单元和第四分配单元,第二获取单元每隔预设频率的时长获取一次资源分配日志;第四分配单元根据所述资源分配日志,为各个策略组分别分配令牌个数和策略模式。0127 本实施例预先设置至少一个策略组,所述策略组包括至少一个磁盘分区;首先,为各个策略组分别分配令牌个数和策略模式;其次,接收任一磁盘IO请求,所述磁盘IO请求包括磁盘分区标识;并获取所述磁盘分区标识对应的策略组;最后,判断所述策略组的令牌个数是否大于零,如果是,则为所述磁盘IO请求分配所述策略组的资源,并根据所述策略组的策略模式减少所述策略组的令牌个数;如果否,则当满足新一轮令牌发放条件时,执行新一轮令牌发放。本实施例采用了新的令牌分配方式,避免了资源分配过程中磁盘IO资说 明 书CN 103440113 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1