CN108519954A - 一种集中管理缓存的方法及装置 - Google Patents

一种集中管理缓存的方法及装置 Download PDF

Info

Publication number
CN108519954A
CN108519954A CN201810244845.3A CN201810244845A CN108519954A CN 108519954 A CN108519954 A CN 108519954A CN 201810244845 A CN201810244845 A CN 201810244845A CN 108519954 A CN108519954 A CN 108519954A
Authority
CN
China
Prior art keywords
data
request
caching
target data
service layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810244845.3A
Other languages
English (en)
Inventor
韩雷钧
梁皓天
王承锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Focus Shinkansen Information Technology Co Ltd
Original Assignee
Beijing Focus Shinkansen Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Focus Shinkansen Information Technology Co Ltd filed Critical Beijing Focus Shinkansen Information Technology Co Ltd
Priority to CN201810244845.3A priority Critical patent/CN108519954A/zh
Publication of CN108519954A publication Critical patent/CN108519954A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

本发明实施例中公开了一种集中管理缓存的方法及装置,包括:接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;判断缓存中是否存储有所述数据请求对应的目标数据;如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。基于上述方法及装置,能够最大化利用化缓存存储空间,减轻服务器和网络带宽的负担,加快服务器对业务请求的响应速度,保证数据一致性,并且做到高可拓展性和鲁棒性。

Description

