主权项 |
一种用于在基于基本构造的分布式计算体系结构(200)内的副本集合处执行有状态本地计算的方法,所述副本集合包括一个或多个处理器和系统存储器,所述副本集合包括主要计算节点(201A)和一个或多个次要计算节点(201B,201C),所述主要计算节点(201A)和所述一个或多个次要计算节点(201B,201C)具有相同的当前计算状态(204),所述主要计算节点(201A)和所述一个或多个次要计算节点(201B,201C)中的每一个被配置成具有用于执行所述有状态本地计算(212)的相同的可执行操作组(203),所述操作组(203)包括至少一个与输入或输出队列有关的操作和至少一个修改所述计算状态的操作,所述方法包括:所述主要计算节点(201A)通过如下动作执行所述本地有状态计算(212)的动作:为所述本地计算创建事务的动作;逻辑上执行所述操作组(203)中的一个或多个附加操作的动作,包括:处理所述当前计算状态(204)的动作,处理所述当前计算状态(204)包括以下动作中的一个或多个:逻辑上产生附加计算状态(214)和逻辑上修改现存计算状态(204);逻辑上执行所述至少一个与输入或输出队列有关的操作的动作;以及依照事务提交操作和事务中止操作之一终止所述事务的动作;将所述主要计算节点对所述本地计算(212)的执行复制至系统存储器(214)中以复制至所述一个或多个次要计算节点(201B,201C)的动作,包括对为所述本地计算创建事务、逻辑上执行所述操作组(203)中的所述一个或多个附加操作、以及终止所述事务进行复制,对终止所述事务的复制以信号通知所述一个或多个次要计算节点(201B,201C)依照所述事务提交操作或所述事务中止操作而应用改变;响应于终止所述事务,所述主要计算节点(201)依照所述事务提交操作或所述事务中止操作而应用改变的动作,包括:当所述事务提交操作终止所述事务时,应用物理改变以实现所述操作组(203)中的每个操作的逻辑应用的动作,包括:将所述当前计算状态(204)与任何附加计算状态(214)和任何经修改的现存计算状态协调成为新的提交的计算状态的动作;以及更改至少一个队列(208)的状态以物理实现所述至少一个与输入或输出队列有关的操作的动作;以及当所述事务中止操作终止所述事务时,逻辑上翻转所述至少一个与输入或输出队列有关的操作的动作。 |