分配硬盘IO方法、装置、设备及计算机可读存储介质转让专利

申请号 : CN201711044277.4

文献号 : CN107678927B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王志浩

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明公开了一种分配整机硬盘IO业务方法,包括:实时获取硬盘背板各个区域的状态参数,状态参数至少包括震动强度参数和温度参数两种状态参数中的一种;则根据预定对应关系,调整状态参数大于对应的预设状态参数阈值的区域的IO业务分配策略;其中,预定对应关系为预先确定的各个区域的状态参数与各个区域对各种不同IO业务的处理速度之间的对应关系。本发明中通过监控硬盘各个区域的状态参数,确定环境因素的变化给IO业务的处理带来什么样的影响,从而更加准确的调整各个区域的IO业务。本发明还公开一种分配整机硬盘IO业务装置、设备及计算机可读存储介质,具有上述有益效果。

权利要求 :

1.一种分配整机硬盘IO业务方法,其特征在于,包括:

实时获取硬盘背板各个区域的状态参数,其中,所述状态参数至少包括震动强度参数和温度参数两种状态参数中的一种;

判断当前时刻各个区域中是否存在状态参数大于对应的预设状态参数阈值的区域;

如果是,则根据预定对应关系,调整状态参数大于对应的预设状态参数阈值的所述区域的IO业务数量和类型;

其中,所述预定对应关系为预先确定的各个区域的状态参数与各个区域对各种不同IO业务的处理速度之间的对应关系;

在实时获取硬盘背板各个区域的状态参数之后,还包括:

实时获取硬盘背板各个区域的处理IO业务所需的时长;

判断当前时刻各个区域中是否存在所述时长大于对应的预设时长阈值的区域,如果是,则调整所述时长大于对应的预设时长阈值的所述区域的IO业务的数量和类型;

在判断当前时刻各个区域中是否存在所述时长大于预设时长阈值的区域之后,还包括:判断在第一预设时间周期内各个区域中是否存在所述时长大于预设时长阈值的区域;

如果是,则判断所述时长大于对应的预设时长阈值的所述区域的状态参数是否未超过对应的预设状态参数阈值,如果是,则调整所述区域的预设状态参数阈值。

2.根据权利要求1所述的方法,其特征在于,在实时获取硬盘背板各个区域的处理IO业务所需的时长之后,还包括:根据当前时刻获取的在第二预设时间周期内,各个所述区域在不同的状态参数下,处理各种不同IO业务的处理时长,分析获得各个所述区域在不同的状态参数时各种IO业务的处理速度,并根据各个所述区域各种IO业务的处理速度对所述预定对应关系进行更新。

3.根据权利要求2所述的方法,其特征在于,在根据各个所述区域各种IO业务的处理速度对所述预定对应关系进行更新之后,还包括:对所述预定对应关系以及所述状态参数进行存储,以便将所述预定对应关系以及所述状态参数进行导出。

4.根据权利要求3所述的方法,其特征在于,在对更新的所述预定对应关系以及状态参数进行存储之后,还包括:接收预定分配策略以及所述预定对应关系,并根据所述预定分配策略对各个所述区域进行IO业务的分配。

5.一种分配整机硬盘IO业务装置,其特征在于,包括:

获取模块,用于实时获取硬盘背板各个区域的状态参数,其中,所述状态参数至少包括震动强度参数和温度参数两种状态参数中的一种;

判断模块,用于判断当前时刻各个区域中是否存在状态参数大于对应的预设状态参数阈值的区域;

调整模块,用于如果当前时刻各个区域中存在状态参数大于对应的预设状态阈值的区域,则根据预定对应关系,调整状态参数大于对应的预设状态阈值的所述区域的IO业务分配策略;

其中,所述预定对应关系为预先确定的各个区域的状态参数与各个区域对各种不同IO业务的处理能力之间的对应关系;

所述获取模块还用于在实时获取硬盘背板各个区域的状态参数之后,实时获取硬盘背板各个区域的处理IO业务所需的时长;

所述判断模块还用于判断当前时刻各个区域中是否存在所述时长大于对应的预设时长阈值的区域;

所述调整模块还用于调整所述时长大于对应的预设时长阈值的所述区域的IO业务的分配策略;

所述获取模块还用于在判断当前时刻各个区域中是否存在所述时长大于预设时长阈值的区域之后,判断在第一预设时间周期内各个区域中是否存在所述时长大于预设时长阈值的区域;如果是,则判断所述时长大于对应的预设时长阈值的所述区域的状态参数是否未超过对应的预设状态参数阈值,如果是,则调整所述区域的预设状态参数阈值。