一种集中管理缓存的方法及装置
技术领域
本发明涉及计算机技术领域,具体涉及一种集中管理缓存的方法及装置。
背景技术
服务往往是有很多层级的,比如有基础服务、后台服务、以及前台服务。每层服务都有对应的调用和依赖关系,并且每个服务都有自己对应的缓存存储经常访问的数据,当客户端请求一份数据时,相应的服务就会访问缓存,如果缓存中存储有相应的数据,则直接返回数据给客户端,而无需通过服务器从数据库获取数据,这样提高了请求的响应速度,减轻了服务器和数据库的压力。
但是,由于服务的层级较多,在响应客户端的数据请求时,往往会涉及到不同层级的服务之间的调用,而每层服务都有自己对应的缓存,因此,不同层级的服务之间的调用很可能涉及到缓存。这样,将可能出现如下问题:
客户端请求的数据会同时存在与多级服务的缓存中,造成了数据冗余;不同服务层级的缓存存储可能会采用相同的key值,造成了数据污染;各层级服务的缓存更新时间不一致,会导致各层级服务缓存数据不一致;采用多级服务层级的缓存响应客户端的数据请求,降低了请求的响应速度;服务层级较多,当缓存空间不足的时候,只能复制当前缓存的数据至新的缓存上,而无法扩大当前缓存的空间。
发明内容
有鉴于此,本发明实施例提供一种集中管理缓存的方法及装置,能够最大化利用化缓存存储空间,减轻服务器和网络带宽的负担,加快服务器对业务请求的响应速度,保证数据一致性,并且做到高可拓展性和鲁棒性。
为实现上述目的,本发明实施例提供如下技术方案:
一种集中管理缓存的方法,包括:
接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;
判断缓存中是否存储有所述数据请求对应的目标数据;
如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。
可选的,所述数据请求包括所述客户端请求访问的统一资源定位符URL和请求参数,则所述判断缓存中是否存储有所述数据请求对应的目标数据,包括:
对所述客户端请求访问的URL和请求参数进行哈希运算,获得所述数据请求的Hash值,并将所述Hash值作为所述数据请求的Key值查找环形Hash空间中是否映射有所述数据请求的Key值,如果是,则判断缓存中存储有所述数据请求对应的目标数据,如果否,则判断缓存中未存储有所述数据请求对应的目标数据,其中,所述环形Hash空间中映射有多个数据请求对象的Key值。
可选的,所述缓存中包括多个redis节点,所述环形Hash空间中映射有所述多个redis节点的Key值,则所述从所述缓存中获取所述数据请求对应的目标数据,包括:
确定Key值与所述数据请求的Key值相差最小且Key值位于所述数据请求的Key值的顺时针方向的redis节点为目标redis节点;
从所述目标redis节点中获取所述数据请求对应的目标数据。
可选的,如果所述目标redis节点为虚拟节点,则所述从所述目标redis节点中获取所述数据请求对应的目标数据,包括:
确定所述目标redis节点对应的实体节点;
从所述实体节点中获取所述数据请求对应的目标数据。
可选的,如果缓存中未存储有所述数据请求对应的目标数据,则所述方法还包括:
将所述数据请求转发至基础服务层,以由所述基础服务层从数据库中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据存储至缓存中并将所述目标数据返回给所述客户端。
一种集中管理缓存的装置,包括:
接收单元,用于接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;
判断单元,用于判断缓存中是否存储有所述数据请求对应的目标数据;
处理单元,用于如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。
可选的,所述数据请求包括所述客户端请求访问的统一资源定位符URL和请求参数,则所述判断单元具体用于:
对所述客户端请求访问的URL和请求参数进行哈希运算,获得所述数据请求的Hash值,并将所述Hash值作为所述数据请求的Key值查找环形Hash空间中是否映射有所述数据请求的Key值,如果是,则判断缓存中存储有所述数据请求对应的目标数据,如果否,则判断缓存中未存储有所述数据请求对应的目标数据,其中,所述环形Hash空间中映射有多个数据请求对象的Key值。
可选的,所述缓存中包括多个redis节点,所述环形Hash空间中映射有所述多个redis节点的Key值,则所述处理单元具体用于:
确定Key值与所述数据请求的Key值相差最小且Key值位于所述数据请求的Key值的顺时针方向的redis节点为目标redis节点;
从所述目标redis节点中获取所述数据请求对应的目标数据。
可选的,如果所述目标redis节点为虚拟节点,则所述处理单元具体用于:
确定所述目标redis节点对应的实体节点;
从所述实体节点中获取所述数据请求对应的目标数据。
可选的,如果缓存中未存储有所述数据请求对应的目标数据,则所述处理单元还用于:
将所述数据请求转发至基础服务层,以由所述基础服务层从数据库中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据存储至缓存中并将所述目标数据返回给所述客户端。
基于上述技术方案,本发明实施例中公开了一种集中管理缓存的方法及装置,包括:接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;判断缓存中是否存储有所述数据请求对应的目标数据;如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。基于上述方法及装置,能够最大化利用化缓存存储空间,减轻服务器和网络带宽的负担,加快服务器对业务请求的响应速度,保证数据一致性,并且做到高可拓展性和鲁棒性。
图1为本发明实施例提供的一种新型的多层服务架构的结构示意图;
图2为本发明实施例提供的一种集中管理缓存的方法的流程示意图;
图3至图8为本发明实施例提供的环形Hash空间示意图;
图9为本发明实施例提供的一种集中管理缓存的装置的结构示意图。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例是基于本发明提供的新型的多层服务架构实现的,请参阅附图1,图1为本发明实施例提供的一种新型的多层服务架构的结构示意图,该架构包括基础服务层、上层服务层和redis集中管理框架,其中,基础服务层能够直接访问数据库,上层服务层直接对外提供服务,redis集中管理框架对上层服务层转发的数据请求集中处理,redis集中管理框架还可管理缓存的容量及负载均衡。
请参阅附图2,图2为本发明实施例提供的一种集中管理缓存的方法的流程示意图,该方法的执行主体为多层服务架构中的redis集中管理框架,该方法包括如下步骤:
步骤S100,接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;
所述数据请求包括所述客户端请求访问的统一资源定位符URL和请求参数。
步骤S110,判断缓存中是否存储有所述数据请求对应的目标数据。
该步骤具体采用如下方式执行:
对所述客户端请求访问的URL和请求参数进行哈希运算,获得所述数据请求的Hash值,并将所述Hash值作为所述数据请求的Key值查找环形Hash空间中是否映射有所述数据请求的Key值,如果是,则判断缓存中存储有所述数据请求对应的目标数据,如果否,则判断缓存中未存储有所述数据请求对应的目标数据,其中,所述环形Hash空间中映射有多个数据请求对象的Key值。
环形Hash空间即一个具有2^32次方个桶的空间,每个桶中均可哈希一个按照常用的Hash算法计算的Key值,将这些Key值头尾相连,即形成一个闭合的环形Hash空间,具体如图3所示。
假设object1、object2、object3、object4为4个数据请求对象,将object1、object2、object3、object4四个对象通过特定的Hash函数计算出对应的key值,即,Hash(object1)=key1;Hash(object2)=key2;Hash(object3)=key3;Hash(object4)=key4;并将key1、key2、key3、key4映射到环形Hash空间上的示意图如图4所示。
步骤S120,如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。
需要说明的是,所述缓存中包括多个redis节点,所述环形Hash空间中映射有所述多个redis节点的Key值,则所述从所述缓存中获取所述数据请求对应的目标数据,包括:确定Key值与所述数据请求的Key值相差最小且Key值位于所述数据请求的Key值的顺时针方向的redis节点为目标redis节点;从所述目标redis节点中获取所述数据请求对应的目标数据。
假设现在有3个redis节点,即NODE1、NODE2、NODE3,通过Hash算法得到对应的Key值,即,Hash(NODE1)=KEY1;Hash(NODE2)=KEY2;Hash(NODE3)=KEY3;并将KEY1、KEY2、KEY3映射到环形Hash空间上的示意图如图5所示。
由图5可以看出,redis节点与数据请求对象的Key值处于同一环形Hash空间中,这样,按顺时针转动object1存储到了NODE1中,object3存储到了NODE2中,object2、object4存储到了NODE3中。
如果NODE2出现故障被删除了,那么按照顺时针迁移的方法,object3将会被迁移到NODE3中,具体如图6所示。
如果新添加一个redis节点NODE4,那么按照顺时针迁移的方法,object2被迁移到了NODE4中,具体如图7所示。
如图6所示,object1存储到了NODE1中,而object2、object3、object4都存储到了NODE3中,这样就照成了非常不平衡的状态在一致性哈希算法中,为了尽可能的满足平衡性,其引入了虚拟节点。
“虚拟节点”(virtual node)是实体节点在hash空间的复制品(replica),一个实体节点对应了若干个“虚拟节点”,这个对应个数也成为“复制个数”,“虚拟节点”在hash空间中以hash值排列。以图6为例,以2个副本(复制个数)为例,这样整个hash环中就存在了4个虚拟节点,具体如图8所示。根据图8所示可知,对象的映射关系具体如下:object1->NODE1-1,object2->NODE1-2,object3->NODE3-2,object4->NODE3-1,很明显,对象的分布比较均衡。
这种情况下,就可能存在确定的目标redis节点为虚拟节点的情况,这种情况下,则所述从所述目标redis节点中获取所述数据请求对应的目标数据,包括:确定所述目标redis节点对应的实体节点;从所述实体节点中获取所述数据请求对应的目标数据。
综上可以看出,通过数据请求的Key值就能快速定位到对应的redis节点中,即找到存储有所述数据请求对应的目标数据的存储位置。
本发明实施例中公开了一种集中管理缓存的方法,包括:接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;判断缓存中是否存储有所述数据请求对应的目标数据;如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。基于上述方法,能够最大化利用化缓存存储空间,减轻服务器和网络带宽的负担,加快服务器对业务请求的响应速度,保证数据一致性,并且做到高可拓展性和鲁棒性。
需要说明的是,如果缓存中未存储有所述数据请求对应的目标数据,则上述方法还包括:将所述数据请求转发至基础服务层,以由所述基础服务层从数据库中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据存储至缓存中并将所述目标数据返回给所述客户端。
请参阅附图9,图9为本发明实施例提供的一种集中管理缓存的装置的结构示意图,该装置包括:
接收单元10,用于接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;
判断单元11,用于判断缓存中是否存储有所述数据请求对应的目标数据;
处理单元12,用于如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。
可选的,所述数据请求包括所述客户端请求访问的统一资源定位符URL和请求参数,则所述判断单元具体用于:
对所述客户端请求访问的URL和请求参数进行哈希运算,获得所述数据请求的Hash值,并将所述Hash值作为所述数据请求的Key值查找环形Hash空间中是否映射有所述数据请求的Key值,如果是,则判断缓存中存储有所述数据请求对应的目标数据,如果否,则判断缓存中未存储有所述数据请求对应的目标数据,其中,所述环形Hash空间中映射有多个数据请求对象的Key值。
可选的,所述缓存中包括多个redis节点,所述环形Hash空间中映射有所述多个redis节点的Key值,则所述处理单元具体用于:
确定Key值与所述数据请求的Key值相差最小且Key值位于所述数据请求的Key值的顺时针方向的redis节点为目标redis节点;
从所述目标redis节点中获取所述数据请求对应的目标数据。
可选的,如果所述目标redis节点为虚拟节点,则所述处理单元具体用于:
确定所述目标redis节点对应的实体节点;
从所述实体节点中获取所述数据请求对应的目标数据。
可选的,如果缓存中未存储有所述数据请求对应的目标数据,则所述处理单元还用于:
将所述数据请求转发至基础服务层,以由所述基础服务层从数据库中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据存储至缓存中并将所述目标数据返回给所述客户端。
需要说明的是,上述各个装置的具体功能实现已在方法实施例中详细说明,本实施例不再赘述。
综上所述:
本发明实施例中公开了一种集中管理缓存的方法及装置,包括:接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;判断缓存中是否存储有所述数据请求对应的目标数据;如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。基于上述方法及装置,能够最大化利用化缓存存储空间,减轻服务器和网络带宽的负担,加快服务器对业务请求的响应速度,保证数据一致性,并且做到高可拓展性和鲁棒性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种集中管理缓存的方法,其特征在于,包括:
接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;
判断缓存中是否存储有所述数据请求对应的目标数据;
如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述数据请求包括所述客户端请求访问的统一资源定位符URL和请求参数,则所述判断缓存中是否存储有所述数据请求对应的目标数据,包括:
对所述客户端请求访问的URL和请求参数进行哈希运算,获得所述数据请求的Hash值,并将所述Hash值作为所述数据请求的Key值查找环形Hash空间中是否映射有所述数据请求的Key值,如果是,则判断缓存中存储有所述数据请求对应的目标数据,如果否,则判断缓存中未存储有所述数据请求对应的目标数据,其中,所述环形Hash空间中映射有多个数据请求对象的Key值。
3.根据权利要求2所述的方法,其特征在于,所述缓存中包括多个redis节点,所述环形Hash空间中映射有所述多个redis节点的Key值,则所述从所述缓存中获取所述数据请求对应的目标数据,包括:
确定Key值与所述数据请求的Key值相差最小且Key值位于所述数据请求的Key值的顺时针方向的redis节点为目标redis节点;
从所述目标redis节点中获取所述数据请求对应的目标数据。
4.根据权利要求3所示的方法,其特征在于,如果所述目标redis节点为虚拟节点,则所述从所述目标redis节点中获取所述数据请求对应的目标数据,包括:
确定所述目标redis节点对应的实体节点;
从所述实体节点中获取所述数据请求对应的目标数据。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,如果缓存中未存储有所述数据请求对应的目标数据,则所述方法还包括:
将所述数据请求转发至基础服务层,以由所述基础服务层从数据库中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据存储至缓存中并将所述目标数据返回给所述客户端。
6.一种集中管理缓存的装置,其特征在于,包括:
接收单元,用于接收上层服务层转发的数据请求,所述数据请求是由客户端发送至所述上层服务层的;
判断单元,用于判断缓存中是否存储有所述数据请求对应的目标数据;
处理单元,用于如果缓存中存储有所述数据请求对应的目标数据,则从所述缓存中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据返回给所述客户端。
7.根据权利要求6所述的装置,其特征在于,所述数据请求包括所述客户端请求访问的统一资源定位符URL和请求参数,则所述判断单元具体用于:
对所述客户端请求访问的URL和请求参数进行哈希运算,获得所述数据请求的Hash值,并将所述Hash值作为所述数据请求的Key值查找环形Hash空间中是否映射有所述数据请求的Key值,如果是,则判断缓存中存储有所述数据请求对应的目标数据,如果否,则判断缓存中未存储有所述数据请求对应的目标数据,其中,所述环形Hash空间中映射有多个数据请求对象的Key值。
8.根据权利要求7所述的装置,其特征在于,所述缓存中包括多个redis节点,所述环形Hash空间中映射有所述多个redis节点的Key值,则所述处理单元具体用于:
确定Key值与所述数据请求的Key值相差最小且Key值位于所述数据请求的Key值的顺时针方向的redis节点为目标redis节点;
从所述目标redis节点中获取所述数据请求对应的目标数据。
9.根据权利要求8所示的装置,其特征在于,如果所述目标redis节点为虚拟节点,则所述处理单元具体用于:
确定所述目标redis节点对应的实体节点;
从所述实体节点中获取所述数据请求对应的目标数据。
10.根据权利要求6至9中任意一项所述的装置,其特征在于,如果缓存中未存储有所述数据请求对应的目标数据,则所述处理单元还用于:
将所述数据请求转发至基础服务层,以由所述基础服务层从数据库中获取所述数据请求对应的目标数据,并将所述目标数据返回给所述上层服务层,以由所述上层服务层将所述目标数据存储至缓存中并将所述目标数据返回给所述客户端。
CN201810244845.3A 2018-03-23 2018-03-23 一种集中管理缓存的方法及装置 Pending CN108519954A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810244845.3A CN108519954A (zh) 2018-03-23 2018-03-23 一种集中管理缓存的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810244845.3A CN108519954A (zh) 2018-03-23 2018-03-23 一种集中管理缓存的方法及装置

