一种数据均衡方法、装置和计算机可读存储介质与流程

文档序号:16929218发布日期:2019-02-22 20:07阅读:122来源:国知局
一种数据均衡方法、装置和计算机可读存储介质与流程

本发明涉及存储系统技术领域,特别是涉及一种数据均衡方法、装置和计算机可读存储介质。



背景技术:

在存储行业中,随着数据平均读写量的增大,硬盘的压力变的越来越大。硬盘包括固态硬盘(solidstatedrives,ssd)和机械硬盘(harddiskdrive,hdd),其中ssd的数据读取速率比hdd的数据读取速率快。传统方式中,为了提升数据的读取性能,采用分层的方式存储数据,把访问热度比较高的数据存储在ssd,相应的把访问热度相对较低的数据存储在hdd。

随着ssd上热点数据的增加,ssd上每秒进行读写操作的次数(input/outputoperationspersecond,iops)往往会达到ssd的极限,导致ssd的存储性能下降,严重时会影响ssd数据的正常存储。

可见,如何合理的控制固态硬盘的iops,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种数据均衡方法、装置和计算机可读存储介质,可以合理的控制固态硬盘的iops。

为解决上述技术问题,本发明实施例提供一种数据均衡方法,包括:

统计各固态硬盘在周期时间内的读写次数;

检测各所述固态硬盘的读写次数是否满足预设条件;

将满足预设条件的固态硬盘中的数据迁移至机械硬盘。

可选的,所述统计各固态硬盘在周期时间内的读写次数包括:

每隔预设时间统计一次各固态硬盘的读写次数,并将各固态硬盘在周期时间内统计的读写次数进行汇总;其中,所述预设时间小于所述周期时间。

可选的,所述检测各所述固态硬盘的读写次数是否满足预设条件包括:

统计所述目标固态硬盘在周期时间内所有读写次数中取值大于或等于目标上限值的总数;其中,所述目标固态硬盘为所有所述固态磁盘中的任意一个固态磁盘;

判断所述总数是否大于或等于预设阈值;

若是,则执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

可选的,所述检测各所述固态硬盘的读写次数是否满足预设条件包括:

从所述目标固态硬盘在周期时间内统计的所有读写次数中选取出取值最大的读写次数作为读写上限值;其中,所述目标固态硬盘为所有所述固态磁盘中的任意一个固态磁盘;

判断所述读写上限值是否大于或等于目标上限值;

若是,则执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

可选的,所述将满足预设条件的固态硬盘中的数据迁移至机械硬盘包括:

将满足预设条件的固态硬盘作为待迁移硬盘;

依据所述待迁移硬盘在周期时间内统计的读写次数及其对应的目标上限值,确定出所述待迁移硬盘的数据迁移量;

根据所述数据迁移量,将所述待迁移硬盘中的目标数据迁移至机械硬盘。

本发明实施例还提供了一种数据均衡装置,包括统计单元、检测单元和迁移单元;

所述统计单元,用于统计各固态硬盘在周期时间内的读写次数;

所述检测单元,用于检测各所述固态硬盘的读写次数是否满足预设条件;

所述迁移单元,用于将满足预设条件的固态硬盘中的数据迁移至机械硬盘。

可选的,所述统计单元具体用于每隔预设时间统计一次各固态硬盘的读写次数,并将各固态硬盘在周期时间内统计的读写次数进行汇总;其中,所述预设时间小于所述周期时间。

可选的,所述检测单元包括统计子单元和判断子单元;

所述统计子单元,用于统计所述目标固态硬盘在周期时间内所有读写次数中取值大于或等于目标上限值的总数;其中,所述目标固态硬盘为所有所述固态磁盘中的任意一个固态磁盘;

所述判断子单元,用于判断所述总数是否大于或等于预设阈值;若是,则触发所述迁移单元执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

可选的,所述检测单元包括选取子单元和判断子单元;

所述选取子单元,用于从所述目标固态硬盘在周期时间内统计的所有读写次数中选取出取值最大的读写次数作为读写上限值;其中,所述目标固态硬盘为所有所述固态磁盘中的任意一个固态磁盘;

所述判断子单元,用于判断所述读写上限值是否大于或等于目标上限值;若是,则触发所述迁移单元执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

可选的,所述迁移单元包括作为子单元、确定子单元和执行子单元;

所述作为子单元,用于将满足预设条件的固态硬盘作为待迁移硬盘;

所述确定子单元,用于依据所述待迁移硬盘在周期时间内统计的读写次数及其对应的目标上限值,确定出所述待迁移硬盘的数据迁移量;

所述执行子单元,用于根据所述数据迁移量,将所述待迁移硬盘中的目标数据迁移至机械硬盘。

本发明实施例还提供了一种数据均衡装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如上述数据均衡方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据均衡方法的步骤。

