CN105830033B - 用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法 - Google Patents

用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法 Download PDF

Info

Publication number
CN105830033B
CN105830033B CN201480067510.9A CN201480067510A CN105830033B CN 105830033 B CN105830033 B CN 105830033B CN 201480067510 A CN201480067510 A CN 201480067510A CN 105830033 B CN105830033 B CN 105830033B
Authority
CN
China
Prior art keywords
partition
persisted
data grid
distributed data
members
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
Application number
CN201480067510.9A
Other languages
English (en)
Other versions
CN105830033A (zh
Inventor
R·H·李
J·J·霍维斯
M·A·法尔科
G·格莱泽
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN105830033A publication Critical patent/CN105830033A/zh
Application granted granted Critical
Publication of CN105830033B publication Critical patent/CN105830033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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/1858Parallel file systems, i.e. file systems supporting multiple processors
    • 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/1865Transactional 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/219Managing data history or versioning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

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)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

一种系统和方法可以在分布式数据网格中支持持久性,诸如持久存储装置的版本化和完整性。分布式数据网格中的解析器可以从分布式数据网格的一个或多个成员接收多个标识符,其中,每个所述标识符与分布式数据网格的持久存储设备中的持久保存的分区相关联。然后,解析器可以针对每个分区选择标识符,其中,每个所选择的标识符与分区的最近的有效版本相关联。此外,解析器可以确定分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。

Description

