CN105830033B - 用于在分布式数据网格中支持持久存储装置版本化和完整性的***和方法 - Google Patents
用于在分布式数据网格中支持持久存储装置版本化和完整性的***和方法 Download PDFInfo
- 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
Links
Images
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- 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
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- 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
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1858—Parallel file systems, i.e. file systems supporting multiple processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
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所述的***,其中,由协调器成员确定应当使用哪个成员恢复哪个持久保存的分区包括标识哪个成员能够访问哪个持久保存的分区;并且
其中协调器成员确定应使用不同于先前持久保存所述持久保存的分区的成员来恢复持久保存的分区。
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 | 2014-05-06 | ||
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 |
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) | JP6491210B2 (zh) |
CN (2) | CN105814544B (zh) |
WO (2) | WO2015088916A1 (zh) |
Families Citing this family (16)
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 |
WO2017218072A1 (en) | 2016-06-14 | 2017-12-21 | Purecircle Usa Inc. | Steviol glycosides compositions, production methods and uses |
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 |
US20240152429A1 (en) * | 2022-11-04 | 2024-05-09 | Microsoft Technology Licensing, Llc | Recoverable Processes |
CN116361389B (zh) * | 2023-03-17 | 2024-03-08 | 国网江苏省电力有限公司营销服务中心 | 一种基于国网营销采集***的数据同步链路方法及*** |
CN117827699A (zh) * | 2023-12-27 | 2024-04-05 | 中电云计算技术有限公司 | 并行读cache持久化方法、装置、设备及存储介质 |
Citations (4)
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)
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 |
AU2001259402A1 (en) | 2000-05-02 | 2001-11-12 | 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 |
US7406464B2 (en) | 2003-12-08 | 2008-07-29 | Ebay Inc. | Custom caching |
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 |
US7882079B2 (en) | 2005-11-30 | 2011-02-01 | Oracle International Corporation | Database system configured for automatic failover with user-limited data loss |
US7627584B2 (en) | 2005-11-30 | 2009-12-01 | Oracle International Corporation | Database system configured for automatic failover with no data loss |
US7756924B2 (en) | 2005-12-21 | 2010-07-13 | Microsoft Corporation | Peer communities |
JP2007219609A (ja) | 2006-02-14 | 2007-08-30 | Hitachi Ltd | スナップショット管理装置及び方法 |
US8413209B2 (en) | 2006-03-27 | 2013-04-02 | Telecom Italia S.P.A. | System for enforcing security policies on mobile communications devices |
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 |
US20100312861A1 (en) | 2007-11-30 | 2010-12-09 | Johan Kolhi | 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 |
US9286369B2 (en) | 2009-12-30 | 2016-03-15 | Symantec Corporation | Data replication across enterprise boundaries |
US9135268B2 (en) | 2009-12-30 | 2015-09-15 | Symantec Corporation | Locating the latest version of replicated data files |
US8417899B2 (en) | 2010-01-21 | 2013-04-09 | Oracle America, Inc. | System and method for controlling access to shared storage device |
US8725951B2 (en) | 2010-04-12 | 2014-05-13 | Sandisk Enterprise Ip Llc | Efficient 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 |
US9621409B2 (en) * | 2011-09-15 | 2017-04-11 | Oracle International Corporation | System and method for handling storage events 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 |
-
2014
- 2014-05-06 US US14/271,142 patent/US10706021B2/en active Active
- 2014-05-06 US US14/271,161 patent/US20150169598A1/en not_active Abandoned
- 2014-05-06 US US14/271,150 patent/US10176184B2/en active Active
- 2014-12-05 EP EP14819219.8A patent/EP3080698A1/en not_active Ceased
- 2014-12-05 CN CN201480067038.9A patent/CN105814544B/zh active Active
- 2014-12-05 JP JP2016538743A patent/JP6491210B2/ja active Active
- 2014-12-05 WO PCT/US2014/068898 patent/WO2015088916A1/en active Application Filing
- 2014-12-05 JP JP2016537499A patent/JP6483699B2/ja active Active
- 2014-12-05 CN CN201480067510.9A patent/CN105830033B/zh active Active
- 2014-12-05 WO PCT/US2014/068904 patent/WO2015088918A1/en active Application Filing
- 2014-12-05 EP EP14819218.0A patent/EP3080697A1/en not_active Ceased
-
2018
- 2018-12-20 US US16/227,877 patent/US10817478B2/en active Active
Patent Citations (4)
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 |
---|---|
EP3080697A1 (en) | 2016-10-19 |
US20150169598A1 (en) | 2015-06-18 |
US10176184B2 (en) | 2019-01-08 |
CN105814544B (zh) | 2020-03-24 |
JP2016540312A (ja) | 2016-12-22 |
WO2015088916A1 (en) | 2015-06-18 |
EP3080698A1 (en) | 2016-10-19 |
US10817478B2 (en) | 2020-10-27 |
US10706021B2 (en) | 2020-07-07 |
JP6483699B2 (ja) | 2019-03-13 |
US20150169718A1 (en) | 2015-06-18 |
CN105814544A (zh) | 2016-07-27 |
CN105830033A (zh) | 2016-08-03 |
JP6491210B2 (ja) | 2019-03-27 |
US20190121790A1 (en) | 2019-04-25 |
US20150169653A1 (en) | 2015-06-18 |
WO2015088918A1 (en) | 2015-06-18 |
JP2017504880A (ja) | 2017-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105830033B (zh) | 用于在分布式数据网格中支持持久存储装置版本化和完整性的***和方法 | |
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
CN110535680B (zh) | 一种拜占庭容错方法 | |
US8856091B2 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
US10423643B2 (en) | System and method for supporting resettable acknowledgements for synchronizing data in a distributed data grid | |
US20090172142A1 (en) | System and method for adding a standby computer into clustered computer system | |
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 | |
US10223184B1 (en) | Individual write quorums for a log-structured distributed storage system | |
US9396076B2 (en) | Centralized version control system having high availability | |
WO2007028249A1 (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 |