CN105354193A - 数据库数据缓存方法、查询方法及缓存装置、查询装置 - Google Patents

数据库数据缓存方法、查询方法及缓存装置、查询装置 Download PDF

Info

Publication number
CN105354193A
CN105354193A CN201410408818.7A CN201410408818A CN105354193A CN 105354193 A CN105354193 A CN 105354193A CN 201410408818 A CN201410408818 A CN 201410408818A CN 105354193 A CN105354193 A CN 105354193A
Authority
CN
China
Prior art keywords
data
time
invoked
buffer memory
frequency
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
CN201410408818.7A
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.)
Alibaba Group Holding 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 CN201410408818.7A priority Critical patent/CN105354193A/zh
Publication of CN105354193A publication Critical patent/CN105354193A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据库数据缓存方法、查询方法及缓存装置、查询装置。通过建立通过判断数据被调用频率进行缓存的机制。将被查询和调用频率高的数据放入缓存,当输入查询条件时,对于被调用频率高的数据,直接从缓存中调用,从而降低数据查询时间,提高数据返回的速度,优化资源利用率和系统性能。

Description

数据库数据缓存方法、查询方法及缓存装置、查询装置
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库数据缓存方法、查询方法及缓存装置、查询装置。
背景技术
目前,一般使用数据库进行数据存储,很多业务系统的运行也基于数据库进行。当用户或程序查询数据时,输入查询条件,系统根据查询条件直接访问数据库进行查询,并将查询的结果返回给用户或程序,将查询的结果返回时,也完成对数据库数据的一次调用。
随着数据库技术的发展,数据库能够存储的数据越来越多,当数据库中存储了海量数据,或者用户或程序的查询量很大时,查询过程常常超时。或者,一些业务系统在处理过程中,需要频繁查询数据库中的基础配置表,占据了数据库查询资源,导致用户或程序在查询时,往往需要等待很长时间才能得到查询结果。但很多用户在查询结果未及时返回,例如系统页面一直显示在处理中,或者显示系统繁忙时,可能会再次按照查询条件进行查询,加之对数据库的查询往往是多个用户并发操作,使得对数据库的查询调用极为频繁,不仅导致查询过程超时严重,还会使系统内存占用增加,严重影响系统性能,甚至导致系统宕机。
现阶段,比较通用的解决数据查询超时的处理方式,是对数据库建立分库分表的机制,输入查询条件以后,按照查询条件在不同的库和表中进行路由(路径选择)。但发明人在实现本发明的过程中发现,上述处理方式由于需要在不同的和表中查询,数据查询效率提高得并不明显,而且易出错,不能有效地解决数据查询超时和效率低的问题。
发明内容
为克服相关技术中数据查询超时和效率低的问题,本申请提供一种数据数据库数据缓存、查询方法及缓存、查询装置。
根据本申请实施例的第一方面,提供一种数据库数据缓存方法,包括:
记录数据被调用的次数和第一次被调用的时间;
当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,将所述数据放入缓存。
可选的,所述的数据库数据缓存方法,当数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值,且所述时间间隔以内数据被调用的次数大于或等于次数阈值时,将所述数据放入缓存。
可选的,所述的数据库数据缓存方法,还包括:
当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零,重新记录所述数据被调用的次数和第一次被调用的时间。
可选的,所述的数据库数据缓存方法,在所述数据被放入缓存后,还包括:
固化所述数据第一次被调用时间至当前被调用时间的时间间隔以内被调用的频率。
可选的,所述的数据库数据缓存方法,在所述数据被放入缓存后,还包括:
固化所述数据第一次被调用时间至当前被调用时间的时间间隔以内被调用的频率;
当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在将所述数据放入缓存之前,还包括:
判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存,否则,按缓存中其他数据的所述被调用的频率从小至大的排列顺序依次删除缓存中的其他数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
可选的,所述的数据库数据缓存方法,将所述数据放入缓存之后,还包括:
记录所述数据被放入缓存的时间和放入缓存时被调用的次数;
所述数据每次从缓存中被调用时,所述数据的被调用的次数加1。
可选的,所述的数据库数据缓存方法,还包括:
将所述数据放入缓存之后,记录所述数据被放入缓存的时间和放入缓存时被调用的次数,所述数据每次从缓存中被调用时,所述数据的被调用的次数加1;
当缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值小于预设的保存次数时,将所述数据从缓存中删除。
可选的,所述的数据库数据缓存方法,还包括:
将所述数据放入缓存之后,记录所述数据被放入缓存的时间和放入缓存时被调用的次数,所述数据每次从缓存中被调用时,所述数据的被调用的次数加1;
当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在将所述数据放入缓存之前,还包括:
判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存,否则,分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率;
按各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率从小至大的排列顺序依次删除缓存中的数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
可选的,所述的数据库数据缓存方法,在分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率之后,还包括:
判断所述数据被调用的频率是否小于或等于缓存中数据的最小的被调用频率;
当所述数据被调用的频率小于或等于所述最小的被调用频率时,所述数据不放入缓存,否则,按各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率从小至大的排列顺序依次删除缓存中的数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
可选的,所述的数据库数据缓存方法,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在将所述数据放入缓存之前,还包括:
判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存,否则,按缓存中数据放入缓存的时间由早至晚的排列顺序依次删除缓存中的数据,直至缓存当前的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
根据本申请实施例的第二方面,提供一种数据查询方法,包括:
判断缓存中是否存在满足部分或者完全查询条件的数据;
当缓存中存在满足完全查询条件的数据时,返回所述数据;
当缓存中存在满足部分查询条件的数据时,返回所述数据,并在数据库中查询满足其余部分查询条件的数据;
当缓存中不存在与查询条件对应的数据时,在数据库查询与查询条件对应的数据。
根据本申请实施例的第三方面,提供一种数据库数据缓存装置,包括:
调用次数记录单元,用于记录数据被调用的次数;
调用时间记录单元,用于记录数据当前被调用的时间和第一次被调用的时间;
第一判断单元,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值;
第一存入单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,将所述数据放入缓存。
可选的,所述的数据库数据缓存装置中,所述第一判断单元,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否大于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否小于次数阈值;
所述第一存入单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,将所述数据放入缓存。
可选的,所述的数据库数据缓存装置,还包括:
第二判断单元,用于判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值;
第三判断单元,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值;
清零单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零。
可选的,所述的数据库数据缓存装置,还包括:
固化单元,用于数据放入缓存后,固化所述数据的第一次被调用时间至当前被调用时间的时间间隔以内被调用的频率。
可选的,所述的数据库数据缓存装置,还包括:
缓存容量判断单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,或者,当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
第二存入单元,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
第一删除单元,用于当缓存当前的剩余容量小于所述数据占用的容量时,按缓存中其他数据固化的被调用的频率从小至大的排列顺序依次删除缓存中的其他数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
可选的,所述的数据库数据缓存装置,还包括:
存入时间记录单元,用于记录数据被放入缓存的时间;
存入次数记录单元,用于记录被放入缓存时数据被调用的次数;
调用次数记录单元,用于当数据每次从缓存中被调用时,将所述数据被调用的次数加1。
可选的,所述的数据库数据缓存装置,其特征在于,还包括:
第四判断单元,用于判断缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值是否小于预设的保存次数;
第二删除单元,用于当缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值小于预设的保存次数时,将所述数据从缓存中删除。
可选的,所述的数据库数据缓存装置,还包括:
缓存容量判断单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,或者,当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
第二存入单元,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
第一计算单元,用于分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率;
第三删除单元,用于当缓存当前的剩余容量小于所述数据占用的容量时,按各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率从小至大的排列顺序依次删除缓存中的数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
可选的,所述的数据库数据缓存装置,还包括:
频率比较单元,用于判断所述数据被调用的频率是否小于或等于缓存中其他数据中最小的被调用频率;
存入禁止单元,用于当所述数据被调用的频率小于或等于所述最小的被调用频率时,禁止所述第二存入单元;
存入使能单元,用于当所述数据被调用的频率大于所述最小的被调用频率时,使能所述第二存入单元。
可选的,所述的数据库数据缓存装置,还包括:
缓存容量判断单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,或者,当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
第二存入单元,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
第四删除单元,用于当缓存当前的剩余容量小于所述数据占用的容量时,按其他数据放入缓存的时间由早至晚的排列顺序依次删除缓存中的其他数据,直至缓存当前的剩余容量大于或等于所述数据占用的容量时,停止删除。
根据本申请实施例的第四方面,提供一种数据查询装置,包括:
数据判断单元,用于判断缓存中是否存在满足部分或者完全查询条件的数据;
缓存数据返回单元,用于当缓存中存在满足部分或者完全查询条件的数据时,返回所述数据;
数据库查询单元,用于用于当缓存中存在满足部分查询条件的数据时,在数据库中查询满足其余部分查询条件的数据,或者,当缓存中不存在与查询条件对应的数据时,在数据库查询与查询条件对应的数据。
因此本申请实施例提供的技术方案可以包括以下有益效果:实现通过判断数据被调用频率进行缓存的机制。将被查询和调用频率高的数据放入缓存,当输入查询条件时,对于被调用频率高的数据,直接从缓存中调用,从而降低数据查询时间,提高数据返回的速度,提高系统资源利用率和系统性能,优化用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一示例性实施例示出的一种数据库数据缓存方法的流程示意图。
图2为本申请另一示例性实施例示出的一种数据库数据缓存方法的流程示意图。
图3为本申请又一示例性实施例示出的一种数据库数据缓存方法的流程示意图。
图4为本申请又一示例性实施例示出的一种数据库数据缓存方法的流程示意图。
图5为本申请又一示例性实施例示出的一种数据库数据缓存方法的流程示意图。
图6为本申请一示例性实施例示出的一种数据查询方法的流程示意图。
图7为本申请一示例性实施例示出的一种数据库数据缓存装置的框图。
图8为本申请另一示例性实施例示出的一种数据库数据缓存装置的框图。
图9为本申请又一示例性实施例示出的一种数据库数据缓存装置的框图。
图10为本申请又一示例性实施例示出的一种数据库数据缓存装置的框图。
图11为本申请一示例性实施例示出的一种数据查询装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了全面理解本申请,在以下详细描述中提到了众多具体的细节,但是本领域技术人员应该理解,本申请可以无需这些具体细节而实现。在其他实施例中,不详细描述公知的方法、过程、组件和装置,以免不必要地导致实施例模糊。
根据本申请实施例的第一面,提供一种数据库数据缓存方法。
图1为本申请一示例性实施例示出的一种数据库数据缓存方法的流程示意图。如图1所示,所述方法,在第一种可能的实施方式中,可以包括:
在步骤S101中,记录数据被调用的次数和第一次被调用的时间。
其中,可以为数据设置标志位和时间记录位。所述标志位用于记录数据被调用的次数,其初始值为0,数据每次被调用,所述标志位加1。所述时间记录位用于记录数据被调用的时间,可以包括第一次调用时间记录位和当前被调用时间记录位,所述第一次调用时间记录位用于记录数据第一次被调用的时间,所述当前被调用时间位用于记录当前被调用的时间。
在步骤S102中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,将所述数据放入缓存。
其中,当数据第一次被调用之后,再次被调用时,可以先判断数据是否为第一次调用,所述判断数据是否为第一次调用可以通过判断第一次被调用时间记录位的值是否为空来进行,当第一次被调用时间记录位非空时,即第一次被调用时间记录位有时间值时,所述数据为非第一次调用,此时,所述当前被调用时间记录位记录数据当前被调用的时间。当第一次被调用时间记录位非空,数据再次被调用时,计算数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率,所述时间间隔为第一次被调用的时间和当前被调用的时间构成的闭区间,将所述时间间隔以内数据被调用的次数以N表示,当前被调用的时间以Tc表示,第一次被调用的时间以Tf表示,则所述时间间隔表示为[TcTf],频率以F表示,则F可以由N除以(Tc-Tf)得到。在得到数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率(F)后,判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率(F)是否大于或等于频率阈值,当F大于或等于预先设置的频率阈值时,即数据被调用的频率高于一定的值时,将所述数据存入缓存。其中,被调用的次数由标志位记录,所述频率阈值,可以根据系统的性能、系统缓存的大小确定,例如系统性能低,处理速度慢,但缓存大,则所述频率阈值可以设置为较小的值,从而可以将更多的数据放入缓存,提高数据查询效率,反之,系统性能较高,但缓存较小,则可以将所述频率设置为较大的值,其他依情况可以以此类推。当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率阈值时,数据不放入缓存。
图2为本申请另一示例性实施例示出的一种数据库数据缓存方法的流程示意图。如图2所示,所述方法,在第二种可能的实施方式中,可以包括:
在步骤S201中,记录数据被调用的次数和第一次被调用的时间。
所述步骤S201与图1所示方法中的步骤S101相同。
在步骤S202中,当数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值,且所述时间间隔以内数据被调用的次数大于或等于次数阈值时,将所述数据放入缓存。
其中,步骤S202中,将步骤S102中对数据是否应当放入缓存的判断(即判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值),替换为判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于或等于时间阈值,以及判断所述时间间隔以内数据被调用的次数是否大于或等于次数阈值。当数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值,且所述时间间隔以内数据被调用的次数大于或等于次数阈值时,将所述数据放入缓存。其中,时间阈值可以根据数据被调用的情况、系统性能、缓存大小等确定,例如,数据是周期性被调用的,则所述时间阈值可以设置为与数据被调用的周期相同,或者系统性能低,缓存小,则将时间阈值设置为较大的值,使缓存中数据更新的速度较慢;次数阈值亦可以根据系统性能、缓存大小确定,例如系统性能高、缓存大,则将次数阈值设置为较小的值,使更多数据放入缓存,提供数据查询效率。
相应的,当数据第一次被调用的时间至当前被调用的时间的时间间隔大于或等于时间阈值,但所述时间间隔以内数据被调用的次数小于次数阈值时,数据不放入缓存,或者,数据在超过与时间阈值相等的时间间隔以后被调用的次数达到了次数阈值,数据也不放入缓存。也就是说,数据在设定的时间段以内被调用的次数大于设定的值时,将数据放入缓存,在该设定的时间段以内被调用的次数没有达到设定的值时,数据不放入缓存。
本申请在图1所示的第一种可能的实施方式中,步骤S102没有规定判断涉及的时间段,步骤S102中的判断方式,从第一次被调用的时间开始,不论时间长短,只要至当前被调用的时间的时间间隔以内,数据被调用的频率大于一定的值,数据便被放入缓存。而在图2所示的第二种可能的实施方式中,从第一次被调用的时间开始,超过一定的时间范围后,数据被调用的次数才达到一定的值,或者小于一定的值,数据都不放入缓存,虽然从第一次被调用的时间开始,数据被调用的频率可能达到一个高的值,在图2所示的第二种可能的实施方式中,数据也不放入缓存。在图2所示的第二种可能的实施方式适用于数据被调用的情况稳定、有规律的数据库,例如,数据库中的数据通常是被周期性地调用的,则可以只需判断周期时间范围内被调用的次数是否大于一定的值(例如次数阈值)即可,不需多次计算频率来判断,使判断过程更简洁。而前述使用数据第一次被调用的时间至当前被调用的时间的时间间隔以内数据被调用的频率来判断数据是否应当存入缓存的方式,更适用于数据被调用的情况无周期性规律的数据库。
本申请实施例所述的数据库数据缓存方法,在一种优选的实施方式中,还可以包括:
当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零,重新记录所述数据被调用的次数和第一次被调用的时间。
其中,频率F=N/(Tc-Tf),当Tc-Tf所得的差值大于时间预设值,且F小于频率预设值时,说明数据在长时间内调用的频率小,被调用的次数少,此时将所述数据被调用的次数和第一次被调用的时间清零,例如将数据的标志位和第一次被调用时间记录位清零,清零后,当数据再一次被调用时,以再一次被调用的时间为第一次被调用的时间,并重新记录之后数据被调用的次数。上述过程重复循环进行。对长时间内调用频率小的数据,将被调用的次数和第一次被调用的时间清零,再重新记录,可以防止数据被调用的情况无规律时,对数据是否被放入缓存的误判。例如,设时间预设值为1小时,数据在第一次被调用后,在10小时之内没有第二次调用,但之后调用频繁,如果不使用上述清零的过程,10小时之后,由于当前被调用时间和第一次被调用时间之间的差值很大,同时后续时间也在累积,虽然10小时之后数据被调用频繁,但所计算出来的频率可能仍然很小,数据不会被放入缓存中,影响系统查询效率的提高。使用清零措施,还可以减少图2所示的第二种可能的实施方式中,从第一次被调用的时间开始,超过时间阈值规定的时间范围后,数据被调用的次数才大大超过次数阈值,使数据被调用的频率可能达到一个高的值,数据可以放入缓存但未放入的情况。例如,使时间预设值等于时间阈值,次数阈值等于时间阈值乘以频率阈值,从第一次被调用的时间开始,经过时间预设值规定的时间间隔后,由于数据被调用的次数低于次数阈值,数据不会被放入缓存中,此时满足清零条件,数据的第一次被调用的时间和被调用的次数清零,重新开始记录,由于之后数据一直被频繁调用,数据被存入缓存的条件满足时,便可以放入缓存,提高数据查询效率。
其中,所述时间预设值可以根据数据库中数据被调用的情况确定,例如在系统试运行时,统计数据库中数据被调用的时间规律,例如大部分数据被调用的时间和次数之间呈相似的正态分布,则可以将跨度最小的正态分布曲线前端的一部分对应的时间作为时间预设值,例如从起始点上升至顶点的1/3的曲线段对应的时间。但对于图2所示的方法,所示时间预设值应当等于或大于时间阈值。所述频率预设值可以根据系统性能、缓存大小确定,例如系统性能低、缓存大,则可以选取较小的频率预设值,以便及时对调用频率低的数据重新记录第一次被调用的时间和被调用的次数,如果后续数据被调用频率增加,则可以得到更为准确的数据被调用的情况,判断是否应当将数据放入缓存。频率预设值可以和频率阈值相等,也可以小于频率阈值。
当数据当前被调用的时间与第一次被调用的时间之间的差值小于时间预设值时,或者,当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,但数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于频率预设值时,所述数据被调用的次数和第一次被调用的时间不清零。
其中,当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,可以替换为当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的次数小于次数预设值时。由于频率等于次数和时间相除,当时间相同时,频率和次数为正比关系,因此可以使用次数替换频率来进行判断。
图3为本申请又一示例性实施例示出的一种数据库数据缓存方法的流程示意图。如图3所示,所述方法,在第三种可能的实施方式中,可以包括:
在步骤S301中,记录数据被调用的次数和第一次被调用的时间。
所述步骤S301与图1所示方法中的步骤S101相同。
在步骤S302中,判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值,以及数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值。
在步骤S303中,当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零,重新记录所述数据被调用的次数和第一次被调用的时间。
其中,可以将频率替换为次数,频率预设值替换为次数预设值来判断数据是否应当将所述数据被调用的次数和第一次被调用的时间清零。
在步骤S304中,当数据不满足清零条件时,判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值。
其中,当数据不满足清零条件时,即当数据当前被调用的时间与第一次被调用的时间之间的差值小于时间预设值时,或者,当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,但数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于频率预设值时,上述条件下数据被调用的次数和第一次被调用的时间不清零。
在步骤S305中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,所述步骤S304也可以替换为判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于或等于时间阈值,以及判断所述时间间隔以内数据被调用的次数是否大于或等于次数阈值,替换后,所述步骤S305中,当数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值,以及判断所述时间间隔以内数据被调用的次数大于或等于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率阈值时,或者,当不满足数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值且所述时间间隔以内数据被调用的次数大于或等于次数阈值的条件时,不对缓存当前的剩余容量进行判断,数据不放入缓存。
在步骤S306中,当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存。
在步骤S307中,当缓存当前的剩余容量小于所述数据占用的容量时,按缓存中各个数据放入缓存的时间由早至晚的排列顺序依次删除缓存中的数据,直至缓存当前的剩余容量大于或等于所述数据占用的容量时,停止删除。
当步骤S308停止删除时,缓存当前的剩余容量会大于或等于所述数据占用的能量,满足步骤S309中将数据放入缓存的条件,在步骤S307停止删除后,可以同样执行步骤S306,将所述数据放入缓存。
其中,步骤S305当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在数据放入缓存之前,比较缓存剩余的容量和数据占用的容量,以判断缓存剩余的容量是否足以保存所述数据,其中,数据占用的容量可以为数据的大小。当缓存当前的剩余容量大于或等于所述数据占用的容量时,即当缓存剩余的容量足以存储所述数据时,将数据放入缓存。
在步骤S307中,当缓存当前的剩余容量小于所述数据占用的容量时,即当缓存剩余的容量不足以存储所述数据时,按缓存中各个数据放入缓存的时间由早至晚的排列顺序依次删除缓存中的数据,直至缓存当前的剩余容量大于或等于所述数据占用的容量时,即缓存容量足以存储所述数据时,停止删除。对于需要存入缓存的新数据,当缓存的剩余容量不足时,将缓存中存储时间排列在前数据删除,以使新数据能够存入,并使缓存中的数据为最新的数据,本实施方式适用于数据库的数据可能有更新的情况。
其中,步骤S302和步骤S303也可以在数据库数据经判断不需放入缓存后执行,此时,步骤S301后直接执行步骤S304,判断数据库数据是否应当放入缓存。
图4为本申请又一示例性实施例示出的一种数据库数据缓存方法的流程示意图。如图4所示,所述方法,在第四种可能的实施方式中,可以包括:
在步骤S401中,记录数据被调用的次数和第一次被调用的时间。
所述步骤S401与图1所示方法中的步骤S101相同。
在步骤S402中,判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值,以及数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值。
在步骤S403中,当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零,重新记录所述数据被调用的次数和第一次被调用的时间。
其中,可以将频率替换为次数,频率预设值替换为次数预设值来判断数据是否应当将所述数据被调用的次数和第一次被调用的时间清零。
在步骤S404中,当数据不满足清零条件时,判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值。
在步骤S405中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,所述步骤S404也可以替换为判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于或等于时间阈值,以及判断所述时间间隔以内数据被调用的次数是否大于或等于次数阈值,替换后,所述步骤S405中,当数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值,以及判断所述时间间隔以内数据被调用的次数大于或等于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率阈值时,或者,当不满足数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值且所述时间间隔以内数据被调用的次数大于或等于次数阈值的条件时,不对缓存当前的剩余容量进行判断,数据不放入缓存。
在步骤S406中,当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存。
在步骤S407中,当缓存当前的剩余容量小于所述数据占用的容量时,按缓存中其他数据固化的被调用的频率从小至大的排列顺序依次删除缓存中的其他数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
其中,当步骤S407停止删除时,缓存当前的剩余容量会大于或等于所述数据占用的能量,满足步骤S406中将数据放入缓存的条件,在步骤S406停止删除后,可以同样执行步骤S406,将所述数据放入缓存。
在步骤S408中,固化所述数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率。
其中,步骤S408中的所述固化为保持数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率不变。对于数据调用情况稳定、有规律的数据库,例如,数据被调用的频率始终保持一致,则可以在将数据放入缓存后,固化数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率,同时可以不再对数据被调用的次数和当前被调用的时间进行记录。使用固化措施,可以节省计算资源,减少数据处理步骤,也方便用户或程序在需要时查询和比较数据被调用的频率,例如,在需要考察被调用频率高的数据时,例如比对数据之间的热度(热度可以用数据被调用的频率来衡量)或者数据修改前后的热度时,如这些数据已放入缓存,则可以直接查询所述数据被固化的被调用的频率来比对。
在本实施例中,虽然步骤S408是在数据放入缓存之后执行,但步骤S407是基于步骤S408的,需要说明的是,本申请所述的缓存,是指专门用于存储数据库数据的缓存或者缓存中专门用于存储数据库数据的区域,并预先设定了一定的缓存容量用于存储数据库数据,因此在第一个数据放入缓存时,由于缓存中尚无数据,不需对缓存的容量进行判断及执行步骤S407。在第一个数据放入缓存后,固化第一个数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率,从第二个数据开始,次第执行步骤S405至步骤S408,为使说明清楚简洁,本实施例中流程示意图主要示出从第二个数据开始的步骤和流程。
其中,步骤S402和步骤S403也可以在数据库数据经判断不需放入缓存后执行,此时,步骤S401后直接执行步骤S404,判断数据库数据是否应当放入缓存。
其中,步骤S405中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在数据放入缓存之前,比较缓存剩余的容量和数据占用的容量,以判断缓存剩余的容量是否足以保存所述数据,其中,数据占用的容量可以为数据的大小。
其中,步骤S406中,当缓存当前的剩余容量大于或等于所述数据占用的容量时,即当缓存剩余的容量足以存储所述数据时,将数据放入缓存。
其中,步骤S407中,当缓存当前的剩余容量小于所述数据占用的容量时,即当缓存剩余的容量不足以存储所述数据时,将缓存中的其他数据按其固化的被调用的频率从小到大排列,或者从大到小排列,根据排列按其他数据被调用的频率从小到大的顺序依次删除其他数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,即缓存容量足以存储所述数据时,停止删除。对于需要存入缓存的新数据,当缓存的剩余容量不足时,将缓存中被调用频率小的数据删除,以使新数据能够存入。
步骤S407,在一种可能的实施方式中,还可以包括:判断所述数据被调用的频率是否小于缓存中其他数据中最小的被调用频率,当所述数据被调用的频率小于所述最小的被调用频率时,所述数据不放入缓存。由此保证缓存中存储的是被调用频率最高的数据,最大程度的提供数据查询效率。
图5为本申请又一示例性实施例示出的一种数据库数据缓存方法的流程示意图。如图5所示,所述方法,在第五种可能的实施方式中,可以包括:
在步骤S501中,记录数据被调用的次数和第一次被调用的时间。
所述步骤S501与图1所示方法中的步骤S101相同。
在步骤S502中,判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值,以及数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值。
在步骤S503中,当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零,重新记录所述数据被调用的次数和第一次被调用的时间。
其中,可以将频率替换为次数,频率预设值替换为次数预设值来判断数据是否应当将所述数据被调用的次数和第一次被调用的时间清零。
在步骤S504中,当数据不满足清零条件时,判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值。
在步骤S505中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,所述步骤S504也可以替换为判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于或等于时间阈值,以及判断所述时间间隔以内数据被调用的次数是否大于或等于次数阈值,替换后,所述步骤S505中,当数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值,以及判断所述时间间隔以内数据被调用的次数大于或等于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率阈值时,或者,当不满足数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值且所述时间间隔以内数据被调用的次数大于或等于次数阈值的条件时,不对缓存当前的剩余容量进行判断,数据不放入缓存。
在步骤S506中,当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存。
在步骤S507中,当缓存当前的剩余容量小于所述数据占用的容量时,分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率。
在步骤S508中,判断所述数据被调用的频率是否小于或等于缓存中数据的最小的被调用频率。
在步骤S509中,当所述数据被调用的频率大于所述最小的被调用频率时,按各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率从小至大的排列顺序依次删除缓存中的数据,即按步骤S506计算所得的缓存中各个数据的所述被调用的频率从小至大的排列顺序依次删除缓存中的数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
其中,当所述数据被调用的频率小于或等于所述最小的被调用频率时,所述数据不放入缓存。当步骤S509停止删除时,缓存当前的剩余容量会大于或等于所述数据占用的能量,满足步骤S506中将数据放入缓存的条件,在步骤S509停止删除后,可以同样执行步骤S506,将所述数据放入缓存。
在步骤S5010中,记录所述数据被放入缓存的时间和放入缓存时被调用的次数。
在步骤S5011中,所述数据每次从缓存中被调用时,所述数据的被调用的次数加1。
其中,步骤S5010和步骤S5011在所述数据被放入缓存后进行。
在步骤S5012中,当缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值小于预设的保存次数时,将所述数据从缓存中删除。
在本实施例中,虽然步骤S5010和步骤S5011是在数据放入缓存之后执行,但步骤S507至S509是基于步骤S5010和步骤S5011的。由于在第一个数据放入缓存时,缓存中尚无数据,因此不需执行步骤S507至S509。在第一个数据放入缓存后,记录第一个数据被放入缓存的时间和放入缓存时被调用的次数,并且当第一个数据每次从缓存中被调用时,第一个数据的被调用的次数加1。从第二个数据开始,步骤S507至步骤S5012会被次第执行,为使说明清楚简洁,本实施例中流程示意图主要示出从第二个数据开始的步骤和流程。
其中,步骤S502和步骤S503也可以在数据库数据经判断不需放入缓存后执行,此时,步骤S501后直接执行步骤S504,判断数据库数据是否应当放入缓存。
其中,与图3和图4所示的实施例不同,各个数据在放入缓存后,仍然记录各个数据从缓存中被调用的次数,例如,各个数据在放入缓存时对标志位清零,或者记录放入缓存时标志位的值,然后每次数据从缓存中被调用时,所述标志位加1,并且记录数据被放入缓存的时间。因此本实施例更适用于数据调用无规律的情况,可以动态地反映数据被调用的频率等情况。
其中,步骤S505,当数据库中的数据满足存入条件,需要存入缓存时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量,当缓存当前的剩余容量大于或等于所述数据占用的容量,即缓存当前的剩余容量足以存储所述数据时,将所述数据放入缓存。当缓存当前的剩余容量小于所述数据占用的容量,即缓存当前的剩余容量不足以存储所述数据时,分别计算各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率。
当前缓存中各个数据的标志位的值,或者当前缓存中各个数据的标志位的值减去各个数据被放入缓存时标志位的值,为缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的次数,对缓存中的某个数据而言,以当前时间减去该数据被放入缓存的时间得到时间差值,将缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的次数除以所述时间差值,由此可以得到该数据从被放入缓存起至当前时间的时间间隔以内被调用的频率,以此类推,可以得到缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率。在步骤S507按上述方法计算得到缓存中各个数据的所述被调用的频率后,在步骤S508中,判断所述数据(及当前满足存入缓存的条件的数据)被调用的频率是否小于或等于缓存中数据的最小的被调用频率。在经过步骤S508判断后,当所述数据被调用的频率小于或等于所述最小的被调用频率时,所述数据不放入缓存,从而可以保证缓存中数据的被调用频率是最高的,被调用频率最高的数据可以从缓存中直接调用,以最大程度地提高数据查询效率。
当所述数据被调用的频率大于所述最小的被调用频率时,将缓存中各个数据按所述被调用的频率从小到大或者从大到小排列,将缓存中各个数据按所述被调用的频率从小到大的顺序依次删除,直至缓存剩余的容量足以存储需要存入缓存的数据时,停止删除。然后将所述数据放入缓存。在依次删除缓存中各个数据时,如果需要存入缓存的数据很大,可能会出现缓存中被删除的数据中,有一个或多个从被放入缓存起至当前时间的时间间隔以内被调用的频率,大于需要存入缓存的数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率,但整体而言,仍能保证缓存中的数据是被调用的频率较高的数据,有利于进一步提供数据查询效率,减少查询时间。
本实施例的步骤S5012中,当缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值小于预设的保存次数时,将所述数据从缓存中删除。
其中,对缓存中的数据,除因为有数据需要存入缓存而缓存的剩余容量不足时,需要删除一些数据外,为进一步适应数据被调用情况的动态变化、节省缓存容量,当数据被放入缓存后,在一定的时间内被调用的次数很少时,将所述数据从缓存中删除。因此预先设置保存时间段和保存次数,当缓存中数据从被放入缓存的时间起在保存时间段以内被调用的次数增加的值小于保存次数时,将所述数据从缓存中删除。所述保存时间段和保存次数可以根据缓存的大小确定,例如,缓存容量大,则可以将所述保存时间段和保存次数设置为较大的值,增大缓存中的数据量,反之,缓存容量小,则可以将所述保存时间段和保存次数设置为较小的值,以节省缓存容量。
本申请实施例提供的数据库数据缓存方法,将数据库中被调用频率高的数据放入缓存,供用户或程序查询调用,由于缓存的处理速度快,且对被调用频率高的数据而言,可以避免在庞大的数据库中进行查询,从而能够有效地提高数据查询效率,减少查询超时,提高用户体验。
根据本申请实施例的第二方面,提供一种数据查询方法,包括:
在步骤S601中,判断缓存中是否存在满足部分或者完全查询条件的数据。
其中,当用户或程序输入查询条件时,对查询条件进行分解,所述分解可以使用常规的数据库查询条件分解方式,例如将单独的查询语句分解为多个语句或是多个步骤,查询条件的分解可以根据数据库中数据存储的分类情况确定。然后先依据分解的查询条件判断在缓存中是否存在满足查询条件的数据,所述满足查询条件包括满足部分查询条件和满足完全查询条件,例如,查询条件为“男人身高or女人身高”,查询条件可以分解为“男人身高”和“女人身高”,则男人身高数据为满足部分查询条件的数据,男人身高数据加女人身高数据为满足完全查询条件的数据,当在缓存中只查询到男人身高数据时,则判断缓存中存在满足部分查询条件,即满足“男人身高”查询条件的数据,当在缓存中同时查询到男人身高数据和女人身高数据时,则判断缓存中存在满足完全查询条件的数据。又例如,查询条件为“北京市and大学”,则查询条件可以根据数据库中数据存储的分类情况分解为“海淀区大学”、“朝阳区大学”等,则海淀区的大学为满足部分查询条件的数据,北京市所有区的大学为满足完全查询条件的数据,当在缓存中只查询到海淀区大学的数据时,判断缓存中存在满足部分查询条件,即满足“海淀区大学”查询条件的数据,当在缓存中查询到满足所有分解的查询条件的数据,即北京市所有区的大学数据时,则判断缓存中存在满足完全查询条件的数据。
在步骤S602中,当缓存中存在满足完全查询条件的数据时,返回所述数据。
其中,当缓存中存在满足完全查询条件的数据时,即当依据分解的查询条件在缓存中查询到满足所有分解的查询条件的数据时,返回缓存中满足完全查询条件的数据。
在步骤S603中,当缓存中存在满足部分查询条件的数据时,返回所述数据,并在数据库中查询满足查询条件中其余部分查询条件的数据。
其中,当依据分解的查询条件在缓存中只查询到满足部分查询条件的数据时,将这部分数据返回,并依据其余部分查询条件,即依据分解的查询条件中未在缓存中查询到对应数据的余下的部分查询条件,在数据库中查询满足所述余下的部分查询条件的数据。例如,查询条件为“北京市and大学”时,在缓存中只查询到海淀区大学的数据,则将缓存中海淀区大学的数据返回,并在数据库中查询北京市其余行政区的大学的数据。
在步骤S604中,当缓存中不存在与查询条件对应的数据时,在数据库查询与查询条件对应的数据,即当缓存中既不存在满足部分查询条件的数据也不存在满足完全查询条件的数据时,在数据库中查询满足查询条件的数据。
本申请实施例所提供的数据查询方法,先根据查询条件在缓存中查询,当缓存中存在满足部分查询条件或者完全查询条件的数据时,将所述数据从缓存中返回,当缓存中的数据不满足完全查询条件或者不满足查询条件时,再至数据库中查询余下部分查询条件或者完全查询条件的数据,由于在缓存中查询和返回不必查询整个数据库,因而能够提高查询效率,减少查询超时现象。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,并存储在一个存储介质中,包括若干指令用以使得一台智能设备执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储数据和程序代码的介质。
相应于本申请实施例的第一方面,根据本申请实施例的第三方面,提供一种数据库数据缓存装置。图7为本申请一示例性实施例示出的一种数据库数据缓存装置的框图。如图7所示,所述装置可以包括:
调用次数记录单元U701,用于记录数据被调用的次数;
调用时间记录单元U702,用于记录数据当前被调用的时间和第一次被调用的时间;
第一判断单元U703,与U701和U702连接,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值;
第一存入单元U704,与U703连接,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,将所述数据放入缓存。
其中,第一判断单元U703,可以替换为用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否大于次数阈值;相应地,第一存入单元U704,可以替换为用于当数据第一次被调用的时间至当前被调用的时间的时间间隔小于时间阈值,且所述时间间隔以内数据被调用的次数大于次数阈值时,将所述数据放入缓存。
图8为本申请另一示例性实施例示出的一种数据库数据缓存装置的框图。如图8所示,所述装置可以包括:
调用次数记录单元U801,用于记录数据被调用的次数。
调用时间记录单元U802,用于记录数据当前被调用的时间和第一次被调用的时间。
第一判断单元U803,与U801和U802连接,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值。
其中,第一判断单元U803可以替换为U703,即U803用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否大于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否小于次数阈值。
缓存容量判断单元U804,与U803连接,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,当第一判断单元U803用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否大于次数阈值时,相应地,缓存容量判断单元U804用于当数据第一次被调用的时间至当前被调用的时间的时间间隔小于时间阈值,且所述时间间隔以内数据被调用的次数大于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
第二存入单元U805,与U804连接,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
固化单元U806,与U805连接,用于数据放入缓存后,固化所述数据的第一次被调用时间至当前被调用时间的时间间隔以内被调用的频率。
第一删除单元U807,与U804、U805和U806连接,用于当缓存当前的剩余容量小于所述数据占用的容量时,按缓存中其他数据的被固化的所述被调用的频率从小至大的排列顺序依次删除缓存中的其他数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
其中,第一删除单元U807停止删除后,将所述数据通过第二存入单元U805存入缓存。
第二判断单元U808,与U802连接,用于判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值;
第三判断单元U809,与U801和U802连接,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值;
清零单元U8010,与U808和U809连接,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零。
图9为本申请又一示例性实施例示出的一种数据库数据缓存装置的框图。如图9所示,所述装置可以包括:
调用次数记录单元U901,用于记录数据被调用的次数。
调用时间记录单元U902,用于记录数据当前被调用的时间和第一次被调用的时间。
第一判断单元U903,与U901和U902连接,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值。
其中,第一判断单元U903可以替换为用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否大于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否小于次数阈值。
缓存容量判断单元U904,与U903连接,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,当第一判断单元U903用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否大于次数阈值时,相应地,缓存容量判断单元U904用于当数据第一次被调用的时间至当前被调用的时间的时间间隔小于时间阈值,且所述时间间隔以内数据被调用的次数大于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
第二存入单元U905,与U904连接,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
第四删除单元U906,与U904、U905连接,用于按其他数据放入缓存的时间由早至晚的排列顺序依次删除缓存中的其他数据,直至缓存当前的剩余容量大于或等于所述数据占用的容量时,停止删除。
其中,第四删除单元U906停止删除后,将所述数据通过第二存入单元U905存入缓存。
第二判断单元U907,与U902连接,用于判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值;
第三判断单元U908,与U901和U902连接,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值;
清零单元U909,与U907和U908连接,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零。
其中,U907与U808相同,U908与U809相同,U909与U8010相同。
图10为本申请又一示例性实施例示出的一种数据库数据缓存装置的框图。如图10所示,所述装置可以包括:
调用次数记录单元U1001,用于记录数据被调用的次数。
调用时间记录单元U1002,用于记录数据当前被调用的时间和第一次被调用的时间。
第一判断单元U1003,与U1001和U1002连接,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值。
其中,第一判断单元U1003可以替换为U1003,即U1003用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否大于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否小于次数阈值。
缓存容量判断单元U1004,与U1003连接,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
其中,当第一判断单元U1003用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否小于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否大于次数阈值时,相应地,缓存容量判断单元U1004用于当数据第一次被调用的时间至当前被调用的时间的时间间隔小于时间阈值,且所述时间间隔以内数据被调用的次数大于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量。
第二存入单元U1005,与U1004连接,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存。
存入时间记录单元U1006,与U1005连接,用于记录缓存中各个数据被放入缓存的时间。
存入次数记录单元U1007,与U1005连接,用于记录缓存中各个数据被放入缓存时数据被调用的次数。
调用次数记录单元U1008,与U1007连接,用于当缓存中的数据每次从缓存中被调用时,将所述数据被调用的次数加1。
第一计算单元U1009,与U1005、U1007和U1008连接,用于分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率。
其中,调用次数记录单元U1008对缓存中的各个数据进行相同的处理,即当缓存中的数据每次从缓存中被调用时,将所述数据被调用的次数加1。对缓存中的某个数据而言,当前时间调用次数记录单元U1008记录的该数据被调用的次数的总数减去存入次数记录单元U1007所记录的该数据被放入缓存时被调用的次数,得到该数据从被放入缓存起至当前时间的时间间隔以内被调用的次数,由此可以得到该数据从被放入缓存起至当前时间的时间间隔以内被调用的频率,依次类推,得到缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率。
频率比较单元U1010,与U1009及U1004连接,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,判断所述数据被调用的频率是否小于或等于缓存中其他数据中最小的被调用频率。
存入禁止单元U1011,与U1005和U1010连接,用于当所述数据被调用的频率小于或等于所述最小的被调用频率时,禁止所述第二存入单元U1005。
存入使能单元U1012,与U1005和U1010连接,用于当所述数据被调用的频率大于所述最小的被调用频率时,使能所述第二存入单元U1005。
其中,当缓存当前的剩余容量大于或等于所述数据占用的容量时,判断所述数据被调用的频率是否小于或等于缓存中其他数据中最小的被调用频率,当所述数据被调用的频率是否小于或等于缓存中其他数据中最小的被调用频率,存入禁止单元U1011禁止所述第二存入单元U1005,则数据不存入缓存;当所述数据被调用的频率大于缓存中其他数据中最小的被调用频率,存入使能单元U1012禁止所述第二存入单元U1005,则数据可以存入缓存。
第三删除单元U1013,与U1004、U1009和U1005连接,用于当缓存当前的剩余容量小于所述数据占用的容量时,按缓存中各个数据被调用的频率从小至大的排列顺序依次删除缓存中的数据,所述缓存中各个数据被调用的频率为缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
其中,第三删除单元U1013停止删除后,将所述数据通过第二存入单元U1005存入缓存。
第二判断单元U1014,与U1002连接,用于判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值;
第三判断单元U1015,与U1001和U1002连接,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值;
清零单元U1016,与U1014和U1015连接,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零。
其中,U1014与U808相同,U1015与U809相同,U1016与U8010相同。
第四判断单元U1017,与U1006、U1007和U1008连接,用于判断缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值是否小于预设的保存次数;
第二删除单元U1018,与U1017连接,用于当缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值小于预设的保存次数时,将所述数据从缓存中删除。
相应于本申请实施例的第二方面,根据本申请实施例的第四方面,提供一种数据查询装置。图11为本申请一示例性实施例示出的一种数据查询装置的框图,如图11所示,所述装置可以包括:
数据判断单元U1101,用于判断缓存中是否存在满足部分或者完全查询条件的数据;
缓存数据返回单元U1102,与U1101连接,用于当缓存中存在满足部分或者完全查询条件的数据时,返回所述数据;
数据库查询单元U1103,与U1101连接,用于当缓存中存在满足部分查询条件的数据时,在数据库中查询满足其余部分查询条件的数据,或者,当缓存中不存在与查询条件对应的数据时,在数据库查询与查询条件对应的数据。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者逆序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (22)

