一种动态缓存数据失效调度方法、装置和缓存系统制造方法及图纸

技术编号:18458775 阅读:25 留言:0更新日期:2018-07-18 12:41
本申请实施例提供一种动态缓存数据失效调度方法、装置和缓存系统,所述方法包括:当满足预设的触发条件时,确定缓存贮存时间到达的缓存数据;根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件;若判断在预设时间段内存在高频调用事件,延长所述缓存数据的缓存贮存时间;若判断在预设时间段内不存在高频调用事件,将所述缓存数据加入待失效缓存数据队列。通过本申请实施例可以实现动态调整缓存贮存时间,解决了超时时间固定带来的灵活性不强的问题,减少了读写开销。

A dynamic cache data failure scheduling method, device and cache system

The present application embodiment provides a dynamic cache data failure scheduling method, device, and caching system. The method includes: determining the cache data arriving at the cache storage time when the preset triggering condition is met, and judging whether there is a high frequency call in the preset time period according to the history call frequency of the cached data. Event; if there is a high frequency call event in the preset time period, the cache storage time of the cached data is extended; the cache data is added to the invalid cache data queue if there is no high frequency call event in the preset time period. Through this application example, the cache storage time can be dynamically adjusted, and the problem of low flexibility brought by the timeout time fixed is solved, and the reading and writing overhead is reduced.

【技术实现步骤摘要】
一种动态缓存数据失效调度方法、装置和缓存系统
本申请实施例涉及计算机
,具体涉及一种动态缓存数据失效调度方法、装置和缓存系统。
技术介绍
缓存是指可以进行高速数据交换的存储器,具有读取速率高的优点。通常将读取频率高的数据存入缓存,客户端请求数据时优先从缓存读取数据。若缓存中不存在客户端请求的数据,才从数据库查询该数据。这种数据存储和调度方式有效缓解了数据库的访问压力,提高了数据的读取效率。然而,缓存的空间是有限的,在缓存空间紧张时,需要通过一定的方法清理缓存中的数据。目前,通常会设置缓存数据超时时间,当缓存数据超过这个时间后会自动失效。然而,由于缓存数据失效的时间是固定的,不能根据缓存数据的使用情况进行调整,存在灵活性不高的缺陷。例如,有可能存在缓存数据失效后下一时刻需要立即使用该缓存数据的情况,这时只能从数据库中读取该数据,带来较大的读写开销。
技术实现思路
本申请实施例提供了一种动态缓存数据失效调度方法、装置和缓存系统,旨在解决现有技术缓存数据失效方法灵活性不高、读写开销大的技术问题。为此,本申请实施例提供如下技术方案:本申请实施例的第一方面公开了一种动态缓存数据失效调度方法方法,包括:当满足预设的触发条件时,确定缓存贮存时间到达的缓存数据;根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件;若判断在预设时间段内存在高频调用事件,延长所述缓存数据的缓存贮存时间;若判断在预设时间段内不存在高频调用事件,将所述缓存数据加入待失效缓存数据队列。可选地,所述满足预设的触发条件包括:当确定缓存系统的存储空间不足时,确定满足预设的触发条件;或者,当预设的失效检查周期开始时,确定满足预设的触发条件。可选地,所述根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件包括:根据缓存数据的历史调用频率,判断从当前时间起、预设个数的时间单元内,所述缓存数据的调用频率是否大于设定频率阈值或者所述缓存数据的调用频率等级是否大于设定的等级阈值;若所述缓存数据的调用频率大于设定频率阈值或者所述缓存数据的调用频率等级大于设定的等级阈值,确定存在高频调用事件;若所述缓存数据的调用频率不大于设定频率阈值或者所述缓存数据的调用频率等级不大于设定的等级阈值,确定不存在高频调用事件。可选地,所述延长所述缓存数据的缓存贮存时间包括:将所述缓存数据的缓存贮存时间延长预设个数的时间单元;或者,确定高频调用事件的发生时间,将所述缓存数据的缓存贮存时间延长至该高频调用事件发生时间之后。可选地,所述方法还包括:根据所述待失效缓存数据队列中的缓存数据的地址,判断是否存在具有相同来源的缓存数据的失效数量大于设定数量阈值;若存在具有相同来源的缓存数据的失效数量大于设定数量阈值,将部分或者全部具有相同来源的缓存数据移除所述待失效缓存数据队列。可选地,所述将部分或者全部具有相同来源的缓存数据移除所述待失效缓存数据队列包括:在具有相同来源的缓存数据中,确定查询开销符合设定条件的缓存数据;将所述查询开销符合设定条件的缓存数据移除。可选地,所述查询开销符合设定条件的缓存数据包括:查询开销大于设定开销阈值的缓存数据;或者,将缓存数据的查询开销由高低到低排序,将排在前N位的查询开销对应的缓存数据作为符合设定条件的缓存数据。可选地,所述查询开销通过以下方式确定:根据所述缓存数据的查询时间、查询复杂度、查询数据量中的一种或多种加权计算得到所述查询开销。本申请实施例的第二方面,公开了一种数据缓存方法,所述方法包括:存储缓存数据以及所述缓存数据的缓存贮存时间;记录所述缓存数据的调用数据,所述调用数据至少包括所述缓存数据的历史调用频率;当满足预设的触发条件时,确定缓存贮存时间到达的缓存数据;根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件;若判断在预设时间段内存在高频调用事件,延长所述缓存数据的缓存贮存时间;若判断在预设时间段内不存在高频调用事件,将所述缓存数据加入待失效缓存数据队列。可选地,所述方法还包括:根据所述待失效缓存数据队列中的缓存数据的地址,判断是否存在具有相同来源的缓存数据的失效数量大于设定数量阈值;若存在具有相同来源的缓存数据的失效数量大于设定数量阈值,将部分或者全部具有相同来源的缓存数据移除所述待失效缓存数据队列。可选地,所述将部分或者全部具有相同来源的缓存数据移除所述待失效缓存数据队列包括:在具有相同来源的缓存数据中,确定查询开销符合设定条件的缓存数据;将所述查询开销符合设定条件的缓存数据移除。本申请实施例的第三方面,公开了一种调度装置,包括:确定单元,用于当满足预设的触发条件时,确定缓存贮存时间到达的缓存数据;判断单元,用于根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件;延长单元,用于若判断在预设时间段内存在高频调用事件,延长所述缓存数据的缓存贮存时间;加入单元,用于若判断在预设时间段内不存在高频调用事件,将所述缓存数据加入待失效缓存数据队列。本申请实施例的第四方面,公开了一种缓存系统,包括存储装置、监控装置、调度装置,其中:所述存储装置用于存储缓存数据以及所述缓存数据的缓存贮存时间;所述监控装置用于记录所述缓存数据的调用数据,所述调用数据至少包括所述缓存数据的历史调用频率;所述调度装置用于当满足预设的触发条件时,确定缓存贮存时间到达的缓存数据;根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件;若判断在预设时间段内存在高频调用事件,延长所述缓存数据的缓存贮存时间;若判断在预设时间段内不存在高频调用事件,将所述缓存数据加入待失效缓存数据队列。本申请实施例的第五方面,公开了一种用于动态缓存数据失效调度的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如第一方面所述的动态缓存数据失效调度的方法。本申请实施例的第六方面,公开了一种用于动态缓存数据失效调度的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如第二方面所述的数据缓存的方法。本申请实施例的第七方面,公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如第一方面所述的动态缓存数据失效调度的方法。本申请实施例的第八方面,公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如第二方面所述的数据缓存方法。本申请实施例提供的动态缓存数据失效调度方法、装置,调度装置可以根据缓存贮存时间到达的缓存数据的历史调用频率判断在预设时间段内是否存在高频调用事件,若存在,延长缓存数据的缓存贮存时间,当高频调用事件发生时,客户端可以直接从存储装置中调用该缓存数据,而不需要查询数据库再从数据库中调用该缓存数据,减少查询开销,解决了超时时间固定带来的灵活性不强的问题;若不存在,则将缓存数据加入待失效缓存数据队列,以便调度装置可以及时清理缓存数据,减少存储空间的占用,使得缓存系统可以正常运行。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显本文档来自技高网...

