CN105814544A - 用于支持分布式数据网格中的持久化分区发现的系统和方法 - Google Patents
用于支持分布式数据网格中的持久化分区发现的系统和方法 Download PDFInfo
- Publication number
- CN105814544A CN105814544A CN201480067038.9A CN201480067038A CN105814544A CN 105814544 A CN105814544 A CN 105814544A CN 201480067038 A CN201480067038 A CN 201480067038A CN 105814544 A CN105814544 A CN 105814544A
- Authority
- CN
- China
- Prior art keywords
- distributed data
- data grid
- subregion
- distributed
- coordinator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
版权声明:
本专利文档公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现那样进行的传真复制,但是除此之外在任何情况下都保留所有版权。
技术领域
本发明一般而言涉及计算机系统,并且具体而言,涉及支持分布式数据网格中的持久性。
背景技术
现代的计算系统,尤其被较大的组织和企业所采用的那些计算系统在规模上和复杂度上持续增加。尤其,在诸如互联网应用的领域,期望有上百万的用户应该能够同时访问应用,这有效地导致由用户产生和消费的内容量以及涉及这些内容的事务呈指数增长。这种活动也导致对数据库和元数据存储库的事务调用数量的相应增加,但是数据库和元数据存储库具有适应该需求的有限能力。这是本发明的实施例旨在解决的大致领域。
发明内容
本文描述的是能够支持分布式数据网格中的持久性的系统和方法。分布式数据网格中的多个成员可以持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区。此外,可以是分布式数据网格中的成员的协调器能够在分布式数据网格中的多个成员之间同步分区所有权的视图,并且基于同步的视图形成关于哪个分区可以从分布式数据网格中的哪个成员恢复的分布式共识。
根据一种实施例,提供了用于包括利用一个或多个通信信道互连的多个服务器节点的分布式数据网格的协调器,其中分布式数据网格中的多个成员持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区,该协调器包括:同步单元,配置为在分布式数据网格中的多个成员之间同步分区所有权的视图;及形成单元,配置为形成关于哪个分区要从分布式数据网格中的哪个成员恢复的分布式共识。
在一种实施例中,多个分布式本地盘被包括在持久性储存器中,其中分布式数据网格中的每个成员只对一个或多个分布式本地盘具有可见性。
在一种实施例中,所述协调器是分布式数据网格中的成员。
在一种实施例中,所述协调器还包括配置为从分布式数据网格中的所述多个成员接收关于所述多个持久化分区的信息的接收单元。
在一种实施例中,使用恢复定额来确保所有持久化分区在恢复之前是可见的。
在一种实施例中,持久性储存器包括一个或多个存储区域网络(SAN),其中所述一个或多个SAN是以下中的至少一种情况:被分布式数据网格中的多个成员共享、在多个存储位置处、以及在具有一个或多个本地盘的混合部署中。
在一种实施例中,协调器还包括配置为基于分布式共识为分布式数据网格中的每个成员确定分区恢复任务的确定单元。
在一种实施例中,确定单元是确定分区恢复任务的可插拔分区任务策略组件。
在一种实施例中,协调器还包括配置为向分布式数据网格中的每个成员提供分区恢复任务的提供单元,并且其中所述每个成员操作来从与分布式数据网格相关联的持久性储存器中恢复一个或多个分区。
附图说明
图1是根据本发明各种实施例的数据网格集群的图示。
图2示出了根据本发明实施例的、支持分布式数据网格中的持久性的图示。
图3示出了根据本发明实施例的、利用共享储存器支持分布式数据网格中的持久性的图示。
图4示出了根据本发明实施例的、利用分布式本地盘支持分布式数据网格中的持久性的图示。
图5示出了本发明实施例的、支持分布式数据网格中的分布式持久性存储库恢复的图示。
图6示出了根据本发明实施例的、协调分布式数据网格中的持久性存储库恢复的图示。
图7示出了根据本发明实施例的、支持分布式数据网格中的一致性分区恢复的图示。
图8示出了根据本发明实施例的、支持分布式数据网格中的分布式持久性存储库恢复的示例性流程图。
图9示出了根据本发明实施例的、支持分布式数据网格中的持久性存储库版本化的图示。
图10示出了根据本发明实施例的、支持分布式数据网格中的持久性存储库完整性的图示。
图11示出了根据本发明实施例的、还原分布式数据网格中的持久化分区的图示。
图12示出了根据本发明实施例的、用于支持分布式数据网格中的持久性存储库版本化和完整性的示例性流程图。
图13示出了根据本发明实施例的、提供分布式数据网格中运行系统的持久性快照的图示。
图14示出了根据本发明实施例的、用于提供分布式数据网格中运行系统的持久性快照的示例性流程图。
图15是根据本发明某些实施例的协调器1500的简化框图。
图16图示了本发明实施例的功能配置。
图17是用于实现本发明实施例的计算机系统的图示。
具体实施方式
本文所描述的是可以支持分布式数据网格中的持久化的系统和方法。
分布式数据网格
根据实施例,如在本文被指称的,“数据网格集群”或“数据网格”是包括在分布式或集群环境中一起工作以管理信息和诸如计算的相关操作的多个计算机服务器的系统。可以使用数据网格集群来管理跨服务器共享的应用对象和数据。优选地,数据网格集群应该具有低响应时间、高吞吐量、可预测的扩展性、连续的可用性和信息可靠性。作为这些能力的结果,数据网格集群非常适于在计算密集、有状态的中间层应用中使用。一些数据网格集群的例子,例如,OracleCoherence数据网格集群,可以将信息存储在存储器中,以实现更高的性能,并且可以采用冗余使该信息的拷贝跨多个服务器保持同步,从而确保系统的弹性以及在服务器故障的情况下数据的可用性。例如,Coherence在可靠的、高度可扩展的对等集群协议之上提供了复制式和分布式(分区的)数据管理和高速缓存服务。
存储器中数据网格可以通过将数据分布在多个一起工作的服务器上提供数据存储和管理能力。数据网格可以是与应用服务器在同一层中或者在应用服务器内运行的中间件。它可以提供数据的管理和处理,并且也可以将处理推送到数据在网格中所处的位置。此外,存储器中数据网格可以通过自动地和透明地进行故障转移以及当服务器变得不可操作或从网络断开时重新分配其集群数据管理服务来消除单点故障。当新的服务器被添加时,或者当故障服务器被重新启动时,它可以自动地加入集群并且服务可以被故障恢复给它,从而透明地重新分配集群负载。数据网格也可以包括网络级容错特征和透明的软重启能力。
根据实施例,数据网格集群的功能是基于使用不同的集群服务。集群服务可以包括根集群服务、分区高速缓存服务和代理服务。在数据网格集群内,每个集群节点就提供和消费集群服务两者而言,可以参与多个集群服务。每个集群服务具有唯一识别数据网格集群中的服务的服务名称,以及定义集群服务可以做什么的服务类型。除了在数据网格集群中的每个集群节点上运行的根集群服务之外,可能存在每种服务类型的多个命名实例。服务可以由用户配置,或者由数据网格集群作为一组默认服务提供。
图1是根据本发明各种实施例的数据网格集群的图示。如在图1中所示,数据网格集群100,例如OracleCoherence数据网格,包括具有在其上运行的各种集群服务111-116的多个集群成员(或服务器节点),诸如集群节点101-106。此外,可以使用高速缓存配置文件110来配置数据网格集群100。
高速缓存内容的持久性存储
根据本发明的实施例,分布式数据网格可以为不同类型的高速缓存内容提供可恢复的持久性存储,并且可以防止在分布式数据网格关闭之后数据丢失。
图2示出了根据本发明实施例的、支持分布式数据网格中的持久性的图示。如在图2中所示,分布式数据网格200可以包括存储器中数据存储库202中的各种类型的高速缓存内容211-213。此外,分布式数据网格200可以使用持久化层201将高速缓存内容211-213持久化在持久性储存器203中。
持久化层201允许持久性储存器203使用不同的物理拓扑结构。例如,持久化层201可以将高速缓存内容存储在中央位置中,诸如存储区域网络(SAN)221,其中分布式数据网格200中的所有成员可以共享同一可见性。可替代地,持久化层201可以将高速缓存内容存储到不同的本地盘222中,其中分布式数据网格200的成员可能只具有本地可见性。
此外,持久化层201可以不知道物理拓扑结构的选择(例如,SAN221或分布式本地盘222)。例如,分布式数据网格200可以利用多个SAN或多个SAN安装点。此外,分布式数据网格200可以利用包括不被多个成员共享的多个SAN的物理拓扑结构。可替代地,物理拓扑结构可以包括输出存储位置的多个SAN,或者可以包括本地盘和SAN的混合部署。
此外,持久化层201可以支持持久化数据/元数据按分区的原子性,并且可以在分布式数据网格200的重新启动之后提供事务保证。此外,持久化层201可以最小化性能影响并且减少重新启动分布式数据网格200所需的恢复时间。
图3示出了根据本发明实施例的、利用共享存储来支持分布式数据网格中的持久性的图示。如在图3中所示,包括多个成员(例如,机器A-C311-313上的成员301-305)的分布式数据网格300可以支持各种高速缓存服务320。
此外,分布式数据网格300可以使用共享持久性储存器,诸如存储区域网络(SAN)310,将用于高速缓存服务320的高速缓存内容存储在中央位置中。如在图3中所示,机器A-C311-313上的不同成员301-305可以共享同一可见性,并且都可以访问在SAN310中的持久化分区322。
因此,当分布式数据网格300在关机之后被重新启动时,系统可以恢复持久化高速缓存内容并且防止数据丢失。
图4示出了根据本发明实施例的、利用分布式本地盘支持分布式数据网格中的持久化的图示。如在图4中所示,包括多个成员(例如,机器A-C411-413上的成员401-405)的分布式数据网格400可以支持各种高速缓存服务420。
此外,分布式数据网格400可以将用于高速缓存服务420的高速缓存内容存储到不同机器上的本地盘中。例如,成员401-402可以将相关的高速缓存内容存储到机器A411上的本地盘A431中(例如,持久化分区421)。此外,成员403-404可以将相关的高速缓存内容存储到机器B412上的本地盘B432中(例如持久化分区422),并且机器C413可以将相关的高速缓存内容存储到机器C413上的本地盘C433中(例如持久化分区423)。
因此,分布式数据网格400可以以分布式方式支持各种类型高速缓存内容的自动恢复,并且防止在分布式数据网格400的重新启动过程中数据丢失。
分布式持久性存储库恢复
根据本发明的实施例,分布式数据网格可以以分布式方式支持持久性存储库恢复。
图5示出了根据本发明实施例的、支持分布式数据网格中的分布式持久性存储库恢复的图示。如在图5中所示,分布式数据网格500可以包括多个成员,例如成员501-505,并且可以利用分布式本地盘,例如本地盘A-C511-513,持久化高速缓存内容。
此外,分布式数据网格500中的每个成员可以只对在本地盘中持久化的分区具有可见性。例如,成员501和成员502可以只知道在本地盘A511中持久化的分区521,而成员503和成员504可以只知道在本地盘B512中持久化的分区522并且成员505可以只知道在本地盘C513中持久化分区523。
根据本发明的实施例,分布式数据网格500可以使用内部协议来发现不同本地盘A-C511-513上的持久化分区521-523。例如,发现协议支持在集群冷启动/重新启动情景和多节点故障情景两者期间的持久性存储库恢复(例如在损失分区的主要所有者和/或分区的一个或多个备份所有者的情况下)。
如在图5中所示,分布式数据网格500可以使用协调器,诸如协调器成员510,来协调分布式数据网格500中的各种持久化分区521-523的恢复。协调器成员510可以向分布式数据网格500中的其它成员501-505发送分布式查询,以便获得持久化分区521-523的完整列表。
因此,根据本公开内容的实施例,成员(501-505、510)是分布式数据网格的元素。分布式数据网格的多个成员中的一个成员510可以作为协调器工作,其处理用于恢复分布式数据网格中的各种持久化分区的信息。信息的处理可以包括在分布式数据网格中的多个成员之间同步分区所有权的视图,并且从分布式数据网格中的多个成员接收关于多个持久化分区的信息。在一个方面中,协调器可以被称为“协调器成员”510。
根据本发明的实施例,协调器成员510可以使用可插拔分区任务策略组件520来确定分区恢复任务540。例如,系统可以浏览分区列表来检查哪个成员可以看见分区的版本。然后,系统可以基于同步的分区所有权视图530来确定应该使用哪个成员来恢复哪个分区。
此外,系统可以最小化由于向分布式数据网格500添加持久性支持造成的性能影响。例如,系统可以在分布式数据网格500中使用异步消息传送过程,用于实现对持久性存储库的写操作。此外,系统允许并发地执行多个输入/输出(I/O)操作。
此外,协调器成员510可以避免可能容易产生性能瓶颈的只使用分布式数据网格500中的一个或几个成员来执行恢复。
此外,系统可以使用恢复定额来确保所有持久化分区在恢复之前是可见的,以便防止由于恢复导致的数据丢失。
支持分布式数据网格500中的服务水平定额的各种实施例的附加描述在于2012年1月17日提交的、申请No.13/352,203、标题为“SYSTEMANDMETHODFORSUPPORTINGSERVICELEVELQUORUMINADATAGRIDCLUSTER”的美国专利申请(代理人案卷号ORACL-05131US2)中提供,该申请通过引用被结合于此。
因此,分布式数据网格500可以在分布式数据网格500的重新启动过程中以分布式方式自动执行持久化高速缓存内容的恢复。
图6示出了根据本发明实施例的、协调分布式数据网格中的持久性存储库恢复的图示。如在图6中所示,分布式数据网格600中的协调器成员610可以协调从分布式本地盘中恢复持久化分区。例如,协调器成员610可以引导成员620从本地盘630中恢复持久化分区。
在步骤601,协调器成员610可以指示成员620(以及同时分布式数据网格600中的所有其它成员)准备还原持久化分区。然后,在步骤602,成员620(可能连同分布式数据网格600中的每个其它成员)可以将本地分区所有权提供回给协调器成员610。
在步骤603,协调器成员610可以在从分布式数据网格600中的不同成员获得分区所有权信息之后,同步整体分区所有权的视图。
此外,在步骤604,协调器成员610可以基于整体分区所有权的视图指示成员620准备恢复持久化分区。在步骤605,成员620可以在本地盘630中检查持久化分区。然后,在步骤606,成员620可以将在本地盘630中的持久化分区(例如持久化分区ID)报告给协调器成员610。
在步骤607,在从分布式数据网格600中的不同成员获得关于持久化分区的信息之后,协调器成员610可以关于如何配置恢复过程做出决定,诸如确定恢复任务。
然后,在步骤608,协调器成员610可以向分布式数据网格600中的每个成员提供分区恢复任务(例如恢复分区ID)。最后,在步骤609,分布式数据网格600中的不同成员(包括成员620)可以基于接收到的分区恢复任务执行持久化分区的恢复。
图7示出了根据本发明实施例的、支持分布式数据网格中的一致性分区恢复的图示。如在图7中所示,分布式数据网格700可以包括多个成员,例如成员701-705,其中每个成员可以只对在本地盘中持久化的分区具有可见性。
此外,协调器成员710可以协调各种持久化分区721-723从分布式本地盘A-C711-713中的恢复。此外,协调器成员710可以使用可插拔分区任务策略组件720来确定应该使用哪个成员来恢复哪个分区。
根据本发明的实施例,当在分布式数据网格700中的机器丢失时,系统可以将存储器中备份提升为存储器中主选。作为这个过程的一部分,系统可以在盘上创建新的持久化分区,并且也可以在其它成员上从存储器中的数据创建一个或多个存储器中备份。
此外,当由于两个或更多个(取决于备份数量)成员进程同时垂死导致发生存储器中数据丢失时,系统可以在存在对盘具有可见性的成员时,从盘上的持久化版本中恢复新的存储器中主选。
如在图7中所示,当与本地盘711相关联的机器丢失时,持久化分区721可能变得不可用。在这种情况下,分布式数据网格700可以重新平衡自身。例如,分布式数据网格700可以将在本地盘B712或本地盘C713中持久化的备份分区提升为主选分区。
根据本发明的实施例,分布式数据网格700可以确保系统始终还原最近的有效分区。例如,在本地盘B712中的持久化分区722可能包含分区的较新版本,因为本地盘A711中的持久化分区721可能没有被正确地更新或者由于分区先前的所有者死亡导致存在分区的较旧版本。
根据本发明的实施例,分布式数据网格700可以使用恢复定额来支持持久化分区721-723的发现和/或恢复。通过利用恢复定额,从持久化的恢复可以被门控或受到保护。因此,即使当丢失成员的数量超过存储器中冗余目标时,分布式数据网格700也可以确保没有数据丢失。
此外,分布式数据网格700可以确保所有持久化分区在恢复之前是可见的。例如,恢复定额可以被配置为使得它保证对所有可能存储位置(诸如本地盘和/或集群内的SAN)的可见性。此外,分布式数据网格700可以从持久性存储库中恢复孤立分区并且将它们分配为空分区。
此外,分布式数据网格700可以基于恢复定额建立不同的恢复策略。例如,分布式数据网格700可以建立专注于容量的SAN/共享存储策略。此外,分布式数据网格700可以建立确保所有存储位置是可到达的分布式/无共享存储策略。此外,分布式数据网格700可以基于配置的成员规模和主机列表建立各种策略。
根据本发明的实施例,系统允许分布式数据网格700中的各个成员701-705以有序的方式被关闭(和/或重新启动),并且允许服务或整个集群优雅地暂停/继续。此外,系统可以在分布式数据网格的关闭过程中,防止分区转移和持久性存储库移动。例如,静止服务/集群可以不加入新的成员、可以不从备份中还原分区、可以不从持久性存储库中恢复孤立分区、可以不分配空的孤立分区、并且可以不执行分区分发。
图8示出了根据本发明实施例的、用于支持分布式数据网格中的分布式持久性存储库恢复的示例性流程图。如在图8中所示,在步骤801,系统允许分布式数据网格中的多个成员持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区。然后,在步骤802,协调器可以在分布式数据网格中的多个成员之间同步分区所有权的视图。此外,在步骤803,分布式数据网格可以基于同步的视图形成关于哪个分区可以从分布式数据网格中的哪个成员恢复的分布式共识。分布式共识是在合作来解决问题的多个集群成员(或服务器节点),诸如集群节点101-106之间达成的协议。
持久性存储库版本化和完整性
图9示出了根据本发明实施例的、支持分布式数据网格中的持久性存储库版本化的图示。如在图9中所示,分布式数据网格900可以使用存储器中数据存储库920中的各种分区(例如,分区901)来支持不同的高速缓存服务。
此外,分布式数据网格900可以使用持久性存储库(例如持久化分区911)在分布式本地盘910中持久化分区901。
系统可以为分布式本地盘910中的每个持久化分区提供唯一标识符(ID)或唯一版本号906。如在图9中所示,分布式数据网格900中的成员902可以为持久化分区911生成全局唯一标识符(GUID)921。GUID921可以包含利用特殊命名格式的各种类型的信息。
例如,GUID921可以至少包括与分区901相关联的分区号(或分区ID903)和分区版本号911。此外,GUID921可以包含指示成员902生成该GUID921的成员ID904。
此外,GUID921可以包括其它信息,诸如指示当分区901被首先持久化时的时间的时间戳905。时间戳905是逻辑时间的戳(例如每分区的向量时钟的戳)而不是全球壁钟的戳。因此,系统可以保证在遇到任何种类的故障或转移的情景中GUID时间戳单调向前移动。
根据本发明的实施例,分布式数据网格900可以以单调递增的顺序为每个持久化分区维护版本号910。因此,系统可以在分布式数据网格900中的任何成员或所有权改变时解决数据变异。
图10示出了根据本发明实施例的、支持分布式数据网格中的持久性存储库完整性的图示。如在图10中所示,分布式数据网格1000中的持久性存储库1001可以包含来自不同高速缓存A-C1011-1013的高速缓存内容,其中高速缓存A-C1011-1013中的每一个与高速缓存ID1021-1123相关联。
此外,系统可以在持久性存储库1001上应用密封操作1002。密封操作1002可以确保持久性存储库1001被完全地初始化并且有资格被恢复。
此外,系统可以在持久性存储库1001上应用验证操作1003。验证操作1003可以检查持久性存储库1001是否已被密封。例如,如果持久性存储库1001没有被密封,则系统可以决定持久性存储库1001中的高速缓存内容是无效的。
因此,系统可以确保分布式数据网格1000始终还原有效的持久化分区,并且避免恢复可能由级联的集群故障引起的部分拷贝。
图11示出了根据本发明实施例的、还原分布式数据网格中的持久化分区的图示。如在图11中所示,分布式数据网格1100可以在分布式本地盘1110中存储各种持久化分区1111-1113。
在分布式本地盘1110中存储的每个持久化分区1111-1113可以与全局唯一标识符(GUID),例如,GUID1141-1143相关联。GUID1141-1143可以包含至少包括分区号(即分区id)和版本号的不同类型的信息。
根据本发明的实施例,分布式数据网格1100中的成员1101-1102可以对分布式本地盘1110中的持久化分区1011-1013具有不同的可见性。系统可以配置GUID1141-1143,以包含关于哪个成员可以具有对特定持久化分区1111-1113的可见性的信息。
此外,作为分布式本地盘1110中的级联故障的结果,相同持久化分区1011-1013的多个版本可以存在于分布式数据网格1100的不同成员1101-1102上。为了消除这些不同版本的歧义,分布式数据网格1100中的每个成员1101-1102可以报告找到的每个持久化分区的GUID1141-1143(其可以包括分区号和其它信息)。根据本发明的实施例,只有报告存在分区最近GUID的成员可以被考虑进行恢复。
如在图11中所示,分布式数据网格1100中的每个成员1101-1102可以基于本地可见性从分布式本地盘1110中收集可用GUID1121-1122的列表。然后,每个成员1101-02可以将可用GUID1121-1122的列表提供给(或注册到)分布式数据网格1100中的解析器1103,并且解析器1103可以基于在GUID1141-1143中编码的分区号和版本号信息确定不同分区的最新GUID1130。
此外,由于系统的分布式性质,分布式本地盘1110可以包含相同分区的多个不同版本。换句话说,解析器1103会接收到包含相同分区号和不同版本号的多个GUID。
在这种情况下,解析器1103可以从与相同分区相关联的每个GUID获得版本号,并且确定哪个GUID具有最近的版本号。此外,分布式数据网格1100可以基于执行密封操作和验证操作确保具有最近版本号的持久化分区是有效的。
此外,解析器1103可以基于在GUID1141-1143中编码的成员ID信息确定分布式数据网格1100中的哪个成员1101-1102负责恢复特定持久化分区1111-1113。
然后,解析器1103可以向每个不同成员1101-1102提供分区恢复任务,其可以包括最新GUID1131-1132的列表。相应地,成员1101-1102可以执行还原持久化分区1111-1113的实际操作。
因此,系统可以确保分布式数据网格1100始终还原任何持久化分区的最新有效版本,并且可以避免恢复可能由级联的集群故障引起的部分拷贝。
图12示出了根据本发明实施例的、用于支持分布式数据网格中的持久性存储库版本化和完整性的示例性流程图。如在图12中所示,在步骤1201,系统可以从分布式数据网格的一个或多个成员接收多个标识符(例如,GUID),其中每个所述标识符与在用于分布式数据网格的持久性储存库中的持久化分区相关联。然后,在步骤1202,系统可以选择用于每个分区的标识符,其中每个选择的识别符与分区的最近有效版本相关联。此外,在步骤1203,系统可以确定分布式数据网格中负责从与选择的识别符相关联的持久化分区中恢复所述分区的成员。
运行系统的持久性快照
图13示出了根据本发明实施例的、提供分布式数据网格中的运行系统的持久性快照的图示。如在图13中所示,分布式数据网格1300可以利用存储器中数据存储库1302支持各种高速缓存服务1320。
此外,系统允许用户在任何特定时间使用管理工具1310按需在支持高速缓存服务1320的存储器中数据存储库1302上获取运行系统的快照1301。例如,可以使用快照1301在晚上进行运行系统的备份。
根据本发明的实施例,系统可以在获取快照1301之前暂停高速缓存服务1320。因此,系统可以提供用于获取快照1301的一致时间点。然后,高速缓存服务1320可以在获取快照1301之后继续。
此外,快照1301可以提供每个分区高速缓存服务1320的一致视图。例如,快照1301可以提供运行系统的状态信息的目录,包括用于分区高速缓存服务1320的元数据1311和高速缓存数据1312。此外,系统可以在中央位置中(例如SAN1321)或者在分布式本地盘1322中存储快照1301。
此外,当快照1301中的各种伪像被创建并且存储在分布式本地盘1322中时,系统可以使用可插拔(或便携式)归档器1303从分布式本地盘1322中检索快照1301的持久化状态信息,并且可以创建可用于审核或其它目的的单个存档单元1330。
因此,系统允许用户对分布式数据网格1300中的分区高速缓存服务的状态获取快照,而不是以连续的方式在分布式数据网格1300中持久化高速缓存内容。
图14示出了根据本发明实施例的、用于提供分布式数据网格中的运行系统的持久性快照的示例性流程图。如在图14中所示,在步骤1401,系统允许一个或多个高速缓存服务在分布式数据网格中的多个集群成员上运行。然后,在步骤1402,系统可以从分布式数据网格中的多个集群成员中收集与所述一个或多个高速缓存服务相关联的状态信息的目录。此外,在步骤1403,系统可以为分布式数据网格上运行的所述一个或多个高速缓存服务创建快照。
图15是可以根据本发明某些实施例使用的协调器1500的简化框图。协调器1500的方框可以由硬件、软件、或硬件和软件的组合来实现,以执行本发明的原理。本领域技术人员应当理解,图15中所描述的方框可以被组合或分离为子方框来实现如上所述的本发明的原理。因此,本文的描述可以支持任何可能的组合或分离以及本文所描述的功能方框的其它定义。
在图15中,示出了可用于分布式数据网格,诸如先前描述的任何分布式数据网格的协调器1500。分布式数据网格可以包括利用一个或多个通信信道互连的多个服务器节点,其中分布式数据网格中的多个成员持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区。
如所示出的,协调器可以包括同步单元1501,其可以被配置为在分布式数据网格中的多个成员之间同步分区所有权的视图;及形成单元1503,其可以被配置为形成关于哪个分区要从分布式数据网格中的哪个成员恢复的分布式共识。在一种实施例中,每个单元可以被实现为通过读取计算机程序指令执行对应的过程的处理器。
在一种实施例中,多个分布式本地盘可以被包括在持久性储存器中,其中分布式数据网格中的每个成员可以只对一个或多个分布式本地盘具有可见性。
在一种实施例中,协调器1500可以是分布式数据网格中的成员。
在一种实施例中,协调器1500还可以包括配置为从分布式数据网格中的多个成员接收关于所述多个持久化分区的信息的接收单元(1505)。
在一种实施例中,可以使用恢复定额来确保所有的持久化分区在恢复之前是可见的。
在一种实施例中,持久性储存器可以包括一个或多个存储区域网络(SAN),其中所述一个或多个SAN是以下中的至少一种情况:被分布式数据网格中的多个成员共享、在多个存储位置处、以及在具有一个或多个本地盘的混合部署中。
在一种实施例中,协调器1500还可以包括确定单元1507,其可以被配置为基于分布式共识为分布式数据网格中的每个成员确定分区恢复任务。
在一种实施例中,确定单元1507可以是确定分区恢复任务的可插拔分区任务策略组件,诸如在图5中所示的可插拔分区任务策略组件520。
在一种实施例中,协调器还包括提供单元1509,其可以被配置为向分布式数据网格中的每个成员提供分区恢复任务,并且其中所述每个成员操作来从与分布式数据网格相关联的持久性储存器中恢复一个或多个分区。
本领域技术人员可以理解,协调器1500是在前面示例性实施例中描述的协调器510、610和710的示例性实现。本领域技术人员还可以理解,根据本发明的原理,协调器1500及其组件可以按需进行修改,以执行如先前所描述的任何操作或及组合。
参考图16,其中示出了根据本发明实施例的系统1600。图16示出了由系统1600实现的功能配置的图示。系统1600包括持久性储存器1610、管理器1620、多个成员1630、协调器1640、共识形成器1650。
持久性储存器1610存储与一个或多个高速缓存服务相关联的多个分区。管理器1620允许分布式数据网格中的多个成员1630管理与持久性储存器1610中的一个或多个高速缓存服务相关联的多个分区。协调器1640在分布式数据网格中的多个成员1630之间同步分区所有权的视图。共识形成器1650基于同步的视图形成关于哪个分区要从分布式数据网格中的哪个成员恢复的分布式共识。
图17示出了包括众所周知的硬件元件的计算机系统1700的图示。即,计算机系统1700包括中央处理单元(CPU)1710、鼠标1720、键盘1730、随机存取存储器(RAM)1740、硬盘1750、盘驱动器1760、通信接口(I/F)1770、以及监视器1780。计算机系统1700可以是多个成员1630中的成员。
在一个方面中,管理器1620、协调器1640和共识形成器1650由CPU1710来实现。在还有的方面中,可以使用多于一个处理器,使得管理器1620、协调器1640和共识形成器1650被实现。即,管理器1620、协调器1640和共识形成器1650中的任何一个在物理上彼此远离。
在还有的另一个方面,系统1600可以通过利用充当管理器1620、协调器1640和/或共识形成器1650的多个硬连线电路来实现。
本发明可以方便地利用一个或多个常规的通用或专用数字计算机、计算设备、机器或微处理器来实现,其中包括一个或多个处理器、存储器和/或根据本公开内容的教导编程的计算机可读存储介质。适当的软件编码可以容易地由熟练的程序员基于本公开内容的教导来准备,如对软件领域的技术人员将显而易见的。
在一些实施例中,本发明包括计算机程序产品,它是其上存储有指令/其中能够用来编程计算机以执行本发明的任何过程的存储介质或计算机可读介质。存储介质可以包括,但不限于,任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型硬盘,及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储器设备、磁或光卡、纳米系统(包括分子存储器IC),或者适于存储指令和/或数据的任何类型的介质或设备。
本发明的以上描述是为了说明和描述的目的而给出的。它不是要穷举或者把本发明限定到所公开的精确形式。对本领域技术人员来说,许多修改和变化都将是显而易见的。修改和变化包括所描述特征的任何相关组合。实施例的选择与描述是为了最好地解释本发明的原理及其实践应用,由此使得本领域的其他技术人员能够理解本发明的各种实施例和具有适于预期特定用途的各种修改。本发明的范围要由以下的权利要求及其等效物定义。
Claims (31)
1.一种用于支持分布式数据网格中的持久性的方法,包括:
允许分布式数据网格中的多个成员持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区;
经由协调器在分布式数据网格中的所述多个成员之间同步分区所有权的视图;以及
基于同步的视图形成关于哪个分区要从分布式数据网格中的哪个成员恢复的分布式共识。
2.如权利要求1所述的方法,还包括:
在持久性储存器中包括多个分布式本地盘,其中分布式数据网格中的每个成员只对分布式本地盘中的一个或多个具有可见性。
3.如权利要求1或2所述的方法,
其中所述协调器是分布式数据网格中的成员。
4.如前面权利要求中任何一项所述的方法,还包括:
经由协调器从分布式数据网格中的所述多个成员接收关于所述多个持久化分区的信息。
5.如前面权利要求中任何一项所述的方法,还包括:
利用恢复定额来确保所有持久化分区在恢复之前是可见的。
6.如前面权利要求中任何一项所述的方法,还包括:
在持久性储存器中包括一个或多个存储区域网络(SAN),其中所述一个或多个SAN是以下中的至少一种:
被分布式数据网格中的多个成员共享,
在多个存储位置处,和/或
在具有一个或多个本地盘的混合部署中。
7.如前面权利要求中任何一项所述的方法,还包括:
基于分布式共识为分布式数据网格中的每个成员确定分区恢复任务。
8.如权利要求7所述的方法,还包括:
利用可插拔分区任务策略来确定分区恢复任务。
9.如权利要求7或8所述的方法,还包括:
向分布式数据网格中的每个成员提供分区恢复任务。
10.如权利要求7至9中任何一项所述的方法,还包括:
经由所述每个成员从与分布式数据网格相关联的持久性储存器中恢复一个或多个分区。
11.一种包括机器可读形式的程序指令的计算机程序,当指令被计算机系统执行时,使得计算机系统执行如前面权利要求中任何一项所述的方法。
12.一种计算机程序产品,包括存储在机器可读存储介质上的如权利要求11所述的计算机程序。
13.一种其上存储有指令的非临时性计算机可读存储介质,当指令被执行时,使得系统执行如权利要求1至10中任何一项所述的方法的步骤。
14.一种用于支持分布式数据网格中的持久性的系统,包括:
一个或多个微处理器;
在所述一个或多个微处理器上运行的分布式数据网格,其中分布式数据网格包括利用一个或多个通信信道互连的多个服务器节点,及
其中分布式数据网格操作来执行多个步骤,所述多个步骤包括:
允许分布式数据网格中的多个成员持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区;
经由协调器在分布式数据网格中的所述多个成员之间同步分区所有权的视图;以及
基于同步的视图形成关于哪个分区要从分布式数据网格中的哪个成员恢复的分布式共识。
15.如权利要求14所述的系统,其中:
多个分布式本地盘被包括在持久性储存器中,其中分布式数据网格中的每个成员只对分布式本地盘中的一个或多个具有可见性。
16.如权利要求14或15所述的系统,其中:
所述协调器是分布式数据网格中的成员。
17.如权利要求14至16中任何一项所述的系统,其中:
所述协调器从分布式数据网格中的所述多个成员接收关于所述多个持久化分区的信息。
18.如权利要求14至17中任何一项所述的系统,其中:
分布式数据网格操作来使用恢复定额确保所有持久化分区在恢复之前是可见的。
19.如权利要求14至18中任何一项所述的系统,其中:
持久性储存器包括一个或多个存储区域网络(SAN),其中所述一个或多个SAN是以下中的至少一种:
被分布式数据网格中的多个成员共享,
在多个存储位置处,和/或
在具有一个或多个本地盘的混合部署中。
20.如权利要求14至19中任何一项所述的系统,其中:
分布式数据网格操作来基于分布式共识为分布式数据网格中的每个成员确定分区恢复任务。
21.如权利要求20所述的系统,其中:
分布式数据网格操作来使用可插拔分区任务策略确定分区恢复任务。
22.如权利要求20或21所述的系统,其中:
分布式数据网格操作来向分布式数据网格中的每个成员提供分区恢复任务,并且其中所述每个成员操作来从与分布式数据网格相关联的持久性储存器中恢复一个或多个分区。
23.一种协调器(1500),用于包括利用一个或多个通信信道互连的多个服务器节点的分布式数据网格,其中分布式数据网格中的多个成员持久化与持久性储存器中的一个或多个高速缓冲服务相关联的多个分区,所述协调器包括:
同步单元(1501),配置为在分布式数据网格中的所述多个成员之间同步分区所有权的视图;以及
形成单元(1503),配置为形成关于哪个分区要从分布式数据网格中的哪个成员恢复的分布式共识。
24.如权利要求23所述的协调器,其中:
多个分布式本地盘被包括在持久性储存器中,其中分布式数据网格中的每个成员只对一个或多个分布式本地盘具有可见性。
25.如权利要求23所述的协调器,其中:
所述协调器是分布式数据网格中的成员。
26.如权利要求23所述的协调器,其中:
所述协调器还包括配置为从分布式数据网格中的所述多个成员接收关于所述多个持久化分区的信息的接收单元(1505)。
27.如权利要求23所述的协调器,其中:
恢复定额用于确保所有持久化分区在恢复之前是可见的。
28.如权利要求23所述的协调器,其中:
持久性储存器包括一个或多个存储区域网络(SAN),其中所述一个或多个SAN是以下中的至少一种:
被分布式数据网格中的多个成员共享,
在多个存储位置处,和/或
在具有一个或多个本地盘的混合部署中。
29.如权利要求23所述的协调器,还包括
确定单元(1507),配置为基于分布式共识为分布式数据网格中的每个成员确定分区恢复任务。
30.如权利要求29所述的协调器,其中:
确定单元(1507)是确定分区恢复任务的可插拔分区任务策略组件(520)。
31.如权利要求29所述的协调器,还包括:
提供单元(1509),配置为向分布式数据网格中的每个成员提供分区恢复任务,并且其中所述每个成员操作来从与分布式数据网格相关联的持久性储存器中恢复一个或多个分区。
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,142 US10706021B2 (en) | 2012-01-17 | 2014-05-06 | System and method for supporting persistence partition discovery in a distributed data grid |
US14/271,142 | 2014-05-06 | ||
PCT/US2014/068898 WO2015088916A1 (en) | 2013-12-13 | 2014-12-05 | System and method for supporting persistence partition recovery in a distributed data grid |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105814544A true CN105814544A (zh) | 2016-07-27 |
CN105814544B CN105814544B (zh) | 2020-03-24 |
Family
ID=53368673
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480067510.9A Active CN105830033B (zh) | 2013-12-13 | 2014-12-05 | 用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法 |
CN201480067038.9A Active CN105814544B (zh) | 2013-12-13 | 2014-12-05 | 用于支持分布式数据网格中的持久化分区恢复的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480067510.9A Active CN105830033B (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) | CN105830033B (zh) |
WO (2) | WO2015088916A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885671A (zh) * | 2016-09-30 | 2018-04-06 | 华为技术有限公司 | 一种非易失性内存的持久化方法和计算设备 |
CN109947375A (zh) * | 2019-04-04 | 2019-06-28 | 江南大学 | 一种基于分区处理共识算法的分布式存储系统优化方法 |
CN117827699A (zh) * | 2023-12-27 | 2024-04-05 | 中电云计算技术有限公司 | 并行读cache持久化方法、装置、设备及存储介质 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341252B2 (en) | 2015-09-30 | 2019-07-02 | Veritas Technologies Llc | Partition arbitration 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 |
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 | 达发科技(苏州)有限公司 | 数字信号处理系统及方法 |
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 | 国网江苏省电力有限公司营销服务中心 | 一种基于国网营销采集系统的数据同步链路方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553389B1 (en) * | 1999-09-13 | 2003-04-22 | Hewlett-Packard Company | Resource availability determination mechanism for distributed data storage system |
US20110041006A1 (en) * | 2009-08-12 | 2011-02-17 | New Technology/Enterprise Limited | Distributed transaction processing |
US20110071981A1 (en) * | 2009-09-18 | 2011-03-24 | Sourav Ghosh | Automated integrated high availability of the in-memory database cache and the backend enterprise database |
US20120297056A1 (en) * | 2011-05-16 | 2012-11-22 | Oracle International Corporation | Extensible centralized dynamic resource distribution in a clustered data grid |
CN103782295A (zh) * | 2011-09-15 | 2014-05-07 | 甲骨文国际公司 | 分布式数据管理系统中的查询说明计划 |
CN103827864A (zh) * | 2011-09-15 | 2014-05-28 | 甲骨文国际公司 | 支持分布式数据网格中的服务器端事件模型的系统和方法 |
Family Cites Families (111)
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 |
US6487622B1 (en) | 1999-10-28 | 2002-11-26 | Ncr Corporation | Quorum arbitrator for a high availability system |
WO2001082678A2 (en) | 2000-05-02 | 2001-11-08 | 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 |
JP4637382B2 (ja) * | 2001-02-13 | 2011-02-23 | サイボウズ株式会社 | データバックアップシステム |
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 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 클러스터 운영 방법 |
US7376754B2 (en) | 2003-02-27 | 2008-05-20 | 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 |
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 |
CN101997823B (zh) * | 2009-08-17 | 2013-10-02 | 联想(北京)有限公司 | 一种分布式文件系统及其数据访问方法 |
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 |
JP5691306B2 (ja) * | 2010-09-03 | 2015-04-01 | 日本電気株式会社 | 情報処理システム |
US8600944B2 (en) * | 2010-09-24 | 2013-12-03 | Hitachi Data Systems Corporation | System and method for managing integrity in a distributed database |
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 |
WO2013018808A1 (ja) | 2011-08-02 | 2013-02-07 | 日本電気株式会社 | 分散ストレージシステムおよび方法 |
US8584136B2 (en) | 2011-08-15 | 2013-11-12 | Sap Ag | Context-aware request dispatching in clustered environments |
EP2829976A4 (en) | 2012-03-22 | 2015-11-11 | Nec Corp | DISTRIBUTED STORAGE SYSTEM, STORAGE CONTROL METHOD, AND PROGRAM |
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,150 patent/US10176184B2/en active Active
- 2014-05-06 US US14/271,161 patent/US20150169598A1/en not_active Abandoned
- 2014-12-05 CN CN201480067510.9A patent/CN105830033B/zh active Active
- 2014-12-05 EP EP14819219.8A patent/EP3080698A1/en not_active Ceased
- 2014-12-05 WO PCT/US2014/068898 patent/WO2015088916A1/en active Application Filing
- 2014-12-05 JP JP2016538743A patent/JP6491210B2/ja active Active
- 2014-12-05 EP EP14819218.0A patent/EP3080697A1/en not_active Ceased
- 2014-12-05 WO PCT/US2014/068904 patent/WO2015088918A1/en active Application Filing
- 2014-12-05 CN CN201480067038.9A patent/CN105814544B/zh active Active
- 2014-12-05 JP JP2016537499A patent/JP6483699B2/ja active Active
-
2018
- 2018-12-20 US US16/227,877 patent/US10817478B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553389B1 (en) * | 1999-09-13 | 2003-04-22 | Hewlett-Packard Company | Resource availability determination mechanism for distributed data storage system |
US20110041006A1 (en) * | 2009-08-12 | 2011-02-17 | New Technology/Enterprise Limited | Distributed transaction processing |
US20110071981A1 (en) * | 2009-09-18 | 2011-03-24 | Sourav Ghosh | Automated integrated high availability of the in-memory database cache and the backend enterprise database |
US20120297056A1 (en) * | 2011-05-16 | 2012-11-22 | Oracle International Corporation | Extensible centralized dynamic resource distribution in a clustered data grid |
CN103782295A (zh) * | 2011-09-15 | 2014-05-07 | 甲骨文国际公司 | 分布式数据管理系统中的查询说明计划 |
CN103827864A (zh) * | 2011-09-15 | 2014-05-28 | 甲骨文国际公司 | 支持分布式数据网格中的服务器端事件模型的系统和方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885671A (zh) * | 2016-09-30 | 2018-04-06 | 华为技术有限公司 | 一种非易失性内存的持久化方法和计算设备 |
US10976956B2 (en) | 2016-09-30 | 2021-04-13 | Huawei Technologies Co., Ltd. | Non-volatile memory persistence method and computing device |
CN107885671B (zh) * | 2016-09-30 | 2021-09-14 | 华为技术有限公司 | 一种非易失性内存的持久化方法和计算设备 |
CN109947375A (zh) * | 2019-04-04 | 2019-06-28 | 江南大学 | 一种基于分区处理共识算法的分布式存储系统优化方法 |
CN109947375B (zh) * | 2019-04-04 | 2021-05-14 | 江南大学 | 一种基于分区处理共识算法的分布式存储系统优化方法 |
CN117827699A (zh) * | 2023-12-27 | 2024-04-05 | 中电云计算技术有限公司 | 并行读cache持久化方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015088918A1 (en) | 2015-06-18 |
EP3080698A1 (en) | 2016-10-19 |
US20190121790A1 (en) | 2019-04-25 |
CN105814544B (zh) | 2020-03-24 |
US20150169598A1 (en) | 2015-06-18 |
JP2016540312A (ja) | 2016-12-22 |
US10176184B2 (en) | 2019-01-08 |
CN105830033A (zh) | 2016-08-03 |
US20150169653A1 (en) | 2015-06-18 |
US20150169718A1 (en) | 2015-06-18 |
CN105830033B (zh) | 2020-03-24 |
JP6491210B2 (ja) | 2019-03-27 |
WO2015088916A1 (en) | 2015-06-18 |
EP3080697A1 (en) | 2016-10-19 |
US10706021B2 (en) | 2020-07-07 |
US10817478B2 (en) | 2020-10-27 |
JP6483699B2 (ja) | 2019-03-13 |
JP2017504880A (ja) | 2017-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105814544A (zh) | 用于支持分布式数据网格中的持久化分区发现的系统和方法 | |
CN109074306B (zh) | 分布式存储系统中的混合垃圾收集 | |
EP3069495B1 (en) | Client-configurable security options for data streams | |
EP3069274B1 (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
EP3127018B1 (en) | Geographically-distributed file system using coordinated namespace replication | |
CA2930101C (en) | Partition-based data stream processing framework | |
CA2930026C (en) | Data stream ingestion and persistence techniques | |
KR100423687B1 (ko) | 소결합 노드 클러스터에서의 공유 디스크 파일 시스템용데이터 관리 응용 프로그램의 연속 수행 페일오버 | |
US7779295B1 (en) | Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints | |
Yan et al. | Carousel: Low-latency transaction processing for globally-distributed data | |
WO2012076342A1 (en) | Clustered redirect on write filesystem | |
US11003550B2 (en) | Methods and systems of operating a database management system DBMS in a strong consistency mode | |
Chen et al. | Federation in cloud data management: Challenges and opportunities | |
US10970177B2 (en) | Methods and systems of managing consistency and availability tradeoffs in a real-time operational DBMS | |
US20210248108A1 (en) | Asynchronous data synchronization and reconciliation |
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 |