用于多节点集群的事务管理制造技术

技术编号:17575322 阅读:58 留言:0更新日期:2018-03-28 22:23
示例包括用于多节点集群的事务管理。一些示例包括在所有者节点处生成标识重复数据位置的请求日志条目,用已请求标签标记重复数据位置,并且发布标识重复数据位置的零拷贝请求。在一些这样的示例中,服务节点可以基于标识重复数据位置的零拷贝请求来生成服务日志条目,处理零拷贝请求,并且用已服务标签来标记重复数据位置。可以做出关于所有者节点和服务节点中的至少一个是否已经故障的确定,并且基于至少一个已经故障的确定,可以经由重复数据位置的已请求标签和已服务标签中的至少一个来恢复故障节点。

【技术实现步骤摘要】
【国外来华专利技术】用于多节点集群的事务管理
技术介绍
集群可以涉及作为单个系统一起工作以执行应用或实行各种功能的多个节点(例如,计算机、服务器)。在一些示例中,集群可以提供比单个节点可以提供的更好的速度、可用性和容错性。集群中的节点可以利用处理和/或存储中的冗余来提供高可用性系统,其中单个节点的故障可以以最小限度的中断或延迟来允许继续服务。然而,冗余可以导致更大的等待时间和/或资源使用。附图说明以下详细描述参考附图,其中:图1A是用于多节点集群的示例事务管理系统的框图,其中使用已请求标签和已服务标签中的至少一个来恢复节点;图1B是多节点集群的示例恢复引擎的框图,其中已经确定所有者节点并未故障并且服务节点已经故障;图1C是多节点集群的示例恢复引擎的框图,其中已经确定所有者节点已经故障并且服务节点并未故障;图2A是用于多节点集群的示例事务管理系统的框图,其中所有者节点和服务节点是相同节点;图2B是多节点集群的示例恢复引擎的框图,其中已经确定所有者节点和服务节点已经故障,其中所有者节点和服务节点是相同节点;图3是用于多节点集群的示例事务管理系统的框图,其中重复数据位置与预先分配的存储器块相关联;图4A是管理多节点集群的事务的示例方法的流程图,其包括接收请求、在所有者节点处存储数据以及将数据复制在重复数据位置处;图4B是管理多节点集群的事务的示例方法的流程图,其包括确定所有者节点和服务节点已经故障(其中所有者节点和服务节点是相同节点)、恢复数据以及重新发布零拷贝请求;图4C是管理多节点集群的事务的示例方法的流程图,其包括确定所有者节点并未故障、确定服务节点已经故障以及重新发布零拷贝请求;图4D是管理多节点集群的事务的示例方法的流程图,其包括确定所有者节点已经故障、确定服务节点并未故障、恢复数据以及重新发布零拷贝请求;图5A是包括指令的示例机器可读存储介质的框图,所述指令用于用已请求标签和已服务标签来标记预先分配的存储器块中的重复数据位置并使用已请求标签和已服务标签中的至少一个来经由多节点集群中的事务管理系统来恢复故障节点;以及图5B是用于基于所有者节点和服务节点是相同节点并且已经故障的确定来恢复多节点集群中的故障节点的示例指令的框图。具体实施方式当发生故障或错误时,高可用性集群可以允许更好的速度和可靠性。与其中错误可以导致关机或服务中断直至管理员介入的单节点系统不同,高可用性集群允许不同的节点继续进行可能由于第一节点上的错误而中断的服务。在第一节点故障时,高可用性集群可以依赖能够接管故障节点的操作的冗余节点。在一些示例中,冗余节点可以具有位于第一节点上的任何数据的拷贝。在其它示例中,冗余节点可以影随(shadow)第一节点的操作,或者可以对第一节点进行的操作的处理做出贡献。在一些示例中,为了实现高可用性,集群内的节点可以共享存储器。例如,集群中的所有节点可以共享所有存储器,这允许每个节点访问共享存储器。在另一示例中,一些或所有的节点可以共享一些存储器。在这样的示例中,节点可以参与零拷贝操作。零拷贝操作尝试最小化处理器必须将数据从一个存储器拷贝到另一存储器的次数。例如,非零拷贝读取或写入操作可以涉及若干拷贝操作,包括由中央处理单元(CPU)或处理资源进行的拷贝。在一个示例中,从一个存储器位置读取数据并将其写入另一存储器位置可以涉及由CPU或处理资源进行的至少两次拷贝。例如,可以首先经由例如基于直接存储器访问(DMA)的拷贝操作将数据从硬盘或其它持久性存储区域拷贝到操作系统缓冲器。然后,中央处理单元(CPU)或其它处理资源可以将数据从操作系统缓冲器拷贝到CPU或处理资源高速缓存缓冲器以利用该数据。为了将数据写入另一存储器位置,CPU或处理资源可以将数据从高速缓存缓冲器拷贝到另一操作系统缓冲器。基于DMA的拷贝操作可以最终将数据从操作系统缓冲器拷贝到例如持久性存储中的它的最终位置。在一些示例中,零拷贝操作可以通过使用基于DMA的拷贝、经由存储器管理单元(MMU)的存储器映射、共享存储器和/或其它技术来使CPU或处理资源拷贝最小化。虽然在集群中的节点之间共享的存储器在一些示例中可以促进零拷贝操作,但共享存储器所需的复杂度和连接可能是成本过高的、低效的且计算密集的。在要将附加节点添加到系统时,节点间共享的存储器也可能难以扩缩。此外,跨节点共享存储器可能使可能需要将数据同步配设纳入考虑的容错方法过载或者可能阻碍这样的容错方法,并且可以导致过度繁重的容错方案。本文描述的示例可以经由与零拷贝请求相关联的存储器的标记来改进多节点集群中的容错和事务管理。在一些示例中,可以在节点或节点上的进程之间预先分配存储器。接收请求的所有者节点可以针对所述请求在请求日志中生成标识重复数据位置的请求日志条目,用已请求标签标记重复数据位置,并且发布标识重复数据位置的零拷贝请求。服务节点可以接收零拷贝请求以进行处理,并且可以用已服务标签标记重复数据位置。在这样的示例中,当在节点处发生故障时,恢复引擎可以利用重复数据位置的已请求标签和/或已服务标签来恢复数据并完成事务。在本文描述的一些示例中,用于多节点集群的事务管理系统可以涉及多节点集群的所有者节点的请求引擎。请求引擎可以针对请求在请求日志中生成标识重复数据位置的请求日志条目,用已请求标签标记重复数据位置,并发布标识重复数据位置的零拷贝请求。多节点集群的服务引擎的服务引擎可以基于零拷贝请求在服务日志中生成标识重复数据位置的服务日志条目,处理零拷贝请求,并用已服务标签标记重复数据位置,其中已服务标签替换已请求标签。确定引擎可以确定所有者节点或服务节点是否已经故障,并且基于所有者节点和服务节点中的至少一个已经故障的确定,恢复引擎可以经由重复数据位置的已请求标签和已服务标签中的至少一个来恢复故障节点。在本文描述的示例中,被说成是基于给定条件的确定、动作等可以是单独基于该条件或是基于该条件和(一个或多个)其它条件。在本文描述的一些示例中,管理多节点集群的事务的方法可以涉及在多节点集群的所有者节点的请求引擎处接收包含数据的请求,将数据存储在所有者节点处,将数据复制在重复数据位置处,针对该请求在请求日志中生成标识重复数据位置的请求日志条目,以及向多节点集群的服务节点的服务引擎发布标识重复数据位置的零拷贝请求。基于零拷贝请求,可以在服务日志中生成标识重复数据位置的服务日志条目。方法还可以涉及确定所有者节点和服务节点是否已经故障,并且基于确定了所有者节点和服务节点中的至少一个已经故障,经由重复数据位置的已请求标签和已服务标签中的至少一个来恢复故障节点。在本文描述的一些示例中,用于多节点集群的事务管理系统中的处理资源可以执行机器可读存储介质上的指令以在多节点集群的所有者节点处接收包含数据的请求。处理资源还可以执行指令以针对该请求在请求日志中生成标识预先分配的存储器块中的重复数据位置的请求日志条目,用已请求标签标记重复数据位置,并向多节点集群的服务节点发布标识重复数据位置的零拷贝请求。指令可以基于零拷贝请求在服务日志中生成标识重复数据位置的服务日志条目,处理零拷贝请求,并且用已服务标签来标记重复数据位置,其中已服务标签替换已请求标签。处理资源也可以执行指令以确定所有者节点和服务节点是否已经故障,并且基于所有者节点和服务节点中本文档来自技高网...
用于多节点集群的事务管理