6.一种分配整机硬盘IO业务设备,其特征在于,包括:

存储器,用于存储分配整机硬盘IO业务程序;

处理器,用于执行所述分配整机硬盘IO业务程序时实现如权利要求1-4任一项所述分配整机硬盘IO业务方法的步骤。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分配整机硬盘IO业务程序,所述分配整机硬盘IO业务程序被处理器执行时实现如权利要求1-4任一项所述分配整机硬盘IO业务方法的步骤。

说明书 :

分配硬盘IO方法、装置、设备及计算机可读存储介质

技术领域

[0001] 本发明涉及存储技术领域,特别是涉及一种分配整机硬盘IO业务方法、装置、设备及计算机可读存储介质。

背景技术

[0002] 高密存储具有高密度的特点,其存储数据的可靠性是必须要满足重要条件之一。高密度的存储要求在单位体积内塞下更多的硬盘,大量的硬盘对整机散热是一个巨大的挑战,需要靠大功率风扇对硬盘区域进行散热,而风扇在运行过程中的震动对硬盘读写带来的干扰是高密存储整机不可避免的问题。当整机架入整机柜后,机柜整体的风扇震动也会对硬盘读写带来很大的干扰。此外由于整机风道分布的不均匀和机体深度不同,不同区域硬盘的温度也不一样,同样会给硬盘读写造成不同的影响。因此硬盘的震动强度和温度都会对高密存储的IO业务带来影响,从而降低高密存储整机处理IO业务的工作效率的问题。
[0003] 目前,已有的解决方案是反复调整硬盘各个区域的震动强度和温度,避免震动强度和温度给高密存储的IO业务带来的影响,或者监测硬盘各个区域处理IO业务的时长,一旦时长超过预设值,就对该区域分配的IO进行调整。但是由于实际运行环境较为复杂,这并不能解决高密存储处理IO业务的工作效率低的问题。

发明内容

[0004] 本发明的目的是提供一种分配整机硬盘IO业务方法,解决了高密存储处理IO业务的工作效率低的问题,提高了高密存储处理IO业务的工作性能。
[0005] 本发明的另一目的是提供一种分配整机硬盘IO业务装置、设备及计算机可读存储介质。
[0006] 为解决上述技术问题,本发明提供一种分配整机硬盘IO业务方法,包括:
[0007] 实时获取硬盘背板各个区域的状态参数,其中,所述状态参数至少包括震动强度参数和温度参数两种状态参数中的一种;判断当前时刻各个区域中是否存在状态参数大于对应的预设状态参数阈值的区域;如果是,则根据预定对应关系,调整状态参数大于对应的预设状态参数阈值的所述区域的IO业务分配策略;其中,所述预定对应关系为预先确定的各个区域的状态参数与各个区域对各种不同IO业务的处理速度之间的对应关系。
[0008] 其中,在实时获取硬盘背板各个区域的状态参数之后,还包括:
[0009] 实时获取硬盘背板各个区域的处理IO业务所需的时长;
[0010] 判断当前时刻各个区域中是否存在所述时长大于对应的预设时长阈值的区域,如果是,则调整所述时长大于对应的预设时长阈值的所述区域的IO业务的数量和类型。
[0011] 其中,在判断当前时刻各个区域中是否存在所述时长大于预设时长阈值的区域之后,还包括:
[0012] 判断在第一预设时间周期内各个区域中是否存在所述时长大于预设时长阈值的区域;
[0013] 如果是,则判断所述时长大于对应的预设时长阈值的所述区域的状态参数是否未超过对应的预设状态参数阈值,如果是,则调整所述区域的预设状态参数阈值。
[0014] 其中,在实时获取硬盘背板各个区域的处理IO业务所需的时长之后,还包括:
[0015] 根据当前时刻获取的在第二预设时间周期内,各个所述区域在不同的状态参数下,处理各种不同IO业务的处理时长,分析获得各个所述区域在不同的状态参数时各种IO业务的处理速度,并根据各个所述区域各种IO业务的处理速度对所述预设对应关系进行更新。
[0016] 其中,在根据各个所述区域各种IO业务的处理速度对所述预设对应关系进行更新之后,还包括:
[0017] 对所述预设对应关系以及所述状态参数进行存储,以便将所述预设对应关系以及所述状态参数进行导出。
[0018] 其中,在对更新的所述预设对应关系以及状态参数进行存储之后,还包括:
[0019] 接收预定分配策略以及所述预定对应关系,并根据所述预定分配策略对各个所述区域进行IO业务的分配。
[0020] 本发明还提供一种分配整机硬盘IO业务装置,包括:
[0021] 获取模块,用于实时获取硬盘背板各个区域的状态参数,其中,所述状态参数至少包括震动强度参数和温度参数两种状态参数中的一种;
[0022] 判断模块,用于判断当前时刻各个区域中是否存在状态参数大于对应的预设状态参数阈值的区域;
[0023] 调整模块,用于如果当前时刻各个区域中存在状态参数大于对应的预设状态阈值的区域,则根据预定对应关系,调整状态参数大于对应的预设状态阈值的所述区域的IO业务分配策略;其中,所述预定对应关系为预先确定的各个区域的状态参数与各个区域对各种不同IO业务的处理能力之间的对应关系。
[0024] 其中,所述获取模块还用于在实时获取硬盘背板各个区域的状态参数之后,实时获取硬盘背板各个区域的处理IO业务所需的时长;
[0025] 所述判断模块还用于判断当前时刻各个区域中是否存在所述时长大于对应的预设时长阈值的区域;
[0026] 所述调整模块还用于调整所述时长大于对应的预设时长阈值的所述区域的IO业务的分配策略。
[0027] 本发明还提供一种分配整机硬盘IO业务设备,包括:
[0028] 存储器,用于存储分配整机硬盘IO业务程序;
[0029] 处理器,用于执行所述分配整机硬盘IO业务程序时实现如上述任一项所述分配整机硬盘IO业务方法的步骤。
[0030] 本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有分配整机硬盘IO业务程序,所述分配整机硬盘IO业务程序被处理器执行时实现如上述任一项所述分配整机硬盘IO业务方法的步骤。
[0031] 本发明所提供的分配整机硬盘IO业务方法,因为温度和震动强度是硬盘的运行环境中不可控的因素,而这两个因素是影响整个高密存储硬盘处理IO业务的性能的主要因素。本发明中的方法是不再对不可控的因素进行调整,而对这两种因素进行检测,根据各个区域温度和震动强度合理分配硬盘各个区域的IO业务,从而避免了温度和震动强度对处理IO业务的影响。而现有技术中仅仅是在硬盘的某个区域处理IO时长过长时才对分配至该区域的IO业务进行调整,由于对硬盘的实际运行环境并不能很好的掌握,所以对IO业务分配的调整不并一定合适,最终不能解决硬盘处理IO业务效率低的问题。本发明中通过监控硬盘各个区域的状态参数,确定环境因素的变化给IO业务的处理带来什么样的影响,从而更加准确的调整各个区域的IO业务。
[0032] 综上所述,本发明的分配IO业务的方法,能够有效避免高密存储处理IO业务的工作效率低的问题,提高了高密存储处理IO业务的工作性能,从而提高高密存储的可靠性。
[0033] 本发明还提供一种分配整机硬盘IO业务装置、设备及计算机可读存储介质,具有上述有益效果。

附图说明

[0034] 为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1为本发明提供的具体实施例的分配整机硬盘IO业务方法的流程图;
[0036] 图2为本发明实施例提供的分配整机硬盘IO业务装置的结构框图;
[0037] 图3为本发明实施例提供的分配整机硬盘IO业务设备的结构示意图。

具体实施方式

