1 .一种用于基于外部观察者组进行分布式数据库集群的节点同步的方法,包括:
当分布式数据库集群出故障时,所述外部观察者组对整个所述分布式数据库集群进行
统一的存活判决;
基于所述外部观察者组,对所述分布式数据库集群中的存活节点进行投票,选举出主
节点,其余的存活节点为备节点;
将所述主节点的数据复制到所述备节点,进行同步。
2.根据权利要求1所述的方法,其中,所述存活判决包括:判断所述分布式数据库集群
中的机房或节点是否可用。
3 .根据权利要求1所述的方法,其中,所述主节点到所述备节点的数据同步是基于半同
步复制协议来实现的。
4 .根据权利要求1所述的方法,其中,所述主节点到所述备节点的数据同步是基于附加
条目(AppendEntries)远程过程调用(RPC)来实现的。
5 .根据权利要求4所述的方法,还包括:所述主节点等待所述主节点和所述备节点对
AppendEntries RPC请求做出响应后完成提交。
6 .根据权利要求4所述的方法,还包括:优化所述AppendEntries RPC的两阶段过程为
一阶段过程。
7 .根据权利要求6所述的方法,其中,所述优化包括:省略AppendEntries RPC的两个阶
段中的第二阶段,直接在第一阶段完成时在所述备节点进行本地提交。
8.根据权利要求1到7中任一项所述的方法,包括:如果所述主节点没有达成所述主节
点所述备节点的一致变更,则将通过数据闪回操作回退。
9.一种用于基于外部观察者组进行分布式数据库集群节点同步的装置,包括:
用于当分布式数据库集群出故障时,所述外部观察者组对整个所述分布式数据库集群
进行统一的存活判决的单元;
用于基于所述外部观察者组,对所述分布式数据库集群中的存活节点进行投票,选举
出主节点,其余的存活节点为备节点的单元;
用于将所述主节点的数据复制到所述备节点,进行同步的单元。
10 .根据权利要求9所述的装置,其中,所述存活判决包括:判断所述分布式数据库集群
中的机房或节点是否可用。
11 .根据权利要求9所述的装置,其中,所述主节点到所述备节点的数据同步是基于半
同步复制协议来实现的。
12 .根据权利要求1所述的装置,其中,所述主节点到所述备节点的数据同步是基于附
加条目(AppendEntries)远程过程调用(RPC)来实现的。
13 .根据权利要求12所述的装置,还包括:所述主节点等待所述主节点和所述备节点对
AppendEntries RPC请求做出响应后完成提交。
14 .根据权利要求12所述的装置,还包括:用于优化所述AppendEntries RPC的两阶段
过程为一阶段过程的单元。
15 .根 据 权 利 要 求 1 4 所 述 的 装 置 ,其 中 ,用 于 优 化 的 所 述 单 元 包 括 :用 于 省 略
AppendEntries RPC的两个阶段中的第二阶段,直接在第一阶段完成时在所述备节点进行
本地提交的单元。
权 利 要 求 书
1/2 页
2
评论