CN103916455B - 用于数据复制的方法和系统 - Google Patents
用于数据复制的方法和系统 Download PDFInfo
- Publication number
- CN103916455B CN103916455B CN201410003406.5A CN201410003406A CN103916455B CN 103916455 B CN103916455 B CN 103916455B CN 201410003406 A CN201410003406 A CN 201410003406A CN 103916455 B CN103916455 B CN 103916455B
- Authority
- CN
- China
- Prior art keywords
- secondary site
- master control
- burst
- data set
- peer station
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000003860 storage Methods 0.000 claims description 78
- 230000015654 memory Effects 0.000 claims description 54
- 230000003362 replicative effect Effects 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims 4
- 230000007246 mechanism Effects 0.000 abstract description 54
- 238000013500 data storage Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000004575 stone Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005194 fractionation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 235000015170 shellfish Nutrition 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供一种在数据处理系统中用于数据复制的机制。机制将待复制的数据集划分成多个分片。将从初级站点向在多个次级站点内的主控次级站点拷贝多个分片中的每个分片。多个次级站点包括主控次级站点和至少一个附属对等站点。机制从初级站点向多个次级站点拷贝多个分片,从而使得主控次级站点存储数据集的第一分片,并且至少一个附属对等站点中的每个附属对等站点存储数据集的对应分片。响应于完成向多个次级站点拷贝多个分片,对于至少一个附属对等站点中的每个附属对等站点,机制发起向主控次级站点拷贝数据集的对应分片。
Description
技术领域
本申请总体上涉及一种改进的数据处理装置和方法并且更具体地涉及用于基于云的数据迁移和复制的机制。
背景技术
云计算是使用通过网络(通常为因特网)作为服务而被递送的计算资源(硬件和软件)。云计算向远程服务委托用户的数据、软件和计算。使用软件作为服务,用户也租赁应用软件和数据库。云提供者管理应用在其上运行的基础结构和平台。终端用户可以通过web浏览器或者轻量级桌面或者移动应用访问基于云的应用而业务软件和用户数据存储于在远程位置的服务器上。
云服务如今在提供许多服务(比如基础结构、应用、存储等)时承担中心级。云存储装置基本上是可以根据存储需要而被购买或者租赁的联网的联机存储装置。使用存储云的实体未考虑如何使空间可用于它们,而是更考虑是否使保障的空间可用。另一考虑是数据的私密和意识到如果数据存储于这样的云存储装置上则它保持安全。如果向远程站点拷贝或者复制关键数据或者生产数据以满足业务连续要求,则这一点变得更重要。也重要的是在满足可用带宽和成本要求之时尽可能快地向远程站点拷贝生产数据。
云存储服务正变得越来越普遍并且可以被用来在网络拥塞期间将向最近位置拷贝数据并且然后在时间段内向远程位置拷贝数据。安全和私密在如以上描述的部署中是主要考虑。处于云存储站点之一的个人可以有可能获得对可能包含保密或者个人信息的生产或者初级数据(primary data)的对等查看。
发明内容
在一个例示性实施例中,提供一种在数据处理系统中用于数据复制的方法。该方法包括将待复制的数据集划分成多个分片。将从初级站点向在多个次级站点内的主控次级站点拷贝多个分片中的每个分片。多个次级站点包括主控次级站点和至少一个附属对等站点。该方法还包括从初级站点向多个次级站点拷贝多个分片从而使得主控次级站点存储数据集的第一分片并且至少一个附属对等站点中的每个附属对等站点存储数据集的对应分片。响应于完成向多个次级站点拷贝多个分片,该方法还包括:对于至少一个附属对等站点中的每个附属对等站点,发起向主控次级站点拷贝数据集的对应分片。
在其它例示性实施例中,提供一种包括计算机可用或者可读介质的计算机程序产品,计算机可用或者可读介质具有计算机可读程序。计算机可读程序当在计算设备上被执行时使计算设备执行以上关于方法例示性实施例概括的操作中的各种操作和组合。
在又一示例实施例中,提供一种系统/装置。该系统/装置可以包括一个或者多个处理器和耦合到一个或者多个处理器的存储器。存储器可以包括指令,指令在由一个或者多个处理器执行时使一个或者多个处理器执行以上关于方法例示性实施例概括的操作中的各种操作和组合。
本发明的这些以及其它特征和优点将在本发明的示例实施例的以下具体描述中被描述或者将按照以下具体描述而变得为本领域普通技术人员所清楚。
附图说明
将通过参照在结合附图阅读时的对例示性实施例的以下具体描述来最好地理解本发明及其优选使用方式以及更多目的和优点,在附图中:
图1描绘根据一个例示性实施例的云计算节点;
图2描绘根据一个例示性实施例的云计算环境;
图3描绘根据一个例示性实施例的抽象模型层;
图4描绘根据一个例示性实施例的用于数据迁移和复制的系统的示例部署;
图5图示根据一个例示性实施例的跨越主控次级站点和次级浮桥(pontoon)站点集合拆分数据;
图6图示根据一个例示性实施例的合并的只读逻辑,该只读逻辑在允许浮桥站点向主控次级站点拷贝数据之时从次级站点提供数据视图;
图7图示根据一个例示性实施例的在浮桥站点与主控次级站点之间的拷贝和只读操作的视图;
图8是图示根据一个例示性实施例的用于建立在初级站点、浮桥站点和主控次级站点之间的伙伴关系的机制的操作的流程图;
图9A和图9B示出流程图,该流程图图示根据一个例示性实施例的用于后台拷贝和合并的读取视图的机制的操作;以及
图10A和图10B示出流程图,该流程图图示根据一个例示性实施例的用于分片计算和浮桥站点空间分配的机制的操作的流程图。
具体实施方式
例示性实施例提供一种用于在跨越存储云的远程复制期间的数据安全和保密的机制。机制可以创建或者标识独立存储云或者“浮桥”为同等利益相关者(stake holder)并且跨越所有浮桥向主控次级站点中继初级数据或者生产数据的拆分信息。浮桥站点是参与从初级站点向主控次级站点迁移或者复制数据而未存储全部数据的附属对等站点。每个云或者浮桥可以在复制过程中充当“踏脚石”。然后,可以在远程站点查看初级数据或者生产信息,该远程站点合并来自独立存储云或者浮桥的视图并且呈现跨越云分散的数据的单个视图,直至从每个浮桥站点向主控次级站点拷贝了所有数据。由于每个浮桥具有去往第三方或者访问浮桥站点的任何人的合格数据子集而不是整个数据集,所以数据将仅表现为随机比特。机制也尝试通过跨越浮桥站点复制初级数据的部分由此减少将从单个站点向另一单个远程站点拷贝的数据的负荷来解决针对初始同步需要的大量时间的问题。机制可以用来向单个主控次级站点或者多个主控次级站点复制或者迁移多个初级映像。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如系统;系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如应用服务器软件;数据库软件,例如数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作量层66提供云计算环境可以用于的功能的示例。可以从这一层提供的工作量和功能的示例包括:映射和导航;软件开发和生命周期管理;虚拟教室教育递送;以及数据分析处理;事务处理;以及数据迁移/复制。
存储云基本上是联网的联机存储装置,该存储装置可用于任何一个或者多个合格实体根据要求来使用分配的空间。企业组织必须向远程站点复制生产数据或者关键信息从而使得在灾难情形期间可以恢复数据。然而,在跨越多个数据中心(这些数据中心是跨越多个站点展开的)复制数据之时,数据复制速率限于可用站点间链路的带宽和速度。为了更高带宽,组织将承担更高成本,并且对于将向次级站点复制的大数据,复制时间长。
例示性实施例尝试在无需等待整个初始同步发生的情况下解决在次级站点的快速数据可用性的问题。例示性实施例也尝试通过不添加加密的开销来解决数据安全的问题。例示性实施例跨越可用浮桥站点拆分数据。即使一方具有对数据的访问,但是它仍然将不完整;该方仅具有部分访问权。
例示性实施例允许在操作中使用充当浮桥的现有公共或者合格存储云作为潜在利益相关者。浮桥站点是参与从初级站点向主控次级站点迁移或者复制数据而未存储全部数据的附属对等站点。例示性实施例要求管理员在建立与远程站点的伙伴关系时标识可用浮桥站点。为公共存储云向浮桥站点付费,这些公共存储云按照需求提供如保留或者如由在实体与存储云提供者之间的协定所确定的合格存储或者使用空间。管理员建立在初级站点与合格次级站点之间以及在初级站点与浮桥站点之间和在浮桥站点与次级站点之间的伙伴关系。
在这一过程期间,管理员必须标识将充当主控次级站点的远程站点。主控次级站点向访问复制的数据的主机/服务器提供合并的视图。一旦向浮桥站点和主控次级站点中的每个站点复制了初级数据的相应分片,主控次级站点就启用合并的读取视图,该读取视图提供初级数据的只读视图,该初级数据的节段是从每个浮桥站点拉取的。在这一只读视图可用之时,关系在同步三态中存在,在该状态中向浮桥站点拷贝数据,但是尚未从浮桥站点中的每个浮桥站点向主控次级站点拷贝数据。
例示性实施例要求管理员标识浮桥站点。浮桥是踏脚石。例示性实施例在跨越不同浮桥复制初级数据和在远程站点合并这一数据时使用这一概念。浮桥站点可以是存储阵列或者网络附着存储(NAS)箱或者存储云。浮桥站点是参与从初级站点向主控次级站点迁移或者复制数据而未存储全部数据的附属对等站点。
图4描绘根据一个例示性实施例的用于数据迁移和复制的系统的示例部署。存储云初级站点410向存储云主控次级站点420迁移或者复制数据。管理员建立在初级站点410与主控次级站点420之间以及在初级站点410与存储云次级浮桥站点421-423之间和在浮桥站点421-423与主控次级站点420之间的伙伴关系。
存储云初级站点410向主控次级站点420复制数据的一部分并且向浮桥站点421-423并行复制数据的部分。一旦初级站点410向主控次级站点420和浮桥站点421-423复制数据,主控次级站点420就可以启用合并的视图,从而使得客户端可以查看数据如同全部数据存在于主控次级站点420。最终,浮桥站点421-423向主控次级站点420复制数据的部分直至向主控次级站点420完全复制数据。
图5图示根据一个例示性实施例的跨越主控次级站点和次级浮桥站点集合拆分数据。初级站点510在位图中将待迁移或者复制的数据划分成多个分片。每个分片代表参与复制的站点。例如,如果有包括主控站点的四个站点,则位图将包括四个分片。随机逻辑和后台拷贝线程515定义如何从主控站点510向主控次级站点520和次级浮桥站点521-523拷贝分片。每个分片在位图上具有将向它的相应站点拷贝的数据块。
图6图示根据一个例示性实施例的合并的只读逻辑,该逻辑在允许浮桥站点向主控次级站点拷贝数据之时从次级站点提供数据视图。主控次级站点620初始地存储从初级站点(未示出)复制或者迁移的相应数据条。次级浮桥站点621-23也初始地存储来自待复制的数据的位图的相应数据条。虚拟逻辑630合并跨越存储浮桥复制的数据。虚拟逻辑630允许主控次级站点620提供数据的合并的只读视图,即使尚未从浮桥站点621-623向主控次级站点620完全复制数据。虚拟逻辑630向客户端提供主控次级站点的只读视图640。
图7图示根据一个例示性实施例的在浮桥站点与主控次级站点之间的拷贝和只读操作的视图。管理员建立在主控次级站点720与次级站点721-723之间的伙伴关系。主控次级站点720可以与次级站点721-723通信以从次级站点721-723向主控次级站点720迁移数据块。并行地,在完成向主控次级站点720迁移数据块之前,主控次级站点720可以与次级站点721-723通信以提供数据的只读视图。
所属技术领域的技术人员将知道,本发明可以被实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以采用形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或组合硬件和软件方面的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以采取在一个或多个计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质具有体现于其上的计算机可用程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线或半导体系统、装置/器件,或者任意以上的组合。计算机可读存储介质的更具体的示例(非穷举的列表)将包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文的上下文中,计算机可读存储介质可以是任何可以包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括例如在基带中或者作为载波的部分传播的数据信号,其中承载了计算机可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以传达、传播或者传送用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上体现的程序代码可以使用任何适当的介质传输,包括但不限于无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
图8是流程图,该流程图图示根据一个例示性实施例的用于建立在初级站点、浮桥站点和主控次级站点之间的伙伴关系的机制的操作。操作开始(块800),并且管理员标识和创建存储浮桥或者存储云浮桥(块801)。机制通过首先标识主控次级站点并且然后标识将参与复制过程的私有/公共存储云(充当浮桥)来创建存储浮桥。在初级站点上,管理员标识数据将被复制或者迁移到的主控次级站点(块802)。管理员标识参与私有或者公共存储浮桥或者存储云浮桥站点(块803)。
管理员然后建立在初级站点与主控次级站点之间的伙伴关系(块804)。管理员也建立在初级站点与浮桥之间的伙伴关系(块805)。管理员建立在主控次级站点与浮桥站点之间的伙伴关系(块806)。随后,操作结束(块807)。
操作要求从可以创建/修改/删除可用存储空间并且如果需要则执行高级操作的单个或者多个管理接口动态管理所有存储站点。这也假设恰当认证过程就位并且然后建立伙伴关系。
次级站点包括主控次级站点和一个或者多个浮桥站点。浮桥站点是参与复制过程的参与存储装置或者存储云。主控次级站点是将复制初级映像的复制站点。直至来自浮桥站点的所有数据到达主控次级站点,一旦向次级站点拷贝了相应分片的所有数据,则在主控次级站点的逻辑提供合并的读取视图。分片(S)包括将向参与站点拷贝的初级映像的数据块的组块。数据的单位是作为初级映像参与复制的每个逻辑单位编号(LUN)、逻辑卷、虚拟盘、物理盘、空间、文件夹或者文件的空间。单位可以包括在初级参与复制过程的多个LUN或者存储装置。
分片长度(SS)是将向相应次级站点拷贝的(每个单位的)初级映像的数据块的长度或者数目。分片长度在每浮桥站点基础上特别重要,因为根据在该分片上的可用存储装置可以调整或者变化长度。站点总数(N)包括排除初级站点的所有参与站点。也就是说,站点总数包括主控次级站点和次级浮桥站点。可用空间(AS)是在每个浮桥站点上的可用空间。
图9A和图9B示出流程图,该流程图图示根据一个例示性实施例的用于后台拷贝和合并的读取视图的机制的操作。参照图9A,操作开始(块900),并且机制在主控次级站点上创建初级数据存储空间的相等大小的数据存储空间(块901)。机制计算可用浮桥站点(块902)并且估计在每个浮桥站点上的可用空间(块903)。机制然后计算和估计可以在每个浮桥站点上存储初级数据的存储空间中的多少存储空间(块904)。
机制在初级数据的位图上创建合格检查点(块905)。每个节段表现为跨越每个浮桥站点可用的具有等效空间的独立块集合(块906)。机制建立在初级数据的等效独立节段与浮桥站点的可用空间之间的关系(块907)。机制然后创建将跨越主控次级站点和浮桥站点被拆分的用于后台拷贝操作的多个线程(块908)。机制向每个合格存储浮桥站点和主控次级站点拷贝初级数据(块909)。
随后,转向图9B,机制确定是否已经向每个浮桥站点拷贝了用于合格节段的数据(块910)。如果尚未向每个浮桥站点拷贝数据,则操作返回到图9A中的块909以向次级站点拷贝初级数据。
如果已经在块910中向每个浮桥站点拷贝了数据,则机制标记关系已经完成初级数据跨越每个浮桥站点的后台拷贝(块911)。然后,机制在主控次级站点触发用于数据的合并的读取视图的逻辑(块912)。机制开始在每个浮桥站点与主控次级站点之间的后台拷贝(块913)。一旦从浮桥站点向主控次级站点拷贝了所有数据,则机制终止合并的读取视图逻辑(块914)。随后,操作结束(块915)。
图10A和图10B示出流程图,该流程图图示根据一个例示性实施例的用于分片计算和浮桥站点空间分配的机制的操作。参照图10A,操作开始(块1000),并且机制计算包括主控次级站点和附属对等(浮桥)站点的次级站点数目(块1001)。机制按照在每个合格次级站点上的可用存储空间将初级数据位图拆分成分片(块1002)。分片数目(S)可以等于次级分片数目,这些次级分片包括数据将被迁移或者复制到的主控次级站点和附属对等存储站点集。例如,如果有三个附属对等(浮桥)站点和一个主控次级站点,则分片数目为四。
机制计算每站点的最小存储空间(SS)(块1003)。最小存储空间是初级映像空间(PS)除以站点数目。例如,如果初级数据为40GB并且站点数目为四,则每个分片长度为10GB。机制向每个次级站点探测可用存储空间(块1004)。探测提供每浮桥站点的可用空间(AS)。
对于每个次级站点,机制计算用于复制的存储空间(块1005)。机制然后确定最小存储空间是否满足分片长度(SS)标准(块1006)。如果最小存储空间满足分片长度标准,则机制标记分片长度存储空间为在站点上可用(块1007)。然后,操作前进到图10B中的块1008以标记用于后台拷贝线程向在标识的次级站点上的该分片拷贝的区域。机制然后确定站点是否为最后次级站点(块1009)。如果站点不是最后次级站点,则操作返回到图10A中的块1005以对于下一站点计算用于复制的存储空间。
如果在块1006中次级站点的可用存储空间未满足分片长度要求,则机制标识可用空间并且标记用于与次级浮桥站点对应的分片的新分片长度(块1010)。主控次级站点将总是具有用于初级卷的整个存储空间,但是参与存储云可以具有或者可以没有用于存储分片的所需空间。机制计算空间差值(块1011)并且在位图上移位下一分片以在先前分片结束时开始(块1012)。
接着,机制确定下一站点是否具有附加空间(块1013)。如果下一站点具有附加空间,则转向图10B,机制确定可用空间是否等于分片长度加上空间差值(块1014)。如果可用空间不等于分片长度加上差值,或者如果在块1013中下一站点没有附加空间,则机制维持用于次级站点的分片长度标准(块1015)并且放弃使用附加空间(块1016)。机制然后标记用于后台拷贝线程向在标识的次级站点上的该分片拷贝的区域(块1008)并且确定站点是否为最后次级对等站点(块1009)。如果站点不是最后次级站点,则操作返回到图10A中的块1005以对于下一站点计算用于复制的存储空间。
如果在块1014中可用空间等于分片长度加上差值,则机制设置用于次级站点的新分片长度(块1017)并且然后标记用于后台拷贝线程向在标识的站点上的该分片拷贝的区域(块1008)并且确定站点是否为最后次级站点(块1009)。如果站点不是最后次级站点,则操作返回到图10A中的块1005以对于下一站点计算用于复制的存储空间。
如果在块1009中站点是最后次级站点,则机制建立与主控次级站点有关系的浮桥站点(块1018)。机制从初级站点向主控次级站点中继将从每个浮桥站点向主控次级站点拷贝的块的分片长度的信息(块1019)。机制启动从初级站点向每个附属对等(浮桥)站点和主控次级站点的后台拷贝线程(块1020)
一旦拷贝操作完成,则机制在主控次级站点上启用合并的读取视图逻辑(块1021)。机制然后启动从每个浮桥站点向主控次级站点的拷贝过程(块1022)。机制验证向主控次级站点拷贝来自每个浮桥站点的数据(块1023)。随后,操作结束(块1024)。
图中的流程图和框图举例说明根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就这一点而言,在流程图或者框图中的每个块可以代表代码模块、段或者部分,该代码模块、段或者部分包括用于实施指定的逻辑功能的一个或者多个可执行指令。也应当注意在一些备选实现方式中,在块中指出的功能可以不按图中指出的顺序出现。例如事实上根据涉及到的功能可以基本上并行执行接连示出的两个块或者有时可以按相反顺序执行这些块。也将注意框图和/或流程图图示的每个块以及在框图和/或流程图图示中的块组合可以由执行指定的功能或者动作的基于专用硬件的系统实施或者由专用硬件与计算机指令的组合实施。
因此,例示性实施例提供用于管理从初级站点向次级站点复制或者迁移大和关键数据的机制。例示性实施例的机制使用第三方或者存储云服务来解决安全和数据私密的考虑,因为每个附属站点仅有被复制的初级映像的一部分而不是全部数据。对在附属站点上的数据的任何无根据或者未授权访问或者对访问安全的任何危害将仅提供将无用的部分数据。排除主控次级和初级站点的每个参与站点充当浮桥或者踏脚石。附属对等站点收集定义的数据集并且然后在某个适当时间点从附属对等站点向主控附属站点拷贝数据。
如以上所言,应当领会到,例示性实施例可以采用全硬件实施例、全软件实施例或者包含硬件与软件单元的实施例这样的形式。在一个示例实施例中,在包括但不限于固件、常驻软件、微代码等的软件或者程序代码中实施例示性实施例的机制。
适合于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或者间接耦合到存储器单元的至少一个处理器。存储器单元可以包括在实际执行程序代码期间运用的本地存储器、大容量存储装置和高速缓存存储器,这些高速缓存存储器提供至少一些程序代码的暂时存储以便减少必须在执行期间从大容量存储装置取回代码的次数。
输入/输出或者I/O设备(包括但不限于键盘、显示器、指示设备等)可以直接或者通过居间I/O控制器耦合到系统。网络适配器也可以耦合到系统以使数据处理系统能够变成通过居间私有或者公共网络耦合到其它数据处理系统或者远程打印机或者存储设备。调制解调器、线缆调制解调器和以太网卡仅为当前可用网络适配器类型的少数类型。
已经出于例示和描述的目的而呈现了本发明的描述,但是该描述未旨在于穷举本发明或者使本发明限于公开的形式。许多修改和变化将为本领域普通技术人员所清楚。选择和描述实施例以便最好地说明本发明的原理、实际应用并且使本领域其他普通技术人员能够对于具有如与设想的特定使用相配的各种修改的各种实施例理解本发明。
Claims (31)
1.一种在数据处理系统中用于数据复制的方法,包括:
将待复制的数据集划分成多个分片,其中将从初级站点向在多个次级站点内的主控次级站点拷贝所述多个分片中的每个分片,其中所述多个次级站点包括所述主控次级站点和至少一个附属对等站点;
从所述初级站点向所述多个次级站点拷贝所述多个分片,从而使得所述主控次级站点存储所述数据集的第一分片并且所述至少一个附属对等站点中的每个附属对等站点存储所述数据集的对应分片;以及
响应于完成向所述多个次级站点拷贝所述多个分片,对于所述至少一个附属对等站点中的每个附属对等站点,发起从所述附属对等站点向所述主控次级站点拷贝所述数据集的所述对应分片。
2.根据权利要求1所述的方法,其中所述初级站点包括存储云。
3.根据权利要求1所述的方法,其中所述主控次级站点包括存储云。
4.根据权利要求1所述的方法,其中所述至少一个附属对等站点包括存储云。
5.根据权利要求1所述的方法,其中将所述数据集划分成所述多个分片包括:
确定次级站点数目;
确定每次级站点的存储空间;以及
对于每个给定的次级站点,响应于所述给定的次级站点的可用存储空间大于或者等于所述存储空间,标记所述给定的次级站点的存储空间的区域以用于复制存储。
6.根据权利要求5所述的方法,其中将所述数据集划分成所述多个分片还包括:
响应于所述给定的次级站点的可用存储空间并不大于或者等于所述存储空间,确定空间差值;以及
响应于下一次级站点具有附加存储空间,移位下一分片以在先前分片结束时开始并且设置用于所述给定的次级站点和所述下一次级站点的新分片长度。
7.根据权利要求1所述的方法,还包括:
响应于完成向所述多个次级站点拷贝所述多个分片,在所述主控次级站点启用用于所述数据集的合并的读取视图的逻辑,其中所述逻辑向客户端呈现所述数据集的合并的读取视图,如同所述数据集存储于所述主控次级站点。
8.根据权利要求7所述的方法,还包括:
响应于完成从所述至少一个附属对等站点向所述主控次级站点拷贝所述数据集的分片,在所述主控次级站点禁用用于所述数据集的所述合并的读取视图的所述逻辑。
9.根据权利要求1所述的方法,还包括:
建立在所述初级站点与所述多个次级站点中的每个次级站点之间的伙伴关系。
10.根据权利要求1所述的方法,还包括:
建立在所述至少一个附属对等站点中的每个附属对等站点与所述主控次级站点之间的伙伴关系。
11.根据权利要求1所述的方法,其中发起向所述主控次级站点拷贝所述数据集的所述对应分片包括在所述给定的次级对等站点上发起后台拷贝线程。
12.根据权利要求1所述的方法,还包括:
验证向所述主控次级站点拷贝来自所述至少一个附属对等站点中的每个附属对等站点的数据。
13.一种在数据处理系统中用于数据复制的系统,包括:
被配置为将待复制的数据集划分成多个分片的模块,其中将从初级站点向在多个次级站点内的主控次级站点拷贝所述多个分片中的每个分片,其中所述多个次级站点包括所述主控次级站点和至少一个附属对等站点;
被配置为从所述初级站点向所述多个次级站点拷贝所述多个分片,从而使得所述主控次级站点存储所述数据集的第一分片并且所述至少一个附属对等站点中的每个附属对等站点存储所述数据集的对应分片的模块;以及
被配置为响应于完成向所述多个次级站点拷贝所述多个分片,对于所述至少一个附属对等站点中的每个附属对等站点,发起从所述附属对等站点向所述主控次级站点拷贝所述数据集的所述对应分片的模块。
14.根据权利要求13所述的系统,其中所述初级站点包括存储云。
15.根据权利要求13所述的系统,其中所述主控次级站点包括存储云。
16.根据权利要求13所述的系统,其中所述至少一个附属对等站点包括存储云。
17.根据权利要求13所述的系统,其中将所述数据集划分成所述多个分片包括:
确定次级站点数目;
确定每次级站点的存储空间;以及
对于每个给定的次级站点,响应于所述给定的次级站点的可用存储空间大于或者等于所述存储空间,标记所述给定的次级站点的存储空间的区域以用于复制存储。
18.根据权利要求17所述的系统,其中将所述数据集划分成所述多个分片还包括:
响应于所述给定的次级站点的可用存储空间并不大于或者等于所述存储空间,确定空间差值;以及
响应于下一次级站点具有附加存储空间,移位下一分片以在先前分片结束时开始并且设置用于所述给定的次级站点和所述下一次级站点的新分片长度。
19.根据权利要求13所述的系统,还包括:
被配置为响应于完成向所述多个次级站点拷贝所述多个分片,在所述主控次级站点启用用于所述数据集的合并的读取视图的逻辑的模块,其中所述逻辑向客户端呈现所述数据集的合并的读取视图,如同所述数据集存储于所述主控次级站点。
20.根据权利要求19所述的系统,还包括:
被配置为响应于完成从所述至少一个附属对等站点向所述主控次级站点拷贝所述数据集的分片,在所述主控次级站点禁用用于所述数据集的所述合并的读取视图的所述逻辑的模块。
21.根据权利要求13所述的系统,还包括:
被配置为建立在所述初级站点与所述多个次级站点中的每个次级站点之间的伙伴关系的模块。
22.根据权利要求13所述的系统,还包括:
被配置为建立在所述至少一个附属对等站点中的每个附属对等站点与所述主控次级站点之间的伙伴关系的模块。
23.根据权利要求13所述的系统,其中发起向所述主控次级站点拷贝所述数据集的所述对应分片包括在所述给定的次级对等站点上发起后台拷贝线程。
24.根据权利要求13所述的系统,还包括:
被配置为验证向所述主控次级站点拷贝来自所述至少一个附属对等站点中的每个附属对等站点的数据的模块。
25.一种在数据处理系统中用于数据复制的装置,包括:
处理器;以及
耦合到所述处理器的存储器,其中所述存储器包括指令,所述指令在由所述处理器执行时使所述处理器:
将待复制的数据集划分成多个分片,其中将从初级站点向在多个次级站点内的主控次级站点拷贝所述多个分片中的每个分片,其中所述多个次级站点包括所述主控次级站点和至少一个附属对等站点;
从所述初级站点向所述多个次级站点拷贝所述多个分片,从而使得所述主控次级站点存储所述数据集的第一分片并且所述至少一个附属对等站点中的每个附属对等站点存储所述数据集的对应分片;以及
响应于完成向所述多个次级站点拷贝所述多个分片,对于所述至少一个附属对等站点中的每个附属对等站点,发起从所述附属对等站点向所述主控次级站点拷贝所述数据集的所述对应分片。
26.根据权利要求25所述的装置,其中所述初级站点或者所述主控次级站点中的至少一个站点包括存储云。
27.根据权利要求25所述的装置,其中所述至少一个附属对等站点包括存储云。
28.根据权利要求25所述的装置,其中将所述数据集划分成所述多个分片包括:
确定次级站点数目;
确定每次级站点的存储空间;以及
对于每个给定的次级站点,响应于所述给定的次级站点的可用存储空间大于或者等于所述存储空间,标记所述给定的次级站点的存储空间的区域以用于复制存储。
29.根据权利要求28所述的装置,其中将所述数据集划分成所述多个分片还包括:
响应于所述给定的次级站点的可用存储空间并不大于或者等于所述存储空间,确定空间差值;以及
响应于下一次级站点具有附加存储空间,移位下一分片以在先前分片结束时开始并且设置用于所述给定的次级站点和所述下一次级站点的新分片长度。
30.根据权利要求25所述的装置,其中所述指令还使所述处理器:
响应于完成向所述多个次级站点拷贝所述多个分片,在所述主控次级站点启用用于所述数据集的合并的读取视图的逻辑,其中所述逻辑向客户端呈现所述数据集的合并的读取视图,如同所述数据集存储于所述主控次级站点;以及
响应于完成从所述至少一个附属对等站点向所述主控次级站点拷贝所述数据集的分片,在所述主控次级站点禁用用于所述数据集的所述合并的读取视图的所述逻辑。
31.根据权利要求25所述的装置,其中所述指令还使所述处理器:
建立在所述初级站点与所述多个次级站点中的每个次级站点之间的伙伴关系;以及
建立在所述至少一个附属对等站点中的每个附属对等站点与所述主控次级站点之间的伙伴关系。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/733,953 US9075529B2 (en) | 2013-01-04 | 2013-01-04 | Cloud based data migration and replication |
US13/733,953 | 2013-01-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103916455A CN103916455A (zh) | 2014-07-09 |
CN103916455B true CN103916455B (zh) | 2018-01-19 |
Family
ID=51041855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410003406.5A Active CN103916455B (zh) | 2013-01-04 | 2014-01-03 | 用于数据复制的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9075529B2 (zh) |
CN (1) | CN103916455B (zh) |
Families Citing this family (250)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US9298790B2 (en) * | 2013-01-18 | 2016-03-29 | Microsoft Technology Licensing, Llc | Replication of assets across data centers |
US9529548B1 (en) * | 2013-03-14 | 2016-12-27 | EMC IP Holding Company LLC | Array-based replication in data storage systems |
CN104937571A (zh) * | 2013-03-27 | 2015-09-23 | 日立麦克赛尔株式会社 | 终端装置、程序、数据收发系统和数据收发方法 |
US9967154B2 (en) | 2013-07-09 | 2018-05-08 | Oracle International Corporation | Advanced customer support services—advanced support cloud portal |
US9747311B2 (en) | 2013-07-09 | 2017-08-29 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US9792321B2 (en) | 2013-07-09 | 2017-10-17 | Oracle International Corporation | Online database migration |
US9442983B2 (en) | 2013-07-09 | 2016-09-13 | Oracle International Corporation | Method and system for reducing instability when upgrading software |
US9996562B2 (en) * | 2013-07-09 | 2018-06-12 | Oracle International Corporation | Automated database migration architecture |
US9762461B2 (en) | 2013-07-09 | 2017-09-12 | Oracle International Corporation | Cloud services performance tuning and benchmarking |
US9805070B2 (en) | 2013-07-09 | 2017-10-31 | Oracle International Corporation | Dynamic migration script management |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US9438675B2 (en) * | 2013-08-29 | 2016-09-06 | International Business Machines Corporation | Dispersed storage with variable slice length and methods for use therewith |
TW201514732A (zh) * | 2013-10-08 | 2015-04-16 | Wistron Corp | 整合網路儲存空間的方法及其控制系統 |
US9436750B2 (en) * | 2013-11-06 | 2016-09-06 | Verizon Patent And Licensing Inc. | Frame based data replication in a cloud computing environment |
US11630585B1 (en) | 2016-08-25 | 2023-04-18 | Pure Storage, Inc. | Processing evacuation events in a storage array that includes a plurality of storage devices |
US10242185B1 (en) * | 2014-03-21 | 2019-03-26 | Fireeye, Inc. | Dynamic guest image creation and rollback |
US10585762B2 (en) | 2014-04-29 | 2020-03-10 | Hewlett Packard Enterprise Development Lp | Maintaining files in a retained file system |
US9485308B2 (en) * | 2014-05-29 | 2016-11-01 | Netapp, Inc. | Zero copy volume reconstruction |
US9087012B1 (en) * | 2014-06-04 | 2015-07-21 | Pure Storage, Inc. | Disaster recovery at high reliability in a storage cluster |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US20160150012A1 (en) * | 2014-11-25 | 2016-05-26 | Nimble Storage, Inc. | Content-based replication of data between storage units |
CN105740091B (zh) * | 2014-12-10 | 2019-04-26 | 华为技术有限公司 | 数据备份、恢复方法和设备 |
CN104616197B (zh) * | 2015-02-16 | 2017-11-14 | 中国工商银行股份有限公司 | 一种可分离查询交易数据的调度方法及装置 |
US11102298B1 (en) | 2015-05-26 | 2021-08-24 | Pure Storage, Inc. | Locally providing cloud storage services for fleet management |
US9716755B2 (en) | 2015-05-26 | 2017-07-25 | Pure Storage, Inc. | Providing cloud storage array services by a local storage array in a data center |
US9521200B1 (en) * | 2015-05-26 | 2016-12-13 | Pure Storage, Inc. | Locally providing cloud storage array services |
US9594678B1 (en) | 2015-05-27 | 2017-03-14 | Pure Storage, Inc. | Preventing duplicate entries of identical data in a storage device |
US10021170B2 (en) | 2015-05-29 | 2018-07-10 | Pure Storage, Inc. | Managing a storage array using client-side services |
US9300660B1 (en) | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9444822B1 (en) | 2015-05-29 | 2016-09-13 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9588691B2 (en) | 2015-06-10 | 2017-03-07 | Pure Storage, Inc. | Dynamically managing control information in a storage device |
US9594512B1 (en) | 2015-06-19 | 2017-03-14 | Pure Storage, Inc. | Attributing consumed storage capacity among entities storing data in a storage array |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US10296236B2 (en) | 2015-07-01 | 2019-05-21 | Pure Storage, Inc. | Offloading device management responsibilities from a storage device in an array of storage devices |
CN105095384B (zh) * | 2015-07-01 | 2018-09-14 | 北京京东尚科信息技术有限公司 | 数据结转的方法和装置 |
CN107533478A (zh) * | 2015-07-31 | 2018-01-02 | 慧与发展有限责任合伙企业 | 计算机系统的迁移 |
US9892071B2 (en) | 2015-08-03 | 2018-02-13 | Pure Storage, Inc. | Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array |
US9851762B1 (en) | 2015-08-06 | 2017-12-26 | Pure Storage, Inc. | Compliant printed circuit board (‘PCB’) within an enclosure |
US10198194B2 (en) | 2015-08-24 | 2019-02-05 | Pure Storage, Inc. | Placing data within a storage device of a flash array |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US11294588B1 (en) | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US11360844B1 (en) | 2015-10-23 | 2022-06-14 | Pure Storage, Inc. | Recovery of a container storage provider |
US10514978B1 (en) | 2015-10-23 | 2019-12-24 | Pure Storage, Inc. | Automatic deployment of corrective measures for storage arrays |
US9384082B1 (en) | 2015-10-23 | 2016-07-05 | Pure Storage, Inc. | Proactively providing corrective measures for storage arrays |
US10284232B2 (en) | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US9740414B2 (en) | 2015-10-29 | 2017-08-22 | Pure Storage, Inc. | Optimizing copy operations |
US10374868B2 (en) | 2015-10-29 | 2019-08-06 | Pure Storage, Inc. | Distributed command processing in a flash storage system |
US10353777B2 (en) | 2015-10-30 | 2019-07-16 | Pure Storage, Inc. | Ensuring crash-safe forward progress of a system configuration update |
US9760479B2 (en) | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11762764B1 (en) | 2015-12-02 | 2023-09-19 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US10171585B2 (en) | 2015-12-07 | 2019-01-01 | International Business Machines Corporation | Method, system, and computer program product for distributed storage of data in a heterogeneous cloud |
US10013181B2 (en) | 2015-12-07 | 2018-07-03 | International Business Machines Corporation | Distributed storage of data in a local storage and a heterogeneous cloud |
US10122832B2 (en) | 2015-12-07 | 2018-11-06 | International Business Machines Corporation | Communications of usernames and passwords to a plurality of cloud storages via a plurality of communications protocols that change over time |
US10326836B2 (en) | 2015-12-08 | 2019-06-18 | Pure Storage, Inc. | Partially replicating a snapshot between storage systems |
US11616834B2 (en) | 2015-12-08 | 2023-03-28 | Pure Storage, Inc. | Efficient replication of a dataset to the cloud |
US11347697B1 (en) | 2015-12-15 | 2022-05-31 | Pure Storage, Inc. | Proactively optimizing a storage system |
US10162835B2 (en) | 2015-12-15 | 2018-12-25 | Pure Storage, Inc. | Proactive management of a plurality of storage arrays in a multi-array system |
US10346043B2 (en) | 2015-12-28 | 2019-07-09 | Pure Storage, Inc. | Adaptive computing for data compression |
US9886314B2 (en) | 2016-01-28 | 2018-02-06 | Pure Storage, Inc. | Placing workloads in a multi-array system |
US10572460B2 (en) | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US9760297B2 (en) | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
US9959043B2 (en) | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US11995315B2 (en) | 2016-03-16 | 2024-05-28 | Pure Storage, Inc. | Converting data formats in a storage system |
US11809727B1 (en) | 2016-04-27 | 2023-11-07 | Pure Storage, Inc. | Predicting failures in a storage system that includes a plurality of storage devices |
US11112990B1 (en) | 2016-04-27 | 2021-09-07 | Pure Storage, Inc. | Managing storage device evacuation |
US9841921B2 (en) | 2016-04-27 | 2017-12-12 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices |
US9811264B1 (en) | 2016-04-28 | 2017-11-07 | Pure Storage, Inc. | Deploying client-specific applications in a storage system utilizing redundant system resources |
US10303390B1 (en) | 2016-05-02 | 2019-05-28 | Pure Storage, Inc. | Resolving fingerprint collisions in flash storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US9507532B1 (en) | 2016-05-20 | 2016-11-29 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
US10452310B1 (en) | 2016-07-13 | 2019-10-22 | Pure Storage, Inc. | Validating cabling for storage component admission to a storage array |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US10459652B2 (en) | 2016-07-27 | 2019-10-29 | Pure Storage, Inc. | Evacuating blades in a storage array that includes a plurality of blades |
US10474363B1 (en) | 2016-07-29 | 2019-11-12 | Pure Storage, Inc. | Space reporting in a storage system |
US11531577B1 (en) | 2016-09-07 | 2022-12-20 | Pure Storage, Inc. | Temporarily limiting access to a storage device |
US11886922B2 (en) | 2016-09-07 | 2024-01-30 | Pure Storage, Inc. | Scheduling input/output operations for a storage system |
US11960348B2 (en) | 2016-09-07 | 2024-04-16 | Pure Storage, Inc. | Cloud-based monitoring of hardware components in a fleet of storage systems |
US10671439B1 (en) | 2016-09-07 | 2020-06-02 | Pure Storage, Inc. | Workload planning with quality-of-service (‘QOS’) integration |
US10146585B2 (en) | 2016-09-07 | 2018-12-04 | Pure Storage, Inc. | Ensuring the fair utilization of system resources using workload based, time-independent scheduling |
US11481261B1 (en) | 2016-09-07 | 2022-10-25 | Pure Storage, Inc. | Preventing extended latency in a storage system |
US10908966B1 (en) | 2016-09-07 | 2021-02-02 | Pure Storage, Inc. | Adapting target service times in a storage system |
US10235229B1 (en) | 2016-09-07 | 2019-03-19 | Pure Storage, Inc. | Rehabilitating storage devices in a storage array that includes a plurality of storage devices |
US10331588B2 (en) | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US10007459B2 (en) | 2016-10-20 | 2018-06-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
US11379132B1 (en) | 2016-10-20 | 2022-07-05 | Pure Storage, Inc. | Correlating medical sensor data |
US10162566B2 (en) | 2016-11-22 | 2018-12-25 | Pure Storage, Inc. | Accumulating application-level statistics in a storage system |
US11620075B2 (en) | 2016-11-22 | 2023-04-04 | Pure Storage, Inc. | Providing application aware storage |
US10198205B1 (en) | 2016-12-19 | 2019-02-05 | Pure Storage, Inc. | Dynamically adjusting a number of storage devices utilized to simultaneously service write operations |
US11461273B1 (en) | 2016-12-20 | 2022-10-04 | Pure Storage, Inc. | Modifying storage distribution in a storage system that includes one or more storage devices |
US10489307B2 (en) | 2017-01-05 | 2019-11-26 | Pure Storage, Inc. | Periodically re-encrypting user data stored on a storage device |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US10503700B1 (en) | 2017-01-19 | 2019-12-10 | Pure Storage, Inc. | On-demand content filtering of snapshots within a storage system |
US11340800B1 (en) | 2017-01-19 | 2022-05-24 | Pure Storage, Inc. | Content masking in a storage system |
US11163624B2 (en) | 2017-01-27 | 2021-11-02 | Pure Storage, Inc. | Dynamically adjusting an amount of log data generated for a storage system |
US11169727B1 (en) | 2017-03-10 | 2021-11-09 | Pure Storage, Inc. | Synchronous replication between storage systems with virtualized storage |
US11941279B2 (en) | 2017-03-10 | 2024-03-26 | Pure Storage, Inc. | Data path virtualization |
US11089105B1 (en) | 2017-12-14 | 2021-08-10 | Pure Storage, Inc. | Synchronously replicating datasets in cloud-based storage systems |
US12056383B2 (en) | 2017-03-10 | 2024-08-06 | Pure Storage, Inc. | Edge management service |
US11803453B1 (en) | 2017-03-10 | 2023-10-31 | Pure Storage, Inc. | Using host connectivity states to avoid queuing I/O requests |
US11442825B2 (en) | 2017-03-10 | 2022-09-13 | Pure Storage, Inc. | Establishing a synchronous replication relationship between two or more storage systems |
US10503427B2 (en) | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US11675520B2 (en) | 2017-03-10 | 2023-06-13 | Pure Storage, Inc. | Application replication among storage systems synchronously replicating a dataset |
US10454810B1 (en) | 2017-03-10 | 2019-10-22 | Pure Storage, Inc. | Managing host definitions across a plurality of storage systems |
US10678661B2 (en) | 2017-03-20 | 2020-06-09 | International Business Machines Corporation | Processing a recall request for data migrated from a primary storage system having data mirrored to a secondary storage system |
US9910618B1 (en) | 2017-04-10 | 2018-03-06 | Pure Storage, Inc. | Migrating applications executing on a storage system |
US10459664B1 (en) | 2017-04-10 | 2019-10-29 | Pure Storage, Inc. | Virtualized copy-by-reference |
US11868629B1 (en) | 2017-05-05 | 2024-01-09 | Pure Storage, Inc. | Storage system sizing service |
US11016824B1 (en) | 2017-06-12 | 2021-05-25 | Pure Storage, Inc. | Event identification with out-of-order reporting in a cloud-based environment |
US11989429B1 (en) | 2017-06-12 | 2024-05-21 | Pure Storage, Inc. | Recommending changes to a storage system |
WO2018231350A1 (en) | 2017-06-12 | 2018-12-20 | Pure Storage, Inc. | Accessible fast durable storage integrated into a bulk storage device |
US11592991B2 (en) | 2017-09-07 | 2023-02-28 | Pure Storage, Inc. | Converting raid data between persistent storage types |
US10853148B1 (en) | 2017-06-12 | 2020-12-01 | Pure Storage, Inc. | Migrating workloads between a plurality of execution environments |
US12086650B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Workload placement based on carbon emissions |
US10884636B1 (en) | 2017-06-12 | 2021-01-05 | Pure Storage, Inc. | Presenting workload performance in a storage system |
US11609718B1 (en) | 2017-06-12 | 2023-03-21 | Pure Storage, Inc. | Identifying valid data after a storage system recovery |
US12086651B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Migrating workloads using active disaster recovery |
US10613791B2 (en) | 2017-06-12 | 2020-04-07 | Pure Storage, Inc. | Portable snapshot replication between storage systems |
US10417092B2 (en) | 2017-09-07 | 2019-09-17 | Pure Storage, Inc. | Incremental RAID stripe update parity calculation |
US10552090B2 (en) | 2017-09-07 | 2020-02-04 | Pure Storage, Inc. | Solid state drives with multiple types of addressable memory |
US11340939B1 (en) | 2017-06-12 | 2022-05-24 | Pure Storage, Inc. | Application-aware analytics for storage systems |
US11210133B1 (en) | 2017-06-12 | 2021-12-28 | Pure Storage, Inc. | Workload mobility between disparate execution environments |
US12061822B1 (en) | 2017-06-12 | 2024-08-13 | Pure Storage, Inc. | Utilizing volume-level policies in a storage system |
US10976962B2 (en) | 2018-03-15 | 2021-04-13 | Pure Storage, Inc. | Servicing I/O operations in a cloud-based storage system |
US11593036B2 (en) | 2017-06-12 | 2023-02-28 | Pure Storage, Inc. | Staging data within a unified storage element |
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US11422731B1 (en) | 2017-06-12 | 2022-08-23 | Pure Storage, Inc. | Metadata-based replication of a dataset |
US11561714B1 (en) | 2017-07-05 | 2023-01-24 | Pure Storage, Inc. | Storage efficiency driven migration |
US11477280B1 (en) | 2017-07-26 | 2022-10-18 | Pure Storage, Inc. | Integrating cloud storage services |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US11494692B1 (en) | 2018-03-26 | 2022-11-08 | Pure Storage, Inc. | Hyperscale artificial intelligence and machine learning infrastructure |
US10452444B1 (en) | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
US11455168B1 (en) | 2017-10-19 | 2022-09-27 | Pure Storage, Inc. | Batch building for deep learning training workloads |
US12067466B2 (en) | 2017-10-19 | 2024-08-20 | Pure Storage, Inc. | Artificial intelligence and machine learning hyperscale infrastructure |
US10360214B2 (en) | 2017-10-19 | 2019-07-23 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
US11861423B1 (en) | 2017-10-19 | 2024-01-02 | Pure Storage, Inc. | Accelerating artificial intelligence (‘AI’) workflows |
US10671435B1 (en) | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Data transformation caching in an artificial intelligence infrastructure |
US10671494B1 (en) * | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US10817392B1 (en) | 2017-11-01 | 2020-10-27 | Pure Storage, Inc. | Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices |
US10509581B1 (en) | 2017-11-01 | 2019-12-17 | Pure Storage, Inc. | Maintaining write consistency in a multi-threaded storage system |
US10467107B1 (en) | 2017-11-01 | 2019-11-05 | Pure Storage, Inc. | Maintaining metadata resiliency among storage device failures |
US10484174B1 (en) | 2017-11-01 | 2019-11-19 | Pure Storage, Inc. | Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices |
WO2019090828A1 (zh) * | 2017-11-13 | 2019-05-16 | Oppo广东移动通信有限公司 | 数据复制下的处理方法及相关设备 |
EP3614746B1 (en) | 2017-11-13 | 2021-12-22 | Shenzhen Heytap Technology Corp., Ltd. | Data duplication control method and related device |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10990282B1 (en) | 2017-11-28 | 2021-04-27 | Pure Storage, Inc. | Hybrid data tiering with cloud storage |
US10936238B2 (en) | 2017-11-28 | 2021-03-02 | Pure Storage, Inc. | Hybrid data tiering |
US10795598B1 (en) | 2017-12-07 | 2020-10-06 | Pure Storage, Inc. | Volume migration for storage systems synchronously replicating a dataset |
US11036677B1 (en) | 2017-12-14 | 2021-06-15 | Pure Storage, Inc. | Replicated data integrity |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10992533B1 (en) | 2018-01-30 | 2021-04-27 | Pure Storage, Inc. | Policy based path management |
US11972134B2 (en) | 2018-03-05 | 2024-04-30 | Pure Storage, Inc. | Resource utilization using normalized input/output (‘I/O’) operations |
US10521151B1 (en) | 2018-03-05 | 2019-12-31 | Pure Storage, Inc. | Determining effective space utilization in a storage system |
US11150834B1 (en) | 2018-03-05 | 2021-10-19 | Pure Storage, Inc. | Determining storage consumption in a storage system |
US10942650B1 (en) | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US11861170B2 (en) | 2018-03-05 | 2024-01-02 | Pure Storage, Inc. | Sizing resources for a replication target |
US10296258B1 (en) | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
US11288138B1 (en) | 2018-03-15 | 2022-03-29 | Pure Storage, Inc. | Recovery from a system fault in a cloud-based storage system |
US11048590B1 (en) | 2018-03-15 | 2021-06-29 | Pure Storage, Inc. | Data consistency during recovery in a cloud-based storage system |
US11210009B1 (en) | 2018-03-15 | 2021-12-28 | Pure Storage, Inc. | Staging data in a cloud-based storage system |
US10924548B1 (en) | 2018-03-15 | 2021-02-16 | Pure Storage, Inc. | Symmetric storage using a cloud-based storage system |
US10917471B1 (en) | 2018-03-15 | 2021-02-09 | Pure Storage, Inc. | Active membership in a cloud-based storage system |
US12066900B2 (en) | 2018-03-15 | 2024-08-20 | Pure Storage, Inc. | Managing disaster recovery to cloud computing environment |
US11095706B1 (en) | 2018-03-21 | 2021-08-17 | Pure Storage, Inc. | Secure cloud-based storage system management |
US11171950B1 (en) | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
US10838833B1 (en) | 2018-03-26 | 2020-11-17 | Pure Storage, Inc. | Providing for high availability in a data analytics pipeline without replicas |
US11392553B1 (en) | 2018-04-24 | 2022-07-19 | Pure Storage, Inc. | Remote data management |
US11436344B1 (en) | 2018-04-24 | 2022-09-06 | Pure Storage, Inc. | Secure encryption in deduplication cluster |
US10992598B2 (en) | 2018-05-21 | 2021-04-27 | Pure Storage, Inc. | Synchronously replicating when a mediation service becomes unavailable |
US11954220B2 (en) | 2018-05-21 | 2024-04-09 | Pure Storage, Inc. | Data protection for container storage |
US12086431B1 (en) | 2018-05-21 | 2024-09-10 | Pure Storage, Inc. | Selective communication protocol layering for synchronous replication |
US11675503B1 (en) | 2018-05-21 | 2023-06-13 | Pure Storage, Inc. | Role-based data access |
US11455409B2 (en) | 2018-05-21 | 2022-09-27 | Pure Storage, Inc. | Storage layer data obfuscation |
US10871922B2 (en) | 2018-05-22 | 2020-12-22 | Pure Storage, Inc. | Integrated storage management between storage systems and container orchestrators |
US11403000B1 (en) | 2018-07-20 | 2022-08-02 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11416298B1 (en) | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11954238B1 (en) | 2018-07-24 | 2024-04-09 | Pure Storage, Inc. | Role-based access control for a storage system |
US11146564B1 (en) | 2018-07-24 | 2021-10-12 | Pure Storage, Inc. | Login authentication in a cloud storage platform |
US11632360B1 (en) | 2018-07-24 | 2023-04-18 | Pure Storage, Inc. | Remote access to a storage device |
US11860820B1 (en) | 2018-09-11 | 2024-01-02 | Pure Storage, Inc. | Processing data through a storage system in a data pipeline |
US12026381B2 (en) | 2018-10-26 | 2024-07-02 | Pure Storage, Inc. | Preserving identities and policies across replication |
US10671302B1 (en) | 2018-10-26 | 2020-06-02 | Pure Storage, Inc. | Applying a rate limit across a plurality of storage systems |
US12026060B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Reverting between codified states in a cloud-based storage system |
US11023179B2 (en) | 2018-11-18 | 2021-06-01 | Pure Storage, Inc. | Cloud-based storage system storage management |
US10963189B1 (en) | 2018-11-18 | 2021-03-30 | Pure Storage, Inc. | Coalescing write operations in a cloud-based storage system |
US12026061B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Restoring a cloud-based storage system to a selected state |
US11340837B1 (en) | 2018-11-18 | 2022-05-24 | Pure Storage, Inc. | Storage system management via a remote console |
US11526405B1 (en) | 2018-11-18 | 2022-12-13 | Pure Storage, Inc. | Cloud-based disaster recovery |
CN109753809B (zh) * | 2018-11-27 | 2021-07-06 | 国网浙江省电力有限公司 | 一种基于云存储系统的电网数据块分割方法 |
US11650749B1 (en) | 2018-12-17 | 2023-05-16 | Pure Storage, Inc. | Controlling access to sensitive data in a shared dataset |
US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US11042452B1 (en) | 2019-03-20 | 2021-06-22 | Pure Storage, Inc. | Storage system data recovery using data recovery as a service |
US11221778B1 (en) | 2019-04-02 | 2022-01-11 | Pure Storage, Inc. | Preparing data for deduplication |
US11068162B1 (en) | 2019-04-09 | 2021-07-20 | Pure Storage, Inc. | Storage management in a cloud data store |
US11853266B2 (en) | 2019-05-15 | 2023-12-26 | Pure Storage, Inc. | Providing a file system in a cloud environment |
US11126364B2 (en) | 2019-07-18 | 2021-09-21 | Pure Storage, Inc. | Virtual storage system architecture |
US11327676B1 (en) | 2019-07-18 | 2022-05-10 | Pure Storage, Inc. | Predictive data streaming in a virtual storage system |
US11392555B2 (en) | 2019-05-15 | 2022-07-19 | Pure Storage, Inc. | Cloud-based file services |
TWI715036B (zh) * | 2019-05-15 | 2021-01-01 | 宏碁股份有限公司 | 檔案驗證方法、檔案驗證系統與檔案驗證伺服器 |
US12001355B1 (en) | 2019-05-24 | 2024-06-04 | Pure Storage, Inc. | Chunked memory efficient storage data transfers |
US11550514B2 (en) | 2019-07-18 | 2023-01-10 | Pure Storage, Inc. | Efficient transfers between tiers of a virtual storage system |
US11487715B1 (en) | 2019-07-18 | 2022-11-01 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11861221B1 (en) | 2019-07-18 | 2024-01-02 | Pure Storage, Inc. | Providing scalable and reliable container-based storage services |
US11093139B1 (en) | 2019-07-18 | 2021-08-17 | Pure Storage, Inc. | Durably storing data within a virtual storage system |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11526408B2 (en) | 2019-07-18 | 2022-12-13 | Pure Storage, Inc. | Data recovery in a virtual storage system |
US11086553B1 (en) | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US11693713B1 (en) | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
US11625416B1 (en) | 2019-09-13 | 2023-04-11 | Pure Storage, Inc. | Uniform model for distinct types of data replication |
US11797569B2 (en) | 2019-09-13 | 2023-10-24 | Pure Storage, Inc. | Configurable data replication |
US12045252B2 (en) | 2019-09-13 | 2024-07-23 | Pure Storage, Inc. | Providing quality of service (QoS) for replicating datasets |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
US11573864B1 (en) | 2019-09-16 | 2023-02-07 | Pure Storage, Inc. | Automating database management in a storage system |
US11669386B1 (en) | 2019-10-08 | 2023-06-06 | Pure Storage, Inc. | Managing an application's resource stack |
US11930112B1 (en) | 2019-12-06 | 2024-03-12 | Pure Storage, Inc. | Multi-path end-to-end encryption in a storage system |
US11720497B1 (en) | 2020-01-13 | 2023-08-08 | Pure Storage, Inc. | Inferred nonsequential prefetch based on data access patterns |
US11733901B1 (en) | 2020-01-13 | 2023-08-22 | Pure Storage, Inc. | Providing persistent storage to transient cloud computing services |
US11709636B1 (en) | 2020-01-13 | 2023-07-25 | Pure Storage, Inc. | Non-sequential readahead for deep learning training |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | Pure Storage, Inc. | Multi-cloud orchestration as-a-service |
US11868622B2 (en) | 2020-02-25 | 2024-01-09 | Pure Storage, Inc. | Application recovery across storage systems |
US11637896B1 (en) | 2020-02-25 | 2023-04-25 | Pure Storage, Inc. | Migrating applications to a cloud-computing environment |
US11321006B1 (en) | 2020-03-25 | 2022-05-03 | Pure Storage, Inc. | Data loss prevention during transitions from a replication source |
US12038881B2 (en) | 2020-03-25 | 2024-07-16 | Pure Storage, Inc. | Replica transitions for file storage |
US11301152B1 (en) | 2020-04-06 | 2022-04-12 | Pure Storage, Inc. | Intelligently moving data between storage systems |
US11630598B1 (en) | 2020-04-06 | 2023-04-18 | Pure Storage, Inc. | Scheduling data replication operations |
US11494267B2 (en) | 2020-04-14 | 2022-11-08 | Pure Storage, Inc. | Continuous value data redundancy |
US11921670B1 (en) * | 2020-04-20 | 2024-03-05 | Pure Storage, Inc. | Multivariate data backup retention policies |
US11431488B1 (en) | 2020-06-08 | 2022-08-30 | Pure Storage, Inc. | Protecting local key generation using a remote key management service |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
US12079222B1 (en) | 2020-09-04 | 2024-09-03 | Pure Storage, Inc. | Enabling data portability between systems |
US11650954B2 (en) * | 2020-11-13 | 2023-05-16 | Kyndryl, Inc. | Replication continued enhancement method |
US11397545B1 (en) | 2021-01-20 | 2022-07-26 | Pure Storage, Inc. | Emulating persistent reservations in a cloud-based storage system |
US11853285B1 (en) | 2021-01-22 | 2023-12-26 | Pure Storage, Inc. | Blockchain logging of volume-level events in a storage system |
US12086649B2 (en) | 2021-05-12 | 2024-09-10 | Pure Storage, Inc. | Rebalancing in a fleet of storage systems using data science |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
US11914867B2 (en) | 2021-10-29 | 2024-02-27 | Pure Storage, Inc. | Coordinated snapshots among storage systems implementing a promotion/demotion model |
US11893263B2 (en) | 2021-10-29 | 2024-02-06 | Pure Storage, Inc. | Coordinated checkpoints among storage systems implementing checkpoint-based replication |
US11714723B2 (en) | 2021-10-29 | 2023-08-01 | Pure Storage, Inc. | Coordinated snapshots for data stored across distinct storage environments |
US11922052B2 (en) | 2021-12-15 | 2024-03-05 | Pure Storage, Inc. | Managing links between storage objects |
US11847071B2 (en) | 2021-12-30 | 2023-12-19 | Pure Storage, Inc. | Enabling communication between a single-port device and multiple storage system controllers |
US12001300B2 (en) | 2022-01-04 | 2024-06-04 | Pure Storage, Inc. | Assessing protection for storage resources |
US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030154A (zh) * | 2006-01-25 | 2007-09-05 | 国际商业机器公司 | 将应用重新定位到拓扑上位于远程计算系统的系统和方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4915775B2 (ja) * | 2006-03-28 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのリモートコピー制御方法 |
US8631088B2 (en) * | 2007-01-07 | 2014-01-14 | Apple Inc. | Prioritized data synchronization with host device |
US8762642B2 (en) | 2009-01-30 | 2014-06-24 | Twinstrata Inc | System and method for secure and reliable multi-cloud data replication |
US20100332401A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites |
JP2011070345A (ja) * | 2009-09-25 | 2011-04-07 | Hitachi Ltd | 計算機システム、計算機システムの管理装置、計算機システムの管理方法 |
US9710294B2 (en) | 2010-03-17 | 2017-07-18 | Zerto Ltd. | Methods and apparatus for providing hypervisor level data services for server virtualization |
US20120030175A1 (en) | 2010-07-27 | 2012-02-02 | International Business Machines Corporation | System for offloading data analyis overhead from a primary site to a remote site |
US20120047339A1 (en) * | 2010-08-20 | 2012-02-23 | Dan Decasper | Redundant array of independent clouds |
WO2012042509A1 (en) | 2010-10-01 | 2012-04-05 | Peter Chacko | A distributed virtual storage cloud architecture and a method thereof |
JP2012185687A (ja) * | 2011-03-07 | 2012-09-27 | Fujitsu Ltd | 制御装置、制御方法およびストレージ装置 |
-
2013
- 2013-01-04 US US13/733,953 patent/US9075529B2/en active Active
-
2014
- 2014-01-03 CN CN201410003406.5A patent/CN103916455B/zh active Active
-
2015
- 2015-06-25 US US14/749,852 patent/US9483540B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030154A (zh) * | 2006-01-25 | 2007-09-05 | 国际商业机器公司 | 将应用重新定位到拓扑上位于远程计算系统的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140195636A1 (en) | 2014-07-10 |
US20150302071A1 (en) | 2015-10-22 |
US9075529B2 (en) | 2015-07-07 |
CN103916455A (zh) | 2014-07-09 |
US9483540B2 (en) | 2016-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103916455B (zh) | 用于数据复制的方法和系统 | |
CN103959264B (zh) | 在存储云中使用去重复来管理不可变冗余文件 | |
CN104052789B (zh) | 用于虚拟联网系统的负载平衡的方法和系统 | |
CN103365725B (zh) | 在多个云之间动态分配工作负荷部署单元的方法和系统 | |
CN104335189B (zh) | 对共享存储资源的安全访问 | |
CN104660669B (zh) | 针对应用模式组件从多个主机选择一个主机的方法和系统 | |
CN104424013B (zh) | 在计算环境中部署虚拟机的方法和设备 | |
CN104731658B (zh) | 供应和合并共享资源以最大化资源可用性的方法和系统 | |
CN103765817B (zh) | 从源服务器向目标服务器复制数据对象的系统和方法 | |
CN103853596B (zh) | 用于在工作组之间迁移虚拟机的方法和系统 | |
CN103729250B (zh) | 用于选择被配置为满足一组要求的数据节点的方法和系统 | |
CN103226518B (zh) | 一种在存储管理系统中进行卷扩展的方法和装置 | |
CN104765620B (zh) | 一种程序模块部署的方法和系统 | |
CN105359105B (zh) | 通过网络文件访问协议的高效编程存储器访问 | |
CN104603762B (zh) | 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问的方法及系统 | |
CN107924293A (zh) | 写时拷贝重定向 | |
CN103369022B (zh) | 与存储设备通信的方法和系统 | |
CN104216662B (zh) | 用于跨远程复制关系的卷布置的方法和系统 | |
CN105684357A (zh) | 虚拟机中地址的管理 | |
CN104067265A (zh) | 用于支持在云中的安全应用部署的系统和方法 | |
CN103914511B (zh) | 选择用于云存储的图像或者视频文件 | |
CN103973641B (zh) | 管理不同网站的会话的方法及装置 | |
CN106462505A (zh) | 同步计算环境中对状态指示符的更新 | |
CN105446793A (zh) | 迁移虚拟资产的方法和设备 | |
CN102981907A (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 |