CN103620549A - 用于统一数据存储的存储介质抽象 - Google Patents

用于统一数据存储的存储介质抽象 Download PDF

Info

Publication number
CN103620549A
CN103620549A CN201280030193.4A CN201280030193A CN103620549A CN 103620549 A CN103620549 A CN 103620549A CN 201280030193 A CN201280030193 A CN 201280030193A CN 103620549 A CN103620549 A CN 103620549A
Authority
CN
China
Prior art keywords
data
application
storage
assembly
memory location
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
CN201280030193.4A
Other languages
English (en)
Other versions
CN103620549B (zh
Inventor
D·福提尔
S·马耶
J·阿塞姆
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN103620549A publication Critical patent/CN103620549A/zh
Application granted granted Critical
Publication of CN103620549B publication Critical patent/CN103620549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

在此描述了从操作***将存储展示成统一存储设备,并从各应用抽象化对存储设备的特定存储位置和不同属性的选择的存储抽象***。该应用提供要存储的数据以及与该应用存储该数据的目标有关的某些信息,并令操作***基于该数据的特性将该数据路由到正确位置。操作***可基于与数据的持久保存要求、期望使用、访问频率、和安全性需求等有关的信息来选择将该数据存储在从L2高速缓存到基于云的存储服务以及这两者中间的任何事物的任何地方。该***令应用和用户关注于表达其对该数据的目标和需求,并令操作***管理硬件。

Description

用于统一数据存储的存储介质抽象
背景技术
各种设备存在于用于存储数据的计算机***中。台式计算机、服务器、膝上型计算机和其他计算设备可包括用于存储大量数据的一个或多个硬盘驱动器。可出于各种数据访问目的而配置硬盘驱动器。例如,服务器可使用提高诸如等待时间、容错性、安全性、容量、及访问时间等存储特性的廉价磁盘冗余阵列(RAID)配置、存储区域网(SAN)或其他技术。膝上型设备和移动设备可包括闪存,并且许多计算机***使用如今以固态盘(SSD)形式的基于闪存的存储器。计算***还具有对诸如来自多个厂商的基于云的存储服务、在线备份解决方案、及某组织内提供的远程数据中心等远程存储的访问。
软件应用在存储数据时可以从这些设备中的任何一个中选择。应用可以生成该应用通过调用一个或多个操作***存储应用编程接口(API)来存储的文档、配置信息或其他输出。这些API通常涉及显式地标识要在其上存储数据的存储设备的应用。例如,操作***可向每一个可用存储设备分配由应用沿着驱动器内的文件夹路径指定要将该应用所产生的输出数据存储在何处的字母或设备路径。用户也变得参与管理数据存储,并通常会记住其文档被存储在何处,使得该用户能够通知该应用或另一应用在何处寻找到计算机***上的经存储数据项。用户可以用一个应用来下载文档或其他数据项,并告诉该应用将该项存储在何处,随后用另一应用打开该项,并告诉该应用在何处寻找到该项。因此,用户和应用当今深度参与数据管理。
通常,用户(或管理员)是唯一一个知道计算机***的配置以及每一存储设备的特定存储特性和益处的人。例如,用户可以知道驱动器字母C所标识的存储设备是SSD,驱动器D所标识的存储设备是RAID阵列,驱动器E所标识的存储设备是SAN,且驱动器F所标识的存储设备是光盘。用户可以使用他对每一驱动器的属性的知识来判定正在使用应用时将数据存储在何处。例如,如果用户想要对数据的快速访问时间,则他可以选择将该数据存储在SSD上。如果用户想要将该数据存档,但不期望频繁访问该数据,则他可以使用光盘驱动器将该数据烧制到光盘中。如果用户选择得不好,则该数据访问起来可更难或更慢。随着数据特性改变,诸如文件变得较不频繁地被用户访问,则取决于用户手动地管理该数据以将其删除、及将其移动到不同的存储设备等。操作***提供程序,而第三方提供仅用于管理应用所存储的数据的大量实用程序。数据管理通常是困难和耗时的任务。
概述
在此描述了从操作***将存储展示成统一存储设备,并从各应用抽象化对存储设备的特定存储位置和不同属性的选择的存储抽象***。应用提供要存储的数据以及与应用存储该数据的目标有关的某些信息,并使操作***基于该数据的特性将该数据路由到正确位置。操作***可以基于与数据的持久保存要求、期望使用、访问频率、和安全性需求等有关的信息来选择将该数据存储在从L2高速缓存到基于云的存储服务以及这两者中间的任何事物的任何地方。该***使应用和用户关注于表达其对数据的目标和需求,并期望操作***来管理硬件使得应用和用户能够重新关注于使用该数据,而非变成被埋没在管理如何存储该数据的细节中。
在某些实施例中,存储抽象***提供向各应用展示的API,该API将存储介质抽象化成远离存储动作。在写数据时,操作***接收上下文信息,确定可用的存储设备,并自动地选择用于存储该数据的位置。操作***向应用提供用于在将来请求该数据的引用,该引用即使在该数据随后被移动到了新的位置的情况下也可保持有效。操作***可以维护数据被存储的地方的索引,使得对数据的引用可以被解析成数据存储位置。操作***可以随时间监视数据,并确定附加的数据特性。随着数据特性改变,操作***可以选择要将数据转移到的新位置,在该新位置处,应用仍可使用所提供的引用来访问该数据。因此,存储抽象***将应用和用户从管理数据放置中释放出来,而自动地管理所存储的数据以选择最合适的存储介质。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特性或必要特性,也不旨在用于限制所要求保护主题的范围。
附图简述
图1是示出一个实施例中的存储抽象***的各组件的框图。
图2是示出在一个实施例中的存储抽象***将应用数据存储在自动选择的位置处的处理的流程图。
图3是示出一个实施例中的存储抽象***监视所存储的应用数据以查找已改变的数据特性的处理的流程图。
详细描述
在此描述了从操作***将存储展示成统一存储设备,并从各应用抽象化对存储设备的特定存储位置和不同属性的选择的存储抽象***。换言之,存储抽象***将应用的存储动作与将数据存储在何处的决策分开。应用提供要存储的数据以及与应用存储该数据的目标有关的某些信息,并使操作***基于该数据的特性将该数据路由到正确位置。操作***可基于与数据的持久保存要求、期望使用、访问频率、和安全性需求等有关的信息来选择将该数据存储在从L2高速缓存到基于云的存储服务以及这两者中间的任何事物的任何地方。不像当今非常以设备为中心并严重依赖于应用和用户知识的存储,存储抽象***使应用和用户关注于表达其对数据的目标和需求,并期望操作***像它最初被设计成要做的那样管理硬件。应用和用户可以重新关注于使用该数据,而非变成被埋没在管理如何存储该数据的细节中。
在某些实施例中,存储抽象***提供向各应用展示的API,该API将存储介质抽象化成远离存储动作。例如,该API可以向各应用提供写和读功能,其中写功能指定关于数据的上下文信息,而不指定数据位置,而读功能指定对该数据的不透明引用,该不透明引用并不标识特定位置。在写数据时,操作***接收上下文信息,确定可用的存储设备,并自动地选择用于存储该数据的位置。操作***向应用提供用于在将来请求该数据的引用,即使该数据随后被移动到了新的位置,该引用也可保持有效。操作***可以维护数据被存储的地方的索引,使得对数据的引用可以被解析成数据存储位置。操作***可以随时间监视数据,并确定附加的数据特性。随着数据特性改变,操作***可以选择要将数据转移到的新位置,在该新位置处,应用仍可使用所提供的引用来访问该数据。
在某些实施例中,存储抽象***接收由提供用于表征数据的指令的管理员或其他用户所配置的一组策略。该应用本身和用户也可以提供用于表征该数据的指令。策略确定当存储冲突时哪些上下文信息胜出,并且该***使用该策略来选择所接收的数据的合适存储位置。该***存储该数据以供稍后使用(潜在地具有该数据本身),并开始监视数据使用模式。监视允许该***检查数据特性的改变,这些改变可以为该数据建议不同的存储位置。该***可以执行周期性批处理,以将较合适地存储的数据重新定位在不同的位置。例如,该***可以将数据从基于闪存的盘驱动器迁移到传统的硬盘驱动器、从硬盘驱动器迁移到基于云的存储服务、或在任何其他存储位置之间迁移。在某些情况下,该***可以保持多个数据副本,并确定要使用哪个副本以满足任何特定的应用请求。在任何给定时间,该***将诸如等待时间、安全性、可用性、可靠性、保留能力和大小之类的可用存储的特性与任何给定数据项的确定用于存储该数据的合适存储介质的目的相匹配。因此,存储抽象***将各应用和用户从管理数据放置中释放出来,而自动地管理所存储的数据以选择最合适的存储介质。
图1是示出一个实施例中的存储抽象***的各组件的框图。***100包括一个或多个数据存储110、应用接口组件120、存储元数据组件130、位置选择组件140、存储策略组件150、数据监视组件160、数据转移组件170和数据访问组件180。这些组件中的每个都在此予以更详细讨论。
一个或多个数据存储110存储从一个或多个应用接收并由该***管理的数据。数据存储可包括一个或多个易失性存储器、文件、文件***、硬盘驱动器、基于闪存的存储器设备、存储区域网、数据库、基于云的存储服务、或用于随时间持久保存应用数据的其他设施。***100确定可用于存储数据的数据存储110,并自动地代表应用或用户为任何给定数据项选择合适的数据存储。***100基于高效地管理数据而不将应用或用户埋没在该任务中的一个或多个策略或目标来选择数据存储。
应用接口组件120向一个或多个应用提供用于存储和访问应用所使用的数据的接口。该接口可包括一个或多个API、用户接口、用于将信息传送到***100或从***100传送出的其他通道。应用接口组件120从应用接收存储和访问数据的请求,并调用***100的其他组件来完成该请求。例如,在接收对来自应用的访问之前存储的数据项的引用后,应用接口组件120可以调用数据访问组件180来定位和检索所请求的数据。
存储元数据组件130从应用接收信息,并自动地确定该应用请求要存储的数据的特性。这些特性可包括描述以下的信息:应用访问数据将有多频繁、数据的优先级、数据的可恢复性、数据的安全性期望、和对数据的法律遵从要求等等。这些数据特性影响数据可被存储在何处,以及从哪个数据存储可以最高效地访问该数据。例如,受制于当地的法律而不能导出的健康或业务信息可能不适于存储在包括在外国的服务器的云中。被频繁访问的数据可以最适于存储在本地的低等待时间的设备中,而较低优先级或较不频繁地被访问的数据可能能够被高效地存储在远程或被存储在较高等待时间的存储介质中。
位置选择组件140基于所确定的数据特性来自动地选择要用于存储接收到的应用数据的存储介质以及其中的位置。组件140可以枚举并管理可用存储设备的列表,并且可以应用一个或多个策略或试探以基于数据项特性、***的目标、和操作***的需求等来为特定数据项选择合适的存储介质。例如,如果存储介质变满了或变得严重碎片化,则组件140可以选择不同的存储介质来存储新数据。作为另一示例,该***可以将等待时间、安全性或其他考虑因素考虑在内以选择将向用户提供针对数据的期望级别的服务的介质。例如,用户不会期望访问用户频繁访问的文档的长延迟,但可以接受访问几乎不使用的数据的较长延迟。这可允许组件140在远程存储和本地存储、以及低等待时间存储和高等待时间存储之间进行选择。***100还可以考虑迁移数据的带宽成本。例如,与大型文件相比,小型文件可被放置得更远,因为与用来检索大型文件的带宽相比,用来检索小型文件的带宽更小,并由此引起更低的成本。
存储策略组件150接收影响所选择的用于存储接收到的数据的位置和介质的一个或多个策略。管理员可以确定某组织的与该组织的内部策略一致的一个或多个策略、该组织受制于其来运作的法律遵从、或与将数据存储在何处有关的其他限制。***100可以提供通过其管理员或其他用户可以配置如何存储数据的偏好的用户接口。***100可以基于文件类型、创建该数据的应用、该数据被创建在何处、创建该数据的用户、或***100所呈现的任何其他准则来接收针对不同类型的数据的不同策略。
数据监视组件160随时间监视所存储的数据以确定数据特性是否改变,以及自动选择的存储位置是否保持在用于存储每一数据项的合适位置。例如,如果一旦被频繁访问的数据在阈值时间段没有被访问,则组件160可以确定该数据可被移动到较高等待时间、较廉价成本的存储或甚至被删除。相反,如果数据被访问得比最初所期望的更频繁,则该***可以通过将该数据移动到低等待时间的、本地存储设备或甚至将该数据保持在存储器或L2高速缓存中来使得该数据可被容易获得。数据监视组件160可以向用户提供反馈或生成报告给用户,使得用户可以管理并监视***100如何作出与用户的数据有关的决策。
数据转移组件170将最初存储在第一位置的数据移动到由数据监视组件160所确定的第二位置。数据转移组件170可以由于数据的改变的特性而移动该数据、演变***100对其操作的计算设备(例如,逐渐变满或请求将数据转移到新计算设备的盘)的需求、带宽成本、或影响数据的高效放置的其他因素。数据转移组件170可以将数据移动到新位置,并惰性地将数据从老位置移除,以允许各应用继续访问处于两个位置的数据,或者更高效地利用计算设备的资源。本领域的普通技术人员将意识到,用于高效处理数据复制和移动的很多现有技术可以结合在此描述的***100来使用。
数据访问组件180向各应用提供对一个或多个数据项的访问,而不管这些项的、之前由***100自动选择的存储位置。组件180从应用接收对数据的引用(例如,全局唯一标识符(GUID)),并咨询***100所管理的索引或其他数据结构以确定该数据目前被存储在何处。组件180随后访问在所标识的位置处的数据,并将该数据提供给应用。该应用可以保持未意识到该数据被存储在何处,并且可以避免与当今计算***相关联的复杂数据管理的负担。
在其上面实现了存储抽象***的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和指示设备)、输出设备(例如,显示设备),以及存储设备(例如,磁盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以是编码有实现或启用该***的计算机可执行指令(如软件)的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传输介质传送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
该***的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器***、基于微处理器的***、可编程消费电子产品、数码相机、网络PC、小型计算机、大型计算机、包括上述***或设备等中任一种的分布式计算环境、机顶盒、片上***(SOC)等。计算机***可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。
该***可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。
图2是示出在一个实施例中的存储抽象***将应用数据存储在自动选择的位置的处理的流程图。
在框210中开始,***接收存储应用所生成的数据的应用请求。该请求可包括到一个或多个数据字节的指针、数据大小、和该数据的一个或多个特性。这些特性可标识访问该数据的期望频率、该数据将被需要多久(例如,临时文件对照永久存储)、该数据是私有的还是安全性敏感的、和与该数据相关联的任何法律遵从限制等等。该***可以接收这些特性作为由操作***提供给应用的存储API的一个或多个标志或其他参数。
在框220继续,该***接收描述对确定将数据存储在何处有用的数据特性的元数据。如之前所述,该***可以伴随存储该数据的请求接收该元数据,或者可接收描述该数据的分开的信息。在某些实施例中,该***提供允许现有应用调用传统的文件***API的后向兼容性层,而另一应用或组件提供描述该应用所存储的数据的元数据。
在框230中继续,除了从应用接收到的数据特性之外,该***还自动地确定一个或多个数据特性。例如,该***可以记录提供有该数据的应用、何时接收到该数据、该数据有多大、以及可从知识库访问的描述该应用的典型行为的信息、等等。该***使用所接收的和所确定的数据特性来创建该应用将如何使用所存储的数据的完整图片,使得该***可以从多个可用存储设备中选择用于该数据的合适位置。
在框240继续,该***标识一个或多个潜在存储位置以及该***可用来存储应用数据的那些所标识位置的属性。该***可以调用用于以下的一个或多个操作***功能:枚举附连到其上正运行该***的计算***的存储设备以及接收描述外部存储位置(诸如基于云的数据存储、远程数据库、和文件共享等)的信息。甚至在仅存在单个存储设备(例如,硬盘驱动器)时,该***仍通过使应用从需要理解存储设备的数量中解脱出来而使该应用受益。在多个存储设备的情况下,该***将应用(和用户)从复杂的文件管理中释放出来,并代表应用来选择将数据存储在何处。该***还可以利用已知的有关多个应用的信息来为整个***以与任何单个应用将使用该信息所做的相比更高效的方式管理数据。
在框250继续,该***基于数据特性和存储位置属性自动地选择潜在存储位置之一。该***使数据特性和应用期望与存储位置属性匹配。例如,如果应用请求频繁访问数据项,且特定存储位置提供对所存储的项的快速、低等待时间的访问,则该***可判定将该数据项存储在那个存储位置。该***还可以考虑该应用所不知道的其他属性,诸如存储设备的可用容量、以及存储设备所消耗的电力等等。该***要么不从该应用接收存储位置,要么可忽略该应用所提供的位置以基于该***所选择的准则来选择位置。
在框260继续,该***响应于存储请求而向应用提供一引用,通过该引用,该应用可以访问该数据而不管该数据的位置。该引用可以包括该***可以使用来确定该应用正在请求哪个数据项以及确定该***当前将底层的数据项存储在何处的GUID、散列键、或其他引用。该***可以包括用于对数据项被存储何处进行分类以及使所存储的每一数据项与给予该应用的、用于检索该数据项的引用匹配的索引或其他数据结构。在框260之后,这些步骤结束。
图3是示出一个实施例中的存储抽象***监视所存储的应用数据以查找已改变的数据特性的处理的流程图。
在框310中开始,该***监视所存储的数据项以标识指示如何使用该数据项的一个或多个数据访问特性。例如,该***可以观察访问该数据的频率、访问该数据的时辰、以及该数据在其首次被写入后是否曾经被更新过(例如,为单写多读(WORM)的数据)、等等。
在框320中继续,该***基于所标识的数据访问特性来更新描述所存储的数据项的所存储元数据。该***可以跟踪元数据以查找该***所存储的每一项,或查找利用该***所提供的自动化存储位置选择的各项。该元数据聚集该***所知道的描述每一数据项如何被使用的信息,使得该***可以将该聚集信息考虑在与管理该数据有关的决策中。
在框330继续,该***将该数据转移到新的位置,而无需通知最初存储该数据的应用。该***将被存储的数据的应用知识与数据被存储在何处的***知识分开,使得该应用可以关注于该应用的数据上下文,并从管理如何存储数据以及将数据存储在何处中解脱出来。该***代表多个应用来管理如何存储数据以及将数据存储在何处,并可根据基于信息技术(IT)策略或其他目标的全局或跨应用的策略来管理数据。
在框340中继续,该***接收访问已转移数据的应用请求,其中该应用提供引用来标识该数据,但该引用不包括指示将该数据存储在何处的信息。该***使用接收到的引用和该***所管理的位置信息来查找数据的位置。
在框350继续,该***基于接收到的引用来确定该数据的存储位置。该存储位置可包括特定存储介质、存储设备、和存储设备内的位置。例如,该位置可指示硬盘驱动器上的文件夹、对基于云的存储服务的数据引用、或其他存储位置信息。该***可包括本地索引、远程索引或分布式索引,利用这些索引,该***可以将存储位置映射到各数据项,使得在请求后各数据项可被寻找到,而不管其位置,并且无需应用知道该***之前将该数据放置在何处或该***之后将该数据转移到何处。
在框360中继续,该***在所确定的位置处访问所请求的数据,并将所请求的数据提供给应用。该***可使用文件***API、针对云存储的web服务API、或使用用于访问数据的其他范例来检索该数据。不管该数据被存储在何处也不管该数据被存储的位置的任何唯一属性,该存储抽象***将用于访问数据的统一接口呈现给该应用,使得该应用从了解和管理不同的设备特性和访问方法中解脱出来。在框360之后,这些步骤结束。
在某些实施例中,存储抽象***将大小不受限制的存储设备提供给应用。由于当今的应用显式地选择存储设备,当设备变满时,该应用可以不再将数据存储到设备。然而,该***不是将任何一个存储设备都呈现给应用,而是提供该应用可用来存储潜在的数量不受限制的数据的存储服务。在应用存储数据时,该***可以将一些数据放置在一个存储设备上,而将另一些数据放置在其他存储设备上,使得随着应用对存储空间的需求的增长,该***可以寻找到越来越多的存储并将其提供给该应用。最终,该***可以将存储扩展到云或其他外部存储之上,使得该应用不会用完空间。该***还可以通过以下方式来处理对额外存储的高峰或不寻常但时间敏感的应用请求:标识可用的外部存储,并将所标识的存储提供给该应用,直到该应用返回到正常的存储需求级别。
通过前面的描述,将理解,此处描述的存储抽象***的特定实施例只是为了说明,但是,在不偏离本发明的精神和范围的情况下,可以进行各种修改。因此,本发明只受所附权利要求限制。

Claims (15)

1.一种将应用数据存储在自动选择位置的计算机实现的方法,所述方法包括:
接收对存储应用所生成的数据的应用请求;
接收描述对确定将所述数据存储在何处有用的所述数据的特性的元数据;
除了从所述应用接收的数据特性外,还自动确定一个或多个数据特性;
标识一个或多个潜在存储位置以及所述***能存储所述应用数据的所标识位置的属性;
基于所述数据特性和存储位置属性自动选择所述潜在存储位置之一;
响应于所述存储请求而向所述应用提供一引用,通过所述引用,所述应用能访问所述数据而不管所述数据的位置,
其中前述步骤由至少一个处理器来执行。
2.如权利要求1所述的方法,其特征在于,接收所述应用请求包括接收一个或多个数据字节、数据大小、以及所述数据的一个或多个特性。
3.如权利要求1所述的方法,其特征在于,接收所述应用请求包括接收标识所述应用访问所述数据的期望频率的信息。
4.如权利要求1所述的方法,其特征在于,接收所述应用请求包括接收标识所述数据将被所述应用需要多久的信息。
5.如权利要求1所述的方法,其特征在于,接收所述应用请求包括接收标识所述数据是私有的、安全性敏感的、还是具有与所述数据相关联的法律遵从限制的信息。
6.如权利要求1所述的方法,其特征在于,接收元数据包括与所述存储请求分开地接收元数据,以允许与调用传统的文件***API来存储数据的现有应用的后向兼容性。
7.如权利要求1所述的方法,其特征在于,自动确定特性包括标识提供有所述数据的应用。
8.如权利要求1所述的方法,其特征在于,标识潜在存储位置包括调用用于枚举附连到计算***的各存储设备的一个或多个操作***功能。
9.如权利要求1所述的方法,其特征在于,标识潜在存储位置包括接收描述包括至少一个基于云的数据存储服务在内的一个或多个外部存储位置的信息。
10.如权利要求1所述的方法,其特征在于,标识潜在存储位置包括标识与至少一个其他应用对数据存储的使用有关的信息,以跨多个应用高效地管理各数据存储位置。
11.如权利要求1所述的方法,其特征在于,选择存储位置包括使数据特性与存储位置属性匹配以确定用于存储所请求的数据的存储位置。
12.如权利要求1所述的方法,其特征在于,选择存储位置包括考虑所述应用所不知道的与每一存储位置有关的其他属性。
13.如权利要求1所述的方法,其特征在于,向所述应用提供所述引用包括创建所述***能够使用来确定所述应用正在查找哪个数据项并确定所述***当前正将所请求的数据项存储在何处的引用。
14.如权利要求1所述的方法,其特征在于,向所述应用提供所述引用包括提供与数据项的索引有关的引用。
15.一种供存储介质抽象提供统一数据存储的计算机***,所述***包括:
被配置成执行包含在以下组件内的软件指令的处理器和存储器;
一个或多个数据存储,所述一个或多个数据存储存储从一个或多个应用接收并由所述***管理的数据;
应用接口组件,所述应用接口组件向一个或多个应用提供用于存储和访问每一应用所使用的数据的接口;
存储元数据组件,所述存储元数据组件从应用接收信息,并自动地确定该应用请求要存储的数据的特性;
位置选择组件,所述位置选择组件基于所确定的数据特性来自动地选择用于存储接收到的应用数据的存储介质以及其中的用来存储接收到的应用数据的位置;
存储策略组件,所述存储策略组件接收影响所选择的用于存储接收到的数据的位置和介质的一个或多个策略;
数据监视组件,所述数据监视组件随时间监视所存储的数据以确定数据特性是否改变,以及自动选择的存储位置是否保持在用于存储每一数据项的合适位置;
数据转移组件,所述数据转移组件将最初存储在第一位置的数据移动到所述数据监视组件所确定的第二位置;以及
数据访问组件,所述数据访问组件向一个或多个数据项提供对各应用的访问,而不管之前由所述***自动选择的这些项的存储位置。
CN201280030193.4A 2011-06-20 2012-06-18 用于统一数据存储的存储介质抽象 Active CN103620549B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/163,730 2011-06-20
US13/163,730 US8983911B2 (en) 2011-06-20 2011-06-20 Storage media abstraction for uniform data storage
PCT/US2012/043038 WO2012177580A2 (en) 2011-06-20 2012-06-18 Storage media abstraction for uniform data storage

Publications (2)

Publication Number Publication Date
CN103620549A true CN103620549A (zh) 2014-03-05
CN103620549B CN103620549B (zh) 2017-08-15

Family

ID=47354592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280030193.4A Active CN103620549B (zh) 2011-06-20 2012-06-18 用于统一数据存储的存储介质抽象

Country Status (6)

Country Link
US (2) US8983911B2 (zh)
EP (1) EP2721481A4 (zh)
CN (1) CN103620549B (zh)
AR (1) AR086713A1 (zh)
TW (1) TWI581102B (zh)
WO (1) WO2012177580A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408044A (zh) * 2014-10-23 2015-03-11 北京用友政务软件有限公司 一种文件存取方法和***
CN106354745A (zh) * 2015-07-13 2017-01-25 三星电子株式会社 用于提供计算机装置的接口的方法和计算机装置
CN109597589A (zh) * 2018-12-12 2019-04-09 珠海格力电器股份有限公司 数据存储方法及***
CN111801659A (zh) * 2018-02-12 2020-10-20 美光科技公司 存储器***中的数据存取及通信的优化
US11461010B2 (en) 2015-07-13 2022-10-04 Samsung Electronics Co., Ltd. Data property-based data placement in a nonvolatile memory device

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983911B2 (en) 2011-06-20 2015-03-17 Microsoft Technology Licensing, Llc Storage media abstraction for uniform data storage
US9984079B1 (en) * 2012-01-13 2018-05-29 Amazon Technologies, Inc. Managing data storage using storage policy specifications
US9740435B2 (en) * 2012-02-27 2017-08-22 Fujifilm North America Corporation Methods for managing content stored in cloud-based storages
US9081610B2 (en) * 2012-06-18 2015-07-14 Hitachi, Ltd. Method and apparatus to maximize return on investment in hybrid cloud environment
JP2014010465A (ja) * 2012-06-27 2014-01-20 International Business Maschines Corporation 複数のストレージ・クラウドから実体ファイルを格納するためのストレージ・クラウドを選択する方法、並びにそのコンピュータ及びコンピュータ・プログラム
US9256566B1 (en) 2013-01-24 2016-02-09 Seagate Technology Llc Managed reliability of data storage
US10120891B2 (en) * 2013-02-11 2018-11-06 International Business Machines Corporation Data placement optimization
US9569476B2 (en) 2013-04-02 2017-02-14 International Business Machines Corporation Intelligent data routing and storage provisioning
US9513692B2 (en) * 2013-09-18 2016-12-06 Intel Corporation Heterogenous memory access
KR20150055776A (ko) * 2013-11-14 2015-05-22 (주)휴맥스 퍼스널 클라우드 스토리지 체인 서비스 시스템 및 방법
US20170013046A1 (en) * 2014-11-18 2017-01-12 Primarydata, Inc. Data-centric data storage
WO2016191620A1 (en) * 2015-05-26 2016-12-01 Gluent Inc. System and method for transparent context aware filtering of data requests
KR102652293B1 (ko) * 2016-03-03 2024-03-29 에스케이하이닉스 주식회사 메모리 관리방법
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
CN109240837B (zh) * 2018-09-11 2020-09-29 四川虹微技术有限公司 一种通用云存储服务api的构建方法
WO2021135820A1 (en) * 2019-12-30 2021-07-08 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for storage management of media content on electronic device, electronic device, and non-transitory computer-readable storage medium
US12014065B2 (en) 2020-02-11 2024-06-18 Pure Storage, Inc. Multi-cloud orchestration as-a-service
US20210406276A1 (en) * 2020-06-26 2021-12-30 Bank Of America Corporation System for automated data lineage and movement detection
US11816356B2 (en) 2021-07-06 2023-11-14 Pure Storage, Inc. Container orchestrator-aware storage system
US11934893B2 (en) 2021-07-06 2024-03-19 Pure Storage, Inc. Storage system that drives an orchestrator based on events in the storage system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE306102T1 (de) * 2001-01-03 2005-10-15 Nice Systems Ltd Auf inhalt basierende speicherungsverwaltung
US6732104B1 (en) 2001-06-06 2004-05-04 Lsi Logic Corporatioin Uniform routing of storage access requests through redundant array controllers
US7779428B2 (en) 2002-06-18 2010-08-17 Symantec Operating Corporation Storage resource integration layer interfaces
US7500092B2 (en) * 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
US7069206B2 (en) * 2003-04-24 2006-06-27 International Business Machines Corporation Method and apparatus for abstraction of physical hardware implementation to logical software drivers
US20060036645A1 (en) * 2004-08-10 2006-02-16 International Business Machines Corporation System and method for automated data storage management
DE602004024342D1 (de) 2004-12-06 2010-01-07 Gresham Entpr Storage Inc Speicherkonsolidierungs-plattform
US20060274153A1 (en) * 2005-06-02 2006-12-07 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Third party storage of captured data
US20060294042A1 (en) 2005-06-23 2006-12-28 Microsoft Corporation Disparate data store services catalogued for unified access
US7660800B2 (en) * 2005-11-28 2010-02-09 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US7856630B2 (en) * 2006-01-05 2010-12-21 International Business Machines Corporation System, method and program to manage program updates
US20080222659A1 (en) * 2007-03-09 2008-09-11 Microsoft Corporation Abstracting operating environment from operating system
US7921268B2 (en) * 2007-07-12 2011-04-05 Jakob Holger Method and system for function-specific time-configurable replication of data
US20100121828A1 (en) * 2008-11-11 2010-05-13 You Wang Resource constraint aware network file system
US8635184B2 (en) * 2009-06-25 2014-01-21 Emc Corporation System and method for providing long-term storage for data
US8407190B2 (en) * 2009-06-30 2013-03-26 Commvault Systems, Inc. Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US8983911B2 (en) 2011-06-20 2015-03-17 Microsoft Technology Licensing, Llc Storage media abstraction for uniform data storage

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408044A (zh) * 2014-10-23 2015-03-11 北京用友政务软件有限公司 一种文件存取方法和***
CN106354745A (zh) * 2015-07-13 2017-01-25 三星电子株式会社 用于提供计算机装置的接口的方法和计算机装置
US11249951B2 (en) 2015-07-13 2022-02-15 Samsung Electronics Co., Ltd. Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
US11461010B2 (en) 2015-07-13 2022-10-04 Samsung Electronics Co., Ltd. Data property-based data placement in a nonvolatile memory device
US11989160B2 (en) 2015-07-13 2024-05-21 Samsung Electronics Co., Ltd. Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
CN111801659A (zh) * 2018-02-12 2020-10-20 美光科技公司 存储器***中的数据存取及通信的优化
CN109597589A (zh) * 2018-12-12 2019-04-09 珠海格力电器股份有限公司 数据存储方法及***
CN109597589B (zh) * 2018-12-12 2020-08-11 珠海格力电器股份有限公司 数据存储方法及***

Also Published As

Publication number Publication date
US20120323977A1 (en) 2012-12-20
US10303649B2 (en) 2019-05-28
AR086713A1 (es) 2014-01-15
WO2012177580A3 (en) 2013-04-18
EP2721481A4 (en) 2015-09-16
TW201301040A (zh) 2013-01-01
US20150193434A1 (en) 2015-07-09
TWI581102B (zh) 2017-05-01
WO2012177580A2 (en) 2012-12-27
EP2721481A2 (en) 2014-04-23
CN103620549B (zh) 2017-08-15
US8983911B2 (en) 2015-03-17

Similar Documents

Publication Publication Date Title
CN103620549A (zh) 用于统一数据存储的存储介质抽象
US8762480B2 (en) Client, brokerage server and method for providing cloud storage
US9940042B2 (en) Distributed storage system, and data-access method therefor
CN102782683B (zh) 用于数据库服务器的缓冲池扩展
US9792227B2 (en) Heterogeneous unified memory
CN100485678C (zh) 将虚拟映射存入对象属性中的分布式基于对象的存储***
US7849282B2 (en) Filesystem building method
CN102667772B (zh) 文件级分级存储管理***、方法和设备
US20170013046A1 (en) Data-centric data storage
CN104603739A (zh) 对并行存储的块级访问
CN105190525A (zh) 管理在节电模式中对混合式驱动器的访问
CN103037004A (zh) 云存储***操作的实现方法和装置
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
CN109804359A (zh) 用于将数据回写到存储设备的***和方法
CN103294610A (zh) 可重复使用的内容可寻址存储
WO2011108030A1 (en) Computer system and recording medium using a virtual file system in a hierarchical storage management
US11210282B2 (en) Data placement optimization in a storage system according to usage and directive metadata embedded within the data
CN101576854A (zh) 文件访问的方法、装置及***
US11663351B2 (en) Information processing system, information processing device, and non-transitory computer-readable storage medium for storing program of controlling access authority
CN103677661A (zh) 信息处理设备和复制控制方法
CN101796493B (zh) 信息检索***、信息检索方法及程序
KR101848277B1 (ko) 캐시 데이터 제어 장치 및 방법
KR20030055482A (ko) 선택적인 캐시관리방법 및 장치
CN109918355A (zh) 实现基于对象存储服务的nas的虚拟元数据映射***和方法
CN111435342A (zh) 海报的更新方法、更新***以及管理***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150805

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150805

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant