CN110096386A - 用于在大数据环境中高效数据复制的方法和*** - Google Patents

用于在大数据环境中高效数据复制的方法和*** Download PDF

Info

Publication number
CN110096386A
CN110096386A CN201910090199.4A CN201910090199A CN110096386A CN 110096386 A CN110096386 A CN 110096386A CN 201910090199 A CN201910090199 A CN 201910090199A CN 110096386 A CN110096386 A CN 110096386A
Authority
CN
China
Prior art keywords
data
mode
sending entity
storage
entity
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
CN201910090199.4A
Other languages
English (en)
Other versions
CN110096386B (zh
Inventor
陆雯斌
T·布鲁斯
L·L·王
L·L·倪
W·Y·孙
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 CN110096386A publication Critical patent/CN110096386A/zh
Application granted granted Critical
Publication of CN110096386B publication Critical patent/CN110096386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

本发明提供一种***,该***包括持久性存储装置和数据传送管理器。该持久性存储装置存储发送实体存储资源和接收实体存储资源。该数据传送管理器获得针对发送实体存储资源中数据的数据传送请求。响应于数据传送请求的获得,数据传送管理器获得与该数据相关联的发送实体模式;使用所获得的发送实体模式来确定数据的当前存储位置;确定接收实体存储资源中的数据副本的将来存储位置;在所确定的将来存储位置处存储该数据副本;基于所确定的将来存储位置来适配发送实体模式;以及基于所适配的发送实体模式来修改接收实体模式。

Description

用于在大数据环境中高效数据复制的方法和***
技术领域
本公开涉及数据存储。
背景技术
计算设备可基于存储的数据生成新数据。例如,计算设备可存储 包括一段时间内各种产品销售数据的数据库。计算设备可通过计算每 种销售产品的平均销售价格来生成新数据。
在一些情况下,可在不同的计算设备之间复制数据,使得每个计 算设备可访问相同的信息。例如,第二个计算设备可能希望访问计算 的平均销售价格。这可通过复制计算的平均销售价格并将其存储在第 二个计算设备的持久性存储装置中来实现。
发明内容
在一个方面中,本发明的一个或多个实施例的***包括持久性存 储装置和数据传送管理器。所述持久性存储装置存储发送实体存储资 源和接收实体存储资源。所述数据传送管理器获得针对发送实体存储 资源中数据的数据传送请求。响应于数据传送请求的获得,数据传送 管理器获得与所述数据相关联的发送实体模式;使用获得的发送实体 模式确定数据的当前存储位置;确定接收实体存储资源中数据副本的 将来存储位置;在确定的将来存储位置存储数据副本;基于确定的将 来存储位置适配发送实体模式;并基于适配的发送实体模式修改接收 实体模式。
在一个方面中,本发明的一个或多个实施例的从发送实体向接收 实体传送数据的方法包括:获得针对与发送实体相关联的发送实体存 储资源中数据的数据传送请求。该方法还包括:响应于数据传送请求 的获得,获得与所述数据相关联的发送实体模式;使用获得的发送实 体模式确定所述数据的当前存储位置;确定与接收实体相关联的接收 实体存储资源中数据副本的将来存储位置;在确定的将来存储位置存 储数据副本;基于确定的将来存储位置适配发送实体模式;并基于适 配的发送实体模式修改与接收实体相关联的接收实体模式。
在一个方面中,本发明的一个或多个实施例的非暂时性计算机可 读介质包括在由计算机处理器执行时使计算机处理器能够执行从发 送实体向接收实体传送数据方法的计算机可读程序代码。该方法包括 获得针对与发送实体相关联的发送实体存储资源中数据的数据传送 请求。该方法还包括:响应于数据传送请求的获得,获得与所述数据 相关联的发送实体模式;使用获得的发送实体模式确定所述数据的当 前存储位置;确定与接收实体相关联的接收实体存储资源中数据副本 的将来存储位置;在确定的将来存储位置存储数据副本;基于确定的 将来存储位置适配发送实体模式;并基于适配的发送实体模式修改与 接收实体相关联的接收实体模式。
附图说明
下面将参照附图说明本发明的某些实施例。但是,附图仅通过示 例的方式示出了本发明的某些方面或实施方式,并不意味着限制权利 要求的范围。
图1示出了本发明的一个或多个实施例的***的示意图;
图2A示出了本发明的一个或多个实施例的示例性数据的示意图;
图2B示出了本发明的一个或多个实施例的示例性模式的示意图;
图2C示出了本发明的一个或多个实施例的示例性数据结果的示 意图;
图3A示出了本发明的一个或多个实施例的传送数据的方法的流 程图;
图3B示出了本发明的一个或多个实施例的获得模式的方法的流 程图;
图3C示出了本发明的一个或多个实施例的确定数据的当前存储 位置的方法的流程图;
图3D示出了本发明的一个或多个实施例的确定数据的将来存储 位置的方法的流程图;
图3E示出了本发明的一个或多个实施例的适配模式的方法的流 程图;
图3F示出了本发明的一个或多个实施例的基于适配的模式修改 接收实体模式的方法的流程图;
图4A示出了一个示例性***;
图4B示出了由图4A的***执行的动作的顺序图;
图5示出了本发明的一个或多个实施例的计算设备的示意图。
具体实施方式
下面将参照附图说明本发明的特定实施例。在以下说明中,阐述 了许多细节作为本发明的示例。本领域技术人员应理解,无需这些具 体细节即可实践本发明的一个或多个实施例,并且在不脱离本发明的 范围的情况下可做出各种变化或修改。在本文中省略了本领域普通技 术人员已知的某些细节,以避免说明模糊不清。
在以下的附图说明中,在本发明的多个实施例中参照某个附图说 明的任何部件可以等同于参照任何其他附图说明的一个或多个以类 似方式命名的部件。为了简洁起见,不会参照每个附图重复说明这些 部件。因此,每个附图的部件的每个实施例通过引用结合在此,并假 定其可选地存在于具有一个或多个以类似方式命名的部件的每个其 他附图中。此外,根据本发明的多个实施例,对附图的部件的任何说 明应理解为可选的实施例,这种可选的实施例可以是除了相对于任何 其他附图中的以类似方式命名的相应部件说明的实施例之外的实施 例,与这些实施例结合实施,或者代替这些实施例。
本发明的实施例总体涉及用于管理数据的***、设备和方法,更 具体地说,涉及在计算框架的实例之间复制数据。所述计算框架可以是 大数据环境的一部分,例如用于对可跨许多个计算设备存储的大数据 集执行计算的框架。一个***可包括多个计算框架。在本文中所用的 “计算框架”指一种基于旧数据生成新数据的实体。例如,计算框架 可以是关系数据管理***的一部分。在另一个示例中,计算框架可以 是关系数据流管理***的一部分。在另一个示例中,计算框架可以是 基于编程模型的实现,用于在群集上利用并行和/或分布式算法处理和 /或生成数据集。在又一个示例中,计算框架可以是协调计算设备群集 的操作的Hadoop实例的组件。
在本发明的一个或多个实施例中,多个计算框架具有用于存储数 据、模式和/或数据结果的独立、独占存储资源。在本文中所用的“模 式”指一种数据组织结构。例如,模式可以是用于描绘存储在持久性 存储装置中的数据的部分的元数据。模式可包括用于从持久性存储装 置检索不同数据部分的信息。在另一个示例中,模式可以是存储在数 据仓库或大规模并行处理数据库中的数据的一种组织结构。在本文中 所用的“数据结果”指由计算框架之一执行的计算的结果。
在本发明的一个或多个实施例中,所述***包括数据传送管理器, 该数据传送管理器提供从与第一计算框架相关联的存储资源向与第 二计算框架相关联的存储资源复制数据的方法。数据传送管理器可在 不使用任何计算框架的情况下执行复制,以获得待传送的数据。例如, 数据传送管理器可向提供访问持久性存储装置的能力的存储管理器 发送存储访问请求。因此,本发明的一个或多个实施例可提供一种在 与不同计算框架相关联的不同存储资源之间复制数据的方法。由此可 复制数据而无需调用由任何一个计算框架执行的用于获得和/或读取 待复制数据的计算。调用由任何一个计算框架执行的计算可能产生很 大的计算资源成本,因而在调用这种计算的情况下,在不同计算框架 资源之间复制数据的作业强度很高。在本发明的一个或多个实施例中, 可通过调用与待复制数据相关联的计算框架来获得与待复制数据相 关联的模式。
在本文中所用的“计算资源”指处理器计算周期、通信带宽、存 储器带宽、持久性存储装置的输入-输出周期、和/或存储器的容量或 持久性存储装置的容量。存储器例如可通过随机存取存储器实现。持 久性存储装置例如可通过磁介质(例如硬盘驱动器、光学介质或固态 存储装置(例如闪速存储装置/相变介质存储装置)实现。处理器计算 周期例如可由中央处理单元提供。通信带宽例如可由网络接口卡提供。
图1示出了本发明的一个或多个实施例的***(100)。***(100) 可包括协调不同计算框架(120、140)之间的数据传送的数据传送管 理器(110)。不同的计算框架(120、140)可具有存储在持久性存 储装置(150)中的相应计算框架存储资源(160、170)。所述相应 的存储资源(160、170)可存储数据(160B、170B)、模式(160A、 170A)和/或数据结果(160C、170C)。***(100)可包括为数据 传送管理器(110)和计算框架(120、140)提供访问存储资源(160、 170)的能力的存储管理器(130)。每个***组件将在下文中说明。
在本发明的一个或多个实施例中,数据传送管理器(110)管理 计算框架(120、140)之间的数据传送。在本文中所用的“在计算框 架之间传送数据”指将与第一计算框架相关联的存储资源中存储的数 据的副本存储在与第二计算框架相关联的存储资源中,并向第二计算 框架提供所复制数据的通知。在本发明的一些实施例中,传送数据的 过程可从传送数据的实体删除数据。在本发明的一些实施例中,传送 数据的过程不从传送数据的实体删除数据。
为了提供上述数据传送功能,数据传送管理器(110)可:(i) 调用计算框架以获得模式的副本,(ii)使用该模式确定待复制数据 存储在持久性存储装置中的位置,(iii)基于所确定的位置向存储管 理器(130)发送数据访问请求以获得待复制数据,而不调用计算框 架,(iv)向存储管理器(130)发送写入命令,以将获得的待复制数 据存储在数据复制的目标计算框架的存储资源中,(v)更新数据复 制的目标计算框架的模式,并(vi)由数据复制的目标计算框架调用 复制数据的处理。在不脱离本发明的情况下,数据传送管理器(110) 可执行更多、更少或不同的动作以传送数据。
在本发明的一个或多个实施例中,数据传送管理器(110)执行 图3A-3F中所示的方法中的一个或多个,或执行所述方法的一部分, 以在计算框架之间传送数据。在不脱离本发明的情况下,数据传送管 理器(110)可使用其他方法在计算框架(120、140)之间传送数据。 在不脱离本发明的情况下,***(100)的其他组件可执行图3A-3F 中所示的全部或部分方法。
在本发明的一个或多个实施例中,数据传送管理器(110)实现 为使用分布式计算设备群集的计算资源执行的一个或多个过程。欲了 解计算设备的细节,请参考图5。所述过程可按照存储在非暂时性计 算机可读介质上的计算机指令来执行。当使用处理计算设备的计算资 源执行时,计算指令使计算设备执行数据传送管理器(110)和/或图 3A-3F中所示的全部或部分方法的功能。
在本发明的一个或多个实施例中,***(100)包括任何数量的 计算设备(未示出)。每个计算设备可以可操作地连接至所述***的 任何数量的其他计算设备。在本发明的一个或多个实施例中,可将计 算设备组组织到相应的群集中。相应的群集可由不同的计算框架使用。 换言之,每个计算框架可通过不同的群集来协调计算的执行。
此外,在本发明的一些实施例中,每个计算框架在虚拟化环境中 执行,并且利用虚拟机而不是物理计算设备的计算资源。因此,在本 发明的一些实施例中,计算框架可利用任何数量的计算设备的任何部 分,并且可共享一些计算设备的计算资源。例如,一个计算设备可承 载两个虚拟机,每个虚拟机与不同的计算框架相关联。
在本发明的一个或多个实施例中,***(100)的计算设备可操 作地连接至一个或多个客户端。在本文中所用的“客户端”可以是在 计算框架之间发起数据传送的任何实体。客户端例如可以是由用户操 作的计算设备。计算设备可包括从用户获得输入并根据来自用户的输 入在计算框架之间发起数据传送的过程。
在本发明的一个或多个实施例中,数据传送管理器(110)实现 为硬件设备,例如可编程门阵列、专用集成电路或者包括提供上述数 据传送管理器(110)功能的电路的其他电子设备。
在本发明的一个或多个实施例中,每个计算框架(120、140)协 调对存储在持久性存储装置(150)中的数据(160B、170B)的计算 的执行。计算可生成数据结果(160C、170C),该数据结果也存储 在持久性存储装置(150)中。
在本发明的一个或多个实施例中,每个计算框架(120、140)包 括生成反映相应计算框架的模式的数据结果的功能。换言之,计算框 架(120、140)可导出模式。在本发明的一个或多个实施例中,每个 计算框架(120、140)包括生成反映所存储的数据的一部分的数据结 果的功能。换言之,计算框架(120、140)可导出数据(160B、170B) 的任何部分。如上所述,经由计算框架执行任何计算可能消耗大量计 算资源。例如,导出数据可能导致待存储在持久性存储装置中的数据 副本与其他数据分离。这样做会导致存储一部分数据的副本,利用持 久性存储装置的输入输出,并消耗其他计算资源。虽然这种方法以前 是可接受的,但大数据分析的出现使得这种方法不能再用于在计算框 架之间复制数据。如下文所进一步详述,本发明的一个或多个实施例 提供了一种传送数据的方法,该方法比依赖于利用计算框架获得待传 送数据的先前方法更有效。
在本发明的一个或多个实施例中,每个计算框架(120、140)实 现为使用分布式计算设备群集的计算资源执行的一个或多个过程。欲 了解计算设备的细节,请参考图5。所述过程可按照存储在非暂时性 计算机可读介质上的计算机指令来执行。在使用计算设备的处理计算 资源(例如处理器(502),图5)执行时,该计算指令使计算设备执 行相应计算框架(120、140)的上述功能。
如上所述,***(100)可包括分组到相应群集中的任何数量的 计算设备(未示出)。每个计算框架(120、140)可利用相应群集的 计算资源。在本发明的一个或多个实施例中,每个相应的群集可被组 织为分布式计算环境。该分布式计算环境可协调相应群集中的每个计 算设备的操作。在这种情况下,每个计算框架可包括将计算细分为任 意数量的子计算、将子计算提供给分布式计算环境以便执行并通过聚 合由相应群集执行的子计算的结果来获得结果的功能。
在本发明的一个或多个实施例中,存储管理器(130)管理持久 性存储装置中的数据的存储或访问。如下文中所进一步详述,持久性 存储装置(150)可实现为分布式存储装置。存储管理器(130)可响 应于来自数据传送管理器(110)、计算框架(120、140)或其他实体(未示出)的存储/访问请求组织分布式存储装置的存储资源,并在 分布式存储装置中存储/访问数据。
在本发明的一个或多个实施例中,存储管理器(130)将分布式 存储装置组织为块。块可以是任何大小,并可具有任何存储容量。例 如,每个块可具有128兆字节(MB)、512MB、1千兆字节(GB) 等存储容量。在不脱离本发明的情况下,块可具有其他存储容量。在不脱离本发明的情况下,不同的块可具有不同的存储容量。
在本发明的一个或多个实施例中,存储管理器(130)向分布式 存储装置提供块级读取和/或写入功能。换言之,存储管理器(130) 可读取和/或写入持久性存储装置(150)的整个块。与此相反,其他 组织***(例如文件分配表(FAT)或新技术文件***(NTSF)) 可提供文件级访问能力。
在本发明的一个或多个实施例中,存储管理器(130)提供文件 级访问能力。存储管理器(130)可与***的其他组件协作以仅读取 由文件级访问请求所暗示的块。
在本发明的一个或多个实施例中,存储管理器实现为使用分布式 计算设备群集的计算资源执行的一个或多个过程。欲了解计算设备的 细节,请参考图5。所述过程可按照存储在非暂时性计算机可读介质 上的计算机指令来执行。在使用计算设备的处理计算资源执行时,该 计算指令使计算设备执行存储管理器(130)的功能。
如上所述,***(100)可包括分组到相应群集中的任何数量的 计算设备(未示出)。存储管理器(130)可利用相应群集的计算资 源。如下文所进一步详述,持久性存储装置(150)可以是相应群集 的计算设备的存储资源的抽象。因此,存储管理器(130)可组织并提供对各个群集的聚合存储资源的访问。
在本发明的一个或多个实施例中,持久性存储装置(150)是由 计算框架(120、140)用于存储数据结构的数据存储设备。持久性存 储装置(150)可存储包括由计算框架(120、140)使用和/或生成的 数据(160B、170B)、模式(160A、170A)和/或数据结果(160C、170C)的数据结构。欲了解数据结构的更多细节,请参考图2A-2C。
在本发明的一个或多个实施例中,持久性存储装置(150)实现 为分布式存储装置。如上所述,***(100)可包括任何数量的计算 设备。计算设备可被分组为群集。持久性存储装置(150)可以是群 集的计算设备的聚合存储资源。每个群集可与相应的计算框架相关联 并由相应的计算框架专门使用,从而将持久性存储装置(150)的存 储资源分区为由每个相应计算框架专用的计算框架存储资源(160、 170)。例如,第一计算框架可与第一群集相关联并利用第一群集的 计算资源和存储资源,而第二计算框架可与第二群集相关联并利用第 二群集的计算资源和存储资源。在不脱离本发明的情况下,分区可以 是基于物理设备的部分的逻辑标识符来描绘存储资源的逻辑分区或 基于物理设备描绘存储资源的物理分区。
虽然图1中示出的***(100)包括两个计算框架(120、140) 和相关联的存储资源(160、170),但是本发明的实施例不限于此。 在不脱离本发明的情况下,***(100)可包括任何数量的计算框架 和相关联的存储资源。
如上所述,计算框架(120、140)可利用或生成存储在持久性存 储装置(150)中的数据结构。为了进一步阐明前述数据结构,图2A-2C 示出了前述数据结构的示例。
图2A示出了本发明的一个或多个实施例的示例性数据(200)的 示意图。示例性数据(200)可以是包括任何类型、内容和/或数据排 列的数据结构。例如,所述数据可包括三个文件(201、202、203)。 在不脱离本发明的情况下,所述示例性数据可包括任何数量的文件。 示例性数据(200)可以是任何大小。
如上所述,存储管理器(130,图1)可将持久性存储装置的存储 资源组织为块。为了进一步阐明块与数据之间的关系,示出了示例性 数据(200)划分块(205A-205E)的示意图。如图2A所示,在存储 示例性数据(200)时,不同的部分存储在不同的块中。文件的结束或开始不需要与块的开头或结尾对齐。因此,可跨多个块存储示例性 数据(200)的文件。因此,为了获得文件,必须读取包括文件的一 部分的所有块。例如,对于文件3(203),需要读取块D(205D) 和块E(205E)才能获得上述文件,因为每个块包括文件3(203)的 一部分。可跨多个块类似地存储模式(160A、170A,图1)和数据结 果(160C、170C,图1)。
图2B示出了本发明的一个或多个实施例的示例性模式(210)的 示意图。示例性模式(210)可以是包括描述持久性存储装置(150, 图1)的组织结构的信息的数据结构。示例性模式(210)可用于访问 存储数据的部分。在本发明的一个或多个实施例中,示例性模式(210) 包括关于数据和/或数据结果的元数据,该元数据指定:(i)数据/数 据结果的部分和/或(ii)可用于读取数据/数据结果的相应部分的访问 信息。
在本发明的一个或多个实施例中,示例性模式(210)包括任何 数量的条目(211、212)。每个条目可与数据或数据结果的相应文件 相关联。每个条目可包括:(i)数据或数据结果的相应文件的标识符 以及(ii)数据或数据结果的相应部分的访问信息。标识符例如可以 是文件名或其他标识符。该访问信息例如可以是存储文件或数据结果 的部分的块的块标识符。访问信息还可包括索引信息,从而在读取相 应块时,只能获得存储数据或数据结果的文件的一部分的每个块的部 分。虽然示例性模式(210)被示为条目列表,但是在不脱离本发明 的情况下,可按不同的形式组织示例性模式(210)。
图2C示出了本发明的一个或多个实施例的示例性数据结果(220) 的示意图。示例性数据结果(220)可以是包括由计算框架执行的计 算生成的信息的数据结构。示例性数据结果(220)可包括任何类型 和数量的数据。
在本发明的一个或多个实施例中,示例性数据结果(220)包括 结构化数据(221)。结构化数据(221)例如可以是表格、列表或其 他分层组织的结构。结构化数据(221)可包括任何数量的自我描述 数据(222A、222N)。自我描述数据(222A、222N)可包括嵌入的 元数据,以便于解读数据结果。
如上所述,数据传送管理器(110,图1)可协调数据传送。图 3A-3F示出了本发明的一个或多个实施例的方法,该方法可由数据传 送管理器(110,图1)执行。
虽然图3A-3F中示出的每个方法作为独立的方法示出,但是在不 脱离本发明的情况下,每个方法可顺序地或并行地执行(或者串行和 并行执行的组合)。此外,本领域普通技术人员应理解,这些步骤中 的一部分或全部可按不同顺序执行,可组合或省略,并且一部分或所 有步骤可并行执行。
图3A示出了本发明的一个或多个实施例的方法的流程图。根据 本发明的一个或多个实施例,图3A中所示的方法可用于在计算框架 之间传送数据。图3A中所示的方法例如可由数据传送管理器(110, 图1)执行。在不脱离本发明的情况下,图1中所示的***(100)的 其他组件可执行图3A的方法。
在步骤300中,获得针对数据的数据传送请求。
在本发明的一个或多个实施例中,该数据传送请求是从用户获得 的。在本发明的一个或多个实施例中,该数据传送请求是从计算框架 获得的。在不脱离本发明的情况下,该数据传送请求也可以是从其他 实体获得的。
在本发明的一个或多个实施例中,该数据传送请求是通过接受消 息获得的。该数据传送请求可包括待传送数据的标识符。数据传送请 求可指定数据传送的目标计算框架。
在步骤302中,从与所述数据相关联的发送实体获得模式。
在本发明的一个或多个实施例中,所述发送实体是与所述数据相 关联的计算框架。换言之,是存储有所述数据的计算框架。例如,如 参照图1所述,每个计算框架可包括由每个计算框架专用的存储资源。
在本发明的一个或多个实施例中,所述模式具有如图2B所示的 结构。所述模式可描述计算框架的所有数据的组织结构。
在本发明的一个或多个实施例中,所述模式是通过调用由与所述 数据相关联的计算框架执行的计算获得的。
在本发明的一个或多个实施例中,所述模式是使用图3B中所示 的方法获得的。在不脱离本发明的情况下,也可使用其他方法获得所 述模式。
在步骤304中,使用获得的模式确定该数据的当前存储位置。
在本发明的一个或多个实施例中,当前存储位置包括数据的每个 部分的每个块的块标识符和访问信息。如参照图2A所述,可跨任何 数量的块存储数据。所述块标识符可用于通过提供块级访问能力的存 储管理器来获得块,而所述访问信息可向块提供偏移量,从而仅能获 得存储所述数据部分的块的部分。在不脱离本发明的情况下,当前存 储位置可包括每个块的文件标识符和/或块标识符/访问信息。该文件 标识符可用于获得每个块的相关块标识符/访问信息。
例如,块的访问信息可以是从块的开始到块内的某个部分的偏移 量。块的剩余部分可以是数据的一部分。在不脱离本发明的情况下, 访问信息可包括除了偏移量之外的描述信息,用于描述块内的数据部 分的相对位置。
在本发明的一个或多个实施例中,当前存储位置是使用图3C中 所示的方法确定的。在不脱离本发明的情况下,可使用其他方法获得 当前存储位置。
在步骤306中,确定数据副本的将来存储位置。
在本发明的一个或多个实施例中,所述将来存储位置是正在进行 的数据传送的目标计算框架的存储资源内的位置。
在本发明的一个或多个实施例中,可通过向存储管理器发送关于 数据传送的目标计算框架的存储资源内的块存储装置的可用性的请 求来确定将来存储位置。存储管理器可发送可用块的列表作为响应。 然后可基于可用块来选择所述位置。
在本发明的一个或多个实施例中,可通过向计算框架发送关于数 据传送的目标计算框架的存储资源内的块存储装置的可用性的请求 来确定将来存储位置。计算框架可发送可用块的列表作为响应。然后 可基于可用块来选择所述位置。
在本发明的一个或多个实施例中,所述将来存储位置是使用图3D 中所示的方法确定的。在不脱离本发明的情况下,可使用其他方法获 得将来存储位置。
在步骤308中,使用所确定的将来存储位置将数据副本存储在接 收实体中。
在本发明的一个或多个实施例中,所述接收实体是数据传送的目 标计算框架。在本发明的一个或多个实施例中,数据副本在接收实体 的存储资源中存储在由将来存储位置指定的位置。
在步骤310中,基于所确定的将来存储位置适配所获得的模式。
在本发明的一个或多个实施例中,适配模式是修改模式的指定当 前存储位置的部分以反映将来存储位置。
在本发明的一个或多个实施例中,模式是通过图3E中所示的方 法适配的。在不脱离本发明的情况下,也可使用其他方法适配模式。
在本发明的一个或多个实施例中,基于发送实体的模式与接收实 体的模式之间的组织差异来进一步适配模式。相应的发送和接收实体 的模式可指定数据在相应计算框架的存储资源内的组织方式。基于接 收实体的模式适配所获得的模式可以改变所获得的模式的组织结构 以反映接收实体的组织结构。
在步骤312中,基于适配的模式修改接收实体模式。
在本发明的一个或多个实施例中,基于适配的模式修改接收实体 模式是添加元数据以反映在步骤308中存储的数据副本。因此,接收 实体模式在修改后可正确反映在步骤308中添加到接收实体的存储资 源的数据。
在本发明的一个或多个实施例中,接收实体模式是使用图3F中 所示的方法修改的。在不脱离本发明的情况下,可使用其他方法修改 接收实体模式。
该方法可在步骤3A之后结束。
图3B示出了本发明的一个或多个实施例的方法的流程图。根据 本发明的一个或多个实施例,图3B中所示的方法可用于获得模式。 图3B中所示的方法例如可由数据传送管理器(110,图1)执行。在 不脱离本发明的情况下,图1中所示的***(100)的其他组件可执行图3B的方法。
在步骤320中,向发送实体的计算框架发送针对模式的请求。
在本发明的一个或多个实施例中,该请求指定模式的全部或一部 分。所述模式的一部分可以是与特定数据相关的模式部分。所述特定 数据可以是待从发送实体传送至接收实体的数据。所述该模式可例如 包括关于发送实体的存储资源中的数据部分的位置的元数据。
在步骤322中,在发送针对模式的请求之后获得模式。
在本发明的一个或多个实施例中,所述模式是通过计算框架获得 的,该计算框架指示存储在存储器中的模式副本的位置,而不是存储 在持久性存储装置中的模式的位置。
响应于步骤320的请求,计算框架可将模式副本存储在存储器中。 可将模式副本存储在存储器中,作为由计算框架执行的计算的一部分。 计算可生成包括模式在内的数据结果。一旦在生成后,数据结果可存 储在存储器中。可响应于针对模式的请求,将模式在存储器中的存储 位置提供给发出请求的实体。
该方法可在步骤320之后结束。
图3C示出了本发明的一个或多个实施例的方法的流程图。根据 本发明的一个或多个实施例,图3C中所示的方法可用于获得数据的 当前存储位置。图3C中所示的方法例如可由数据传送管理器(110, 图1)执行。在不脱离本发明的情况下,图1中所示的***(100)的 其他组件可执行图3C的方法。
在本发明的一个或多个实施例中,在计算框架之间传送的数据可 包括多个组成部分。例如,如参照图2A所述,数据可包括多个文件 或描绘的其他部分。数据的多个组成部分中的每一个可存储在持久性 存储装置内的任何位置。多个组成部分不一定在持久性存储装置的连 续块中。此外,数据的每个组成部分可跨多个块存储。在步骤330之 前,数据的所有部分都被认为是未处理的。如图3C所示,该方法包 括导致数据的未处理部分被标记为已处理状态的循环。因此,循环的 每次完成表示一部分数据的处理。在本发明的一些实施例中,数据的 多个部分可并行处理,而不是如图3C所示的那样串行处理。在不脱 离本发明的情况下,可按串行和并行执行的任何组合来处理任何数量 的数据部分。
在步骤330中,获得数据的未处理部分的标识符。
在本发明的一个或多个实施例中,从数据的其他未处理部分中随 机选择一个未处理部分。在不脱离本发明的情况下,可使用其他方法 选择未处理部分。
在本发明的一个或多个实施例中,所述标识符是文件名或统一资 源指示符。例如,如参照图2B所述,数据的每个部分可与一个标识 符相关联。
在步骤332中,将获得的标识符与模式中的持久性存储装置访问 信息进行匹配。
在本发明的一个或多个实施例中,所述模式是发送实体模式。如 图2B中所示,所述模式可包括标识符与持久性存储装置访问信息之 间的映射。因此,将获得的标识符与包含在模式中的标识符进行匹配 是通过所述映射将获得的标识符与持久性存储装置访问信息进行匹 配。换言之,具有与获得的标识符相符的标识符的条目包含持久性存 储装置访问信息。
在所述信息的一个或多个实施例中,持久性存储装置访问信息包 括块标识符或可由存储管理器用来直接访问存储在存储有待传送数 据的持久性存储装置中的信息的其他标识符。
在步骤334中,将匹配的持久性存储装置访问信息存储为当前存 储位置的一部分。
如上所述,图3C中所示的方法包括可多次执行的循环,即步骤 330-338。每次执行该循环时,可将匹配的持久性存储装置访问信息 添加至当前存储位置。因此,当前存储位置可包括针对待传送数据的 每个部分的聚合持久性存储装置访问信息。
在步骤336中,确定是否已经针对待传送数据的所有部分获得了 持久性存储装置访问信息。如果已经针对待传送数据的所有部分获得 了持久性存储装置访问信息,那么该方法可在步骤336之后结束。如 果还未针对待传送数据的所有部分获得持久性存储装置访问信息,那 么该方法可进行至步骤338。
在步骤338中,将在步骤330中选择的未处理数据部分标记为已 处理状态。
该方法可在步骤338之后返回到步骤330。
图3D示出了本发明的一个或多个实施例的方法的流程图。根据 本发明的一个或多个实施例,图3D中所示的方法可用于确定数据的 将来存储位置。图3D中所示的方法例如可由数据传送管理器(110, 图1)执行。在不脱离本发明的情况下,图1中所示的***(100)的 其他组件可执行图3D中的方法。
在步骤340中,获得接收实体模式。
在本发明的一个或多个实施例中,所述接收实体是数据传送的目 标实体。所述接收实体模式可包括描述接收实体的存储资源的组织结 构的信息。
在步骤342中,基于所获得的接收实体模式识别由接收实体存储 的数据的组织结构。
在本发明的一个或多个实施例中,所识别的组织结构可指定以下 各项的一个或多个:(i)数据部分的命名约定,(ii)存储位置策略, 例如,指示存储数据的不同部分的位置的组织结构,和/或(iii)在接 收实体的存储资源内可存储数据的位置。
在步骤344中,基于所识别的组织结构来选择将来存储位置。
在本发明的一个或多个实施例中,通过识别具有足够容量来存储 待存储数据的接收实体的存储资源内的可用存储位置来选择将来存 储位置。
该方法可在步骤334之后结束。
图3E示出了本发明的一个或多个实施例的方法的流程图。根据 本发明的一个或多个实施例,图3E中所示的方法可用于确定数据的 将来存储位置。图3E中所示的方法例如可由数据传送管理器(110, 图1)执行。在不脱离本发明的情况下,图1中所示的***(100)的 其他组件可执行图3E中的方法。
在步骤350中,对于存储在接收实体中的数据副本的每个部分: (i)识别数据副本部分的存储位置,(ii)选择数据副本部分的标识 符,和/或(iii)识别由每个数据副本部分所暗示的已获得的模式部分。
在本发明的一个或多个实施例中,所述存储位置是存储所述数据 副本部分的持久性存储装置的块标识符。
在本发明的一个或多个实施例中,选择的标识符是统一资源标识 符。统一资源指示符的值可以是任何值。
在本发明的一个或多个实施例中,由每个数据副本部分暗示的已 获得的模式部分可以是用于在图3C的步骤332中执行匹配的模式条 目(例如图2B)。例如,上述条目包括与图3A的步骤308中存储的 每个数据部分相关联的持久性存储装置访问信息。
在步骤352中,修改步骤350中获得的模式的每个识别部分以反 映相应的已识别的存储位置和已选择的标识符。
例如,如图2B所示,每个条目可包含持久性存储装置访问信息。 可修改持久性存储装置访问信息以包括相应的已识别的存储位置。类 似地,可修改条目的标识符以反映已选择的标识符。
该方法可在步骤352之后结束。
图3F示出了本发明的一个或多个实施例的方法的流程图。根据 本发明的一个或多个实施例,图3F中所示的方法可用于根据适配的 模式修改接收实体模式。图3F中所示的方法例如可由数据传送管理 器(110,图1)执行。在不脱离本发明的情况下,图1中所示的*** (100)的其他组件可执行图3F中的方法。
在步骤360中,对于通过图3E中的方法修改的每个模式部分, 将修改的模式部分添加至接收实体的模式。
在本发明的一个或多个实施例中,将修改的部分添加至接收实体 模式是将若干条目添加至接收实体模式。每个条目与相应的修改部分 对应,并包括相应的已修改模式部分的访问信息。
在步骤362中,使用修改的接收实体模式在接收实体中发起对所 存储的数据副本的处理。
在本发明的一个或多个实施例中,发起对所存储的数据副本的处 理导致生成一个或多个数据结果。该数据结果例如可以是数据表。
该方法可在步骤362之后结束。
为了进一步阐明本发明的各个方面,在图4A中示出了一个非限 制性示例,并且图4B示出了由图4A中的示例性***执行的顺序图。 所包括的示例是用于说明性目的,而不是限定性的。
示例
图4A示出了所述示例性***的示意图。该示例性***可与图1 中所示的***类似。为简洁起见,并未在图4A中示出示例性***的 所有组件。
该示例性***包括执行实体(410、420)之间的数据传送的传送 管理器(400)。该示例性***包括两个实体:实体A(410)和实体 B(420)。实体A(410)包括计算框架A(410A)和存储资源A(410B)。 实体B(420)包括计算框架B(420A)和存储资源B(420B)。计 算框架(410A、420A)可以是使用相应的计算群集(未示出)的计 算资源执行的过程。存储资源(410B、420B)可以是相应的计算群 集的存储资源。
所述示例性***还包括提供对存储资源(410B、420B)的访问能 力的存储管理器(430)。存储管理器(430)提供对存储资源的块级 访问能力。除了块级访问能力之外或作为其替代,存储管理器(430) 可提供文件级访问能力。
图4B示出了由图4A中所示的***执行的动作的顺序图。在该顺 序图中,箭头表示***组件之间的通信,而方框表示组件执行的动作。 竖轴表示通信和动作的相对时长。因此,图中下侧的箭头或方框表示 在与图中上侧的箭头相关联的通信或动作之后执行的通信或动作。
该顺序图由传送管理器(400)在接收数据传送请求时启动。响 应于数据传送请求的接收,传送管理器(400)向计算框架A(410A) 发送模式请求。
响应于模式请求的接收,计算框架A(410A)执行计算(452)。 作为计算(452)的一部分,向存储管理器(430)发出复制请求(454), 请求复制与计算框架A(410A)相关联的模式。
响应于复制请求(454)的接收,存储管理器(430)发出读取(456) 和写入(458)命令以复制模式。可将模式的副本存储为数据结果。
在发出复制请求(454)之后,计算框架A(410A)发出读取请 求(460),以将数据结果中的模式的副本读入存储器中。响应于读 取请求(460)的接收,存储管理器(430)发出读取(462)命令, 以将模式的副本读入存储器中。
在将模式读入存储器中之后,计算框架A(410A)向传送管理器 (400)发送确认(464)。该确认可包含存储在存储器中的模式的访 问信息,从而使传送管理器(400)能够访问存储器中的模式。
在接收到确认(464)之后,传送管理器执行位置分析(466), 以确定数据传送请求中指示的数据的当前存储位置和/或传送的数据 的将来存储位置。位置分析(466)可与图3C和3D中所示的方法类 似。
在执行位置分析(466)之后,传送管理器(400)向存储管理器 发出复制请求(468)。该复制请求可请求将在位置分析(466)中确 定的位置所包括的数据复制到存储资源B(420)。
响应于复制请求(468)的接收,存储管理器(430)发出读取(470) 和写入(472)命令,以在存储资源B(420B)中生成数据的副本。 通过以这种方式复制数据,不在存储资源A中(410B)存储数据的 第二个副本。与此相反,在读取模式(例如450-462)时,在存储资 源A(410B)中存储模式的第二个副本。
在发送复制请求(468)之后,传送管理器(400)对存储在存储 器中的模式(474)的副本进行适配。适配模式的副本是对其进行修 改以反映存储在存储资源B(420B)中的数据副本的位置。
在对存储器中的模式(474)进行适配之后,向计算框架B(420A) 发送恢复模式请求(476)。该恢复模式请求(476)指示将根据适配 的模式更新存储资源B(420B)中的模式。
响应于该恢复模式请求(476),计算框架B(420A)向存储资 源B(420B)发出写入(480)指令,该指令导致使用存储器中的适 配模式的一部分覆盖存储资源B(420B)中的模式的一部分。恢复存 储资源B(420B)中的模式是对模式进行更新,以使其正确地反映存 储在存储资源B(420B)中的由写入(472)命令写入的数据。
在发送恢复模式请求(476)之后,向计算框架B(420A)发送 开始处理(482)请求。响应于该开始处理(482)请求,计算框架B (420A)发起计算并根据计算发起写入请求(484)。所述计算可反 映基于通过写入(472)命令写入存储资源B(420B)的数据的结果。
响应于该写入请求(484),存储管理器(430)发出写入(486) 命令,以将计算结果存储在存储资源B(420B)中。
该示例结束
如上所述,可使用计算设备来实现本发明的实施例。图5示出了 本发明的一个或多个实施例的计算设备的示意图。计算设备(500) 可包括一个或多个计算机处理器(502)、非持久性存储装置(504) (例如易失性存储器,例如随机存取存储器(RAM)、高速缓冲存储器)、持久性存储装置(506)(例如硬盘、光驱(例如光盘(CD) 驱动器)或数字通用盘(DVD)驱动器、闪存等)、通信接口(512) (例如蓝牙接口、红外线接口、网络接口、光接口等)、输入装置(510)、 输出装置(508)以及许多其他元件(未示出)和功能。这些组件中 的每一个将在下文中说明。
在本发明的一个实施例中,计算机处理器(502)可以是用于处 理指令的集成电路。例如,计算机处理器可以是一个或多个核心或者 是处理器的微核心。计算设备(500)还可包括一个或多个输入装置 (510),例如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任何其他类型的输入装置。此外,通信接口(512)可包括用于将计算 设备(500)连接至网络(未示出)(例如局域网(LAN)、广域网 (WAN)(例如因特网)、移动网络或任何其他类型的网络)和/或 另一个设备(例如另一个计算设备)的集成电路。
在本发明的一个实施例中,计算设备(500)可包括一个或多个 输出装置(508),例如屏幕(例如液晶显示屏(LCD)、等离子显 示屏、触摸屏、阴极射线管(CRT)监视器、投影仪或其他显示装置)、 打印机、外部存储装置或任何其他输出装置。一个或多个输出装置可与输入装置相同或不同。输入和输出装置可通过本地或远程方式连接 至计算机处理器(502)、非持久性存储装置(504)和持久性存储装 置(506)。存在许多不同类型的计算设备,并且上述输入和输出装 置可以采取其他形式。
本发明的实施例能通过提高在网络环境中的实体之间传送数据 的效率来提高网络环境中的计算的性能。更具体地说,本发明的实施 例能通过在数据传送过程中避免调用由计算框架执行的计算来提高 数据传送效率。通过避免调用由计算框架执行的计算,能够减少传送 数据的计算资源成本。具体而言,与利用计算框架获得作为数据传送 的一部分的存储数据部分的数据传送方法相比,能够减少处理器周期 数量、磁盘输入-输出和/或网络带宽。因此,本发明的实施例能够解 决在网络环境中进行数据传送的问题。本发明的一些实施例能够解决 计算所涉及的数据集非常庞大的大数据环境中的问题。因此,本发明的一些实施例解决了大数据环境中的实体之间的数据传送问题。在大 数据环境中,由于技术环境的特性,会直接产生在此解决的问题。计 算所涉及的大数据集可能无法由任何单个计算设备实际存储,因此需 要通过分布式存储装置来存储数据。
在本申请中,附图的元素可能标记为A到N。在本文中所用的上 述标记方法意味着该元素可包括任何数量的项目,并且不要求该元素 包括与标记为A到N的任何其他项目相同数量的元素。例如,一个 数据结构可包括标记为A的第一元素和标记为N的第二元素。该标 记方法意味着该数据结构可包括任何数量的元素。同样标记为A到N 的第二个数据结构也可包括任何数量的元素。第一数据结构的元素数 量与第二数据结构的元素数量可相同或不同。
可使用由数据管理设备的一个或多个处理器执行的指令来实现 本发明的一个或多个实施例。此外,这样的指令可与存储在一个或多 个非暂时性计算机可读介质上的计算机可读指令对应。
虽然本发明在上文中是参照有限数量的实施例说明的,但是受益 于本公开的本领域技术人员能理解,能够设计出不脱离本文中所公开 的本发明的范围的其他实施例。因此,本发明的范围仅由所附权利要 求限定。

Claims (20)

1.一种***,包括:
用于存储下列内容的持久性存储装置:
发送实体存储资源,和
接收实体存储资源;和
数据传送管理器,其被编程为:
获得针对所述发送实体存储资源中数据的数据传送请求;
响应于获得所述数据传送请求:
获得与所述数据相关联的发送实体模式,
使用所获得的发送实体模式来确定所述数据的当前存储位置,
确定所述接收实体存储资源中的所述数据的副本的将来存储位置,
将所述数据的副本存储在所确定的将来存储位置,
基于所确定的将来存储位置来适配所述发送实体模式,和
基于所适配的发送实体模式来修改接收实体模式。
2.根据权利要求1所述的***,其中获得与所述数据相关联的所述发送实体模式包括:
向发送实体的计算框架发送针对所述发送实体模式的请求;和
在发送针对所述模式的所述请求之后获得所述发送实体模式。
3.根据权利要求2所述的***,其中所述发送针对所述发送实体模式的所述请求发起在所述发送实体的所述计算框架中的计算。
4.根据权利要求3所述的***,其中所述计算将所述发送实体模式存储在所述发送实体存储资源中。
5.根据权利要求4所述的***,其中所述计算是查询。
6.根据权利要求1所述的***,其中使用所获得的发送实体模式来确定所述数据的所述当前存储位置包括:
获得针对所述数据的部分的多个标识符;
将所述多个标识符中的各个标识符与针对所述发送实体存储资源的相应的持久性存储装置访问信息进行匹配;和
将针对所述发送实体存储资源的所匹配的持久性存储装置访问信息存储为所述当前存储位置。
7.根据权利要求1所述的***,其中所述发送实体存储资源包括:
所述发送实体模式;和
所述数据,
其中所述发送实体模式包括与所述数据相关联的持久性存储装置访问信息。
8.根据权利要求1所述的***,其中将所述数据的所述副本存储在所确定的将来存储位置包括:
基于所确定的当前存储位置来发起所述持久性存储装置的块级读取。
9.根据权利要求8所述的***,其中所述发送实体的计算框架不发起所述块级读取。
10.根据权利要求8所述的***,其中通过向所述持久性存储装置的存储管理器发送请求来发起所述块级读取。
11.根据权利要求1所述的***,其中基于所确定的将来存储位置来适配所述发送实体模式包括:
识别所获得的发送实体模式的多个部分,所述多个部分与存储在所述接收实体存储资源中的所述数据的所述副本的多个部分相关联;
为存储在所述接收实体存储资源中的所述数据的所述副本的每个部分生成更新信息,所述更新信息包括:
在所述接收实体存储资源中的所述数据的所述副本的相应部分的存储位置,和
在所述接收实体存储资源中的所述数据的所述副本的相应部分的标识符;和
修改所获得的发送实体模式的所述多个部分中的每个部分以反映所生成的更新信息。
12.根据权利要求11所述的***,其中修改所获得的发送实体模式的所述多个部分中的每个部分以反映所生成的更新信息在所获得的发送实体模式的所述多个部分中的每个部分与存储在所述接收实体存储资源中的所述数据的所述副本的相应关联的部分之间产生映射。
13.根据权利要求1所述的***,其中基于所适配的发送实体模式来修改所述接收实体模式包括:
将所适配的发送实体模式的一部分添加至所述接收实体模式,其中所适配的发送实体模式的所述部分是通过所述适配而被修改的。
14.根据权利要求13所述的***,其中基于所适配的发送实体模式来修改所述接收实体模式进一步包括:
不将所适配的发送实体模式的第二部分添加至所述接收实体模式,其中所适配的发送实体模式的所述第二部分没有通过所述适配而被修改。
15.一种从发送实体向接收实体传送数据的方法,包括:
获得针对与所述发送实体相关联的发送实体存储资源中的数据的数据传送请求;
响应于获得所述数据传送请求:
获得与所述数据相关联的发送实体模式,
使用所获得的发送实体模式来确定所述数据的当前存储位置,
确定与所述接收实体相关联的接收实体存储资源中的所述数据的副本的将来存储位置,
将所述数据的副本存储在所确定的将来存储位置,
基于所确定的将来存储位置来适配所述发送实体模式,和
基于所适配的发送实体模式来修改与所述接收实体相关联的接收实体模式。
16.根据权利要求15所述的方法,其中获得与所述数据相关联的所述发送实体模式包括:
向所述发送实体的计算框架发送针对所述发送实体模式的请求;和
在发送针对所述模式的所述请求之后获得所述发送实体模式。
17.根据权利要求15所述的***,其中将所述数据的副本存储在所确定的将来存储位置包括:
通过向管理存储所述发送实体存储资源的持久性存储装置的存储管理器发送请求,基于所确定的当前存储位置来发起所述持久性存储装置的块级读取。
18.一种非暂时性计算机可读介质,包括计算机可读程序代码,所述计算机可读程序代码在由计算机处理器执行时使得所述计算机处理器能够执行从发送实体向接收实体传送数据的方法,所述方法包括:
获得针对与所述发送实体相关联的发送实体存储资源中的数据的数据传送请求;
响应于获得所述数据传送请求:
获得与所述数据相关联的发送实体模式,
使用所获得的发送实体模式来确定所述数据的当前存储位置,
确定与所述接收实体相关联的接收实体存储资源中的所述数据的副本的将来存储位置,
将所述数据的副本存储在所确定的将来存储位置,
基于所确定的将来存储位置来适配所述发送实体模式,和
基于所适配的发送实体模式来修改与所述接收实体相关联的接收实体模式。
19.根据权利要求18所述的非暂时性计算机可读介质,其中获得与所述数据相关联的所述发送实体模式包括:
向所述发送实体的计算框架发送针对所述发送实体模式的请求;和
在发送针对所述模式的所述请求之后获得所述发送实体模式。
20.根据权利要求18所述的非暂时性计算机可读介质,其中将所述数据的副本存储在所确定的将来存储位置包括:
通过向管理存储所述发送实体存储资源的持久性存储装置的存储管理器发送请求,基于所确定的当前存储位置来发起所述持久性存储装置的块级读取。
CN201910090199.4A 2018-01-31 2019-01-30 用于在大数据环境中高效数据复制的方法和*** Active CN110096386B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/884,748 2018-01-31
US15/884,748 US11086901B2 (en) 2018-01-31 2018-01-31 Method and system for efficient data replication in big data environment

Publications (2)

Publication Number Publication Date
CN110096386A true CN110096386A (zh) 2019-08-06
CN110096386B CN110096386B (zh) 2023-09-15

Family

ID=65033412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910090199.4A Active CN110096386B (zh) 2018-01-31 2019-01-30 用于在大数据环境中高效数据复制的方法和***

Country Status (3)

Country Link
US (1) US11086901B2 (zh)
EP (1) EP3522027A1 (zh)
CN (1) CN110096386B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117149097A (zh) * 2023-10-31 2023-12-01 苏州元脑智能科技有限公司 一种分布式存储***数据访问控制方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044530A1 (en) * 2003-08-21 2005-02-24 Lev Novik Systems and methods for providing relational and hierarchical synchronization services for units of information manageable by a hardware/software interface system
CN1894672A (zh) * 2003-12-19 2007-01-10 维里塔斯管理公司 用于对存储区中的选定数据执行操作的方法和设备
CN101145138A (zh) * 2006-09-14 2008-03-19 国际商业机器公司 存储管理装置、存储管理驱动器、存储管理***以及存储管理方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356957B2 (en) 1997-04-03 2002-03-12 Hewlett-Packard Company Method for emulating native object oriented foundation classes on a target object oriented programming system using a template library
US7287259B2 (en) 2000-04-24 2007-10-23 Microsoft Corporation Isolating assembly versions for binding to application programs
US7457631B2 (en) * 2004-02-10 2008-11-25 Research In Motion Limited Apparatus, and associated method, for facilitating synchronization of databases connected by way of a radio air interface
US7451435B2 (en) 2004-12-07 2008-11-11 Microsoft Corporation Self-describing artifacts and application abstractions
US20060277224A1 (en) 2005-06-07 2006-12-07 Microsoft Corporation Synchronizing arbitrary data using a flexible schema
US20080005194A1 (en) 2006-05-05 2008-01-03 Lockheed Martin Corporation System and method for immutably cataloging and storing electronic assets in a large scale computer system
US8136100B1 (en) 2006-08-29 2012-03-13 Adobe Systems Incorporated Software installation and icon management support
US20130047150A1 (en) 2006-08-29 2013-02-21 Adobe Systems Incorporated Software installation and process management support
US20090083441A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Synchronization of web service endpoints in a multi-master synchronization environment
US8484231B2 (en) 2010-10-28 2013-07-09 Honeywell International Inc. System and method for data mapping and information sharing
US10089152B1 (en) 2012-03-19 2018-10-02 Amazon Technologies, Inc. Using scripts to bootstrap applications with metadata from a template
EP2868037A4 (en) 2012-06-29 2016-01-20 Hewlett Packard Development Co AUTOMATED CONTROL-BASED TEST DATA GENERATION
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
EP3053131A4 (en) 2013-09-30 2017-03-29 Hewlett-Packard Enterprise Development LP Overlays to modify data objects of source data
US20150120479A1 (en) 2013-10-28 2015-04-30 International Business Machines Corporation Catalog driven order management for rule definition
GB2524074A (en) 2014-03-14 2015-09-16 Ibm Processing data sets in a big data repository
US20170308602A1 (en) * 2015-01-09 2017-10-26 Landmark Graphics Corporation Apparatus And Methods Of Data Synchronization
US10447812B2 (en) 2015-06-05 2019-10-15 Apple Inc. On demand resources
US9582328B1 (en) 2015-06-19 2017-02-28 EMC IP Holding Company LLC Allocation of resources in computing environments
US10127151B2 (en) 2016-05-13 2018-11-13 Microsoft Technology Licensing, Llc. Dynamically sized locals with precise garbage collection reporting
US10223338B2 (en) 2016-05-31 2019-03-05 Vmware, Inc. Visual designer for editing large schemaless XML file
US10621150B2 (en) * 2017-03-05 2020-04-14 Jonathan Sean Callan System and method for enforcing the structure and content of databases synchronized over a distributed ledger

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044530A1 (en) * 2003-08-21 2005-02-24 Lev Novik Systems and methods for providing relational and hierarchical synchronization services for units of information manageable by a hardware/software interface system
CN1894672A (zh) * 2003-12-19 2007-01-10 维里塔斯管理公司 用于对存储区中的选定数据执行操作的方法和设备
CN101145138A (zh) * 2006-09-14 2008-03-19 国际商业机器公司 存储管理装置、存储管理驱动器、存储管理***以及存储管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117149097A (zh) * 2023-10-31 2023-12-01 苏州元脑智能科技有限公司 一种分布式存储***数据访问控制方法及装置
CN117149097B (zh) * 2023-10-31 2024-02-06 苏州元脑智能科技有限公司 一种分布式存储***数据访问控制方法及装置

Also Published As

Publication number Publication date
CN110096386B (zh) 2023-09-15
US20190236200A1 (en) 2019-08-01
US11086901B2 (en) 2021-08-10
EP3522027A1 (en) 2019-08-07

Similar Documents

Publication Publication Date Title
CN108536761B (zh) 报表数据查询方法及服务器
CN104160381B (zh) 多租户环境中租户特定数据集的管理方法及其***
EP2184680B1 (en) An infrastructure for parallel programming of clusters of machines
CA2843459C (en) Low latency query engine for apache hadoop
CN110232037A (zh) 主机***及其方法和加速模块
CN108737325A (zh) 一种多租户数据隔离方法、装置及***
EP2045719A2 (en) An infrastructure for parallel programming of clusters of machines
CN109976667A (zh) 一种镜像管理方法、装置及***
CN110442458A (zh) 缩放计算群集
CN107329991B (zh) 一种列表页访问和展示方法及其***
CN104239122B (zh) 一种虚拟机迁移方法和装置
Turk et al. Temporal workload-aware replicated partitioning for social networks
CN109739890A (zh) 数据处理方法、装置及设备
CN103559247B (zh) 一种数据业务处理方法及装置
WO2022095366A1 (zh) 基于Redis的数据读取方法、装置、设备及可读存储介质
CN111324667B (zh) 一种数据同步方法、装置、电子设备及存储介质
CN103595799A (zh) 一种实现分布式共享数据库的方法
CN108073350A (zh) 一种用于云渲染的对象存储***和方法
CN108074210A (zh) 一种用于云渲染的对象获取***和方法
CN110727664A (zh) 用于对公有云数据执行目标操作的方法与设备
CN110096386A (zh) 用于在大数据环境中高效数据复制的方法和***
CN109407992A (zh) 一种用于创建云硬盘的方法和装置
CN107408239A (zh) 通过多个邮箱在通信应用中进行海量数据管理的架构
CN110109866A (zh) 一种文件***目录的管理方法及设备
CN109716280A (zh) 灵活的内存列存储布置

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
GR01 Patent grant
GR01 Patent grant