1.一种数据库数据缓存方法,其特征在于,包括:
记录数据被调用的次数和第一次被调用的时间;
当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,将所述数据放入缓存。
2.如权利要求1所述的数据库数据缓存方法,其特征在于,当数据第一次被调用的时间至当前被调用的时间的时间间隔小于或等于时间阈值,且所述时间间隔以内数据被调用的次数大于或等于次数阈值时,将所述数据放入缓存。
3.如权利要求1或2所述的数据库数据缓存方法,其特征在于,还包括:
当数据当前被调用的时间与第一次被调用的时间之间的差值大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零,重新记录所述数据被调用的次数和第一次被调用的时间。
4.如权利要求1或2所述的数据库数据缓存方法,其特征在于,在所述数据被放入缓存后,还包括:
固化所述数据第一次被调用时间至当前被调用时间的时间间隔以内被调用的频率。
5.如权利要求4所述的数据库数据缓存方法,其特征在于,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在将所述数据放入缓存之前,还包括:
判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存,否则,按缓存中其他数据的所述被调用的频率从小至大的排列顺序依次删除缓存中的其他数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
6.如权利要求1或2所述的数据库数据缓存方法,其特征在于,将所述数据放入缓存之后,还包括:
记录所述数据被放入缓存的时间和放入缓存时被调用的次数;
所述数据每次从缓存中被调用时,所述数据的被调用的次数加1。
7.如权利要求6所述的数据库数据缓存方法,其特征在于,还包括:
当缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值小于预设的保存次数时,将所述数据从缓存中删除。
8.如权利要求6所述的数据库数据缓存方法,其特征在于,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在将所述数据放入缓存之前,还包括:
判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存,否则,分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率;
按各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率从小至大的排列顺序依次删除缓存中的数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
9.如权利要求8所述的数据库数据缓存方法,其特征在于,在分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率之后,还包括:
判断所述数据被调用的频率是否小于或等于缓存中数据的最小的被调用频率;
当所述数据被调用的频率小于或等于所述最小的被调用频率时,所述数据不放入缓存,否则,按各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率从小至大的排列顺序依次删除缓存中的数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
10.如权利要求1或2所述的数据库数据缓存方法,其特征在于,当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,在将所述数据放入缓存之前,还包括:
判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存,否则,按缓存中数据放入缓存的时间由早至晚的排列顺序依次删除缓存中的数据,直至缓存当前的剩余容量大于或等于所述数据占用的容量时,停止删除,将所述数据放入缓存。
11.一种数据查询方法,其特征在于,包括:
判断缓存中是否存在满足部分或者完全查询条件的数据;
当缓存中存在满足完全查询条件的数据时,返回所述数据;
当缓存中存在满足部分查询条件的数据时,返回所述数据,并在数据库中查询满足其余部分查询条件的数据;
当缓存中不存在与查询条件对应的数据时,在数据库查询与查询条件对应的数据。
12.一种数据库数据缓存装置,其特征在于,包括:
调用次数记录单元,用于记录数据被调用的次数;
调用时间记录单元,用于记录数据当前被调用的时间和第一次被调用的时间;
第一判断单元,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否大于或等于频率阈值;
第一存入单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,将所述数据放入缓存。
13.如权利要求12所述的数据库数据缓存装置,其特征在于,
所述第一判断单元,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔是否大于时间阈值,以及用于判断所述时间间隔以内数据被调用的次数是否小于次数阈值;
所述第一存入单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,将所述数据放入缓存。
14.如权利要求12或13所述的数据库数据缓存装置,其特征在于,还包括:
第二判断单元,用于判断数据当前被调用的时间与第一次被调用的时间之间的差值是否大于时间预设值;
第三判断单元,用于判断数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率是否小于频率预设值;
清零单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间预设值,且数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率小于频率预设值时,将所述数据被调用的次数和第一次被调用的时间清零。
15.如权利要求12或13所述的数据库数据缓存装置,其特征在于,还包括:
固化单元,用于数据放入缓存后,固化所述数据的第一次被调用时间至当前被调用时间的时间间隔以内被调用的频率。
16.如权利要求15所述的数据库数据缓存装置,其特征在于,还包括:
缓存容量判断单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,或者,当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
第二存入单元,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
第一删除单元,用于当缓存当前的剩余容量小于所述数据占用的容量时,按缓存中其他数据固化的被调用的频率从小至大的排列顺序依次删除缓存中的其他数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
17.如权利要求12或13所述的数据库数据缓存装置,其特征在于,还包括:
存入时间记录单元,用于记录数据被放入缓存的时间;
存入次数记录单元,用于记录被放入缓存时数据被调用的次数;
调用次数记录单元,用于当数据每次从缓存中被调用时,将所述数据被调用的次数加1。
18.如权利要求17所述的数据库数据缓存装置,其特征在于,还包括:
第四判断单元,用于判断缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值是否小于预设的保存次数;
第二删除单元,用于当缓存中数据从被放入缓存的时间起在预设的保存时间段以内被调用的次数增加的值小于预设的保存次数时,将所述数据从缓存中删除。
19.如权利要求17所述的数据库数据缓存装置,其特征在于,还包括:
缓存容量判断单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,或者,当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
第二存入单元,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
第一计算单元,用于分别计算缓存中各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率;
第三删除单元,用于当缓存当前的剩余容量小于所述数据占用的容量时,按各个数据从被放入缓存起至当前时间的时间间隔以内被调用的频率从小至大的排列顺序依次删除缓存中的数据,直至缓存的剩余容量大于或等于所述数据占用的容量时,停止删除。
20.如权利要求19所述的数据库数据缓存装置,其特征在于,还包括:
频率比较单元,用于判断所述数据被调用的频率是否小于或等于缓存中其他数据中最小的被调用频率;
存入禁止单元,用于当所述数据被调用的频率小于或等于所述最小的被调用频率时,禁止所述第二存入单元;
存入使能单元,用于当所述数据被调用的频率大于所述最小的被调用频率时,使能所述第二存入单元。
21.如权利要求12或13所述的数据库数据缓存装置,其特征在于,还包括:
缓存容量判断单元,用于当数据第一次被调用的时间至当前被调用的时间的时间间隔以内被调用的频率大于或等于频率阈值时,或者,当数据第一次被调用的时间至当前被调用的时间的时间间隔大于时间阈值,且所述时间间隔以内数据被调用的次数小于次数阈值时,判断缓存当前的剩余容量是否大于或等于所述数据占用的容量;
第二存入单元,用于当缓存当前的剩余容量大于或等于所述数据占用的容量时,将所述数据放入缓存;
第四删除单元,用于当缓存当前的剩余容量小于所述数据占用的容量时,按其他数据放入缓存的时间由早至晚的排列顺序依次删除缓存中的其他数据,直至缓存当前的剩余容量大于或等于所述数据占用的容量时,停止删除。
22.一种数据查询装置,其特征在于,包括:
数据判断单元,用于判断缓存中是否存在满足部分或者完全查询条件的数据;
缓存数据返回单元,用于当缓存中存在满足部分或者完全查询条件的数据时,返回所述数据;
数据库查询单元,用于用于当缓存中存在满足部分查询条件的数据时,在数据库中查询满足其余部分查询条件的数据,或者,当缓存中不存在与查询条件对应的数据时,在数据库查询与查询条件对应的数据。
CN201410408818.7A 2014-08-19 2014-08-19 数据库数据缓存方法、查询方法及缓存装置、查询装置 Pending CN105354193A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410408818.7A CN105354193A (zh) 2014-08-19 2014-08-19 数据库数据缓存方法、查询方法及缓存装置、查询装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410408818.7A CN105354193A (zh) 2014-08-19 2014-08-19 数据库数据缓存方法、查询方法及缓存装置、查询装置

