CN105630819B - 一种缓存数据的刷新方法和装置 - Google Patents

一种缓存数据的刷新方法和装置 Download PDF

Info

Publication number
CN105630819B
CN105630819B CN201410610781.6A CN201410610781A CN105630819B CN 105630819 B CN105630819 B CN 105630819B CN 201410610781 A CN201410610781 A CN 201410610781A CN 105630819 B CN105630819 B CN 105630819B
Authority
CN
China
Prior art keywords
data cached
data
refreshing
time
refresh
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
Application number
CN201410610781.6A
Other languages
English (en)
Other versions
CN105630819A (zh
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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410610781.6A priority Critical patent/CN105630819B/zh
Publication of CN105630819A publication Critical patent/CN105630819A/zh
Application granted granted Critical
Publication of CN105630819B publication Critical patent/CN105630819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请实施例提供了一种缓存数据的刷新方法和装置,所述的方法包括:接收针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;判断所述缓存数据是否符合预设的旧数据条件;当符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据。本申请实施例从众多缓存数据的查询请求中随机筛选出一个或少数几个请求执行刷新操作,在实现缓存数据刷的同时避免对后端系统造成过大的冲击。

Description

一种缓存数据的刷新方法和装置
技术领域
本申请涉及缓存技术领域,特别是涉及一种缓存数据的刷新方法和一种缓存数据的刷新装置。
背景技术
随着信息技术和网络技术的发展,大多数应用出于性能考虑都会采用缓存技术,一般是在系统启动时将一些常用的原数据从配置文件等数据源中读取并缓存,以提升针对读多写少的数据的访问性能。
如果原数据有修改或过期则需要对缓存的数据进行刷新。在针对访问热点的缓存数据的情况中,海量的前端请求同时发现某缓存的数据需要被刷新,则同时冲到后端系统(如数据库)获取最新的数据,对后端系统造成瞬时的极大冲击,对整个系统的性能和稳定性造成很大影响。
因此,通常需要在刷新缓存数据时,引入某种控制措施,不让所有的请求都冲到后端系统去做最新的数据的读操作,以及缓存数据的写操作。
一种方式是基于程序内同步锁(分布式环境中使用分布式锁)或其他类似的外部排他机制如数据库行级锁(如SELECT GET_LOCK()... RELEASE_LOCK(),SELECT…FORUPDATE等)的方法进行刷新。
另一种方式是基于异步任务的方法刷新。
但是,基于锁的方式中,锁都有一定的系统开销,会增加系统的复杂度;基于异步任务的方式,都依赖额外的软件组件或服务,增加了额外的依赖,降低了整体系统的维护性和稳定性,存在额外的系统开销,同时也会增加系统的复杂度。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种缓存的刷新机制,保证系统的维护性和稳定性,降低系统开销,降低系统的复杂度。
发明内容
本申请实施例所要解决的技术问题是提供一种缓存数据的刷新方法,保证系统的维护性和稳定性,降低系统开销,降低系统的复杂度。
相应的,本申请实施例还提供了一种缓存数据的刷新装置,保证系统的维护性和稳定性,降低系统开销,降低系统的复杂度。
为了解决上述问题,本申请实施例公开了一种缓存数据的刷新方法,包括:
接收针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;
判断所述缓存数据是否符合预设的旧数据条件;
当符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据。
优选地,所述缓存数据库包括Key-Value数据库。
优选地,所述缓存数据还具有软失效时间和/或刷新标识;所述刷新标识具有刷新时间戳;
所述根据所述查询请求判断所述缓存数据是否符合预设的旧数据条件的步骤包括:
判断当前时间是否大于缓存数据的软失效时间或刷新标识的刷新时间戳;若是,则判断符合旧数据条件;
或者,
当检测到刷新标识时,判断符合旧数据条件。
优选地,所述根据所述硬失效时间和当前时间随机刷新所述缓存数据的步骤包括:
采用所述硬失效时间和当前时间计算特征数值;
调用随机函数,获得随机数值;
当所述特征数值大于所述随机数值时,刷新所述缓存数据。
优选地,所述刷新所述缓存数据的步骤包括:
获取所述缓存数据对应的原数据;
采用所述原数据刷新在缓存数据库中的所述缓存数据。
优选地,所述采用所述硬失效时间和当前时间计算特征数值的步骤包括:
计算当前时间与所述硬失效时间之间的间隔时间;
采用所述间隔时间计算特征数值;其中,所述特征数值与所述间隔时间成反比。
优选地,通过以下公式计算特征数值:
其中,w为所述缓存数据的软失效时间或刷新标识的刷新时间戳、与硬失效时间之间的差值,x为间隔时间。
优选地,还包括:
对刷新后的所述缓存数据重置软失效时间;
或者,
对刷新后的所述缓存数据清除所述刷新标识。
优选地,还包括:
返回刷新后的缓存数据。
优选地,还包括:
当未符合旧数据条件时,返回所述缓存数据。
优选地,还包括:
当所述特征数值小于或等于所述随机数值时,返回所述缓存数据。
本申请实施例还公开了一种缓存数据的刷新装置,包括:
查询请求接收模块,用于接收针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;
旧数据条件判断模块,用于判断所述缓存数据是否符合预设的旧数据条件;
缓存数据随机刷新模块,用于在符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据。
优选地,所述缓存数据库包括Key-Value数据库。
优选地,所述缓存数据还具有软失效时间和/或刷新标识;所述刷新标识具有刷新时间戳;
所旧数据条件判断模块包括:
时间判断子模块,用于判断当前时间是否大于缓存数据的软失效时间或刷新标识的刷新时间戳;若是,则调用第一符合判断子模块;
第一符合判断子模块,用于判断符合旧数据条件;
或者,
第二符合判断子模块,用于在检测到刷新标识时,判断符合旧数据条件。
优选地,所述缓存数据随机刷新模块包括:
特征数值计算子模块,用于采用所述硬失效时间和当前时间计算特征数值;
随机数值获得模块,用于调用随机函数,获得随机数值;
缓存数据刷新子模块,用于在所述特征数值大于所述随机数值时,刷新所述缓存数据。
优选地,所述缓存数据刷新子模块包括:
原数据获取子模块,用于获取所述缓存数据对应的原数据;
原数据刷新子模块,用于采用所述原数据刷新在缓存数据库中的所述缓存数据。
优选地,所述特征数值计算子模块包括:
间隔时间计算子模块,用于计算当前时间与所述硬失效时间之间的间隔时间;
反比计算子模块,用于采用所述间隔时间按照计算特征数值;其中,所述特征数值与所述间隔时间成反比。
优选地,通过以下公式计算特征数值:
其中,w为所述缓存数据的软失效时间或刷新标识的刷新时间戳、与硬失效时间之间的差值,x为间隔时间。
优选地,还包括:
重置模块,用于对刷新后的所述缓存数据重置软失效时间;
和/或,
清除模块,用于对刷新后的所述缓存数据清除所述刷新标识。
优选地,还包括:
第一返回模块,用于返回刷新后的缓存数据。
优选地,还包括:
第二返回模块,用于在未符合旧数据条件时,返回所述缓存数据。
优选地,所述缓存数据随机刷新模块还包括:
第三返回子模块,用于在所述特征数值小于或等于所述随机数值时,返回所述缓存数据。
本申请实施例针对缓存数据库中缓存数据的查询请求,在判断缓存数据符合预设的旧数据条件时,根据硬失效时间和当前时间随机刷新缓存数据,从众多缓存数据的查询请求中随机筛选出一个或少数几个请求执行刷新操作,在实现缓存数据刷的同时避免对后端系统造成过大的冲击。
相对于基于锁的刷新方案,本申请实施例由于不存在锁,因此降低了系统开销,进而保证了系统性能,降低了系统复杂度,进而保证了系统的维护性和扩展性。
由于不存在锁,因此也不会存在阻塞锁的争夺过程,避免了线程挂起,上下文切换的问题,减少了线程资料消耗,减少了缓存数据的请求时间,实现高效刷新。
相对于异步任务的刷新方案,本申请实施例无需依赖额外的软件组件或服务,减少了额外的依赖,由于无额外的软件组件或服务,因此减少了额外的系统开销,同时降低了系统的复杂度,保证了整体系统的维护性、稳定性和扩展性。
附图说明
图1是本申请的一种缓存数据的刷新方法实施例的步骤流程图;
图2是本申请的另一种缓存数据的刷新方法实施例的步骤流程图;
图3是本申请的一种缓存数据的刷新装置实施例的结构框图;
图4是本申请的另一种缓存数据的刷新装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
基于程序内同步锁(分布式环境中使用分布式锁)或其他类似的外部排他机制如数据库行级锁的方法中,具体可以包括以下方式:
1、阻塞式锁;其操作步骤可以如下:
a、缓存读线程发现需要刷新缓存数据;
b、请求获取锁;
c、若获取锁失败,则阻塞等待;
d、若获取锁成功,则再次检查缓存数据是否需要刷新缓存(二次确认,避免在前面的缓存读线程在本缓存读线程等待锁期间已经对缓存数据完成了刷新操作的情况下,再次对缓存数据进行刷新操作),如不需要,则释放锁,返回缓存数据(即前面的线程刷新后的缓存数据);
e、如果仍然需要刷新缓存,则从后端系统获取最新版本的业务数据;
f、用最新版本的业务数据刷新缓存数据;
g、释放锁;
h、返回最新版本的缓存数据给缓存使用者;
i、后续缓存读线程从缓存中读取最新版本的缓存数据。
2、非阻塞式锁,未获取到锁的缓存读线程订阅刷新后的缓存数据;其操作步骤可以如下:
a、缓存读线程发现需要刷新缓存数据;
b、请求获取锁;
c、若获取锁失败,则立即返回(非阻塞),订阅最新的缓存数据,然后等待;
d、若获取锁成功,则从后端系统获取最新版本的业务数据;
e、用最新版本的业务数据刷新缓存数据;
f、给所有订阅者发布最新版本的业务数据;
g、释放锁;
h、返回最新版本的缓存数据给缓存使用者;
i、后续缓存读线程从缓存中读取最新版本的缓存数据。
3、非阻塞式锁,未获取到锁的缓存读线程返回旧版本的缓存数据;其操作步骤可以如下:
a、缓存读线程发现需要刷新缓存数据;
b、请求获取锁;
c、若获取锁失败,则立即返回(非阻塞),并且返回旧版本的缓存数据;
d、若获取锁成功,则从后端系统获取最新版本的业务数据;
e、用最新版本的业务数据刷新缓存数据;
f、释放锁;
g、返回最新版本的缓存数据给缓存使用者;
h、后续缓存读线程从缓存中读取最新版本的缓存数据。
基于异步任务的方法中,具体可以包括以下方式:
4、基于具有重复任务合并功能的任务服务器(如Gearman);其操作步骤可以如下:
a、缓存读线程发现需要刷新缓存数据;
b、通过任务服务器发起一个针对该缓存数据的异步刷新任务;
c、返回当前旧版本的缓存数据
d、任务服务器执行一个针对同一缓存数据的异步刷新任务,之后废弃掉所有其他针对同一缓存数据的异步刷新任务(所有相同的任务只执行其中一个);
e、后续缓存读线程从缓存中读取最新版本的缓存数据。
5、基于独立后台线程的异步任务;其操作步骤可以如下:
a、某个或多个独立后台线程,定期扫描所有或部分缓存数据;
b、判断该缓存数据是否需要刷新;
c、若不需要刷新,则跳过该缓存数据;
d、若需要刷新,则执行缓存数据的刷新操作。
6、基于消息队列的异步任务方法;其操作步骤可以如下:
a、某个缓存数据在创建或刷新的同时也写入消息队列;
b、消息队列的订阅者对每个投递的消息,判断对应的缓存数据是否需要刷新;
c、若不需要刷新,则指示消息队列稍后再次投递并判断;
d、若需要刷新,则执行缓存数据的刷新操作,最新版本的缓存数据及其刷新标识或超时时间等写入消息队列,最后指示消息队列废弃之前的缓存数据对应的消息。
基于锁的刷新方案,不论是阻塞或非阻塞,本地或分布式,锁都有一定的系统开销;并且,锁的设置会系统的复杂度,同时,在阻塞锁的争夺过程中,存在缓存读线程挂起、上下文切换等问题,造成缓存读线程资源的浪费,同时增加请求的延时。
基于异步任务的刷新方案,无论是基于任务服务器、消息队列,还是独立维护线程的方式,都依赖额外的软件组件或服务,增加了额外的依赖,降低了整体系统的维护性和稳定性。额外的软件组件或服务都会使得存在额外的系统开销,系统的复杂度增加。
因此,提出了本申请实施例的核心构思之一,引入随机决策策略,从众多缓存数据的刷新请求中筛选出一个或少数几个请求执行刷新操作,在实现缓存数据刷新的同时避免对后端系统造成过大的冲击。
参照图1,示出了本申请的一种缓存的刷新方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,接收针对缓存数据库中缓存数据的查询请求;
需要说明的是,缓存数据库通常设置在缓存服务器中,本申请实施例可以应用于Key-Value数据库中,即所述缓存数据库可以包括Key-Value数据库。
Key-Value数据库也称为分布式哈希表、共享排序数组等等,是一种 NoSQL(非关系型数据库)模型,其数据按照键值对(Key-Value)的形式进行组织、索引和存储,数据存储元组没有统一的字段格式要求,数据的存储和访问以键值对(Key-Value)作为标识进行的。
缓存数据的查询请求可以是指当缓存使用者(如系统中的某个模块/组件)发出的对缓存数据进行读操作的指示。
当用户进行某个业务操作时(如查询用户信息),可以触发缓存数据的查询请求。
在具体实现中,所述缓存数据可以具有硬失效时间。
硬失效时间实质可以为一个时间戳(timestamp,通常是一个字符序列,唯一地标识某一刻的时间),其可以描述一个缓存数据的有效期,由缓存服务器对此时间戳进行存储和维护。
由于在业务上要求系统在某个时间之后检查某个业务数据的缓存数据是否与该业务数据的最新版本一致,如果出现不一致,需要刷新缓存数据(如值Value),以反映此缓存数据的最新状态。因此,在缓存服务器上通常会针对缓存数据设置有效期(即硬失效时间)。
在此硬失效时间之后,缓存服务器通常会从其存储目录(如Key-Value 数据库)中废弃或删除掉此缓存数据。对缓存使用者来说,此缓存数据从此不再存在于缓存服务器上。
在本申请实施例的一个示例中,可以从缓存服务器进行查询,获得硬失效时间。
具体而言,有些缓存服务器在查询缓存数据时会自动带上该硬失效时间戳,有些缓存服务器需要缓存数据查询之外的一次额外单独查询硬失效时间,有些缓存服务器不提供硬失效时间的查询,只能通过在缓存数据本身内附带此信息,然后在查询缓存数据时一并拿到。
步骤102,判断所述缓存数据是否符合预设的旧数据条件;
应用本申请实施例,可以预先设置表征旧版本的业务数据的条件(即旧数据条件),若缓存数据符合该旧数据条件,则可以表明缓存数据为旧版本的业务数据,需要刷新,若缓存数据未符合该旧数据条件,则可以表明缓存数据为最新版本的业务数据,无需刷新。
在具体实现中,查询请求中一般可以包括缓存标识,缓存服务器可以在缓存数据库中查询该缓存标识所标识的缓存数据。
若应用在Key-Value数据库中,该缓存数据可以包括关联的键Key和值 Value,在该查询请求中可以包括键Key(缓存标识),缓存服务器可以在 Key-Value数据库查找该键Key所关联的值Value。
在本申请的一种优选实施例中,所述缓存数据还可以具有软失效时间和 /或刷新标识;即缓存数据可以具有软失效时间,或者,可以具有刷新标识,或者,可以同时具有具有软失效时间和刷新标识。
软失效时间的实质也可以是一个时间戳,其可以是相对于硬失效时间的概念。
在本申请实施例的一个示例中,软失效时间通常在硬失效时间之前的一定时间点上,与缓存数据本身一起存储,并在针对缓存数据的对操作一并返回给缓存使用者。
缓存服务器感知不到此软失效时间的存在,在此时间戳之后,缓存服务器对该缓存数据不会有任何动作。
在实际应用中,通过该软失效时间,可以实现在对缓存数据执行刷新的同时,避免新的前端请求阻塞等待最新版本的缓存数据,仍然能够将旧版本的缓存数据返回给前端请求方。
刷新标识可以为标识某个缓存数据是否为旧版本的业务数据的信息。当后端系统的业务数据更新时,可以对缓存服务器中的缓存数据设置刷新标识。
具体地,该刷新标识可以具有刷新时间戳,若当前时间超过该刷新时间戳,则可以表示该缓存数据为旧版本的业务数据。
在实际应用中,该刷新标识可以存在如下实现方式:
1、若该刷新标识存在,则可以表示当前的缓存数据是旧版本的业务数据,需要被刷新;若该刷新标识不存在,则可以表示当前的缓存数据是最新版本的业务数据,不需要被刷新。因此,在缓存数据被刷新之后,该刷新标识可以进行清除,表示当前的缓存数据为最新版本的业务数据。
2、该刷新标识可以一直存在,且需要附带一个信息值,该信息值可以包括“需要”、“不需要”,以明确表示当前的缓存数据是否需要刷新,如信息指为“需要”则可以表示需要刷新当前的缓存数据,如信息值为“不需要”则可以表示不需要刷新当前的缓存数据;
3、该刷新标识可以一直存在,且需要附带一个信息值:该信息值可以明确表示当前缓存数据是否已是旧版本的业务数据。
在本申请实施例中,步骤102可以包括如下子步骤:
子步骤S11,判断当前时间是否大于缓存数据的软失效时间或刷新标识的刷新时间戳;若是,则执行子步骤S12;
子步骤S12,判断符合旧数据条件。
或者,
子步骤S13,当检测到刷新标识时,判断符合旧数据条件。
在本申请的一个实施例中,若当前时间是大于缓存数据的软失效时间或刷新标识的刷新时间戳,则可以认为当前的缓存数据(即缓存数据)为旧版本的业务数据,需要进行刷新。
当前时间一般在硬失效时间之前,否则,超过了硬失效时间,该缓存数据会被删除或废弃。
需要说明的是,软失效时间可以是基于一个假设,即过了软失效时间,可以认为缓存里面的数据是旧数据了,需要刷新,可以用后端系统的最新版本的业务数据重新设置到缓存里面,虽然很有可能该业务数据其实并无不同。也就是说不管缓存数据与后端系统的业务数据有无不同,都可以执行刷新操作。
在本申请的另一个实施例中,缓存服务器可以进行定时刷新,即指定刷新时间戳的时间信息,标识在该指定的刷新时间戳之后的缓存数据为旧版本的业务数据,也可以即时设置,即刷新标识在后端系统的业务数据更新时设置。
在即时设置的方式中,刷新标识一旦存在,则可以认为后端系统的业务数据更新了,需要在到达其刷新时间戳时执行刷新操作,刷新标识一直不出现,则可以一直认为缓存数据是最新版本的业务数据。此外,硬失效时间除了上述可以从缓存服务器中查询获得外,在本申请实施例的另一个示例中,可以在获得软失效时间或刷新标识之后通过反推算获得。
具体而言,可以由软失效时间或刷新标识的刷新时间戳加上一个约定的固定偏移量(如5分钟)计算。
即,硬失效时间=软失效时间+固定偏移量
硬失效时间=刷新标识(刷新时间戳)+固定偏移量
在此示例中,硬失效时间可以不存储在任何地方,每次通过上述公式计算而得。
相对应地,软失效时间除了上述与缓存数据本身一起存储,并在针对缓存数据的对操作一并返回给缓存使用者外,在本申请实施例的另一个示例中,可以在获得硬失效时候之后通过反推算获得。
具体而言,可以由硬失效时间减去个约定的固定偏移量(如5分钟)计算。
即,软失效时间=硬失效时-固定偏移量
在此示例中,软失效时间可以不存储在任何地方,每次通过上述公式计算而得。
步骤103,当符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据。
若判断当前的缓存数据为旧版本的业务数据,则可以随机刷新当前的缓存数据,以避免过多获取最新版本的业务数据(即原数据)的请求冲击后端系统。
在本申请的一种优选实施例中,步骤103可以包括如下子步骤:
子步骤S21,采用所述硬失效时间和当前时间计算特征数值;
本申请实施例中,可以按照一定的规则计算一特征数值,以进一步判断是否刷新当前的缓存数据。
在本申请的一种优选实施例中,子步骤S21进一步可以包括如下子步骤:
子步骤S211,计算当前时间与所述硬失效时间之间的间隔时间;
子步骤S212,采用所述间隔时间计算特征数值;其中,所述特征数值与所述间隔时间可以成反比。
当前时间与硬失效时间之间的间隔时间越小,则可以表明当前时间越接近硬失效时间。
而由于特征数值与时间间隔可以成反比,则特征数值越大,时间间隔越小,可以表示当前时间越接近硬失效时间。
在本申请实施例的一种优选示例中,可以通过以下公式计算特征数值:
公式1
其中,w为所述缓存数据的软失效时间或刷新标识的刷新时间戳、与硬失效时间之间的差值,x为间隔时间。
当然,上述公式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他公式计算特征数值,可以实现特征数值与间隔时间成反比的特性即可,本申请实施例对此不加以限制。
子步骤S22,调用随机函数,获得随机数值;
在实际应用中,随机函数可以为随机产生一个数值的函数,例如rand()、 srand()等等。
子步骤S23,当所述特征数值大于所述随机数值时,刷新所述缓存数据。
本申请实施例中,可以使用随机决策策略,判断特征数值与随机数值的大小,以决定是否进行刷新。
一方面,特征数值越大,可以表示当前时间越接近硬失效时间。
另一方面,特征数值越大,大于随机数值的几率也越大,执行刷新操作的几率越大。
即当前时间越接近硬失效时间,缓存数据被刷新的几率越大。
在具体实现中,可以通过以下公式判断特征数值是否大于随机数值:
公式2
其中,f(x)为布尔值,为特征数值,rand(1)为随机函数,可以获取得到大于或等于0、且小于1的随机数值。
当特征数值大于随机数值时,f(x)=true,当特征数值小于或等于随机数值时,f(x)=false。
在本申请的一种优选实施例中,子步骤S23进一步可以包括如下子步骤:
子步骤S231,获取所述缓存数据对应的原数据;若进一步判断当前的缓存数据需要进行刷新操作时,则可以向从后端系统发送请求,获取缓存数据对应的原数据。
其中,后端系统通常指数据库,是独立于缓存服务器的,负责存储业务数据、且维护着最新版本的业务数据(即原数据)。
发送到后端系统的请求可以包括业务的唯一ID(Identity,身份标识) 或一些组合查询条件,后端系统可以根据该业务的唯一ID或一些组合查询条件查找到最新版本的业务数据(即原数据)。
需要说明的是,后端系统存储的业务数据中通常不会包含软失效时间和刷新标识,因此说后端系统是独立于缓存服务器的,也就是说没有缓存服务器的存在,后端系统也可以独立运作。
子步骤S232,采用所述原数据刷新在缓存数据库中的所述缓存数据。
本申请实施例中,对获取到最新版本的业务数据(即原数据),可以刷新当前在缓存数据库中的缓存数据,例如,若在Key-Value数据库中,则可以采用最新版本的业务数据(即原数据)刷新缓存数据中的值Value,实现刷新操作,以保证当前的缓存数据为最新版本的业务数据。
本申请实施例针对缓存数据库中缓存数据的查询请求,在判断缓存数据符合预设的旧数据条件时,根据硬失效时间和当前时间随机刷新缓存数据,从众多缓存数据的查询请求中随机筛选出一个或少数几个请求执行刷新操作,在实现缓存数据刷的同时避免对后端系统造成过大的冲击。
相对于基于锁的刷新方案,本申请实施例由于不存在锁,因此降低了系统开销,进而保证了系统性能,降低了系统复杂度,进而保证了系统的维护性和扩展性。
由于不存在锁,因此也不会存在阻塞锁的争夺过程,避免了线程挂起,上下文切换的问题,减少了线程资料消耗,减少了缓存数据的请求时间,实现高效刷新。
相对于异步任务的刷新方案,本申请实施例无需依赖额外的软件组件或服务,减少了额外的依赖,由于无额外的软件组件或服务,因此减少了额外的系统开销,同时降低了系统的复杂度,保证了整体系统的维护性、稳定性和扩展性。
在本申请的一种优选实施例中,步骤103还可以包括如下子步骤:
子步骤S24,当所述特征数值小于或等于所述随机数值时,返回所述缓存数据。
本申请实施例中,在当前业务情景允许的情况下,若判断当前的缓存数据为旧数据,也可以对当前的缓存数据的查询请求不刷新缓存数据,而直接返回当前的缓存数据,以避免等待获取最新版本的业务数据,消耗系统性能,过多的获取原数据的请求冲击后端系统。
若应用在Key-Value数据库中,则可以返回值Value给缓存使用者。
例如,缓存数据为某个商品的详情介绍,若该详情介绍增加了某段文本,在后端系统进行了更新,对于缓存使用者来说,使用最新版本的详情介绍和使用旧版本的该详情介绍影响不大,为了避免等待获取最新版本的该详情介绍,可以直接返回旧版本的详情介绍。
参照图2,示出了本申请的另一种缓存的刷新方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,检测针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;
步骤202,判断所述缓存数据是否符合预设的旧数据条件;
步骤203,当符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据;
步骤204,对刷新后的所述缓存数据重置软失效时间;
本申请实施例中,可以对刷新后的缓存数据重置软失效时间以标识某个时间点下刷新后的缓存数据是否为最新版本的业务数据。
或者,
步骤205,对刷新后的所述缓存数据清除所述刷新标识。
本申请实施例中,可以对刷新后的缓存数据清除,以表示当前的缓存数据为最新版本的业务数据。
步骤206,返回刷新后的缓存数据。
本申请实施例中,可以将获取到的最新版本的业务数据(即刷新后的缓存数据)返回给缓存使用者,进行相应的业务操作。
若应用在Key-Value数据库中,则可以返回值Value给缓存使用者。
需要说明的是,本申请实施例中可以先对刷新后的缓存数据设置软失效时间和刷新标识中的至少一个,再返回原数据,也可以先返回原数据,在对刷新后的缓存数据设置软失效时间和刷新标识中的至少一个,本申请实施例对此不加以限制。
步骤207,当未符合旧数据条件时,返回所述缓存数据。
在本申请实施例中,若缓存数据未符合该旧数据条件,则可以表明缓存数据为最新版本的业务数据,无需刷新,可以直接返回缓存使用者。
若应用在Key-Value数据库中,则可以返回值Value给缓存使用者。
为使本领域技术人员更好地理解本申请实施例,以下通过具体的示例来说明本申请实施例中的缓存数据的刷新方法。
假设在某个平台系统中,10000个营业员需要不停地查询用户ID为1000 的用户的用户信息。
在后端系统存储着用户ID为1000的用户的用户信息,其中包含手机号码等。
为了提升系统的查询能力,平台系统引入了缓存服务器(缓存服务器的查询效率远优于后端系统),在缓存数据库中设置了该用户的用户信息,则营业员们在查询的时候先从缓存服务器里面查询所需的缓存数据,不用每次每个人的查询请求都去到后端系统进行查询,这样的目的是所有营业员都能更快的拿到自己所需的信息,同时后端系统没有太大的负荷,可以把节省下来的计算能力服务到其他地方。
有一天,该用户更换了自己的手机号码,在后端系统进行了记录。这就需要缓存服务器里面的旧手机号码(缓存数据)需要刷新,刷新该用户新的手机号码,这样营业员们才能拿到该用户的新的手机号码。
在实际应用中,可以对旧手机号码(缓存数据)设置软失效时间或刷新标识。其中,置软失效时间和刷新标识可以基于Key-Value数据库或关系型数据库来存储,主要可以包括:此刷新标识对应的缓存条目的值Key,以及,软失效时间或该刷新标识的时间戳。
如在Key-Value数据库中可表示为cache_flag:{customer_id:1000,time:”20140831101010”};
如在关系数据库中,可以在表cache_flag中的设置一条记录customer_id 字段值为1000,time字段值为20140831101010。
其中,customer_id表示用户ID,time表示软失效时间或刷新标识的刷新时间戳,而20140918000700可以表示2014年9月18日0时7分0秒。
缓存数据可存储为:customer_info_1000:{mobile:1399999999},其中键 Key为customer_info_1000(即用户ID),值Value为{mobile:1399999999} (即手机号码,为方便举例,本示例中仅列出用户信息中的手机号码一个字段,但仍可以设置其他字段)。
假设该缓存数据的硬失效时间为2014.09.1800:10:00,软失效时间为2014.09.1800:07:00,当前时间为2014.09.1800:08:00。
由于当前时间已过软失效时间,该缓存数据需要刷新,则按照公式1, w=3,x=2,可以计算出特征数值=((3-2)/3)^8=0.0001524,若调用随机函数值rand(1)=0.0001,由于0.0001524>0.0001,按照公式2,布尔值f(2)=true,此时需要对缓存数据进行刷新操作。
向后端系统发送请求,该请求中包括用户ID,后端系统查找到该用户 ID对应的用户信息,其中可以包括新的手机号码(即原数据)。
在接收到新的手机号码后,可以刷新旧手机号码,并返回新手机号码给营业员。
若调用随机函数值rand(1)=0.2,由于0.0001524<0.2,按照公式2,布尔值f(2)=false,此时不需要对缓存数据进行刷新操作。
在公式1中,由于一般大于0,且,小于1,在计算其8次方之后,大大地缩小了其数值,即特征数值一般情况下会很小,而随机数值rand(1)是随机获取0-1的随机数值,很大概率上特征数值是小于随机数值的,因此不会集中更新缓存数据。
当前时间越靠近硬失效时间,x就会越小,由公式1计算的特征数值也会越大,该特征数值大于随机数值的概率越大,缓存数据越有可能被刷新。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图3,示出了本申请的一种缓存数据的刷新装置实施例的结构框图,具体可以包括如下模块:
查询请求接收模块301,用于接收针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;
旧数据条件判断模块302,用于判断所述缓存数据是否符合预设的旧数据条件;
缓存数据随机刷新模块303,用于在符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据。
在具体实现中,所述缓存数据库可以包括Key-Value数据库。
在本申请的一种优选实施例中,所述缓存数据还可以具有软失效时间和 /或刷新标识;所述刷新标识可以具有刷新时间戳;
所述旧数据条件判断模块302可以包括如下子模块:
时间判断子模块,用于判断当前时间是否大于缓存数据的软失效时间或刷新标识的刷新时间戳;若是,则调用第一符合判断子模块;
第一符合判断子模块,用于判断符合旧数据条件;
或者,
第二符合判断子模块,用于在检测到刷新标识时,判断符合旧数据条件。
在本申请的一种优选实施例中,所述缓存数据随机刷新模块303可以包括如下子模块:
特征数值计算子模块,用于采用所述硬失效时间和当前时间计算特征数值;
随机数值获得模块,用于调用随机函数,获得随机数值;
缓存数据刷新子模块,用于在所述特征数值大于所述随机数值时,刷新所述缓存数据。
在本申请的一种优选实施例中,所述缓存数据刷新子模块可以包括如下子模块:
原数据获取子模块,用于获取所述缓存数据对应的原数据;
原数据刷新子模块,用于采用所述原数据刷新在缓存数据库中的所述缓存数据。
在本申请的一种优选实施例中,所述特征数值计算子模块可以包括如下子模块:
间隔时间计算子模块,用于计算当前时间与所述硬失效时间之间的间隔时间;
反比计算子模块,用于采用所述间隔时间按照计算特征数值;其中,所述特征数值与所述间隔时间成反比。
在本申请实施例的一种优选示例中,可以通过以下公式计算特征数值:
其中,w为所述缓存数据的软失效时间或刷新标识的刷新时间戳、与硬失效时间之间的差值,x为间隔时间。
在本申请的一种优选实施例中,所述缓存数据随机刷新模块303还可以包括如下子模块:
第三返回子模块,用于在所述特征数值小于或等于所述随机数值时,返回所述缓存数据。
参照图4,示出了本申请的另一种缓存数据的刷新装置实施例的结构框图,具体可以包括如下模块:
查询请求接收模块401,用于接收针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;
旧数据条件判断模块402,用于根据所述查询请求判断所述缓存数据是否符合预设的旧数据条件;
缓存数据随机刷新模块403,用于在符合旧数据条件时,根据所述硬失效时间和当前时间随机刷新所述缓存数据。
重置模块404,用于对刷新后的所述缓存数据重置软失效时间;
和/或,
清除模块405 ,用于对刷新后的所述缓存数据清除所述刷新标识。
第一返回模块406 ,用于返回刷新后的缓存数据。
第二返回模块407 ,用于在未符合旧数据条件时,返回所述缓存数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种缓存数据的刷新方法和一种缓存数据的刷新装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种缓存数据的刷新方法,其特征在于,包括:
接收多个针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;所述缓存数据的查询请求为缓存使用者发出的,对缓存数据进行读操作的指示;
判断所述缓存数据是否符合预设的旧数据条件;
当符合旧数据条件时,根据所述硬失效时间和当前时间从多个所述查询请求中,随机筛选出一个或多个查询请求刷新所述缓存数据;
所述缓存数据还具有软失效时间和/或刷新标识;所述刷新标识具有刷新时间戳;
所述根据所述查询请求判断所述缓存数据是否符合预设的旧数据条件的步骤包括:
判断当前时间是否大于缓存数据的软失效时间或刷新标识的刷新时间戳;若是,则判断符合旧数据条件;
或者,
当检测到刷新标识时,判断符合旧数据条件。
2.根据权利要求1所述的方法,其特征在于,所述缓存数据库包括Key-Value数据库。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述硬失效时间和当前时间随机刷新所述缓存数据的步骤包括:
采用所述硬失效时间和当前时间计算特征数值;
调用随机函数,获得随机数值;
当所述特征数值大于所述随机数值时,刷新所述缓存数据。
4.根据权利要求3所述的方法,其特征在于,所述刷新所述缓存数据的步骤包括:
获取所述缓存数据对应的原数据;
采用所述原数据刷新在缓存数据库中的所述缓存数据。
5.根据权利要求3所述的方法,其特征在于,所述采用所述硬失效时间和当前时间计算特征数值的步骤包括:
计算当前时间与所述硬失效时间之间的间隔时间;
采用所述间隔时间计算特征数值;其中,所述特征数值与所述间隔时间成反比。
6.根据权利要求5所述的方法,其特征在于,通过以下公式计算特征数值:
其中,w为所述缓存数据的软失效时间或刷新标识的刷新时间戳、与硬失效时间之间的差值,x为间隔时间。
7.根据权利要求1或2或4或5或6所述的方法,其特征在于,还包括:
对刷新后的所述缓存数据重置软失效时间;
或者,
对刷新后的所述缓存数据清除所述刷新标识。
8.根据权利要求1或2或4或5或6所述的方法,其特征在于,还包括:
返回刷新后的缓存数据。
9.根据权利要求1或2或4或5或6所述的方法,其特征在于,还包括:
当未符合旧数据条件时,返回所述缓存数据。
10.根据权利要求3所述的方法,其特征在于,还包括:
当所述特征数值小于或等于所述随机数值时,返回所述缓存数据。
11.一种缓存数据的刷新装置,其特征在于,包括:
查询请求接收模块,用于接收多个针对缓存数据库中缓存数据的查询请求;所述缓存数据具有硬失效时间;所述缓存数据的查询请求为缓存使用者发出的,对缓存数据进行读操作的指示;
旧数据条件判断模块,用于判断所述缓存数据是否符合预设的旧数据条件;
缓存数据随机刷新模块,用于在符合旧数据条件时,根据所述硬失效时间和当前时间从多个所述查询请求中,随机筛选出一个或多个查询请求刷新所述缓存数据;
所述缓存数据还具有软失效时间和/或刷新标识;所述刷新标识具有刷新时间戳;
所旧数据条件判断模块包括:
时间判断子模块,用于判断当前时间是否大于缓存数据的软失效时间或刷新标识的刷新时间戳;若是,则调用第一符合判断子模块;
第一符合判断子模块,用于判断符合旧数据条件;
或者,
第二符合判断子模块,用于在检测到刷新标识时,判断符合旧数据条件。
12.根据权利要求11所述的装置,其特征在于,所述缓存数据随机刷新模块包括:
特征数值计算子模块,用于采用所述硬失效时间和当前时间计算特征数值;
随机数值获得模块,用于调用随机函数,获得随机数值;
缓存数据刷新子模块,用于在所述特征数值大于所述随机数值时,刷新所述缓存数据。
13.根据权利要求12所述的装置,其特征在于,所述缓存数据刷新子模块包括:
原数据获取子模块,用于获取所述缓存数据对应的原数据;
原数据刷新子模块,用于采用所述原数据刷新在缓存数据库中的所述缓存数据。
14.根据权利要求12所述的装置,其特征在于,所述特征数值计算子模块包括:
间隔时间计算子模块,用于计算当前时间与所述硬失效时间之间的间隔时间;
反比计算子模块,用于采用所述间隔时间按照计算特征数值;其中,所述特征数值与所述间隔时间成反比。
15.根据权利要求11或12或13或14所述的装置,其特征在于,还包括:
重置模块,用于对刷新后的所述缓存数据重置软失效时间;
和/或,
清除模块,用于对刷新后的所述缓存数据清除所述刷新标识。
16.根据权利要求11或12或13或14所述的装置,其特征在于,还包括:
第一返回模块,用于返回刷新后的缓存数据。
17.根据权利要求11或12或13或14所述的装置,其特征在于,还包括:
第二返回模块,用于在未符合旧数据条件时,返回所述缓存数据。
18.根据权利要求12所述的装置,其特征在于,所述缓存数据随机刷新模块还包括:
第三返回子模块,用于在所述特征数值小于或等于所述随机数值时,返回所述缓存数据。
CN201410610781.6A 2014-11-03 2014-11-03 一种缓存数据的刷新方法和装置 Active CN105630819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410610781.6A CN105630819B (zh) 2014-11-03 2014-11-03 一种缓存数据的刷新方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410610781.6A CN105630819B (zh) 2014-11-03 2014-11-03 一种缓存数据的刷新方法和装置

Publications (2)

Publication Number Publication Date
CN105630819A CN105630819A (zh) 2016-06-01
CN105630819B true CN105630819B (zh) 2019-06-11

Family

ID=56045767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410610781.6A Active CN105630819B (zh) 2014-11-03 2014-11-03 一种缓存数据的刷新方法和装置

Country Status (1)

Country Link
CN (1) CN105630819B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878365B (zh) * 2016-06-08 2020-01-31 阿里巴巴集团控股有限公司 一种数据同步方法和设备
CN106407347B (zh) * 2016-09-05 2019-08-06 北京奇虎科技有限公司 一种缓存数据的方法和装置
CN106453590B (zh) * 2016-10-31 2020-08-04 车智互联(北京)科技有限公司 iOS端_后端可配置常用信息的系统
CN108304408B (zh) * 2017-01-12 2021-04-02 中国移动通信集团公司 一种缓存数据刷新方法及装置
CN106934057A (zh) * 2017-03-22 2017-07-07 福建中金在线信息科技有限公司 一种分页缓存数据的更新方法和装置
CN108509562B (zh) * 2018-03-23 2022-02-11 聚好看科技股份有限公司 业务处理方法、装置、电子设备及存储介质
CN108833500B (zh) * 2018-05-29 2021-03-30 创新先进技术有限公司 服务调用方法、服务提供方法、数据传递方法和服务器
CN110543492A (zh) * 2019-08-13 2019-12-06 中国银行股份有限公司 一种防止缓存失效的方法及装置
CN112734064A (zh) * 2019-10-14 2021-04-30 阿里巴巴集团控股有限公司 一种数据处理方法、设备及存储介质
CN111048186A (zh) * 2019-11-07 2020-04-21 福建亿能达信息技术股份有限公司 一种基于缓存和锁的库存预扣方法及系统
CN111061654B (zh) * 2019-11-11 2022-05-10 支付宝(杭州)信息技术有限公司 缓存刷新处理方法及装置和电子设备
CN111367952B (zh) * 2020-03-02 2023-08-25 中国邮政储蓄银行股份有限公司 缓存数据的分页查询方法、系统及计算机可读存储介质
CN111737299A (zh) * 2020-06-19 2020-10-02 中国建设银行股份有限公司 缓存数据处理方法及装置
CN112732751B (zh) * 2020-12-30 2023-04-28 北京懿医云科技有限公司 一种医学数据处理方法、装置、存储介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779132A (zh) * 2011-05-12 2012-11-14 阿里巴巴集团控股有限公司 数据更新方法、系统及数据库服务器
CN102902730A (zh) * 2012-09-10 2013-01-30 新浪网技术(中国)有限公司 基于数据缓存的读数据方法及装置
CN102984286A (zh) * 2012-11-14 2013-03-20 上海牙木通讯技术有限公司 一种dns服务器的缓存更新方法、装置及系统
CN103246656A (zh) * 2012-02-03 2013-08-14 宇龙计算机通信科技(深圳)有限公司 生成静态缓存页面的方法及服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583666B2 (en) * 2010-12-08 2013-11-12 International Business Machines Corporation Identity propagation through application layers using contextual mapping and planted values

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779132A (zh) * 2011-05-12 2012-11-14 阿里巴巴集团控股有限公司 数据更新方法、系统及数据库服务器
CN103246656A (zh) * 2012-02-03 2013-08-14 宇龙计算机通信科技(深圳)有限公司 生成静态缓存页面的方法及服务器
CN102902730A (zh) * 2012-09-10 2013-01-30 新浪网技术(中国)有限公司 基于数据缓存的读数据方法及装置
CN102984286A (zh) * 2012-11-14 2013-03-20 上海牙木通讯技术有限公司 一种dns服务器的缓存更新方法、装置及系统

Also Published As

Publication number Publication date
CN105630819A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105630819B (zh) 一种缓存数据的刷新方法和装置
US11288282B2 (en) Distributed database systems and methods with pluggable storage engines
US20200327107A1 (en) Data Processing Method, Apparatus, and System
CN105718455B (zh) 一种数据查询方法及装置
US8069224B2 (en) Method, equipment and system for resource acquisition
US11586506B2 (en) System and method for indexing image backups
US20210149882A1 (en) Field update method and apparatus, and electronic device
CN108804234B (zh) 数据存储系统及其操作方法
US11687595B2 (en) System and method for searching backups
US20170161352A1 (en) Scalable snapshot isolation on non-transactional nosql
US11080146B2 (en) System and method for storage unavailability tolerant backup
CN109254981B (zh) 一种分布式缓存系统的数据管理方法和装置
CN108566291A (zh) 一种事件处理的方法、服务器及系统
EP3049940A1 (en) Data caching policy in multiple tenant enterprise resource planning system
CN107357557B (zh) 一种信息更新方法及装置
US10606795B2 (en) Methods for managing a buffer cache and devices thereof
US10185735B2 (en) Distributed database system and a non-transitory computer readable medium
CN115174158B (zh) 基于多云管理平台的云产品配置检查方法
US10942866B1 (en) Priority-based cache
CN108090152B (zh) 一种数据同步方法及系统
CN106940660B (zh) 缓存的实现的方法和装置
US20220237176A1 (en) Method and system for managing changes of records on hosts
CN109783499A (zh) 一种数据缓存方法、装置和服务器
US11281542B2 (en) System and method for backup generation for deployments
CN105760396B (zh) 一种网页加载方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240227

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TR01 Transfer of patent right