进行瘦供给的方法和装置制造方法

文档序号:6488490阅读:265来源:国知局
进行瘦供给的方法和装置制造方法
【专利摘要】根据本发明实施例的一种用于瘦供给的方法,该方法包括:收集已经分配给应用程序的存储资源的负载参数的原始时域序列;基于所收集的负载参数的原始时域序列,确定已经分配给应用程序的存储资源的未来负载峰值时段;以及如果收到在所述未来负载峰值时段向所述应用程序分配新的存储资源单元的请求,则从高速存储器中分配所述新的存储资源单元。根据本发明实施例,可以在瘦供给的场合中,根据应用程序对已经分配的物理存储资源的访问,确定新分配给应用程序的物理存储资源位于低速存储器中还是位于高速存储器中。
【专利说明】进行瘦供给的方法和装置
【技术领域】
[0001]本发明涉及存储技术,更具体地说,涉及瘦供给的方法和设备。
【背景技术】
[0002]瘦供给(Thin Provision)是一种能够节约存储资源的供给方式。根据瘦供给的原贝U,初始分配给应用程序的物理存储资源小于应用程序所声明的虚拟存储资源;当分配给应用程序的物理存储资源不能满足应用程序的需求时,再逐步追加物理存储资源,直到物理存储资源达到所述虚拟存储资源。例如,一个应用程序可以声明100G的虚拟存储资源。本领域技术人员可以理解,该应用程序在刚开始运行的一段时间内,并不会产生100G的数据;在运行过程中,该应用程序可能释放一些之前已经占用的物理存储资源,这些被释放的物理存储资源可以用来存储新产生的数据。相应地,可以初始地只分配IOG的物理存储资源供该应用程序使用;如果这IOG的物理存储资源被应用程序产生的数据充满,并且所述应用程序又需要更多的物理存储资源时,则可以向该应用程序追加IOG的物理存储资源。
[0003]对于应用程序而言,瘦供给是完全透明的。换句话说,应用程序不需要关心有多少物理存储资源被分配,而只需要管理所声明的虚拟存储资源。对于存储系统而言,可以用较小的物理存储资源支持较大的虚拟存储资源,从而提高物理存储资源的利用效率。
[0004]大型存储系统往往由不同类型的存储设备构成。这些不同类型的存储设备在价格和性能上具有显著的差异。例如,从一个每分钟转速15000的硬盘驱动器HDD中读取一份数据需要的平均响应时间是10毫秒,而从一个固态硬盘SSD中直接读取该数据需要的平均响应时间小于I毫秒。由于高速存储器的造价高于低速存储器,系统中高速存储器的数据容量小于低速存储器的数据容量。换句话说,只有一部分数据才会被存储在高速存储器中。
[0005]因此,需要一种解决方案来确定瘦供给时分配给应用程序的物理存储资源位于何种类型的存储设备中。

【发明内容】

[0006]本发明提供了一种用于瘦供给的方法和设备。
[0007]根据本发明实施例的用于瘦供给的方法包括:收集已经分配给应用程序的存储资源的负载参数的原始时域序列;基于所收集的负载参数的原始时域序列,确定已经分配给应用程序的存储资源的未来负载峰值时段;以及响应于收到在所述未来负载峰值时段向所述应用程序分配新的存储资源单元的请求,从高速存储器中分配所述新的存储资源单元。
[0008]根据本发明实施例的用于瘦供给的设备包括:原始时域序列收集装置,配置为收集已经分配给应用程序的存储资源的负载参数的原始时域序列;未来负载峰值时段确定装置,配置为基于所收集的负载参数的原始时域序列,确定已经分配给应用程序的存储资源的未来负载峰值时段;以及存储资源单元分配装置,配置为响应于收到在所述未来负载峰值时段向所述应用程序分配新的存储资源单元的请求,从高速存储器中分配所述新的存储资源单元。[0009]根据本发明实施例所提供的技术方案,可以在瘦供给的场合中,根据应用程序对已经分配的物理存储资源的访问,确定新分配给应用程序的物理存储资源位于低速存储器中还是位于高速存储器中。
【专利附图】