用于在分布式数据网格中支持持久存储装置版本化和完整性 的系统和方法
版权通知
本专利文档的公开内容的一部分包含受到版权保护的资料。版权所有人不反对任何人对本专利文档或专利公开内容进行复制再现,如其在专利和商标局专利文件或记录中出现的那样,但是无论如何在其他方面保留全部的版权权利。
技术领域
本发明一般涉及计算机系统,并且特别地涉及在分布式数据网格中支持持久性。
背景技术
现代计算系统(尤其是较大型的组织和企业采用的那些现代计算系统)在规模和复杂性上继续增加。尤其在诸如因特网应用之类的领域中,存在着数百万用户应当能够同时访问该应用的期望,这实际上导致由用户生成和消费的内容的量以及涉及该内容的事务的量呈现指数增长。这样的活动还导致对数据库和元数据存储装置的事务调用的数量的相应增长,而数据库和元数据存储装置具有有限的容量以适应这种需求。这是本发明的实施例旨在应对的一般领域。
发明内容
本文描述了能够在分布式数据网格中支持持久性(诸如持久存储装置版本化和完整性)的系统和方法。在该分布式数据网格中的解析器可以从该分布式数据网格的一个或多个成员接收多个标识符,其中每个所述标识符与分布式数据网格的持久存储设备中的持久保存的分区相关联。然后,解析器可以针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联。此外,解析器可以确定分布式数据网格中的负责从与所选择的标识符相关联的持久保存的分区恢复所述分区的成员。
附图说明
图1是根据本发明各个实施例的数据网格集群的说明图。
图2示出了根据本发明实施例的在分布式数据网格中支持持久性的说明图。
图3示出了根据本发明实施例的使用共享的存储设备来在分布式数据网格中支持持久性的说明图。
图4示出了根据本发明实施例的使用分布式本地盘来在分布式数据网格中支持持久性的说明图。
图5示出了根据本发明实施例的在分布式数据网格中支持分布式的持久存储装置恢复的说明图。
图6示出了根据本发明实施例的在分布式数据网格中协调持久存储装置恢复的说明图。
图7示出了根据本发明实施例的在分布式数据网格中支持一致的分区恢复的说明图。
图8示出了根据本发明实施例的用于在分布式数据网格中支持分布式的持久存储装置恢复的示例性流程图。
图9示出了根据本发明实施例的在分布式数据网格中支持持久存储装置版本化的说明图。
图10示出了根据本发明实施例的在分布式数据网格中支持持久存储装置完整性的说明图。
图11示出了根据本发明实施例的在分布式数据网格中还原持久保存的分区的说明图。
图12示出了根据本发明实施例的用于在分布式数据网格中支持持久存储装置版本化和完整性的示例性流程图。
图13示出了根据本发明实施例的在分布式数据网格中提供运行系统的持久快照(snapshot)的说明图。
图14示出了根据本发明实施例的用于在分布式数据网格中提供运行系统的持久快照的示例性流程图。
图15示出了说明根据本发明实施例的解析器的示意性框图。
图16是本发明实施例的功能性配置的说明图。
图17是用于实现本发明实施例的计算机系统的说明图。
具体实施方式
在本文中描述了可以在分布式数据网格中支持持久性的系统和方法。
分布式数据网格
根据实施例,在本文中称为“数据网格集群”或“数据网格”的是一种包括多个计算机服务器的系统,该多个计算机服务器一起工作来管理分布式或集群式环境内的信息以及相关的操作,诸如计算。数据网格集群可以用于管理在多个服务器上共享的应用对象和数据。优选地,数据网格集群应当具有低响应时间、高吞吐量、可预测的可缩放性、连续的可用性以及信息可靠性。由于这些能力,数据网格集群很好地适合用于计算密集的、有状态的中间层应用。数据网格集群的一些例子(例如,Oracle Coherence数据网格集群)可以将信息存储在存储器内以实现更高的性能,并且可以在使得该信息的副本在多个服务器上保持同步时采用冗余,从而在服务器故障的情况中确保系统的弹性以及数据的可用性。例如,Coherence在可靠的、高度可缩放的点对点(peer-to-peer)集群协议之上提供重复的并且分布式的(分区的)数据管理以及高速缓存服务。
存储器内(in-memory)数据网格可以通过将数据分布在多个一起工作的服务器上来提供数据存储和管理能力。数据网格可以是在与应用服务器相同的层中运行或者在应用服务器内运行的中间件。其可以提供对数据的管理和处理,并且还可以将处理推送到该网格中数据所处的地方。此外,在服务器变得不起作用或者从网络断开连接时,存储器内数据网格可以通过自动地并且透明地故障转移和重新分布其集群的数据管理服务来消除单一故障点。当新的服务器被添加时,或者当故障的服务器被重启时,其可以自动地加入集群,并且可以将服务恢复到它,从而透明地重新分布集群负载。数据网格还可以包括网络级的容错特征和透明的软重启能力。
根据实施例,数据网格集群的功能基于使用不同的集群服务。集群服务可以包括根集群服务、分区的高速缓存服务以及代理服务。在数据网格集群内,在提供和消费集群服务两个方面,每个集群节点可以参与若干集群服务。每个集群服务具有服务名称和服务类型,服务名称唯一地标识数据网格集群内的服务,服务类型定义集群服务可以做什么。除了在数据网格集群中的每个集群节点上运行的根集群服务以外,可以存在每个服务类型的多个命名实例。服务可以或者由用户配置,或者由数据网格集群提供作为默认的服务集合。
图1是根据本发明的各种实施例的数据网格集群的说明图。如图1中所示,数据网格集群100(例如,Oracle Coherence数据网格)包括诸如集群节点101-106之类的多个集群成员(或服务器节点),在该集群节点101-106上运行有各种集群服务111-116。另外,高速缓存配置文件110可以用于配置该数据网格集群100。
高速缓存内容的持久存储
根据本发明实施例,分布式数据网格可以提供对不同类型的高速缓存内容的可恢复持久存储,并且可以防止在分布式数据网格被关闭之后的数据丢失。
图2示出了根据本发明实施例的在分布式数据网格中支持持久性的说明图。如图2中所示,分布式数据网格200可以包括在存储器内数据存储装置202中的各种类型的高速缓存内容211-213。此外,分布式数据网格200可以使用持久层201来将高速缓存内容211-213持久保存在持久存储设备203中。
持久层201允许持久存储设备203使用不同的物理拓扑结构。例如,持久层201可以将高速缓存内容存储在中心位置,诸如存储区域网络(SAN)201,其中,分布式数据网格200中的全部成员可以共享相同的可见性。可替换地,持久层201可以将高速缓存内容存储到不同的本地盘222中,其中,分布式数据网格200的成员可以只具有本地可见性。
此外,持久层201可以不知道物理拓扑结构(例如,SAN 221或分布式本地盘222)的选择。例如,分布式数据网格200可以利用多个SAN或多个SAN安装点。而且,分布式数据网格200可以利用包括不被多个成员共享的多个SAN的物理拓扑结构。可替换地,物理拓扑结构可以包括多个输出存储位置的SAN,或者可以包括本地盘和SAN的混合部署。
另外,持久层201可以支持持久保存的数据/元数据的分区范围的原子性,并且可以在分布式数据网格200重启之后提供事务保证。而且,持久层201可以最小化性能影响,并减少重启分布式数据网格200所需要的恢复时间。
图3示出了根据本发明实施例的使用共享的存储设备来在分布式数据网格中支持持久性的说明图。如图3中所示,包括多个成员(例如,机器A-C 311-313上的成员301-305)的分布式数据网格300可以支持各种高速缓存服务320。
此外,分布式数据网格300可以使用共享的持久存储设备(诸如存储区域网络(SAN)310)来将用于高速缓存服务320的高速缓存内容存储在中心位置。如图3中所示,机器A-C 311-313上的不同成员301-305可以共享相同的可见性,并且都可以具有访问SAN 310中的持久保存的分区322的权限。
因而,当分布式数据网格300在关闭之后被重启时,系统可以恢复持久保存的高速缓存内容并防止数据丢失。
图4示出了根据本发明实施例的使用分布式本地盘来在分布式数据网格中支持持久性的说明图。如图4中所示,包括多个成员(例如,机器A-C 411-413上的成员401-405)的分布式数据网格400可以支持各种高速缓存服务420。
此外,分布式数据网格400可以将用于高速缓存服务420的高速缓存内容存储到不同机器上的本地盘中。例如,成员401-402可以将相关的高速缓存内容存储到机器A 411上的本地盘A 431(例如,持久保存的分区421)中。而且,成员403-404可以将相关的高速缓存内容存储到机器B 412上的本地盘B 432(例如,持久保存的分区422)中,而机器C 413可以将相关的高速缓存内容存储到机器C 413上的本地盘C 433(例如,持久保存的分区423)中。
因此,分布式数据网格400可以以分布式的方式支持各种类型的高速缓存内容的原子恢复,并且防止在分布式数据网格400的重启期间的数据丢失。
分布式持久存储装置恢复
根据本发明实施例,分布式数据网格可以以分布式的方式支持持久存储装置恢复。
图5示出了根据本发明实施例的在分布式数据网格中支持持久存储装置恢复的说明图。如图5中所示,分布式数据网格500可以包括多个成员,例如,成员501-505,并且可以使用分布式本地盘(例如,本地盘A-C 511-513)来持久保存高速缓存内容。
此外,分布式数据网格500中的每个成员可以仅仅对持久保存在本地盘中的分区具有可见性。例如,成员501和成员502可以仅仅知晓本地盘A 511中的持久保存的分区521,而成员503和成员504可以仅仅知晓本地盘B 512中的持久保存的分区522,并且成员505可以仅仅知晓本地盘C 513中的持久保存的分区523。
根据本发明实施例,分布式数据网格500可以使用内部协议来发现在不同的本地盘A-C 511-513上的持久保存的分区521-523。例如,发现协议在集群冷启动/重启情形以及多节点故障情形(例如,其中分区的主所有者和/或分区的一个或多个备份所有者丢失)这两者期间支持持久存储装置恢复。
如图5中所示,分布式数据网格500可以使用诸如协调器成员510之类的协调器来协调分布式数据网格500中的各种持久保存的分区521-523的恢复。协调器成员510可以向分布式数据网格500中的其它成员501-505发送分布式查询,以获得持久保存的分区521-523的完整列表。
因此,根据本公开内容的实施例,成员(501-505、510)是分布式数据网格的元件。分布式数据网格的多个成员中的一个成员510可以作为协调器进行工作,成员510处理用于分布式数据网格中的各种持久保存的分区的恢复的信息。信息的处理可以包括:在分布式数据网格的多个成员之间同步分区所有权的视图,以及从分布式数据网格中的多个成员接收关于多个持久保存的分区的信息。在一个方面中,协调器可以被称为“协调器成员510”。
根据本发明实施例,协调器成员510可以使用可插式分区任务策略组件520来确定分区恢复任务540。例如,系统可以遍历分区列表以检查哪个成员可以看见分区的版本。然后,系统可以基于同步的分区所有权视图530来确定应当使用哪个成员来恢复哪个分区。
此外,系统可以最小化通过向分布式数据网格500添加持久性支持而造成的性能影响。例如,系统可以在分布式数据网格500中使用异步的消息传送过程来实现对持久存储装置的写操作。而且,系统允许同时执行多个输入/输出(I/O)操作。
另外,协调器成员510可以避免仅仅使用分布式数据网格500中的一个或几个成员来执行恢复,仅仅使用分布式数据网格500中的一个或几个成员来执行恢复可能易于产生性能瓶颈。
而且,系统可以使用恢复仲裁(quorum)来确保所有持久保存的分区在恢复之前是可见的以便防止由于恢复造成的数据丢失。
在2012年1月17日提交的名称为“SYSTEM AND METHOD FOR SUPPORTING SERVICELEVEL QUORUM IN A DATA GRID CLUSTER”、申请号为13/352,203的美国专利申请(代理案号为ORACL-05131US2)中提供了在分布式数据网格500中支持服务级别的仲裁的各个实施例的附加描述,该申请通过引用的方式并入本文。
因此,分布式数据网格500可以在分布式数据网格500的重启期间以分布式的方式自动地执行持久保存的高速缓存内容的恢复。
图6示出了根据本发明实施例的在分布式数据网格中协调持久存储装置恢复的说明图。如图6中所示,分布式数据网格600中的协调器成员610可以协调从分布式本地盘对持久保存的分区的恢复。例如,协调器成员610可以引导成员620从本地盘630恢复持久保存的分区。
在步骤601,协调器610可以命令成员620(并且同时命令分布式数据网格600中的所有其它成员)准备还原持久保存的分区。然后,在步骤602,成员620(可能连同分布式数据网格600中的每个其它成员)可以反过来向协调器成员610提供本地分区所有权。
在步骤603,在从分布式数据网格600的不同成员获得分区所有权信息之后,协调器成员610可以同步总的分区所有权的视图。
此外,在步骤604,协调器610可以命令成员620基于总的分区所有权的视图来准备恢复持久保存的分区。在步骤605,成员620可以在本地盘630中检查持久保存的分区。然后,在步骤606,成员620可以向协调器成员610报告本地盘630中的持久保存的分区(例如,持久保存的分区ID)。
在步骤607,在从分布式数据网格600的不同成员获得关于持久保存的分区的信息之后,协调器成员610可以关于如何配置恢复过程(诸如确定恢复任务)做出决定。
然后,在步骤608,协调器610可以向分布式数据网格600中的每个成员提供分区恢复任务(例如,恢复分区ID)。最后,在步骤609,分布式数据网格600中的不同成员(包括成员620)可以基于接收到的分区恢复任务来执行持久保存的分区的恢复。
图7示出了根据本发明实施例的在分布式数据网格中支持一致的分区恢复的说明图。如图7中所示,分布式数据网格700可以包括多个成员,例如成员701-705,其中的每个成员可以仅仅对持久保存在本地盘中的分区具有可见性。
此外,协调器成员710可以协调从分布式本地盘A-C 711-713恢复各个持久保存的分区721-723。而且,协调器成员710可以使用可插式分区任务策略组件720来确定应当使用哪个成员恢复哪个分区。
根据本发明实施例,在分布式数据网格700中的机器丢失时,系统可以将存储器内备份提升为存储器内主单元(primary)。作为该过程的一部分,系统可以在盘上创建新的持久保存的分区,并且还可以根据存储器内的数据在其它成员上创建一个或多个存储器内备份。
另外,在由于两个或更多个(依赖于备份计数)成员过程同时死亡而发生存储器内数据丢失时,当存在对盘具有可见性的成员时,系统可以从该盘上的持久保存的版本恢复新的存储器内主单元。
如图7中所示,在与本地盘A 711相关联的机器丢失时,持久保存的分区721可能变得不可用。在这样的情况下,分布式数据网格700可以重新平衡自身。例如,分布式数据网格700可以将持久保存在本地盘B 712或本地盘C 713中的备份分区提升为主分区。
根据本发明实施例,分布式数据网格700可以确保系统总是还原最近的有效分区。例如,本地盘B 712中的持久保存的分区722可以包含分区的较新版本,这是因为本地盘A711中的持久保存的分区可能没有被正确地更新,或者由于分区的先前所有者死亡而存在分区的较旧版本。
根据本发明实施例,分布式数据网格700可以使用恢复仲裁来支持持久保存的分区721-723的发现和/或恢复。通过使用恢复仲裁,持久性的恢复可以被设定门限或保护。因此,即使在丢失的成员的数量超过存储器内的冗余目标时,分布式数据网格700也可以确保没有数据丢失。
而且,分布式数据网格700可以确保所有持久保存的分区在恢复之前是可见的。例如,恢复仲裁可以被配置以使得其确保对所有可能的存储位置(诸如本地盘和/或集群内的SAN)的可见性。另外,分布式数据网格700可以从持久存储装置恢复孤立分区,并将它们分配为空分区。
此外,分布式数据网格700可以基于恢复仲裁建立不同的恢复策略。例如,分布式数据网格700可以建立关注容量的SAN/共享存储策略。而且,分布式数据网格700可以建立分布式/无共享的存储策略,其确保所有的存储位置都是可达到的。而且,分布式数据网格700可以基于所配置的成员规模和主机列表来建立各种策略。
根据本发明实施例,系统允许以有序的方式关闭(和/或重启)分布式数据网格700中的各个成员701-705,并且允许服务或整个集群得体的暂停/继续。另外,在分布式数据网格关闭期间,系统可以防止分区转移和持久存储装置移动。例如,静默的服务/集群可以不加入新成员、可以不从备份还原分区、可以不从持久存储装置恢复孤立分区、可以不分配空的孤立分区、并且可以不执行分区分布。
图8示出了根据本发明实施例的用于在分布式数据网格中支持分布式持久存储装置恢复的示例性流程图。如图8中所示,在步骤801,系统允许分布式数据网格中的多个成员在持久存储设备中持久保存与一个或多个高速缓存服务相关联的多个分区。然后,在步骤802,协调器可以在分布式数据网格中的多个成员之间同步分区所有权的视图。此外,在步骤803,分布式数据网格可以基于同步的视图来形成关于可以从分布式数据网格中的哪个成员恢复哪个分区的分布式共识(consensus)。分布式共识是在协作以解决问题的多个集群成员(或服务器节点)(诸如集群节点101-106)之间达成的协定。
持久存储装置版本化和完整性
图9示出了根据本发明实施例的在分布式数据网格中支持持久存储装置版本化的说明图。如图9中所示,分布式数据网格900可以使用存储器内数据存储装置920中的各个分区(例如,分区901)来支持不同的高速缓存服务。
此外,分布式数据网格9可以使用持久存储装置(例如,持久保存的分区911)以将分区901持久保存在分布式本地盘910中。
系统可以为分布式本地盘910中的每个持久保存的分区提供唯一标识符(ID)或唯一版本号906。如图9中所示,分布式数据网格900中的成员902可以为持久分区911生成全局唯一标识符(GUID)921。GUID 921可以通过使用特别的命名格式包含各种类型的信息。
例如,GUID 921可以至少包括与分区901相关联的分区号(或者分区ID 903)和分区版本号911。另外,GUID 921可以包含成员ID 904,其指示成员902生成GUID 921。
此外,GUID 921可以包括其它信息,诸如时间戳905,该时间戳905指示分区901被首次持久保存的时间。时间戳905是逻辑时间的戳(例如,针对每个分区的向量时钟的戳),而不是全局挂钟的时间。因此,系统可以确保在面对任何种类的故障或转移情形时GUID戳单调地向前移动。
根据本发明实施例,分布式数据网格900可以以单调增加的顺序维持每个持久保存的分区的版本号910。因此,系统可以说明在分布式数据网格900中的任何成员处的数据突变或所有权改变。
图10示出了根据本发明实施例的在分布式数据网格中支持持久存储装置完整性的说明图。如图10中所示,分布式数据网格1000中的持久存储装置1001可以包含来自不同高速缓存A-C 1011-1013的高速缓存内容,其中每个高速缓存与高速缓存ID 1021-1023相关联。
此外,系统可以在持久存储装置1001上应用密封操作1002。密封操作1002可以确保持久存储装置1001被完全初始化并且有资格被恢复。
此外,系统可以在持久存储装置1001上应用验证操作1003。该验证操作1003可以检查持久存储装置1001是否已经被密封。例如,如果持久存储装置1001没有被密封,那么系统可以决定持久存储装置1001中的高速缓存内容不是有效的。
因此,系统可以确保分布式数据网格1000总是对有效的持久保存的分区进行还原,并且避免对可能通过级联集群故障而导致的部分副本进行恢复。
图11示出了根据本发明实施例的在分布式数据网格中还原持久保存的分区的说明图。如图11中所示,分布式数据网格1100可以在分布式本地盘1110中存储各个持久保存的分区1111-1113。
存储在分布式本地盘1110中的每个持久保存的分区1111-1113可以与全局唯一标识符(GUID)(例如,GUID 1141-1143)相关联。GUID 1141-1143可以包含至少包括分区号(即,分区id)和版本号的不同类型的信息。
根据本发明实施例,分布式数据网格1100中的成员1101-1102可以对分布式本地盘1110中的持久保存的分区1111-1113具有不同的可见性。系统可以配置GUID 1141-1143包含与哪个成员可以对特定的持久保存的分区1111-1113具有可见性有关的信息。
另外,由于在分布式本地盘1110中对故障进行级联,在分布式数据网格1100的不同成员1101-1102上可能存在同一持久保存的分区1111-1113的多个版本。为了使这些不同版本意义清楚,分布式数据网格1100中的成员1101-1102中的每一个可以报告针对被发现的每一个持久保存的分区的GUID 1141-1143(其可以包括分区号和其它信息)。根据本发明实施例,只有报告了针对分区的最近GUID的存在的成员才可以被考虑进行恢复。
如图11中所示,分布式数据网格1100中的每个成员1101-1102可以基于本地可见性从分布式本地盘1110收集可用GUID的列表1121-1122。然后,每个成员1101-1102可以向分布式数据网格1100中的解析器1103提供(或注册)可用GUID的列表1121-1122,并且解析器1103可以基于编码在GUID 1141-1143中的分区号和版本号信息来确定针对不同分区的最新GUID 1130。
此外,由于系统的分布式特性,分布式本地盘1110可以包含同一分区的多个不同版本。换句话说,解析器1103可以接收到包含同一分区号和不同版本号的多个GUID。
在这样的情况下,解析器1103可以从与同一分区相关联的每个GUID获得版本号,并且确定哪个GUID具有最近的版本号。而且,分布式数据网格1100可以基于执行密封操作和验证操作来确保具有最近版本号的持久保存的分区是有效的。
另外,解析器1103可以基于编码在GUID 1141-1143中的成员ID信息来确定分布式数据网格1100中的哪个成员1101-1102负责对特定持久保存的分区1111-1113进行恢复。
然后,解析器1103可以向每个不同的成员1101-1102提供分区恢复任务,该分区恢复任务可以包括最新的GUID的列表1131-1132。相应地,成员1101-1102可以执行对持久保存的分区1111-1113进行还原的实际操作。
因此,系统可以确保分布式数据网格1100总是对任何持久保存的分区的最新有效版本进行还原,并且可以避免对可能通过级联集群故障而导致的部分副本进行恢复。
图12示出了根据本发明实施例的用于在分布式数据网格中支持持久存储装置版本化和完整性的示例性流程图。如在图12中所示,在步骤1201,系统可以从分布式数据网格的一个或多个成员接收多个标识符(例如,GUID),其中每个所述标识符与分布式数据网格的持久存储设备中的持久保存的分区相关联。然后,在步骤1202,系统可以针对每个分区选择标识符,其中每个所选择的标识符与分区的最近有效版本相关联。此外,在步骤1203,系统可以确定在分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。
运行系统的持久快照
图13示出了根据本发明实施例的在分布式数据网格中提供运行系统的持久快照的说明图。如图13中所示,分布式数据网格1300可以通过使用存储器内数据存储装置1302来支持各种高速缓存服务1320。
此外,系统允许用户使用管理工具1310来在任何特定时间处获取存储器内数据存储装置1302上的运行系统的快照1301,存储器内数据存储装置1302按照需要支持高速缓存服务1320。例如,快照1301可以用于连夜地(overnight)对运行系统进行备份。
根据本发明实施例,系统可以在获取快照1301之前暂停高速缓存服务1320。因此,系统可以提供一致的时间点以用于获取快照1301。然后,在获取快照1301之后可以继续进行高速缓存服务1320。
另外,快照1301可以提供每个被分区的高速缓存服务1320的一致视图。例如,快照1301可以提供运行系统的状态信息的目录,包括被分区的高速缓存服务1320的元数据1311和高速缓存数据1312。另外,系统可以将快照1301存储在中心位置(例如,SAN 1321)或者存储在分布式本地盘1322。
此外,当快照1301中的各种工件(artifact)被创建并被存储在分布式本地盘1322时,系统可以使用可插式(或便携式)存档器1303来从分布式本地盘1322检索快照1301的持久保存的状态信息,并且可以创建单个的存档单元1330,该存档单元1330可以用于审计或其它目的。
因此,系统允许用户对分布式数据网格1300中被分区的高速缓存服务的状态进行快照,而不是以连续的方式将高速缓存内容持久保存在分布式数据网格1300中。
图14示出了根据本发明实施例的用于在分布式数据网格中提供运行系统的持久快照的示例性流程图。如图14中所示,在步骤1401,系统允许一个或多个高速缓存服务在分布式数据网格中的多个集群成员上运行。然后,在步骤1402,系统可以从分布式数据网格中的多个集群成员收集与所述一个或多个高速缓存服务相关联的状态信息的目录。此外,在步骤1403,系统可以创建针对在分布式数据网格上运行的所述一个或多个高速缓存服务的快照。
解析器
图15示出了说明根据本发明实施例的解析器的示例性框图。
解析器1500的方框可以由用于实施本发明原理的硬件、软件或硬件和软件的组合来实现。本领域技术人员将理解的是,图15中所描述的方框可以被组合或分隔成子块以实现上面描述的发明原理。因此,本文的描述可以支持本文中所描述的功能性方框的任何可能组合或分隔或进一步限定。
在图15中,示出了解析器(1500),其可以用于分布式数据网格,诸如之前描述的任何分布式数据网格,尤其是图11中示出的分布式数据网格。因此,解析器1500可以是在之前描述的实施例中提到的任何解析器。此外,下面描述的解析器1500和其中的组件可以执行根据本发明原理的之前描述的各种操作,而不限于下面描述的操作和功能。
如图所示,解析器1500可以包括接收单元1501,该接收单元1501可以被配置为从分布式数据网格的一个或多个成员接收多个标识符,其中每个所述的标识符与分布式数据网格的持久存储设备中的持久保存的分区相关联。解析器1500还可以包括选择单元1502,该选择单元1502可以被配置为针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联。解析器1500还可以包括确定单元1503,该确定单元1503可以被配置为确定分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。
解析器1500还可以包括解析单元1504,该解析单元1504可以被配置为解析每个接收到的标识符,以获得与持久存储设备中的每个持久保存的分区相关联的分区号和版本号。
如之前所描述的,根据本发明的用于在分布式数据网格中支持持久性的系统可以包括:持久存储设备,其被配置为存储一个或多个持久保存的分区,其中每个持久保存的分区与标识符相关联;一个或多个成员,其被配置为从该持久存储设备收集可用标识符的列表;以及解析器,其被配置为从一个或多个成员接收可用标识符的列表,针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联,并且确定分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。这里的解析器可以被实现为图15中所示的解析器1500。
在一个实施例中,持久存储设备可以包括多个分布式本地盘,其中分布式数据网格中的每个成员仅仅对一个或多个分布式本地盘具有可见性。
在一个实施例中,给存储在持久存储设备中的每个持久保存的分区分配标识符,其中每个所述标识符与分区的分区号和版本号相关联。
在一个实施例中,解析器还可以被配置为解析每个接收到的标识符以获得与持久存储设备中的每个持久保存的分区相关联的分区号和版本号。
在一个实施例中,持久存储设备包括存储区域网络(SAN),其中SAN对于分布式数据网格中的多个成员是可见的。
在一个实施例中,分布式数据网格中的不同成员操作用于持久保存在持久存储设备中的分区的多个版本。
在一个实施例中,分布式数据网格操作用于对持久存储设备中的持久存储装置进行密封,并指示被密封的持久存储装置被完全初始化并有资格被恢复,并且验证持久存储设备中的持久存储装置以确定所述持久存储装置是否被密封。
在一个实施例中,所述确定的成员操作用于通过使用具有所选择的标识符的持久保存的分区来恢复所述分区。
参考图16,示出了根据本发明的系统1600。图16示出了系统1600所实现的功能性配置的说明图。根据本公开的实施例,系统1600包括持久存储设备1610、一个或多个成员1620、接收器模块1630、选择器1640和确定模块1650。
接收器模块从分布式数据网格的一个或多个成员1620接收多个标识符。每个标识符与分布式数据网格的持久存储设备1610中的持久保存的分区相关联。选择器1640针对每个分区选择标识符。每个所选择的标识符与分区的最近的有效版本相关联。确定模块1650确定分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。
图17示出了包括公知的硬件元件的计算机系统1700的说明图。即,计算机系统1700包括中央处理单元(CPU)1710、鼠标1720、键盘1730、随机存取存储器(RAM)1740、硬盘1750、盘驱动器1760、通信接口(I/F)1770以及监视器1780。计算机系统1700可以用作构成系统1600的服务器节点。
根据本发明实施例,持久存储设备1610、一个或多个成员1620、接收器模块1630、选择器1640和确定模块1650是由一个或多个计算机系统1700提供的。持久存储设备1610、一个或多个成员1620、接收器模块1630、选择器1640和确定模块1650是由CPU 1710实现的。在另一方面中,可以使用多于一个的处理器,使得持久存储设备1610、一个或多个成员1620、接收器模块1630、选择器1640和确定模块1650被实现。即,持久存储设备1610、一个或多个成员1620、接收器模块1630、选择器1640和确定模块1650中的任何一个在物理上可以与彼此远离。
在又一方面中,系统1600可以通过使用多个硬连线的电路来实现,所述多个硬连线的电路用作持久存储设备1610、一个或多个成员1620、接收器模块1630、选择器1640和确定模块1650。
可以使用一个或多个常规通用或专用数字计算机、计算设备、机器或微处理器(包括根据本公开的教导编程的一个或多个处理器、存储器和/或计算机可读存储介质)来方便地实现本发明。熟练的程序员基于本公开的教导可以容易地准备出适当的软件代码,这对于软件领域的技术人员将是显而易见的。
在一些实施例中,本发明包括计算机程序产品,其是具有存储于其上/其中的指令的存储介质或计算机可读介质,所述指令可以用于对计算机进行编程以执行本发明中的任何过程。存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC)、或者用于存储指令和/或数据的任何类型的介质或设备。
为了解释和描述的目的,已经提供了本发明的以上描述。不意图穷举或者将本发明限制于所公开的精确形式。许多修改和变化对于本领域执业人员将是显而易见的。所述修改和变化包括所描述的特征的任何相关组合。选择并描述实施例以便最好地解释本发明的原理及其实际应用,从而针对各个实施例以及适合于预想到的特定使用的各种修改的情况下,使得本领域其它技术人员能够理解本发明。本发明的范围旨在由以下权利要求及其等价物来限定。

