一种基于改进一致性哈希分布式缓存的方法和系统技术方案

技术编号:14553594 阅读:183 留言:0更新日期:2017-02-05 02:47
本发明专利技术公开了一种基于改进一致性哈希分布式缓存的方法和系统。包括多个节点服务器,每个节点服务器包括主缓存区和副本缓存区,其中,所述主缓存区用于缓存根据一致性哈希算法该节点服务器上用户写入或者需要访问的数据;所述副本缓存区用于缓存根据一致性哈希算法,所有节点服务器构成的哈希环上的上一节点服务器的主缓存区的数据。本发明专利技术有效的提高系统的可靠性和可用性,又可以避免浪费资源,减少缓存数据的同步次数。

Method and system based on improved consistency hash distributed caching

The invention discloses a method and a system based on improved consistency hash distributed caching. The server includes a plurality of nodes, each node server includes a main buffer and copy buffer, wherein the main buffer for caching according to the need to access the data is written to the user or the consistent hashing algorithm of the node on the server; the copy buffer is used to cache according to the consistent hashing algorithm, the main area of a server node hash ring constitute all server nodes on the cached data. The invention can effectively improve the reliability and usability of the system, and can avoid wasting resources and reduce the number of synchronization of the cache data.

【技术实现步骤摘要】

本专利技术属于信息系统领域,具体涉及一种基于改进一致性哈希分布式缓存的方法和系统
技术介绍
随着互联网特别是移动互联网的发展,用户量越来越大,而要求的响应速度也是越来越快,这样为了加快访问速度,一个比较的方式就是在信息系统中使用缓存。缓存技术存储热点数据,拉近集群对象数据与应用之间的距离,是加速数据访问、提供数据分布式共享的关键技术,该技术对于提高系统的扩展能力、保障系统可靠性具有非常重要的作用。分布式缓存大量存在于信息系统当中,当前分布式缓存系统主要有两种:一种是各个服务器缓存的内容相同,客户端访问缓存比较简单,访问任何一台机器即可,但是当一台服务器上的缓存数据发生变化时,需要将缓存数据同步到其他所有机器上,这样虽然提高了系统的可靠性,但造成了系统缓存资源的浪费,当机器增多时,数据同步时间也会增加,其代表是开源的Memcache。另一种是以一致性哈希(ConsistentHashing)技术为代表,一致性哈希是将每个对象映射到圆环边上的一个点,系统再将可用的节点机器映射到圆环的不同位置。查找某个对象对应的机器时,需要用一致哈希算法计算得到对象对应圆环边上位置,沿着圆环边上顺时针查找直到遇到某个节点机器,这台机器即为对象应该保存的位置。其优势是缓存数据不需要复制。但是某台服务器发生故障时,会丢失该部分缓存数据,对此可以采用主备式一致性哈希分布式缓存方法,但是系统在大量时间里会有一半的服务器为静默状态,浪费了大量资源。
技术实现思路
本专利技术要解决的技术问题是,当前分布式缓存系统不是可靠性和可用性较差,就是机器堆积造成系统资源浪费。根据本专利技术提出一种基于改进一致性哈希分布式缓存的系统,包括:多个节点服务器,每个节点服务器包括主缓存区和副本缓存区,其中:所述主缓存区用于缓存根据一致性哈希算法该节点服务器上用户写入或者需要访问的数据;所述副本缓存区用于缓存根据一致性哈希算法,所有节点服务器构成的哈希环上的上一节点服务器的主缓存区的数据。进一步,任一节点服务器的所述主缓存区数据发生变化,将发生变化的数据复制到哈希环上的下一节点服务器的副本缓存区。进一步,当某个节点服务器发生故障或者需要删除时,其哈希环上的下一节点服务器需要合并主副缓存区的数据作为主缓存区数据,复制到哈希环上的下下节点服务器的副本缓存区;其哈希环上的上一节点服务器的主缓存区数据复制到其下一节点服务器的副本缓存区。进一步,当新增某个节点服务器时,在新增后的哈希环上,该新增节点服务器的上一节点服务器的主缓存区数据复制到该节点服务器的副本缓存区;下一节点服务器的主缓存区中现在访问该新增节点服务器的数据复制到该新增节点服务器的主缓存区中;下一节点服务器的主缓存区数据删除已缓存在新增节点服务器的主缓存区的数据。进一步,将该新增节点服务器的主缓存区数据复制到下一节点服务器的副本缓存区作为下一节点服务器的副本缓存区数据;或者将下一节点服务器原有缓存在主缓存区的数据删除现在缓存在下一节点服务器的主缓存区的数据,作为下一节点服务器的副本缓存区数据。进一步,将所述下一节点服务器的主缓存区数据复制下下节点服务器的副本缓存区,作为下下节点服务器的副本缓存区数据;或者将原有下下节点服务器的副本缓存区的数据删除现在新增节点服务器的主缓存区数据,作为下下节点服务器的副本缓存区数据。根据本专利技术一方面,提出一种基于改进一致性哈希分布式缓存的方法,包括:将缓存数据缓存在多个节点服务器,每个节点服务器包括主缓存区和副本缓存区;在每个节点服务器的所述主缓存区缓存根据一致性哈希算法该节点服务器上用户写入或者需要访问的数据;在每个节点服务器的所述副本缓存区缓存根据一致性哈希算法,所有节点服务器构成的哈希环上的上一节点服务器的主缓存区的数据。进一步,当任一节点服务器的所述主缓存区数据发生变化时,将发生变化的数据复制到哈希环上的下一节点服务器的副本缓存区。进一步,当某个节点服务器发生故障或者需要删除时,其哈希环上的下一节点服务器需要合并主副缓存区的数据作为主缓存区数据,复制到哈希环上的下下节点服务器的副本缓存区;其哈希环上的上一节点服务器的主缓存区数据复制到其下一节点服务器的副本缓存区。进一步,当新增某个节点服务器时,在新增后的哈希环上,该新增节点服务器的上一节点服务器的主缓存区数据复制到该节点服务器的副本缓存区;下一节点服务器的主缓存区中现在访问该新增节点服务器的数据复制到该新增节点服务器的主缓存区中;下一节点服务器的主缓存区数据删除已缓存在新增节点服务器的主缓存区的数据。进一步,将该新增节点服务器的主缓存区数据复制到下一节点服务器的副本缓存区作为下一节点服务器的副本缓存区数据;或者将下一节点服务器原有缓存在主缓存区的数据删除现在缓存在下一节点服务器的主缓存区的数据,作为下一节点服务器的副本缓存区数据。进一步,将所述下一节点服务器的主缓存区数据复制下下节点服务器的副本缓存区,作为下下节点服务器的副本缓存区数据;或者将原有下下节点服务器的副本缓存区的数据删除现在新增节点服务器的主缓存区数据,作为下下节点服务器的副本缓存区数据。本专利技术中,每个节点服务器既缓存了本节点服务器的数据,又缓存了上一节点服务器的数据,因此,可以有效的提高系统的可靠性和可用性,又可以避免浪费资源,减少缓存数据的同步次数。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明构成说明书的一部分的附图描述了本专利技术的实施例,并且连同说明书一起用于解释本专利技术的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本专利技术,其中:图1为一种基于改进一致性哈希分布式缓存的系统的结构示意图。图2为哈希环上某节点服务器有故障或者需要删除的实施例的示意图。图3为在哈希环上新增某一节点服务器的实施例的示意图。图4为一种基于改进一致性哈希分布式缓存的方法的实施例的流程图。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制本文档来自技高网
...

