CN104424035B - 用于对存储访问频率的间歇采样的方法和系统 - Google Patents
用于对存储访问频率的间歇采样的方法和系统 Download PDFInfo
- Publication number
- CN104424035B CN104424035B CN201410444496.1A CN201410444496A CN104424035B CN 104424035 B CN104424035 B CN 104424035B CN 201410444496 A CN201410444496 A CN 201410444496A CN 104424035 B CN104424035 B CN 104424035B
- Authority
- CN
- China
- Prior art keywords
- storage object
- time
- observed
- access
- storage
- 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.)
- Expired - Fee Related
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/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了对存储访问频率的间歇采样。通过确定采集窗口的持续时间和所述采集窗口内的观察窗口的持续时间来执行对存储访问频率的间歇采样。随机选择所述采集窗口内的所述观察窗口的位置,以及在所述观察窗口期间观察对一个或多个存储对象的访问频率。当对给定存储对象的新的访问发生时,给定存储对象的增量时间被计算为观察到的访问的时间减去最近观察的对所述给定存储对象的在先访问的时间戳。可选地,在两个不同的观察窗口中对给定存储对象的两次连续访问的增量时间计算为好像所述两个不同的时间窗口彼此紧邻一样。
Description
背景技术
不同类型的数据存储产生不同的成本,对于每千兆字节来说,较快的存储比较慢的存储花费更大。一种管理存储成本的方法是使用分层或“多温度存储”,其中频繁访问的(又称为“热的”)数据被存储在较快、但更昂贵的存储装置(例如,固态“磁盘”)中,而不频繁访问的数据被移动到渐慢、但更便宜的存储装置(例如,物理硬盘,磁带驱动器等)中。
特定的数据库应用程序或用户也表现出不同的工作负载模式。有些对数据进行高频访问,而其他可能会进行不太频繁的数据访问。在另一个方法中,工作负载管理技术执行和多温度存储类似的任务,其提供一种机制以给不同的工作负载不同的资源访问级别。例如,给高优先级的工作负载比其他工作负载更大份额的可用CPU时间,定性地类似于将给定子集的数据驻留在更快的备用存储器件上。
然而,上述方法需要用户干预,以确定哪些数据或工作负载应该在比例上获得更多的对快速和昂贵的资源的访问,哪些应该被归为更多地访问更慢和更便宜的资源。
发明内容
根据本发明的一个实施例,由计算处理器执行的用于对存储访问频率进行间歇采样的方法确定采集窗口的持续时间。还确定所述采集窗口内的观察窗口的持续时间。随机选择采集窗口内的观察窗口的位置。在观察窗口期间观察对一个或多个存储对象的访问频率。
在本发明的一个方面中,当对给定存储对象的新的访问发生时,给定存储对象的增量时间被计算为新的访问的当前时间减去最近观察的对给定存储对象的在先访问的时间戳。
在本发明的一个方面中,在两个不同的观察窗口中对给定存储对象的两次连续访问的增量时间被计算为好像两个不同的时间窗口彼此紧邻。
这里还描述和要求保护对应于上面总结的方法的系统和计算机程序产品。
附图说明
图1示出了根据本发明的实施例的系统的实施例。
图2示出了根据本发明的实施例的用于定义数据库对象以用于在存储体系中进行存储的方法。
图3示出了根据本发明的实施例的用于对存储访问频率进行间歇采样的方法。
图4A和4B示出了根据本发明的实施例的增量时间计算的示例。
具体实施方式
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或设备,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者设备使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者设备使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如(Java和所有基于Java的商标和logo是美国、其他国家或美国和其他国家的甲骨文公司的商标)、Smalltalk、C++等,还包括常规的过程式程序设计语言-诸如“C”程序设计语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以用于使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,从而生成计算机执行的过程,从而在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的局部功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,或者所述方框有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文使用的术语目的只是描述特定的实施例,而不用于限制本发明。如本文所使用的,单数形式的“一”、“一个”和“所述”也用于包括复数形式,除非上下文另有明确说明。还要理解,当在本说明书中使用术语“包括”和/或“包含”时,规定所述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除可以存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合。
所附权利要求中相应的结构、材料、动作、和所有装置或步骤加上功能元件的等同方式意在包括任何用于根据明确要求结合其他要求保护的元件执行所述功能的结构、材料或动作。为了示出和描述的目的对本发明进行描述,但并非意在穷举或以所揭示的形式限制本发明。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见。为了最好地解释本发明的原理和实际应用,以及使本领域的其他技术人员能够理解本发明以通过各种修改做出各种适合于预期的特定用途的实施例,选择和描述了实施例。
图1示出了根据本发明的实施例的系统的实施例。计算机系统100可操作地耦合到处理器或处理单元106、存储器101和总线109,所述总线109将各种系统元件进行耦合,包括将存储器101耦合到处理器106。总线109表示一个或多个多种总线结构中的任何总线结构,包括存储器总线或存储器控制器、外围总线、加速图形端口、和使用各种总线体系结构中的任何总线体系结构的处理器或局部总线。存储器101可以包括易失性存储器形式的计算机可读介质,诸如随机访问存储器(RAM)102或高速缓冲存储器103、或非易失性存储介质104。存储器101可以包括至少一个程序产品,该程序产品具有一组至少一个程序代码模块105,该程序代码模块105被配置成当被处理器106执行时执行本发明的实施例的功能。计算机系统100还可以经由I/O接口107与一个或多个外部设备111(诸如显示器110)通信。计算机系统100可以经由网络适配器108与一个或多个数据库管理系统(DBMS)112通信。
图2示出了根据本发明的实施例的用于定义数据库对象以用于在存储体系中进行存储的方法。数据库对象可以包括数据库的表格、索引等。该方法观察在预定时间期间对多个数据库对象的访问频率(201)。该方法基于观察的对数据库对象的访问频率来计算针对多个数据库对象的均值和标准差(deviation)(202)。对于给定的数据库对象,方法基于对给定对象的访问频率与针对多个数据库对象计算的均值和标准差的比较,来确定z分数(z-score)(203)。在该实施例中,z分数表示以标准差为单位的对给定数据库对象的访问频率与被观察的所有数据库对象的均值和标准差之间的差。然后该方法确定存储体系中对应于给定数据库对象的z分数的层级(204)。然后数据库对象可以被存储或移动到存储体系中对应于其z分数的层级。在该实施例中,当检测到新的数据库对象访问时,该方法将增量时间(ΔT)计算为当前时间减去对数据库对象的最近访问的时间戳。然后使用ΔT更新对数据库对象的累积统计,所述累积统计包括:对数据库对象的观察的计数N;对数据库对象的ΔT的和(∑ΔT);和对数据库对象的ΔT的平方和(∑(ΔT2))。这三个累积统计使得能够计算数据库对象的均值和标准差,而不必保存每个访问的时间戳。
在一个实施例中,连续监测数据库的活动。在一些情况下,该连续监测为了保存捕获的信息对性能和暂时存储产生负面影响。为了解决对性能和暂时存储的影响,根据本发明的另一个实施例间歇地监测数据库的活动。然而,利用间歇监测,由于谐波混淆可能会丢失整个周期性活动。例如,如果在每个小时的第一分钟启用监测,而每隔四个小时在半小时的时候安排工作运行十分钟,那么监视器就永远捕获不到该工作进行的访问有关的信息。在该实施例中,如下面进一步所述的,该方法通过使观察窗口在更大的采集窗口内随机分布,来避免由于谐波混淆而丢失访问。
图3示出了根据本发明的实施例的用于对存储访问频率进行间歇采样的方法。首先,该方法确定采集窗口的持续时间或大小(301)。该方法还确定采集窗口内的观察窗口的持续时间和大小(302)。随机选择采集窗口内的观察窗口的位置(303)。然后该方法在观察窗口期间观察对数据库对象的访问频率(304)。在该实施例中,允许用户选择时间的百分比,从而启用对存储访问的观察。例如,假设采集窗口的持续时间为100分钟,即,每100分钟,现有的采集窗口结束,并且新的采集窗口开始。还假设用户选择观察1%的时间。从而观察窗口被确定为一分钟长(100分钟的1%)。该方法随机选择100分钟的采集窗口内的一分钟观察窗口的位置,在该观察窗口期间观察数据库事件。在剩下的采集窗口中,禁用观察。对于在该一分钟观察窗口期间发生的任何数据库对象访问,如上所述,为数据库对象将ΔT计算为当前时间减去在观察窗口内对数据库对象的最近访问的时间戳。以这种方式,可以至少观察到一次定期安排的工作进行的数据库对象访问。当在延长的时间段上观察时,观察的对数据库对象的访问频率将非常接近真实频率,如同观察到每次访问一样。
通常,丢弃每个观察窗口的第一个和最后一个数据点。然而,当对数据库对象的访问之间的时间大时,丢弃第一个和最后一个数据点将会导致ΔT不能被准确计算。例如,当对数据库对象的第一次访问在一个观察窗口内,而直到另一个观察窗口才有下一个观察时,不能用和上面相同的方式计算ΔT。进一步地,当访问频率低时,一些观察窗口可能观察不到任何访问。本发明的一个实施例通过减去在包括对数据库对象的两个连续的访问观察的两个观察窗口之间禁用观察的时间量解决了该问题。例如,图4A示出了两个观察窗口W1和W2。对于W1和W2之间的时间段D1,禁用观察。在该示例中,假设第一次观察到对数据库对象的访问发生在观察窗口W1的时间T1。还假设下一次观察到对数据库对象的访问发生在观察窗口W2的时间T2时,W1和W2之间没有观察。在这种情况下,计算ΔT等于T2-T1-(D1的宽度)。从ΔT的计算中去除禁用观察的时间段D1,好像两个观察窗口W1和W2彼此紧邻那样计算ΔT。
作为另一个例子,图4B示出了三个观察窗口W1-W3。对于时间段D1和D2,禁用观察。在该示例中,假设第一次观察到对数据库对象的访问发生在观察窗口W1的时间T1。还假设下一次观察到对数据库对象的访问发生在观察窗口W3的时间T2。在观察窗口W2中没有观察到对数据库对象的访问。在这种情况下,计算ΔT等于T2-T1-(D1的宽度)-(D2的宽度)。从ΔT的计算中去除禁用观察的时间段D1和D2。注意,不从ΔT中减去观察窗口W2的宽度,即使其中没有观察到访问,因为W2表示在其期间观察被启用的时间,从而W2期间没有访问表示与对数据库对象的真实访问频率有关的信息。以这种方式,还能够对于低频访问计算ΔT。
在一些数据库系统中,事件监视器被用于监测数据库的活动,并用于观察对数据库对象的访问。可以用两个开关来实现事件监视器,一个启用和禁用监视器本身的状态开关和针对数据库工作负载的采集子句(collect clause)形式的另一个开关。出于性能的考虑,活动将不会采集监测信息,除非在工作负载开始时采集子句在数据库工作负载上有效,而该信息不会到达事件监视器,除非在工作负载结束时事件监控器本身被启用。然而,当状态和采集子句两者都被切换指示观察窗口的开始和结束,则可能永远观察不到在观察窗口开始前开始和/或在观察窗口结束后结束的长期运行的活动。为了解决该问题,可以将两个开关之一一直保持在“开启”或启用位置。这样,给定访问是否将被观察到仅取决于在单个时间点对所述访问及时进行的单次检查。如果所述单次检查落入观察窗口内,则访问将被观察到。
虽然上面在数据库对象的环境下描述了本发明的实施例,但是可以在不脱离本发明的精神和范围的情况下以上述方式对任何存储对象进行间歇采样。而且,间歇现象在性质上可以为时间和/或空间的。空间间歇性的一个示例为当对几个非相邻的空间段而不是前述示例中的时间段进行观察时,计算感兴趣的项发生的空间频率。在这种情况下,在图4A和图4B中标记为“时间”的轴可以被重新标记为“距离”,并在所有其他方面,可以采用和原有的示例中一样的计算。
为了示出的目的对本发明各种实施例进行了描述,但是不意在穷尽或限于所揭示的实施例。在不脱离所述实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将显而易见。这里使用的术语被选择用来最好地解释实施例的原理、实际应用或对市场上可见的技术进行的技术改进,或者用于使本领域的其他普通技术人员能够理解本文所揭示的实施例。
Claims (13)
1.一种用于对存储访问频率进行间歇采样的方法,所述方法由计算处理器执行,所述方法包括:
通过以下方式间歇性监测对一个或多个存储对象的访问的频率:
由所述计算处理器确定采集窗口的持续时间;
由所述计算处理器确定所述采集窗口内的观察窗口的持续时间;
由所述计算处理器随机选择所述采集窗口内的所述观察窗口的位置;以及
由所述计算处理器在所述观察窗口期间观察对所述一个或多个存储对象的访问频率,
用通过间歇性监测所观察到的对所述一个或多个存储对象访问的频率来近似在所述采集窗口内对所述一个或多个存储对象的访问频率的连续性监测,以确定所述一个或多个存储对象中的给定存储对象在存储体系中存储的级别。
2.根据权利要求1所述的方法,其中观察对一个或多个存储对象的访问频率包括:
确定对给定存储对象的新的访问发生;以及
响应于确定对给定存储对象的新的访问发生,将给定存储对象的增量时间计算为所述新的访问的时间减去最近观察的对所述给定存储对象的在先访问的时间戳。
3.根据权利要求2所述的方法,其中将所述增量时间计算为所述新的访问的时间减去最近观察的对所述给定存储对象的在先访问的时间戳包括:
将在两个不同的观察窗口中对给定存储对象的两次连续访问的增量时间计算为好像所述两个不同的时间窗口彼此紧邻一样。
4.根据权利要求3所述的方法,其中观察对一个或多个存储对象的访问频率包括:
在第一观察窗口W1和第二观察窗口W2中观察对所述一个或多个存储对象的访问频率,其中在W1和W2之间的时间段D1期间观察被禁用;
在W1中的第一时间T1观察对所述给定存储对象的第一次访问和在W2中的第二时间T2观察对所述给定存储对象的第二次访问,其中T1和T2之间没有观察到对所述给定存储对象的访问;以及
将所述增量时间计算为等于T2-T1-(D1的宽度)。
5.根据权利要求3所述的方法,其中观察对一个或多个存储对象的访问频率包括:
在第一观察窗口W1、第二观察窗口W2和第三观察窗口W3中观察对所述一个或多个存储对象的访问频率,其中在W1和W2之间的时间段D1期间和在W2和W3之间的时间段D2期间观察被禁用;
在W1中的第一时间T1观察对所述给定存储对象的第一次访问和在W3中的第二时间T2观察对所述给定存储对象的第二次访问,其中D1和D2期间观察被禁用,其中T1和T2之间没有观察到对所述给定存储对象的访问;以及
将所述增量时间计算为等于T2-T1-(D1的宽度)-(D2的宽度)。
6.根据权利要求1所述的方法,其中由事件监视器执行对所述一个或多个存储对象的访问频率的观察,其中使用用于所述事件监视器的状态开关和用于数据库工作负载的采集子句来启用和禁用由所述事件监视器进行的监测,其中所述状态开关或所述采集子句保持在启用位置。
7.根据权利要求2所述的方法,还包括:
基于所观察的对所述多个存储对象的访问频率来计算所述多个存储对象的均值和标准差;
基于所述增量时间上为所述给定存储对象计算的均值和所述多个存储对象的均值和标准差来确定所述给定存储对象的z分数;以及
确定存储体系中对应于所述给定存储对象的z分数的层级。
8.一种用于对存储访问频率进行间歇采样的系统,包括:
处理器;以及
具有计算机可读程序代码的计算机可读存储介质,所述程序代码可由处理器执行以:
通过以下方式间歇性监测对一个或多个存储对象的访问的频率:
确定采集窗口的持续时间;
确定所述采集窗口内的观察窗口的持续时间;
随机选择所述采集窗口内的所述观察窗口的位置;以及
在所述观察窗口期间观察对一个或多个存储对象的访问频率,
用通过间歇性监测所观察到的对所述一个或多个存储对象访问的频率来近似在所述采集窗口内对所述一个或多个存储对象的访问频率的连续性监测,以确定所述一个或多个存储对象中的给定存储对象在存储体系中存储的级别。
9.根据权利要求8所述的系统,其中可由所述处理器执行以观察对一个或多个存储对象的访问频率的所述程序代码还可由所述处理器执行以:
确定对给定存储对象的新的访问发生;以及
响应于确定对所述给定存储对象的新的访问发生,将所述给定存储对象的增量时间计算为所述新的访问的时间减去最近观察的对所述给定存储对象的在先访问的时间戳。
10.根据权利要求9所述的系统,其中可由所述处理器执行以将所述增量时间计算为所述新的访问的时间减去最近观察的对所述给定存储对象的在先访问的时间戳的所述程序代码还可由所述处理器执行以:
将在两个不同的观察窗口中对给定存储对象的两次连续访问的增量时间计算为好像所述两个不同的时间窗口彼此紧邻一样。
11.根据权利要求10所述的系统,其中可由所述处理器执行以观察对所述一个或多个存储对象的访问频率的所述程序代码还可由所述处理器执行以:
在第一观察窗口W1和第二观察窗口W2中观察对所述一个或多个存储对象的访问频率,其中在W1和W2之间的时间段D1期间观察被禁用;
在W1中的第一时间T1观察对所述给定存储对象的第一次访问和在W2中的第二时间T2观察对所述给定存储对象的第二次访问,其中T1和T2之间没有观察到对所述给定存储对象的访问;以及
将所述增量时间计算为等于T2-T1-(D1的宽度)。
12.根据权利要求10所述的系统,其中可由所述处理器执行以观察对所述一个或多个存储对象的访问频率的所述程序代码还可由所述处理器执行以:
在第一观察窗口W1、第二观察窗口W2和第三观察窗口W3中观察对所述一个或多个存储对象的访问频率,其中在W1和W2之间的时间段D1期间和在W2和W3之间的时间段D2期间观察被禁用;
在W1中的第一时间T1观察对所述给定存储对象的第一次访问和在W3中的第二时间T2观察对所述给定存储对象的第二次访问,其中D1和D2期间观察被禁用,其中T1和T2之间没有观察到对所述给定存储对象的访问;以及
将所述增量时间计算为等于T2-T1-(D1的宽度)-(D2的宽度)。
13.根据权利要求9所述的系统,其中所述程序代码还可由所述处理器执行以:
基于所观察的对所述多个存储对象的访问频率来计算所述多个存储对象的均值和标准差;
基于所述增量时间上为所述给定存储对象计算的均值和所述多个存储对象的均值和标准差来确定所述给定存储对象的z分数;以及
确定存储体系中对应于所述给定存储对象的z分数的层级。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/018,115 US9471249B2 (en) | 2013-09-04 | 2013-09-04 | Intermittent sampling of storage access frequency |
US14/018,115 | 2013-09-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424035A CN104424035A (zh) | 2015-03-18 |
CN104424035B true CN104424035B (zh) | 2018-10-02 |
Family
ID=52584869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410444496.1A Expired - Fee Related CN104424035B (zh) | 2013-09-04 | 2014-09-03 | 用于对存储访问频率的间歇采样的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9471250B2 (zh) |
CN (1) | CN104424035B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912405B (zh) * | 2016-04-28 | 2019-01-29 | 浪潮(北京)电子信息产业有限公司 | 一种任务部署方法及装置 |
US11216349B2 (en) | 2018-10-12 | 2022-01-04 | Micron Technology, Inc. | Reactive read based on metrics to screen defect prone memory blocks |
CN113962923B (zh) * | 2021-07-19 | 2023-03-10 | 中国科学院地理科学与资源研究所 | 一种抽样对象确定方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5954820A (en) * | 1997-09-26 | 1999-09-21 | International Business Machines Corporation | Portable computer with adaptive demand-driven power management |
CN101499073A (zh) * | 2008-01-29 | 2009-08-05 | 国际商业机器公司 | 基于访问频率的连续存储数据的存储管理方法和系统 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5950185A (en) | 1996-05-20 | 1999-09-07 | Lucent Technologies Inc. | Apparatus and method for approximating frequency moments |
US5758338A (en) | 1996-08-28 | 1998-05-26 | Lucent Technologies Inc. | Method for characterizing information in data sets using multifractals |
JP3550929B2 (ja) | 1997-01-28 | 2004-08-04 | 富士通株式会社 | 対話型ハイパーテキスト情報参照システムにおける参照回数計数装置及び方法 |
DE19961499A1 (de) | 1999-12-20 | 2001-07-05 | Ericsson Telefon Ab L M | Caching von Objekten in Platten-gestützten Datenbanken |
US7287020B2 (en) | 2001-01-12 | 2007-10-23 | Microsoft Corporation | Sampling for queries |
US6507893B2 (en) | 2001-01-26 | 2003-01-14 | Dell Products, L.P. | System and method for time window access frequency based caching for memory controllers |
US6851064B2 (en) * | 2001-08-22 | 2005-02-01 | Hewlett-Packard Development Company, L.P. | Fine-grained thermal control in memory subsystems |
JP2003216460A (ja) * | 2002-01-21 | 2003-07-31 | Hitachi Ltd | 階層ストレージ装置及びその制御装置 |
US8126742B2 (en) | 2003-05-09 | 2012-02-28 | Accenture Global Services Limited | Automated assignment of insurable events |
US20040267746A1 (en) | 2003-06-26 | 2004-12-30 | Cezary Marcjan | User interface for controlling access to computer objects |
US20050203881A1 (en) | 2004-03-09 | 2005-09-15 | Akio Sakamoto | Database user behavior monitor system and method |
US9092558B2 (en) | 2004-04-05 | 2015-07-28 | International Business Machines Corporation | Grouping frequently referenced data items to co-locate for cache utilization |
US7177883B2 (en) | 2004-07-15 | 2007-02-13 | Hitachi, Ltd. | Method and apparatus for hierarchical storage management based on data value and user interest |
US8707160B2 (en) | 2006-08-10 | 2014-04-22 | Yahoo! Inc. | System and method for inferring user interest based on analysis of user-generated metadata |
US8255915B1 (en) | 2006-10-31 | 2012-08-28 | Hewlett-Packard Development Company, L.P. | Workload management for computer system with container hierarchy and workload-group policies |
US20090300283A1 (en) | 2008-05-29 | 2009-12-03 | Yutaka Kudo | Method and apparatus for dissolving hot spots in storage systems |
US8380942B1 (en) | 2009-05-29 | 2013-02-19 | Amazon Technologies, Inc. | Managing data storage |
EP2480974B1 (en) | 2009-09-21 | 2018-09-05 | Qualcomm Incorporated | Distributed content storage and retrieval |
US8620849B2 (en) | 2010-03-10 | 2013-12-31 | Lockheed Martin Corporation | Systems and methods for facilitating open source intelligence gathering |
US8839027B2 (en) | 2010-04-06 | 2014-09-16 | Dell Products L.P. | System and method for redundant object storage |
US20110270968A1 (en) | 2010-04-30 | 2011-11-03 | Salsburg Michael A | Decision support system for moving computing workloads to public clouds |
TW201205309A (en) | 2010-07-30 | 2012-02-01 | Chii Ying Co Ltd | Electronic system-based statistical graph rendering method and computer program product |
US20120317249A1 (en) | 2011-06-13 | 2012-12-13 | Salsburg Michael A | Methods and systems for extreme capacity management |
GB2486490A (en) | 2010-12-17 | 2012-06-20 | Royal Holloway & Bedford New College | Method for structuring a network |
US8788508B2 (en) | 2011-03-28 | 2014-07-22 | Microth, Inc. | Object access system based upon hierarchical extraction tree and related methods |
US8639899B2 (en) | 2011-04-26 | 2014-01-28 | Hitachi, Ltd. | Storage apparatus and control method for redundant data management within tiers |
US20120317337A1 (en) * | 2011-06-09 | 2012-12-13 | Microsoft Corporation | Managing data placement on flash-based storage by use |
US20130174176A1 (en) | 2012-01-04 | 2013-07-04 | Infinidat Ltd. | Workload management in a data storage system |
US8725936B2 (en) * | 2012-03-30 | 2014-05-13 | Hitachi, Ltd. | Storage system with flash memory, and storage control method |
-
2014
- 2014-06-12 US US14/303,476 patent/US9471250B2/en not_active Expired - Fee Related
- 2014-09-03 CN CN201410444496.1A patent/CN104424035B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5954820A (en) * | 1997-09-26 | 1999-09-21 | International Business Machines Corporation | Portable computer with adaptive demand-driven power management |
CN101499073A (zh) * | 2008-01-29 | 2009-08-05 | 国际商业机器公司 | 基于访问频率的连续存储数据的存储管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US9471250B2 (en) | 2016-10-18 |
CN104424035A (zh) | 2015-03-18 |
US20150067199A1 (en) | 2015-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11269834B2 (en) | Detecting quasi-identifiers in datasets | |
CN104424361B (zh) | 自动定义热存储和大工作负载 | |
US20160328434A1 (en) | Dynamic test case prioritization for relational database systems | |
US10254369B2 (en) | Pipeline engine for specifying, visualizing, and analyzing MRI image reconstructions | |
CN109582485A (zh) | 一种配置变更异常检测方法及装置 | |
US10754749B2 (en) | Assessment of processor performance metrics by monitoring probes constructed using instruction sequences | |
US9218199B2 (en) | Identifying thread progress information by monitoring transitions between interesting states | |
CN104424035B (zh) | 用于对存储访问频率的间歇采样的方法和系统 | |
Chen et al. | ARF-predictor: Effective prediction of aging-related failure using entropy | |
Brunst et al. | Comprehensive performance tracking with vampir 7 | |
US20160246697A1 (en) | Hardware-based edge profiling | |
CN106201839A (zh) | 一种业务对象的信息加载方法和装置 | |
Watson et al. | Sanzu: A data science benchmark | |
US8612952B2 (en) | Performance optimization based on data accesses during critical sections | |
CN110427278A (zh) | 异常检测方法和装置 | |
CN109255001A (zh) | 接口实例库的维护方法及装置、电子设备 | |
CN108140047B (zh) | 数据处理装置和方法以及数据容器结构 | |
US20190393888A1 (en) | Hardware accelerated compression of instrumentation data | |
CN109782978A (zh) | 列表内容选取方法及装置 | |
US9740588B2 (en) | Performance enhancement mode selection tool | |
US20170168875A1 (en) | Hardware access counters and event generation for coordinating multithreaded processing | |
US20210255829A1 (en) | Ordering records for timed meta-data generation in a blocked record environment | |
US20210064504A1 (en) | Filtering based on instruction execution characteristics for assessing program performance |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181002 |
|
CF01 | Termination of patent right due to non-payment of annual fee |