【技术实现步骤摘要】
一种分布式数据缓存方法及系统
本专利技术实施例涉及数据业务
,尤其涉及一种分布式数据缓存方法及系统。
技术介绍
随着互联网应用规模越来越大,IT支撑系统面对大量并发请求的处理能力越来越重要,在传统web,应用和数据库三层系统架构中,数据库层CPU资源和IO性能会成为整个应用系统瓶颈,通过数据缓存技术当第一次请求时访问数据库层查询数据,同时将数据缓存起来,再有相同数据请求时,直接从缓存中返回数据,减小了数据库层的压力,提升应用访问速度,同时有效地降低了数据层的访问负载,提高系统性能。互联网发展和网络用户的不断增加,单台缓存服务器的性能已无法满足大量并发请求,这种情况下需要使用服务器集群技术,横向扩展CPU和内存等性能来实现缓存线性扩展。其中,Redis和Memcached是一个开源的、高性能、分布式的内存对象缓存系统,用于动态Web应用以减轻数据库的负载,通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了系统访问的速度。JBossCache是一款企业级JAVA事务缓存集群系统,它通过自动复制缓存数据,并 ...
【技术保护点】
1.一种分布式数据缓存方法,其特征在于,包括:/n根据一致性哈希算法得到多个节点的节点哈希值和多个缓存数据的缓存数据哈希值,并将多个节点哈希值和多个缓存数据哈希值映射在0至2^32的虚拟圆上;/n根据缓存数据哈希值映射到所述虚拟圆上的初始位置,将顺时针的第一个节点作为缓存数据的主节点,将所述主节点的顺时针下一个节点作为缓存数据的备份节点,以使得多个缓存数据分布到各个节点上;/n根据一致性哈希算法对各节点进行查询,将查询得到的目标缓存数据发送到目标终端。/n
【技术特征摘要】
1.一种分布式数据缓存方法,其特征在于,包括:
根据一致性哈希算法得到多个节点的节点哈希值和多个缓存数据的缓存数据哈希值,并将多个节点哈希值和多个缓存数据哈希值映射在0至2^32的虚拟圆上;
根据缓存数据哈希值映射到所述虚拟圆上的初始位置,将顺时针的第一个节点作为缓存数据的主节点,将所述主节点的顺时针下一个节点作为缓存数据的备份节点,以使得多个缓存数据分布到各个节点上;
根据一致性哈希算法对各节点进行查询,将查询得到的目标缓存数据发送到目标终端。
2.根据权利要求1所述的方法,其特征在于,在所述根据一致性哈希算法得到多个节点的节点哈希值和多个缓存数据的缓存数据哈希值,并将多个节点哈希值和多个缓存数据哈希值映射在0至2^32的虚拟圆上之前,所述方法还包括:
对配置信息进行初始化处理,以得到缓存节点集群和多个缓存数据,所述缓存节点集群包括多个节点,每个节点包括一个主缓存区和一个备份缓存区。
3.根据权利要求2所述的方法,其特征在于,所述根据一致性哈希算法对各节点进行查询,将查询得到的目标缓存数据发送到目标终端,包括:
根据一致性哈希算法对各节点进行查询,得到目标缓存数据的目标主节点和目标备份节点;
根据动态负载均衡策略从所述目标主节点和所述目标备份节点中确定目标缓存节点,将目标缓存节点中的缓存数据发送到目标终端。
4.根据权利要求3所述的方法,其特征在于,在所述根据一致性哈希算法对各节点进行查询,将查询得到的目标缓存数据发送到目标终端之前,所述方法还包括:
基于缓存数据的生存周期值和更新信息对任意节点的缓存数据进行同步处理。
5.根据权利要求4所述的方法,其特征在于,所述根据缓存数据哈希值映射到所述虚拟圆上的初始位置,将顺时针的第一个节点作为缓存数据的主节点,将所述主节点的顺时针下一个节点作为缓存数据的备份节点,以使得多个缓存数据分布到各个节点上,包括:
若任意节点的缓存空间已存满缓存数据,则对节点进行替换算法处理,以使得新增缓存数据缓存到节点中,所述替换算法包括先进先出算法、最近最少使用算法和最不经常使用算法。
6.根据权利要求5所述的方法,其特征在于,在所述根据缓存数据哈希值映射到所述虚拟圆上的初始位置,将顺时针的第一个节点作为缓存数据的主节点,将所述主节点的...
【专利技术属性】
技术研发人员:王新安,
申请(专利权)人:中国移动通信集团山东有限公司,中国移动通信集团有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。