由上述技术方案可以看出,统计各固态硬盘在周期时间内的读写次数;检测各所述固态硬盘的读写次数是否满足预设条件;将满足预设条件的固态硬盘中的数据迁移至机械硬盘。读写次数反映了固态硬盘的性能,每个固态硬盘都有其对应的性能极限,在该技术方案中通过对固态硬盘的读写次数进行检测,来判断固态硬盘是否达到其性能极限。预设条件包含了对固态硬盘性能评价的依据,当某个固态硬盘的读写次数满足预设条件时,则说明该固态硬盘的读写次数已经达到或接近固态硬盘的性能极限,此时可以将该固态硬盘中的数据迁移至机械硬盘,以降低该固态硬盘的读写次数,实现对固态硬盘读写次数的合理控制,从而使得固态硬盘可以达到较好的性能状态。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据均衡方法的流程图;

图2为本发明实施例提供的一种数据均衡装置的结构示意图;

图3为本发明实施例提供的一种数据均衡装置的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种数据均衡方法。图1为本发明实施例提供的一种数据均衡方法的流程图,该方法包括:

s101:统计各固态硬盘在周期时间内的读写次数。

在一个存储系统中往往包含有多个固态硬盘,每个固态硬盘的处理方式类似,在本发明实施例中以一个固态硬盘为例,对该固态硬盘读写次数的控制方式展开介绍。

周期时间的具体取值可以依据实际需求进行设定,在此不做限定。

以一个固态硬盘为例,在具体实现中,可以统计固态硬盘在该周期时间内执行读写操作的总次数作为固态硬盘在周期时间内的读写次数,即一个周期时间对应一个读写次数。

除此之外,为了更加细致的了解固态硬盘在周期时间内执行读写操作的情况,可以将周期时间进行更加细致的划分,每隔预设时间统计一次各固态硬盘的读写次数,并将各固态硬盘在周期时间内统计的读写次数进行汇总;其中,预设时间小于周期时间。

举例说明,在实际应用中可以将周期时间设置为1小时,将预设时间设置为5分钟,每隔5分钟统计一次固态硬盘的读写次数,在一个周期时间内可以统计到12次固态硬盘的读写次数。

其中,预设时间的具体取值可以依据周期时间进行设定,例如,可以将周期时间为预设时间的整数倍为依据,来设定预设时间的取值。

s102:检测各固态硬盘的读写次数是否满足预设条件。

预设条件可以是对固态硬盘读写性能进行评判的依据。

在预设条件中可以包括各固态硬盘读写次数所对应的上限值,当固态硬盘的实际读写次数达到其对应的上限值时,即该固态硬盘的读写次数满足预设条件,则说明该固态硬盘的读写次数已经达到或接近固态硬盘的性能极限,为了合理的控制固态硬盘的读写次数,此时则需要执行s103的操作。

s103:将满足预设条件的固态硬盘中的数据迁移至机械硬盘。

通过将固态硬盘中的数据迁移至机械硬盘,可以降低存储系统对该固态硬盘的读写次数,从而将固态硬盘的读写次数控制在合理的范围内。

在实际应用中执行数据的迁移时,可以将固态硬盘中的所有数据迁移至机械硬盘,也可以将固态硬盘的部分数据迁移至机械硬盘。

针对于迁移部分数据的情况,可以预先设定好数据迁移的数量,即对于满足预设条件的固态硬盘,可以将该固态硬盘中预设量的数据迁移至机械硬盘。

除了预先设定数据迁移的数量外,也可以通过计算的方式确定出固态硬盘的数据迁移量。具体的,可以将满足预设条件的固态硬盘作为待迁移硬盘;为了对固态硬盘的读写性能进行评判,对于每个固态硬盘都会设置其对应的一个上限值,可以将目标固态硬盘的上限值称作目标上限值。然后,依据待迁移硬盘在周期时间内统计的读写次数及其对应的目标上限值,确定出待迁移硬盘的数据迁移量;根据数据迁移量,将待迁移硬盘中的目标数据迁移至机械硬盘。

以一个目标固态硬盘为例,可以从周期时间内统计的所有读写次数中选取出取值最大的读写次数作为读写上限值,将该读写上限值和目标上限值进行比较,读写上限值和目标上限值的差值越大,则需要迁移的数据越多。在实际应用中,可以预先设定好差值范围和迁移量的对应关系,根据固态硬盘读写上限值和目标上限值的差值所在的差值范围,确定出数据迁移量。确定出数据迁移量后,可以依据固态硬盘中各数据的热度值,将热度值相对较低,并且数据量达到该数据迁移量的数据作为目标数据。

考虑到存储系统中机械硬盘的个数往往有多个,在执行数据的迁移时,可以根据各机械硬盘的负载情况,选取出合理的机械硬盘,例如,可以向负载量最小的机械硬盘迁移数据。

当然在实际应用中,可以根据待迁移数据的数据量以及机械硬盘的负载情况,确定出需要向哪个或哪些机械硬盘上迁移数据。