[0038] 为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039] 图1为本发明提供的具体实施例的分配整机硬盘IO业务方法的流程图,如图1所示,该方法可以包括:
[0040] 步骤S101:实时获取硬盘背板各个区域的状态参数。
[0041] 具体的,该状态参数主要是指震动强度参数和温度参数,也还可以包括其他会影响硬盘处理IO业务的参数。因为温度和震动强度是影响高密存储性能最主要的因素之一,因此,本发明中比较有选的方案是状态参数同时包括温度参数和震动强度参数这两种参数。
[0042] 步骤S102:判断各个区域中是否存在状态参数大于对应的预设状态参数阈值的区域,如果是,则进入步骤S103,如果否,则进入步骤S101。
[0043] 需要说明的是,对于硬盘的各个区域而言,各种不同的状态对处理IO业务的影响是各不相同的,例如,对于某一区域A而言,当温度升高至T1时,会造成区域A处理大数据块的IO业务的速度降低,而对于另一区域B而言,当温度升高至T2时,会造成区域A处理大数据块的IO业务的速度降低,且温度T1大于温度T2,那么,对于区域A和区域B而言,两个区域需要设定的预定温度阈值就并不相同,且对于IO业务是包括大数据块连续读写、大数据块随机读写、小数据块连续读写、小数据块随机读写等等各种不同的业务类型,因此对于各种不同类型的IO业务,阈值也可能存在不同。同理,对于震动对硬盘各个区域的影响也是类似的原理在此不再赘述。
[0044] 另外,如果状态参数同时包括震动强度参数和温度参数,就需要对两种参数都进行判断,只要某一区域的两种状态参数中有一种参数超过阈值,就需要对该区域的IO业务分配进行调整。
[0045] 简而言之,本发明中的硬盘上各个区域的状态参数的预设状态阈值是不相同的,对于每个区域而言,对于各种不同的IO业务的预设状态阈值也是不同的。
[0046] 步骤S103:根据预定对应关系,调整状态参数大于对应的预设状态参数阈值的所述区域的IO业务数量和类型。
[0047] 需要说明的是,所述预定对应关系为预先确定的各个区域的状态参数与各个区域对各种不同IO业务的处理速度之间的对应关系。这是通过设备在处理IO业务时,实时获取状态参数,以及状态参数下各个区域处理各种不同的IO业务的速度等数据,并对这些数据不断学习和分析而获得的。
[0048] 当某一区域状态参数达到预设状态参数阈值时,就可以根据该预定对应关系进行调整分配到该区域IO业务的数量和类型。例如,当检测到某一区域的震动强度参数超过预设震动强度参数阈值,该区域对大数据块连续读写能力就下降的很低,而大数据块随机读写和小数据块连续读写以及小数据块随机读写并不受影响,就减小发送到该区域的大数据块连续读写的IO业务请求,转而增加发送到该区域的大数据块随机读写、小数据块连续或者随机读写等类型IO业务请求。相应的。如果同时还考虑温度因素对该区域读写数据的影响,就参考在当前温度和震动强度环境下,实时调整IO分配策略。
[0049] 综上所述,本发明中,对IO业务的分配是充分考虑到各种环境因素对硬盘处理IO能力的影响,并且充分了解到可能造成IO处理能力下降的原因,从而做出合适的调整,能够更有效的避免温度和震动强度对硬盘的读写数据造成影响。
[0050] 对于现有技术中,仅在某一区域处理IO业务的时长超过阈值时,就减少分配至该区域的IO业务的请求。而并不能了解到是什么原因造成该区域处理IO业务时长过长,除了能够减小与该区域当前正在处理的IO业务相同类型的IO请求,不能够确定该区域对其他类型的IO处理能力的高低,也就无法对其他类型的IO业务的发送进行调整,因此不能完全避免温度和震动对硬盘的读写的影响。所以,本发明中的方法,能够更好的保证高密存储的性能,提高IO业务处理的工作效率。
[0051] 基于上述实施例,考虑到可能还存在某些无法测量到的因素或者是预设状态参数阈值设定的不合适,而对硬盘处理IO业务的能力产生影响。为了避免这种影响造成整个硬盘的性能降低,本发明的另一具体实施例中,可以进一步改进,具体可以包括:
[0052] 在实时获取硬盘背板各个区域的状态参数之后,实时获取硬盘背板各个区域的处理IO业务所需的时长;
[0053] 判断当前时刻各个区域中是否存在所述时长大于对应的预设时长阈值的区域,如果是,则调整所述时长大于对应的预设时长阈值的所述区域的IO业务的数量和类型。
[0054] 需要说明的是,在实际应用过程中,对于状态参数和处理IO业务的时长的获取并不存在必然的先后关系。为了能够根据硬盘运行环境及状态及时调整对IO业务的分配,对状态参数和时长都是实时获取的,对这两种状态参数和时长分别与各自的阈值的对比判断也是实时进行的。
[0055] 基于上述实施例,考虑到在高密存储过程中,可能存在预设状态参数设定的不合适,导致在进行了状态参数检测并调整IO业务的分配的情况下,仍然出现某些区域出现处理IO业务时长超过预设时长阈值的情况。为此,本发明的另一具体实施例中,还可以进一步改进,具体包括:
[0056] 判断在第一预设时间周期内各个区域中是否存在所述时长大于预设时长阈值的区域;
[0057] 如果是,则判断时长大于对应的预设时长阈值的区域的状态参数是否未超过对应的预设状态参数阈值,如果是,则调整所述区域的预设状态参数阈值。
[0058] 需要说明的是,本实施例中时长大于对应的预设时长阈值的区域的状态参数是指,在处理IO业务的时长大于预设时长阈值时,该区域的状态参数值。
[0059] 基于上述任意实施例,考虑到对于预设的对应关系时根据以往的经验学习获得的,但随着运行环境的变化,预设对应关系可能会逐渐变得不适用,因此就需要对该预设对应关系进行调整。
[0060] 在本发明的另一具体是实施例中,可以进一步包括:
[0061] 根据当前时刻获取的在第一预设时间周期内,硬盘的各个区域在不同的状态参数下,处理各种不同IO业务的处理时长;
[0062] 分析获得各个所述区域在不同的状态参数时各种IO业务的处理速度;
[0063] 根据各个所述区域各种IO业务的处理速度对所述预设对应关系进行更新。
[0064] 本实施例中相当于是周期性对预设对应关系进行更新。以保证对应关系的准确性。当多个周期时间内该对应关系均未发生改变,那么可以认为该硬盘的运行状况趋于稳定,那么用户就可以针对整个的硬盘的运行状况自行设定硬盘IO业务的分配策略。在此之前,用户就需要获得整个硬盘的运行状况信息
[0065] 为此,在本发明的另一具体实施例中,可以包括:
[0066] 对预设对应关系以及状态参数进行存储,以便将所述预设对应关系以及状态参数进行导出。用户可以根据预设对应关系以及状态参数掌握该硬盘的运行状况,并对根据该硬盘的运行状况设计该硬盘IO业务的分配策略,再将该分配策略导入设备中,因此本实施例还可以进一步改进为:接收预定分配策略以及所述预定对应关系,并根据所述预定分配策略对各个所述区域进行IO业务的分配。另外,对于运行状况相似的硬盘,可以采用同一套分配策略。
[0067] 下面对本发明实施例提供的分配整机硬盘IO业务装置进行介绍,下文描述的分配整机硬盘IO业务装置与上文描述的分配整机硬盘IO业务方法可相互对应参照。
[0068] 图2为本发明实施例提供的分配整机硬盘IO业务装置的结构框图,参照图2分配整机硬盘IO业务装置可以包括:
[0069] 获取模块21,用于实时获取硬盘背板各个区域的状态参数,其中,所述状态参数至少包括震动强度参数和温度参数两种状态参数中的一种;
[0070] 判断模块22,用于判断当前时刻各个区域中是否存在状态参数大于对应的预设状态参数阈值的区域;
[0071] 调整模块23,用于如果当前时刻各个区域中存在状态参数大于对应的预设状态阈值的区域,则根据预定对应关系,调整状态参数大于对应的预设状态阈值的所述区域的IO业务分配策略;
[0072] 其中,所述预定对应关系为预先确定的各个区域的状态参数与各个区域对各种不同IO业务的处理能力之间的对应关系。
[0073] 基于上述实施例,作为本发明的另一具体实施例,还可以进一步包括:
[0074] 所述获取模块21还用于在实时获取硬盘背板各个区域的状态参数之后,实时获取硬盘背板各个区域的处理IO业务所需的时长;
[0075] 所述判断模块22还用于判断当前时刻各个区域中是否存在所述时长大于对应的预设时长阈值的区域;
[0076] 所述调整模块23还用于调整所述时长大于对应的预设时长阈值的所述区域的IO业务的分配策略。
[0077] 本实施例的分配整机硬盘IO业务装置用于实现前述的分配整机硬盘IO业务方法,因此分配整机硬盘IO业务装置中的具体实施方式可见前文中的分配整机硬盘IO业务方法的实施例部分,例如,获取模块21,判断模块22,调整模块23,分别用于实现上述分配整机硬盘IO业务方法中步骤S101,S102和S103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
[0078] 图3为本发明实施例提供的分配整机硬盘IO业务设备的结构示意图,该设备可以包括:
[0079] 存储器31,用于存储分配整机硬盘IO业务程序;
[0080] 处理器32,用于执行所述分配整机硬盘IO业务程序时实现如上述任一项所述分配整机硬盘IO业务方法的步骤。
[0081] 本发明还提供一种计算机可读存储介质的具体实施例,所述计算机可读存储介质上存储有分配整机硬盘IO业务程序,所述分配整机硬盘IO业务程序被处理器执行时实现如上述任一项所述分配整机硬盘IO业务方法的步骤。
[0082] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0083] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0084] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0085] 以上对本发明所提供的分配整机硬盘IO业务方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。