1 .一种数据库分片复制过程中聚合分裂的处理方法,其特征在于,该方法的实现包括
增加注册缓存preSpan,KV缓存rangeKVbuf,副本复制状态机splitMergeState,在复制断开
和重新注册这段时间缓存主库发送的KV,在复制注册成功后,补足发送缓存的KV;
所述注册缓存preSpan,在分片聚合时,将Left和Right副本的注册Span合并后赋值给
Left副本的注册缓存preSpan;在分片分裂时,将Left副本的注册Span按照Left和Right的
范围分割,分别赋值给Left和Right副本的注册缓存preSpan;
所述KV缓存rangeKVbuf,在主库数据KV发送过程中,如果复制状态处于复制断开和重
新注册成功之间,则将KV缓存到rangeKVbuf中,当复制重新注册成功后,将KV缓存的数据
rangeKVbuf补足发给备库。
2 .根据权利要求1所述的一种数据库分片复制过程中聚合分裂的处理方法,其特征在
于,所述副本复制状态机splitMergeState,
复制断开时,主库发送的KV被缓存;
复制重新注册成功时,主库发送缓存的KV;
复制正常时,主库发送的KV被实时发送给备库。
3 .根据权利要求2所述的一种数据库分片复制过程中聚合分裂的处理方法,其特征在
于,所述副本复制状态机splitMergeState,
复制断开时,复制状态机为1,即复制断开状态;
复制重新注册成功时,复制状态机为2,即复制重新注册状态;
复制正常时,即复制状态机为0,即复制正常状态。
4 .根据权利要求1或2或3所述的一种数据库分片复制过程中聚合分裂的处理方法,其
特征在于,主数据库KV发送过程具体如下:
主库数据KV发送过程中,判断复制状态机为正常复制状态,则正常将KV向备库发送;
主库数据KV发送过程中,如果复制状态机为复制断开状态,或复制重新注册成功状态,
则将KV缓存到rangeKvBuffer中;
主库数据KV发送过程中,独立线程携带超时机制检测状态机为复制重新注册成功状
态,则将缓存rangeKvBuffer的KV向备库发送,并将副本状态机设置为复制正常状态。
5 .根据权利要求1或2或3所述的一种数据库分片复制过程中聚合分裂的处理方法,其
特征在于,分片聚合或分裂过程具体如下:
分片聚合或分裂处理过程中,如果是分片聚合,对Left副本,获取Left副本和Right副
本的注册Span,做区间合并,将总的注册Span赋值给Left的注册缓存preSpan;并设置Left
副本状态机为复制断开状态;
分片聚合或分离处理过程中,如果是分片聚合,对Right副本,设置副本状态机为复制
断开状态;
分片聚合或分裂处理过程中,如果是分片分裂,对Left副本,获取原注册Span,按照
Left副本和Right副本的范围分割Span,将属于Left副本的Span的赋值给Left副本的注册
缓存preSpan;并设置副本状态机为复制断开状态;
分片聚合或分裂处理过程中,如果是分片分裂,对Right副本,将属于Right副本的Span
赋值给Right副本的注册缓存preSpan;并设置Right副本状态机为复制断开状态。
6 .根据权利要求1或2或3所述的一种数据库分片复制过程中聚合分裂的处理方法,其
权 利 要 求 书
1/2 页
2
相关文档
评论