CN111737298B - 基于分布式存储的缓存数据管控方法及装置 - Google Patents
基于分布式存储的缓存数据管控方法及装置 Download PDFInfo
- Publication number
- CN111737298B CN111737298B CN202010563620.1A CN202010563620A CN111737298B CN 111737298 B CN111737298 B CN 111737298B CN 202010563620 A CN202010563620 A CN 202010563620A CN 111737298 B CN111737298 B CN 111737298B
- Authority
- CN
- China
- Prior art keywords
- cache
- read request
- data
- request
- queue
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013523 data management Methods 0.000 title claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 5
- 230000007246 mechanism Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000035515 penetration Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000522213 Dichilus lebeckioides Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于分布式存储的缓存数据管控方法及装置,基于分布式存储的缓存数据管控方法包括:接收至少一个分布式服务器对于同一数据的缓存读取请求;响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明提供的基于分布式存储的缓存数据管控方法及装置,可有效解决分布式缓存使用过程中遇到的缓存雪崩问题。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于分布式存储的缓存数据管控方法及装置。
背景技术
缓存技术是提升系统性能的利器,通过将经常访问的热点数据存储在缓存,可以大大减少请求的回源次数。通常来说,数据库连接是比较稀缺的资源,并且某些复杂的数据库查询往往耗时较高,因此如果每次交易都从数据库查询,则会非常不经济。因为数据库连接资源有限,常常因为资源抢占将系统拖垮。而分布式缓存技术的出现,是解决这一问题的银弹。通过将经常访问的热点数据存储在分布式缓存装置的内存中,从而极大的提升读写速度。
在现有技术中,系统在获取某条缓存时,往往会判断一下过期时间,如果缓存即将过期则触发一次回源操作,将数据库中的最新数据重新刷新到缓存,并更新过期时间,以保证缓存数据与数据库的一致性。但在这个过程中会产生一个问题,当大量并发请求同时试图读取缓存,此时如果缓存即将过期,这些请求都将触发回源动作(就像是一场雪崩),数据库将瞬间面对极大的压力,极容易将系统拖垮。在这种背景下,如何解决缓存雪崩问题,成为亟待解决的问题。
发明内容
针对现有技术中的问题,本发明提供的基于分布式存储的缓存数据管控方法及装置,可有效解决解决分布式缓存使用过程中遇到的缓存雪崩问题。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种基于分布式存储的缓存数据管控方法,包括:
接收至少一个分布式服务器对于同一数据的缓存读取请求;
响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;
根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。
一实施例中,所述响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求,包括:
将多个所述缓存读取请求设置为一队列;
从所述队列中选取一缓存读取请求。
一实施例中,基于分布式存储的缓存数据管控方法还包括:判断所述同一数据在缓存中是否过期,如果过期,从多个所述缓存读取请求中选取第一缓存读取请求。
一实施例中,所述分布式服务器类型为键值对型,所述缓存数据管控方法还包括:更新缓存中的键值对,以及
重新设置过期时间至初始值。
第二方面,本发明提供一种基于分布式存储的缓存数据管控装置,该装置包括:
读取请求接收单元,用于接收至少一个分布式服务器对于同一数据的缓存读取请求;
读取请求选取单元,用于响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;
数据读取单元,用于根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。
一实施例中,所述读取请求选取单元包括:
队列设置模块,用于将多个所述缓存读取请求设置为一队列;
读取请求选取模块,用于从所述队列中选取一缓存读取请求。
一实施例中,基于分布式存储的缓存数据管控装置还包括:过期判断单元,用于判断所述同一数据在缓存中是否过期,如果过期,从多个所述缓存读取请求中选取第一缓存读取请求。
一实施例中,所述分布式服务器类型为键值对型,所述缓存数据管控方装置还包括:
键值对更新单元,用于更新缓存中的键值对,以及
时间重置单元,用于重新设置过期时间至初始值。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现基于分布式存储的缓存数据管控方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现基于分布式存储的缓存数据管控方法的步骤。
从上述描述可知,本发明实施例提供的基于分布式存储的缓存数据管控方法及装置,首先接收至少一个分布式服务器对于同一数据的缓存读取请求;接着,响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;最后根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明通过在应用服务器和缓存服务器中间增加一套防护装置,对访问同一热点数据的请求增加排队机制和选举机制,只需要回源请求一次数据,从而减少回源次数,防止瞬间大量的缓存穿透对系统的冲击,保护系统的稳定性。具体地,本发明具有以下有益效果:
1、通过排队机制,保障热点数据访问不至于引发瞬时的回源访问而导致的缓存雪崩,以有效保障系统可用性。
2、通过选取机制,保障热点数据与数据库的一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中基于分布式存储的缓存数据管控方法流程意图一;
图2为本发明的实施例中基于分布式存储的缓存数据管控方法步骤200的流程示意图;
图3为本发明的实施例中基于分布式存储的缓存数据管控方法流程意图二;
图4为本发明的实施例中基于分布式存储的缓存数据管控方法流程意图三;
图5为本发明的具体应用实例中基于分布式存储的缓存数据管控方法的流程示意图;
图6为本发明的具体应用实例中基于分布式存储的缓存数据管控装置的结构示意图一;
图7为本发明的具体应用实例中读取请求选取单元的结构示意图;
图8为本发明的具体应用实例中基于分布式存储的缓存数据管控装置的结构示意图二;
图9为本发明的具体应用实例中基于分布式存储的缓存数据管控装置的结构示意图三;
图10为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种基于分布式存储的缓存数据管控方法的具体实施方式,参见图1,该方法具体包括如下内容:
步骤100:接收至少一个分布式服务器对于同一数据的缓存读取请求。
在一具体场景中,缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至宕机。不同数据都过期,很多数据都查不到从而查数据库。多个针对同一数据的缓存读取请求都达到了存储层,使存储层的调用量暴增,缓存层出现错误,导致数据库、CPU和内存负载过高,甚至宕机,即缓存雪崩。
步骤200:响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求。
优选地,可在多个缓存读取请求中选取按时间排序的第一个缓存读取请求作为代表,使其向目标数据库读取目标数据。
步骤300:根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。
可以理解的是,步骤300中的另一分布式服务器不在步骤100中的“至少一个分布式服务器”中的范围,步骤300在实施时,具体为:步骤200中的“代表”从目标数据库中进行回源。另外,CDN服务器一般不主动回源,只有当用户向CDN请求资源而资源不存在或者已过期,才会向源站请求资源。
从上述描述可知,本发明实施例提供的基于分布式存储的缓存数据管控方法,首先接收至少一个分布式服务器对于同一数据的缓存读取请求;接着,响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;最后根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明通过在应用服务器和缓存服务器中间增加一套防护装置,对访问同一热点数据的请求增加排队机制和选举机制,只需要回源请求一次数据,从而减少回源次数,防止瞬间大量的缓存穿透对系统的冲击,保护系统的稳定性。具体地,本发明具有以下有益效果:
1、通过排队机制,保障热点数据访问不至于引发瞬时的回源访问而导致的缓存雪崩,以有效保障系统可用性。
2、通过选取机制,保障热点数据与数据库的一致性。
一实施例中,参见图2,步骤200具体包括:
步骤201:将多个所述缓存读取请求设置为一队列。
步骤202:从所述队列中选取一缓存读取请求。
在步骤201以及步骤202中,选取队列中第一个进入的请求(队头)作为代表,去目标数据库中回源查询最新数据,并更新缓存的value和过期时间。更新成功后,其他排队(阻塞等待)的请求直接获取这个value并返回即可。相当于对同一个key的访问,假设有100个请求,实际只有一个请求回源查找,其他99个使用这一个请求查找回的数据即可,可以理解的是,步骤201以及步骤202可避免同时大量请求回源查找,进而带来的冲击系统的问题。
一实施例中,参见图3,在步骤300之前,基于分布式存储的缓存数据管控方法还包括:
步骤400:判断所述同一数据在缓存中是否过期。
如果过期,从多个所述缓存读取请求中选取第一缓存读取请求。可以理解的是,如果没有过期,则只需从缓存中读取目标数据。
一实施例中,述分布式服务器类型为键值对型。
可以理解的是,键值数据库是一种非关系数据库,其使用简单的键值方法来存储数据。键值数据库将数据存储为键值对集合,其中键作为唯一标识符。键和值都可以是从简单对象到复杂复合对象的任何内容。键值数据库是高度可分区的,并且允许以其他类型的数据库无法实现的规模进行水平扩展。
参见图4,基于分布式存储的缓存数据管控方法还包括:
步骤500:更新缓存中的键值对。
可以理解的是,步骤500中的键值对中的“键”是指存储的值的编号,“值”是指所要存放的数据。
步骤600:重新设置过期时间至初始值。
从上述描述可知,本发明实施例提供的基于分布式存储的缓存数据管控方法,首先接收至少一个分布式服务器对于同一数据的缓存读取请求;接着,响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;最后根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明通过在应用服务器和缓存服务器中间增加一套防护装置,对访问同一热点数据的请求增加排队机制和选举机制,只需要回源请求一次数据,从而减少回源次数,防止瞬间大量的缓存穿透对系统的冲击,保护系统的稳定性。具体地,本发明具有以下有益效果:
1、通过排队机制,保障热点数据访问不至于引发瞬时的回源访问而导致的缓存雪崩,以有效保障系统可用性。
2、通过选取机制,保障热点数据与数据库的一致性。
为进一步地说明本方案,本发明以Redis键值对数据库为例,提供基于分布式存储的缓存数据管控方法的具体应用实例,该具体应用实例具体包括如下内容,参见图5。
S0:应用服务器发起缓存读取的请求。
具体地,可以通过提供一缓存读取通道,发起缓存读取请求。向指定的缓存服务器发送针对某一个key值的缓存读取请求。
S1:判断即将访问的缓存是否过期,如果过期则到步骤S2,否则通过缓存获取数据。
具体地,针对访问同一key值的请求,判断是否即将超时,如果是则增加排队机制,阻塞请求,超过队列的请求直接拒绝。
S2:将针对同一缓存的请求存入队列,从队列中选取一个代表,并派代表通过回源获取数据。
S3:从目标数据库中获取数据,并更新缓存服务器中对应的键值对。
可以理解的是,步骤S3还包括重置缓存的过期时间到初始值。
S4:将数据返回。
如果队列为空,直接将数据返回缓存中,如果队列非空,逐一将响应数据返回队列中每个请求。读取响应数据,将读取到的value值更新到内存
从上述描述可知,本发明实施例提供的基于分布式存储的缓存数据管控方法,首先接收至少一个分布式服务器对于同一数据的缓存读取请求;接着,响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;最后根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明通过在应用服务器和缓存服务器中间增加一套防护装置,对访问同一热点数据的请求增加排队机制和选举机制,只需要回源请求一次数据,从而减少回源次数,防止瞬间大量的缓存穿透对系统的冲击,保护系统的稳定性。具体地,本发明具有以下有益效果:
1、通过排队机制,保障热点数据访问不至于引发瞬时的回源访问而导致的缓存雪崩,以有效保障系统可用性。
2、通过选取机制,保障热点数据与数据库的一致性。
基于同一发明构思,本申请实施例还提供了基于分布式存储的缓存数据管控装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于基于分布式存储的缓存数据管控装置解决问题的原理与基于分布式存储的缓存数据管控方法相似,因此基于分布式存储的缓存数据管控装置的实施可以参见基于分布式存储的缓存数据管控方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现基于分布式存储的缓存数据管控方法的基于分布式存储的缓存数据管控装置的具体实施方式,参见图6,基于分布式存储的缓存数据管控装置具体包括如下内容:
读取请求接收单元10,用于接收至少一个分布式服务器对于同一数据的缓存读取请求;
读取请求选取单元20,用于响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;
数据读取单元30,用于根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。
一实施例中,参见图7,所述读取请求选取单元20包括:
队列设置模块201,用于将多个所述缓存读取请求设置为一队列;
读取请求选取模块202,用于从所述队列中选取一缓存读取请求。
一实施例中,参见图8,基于分布式存储的缓存数据管控装置还包括:过期判断单元40,用于判断所述同一数据在缓存中是否过期,如果过期,从多个所述缓存读取请求中选取第一缓存读取请求。
一实施例中,所述分布式服务器类型为键值对型,参见图9,所述缓存数据管控方装置还包括:
键值对更新单元50,用于更新缓存中的键值对,以及
时间重置单元60,用于重新设置过期时间至初始值。
从上述描述可知,本发明实施例提供的基于分布式存储的缓存数据管控装置,首先接收至少一个分布式服务器对于同一数据的缓存读取请求;接着,响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;最后根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明通过在应用服务器和缓存服务器中间增加一套防护装置,对访问同一热点数据的请求增加排队机制和选举机制,只需要回源请求一次数据,从而减少回源次数,防止瞬间大量的缓存穿透对系统的冲击,保护系统的稳定性。具体地,本发明具有以下有益效果:
1、通过排队机制,保障热点数据访问不至于引发瞬时的回源访问而导致的缓存雪崩,以有效保障系统可用性。
2、通过选取机制,保障热点数据与数据库的一致性。
本申请的实施例还提供能够实现上述实施例中的基于分布式存储的缓存数据管控方法中全部步骤的一种电子设备的具体实施方式,参见图10,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、接口设备以及用户端设备等相关设备之间的信息传输。
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的基于分布式存储的缓存数据管控方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:接收至少一个分布式服务器对于同一数据的缓存读取请求。
步骤200:响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求。
步骤300:根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。
从上述描述可知,本申请实施例中的电子设备,首先接收至少一个分布式服务器对于同一数据的缓存读取请求;接着,响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;最后根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明通过在应用服务器和缓存服务器中间增加一套防护装置,对访问同一热点数据的请求增加排队机制和选举机制,只需要回源请求一次数据,从而减少回源次数,防止瞬间大量的缓存穿透对系统的冲击,保护系统的稳定性。具体地,本发明具有以下有益效果:
1、通过排队机制,保障热点数据访问不至于引发瞬时的回源访问而导致的缓存雪崩,以有效保障系统可用性。
2、通过选取机制,保障热点数据与数据库的一致性。
本申请的实施例还提供能够实现上述实施例中的基于分布式存储的缓存数据管控方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于分布式存储的缓存数据管控方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:接收至少一个分布式服务器对于同一数据的缓存读取请求。
步骤200:响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求。
步骤300:根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。
从上述描述可知,本申请实施例中的计算机可读存储介质,首先接收至少一个分布式服务器对于同一数据的缓存读取请求;接着,响应与所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;最后根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据。本发明通过在应用服务器和缓存服务器中间增加一套防护装置,对访问同一热点数据的请求增加排队机制和选举机制,只需要回源请求一次数据,从而减少回源次数,防止瞬间大量的缓存穿透对系统的冲击,保护系统的稳定性。具体地,本发明具有以下有益效果:
1、通过排队机制,保障热点数据访问不至于引发瞬时的回源访问而导致的缓存雪崩,以有效保障系统可用性。
2、通过选取机制,保障热点数据与数据库的一致性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于分布式存储的缓存数据管控方法,其特征在于,包括:
接收至少一个分布式服务器对于同一数据的缓存读取请求;
响应于所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;
根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据;其中,所述另一分布式服务器中的所述同一数据是基于所述第一缓存读取请求从目标数据库进行回源获取的;
其中,所述响应于所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求,包括:
将多个所述缓存读取请求设置为一队列;
从所述队列中选取一缓存读取请求;
相应地,所述方法还包括:
若判断获知所述队列非空,则根据所述同一数据逐一响应所述队列中每个缓存读取请求;若判断获知所述队列为空,则根据所述同一数据更新缓存。
2.根据权利要求1所述的缓存数据管控方法,其特征在于,还包括:判断所述同一数据在缓存中是否过期,如果过期,从多个所述缓存读取请求中选取第一缓存读取请求。
3.根据权利要求1所述的缓存数据管控方法,其特征在于,所述分布式服务器类型为键值对型,所述缓存数据管控方法还包括:更新缓存中的键值对,以及
重新设置过期时间至初始值。
4.一种基于分布式存储的缓存数据管控装置,其特征在于,包括:
读取请求接收单元,用于接收至少一个分布式服务器对于同一数据的缓存读取请求;
读取请求选取单元,用于响应于所述缓存读取请求,从多个所述缓存读取请求中选取第一缓存读取请求;
数据读取单元,用于根据所述第一缓存读取请求读取另一分布式服务器中的所述同一数据;其中,所述另一分布式服务器中的所述同一数据是基于所述第一缓存读取请求从目标数据库进行回源获取的;
其中,所述读取请求选取单元包括:
队列设置模块,用于将多个所述缓存读取请求设置为一队列;
读取请求选取模块,用于从所述队列中选取一缓存读取请求;
判断单元,用于若判断获知所述队列非空,则根据所述同一数据逐一响应所述队列中每个缓存读取请求;若判断获知所述队列为空,则根据所述同一数据更新缓存。
5.根据权利要求4所述的缓存数据管控装置,其特征在于,还包括:过期判断单元,用于判断所述同一数据在缓存中是否过期,如果过期,从多个所述缓存读取请求中选取第一缓存读取请求。
6.根据权利要求4所述的缓存数据管控装置,其特征在于,所述分布式服务器类型为键值对型,所述缓存数据管控装置还包括:
键值对更新单元,用于更新缓存中的键值对,以及
时间重置单元,用于重新设置过期时间至初始值。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至3任一项所述基于分布式存储的缓存数据管控方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至3任一项所述基于分布式存储的缓存数据管控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563620.1A CN111737298B (zh) | 2020-06-19 | 2020-06-19 | 基于分布式存储的缓存数据管控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563620.1A CN111737298B (zh) | 2020-06-19 | 2020-06-19 | 基于分布式存储的缓存数据管控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737298A CN111737298A (zh) | 2020-10-02 |
CN111737298B true CN111737298B (zh) | 2024-04-26 |
Family
ID=72650201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010563620.1A Active CN111737298B (zh) | 2020-06-19 | 2020-06-19 | 基于分布式存储的缓存数据管控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737298B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103380421A (zh) * | 2010-12-30 | 2013-10-30 | 脸谱公司 | 用于图形数据的分布式缓存 |
CN103401950A (zh) * | 2013-08-21 | 2013-11-20 | 网宿科技股份有限公司 | 缓存异步刷新方法、缓存服务器处理请求方法和系统 |
CN105373369A (zh) * | 2014-08-25 | 2016-03-02 | 北京皮尔布莱尼软件有限公司 | 一种异步缓存方法、服务器及系统 |
CN106599721A (zh) * | 2016-12-13 | 2017-04-26 | 微梦创科网络科技(中国)有限公司 | 一种基于缓存的数据访问方法及装置 |
CN107231395A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据存储方法、装置和系统 |
CN108628551A (zh) * | 2018-05-04 | 2018-10-09 | 深圳市茁壮网络股份有限公司 | 一种数据处理方法及装置 |
CN109669960A (zh) * | 2018-12-25 | 2019-04-23 | 钛马信息网络技术有限公司 | 在微服务中通过多级缓存避免缓存雪崩的系统及方法 |
CN110633320A (zh) * | 2018-05-30 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 分布式数据服务的处理方法、系统、设备及存储介质 |
CN110837513A (zh) * | 2019-11-07 | 2020-02-25 | 腾讯科技(深圳)有限公司 | 一种缓存更新方法、装置、服务器及存储介质 |
CN111147599A (zh) * | 2019-12-31 | 2020-05-12 | 北京奇艺世纪科技有限公司 | 缓存数据的更新方法、装置、服务器及存储介质 |
CN111221862A (zh) * | 2019-12-31 | 2020-06-02 | 五八有限公司 | 一种请求处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196413A1 (en) * | 2014-06-26 | 2015-12-30 | Intel Corporation | Memcached systems having local caches |
-
2020
- 2020-06-19 CN CN202010563620.1A patent/CN111737298B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103380421A (zh) * | 2010-12-30 | 2013-10-30 | 脸谱公司 | 用于图形数据的分布式缓存 |
CN103401950A (zh) * | 2013-08-21 | 2013-11-20 | 网宿科技股份有限公司 | 缓存异步刷新方法、缓存服务器处理请求方法和系统 |
CN105373369A (zh) * | 2014-08-25 | 2016-03-02 | 北京皮尔布莱尼软件有限公司 | 一种异步缓存方法、服务器及系统 |
CN107231395A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据存储方法、装置和系统 |
CN106599721A (zh) * | 2016-12-13 | 2017-04-26 | 微梦创科网络科技(中国)有限公司 | 一种基于缓存的数据访问方法及装置 |
CN108628551A (zh) * | 2018-05-04 | 2018-10-09 | 深圳市茁壮网络股份有限公司 | 一种数据处理方法及装置 |
CN110633320A (zh) * | 2018-05-30 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 分布式数据服务的处理方法、系统、设备及存储介质 |
CN109669960A (zh) * | 2018-12-25 | 2019-04-23 | 钛马信息网络技术有限公司 | 在微服务中通过多级缓存避免缓存雪崩的系统及方法 |
CN110837513A (zh) * | 2019-11-07 | 2020-02-25 | 腾讯科技(深圳)有限公司 | 一种缓存更新方法、装置、服务器及存储介质 |
CN111147599A (zh) * | 2019-12-31 | 2020-05-12 | 北京奇艺世纪科技有限公司 | 缓存数据的更新方法、装置、服务器及存储介质 |
CN111221862A (zh) * | 2019-12-31 | 2020-06-02 | 五八有限公司 | 一种请求处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111737298A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10176057B2 (en) | Multi-lock caches | |
US11681684B2 (en) | Client-driven commit of distributed write transactions in a database environment | |
US9767138B2 (en) | In-database sharded queue for a shared-disk database | |
US9495296B2 (en) | Handling memory pressure in an in-database sharded queue | |
US8429134B2 (en) | Distributed database recovery | |
CN109491928B (zh) | 缓存控制方法、装置、终端及存储介质 | |
US9798745B2 (en) | Methods, devices and systems for caching data items | |
US20120226794A1 (en) | Scalable queues on a scalable structured storage system | |
EP2541423B1 (en) | Replacement policy for resource container | |
US9229869B1 (en) | Multi-lock caches | |
CN107436910B (zh) | 一种数据查询方法和装置 | |
US9652492B2 (en) | Out-of-order execution of strictly-ordered transactional workloads | |
CN112035528A (zh) | 数据查询方法及装置 | |
US20220092050A1 (en) | Concurrent transaction processing in a database system | |
CN106161519B (zh) | 一种信息获取方法和装置 | |
US11468032B2 (en) | Concurrent transaction processing in a database system | |
US9928174B1 (en) | Consistent caching | |
Wang et al. | RDMA-enabled concurrency control protocols for transactions in the cloud era | |
EP3507699B1 (en) | Method and systems for master establishment using service-based statistics | |
CN111737298B (zh) | 基于分布式存储的缓存数据管控方法及装置 | |
US10606795B2 (en) | Methods for managing a buffer cache and devices thereof | |
CN115729929A (zh) | 数据更新方法、装置、计算机设备及存储介质 | |
CN113779052A (zh) | 数据更新方法、装置、设备及存储介质 | |
CN117056363B (zh) | 数据缓存方法、系统、设备以及存储介质 | |
US20240211516A1 (en) | Managing pre-caching of results |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |