首页> 中国专利> 用于支持分布式数据网格中的持久化分区发现的系统和方法

用于支持分布式数据网格中的持久化分区发现的系统和方法

摘要

一种系统和方法能够支持分布式数据网格中的持久化。分布式数据网格中的多个成员可以持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区。此外,可以是分布式数据网格中的成员的协调器能够在分布式数据网格中的多个成员之间同步分区所有权的视图,并且形成关于哪个分区可以从分布式数据网格中的那个成员恢复的分布式共识。

著录项

  • 公开/公告号CN105814544A

    专利类型发明专利

  • 公开/公告日2016-07-27

    原文格式PDF

  • 申请/专利权人 甲骨文国际公司;

    申请/专利号CN201480067038.9

  • 申请日2014-12-05

  • 分类号G06F9/50(20060101);G06F11/14(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李晓芳

  • 地址 美国加利福尼亚

  • 入库时间 2023-06-19 00:09:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-24

    授权

    授权

  • 2016-08-24

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20141205

    实质审查的生效

  • 2016-07-27

    公开

    公开

说明书

版权声明:

本专利文档公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现那样进行的传真复制,但是除此之外在任何情况下都保留所有版权。

技术领域

本发明一般而言涉及计算机系统,并且具体而言,涉及支持分布式数据网格中的持久性。

背景技术

现代的计算系统,尤其被较大的组织和企业所采用的那些计算系统在规模上和复杂度上持续增加。尤其,在诸如互联网应用的领域,期望有上百万的用户应该能够同时访问应用,这有效地导致由用户产生和消费的内容量以及涉及这些内容的事务呈指数增长。这种活动也导致对数据库和元数据存储库的事务调用数量的相应增加,但是数据库和元数据存储库具有适应该需求的有限能力。这是本发明的实施例旨在解决的大致领域。

发明内容

本文描述的是能够支持分布式数据网格中的持久性的系统和方法。分布式数据网格中的多个成员可以持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区。此外,可以是分布式数据网格中的成员的协调器能够在分布式数据网格中的多个成员之间同步分区所有权的视图,并且基于同步的视图形成关于哪个分区可以从分布式数据网格中的哪个成员恢复的分布式共识。

根据一种实施例,提供了用于包括利用一个或多个通信信道互连的多个服务器节点的分布式数据网格的协调器,其中分布式数据网格中的多个成员持久化与持久性储存器中的一个或多个高速缓存服务相关联的多个分区,该协调器包括:同步单元,配置为在分布式数据网格中的多个成员之间同步分区所有权的视图;及形成单元,配置为形成关于哪个分区要从分布式数据网格中的哪个成员恢复的分布式共识。

在一种实施例中,多个分布式本地盘被包括在持久性储存器中,其中分布式数据网格中的每个成员只对一个或多个分布式本地盘具有可见性。

在一种实施例中,所述协调器是分布式数据网格中的成员。

在一种实施例中,所述协调器还包括配置为从分布式数据网格中的所述多个成员接收关于所述多个持久化分区的信息的接收单元。

在一种实施例中,使用恢复定额来确保所有持久化分区在恢复之前是可见的。

在一种实施例中,持久性储存器包括一个或多个存储区域网络(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),或者适于存储指令和/或数据的任何类型的介质或设备。

本发明的以上描述是为了说明和描述的目的而给出的。它不是要穷举或者把本发明限定到所公开的精确形式。对本领域技术人员来说,许多修改和变化都将是显而易见的。修改和变化包括所描述特征的任何相关组合。实施例的选择与描述是为了最好地解释本发明的原理及其实践应用,由此使得本领域的其他技术人员能够理解本发明的各种实施例和具有适于预期特定用途的各种修改。本发明的范围要由以下的权利要求及其等效物定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号