CN113111076A - 一种数据缓存方法、装置、设备及存储介质 - Google Patents

一种数据缓存方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113111076A
CN113111076A CN202110410979.XA CN202110410979A CN113111076A CN 113111076 A CN113111076 A CN 113111076A CN 202110410979 A CN202110410979 A CN 202110410979A CN 113111076 A CN113111076 A CN 113111076A
Authority
CN
China
Prior art keywords
time
data
caching
change
cache
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
CN202110410979.XA
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 Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun 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 Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202110410979.XA priority Critical patent/CN113111076A/zh
Publication of CN113111076A publication Critical patent/CN113111076A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2372Updates performed during offline database operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例公开了一种数据缓存方法、装置、设备及存储介质,所述方法包括:获取待缓存数据;确定所述待缓存数据关联的源数据的数据更新时间,基于所述数据更新时间和当前时间确定所述待缓存数据的缓存变更时间;基于所述缓存变更时间确定所述待缓存数据的目标缓存时间,并基于所述目标缓存时间将所述待缓存数据进行缓存。本发明实施例提供的方法通过根据数据更新时间和当前时间确定目标缓存时间,实现了基于数据变更的缓存时间调节,使得待缓存数据的目标缓存时间的设置更加合理,提高了数据缓存效率。

Description

一种数据缓存方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据缓存方法、装置、设备及存储介质。
背景技术
电商系统商品信息查询服务调用量大,为提升服务性能,一般会添加本地缓存减轻系统压力,数据在本地缓存中的缓存时间在一定程度上决定着基于过期时间的缓存的数据表现,缓存时间过长会造成过长时间的缓存与数据库中的数据不一致的问题,而缓存时间过短的话则会造成缓存中的数据失效过快,频繁的请求后端数据源。当前存在的缓存时间方式有如下两种:(1)根据经验设置,所有的缓存数据的过期时间都一样;(2)根据经验值设置,不同的缓存数据加一个随机的偏移值。
在实现本发明的过程中,发明人发现现有技术中至少存在以下技术问题:根据经验设置缓存时间存在缓存数据集中过期导致后端数据源压力过大而进一步导致系统奔溃的问题,而根据经验值设置偏移值的方式无法根据实际情况自行调整,设置的不合理会对缓存的表现造成影响,容易导致缓存效果差,缓存的命中率很低。
发明内容
本发明实施例提供了一种数据缓存方法、装置、设备及存储介质,以实现合理设置缓存数据的缓存时间,提高缓存效率。
第一方面,本发明实施例提供了一种数据缓存方法,包括:
获取待缓存数据;
确定待缓存数据关联的源数据的数据更新时间,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间;
基于缓存变更时间确定待缓存数据的目标缓存时间,并基于目标缓存时间将待缓存数据进行缓存。
可选的,在上述方案的基础上,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间,包括:
确定当前时间和数据更新时间的时间差;
基于时间差确定缓存时间超时的变更概率,基于变更概率确定缓存变更时间。
可选的,在上述方案的基础上,变更概率包括变更增加概率和变更减少概率,基于时间差确定缓存时间超时的变更概率,基于变更概率确定缓存变更时间,包括:
通过
Figure BDA0003024024140000021
确定变更增加概率,其中,P(sign=1)为变更增加概率,Δt为时间差;
根据变更增加概率确定变更减少概率。
可选的,在上述方案的基础上,基于变更概率确定缓存变更时间,包括:
对变更增加概率和变更减少概率进行采样,根据采样结果确定缓存变更时间。
可选的,在上述方案的基础上,基于缓存变更时间确定待缓存数据的目标缓存时间,包括:
获取待缓存数据的缓存过期时间以及预先配置的缓存时间区间;
基于缓存变更时间、缓存过期时间以及缓存时间区间确定目标缓存时间。
可选的,在上述方案的基础上,缓存时间区间包括最小缓存时间和最大缓存时间,基于缓存变更时间、缓存过期时间以及缓存时间区间确定目标缓存时间,包括:
通过tnew=min(max(tmin,tactive+sign*tdelta),tmax)确定目标缓存时间,其中,tnew为目标缓存时间,tmin为最小缓存时间,tactive为缓存过期时间,sign*tdelta为缓存变更时间,tmax为最大缓存时间。
可选的,在上述方案的基础上,获取待缓存数据的缓存过期时间,包括:
获取待缓存数据的关联键,将关联键对应的最近一次缓存数据的缓存时间作为待缓存数据的缓存过期时间。
第二方面,本发明实施例还提供了一种数据缓存装置,包括:
数据获取模块,用于获取待缓存数据;
变更时间确定模块,用于确定待缓存数据关联的源数据的数据更新时间,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间;
数据缓存模块,用于基于缓存变更时间确定待缓存数据的目标缓存时间,并基于目标缓存时间将待缓存数据进行缓存。
第三方面,本发明实施例还提供了一种计算机设备,设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本发明任意实施例所提供的数据缓存方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的数据缓存方法。
本发明实施例通过获取待缓存数据;确定待缓存数据关联的源数据的数据更新时间,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间;基于缓存变更时间确定待缓存数据的目标缓存时间,并基于目标缓存时间将待缓存数据进行缓存,通过根据数据更新时间和当前时间确定目标缓存时间,实现了基于数据变更的缓存时间调节,使得待缓存数据的目标缓存时间的设置更加合理,提高了数据缓存效率。
附图说明
图1是本发明实施例一所提供的一种数据缓存方法的流程图;
图2是本发明实施例二所提供的一种数据缓存方法的流程图;
图3是本发明实施例三所提供的一种数据缓存装置的结构示意图;
图4是本发明实施例四所提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一所提供的一种数据缓存方法的流程图。本实施例可适用于对数据进行缓存时的情形,尤其适用于电商平台中对数据进行缓存时的情形。该方法可以由数据缓存装置执行,该数据缓存装置可以采用软件和/或硬件的方式实现,例如,该数据缓存装置可配置于计算机设备中。如图1所示,该方法包括:
S110、获取待缓存数据。
一般的,当用户发起查询请求时,先从缓存中查询是否存在用户需要的查询数据,若缓存中命中查询请求对应的数据,则将缓存中命中的数据作为查询请求对应的响应数据;若缓存中未命中查询请求对应的数据,则从数据库中获取查询请求对应的数据作为响应数据,并将响应数据在本地缓存中进行缓存,以使再次接收到相同的查询请求时,从缓存中获取相关信息进行响应。
示例性的,若用户需要查询物品A的详情信息,则发起相应的查询请求,服务器先在本地缓存中查询物品A的详情信息,若不存在,则从数据库中获取物品A的详情信息作为查询请求的响应信息,并将物品A的详情信息存储至缓存中。在本实施例中,待缓存数据可以为缓存中不存在的用户查询的有效数据,如上述示例中的缓存中不存在,但数据库中存在的物品A的详情信息。
可以理解的是,本地缓存中存储的数据存在一定的有效期,即缓存时间,缓存数据超出缓存时间后,认定该缓存数据无效。
S120、确定待缓存数据关联的源数据的数据更新时间,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间。
在本实施例中,通过数据的更新频率合理的确定待缓存数据的目标缓存时间。整体来说,数据更新频率越高,其目标缓存时间越短,以保证数据缓存的准确性;数据更新频率越低,其目标缓存时间越长,以避免数据频繁缓存。
可选的,可以将待缓存数据关联的源数据的数据更新时间和当前时间作为缓存变更时间的确定参数。其中数据更新时间为源数据的更新时间。待缓存数据关联的源数据可以理解为数据库中与待缓存数据的数据标识相同的数据。示例性的,假设待缓存数据的数据标识为数据标识1,则将数据库中数据标识1对应的数据作为源数据,获取该源数据的更新时间作为数据更新时间。
其中,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间,可以为基于数据更新时间和当前时间的时间差确定缓存变更时间,如预先设定时间差阈值,当数据更新时间和当前时间的时间差高于设定的时间差阈值时,设定一减少时间值作为缓存变更时间,当数据更新时间和当前时间的时间差低于设定的时间差阈值时,设定一增加时间值作为缓存变更时间。其中,减少时间值对应的时间差阈值和增加时间值对应的时间差阈值可以设置为相同的时间差阈值,也可以设定为不同的时间差阈值,具体设置可以根据实际需求,在此不再赘述。
在本发明的一种实施方式中,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间,包括:确定当前时间和数据更新时间的时间差;基于时间差确定缓存时间超时的变更概率,基于变更概率确定缓存变更时间。可选的,还可以计算变更概率,基于变更概率确定增加待缓存数据的缓存时间或减少待缓存数据的缓存时间。考虑到本实施例通过增加变更频率低的数据的缓存时间,减少变更频率低的数据的缓存数据的思路,可以基于模拟退火算法中的概率计算方式计算缓存时间变更概率。
可选的,变更概率包括变更增加概率和变更减少概率,基于时间差确定缓存时间超时的变更概率,基于变更概率确定缓存变更时间,包括:通过
Figure BDA0003024024140000071
确定变更增加概率,其中,P(sign=1)为变更增加概率,Δt为时间差;根据变更增加概率确定变更减少概率。具体的,将
Figure BDA0003024024140000072
作为变更增加概率,将
Figure BDA0003024024140000073
作为变更减少概率。
在上述方案的基础上,基于变更概率确定缓存变更时间,包括:对变更增加概率和变更减少概率进行采样,根据采样结果确定缓存变更时间。示例性的,假设变更增加概率为0.6,变更减少概率为0.4,则对变更增加概率和变更减少概率均匀采样,得到采样结果。假设采样结果为变更增加概率,则将预先设置的超时增加时间作为缓存变更时间;假设采样结果为变更增加概率,则将预先设置的超时减少时间作为缓存变更时间。
S130、基于缓存变更时间确定待缓存数据的目标缓存时间,并基于目标缓存时间将待缓存数据进行缓存。
在本实施例中,可以直接在待缓存数据的基准缓存时间的基础上累加缓存变更时间作为目标缓存时间。示例性的,假设待缓存数据的基准缓存时间为10ms,缓存变更时间为增加5ms,则目标缓存时间为15ms;假设待缓存数据的基准缓存时间为10ms,缓存变更时间为减少5ms,则目标缓存时间为5ms。其中,待缓存数据的基准缓存时间可以根据待缓存数据的属性等预先设置,也可以根据待缓存数据的上一缓存时间确定,待缓存数据的上一缓存时间可以理解为待缓存数据对应数据标识在本地缓存中距离当前时间最近的一次缓存的缓存时间。示例性的,假设数据标识1对应的数据在缓存中存储15ms过期后,再次将数据标识1对应的数据存储至缓存中时,将15ms作为数据标识1对应的数据的基准缓存时间。可以理解的是,直接根据待缓存数据的属性预先设置基准缓存数据简化了目标缓存时间的计算复杂度,但准确性较低;根据待缓存数据的上一缓存时间确定基准缓存时间提高了目标缓存时间计算的准确性。
为使数据缓存更加合理,可以预先设置缓存时间区间,将缓存时间区间作为目标缓存时间的约束条件,确定目标缓存时间。
在本发明的一种实施方式中,基于缓存变更时间确定待缓存数据的目标缓存时间,包括:获取待缓存数据的缓存过期时间以及预先配置的缓存时间区间;基于缓存变更时间、缓存过期时间以及缓存时间区间确定目标缓存时间。
可选的,获取待缓存数据的缓存过期时间,包括:获取待缓存数据的关联键,将关联键对应的最近一次缓存数据的缓存时间作为待缓存数据的缓存过期时间(同上述实施例中的待缓存数据的缓存过期时间为待缓存数据对应数据标识在本地缓存中距离当前时间最近的一次缓存的缓存时间),具体可参照上述实施例。基于获取待缓存数据的缓存过期时间以及预先配置的缓存时间区间;基于缓存变更时间、缓存过期时间以及缓存时间区间确定目标缓存时间使得目标缓存时间的确定更加合理。
可选的,获取待缓存数据的缓存过期时间作为待缓存数据的基准缓存时间,结合预先配置的缓存时间区间确定目标缓存时间。具体可以为:基于缓存变更时间和缓存过期时间确定初始缓存时间,将初始缓存时间与缓存时间区间比对,确定目标缓存时间。
其中,基于缓存变更时间和缓存过期时间确定初始缓存时间可以为:直接在缓存过期时间的基础上累加缓存变更时间作为初始缓存时间。示例性的,假设待缓存数据的缓存过期时间为10ms,缓存变更时间为增加5ms,则初始缓存时间为15ms;假设待缓存数据的缓存过期时间为10ms,缓存变更时间为减少5ms,则初始缓存时间为5ms。将初始缓存时间与缓存时间区间比对,确定目标缓存时间可以为:若初始缓存时间在缓存时间区间内,则将初始缓存时间作为目标缓存时间,若初始缓存时间在缓存时间区间外,则基于缓存时间区间确定目标缓存时间。
在上述方案的基础上,缓存时间区间包括最小缓存时间和最大缓存时间,基于缓存变更时间、缓存过期时间以及缓存时间区间确定目标缓存时间,包括:通过tnew=min(max(tmin,tactive+sign*tdelta),tmax)确定目标缓存时间,其中,tnew为目标缓存时间,tmin为最小缓存时间,tactive为缓存过期时间,sign*tdelta为缓存变更时间,tmax为最大缓存时间。具体的,缓存过期时间tactive和缓存变更时间sign*tdelta的和为初始缓存时间,当初始缓存时间在缓存时间区间内时,则将初始缓存时间作为目标缓存时间;当初始缓存时间小于最小缓存时间时,将最小缓存时间作为目标缓存时间;当初始缓存时间大于最大缓存时间时,将最大缓存时间作为目标缓存时间。
本发明实施例通过获获取待缓存数据;确定待缓存数据关联的源数据的数据更新时间,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间;基于缓存变更时间确定待缓存数据的目标缓存时间,并基于目标缓存时间将待缓存数据进行缓存,通过根据数据更新时间和当前时间确定目标缓存时间,实现了基于数据变更的缓存时间调节,使得待缓存数据的目标缓存时间的设置更加合理,提高了数据缓存效率。
实施例二
图2是本发明实施例二所提供的一种数据缓存方法的流程图。本实施例在上述方案的基础上,提供了一种优选实施例。
本实施例中,通过数据的变更频率调整数据的目标缓存时间,使得频繁变更数据的缓存时间缩短,不频繁变更数据的缓存时间增长,使得数据的缓存更加合理。具体的,可以引入模拟退火算法中的概率计算来计算超时时间增加的概率,定义sign={1,-1},sign=1代表超时时间增加,sign=-1代表超时时间减少:
Figure BDA0003024024140000101
其中,Δt表示数据的变更频率(如变更时间)。
具体的,本实施例提供的数据缓存方法包括:
S210、预先设置时间变更参数
基于系统的容忍度,结合经验配置最小过期时间tmin,最大过期时间tmax,过期时间变换量tdelta(均为大于0的整数,单位可以为秒或毫秒);
S220、确定待缓存数据的缓存过期时间
接收待缓存数据,确定待缓存数据对应关联键key,如果缓存中不存在key对应的数据,初始化key的过期时间为tmin后直接结束流程;否则记key的缓存过期时间为tactive(即key对应的数据的上一缓存时间);
S230、确定待缓存数据的数据更新时间
获取关联键key对应源数据在数据库中的数据更新时间,用当前时间减去更新时间计算key对应的Δt
S240、确定变更概率
将的Δt代入到
Figure BDA0003024024140000102
中计算p(sign=1),以该概率接受sign=1,若被拒绝则sign=-1;
S250、确定目标缓存时间
目标缓存时间为tnew=min(max(tmin,tactive+sign*tdelta),tmax)。
本实施例提供的技术方案,当key在缓存中过期以后,会以p(sign=1)的概率增加tdelta,以p(gisn=-1)的概率减少tdelta,而p(sign=1)随着Δt的增大而增大(即数据越久没有更新即温度越来越高,key的缓存时间增加的概率就越大)。同时一旦key对应的数据被修改,最后修改时间就会被重置,相当于降温,当key过期后过期时间增加的概率大大减小,从而使key的过期时间向减小的方向发展。这样就能够使得修改频繁的key过期时间保持在小值,而不频繁修改的保持在大值。同时由于概率的存在,使得在相同过期时间的key的数量保持在一定的数量水平,从而减少了key集中过期带给后端数据源的压力。
实施例三
图3是本发明实施例三所提供的一种数据缓存装置的结构示意图。该数据缓存装置可以采用软件和/或硬件的方式实现,例如该数据缓存装置可以配置于计算机设备中。如图3所示,该装置包括数据获取模块310、变更时间确定模块320和数据缓存模块330,其中:
数据获取模块310,用于获取待缓存数据;
变更时间确定模块320,用于确定待缓存数据关联的源数据的数据更新时间,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间;
数据缓存模块330,用于基于缓存变更时间确定待缓存数据的目标缓存时间,并基于目标缓存时间将待缓存数据进行缓存。
本发明实施例通过数据获取模块获取待缓存数据;变更时间确定模块确定待缓存数据关联的源数据的数据更新时间,基于数据更新时间和当前时间确定待缓存数据的缓存变更时间;数据缓存模块基于缓存变更时间确定待缓存数据的目标缓存时间,并基于目标缓存时间将待缓存数据进行缓存,通过根据数据更新时间和当前时间确定目标缓存时间,实现了基于数据变更的缓存时间调节,使得待缓存数据的目标缓存时间的设置更加合理,提高了数据缓存效率。
可选的,在上述方案的基础上,变更时间确定模块320包括:
时间差确定单元,用于:确定当前时间和数据更新时间的时间差;
缓存变更时间单元,用于基于时间差确定缓存时间超时的变更概率,基于变更概率确定缓存变更时间。
可选的,在上述方案的基础上,变更概率包括变更增加概率和变更减少概率,缓存变更时间单元具体用于:
通过
Figure BDA0003024024140000121
确定变更增加概率,其中,P(sign=1)为变更增加概率,Δt为时间差;
根据变更增加概率确定变更减少概率。
可选的,在上述方案的基础上,缓存变更时间单元具体用于:
对变更增加概率和变更减少概率进行采样,根据采样结果确定缓存变更时间。
可选的,在上述方案的基础上,数据缓存模块330包括:
时间参数获取单元,用于获取待缓存数据的缓存过期时间以及预先配置的缓存时间区间;
目标缓存时间确定单元,用于基于缓存变更时间、缓存过期时间以及缓存时间区间确定目标缓存时间。
可选的,在上述方案的基础上,目标缓存时间确定单元具体用于:
通过tnew=min(max(tmin,tactive+sign*tdelta),tmax)确定目标缓存时间,其中,tnew为目标缓存时间,tmin为最小缓存时间,tactive为缓存过期时间,sign*tdelta为缓存变更时间,tmax为最大缓存时间。
可选的,在上述方案的基础上,时间参数获取单元具体用于:
获取待缓存数据的关联键,将关联键对应的最近一次缓存数据的缓存时间作为待缓存数据的缓存过期时间。
本发明实施例所提供的数据缓存装置可执行本发明任意实施例所提供的数据缓存方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四所提供的一种计算机设备的结构示意图。图4是本发明实施例四所提供的计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备412的框图。图4显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器414,系统存储器428,连接不同系统组件(包括系统存储器428和处理器414)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器414或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储装置434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器414通过运行存储在系统存储器428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的数据缓存方法,该方法包括:
获取待缓存数据;
确定所述待缓存数据关联的源数据的数据更新时间,基于所述数据更新时间和当前时间确定所述待缓存数据的缓存变更时间;
基于所述缓存变更时间确定所述待缓存数据的目标缓存时间,并基于所述目标缓存时间将所述待缓存数据进行缓存。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的数据缓存方法的技术方案。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所提供的数据缓存方法,该方法包括:
获取待缓存数据;
确定所述待缓存数据关联的源数据的数据更新时间,基于所述数据更新时间和当前时间确定所述待缓存数据的缓存变更时间;
基于所述缓存变更时间确定所述待缓存数据的目标缓存时间,并基于所述目标缓存时间将所述待缓存数据进行缓存。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的数据缓存方法的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据缓存方法,其特征在于,包括:
获取待缓存数据;
确定所述待缓存数据关联的源数据的数据更新时间,基于所述数据更新时间和当前时间确定所述待缓存数据的缓存变更时间;
基于所述缓存变更时间确定所述待缓存数据的目标缓存时间,并基于所述目标缓存时间将所述待缓存数据进行缓存。
2.根据权利要求1所述的方法,其特征在于,所述基于所述数据更新时间和当前时间确定所述待缓存数据的缓存变更时间,包括:
确定所述当前时间和所述数据更新时间的时间差;
基于所述时间差确定缓存时间超时的变更概率,基于所述变更概率确定所述缓存变更时间。
3.根据权利要求2所述的方法,其特征在于,所述变更概率包括变更增加概率和变更减少概率,所述基于所述时间差确定缓存时间超时的变更概率,基于所述变更概率确定所述缓存变更时间,包括:
通过
Figure FDA0003024024130000011
确定所述变更增加概率,其中,所述P(sign=1)为变更增加概率,Δt为所述时间差;
根据所述变更增加概率确定所述变更减少概率。
4.根据权利要求3所述的方法,其特征在于,所述基于所述变更概率确定所述缓存变更时间,包括:
对所述变更增加概率和所述变更减少概率进行采样,根据采样结果确定所述缓存变更时间。
5.根据权利要求1所述的方法,其特征在于,所述基于所述缓存变更时间确定所述待缓存数据的目标缓存时间,包括:
获取所述待缓存数据的缓存过期时间以及预先配置的缓存时间区间;
基于所述缓存变更时间、缓存过期时间以及所述缓存时间区间确定所述目标缓存时间。
6.根据权利要求5所述的方法,其特征在于,所述缓存时间区间包括最小缓存时间和最大缓存时间,所述基于所述缓存变更时间、缓存过期时间以及所述缓存时间区间确定所述目标缓存时间,包括:
通过tnew=min(max(tmin,tactive+sign*tdelta),tmax)确定所述目标缓存时间,其中,tnew为所述目标缓存时间,tmin为所述最小缓存时间,tactive为所述缓存过期时间,sign*tdelta为所述缓存变更时间,tmax为所述最大缓存时间。
7.根据权利要求5所述的方法,其特征在于,所述获取所述待缓存数据的缓存过期时间,包括:
获取所述待缓存数据的关联键,将所述关联键对应的最近一次缓存数据的缓存时间作为所述待缓存数据的缓存过期时间。
8.一种数据缓存装置,其特征在于,包括:
数据获取模块,用于获取待缓存数据;
变更时间确定模块,用于确定所述待缓存数据关联的源数据的数据更新时间,基于所述数据更新时间和当前时间确定所述待缓存数据的缓存变更时间;
数据缓存模块,用于基于所述缓存变更时间确定所述待缓存数据的目标缓存时间,并基于所述目标缓存时间将所述待缓存数据进行缓存。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的数据缓存方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的数据缓存方法。
CN202110410979.XA 2021-04-16 2021-04-16 一种数据缓存方法、装置、设备及存储介质 Pending CN113111076A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110410979.XA CN113111076A (zh) 2021-04-16 2021-04-16 一种数据缓存方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110410979.XA CN113111076A (zh) 2021-04-16 2021-04-16 一种数据缓存方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113111076A true CN113111076A (zh) 2021-07-13