Claims (20)

1.一种用于在分布式数据网格中支持持久性的方法,所述方法包括:
提供所述分布式数据网格的多个成员,其中所述多个成员中的每个成员分别在计算机上执行;
由所述多个成员中的每个成员将所述计算机的存储器内数据存储装置中的各种类型的高速缓存内容持久保存到持久存储设备中,从而创建多个持久保存的分区,所述多个持久保存的分区具有与每个成员相对应的持久保存的分区;
由所述多个成员中的每个成员生成用于每个成员的相应持久保存的分区的全局唯一标识符GUID,其中每个相应持久保存的分区的每个GUID包括相应持久保存的分区的分区号、相应持久保存的分区的版本号和成员标识符,该成员标识符指示哪个成员生成了相应持久保存的分区的GUID;
由所述多个成员中的每个成员向协调器成员报告每个成员分别能够访问的多个持久保存的分区中的每个持久保存的分区的GUID;
由协调器成员使用可插式分区任务策略组件来确定应当使用哪个成员恢复哪个持久保存的分区。
2.根据权利要求1所述的方法,其中所述持久存储设备包括多个本地盘,所述多个持久保存的分区被持久保存在所述多个本地盘中的不同本地盘中,并且
其中所述多个成员中的每个成员仅能访问所述本地盘中的对应的一个本地盘中的持久保存的分区。
3.根据权利要求1所述的方法,其中用于特定持久保存的分区的GUID包括关于所述多个成员中的哪个成员生成了用于所述特定持久保存的分区的GUID的信息。
4.根据权利要求3所述的方法,还包括:
将时间戳与每个所述GUID相关联。
5.根据权利要求2所述的方法,其中,由协调器成员确定应当使用哪个成员恢复哪个持久保持的分区包括标识哪个成员能够访问哪个持久保存的分区。
6.根据权利要求1所述的方法,还包括:
将存储区域网络SAN包括在所述持久存储设备中,其中所述SAN对于所述分布式数据网格中的多个成员是可见的。
7.根据权利要求4所述的方法,其中,由协调器成员确定应当使用哪个成员恢复哪个持久保存的分区包括标识哪个GUID对应于每个持久保存的分区的最新版本。
8.根据权利要求7所述的方法,还包括根据由协调器成员确定的应当使用哪个成员恢复哪个持久保存的分区来将持久保存的分区从所述持久存储设备恢复到所述多个成员。
9.根据权利要求1所述的方法,其中,由协调器成员确定应当使用哪个成员恢复哪个持久保存的分区包括标识哪个成员能够访问哪个持久保存的分区;并且其中协调器成员确定应使用不同于先前持久保存所述持久保存的分区的成员来恢复持久保存的分区。
10.根据权利要求9所述的方法,还包括根据由协调器成员确定的应当使用哪个成员恢复哪个持久保存的分区来将持久保存的分区从所述持久存储设备恢复到所述多个成员。
11.一种非暂时性机器可读存储介质,其上存储有指令,所述指令在被执行时使得系统执行根据权利要求1到10中的任意一项所述的方法的步骤。
12.一种用于在分布式数据网格中支持持久性的系统,包括:
分布式数据网格,包括多个服务器节点,每个服务器节点包括微处理器和存储器;
分布式数据网格的集群的多个成员,其中多个成员中的每一个成员在多个服务器节点中的一个上执行;和
分布式数据网格的协调器成员;
其中所述分布式数据网格被配置为执行包括以下各项的步骤:
由分布式数据网格的集群的多个成员将所述服务器节点的存储器内数据存储装置中的各种类型的高速缓存内容持久保存到持久存储设备中,从而创建多个持久保存的分区,所述多个持久保存的分区具有与每个成员相对应的持久保存的分区;
由所述多个成员中的每个成员生成用于每个成员的相应持久保存的分区的全局唯一标识符GUID,其中每个相应持久保存的分区的每个GUID包括相应持久保存的分区的分区号、相应持久保存的分区的版本号和成员标识符,该成员标识符指示哪个成员生成了相应持久保存的分区的GUID;
由所述多个成员中的每个成员向协调器成员报告每个成员分别能够访问的多个持久保存的分区中的每个持久保存的分区的GUID;
由协调器成员使用可插式分区任务策略组件来确定应当使用哪个成员恢复哪个持久保存的分区。
13.根据权利要求12所述的系统,其中:
所述持久存储设备包括多个本地盘,所述多个持久保存的分区被持久保存在所述多个本地盘中的不同本地盘中,并且其中所述多个成员中的每个成员仅仅对所述本地盘中的对应的一个本地盘中的持久保存的分区具有可见性。
14.根据权利要求13所述的系统,其中,由协调器成员确定应当使用哪个成员恢复哪个持久保存的分区包括标识哪个成员能够访问哪个持久保存的分区。
15.根据权利要求14所述的系统,其中:
时间戳与每个所述GUID相关联。
16.根据权利要求15所述的系统,其中,由协调器成员确定应当使用哪个成员恢复哪个持久保存的分区包括标识哪个GUID对应于每个持久保存的分区的最新版本。
17.根据权利要求12所述的系统,其中:
存储区域网络SAN被包括在所述持久存储设备中,其中所述SAN对所述分布式数据网格中的多个成员是可见的。
18.根据权利要求12所述的系统,其中所述分布式数据网格被配置为执行包括以下的进一步的步骤:
根据由协调器成员确定的应当使用哪个成员恢复哪个持久保存的分区来将持久保存的分区从所述持久存储设备恢复到所述多个成员。
19.根据权利要求12所述的系统,其中由协调器成员确定应当使用哪个成员恢复哪个持久保存的分区包括通过解析每个接收到的GUID以获得为所述持久存储设备中的每个持久保存的分区生成的分区号和版本号来标识哪个GUID对应于每个持久保存的分区的最新版本。
20.根据权利要求12所述的系统,其中,由协调器成员确定应当使用哪个成员恢复哪个持久保存的分区包括标识哪个成员能够访问哪个持久保存的分区;并且
其中协调器成员确定应使用不同于先前持久保存所述持久保存的分区的成员来恢复持久保存的分区。
CN201480067510.9A 2013-12-13 2014-12-05 用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法 Active CN105830033B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361915912P 2013-12-13 2013-12-13
US61/915,912 2013-12-13
US14/271,150 US10176184B2 (en) 2012-01-17 2014-05-06 System and method for supporting persistent store versioning and integrity in a distributed data grid
US14/271,150 2014-05-06
PCT/US2014/068904 WO2015088918A1 (en) 2013-12-13 2014-12-05 System and method for supporting persistent store versioning and integrity in a distributed data grid

