一种数据缓存方法、系统、存储介质及计算机程序产品与流程

文档序号:39329349发布日期:2024-09-10 11:35阅读:9来源:国知局
一种数据缓存方法、系统、存储介质及计算机程序产品与流程

本发明涉及计算机辅助设计(computer aided design,cad),具体涉及一种数据缓存方法、系统、存储介质及计算机程序产品。


背景技术:

1、随着信息网络技术的发展,为了提高数据查询计算的效率,往往会提供缓存功能的控制功能,例如,在服务器上增加缓存功能的控制层,预先获取数据并且保存到存储器中,若用户查询的数据在缓存中,则直接从缓存中获取数据并返回给用户,以此,提高数据查询效率。

2、并且,在现有技术中,考虑到存储空间的有限性,通常会采用请求量大小等因素对于排在末尾的有限项缓存数据进行更新(换言之,现有技术采用的是一种对尾部有限项进行更新的机制)。例如,cn111984889a公开了一种缓存方法及系统。其通过基于特征值对缓存队列中的缓存资源进行排序,并将排序之后的缓存队列队尾的预设数量的缓存资源进行释放,然后将目标url所对应的目标缓存资源保存到缓存队列中的方式,可以将被请求次数最低和不常访问的缓存资源及时释放掉,从而保证缓存队列中的缓存资源的有效性,避免了缓存资源的浪费,缓解了现有技术中存在的不加区分的缓存所导致的查询耗时从而影响软件运行速度的问题。

3、但是,申请人发现,若直接将传统的尾部有限项更新的机制应用于cad图纸的存储场景下,缓存数据的时效性非常不稳定,即非常容易出现缓存池过期的问题。


技术实现思路

1、本发明的目的在于提供一种数据缓存方法,部分地解决或缓解现有技术中的上述不足,能够避免缓存池过期,在合理利用缓存资源的情况下,减小清除机制对于计算机性能的消耗。

2、为了解决上述所提到的技术问题,本发明具体采用以下技术方案:

3、本发明的第一方面,在于提供一种数据缓存方法,包括步骤:

4、s100为至少一个查询目标的第一查询条件提供缓存池,所述缓存池中预存有至少一个与所述第一查询条件相对应的特征值;其中,所述第一查询条件还关联有查询权重等级,所述查询权重等级用于反应所述第一查询条件的第一查询频次的大小;

5、s101获取用户在第一时间内输入的第二查询条件和第三查询条件,以及所述第二查询条件、第三查询条件在第一时间内的第二查询频次、第三查询频次;

6、s102采用第一清除机制判断所述第二查询条件是否触发清除机制,若是,则执行s103,s103对所述缓存池中的至少一部分数据进行清除;其中,所述第一清除机制要求当所述第二查询条件满足以下两项条件时,触发清除机制:

7、(1)特定查询条件的所述第一查询频次和所述第二查询频次之间的差值大于第一设定值,所述特定查询条件为查询权重等级大于设定等级的第一查询条件;

8、(2)所述第二查询频次与所述第三查询频次之间的差值大于第二设定值;

9、其中,至少一部分数据包括:与所述特定查询条件相对应的所述特征值。

10、在一些实施例中,在s100之前,还包括步骤:

11、判断所述用户输入的查询条件所对应的特征值的清除速率是否大于预设速率;若是,则执行s100。

12、在一些实施例中,在s100之前,还包括步骤:

13、判断所述用户输入的查询条件所对应的特征值的数据尺寸是否小于预设尺寸;若是,则执行s100。

14、在一些实施例中,在s103之前,还包括步骤:

15、当s102的结果为是时,获取满足所述第一清除机制的所述第二查询条件的数量;

16、判断所述数量是否大于设定的条件数量,若是,则执行s103。

17、在一些实施例中,在s101之前,还包括步骤:

18、根据所述缓存池所对应的当前查询目标与所述第一查询条件为所述缓存池创建至少一个异常值,其中所述异常值为与所述第一查询条件不相关的特征值;

19、对应地,所述第一清除机制还要求所述第二查询条件所对应的特征值与所述异常值相匹配。

20、在一些实施例中,在s101之前,还包括:

21、s104采用第二清除机制判断当前查询状态是否触发清除机制;若是,则执行s103,若否,则执行s101;

22、其中,所述第二清除机制要求当前所述用户的用户身份类型与上一个所述用户的用户身份类型不匹配时,则触发清除机制,其中所述用户身份类型预先关联有至少一项查询条件类型,当两个用户身份类型之间不存在相同的所述查询条件类型时,则认为二者不匹配。

23、本发明还提供了一种数据缓存系统,包括:

24、缓存模块,被配置为用于为至少一个查询目标的第一查询条件提供缓存池,所述缓存池中预存有至少一个与所述第一查询条件相对应的特征值;其中,所述第一查询条件还关联有查询权重等级,所述查询权重等级用于反应所述第一查询条件的第一查询频次的大小;

25、查询条件获取模块,被配置为用于获取用户在第一时间内输入的第二查询条件和第三查询条件,以及所述第二查询条件、第三查询条件在第一时间内的第二查询频次、第三查询频次;

26、第一清除机制判定模块,被配置为用于采用第一清除机制判断所述第二查询条件是否触发清除机制,若是,则进入清除模块,所述清除模块被配置为用于对所述缓存池中的至少一部分数据进行清除;其中,所述第一清除机制要求当所述第二查询条件满足以下两项条件时,触发清除机制:

27、(1)特定查询条件的所述第一查询频次和所述第二查询频次之间的差值大于第一设定值,所述特定查询条件为查询权重等级大于设定等级的第一查询条件;

28、(2)所述第二查询频次与所述第三查询频次之间的差值大于第二设定值;

29、其中,至少一部分数据包括:与所述特定查询条件相对应的所述特征值。

30、在一些实施例中,还包括:

31、清除速率判断模块,被配置为用于判断所述用户输入的查询条件所对应的特征值的清除速率是否大于预设速率;若是,则进入缓存模块

32、本发明还提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如任意一项实施例中所述的方法。

33、本发明还提供了一种计算机程序产品,其被配置为存储计算机可读指令,所述计算机可读指令被执行时使得计算机执行如实现如任意一项实施例中所述的方法。

34、有益技术效果:

35、与传统的尾部有限项更新机制截然相反,本发明提出了一种对头部缓存数据(即缓存池中历史查询等级权重靠前的多项特征值),甚至是整个缓存池进行整体清除的特定清除机制。并且,这种截然相反的头部清除或整体清除的特定清除机制能够在合理利用缓存池资源的基础上,减小长期运行过程中清除对于计算机性能的消耗。

36、换个角度来说,与传统的更新机制不同,本发明不仅仅解决了缓存资源的合理利用问题,还关注到了缓存清除过程对于计算机性能所产生的消耗,从而通过整体式清除减小必要清除次数(申请人发现,在传统的尾部有限项更新机制中,通过持续的动态更新,将比本技术中的整体式清除产生更多次的清除次数)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1