Family

ID=76717833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110410979.XA Pending CN113111076A (zh) 2021-04-16 2021-04-16 一种数据缓存方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113111076A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327672A (zh) * 2021-12-14 2022-04-12 中国平安财产保险股份有限公司 数据缓存时间设置方法、装置、计算机设备及存储介质
US11870828B2 (en) 2021-09-30 2024-01-09 17Live Japan Inc. System, method and computer-readable medium for rendering a streaming

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170013073A1 (en) * 2012-07-19 2017-01-12 Glance Networks, Inc. Presence Enhanced Co-Browsing Customer Support
CN111078147A (zh) * 2019-12-16 2020-04-28 南京领行科技股份有限公司 一种缓存数据的处理方法、装置、设备及存储介质
CN111274312A (zh) * 2019-11-26 2020-06-12 东软集团股份有限公司 一种区块链中数据的缓存方法、装置及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170013073A1 (en) * 2012-07-19 2017-01-12 Glance Networks, Inc. Presence Enhanced Co-Browsing Customer Support
CN111274312A (zh) * 2019-11-26 2020-06-12 东软集团股份有限公司 一种区块链中数据的缓存方法、装置及设备
CN111078147A (zh) * 2019-12-16 2020-04-28 南京领行科技股份有限公司 一种缓存数据的处理方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘华;张健;: "一种基于时间戳的缓存同步算法", 承德石油高等专科学校学报, no. 03 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11870828B2 (en) 2021-09-30 2024-01-09 17Live Japan Inc. System, method and computer-readable medium for rendering a streaming
CN114327672A (zh) * 2021-12-14 2022-04-12 中国平安财产保险股份有限公司 数据缓存时间设置方法、装置、计算机设备及存储介质
CN114327672B (zh) * 2021-12-14 2024-04-05 中国平安财产保险股份有限公司 数据缓存时间设置方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US9350826B2 (en) Pre-fetching data
CN111464615B (zh) 请求处理方法、装置、服务器及存储介质
CN109657174B (zh) 用于更新数据的方法和装置
CN113111076A (zh) 一种数据缓存方法、装置、设备及存储介质
WO2021036370A1 (zh) 预读取文件页的方法、装置和终端设备
CN111737564B (zh) 一种信息查询方法、装置、设备及介质
US11113195B2 (en) Method, device and computer program product for cache-based index mapping and data access
CN112131260A (zh) 一种数据查询方法及装置
CN112612546A (zh) 页面加载方法、装置、电子设备和存储介质
CN113420051A (zh) 一种数据查询方法、装置、电子设备和存储介质
CN113010552A (zh) 数据处理方法、系统、计算机可读介质及电子设备
WO2019109922A1 (zh) 资源处理方法及系统、存储介质、电子设备
CN113094392A (zh) 数据缓存的方法和装置
CN113238815B (zh) 一种接口访问控制方法、装置、设备及存储介质
CN111782614B (zh) 数据访问方法、装置、设备及存储介质
CN113760977A (zh) 一种信息查询方法、装置、设备及存储介质
CN114884883B (zh) 一种流量转发方法、装置、设备及存储介质
CN114205455B (zh) 应用定位处理方法和装置
US7251660B2 (en) Providing mappings between logical time values and real time values in a multinode system
CN112100092A (zh) 一种信息缓存方法、装置、设备及介质
CN116028530A (zh) 对象资源读取方法、装置、电子设备及可读存储介质
CN111190897B (zh) 信息处理方法、装置、存储介质及服务器
CN114020766A (zh) 数据查询方法、装置及终端设备
US20110161598A1 (en) Dual timeout caching
CN111061744B (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