Publications (2)

Publication Number Publication Date
CN105830033A CN105830033A (zh) 2016-08-03
CN105830033B true CN105830033B (zh) 2020-03-24

Family

ID=53368673

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480067038.9A Active CN105814544B (zh) 2013-12-13 2014-12-05 用于支持分布式数据网格中的持久化分区恢复的系统和方法
CN201480067510.9A Active CN105830033B (zh) 2013-12-13 2014-12-05 用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201480067038.9A Active CN105814544B (zh) 2013-12-13 2014-12-05 用于支持分布式数据网格中的持久化分区恢复的系统和方法

Country Status (5)

Country Link
US (4) US10706021B2 (zh)
EP (2) EP3080698A1 (zh)
JP (2) JP6483699B2 (zh)
CN (2) CN105814544B (zh)
WO (2) WO2015088916A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320702B2 (en) * 2015-09-30 2019-06-11 Veritas Technologies, LLC Input/output fencing optimization
US10191817B2 (en) * 2015-12-28 2019-01-29 Veritas Technologies Llc Systems and methods for backing up large distributed scale-out data systems
BR112018076109B1 (pt) 2016-06-14 2022-11-01 Purecircle Usa Inc Processo para produzir uma composição de glicosídeos de esteviol, composição adoçante, composição de paladar, ingrediente alimentar e alimento, bebida, produto cosmético e farmacêutico
CN107885671B (zh) * 2016-09-30 2021-09-14 华为技术有限公司 一种非易失性内存的持久化方法和计算设备
US11550820B2 (en) * 2017-04-28 2023-01-10 Oracle International Corporation System and method for partition-scoped snapshot creation in a distributed data computing environment
US10769019B2 (en) * 2017-07-19 2020-09-08 Oracle International Corporation System and method for data recovery in a distributed data computing environment implementing active persistence
CN110764940A (zh) * 2018-07-26 2020-02-07 北京国双科技有限公司 分布式系统服务异常的处理方法及装置
US11100086B2 (en) * 2018-09-25 2021-08-24 Wandisco, Inc. Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system
CN111352878B (zh) * 2018-12-21 2021-08-27 达发科技(苏州)有限公司 数字信号处理系统及方法
CN109947375B (zh) * 2019-04-04 2021-05-14 江南大学 一种基于分区处理共识算法的分布式存储系统优化方法
CN110309128B (zh) * 2019-07-05 2020-07-17 广东铭太信息科技有限公司 Oracle备份文件自动导入装置及其实现方法、利用该装置进行备份文件导入的方法
CN110795605B (zh) * 2020-01-03 2020-05-12 北京东方通科技股份有限公司 一种基于分布式内存网格的数据存储系统
US11438224B1 (en) 2022-01-14 2022-09-06 Bank Of America Corporation Systems and methods for synchronizing configurations across multiple computing clusters
CN116361389B (zh) * 2023-03-17 2024-03-08 国网江苏省电力有限公司营销服务中心 一种基于国网营销采集系统的数据同步链路方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236605A (ja) * 2001-02-13 2002-08-23 Cybozu Networks Inc データバックアップシステム
CN101997823A (zh) * 2009-08-17 2011-03-30 联想(北京)有限公司 一种分布式文件系统及其数据访问方法
JP2012053795A (ja) * 2010-09-03 2012-03-15 Nec Corp 情報処理システム
CN103119590A (zh) * 2010-09-24 2013-05-22 日立数据系统有限公司 在分布式数据库中管理完整性的方法和系统

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819272A (en) 1996-07-12 1998-10-06 Microsoft Corporation Record tracking in database replication
US5784569A (en) 1996-09-23 1998-07-21 Silicon Graphics, Inc. Guaranteed bandwidth allocation method in a computer system for input/output data transfers
US5940367A (en) 1996-11-06 1999-08-17 Pluris, Inc. Fault-tolerant butterfly switch
US6233601B1 (en) 1996-11-14 2001-05-15 Mitsubishi Electric Research Laboratories, Inc. Itinerary based agent mobility including mobility of executable code
US6125368A (en) * 1997-02-28 2000-09-26 Oracle Corporation Fault-tolerant timestamp generation for multi-node parallel databases
US5933818A (en) 1997-06-02 1999-08-03 Electronic Data Systems Corporation Autonomous knowledge discovery system and method
US5991894A (en) 1997-06-06 1999-11-23 The Chinese University Of Hong Kong Progressive redundancy transmission
US5999712A (en) 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6605120B1 (en) 1998-12-10 2003-08-12 International Business Machines Corporation Filter definition for distribution mechanism for filtering, formatting and reuse of web based content
US6453426B1 (en) 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6693874B1 (en) 1999-05-26 2004-02-17 Siemens Information & Communication Networks, Inc. System and method for enabling fault tolerant H.323 systems
US7020695B1 (en) 1999-05-28 2006-03-28 Oracle International Corporation Using a cluster-wide shared repository to provide the latest consistent definition of the cluster (avoiding the partition-in time problem)
US6871222B1 (en) 1999-05-28 2005-03-22 Oracle International Corporation Quorumless cluster using disk-based messaging
US6553389B1 (en) 1999-09-13 2003-04-22 Hewlett-Packard Company Resource availability determination mechanism for distributed data storage system
US6487622B1 (en) 1999-10-28 2002-11-26 Ncr Corporation Quorum arbitrator for a high availability system
US7039694B2 (en) 2000-05-02 2006-05-02 Sun Microsystems, Inc. Cluster membership monitor
US20020035559A1 (en) 2000-06-26 2002-03-21 Crowe William L. System and method for a decision engine and architecture for providing high-performance data querying operations
US6915391B2 (en) 2000-12-15 2005-07-05 International Business Machines Corporation Support for single-node quorum in a two-node nodeset for a shared disk parallel file system
US7792977B1 (en) 2001-02-28 2010-09-07 Oracle International Corporation Method for fencing shared resources from cluster nodes
US20040179471A1 (en) 2001-03-07 2004-09-16 Adisak Mekkittikul Bi-directional flow-switched ring
US20020169738A1 (en) 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7376953B2 (en) 2001-10-29 2008-05-20 Hewlett-Packard Development Company, L.P. Apparatus and method for routing a transaction to a server
US6904448B2 (en) 2001-12-20 2005-06-07 International Business Machines Corporation Dynamic quorum adjustment
US20030187927A1 (en) 2002-02-22 2003-10-02 Winchell David F. Clustering infrastructure system and method
US7139925B2 (en) 2002-04-29 2006-11-21 Sun Microsystems, Inc. System and method for dynamic cluster adjustment to node failures in a distributed data system
US6952758B2 (en) 2002-07-31 2005-10-04 International Business Machines Corporation Method and system for providing consistent data modification information to clients in a storage system
US7206836B2 (en) 2002-09-23 2007-04-17 Sun Microsystems, Inc. System and method for reforming a distributed data system cluster after temporary node failures or restarts
US20040153558A1 (en) 2002-10-31 2004-08-05 Mesut Gunduc System and method for providing java based high availability clustering framework
US7451359B1 (en) 2002-11-27 2008-11-11 Oracle International Corp. Heartbeat mechanism for cluster systems
US7127577B2 (en) * 2003-01-21 2006-10-24 Equallogic Inc. Distributed snapshot process
KR100553920B1 (ko) 2003-02-13 2006-02-24 인터내셔널 비지네스 머신즈 코포레이션 컴퓨터 클러스터 운영 방법
WO2004077280A2 (en) 2003-02-27 2004-09-10 Bea Systems, Inc. System and method for communications between servers in a cluster
US20040176968A1 (en) 2003-03-07 2004-09-09 Microsoft Corporation Systems and methods for dynamically configuring business processes
US7958026B2 (en) 2003-04-29 2011-06-07 Oracle International Corporation Hierarchical transaction filtering
US20050021737A1 (en) 2003-05-01 2005-01-27 Ellison Carl M. Liveness protocol
US20040267897A1 (en) 2003-06-24 2004-12-30 Sychron Inc. Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
JP5068000B2 (ja) 2003-07-31 2012-11-07 富士通株式会社 Xmlドリブンアーキテクチャにおける情報処理方法及びプログラム
US8234517B2 (en) * 2003-08-01 2012-07-31 Oracle International Corporation Parallel recovery by non-failed nodes
US7551552B2 (en) 2003-10-17 2009-06-23 Microsoft Corporation Method for providing guaranteed distributed failure notification
US7260698B2 (en) 2003-10-30 2007-08-21 International Business Machines Corporation Method and system for page initialization using off-level worker thread
US7464378B1 (en) 2003-12-04 2008-12-09 Symantec Operating Corporation System and method for allowing multiple sub-clusters to survive a cluster partition
US7350192B2 (en) 2003-12-08 2008-03-25 Ebay Inc. Method and system to automatically generate software code
US7299378B2 (en) 2004-01-15 2007-11-20 Oracle International Corporation Geographically distributed clusters
US7712077B2 (en) 2004-02-27 2010-05-04 International Business Machines Corporation Method and system for instantiating components conforming to the “COM” specification in custom contexts
US7428733B2 (en) 2004-05-13 2008-09-23 Bea Systems, Inc. System and method for custom module creation and deployment
US7386753B2 (en) 2004-09-02 2008-06-10 International Business Machines Corporation Subscription-based management and distribution of member-specific state data in a distributed computing system
US7640339B1 (en) 2005-02-14 2009-12-29 Sun Microsystems, Inc. Method and apparatus for monitoring a node in a distributed system
US7530059B2 (en) 2005-02-18 2009-05-05 International Business Machines Corporation Method for inlining native functions into compiled java code
US7613774B1 (en) 2005-03-01 2009-11-03 Sun Microsystems, Inc. Chaperones in a distributed system
US7979457B1 (en) 2005-03-02 2011-07-12 Kayak Software Corporation Efficient search of supplier servers based on stored search results
US7698390B1 (en) 2005-03-29 2010-04-13 Oracle America, Inc. Pluggable device specific components and interfaces supported by cluster devices and systems and methods for implementing the same
US7739677B1 (en) 2005-05-27 2010-06-15 Symantec Operating Corporation System and method to prevent data corruption due to split brain in shared data clusters
US7870230B2 (en) 2005-07-15 2011-01-11 International Business Machines Corporation Policy-based cluster quorum determination
US7720971B2 (en) 2005-09-12 2010-05-18 Microsoft Corporation Arbitrating an appropriate back-end server to receive channels of a client session
US20070118693A1 (en) 2005-11-19 2007-05-24 International Business Machines Cor Method, apparatus and computer program product for cache restoration in a storage system
US7627584B2 (en) 2005-11-30 2009-12-01 Oracle International Corporation Database system configured for automatic failover with no data loss
US7882079B2 (en) 2005-11-30 2011-02-01 Oracle International Corporation Database system configured for automatic failover with user-limited data loss
US7756924B2 (en) 2005-12-21 2010-07-13 Microsoft Corporation Peer communities
JP2007219609A (ja) 2006-02-14 2007-08-30 Hitachi Ltd スナップショット管理装置及び方法
CN101444119A (zh) 2006-03-27 2009-05-27 意大利电信股份公司 在移动通信设备上实施安全策略的系统
US7676628B1 (en) * 2006-03-31 2010-03-09 Emc Corporation Methods, systems, and computer program products for providing access to shared storage by computing grids and clusters with large numbers of nodes
US8570857B2 (en) 2006-04-07 2013-10-29 At&T Intellectual Property I, Lp Resilient IP ring protocol and architecture
US7975288B2 (en) 2006-05-02 2011-07-05 Oracle International Corporation Method and apparatus for imposing quorum-based access control in a computer system
US20070271584A1 (en) 2006-05-16 2007-11-22 Microsoft Corporation System for submitting and processing content including content for on-line media console
US7953861B2 (en) 2006-08-10 2011-05-31 International Business Machines Corporation Managing session state for web applications
US8775402B2 (en) 2006-08-15 2014-07-08 Georgia State University Research Foundation, Inc. Trusted query network systems and methods
US20080077622A1 (en) * 2006-09-22 2008-03-27 Keith Robert O Method of and apparatus for managing data utilizing configurable policies and schedules
US7814248B2 (en) 2006-12-07 2010-10-12 Integrated Device Technology, Inc. Common access ring/sub-ring system
US9111276B2 (en) 2006-12-08 2015-08-18 Sap Se Secure execution environments for process models
US8104080B2 (en) 2007-01-26 2012-01-24 Microsoft Corporation Universal schema for representing management policy
US9026655B2 (en) 2007-01-31 2015-05-05 Oracle America, Inc. Method and system for load balancing
JP5036041B2 (ja) 2007-04-25 2012-09-26 アズビル株式会社 Rstp処理方式
US8745584B2 (en) 2007-05-03 2014-06-03 International Business Machines Corporation Dependency injection by static code generation
US20080281959A1 (en) 2007-05-10 2008-11-13 Alan Robertson Managing addition and removal of nodes in a network
WO2009068952A2 (en) 2007-11-30 2009-06-04 Telefonaktiebolaget L M Ericsson (Publ) Method, network, and node for distributing electronic content in a content distribution network
US8397227B2 (en) 2007-12-04 2013-03-12 International Business Machines Corporation Automatic deployment of Java classes using byte code instrumentation
US8306951B2 (en) * 2009-09-18 2012-11-06 Oracle International Corporation Automated integrated high availability of the in-memory database cache and the backend enterprise database
US8401994B2 (en) * 2009-09-18 2013-03-19 Oracle International Corporation Distributed consistent grid of in-memory database caches
US20090228321A1 (en) 2008-03-04 2009-09-10 Oracle International Corporation Accessing an Enterprise Calendar and Scheduling Group Meetings Using a Mobile Device
US7990850B2 (en) 2008-04-11 2011-08-02 Extreme Networks, Inc. Redundant Ethernet automatic protection switching access to virtual private LAN services
US20090265449A1 (en) 2008-04-22 2009-10-22 Hewlett-Packard Development Company, L.P. Method of Computer Clustering
US7543046B1 (en) 2008-05-30 2009-06-02 International Business Machines Corporation Method for managing cluster node-specific quorum roles
US8719803B2 (en) 2008-06-04 2014-05-06 Microsoft Corporation Controlling parallelization of recursion using pluggable policies
JP5557840B2 (ja) * 2008-10-03 2014-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散データベースの監視メカニズム
JP5425448B2 (ja) * 2008-11-27 2014-02-26 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース・システム、サーバ、更新方法およびプログラム
US8402464B2 (en) 2008-12-01 2013-03-19 Oracle America, Inc. System and method for managing contention in transactional memory using global execution data
US7917596B2 (en) * 2009-01-07 2011-03-29 Oracle International Corporation Super master
US8595714B1 (en) 2009-03-04 2013-11-26 Amazon Technologies, Inc. User controlled environment updates in server cluster
US8626552B2 (en) 2009-03-26 2014-01-07 International Business Machines Corporation Quorum management of appointment scheduling
US8209307B2 (en) 2009-03-31 2012-06-26 Commvault Systems, Inc. Systems and methods for data migration in a clustered file system
US20100268571A1 (en) 2009-04-16 2010-10-21 Mitel Networks Corporation System and method for determining availibility of a group to communicate with a user
GB2472620B (en) 2009-08-12 2016-05-18 Cloudtran Inc Distributed transaction processing
US8108734B2 (en) 2009-11-02 2012-01-31 International Business Machines Corporation Intelligent rolling upgrade for data storage systems
US8578038B2 (en) 2009-11-30 2013-11-05 Nokia Corporation Method and apparatus for providing access to social content
US9135268B2 (en) * 2009-12-30 2015-09-15 Symantec Corporation Locating the latest version of replicated data files
US9286369B2 (en) 2009-12-30 2016-03-15 Symantec Corporation Data replication across enterprise boundaries
US8417899B2 (en) 2010-01-21 2013-04-09 Oracle America, Inc. System and method for controlling access to shared storage device
US8700842B2 (en) 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
US8639758B2 (en) 2010-11-09 2014-01-28 Genesys Telecommunications Laboratories, Inc. System for determining presence of and authorizing a quorum to transact business over a network
US9558256B2 (en) 2010-11-16 2017-01-31 Linkedin Corporation Middleware data log system
US20120158650A1 (en) 2010-12-16 2012-06-21 Sybase, Inc. Distributed data cache database architecture
US9355145B2 (en) 2011-01-25 2016-05-31 Hewlett Packard Enterprise Development Lp User defined function classification in analytical data processing systems
US9262229B2 (en) 2011-01-28 2016-02-16 Oracle International Corporation System and method for supporting service level quorum in a data grid cluster
US20120254118A1 (en) 2011-03-31 2012-10-04 Microsoft Corporation Recovery of tenant data across tenant moves
US9703610B2 (en) 2011-05-16 2017-07-11 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
JP6044539B2 (ja) 2011-08-02 2016-12-14 日本電気株式会社 分散ストレージシステムおよび方法
US8584136B2 (en) 2011-08-15 2013-11-12 Sap Ag Context-aware request dispatching in clustered environments
US8868546B2 (en) * 2011-09-15 2014-10-21 Oracle International Corporation Query explain plan in a distributed data management system
US9348668B2 (en) * 2011-09-15 2016-05-24 Oracle International Corporation System and method for supporting a server-side event model in a distributed data grid
JPWO2013141308A1 (ja) 2012-03-22 2015-08-03 日本電気株式会社 分散ストレージシステム、ストレージ制御方法およびプログラム
US9311014B2 (en) 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
US20140278573A1 (en) * 2013-03-15 2014-09-18 State Farm Mutual Automobile Insurance Company Systems and methods for initiating insurance processing using ingested data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236605A (ja) * 2001-02-13 2002-08-23 Cybozu Networks Inc データバックアップシステム
CN101997823A (zh) * 2009-08-17 2011-03-30 联想(北京)有限公司 一种分布式文件系统及其数据访问方法
JP2012053795A (ja) * 2010-09-03 2012-03-15 Nec Corp 情報処理システム
CN103119590A (zh) * 2010-09-24 2013-05-22 日立数据系统有限公司 在分布式数据库中管理完整性的方法和系统

