CN103718163A - 数据在存储设备上的碎片中的放置 - Google Patents

数据在存储设备上的碎片中的放置 Download PDF

Info

Publication number
CN103718163A
CN103718163A CN201280036809.9A CN201280036809A CN103718163A CN 103718163 A CN103718163 A CN 103718163A CN 201280036809 A CN201280036809 A CN 201280036809A CN 103718163 A CN103718163 A CN 103718163A
Authority
CN
China
Prior art keywords
fragment
data set
fragments
data
performance
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.)
Granted
Application number
CN201280036809.9A
Other languages
English (en)
Other versions
CN103718163B (zh
Inventor
T·E·卡普林格
N·高尔
K·S·博盖尔
C·D·约翰逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103718163A publication Critical patent/CN103718163A/zh
Application granted granted Critical
Publication of CN103718163B publication Critical patent/CN103718163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/217Hybrid disk, e.g. using both magnetic and solid state 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种用于将数据放置在存储设备上的碎片中的方法、系统和计算机程序产品可以包括确定数据集在存储设备上的多个碎片中的一个碎片中的放置。碎片中的每个碎片可以包括不同的至少一个性能特征。每个不同的至少一个性能特征可以对应于与特定数据集关联的不同的至少一个预定特性。数据集被高速缓存在存储设备上的多个碎片中、包括对应于与正在被高速缓存的数据集关联的至少一个预定特性的至少一个性能特征的一个碎片。

Description

数据在存储设备上的碎片中的放置
技术领域
本发明的各个方面涉及在存储设备上高速缓存数据,并且更具体地涉及一种用于将数据放置在在高速缓存器件或其它数据存储设备上的碎片中的方法、系统和计算机程序产品。
背景技术
可以使用如下不同类型的数据存储单元将数据存储设备(诸如高速缓存器件或其它存储设备)进行分区,该数据存储单元可以具有用于存储不同数据类型或数据集的不同性能特性。不同的数据类型或数据集可以具有不同的需要,诸如持久性、可访问性或其它特性。相同软件版本的多个拷贝可以被存储在高速缓存器件或存储设备的不同数据存储单元上。垂直群集化指代在相同物理机(例如应用服务器)上限定群集成员的实践。经验显示,由单个Java虚拟机(JVM)进程实施的单个应用服务器不能总是完全利用大型多处理器机的处理器功率和随机访问存储器(RAM)。利用垂直群集成员进行群集化提供了用于创建多JVM进程的直接机制,多JVM进程在一起能够完全利用全部可用处理功率和存储器。群集解决方案的一个缺点是,它们没有考虑这些JVM进程或安装的放置在何处保持它们的运行时相关数据。对于高速缓存器件、并且特别地对于高速缓存数据,存在对于关于在何处保持该数据、多频繁地访问该数据、以及在访问该数据时实际吞吐量是多少进行优化的需求。还可以存在规定关于数据持久性、访问速度、在访问数据时的吞吐量的要求、以及其它性能特性或要求的服务等级协议。
发明内容
根据本发明的一个方面,一种用于在存储设备上的碎片中放置数据的方法可以包括,确定数据集在所述存储设备上的多个碎片中的一个碎片中的放置。所述碎片中每个碎片可以包括不同的至少一个性能特征。每个不同的至少一个性能特征可以对应于与特定数据集关联的不同的至少一个预定特性。数据集被高速缓存在存储设备上的多个碎片中的、包括对应于与正在被高速缓存的所述数据集关联的所述至少一个预定特性的所述至少一个性能特征的一个碎片中。
根据本发明的另一个方面,系统可以包括用于存储数据的存储设备。存储设备可以包括多个碎片。碎片中的每个可以包括不同的至少一个性能特征。每个不同的至少一个性能特征可以对应于与特定数据集关联的不同的至少一个预定特性。数据集被高速缓存在存储设备上的多个碎片中的、包括对应于与正在被高速缓存的数据集相关的至少一个预定特性的至少一个性能特征的一个碎片中。
根据本发明的另一方面,一种用于将数据放置在存储设备上的碎片中的计算机程序产品可以包括具有随之具体化的计算机可读程序代码的计算机可读存储介质。计算机可读程序代码可以包括被配置用于确定数据集在存储设备上的多个碎片中的一个碎片中的放置的计算机可读程序代码。碎片中的每个碎片可以包括不同的至少一个性能特征。每个不同的至少一个特性特征可以对应于与特定数据集关联的不同的至少一个预定特性。计算机可读程序代码还可以包括被配置用于在存储设备上的多个碎片中的、包括对应于与正在被高速缓存的所述数据集关联的所述至少一个预定特性的所述至少一个性能特征的一个碎片中高速缓存数据集的计算机可读程序代码。
附图说明
将随后参照经注释的多个附图、以本发明的实施方式的非限制性示例的方式来进一步详细描述本发明,其中在附图的全部若干视图中,相似的标号代表相似的部分,并且其中:
图1是根据本发明的一个实施方式的用于在高速缓存器件或其它存储设备上的碎片放置的方法的一个示例的流程图。
图2是根据本发明的一个实施方式的系统的一个示例的方框示意图,该系统包括在高速缓存器件上的多个碎片。
具体实施方式
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中实施的计算机程序产品的形式,该计算机可读介质上包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者以上的任意组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是除计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言的任意组合来编写用于执行用于本发明各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行,部分地在用户计算机上执行,作为一个独立的软件包执行,部分在用户计算机上部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如,利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些通过计算机或其它可编程数据处理装置的处理器执行的计算机程序指令,产生实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
根据本发明的一个方面,可以考虑到多个碎片或数据存储单元中的每个或存储设备上的实体的性能特征来执行对于在存储设备或高速缓存器件上恰当放置持久性数据的确定。对持久性数据的恰当放置的确定可以考虑与该数据关联的预定特性和服务等级协议(SLA)的任何要求,诸如持久性的等级或程度、访问速度、吞吐量以及其它性能特性。高速缓存器件和其它数据存储设备可以提供从仅存储器(RAM等)到持久化到磁盘或硬盘驱动的各种等级的持久性。这些各种数据存储单元或部件中的每个具有无论是否在用于购买存储单元以加速访问数据的实际成本方面的关联成本,以及这种成本之间的各种组合。运行中的高速缓存器件的运行时特性可以被用于确定与高速缓存器件或其它存储设备关联的哪个数据存储单元的模型或者组合可以最适合应用的数据持久性和访问要求、以及可以与该应用关联的任何SLA的要求。
图1是根据本发明的一个实施方式的用于在高速缓存应用或其它存储设备上的碎片放置的方法100的一个示例的流程图。在框102中,可以在高速缓存器件上提供多个碎片。每个碎片可以是包括不同性能特征的不同类型的数据存储设备或单元。碎片是用于对在高速缓存器件或其它类型的数据存储设备中的数据进行分区的常用手段。每个碎片的不同性能特征的示例可以包括持久性级别或程度、访问数据的速度、在访问数据时的实际吞吐量、以及可能具有基于与高速缓存器件关联的应用的重要性或者可以在SLA中被规定为性能标准的任何其他性能特征。
多个碎片可以包括主碎片以及次级碎片或备份碎片。主碎片可以是数据存储设备或单元,其用于需要最高持久性等级和最高访问速度和吞吐量等级的数据。主碎片可以是应用为了获得所请求的数据而最先访问的碎片。次级碎片或备份碎片可以是数据存储设备或单元,其用于要求较低持久性等级和较慢访问速度和吞吐量要求的数据。与主碎片相比,次级碎片通常是更便宜的存储设备,并且一般将只在主碎片不可用时才需要。可以包括三级碎片,其可以是可以无持久性要求并且具有与主碎片和次级碎片或备份碎片相比更慢的访问速度和吞吐量的数据存储设备或单元。三级碎片通常将是最便宜的数据存储设备,并且将只有在主碎片和次级碎片都不可用时才被访问。因此,主和次级碎片将相对于对于持久性数据被应用访问的存储器访问而言占据具有更高性能特性或特征的高级空间。
因此,每个碎片可以包括不同的性能特征,并且每个不同的性能特征可以对应于与可以在高速缓存器件上被高速缓存并且可能被SLA要求的特定数据集相关联的不同预定特性。性能特征和对应的与特定数据集关联的预定特性可以包括预定义的持久性等级、用于访问数据的预定义访问速度、预定义的吞吐量或者其它预定义的特性。
在框104中,基于碎片的如下性能特征可以对于每个数据集在多个碎片中之一中的放置做出确定,该碎片的性能特征对应于与正被高速缓存的数据关联的预定特性连同任意SLA要求。
根据本发明的一个方面,每个数据集可以在高速缓存之前用标记名称(tag designation)来加标记。标记名称可以对应于多个碎片中的、其中将要高速缓存数据集的碎片。可以基于预定的特性或与数据集关联的特性,以及与SLA或其它预定义标准关联的任何要求来标记每个数据集。因此,可以基于预定的特性、或与数据集关联的特性,以及与SLA或其它预定义标准关联的任何要求,用标记名称来标记每个数据集,以将数据集高速缓存在主碎片、次级碎片或备份碎片、或者另一碎片中。
在框106中,可以如可以由SLA或其他预定义操作标准所要求的那样,将数据集高速缓存在特定的碎片中,该碎片具有对应于与正在高速缓存的数据关联的的一个或多个特性的一个或多个性能特征。
在框108中,可以基于SLA或其他标准,针对每个高速缓存的数据集做出该数据集是否要求更高等级的性能(诸如该数据集需要被持久化或需要更高等级的持久性、更快的访问速度或其他增强的性能特性)的确定。在框110中,如果做出数据集不需要更高等级的性能、或者数据不需要被持久化的确定,则方法100可以在框112中考虑在高速缓存器件中的下个该数据集,并且方法100可以返回到框108。方法100然后可以如上所述继续。
如果在框110中做出需要更高等级的性能、或者数据集需要被持久化或需要更高等级的持久性的确定,则方法100可以前进到框114。在框114中,可以将数据集提升到主碎片或者表现更高等级的性能的碎片。可以将对应于所提升的数据集的次级数据集迁移到次级碎片或备份碎片中,或者迁移到该次级数据集当前被高速缓存处的下一更高等级的碎片中。
图2是根据本发明的一个实施方式的包括高速缓存器件202或其它数据存储设备的系统200的一个示例的方框示意图。高速缓存器件202的一个示例可以是IBM WebSphere DataPower XC10高速缓存器件或者包括多个碎片的类似高速缓存器件。IBM、WebSphere和DataPower是国际商业机器有限公司在美国、其它国家或者在两者的商标。
高速缓存器件202可以包括多个碎片。在图2所示的示例中,高速缓存器件202可以包括主碎片或碎片-1204、次级碎片或碎片-2206和三级碎片,碎片-3208。每个碎片可以包括具有其自身性能特性的数据存储单元或实体,该性能特性可以与其它碎片彼此不同。如上所述,碎片204、206和208中的每个可以基于SLA209,或者基于可以对应于碎片204、206和208中的每个的不同性能特征的其它标准来具有不同的性能特性,以便用关联的操作特性高速缓存数据集。
例如,第一碎片204可以是固态驱动。第二碎片206可以是基本硬盘驱动,并且第三碎片208可以是存储器设备(诸如RAM或其它存储器)。基于这些数据存储单元中的每个的性能特征或特性以及SLA或其它性能标准,可以基于碎片204、206和208中的每个的相对性能特征将这些设备指定为主和次级或备份。例如,固态驱动,第一碎片204,提供与存储器——第三碎片208相似的访问速度,而且还提供与硬盘驱动——第二碎片206相似的持久性等级。缺点在于固态驱动的成本比传统硬盘更贵,特别是在考虑盘的大小时。
在图2图示的示例中,最初可以将主碎片放置在硬盘——碎片-2206上。这样做的原因可能仅在于硬盘提供了速度、大小和效率的最低通用标准。碎片-3208——存储器可以是次级碎片或备份碎片。经过一段时间,可以做出如下确定:被高速缓存或存储在硬盘驱动——碎片-2206上的数据集210b需要更高的性能等级,并且还需要基于预定义的SLA或其它预定义的标准而被持久化。可以将在碎片-1204中被高速缓存的对应数据集210a提升到主碎片,并且可以将在碎片-2206中的数据集迁移到次级或备份碎片,因为即使次级碎片或者在次级碎片中的数据集需要被持久化,碎片-3208——存储器也不提供这一点。这一过程可以针对在高速缓存器件202中高速缓存的每个数据集而持续。
系统200还可以包括处理器212或控制器,用于控制对高速缓存器件202的操作。关于图1所述的方法100或者方法100的一部分可以在处理器或控制器212上被具体化或执行。处理器或控制器212可以包括用于加标记的模块212、用于确定数据集是否要求更高执行碎片的模块214以及其它模块216。用于加标记的模块212可以执行与关于图1的框104所述的那些操作类似的操作。用于确定数据集是否要求更高执行碎片的模块214可以执行与关于图1的框108、112和114所述的那些操作类似的操作。
可以由处理器或控制器212使用SLA209或者来自SLA209的信息或要求,以便执行在此描述的操作。
服务器218可以耦合到高速缓存应用202。服务器218可以运行可以访问在高速缓存器件202的碎片204-208上高速缓存的数据集210a-210c的应用或程序。
在图2中示出的布图和设计的目的仅在于解释本发明,并且本发明不限于任何特定的设计。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个框可以代表一个模块、程序段或者代码的部分,所述模块、程序段或者代码的部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意到,在有些作为替换的实现中,框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,或者它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意到,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明所使用的术语仅仅是出于描述特定实施方式的目的,而并非旨在限制本发明的实施方式。当在本文中使用时,单数形式“一”、“一个”和“该”、“所述”旨在也包括复数形式,除非上下文另有明确说明。还将理解,当在本说明中使用时,术语“包括”和/或“包括……的”说明存在明确的特征、整体、步骤、操作、元件和/或部件,但是不排除存在或增加一个或多个其它特征、整体、步骤、操作、元件、部件和/或其组合。
在以下权利要求中的所有装置或步骤加功能元件的对应的结构、材料、动作和等同物旨在包括用于与具体提出的其它要求权利的元件协同执行功能的任何结构、材料或动作。呈现本发明的描述,是出于说明和描述的目的,而不是旨在穷举或限制公开类型的本发明的实施方式。在不背离本发明的实施方式的范围和精神的情况下,许多修改和变更对于本领域一般技术人员将是明显的。选择并描述实施方式以便于最佳地解释本发明的实施方式的原理以及实际应用,以及便于使本领域其他一般技术人员能够针对具有适合于所设想的特定用途的各种修改的各种实施方式来理解本发明的实施方式。
虽然已经在本发明中说明和描述了特定的实施方式,本领域一般技术人员应理解,为了实现相同目的的任何布置可以被示出的特定实施方式替代;并且应理解,本发明的实施方式在其它环境中由其它应用。本申请旨在涵盖本发明的任何修改或变化。下列权利要求绝非旨在将本发明的实施方式的范围限制在特定的本发明所述的特定实施方式。

Claims (20)

1.一种用于在存储设备上的碎片中放置数据的方法,包括:
确定数据集在所述存储设备上的多个碎片中的一个碎片中的放置,其中所述碎片中的每个碎片包括不同的至少一个性能特征,每个不同的至少一个性能特征对应于与特定数据集关联的不同的至少一个预定特性;以及
在所述存储设备上的所述多个碎片中的一个碎片中高速缓存所述数据集,所述一个碎片包括对应于与正在被高速缓存的所述数据集关联的所述至少一个预定特性的所述至少一个性能特征。
2.根据权利要求1所述的方法,其中确定所述数据集在所述多个碎片中的一个碎片中的放置包括:基于与正在被高速缓存的所述数据集关联的所述至少一个预定特性和服务等级协议的要求来确定所述数据集的所述放置。
3.根据权利要求2所述的方法,还包括:响应于与正在被高速缓存的所述数据集关联的所述至少一个预定特性和所述服务等级协议的所述要求,将所述数据集高速缓存到所述存储设备的所述多个碎片中的所述一个碎片中。
4.根据权利要求3所述的方法,其中与所述数据集关联的所述预定特性的至少一个预定特性和所述服务等级协议的所述要求包括:预定义持久性等级和用于访问在所述存储设备上高速缓存的所述数据集的预定义速度中的至少一个。
5.根据权利要求1所述的方法,还包括:在高速缓存前,用标记名称对所述数据集加标记,所述标记名称对应于所述多个碎片中将要在其中高速缓存所述数据集的所述一个碎片。
6.根据权利要求5所述的方法,还包括:响应于所述标记名称来高速缓存所述数据集。
7.根据权利要求5所述的方法,其中对所述数据集加标记包括:基于与所述数据集关联的所述至少一个预定特性来对所述数据集加标记,以便在主碎片和次级碎片之一中进行高速缓存。
8.根据权利要求5所述的方法,其中对所述数据集加标记包括:基于与所述数据集关联的所述至少一个所述预定特性和与服务等级协议关联的要求中的至少一个来对所述数据集加标记。
9.根据权利要求8所述的方法,其中对所述数据集加标记包括:至少基于与所述数据集关联的所述至少一个预定特性和与所述服务等级协议关联的所述要求来对所述数据集加标记,以便在主碎片、次级碎片和另一碎片之一中进行高速缓存。
10.根据权利要求9所述的方法,其中与所述数据集关联的所述预定特性和所述服务等级协议的所述要求中的至少一个包括:预定义持久性等级和用于访问在所述存储设备上高速缓存的所述数据集的预定义速度中的至少一个,并且其中所述主碎片包括比所述次级碎片更高的持久性等级和更高的访问速度。
11.根据权利要求1所述的方法,还包括:
确定所述数据集是否要求比当前在其中高速缓存所述数据集的所述多个碎片中的所述一个碎片的性能等级更高的性能;以及
将所述数据集提升到所述多个碎片中表现更高的性能等级的碎片,其中表现所述更高的性能等级的所述碎片包括更高持久性等级和更快数据访问速度。
12.根据权利要求11所述的方法,还包括:将对应于被提升的所述数据集的次级数据集迁移到所述多个碎片中比所述次级数据集当前被高速缓存处的碎片表现更高的等级的碎片。
13.一种系统,包括:
用于存储数据的存储设备;
在所述存储设备上的多个碎片,其中所述碎片中的每个碎片包括不同的至少一个性能特征,每个不同的至少一个性能特征对应于与特定数据集关联的不同的至少一个预定特性;以及
其中数据集在所述存储设备上的所述多个碎片中的一个碎片中被高速缓存,所述一个碎片包括对应于与正在被高速缓存的所述数据集关联的所述至少一个预定特性的所述至少一个性能特征。
14.根据权利要求13所述的系统,还包括:用于确定所述数据集在所述多个碎片中的一个碎片中的放置的处理器,所述一个碎片包括对应于与所述数据集关联的所述至少一个预定特性的所述至少一个性能特征和服务等级协议的要求。
15.根据权利要求13所述的系统,还包括:用于在高速缓存前用标记名称对所述数据集加标记的模块,所述标记名称对应于所述多个碎片中将要在其中高速缓存所述数据集的所述一个碎片。
16.根据权利要求13所述的系统,其中所述多个碎片包括:
主碎片;以及
次级碎片,其中所述主碎片的所述至少一个性能特征包括比所述次级碎片的所述至少一个性能特征更高等级的持久性和更快的数据访问速度。
17.根据权利要求13所述的系统,其中所述多个碎片包括第三碎片,其中所述次级碎片的所述至少一个性能特征包括比所述第三碎片的所述至少一个性能特征更高的等级的持久性和更快的数据访问速度。
18.根据权利要求13所述的系统,还包括:用于确定所述数据集是否要求比所述多个碎片中的当前在其中高速缓存所述数据集的所述一个碎片的性能等级更高的性能等级的模块,响应于确定所述数据集要求所述更高的性能等级,所述数据集被提升到所述多个碎片中表现更高的性能等级的碎片,其中表现所述更高的性能等级的所述碎片包括比当前在其中高速缓存所述数据集的所述碎片更高的持久性等级和更快的数据访问速度。
19.一种用于将数据放置在存储设备上的碎片中的计算机程序产品,所述计算机程序产品包括:
具有随之具体化的计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括:
被配置用于确定数据集在所述存储设备上的多个碎片中的一个碎片中的放置的计算机可读程序代码,其中所述碎片中的每个碎片包括不同的至少一个性能特征,每个不同的至少一个性能特征对应于与特定数据集关联的不同的至少一个预定特性;以及
被配置用于在所述存储设备上的所述多个碎片中的所述一个碎片中高速缓存所述数据集的计算机可读程序代码,所述一个碎片包括对应于与正在被高速缓存的所述数据集关联的所述至少一个预定特性的所述至少一个性能特征。
20.根据权利要求17所述的计算机程序产品,其中所述计算机可读程序代码还包括:被配置用于确定所述数据集在所述多个碎片中的、包括对应于与所述数据集关联的所述至少一个预定特性的所述至少一个性能特征和服务等级协议的要求的所述一个碎片中的放置的计算机可读程序代码。
CN201280036809.9A 2011-08-03 2012-07-24 数据在存储设备上的碎片中的放置 Active CN103718163B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/197,391 US9189405B2 (en) 2011-08-03 2011-08-03 Placement of data in shards on a storage device
US13/197,391 2011-08-03
PCT/CA2012/050498 WO2013016819A1 (en) 2011-08-03 2012-07-24 Placement of data in shards on a storage device

Publications (2)

Publication Number Publication Date
CN103718163A true CN103718163A (zh) 2014-04-09
CN103718163B CN103718163B (zh) 2018-01-30

Family

ID=47627713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280036809.9A Active CN103718163B (zh) 2011-08-03 2012-07-24 数据在存储设备上的碎片中的放置

Country Status (5)

Country Link
US (2) US9189405B2 (zh)
CN (1) CN103718163B (zh)
DE (1) DE112012002562T5 (zh)
GB (1) GB2508742B (zh)
WO (1) WO2013016819A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391770A (zh) * 2017-09-13 2017-11-24 北京锐安科技有限公司 一种处理数据的方法、装置、设备以及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448816B2 (en) * 2013-04-29 2016-09-20 Vmware, Inc. Virtual desktop infrastructure (VDI) caching using context
DE112013006633T5 (de) * 2013-12-25 2016-09-15 Hitachi, Ltd. Datensammel- und -verteilverfahren, Datensammel- und -verteilvorrichtung und Programm
US20190057045A1 (en) * 2017-08-16 2019-02-21 Alibaba Group Holding Limited Methods and systems for caching based on service level agreement
CN108965402A (zh) * 2018-06-21 2018-12-07 杭州领智云画科技有限公司 基于cdn的缓存方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230753A1 (en) * 2003-05-16 2004-11-18 International Business Machines Corporation Methods and apparatus for providing service differentiation in a shared storage environment
CN101174245A (zh) * 2006-11-02 2008-05-07 国际商业机器公司 混合数据存储的方法和装置
US20080114930A1 (en) * 2006-11-13 2008-05-15 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with cache having volatile and nonvolatile memory
US20090187711A1 (en) * 2004-11-08 2009-07-23 Commvault Systems, Inc. System and method for performing auxiliary storage operations
US7778972B1 (en) * 2005-12-29 2010-08-17 Amazon Technologies, Inc. Dynamic object replication within a distributed storage system
CN101907978A (zh) * 2010-07-27 2010-12-08 浙江大学 基于固态硬盘和磁性硬盘的混合存储系统及存储方法
US20110040937A1 (en) * 2009-08-11 2011-02-17 International Business Machines Corporation Hierarchical storage management for database systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7092977B2 (en) 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
US7136883B2 (en) * 2001-09-08 2006-11-14 Siemens Medial Solutions Health Services Corporation System for managing object storage and retrieval in partitioned storage media
JP2003216460A (ja) * 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
US6944715B2 (en) 2002-08-13 2005-09-13 International Business Machines Corporation Value based caching
JP2005539309A (ja) * 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
CA2564967C (en) 2004-04-30 2014-09-30 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US7529903B2 (en) 2005-07-05 2009-05-05 International Business Machines Corporation Systems and methods for memory migration
US9703706B2 (en) * 2011-02-28 2017-07-11 Oracle International Corporation Universal cache management system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230753A1 (en) * 2003-05-16 2004-11-18 International Business Machines Corporation Methods and apparatus for providing service differentiation in a shared storage environment
US20090187711A1 (en) * 2004-11-08 2009-07-23 Commvault Systems, Inc. System and method for performing auxiliary storage operations
US7778972B1 (en) * 2005-12-29 2010-08-17 Amazon Technologies, Inc. Dynamic object replication within a distributed storage system
CN101174245A (zh) * 2006-11-02 2008-05-07 国际商业机器公司 混合数据存储的方法和装置
US20080114930A1 (en) * 2006-11-13 2008-05-15 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with cache having volatile and nonvolatile memory
US20110040937A1 (en) * 2009-08-11 2011-02-17 International Business Machines Corporation Hierarchical storage management for database systems
CN101907978A (zh) * 2010-07-27 2010-12-08 浙江大学 基于固态硬盘和磁性硬盘的混合存储系统及存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391770A (zh) * 2017-09-13 2017-11-24 北京锐安科技有限公司 一种处理数据的方法、装置、设备以及存储介质
CN107391770B (zh) * 2017-09-13 2020-02-07 北京锐安科技有限公司 一种处理数据的方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
WO2013016819A1 (en) 2013-02-07
CN103718163B (zh) 2018-01-30
DE112012002562T5 (de) 2014-03-20
GB2508742A (en) 2014-06-11
US20130036267A1 (en) 2013-02-07
US9189406B2 (en) 2015-11-17
GB2508742B (en) 2020-04-22
US20130036269A1 (en) 2013-02-07
GB201402245D0 (en) 2014-03-26
US9189405B2 (en) 2015-11-17

Similar Documents

Publication Publication Date Title
CN103718163A (zh) 数据在存储设备上的碎片中的放置
JP2015511347A5 (zh)
US9454535B2 (en) Topical mapping
US20200167252A1 (en) Method and apparatus for managing storage system
US20200133871A1 (en) Method, device and computer program product for data writing
KR20110063313A (ko) 메시지 큐 내에서 논리적으로 연관된 메시지들의 자동화된 병합 방법
CN103914412B (zh) 用于存储设备中的流量优先化的方法,存储设备以及存储系统
CN105009089B (zh) 用于促进对指令违反行为的管理的设备和方法
US10698863B2 (en) Method and apparatus for clearing data in cloud storage system
US20200004464A1 (en) Method and apparatus for storing data
CN108897859A (zh) 一种元数据检索方法、装置、设备及计算机可读存储介质
CN109635020A (zh) 一种业务的处理方法、装置、设备及系统
CN106325974A (zh) 一种虚拟化io性能优化方法及系统
CN107615711A (zh) 用于事件传播的系统
CN111611479A (zh) 用于网络资源推荐的数据处理方法及相关装置
US9760577B2 (en) Write-behind caching in distributed file systems
CN104679575A (zh) 输入输出流的控制系统及其方法
US9436669B1 (en) Systems and methods for interfacing with dynamic web forms
CN108959450A (zh) 一种热门评论确定系统、方法、装置和可读介质
CN106528876B (zh) 分布式系统的信息处理方法及分布式信息处理系统
CN111026945B (zh) 多平台爬虫调度方法、装置和存储介质
Wattanasin et al. Apps to display patient data, making SMART available in the i2b2 platform
CN106464974A (zh) 经由多个网络连接请求媒体内容片段
CN107908552A (zh) 一种基于链接的测试方法、装置及设备
CN116661936A (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