Publications (1)

Publication Number Publication Date
CN108519954A true CN108519954A (zh) 2018-09-11

Family

ID=63434145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810244845.3A Pending CN108519954A (zh) 2018-03-23 2018-03-23 一种集中管理缓存的方法及装置

Country Status (1)

Country Link
CN (1) CN108519954A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362502A (zh) * 2019-06-26 2019-10-22 中国科学院信息工程研究所 链式哈希栈的影子缓存优化方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN104301425A (zh) * 2014-10-24 2015-01-21 南方电网科学研究院有限责任公司 基于对象类型和哈希环的对象注册中心服务集群实现方法
CN106210151A (zh) * 2016-09-27 2016-12-07 深圳市彬讯科技有限公司 一种zedis分布式缓存及服务器集群监控方法
CN107634853A (zh) * 2017-08-28 2018-01-26 深圳市云舒网络技术有限公司 一种基于对象存储的可定制化分布式缓存方法
CN107707631A (zh) * 2017-09-18 2018-02-16 北京潘达互娱科技有限公司 数据获取方法及装置
CN107801086A (zh) * 2017-10-20 2018-03-13 广东省南方数字电视无线传播有限公司 多缓存服务器的调度方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN104301425A (zh) * 2014-10-24 2015-01-21 南方电网科学研究院有限责任公司 基于对象类型和哈希环的对象注册中心服务集群实现方法
CN106210151A (zh) * 2016-09-27 2016-12-07 深圳市彬讯科技有限公司 一种zedis分布式缓存及服务器集群监控方法
CN107634853A (zh) * 2017-08-28 2018-01-26 深圳市云舒网络技术有限公司 一种基于对象存储的可定制化分布式缓存方法
CN107707631A (zh) * 2017-09-18 2018-02-16 北京潘达互娱科技有限公司 数据获取方法及装置
CN107801086A (zh) * 2017-10-20 2018-03-13 广东省南方数字电视无线传播有限公司 多缓存服务器的调度方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DAVID RON KARGER ET AL: "Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web", 《RESEARCHGATE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362502A (zh) * 2019-06-26 2019-10-22 中国科学院信息工程研究所 链式哈希栈的影子缓存优化方法和装置

