一种缓存管理方法及装置制造方法及图纸

技术编号:15617033 阅读:85 留言:0更新日期:2017-06-14 03:37
本发明专利技术公开一种缓存管理方法及装置,该方法包括:确定缓存中的目标缓存对象,所述目标缓存对象是数据属性为系统内部配置的缓存对象,和/或在当前生命周期内的被访问次数大于设定阈值系统外部配置的缓存对象;根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象;将所述实时数据对象写入所述缓存,同时生成所述实时数据对象的缓存失效时间,用以降低现有的缓存管理方法发生缓存雪崩的概率。

【技术实现步骤摘要】
一种缓存管理方法及装置
本专利技术涉及数据处理领域,尤其涉及一种缓存管理方法及装置。
技术介绍
缓存技术是指利用缓冲器保存网页中数据,其基本思想是利用客户访问的时间局部性原理,将客户访问过的内容在缓冲器中存放一个副本,当该内容下次被访问时,不立即访问数据库服务器,而是先从缓冲器查询。缓存技术可以在很大程度上避免重复运算和重复IO(输入输出)访问数据库,因此可以极大的提升数据处理速度。目前各种系统会大量的使用缓存,用以提高数据访问速度。目前使用缓存技术的系统会设置缓存的有效时间,例如半小时。在缓存未失效之前,该系统可以命中缓存快速返回命中结果。当缓存失效时,该系统命中缓存失败,会重新进行运算和IO访问。虽然在缓存失效后,可以重建缓存,但是如果在缓存重建完成以前有大量的访问请求,就会出现大量的重复运算和IO访问,很可能会触发缓存雪崩,导致使用缓存技术的系统的处理速度显著下降。综上,目前的缓存技术在实际使用时存在缓存雪崩的隐患。
技术实现思路
本专利技术实施例提供一种缓存管理方法及装置,用以降低现有的缓存管理方法发生缓存雪崩的概率。本专利技术方法包括一种缓存管理方法,该方法包括:确定缓存中的目标缓存对象,所述目标缓存对象是数据属性为系统内部固定参数的缓存对象,和/或数据属性为系统外部请求参数且在当前生命周期内的被访问次数大于设定阈值的缓存对象;根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象;将所述实时数据对象写入所述缓存,同时生成所述实时数据对象的缓存失效时间。基于同样的专利技术构思,本专利技术实施例进一步地提供一种缓存管理装置,该装置包括:确定单元,用于确定缓存中的目标缓存对象,所述目标缓存对象是数据属性为系统内部固定参数的缓存对象,和/或数据属性为系统外部请求参数且在当前生命周期内的被访问次数大于设定阈值的缓存对象;获取单元,用于根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象;写入单元,用于将所述实时数据对象写入所述缓存;生成单元,用于生成所述实时数据对象的缓存失效时间。本专利技术实施例,预先获取缓存中的每个缓存对象的数据属性和缓存失效时间,根据每个缓存的数据属性确定出系统内部固定参数,将数据属性为系统内部固定参数的缓存对象确定为目标缓存对象;同时将数据属性为系统外部请求参数的缓存对象且在当前生命周期内的被访问次数大于设定阈值的缓存对象确定为目标缓存对象,这样,根据目标缓存对象的缓存失效时间,对目标缓存进行更新操作,更新的方法是从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象,将所述实时数据对象写入所述缓存,同时生成所述实时数据对象的缓存失效时间,这样相当于对目标缓存进行预刷新,使得目标缓存在被用户请求时始终是有效的,因此本专利技术实施例可以做到尽可能避免发生缓存穿透,从而降低发生缓存雪崩的概率,提高了数据处理系统的稳定性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中的一种数据访问流程示意图;图2为现有技术中的一种瞬时请求缓存数据切面示意图;图3为本专利技术实施例提供的一种缓存管理方法流程示意图;图4为本专利技术实施例提供的缓存管理方法应用于银联钱包的示意图;图5为本专利技术实施例提供的的一种数据访问流程示意图;图6为本专利技术实施例提供的一种缓存管理装置架构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部份实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。目前,应用系统通常分为客户端和服务器端,例如用户通过web客户端将大量Http请求发送到web服务端形成高并发访问流量,应用系统数据访问架构图如图1所示,在图1中,web客户端101包括各种浏览器,web服务端102与Cache(缓存)服务端103、和数据库以及其它节点104相连接,其中,该应用系统的数据访问步骤如下:步骤1,web客户端101通过Http协议发送各种数据请求到web服务器端102。步骤2,web服务器端102根据各种数据请求的报文按照一定规则拼接缓存key值,调用Cache服务端103。步骤3,Cache服务端103收到由web服务器端102通过调用Cache客户端发送的请求,根据缓存key值进行查询,然后返回值Server服务端102相关的缓存数据。步骤4,当Cache服务端103返回数据为空或异常数据时,Server服务端102调用DB(数据库)或OtherNode(其他服务终端),查询相关数据。步骤5,DB或OtherNode收到请求对相关请求进行数据处理后,返回相应数据报文。步骤6,当Cache服务端103返回数据为空或异常数据并且DB或OtherNode能正常访问到数据,则通过Server服务端102的Cache客户端发送写数据缓存请求。步骤7,Cache服务端103收到Cache客户端发送的完成写操作并返回相关成功或失败应答给web服务器端102。步骤8,web服务器端102按照web客户端101请求通过业务系统处理后数据返回应答报文。当Cache服务端103中数据缓存失效,且在高并发情况下发生缓存穿透,因此大量请求会被转移到DB或OtherNode,从而缓存失去应有的作用。如图2所示,该图给出了瞬时请求缓存数据切面图,当web服务器端以一秒为时间轴请求Cache服务器端,在此一秒的时间轴中,存在两种请求情况:(1)通过web服务器端的Cache客户端请求CacheServer,此时所请求缓存数据未失效正常返回数据。web服务器端根据业务逻辑处理相关数据与缓存数据,组装报文后正常返回。(2)通过web服务器端的Cache客户端请求CacheServer,此时所请求缓存数据已失效返回数据为空,web服务器端请求数据库或其他服务终端,获取相关数据与server端业务逻辑一并处理后,组装报文正常返回。故,当第一种请求情况发生缓存穿透时,势必会造成web服务器端请求数据库或其他服务终端,就会出现大量的重复运算和IO访问,很可能会触发缓存雪崩,导致使用缓存技术的系统的处理速度显著下降。基于以上分析,本专利技术实施例提供了一种缓存管理方法流程示意图,如图3所示,具体地实现方法包括:步骤201,确定缓存中的目标缓存对象,所述目标缓存对象是数据属性为系统内部固定参数的缓存对象,和/或数据属性为系统外部请求参数且在当前生命周期内的被访问次数大于设定阈值的缓存对象。步骤202,根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象。步骤203,将所述实时数据对象写入所述缓存,同时生成所述实时数据对象的缓存失效时间。在执行步骤201之前,预先获取缓存中的每个缓存对象的数据属性以及缓存创建时间和缓存失效时间,通过每个缓存对象的缓存创建时本文档来自技高网...
一种缓存管理方法及装置

