发明名称 |
强一致性分布式数据存储方法、装置及系统 |
摘要 |
本发明实施例提供一种强一致性分布式数据存储方法、装置及系统,方法包括:缓存服务器接收客户端发送的数据写请求,数据写请求中包括数据键值以及数据操作命令;缓存服务器由zookeeper服务器集群中获取与数据键值对应的自增序列号;缓存服务器计算自增序列号与缓存数据序列号之间的差值,判断差值是否大于预定阈值,如果否,则根据数据操作命令直接对缓存数据进行处理,如果是,则向zookeeper服务器集群获取与数据键值对应的最新有效数据,并将缓存数据更新为最新有效数据,根据数据操作命令对最新有效数据进行处理;以及缓存服务器将处理后的数据写入zookeeper服务器集群。本发明能够在不影响Zookeeper写操作性能的情况下,提供强一致性缓存,保证数据写入的正确性。 |
申请公布号 |
CN104283956B |
申请公布日期 |
2016.01.20 |
申请号 |
CN201410525002.2 |
申请日期 |
2014.09.30 |
申请人 |
腾讯科技(深圳)有限公司 |
发明人 |
张浩;佘晓彬 |
分类号 |
H04L29/08(2006.01)I |
主分类号 |
H04L29/08(2006.01)I |
代理机构 |
上海波拓知识产权代理有限公司 31264 |
代理人 |
吕静 |
主权项 |
一种强一致性分布式数据存储方法,其特征在于,包括:缓存服务器接收客户端发送的数据写请求,所述数据写请求中包括数据键值以及数据操作命令,所述缓存服务器中包括与所述数据键值对应的缓存数据以及对应的缓存数据序列号c_seq;所述缓存服务器由Zookeeper服务器集群中获取与所述数据键值对应的自增序列号new_seq,所述自增序列号new_seq为所述Zookeeper服务器集群针对所述数据写请求为所述数据键值创建的最新序列号;所述缓存服务器计算所述自增序列号new_seq与所述缓存数据序列号c_seq之间的差值new_seq‑c_seq,判断所述差值new_seq‑c_seq是否大于预定阈值,如果否,则根据所述数据操作命令直接对所述缓存数据进行处理,如果是,则向所述Zookeeper服务器集群获取与所述数据键值对应的最新有效数据,并将所述缓存数据更新为所述最新有效数据,根据所述数据操作命令对所述最新有效数据进行处理;以及所述缓存服务器将处理后的数据写入所述Zookeeper服务器集群。 |
地址 |
518000 广东省深圳市福田区振兴路赛格科技园2栋东403室 |