Similar Documents

Publication Publication Date Title
Freedman et al. Democratizing content publication with coral.
US8402147B2 (en) Nomadic subscriber data system
US8782085B2 (en) Variant entries in network data repositories
US7174360B2 (en) Method for forming virtual network storage
US8140676B2 (en) Data access in distributed server systems
US20100169442A1 (en) Apparatus and method for providing peer-to-peer proxy service with temporary storage management and traffic load balancing in peer-to-peer communications
US9432321B2 (en) Method and apparatus for messaging in the cloud
US20090006531A1 (en) Client request based load balancing
CN106790324A (zh) 内容分发方法、虚拟服务器管理方法、云平台和系统
US20090216723A1 (en) Directory Partitioned System and Method
WO2016196406A1 (en) Effective service node traffic routing
US11082338B1 (en) Distributed connection state tracking for large-volume network flows
EP2805250A2 (en) Provisioning tenants to multi-tenant capable services
CN112839076A (zh) 数据存储、读取方法、网关、电子设备及存储介质
US9729652B2 (en) Dynamically affinitizing users to a version of a website
US9760370B2 (en) Load balancing using predictable state partitioning
CA2554938A1 (en) Method of providing a reliable server function in support of a service or a set of services
US20080256095A1 (en) Adaptation in network data repositories
CN110024358A (zh) 对由分布式数据存储系统提供的服务的访问
CN108519954A (zh) 一种集中管理缓存的方法及装置
EP2887620B1 (en) Session Initiation Protocol Messaging
US20080256112A1 (en) Indirect methods in network data repositories
US20080253402A1 (en) Timing device and method
Confais et al. Data location management protocol for object stores in a fog computing infrastructure
CN108449387A (zh) 内容分发网络中的内容节点以及内容分发方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180911