【技术保护点】
一种用于多节点集群的事务管理系统,包括:所述多节点集群的所有者节点的请求引擎,所述请求引擎用于针对请求在请求日志中生成标识重复数据位置的请求日志条目,用于用已请求标签标记所述重复数据位置,并且用于发布标识所述重复数据位置的零拷贝请求;所述多节点集群的服务节点的服务引擎,所述服务引擎用于基于所述零拷贝请求在服务日志中生成标识所述重复数据位置的服务日志条目,用于处理所述零拷贝请求,并且用于用已服务标签标记所述重复数据位置,其中所述已服务标签替换所述已请求标签;确定引擎,所述确定引擎用于确定所述所有者节点是否已经故障,并且用于确定所述服务节点是否已经故障;以及恢复引擎,所述恢复引擎用于基于所述所有者节点和所述服务节点中的至少一个已经故障的确定,经由所述重复数据位置的所述已请求标签和所述已服务标签中的至少一个来恢复故障节点。

【技术特征摘要】
【国外来华专利技术】1.一种用于多节点集群的事务管理系统,包括:所述多节点集群的所有者节点的请求引擎,所述请求引擎用于针对请求在请求日志中生成标识重复数据位置的请求日志条目,用于用已请求标签标记所述重复数据位置,并且用于发布标识所述重复数据位置的零拷贝请求;所述多节点集群的服务节点的服务引擎,所述服务引擎用于基于所述零拷贝请求在服务日志中生成标识所述重复数据位置的服务日志条目,用于处理所述零拷贝请求,并且用于用已服务标签标记所述重复数据位置,其中所述已服务标签替换所述已请求标签;确定引擎,所述确定引擎用于确定所述所有者节点是否已经故障,并且用于确定所述服务节点是否已经故障;以及恢复引擎,所述恢复引擎用于基于所述所有者节点和所述服务节点中的至少一个已经故障的确定,经由所述重复数据位置的所述已请求标签和所述已服务标签中的至少一个来恢复故障节点。2.根据权利要求1所述的事务管理系统,其中,所述重复数据位置与预先分配的存储器块相关联。3.根据权利要求1所述的事务管理系统,其中,所述服务节点和所述所有者节点是同一节点。4.根据权利要求1所述的事务管理系统,其中,所述请求引擎还用于:接收所述请求,其中,所述请求包含数据;将所述数据存储在所述所有者节点处;以及将所述数据复制在所述重复数据位置处。5.根据权利要求3所述的事务管理系统,其中,所述恢复引擎还用于:基于所述所有者节点已经故障的确定以及所述服务节点已经故障的确定:扫描所述请求日志并用所述已请求标签重新标记所述请求日志中标识的每个重复数据位置,扫描所述服务日志并用所述已服务标签重新标记所述服务日志中标识的每个重复数据位置,其中所述已服务标签替换所述已请求标签,确定是否有任何重复数据位置被标记有所述已请求标签,以及基于所述重复数据位置被标记有所述已请求标签的确定,识别所述请求日志中标识所述重复数据位置的请求日志条目、从所述重复数据位置恢复所述数据并重新发布所述零拷贝请求。6.根据权利要求1所述的事务管理系统,其中,所述恢复引擎还用于:基于所述服务节点已经故障的确定以及所述所有者节点没有故障的确定:扫描所述服务日志并用所述已服务标签重新标记所述服务日志中标识的每个重复数据位置,确定是否有任何重复数据位置被标记有所述已请求标签,以及基于所述重复数据位置被标记有所述已请求标签的确定,识别所述请求日志中标识所述重复数据位置的请求日志条目并重新发布所述零拷贝请求。7.根据权利要求1所述的事务管理系统,其中,所述恢复引擎还用于:基于所述所有者节点已经故障的确定以及所述服务节点没有故障的确定:确定是否有所述请求日志中标识的任何重复数据位置被标记有所述已请求标签,以及基于所述重复数据位置被标记有所述已请求标签的确定,识别所述请求日志中标识所述重复数据位置的请求日志条目、从所述重复数据位置恢复所述数据并重新发布所述零拷贝请求。8.一种管理多节点集群的事务的方法,包括:在所述多节点集群的所有者节点的请求引擎处接收包含数据的请求;在所述所有者节点处存储所述数据;将所述数据复制在重复数据位置处;针对所述请求在请求日志中生成标识所述重复数据位置的请求日志条目;向所述多节点集群的服务节点的服务引擎发布标识所述重复数据位置的零拷贝请求;基于所述零拷贝请求,在服务日志中生成标识所述重复数据位置的服务日志条目;确定所述所有者节点是否已经故障;确定所述服务节点是否已经故障;以及基于所述所有者节点和所述服务节点中的至少一个已经故障的确定,经由所述重复数据位置的已请...

【专利技术属性】
技术研发人员:S纳扎里王锦J斯特瓦特RK塔姆马
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1