结合上述介绍中,可以每隔预设时间统计一次固态硬盘的读写次数,相应的,在周期时间内统计的固态硬盘的读写次数可以有多个数值。对于这多个数值是否满足预设条件的评判方式可以有多种。

一种方式可以是判断在周期时间内是否存在多个取值大于或等于目标上限值的读写次数。以所有固态磁盘中的任意一个固态磁盘即目标固态硬盘为例,具体的,可以统计目标固态硬盘在周期时间内所有读写次数中取值大于或等于目标上限值的总数;判断总数是否大于或等于预设阈值。

当总数大于或等于预设阈值时,则说明固态硬盘的读写次数已经达到或接近该固态硬盘的性能极限,此时可以执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

另一种方式可以是将周期时间内的多个读写次数的最大值作为评判依据。以所有固态磁盘中的任意一个固态磁盘即目标固态硬盘为例,具体的,可以从目标固态硬盘在周期时间内统计的所有读写次数中选取出取值最大的读写次数作为读写上限值。

当依据固态硬盘的读写次数确定出读写上限值后,可以判断读写上限值是否大于或等于目标上限值。

当读写上限值大于或等于目标上限值时,则说明固态硬盘的读写次数已经达到或接近该固态硬盘的性能极限,此时可以执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

由上述技术方案可以看出,统计各固态硬盘在周期时间内的读写次数;检测各所述固态硬盘的读写次数是否满足预设条件;将满足预设条件的固态硬盘中的数据迁移至机械硬盘。读写次数反映了固态硬盘的性能,每个固态硬盘都有其对应的性能极限,在该技术方案中通过对固态硬盘的读写次数进行检测,来判断固态硬盘是否达到其性能极限。预设条件包含了对固态硬盘性能评价的依据,当某个固态硬盘的读写次数满足预设条件时,则说明该固态硬盘的读写次数已经达到或接近固态硬盘的性能极限,此时可以将该固态硬盘中的数据迁移至机械硬盘,以降低该固态硬盘的读写次数,实现对固态硬盘读写次数的合理控制,从而使得固态硬盘可以达到较好的性能状态。

图2为本发明实施例提供的一种数据均衡装置的结构示意图,包括统计单元21、检测单元22和迁移单元23;

统计单元21,用于统计各固态硬盘在周期时间内的读写次数;

检测单元22,用于检测各固态硬盘的读写次数是否满足预设条件;

迁移单元23,用于将满足预设条件的固态硬盘中的数据迁移至机械硬盘。

可选的,统计单元具体用于每隔预设时间统计一次各固态硬盘的读写次数,并将各固态硬盘在周期时间内统计的读写次数进行汇总;其中,预设时间小于周期时间。

可选的,检测单元包括统计子单元和判断子单元;

统计子单元,用于统计目标固态硬盘在周期时间内所有读写次数中取值大于或等于目标上限值的总数;其中,目标固态硬盘为所有固态磁盘中的任意一个固态磁盘;

判断子单元,用于判断总数是否大于或等于预设阈值;若是,则触发迁移单元执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

可选的,检测单元包括选取子单元和判断子单元;

选取子单元,用于从目标固态硬盘在周期时间内统计的所有读写次数中选取出取值最大的读写次数作为读写上限值;其中,目标固态硬盘为所有固态磁盘中的任意一个固态磁盘;

判断子单元,用于判断读写上限值是否大于或等于目标上限值;若是,则触发迁移单元执行将目标固态硬盘中的数据迁移至机械硬盘的操作。

可选的,迁移单元包括作为子单元、确定子单元和执行子单元;

作为子单元,用于将满足预设条件的固态硬盘作为待迁移硬盘;

确定子单元,用于依据待迁移硬盘在周期时间内统计的读写次数及其对应的目标上限值,确定出待迁移硬盘的数据迁移量;

执行子单元,用于根据数据迁移量,将待迁移硬盘中的目标数据迁移至机械硬盘。

图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,统计各固态硬盘在周期时间内的读写次数;检测各所述固态硬盘的读写次数是否满足预设条件;将满足预设条件的固态硬盘中的数据迁移至机械硬盘。读写次数反映了固态硬盘的性能,每个固态硬盘都有其对应的性能极限,在该技术方案中通过对固态硬盘的读写次数进行检测,来判断固态硬盘是否达到其性能极限。预设条件包含了对固态硬盘性能评价的依据,当某个固态硬盘的读写次数满足预设条件时,则说明该固态硬盘的读写次数已经达到或接近固态硬盘的性能极限,此时可以将该固态硬盘中的数据迁移至机械硬盘,以降低该固态硬盘的读写次数,实现对固态硬盘读写次数的合理控制,从而使得固态硬盘可以达到较好的性能状态。

图3为本发明实施例提供的一种数据均衡装置30的硬件结构示意图,包括:

存储器31,用于存储计算机程序;

处理器32,用于执行计算机程序以实现如上述数据均衡方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述数据均衡方法的步骤。

以上对本发明实施例所提供的一种数据均衡方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

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