Publications (1)

Publication Number Publication Date
CN105354193A true CN105354193A (zh) 2016-02-24

Family

ID=55330166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410408818.7A Pending CN105354193A (zh) 2014-08-19 2014-08-19 数据库数据缓存方法、查询方法及缓存装置、查询装置

Country Status (1)

Country Link
CN (1) CN105354193A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528604A (zh) * 2016-09-26 2017-03-22 平安科技(深圳)有限公司 数据缓存控制方法及系统
CN108536854A (zh) * 2018-04-16 2018-09-14 深圳市国富前海区块链技术股份有限公司 数据交互的方法、装置及计算机可读存储介质
CN109241253A (zh) * 2018-07-31 2019-01-18 平安科技(深圳)有限公司 一种车辆信息查询方法和系统
CN109460411A (zh) * 2018-11-13 2019-03-12 杭州数梦工场科技有限公司 一种基于hive的数据老化方法、装置及设备
WO2019141134A1 (zh) * 2018-01-19 2019-07-25 阿里巴巴集团控股有限公司 一种数据查询方法、装置及设备
CN110443014A (zh) * 2019-07-31 2019-11-12 成都商汤科技有限公司 身份验证方法、用于身份验证的电子设备和服务器、系统
CN110851474A (zh) * 2018-07-26 2020-02-28 深圳市优必选科技有限公司 数据查询方法、数据库中间件、数据查询设备及存储介质
CN114065001A (zh) * 2021-11-29 2022-02-18 百度在线网络技术(北京)有限公司 数据处理方法、装置、设备以及存储介质
CN116701762A (zh) * 2023-06-09 2023-09-05 广州商研网络科技有限公司 独立站搜索服务降级处理方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统
CN102331986A (zh) * 2010-07-12 2012-01-25 阿里巴巴集团控股有限公司 一种数据库缓存管理方法及一种数据库服务器
CN102511043A (zh) * 2011-11-26 2012-06-20 华为技术有限公司 缓存文件替换方法、装置及系统
CN103177005A (zh) * 2011-12-21 2013-06-26 深圳市腾讯计算机系统有限公司 一种数据访问的处理方法和系统
CN103281397A (zh) * 2013-06-13 2013-09-04 苏州联讯达软件有限公司 一种基于时间戳和访问密度的数据缓存方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统
CN102331986A (zh) * 2010-07-12 2012-01-25 阿里巴巴集团控股有限公司 一种数据库缓存管理方法及一种数据库服务器
CN102511043A (zh) * 2011-11-26 2012-06-20 华为技术有限公司 缓存文件替换方法、装置及系统
CN103177005A (zh) * 2011-12-21 2013-06-26 深圳市腾讯计算机系统有限公司 一种数据访问的处理方法和系统
CN103281397A (zh) * 2013-06-13 2013-09-04 苏州联讯达软件有限公司 一种基于时间戳和访问密度的数据缓存方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528604A (zh) * 2016-09-26 2017-03-22 平安科技(深圳)有限公司 数据缓存控制方法及系统
WO2019141134A1 (zh) * 2018-01-19 2019-07-25 阿里巴巴集团控股有限公司 一种数据查询方法、装置及设备
US11734271B2 (en) 2018-01-19 2023-08-22 Alibaba Group Holding Limited Data query method, apparatus and device
CN108536854A (zh) * 2018-04-16 2018-09-14 深圳市国富前海区块链技术股份有限公司 数据交互的方法、装置及计算机可读存储介质
CN110851474A (zh) * 2018-07-26 2020-02-28 深圳市优必选科技有限公司 数据查询方法、数据库中间件、数据查询设备及存储介质
CN109241253A (zh) * 2018-07-31 2019-01-18 平安科技(深圳)有限公司 一种车辆信息查询方法和系统
CN109460411A (zh) * 2018-11-13 2019-03-12 杭州数梦工场科技有限公司 一种基于hive的数据老化方法、装置及设备
CN110443014A (zh) * 2019-07-31 2019-11-12 成都商汤科技有限公司 身份验证方法、用于身份验证的电子设备和服务器、系统
CN114065001A (zh) * 2021-11-29 2022-02-18 百度在线网络技术(北京)有限公司 数据处理方法、装置、设备以及存储介质
CN114065001B (zh) * 2021-11-29 2023-03-10 百度在线网络技术(北京)有限公司 数据处理方法、装置、设备以及存储介质
CN116701762A (zh) * 2023-06-09 2023-09-05 广州商研网络科技有限公司 独立站搜索服务降级处理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN105354193A (zh) 数据库数据缓存方法、查询方法及缓存装置、查询装置
US11163735B2 (en) Database capacity estimation for database sizing
CN102129442B (zh) 一种分布式数据库系统和数据访问方法
CN103019887B (zh) 数据备份方法及装置
US8666971B2 (en) Intelligent adaptive index density in a database management system
CN103747047A (zh) 一种cdn文件存储方法、文件分发控制中心及系统
CN101635651A (zh) 一种网络日志数据管理方法、系统及装置
CN105989076A (zh) 一种数据统计方法以及装置
CN103559300B (zh) 数据的查询方法和查询装置
CN106331148A (zh) 一种客户端数据读取时的缓存管理方法及其装置
CN104731974A (zh) 基于大数据流式计算的动态页面加载方法
CN106528787A (zh) 一种基于海量数据多维分析的查询方法及装置
CN102682108B (zh) 一种行列混合的数据库存储方法
CN104737157A (zh) 联合数据库系统
CN103488687A (zh) 用于大数据的搜索系统和搜索方法
CN105630819A (zh) 一种缓存数据的刷新方法和装置
CN102129425A (zh) 数据仓库中大对象集合表的访问方法及装置
CN103793439A (zh) 一种实时检索信息获取方法、装置及服务器
CN103914483A (zh) 文件存储方法、装置及文件读取方法、装置
CN110019277A (zh) 一种数据累积的方法、数据查询的方法、装置及设备
CN102117340A (zh) 一种动态数据存储方法
CN103559307A (zh) 一种查询的缓存方法及装置
CN110647542B (zh) 一种数据获取方法和装置
CN110532228A (zh) 一种区块链数据读取的方法、系统、设备及可读存储介质
CN110688065A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20160224

RJ01 Rejection of invention patent application after publication