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

文档序号:9732428阅读:来源:国知局
日志缓存1810中读取用户数据变化,并且可负责将源集群1801中的被捕获的用户数据变化写入(或同步)到目的地集群B 1803。
[0117]并且,垃圾收集(GC)线程1806可负责删除已被写入或同步到不同的目的地集群A?B 1802?1803的用户数据变化。
[0118]如图18所示,线程1804可与有限状态机1814相关联,并且线程1805可与有限状态机1815相关联。有限状态机1814?1815中的每一个可以是控制同步处理的非阻塞有限状态机。
[0119]图19表示根据本发明的实施例的有限状态机中的各种状态的示图。如图19所示,有限状态机1900可包含多个状态,诸如初始状态1901、连接状态1902、空闲状态1903、停止状态1904、发送状态1905和错误状态1906。
[0120]如图19所示,有限状态机1900允许从初始状态1901转换到连接状态1902、从连接状态1902转换到空闲状态1903、从空闲状态转换到停止状态1904以及从停止状态1904转换回到连接状态1902。并且,有限状态机1900允许连接状态1902与错误状态1906之间的转换以及空闲状态1903与发送状态1905之间的转换。
[0121]此外,系统可以在有限状态机1900从停止状态1904或错误状态1906转换到连接状态1902之前执行状态登入动作1910。
[0122]图20示出根据本发明的实施例的使用有限状态机用于控制分布式数据网格中的自治集群之间的同步的示例性流程图。如图20所示,在步骤2001中,系统可捕获本地集群中的一个或多个用户缓存中的一个或多个数据变化,其中所捕获的数据变化被存储于本地集群中的日志缓存中。并且,在步骤2002中,系统可关联有限状态机与本地集群中的线程。然后,在步骤2003中,系统使用有限状态机以控制线程,其中线程动作操作以从日志缓存读取所述一个或多个数据变化并且将所述一个或多个数据变化写入到远程集群中。
[0123]根据实施例,存在一种用于支持同步分布式数据网格中的集群之间的数据的方法,该方法包括:在分区级别上跟踪施加于源集群中的一个或多个用户缓存上的一个或多个数据变化;经由源集群中的集群成员向一个或多个目的地集群发送一个或多个复制消息,其中所述一个或多个复制消息包含该一个或多个数据变化;以及经由该一个或多个目的地集群处理所接收的一个或多个数据变化。
[0124]根据实施例,存在一种方法,该方法还包括允许集群成员成为源集群中的该一个或多个用户缓存的分区的所有者。
[0125]根据实施例,存在一种方法,该方法还包括经由所述集群成员处理日志缓存中用于所述分区的一个或多个日志条目。
[0126]根据实施例,存在一种方法,该方法还包括允许源集群中的所述集群成员与源集群中的其它集群成员并行地工作,以支持与一个或多个目的地集群的同步。
[0127]根据实施例,存在一种方法,该方法还包括关联唯一标识符(ID)与从源集群发送到所述一个或多个目的地集群的各所述复制消息。
[0128]根据实施例,存在一种方法,该方法还包括从目的地集群接收确认,该确认指示目的地集群中的集群成员已接收和成功处理该一个或多个数据变化。
[0129]根据实施例,存在一种方法,该方法还包括在接收确认之后垃圾收集与该一个或多个数据变化相关联的资源。
[0130]根据实施例,存在一种方法,该方法还包括关联有限状态机与写入到目的地集群的源集群中的各线程。
[0131]根据实施例,存在一种方法,该方法还包括经由各所述目的地集群保持包含一个或多个条目的复制记录,其中各条目指示对所述目的地集群中的分区已接收和成功处理的最后的数据变化。
[0132]根据实施例,存在一种方法,该方法还包括基于被保持于目的地集群中的复制记录支持源集群中的故障切换。
[0133]根据实施例,存在一种用于支持分布式数据网格中的异步消息处理的系统,该系统包括:一个或多个微处理器;在该一个或多个微处理器上运行的具有多个服务器节点的分布式数据网格,其中该分布式数据网格操作以执行包括以下步骤的步骤:在分区级别上跟踪被施加于源集群中的一个或多个用户缓存上的一个或多个数据变化;经由源集群中的集群成员向一个或多个目的地集群发送一个或多个复制消息,其中所述一个或多个复制消息包含该一个或多个数据变化;以及经由该一个或多个目的地集群处理所接收的一个或多个数据变化。
[0134]根据实施例,存在一种系统,其中,所述集群成员是源集群中的该一个或多个用户缓存的分区的所有者。
[0135]根据实施例,存在一种系统,其中,所述集群成员操作以处理日志缓存中用于所述分区的一个或多个日志条目。
[0136]根据实施例,存在一种系统,源集群中的所述集群成员与源集群中的其它集群成员并行地工作,以支持与一个或多个目的地集群的同步。
[0137]根据实施例,存在一种系统,其中,从源集群发送到所述一个或多个目的地集群的各所述复制消息与唯一标识符(ID)相关联。
[0138]根据实施例,存在一种系统,其中,源集群中的所述一个或多个集群成员从目的地集群接收确认,该确认指示目的地集群中的集群成员已接收和成功处理该一个或多个数据变化。
[0139]根据实施例,存在一种系统,其中,源集群中的所述一个或多个集群成员在接收该确认之后垃圾收集与该一个或多个数据变化相关联的资源。
[0140]根据实施例,存在一种系统,其中,写入到目的地集群的源集群中的各线程与有限状态机相关联。
[0141]根据实施例,存在一种系统,其中,各所述目的地集群操作以保持包含一个或多个条目的复制记录,其中,各条目指示对所述目的地集群中的分区已接收和成功处理的最后的数据变化,以及基于被保持于目的地集群中的复制记录支持源集群中的故障切换。
[0142]根据实施例,存在一种其上存储了指令的非暂态机器可读存储介质,这些指令当被执行时导致系统执行包括以下步骤的步骤:在分区级别上跟踪被施加于源集群中的一个或多个用户缓存上的一个或多个数据变化;经由源集群中的集群成员向一个或多个目的地集群发送一个或多个复制消息,其中所述一个或多个复制消息包含该一个或多个数据变化;以及经由该一个或多个目的地集群处理所接收的一个或多个数据变化。
[0143]根据实施例,存在用于支持分布式数据网格中的联合数据的方法,该方法包括:当源集群中的另一集群成员变得不可用时,允许源集群中的集群成员作为源集群中的分区的所有者进行接管;经由目的地集群中的集群成员从源集群中的所述集群成员接收一个或多个复制消息,其中所述一个或多个复制消息包含一个或多个数据变化;以及如果所述一个或多个复制消息已在目的地集群中被接收和成功处理,则经由目的地集群中的集群成员忽略所述一个或多个复制消息。
[0144]根据实施例,存在一种方法,其中,在丢失所述另一集群成员之前,允许源集群中的所述另一集群成员成为分区的所有者。
[0145]根据实施例,存在一种方法,其中,经由所述集群成员处理日志缓存中用于所述分区的一个或多个日志条目。
[0146]根据实施例,存在一种方法,其中,关联唯一标识符(ID)与从源集群发送到目的地集群的各所述复制消息。
[0147]根据实施例,存在一种方法,其中,经由源集群中的所述集群成员向目的地集群中的集群成员发送可用的复制消息。
[0148]根据实施例,存在一种方法,其中,允许所述可用复制消息包含一个或多个数据变化,用于这些数据变化的资源未在源集群中被垃圾收集。
[0149]根据实施例,存在一种方法,其中,经由目的地集群保持包含一个或多个条目的复制记录,其中,各条目指示对目的地集群中的分区已接收和成功处理的最后的数据变化。
[0150]根据实施例,存在一种方法,其中,基于复制记录确定是否已在目的地集群中接收和成功处理一个或多个复制消息。
[0151]根据实施例,存在一种方法,其中,经由目的地集群中的集群成员向源集群中的集群成员发送确认,该确认指示目的地集群中的集群成员已接收和成功处理该一个或多个数据变化。
[0152]根据实施例,存在一种方法,其中,允许源集群中的所述集群成员与源集群中的其它集群成员并行地工作,以支持与一个或多个目的地集群的同步。
[0153]根据实施例,存在一种用于支持分布式数据网格中的异步消息处理的系统,该系统包括:一个或多个微处理器;在该一个或多个微处理器上运行的具有多个服务器节点的分布式数据网格,其中分布式数据网格操作以执行包括以下步骤的步骤:当源集群中的另一集群成员变得不可用时,允许源集群中的集群成员作为源集群中的分区的所有者进行接管;经由目的地集群中的集群成员从源集群中的所述集群成员接收一个或多个复制消息,其中所述一个或多个复制消息包含一个或多个数据变化;以及如果所述一个或多个复制消息已在目的地集群中被接收和成功处理,则经由目的地集群中的集群成员忽略所述一个或多个复制消息。
[0154]根据实施例,存在一种系统,其中,在丢失所述另一集群成员之前,源集群中的所述另一集群成员是分区的所有者。
[0155]根据实施例,存在一种方法,其中,源集群中的所述集群成员操作以处理日志缓存中的用于所述分区的一个或多个日志条目。
[0156]根据实施例,存在一种系统,其中,从源集群发送到所述一个或多个目的地集群的各所述复制消息与唯一标识符(ID)相关联。
[0157]根据实施例,存在一种系统,其中,源集群中的所述集群成员操作以向目的地集群中的集群成员发送可用的复制消息。
[0158]根据实施例,存在一种系统,其中,所述可用复制消息包含一个或多个数据变化,用于这些数据变化的资源未在源集群中被垃圾收集。
[0159]根据实施例,存在一种系统,其中,目的地集群操作以保持包含一个或多个条目的复制记录,其中,各条目指示对目的地集群中的分区已接收和成功处理的最后的数据变化。
[0160]根据实施例,存在一种系统,其中,目的地集群操作以基于复制记录确定是否已在目的地集群中接收和成功处理一个或多个复制消息。
[0161]根据实施例,存在一种系统,其中,目的地集群中的集群成员操作以向源集群中的集群成员发送确认,该确认指示目的地集群中的集群成员已接收和成功处理该一个或多个数据变化。
[0162]根据实施例,存在一种其上存储了指令的非暂态机器可读存储介质,这些指令当被执行时导致系统执行包括以下步骤的步骤:当源集群中的另一集群成员变得不可用时,允许源集群中的集群成员作为源集群中的分区的所有者进行接管;经由目的地集群中
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1