[发明专利]分布式缓存方法及系统有效
申请号: | 201210508695.5 | 申请日: | 2012-12-03 |
公开(公告)号: | CN103019960A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 姚成松 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F17/30 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 王君;肖鹂 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 缓存 方法 系统 | ||
技术领域
本发明实施例涉及通信技术领域,并且更具体地,涉及分布式缓存方法及系统。
背景技术
现代应用系统处理的数据迅速增长,大量集中式数据处理向分布式处理方式演进。在分布式系统中,将数据分散保存到多个节点上,通过节点的增加来扩展存储和计算能力。但是,数据的多节点存储,需要解决各个节点上数据的一致性问题,一致性问题就是要解决多个副本之间的同步。例如,对多个副本节点均需要进行读写操作的系统,则需要分布式锁或全局锁来实现数据更新一致性,大大影响系统实时性与性能,并增加了系统复杂度。
在分布式存储模式中,设立了多个缓存节点,在每个缓存节点上保存着若干个数据单元(定义为元数据),元数据是很小的数据集合,作为分布式缓存的基础,是不能分割的整体,如一个订单信息或一个用户信息等。元数据关联着键(Key)值,客户可以根据键值访问到该元数据信息。在一个元数据具有多个键值的情况下,分布式系统按照不同的键值,在对应的散列的缓存节点上建立相同的副本。因此,在多个缓存节点上冗余存储。当在不同的键值上建立运算进行写操作时,需要维护多个缓存节点保存的元数据信息的一致性,虽然可以采用现有技术的全局锁来实现,但是增加了系统复杂度和处理时延。
发明内容
本发明实施例提供一种分布式缓存方法及系统,能够避免元数据的冗余存储,并保证数据访问的一致性。
第一方面,提供了一种分布式缓存方法,该方法包括:根据元数据的主键值确定第一缓存节点,并根据所述元数据的次键值确定第二缓存节点;在所述第一缓存节点中存储中心存储节点下发的所述元数据,在所述第二缓存节点中存储所述元数据的位置索引,所述元数据的位置索引用于指示所述第一缓存节点的地址。
结合第一方面,在第一种实现方式中,具体实现可以为:接收业务处理节点发送的所述元数据的第一查询请求,所述第一查询请求携带查询键值;根据所述查询键值查找所述元数据。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述查询键值查找所述元数据,具体实现可以为:根据所述查询键值确定目标缓存节点;如果所述目标缓存节点为所述第一缓存节点,在所述目标缓存节点中查找到所述元数据,则将所述元数据发送给所述业务处理节点;如果在所述目标缓存节点中查找到目标位置索引,则向所述业务处理节点发送重定向消息,所述重定向消息携带所述目标位置索引,以便所述业务处理节点根据所述重定向消息判断重定向次数;如果在所述目标缓存节点中未查找到所述元数据和任一元数据的位置索引,则向所述中心存储节点发送所述元数据的第一查询请求。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,当所述业务处理节点判断重定向次数小于重定向查询阈值时,具体实现可以为:接收所述业务处理节点根据所述重定向消息发送的所述元数据的第二查询请求;根据所述第二查询请求在与所述目标位置索引对应的缓存节点中查找所述元数据。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述根据所述第二查询请求在与所述目标位置索引对应的缓存节点中查找所述元数据,具体实现可以为:所述目标位置索引为所述元数据的位置索引,将在所述第一缓存节点中查找到的所述元数据发送给所述业务处理节点。
结合第一方面或第一方面的第一种可能的实现方式至第四种可能的实现方式的任一种方式,在第五种可能的实现方式中,具体实现可以为:当所述元数据的存储地址改变时,对所述第二缓存节点中存储的所述元数据的位置索引进行维护,所述元数据的位置索引用于指示改变后的所述元数据的存储地址。
结合第一方面或第一方面的第一种可能的实现方式至第五种可能的实现方式的任一种方式,在第六种可能的实现方式中,所述根据元数据的主键值确定第一缓存节点,并根据所述元数据的次键值确定第二缓存节点,具体实现可以为:根据所述元数据的主键值进行Hash散列得到第一Hash值,并根据所述元数据的次键值进行Hash散列得到第二Hash值,所述第一Hash值与所述第一缓存节点相对应,所述第二Hash值与所述第二缓存节点相对应。
第二方面,提供了分布式缓存系统,该系统包括:确定单元,用于根据元数据的主键值确定第一缓存节点,并根据所述元数据的次键值确定第二缓存节点;所述确定单元确定的所述第一缓存节点,用于存储中心存储节点下发的所述元数据;所述确定单元确定的所述第二缓存节点,用于存储所述元数据的位置索引,所述元数据的位置索引用于指示所述第一缓存节点的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210508695.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种粉料输送装置
- 下一篇:表面熔覆蜂窝陶瓷夹层的铝合金复合板的制备方法