memcached系统及内存缓存数据提供、维护和集群维护方法及装置的制造方法

文档序号:8248217阅读:342来源:国知局
memcached系统及内存缓存数据提供、维护和集群维护方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据缓存技术领域,特别是涉及一种memcached系统及内存缓存数据提供、维护和集群维护方法及装置。
【背景技术】
[0002]Memcached是一种分布式内存对象缓存系统,用于动态网页(Web)应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站的访问速度。
[0003]现有技术中的Memcached系统,包括多个Memcached服务器。当接收到客户端发送的缓存数据访问请求时,通过相应的映射关系,便可以找到分布式内存对象缓存系统中相应的Memcached服务器,来响应客户端的缓存数据访问请求。但是,当相应节点的Memcached服务器宕机时,其中存储的缓存数据将会丢失。而数据缓存恢复时间较为漫长,对于一些页面浏览量较高的网站来说,一旦相应的Memcached服务器宕机,将会导致网站负载瞬间增加。因此,现有技术中的分布式内存对象缓存系统存在着可靠性差的问题。

【发明内容】

[0004]本发明实施例解决的问题是如何提高memcached系统的可靠性。
[0005]为解决上述问题,本发明实施例提供了一种内存缓存数据提供方法,所述方法包括:
[0006]接收客户端的缓存数据访问请求;
[0007]根据所接收的客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群的信息;
[0008]获取所述memcached集群中主memcached服务器和从memcached服务器的状态信息,所述主memcached服务器和从memcached服务器为主从复制关系;
[0009]根据所获取的主memcached服务器和从memcached服务器的状态信息,将所接收的客户端的缓存数据访问请求发送至所述主memcached服务器或者所述从memcached服务器。
[0010]可选地,所述根据所接收的客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群的信息,包括:
[0011]获取所述访问请求中所述缓存数据的URL ;
[0012]计算得出所述URL的哈希值;
[0013]获取与所述哈希值相对应的memcached集群的信息。
[0014]可选地,所述根据所接收的客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群,包括:采用分片服务器根据所接收客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群,所述分片服务器中包括memcached集群与缓存数据之间的映射关系。
[0015]可选地,所述分片服务器包括主分片服务器和从分片服务器,主分片服务器和从分片服务器为主从复制关系。
[0016]可选地,所述采用分片服务器根据所接收的客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群,包括:
[0017]可选地,当所述主分片服务器处于正常运行状态时,采用所述主分片服务器根据所接收客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群;
[0018]当所述主分片服务器处于故障状态时,采用所述从分片服务器根据所接收客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群。
[0019]可选地,所述根据所获取的主memcached服务器和从memcached服务器的状态信息,将所接收的客户端的缓存数据访问请求发送至所述主memcached服务器或者所述从memcached服务器,包括:
[0020]当获取到所述主memcached服务器处于正常运行状态时,将所接收的客户端的缓存数据访问请求发送至所述主memcached服务器;
[0021]当获取到所述主memcached服务器处于故障状态时,将所接收的客户端的缓存数据访问请求发送至所述从memcached服务器。
[0022]本发明实施例还提供了一种memcached集群维护方法,所述方法包括:
[0023]米集所述memcached集群中主memcached服务器和从memcached服务器的状态信息;
[0024]当确定主memcached服务器处于故障状态时,将所述主memcached服务器从所述memcached集群中删除,并在接收客户端的缓存数据访问请求时,采用从memcached服务器响应所述客户端的缓存数据访问请求。
[0025]可选地,所述方法还包括:
[0026]当检测到发生故障的主memcached服务器重新恢复至正常运行状态时,将所述主memcached服务器作为从memcached服务器,添加至所述memcached集群中。
[0027]本发明实施例还提供了一种内存缓存数据维护方法,所述方法包括:
[0028]判断memcached系统中各个memcached集群与缓存数据之间的映射关系是否发生变化;
[0029]当确定memcached集群与缓存数据之间的映射关系发生变化时,对映射关系变化之前各个memcached集群缓存数据进行迀移。
[0030]可选地,所述当确定memcached集群与缓存数据之间的映射关系发生变化时,对映射关系变化之前各个memcached集群缓存数据进行迀移,包括:
[0031]获取映射关系变化之前memcached集群与缓存数据之间的映射关系,以及映射关系变化之后memcached集群与缓存数据之间的映射关系;
[0032]将映射关系变化之前各个memcached集群中存储的缓存数据迀移至映射关系变化之后对应的memcached集群中。
[0033]本发明实施例还提供了一种内存缓存数据提供装置,所述装置包括:
[0034]接收单元,适于接收客户端的缓存数据访问请求;
[0035]第一获取单元,适于根据所接收的客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群的信息;
[0036]第二获取单元,适于获取所述memcached集群中主memcached服务器和从memcached服务器的状态信息,所述主memcached服务器和从memcached服务器为主从复制关系;
[0037]发送单元,适于根据所获取的主memcached服务器和从memcached服务器的状态信息,将所接收的客户端的缓存数据访问请求发送至所述主memcached服务器或者所述从memcached 服务器。
[0038]可选地,所述第一获取单元适于获取所述访问请求中所述缓存数据的URL ;计算得出所述URL的哈希值;获取与所述哈希值相对应的memcached集群的信息。
[0039]可选地,所述第一获取单元适于采用分片服务器根据所接收客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群,所述分片服务器中包括memcached集群与缓存数据之间的映射关系。
[0040]可选地,所述分片服务器包括主分片服务器和从分片服务器,主分片服务器和从分片服务器为主从复制关系。
[0041]可选地,所述第一获取单元适于当所述主分片服务器处于正常运行状态时,采用所述主分片服务器根据所接收客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群;当所述主分片服务器处于故障状态时,采用所述从分片服务器根据所接收客户端的缓存数据访问请求,获取响应所述缓存数据访问请求的memcached集群。
[0042]可选地,所述发送单元适于当获取到所述主memcached服务器处于正常运行状态时,将所接收的客户端的缓存数据访问请求发送至所述主memcached服务器;当获取到所述主memcached服务器处于故障状态时,将所接收的客户端的缓存数据访问请求发送至所述从memcached服务器。
[0043]本发明实施例还提供了一种memcached集群维护装置,所述装置包括:
[0044]采集单元,适于采集所述memcached集群中主memcached服务器和从memcached服务器的状态信息;
[0045]维护单元,适于当确定主memcached服务器处于故障状态时,将所述主memcached服务器从所述memcached集群中删除,并在接收客户端的缓存数据访问请求时,采用从memcached服务器响应所述客户端的缓存数据访问请求。
[0046]可选地,所述装置还包括:添加单元,适于当检测到发生故障的主memcached服务器重新恢复至正常运行状态时,将所述主memcached服务器作为从memcached服务器,添加至所述memcached集群中。
[0047]本发明实施例还提供了一种内存缓存数据维护装置,所述装置包括:
[0048]判断单元,适于判断memcached系统中各个memcached集群与缓存数据之间的映射关系是否发生变化;
[0049]迀移单元,适于当确定memcached集群与缓存数据之间的映射关系发生变化时,对映射关系变化之前各个mem
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1