一种分布式缓存系统的数据管理方法和装置制造方法及图纸

技术编号:20176730 阅读:42 留言:0更新日期:2019-01-23 00:23
本说明书实施例提供一种分布式缓存系统的数据管理方法和装置,其中,方法可以包括:接收数据存储请求,所述数据存储请求中包括:待存储的数据对象和对应所述数据对象的多个索引key;在本地存储所述基础key与数据对象的缓存项;分别获取每一个所述扩展key对应的目标缓存服务器;构造预定对象格式的扩展数据对象,所述扩展数据对象包括:属性key,所述属性key的取值是所述基础key;向所述扩展key对应的所述目标缓存服务器发送数据存储请求,以使得目标缓存服务器存储所述扩展key和扩展数据对象的对应关系。

A Data Management Method and Device for Distributed Cache System

The embodiment of this specification provides a data management method and device for a distributed caching system, in which the method may include: receiving a data storage request, which includes: a data object to be stored and a plurality of index keys corresponding to the data object; storing the cached items of the basic key and the data object locally; and acquiring each of the extended keys separately. A corresponding target cache server; constructs an extended data object in a predetermined object format, which includes an attribute key whose value is the basic key; sends a data storage request to the target cache server corresponding to the extended key so that the target cache server stores the corresponding relationship between the extended key and the extended data object.

【技术实现步骤摘要】
一种分布式缓存系统的数据管理方法和装置
本公开涉及网络
,特别涉及一种分布式缓存系统的数据管理方法和装置。
技术介绍
市场上的分布式缓存系统,比如memcached、tair、redis等,都是单key-单value对的缓存系统,即在缓存时是一个key对应一个value进行存储。但是,业务场景中经常遇到的情况包括,对同一个value对象使用多个key查询,类似于数据库的记录既可以通过主键查询,也可以通过唯一索引查询。对于这种多key对应同一个value的情况,一般做法可以是创建value的多份副本,并通过不同的key进行缓存和查询,但是这样带来的问题是,对value的多份副本的管理成本较高,比如,要保证多份副本之间的数据一致性比较麻烦,例如,外部需要保存对应同一value的两个key即key1和key2的对应关系,当其中一个key对应的value修改时,还需要同步修改另一个key对应的value值。
技术实现思路
有鉴于此,本说明书一个或多个实施例提供一种分布式缓存系统的数据管理方法和装置,以降低多key单value时的管理成本。具体地,本说明书一个或多个实施例是通过如下技术方案实本文档来自技高网...

【技术保护点】
1.一种分布式缓存系统的数据管理方法,所述分布式缓存系统包括至少一个缓存服务器;所述数据管理方法由任一缓存服务器执行;所述方法包括:所述缓存服务器接收数据存储请求,所述数据存储请求中包括:待存储的数据对象和对应所述数据对象的多个索引key;所述多个key包括:基础key和至少一个扩展key,所述基础key是所述缓存服务器负责管理的key,所述扩展key是其他缓存服务器负责管理的key;在本地存储所述基础key与数据对象的缓存项;分别获取每一个所述扩展key对应的目标缓存服务器;构造预定对象格式的扩展数据对象,所述扩展数据对象包括:属性key,所述属性key的取值是所述基础key;向所述扩展ke...

【技术特征摘要】
1.一种分布式缓存系统的数据管理方法,所述分布式缓存系统包括至少一个缓存服务器;所述数据管理方法由任一缓存服务器执行;所述方法包括:所述缓存服务器接收数据存储请求,所述数据存储请求中包括:待存储的数据对象和对应所述数据对象的多个索引key;所述多个key包括:基础key和至少一个扩展key,所述基础key是所述缓存服务器负责管理的key,所述扩展key是其他缓存服务器负责管理的key;在本地存储所述基础key与数据对象的缓存项;分别获取每一个所述扩展key对应的目标缓存服务器;构造预定对象格式的扩展数据对象,所述扩展数据对象包括:属性key,所述属性key的取值是所述基础key;向所述扩展key对应的所述目标缓存服务器发送数据存储请求,所述数据存储请求包括:所述扩展key和所述扩展数据对象,以使得目标缓存服务器存储所述扩展key和扩展数据对象的对应关系。2.根据权利要求1所述的方法,所述方法还包括:对于当前待操作的目标key,判断所述目标key对应的数据对象是否是所述预定对象格式的扩展数据对象;若是扩展数据对象,获取所述扩展数据对象中作为属性key的基础key;确定所述基础key对应的缓存服务器,所述缓存服务器存储所述基础key与对应的数据对象;根据当前待执行的操作,请求所述基础key对应的缓存服务器执行对基础key和对应数据对象的数据操作。3.根据权利要求2所述的方法,所述确定基础key对应的缓存服务器包括:计算所述基础key的哈希值;查询路由表,获得对应所述哈希值的缓存服务器,确定为所述基础key对应的缓存服务器。4.根据权利要求2所述的方法,所述当前待执行的操作,包括:获取目标key对应的数据对象;在判断所述目标key对应的数据对象是否是所述预定对象格式的扩展数据对象之前,所述方法还包括:接收客户端发送的数据获取请求,所述数据获取请求中包括:待获取的数据对象对应的所述目标key;所述请求所述缓存服务器执行对基础key和对应数据对象的数据操作,包括:向所述缓存服务器请求获取所述基础key对应的数据对象,并在获取到所述数据对象后,将所述数据对象返回给客户端。5.根据权利要求4所述的方法,所述向所述缓存服务器请求获取所述基础key对应的数据对象,包括:接收所述基础key对应的缓存服务器返回的结果,所述结果是数据对象为空,所述为空表示所述基础key对应的缓存项在缓存服务器侧已经过期;清理本地存储的目标key对应的缓存项,所述缓存项包括目标key和对应的扩展数据对象。6.根据权利要求2所述的方法,所述当前待执行的操作,包括:对目标key所在的缓存项进行生命周期管理;所述判断所述目标key对应的数据对象是否是所述预定对象格式的扩展数据对象之前,所述方法还包括:确定所述目标key的缓存项已经过期;所述请求所述缓存服务器执行对基础key和对应数据对象的数据操作,包括:向所述缓存服务器请求获取基础key对应的数据对象的剩余生存时间;若剩余生存时间为零,清理所述目标key和对应的扩展数据对象;否则,根据缓存服务器返回的剩余生存时间设置目标key的剩余生存时间。7.一种分布式缓存系统的数据管理装置,所述装置应用于分布式缓存系统中的任一缓存服...

【专利技术属性】
技术研发人员:周红兵
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1