【技术保护点】
一种基于改进一致性哈希分布式缓存的系统,包括:多个节点服务器,每个节点服务器包括主缓存区和副本缓存区,其中:所述主缓存区用于缓存根据一致性哈希算法该节点服务器上用户写入或者需要访问的数据;所述副本缓存区用于缓存根据一致性哈希算法,所有节点服务器构成的哈希环上的上一节点服务器的主缓存区的数据。

【技术特征摘要】
1.一种基于改进一致性哈希分布式缓存的系统,包括:
多个节点服务器,每个节点服务器包括主缓存区和副本缓存区,
其中:
所述主缓存区用于缓存根据一致性哈希算法该节点服务器上用
户写入或者需要访问的数据;
所述副本缓存区用于缓存根据一致性哈希算法,所有节点服务器
构成的哈希环上的上一节点服务器的主缓存区的数据。
2.根据权利要求1所述基于改进一致性哈希分布式缓存的系统,
包括:
任一节点服务器的所述主缓存区数据发生变化,将发生变化的数
据复制到哈希环上的下一节点服务器的副本缓存区。
3.根据权利要求1或2所述基于改进一致性哈希分布式缓存的
系统,包括:
当某个节点服务器发生故障或者需要删除时,其哈希环上的下一
节点服务器需要合并主副缓存区的数据作为主缓存区数据,复制到哈
希环上的下下节点服务器的副本缓存区;
其哈希环上的上一节点服务器的主缓存区数据复制到其下一节
点服务器的副本缓存区。
4.根据权利要求1或2所述基于改进一致性哈希分布式缓存的
系统,包括:
当新增某个节点服务器时,在新增后的哈希环上,该新增节点服
务器的上一节点服务器的主缓存区数据复制到该节点服务器的副本缓
存区;下一节点服务器的主缓存区中现在访问该新增节点服务器的数
据复制到该新增节点服务器的主缓存区中;
下一节点服务器的主缓存区数据删除已缓存在新增节点服务器
的主缓存区的数据。
5.根据权利要求4所述基于改进一致性哈希分布式缓存的系统,
包括:
将该新增节点服务器的主缓存区数据复制到下一节点服务器的
副本缓存区作为下一节点服务器的副本缓存区数据;或者
将下一节点服务器原有缓存在主缓存区的数据删除现在缓存在
下一节点服务器的主缓存区的数据,作为下一节点服务器的副本缓存
区数据。
6.根据权利要求4所述基于改进一致性哈希分布式缓存的系统,
包括:
将所述下一节点服务器的主缓存区数据复制下下节点服务器的
副本缓存区,作为下下节点服务器的副本缓存区数据;或者
将原有下下节点服务器的副本缓存区的数据删除现在新增节点
服务器的主缓存区数据,作为下下节点服务器的副本缓存区数据。
7.一种基于改进一致性哈希分布式...

【专利技术属性】
技术研发人员:李明奚晓音朱源薛尽飞邓丽华
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

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

1