CN104391656A - 一种存储设备的io资源分配方法、装置及存储设备 - Google Patents
一种存储设备的io资源分配方法、装置及存储设备 Download PDFInfo
- Publication number
- CN104391656A CN104391656A CN201410665649.5A CN201410665649A CN104391656A CN 104391656 A CN104391656 A CN 104391656A CN 201410665649 A CN201410665649 A CN 201410665649A CN 104391656 A CN104391656 A CN 104391656A
- Authority
- CN
- China
- Prior art keywords
- request
- resource
- type
- memory device
- migration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本申请公开了一种存储设备的IO资源分配方法、装置及存储设备,其中,该方法包括:存储设备区分接收到的每个输入/输出IO请求的类型;根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源;按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。通过上述方式,能够避免不同类型的IO请求之间出现IO资源抢占的问题。
Description
技术领域
本申请涉及存储技术领域,特别是一种存储设备的IO资源的分配方法、装置及存储设备。
背景技术
目前,网络之间互连的协议(英文:Internet Protocol,简称:IP)硬盘,即为提供IP协议接口的硬盘。在如今的大数据时代,IP硬盘经常集群使用。如图1所示,IP硬盘110与服务器120连接,且IP硬盘110之间也存在连接。一般,IP硬盘110接收到服务器120下发的输入/输出(英文:Input/Output,简称:IO)请求包括业务IO请求和迁移IO请求。业务IO请求即为用于指示输入或输出上层应用数据的请求,IP硬盘110接收到服务器120下发的业务IO请求后,与服务器120进行上层业务数据的传输。迁移IO请求即为用于指示IP硬盘110与其他IP硬盘110之间进行数据迁移的请求,一般在某IP硬盘出现故障或者增加IP硬盘110以实现扩容时服务器120下发的,IP硬盘110接收到迁移IO请求后,与其他对应的IP硬盘110之间进行数据迁移。
由于数据迁移和上层业务均需要占用存储设备的IO资源,且现有的IP硬盘并不对业务IO和迁移IO进行区分,因此导致业务IO和迁移IO会出现同时抢占IP硬盘的IO资源。这样不仅会在IP硬盘110故障或者扩容场景下,由于业务IO的抢占,造成数据迁移的时效性不能满足要求的问题;同时也会在迁移IO压力大时,抢占业务IO的资源,导致业务IO时延和带宽指标不能满足要求,故大大降低了不同类型IO的效率。
发明内容
本申请提供一种存储设备的IO资源的分配方法、装置及存储设备,能够避免不同类型的IO请求之间出现IO资源抢占的问题。
本申请第一方面提供一种存储设备的IO资源分配方法,包括:存储设备区分接收到的每个输入/输出IO请求的类型;根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源;按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
结合第一方面,在第一方面的第一可能实施方式中,所述根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源,包括:判断所述接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源;如果是,则根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源。
结合第一方面的第一可能实施方式,在第一方面的第二可能实施方式中,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源阈值;所述根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源,包括:获取所述接收到的不同类型IO请求的数量情况;如果所述接收到的IO请求的类型只包括所述迁移IO类型,则从存储设备的总IO资源中,为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源;如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则从存储设备的总IO资源中为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源,并将所述存储设备剩余的IO资源分配给所述业务IO类型的IO请求。
结合第一方面的第一可能实施方式,在第一方面的第三可能实施方式中,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源与业务IO资源的比例;所述根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源,包括:获取所述接收到的不同类型IO请求的数量情况;如果所述接收到的IO请求的类型只包括所述迁移IO类型,则按照所述迁移IO资源与业务IO资源的比例,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配IO资源;如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则根据迁移IO和业务IO的资源比例,将所述存储设备的总IO资源分配给迁移IO请求和业务IO请求。
结合第一方面,在第一方面的第四可能实施方式中,还包括:在预设时间后,重新判断当前接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源;如果是,则根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源,其中,重新分配给所述业务IO类型的IO资源满足平滑变化的原则;按照所述重新为不同类型的所述IO请求分配的IO资源,处理所述当前接收到的对应类型的IO请求。
结合第一方面,在第一方面的第五可能实施方式中,所述接收到的IO请求以队列方式缓存在所述存储设备中。
本申请第二方面提供一种存储设备的IO资源分配装置,包括区分模块、第一分配模块和第一处理模块;所述区分模块用于区分所述存储设备接收到的每个输入/输出IO请求的类型,并将所述接收到的每个IO请求的类型发送给所述第一分配模块;所述第一分配模块用于根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源,并将分配结果发送给所述第一处理模块;所述第一处理模块按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
结合第二方面,在第二方面的第一可能实施方式中,所述第一分配模块包括判断单元和分配单元;所述判断单元用于判断所述接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,并将判断结果发送给所述分配单元;所述分配单元用于在所述接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源。
结合第二方面的第一可能实施方式,在第二方面的第二可能实施方式中,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源阈值;所述分配单元具体用于:获取所述接收到的不同类型IO请求的数量情况;在所述接收到的IO请求的类型只包括所述迁移IO类型时,从存储设备的总IO资源中,为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源;在所述接收到的IO请求的类型值包括所述业务IO类型时,将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;在所述接收到的IO请求的类型包括业务IO类型和迁移IO类型时,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源,并将所述存储设备剩余的IO资源分配给所述业务IO类型的IO请求。
结合第二方面的第一可能实施方式,在第二方面的第三可能实施方式中,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源与业务IO资源的比例;所述分配单元具体用于:获取所述接收到的不同类型IO请求的数量情况;如果所述接收到的IO请求的类型只包括所述迁移IO类型,则按照所述迁移IO资源与业务IO资源的比例,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配IO资源;如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则根据迁移IO和业务IO的资源比例,将所述存储设备的总IO资源分配给迁移IO请求和业务IO请求。
结合第二方面,在第二方面的第四可能实施方式中,还包括第二分配模块和第二处理模块;所述第二分配模块用于在预设时间后,重新判断所述存储设备当前接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,并在当前接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源,并将所述重新分配结果发送给所述第二处理模块,其中,重新分配给所述业务IO类型的IO资源满足平滑变化的原则;所述第二处理模块用于按照所述重新为不同类型的所述IO请求分配的IO资源,处理所述当前接收到的对应类型的IO请求。
结合第二方面,在第二方面的第五可能实施方式中,所述接收到的IO请求以队列方式缓存在所述存储设备的IO资源分配装置中。
本申请第三方面提供一种存储设备,所述存储设备包括上面所述的存储设备的IO资源分配装置。
结合第三方面,在第三方面的第一可能实施方式中,所述存储设备为IP硬盘。
上述方案中,通过根据预设分配策略,为不同类型的IO请求分配不同数量的IO资源,并仅在分配的IO资源中处理对应类型的IO请求,实现了存储设备为不同类型的IO请求自动按需分配IO资源,避免了不同类型的IO请求同时抢占存储设备的IO资源,保证了每个类型的IO请求的有序、高效处理。
附图说明
图1是集群网络一实施方式的结构示意图;
图2是本申请存储设备的IO资源分配方法一实施方式的流程图;
图3是本申请存储设备的IO资源分配方法另一实施方式的流程图;
图4是图3所示的步骤303的子步骤流程图;
图5是本申请存储设备的IO资源分配装置一实施方式的结构示意图;
图6是本申请存储设备的IO资源分配装置另一实施方式的结构示意图;
图7是本申请控制器再一实施方式的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
请参阅图2,图2是本申请存储设备的IO资源分配方法一实施方式的流程图。该方法由具有处理能力的存储设备执行,如IP硬盘。具体,该方法包括:
201:存储设备区分接收到的每个IO请求的类型。
存储设备通过接口接收到服务器下发的IO请求。为了实现不同类型IO请求的有序化处理,存储设备可先将接收到的IO请求进行缓存。具体如,存储设备以队列方式缓存IO请求,其中,该队列方式可以为不同类型的IO请求分别缓存在不同的队列中或者所有IO请求缓存在同一队列中。可以理解的是,本申请所指的存储设备接收到的IO请求指的是接收到的而存储设备未处理的IO请求。
存储设备区分缓存中的每个IO请求的类型,如为业务IO类型或者迁移IO类型。具体,存储设备可以根据接收到IO请求的接口来区分IO请求的类型,例如,如果接收IO请求的接口为业务接口,即为业务IO类型,如果接收IO请求的接口为迁移接口,即为迁移IO类型。或者,存储设备也可根据IO请求上的标识来区分所述IO请求的类型,例如,如果接收到的IO请求具有业务标识,即为业务IO类型,如果接收到的IO请求具有迁移标识,即为迁移IO类型。
202:存储设备根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源。
存储设备先预先设置分配策略,例如,由服务器向存储设备下发分配策略,该分配策略一般包括至少部分类型的IO请求的IO资源最大分配阈值和IO资源的分配单位。该IO资源的分配单位可以为流量单位、消息个数或者令牌个数。例如,存储设备的IO请求包括有业务IO类型和迁移IO类型,IO资源的分配单位为流量单位,服务器下发预设分配策略为:迁移IO请求的IO资源阈值为2MB,即存储设备为迁移IO请求分配的IO资源流量每秒不超过2MB。又例如,IO资源的分配单位为消息个数,服务器下发预设分配策略为:迁移IO请求的IO资源阈值为10个消息,即存储设备为迁移IO请求分配的IO资源为每秒所处理的请求消息个数不超过10个。
存储设备根据预设分配策略,为接收到的不同类型的IO请求各自分配好IO资源,例如,存储设备的总IO资源为10MB,根据预设分配策略:迁移IO请求的IO资源阈值为2MB,则为业务IO类型分配8MB的IO资源,为迁移IO类型分配2MB的IO资源。
203:存储设备按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
例如,存储设备根据预设分配策略确定:为业务IO类型分配8MB的IO资源,为迁移IO类型分配2MB的IO资源。存储设备只占用总IO资源中的8MB来处理缓存中的业务IO类型的IO请求,存储设备只占用总IO资源的2MB来处理缓存中的迁移IO类型的IO请求。
本实施方式通过根据预设分配策略,为不同类型的IO请求分配不同数量的IO资源,并仅在分配的IO资源中处理对应类型的IO请求,实现了存储设备为不同类型的IO请求自动按需分配IO资源,避免了不同类型的IO请求同时抢占存储设备的IO资源,保证了每个类型的IO请求的有序、高效处理。
请参阅图3,图3是本申请存储设备的IO资源分配方法另一实施方式的流程图。本实施方式方法由具有处理能力的存储设备执行,如IP硬盘。具体,该方法包括:
301:存储设备区分接收到的每个IO请求的类型。
为了实现不同类型IO请求的有序化处理,存储设备先将接收到的IO请求以队列方式进行缓存。存储设备区分缓存中的每个IO请求的类型,如为业务IO类型或者迁移IO类型。
302:存储设备判断所述接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源。
由于受存储设备的处理能力的限制,因此存储设备的总IO资源是有限的。如果服务器下发的所有IO请求对应所需的IO资源是在存储设备的总IO资源量之内,则IO请求之间不会出现资源抢占的情况,故存储设备此时无需主动为不同类型IO请求分配IO资源。所以,本实施方式中,存储设备先判断缓存中的IO请求所需的IO资源是否超出存储设备的总IO资源,如果不超出,则存储设备无需为不同类型的IO请求分别单独分配IO资源,结束流程或者等待预设时间后重新判断,如果超出,则执行303。
303:存储设备根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源。
当接收到的IO请求所需的IO资源超出存储设备的总IO资源,则存储设备主动为不同类型的IO请求分配相互独立的IO资源,以保证不同类型的IO资源不会发生资源抢占情况。例如,存储设备根据预设分配策略以及接收到的不同类型的IO请求的数量情况,分别为不同类型的所述IO请求分配IO资源。
本实施方式中,存储设备为IP硬盘,存储设备可以接收的IO请求的类型包括有业务IO类型和迁移IO类型,预设分配策略包括迁移IO资源阈值。步骤303可具体包括以下子步骤:
401:存储设备获取所述接收到的不同类型IO请求的数量情况。
例如,存储设备获取接收到的不同类型的IO请求的数量情况,例如为:接收到的只包括业务IO类型的IO请求、接收到的只包括迁移IO类型的IO请求、或者接收到的同时包含第一数量的迁移IO类型和第二数量的业务IO类型的IO请求。
402:如果所述接收到的IO请求的类型只包括所述迁移IO类型,则从存储设备的总IO资源中,为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源。
本实施方式中,业务IO请求优先级大于迁移IO请求,为了保证在后续接收到业务IO请求时可以及时处理,满足业务IO存储设备需要为后续的业务IO请求保留部分的IO资源。所以,存储设备如果发现接收到的IO请求的类型只包括迁移IO类型,则只为迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源。优选,存储设备可以为迁移IO类型的IO请求分配等于所述迁移IO资源阈值的IO资源。
403:如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求。
由于本实施方式中,业务IO请求优先级大于迁移IO请求,故如果接收到的IO请求的类型值包括所述业务IO类型,则存储设备可以全力处理业务IO请求,故将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求。
404:如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则从存储设备的总IO资源中为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源,并将所述存储设备剩余的IO资源分配给所述业务IO类型的IO请求。
例如,如果当前接收到的既包括业务IO请求也包括迁移IO请求,则先为迁移IO请求分配等于迁移IO资源阈值的IO资源,并将存储设备剩余的IO资源分配给业务IO请求。当然,存储设备也可以再进一步根据迁移IO请求和业务员IO请求的数量来分配,例如,存储设备接收到的包括第一数量的迁移IO请求和第二数量的业务IO请求,存储设备在为迁移IO请求分配的IO资源不大于迁移IO资源阈值的前提下,将总IO资源按照第一数量和第二数量的比例分别分配给迁移IO请求和业务IO请求,当按照该比例分配给迁移IO请求的IO资源要超出迁移IO资源阈值时,则固定为迁移IO请求分配等于迁移IO资源阈值的IO资源,并将剩余的IO资源分配给业务IO资源。
一般,存储设备在执行404时所遵循分配原则为:无论迁移IO请求的数量多少,均不能分配大于迁移IO资源阈值的IO资源,以保证能够及时响应后续业务IO;而当业务IO请求数量大于预设业务IO阈值时,则如果迁移IO请求的数量也大于预设迁移IO阈值,则不侵占迁移IO请求的IO资源,即为迁移IO请求分配等于迁移IO资源阈值的IO资源,并将剩余的IO资源分配给业务IO请求,如果迁移IO请求的数量小于预设迁移IO阈值,则可侵占迁移IO请求的IO资源,即为迁移IO请求分配小于迁移IO资源阈值的IO资源,并将剩余的IO资源分配给业务IO请求,其中,分配给迁移IO请求的IO资源具体数量根据业务IO请求数量来决定,当业务IO请求数量越大,分配给迁移IO请求的IO资源则越少。
上述303具体是按照预设分配策略的资源阈值进行分配的,在其他实施方式中,存储设备也可按照预设分配策略的资源比例来执行303。例如,预设分配策略包括迁移IO资源与业务IO资源的比例。存储设备执行303具体包括:
存储设备获取所述接收到的不同类型IO请求的数量情况;
如果所述接收到的IO请求的类型只包括所述迁移IO类型,则存储设备按照所述迁移IO资源与业务IO资源的比例,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配IO资源,例如,迁移IO资源与业务IO资源的比例为2:8,则将存储设备总IO资源的20%分配给迁移IO请求;
如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;
如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则根据迁移IO和业务IO的资源比例,将所述存储设备的总IO资源分配给迁移IO请求和业务IO请求,例如,迁移IO资源与业务IO资源的比例为2:8,则将存储设备总IO资源的20%分配给迁移IO请求,将存储设备总IO资源的80%分配给业务IO请求。同样地,存储设备在执行本子步骤时也可所遵循类似的分配原则为:无论迁移IO请求的数量多少,均不能分配大于迁移IO资源与业务IO资源的比例的IO资源,以保证能够及时响应后续业务IO;而当业务IO请求数量大于预设业务IO阈值时,则如果迁移IO请求的数量也大于预设迁移IO阈值,则不侵占迁移IO请求的IO资源,即按照迁移IO资源与业务IO资源的比例将IO资源分配给业务IO请求迁移IO资源,如果迁移IO请求的数量小于预设迁移IO阈值,则可侵占迁移IO请求的IO资源,即为迁移IO请求分配小于迁移IO资源与业务IO资源的比例的IO资源,并将剩余的IO资源分配给业务IO请求,其中,分配给迁移IO请求的IO资源具体数量根据业务IO请求数量来决定,当业务IO请求数量越大,分配给迁移IO请求的IO资源则越少。
304:存储设备按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
305:存储设备在预设时间后,重新判断当前接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源。
本实施方式采用定时监控接收到的IO请求数量的方式,在为接收到的不同类型的IO请求分配好IO资源的预设时间后,存储设备根据当前接收到的IO请求的新情况,重新判断当前接收的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,如果不超出,则无需为不同类型的IO请求分别单独分配IO资源,结束流程或者等待预设时间后重新判断,如果超出,则执行306。
306:存储设备根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源,其中,重新分配给所述业务IO类型的IO资源满足平滑变化的原则。
在重新分配不同类型的IO请求的时候,为了保证业务IO性能的平缓变换,分配给业务IO请求的IO资源也不允许出现剧变,故必须遵循平滑变化的原则,即如304所述根据预设分配策略以及接收到的不同类型的IO请求的数量情况重新确定分配给不同类型的IO资源时,如果重新确认分配给业务IO请求的IO资源发生变化,则由上一次分配给业务IO请求的IO资源到重新分配给业务IO请求的IO资源之间的变化过程必须是平滑变化的。例如,执行304时接收到的只包括业务IO请求,故将存储设备的10MBIO资源全部分配分配给业务IO请求,在预设时间后,存储设备当前接收到的包括业务IO请求和迁移IO请求,如新确认要分配给业务IO请求的IO资源是8MB,则存储设备先重新分配时以每秒递减1MB的速率从10MB降低到8MB,即第一秒重新分配给业务IO请求的IO资源为9MB,第二秒以后重新分配给业务IO请求的IO资源为8MB,以避免业务IO请求的IO资源出现突变,而影响到业务IO的性能。
307:存储设备按照所述重新为不同类型的所述IO请求分配的IO资源,处理所述当前接收到的对应类型的IO请求。
继续参照306中的例子,在重新分配后的第一秒,存储设备重新分配给业务IO请求的IO资源为9MB,并重新分配给迁移IO请求的IO资源为1MB,存储设备只占用总IO资源中的9MB来处理当前接收到的业务IO请求,存储设备只占用总IO资源的1MB来处理当前接收到的迁移IO请求;在重新分配的第二秒以后,存储设备重新分配给业务IO请求的IO资源为8MB,并重新分配给迁移IO请求的IO资源为2MB,存储设备只占用总IO资源中的8MB来处理当前接收到的业务IO请求,存储设备只占用总IO资源的2MB来处理当前接收到的迁移IO请求,直至下次重新分配。
本实施方式通过根据预设分配策略,为不同类型的IO请求分配不同数量的IO资源,并仅在分配的IO资源中处理对应类型的IO请求,实现了存储设备为不同类型的IO请求自动按需分配IO资源,避免了不同类型的IO请求同时抢占存储设备的IO资源,保证了每个类型的IO请求的有序、高效处理,进而保证满足每个类型的IO请求的传输要求如业务IO请求的时延和带宽满足要求、迁移IO请求的时效性满足要求。而且,在只有迁移IO请求时只分配部分的IO资源给迁移IO请求,保证了存储设备始终保留IO资源来处理业务IO请求,保证了业务IO请求的及时和优先处理,同时业务IO请求的IO资源保证遵守平缓变化的原则,保证的业务IO的性能平缓变化。
请参阅图5,图5是本申请存储设备的IO资源分配装置一实施方式的结构示意图。该装置500用于存储设备如IP硬盘中,具体包括区分模块510、第一分配模块520和第一处理模块530。
区分模块510用于区分存储设备接收到的每个输入/输出IO请求的类型,并将所述接收到的每个IO请求的类型发送给所述第一分配模块520。
存储设备通过接口接收到服务器下发的IO请求。为了实现不同类型IO请求的有序化处理,区分模块510可先将存储设备接收到的IO请求缓存在缓存模块540。具体如,区分模块510以队列方式缓存IO请求,其中,该队列方式可以为不同类型的IO请求分别缓存在不同的队列中或者所有IO请求缓存在同一队列中。
区分模块510区分缓存模块540中的每个IO请求的类型,如为业务IO类型或者迁移IO类型。具体,区分模块510可以根据接收到IO请求的接口来区分IO请求的类型,或者,区分模块510也可根据IO请求上的标识来区分所述IO请求的类型。
第一分配模块520用于根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源,并将分配结果发送给所述第一处理模块530。
第一分配模块520先预先设置分配策略,例如,由服务器向第一分配模块520下发分配策略,该分配策略一般包括至少部分类型的IO请求的IO资源最大分配阈值和IO资源的分配单位。该IO资源的分配单位可以为流量单位、消息个数或者令牌个数。
第一分配模块520根据预设分配策略,为接收到的不同类型的IO请求各自分配好IO资源,例如,存储设备的总IO资源为10MB,根据预设分配策略:迁移IO请求的IO资源阈值为2MB,则为业务IO类型分配8MB的IO资源,为迁移IO类型分配2MB的IO资源。
第一处理模块530按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
例如,存储设备根据预设分配策略确定:为业务IO类型分配8MB的IO资源,为迁移IO类型分配2MB的IO资源。存储设备只占用总IO资源中的8MB来处理缓存模块540中的业务IO类型的IO请求,存储设备只占用总IO资源的2MB来处理缓存模块540中的迁移IO类型的IO请求。
本实施方式通过根据预设分配策略,为不同类型的IO请求分配不同数量的IO资源,并仅在分配的IO资源中处理对应类型的IO请求,实现了存储设备为不同类型的IO请求自动按需分配IO资源,避免了不同类型的IO请求同时抢占存储设备的IO资源,保证了每个类型的IO请求的有序、高效处理。
请参阅图6,图6是本申请存储设备的IO资源分配装置另一实施方式的结构示意图。该装置用于存储设备如IP硬盘中,具体包括:区分模块610、第一分配模块620、第一处理模块630、第二分配模块640和第二处理模块650,其中,第一分配模块620包括判断单元621和分配单元622。
区分模块610用于区分存储设备接收到的每个IO请求的类型,并将所述接收到的每个IO请求的类型发送给所述第一分配模块620的分配单元622。
为了实现不同类型IO请求的有序化处理,区分模块610先将接收到的IO请求以队列方式缓存在缓存模块660。区分模块610区分缓存模块660中的每个IO请求的类型,如为业务IO类型或者迁移IO类型。
判断单元621用于判断所述接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,并将判断结果发送给所述分配单元622。
由于受存储设备的处理能力的限制,因此存储设备的总IO资源是有限的。如果服务器下发的所有IO请求对应所需的IO资源是在存储设备的总IO资源量之内,则IO请求之间不会出现资源抢占的情况,故判断单元621此时无需主动为不同类型IO请求分配IO资源。所以,本实施方式中,判断单元621先判断缓存中的IO请求所需的IO资源是否超出存储设备的总IO资源,并将判断结果发送给分配单元622。
分配单元622用于在所述接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源。
在接收到的IO请求所需的IO资源不超出存储设备的总IO资源时,分配单元622无需为不同类型的IO请求分别单独分配IO资源,在接收到的IO请求所需的IO资源超出存储设备的总IO资源时,分配单元622主动为不同类型的IO请求分配相互独立的IO资源,以保证不同类型的IO资源不会发生资源抢占情况。例如,分配单元622根据预设分配策略以及接收到的不同类型的IO请求的数量情况,分别为不同类型的所述IO请求分配IO资源。
本实施方式中,存储设备为IP硬盘,存储设备可以接收的IO请求的类型包括有业务IO类型和迁移IO类型,预设分配策略包括迁移IO资源阈值。分配单元622可具体用于:
获取所述接收到的不同类型IO请求的数量情况;
如果所述接收到的IO请求的类型只包括所述迁移IO类型,则从存储设备的总IO资源中,为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源;
如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;
如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则从存储设备的总IO资源中为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源,并将所述存储设备剩余的IO资源分配给所述业务IO类型的IO请求。
在另一实施方式中,分配单元622也可具体用于:
获取所述接收到的不同类型IO请求的数量情况;
如果所述接收到的IO请求的类型只包括所述迁移IO类型,则存储设备按照所述迁移IO资源与业务IO资源的比例,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配IO资源;
如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;
如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则根据迁移IO和业务IO的资源比例,将所述存储设备的总IO资源分配给迁移IO请求和业务IO请求。
第一处理模块630用于按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
第二分配模块640用于在预设时间后,重新判断存储设备当前接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,并在当前接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源,并将所述重新分配结果发送给所述第二处理模块650,其中,重新分配给所述业务IO类型的IO资源满足平滑变化的原则。
本实施方式采用定时监控接收到的IO请求数量的方式,在为接收到的不同类型的IO请求分配好IO资源后,存储设备同样将接收到IO请求缓存在缓存模块660中,第二分配模块640根据预设时间后当前接收到的IO请求的新情况,重新判断当前接收的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源。在当前接收的所有IO请求所需的IO资源不超出所述存储设备的总IO资源时,第二分配模块640无需为不同类型的IO请求分别单独分配IO资源。在当前接收的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,第二分配模块640根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源。
在重新分配不同类型的IO请求的时候,为了保证业务IO性能的平缓变换,分配给业务IO请求的IO资源也不允许出现剧变,故必须遵循平滑变化的原则,即第二分配模块640类似于第一分配模块620根据预设分配策略以及接收到的不同类型的IO请求的数量情况重新确定分配给不同类型的IO资源,如果重新确认分配给业务IO请求的IO资源发生变化,则由上一次分配给业务IO请求的IO资源到重新分配给业务IO请求的IO资源之间的变化过程必须是平滑变化的。例如,第一分配模块620根据当前接收到的只包括业务IO请求,故将存储设备的10MBIO资源全部分配分配给业务IO请求,在预设时间后,第二分配模块640根据当前接收到的包括业务IO请求和迁移IO请求,新确认要分配给业务IO请求的IO资源是8MB,则第二分配模块640先重新分配时以每秒递减1MB的速率从10MB降低到8MB,即第一秒重新分配给业务IO请求的IO资源为9MB,第二秒以后重新分配给业务IO请求的IO资源为8MB,以避免业务IO请求的IO资源出现突变,而影响到业务IO的性能。
第二处理模块650用于按照所述重新为不同类型的所述IO请求分配的IO资源,处理所述当前接收到的对应类型的IO请求。
例如,在重新分配后的第一秒,第二分配模块640重新分配给业务IO请求的IO资源为9MB,并重新分配给迁移IO请求的IO资源为1MB,故第二处理模块650只占用总IO资源中的9MB来处理当前接收到的业务IO请求,存储设备只占用总IO资源的1MB来处理当前接收到的迁移IO请求;在重新分配的第二秒以后,第二分配模块640重新分配给业务IO请求的IO资源为8MB,并重新分配给迁移IO请求的IO资源为2MB,故第二处理模块650只占用总IO资源中的8MB来处理当前接收到的业务IO请求,存储设备只占用总IO资源的2MB来处理当前接收到的迁移IO请求,直至下次重新分配。
本实施方式通过根据预设分配策略,为不同类型的IO请求分配不同数量的IO资源,并仅在分配的IO资源中处理对应类型的IO请求,实现了存储设备为不同类型的IO请求自动按需分配IO资源,避免了不同类型的IO请求同时抢占存储设备的IO资源,保证了每个类型的IO请求的有序、高效处理,进而保证满足每个类型的IO请求的传输要求如业务IO请求的时延和带宽满足要求、迁移IO请求的时效性满足要求。而且,在只有迁移IO请求时只分配部分的IO资源给迁移IO请求,保证了存储设备始终保留IO资源来处理业务IO请求,保证了业务IO请求的及时和优先处理,同时业务IO请求的IO资源保证遵守平缓变化的原则,保证的业务IO的性能平缓变化。
参阅图7,图7是本申请控制器一实施方式的结构示意图。本实施方式的控制器包括接收器710、处理器720、存储器730以及总线740。
接收器710用于接收服务器下发的IO请求。
处理器720用于区分存储设备接收到的每个IO请求的类型;根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源;按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
为了实现不同类型IO请求的有序化处理,处理器720可先将存储设备接收到的IO请求进行缓存。具体如处理器720以队列方式缓存IO请求,其中,该队列方式可以为不同类型的IO请求分别缓存在不同的队列中或者所有IO请求缓存在同一队列中。
处理器720区分缓存中的每个IO请求的类型,如为业务IO类型或者迁移IO类型。具体,处理器720可以根据接收到IO请求的接口来区分IO请求的类型,或者,处理器720也可根据IO请求上的标识来区分所述IO请求的类型。
处理器720先预先设置分配策略,例如,由服务器向处理器720下发分配策略,该分配策略一般包括至少部分类型的IO请求的IO资源最大分配阈值和IO资源的分配单位。该IO资源的分配单位可以为流量单位、消息个数或者令牌个数。处理器720再根据预设分配策略,为接收到的不同类型的IO请求各自分配好IO资源,并按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
存储器730可以包括只读存储器和随机存取存储器,并向处理器720提供指令和数据。存储器730的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器730存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器720通过调用存储器730存储的操作指令(该操作指令可存储在操作系统中),来执行上述操作。
处理器720还可以称为CPU(Central Processing Unit,中央处理单元)。存储器730可以包括只读存储器和随机存取存储器,并向处理器720提供指令和数据。存储器730的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,控制器的各个组件通过总线730耦合在一起,其中总线730除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线730。
上述本发明实施例揭示的方法可以应用于处理器720中,或者由处理器720实现。处理器720可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器720可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器730,处理器720读取存储器730中的信息,结合其硬件完成上述方法的步骤。
可选地,针对根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源,处理器720具体用于判断所述接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源;在所述接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源。
优选地,针对根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源,处理器720具体用于获取所述接收到的不同类型IO请求的数量情况;如果所述接收到的IO请求的类型只包括所述迁移IO类型,则从存储设备的总IO资源中,为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源;如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则从存储设备的总IO资源中为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源,并将所述存储设备剩余的IO资源分配给所述业务IO类型的IO请求。
或者,针对根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源,处理器720具体用于:获取所述接收到的不同类型IO请求的数量情况;如果所述接收到的IO请求的类型只包括所述迁移IO类型,则存储设备按照所述迁移IO资源与业务IO资源的比例,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配IO资源;如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则根据迁移IO和业务IO的资源比例,将所述存储设备的总IO资源分配给迁移IO请求和业务IO请求。
可选地,处理器720还用于在预设时间后,重新判断存储设备当前接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,并在当前接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源,其中,重新分配给所述业务IO类型的IO资源满足平滑变化的原则;按照所述重新为不同类型的所述IO请求分配的IO资源,处理所述当前接收到的对应类型的IO请求。
本申请还提供存储设备的实施方式,该存储设备具有处理能力,例如为IP硬盘,具体,该存储设备包括上述实施方式中的存储设备的IO资源分配装置或控制器,具体请参阅上面说明,在此不作赘述。
上述存储设备可以用于图1所示的集群网络中,当然,图1仅是示意性表示了集群网络的连接关系,该集群网络可以包括两个以上的上述存储设备,该存储设备与服务器进行连接,以接收服务器下发的IO请求,如业务IO请求和迁移IO请求,并根据接收到的业务IO请求与服务器进行业务数据的传输。存储设备之间也进行连接,以根据服务器下发的迁移IO请求,在存储设备之间进行数据迁移。
需要说明的是,本说明书仅是示意性的采用业务IO请求和迁移IO请求进行举例,在其他实施方式中,还可包括其他类型的IO请求,例如控制IO请求等。
上述方案中,通过根据预设分配策略,为不同类型的IO请求分配不同数量的IO资源,并仅在分配的IO资源中处理对应类型的IO请求,实现了存储设备为不同类型的IO请求自动按需分配IO资源,避免了不同类型的IO请求同时抢占存储设备的IO资源,保证了每个类型的IO请求的有序、高效处理。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (14)
1.一种存储设备的IO资源分配方法,其特征在于,包括:
存储设备区分接收到的每个输入/输出IO请求的类型;
根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源;
按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
2.根据权利要求1所述的方法,其特征在于,所述根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源,包括:
判断所述接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源;
如果是,则根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源。
3.根据权利要求2所述的方法,其特征在于,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源阈值;
所述根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源,包括:
获取所述接收到的不同类型IO请求的数量情况;
如果所述接收到的IO请求的类型只包括所述迁移IO类型,则从存储设备的总IO资源中,为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源;
如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;
如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则从存储设备的总IO资源中为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源,并将所述存储设备剩余的IO资源分配给所述业务IO类型的IO请求。
4.根据权利要求2所述的方法,其特征在于,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源与业务IO资源的比例;
所述根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源,包括:
获取所述接收到的不同类型IO请求的数量情况;
如果所述接收到的IO请求的类型只包括所述迁移IO类型,则按照所述迁移IO资源与业务IO资源的比例,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配IO资源;
如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;
如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则根据迁移IO和业务IO的资源比例,将所述存储设备的总IO资源分配给迁移IO请求和业务IO请求。
5.根据权利要求1所述的方法,其特征在于,还包括:
在预设时间后,重新判断当前接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源;
如果是,则根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源,其中,重新分配给所述业务IO类型的IO资源满足平滑变化的原则;
按照所述重新为不同类型的所述IO请求分配的IO资源,处理所述当前接收到的对应类型的IO请求。
6.根据权利要求1所述的方法,其特征在于,所述接收到的IO请求以队列方式缓存在所述存储设备中。
7.一种存储设备的IO资源分配装置,其特征在于,包括区分模块、第一分配模块和第一处理模块;
所述区分模块用于区分所述存储设备接收到的每个输入/输出IO请求的类型,并将所述接收到的每个IO请求的类型发送给所述第一分配模块;
所述第一分配模块用于根据预设分配策略,分别为所述接收到的不同类型的IO请求分配IO资源,并将分配结果发送给所述第一处理模块;
所述第一处理模块按照所述不同类型的IO请求分配的IO资源,处理所述接收到的对应类型的IO请求。
8.根据权利要求7所述的装置,其特征在于,所述第一分配模块包括判断单元和分配单元;
所述判断单元用于判断所述接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,并将判断结果发送给所述分配单元;
所述分配单元用于在所述接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,分别为所述接收到的不同类型的IO请求分配IO资源。
9.根据权利要求8所述的装置,其特征在于,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源阈值;
所述分配单元具体用于:
获取所述接收到的不同类型IO请求的数量情况;
在所述接收到的IO请求的类型只包括所述迁移IO类型时,从存储设备的总IO资源中,为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源;
在所述接收到的IO请求的类型值包括所述业务IO类型时,将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;
在所述接收到的IO请求的类型包括业务IO类型和迁移IO类型时,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配不大于所述迁移IO资源阈值的IO资源,并将所述存储设备剩余的IO资源分配给所述业务IO类型的IO请求。
10.根据权利要求8所述的装置,其特征在于,所述IO请求的类型包括业务IO类型和迁移IO类型,所述预设分配策略包括迁移IO资源与业务IO资源的比例;
所述分配单元具体用于:
获取所述接收到的不同类型IO请求的数量情况;
如果所述接收到的IO请求的类型只包括所述迁移IO类型,则按照所述迁移IO资源与业务IO资源的比例,从存储设备的总IO资源中为所述迁移IO类型的IO请求分配IO资源;
如果所述接收到的IO请求的类型值包括所述业务IO类型,则将所述存储设备的总IO资源全分配给所述业务IO类型的IO请求;
如果所述接收到的IO请求的类型包括业务IO类型和迁移IO类型,则根据迁移IO和业务IO的资源比例,将所述存储设备的总IO资源分配给迁移IO请求和业务IO请求。
11.根据权利要求7所述的装置,其特征在于,还包括第二分配模块和第二处理模块;
所述第二分配模块用于在预设时间后,重新判断所述存储设备当前接收到的所有IO请求所需的IO资源是否超出所述存储设备的总IO资源,并在当前接收到的所有IO请求所需的IO资源超出所述存储设备的总IO资源时,根据预设分配策略以及所述接收到的不同类型IO请求的数量情况,重新为所述当前接收到的不同类型的IO请求分配IO资源,并将所述重新分配结果发送给所述第二处理模块,其中,重新分配给所述业务IO类型的IO资源满足平滑变化的原则;
所述第二处理模块用于按照所述重新为不同类型的所述IO请求分配的IO资源,处理所述当前接收到的对应类型的IO请求。
12.根据权利要求7所述的装置,其特征在于,所述接收到的IO请求以队列方式缓存在所述存储设备的IO资源分配装置中。
13.一种存储设备,其特征在于,所述存储设备包括权利要求7至12任一项所述的存储设备的IO资源分配装置。
14.根据权利要求13所述的存储设备,其特征在于,所述存储设备为IP硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665649.5A CN104391656A (zh) | 2014-11-19 | 2014-11-19 | 一种存储设备的io资源分配方法、装置及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665649.5A CN104391656A (zh) | 2014-11-19 | 2014-11-19 | 一种存储设备的io资源分配方法、装置及存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104391656A true CN104391656A (zh) | 2015-03-04 |
Family
ID=52609567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410665649.5A Pending CN104391656A (zh) | 2014-11-19 | 2014-11-19 | 一种存储设备的io资源分配方法、装置及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391656A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247627A (zh) * | 2017-06-22 | 2017-10-13 | 上海优刻得信息科技有限公司 | 存储设备io分配方法、存储设备io分配装置及服务器系统 |
CN107678927A (zh) * | 2017-10-31 | 2018-02-09 | 郑州云海信息技术有限公司 | 分配硬盘io方法、装置、设备及计算机可读存储介质 |
CN108153685A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种处理请求的方法、装置及设备、可读介质 |
WO2018171357A1 (zh) * | 2017-03-22 | 2018-09-27 | 华为技术有限公司 | 一种资源管理的方法和装置 |
CN109710416A (zh) * | 2019-01-11 | 2019-05-03 | 银清科技(北京)有限公司 | 资源调度方法及装置 |
CN110099012A (zh) * | 2019-05-08 | 2019-08-06 | 深信服科技股份有限公司 | 一种流量控制方法、系统及电子设备和存储介质 |
US10417005B2 (en) | 2015-03-17 | 2019-09-17 | Huawei Technologies Co., Ltd. | Multi-multidimensional computer architecture for big data applications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299181A (zh) * | 2008-07-08 | 2008-11-05 | 杭州华三通信技术有限公司 | 基于磁盘进行i/o请求缓存的方法和装置以及san存储设备 |
CN102301355A (zh) * | 2008-12-31 | 2011-12-28 | 英特尔公司 | 在硬件存储控制器中提供差异化i/o服务 |
US20130198478A1 (en) * | 2012-01-30 | 2013-08-01 | Infinidat Ltd. | Resources allocation in a computer storage system |
CN103927136A (zh) * | 2014-04-21 | 2014-07-16 | 华为技术有限公司 | 输入输出io类型的识别方法和装置 |
CN104111805A (zh) * | 2014-07-15 | 2014-10-22 | 华为技术有限公司 | 一种i/o请求处理方法及存储系统 |
-
2014
- 2014-11-19 CN CN201410665649.5A patent/CN104391656A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299181A (zh) * | 2008-07-08 | 2008-11-05 | 杭州华三通信技术有限公司 | 基于磁盘进行i/o请求缓存的方法和装置以及san存储设备 |
CN102301355A (zh) * | 2008-12-31 | 2011-12-28 | 英特尔公司 | 在硬件存储控制器中提供差异化i/o服务 |
US20130198478A1 (en) * | 2012-01-30 | 2013-08-01 | Infinidat Ltd. | Resources allocation in a computer storage system |
CN103927136A (zh) * | 2014-04-21 | 2014-07-16 | 华为技术有限公司 | 输入输出io类型的识别方法和装置 |
CN104111805A (zh) * | 2014-07-15 | 2014-10-22 | 华为技术有限公司 | 一种i/o请求处理方法及存储系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417005B2 (en) | 2015-03-17 | 2019-09-17 | Huawei Technologies Co., Ltd. | Multi-multidimensional computer architecture for big data applications |
CN108153685A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种处理请求的方法、装置及设备、可读介质 |
WO2018171357A1 (zh) * | 2017-03-22 | 2018-09-27 | 华为技术有限公司 | 一种资源管理的方法和装置 |
CN108628775A (zh) * | 2017-03-22 | 2018-10-09 | 华为技术有限公司 | 一种资源管理的方法和装置 |
CN107247627A (zh) * | 2017-06-22 | 2017-10-13 | 上海优刻得信息科技有限公司 | 存储设备io分配方法、存储设备io分配装置及服务器系统 |
CN107678927A (zh) * | 2017-10-31 | 2018-02-09 | 郑州云海信息技术有限公司 | 分配硬盘io方法、装置、设备及计算机可读存储介质 |
CN109710416A (zh) * | 2019-01-11 | 2019-05-03 | 银清科技(北京)有限公司 | 资源调度方法及装置 |
CN110099012A (zh) * | 2019-05-08 | 2019-08-06 | 深信服科技股份有限公司 | 一种流量控制方法、系统及电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391656A (zh) | 一种存储设备的io资源分配方法、装置及存储设备 | |
CN105808328A (zh) | 任务调度的方法、装置和系统 | |
US8898674B2 (en) | Memory databus utilization management system and computer program product | |
CN105528330A (zh) | 负载均衡的方法、装置、丛集和众核处理器 | |
CN107301093B (zh) | 一种管理资源的方法和装置 | |
EP3253027A1 (en) | Resource allocation method and apparatus for virtual machines | |
US11489735B2 (en) | Dynamic network allocation apparatus, dynamic network allocation method and non-transitory computer-readable medium | |
CN103609077A (zh) | 用于数据传输的方法、装置和系统以及物理网卡 | |
CN109788325B (zh) | 视频任务分配方法及服务器 | |
CN102937912B (zh) | 虚拟机调度方法和设备 | |
US20130086352A1 (en) | Dynamically configurable storage device | |
CN103984602A (zh) | 一种vm资源调度方法、装置及系统 | |
CN109284192B (zh) | 参数配置方法及电子设备 | |
KR101761462B1 (ko) | 네트워크 패킷의 병렬 처리 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN104320855A (zh) | 资源调度方法及装置 | |
CN105095112A (zh) | 控制缓存刷盘方法、装置及非易失性计算机可读存储介质 | |
CN110231981B (zh) | 服务调用方法及装置 | |
KR101832997B1 (ko) | Usb 데이터 전달들을 관리하기 위한 시스템들 및 방법들 | |
CN112597080B (zh) | 读请求控制装置及方法以及存储器控制器 | |
CN103765399A (zh) | 在多核系统中分配中断的方法和设备 | |
CN111245794B (zh) | 数据传输方法和装置 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
CN104536800A (zh) | 一种虚拟机放置方法及装置 | |
CN104123261A (zh) | 一种电子设备及信息传送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150304 |
|
RJ01 | Rejection of invention patent application after publication |