Also Published As

Publication number Publication date
WO2015088918A1 (en) 2015-06-18
EP3080697A1 (en) 2016-10-19
WO2015088916A1 (en) 2015-06-18
US20150169718A1 (en) 2015-06-18
US10176184B2 (en) 2019-01-08
JP2016540312A (ja) 2016-12-22
US20190121790A1 (en) 2019-04-25
JP6491210B2 (ja) 2019-03-27
US10706021B2 (en) 2020-07-07
JP2017504880A (ja) 2017-02-09
JP6483699B2 (ja) 2019-03-13
CN105814544A (zh) 2016-07-27
US20150169653A1 (en) 2015-06-18
CN105830033A (zh) 2016-08-03
US10817478B2 (en) 2020-10-27
EP3080698A1 (en) 2016-10-19
CN105814544B (zh) 2020-03-24
US20150169598A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
CN105830033B (zh) 用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法
US8954391B2 (en) System and method for supporting transient partition consistency in a distributed data grid
US8856091B2 (en) Method and apparatus for sequencing transactions globally in distributed database cluster
CN110535680B (zh) 一种拜占庭容错方法
US20090172142A1 (en) System and method for adding a standby computer into clustered computer system
US10423643B2 (en) System and method for supporting resettable acknowledgements for synchronizing data in a distributed data grid
WO2007028248A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
KR20170091189A (ko) 데이터베이스 엔진 및 개별 분산 저장 서비스를 갖는 데이터베이스 시스템
CN101136728A (zh) 群集系统和用于备份群集系统中的副本的方法
US11550820B2 (en) System and method for partition-scoped snapshot creation in a distributed data computing environment
US20160070494A1 (en) Highly performant reliable message storage using in-memory replication technology
US9396076B2 (en) Centralized version control system having high availability
US10223184B1 (en) Individual write quorums for a log-structured distributed storage system
CA2619778C (en) Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring
US7543017B1 (en) Cluster file system node failure file recovery by reconstructing file state

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