首页 / 专利库 / 电脑零配件 / 计算机系统 / 用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法

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

阅读:419发布:2023-03-26

专利汇可以提供用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法专利检索,专利查询,专利分析的服务。并且一种系统和方法可以在分布式数据网格中支持持久性,诸如持久存储装置的 版本化 和完整性。分布式数据网格中的解析器可以从分布式数据网格的一个或多个成员接收多个标识符,其中,每个所述标识符与分布式数据网格的持久存储设备中的持久保存的分区相关联。然后,解析器可以针对每个分区选择标识符,其中,每个所选择的标识符与分区的最近的有效版本相关联。此外,解析器可以确定分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。,下面是用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法专利的具体信息内容。

1.一种用于在分布式数据网格中支持持久性的方法,包括:
从所述分布式数据网格的一个或多个成员接收多个标识符,其中每个所述标识符与所述分布式数据网格的持久存储设备中的持久保存的分区相关联;
针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联;以及
确定所述分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。
2.根据权利要求1所述的方法,还包括:
将多个分布式本地盘包括在所述持久存储设备中,其中所述分布式数据网格中的每个成员仅仅对所述分布式本地盘中的一个或多个具有可见性。
3.根据权利要求1或2所述的方法,还包括:
给所述持久存储设备中的每个持久保存的分区分配标识符,其中每个所述标识符与分区的分区号和版本号相关联。
4.根据权利要求3所述的方法,还包括:
将时间戳与每个所述标识符相关联。
5.根据任意前述权利要求所述的方法,还包括:
解析每个接收到的标识符以获得与所述持久存储设备中的每个持久保存的分区相关联的分区号和版本号。
6.根据任意前述权利要求所述的方法,还包括:
将存储区域网络SAN包括在所述持久存储设备中,其中所述SAN对于所述分布式数据网格中的多个成员是可见的。
7.根据任意前述权利要求所述的方法,还包括:
允许所述分布式数据网格中的不同成员持久保存所述持久存储设备中的分区的多个版本。
8.根据任意前述权利要求所述的方法,还包括:
密封所述持久存储设备中的持久存储装置,并指示被密封的持久存储装置被完全初始化并且有资格被恢复。
9.根据任意前述权利要求所述的方法,还包括:
验证所述持久存储设备中的持久存储装置,以确定所述持久存储装置是否被密封。
10.根据任意前述权利要求所述的方法,还包括:
经由所确定的成员,使用具有所选择的标识符的持久保存的分区来恢复所述分区。
11.一种包括机器可读形式的程序指令的计算机程序,所述程序指令在被计算机系统执行时使得所述计算机系统执行任意前述权利要求所述的方法。
12.一种计算机程序产品,包括存储在机器可读存储介质上的根据权利要求11所述的计算机程序。
13.一种非暂时性机器可读存储介质,其上存储有指令,所述指令在被执行时使得系统执行根据权利要求1到10中的任意一项所述的方法的步骤。
14.一种用于在分布式数据网格中支持异步消息处理的系统,包括:
一个或多个微处理器
在所述一个或多个微处理器上运行的分布式数据网格,其中所述分布式数据网格包括多个服务器节点,所述多个服务器节点与一个或多个通信信道互连,并且其中所述分布式数据网格操作用于执行包括以下各项的步骤:
从所述分布式数据网格的一个或多个成员接收多个标识符,其中每个所述标识符与所述分布式数据网格的持久存储设备中的持久保存的分区相关联;
针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联;以及
确定在所述分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。
15.根据权利要求14所述的系统,其中:
多个分布式本地盘被包括在所述持久存储设备中,其中所述分布式数据网格中的每个成员仅仅对于所述分布式本地盘中的一个或多个具有可见性。
16.根据权利要求14或15所述的系统,其中:
标识符被分配给所述持久存储设备中的每个持久保存的分区,其中每个所述标识符与分区的分区号和版本号相关联。
17.根据权利要求16所述的系统,其中:
时间戳与每个所述标识符相关联。
18.根据权利要求14到17中任意一项所述的系统,其中:
解析器操作用于解析每个接收到的标识符以获得与所述持久存储设备中的每个持久保存的分区相关联的分区号和版本号。
19.根据权利要求14到18中任意一项所述的系统,其中:
存储区域网络SAN被包括在所述持久存储设备中,其中所述SAN对所述分布式数据网格中的多个成员是可见的。
20.根据权利要求14到19中任意一项所述的系统,其中:
所述分布式数据网格中的不同成员操作用于持久保存所述持久存储设备中的分区的多个版本。
21.根据权利要求14到20中任意一项所述的系统,其中:
所述分布式数据网格操作用于执行以下操作:
密封所述持久存储设备中的持久存储装置,并指示被密封的持久存储装置被完全初始化并且有资格被恢复;以及
验证所述持久存储设备中的持久存储装置,以确定所述持久存储装置是否被密封。
22.根据权利要求14到21中任意一项所述的系统,其中:
所确定的成员操作用于通过使用具有所选择的标识符的持久保存的分区来恢复所述分区。
23.一种用于在分布式数据网格中支持持久性的解析器,包括:
接收单元,所述接收单元被配置为从所述分布式数据网格的一个或多个成员接收多个标识符,其中每个所述标识符与所述分布式数据网格的持久存储设备中的持久保存的分区相关联;
选择单元,所述选择单元被配置为针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联;以及
确定单元,所述确定单元被配置为确定所述分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。
24.根据权利要求23所述的解析器,还包括:
解析单元,所述解析单元被配置为解析每个接收到的标识符以获得与所述持久存储设备中的每个持久保存的分区相关联的分区号和版本号。
25.一种用于在分布式数据网格中支持持久性的系统,包括:
持久存储设备,所述持久存储设备被配置为存储一个或多个持久保存的分区,所述一个或多个持久保存的分区中的每一个与标识符相关联;
一个或多个成员,所述一个或多个成员被配置为从所述持久存储设备收集可用的标识符的列表;
解析器,所述解析器被配置为从一个或多个成员接收所述可用的标识符的列表,针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联,以及确定所述分布式数据网格中的对从与所选择的标识符相关联的持久保存的分区恢复所述分区负责的成员。
26.根据权利要求25所述的系统,其中:
所述持久存储设备包括多个分布式本地盘,其中所述分布式数据网格中的每个成员仅仅对一个或多个分布式本地盘具有可见性。
27.根据权利要求25所述的系统,其中:
标识符被分配给存储在所述持久存储设备中的每个持久保存的分区,其中每个所述标识符与分区的分区号和版本号相关联。
28.根据权利要求27所述的系统,其中:
时间戳与每个所述标识符相关联。
29.根据权利要求25所述的系统,其中:
所述解析器还被配置为解析每个接收到的标识符以获得与所述持久存储设备中的每个持久保存的分区相关联的分区号和版本号。
30.根据权利要求25所述的系统,其中:
所述持久存储设备包括存储区域网络SAN,其中所述SAN对所述分布式数据网格中的多个成员是可见的。
31.根据权利要求25所述的系统,其中:
所述分布式数据网格中的不同成员操作用于持久保存所述持久存储设备中的分区的多个版本。
32.根据权利要求25所述的系统,其中:
所述分布式数据网格操作用于执行以下操作:
密封所述持久存储设备中的持久存储装置,并指示被密封的持久存储装置被完全初始化并且有资格被恢复;以及
验证所述持久存储设备中的持久存储装置,以确定所述持久存储装置是否被密封。
33.根据权利要求25所述的系统,其中:
所确定的成员操作用于通过使用具有所选择的标识符的持久保存的分区来恢复所述分区。

