一种分布式缓存的实现方法及装置制造方法及图纸

技术编号:6994296 阅读:178 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供了一种分布式缓存的实现方法及装置。所述方法包括:首先配置缓存数据和多个缓存服务节点之间的存储对应关系;然后通过代理服务模块接收业务应用的数据操作请求,并根据所配置的存储对应关系,将所述数据操作请求分配到相应的缓存服务节点上进行数据操作。通过上述技术方案,就可以实现数据的分布式缓存,并在增加Cache服务节点时,能够实现数据的动态迁移,使数据可以重新分布,而不影响业务的正常使用。

【技术实现步骤摘要】

本专利技术涉及数据存储领域,尤其涉及一种分布式缓存的实现方法及装置
技术介绍
目前,在现有数据缓存的方案中,比较典型的是记忆缓存memcached方案,如图1 所示为现有技术中缓存方案的系统架构示意图,图1中包括客户端程序库、采用分布式算 法设置的多个memcached。从上述现有技术的系统结构图中可知,其分布式架构主要布置在客户端,当增加 一个新节点时,会造成缓存数据分布的重新计算;同时,由于缓存(Cache)服务节点都是单 点设置的,当某个Cache服务节点崩溃时,就需要较长的时间才能恢复,影响了业务的正常 运行。
技术实现思路
本专利技术实施例提供了一种分布式缓存的实现方法及装置,能够实现数据的分布式 缓存,并在增加Cache服务节点时,能够实现数据的动态迁移,使数据可以重新分布,而不 影响业务的正常使用。本专利技术实施例提供了一种分布式缓存的实现方法,所述方法包括配置缓存数据和多个缓存服务节点之间的存储对应关系,并在某个缓存服务节点 向另一缓存服务节点迁移数据后,更改缓存数据和所述某个缓存服务节点以及所述另一缓 存服务节点之间的存储对应关系;通过代理服务模块接收业务应用的数据操作请求,并根据所配置的存储对应关 系,将所述数据操作请求分配到相应的缓存服务节点上进行数据操作。所述方法还包括为所述多个缓存服务节点设置一一对应的备用缓存服务节点,并将所述多个缓存 服务节点内的缓存数据同步到与之对应的备用缓存服务节点;当某个缓存服务节点发生故障时,将所述数据操作请求切换到与该缓存服务节点 对应的备用缓存服务节点上进行相应的数据操作。所述在相应的缓存服务节点上进行数据操作时,所述方法还包括将所述相应缓存服务节点内存储的未回写数据,通过数据存储服务模块回写到存 储介质中。所述代理服务模块包括一个或多个,接收并处理一个或多个业务应用的数据操作 请求。在所述某个缓存服务节点向另一缓存服务节点迁移数据时,所述方法还包括若所迁移的数据为未回写数据,则由所述某个缓存服务节点通过数据存储服务模 块将该迁移的数据回写到存储介质中;若有针对该迁移数据的数据操作请求,则由所述某个缓存服务节点来执行相应的数据操作,并在完成相应的数据操作之后,继续向所述另一缓存服务节点迁移数据。所述数据操作请求包括数据查询或设置请求。所述配置缓存数据和多个缓存服务节点之间的存储对应关系,具体包括在路由器中配置缓存数据和多个缓存服务节点之间的存储对应关系。本专利技术实施例还提供了一种分布式缓存的实现装置,所述装置包括存储对应关系配置单元,用于配置缓存数据和多个缓存服务节点之间的存储对应 关系,并在某个缓存服务节点向另一缓存服务节点迁移数据后,负责更改缓存数据和所述 某个缓存服务节点以及所述另一缓存服务节点之间的存储对应关系;代理服务模块,用于接收业务应用的数据操作请求,并根据所述存储对应关系配 置单元所配置的存储对应关系,将所述数据操作请求分配到相应的缓存服务节点上进行数 据操作。所述装置还包括备用节点设置单元,用于为所述多个缓存服务节点设置一一对应的备用缓存服务 节点,并将所述多个缓存服务节点内的缓存数据同步到与之对应的备用缓存服务节点;备用节点切换单元,用于当某个缓存服务节点发生故障时,将数据操作请求切换 到与该缓存服务节点对应的备用缓存服务节点上进行相应的数据操作。本专利技术实施例还提供了一种分布式缓存的实现系统,所述系统包括代理服务模 块、存储对应关系配置单元、多个缓存服务节点、数据存储服务模块和存储介质,其中所述存储对应关系配置单元,用于配置缓存数据和所述多个缓存服务节点之间的 存储对应关系,并在某个缓存服务节点向另一缓存服务节点迁移数据后,负责更改缓存数 据和所述某个缓存服务节点以及所述另一缓存服务节点之间的存储对应关系;所述代理服务模块,用于接收业务应用的数据操作请求,并根据所述存储对应关 系配置单元所配置的存储对应关系,将所述数据操作请求分配到相应的缓存服务节点上进 行数据操作;所述多个缓存服务节点,用于将数据从所述存储介质中查询得到,或保存数据到 所述存储介质中;所述数据存储服务模块,用于将所述相应缓存服务节点内存储的未回写数据回写 到所述存储介质中; 所述存储介质,用于存储数据。所述系统还包括多个备用缓存服务节点,与所述多个缓存服务节点一一对应,且所述多个缓存服 务节点内的缓存数据被同步到与之对应的备用缓存服务节点内;其中,当某个缓存服务节点发生故障时,数据操作请求被切换到与该缓存服务节 点对应的备用缓存服务节点上进行相应的数据操作。由上述所提供的技术方案可以看出,首先配置缓存数据和多个缓存服务节点之间 的存储对应关系;然后通过代理服务模块接收业务应用的数据操作请求,并根据所配置的 存储对应关系,将所述数据操作请求分配到相应的缓存服务节点上进行数据操作。通过上 述技术方案,就可以实现数据的分布式缓存,并在增加Cache服务节点时,能够实现数据的 动态迁移,使数据可以重新分布,而不影响业务的正常使用。附图说明图1为现有技术中缓存方案的系统架构示意图;图2为本专利技术实施例1所提供分布式缓存实现方法的流程示意图;图3为按照本专利技术实施例1所述方法进行实施的具体实例的系统结构示意图;图4为按照本专利技术实施例1所述方法进行实施的具体实例的迁移过程时序图;图5为本专利技术实施例1所举具体实例数据设置操作的信令交互示意图;图6为本专利技术实施例1所举具体实例数据查询操作的信令交互示意图;图7为本专利技术实施例2所提供分布式缓存实现装置的结构示意图。具体实施例方式本专利技术实施例提供了一种分布式缓存的实现方法及装置,能够实现数据的分布式 缓存,并在增加Cache服务节点时,能够实现数据的动态迁移,使数据可以重新分布,而不 影响业务的正常使用。为更好的描述本专利技术实施例,现结合附图对本专利技术的具体实施例进行说明,如图2 所示本专利技术实施例1所提供分布式缓存实现方法的流程示意图,所述方法包括步骤21 配置缓存数据和多个缓存服务节点之间的存储对应关系。在该步骤中,首先需要配置缓存数据和多个缓存服务节点之间的存储对应关系, 并且在某个缓存服务节点向另一缓存服务节点迁移数据之后,更改缓存数据和该某个缓存 服务节点以及另一缓存服务节点之间的存储对应关系。在具体实现过程中,可以在路由器中配置缓存数据和多个缓存服务节点之间的存 储对应关系,举例来说,具体配置策略的方式可以是先对缓存数据的key进行一致性的哈 希hash运算,得到一个32位的无符号整数,其值均勻的分布在0 4294967295范围内,然 后对key的hash值进行分页管理,例如可以设置1万为一页,再配置页数与各缓存服务节 点之间的对应关系。除以上所述的方式外,本领域技术人员根据实际需求想到的其他配置 方式也是可以满足要求的。另外,在本实施例1中,当某个缓存服务节点向另一缓存服务节点迁移数据时,若 所迁移的数据为未回写数据(即已经写入到缓存服务节点,但还没有更新到存储介质上的 数据),则可以由该某个缓存服务节点通过数据存储服务模块将该未回写的迁移数据回写 到存储介质中,这里的存储介质可以包括数据库或文件等。另外,当某个缓存服务节点向另一缓存服务节点迁移数据时,若有针对该迁移数 据的数据操作请求,则可以由所述某个缓存服务节点来执本文档来自技高网...

【技术保护点】
1.一种分布式缓存的实现方法,其特征在于,所述方法包括:配置缓存数据和多个缓存服务节点之间的存储对应关系,并在某个缓存服务节点向另一缓存服务节点迁移数据后,更改缓存数据和所述某个缓存服务节点以及所述另一缓存服务节点之间的存储对应关系;通过代理服务模块接收业务应用的数据操作请求,并根据所配置的存储对应关系,将所述数据操作请求分配到相应的缓存服务节点上进行数据操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:钟科赵政黄桂山阮曙东张凯陈生张维全
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94

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

1