【附图说明】
[0010]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0011]图1是适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
[0012]图2是根据本发明实施例的用于瘦供给的方法的流程图;
[0013]图3是对负载参数的原始时域序列进行快速傅里叶变换后得到的频域特性;
[0014]图4是选择图3中的部分频率分量通过傅里叶反变换后得到的恢复时域序列与原始时域序列的对比;
[0015]图5是根据本发明实施例的用于瘦供给的方法的流程图;以及
[0016]图6是根据本发明实施例的用于瘦供给的设备的框图。
【具体实施方式】
[0017]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0018]所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0019]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0020]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。[0021]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0022]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0023]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0024]也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
[0025]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0026]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0027]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0028]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、时频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0029]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0030]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0031]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0032]计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0033]假设在存储系统中,分配物理存储资源的最小单位是条带(extent),分配给应用程序的物理存储资源是由一个或多个条带构成的。一个条带中所存储的数据构成一个数据块。在后面的描述中,除非特别说明,否则数据块和条带可以互相指代。存储设备的虚拟机制将分配给应用程序的物理存储资源整合成至少一个数据卷。应用程序面对的是所述数据卷。在后面的描述中,假设分配给一个应用程序的所有存储资源作为一个数据卷来管理。可以根据某数据块被访问的频率来确定某个数据块是否为热点(hotspot)数据块,然后将热点数据块从低速存储器中迁移到高速存储器。但是,数据块过去一段时间内被频繁访问并不表示其在未来一段时间内还会被频繁访问。此外,迁移数据块本身也需要消耗系统资源。
[0034]图2是根据本发明实施例的用于进行瘦供给的方法的流程图。
[0035]步骤201,针对与应用程序对应的数据卷,收集所述数据卷的负载参数的原始时域序列。
[0036]不同应用程序以不同的模式访问存储系统。因此,针对数据卷收集的负载参数能够反映不同的访问模式。
[0037]根据本发明一个实施例,所述负载参数的原始序列可以针对该数据卷所对应的数据块而收集。所述负载参数可以是响应时间,即在各采样时刻访问该数据块的响应时间。所述负载参数也可以是访问速率,即访问该数据块时的10PS。本领域技术人员还可以采用其他类型的负载参数。对于一个特定的数据块来说,所收集到的是该数据块在各采样时刻的负载参数,即负载参数的原始时域序列。根据本发明另一个实施例,所述负载参数的原始时域序列针对整个数据卷而收集。
[0038]步骤202,基于所收集的负载参数的原始时域序列,确定数据卷的未来负载峰值时段。
[0039]本领域技术人员可以理解,这里所谓的未来负载峰值时段并不一定指的是出现负载最高值的时刻,其也可能是指负载大于某负载阈值的时间段。所述负载阈值可以是绝对值也可以是相对值。以相对值为例,所述负载阈值可以是实际负载与该数据卷的额定负载的比值,也可以是实际负载与该数据卷的平均负载的比值。
[0040]后续将结合其他附图详细地描述如何根据负载参数的原始时域序列来确定数据卷的未来负载峰值时段。
[0041]步骤203,响应于收到在所述未来负载峰值时段向所述数据卷分配新的条带的请求,从高速存储器中分配所述条带。
[0042]在步骤202中已经得到了未来负载峰值时段。可以预见,在所述未来负载峰值时段内会有大量的对数据卷的访问即出现负载峰值。因此,如果在未来负载峰值时段内应用程序要求向其分配新的条带,那么很有可能在该未来负载峰值时段内应用程序需要频繁地访问所分配的新的条带。在高速存储器中分配所述新的条带可以提高在所述未来负载峰值时段中应用程序访问数据的速度。此外,由于新分配的条带在分配的时候就位于高速存储器中,因此一定程度上避免了将条带从低速存储器迁移到高速存储器。
[0043]根据本发明一个实施例,在所述未来负载峰值时段向所述数据卷分配新的条带的请求可以是在所述未来负载峰值时段内收到的。例如,如果在所述未来负载峰值时段内,分配给应用程序的物理存储资源已经用尽并且应用程序需要新的物理存储资源,则存储设备的虚拟机制请求向所述数据卷分配新的条带。根据本发明另一个实施例,所述请求也可以是在所述未来负载峰值时段之前收到的。例如根据应用程序所实际使用的物理存储资源占分配给应用程序的物理存储资源的比例,可以在未来负载峰值时段到来之前,预先请求在所述未来负载峰值时段内向所述数据卷分配新的条带。
[0044]本领域技术人员可以理解,可以通过数据卷的历史负载峰值时段和负载参数的周期来确定数据卷的未来负载峰值时段。
[0045]根据本发明的一个实施例,可以在步骤202中采用时频变换(time-frequencytransform)分析方法来从负载参数的原始时域序列得到所述负载参数的频域特性,然后根据所述频域特性来确定所述负载参数的周期。
[0046]所述时频变换例如傅里叶变换、Z变换、拉普拉斯变换等。在下面的描述中,以傅里叶变换为例进行说明。本领域技术人员可以理解,由于步骤201中所收集到的是离散数据,因此可以采用离散傅里叶变换,更优选地可以采用快速傅里叶变换来得到负载参数的频域特性。
[0047]根据本发明的一个实施例,在进行时频变换之前,先从负载参数的原始时域序列中去除线性分量。在实际中,应用程序可能会由于收到指令而临时增加或者减少所使用的物理存储资源。这种变化并非应用程序对存储设备的访问模式的一部分,但是会引起对应的数据卷的负载参数的变化,从而在频域特性上施加噪声。可以采用线性拟合分析、线性回归分析等方法来从负载参数的原始时域序列中得到所述线性分量。如果进行线性拟合分析和线性回归分析是本领域的常用技术手段,在此不再赘述。[0048]下面结合附图3和附图4描述如何根据时频变换的结果来确定数据卷的未来负载峰值时段。
[0049]图3是对负载参数的原始时域序列进行快速傅里叶变换后得到的频域特性。其中横轴表示快速傅里叶变换后的各频率分量,纵轴表示各频率分量的功率。
[0050]图4是选择图3中的部分频率分量通过傅里叶反变换进行频时变换(frequency-time transform)后得到的恢复时域序列与原始时域序列的对比。其中虚线是原始时域序列,粗实线是仅考虑功率最大的一个频率分量进行傅里叶反变换后得到的恢复时域序列,细实线是考虑功率最大的九个频率分量进行快速傅里叶反变换后得到的恢复时域序列。可以看出,考虑的频率分量越多,对原始时域序列的逼近越充分。图4中细实线比较精确地体现了虚线的变化。但是,图4中的粗实线也已经体现了虚线的大体变化趋势,尤其是粗实线的负载峰值与虚线的负载峰值在时间轴上几乎重合。
[0051]本领域技术人员还可以理解,经过快速傅里叶变换后得到的各频率分量,彼此之间没有倍数关系;理论上讲,该信号的周期是各频率分量所对应的周期的最小公倍数。在实践中,对于负载参数的原始时域序列这样的信号,如果考虑所有频率分量,则估计出的周期可能会变得非常大,从而无法根据所述周期预测未来负载峰值时段。
[0052]因此,一方面,需要选取尽可能多的频率分量,从而更好地逼近原始时域序列,提高周期估计的准确性;另一方面,又需要选取尽可能少的频率分量,使得估计出的周期尽可能小,从而有效地预测负载峰值。
[0053]由于功率越大的频率分量,在信号中所占的比重越大。因此,根据本发明的一个实施例,可以设置功率阈值。只选择功率大于所述功率阈值的频率分量来估计数据卷的负载周期。对于功率小于所述功率阈值的频率分量,由于其对预测负载峰值的影响比较小,所以不再考虑。所述功率阈值可以针对单个频率分量的功率,也可以针对频率分量在功率排名中的位次。
[0054]根据本发明的另一个实施例,设置误差阈值。所述误差表示在只考虑某些频率分量的情况下,经过快速傅里叶反变换所得到的恢复时域序列与原始时域序列的逼近程度。例如,可以将恢复时域序列和原始时域序列作为两个向量,以两个向量的距离作为所述误差。又例如,可以将所选择的频率分量的功率总和与所有频率分量的功率总和之差作为所述误差。然后按照如下条件选择频率分量:恢复时域序列与原始时域序列的误差小于所述误差阈值;且所选择的频率分量的数目最小。
[0055]根据本发明的再一个实施例,设置周期阈值。然后按照如下条件选择频率分量:根据所选择的频率分量估计的周期小于所述周期阈值;且所选择的频率分量的数目最大。
[0056]采用上述时频变换的方法来确定数据卷的未来负载峰值时段比较适用于针对整个数据卷收集负载参数的原始时域序列的场合。这是因为,时频变换对计算能力的要求比较高。如果针对各个数据块分别进行时频变换,则需要消耗大量的计算资源。相应地,对历史负载峰值时段的识别也通过所述针对整个数据卷收集的负载参数的原始时域序列而得至IJ。例如,如果负载参数是响应时间,则响应时间长的时段可能对应于历史负载峰值时段。如果负载参数是访问速率,则访问速率低的时段可能对应于历史负载峰值时段。如果所述负载参数是对数据卷的访问次数,则访问次数高的时段可能对应于历史负载峰值时段。
[0057]在按照上述方法所确定的未来负载峰值时段中,应用程序会对数据卷进行大量的访问。但是,应用程序对数据卷进行大量的访问,并不必然意味着应用程序对在该时段中新分配的条带进行大量的访问。
[0058]考虑如下的例子。一个应用程序在每天的固定时段期间对数据卷中的每个数据块进行一次访问。如果数据卷中数据块的数目足够多,那么对数据卷的访问次数可能呈现周期性的特点。按照时频变换的方法,可以将所述固定时段确定为未来负载峰值时段。然而,由于每个数据块只受到一次访问,因此即使是在高速存储器中分配新的条带,对数据卷的整体性能的提升也是非常有限的。
[0059]因此,在确定历史负载峰值时段时,可以进一步考虑对各条带的访问。下面参照图5描述根据本发明一个实施例的确定历史负载峰值时段的方法。
[0060]在下面的描述中,以访问次数作为所述负载参数的示例。本领域技术人员可以理解,访问次数是表示负载峰值的最直接的指标。相应地,在步骤301中,记录对已分配的各条带的各次访问的相关信息。例如,访问时间、访问类型等。
[0061]步骤501,针对各统计时间窗,统计对各条带的访问次数。
[0062]例如,可以以上午10点开始,每5分钟作为一个统计时间窗。根据在步骤301中收集的信息,可以确定在特定时间窗中,针对特定条带进行了多少次访问。
[0063]根据本发明的一个实施例,在统计所述访问次数时可以引入权重。
[0064]例如,对于某条带来说,距离其分配时间越近的访问在统计时的权重越大。在确定数据卷的未来负载峰值时段时进行这样的权重设置,则如果在所述未来负载峰值时段向应用程序分配新的条带,很有可能所述应用程序在该新的条带被分配之后就对该新分配的条带进行大量的访问。
[0065]又例如,对条带的随机访问比对条带的顺序访问在统计时的权重更大。这是因为,慢速存储器和快速存储器的访问速度差别对随机访问的响应时间的影响,比对顺序访问的相应时间的影响更大。因此,在快速存储器容量有限的情况下,如果一个应用程序总是进行顺序访问,和第二个应用程序总是进行随机访问,那么应该优先给第二个应用程序在快速存储器中分配新的条带。
[0066]步骤502,针对各统计时间窗,将该统计时间窗内访问次数大于第一阈值的条带的访问次数累加,得到在该统计时间窗内数据卷的访问次数。
[0067]之所以只考虑该统计时间窗内访问次数大于第一阈值的条带,是为了去除由于条带数目所引入的噪声。根据步骤502,在上面所举的例子中,只受到一次访问的条带在计算数据卷的访问次数时将不予考虑。
[0068]根据本发明的一个实施例,可以只考虑在进行所述统计之前一定时间范围内分配的条带。
[0069]步骤503,将数据卷的访问次数大于第二阈值的统计时间窗作为历史负载峰值时段。
[0070]采用上述方法来确定数据卷的历史负载峰值时段需要针对各个数据块分别收集负载参数的原始时域序列。由于在分析的时候考虑了应用程序对数据块的访问模式,因此能够更加精确地确定是否要在高速存储器中向应用程序分配新的条带。但是,如前所述,在针对各个数据块分别收集负载参数的原始时域序列的场合,很难通过时频变换来确认负载参数的周期。在这种情况下,可以由用户根据经验来指定所述周期。[0071]图6示出了根据本发明实施例的用于瘦供给的设备,该设备包括:
[0072]原始时域序列收集装置,配置为收集已经分配给应用程序的存储资源的负载参数的原始时域序列;
[0073]未来负载峰值时段确定装置,配置为基于所收集的负载参数的原始时域序列,确定已经分配给应用程序的存储资源的未来负载峰值时段;以及
[0074]存储资源单元分配装置,配置为响应于收到在所述未来负载峰值时段向所述应用程序分配新的存储资源单元的请求,从高速存储器中分配所述新的存储资源单元。
[0075]其中所述未来负载峰值时段确定装置包括:
[0076]配置为根据所述负载参数的原始时域序列确定所述已经分配给应用程序的存储资源的历史负载峰值时段的装置;
[0077]配置为获取所述已经分配给应用程序的存储资源的负载周期的装置;以及
[0078]配置为根据所述历史负载峰值时段和所述负载周期确定所述已经分配给应用程序的存储资源的未来负载峰值时段的装置。
[0079]其中配置为获取所述已经分配给应用程序的存储资源的负载周期的装置包括:
[0080]配置为对所述负载参数的原始时域序列进行时频变换以得到所述负载参数的频域特性的装置;以及
[0081]配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置。
[0082]所述设备进一步包括:
[0083]配置为在对所述负载参数的原始时域序列进行时频变换前,从所述负载参数的原始时域序列中去除线性分量的装置。
[0084]其中配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置包括:
[0085]配置为根据所述频域特性,选择功率大于频率阈值的频率分量的装置;和
[0086]配置为根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期的装置。
[0087]其中配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置包括:
[0088]配置为选择频率分量,使得如下条件成立的装置:所选择的频率分量的数目最少,且恢复时域序列与原始时域序列的误差小于误差阈值,其中所述恢复时域序列是根据所选择的频率分量进行频时变换后得到的时域序列;和
[0089]配置为根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期的装置。
[0090]其中配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置包括:
[0091]配置为选择频率分量,使得如下条件成立的装置:所选择的频率分量的数目最多,且根据所选择的频率分量预估的周期小于周期阈值;和
[0092]配置为根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期的装置。[0093]其中配置为根据所述负载参数的原始时域序列确定所述已经分配给应用程序的存储资源的历史负载峰值时段的装置包括:
[0094]配置为统计在统计时间窗内对已经分配给应用程序的存储资源中各已分配存储资源单元的访问次数的装置;
[0095]配置为将该统计时间窗内访问次数大于第一阈值的已分配存储资源单元的访问次数累加,作为该统计时间窗内应用程序对已分配存储资源的访问次数的装置;以及
[0096]配置为将应用程序对已分配存储资源的访问次数大于第二阈值的统计时间窗作为历史负载峰值时段的装置。
[0097]其中配置为统计在统计时间窗内对已经分配给应用程序的存储资源中各已分配存储资源单元的访问次数的装置包括:
[0098]配置为在针对特定已分配存储资源单元统计访问次数时,以较大的权重考虑距离该已分配存储资源单元的分配时间较近的访问的装置。
[0099]其中配置为统计在统计时间窗内对已经分配给应用程序的存储资源中已分配存储资源单元的访问次数的装置包括:
[0100]配置为在针对特定已分配存储资源单元统计访问次数时,以较大的权重考虑对该已分配存储资源单元的随机访问,以较小的权重考虑对该已分配存储资源单元的顺序访问的装置。
[0101]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0102]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本【技术领域】的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本【技术领域】的其它普通技术人员能理解本文披露的各实施例。
【权利要求】
1.一种用于瘦供给的方法,该方法包括: 收集已经分配给应用程序的存储资源的负载参数的原始时域序列; 基于所收集的负载参数的原始时域序列,确定已经分配给应用程序的存储资源的未来负载峰值时段;以及 响应于收到在所述未来负载峰值时段向所述应用程序分配新的存储资源单元的请求,从高速存储器中分配所述新的存储资源单元。
2.如权利要求1所述的方法,其中基于所收集的负载参数的原始时域序列确定已经分配给应用程序的存储资源的未来负载峰值时段包括: 根据所述负载参数的原始时域序列确定所述已经分配给应用程序的存储资源的历史负载峰值时段; 获取所述已经分配给应用程序的存储资源的负载周期;以及 根据所述历史负载峰值时段和所述负载周期确定所述已经分配给应用程序的存储资源的未来负载峰值时段。
3.如权利要求2所述的方法,其中获取所述已经分配给应用程序的存储资源的负载周期包括: 对所述负载参数的原始时域序列进行时频变换以得到所述负载参数的频域特性;以及 根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期。
4.如权利要求3所述的方法,进一步包括: 在对所述负载参数的原始时域序`列进行时频变换前,从所述负载参数的原始时域序列中去除线性分量。
5.如权利要求3所述的方法,其中根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期包括: 根据所述频域特性,选择功率大于频率阈值的频率分量;和 根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期。
6.如权利要求3所述的方法,其中根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期包括: 选择频率分量,使得如下条件成立:所选择的频率分量的数目最少,且恢复时域序列与原始时域序列的误差小于误差阈值,其中所述恢复时域序列是根据所选择的频率分量进行频时变换后得到的时域序列;和 根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期。
7.如权利要求3所述的方法,其中根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期包括: 选择频率分量,使得如下条件成立:所选择的频率分量的数目最多,且根据所选择的频率分量预估的周期小于周期阈值;和 根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期。
8.如权利要求2所述的方法,其中根据所述负载参数的原始时域序列确定所述已经分配给应用程序的存储资源的历史负载峰值时段包括: 统计在统计时间窗内对已经分配给应用程序的存储资源中各已分配存储资源单元的访问次数;将该统计时间窗内访问次数大于第一阈值的已分配存储资源单元的访问次数累加,作为该统计时间窗内应用程序对已分配存储资源的访问次数;以及 将应用程序对已分配存储资源的访问次数大于第二阈值的统计时间窗作为历史负载峰值时段。
9.如权利要求8所述的方法,其中统计在统计时间窗内对已经分配给应用程序的存储资源中各已分配存储资源单元的访问次数包括: 在针对特定已分配存储资源单元统计访问次数时,以较大的权重考虑距离该已分配存储资源单元的分配时间较近的访问。
10.如权利要求8所述的方法,其中统计在统计时间窗内对已经分配给应用程序的存储资源中已分配存储资源单元的访问次数包括: 在针对特定已分配存储资源单元统计访问次数时,以较大的权重考虑对该已分配存储资源单元的随机访问,以较小的权重考虑对该已分配存储资源单元的顺序访问。
11.一种用于瘦供给的设备,该设备包括: 原始时域序列收集装置,配置为收集已经分配给应用程序的存储资源的负载参数的原始时域序列; 未来负载峰值时段确定装置,配置为基于所收集的负载参数的原始时域序列,确定已经分配给应用程序的存储资源的未来负载峰值时段;以及 存储资源单元分配装置,配置为响应于收到在所述未来负载峰值时段向所述应用程序分配新的存储资源单元的请求,从高速存储器中分配所述新的存储资源单元。
12.如权利要求11所述的设备,其中所述未来负载峰值时段确定装置包括: 配置为根据所述负载参数的原始时域序列确定所述已经分配给应用程序的存储资源的历史负载峰值时段的装置; 配置为获取所述已经分配给应用程序的存储资源的负载周期的装置;以及 配置为根据所述历史负载峰值时段和所述负载周期确定所述已经分配给应用程序的存储资源的未来负载峰值时段的装置。
13.如权利要求12所述的设备,其中配置为获取所述已经分配给应用程序的存储资源的负载周期的装置包括: 配置为对所述负载参数的原始时域序列进行时频变换以得到所述负载参数的频域特性的装置;以及 配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置。
14.如权利要求13所述的设备,进一步包括: 配置为在对所述负载参数的原始时域序列进行时频变换前,从所述负载参数的原始时域序列中去除线性分量的装置。
15.如权利要求13所述的设备,其中配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置包括: 配置为根据所述频域特性,选择功率大于频率阈值的频率分量的装置;和 配置为根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期的装置。
16.如权利要求13所述的设备,其中配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置包括: 配置为选择频率分量,使得如下条件成立的装置:所选择的频率分量的数目最少,且恢复时域序列与原始时域序列的误差小于误差阈值,其中所述恢复时域序列是根据所选择的频率分量进行频时变换后得到的时域序列;和 配置为根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期的装置。
17.如权利要求13所述的设备,其中配置为根据所述负载参数的频域特性估计所述已经分配给应用程序的存储资源的负载周期的装置包括: 配置为选择频率分量,使得如下条件成立的装置:所选择的频率分量的数目最多,且根据所选择的频率分量预估的周期小于周期阈值;和 配置为根据所选择的频率分量估计所述已经分配给应用程序的存储资源的负载周期的装置。
18.如权利要求12所述的设备,其中配置为根据所述负载参数的原始时域序列确定所述已经分配给应用程序的存储资源的历史负载峰值时段的装置包括: 配置为统计在统计时间窗内对已经分配给应用程序的存储资源中各已分配存储资源单元的访问次数的装置; 配置为将该统计时间窗内访问次数大于第一阈值的已分配存储资源单元的访问次数累加,作为该统计时间窗内应用程序对已分配存储资源的访问次数的装置;以及 配置为将应用程序对已分配存储资源的访问次数大于第二阈值的统计时间窗作为历史负载峰值时段的装置。
19.如权利要求18所述的设备,其中配置为统计在统计时间窗内对已经分配给应用程序的存储资源中各已分配存储资源单元的访问次数的装置包括: 配置为在针对特定已分配存储资源单元统计访问次数时,以较大的权重考虑距离该已分配存储资源单元的分配时间较近的访问的装置。
20.如权利要求18所述的设备,其中配置为统计在统计时间窗内对已经分配给应用程序的存储资源中已分配存储资源单元的访问次数的装置包括: 配置为在针对特定已分配存储资源单元统计访问次数时,以较大的权重考虑对该已分配存储资源单元的随机访问,以较小的权重考虑对该已分配存储资源单元的顺序访问的装置。
【文档编号】G06F12/02GK103678139SQ201210320695
【公开日】2014年3月26日 申请日期:2012年8月31日 优先权日:2012年8月31日
【发明者】马遥, 张俊伟, 冯宽, 顾慧翔, 杨戍 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1