CN111880964A - 用于基于出处的数据备份的方法和系统 - Google Patents

用于基于出处的数据备份的方法和系统 Download PDF

Info

Publication number
CN111880964A
CN111880964A CN202010319666.9A CN202010319666A CN111880964A CN 111880964 A CN111880964 A CN 111880964A CN 202010319666 A CN202010319666 A CN 202010319666A CN 111880964 A CN111880964 A CN 111880964A
Authority
CN
China
Prior art keywords
stage
stage output
output
computer processor
function
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.)
Pending
Application number
CN202010319666.9A
Other languages
English (en)
Inventor
阿萨夫·纳坦赞
德夫·兹洛尼克
博利斯·希尔雅克
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN111880964A publication Critical patent/CN111880964A/zh
Pending legal-status Critical Current

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
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

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

Abstract

一种用于基于出处的数据备份的方法和系统。具体地,本文所公开的方法和系统需要生成并随后使用数据出处来过滤通过对大数据的数据挖掘产生的哪些数据集合应被复制并存储到备份存储装置中。

Description

用于基于出处的数据备份的方法和系统
背景技术
数据挖掘涉及处理大数据以获取有用的知识和洞见。进一步地,数据挖掘可能需要通过一系列处理元件(或级)来操纵大数据,这导致生成大量的临时数据集合。这些临时数据的集合可能通过应用各种复杂、费时且通常是资源密集的数据处理函数而产生。而且,尽管这些临时数据集合可以被存储在数据湖中,但是此类数据湖往往并不参与数据备份操作。
附图说明
图1示出了根据本发明的一个或多个实施例的系统。
图2示出了根据本发明的一个或多个实施例的挖掘流水线。
图3A和图3B示出了描述根据本发明的一个或多个实施例的用于生成级输出出处的方法的流程图。
图4示出了描述根据本发明的一个或多个实施例的用于备份数据的方法的流程图。
图5示出了根据本发明的一个或多个实施例的计算系统。
具体实施方式
现在将参考附图详细描述本发明的特定实施例。在对本发明的实施例的以下详细描述中,阐述了各种具体细节以便提供对本发明更为透彻的理解。然而,对本领域普通技术人员将显而易见的是,本发明可以在没有这些具体细节的情况下实践。在其他情况下,未详细描述公知的特征,以避免不必要地使描述复杂化。
在对图1至图5的以下描述中,在本发明的各种实施例中,关于某一附图描述的任何组件可以等同于关于任何其他附图描述的一个或多个相同名称的组件。为简洁起见,将不再关于每个附图重复对这些组件的描述。因此,每个附图的组件的各个和每个实施例通过引用并入,并被假定为任选地存在于具有一个或多个相同名称的组件的每个其他附图中。另外,根据本发明的各种实施例,对某一附图的组件的任何描述都将被解释为任选的实施例,其可以附加地、结合于或代替关于在任何其他附图中对应的相同名称的组件所描述的实施例来实现。
在整个申请中,序数(例如,第一、第二、第三等)可以用作元素(即,申请中的任何名词)的形容词。除非明确公开,例如通过使用术语“在……之前”、“在……之后”、“单个”以及其他此类术语,否则序数的使用不一定暗示或形成元素的任何特定顺序,也不将任何元素限制为单个元素。而是,使用序数是为了在元素之间进行区分。举例来说,第一元素不同于第二元素,并且第一元素可以涵盖多于一个的元素并且在元素的排序上在第二元素之后(或之前)。
一般而言,本发明的实施例涉及用于基于出处的数据备份的方法和系统。具体地,本发明的一个或多个实施例需要生成并随后使用数据出处来过滤通过对大数据的数据挖掘产生的哪些数据集合应被复制并合并到备份存储装置中。数据出处可以是指描述任何给定数据集如何产生的信息(例如输入、过程等)。举例来说,备份策略可以配置为自动备份通过上述数据挖掘过程获取的任何给定数据集,前提是:已经经过了显著量的时间来产生该给定数据集;该给定数据集可以在多个工作负载中重复使用;该给定数据集需要小存储容量来进行合并;并且较高资源成本可能与该给定数据集的产生相关联。
图1示出了根据本发明的一个或多个实施例的系统。系统(100)可以包括可操作地连接到一个或多个数据源(102)的客户端设备(106)和数据保护系统系统(DPS)(116)。以下对这些组件中的每一个进行描述。
在本发明的一个实施例中,各种前述的系统(100)组件可以通过网络(104)(例如,局域网(LAN)、诸如互联网的广域网(WAN)、移动网络等)直接或间接地彼此连接。网络(104)可以使用有线和/或无线连接的任何组合来实现。进一步地,在其中任何两个或更多个系统(100)组件被间接连接的实施例中,可能存在可以利于系统(100)组件之间的相互通信的其他网络支持的组件或系统(例如,交换机、路由器、网关等)。而且,各种前述系统(100)组件可以使用有线和/或无线通信协议的任何组合来彼此进行通信。
在本发明的一个实施例中,客户端设备(106)可以代表被设计和配置为接收、生成、处理、存储和/或发送数据的任何物理设备或计算系统。客户端设备(106)的示例可以包括但不限于台式计算机、平板计算机、膝上型计算机、服务器、大型机或类似于图5所示的示例性计算系统的任何其他计算系统。此外,客户端设备(106)可以包括挖掘流水线(108)、出处代理(110)、备份代理(112)和客户端存储阵列(114)。以下对这些客户端设备(106)子组件中的每一个进行描述。
在本发明的一个实施例中,挖掘流水线(108)可以是指用于处理大数据的可编程框架。大数据可以是指非常大的量的原始(或未处理)数据,通常是多变量数据。大数据的示例可以包括但不限于代表以下各项的数据集合:媒体(例如,图像、视频、音频等),用户信息和偏好,金融交易,公共Web(或互联网)信息,传感器数据,医疗记录以及任何其他可能已产生和记录的数据集合。进一步地,大数据可以在一个或多个数据源(102)处生成和/或聚合(如下所述)。通过挖掘流水线(108)处理大数据可以得到对知识的获取。知识可以是指有用的信息(例如,模式、相关性、关联性、趋势和其他洞见),其可以从数据(例如,大数据)集合中提取。而且,挖掘流水线(108)可以被实现为使用物理元件(例如,计算机处理器、存储器和其他电路系统)的硬件流水线、使用逻辑元件(例如,进程、线程、例程、函数等)的软件流水线或其任何组合。关于图2进一步详细地描述了挖掘流水线(108)。
在本发明的一个实施例中,出处代理(110)可以是指可以在客户端设备(106)的底层硬件上执行并且可以被设计和配置为生成数据出处的计算机程序。数据出处可以是指描述任何给定数据如何产生的信息(例如输入、过程等)。就此而言,根据本发明的一个或多个实施例,出处代理(110)可以生成数据出处,如图3A和图3B所示。普通技术人员将理解,在不脱离本发明的范围的情况下,出处代理(110)可以执行其他功能。
在本发明的一个实施例中,备份代理(112)可以是指可以在客户端设备(106)的底层硬件上执行并且可以被设计和配置为管理数据备份操作的计算机程序。就此而言,根据本发明的一个或多个实施例,备份代理(112)可以备份数据,如图4所示。普通技术人员将理解,在不脱离本发明的范围的情况下,备份代理(112)可以执行其他功能。
在本发明的一个实施例中,客户端存储阵列(114)可以是指可以在其上合并各种形式的信息的一个或多个物理存储设备(未示出)的集合。每个物理存储设备可以涵盖非暂时性计算机可读存储介质,可以在其上全部或部分地并且暂时或永久地存储信息。举例来说,每个物理存储设备可以代表硬盘驱动器(HDD)、固态驱动器(SSD)、磁带存储系统或网络附加存储装置(NAS)。进一步地,在本发明的一个实施例中,可以使用永久性(即,非易失性)存储装置来实现客户端存储阵列(114)。永久性存储装置的示例可以包括但不限于光存储装置、磁存储装置、NAND闪存存储器、NOR闪存存储器、磁性随机存取存储器(M-RAM)、自旋扭矩磁性RAM(ST-MRAM)、相变存储器(PCM)或定义为非易失性存储装置类存储器(SCM)的任何其他存储装置。
在本发明的一个实施例中,数据源(102)可以表示大数据的存储库(如上所述)。数据源(102)可以使用一个或多个服务器(未示出)来实现。每个服务器可以是可以驻留在数据中心中的物理服务器,或者是可以驻留在云计算环境中的虚拟服务器。进一步地,在本发明的一个实施例中,数据源(102)可以使用与图5所示的示例性计算系统类似的一个或多个计算系统来实现。而且,数据源(102)可以包括巨大的数据存储容量,其中可以合并大数据。上述数据存储装置可以使用永久性(即,非易失性)存储装置来实现,其示例包括但不限于光存储装置、磁存储装置、NAND闪存存储器、NOR闪存存储器、磁性随机存取存储器(M-RAM)、自旋扭矩磁性RAM(ST-MRAM)、相变存储器(PCM)或定义为非易失性存储装置类存储器(SCM)的任何其他存储装置。此外,数据源(102)的示例可以包括但不限于社交媒体和交互式平台、云计算平台、万维网、物联网(IOT)网络和数据库。
在本发明的一个实施例中,DPS(116)可以表示数据备份、归档和/或灾难恢复存储系统。DPS(116)可以使用一个或多个服务器(未示出)来实现。每个服务器可以是可以驻留在数据中心中的物理服务器,或者是可以驻留在云计算环境中的虚拟服务器。进一步地,在本发明的一个实施例中,DPS(116)可以使用与图5所示的示例性计算系统类似的一个或多个计算系统来实现。而且,DPS(116)可以包括备份接口(118)、阵列管理器(120)和备份存储阵列(122)。以下对这些DPS(116)子组件中的每一个进行描述。
在本发明的一个实施例中,备份接口(118)可以是指用于实现DPS(116)与其他外部实体(例如,客户端设备(106))之间的通信的一组子例程定义、协议和/或工具。备份接口(118)可以使用DPS(118)硬件、在其上执行的软件或其组合来实现。进一步地,备份接口(118)可以包括以下功能:从一个或多个外部实体接收备份数据(未示出)、对其解码并提供给阵列管理器(120);以及,相反地,从阵列管理器(120)获取备份数据、对其编码并将其发送给一个或多个外部实体。普通技术人员将理解,在不脱离本发明的范围的情况下,备份接口(118)可以执行其他功能。举例来说,备份接口(118)可以被实现为网络应用程序编程接口(API),其可以通过分配的网址(例如,统一资源定位符(URL))和WAN(例如,互联网)连接来访问。
在本发明的一个实施例中,阵列管理器(120)可以是指是指可以在DPS(116)的底层硬件上执行并且可以被设计和配置为管理备份存储阵列(122)的计算机程序。就此而言,阵列管理器(120)可以包括以下功能:在备份存储阵列(122)中存储备份数据;通过任何存储机制(例如表、记录、文件系统等)在备份存储阵列(122)中组织备份数据的合并;以及从备份存储阵列(122)中检索备份数据。普通技术人员将理解,在不脱离本发明的范围的情况下,阵列管理器(120)可以执行其他功能。
在本发明的一个实施例中,备份存储阵列(122)可以是指可以在其上合并(或由其他方式存储)各种形式的信息的一个或多个物理存储设备(未示出)的集合。每个物理存储设备可以涵盖非暂时性计算机可读存储介质,可以在其上全部或部分地并且暂时或永久地存储信息。举例来说,每个物理存储设备可以代表硬盘驱动器(HDD)、固态驱动器(SSD)、磁带存储系统或网络附加存储装置(NAS)。进一步地,在本发明的一个实施例中,可以使用永久性(即,非易失性)存储装置来实现备份存储阵列(122)。永久性存储装置的示例可以包括但不限于光存储装置、磁存储装置、NAND闪存存储器、NOR闪存存储器、磁性随机存取存储器(M-RAM)、自旋扭矩磁性RAM(ST-MRAM)、相变存储器(PCM)或定义为非易失性存储装置类存储器(SCM)的任何其他存储装置。
尽管图1示出了组件的配置,但是在不脱离本发明的范围的情况下,可以使用其他系统(100)配置。
图2示出了根据本发明的一个或多个实施例的挖掘流水线。挖掘流水线(200)可以是指用于处理(以上所述)大数据(210)的可编程框架。进一步地,通过挖掘流水线(200)处理大数据(210)可以导致获取知识(212)(如上所述),尽管通常是通过应用各种复杂、费时且资源密集的过程。
在本发明的一个实施例中,挖掘流水线(200)可以使用硬件和/或软件元件来实现),这些硬件和/或软件元件可以共同采取一系列数据处理级(202A-202N)(本文中也称为挖掘流水线级)的形式。因此,每个级(202A-202N)可以基于它们的设计和配置来处理数据。具体地,每个级(202A-202N)可以包括以下功能:接收级输入(204),其表示级(202A-202N)所负责处理的数据;使用(以下所述)一个或多个函数(208A-208N)处理级输入(204);以及,作为处理级输入(204)的结果,产生表示已处理(或精炼)数据的级输出(206)。此外,任何给定级(202A-202N)的级输出(206)可以表示可以紧跟在该给定级(202A-202N)之后的另一级(202A-202N)(如果有的话)的级输入(204)。而且,第一级(例如202A)的级输入(204)可以涵盖原始大数据(210),其可以从一个或多个数据源(未示出)中检索得到(参见例如图1),而最后级(例如202N)的级输出(206)可以是指以上所提到的可以从大数据(210)中提取的所寻求的知识(212)。
在本发明的一个实施例中,在给定级(202A-202N)执行的函数(208A-208N)可以表示算法、技术、工具、一组指令、逻辑、电路、任务、决策、查找或至少部分地涉及由针对给定级(202A-202N)的级输入(204)产生级输出(206)的任何其他机制。共同地,给定级(202A-202N)的函数(208A-208N)可以涉及实现该给定级(202A-202N)可能被设计和配置的特定目标或目的。级(202A-202N)所寻求的前述目标的示例可以包括但不限于:数据集成(即,需要从一个或多个数据源检索和聚合大数据(210));数据选择(即,需要降维,这将省略与总体挖掘流水线(200)目标无关的变量);数据清理(即,需要消除噪声和/或不一致的数据);数据转换(即,需要将大数据(210)转化为适合挖掘的形式和/或格式);数据挖掘(即,需要对大数据执行分析(210)以得到知识(212));数据验证(即,需要验证任何得到的知识(212));以及数据可视化(即,需要解释和表示任何得到的知识(212))。
在本发明的一个实施例中,对于挖掘流水线(200)的每个级(202A-202N),可以记录相应的处理开始时间戳和处理完成时间戳。由上述这两个时间戳,可以导出级处理时间(214),其可以反映函数(208A-208N)由应用于针对级(202A-202N)的级输入(204)的数据处理产生级输出(206)所花费的时间的长度。另外,对于挖掘流水线(200)的每个级(202A-202N),可以跟踪相应的级资源成本(216)。级资源成本(216)可以反映函数(208A-208N)由应用于针对级(202A-202N)的级输入(204)的数据处理产生级输出(206)所消耗的一种或多种计算资源(例如,处理器核心、存储器、存储装置、网络带宽等)的可测量量。
图3A和图3B示出了描述根据本发明的一个或多个实施例的用于生成级输出出处的方法的流程图。以下概述的各个步骤可以由在客户端设备上执行的出处代理执行(参见例如图1)。进一步地,尽管顺序地呈现和描述了流程图中的各个步骤,但是普通技术人员将理解,一些或所有步骤可以以不同的顺序执行、可以被组合或省略,并且一些或所有步骤可以并行地执行。
在本发明的一个实施例中,以下概述的各个步骤可以在沿着挖掘流水线的每个挖掘流水线级处在完成大数据的处理之后执行(参见例如图2)。因此,转到图3A,在步骤300中,识别挖掘流水线级的级输入。在本发明的一个实施例中,级输入可以表示挖掘流水线级可以负责处理的数据。进一步地,级输入可以涵盖从一个或多个数据源中检索到的多变量数据的任何原始(或未处理)集合,或者另选地可以涵盖可能已经由先前的挖掘流水线级产生的已处理数据。
在步骤302中,获取级输入元数据。在本发明的一个实施例中,级输入元数据可以是指描述(在步骤300中所识别的)级输入的数据或信息。级输入元数据可以存储在封装级输入的相同数据容器(例如,文件、档案格式等)中,并由此从中获取。此外,级输入元数据的示例可以包括但不限于:与级输入的生产者(例如数据源或挖掘流水线级)相关联的标识符(例如,数据源标识符或挖掘流水线级标识符);对产生级输入的日期和/或时间进行编码的创建时间戳;指示可能由级输入消耗的存储容量的级输入大小;描述级输入上下文的一个或多个关键字;与级输入相关联的文件扩展名或数据类型;分配给级输入的名称;在级输入中表达的一个或多个变量;以及与级输入相关联的任何其他特性或属性。
在步骤304中,生成级输入摘要。在本发明的一个实施例中,级输入摘要可以表示确定性的、固定长度的字符串,该字符串可以通过对(在步骤302中获取的)级输入元数据中的至少一部分应用哈希函数而生成。更具体地,级输入摘要可以与唯一地标识级输入元数据的信息有关。进一步地,哈希函数可以是指数据关联算法,其将任意长度的给定输入(例如,级输入元数据)映射到来自一定范围的可能的用户预定义输出的给定输出(例如,级输入摘要)。
在步骤306中,识别挖掘流水线级的一个或多个函数。在本发明的一个实施例中,函数可以是指至少部分地实现在挖掘流水线级执行的数据处理的硬件或软件元件。函数的示例可以包括但不限于算法、技术、工具、一组指令、逻辑、电路、任务、决策、查找或至少部分涉及在挖掘流水线级实现上述数据处理的任何其他机制。
在步骤308中,获取函数元数据。在本发明的一个实施例中,函数元数据可以是指描述(在步骤306中所识别的)函数的数据或信息。函数元数据可以存储在元数据专用数据库中并由此从中获取,该元数据专用数据库上可以驻留描述各种元件(或组件)的各种元数据。此外,函数元数据的示例可以包括但不限于:函数接受的一种或多种级输入格式(即,级输入数据类型或文件扩展名);函数产生的一种或多种级输出格式(即,级输出数据类型或文件扩展名);一个或多个关键字,其共同描述函数的对象或由函数执行的特定数据处理;分配给函数的名称;以及与函数相关联的任何其他特性或属性。
在步骤310中,生成级函数摘要。在本发明的一个实施例中,级函数摘要可以表示确定性的、固定长度的字符串,该字符串可以通过对(在步骤308中获取的)函数元数据中的至少一部分应用哈希函数而生成。更具体地,级函数摘要可以与唯一地标识函数元数据的信息有关。进一步地,哈希函数可以是指数据关联算法,其将任意长度的给定输入(例如,函数元数据)映射到来自一定范围的可能的用户预定义输出的给定输出(例如,级函数摘要)。而且,用于生成级函数摘要的哈希函数可以是与(在步骤304中)用于生成级输入摘要的哈希函数相同或不同的数据关联算法。
在步骤312中,识别挖掘流水线级的级输出。在本发明的一个实施例中,级输出可以表示可以指派挖掘流水线级产生的数据。进一步地,级输出可以涵盖结合(在步骤306中识别的)函数执行的数据处理而由(在步骤300中识别的)级输入产生或导出的已处理数据或另选地所寻求的知识。
在步骤314中,获取级输出元数据。在本发明的一个实施例中,级输出元数据可以是指描述(在步骤312中所识别的)级输出的数据或信息。级输出元数据可以存储在封装级输出的相同数据容器(例如,文件、档案格式等)中,并由此从中获取。此外,级输出元数据的示例可以包括但不限于:与级输出的生产者(例如挖掘流水线级)相关联的标识符(例如,挖掘流水线级标识符);对产生级输出的日期和/或时间进行编码的创建时间戳;指示可能由级输出消耗的存储容量的级输出大小;描述级输出上下文的一个或多个关键字;与级输出相关联的文件扩展名或数据类型;分配给级输出的名称;在级输出中表达的一个或多个变量;以及与级输出相关联的任何其他特性或属性。
在步骤316中,从(在步骤314中获取的)级输出元数据中识别并随后提取级输出大小。如上所述,在本发明的一个实施例中,级输出大小可以表示值或变量,该值或变量指示通过级输出的存储而可能消耗的存储容量。举例来说,级输出大小可以以数据单位(即字节)的某种因子表达(例如,字节、千字节、兆字节、千兆字节、兆兆字节、拍字节等)。
在步骤318中,确定用于挖掘流水线级的级处理时间。在本发明的一个实施例中,级处理时间可以反映由(在步骤306中识别的)函数用来通过应用于(在步骤300中识别的)级输入的数据处理产生(在步骤312中识别的)的级输出所花费的时间的长度。进一步地,级处理时间可以由所记录的与(以下所述的)该特定挖掘流水线级工作负载相关联的处理开始和完成时间戳(即,函数元数据和/或级输出元数据)确定。
在步骤320中,确定用于挖掘流水线级的级资源成本。在本发明的一个实施例中,级资源成本可以反映由(在步骤306中识别的)函数用来通过应用于(在步骤300中识别的)级输入的数据处理产生(在步骤312中识别的)级输出所消耗的一种或多种计算资源(例如,处理器核心、存储器、存储装置、网络带宽等)的可测量量。进一步地,级资源成本可以由所记录的与(以下所述的)该特定挖掘流水线级工作负载相关联的资源分配信息(例如,由资源监视程序跟踪的)确定。
在步骤322中,生成级输出标识符(ID)。在本发明的一个实施例中,级输出ID可以是指唯一地标识(在步骤312中识别的)级输出的字符串。除了唯一地标识级输出之外,级输出ID还可以进一步唯一地标识(在步骤300中识别的)级输入和(在步骤306中识别的)已经实现应用于级输入的数据处理的函数的组合。因此,可以至少使用(在步骤304中生成的)级输入摘要和(在步骤310中生成的)级函数摘要来生成级输出ID。
转到图3B,在步骤340中,生成级输出出处。在本发明的一个实施例中,级输出出处可以是指描述和跟踪(在步骤312中识别的)级输出是如何产生的信息(即,元数据)。就此而言,满足该标准并在生成级输出出处中使用的信息可以至少包括(在步骤322中生成的)级输出ID、(在步骤320中确定的)级资源成本、(在步骤318中确定的)级处理时间和(在步骤316中确定的)级输出大小。在本发明的一个实施例中,级输出出处可以进一步使用以下另外的信息的任何子集或全部来生成:(在步骤314中获取的)其他级输出元数据;(在步骤310中生成的)级函数摘要;(在步骤308中获取的)函数元数据;(在步骤304中生成的)级输入摘要;(在步骤302中获取的)级输入元数据;(在步骤300中识别的)级输入;以及与(以下所述的)该特定挖掘流水线级工作负载相关的任何其他信息。
在步骤342中,生成级输出包。在本发明的一个实施例中,级输出包可以表示以压缩的格式化形式封装(或包括)信息的数据容器。举例来说,级输出包可以表现为任何数据档案格式文件(例如,ZIP档案文件、tarball或TAR档案文件、7-ZIP或7z档案文件等)。进一步地,级输出包可以使用并因此至少封装(在步骤312中识别的)级输出和(在步骤340中生成的)级输出出处来生成。
在步骤344中,将(在步骤342中生成的)级输出包合并到客户端设备上的客户端存储阵列中(例如,参见图1)。此后,在步骤346中,使用(在步骤322中生成的)级输出ID对级输出使用表执行查找。在本发明的一个实施例中,级输出使用表可以表示在存储器中维护的数据结构,该数据结构跟踪(在步骤300中识别的)级输入和(在步骤306中识别的)已经实现应用于级输入的数据处理的函数的唯一组合的可重用性。前述唯一组合的可重用性可以是指该唯一组合在多个工作负载中已被重复使用的次数。进一步地,每个工作负载对应于单独的处理实例,该实例需要基于唯一的级输入和函数组合来产生(在步骤312中识别的)级输出。
在步骤348中,确定(在步骤346中执行的)查找是否识别了级输出使用表的现有表条目。对现有表条目的识别可能要求现有表条目指定(或包括)与在查找中使用的(在步骤322中生成的)级输出ID匹配的级输出ID。因此,在本发明的一个实施例中,如果确定查找识别了级输出使用表的现有表条目,则过程可以前进到步骤350。另一方面,在本发明的另一实施例中,如果另选地确定查找还没有识别出级输出使用表的现有表条目,则过程可以另选地前进到步骤352。
在步骤350中,在(在步骤348中)确定(在步骤356中执行的)查找已经识别了级输出使用表的现有表条目之后,识别在现有表条目中进一步指定的级输出使用计数。在本发明的一个实施例中,前述的级输出使用计数可以是指记录其中已经重复使用(在步骤312中识别的)级输出的(上述)工作负载数量的数值。随后,可以增加级输出使用计数,从而反映出将该特定挖掘流水线级工作负载添加到其中已重复使用级输出的工作负载的总计数。
在步骤352中,在另选地(在步骤348中)确定(在步骤356中执行的)查找还没有识别出级输出使用表的现有表条目之后,分配新的表条目。在本发明的一个实施例中,新的表条目可以随后指定(或包括)(在步骤322中生成的)级输出ID和初始级输出使用计数(即,数值为1),这可以反映出将该特定挖掘流水线级工作负载核算为其中已重复使用级输出的工作负载的总计数。
图4示出了描述根据本发明的一个或多个实施例的用于备份数据的方法的流程图。以下概述的各个步骤可以由在客户端设备上执行的备份代理执行(参见例如图1)。进一步地,尽管顺序地呈现和描述了流程图中的各个步骤,但是普通技术人员将理解,一些或所有步骤可以以不同的顺序执行、可以被组合或省略,并且一些或所有步骤可以并行地执行。
转到图4,在步骤400中,选择并且随后从客户端设备上的客户端存储阵列检索得到级输出包(参见例如图1)。在本发明的一个实施例中,级输出包可以表示封装(或包括)级输出和级输出出处的数据容器。级输出包以及相应的级输出和级输出出处可以与挖掘流水线的挖掘流水线级相关联(参见例如图2)。具体地,级输出可以是指由挖掘流水线级产生的已处理(或精炼)的数据,而级输出出处可以是指描述和跟踪级输出是如何产生的信息(即,元数据)。
在步骤402中,从(包括在步骤400中选择的级输出包中的)级输出出处提取级输出标识符(ID)、级输出大小、级处理时间以及级资源成本。在本发明的一个实施例中,级输出ID可以是指唯一地标识(包括在步骤400中选择的级输出包中的)级输出的字符串。同时,级输出大小可以表示至少部分地描述级输出的元数据;更具体地,是指指示级输出可能消耗的存储容量的量的数值。进一步地,级处理时间可以是指实现挖掘流水线级的函数(参见例如图2)产生级输出所需要的记录时间跨度。而且,级资源成本可以是指与各种计算资源(例如,处理器核心、存储器、存储装置、网络带宽等)相对应的记录量,其可能已经由前述函数分配和/或消耗以便产生级输出。
在步骤404中,使用(在步骤402中提取的)级输出ID对级输出使用表执行查找。在本发明的一个实施例中,应记起,可以使用级输入摘要和级函数摘要来生成级输出ID。因此,除了唯一地标识(包括在步骤400中选择的级输出包中的)级输出之外,级输出ID还进一步标识由产生前述级输出的给定函数集处理的给定级输入的唯一组合。随后,级输出使用表可以表示存储器中所维护的数据结构,该数据结构跟踪级输入和函数的该唯一组合的可重复使用性,或该唯一组合在多个工作负载中已被重复使用的次数。每个工作负载对应单独的处理实例,该实例需要基于唯一的级输入和函数组合来产生级输出。进一步地,基于对级输出使用表执行的查找,可以识别现有的表条目,该现有的表条目可以指定(用于执行查找的)级输出ID和级输出使用计数。级输出使用计数可以是指记录了其中已重复使用级输出(即,由唯一的级输入和函数组合得到)的工作负载数量的数值。
在步骤406中,确定(在步骤404中获取的)级输出使用计数是否超过级输出使用计数阈值。级输出使用计数阈值可以是指为了过程继续执行到方法中的后续步骤必须满足的(表示限度或条件的)单个数值(或范围)。进一步地,级输出使用计数阈值可以是可编程的(即,动态的)设置,其可以通过用户偏好来定义。因此,在本发明的一个实施例中,如果确定级输出使用计数超过级输出使用计数阈值,则过程可以前进到步骤408。另一方面,在本发明的另一实施例中,如果另选地确定级输出使用计数不满足级输出使用计数阈值,则过程结束。
在步骤408中,在(在步骤406中)确定(在步骤404中获取的)级输出使用计数超过级输出使用计数阈值之后,确定(在步骤402中提取的)级处理时间是否超过级处理时间阈值。级处理时间阈值可以是指为了过程继续执行到方法中的后续步骤必须满足的(表示限度或条件的)单个数值(或范围)。进一步地,级处理时间阈值可以是可编程的(即,动态的)设置,其可以通过用户偏好来定义。因此,在本发明的一个实施例中,如果确定级处理时间超过级处理时间阈值,则过程可以前进到步骤410。另一方面,在本发明的另一实施例中,如果另选地确定级处理时间不满足级处理时间阈值,则过程结束。
在步骤410中,在(在步骤408中)确定(在步骤402中提取的)级处理时间超过级处理时间阈值之后,确定(同样在步骤402中提取的)级输出大小是否降到级输出大小阈值以下。级输出大小阈值可以是指为了过程继续执行到方法中的后续步骤必须满足的(表示限度或条件的)单个数值(或范围)。进一步地,级输出大小阈值可以是可编程的(即,动态的)设置,其可以通过用户偏好来定义。因此,在本发明的一个实施例中,如果确定级输出大小降到级输出大小阈值以下,则过程可以前进到步骤412。另一方面,在本发明的另一实施例中,如果另选地确定级输出大小匹配或超过级输出大小阈值,则过程结束。
在步骤412中,在(在步骤410中)确定(在步骤402中提取的)级输出时间降到级输出大小阈值以下之后,确定(同样在步骤402中提取)级资源成本是否超过级资源成本阈值。级资源成本阈值可以是指为了过程继续执行到方法中的后续步骤必须满足的(表示限度或条件的)单个数值(或范围)。进一步地,级资源成本阈值可以是可编程的(即,动态的)设置,其可以通过用户偏好来定义。因此,在本发明的一个实施例中,如果确定级资源成本超过级资源成本阈值,则过程可以前进到步骤414。另一方面,在本发明的另一实施例中,如果另选地确定级资源成本不满足级资源成本阈值,则过程结束。
在步骤414中,在(在步骤412中)确定(在步骤402中提取的)级资源成本超过了级资源成本阈值之后,复制(在步骤400中选择的)级输出包。在本发明的一个实施例中,通过复制级输出包,可以获取备份级输出包。此后,在步骤416中,将(在步骤414中获取的)备份级输出包发送到数据保护系统(DPS)以用于合并。
图5示出了根据本发明的一个或多个实施例的计算系统。计算系统(500)可以包括一个或多个计算机处理器(502)、非永久性存储装置(504)(例如,易失性存储器,诸如随机存取存储器(RAM)、高速缓存存储器)、永久性存储器(506)(例如,硬盘、光驱(诸如光盘(CD)驱动器或数字通用光盘(DVD)驱动器、闪存存储器等)、通信接口(512)(例如,蓝牙接口、红外接口、网络接口、光接口等)、输入设备(510)、输出设备(508)以及许多其他元件(未示出)和功能。以下对这些组件中的每一个进行描述。
在本发明的一个实施例中,计算机处理器(502)可以是用于处理指令的集成电路。例如,计算机处理器可以是中央处理单元(CPU)和/或图形处理单元(GPU)的一个或多个核心或微核心。计算系统(500)还可以包括一个或多个输入设备(510),诸如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任何其他类型的输入设备。进一步地,通信接口(512)可以包括用于将计算系统(500)连接到网络(未示出)(例如,局域网(LAN)、诸如互联网的广域网(WAN)、移动网络或任何其他类型的网络)和/或连接到另一设备(诸如另一计算设备)的集成电路。
在本发明的一个实施例中,计算系统(500)可以包括一个或多个输出设备(508),诸如屏幕(例如,液晶显示器(LCD)、等离子体显示器、触摸屏、阴极射线管(CRT)显示器、投影仪或其他显示设备)、打印机、外部存储装置或任何其他输出设备。一个或多个输出设备可以与输入设备相同或不同。输入和输出设备可以本地或远程地连接到计算机处理器(502)、非永久性存储装置(504)和永久性存储装置(506)。存在许多不同类型的计算系统,并且前述输入和输出设备可以采取其他形式。
用于执行本发明的实施例的计算机可读程序代码形式的软件指令可以全部或部分地、临时或永久地存储在非暂时性计算机可读介质上,诸如CD、DVD、存储设备、软盘、磁带、闪存存储器、物理内存或任何其他计算机可读存储介质。具体地,软件指令可以对应于计算机可读程序代码,当其被处理器执行时被配置为执行本发明的一个或多个实施例。
尽管已经关于有限数量的实施例描述了本发明,但是受益于本公开的本领域技术人员将理解,可以设计出不脱离本文所公开的本发明的范围的其他实施例。因此,本发明的范围应当仅由所附权利要求书来限定。

Claims (20)

1.一种用于合并数据的方法,包含:
选择包含级输出和级输出出处的级输出包;
从所述级输出出处中提取至少级输出标识符(ID)、级处理时间以及级输出大小;
使用所述级输出ID对级输出使用表执行第一查找,以获取第一级输出使用计数;
至少基于所述第一级输出使用计数、所述级处理时间以及所述级输出大小:
复制所述级输出,以获取备份级输出;以及
将所述备份级输出存储在数据保护系统中。
2.根据权利要求1所述的方法,其中至少基于所述第一级输出使用计数、所述级处理时间以及所述级输出大小来复制所述级输出包含:
做出第一确定,即所述第一级输出使用计数超过级输出使用计数阈值;
做出第二确定,即所述级处理时间超过级处理时间阈值;以及
做出第三确定,即所述级输出大小未达到级输出大小阈值。
3.根据权利要求2所述的方法,进一步包含:
从所述级输出出处中进一步提取级资源成本,
其中复制所述级输出进一步基于所述级资源成本,并且进一步包含:
做出第四确定,即所述级资源成本超过级资源成本阈值。
4.根据权利要求1所述的方法,进一步包含:
在选择所述级输出包之前并在完成挖掘流水线的某一挖掘流水线级之后:
使用级输入摘要和级函数摘要生成所述级输出ID;以及
使用所述级输出ID对所述级输出使用表执行第二查找。
5.根据权利要求4所述的方法,进一步包含:
基于所述第二查找确定所述级输出使用表包含所述级输出ID;
基于所述确定识别所述级输出使用表的现有表条目,其中所述现有表条目包含所述级输出ID和第二级输出使用计数;以及
增加所述第二级输出使用计数以获取所述第一级输出使用计数。
6.根据权利要求4所述的方法,进一步包含:
基于所述第二查找确定所述级输出使用表缺少所述级输出ID;以及
基于所述确定在所述级输出使用表中分配新的表条目,其中所述新的表条目包含所述级输出ID和初始级输出使用计数。
7.根据权利要求4所述的方法,进一步包含:
在生成所述级输出ID之前:
识别所述挖掘流水线级的级输入;
获取描述所述级输入的级输入元数据;以及
使用第一哈希函数和所述级输入元数据生成所述级输入摘要。
8.根据权利要求7所述的方法,进一步包含:
识别实现所述挖掘流水线级的至少一个函数,其中所述至少一个函数由所述级输入产生所述级输出;
获取描述所述至少一个函数的函数元数据;以及
使用第二哈希函数和所述函数元数据生成级函数摘要。
9.一种系统,包含:
存储阵列和备份存储阵列;
计算机处理器,其可操作地连接到所述存储阵列和所述备份存储阵列;以及
备份代理,其在所述计算机处理器上执行并被编程为:
从所述存储阵列中选择包含级输出和级输出出处的级输出包;
从所述级输出出处中提取至少级输出标识符(ID)、级处理时间以及级输出大小;
使用所述级输出ID对级输出使用表执行查找,以获取级输出使用计数;
至少基于所述级输出使用计数、所述级处理时间以及所述级输出大小:
复制所述级输出,以获取备份级输出;以及
将所述备份级输出存储在所述备份存储阵列中。
10.根据权利要求9所述的系统,进一步包含:
挖掘流水线,其至少部分地由所述计算机处理器实现并且包含多个挖掘流水线级,
其中所述多个挖掘流水线级串联连接以形成挖掘流水线级链。
11.根据权利要求10所述的系统,进一步包含:
客户端设备,其包含:
所述计算机处理器、所述存储阵列以及所述备份代理;
挖掘流水线,其至少由所述计算机处理器实现并代表用于处理大数据的框架;以及
出处代理,其在所述计算机处理器上执行并且被编程为至少在由所述备份代理选择所述级输出包之前生成所述级输出包并将其合并在所述存储阵列中。
12.根据权利要求11所述的系统,进一步包含:
数据保护系统(DPS),其包含所述备份存储阵列并且可操作地连接到所述客户端设备。
13.一种非暂时性计算机可读介质(CRM),其包含当由计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
选择包含级输出和级输出出处的级输出包;
从所述级输出出处中提取至少级输出标识符(ID)、级处理时间以及级输出大小;
使用所述级输出ID对级输出使用表执行第一查找,以获取第一级输出使用计数;
至少基于所述第一级输出使用计数、所述级处理时间以及所述级输出大小:
复制所述级输出,以获取备份级输出;以及
将所述备份级输出存储在数据保护系统中。
14.根据权利要求13所述的非暂时性CRM,其进一步包含当由所述计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
做出第一确定,即所述第一级输出使用计数超过级输出使用计数阈值;
做出第二确定,即所述级处理时间超过级处理时间阈值;以及
做出第三确定,即所述级输出大小未达到级输出大小阈值;
其中基于所述第一、第二和第三确定,复制所述级输出以获取所述备份级输出。
15.根据权利要求14所述的非暂时性CRM,其进一步包含当由所述计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
从所述级输出出处中进一步提取级资源成本,
其中复制所述级输出进一步基于所述级资源成本,并且进一步使所述计算机处理器能够:
做出第四确定,即所述级资源成本超过级资源成本阈值。
16.根据权利要求13所述的非暂时性CRM,其进一步包含当由所述计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
在选择所述级输出包之前并在完成挖掘流水线的某一挖掘流水线级之后:
使用级输入摘要和级函数摘要生成所述级输出ID;以及
使用所述级输出ID对所述级输出使用表执行第二查找。
17.根据权利要求16所述的非暂时性CRM,其进一步包含当由所述计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
基于所述第二查找确定所述级输出使用表包含所述级输出ID;
基于所述确定识别所述级输出使用表的现有表条目,其中所述现有表条目包含所述级输出ID和第二级输出使用计数;以及
增加所述第二级输出使用计数以获取所述第一级输出使用计数。
18.根据权利要求16所述的非暂时性CRM,其进一步包含当由所述计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
基于所述第二查找确定所述级输出使用表缺少所述级输出ID;以及
基于所述确定在所述级输出使用表中分配新的表条目,其中所述新的表条目包含所述级输出ID和初始级输出使用计数。
19.根据权利要求18所述的非暂时性CRM,其进一步包含当由所述计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
在生成所述级输出ID之前:
识别所述挖掘流水线级的级输入;
获取描述所述级输入的级输入元数据;以及
使用第一哈希函数和所述级输入元数据生成所述级输入摘要。
20.根据权利要求19所述的非暂时性CRM,其进一步包含当由所述计算机处理器执行时使所述计算机处理器能够进行以下操作的计算机可读程序代码:
识别实现所述挖掘流水线级的至少一个函数,其中所述至少一个函数由所述级输入产生所述级输出;
获取描述所述至少一个函数的函数元数据;以及
使用第二哈希函数和所述函数元数据生成级函数摘要。
CN202010319666.9A 2019-05-02 2020-04-21 用于基于出处的数据备份的方法和系统 Pending CN111880964A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/402,196 US11301418B2 (en) 2019-05-02 2019-05-02 Method and system for provenance-based data backups
US16/402,196 2019-05-02

Publications (1)

Publication Number Publication Date
CN111880964A true CN111880964A (zh) 2020-11-03

Family

ID=73016228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010319666.9A Pending CN111880964A (zh) 2019-05-02 2020-04-21 用于基于出处的数据备份的方法和系统

Country Status (2)

Country Link
US (1) US11301418B2 (zh)
CN (1) CN111880964A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200140560A (ko) 2019-06-07 2020-12-16 삼성전자주식회사 전자 장치 및 그 시스템
US11662986B1 (en) * 2020-03-20 2023-05-30 Meta Platforms, Inc. Reducing data transfer to machine learning accelerator hardware

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1499730A (zh) * 2002-11-08 2004-05-26 尹登庆 流水线结构的高速高精度模数转换器
US20050268068A1 (en) * 1997-10-30 2005-12-01 Paul Ignatius Method and system for transferring data in a storage operation
CN1976283A (zh) * 2005-12-01 2007-06-06 国际商业机器公司 合并关于备份存储装置中的文件的元数据的系统和方法
CN102567503A (zh) * 2010-12-16 2012-07-11 微软公司 用于数据去重复的可扩展流水线
US9348602B1 (en) * 2013-09-03 2016-05-24 Amazon Technologies, Inc. Resource allocation for staged execution pipelining
US20160259571A1 (en) * 2014-06-06 2016-09-08 Hitachi, Ltd. Storage subsystem
US9495207B1 (en) * 2014-07-09 2016-11-15 Google Inc. Cataloging data sets for reuse in pipeline applications
FR3047136A1 (zh) * 2016-01-27 2017-07-28 Commissariat Energie Atomique
US20180173596A1 (en) * 2016-12-15 2018-06-21 Palantir Technologies Inc. Incremental backup of computer data files
CN108363764A (zh) * 2018-02-05 2018-08-03 山东地主网络科技创新有限公司 一种分布式缓存管理系统及方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454446B2 (en) * 2001-08-31 2008-11-18 Rocket Software, Inc. Techniques for storing data based upon storage policies
US7752463B2 (en) * 2006-09-07 2010-07-06 International Business Machines Corporation Automatically filling a drive table
US8768909B2 (en) * 2008-06-19 2014-07-01 Tropare, Inc. Dynamic menus for multi-prefix interactive mobile searches using predictive text to yield targeted advertisements
US8504517B2 (en) * 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US9519614B2 (en) * 2012-01-10 2016-12-13 Verizon Digital Media Services Inc. Multi-layer multi-hit caching for long tail content
US9720967B2 (en) * 2012-09-28 2017-08-01 Oracle International Corporation Adaptive query optimization
US10127119B1 (en) * 2014-05-21 2018-11-13 Veritas Technologies, LLC Systems and methods for modifying track logs during restore processes
US20180060348A1 (en) * 2015-11-02 2018-03-01 StoreReduce Method for Replication of Objects in a Cloud Object Store
US10275317B2 (en) * 2016-01-21 2019-04-30 Druva Technologies Pte. Ltd. Time-based data retirement for globally de-duplicated archival storage
US10318180B1 (en) * 2016-12-20 2019-06-11 EMC IP Holding Cmpany LLC Metadata paging mechanism tuned for variable write-endurance flash
US10819821B2 (en) * 2017-04-07 2020-10-27 Futurewei Technologies, Inc. Method and system for allocating content using a content-based centrality metric
US11416466B2 (en) * 2017-06-02 2022-08-16 Chaossearch, Inc. Data edge platform for improved storage and analytics
US10613791B2 (en) * 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US10802822B2 (en) * 2017-08-21 2020-10-13 Royal Bank Of Canada System and method for reproducible machine learning
RU2666303C1 (ru) * 2017-12-14 2018-09-06 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ и устройство для вычисления хэш-функции
US11120046B2 (en) * 2018-05-04 2021-09-14 Microsoft Technology Licensing Llc Data replication in a distributed storage system
US10713090B2 (en) * 2018-05-17 2020-07-14 American Express Travel Related Services Company, Inc. Context aware prioritization in a distributed environment using tiered queue allocation
US10992598B2 (en) * 2018-05-21 2021-04-27 Pure Storage, Inc. Synchronously replicating when a mediation service becomes unavailable
US11029891B2 (en) * 2018-11-06 2021-06-08 Cisco Technology, Inc. Hybrid distributed storage system to dynamically modify storage overhead and improve access performance
US11036416B2 (en) * 2018-11-07 2021-06-15 International Business Machines Corporation Deduplicated storage with multiple storage domains
US11768874B2 (en) * 2018-12-19 2023-09-26 Microsoft Technology Licensing, Llc Compact entity identifier embeddings
US11347428B2 (en) * 2019-01-16 2022-05-31 EMC IP Holding Company LLC Solid state tier optimization using a content addressable caching layer

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268068A1 (en) * 1997-10-30 2005-12-01 Paul Ignatius Method and system for transferring data in a storage operation
CN1499730A (zh) * 2002-11-08 2004-05-26 尹登庆 流水线结构的高速高精度模数转换器
CN1976283A (zh) * 2005-12-01 2007-06-06 国际商业机器公司 合并关于备份存储装置中的文件的元数据的系统和方法
CN102567503A (zh) * 2010-12-16 2012-07-11 微软公司 用于数据去重复的可扩展流水线
US9348602B1 (en) * 2013-09-03 2016-05-24 Amazon Technologies, Inc. Resource allocation for staged execution pipelining
US20160259571A1 (en) * 2014-06-06 2016-09-08 Hitachi, Ltd. Storage subsystem
US9495207B1 (en) * 2014-07-09 2016-11-15 Google Inc. Cataloging data sets for reuse in pipeline applications
FR3047136A1 (zh) * 2016-01-27 2017-07-28 Commissariat Energie Atomique
US20180173596A1 (en) * 2016-12-15 2018-06-21 Palantir Technologies Inc. Incremental backup of computer data files
CN108363764A (zh) * 2018-02-05 2018-08-03 山东地主网络科技创新有限公司 一种分布式缓存管理系统及方法

Also Published As

Publication number Publication date
US11301418B2 (en) 2022-04-12
US20200349109A1 (en) 2020-11-05

Similar Documents

Publication Publication Date Title
US11544623B2 (en) Consistent filtering of machine learning data
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
US10180891B2 (en) Monitoring processes running on a platform as a service architecture
JP6952719B2 (ja) ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関
US10713589B1 (en) Consistent sort-based record-level shuffling of machine learning data
US11100420B2 (en) Input processing for machine learning
US10366053B1 (en) Consistent randomized record-level splitting of machine learning data
US11182691B1 (en) Category-based sampling of machine learning data
US10733064B2 (en) Efficient restore of synthetic full backup based virtual machines that include user checkpoints
JP6040837B2 (ja) 情報処理装置の管理方法、およびプログラム
US11455216B2 (en) Method and system for generating synthetic backups using pseudo-asset backups
US11468016B2 (en) Method and system for parallelizing backup generation operations using pseudo-asset backups
CN111880964A (zh) 用于基于出处的数据备份的方法和系统
US20200349012A1 (en) Method and system for full restore point creation using incremental backups
US11157456B2 (en) Replication of data in a distributed file system using an arbiter
US11093350B2 (en) Method and system for an optimized backup data transfer mechanism
US11394397B2 (en) System and method for selecting a lossless compression algorithm for a data object based on performance objectives and performance metrics of a set of compression algorithms
US11474850B2 (en) Method and system for efficient virtual machine operation while recovering data
US9952772B2 (en) Compression-based detection of inefficiency in local storage
US9952787B2 (en) Compression-based detection of inefficiency in external services
CN111226201A (zh) 数据分析系统中的存储器分配
US10976959B2 (en) Method and system for accessing virtual machine state while virtual machine restoration is underway
US10339011B1 (en) Method and system for implementing data lossless synthetic full backups
US20240103973A1 (en) Leveraging file-system metadata for direct to cloud object storage optimization
US12007955B2 (en) System and method for analyzing file system data using a virtual file system generated using a metadata backup

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination