用于数据存储的方法和设备技术

技术编号:11302387 阅读:48 留言:0更新日期:2015-04-15 20:14
本发明专利技术实施例提供了用于数据存储的方法和设备。所述方法包括:获取分配指令,所述分配指令指示目标数据和用于存储所述目标数据的目标存储介质;获取与所述目标数据有关的至少一个依赖组,其中所述依赖组指示与所述目标数据存在依赖关系的关联数据,并且其中在所述依赖组中作为中心数据的数据依赖于作为周边数据的数据;和在所述分配指令将使得所述目标数据和所述关联数据位于具有不同数据IO速率的存储介质的情况下,阻止所述分配指令的执行。采用根据本发明专利技术实施例的方案,可以有效地提高存储效率。

【技术实现步骤摘要】
用于数据存储的方法和设备
本专利技术涉及数据存储技术,更具体地说,涉及用于在存储设备的不同存储介质之间分配数据的方法和设备。
技术介绍
数据IO速率是存储设备的主要性能指标之一。现代的存储设备往往是异构的存储设备,即其包含不同的存储介质。其中最常见的存储介质是基于磁盘(magneticdisk)技术的硬盘驱动器(HardDiskDrive,HDD)和基于闪存技术的固态盘(SolidStateDisk,SSD)。HDD能够支持的数据IO速率受到磁片旋转和磁头移动等机械操作的速率的制约。SSD由于避免了磁片旋转和磁头移动等机械操作,数据IO速率远远高于HDD的数据IO速率。另一方面,SSD的成本也高于HDD,因此只能用于存储少部分的数据。存储设备还包括存储控制器,其控制数据在不同盘之间的分配。对于这种异构的存储设备,无法采用传统的针对同构存储设备的优化方法。这是因为同构存储设备中的存储介质均为同一种存储介质,而异构存储设备中的不同存储介质往往具有很大的性能和成本差异。因此,需要综合考虑数据属性、存储介质的性能、存储介质的成本,将不同属性的数据分配到不同的存储介质从而实现性能和成本的平衡,从而提高存储效率。作为基本的原则,将少数访问频率较高的数据存储在SSD中,将大部分访问频率较低的数据存储在HDD中。将特定数据存储在SSD还是HDD,可以由系统管理人员根据经验确定。另外,随着数据访问频率的变化,可以在HDD和SSD之间进行数据重新分配,即将访问频率较高的数据从HDD重新分配到SSD,将访问频率较低的数据从SSD重新分配到HDD。考虑到存储设备中所存储的数据的复杂性,简单地按照所述基本原则进行数据的分配可能并不能有效地提高存储效率。因此,需要一种新的方法来在存储设备的不同存储介质之间分配数据。
技术实现思路
本专利技术实施例提供了用于数据存储的方法和设备。根据本专利技术实施例的用于数据存储的方法包括:获取分配指令,所述分配指令指示目标数据和用于存储所述目标数据的目标存储介质;获取与所述目标数据有关的至少一个依赖组,其中所述依赖组指示与所述目标数据存在依赖关系的关联数据,并且其中在所述依赖组中作为中心数据的数据依赖于作为周边数据的数据;和在所述分配指令将使得所述目标数据和所述关联数据位于具有不同数据IO速率的存储介质的情况下,阻止所述分配指令的执行。根据本专利技术实施例的用于数据存储的设备包括:分配指令获取装置,配置为获取分配指令,所述分配指令指示目标数据和用于存储所述目标数据的目标存储介质;依赖组获取装置,配置为获取与所述目标数据有关的至少一个依赖组,其中所述依赖组指示与所述目标数据存在依赖关系的关联数据,并且其中在所述依赖组中作为中心数据的数据依赖于作为周边数据的数据;和阻止装置,配置为在所述分配指令将使得所述目标数据和所述关联数据位于具有不同数据IO速率的存储介质的情况下,阻止所述分配指令的执行。采用根据本专利技术实施例的方案,可以有效地提高存储效率。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1是适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图;图2是根据本专利技术实施例的用于数据存储的方法的流程图;图3是根据本专利技术实施例的用于数据存储的设备的方框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本专利技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将参照本专利技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本专利技术。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、本文档来自技高网
...
用于数据存储的方法和设备

【技术保护点】
一种用于数据存储的方法,该方法包括:获取分配指令,所述分配指令指示目标数据和用于存储所述目标数据的目标存储介质;获取与所述目标数据有关的至少一个依赖组,其中所述至少一个依赖组各自指示与所述目标数据存在依赖关系的关联数据,并且其中在所述依赖组中作为中心数据的数据依赖于作为周边数据的数据;和在所述分配指令将使得所述目标数据和所述依赖组所指示的关联数据位于具有不同数据IO速率的存储介质的情况下,阻止所述分配指令的执行。

【技术特征摘要】
1.一种用于数据存储的方法,该方法包括:获取分配指令,所述分配指令指示目标数据和用于存储所述目标数据的目标存储介质;获取与所述目标数据有关的至少一个依赖组,其中所述至少一个依赖组各自指示与所述目标数据存在依赖关系的关联数据,并且其中在所述依赖组中作为中心数据的数据依赖于作为周边数据的数据;和在所述分配指令将使得所述目标数据和所述依赖组所指示的关联数据位于具有不同数据IO速率的存储介质的情况下,阻止所述分配指令的执行。2.如权利要求1所述的方法,其中所述分配指令是升级分配指令,其用于将目标数据分配到作为目标存储介质的高速存储介质上,该方法进一步包括:修改所述升级分配指令,以便将所述依赖组所指示的关联数据也分配到高速存储介质上。3.如权利要求2所述的方法,其中在所获取的依赖组中,所述目标数据作为该依赖组的中心数据,所述关联数据作为该依赖组的周边数据。4.如权利要求3所述的方法,其中获取与所述目标数据有关的至少一个依赖组包括:获取多个依赖组,其中所述多个依赖组以同一目标数据为中心数据,并且所述多个依赖组分别具有对应的优先级信息;其中修改所述升级分配指令以便将所述依赖组所指示的关联数据也分配到高速存储介质上包括:在无法将该中心数据所依赖的全部周边数据都分配到高速存储介质的情况下,修改所述分配指令,以便将所述多个依赖组中优先级高的部分依赖组所指示的周边数据分配到高速存储介质中。5.如权利要求4中所述的方法,其中所述高速存储介质包括第一高速存储介质和第二高速存储介质,所述第一高速存储介质的数据IO速率高于所述第二高速存储介质,并且其中所述升级分配指令用于将所述目标数据分配到第一高速存储介质,所述修改所述分配指令以便将所述多个依赖组中优先级高的部分依赖组所指示的周边数据分配到高速存储介质中包括:修改所述分配指令,以便将所述优先级高的部分依赖组所指示的周边数据分配到第一高速存储介质,将优先级低的剩余依赖组所指示的周边数据分配到第二高速存储介质。6.如权利要求4或5所述的方法,其中所述优先级根据将周边数据分配到高速存储介质所带来的性能改善的显著程度而确定,所述性能改善指的是对中心数据的访问速率的提高。7.如权利要求1所述的方法,其中所述分配指令是降级分配指令,其用于将目标数据分配到作为目标存储介质的低速存储介质上,其中在所述分配指令将使得所述目标数据和所述依赖组所指示的关联数据位于具有不同数据IO速率的存储介质的情况下,阻止所述分配指令的执行包括:如果所述要分配到低速存储介质上的目标数据是所述依赖组中的周边数据,并且所述依赖组中的中心数据位于高速存储介质,则阻止所述降级分配指令的执行。8.如权利要求7所述的方法,进一步包括:如果检测到所述依赖组中的中心数据也被分配到低速存储介质,则恢复执行所述降级分配指令。9.如权利要求1所述的方法,其...

【专利技术属性】
技术研发人员:刘洋高蒙梅玫吴劼平
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1