用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法

文档序号:9732428阅读:333来源:国知局
用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
【专利说明】用于支持用于同步分布式数据网格中的数据的分区级别曰志的系统及方法
[0001](版权声明)
[0002]本专利文档的公开内容的一部分包含受版权保护的材料。专利权人不反对任何人按照专利文档或专利公开内容在专利商标局专利文件或记录中出现的样子影印再现专利文档或专利公开内容,但另外保留任何所有版权。
技术领域
[0003]本发明一般涉及计算机系统,特别涉及支持分布式数据网格中的联合缓存(federated caching)。
【背景技术】
[0004]当代的计算系统,特别是较大的组织和企业使用的那些计算机系统,在尺寸和复杂性上继续增加。特别地,在诸如因特网应用的领域中,期望数以百万计的用户应能够同时访问该应用,这种同时访问有效地导致用户产生和消费的内容以及包含该内容的交易的量指数增加。这种活动还导致对数据库和元数据储存库的交易呼叫的数量的相应增加,这些数据库和元数据库具有有限的容量来适应该需求。
[0005]这是本发明的实施例旨在解决的一般领域。

【发明内容】

[0006]这里描述能够支持用于同步分布式数据网格中的集群之间的数据的分区级别日志的系统和方法。系统可关联日志缓存与本地集群中的一个或多个用户缓存,其中所述一个或多个用户缓存被分成多个分区。并且,系统可捕获施加到所述一个或多个用户缓存的不同分区的一个或多个数据变化,并且能够在支持与远程集群的同步的日志缓存中存储所述一个或多个数据变化。
[0007]系统和方法可支持分布式数据网格中的自治集群之间的并行异步同步。系统可在分区级别上跟踪被施加于源集群中的一个或多个用户缓存上的一个或多个数据变化。并且,源集群中的一个或多个集群成员可向一个或多个目的地集群发送一个或多个复制消息,其中所述一个或多个复制消息包含该一个或多个数据变化。然后,该一个或多个目的地集群可以处理所接收的一个或多个数据变化。
[0008]系统和方法可支持分布式数据网格中的自治集群之间的同步期间的故障切换。当源集群中的另一集群成员变得不可用时,系统允许源集群中的集群成员作为源集群中的分区的所有者进行接管。然后,目的地集群中的集群成员可从源集群中的所述集群成员接收一个或多个复制消息,其中所述一个或多个复制消息包含一个或多个数据变化。并且,如果所述一个或多个复制消息已在目的地集群中被接收和成功处理,那么目的地集群中的集群成员可忽略所述一个或多个复制消息。
[0009]系统和方法可支持用于同步分布式数据网格中的集群之间的数据的可重置确认。系统可使用一个或多个唯一标识符(ID)来支持分布式数据网格中的不同集群之间的消息传递。第一集群可从第二集群接收第一复制消息,其中该复制消息指示该复制消息来自新的集群。然后,系统可重置第一集群以在处理在第一复制消息之后从第二集群接收的一个或多个复制消息时保留幂等性(idempotence)。
【附图说明】
[0010]图1是根据本发明的各种实施例的数据网格集群的示图。
[0011]图2表示根据本发明的实施例的捕获分布式数据网格中的数据变化的示图。
[0012]图3表示根据本发明的实施例的支持用于分布式数据网格中的同步的分区级别日志的示图。
[0013]图4表示根据本发明的实施例的支持分布式数据网格中的日志缓存的集群范围视图的示图。
[0014]图5表示根据本发明的实施例的执行用于支持分布式数据网格中的分区级别日志的单个交易的示图。
[0015]图6示出根据本发明的实施例的支持分布式数据网格中的同步的分区级别日志的示例性流程图。
[0016]图7表示根据本发明的实施例的支持分布式数据网格中的自治集群之间的并行异步同步的示图。
[0017]图8表示根据本发明的实施例的初始化分布式数据网格中的自治集群之间的异步同步的示图。
[0018]图9表示根据本发明的实施例的执行分布式数据网格中的自治集群之间的异步同步的示图。
[0019]图10表示根据本发明的实施例的进一步执行分布式数据网格中的自治集群之间的异步同步的示图。
[0020]图11示出根据本发明的实施例的用于支持分布式数据网格中的自治集群之间的并行异步同步的示例性流程图。
[0021]图12表示根据本发明的实施例的在分布式数据网格中的自治集群之间的同步期间源集群中的集群存储成员上的故障的示图。
[0022]图13表示根据本发明的实施例的在分布式数据网格中的自治集群之间的异步同步期间执行源集群中的故障切换的示图。
[0023]图14表示根据本发明的实施例的在源集群中的故障切换之后支持分布式数据网格中的自治集群之间的异步同步的示图。
[0024]图15示出根据本发明的实施例的支持用于分布式数据网格中的自治集群之间的并行异步同步的故障切换的示例性流程图。
[0025]图16表示根据本发明的实施例的支持跨分布式数据网格中的自治集群的可重置确认的示图。
[0026]图17示出根据本发明的实施例的支持跨分布式数据网格中的自治集群的可重置确认的示例性流程图。
[0027]图18表示根据本发明的实施例的使用有限状态机来用于控制分布式数据网格中的自治集群之间的同步的示图。
[0028]图19表示根据本发明的实施例的有限状态机中的各种状态的示图。
[0029]图20示出根据本发明的实施例的用于使用有限状态机来用于控制分布式数据网格中的自治集群之间的同步的示例性流程图。
【具体实施方式】
[0030 ]这里描述的是可支持分布式数据网格中的联合缓存的系统和方法。
[0031]分布式数据网格
[0032]根据实施例,这里被称为“数据网格集群”或“数据网格”的是包含在分布式或集群式的环境内一起工作以管理信息和诸如计算的有关动作的多个计算机服务器的系统。数据网格集群可被用于管理跨服务器共享的应用对象和数据。优选地,数据网格集群应具有低响应时间、高吞吐量、可预测的可扩展性、连续可用性和信息可靠性。作为这些能力的结果,数据网格集群很好地适用于计算密集、状态化的中间层应用中。数据网格集群的一些例子,例如Oracle Coherence数据网格集群,可在存储器内存储信息以实现更高的性能,并且可在保持跨多个服务器同步的该信息的拷贝时采用冗余性,由此确保在服务器故障的情况下的系统的弹性和数据的可用性。例如,Coherence在可靠的、高度可扩展的对等(peer-to-peer) 集群协议之上提供重复的和分布式 (分区的) 数据管理和缓存服务。
[0033]存储器内的数据网格可通过在一起工作的数个服务器上分布数据来提供数据存储和管理能力。数据网格可以是在同一层中作为应用服务器或者在应用服务器内运行的中间件。它可提供对数据的管理和处理,并且也可将处理推到数据在网格中所位于的地方。另外,当服务器变得不可操作或者从网络断开时,存储器内的数据网格可通过自动地和透明地进行故障切换和重新分布其集群的数据管理服务来消除单个故障点。当添加新的服务器时或者当重新开始故障的服务器时,它可自动地加入集群并且服务可被故障恢复切换到它,从而透明地重新分布集群负载。数据网格也可包含网络级别的错误容限特征和透明的软重启能力。
[0034]根据实施例,数据网格集群的功能基于使用不同的集群服务。集群服务可包含根集群服务、分区的缓存服务和代理服务。在数据网格集群内,各集群节点可参与数个集群服务,两者均关于提供和消耗集群服务。各集群服务具有唯一地识别数据网格集群内的服务的服务名称和服务类型,该服务类型限定集群服务可做什么。除了在数据网格集群中的各集群节点上运行的根集群服务之外,可存在各服务类型的多个命名实例。这些服务可由用户配置,或者作为缺省的一组服务由数据网格集群提供。
[0035]图1是根据本发明的各种实施例的数据网格集群的示图。如图1所示,数据网格集群100,例如Oracle Coherence数据网格,包含具有在其上运行的各种集群服务111?116的多个集群成员(或服务器节点),诸如集群节点101?106。另外,缓存配置文件110可被用于配置数据网格集群100。
[0036]根据实施例,数据网格集群100可基于并行异步推复制技术来支持联合数据特征。联合数据特征使得能够同步数据网格集群(潜在地在不同的物理位置上)之间的数据,并且有益于支持灾难恢复、提供24X7的可用性以及减少对于区域用户的等待时间。
[0037]用于同步的分区级别日志
[0038]图2表示根据本发明的实施例的捕获分布式数据网格中的数据变化的示图。如图2所示,分布式数据网格200可支持一个或多个用户缓存201。另外,该一个或多个用户缓存201可被分成可遍及集群200均匀分布的多个分区,例如分区I?III 211?213。
[0039]并且,可基于对缓存条目键执行散列来向分布式数据网格200中的分区分配用户数据。作为替代,可基于对与可经由用户实现的界面进行限定的缓存条目相关联的键执行散列来向分区分配用户数据。另外,可明确向分布式数据网格200中的分区分配用户数据。
[0040]根据本发明的实施例,分区的分布式集群200可按数据变化被做出的次序捕获对该一个或多个用户缓存201做出的数据变化。如图2所示,可以按从(K1,V1)到(K11,V11)的次序表示被施加于该一个或多个用户缓存201上的数据变化210。在这些数据变化中,(K1,乂1)、(1(4,¥4)和(1(5,¥5)与分区1 211 有关,(K2,V2)、(K3,V3)、(K6,V6)、(K10,V10)和(ΚΙ 1,VII)与分区II 212有关,(K7,V7)、(K7,V7)和(K8,V8)与分区III 213有关。
[0041]图3表示根据本发明的实施例的支持用于分布式数据网格中的同步的分区级别日志的示图。如图3所示,分布式数据网格300支持可分成多个分区(例如,分区1-1II 311?313)的一个或多个用户缓存301。
[0042]分布式数据网格300可按数据变化被做出的次序捕获被施加到一个或多个用户缓存301的数据变化,例如(K1,V1)到(K11,V11)。另外,这些数据变化可被放在可用于与远程集群进行同步的日志缓存302中。
[0043]根据本发明的实施例,系统可对存储于日志缓存302中的各数据变化产生全局唯一标识符(ID)320。可包含多个部分(例如,使用整数)的全局唯一ID 320可识别对其做出数据变化的源分区以及在源分区中做出这种数据变化
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1