[发明专利]一种服务器集群系统中的缓存方法、写入点客户端和读客户端有效
| 申请号: | 201510317612.8 | 申请日: | 2015-06-10 | 
| 公开(公告)号: | CN104935654B | 公开(公告)日: | 2018-08-21 | 
| 发明(设计)人: | 王道辉;丁萌;周文明 | 申请(专利权)人: | 华为技术有限公司 | 
| 主分类号: | H04L29/08 | 分类号: | H04L29/08 | 
| 代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 | 
| 地址: | 518129 广东*** | 国省代码: | 广东;44 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 服务器 集群 系统 中的 缓存 方法 写入 客户端 | ||
1.一种服务器集群中写缓存一致性的方法,其特征在于,所述服务器集群包括n个服务器,n为≥2的自然数,每个服务器配置有至少一个客户端,每个客户端配置有写缓存,所述写缓存用于缓存写入所述每个客户端的数据,所述方法包括:
写入点客户端接收数据写入消息,所述数据写入消息请求写入待写入数据,根据所述待写入数据的特征值确定用于保存所述待写入数据的主写入客户端和至少一个备写入客户端,所述主写入客户端与每个备写入客户端分别归属于不同的服务器;
分别将所述待写入的数据发送到所述主写入客户端和所述每个备写入客户端各自的写缓存中;
当确定所述待写入数据在所述主写入客户端和所述每个备写入客户端都保存成功时,向所述主写入客户端和所述每个备写入客户端发送第一通知消息,所述第一通知消息用于告知所述主写入客户端及所述每个备写入客户端将各自记录的所述待写入数据的同步状态从未同步改为已同步。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定所述待写入的数据在所述主写入客户端或所述至少一个备写入客户端中发生写入失败时,向所述主写入客户端和所述至少一个备写入客户端中写成功的客户端发送第二通知消息,所述第二通知消息用于告知所述主写入客户端及所述至少一个备写入客户端中的写成功的客户端将自身记录的所述待写入数据的同步状态记为与写失败的客户端未同步。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述待写入数据的特征值确定主写入客户端和至少一个备写入客户端,具体包括:
根据所述待写入数据的特征值,应用一致性哈希算法计算所述特征值对应的哈希值,根据所述哈希值确定所述待写入数据所属的分区partition;
根据数据分布视图确定所述待写入数据所属的分区partition对应的所述主写入客户端和所述至少一个备写入客户端,所述数据分布视图用于指示每个分区partition各自对应的主写入客户端备写入客户端。
4.根据权利要求3所述的方法,其特征在于,所述根据数据分布视图确定所述待写入数据所属的分区partition对应的所述主写入客户端和所述至少一个备写入客户端包括:
根据所述数据分布视图确定所述待写入数据所属的分区partition对应的全部主写入客户端和全部备写入客户端;
判断所述待写入数据所属的分区partition对应的全部主写入客户端和全部备写入客户端中是否存在故障;
将所述待写入数据所属的分区partition对应的不存在故障的主写入客户端和不存在故障的备写入客户端确定为所述主写入客户端和所述至少一个备写入客户端。
5.一种服务器集群中的写入点客户端,其特征在于,所述服务器集群包括n个服务器,n为≥2的自然数,每个服务器配置有至少一个客户端,每个客户端配置有写缓存,所述写缓存用于缓存写入所述每个客户端的数据,所述写入点客户端包括:
接收模块,用于接收数据写入消息,所述数据写入消息请求写入待写入数据;
确定模块,用于根据所述待写入数据的特征值确定用于保存所述待写入数据的主写入客户端和至少一个备写入客户端,所述主写入客户端与每个备写入客户端分别归属于不同的服务器;
发送模块,用于分别将所述待写入的数据发送到所述主写入客户端和所述每个备写入客户端各自的写缓存中;
通知模块,用于当确定所述待写入数据在所述主写入客户端和所述每个备写入客户端都保存成功时,向所述主写入客户端和所述每个备写入客户端发送第一通知消息,所述第一通知消息用于告知所述主写入客户端及所述每个备写入客户端将各自记录的所述待写入数据的同步状态从未同步改为已同步。
6.根据权利要求5所述的写入点客户端,其特征在于,当确定所述待写入的数据在所述主写入客户端或所述至少一个备写入客户端中发生写入失败时,则所述通知模块还用于发送第二通知消息,所述第二通知消息用于告知所述主写入客户端及所述至少一个备写入客户端中写成功的客户端将自身记录的所述待写入数据的同步状态记为与写失败的客户端未同步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510317612.8/1.html,转载请声明来源钻瓜专利网。