【技术保护点】
一种缓存管理方法,其特征在于,该方法包括:确定缓存中的目标缓存对象,所述目标缓存对象是数据属性为系统内部固定参数的缓存对象,和/或数据属性为系统外部请求参数且在当前生命周期内的被访问次数大于设定阈值的缓存对象;根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象;将所述实时数据对象写入所述缓存,同时生成所述实时数据对象的缓存失效时间。

【技术特征摘要】
1.一种缓存管理方法,其特征在于,该方法包括:确定缓存中的目标缓存对象,所述目标缓存对象是数据属性为系统内部固定参数的缓存对象,和/或数据属性为系统外部请求参数且在当前生命周期内的被访问次数大于设定阈值的缓存对象;根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象;将所述实时数据对象写入所述缓存,同时生成所述实时数据对象的缓存失效时间。2.如权利要求1所述的方法,其特征在于,根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象,包括:在所述目标缓存对象的缓存失效时间发生时,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象。3.如权利要求2所述的方法,其特征在于,根据所述目标缓存对象的缓存失效时间,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象,包括:在距离所述目标缓存对象的缓存失效时间发生前的设定时间段内,从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象。4.如权利要求3所述的方法,其特征在于,所述从数据库服务器中获取与目标缓存对象的关键值相同的实时数据对象之后,将所述实时数据对象写入所述缓存之前,还包括:删除所述缓存中所述缓存失效时间在所述设定时间段内即将发生的目标缓存对象。5.如权利要求1至4任一项所述的方法,其特征在于,所述将所述实时数据对象写入所述缓存之后,还包括:当将所述实时数据对象写入所述缓存后,确定所述缓存中与所述实时数据对象创建时间相同的缓存对象的第一缓存失效时间集合;所述生成所述实时数据对象的缓存失效时间...

【专利技术属性】
技术研发人员:富达升
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1