CN105493024B - 一种数据阈值预测方法与相关装置 - Google Patents
一种数据阈值预测方法与相关装置 Download PDFInfo
- Publication number
- CN105493024B CN105493024B CN201480038613.2A CN201480038613A CN105493024B CN 105493024 B CN105493024 B CN 105493024B CN 201480038613 A CN201480038613 A CN 201480038613A CN 105493024 B CN105493024 B CN 105493024B
- Authority
- CN
- China
- Prior art keywords
- threshold
- data block
- period
- current period
- accessed
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种数据阈值预测方法,包括计算当前周期的第一实际阈值,并计算所述当前周期的上一周期的第二实际阈值;根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值。本发明实施例提供的方法实现了SSD阈值的动态优化,提高了存储设备整体的访问性能,并延长了SSD的使用寿命。本发明实施例还提供了相关的数据阈值预测装置。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种数据阈值预测方法与相关装置。
背景技术
在存储设备中,为了提高IO性能,需要部署缓存性能层来缓存最近或最多访问的数据。由于缓存性能层中,缓存介质的访问速度远高于硬盘驱动器(HDD,Hard Disk Drive)的介质,所以部署缓存性能层可以加快存储设备整体的访问性能。
随着固态硬盘(SSD,Solid State Drive)技术的成熟与成本的下降,越来越多的存储设备选择SSD作为缓存介质。具体的,存储设备会统计被访问的数据块在预置时间周期内的被访问次数,且存储设备中设定有固定的预置阈值,若该数据块在该预置时间周期内的被访问次数大于该预置阈值,则确定该数据块为热点数据,并将该数据块从HDD移入SSD中。其中,由于SSD存在着写次数的限制,因此预置阈值的合理设定具有很重要的意义:若预置阈值被设定的太低,会导致移入SSD中的数据量过多,影响SSD的使用寿命;若预置阈值被设定的太高,则会导致访问量较高的数据块被认为不是热点数据不能被移入SSD中,影响存储设备整体的访问性能。
但是在实际应用中,业务对数据的IO访问模式是动态的,进而业务对SSD的访问情况也是波动的。而在不同的访问模式情况下,最为优化的预置阈值的数值也是不同的,因此SSD的固定阈值难以被合理设定,影响了存储设备的整体访问性能。
发明内容
本发明实施例提供了一种数据阈值预测方法,可以提高存储设备的整体访问性能。
本发明实施例第一方面提供了一种数据阈值预测方法,包括:
计算当前周期的上一周期的第一实际阈值,所述第一实际阈值用于表示所述当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数;
计算所述当前周期的第二实际阈值,所述第二实际阈值用于表示所述当前周期内被确认为热点数据的数据块的最小被访问次数;
根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值,所述预测阈值用于表示所述当前周期的下一周期内,被移入固态硬盘SSD的数据块的最小被访问次数。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值包括:
若所述第二实际阈值大于所述第一实际阈值,则将所述第二实际阈值确定为所述预测阈值;
和/或,若所述第二实际阈值不大于所述第一实际阈值,则将所述第二实际阈值与所述第一实际阈值的平均值确定为所述预测阈值。
结合本发明实施例的第一方面与第一方面的第一种实现方式,本发明实施例的第一方面的第二种实现方式中,所述计算当前周期的第二实际阈值包括:
统计所述当前周期内每个数据块的被访问次数;
确定所述当前周期内所述SSD的可用缓存块的第一数目;
将所述当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第二实际阈值;
所述计算所述当前周期的上一周期的第一实际阈值包括:
统计所述当前周期的上一周期内每个数据块的被访问次数;
确定所述当前周期的上一周期内所述SSD的可用缓存块的第二数目;
将所述当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第一实际阈值。
结合本发明实施例的第一方面的第二种实现方式,本发明实施例的第一方面的第三种实现方式中,所述统计所述当前周期内每个数据块的被访问次数包括:
确定所述当前周期内每个数据块的大小;
根据所述当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期内每个数据块被访问一次时的递增值;
将所述当前周期内每个数据块对应的所有递增值进行累加,得到所述当前周期内每个数据块的被访问次数;
所述统计所述当前周期的上一周期内,每个数据块的被访问次数包括:
确定所述当前周期的上一周期内每个数据块的大小;
根据所述当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期的上一周期内每个数据块被访问一次时的递增值;
将所述当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到所述当前周期的上一周期内每个数据块的被访问次数。
本发明实施例的第一方面的第二种实现方式或第三种实现方式,本发明实施例的第一方面的第四种实现方式中,所述第一数目与所述第二数目的取值范围为所述SSD的总缓存块数的5%~10%。
本发明实施例的第二方面提供了一种数据阈值预测装置,包括:
阈值统计模块,用于计算当前周期的上一周期的第一实际阈值,所述第一实际阈值用于表示所述当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数;
所述阈值统计模块,还用于计算所述当前周期的第二实际阈值,所述第二实际阈值用于表示所述当前周期内被确认为热点数据的数据块的最小被访问次数;
阈值预测模块,用于根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值,所述预测阈值用于表示所述当前周期的下一周期内,被移入固态硬盘SSD的数据块的最小被访问次数。
结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述阈值预测模块具体用于:
若所述第二实际阈值大于所述第一实际阈值,则将所述第二实际阈值确定为所述预测阈值;
和/或,若所述第二实际阈值不大于所述第一实际阈值,则将所述第二实际阈值与所述第一实际阈值的平均值确定为所述预测阈值。
结合本发明实施例的第二方面和第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述阈值统计模块包括:
访问次数统计单元,用于统计所述当前周期内每个数据块的被访问次数;
可用缓存确定单元,用于确定所述当前周期内所述SSD的可用缓存块的第一数目;
实际阈值确定单元,用于将所述当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第二实际阈值;
所述访问次数统计单元,还用于统计所述当前周期的上一周期内每个数据块的被访问次数;
所述可用缓存确定单元,还用于确定所述当前周期的上一周期内所述SSD的可用缓存块的第二数目;
所述实际阈值确定单元,还用于将所述当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第一实际阈值。
结合本发明实施例的第二方面的第二种实现方式,本发明实施例的第二方面的第三种实现方式中,所述访问次数统计单元包括:
数据块确定子单元,用于确定所述当前周期内每个数据块的大小;
递增值确定子单元,用于根据所述当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期内每个数据块被访问一次时的递增值;
次数统计子单元,用于将所述当前周期内每个数据块对应的所有递增值进行累加,得到所述当前周期内每个数据块的被访问次数;
所述数据块确定子单元,还用于确定所述当前周期的上一周期内每个数据块的大小;
所述递增值确定子单元,还用于根据所述当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期的上一周期内每个数据块被访问一次时的递增值;
所述次数统计子单元,还用于将所述当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到所述当前周期的上一周期内每个数据块的被访问次数。
结合本发明实施例的第二方面的第二种或第三种实现方式,本发明实施例的第二方面的第四种实现方式中,所述第一数目与所述第二数目的取值范围为所述SSD的总缓存块数的5%~10%。
本发明实施例的第三方面提供了一种数据阈值预测装置,包括输入装置、输出装置、处理器和存储器,其特征在于,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
计算当前周期的上一周期的第一实际阈值,所述第一实际阈值用于表示所述当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数;
计算所述当前周期的第二实际阈值,所述第二实际阈值用于表示所述当前周期内被确认为热点数据的数据块的最小被访问次数;
根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值,所述预测阈值用于表示所述当前周期的下一周期内,被移入固态硬盘SSD的数据块的最小被访问次数。
结合本发明实施例的第三方面,本发明实施例的第三方面的第一种实现方式中,所述处理器还用于执行:
若所述第二实际阈值大于所述第一实际阈值,则将所述第二实际阈值确定为所述预测阈值;
和/或,若所述第二实际阈值不大于所述第一实际阈值,则将所述第二实际阈值与所述第一实际阈值的平均值确定为所述预测阈值。
结合本发明实施例的第三方面或第三方面的第一种实现方式,本发明实施例的第三方面的第二种实现方式中,所述处理器还用于执行:
统计所述当前周期内每个数据块的被访问次数;
确定所述当前周期内所述SSD的可用缓存块的第一数目;
将所述当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第二实际阈值;
统计所述当前周期的上一周期内每个数据块的被访问次数;
确定所述当前周期的上一周期内所述SSD的可用缓存块的第二数目;
将所述当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第一实际阈值。
结合本发明实施例的第三方面的第二种实现方式,本发明实施例的第三方面的第三种实现方式中,所述处理器还用于执行:
确定所述当前周期内每个数据块的大小;
根据所述当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期内每个数据块被访问一次时的递增值;
将所述当前周期内每个数据块对应的所有递增值进行累加,得到所述当前周期内每个数据块的被访问次数;
确定所述当前周期的上一周期内每个数据块的大小;
根据所述当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期的上一周期内每个数据块被访问一次时的递增值;
将所述当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到所述当前周期的上一周期内每个数据块的被访问次数。
结合本发明实施例的第三方面的第二种或第三种实现方式,本发明实施例的第三方面的第四种实现方式中,所述第一数目与所述第二数目的取值范围为所述SSD的总缓存块数的5%~10%。
本发明实施例提供了一种数据阈值预测方法,包括:计算当前周期的第一实际阈值,并计算所述当前周期的上一周期的第二实际阈值;根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值。本发明实施例提供的方法使得存储设备可以根据当前周期与上一周期的实际阈值,来预测下一周期SSD的预测阈值,在下一周期内,被访问次数高于该预测阈值的数据块被移入SSD。这样SSD的阈值不再是固定不变的预置阈值,而是随着业务情况而动态变化,使得SSD的阈值能够更加贴近实际需求,提高了存储设备的整体访问性能。
附图说明
图1为本发明实施例中数据阈值预测方法一个实施例流程图;
图2为本发明实施例中数据阈值预测方法另一个实施例流程图;
图3为本发明实施例中数据阈值预测方法另一个实施例流程图;
图4为本发明实施例中数据阈值预测装置一个实施例流程图;
图5为本发明实施例中数据阈值预测装置另一个实施例流程图;
图6为本发明实施例中数据阈值预测装置另一个实施例流程图;
图7为本发明实施例中数据阈值预测装置另一个实施例流程图。
具体实施方式
本发明实施例提供了一种数据阈值预测方法,可以提高存储设备整体的访问性能,并延长SSD的使用寿命。本发明还提出了相关的数据阈值预测装置,以下将分别进行说明。
本发明实施例提供的数据阈值预测方法的基本流程请参阅图1,包括:
101、计算当前周期的上一周期的第一实际阈值;
存储设备中设置有预置的周期,在一个周期内,被访问次数达到阈值的数据块会被认为是热点数据,可以被移入SSD中。
本实施例中,数据阈值预测装置计算当前周期的上一周期的第一实际阈值,该第一实际阈值用于表示当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数。即,在当前周期的上一周期内,被访问次数不小于该第一实际阈值的数据块被认为是热点数据块。
数据阈值预测装置计算第一实际阈值的方法有很多,将在后面的实施例中详述,此处不做限定。
102、计算当前周期的第二实际阈值;
数据阈值预测装置计算当前周期的第二实际阈值,该第二实际阈值用于表示当前周期内被确认为热点数据的数据块的最小被访问次数。即,在当前周期内,被访问次数不小于该第二实际阈值的数据块被认为是热点数据块。
数据阈值预测装置计算第二实际阈值的方法有很多,将在后面的实施例中详述,此处不做限定。
103、根据第一实际阈值与第二实际阈值,确定当前周期的下一周期的预测阈值;
数据阈值预测装置根据第一实际阈值与第二实际阈值,确定当前周期的下一周期的预测阈值,该预测阈值用于表示当前周期的下一周期内,被移入SSD的数据块的最小被访问次数。确定了该预测阈值之后,存储设备可以在当前周期的下一周期内,将不小于该访问次数的数据块确认为热点数据并移入SSD中。
本实施例提供了一种数据阈值预测方法,包括:计算当前周期的第一实际阈值,并计算所述当前周期的上一周期的第二实际阈值;根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值。本实施例提供的方法使得存储设备可以根据当前周期与上一周期的实际阈值,来预测下一周期SSD的预测阈值,使得在下一周期内,被访问次数高于该预测阈值的数据块被移入SSD。这样就使得SSD的阈值不再是固定不变的预置阈值,而是随着业务情况而动态变化,使得SSD的阈值能够更加贴近实际需求,提高了存储设备的整体访问性能。
其中,从步骤101至103中可以看出,若在进行数据读写时不停的通过图1所示的方法来进行SSD的数据阈值预测,则对于每个周期而言,该周期的实际阈值会被使用两次(分别用于预测该周期的下一周期的预测阈值,与该周期的下下周期的预测阈值)。因此优选的,数据阈值预测装置计算得到某个周期的实际阈值后,可以暂时在内存中保存该实际阈值,直至该实际阈值被使用两次。
图1所示的实施例给出了本发明实施例提供的数据阈值预测方法的基本流程,使得存储设备可以根据当前周期与上一周期的实际阈值,来预测下一周期SSD的预测阈值。其中,存储设备根据当前周期与上一周期的实际阈值预测下一周期SSD的预测阈值的方法请参阅图2,包括:
201、计算当前周期的上一周期的第一实际阈值;
202、计算当前周期的第二实际阈值;
步骤201、202与步骤101、102基本相同,此处不做赘述。
其中,若第二实际阈值大于第一实际阈值,则执行步骤203;
若第二实际阈值不大于第一实际阈值,则执行步骤204。
203、将第二实际阈值确定为预测阈值。
若第二实际阈值大于第一实际阈值,则说明当前周期与上一周期相比,SSD的缓存能力呈下降趋势,数据块被移入SSD的条件增高,一个数据块需要被访问更多的次数才能被确认为是热点数据块并被移入到SSD中。由于SSD的缓存能力呈下降趋势,因此预测阈值应设置的较大。本实施例中将第二实际阈值确定为预测阈值,即在下一周期内,将被访问次数不小于第二实际阈值的数据块确定为热点数据块并移入SSD中。
204、将第二实际阈值与第一实际阈值的平均值确定为预测阈值。
若第二实际阈值不大于第一实际阈值,则说明当前周期与上一周期相比,SSD的缓存能力呈上升趋势,数据块被移入SSD的条件不变或降低,一个数据块被访问不变或更少的次数就能被确认为是热点数据块并被移入到SSD中。由于SSD的缓存能力呈上升趋势,因此预测阈值应设置的较小。出于SSD性能的考虑,为了防止阈值快速下降导致下一周期内有过多的数据被移入SSD中进而影响SSD的寿命,因此预测阈值的减小不宜过大。本实施例中将第二实际阈值与第一实际阈值的平均值确定为预测阈值,即在下一周期内,将被访问次数不小于第二实际阈值与第一实际阈值的平均值的数据块确定为热点数据块并移入SSD中。
本实施例提供了一种数据阈值预测方法,包括:计算当前周期的第一实际阈值,并计算所述当前周期的上一周期的第二实际阈值;若第二实际阈值大于第一实际阈值,则将第二实际阈值确定为预测阈值;若第二实际阈值不大于第一实际阈值,则将第二实际阈值与第一实际阈值的平均值确定为预测阈值。本实施例提供的方法使得存储设备可以根据当前周期与上一周期的实际阈值,来判断SSD的缓存能力的趋势,进而预测下一周期SSD的预测阈值,若SSD的缓存能力呈下降趋势,则将第二实际阈值确定为预测阈值;SSD的缓存能力呈上升趋势,则为了防止阈值快速下降导致下一周期内有过多的数据被移入SSD中进而影响SSD的寿命,将第二实际阈值与第一实际阈值的平均值确定为预测阈值。这样就使得SSD的阈值不再是固定不变的预置阈值,而是随着SSD的缓存能力的趋势而动态变化,进而在SSD的缓存能力呈上升趋势时,移入SSD中的数据会增多;SSD的缓存能力呈下降趋势时,移入SSD中的数据量会减少。这样就实现了SSD阈值的动态优化,提高了存储设备整体的访问性能,并延长了SSD的使用寿命。
图2所示的实施例给出了根据当前周期与上一周期的实际阈值,来预测下一周期SSD的预测阈值的具体方法,下面的实施例将给出确定第一与第二实际阈值的具体方法,请参阅图3,本发明提供的又一实施例的流程包括:
301、统计当前周期的上一周期内每个数据块的被访问次数;
数据阈值预测装置统计当前周期的上一周期内,每个数据块的被访问次数。
可以理解的,由于小块数据被随机访问时,HDD的寻道转动时间开销大,因此优选的,为了节省系统的IO时间,应设置小块数据的缓存优先级高于大块数据的缓存优先级,进而节省IO时间,提升系统的整体性能。因此一般地,每个数据块被访问一次,则统计时该数据块被访问的次数就会被记加一。但优选的,当数据块较小时,该数据块被访问一次,统计时该数据块被访问的次数可以被记加二甚至更多,以增大该数据块被确定为热点数据块的可能。具体可以通过如下方法实现:
数据阈值预测装置确定当前周期的上一周期内每个数据块的大小;
数据阈值预测装置根据当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定当前周期的上一周期内每个数据块被访问一次时的递增值;
数据阈值预测装置将当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到当前周期的上一周期内每个数据块的被访问次数。
302、确定当前周期的上一周期内SSD的可用缓存块的第二数目;
一般地,SSD进行数据缓存以缓存块为单位,SSD的可用缓存块数目用于表示SSD中可以被用于数据缓存的缓存块的数目。本实施例中,数据阈值预测装置确定当前周期的上一周期内SSD的可用缓存块的第二数目。
优选的,第二数目的取值范围可以为SSD的总缓存块数的一定的百分比,如5%~10%,此处不做限定。
其中,步骤302也可以位于步骤301之前,此处不做限定。
303、将当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为第一实际阈值。
当前周期的上一周期内SSD中可用的缓存块数目为第二数目,因此本实施例中,数据阈值预测装置将当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值确定为第一实际阈值,当前周期的上一周期内被访问次数不小于该第一实际阈值的数据块被认为是热点数据块。可以理解的,通过这种方法确定的热点数据块数目会较为贴近第二数目。
304、统计当前周期内每个数据块的被访问次数;
数据阈值预测装置统计当前周期内,每个数据块的被访问次数。
优选的,类似步骤301,统计当前周期内每个数据块的被访问次数具体可以通过如下方法实现:
数据阈值预测装置确定当前周期内每个数据块的大小;
数据阈值预测装置根据当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定当前周期内每个数据块被访问一次时的递增值;
数据阈值预测装置将当前周期内每个数据块对应的所有递增值进行累加,得到当前周期内每个数据块的被访问次数。
305、确定当前周期内SSD的可用缓存块的第一数目;
一般地,SSD进行数据缓存以缓存块为单位,SSD的可用缓存块数目用于表示SSD中可以被用于数据缓存的缓存块的数目。本实施例中,数据阈值预测装置确定当前周期内SSD的可用缓存块的第一数目。
优选的,第一数目的取值范围可以为SSD的总缓存块数的一定的百分比,如5%~10%,此处不做限定。
其中,步骤305也可以位于步骤304之前,此处不做限定。
306、将当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为第二实际阈值。
当前周期内SSD中可用的缓存块数目为第一数目,因此本实施例中,数据阈值预测装置将当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值确定为第二实际阈值,当前周期内被访问次数不小于该第二实际阈值的数据块被认为是热点数据块。可以理解的,通过这种方法确定的热点数据块数目会较为贴近第一数目。
其中,若第二实际阈值大于第一实际阈值,则执行步骤307;
若第二实际阈值不大于第一实际阈值,则执行步骤308。
307、将第二实际阈值确定为预测阈值。
308、将第二实际阈值与第一实际阈值的平均值确定为预测阈值。
步骤307、308与步骤203、204基本相同,此处不做赘述。
本实施例提供了一种更为细化的数据阈值预测方法,详细解释了计算当前周期的第一实际阈值和计算所述当前周期的上一周期的第二实际阈值的方法;若第二实际阈值大于第一实际阈值,则将第二实际阈值确定为预测阈值;若第二实际阈值不大于第一实际阈值,则将第二实际阈值与第一实际阈值的平均值确定为预测阈值。本实施例提供的方法使得存储设备可以根据当前周期与上一周期的实际阈值,来判断SSD的缓存能力的趋势,进而预测下一周期SSD的预测阈值,若SSD的缓存能力呈下降趋势,则将第二实际阈值确定为预测阈值;SSD的缓存能力呈上升趋势,则为了防止阈值快速下降导致下一周期内有过多的数据被移入SSD中进而影响SSD的寿命,将第二实际阈值与第一实际阈值的平均值确定为预测阈值。这样就使得SSD的阈值不再是固定不变的预置阈值,而是随着SSD的缓存能力的趋势而动态变化,进而在SSD的缓存能力呈上升趋势时,移入SSD中的数据会增多;SSD的缓存能力呈下降趋势时,移入SSD中的数据量会减少。这样就实现了SSD阈值的动态优化,提高了存储设备整体的访问性能,并延长了SSD的使用寿命。
为了便于理解上述实施例,下面将以上述实施例的一个具体应用场景为例进行描述。
存储设备中设置有预置周期30分钟。数据阈值预测装置统计当前周期的上一周期内,存储设备中每个数据块的被访问次数。其中,若某个数据块大于64KB,则该数据块每被访问一次时的递增值为1;若某个数据块小于等于64KB,则该数据块每被访问一次时的递增值为2。统计结果共有100个数据块,其中被访问了50次的数据块有10个,被访问了30次的数据块有30个,被访问了20次的数据块有20个,访问了0次的数据块有40个。SSD中总缓存块数据能力为400个,假设每个周期内可用缓存块数目为总缓存块数目的8%,即32个。当前周期的上一周期内,被访问次数最高的前32个数据块中,每个数据块的被访问次数的最小值为30,故确定当前周期的上一周期的第一实际阈值为30。
数据阈值预测装置统计当前周期内,存储设备中每个数据块的被访问次数。统计结果仍有100个数据块,其中被访问了50次的数据块有10个,被访问了30次的数据块有15个,被访问了20次的数据块有20个,访问了0次的数据块有55个。SSD中可用缓存块数目为32个。当前周期内,被访问次数最高的前32个数据块中,每个数据块的被访问次数的最小值为20,故确定当前周期的第二实际阈值为20。
由于第二实际阈值不大于第一实际阈值,因此预测阈值为第二实际阈值与第一实际阈值的平均值25,即当前周期的下一周期内,被访问次数不小于25的数据块被确定为热点数据块并移入SSD中。
本发明实施例还提供了一种数据阈值预测装置,其基本结构请参阅图4,包括:
阈值统计模块401,用于计算当前周期的上一周期的第一实际阈值,和当前周期的第二实际阈值。
存储设备中设置有预置的周期,在一个周期内,被访问次数达到阈值的数据块会被认为是热点数据,可以被移入SSD中。
本实施例中,阈值统计模块401计算当前周期的上一周期的第一实际阈值,该第一实际阈值用于表示当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数。即,在当前周期的上一周期内,被访问次数不小于该第一实际阈值的数据块被认为是热点数据块。
阈值统计模块401计算第一实际阈值的方法有很多,将在后面的实施例中详述,此处不做限定。
阈值统计模块401计算当前周期的第二实际阈值,该第二实际阈值用于表示当前周期内被确认为热点数据的数据块的最小被访问次数。即,在当前周期内,被访问次数不小于该第二实际阈值的数据块被认为是热点数据块。
阈值统计模块401计算第二实际阈值的方法有很多,将在后面的实施例中详述,此处不做限定。
阈值预测模块402,用于根据第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值。
阈值预测模块402根据第一实际阈值与第二实际阈值,确定当前周期的下一周期的预测阈值,该预测阈值用于表示当前周期的下一周期内,被移入SSD的数据块的最小被访问次数。确定了该预测阈值之后,存储设备可以在当前周期的下一周期内,将不小于该访问次数的数据块确认为热点数据并移入SSD中。
本实施例提供了一种数据阈值预测装置,包括:阈值统计模块401,用于计算当前周期的上一周期的第一实际阈值,和当前周期的第二实际阈值;阈值预测模块402,用于根据第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值。本实施例提供的装置使得存储设备可以根据当前周期与上一周期的实际阈值,来预测下一周期SSD的预测阈值,使得在下一周期内,被访问次数高于该预测阈值的数据块被移入SSD。这样就使得SSD的阈值不再是固定不变的预置阈值,而是随着业务情况而动态变化,进而在业务访问量较高时,移入SSD中的数据会增多;业务访问量较低时,移入SSD中的数据量会减少。这样就实现了SSD阈值的动态优化,提高了存储设备整体的访问性能,并延长了SSD的使用寿命。
对于每个周期而言,该周期的实际阈值会被使用两次(分别用于预测该周期的下一周期的预测阈值,与该周期的下下周期的预测阈值)。因此优选的,阈值统计模块401计算得到某个周期的实际阈值后,可以暂时在内存中保存该实际阈值,直至该实际阈值被使用两次。
其中,作为本发明的又一个实施例,阈值预测模块402具体用于:
若第二实际阈值大于第一实际阈值,则将第二实际阈值确定为预测阈值。若第二实际阈值大于第一实际阈值,则说明当前周期与上一周期相比,SSD的缓存能力呈下降趋势,数据块被移入SSD的条件增高,一个数据块需要被访问更多的次数才能被确认为是热点数据块并被移入到SSD中。由于SSD的缓存能力呈下降趋势,因此预测阈值应设置的较大。本实施例中将第二实际阈值确定为预测阈值,即在下一周期内,将被访问次数不小于第二实际阈值的数据块确定为热点数据块并移入SSD中。
和/或,若第二实际阈值不大于第一实际阈值,则将第二实际阈值与第一实际阈值的平均值确定为预测阈值。若第二实际阈值不大于第一实际阈值,则说明当前周期与上一周期相比,SSD的缓存能力呈上升趋势,数据块被移入SSD的条件不变或降低,一个数据块被访问不变或更少的次数就能被确认为是热点数据块并被移入到SSD中。由于SSD的缓存能力呈上升趋势,因此预测阈值应设置的较小。出于SSD性能的考虑,为了防止阈值快速下降导致下一周期内有过多的数据被移入SSD中进而影响SSD的寿命,因此预测阈值的减小不宜过大。本实施例中将第二实际阈值与第一实际阈值的平均值确定为预测阈值,即在下一周期内,将被访问次数不小于第二实际阈值与第一实际阈值的平均值的数据块确定为热点数据块并移入SSD中。
图4所示的实施例提供的数据阈值预测装置能够根据当前周期与上一周期的实际阈值,来预测下一周期SSD的预测阈值。下面的实施例将给出能够确定第一与第二实际阈值的数据阈值预测装置的结构,请参阅图5:
阈值统计模块501,用于计算当前周期的上一周期的第一实际阈值,和当前周期的第二实际阈值。本实施例中,阈值统计模块501具体包括:
访问次数统计单元5011,用于统计当前周期内每个数据块的被访问次数;
可以理解的,由于小块数据被随机访问时,HDD的寻道转动时间开销大,因此优选的,为了节省系统的IO时间,应设置小块数据的缓存优先级高于大块数据的缓存优先级,进而节省IO时间,提升系统的整体性能。因此一般地,每个数据块被访问一次,则统计时该数据块被访问的次数就会被记加一。但优选的,当数据块较小时,该数据块被访问一次,统计时该数据块被访问的次数可以被记加二甚至更多,以增大该数据块被确定为热点数据块的可能
可用缓存确定单元5012,用于确定当前周期内SSD的可用缓存块的第一数目;
一般地,SSD进行数据缓存以缓存块为单位,SSD的可用缓存块数目用于表示SSD中可以被用于数据缓存的缓存块的数目。本实施例中,可用缓存确定单元5012确定当前周期内SSD的可用缓存块的第一数目。
优选的,第一数目的取值范围可以为SSD的总缓存块数的一定的百分比,如5%~10%,此处不做限定。
实际阈值确定单元5013,用于将当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为第二实际阈值;
当前周期内SSD中可用的缓存块数目为第一数目,因此本实施例中,实际阈值确定单元5013将当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值确定为第二实际阈值,当前周期内被访问次数不小于该第二实际阈值的数据块被认为是热点数据块。可以理解的,通过这种方法确定的热点数据块数目会较为贴近第一数目。
所述访问次数统计单元5011,还用于统计当前周期的上一周期内每个数据块的被访问次数;
可以理解的,由于小块数据被随机访问时,HDD的寻道转动时间开销大,因此优选的,为了节省系统的IO时间,应设置小块数据的缓存优先级高于大块数据的缓存优先级,进而节省IO时间,提升系统的整体性能。但优选的,当数据块较小时,该数据块被访问一次,统计时该数据块被访问的次数可以被记加二甚至更多,以增大该数据块被确定为热点数据块的可能
所述可用缓存确定单元5012,还用于确定当前周期的上一周期内SSD的可用缓存块的第二数目;
一般地,SSD进行数据缓存以缓存块为单位,SSD的可用缓存块数目用于表示SSD中可以被用于数据缓存的缓存块的数目。本实施例中,数据阈值预测装置确定当前周期的上一周期内SSD的可用缓存块的第二数目。
优选的,第二数目的取值范围可以为SSD的总缓存块数的一定的百分比,如5%~10%,此处不做限定。
所述实际阈值确定单元5013,还用于将当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为第一实际阈值。
当前周期的上一周期内SSD中可用的缓存块数目为第二数目,因此本实施例中,数据阈值预测装置将当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值确定为第一实际阈值,当前周期的上一周期内被访问次数不小于该第一实际阈值的数据块被认为是热点数据块。可以理解的,通过这种方法确定的热点数据块数目会较为贴近第二数目。
阈值预测模块502,用于根据第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值。
其中,若第二实际阈值大于第一实际阈值,则阈值预测模块502将第二实际阈值确定为预测阈值。若第二实际阈值大于第一实际阈值,则说明当前周期与上一周期相比,SSD的缓存能力呈下降趋势,数据块被移入SSD的条件增高,一个数据块需要被访问更多的次数才能被确认为是热点数据块并被移入到SSD中。由于SSD的缓存能力呈下降趋势,因此预测阈值应设置的较大。本实施例中将第二实际阈值确定为预测阈值,即在下一周期内,将被访问次数不小于第二实际阈值的数据块确定为热点数据块并移入SSD中。
和/或,若第二实际阈值不大于第一实际阈值,则阈值预测模块502将第二实际阈值与第一实际阈值的平均值确定为预测阈值。若第二实际阈值不大于第一实际阈值,则说明当前周期与上一周期相比,SSD的缓存能力呈上升趋势,数据块被移入SSD的条件不变或降低,一个数据块被访问不变或更少的次数就能被确认为是热点数据块并被移入到SSD中。由于SSD的缓存能力呈上升趋势,因此预测阈值应设置的较小。出于SSD性能的考虑,为了防止阈值快速下降导致下一周期内有过多的数据被移入SSD中进而影响SSD的寿命,因此预测阈值的减小不宜过大。本实施例中将第二实际阈值与第一实际阈值的平均值确定为预测阈值,即在下一周期内,将被访问次数不小于第二实际阈值与第一实际阈值的平均值的数据块确定为热点数据块并移入SSD中。
本实施例提供了一种更为细化的数据阈值预测装置,详细解释了该装置如何计算当前周期的第一实际阈值和计算所述当前周期的上一周期的第二实际阈值。若第二实际阈值大于第一实际阈值,则阈值预测模块502将第二实际阈值确定为预测阈值;若第二实际阈值不大于第一实际阈值,则阈值预测模块502将第二实际阈值与第一实际阈值的平均值确定为预测阈值。本实施例提供的装置使得存储设备可以根据当前周期与上一周期的实际阈值,来判断SSD的缓存能力的趋势,进而预测下一周期SSD的预测阈值,若SSD的缓存能力呈下降趋势,则将第二实际阈值确定为预测阈值;SSD的缓存能力呈上升趋势,则为了防止阈值快速下降导致下一周期内有过多的数据被移入SSD中进而影响SSD的寿命,将第二实际阈值与第一实际阈值的平均值确定为预测阈值。这样就使得SSD的阈值不再是固定不变的预置阈值,而是随着SSD的缓存能力的趋势而动态变化,进而在SSD的缓存能力呈上升趋势时,移入SSD中的数据会增多;SSD的缓存能力呈下降趋势时,移入SSD中的数据量会减少。这样就实现了SSD阈值的动态优化,提高了存储设备整体的访问性能,并延长了SSD的使用寿命。
图5所示的实施例给出了能够确定第一与第二实际阈值的数据阈值预测装置的结构,下面的实施例将对其中的访问次数统计单元做进一步的细化,请参阅图6,该数据阈值预测装置的结构包括:
阈值统计模块601,用于计算当前周期的上一周期的第一实际阈值,和当前周期的第二实际阈值。本实施例中,阈值统计模块601具体包括:
访问次数统计单元6011,用于统计当前周期内每个数据块的被访问次数,和当前周期的上一周期内每个数据块的被访问次数。
可以理解的,由于小块数据被随机访问时,HDD的寻道转动时间开销大,因此优选的,为了节省系统的IO时间,应设置小块数据的缓存优先级高于大块数据的缓存优先级,进而节省IO时间,提升系统的整体性能。因此一般地,每个数据块被访问一次,则统计时该数据块被访问的次数就会被记加一。但优选的,当数据块较小时,该数据块被访问一次,统计时该数据块被访问的次数可以被记加二甚至更多,以增大该数据块被确定为热点数据块的可能。
本实施例中,访问次数统计单元6011具体包括:
数据块确定子单元60111,用于确定当前周期内每个数据块的大小,和确定当前周期的上一周期内每个数据块的大小;
递增值确定子单元60112,用于根据当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期内每个数据块被访问一次时的递增值,以及当前周期的上一周期内每个数据块被访问一次时的递增值;
次数统计子单元60113,用于将当前周期内每个数据块对应的所有递增值进行累加,得到当前周期内每个数据块的被访问次数,和将当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到当前周期的上一周期内每个数据块的被访问次数。
可用缓存确定单元6012,用于确定当前周期内SSD的可用缓存块的第一数目;
实际阈值确定单元6013,用于将当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为第二实际阈值;
阈值预测模块602,用于根据第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值。
次数统计子单元60113,用于将当前周期内每个数据块对应的所有递增值进行累加,得到当前周期内每个数据块的被访问次数,和将当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到当前周期的上一周期内每个数据块的被访问次数。
可用缓存确定单元6012、实际阈值确定单元6013、阈值预测模块602与图5所示的实施例中的可用缓存确定单元5012、实际阈值确定单元513、阈值预测模块502基本相同,此处不做赘述。
本实施例提供了一种更为细化的数据阈值预测装置,详细解释了该装置中的访问次数统计单元如何统计每个数据块的被访问次数。本实施例提供的装置使得存储设备不仅能够实现SSD阈值的动态优化,提高存储设备整体的访问性能,而且能尽可能地将比较大的数据块移入SSD中,减少了移入SSD中的数据块的数目,避免了因向SSD中读入大量的小数据块而降低SSD的使用寿命。
为了便于理解上述实施例,下面将以上述实施例的一个具体应用场景为例进行描述。
存储设备中设置有预置周期30分钟。访问次数统计单元6011统计当前周期的上一周期内,存储设备中每个数据块的被访问次数。其中,数据块确定子单元60111确定每个数据块的大小,若某个数据块大于64KB,则递增值确定子单元60112确定该数据块每被访问一次时的递增值为1;若某个数据块小于等于64KB,则递增值确定子单元60112确定该数据块每被访问一次时的递增值为2。次数统计子单元60113统计得到共有100个数据块,其中被访问了50次的数据块有10个,被访问了30次的数据块有30个,被访问了20次的数据块有20个,访问了0次的数据块有40个。SSD中总缓存块数据能力为400个,可用缓存确定单元6012确定每个周期内可用缓存块数目为总缓存块数目的8%,即32个。当前周期的上一周期内,被访问次数最高的前32个数据块中,每个数据块的被访问次数的最小值为30,故实际阈值确定单元6013确定当前周期的上一周期的第一实际阈值为30。
访问次数统计单元6011统计当前周期内,存储设备中每个数据块的被访问次数。次数统计子单元60113统计仍有100个数据块,其中被访问了50次的数据块有10个,被访问了30次的数据块有15个,被访问了20次的数据块有20个,访问了0次的数据块有55个。可用缓存确定单元6012已确定SSD中可用缓存块数目为32个。当前周期内,被访问次数最高的前32个数据块中,每个数据块的被访问次数的最小值为20,故实际阈值确定单元6013确定当前周期的第二实际阈值为20。
由于第二实际阈值不大于第一实际阈值,因此阈值预测模块602确定预测阈值为第二实际阈值与第一实际阈值的平均值25,即当前周期的下一周期内,被访问次数不小于25的数据块被确定为热点数据块并移入SSD中。
上面从单元化功能实体的角度对本发明实施例中的数据阈值预测装置进行了描述,下面从硬件处理的角度对本发明实施例中的数据阈值预测装置进行描述,请参阅图7,本发明实施例中的数据阈值预测装置700另一实施例包括:
输入装置701、输出装置702、处理器703和存储器704(其中数据阈值预测装置700中的处理器703的数量可以一个或多个,图7中以一个处理器703为例)。在本发明的一些实施例中,输入装置701、输出装置702、处理器703和存储器704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
其中,通过调用存储器704存储的操作指令,处理器703用于执行如下步骤:
计算当前周期的上一周期的第一实际阈值,第一实际阈值用于表示当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数;
计算当前周期的第二实际阈值,第二实际阈值用于表示当前周期内被确认为热点数据的数据块的最小被访问次数;
根据第一实际阈值与第二实际阈值,确定当前周期的下一周期的预测阈值,预测阈值用于表示所述当前周期的下一周期内,被移入固态硬盘SSD的数据块的最小被访问次数。
本发明的一些实施例中,处理器703还用于执行如下步骤:
若第二实际阈值大于第一实际阈值,则将第二实际阈值确定为预测阈值;
和/或,若第二实际阈值不大于第一实际阈值,则将第二实际阈值与第一实际阈值的平均值确定为预测阈值。
本发明的一些实施例中,处理器703还用于执行如下步骤:
统计当前周期内每个数据块的被访问次数;
确定当前周期内SSD的可用缓存块的第一数目;
将当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为第二实际阈值;
统计当前周期的上一周期内每个数据块的被访问次数;
确定当前周期的上一周期内SSD的可用缓存块的第二数目;
将当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为第一实际阈值。
本发明的一些实施例中,处理器703还用于执行如下步骤:
确定当前周期内每个数据块的大小;
根据当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定当前周期内每个数据块被访问一次时的递增值;
将当前周期内每个数据块对应的所有递增值进行累加,得到当前周期内每个数据块的被访问次数;
确定当前周期的上一周期内每个数据块的大小;
根据当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定当前周期的上一周期内每个数据块被访问一次时的递增值;
将当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到当前周期的上一周期内每个数据块的被访问次数。
本发明的一些实施例中,第一数目与第二数目的取值范围为SSD的总缓存块数的5%~10%。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (15)
1.一种数据阈值预测方法,其特征在于,包括:
计算当前周期的上一周期的第一实际阈值,所述第一实际阈值用于表示所述当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数;
计算所述当前周期的第二实际阈值,所述第二实际阈值用于表示所述当前周期内被确认为热点数据的数据块的最小被访问次数;
根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值,所述预测阈值用于表示所述当前周期的下一周期内,被移入固态硬盘SSD的数据块的最小被访问次数。
2.根据权利要求1所述的数据阈值预测方法,其特征在于,所述根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值包括:
若所述第二实际阈值大于所述第一实际阈值,则将所述第二实际阈值确定为所述预测阈值;
和/或,若所述第二实际阈值不大于所述第一实际阈值,则将所述第二实际阈值与所述第一实际阈值的平均值确定为所述预测阈值。
3.根据权利要求1或2所述的数据阈值预测方法,其特征在于,所述计算当前周期的第二实际阈值包括:
统计所述当前周期内每个数据块的被访问次数;
确定所述当前周期内所述SSD的可用缓存块的第一数目;
将所述当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第二实际阈值;
所述计算所述当前周期的上一周期的第一实际阈值包括:
统计所述当前周期的上一周期内每个数据块的被访问次数;
确定所述当前周期的上一周期内所述SSD的可用缓存块的第二数目;
将所述当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第一实际阈值。
4.根据权利要求3所述的数据阈值预测方法,其特征在于,所述统计所述当前周期内每个数据块的被访问次数包括:
确定所述当前周期内每个数据块的大小;
根据所述当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期内每个数据块被访问一次时的递增值;
将所述当前周期内每个数据块对应的所有递增值进行累加,得到所述当前周期内每个数据块的被访问次数;
所述统计所述当前周期的上一周期内,每个数据块的被访问次数包括:
确定所述当前周期的上一周期内每个数据块的大小;
根据所述当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期的上一周期内每个数据块被访问一次时的递增值;
将所述当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到所述当前周期的上一周期内每个数据块的被访问次数。
5.根据权利要求3所述的数据阈值预测方法,其特征在于,所述第一数目与所述第二数目的取值范围为所述SSD的总缓存块数的5%~10%。
6.一种数据阈值预测装置,其特征在于,包括:
阈值统计模块,用于计算当前周期的上一周期的第一实际阈值,所述第一实际阈值用于表示所述当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数;
所述阈值统计模块,还用于计算所述当前周期的第二实际阈值,所述第二实际阈值用于表示所述当前周期内被确认为热点数据的数据块的最小被访问次数;
阈值预测模块,用于根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值,所述预测阈值用于表示所述当前周期的下一周期内,被移入固态硬盘SSD的数据块的最小被访问次数。
7.根据权利要求6所述的数据阈值预测装置,其特征在于,所述阈值预测模块具体用于:
若所述第二实际阈值大于所述第一实际阈值,则将所述第二实际阈值确定为所述预测阈值;
和/或,若所述第二实际阈值不大于所述第一实际阈值,则将所述第二实际阈值与所述第一实际阈值的平均值确定为所述预测阈值。
8.根据权利要求6或7所述的数据阈值预测装置,其特征在于,所述阈值统计模块包括:
访问次数统计单元,用于统计所述当前周期内每个数据块的被访问次数;
可用缓存确定单元,用于确定所述当前周期内所述SSD的可用缓存块的第一数目;
实际阈值确定单元,用于将所述当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第二实际阈值;
所述访问次数统计单元,还用于统计所述当前周期的上一周期内每个数据块的被访问次数;
所述可用缓存确定单元,还用于确定所述当前周期的上一周期内所述SSD的可用缓存块的第二数目;
所述实际阈值确定单元,还用于将所述当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第一实际阈值。
9.根据权利要求8所述的数据阈值预测装置,其特征在于,所述访问次数统计单元包括:
数据块确定子单元,用于确定所述当前周期内每个数据块的大小;
递增值确定子单元,用于根据所述当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期内每个数据块被访问一次时的递增值;
次数统计子单元,用于将所述当前周期内每个数据块对应的所有递增值进行累加,得到所述当前周期内每个数据块的被访问次数;
所述数据块确定子单元,还用于确定所述当前周期的上一周期内每个数据块的大小;
所述递增值确定子单元,还用于根据所述当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期的上一周期内每个数据块被访问一次时的递增值;
所述次数统计子单元,还用于将所述当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到所述当前周期的上一周期内每个数据块的被访问次数。
10.根据权利要求8所述的数据阈值预测装置,其特征在于,所述第一数目与所述第二数目的取值范围为所述SSD的总缓存块数的5%~10%。
11.一种数据阈值预测装置,包括输入装置、输出装置、处理器和存储器,其特征在于,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
计算当前周期的上一周期的第一实际阈值,所述第一实际阈值用于表示所述当前周期的上一周期内,被确认为热点数据的数据块的最小被访问次数;
计算所述当前周期的第二实际阈值,所述第二实际阈值用于表示所述当前周期内被确认为热点数据的数据块的最小被访问次数;
根据所述第一实际阈值与所述第二实际阈值,确定所述当前周期的下一周期的预测阈值,所述预测阈值用于表示所述当前周期的下一周期内,被移入固态硬盘SSD的数据块的最小被访问次数。
12.根据权利要求11所述的数据阈值预测装置,其特征在于,所述处理器还用于执行:
若所述第二实际阈值大于所述第一实际阈值,则将所述第二实际阈值确定为所述预测阈值;
和/或,若所述第二实际阈值不大于所述第一实际阈值,则将所述第二实际阈值与所述第一实际阈值的平均值确定为所述预测阈值。
13.根据权利要求11或12所述的数据阈值预测装置,其特征在于,所述处理器还用于执行:
统计所述当前周期内每个数据块的被访问次数;
确定所述当前周期内所述SSD的可用缓存块的第一数目;
将所述当前周期内,被访问次数最高的前第一数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第二实际阈值;
统计所述当前周期的上一周期内每个数据块的被访问次数;
确定所述当前周期的上一周期内所述SSD的可用缓存块的第二数目;
将所述当前周期的上一周期内,被访问次数最高的前第二数目个数据块中,每个数据块的被访问次数的最小值,确定为所述第一实际阈值。
14.根据权利要求13所述的数据阈值预测装置,其特征在于,所述处理器还用于执行:
确定所述当前周期内每个数据块的大小;
根据所述当前周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期内每个数据块被访问一次时的递增值;
将所述当前周期内每个数据块对应的所有递增值进行累加,得到所述当前周期内每个数据块的被访问次数;
确定所述当前周期的上一周期内每个数据块的大小;
根据所述当前周期的上一周期内每个数据块的大小,与数据块的大小与递增值的对应关系,确定所述当前周期的上一周期内每个数据块被访问一次时的递增值;
将所述当前周期的上一周期内每个数据块对应的所有递增值进行累加,得到所述当前周期的上一周期内每个数据块的被访问次数。
15.根据权利要求13所述的数据阈值预测装置,其特征在于,所述第一数目与所述第二数目的取值范围为所述SSD的总缓存块数的5%~10%。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/092447 WO2016082176A1 (zh) | 2014-11-28 | 2014-11-28 | 一种数据阈值预测方法与相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105493024A CN105493024A (zh) | 2016-04-13 |
CN105493024B true CN105493024B (zh) | 2019-03-08 |
Family
ID=55678492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480038613.2A Active CN105493024B (zh) | 2014-11-28 | 2014-11-28 | 一种数据阈值预测方法与相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105493024B (zh) |
WO (1) | WO2016082176A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503841B (zh) * | 2016-10-17 | 2019-12-13 | 东软集团股份有限公司 | 指标阈值的确定方法和装置 |
CN108021484B (zh) * | 2016-11-02 | 2021-03-16 | 先智云端数据股份有限公司 | 云端服务系统中磁盘预期寿命值的延长方法及其系统 |
CN107403199B (zh) * | 2017-08-07 | 2021-02-26 | 北京京东尚科信息技术有限公司 | 数据处理方法和装置 |
CN111913650B (zh) * | 2019-05-09 | 2022-01-21 | 深圳大普微电子科技有限公司 | 一种确定预测窗口期的方法及装置 |
CN114500349B (zh) * | 2021-12-27 | 2023-08-08 | 天翼云科技有限公司 | 一种云平台混沌测试方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788995A (zh) * | 2009-12-31 | 2010-07-28 | 成都市华为赛门铁克科技有限公司 | 一种热点数据识别方法及装置 |
CN101887400A (zh) * | 2010-06-24 | 2010-11-17 | 中兴通讯股份有限公司 | 缓存对象老化的方法和装置 |
CN103092867A (zh) * | 2011-11-03 | 2013-05-08 | 中国移动通信集团甘肃有限公司 | 一种数据管理方法及系统、数据分析装置 |
US8838916B2 (en) * | 2011-09-15 | 2014-09-16 | International Business Machines Corporation | Hybrid data storage management taking into account input/output (I/O) priority |
CN104111900A (zh) * | 2013-04-22 | 2014-10-22 | 中国移动通信集团公司 | 一种缓存中数据替换方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203749B (zh) * | 2010-12-31 | 2013-06-26 | 华为技术有限公司 | 多级缓存下固态硬盘的写方法及装置 |
US8972661B2 (en) * | 2011-10-31 | 2015-03-03 | International Business Machines Corporation | Dynamically adjusted threshold for population of secondary cache |
CN103186350B (zh) * | 2011-12-31 | 2016-03-30 | 北京快网科技有限公司 | 混合存储系统及热点数据块的迁移方法 |
CN103473335B (zh) * | 2013-09-18 | 2016-08-17 | 浪潮(北京)电子信息产业有限公司 | 一种热点数据检测方法及装置 |
-
2014
- 2014-11-28 CN CN201480038613.2A patent/CN105493024B/zh active Active
- 2014-11-28 WO PCT/CN2014/092447 patent/WO2016082176A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788995A (zh) * | 2009-12-31 | 2010-07-28 | 成都市华为赛门铁克科技有限公司 | 一种热点数据识别方法及装置 |
CN101887400A (zh) * | 2010-06-24 | 2010-11-17 | 中兴通讯股份有限公司 | 缓存对象老化的方法和装置 |
US8838916B2 (en) * | 2011-09-15 | 2014-09-16 | International Business Machines Corporation | Hybrid data storage management taking into account input/output (I/O) priority |
CN103092867A (zh) * | 2011-11-03 | 2013-05-08 | 中国移动通信集团甘肃有限公司 | 一种数据管理方法及系统、数据分析装置 |
CN104111900A (zh) * | 2013-04-22 | 2014-10-22 | 中国移动通信集团公司 | 一种缓存中数据替换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2016082176A1 (zh) | 2016-06-02 |
CN105493024A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105493024B (zh) | 一种数据阈值预测方法与相关装置 | |
US20110161483A1 (en) | Virtual server system and physical server selection method | |
US8924754B2 (en) | Quality of service targets in multicore processors | |
CN103092526A (zh) | 在存储设备间进行数据迁移的方法和装置 | |
CN105487987B (zh) | 一种处理并发顺序读io的方法及装置 | |
CN105183670B (zh) | 用于分布式缓存系统的数据处理方法和装置 | |
CN106453832B (zh) | 一种跌落数据的上报方法、装置及移动终端 | |
CN104040977A (zh) | 缓存报文的方法和装置 | |
CN104461710A (zh) | 任务处理方法及装置 | |
CN111245732A (zh) | 一种流量控制方法、装置及设备 | |
CN103399791A (zh) | 一种基于云计算的虚拟机迁移方法和装置 | |
CN107305478A (zh) | 储存装置及其控制单元、可用于储存装置的数据储存方法 | |
CN111949681A (zh) | 数据的聚合处理装置、方法和存储介质 | |
US20190391847A1 (en) | Resource Scheduling Method and Related Apparatus | |
CN105242955A (zh) | 一种虚拟机磁盘输入输出调度方法及系统 | |
CN103902443A (zh) | 一种程序运行性能分析方法及装置 | |
US9569132B2 (en) | Path selection to read or write data | |
Kühn | Systematic classification of self-adapting algorithms for power-saving operation modes of ICT systems | |
CN106569728B (zh) | 多磁盘阵列raid共享写缓存的处理方法及装置 | |
CN105846002B (zh) | 一种移动终端的充电方法及移动终端 | |
Tian et al. | Efficient algorithms for VM placement in cloud data centers | |
CN106202374A (zh) | 一种数据处理方法及装置 | |
CN105518617B (zh) | 缓存数据的处理方法及装置 | |
CN105718622B (zh) | 由单粒子翻转率预计单粒子故障率的方法及系统 | |
CN106557430A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220209 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |