[发明专利]二级缓存的一致性处理方法及分布式服务系统有效
申请号: | 202211091274.7 | 申请日: | 2022-09-07 |
公开(公告)号: | CN115878639B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | 缪桓举 | 申请(专利权)人: | 贝壳找房(北京)科技有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F9/54;G06F16/2455;G06F16/27 |
代理公司: | 北京庚致知识产权代理事务所(特殊普通合伙) 11807 | 代理人: | 韩德凯 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二级缓存 一致性 处理 方法 分布式 服务 系统 | ||
本公开提供了一种二级缓存的一致性处理方法,包括:当前服务节点基于数据更新请求对目标数据库进行更新;当前服务节点由目标数据库获取更新数据以更新本地缓存及远程缓存,并将包括更新缓存的消息写入消息队列;以及当前服务节点之外的至少一个其他服务节点基于消息队列中的包括更新缓存的消息,对本地缓存进行更新,以使得本地缓存与远程缓存保持一致性。本公开还提供了一种分布式服务系统。
技术领域
本公开涉及数据处理技术领域,本公开尤其涉及一种二级缓存的一致性处理方法及分布式服务系统。
背景技术
企业中,服务面临高并发问题时,往往采用二级缓存设计,使用“远程缓存+本地缓存”的方式来提高并发能力,但数据的多处存储会带来数据一致性问题。
相关技术中,当一个服务节点更新远程缓存及该节点的本地缓存后,其余服务节点对远程缓存变更无感知,依旧读取未更改的本地缓存,导致了数据的一致性问题。当远程缓存更新,本地缓存没有更新时,本地缓存的数据滞后更新也导致了数据的一致性问题。
发明内容
本公开提供了一种二级缓存的一致性处理方法及分布式服务系统。
根据本公开的一个方面,提供一种二级缓存的一致性处理方法,包括:
当前服务节点基于数据更新请求对目标数据库进行更新;
当前服务节点由所述目标数据库获取更新数据以更新本地缓存及远程缓存,并将包括更新缓存的消息写入消息队列;
当前服务节点之外的至少一个其他服务节点基于所述消息队列中的包括更新缓存的消息(Message),对本地缓存进行更新,以使得本地缓存与远程缓存保持一致性。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,当前服务节点基于数据更新请求对目标数据库进行更新,包括:
当前服务节点接收数据更新请求;
当前服务节点获取分布式锁;
当前服务节点基于所述分布式锁及所述数据更新请求对目标数据库执行数据更新操作。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,当前服务节点由所述目标数据库获取更新数据以更新远程缓存,包括:
当前服务节点基于所述分布式锁及所述更新数据对所述远程缓存进行更新。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,所述当前服务节点基于获取的所述更新数据同步地对当前服务节点的本地缓存及远程缓存进行更新。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,所述当前服务节点将包括更新缓存的消息即时地写入所述消息队列。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,包括更新缓存的所述消息还包括所述当前服务节点的特征标识,以使得当前服务节点在读取所述消息队列中的数据时,不读取当前服务节点已写入的消息。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,所述特征标识为当前服务节点的IP。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,当前服务节点及当前服务节点之外的各个其他服务节点在读取消息队列中的数据时,串行地进行读取。
根据本公开的至少一个实施方式的二级缓存的一致性处理方法,所述当前服务节点持获取的所述分布式锁将包括更新缓存的消息写入所述消息队列。
根据本公开的另一个方面,提供一种二级缓存的一致性处理方法,包括:
分布式服务系统中的两个以上的服务节点接收到数据更新请求以对目标数据库进行更新;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳找房(北京)科技有限公司,未经贝壳找房(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211091274.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能LED照明灯
- 下一篇:一种肉牛养殖用牛背驱虫装置