【技术保护点】
1.一种动态缓存数据失效调度方法,其特征在于,包括:当满足预设的触发条件时,确定缓存贮存时间到达的缓存数据;根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件;若判断在预设时间段内存在高频调用事件,延长所述缓存数据的缓存贮存时间;若判断在预设时间段内不存在高频调用事件,将所述缓存数据加入待失效缓存数据队列。

【技术特征摘要】
1.一种动态缓存数据失效调度方法,其特征在于,包括:当满足预设的触发条件时,确定缓存贮存时间到达的缓存数据;根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件;若判断在预设时间段内存在高频调用事件,延长所述缓存数据的缓存贮存时间;若判断在预设时间段内不存在高频调用事件,将所述缓存数据加入待失效缓存数据队列。2.根据权利要求1所述的方法,其特征在于,所述根据所述缓存数据的历史调用频率,判断在预设时间段内是否存在高频调用事件包括:根据缓存数据的历史调用频率,判断从当前时间起、预设个数的时间单元内,所述缓存数据的调用频率是否大于设定频率阈值或者所述缓存数据的调用频率等级是否大于设定的等级阈值;若所述缓存数据的调用频率大于设定频率阈值或者所述缓存数据的调用频率等级大于设定的等级阈值,确定存在高频调用事件;若所述缓存数据的调用频率不大于设定频率阈值或者所述缓存数据的调用频率等级不大于设定的等级阈值,确定不存在高频调用事件。3.根据权利要求1或2所述的方法,其特征在于,所述延长所述缓存数据的缓存贮存时间包括:将所述缓存数据的缓存贮存时间延长预设个数的时间单元;或者,确定高频调用事件的发生时间,将所述缓存数据的缓存贮存时间延长至该高频调用事件发生时间之后。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述待失效缓存数据队列中的缓存数据的地址,判断是否存在具有相同来源的缓存数据的失效数量大于设定数量阈值;若存在具有相同来源的缓存数据的失效数量大于设定数量阈值,将部分或者全部具有相同来源的缓存数据移除所述待失效缓存数据队列。5.根据权利要求4所述的方法,其特征在于,所述将部分或者全部具有相同来源的缓存数据移除所述待失效缓存数据队列包括:在具有相同来源的缓存数据中,确定查询开销符合设定条件的缓存数据;将所述查询开销符合设定条件的缓存数据移除。6.一种数据缓存方法,其特征在于,所述方法包括:存储缓存数据以及所述缓存数据的缓存贮...

【专利技术属性】
技术研发人员:谈旭
申请(专利权)人:沈阳东软医疗系统有限公司
类型:发明
国别省市:辽宁,21

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

1