说明书全文

用于在分布式数据网格中支持持久存储装置版本化和完整性

的系统和方法

[0001] 版权通知
[0002] 本专利文档的公开内容的一部分包含受到版权保护的资料。版权所有人不反对任何人对本专利文档或专利公开内容进行复制再现,如其在专利和商标局专利文件或记录中出现的那样,但是无论如何在其他方面保留全部的版权权利。

技术领域

[0003] 本发明一般涉及计算机系统,并且特别地涉及在分布式数据网格中支持持久性。

背景技术

[0004] 现代计算系统(尤其是较大型的组织和企业采用的那些现代计算系统)在规模和复杂性上继续增加。尤其在诸如因特网应用之类的领域中,存在着数百万用户应当能够同时访问该应用的期望,这实际上导致由用户生成和消费的内容的量以及涉及该内容的事务的量呈现指数增长。这样的活动还导致对数据库和元数据存储装置的事务调用的数量的相应增长,而数据库和元数据存储装置具有有限的容量以适应这种需求。这是本发明的实施例旨在应对的一般领域。

发明内容

[0005] 本文描述了能够在分布式数据网格中支持持久性(诸如持久存储装置版本化和完整性)的系统和方法。在该分布式数据网格中的解析器可以从该分布式数据网格的一个或多个成员接收多个标识符,其中每个所述标识符与分布式数据网格的持久存储设备中的持久保存的分区相关联。然后,解析器可以针对每个分区选择标识符,其中每个所选择的标识符与分区的最近的有效版本相关联。此外,解析器可以确定分布式数据网格中的负责从与所选择的标识符相关联的持久保存的分区恢复所述分区的成员。附图说明
[0006] 图1是根据本发明各个实施例的数据网格集群的说明图。
[0007] 图2示出了根据本发明实施例的在分布式数据网格中支持持久性的说明图。
[0008] 图3示出了根据本发明实施例的使用共享的存储设备来在分布式数据网格中支持持久性的说明图。
[0009] 图4示出了根据本发明实施例的使用分布式本地盘来在分布式数据网格中支持持久性的说明图。
[0010] 图5示出了根据本发明实施例的在分布式数据网格中支持分布式的持久存储装置恢复的说明图。
[0011] 图6示出了根据本发明实施例的在分布式数据网格中协调持久存储装置恢复的说明图。
[0012] 图7示出了根据本发明实施例的在分布式数据网格中支持一致的分区恢复的说明图。
[0013] 图8示出了根据本发明实施例的用于在分布式数据网格中支持分布式的持久存储装置恢复的示例性流程图
[0014] 图9示出了根据本发明实施例的在分布式数据网格中支持持久存储装置版本化的说明图。
[0015] 图10示出了根据本发明实施例的在分布式数据网格中支持持久存储装置完整性的说明图。
[0016] 图11示出了根据本发明实施例的在分布式数据网格中还原持久保存的分区的说明图。
[0017] 图12示出了根据本发明实施例的用于在分布式数据网格中支持持久存储装置版本化和完整性的示例性流程图。
[0018] 图13示出了根据本发明实施例的在分布式数据网格中提供运行系统的持久快照(snapshot)的说明图。
[0019] 图14示出了根据本发明实施例的用于在分布式数据网格中提供运行系统的持久快照的示例性流程图。
[0020] 图15示出了说明根据本发明实施例的解析器的示意性框图
[0021] 图16是本发明实施例的功能性配置的说明图。
[0022] 图17是用于实现本发明实施例的计算机系统的说明图。

具体实施方式

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

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