CN102737068B - 一种用于对检索数据进行缓存管理的方法与设备 - Google Patents
一种用于对检索数据进行缓存管理的方法与设备 Download PDFInfo
- Publication number
- CN102737068B CN102737068B CN201110095963.0A CN201110095963A CN102737068B CN 102737068 B CN102737068 B CN 102737068B CN 201110095963 A CN201110095963 A CN 201110095963A CN 102737068 B CN102737068 B CN 102737068B
- Authority
- CN
- China
- Prior art keywords
- retrieval
- spatial cache
- search sequence
- data
- trigger condition
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明的目的是提供一种用于对检索数据进行缓存管理的方法与设备。其中,检索缓存管理设备获取查询序列的检索属性;根据所述的检索属性,检测查询序列相对应的存储在第一缓存空间中的检索数据是否满足迁移的第一触发条件;如果满足第一触发条件,将数据从第一缓存空间迁移到第二缓存空间。与现有技术相比,本发明通过检测检索数据迁移的触发条件,实现检索数据的动态迁移,由此充分利用了不同缓存空间的特性,从而提高了在缓存空间中进行数据检索的命中率,保证了数据检索的执行效率,并且有效地降低了缓存空间的使用成本。
Description
技术领域
本发明涉及网络搜索领域,尤其涉及一种用于对检索数据进行缓存管理的技术。
背景技术
现有用于实现数据检索的缓存管理主要采用单缓存(例如,内存存储器)来存储数据。众所周知,尽管内存存储器的读写速度快,但内存存储器的存储空间有限,因此数据检索在缓存中的命中率低,同时和其他类型缓存(例如,硬盘存储器)相比,使用内存存储器缓存数据的成本偏高。还有一些现有技术虽然采用了双缓存(例如,内存存储器+硬盘存储器),其虽然提高了待访问数据在缓存中的命中率,但对于检索数据而言,其不能够利用缓存及在其中的检索数据特性,使检索数据在缓存之间合理的迁移,例如,高频查询序列所对应的检索数据存储可能在硬盘存储器,而低频查询序列所对应的检索数据存储则可能在内存存储器中,若此,如本领技术人员所知,数据检索的平均执行效率会下降。
发明内容
本发明的目的是提供一种用于对检索数据进行缓存管理的方法与设备。
根据本发明的一个方面,提供一种计算机实现的基于检索属性对查询序列所对应的检索数据进行缓存管理的方法,其中,该方法包括以下步骤:
a获取查询序列的检索属性;
b根据所述检索属性,检测是否满足所述查询序列相对应的检索数据进行数据迁移的第一触发条件;
c当满足所述第一触发条件,将所述检索数据从第一缓存空间迁移至第二缓存空间。
根据本发明的一个方面,提供一种对检索数据进行缓存管理的设备,其中,该设备包括:
获取装置,用于获取查询序列的检索属性;
第一检测装置,用于根据所述检索属性,检测是否满足迁移与所述查询序列相对应的检索数据的第一触发条件;
第一迁移装置,用于当满足所述第一触发条件,将所述检索数据从第一缓存空间迁移至第二缓存空间。
与现有技术相比,本发明通过检测检索数据迁移的触发条件,实现检索数据在缓存之间的合理动态迁移,由此充分利用了不同缓存的特性,从而提高了在缓存中进行数据检索的命中率,保证了数据检索的执行效率,并且有效地降低了缓存的使用成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的用于对检索数据进行缓存管理的设备示意图;
图2示出根据本发明一个优选实施例的用于对检索数据进行缓存管理的设备示意图;
图3示出根据本发明另一个优选实施例的用于对检索数据进行缓存管理的设备示意图;
图4示出根据本发明另一个方面用于对检索数据进行缓存管理的方法流程图;
图5示出根据本发明一个优选实施例的用于对检索数据进行缓存管理的方法流程图;
图6示出根据本发明另一个优选实施例的用于对检索数据进行缓存管理的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面用于对检索数据进行缓存管理的检索缓存管理设备1。其中,检索缓存管理设备1包括获取装置11、第一检测装置12和第一迁移装置13。在此,检索缓存管理设备1包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
具体地,获取装置11用于获取查询序列的检索属性。更具体地,获取装置11定期或应事件触发实时地获取查询序列的检索属性,例如通过对一定时间间隔内某个查询序列所对应的检索活动进行统计分析,以获取该查询序列的累计检索次数或检索频次,或者通过约定的通信接口直接从检索缓存管理设备1的其他部分或第三方设备读取某个查询序列的检索属性。例如,在用户进行了一次基于某个查询序列的检索后,获取装置11对与该查询序列相关的检索活动日志进行统计分析,获得该查询序列累计检索次数为20000次。再如,获取装置11按一定周期,定期地通过调用设定的应用编程接口(API)从第三方设备中直接读取一个或多个查询序列的检索属性,例如某个查询序列的检索频次为200次/日。在此,所述检索属性包括但不限于查询序列的累计检索次数和检索频次。本领域技术人员应能理解上述获取查询序列的检索属性的方式仅为举例,其他现有的或今后可能出现的获取查询序列的检索属性的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
第一检测装置12用于根据所述检索属性,检测是否满足所述查询序列相对应的检索数据进行数据迁移的第一触发条件。具体地,第一检测装置12根据获取装置11所提供的该查询序列的检索属性,例如通过将该检索属性与预置的检索属性阈值进行比较,检测是否满足第一触发条件,以判断是否对该查询序列所对应的检索数据进行数据迁移。例如,假设第一触发条件包括所述检索属性达到检索属性阈值,第一检测装置12根据获取装置11所提供的该查询序列的检索属性,如累计检索次数为20000次,通过与其对应的检索属性阈值,如第一检索累计阈值19999次,进行比较,确定满足该第一触发条件,即须对该查询序列对应的检索数据进行数据迁移。再如,假设第一触发条件包括所述检索属性达到检索属性阈值,第一检测装置12根据获取装置11所提供的该查询序列的检索属性,如检索频次为200次/日,通过与其对应的检索属性阈值,如第一检索频次阈值220次/日,进行比较,确定不满足该第一触发条件,即无须对该查询序列对应的检索数据进行数据迁移。在此,所举实施例中的检索属性阈值或可存储在第一检测装置11,或者通过约定的通信接口直接从检索缓存管理设备1的其他部分或第三方设备读取。本领域技术人员应能理解上述检测第一触发条件的方式仅为举例,其他现有的或今后可能出现的检测第一触发条件的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
第一迁移装置13用于当满足第一触发条件,将所述检索数据从第一缓存空间迁移到第二缓存空间。具体地,第一迁移装置13根据经第一检测装置12检测发现已满足的第一触发条件所对应的查询序列,例如通过地址映射表获取该查询序列所对应的检索数据在第一缓存空间中的存储地址,从第一缓存空间读取该检索数据;然后,将该检索数据直接写入第二缓存空间,或者将该检索数据缓存于检索缓存管理设备1或其他存储装置后,再将该检索数据写入第二缓存空间;最后,更新该查询序列的相关信息,例如更新该查询序列所对应的检索数据在地址映射表中的存储地址。例如,假设第一检测装置12检测发现满足第一触发条件,如查询序列“鲜花 速递”的累计检索次数超过第一累计检索阈值,第一迁移装置13根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第一缓存空间的存储地址,从第一缓存空间中该存储地址读取该检索数据,如与“鲜花速递”相匹配的多个搜索结果;将这些搜索结果作为查询序列“鲜花 速递”的检索数据写入第二缓存空间;并据此更新查询序列“鲜花 速递”在第二缓存空间的存储信息。再如,假设第一检测装置12检测发现满足第一触发条件,如查询序列“鲜花 速递”的检索频次超过第一检索频次阈值,第一迁移装置13根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第一缓存空间的存储地址,从第一缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果;然后,将这些搜索结果缓存于一个第三方设备中,再作为查询序列“鲜花 速递”的检索数据写入第二缓存空间;并据此更新查询序列“鲜花 速递”在第二缓存空间的存储信息。本领域技术人员应能理解上述进行检索数据迁移的方式仅为举例,其他现有的或今后可能出现的检索数据迁移的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,获取装置11和第一检测装置12和第一迁移装置13之间是持续不断地工作。具体地,获取装置11获取查询序列的检索属性;第一检测装置12根据所述检索属性,检测是否满足所述查询序列相对应的检索数据进行数据迁移的第一触发条件;第一迁移装置13在满足所述第一触发条件时,将所述检索数据从第一缓存空间迁移到第二缓存空间。在此,本领域技术人员应理解“持续”是指各装置分别按照设定的或实时调整的工作模式要求进行查询序列的检索属性的获取、检测检索数据进行数据迁移的第一触发条件、及检索数据迁移,直至获取装置11在较长时间内停止对查询序列的检索属性的获取。
具体地,所述第一触发条件包括但不限于,以下至少任选一项:
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一累计检索阈值;
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一检索频次阈值。更具体地,当所述第一触发条件包括所述检索数据位于所述第一缓存空间、且所述检索属性达到第一累计检索阈值时,若查询序列在第一缓存空间中的累计检索次数超过第一累计检索阈值时,则第一触发条件得到满足,例如将该查询序列视为被高频检索的查询序列。例如,某个查询序列的累计检索次数为20000次,而第一累计检索阈值为19999次,即该查询序列的累计检索次数大于第一累计检索阈值,则检索数据进行数据迁移的第一触发条件得到满足。额外地或可替代地,当所述第一触发条件包括所述检索数据位于所述第一缓存空间,且所述检索属性达到第一检索频次阈值时,若某查询序列在第一缓存空间中的检索频次超过第一检索频次阈值时,则第一触发条件得到满足,例如将该查询序列视为被高频检索的查询序列。例如,查询序列的检索频次为200次/日,而第一检索频次阈值为199次/日,即该查询序列的检索频次大于第一检索频次阈值,则检索数据进行数据迁移的第一触发条件得到满足。本领域技术人员应能理解上述第一触发条件仅为举例,其他现有的或今后可能出现的第一触发条件如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
更优选地,检索缓存管理设备1还包括第一更新装置(未示出)。该第一更新装置用于根据缓存检索效率信息,设置或更新所述第一累计检索阈值或所述第一检索频次阈值;其中,该缓存检索效率信息包括以下至少任一项:
-所述第二缓存空间中每个查询序列的平均检索频次;
-所述第二缓存空间中每个查询序列的平均检索次数;
-所述第二缓存空间的大小;
-所述第一缓存空间中每个查询序列的平均检索频次;
-所述第一缓存空间中每个查询序列的平均检索次数;
-所述第一缓存空间的大小。具体地,该第一更新装置根据缓存检索效率信息,如第一缓存空间或第二缓存空间中每个查询序列的平均检索频次,设置或更新所述第一累计检索阈值或所述第一检索频次阈值;在此,该缓存检索效率信息包括但不限于,以下至少任一项:
-所述第二缓存空间中每个查询序列的平均检索频次;
-所述第二缓存空间中每个查询序列的平均检索次数;
-所述第二缓存空间的大小;
-所述第一缓存空间中每个查询序列的平均检索频次;
-所述第一缓存空间中每个查询序列的平均检索次数;
-所述第一缓存空间的大小。更具体地,若该缓存检索效率信息包括第一缓存空间或第二缓存空间中每个查询序列的平均检索次数,当该平均检索次数增大时,则该第一更新装置相应地提高所述第一累计检索阈值;反之,则相应地降低该阈值。例如,第一缓存空间中每个查询序列的平均检索次数是10000次,该第一更新装置设置第一累计检索阈值为15000次,当所述平均检索次数增加到15000次时,该第一更新装置将该第一累计检索阈值更新为20000次。若该缓存检索效率信息包括第一缓存空间或第二缓存空间中每个查询序列的平均检索频次,当该平均检索频次增大时,则该第一更新装置相应地提高所述第一检索频次阈值;反之,则相应地降低该阈值。例如,第一缓存空间中每个查询序列的平均检索频次是1000次/日,该第一更新装置设置第一检索频次阈值为1500次/日,当所述平均检索频次增加到1500次/日时,该第一更新装置将该第一检索频次阈值更新为2000次/日。若该缓存检索效率信息包括第一缓存空间或第二缓存空间的大小,如果该第二缓存空间的存储空间增大时,利于检索数据从第一缓存空间向第二缓存空间的迁移,则该第一更新装置降低触发数据从第一缓存空间向第二缓存空间迁移的检索属性阈值;反之,则提高该检索属性阈值。在此,该缓存检索效率信息可以由第一更新装置根据第一缓存空间或第二缓存空间的查询日志信息计算获得,例如第一缓存空间中每个查询序列的平均检索次数可以由该第一更新装置根据在第一缓存空间的某段时间内的查询日志中获得每个查询序列的检索此后进行累加再求平均值计算得出;也可通过调用设定的应用编程接口(API)从第三方设备直接获得。本领域技术人员应能理解上述缓存检索效率信息仅为举例,其他现有的或今后可能出现的缓存检索效率信息如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
图2示出根据本发明一个优选实施例的用于对检索数据进行缓存管理的设备示意图,其中,检索缓存管理设备1中还包括第二检测装置14’和第二迁移装置15’。在此,图2中所示装置11’-13’与前面参照图1所描述的装置11-13的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,第二检测装置14’用于根据所述检索属性,检测是否满足所述检索数据进行数据迁移的第二触发条件。更具体地,第二检测装置14’根据获取装置11’提供的该查询序列的检索属性,例如通过将该检索属性与预置的检索属性阈值进行比较,检测是否满足第二触发条件,以判断是否对该查询序列所对应的检索数据进行数据迁移。例如,假设第二触发条件包括所述检索属性达到检索属性阈值,第二检测装置14’根据获取装置11’所提供的该查询序列的检索属性,如累计检索次数为10000次,通过与其对应的检索属性阈值,如第二检索累计阈值20000次,进行比较,确定满足该第二触发条件,即须对该查询序列对应的检索数据进行数据迁移。再如,假设第二触发条件包括所述检索属性达到检索属性阈值,第二检测装置14’根据获取装置11’所提供的该查询序列的检索属性,如检索频次为300次/日,通过与其对应的检索属性阈值,如第二检索频次阈值200次/日,进行比较,确定不满足该第二触发条件,即无须对该查询序列对应的检索数据进行数据迁移。在此,所举实施例中的检索属性阈值或可存储在第二检测装置14’,或者通过约定的通信接口直接从检索缓存管理设备1的其他部分或第三方设备读取。本领域技术人员应能理解上述检测第二触发条件的方式仅为举例,其他现有的或今后可能出现的检测第二触发条件的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,第二迁移装置15’用于当满足所述第二触发条件,将所述检索数据从所述第二缓存空间迁移至所述第一缓存空间。具体地,第二迁移装置15’根据经第二检测装置14’检测发现已满足的第二触发条件所对应的查询序列,例如通过地址映射表获取该查询序列所对应的检索数据在第二缓存空间中的存储地址,从第二缓存空间读取该检索数据;然后,将该检索数据直接写入第一缓存空间,或者将该检索数据缓存于检索缓存管理设备1或其他存储装置后,再将该检索数据写入第一缓存空间;最后,更新该查询序列的相关信息,例如更新该查询序列所对应的检索数据在地址映射表中的存储地址。例如,假设第二检测装置14’检测发现满足第二触发条件,如查询序列“鲜花 速递”的累计检索次数低于第二累计检索阈值,第二迁移装置15’根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第二缓存空间的存储地址,从第二缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果;将这些搜索结果作为查询序列“鲜花 速递”的检索数据写入第一缓存空间;并据此更新查询序列“鲜花 速递”在第一缓存空间的存储信息。再如,假设第二检测装置14’检测发现满足第二触发条件,如查询序列“鲜花 速递”的检索频次低于第二检索频次阈值,第二迁移装置15’根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第二缓存空间的存储地址,从第二缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果;然后,将这些搜索结果缓存于一个第三方设备中,再作为查询序列“鲜花 速递”的检索数据写入第一缓存空间;并据此更新查询序列“鲜花 速递”在第一缓存空间的存储信息。本领域技术人员应能理解上述进行检索数据迁移的方式仅为举例,其他现有的或今后可能出现的检索数据迁移的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本领域技术人员应能理解,上述第一检测装置和第二检测装置仅为示例,在实践中,它们可以是两个独立的模块,也可全部集成在一个模块中。
本领域技术人员应能理解,上述第一迁移装置和第二迁移装置仅为示例,在实践中,它们可以是两个独立的模块,也可全部集成在一个模块中。
优选地,所述第二触发条件包括以下至少一项:
-所述检索数据位于所述第二缓存空间,且所述检索属性达到第二累计检索阈值;
-所述检索数据位于所述第二缓存空间,且所述检索属性达到第二检索频次阈值。
具体地,当所述第二触发条件包括所述检索数据位于所述第二缓存空间、且所述检索属性达到第二累计检索阈值时,若查询序列在第二缓存空间中的累计检索次数低于第二累计检索阈值时,则第二触发条件得到满足,例如将该查询序列视为被低频检索的查询序列。例如,某个查询序列的累计检索次数为10000次,而第二累计检索阈值为20000次,即该查询序列的累计检索次数小于第二累计检索阈值,则检索数据进行数据迁移的第二触发条件得到满足。额外地或可替代地,当所述第二触发条件包括所述检索数据位于所述第二缓存空间,且所述检索属性达到第二检索频次阈值时,若某查询序列在第二缓存空间中的检索频次低于第二检索频次阈值时,则第二触发条件得到满足,例如将该查询序列视为被低频检索的查询序列。例如,查询序列的检索频次为100次/日,而第二检索频次阈值为200次/日,即该查询序列的检索频次小于第二检索频次阈值,则检索数据进行数据迁移的第二触发条件得到满足。本领域技术人员应能理解上述第二触发条件仅为举例,其他现有的或今后可能出现的第二触发条件如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在另一个优选的实施例中(参照图1),检索缓存管理设备1还包括空间调整装置(未示出)。该空间调整装置用于根据所述查询序列在对应存储空间中的密度,调整所述对应存储空间的大小;其中,该存储空间包括以下至少任一项:
-所述第一缓存空间;
-所述第二缓存空间。
具体地,该空间调整装置根据所述查询序列在对应存储空间中的密度,例如该查询序列在该对应存储空间中的检索命中率,调整该对应存储空间的大小;在此,该存储空间包括但不限于,以下至少任一项:
-所述第一缓存空间;
-所述第二缓存空间。
例如,空间调整装置根据查询序列在第一缓存空间或第二缓存空间的检索命中率,例如若该检索命中率逐渐升高,则空间调整装置将增加第二缓存空间的大小。再如,空间调整装置根据查询序列在第一缓存空间或第二缓存空间的检索命中率,例如若该检索命中率逐渐降低,则空间调整装置将增加第一缓存空间的大小。在此,该密度信息可以由空间调整装置根据第一缓存空间或第二缓存空间的查询日志信息计算获得,例如将查询序列在第一缓存空间或第二缓存空间命中的次数与利用查询序列进行数据检索的次数相除计算得出,也可通过调用设定的应用编程接口(API)从第三方设备直接获得。本领域技术人员应能理解上述调整存储空间大小的方式仅为举例,其他现有的或今后可能出现的调整存储空间大小的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述密度基于以下至少任一项:
-所述查询序列在所述对应存储空间中的检索命中率;
-所述对应存储空间中每个查询序列的平均检索频次;
-所述对应存储空间中每个查询序列的平均检索次数;
-所述对应存储空间中不同查询序列的数量;
-所述对应存储空间中不同查询序列的数量与所述对应存储空间的检索命中次数的比值。
具体地,若该密度包括该查询序列在对应存储空间中的检索命中率,例如该查询序列在第一缓存空间或第二缓存空间的检索命中率,当该检索命中率逐渐升高时,该密度增大,例如将用户查询视为趋于集中,空间调整装置将相应地增加第二缓存空间的大小。若该密度包括该查询序列在对应存储空间中的每个查询序列的平均检索频次,例如该查询序列在第一缓存空间或第二缓存空间中的每个查询序列的平均检索频次,当该平均检索频次逐渐降低时,该密度减小,例如将用户查询视为趋于分散,空间调整装置将相应地增加第一缓存空间的大小。若该密度包括该查询序列在对应存储空间中的每个查询序列的平均检索次数,例如该查询序列在第一缓存空间或第二缓存空间中的每个查询序列的平均检索次数当该平均检索次数逐渐降低时,该密度减小,例如将用户查询视为趋于分散,空间调整装置将相应地增加第一缓存空间的大小。若该密度包括该查询序列在对应存储空间中不同查询序列的数量,例如该查询序列在第一缓存空间或第二缓存空间中不同查询序列的数量,当该不同查询序列的数量增长加快时,该密度减小,例如将用户查询视为趋于分散,空间调整装置将相应地增加第一缓存空间的大小。若该密度包括该查询序列在对应存储空间中的不同查询序列的数量与该对应存储空间的检索命中次数的比值,例如该查询序列在第一缓存空间或第二缓存空间中的不同查询序列的数量与该第一缓存空间或第二缓存空间的检索命中次数的比值,当该比值减小时,该密度增大,例如将用户查询视为趋于集中,空间调整装置将相应地增加第二缓存空间的大小。本领域技术人员应能理解上述密度判断方式仅为举例,其他现有的或今后可能出现的密度判断方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
图3示出根据本发明另一个优选实施例的用于对检索数据进行缓存管理的设备示意图。其中,检索缓存管理设备1中还包括查询装置16”,第二更新装置17”。在此,图3中所示装置11”-13”与前面参照图1所描述的装置11-13的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,查询装置16”用于根据用户输入的查询序列,在所述第一缓存空间或第二缓存空间中进行匹配查询,以获取与所述查询序列相对应的检索数据。更具体地,查询装置16”根据用户输入的查询序列,在所述第一缓存空间或第二缓存空间中进行匹配查询,例如通过地址映射表获取该查询序列所对应的检索数据在第一缓存空间或第二缓存空间中的存储地址,从第一缓存空间或第二缓存空间中读取该检索数据。例如,查询装置16”根据用户输入的查询序列,如“鲜花 速递”,通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第一缓存空间或第二缓存空间的存储地址,从第一缓存空间或第二缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果。本领域技术人员应能理解上述匹配查询的方式仅为举例,其他现有的或今后可能出现的匹配查询的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,第二更新装置17”用于若匹配查询结果为成功,更新所述查询序列的检索属性。具体地,如果查询装置16”根据用户输入的查询序列在第一缓存空间或第二缓存空间获得与该查询序列相对应的检索数据,则第二更新装置17”相应地更新该查询序列的检索属性,例如累计检索次数或检索频次。例如,如果查询装置16”在第一缓存空间或第二缓存空间获得与该查询序列相对应的检索数据,则第二更新装置17”相应地更新该查询序列的检索属性,例如累计检索次数或检索频次。例如,某个查询序列,例如“鲜花 速递”,的累计检索次数为20000次,如果查询装置16”在第一缓存空间获得与该查询序列相对应的检索数据,则第二更新装置17”将更新该查询序列的累计检索次数为20001次。在此,所述实施例中的检索属性可存储在第二更新装置17”,也可存储在检索缓存管理设备1的其他部分或第三方设备中。本领域技术人员应能理解上述更新检索属性的方式仅为举例,其他现有的或今后可能出现的更新检索属性的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,第二更新装置17”还用于若所述匹配查询结果为失败,根据所述查询序列在搜索索引库中匹配查询,以获取所述检索数据;将所述检索数据写入所述第一缓存空间,并设置所述查询序列的检索属性。具体地,如果查询装置16”根据用户输入的查询序列在第一缓存空间或第二缓存空间中未获得与该查询序列相对应的检索数据,第二更新装置17”将根据该查询序列在搜索索引库中匹配查询,以获取与该查询序列相对应的检索数据,然后,将该检索数据直接写入第一缓存空间,或者将该检索数据缓存于检索缓存管理设备1或其他存储装置后,再将该检索数据写入第一缓存空间,并设置该查询序列的检索属性,例如累计检索次数或检索频次。例如,如果查询装置16”根据用户输入的查询序列,例如“鲜花速递”,在第一缓存空间或第二缓存空间中未获得与该查询序列相对应的检索数据,则第二更新装置17”将根据该查询序列在搜索索引库中匹配查询以获得与该查询序列相对应的检索数据,然后,将该检索数据直接写入第一缓存空间,最后将查询序列的检索属性,例如累计检索次数设置为1次。本领域技术人员应能理解上述获取检索数据的方式仅为举例,其他现有的或今后可能出现的获取检索数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在另一个优选实施例中(参照图1),所述第一缓存空间或所述第二缓存空间包括以下至少任一项:
-内存存储器;
-闪存;
-磁盘存储器;
-磁盘阵列。
具体地,所述第一缓存空间或第二缓存空间的具体实现包括但不限于内存存储器、闪存、磁盘存储器和磁盘阵列中的任一种。例如,第一缓存空间是磁盘存储器,第二缓存空间是内存存储器。如本领域技术人员所知,内存存储器是一种利用半导体技术做成的电子设备,用来存储数据,其优点在于数据读写速度快,但是其缺点是存储空间有限,且成本高;相比较而言,磁盘存储器是以磁盘为存储介质的存储器,其优点在于存储空间大,且成本低,但是其缺点是数据读写速度慢;通过使用上述两种缓存空间,可以最大限度地保留历史检索数据,这样用户在进行新的数据检索时,能够在缓存空间中获得检索数据的概率会增大;同时,通过在缓存之间设置合理的数据迁移第一触发条件,使高频查询序列所对应的检索数据存储在内存存储器,而低频查询序列所对应的检索数据存储在硬盘存储器中,从而既保证数据检索的执行效率,同时也提高数据检索在缓存中的命中率,并且能够维护合理的成本。
图4示出根据本发明另一个方面用于对检索数据进行缓存管理的方法流程图。
具体地,在步骤S1中,检索管理设备1用于获取查询序列的检索属性。更具体地,在步骤S1中,检索管理设备1定期或应事件触发实时地获取查询序列的检索属性,例如通过对一定时间间隔内某个查询序列所对应的检索活动进行统计分析,以获取该查询序列的累计检索次数或检索频次,或者通过约定的通信接口直接从检索缓存管理设备1的其他部分或第三方设备读取某个查询序列的检索属性。例如,在用户进行了一次基于某个查询序列的检索后,在步骤S1中,检索管理设备1对与该查询序列相关的检索活动日志进行统计分析,获得该查询序列累计检索次数为20000次。再如,在步骤S1中,检索管理设备1按一定周期,定期地通过调用设定的应用编程接口(API)从第三方设备中直接读取一个或多个查询序列的检索属性,例如某个查询序列的检索频次为200次/日。在此,所述检索属性包括但不限于查询序列的累计检索次数和检索频次。本领域技术人员应能理解上述获取查询序列的检索属性的方式仅为举例,其他现有的或今后可能出现的获取查询序列的检索属性的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S2中,检索管理设备1用于根据所述检索属性,检测是否满足所述查询序列相对应的检索数据进行数据迁移的第一触发条件。具体地,在步骤S2中,检索管理设备1根据其在步骤S1中所提供的该查询序列的检索属性,例如通过将该检索属性与预置的检索属性阈值进行比较,检测是否满足第一触发条件,以判断是否对该查询序列所对应的检索数据进行数据迁移。例如,假设第一触发条件包括所述检索属性达到检索属性阈值,在步骤S2中,检索管理设备1根据其在步骤S1中所提供的该查询序列的检索属性,如累计检索次数为20000次,通过与其对应的检索属性阈值,如第一检索累计阈值19999次,进行比较,确定满足该第一触发条件,即须对该查询序列对应的检索数据进行数据迁移。再如,假设第一触发条件包括所述检索属性达到检索属性阈值,在步骤S2中,检索管理设备1根据其在步骤S1中所提供的该查询序列的检索属性,如检索频次为200次/日,通过与其对应的检索属性阈值,如第一检索频次阈值220次/日,进行比较,确定不满足该第一触发条件,即无须对该查询序列对应的检索数据进行数据迁移。在此,所举实施例中的检索属性阈值或可存储在检索缓存管理设备1,或者通过约定的通信接口直接从第三方设备读取。本领域技术人员应能理解上述检测第一触发条件的方式仅为举例,其他现有的或今后可能出现的检测第一触发条件的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S3中,检索管理设备1用于当满足第一触发条件,将所述检索数据从第一缓存空间迁移到第二缓存空间。具体地,在步骤S3中,检索管理设备1根据经其在步骤S2中检测发现已满足的第一触发条件所对应的查询序列,例如通过地址映射表获取该查询序列所对应的检索数据在第一缓存空间中的存储地址,从第一缓存空间读取该检索数据;然后,将该检索数据直接写入第二缓存空间,或者将该检索数据缓存于检索缓存管理设备1或其他存储装置后,再将该检索数据写入第二缓存空间;最后,更新该查询序列的相关信息,例如更新该查询序列所对应的检索数据在地址映射表中的存储地址。例如,假设在步骤S2中,检索管理设备1检测发现满足第一触发条件,如查询序列“鲜花 速递”的累计检索次数超过第一累计检索阈值,在步骤S3中,检索管理设备1根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第一缓存空间的存储地址,从第一缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果;将这些搜索结果作为查询序列“鲜花 速递”的检索数据写入第二缓存空间;并据此更新查询序列“鲜花速递”在第二缓存空间的存储信息。再如,假设在步骤S2中,检索管理设备1检测发现满足第一触发条件,如查询序列“鲜花 速递”的检索频次超过第一检索频次阈值,在步骤S3中,检索管理设备1根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第一缓存空间的存储地址,从第一缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果;然后,将这些搜索结果缓存于一个第三方设备中,再作为查询序列“鲜花 速递”的检索数据写入第二缓存空间;并据此更新查询序列“鲜花 速递”在第二缓存空间的存储信息。本领域技术人员应能理解上述进行检索数据迁移的方式仅为举例,其他现有的或今后可能出现的检索数据迁移的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,上述各个步骤之间是持续不断地工作。具体地,在步骤S1中,检索管理设备1获取查询序列的检索属性;在步骤S2中,检索管理设备1根据所述检索属性,检测是否满足所述查询序列相对应的检索数据进行数据迁移的第一触发条件;在步骤S3中,检索管理设备1在满足所述第一触发条件时,将所述检索数据从第一缓存空间迁移到第二缓存空间。在此,本领域技术人员应理解“持续”是指各步骤分别按照设定的或实时调整的工作模式要求进行查询序列的检索属性的获取、检测检索数据进行数据迁移的第一触发条件、及检索数据迁移,直至检索管理设备1在较长时间内停止对查询序列的检索属性的获取。
具体地,所述第一触发条件包括但不限于,以下至少任选一项:
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一累计检索阈值;
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一检索频次阈值。
更具体地,当所述第一触发条件包括所述检索数据位于所述第一缓存空间、且所述检索属性达到第一累计检索阈值时,若查询序列在第一缓存空间中的累计检索次数超过第一累计检索阈值时,则第一触发条件得到满足,例如将该查询序列视为被高频检索的查询序列。例如,某个查询序列的累计检索次数为20000次,而第一累计检索阈值为19999次,查询序列的累计检索次数大于第一累计检索阈值,则检索数据进行数据迁移的第一触发条件得到满足。额外地或可替代地,当所述第一触发条件包括所述检索数据位于所述第一缓存空间,且所述检索属性达到第一检索频次阈值时,若某查询序列在第一缓存空间中的检索频次超过第一检索频次阈值时,则第一触发条件得到满足,例如将该查询序列视为被高频检索的查询序列。例如,查询序列的检索频次为200次/日,而第一检索频次阈值为199次/日,查询序列的检索频次大于第一检索频次阈值,则检索数据进行数据迁移的第一触发条件得到满足。本领域技术人员应能理解上述第一触发条件仅为举例,其他现有的或今后可能出现的第一触发条件如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
更优选地,在步骤S9(未示出)中,检索管理设备1根据缓存检索效率信息,设置或更新所述第一累计检索阈值或所述第一检索频次阈值;其中,该缓存检索效率信息包括以下至少任一项:
-所述第二缓存空间中每个查询序列的平均检索频次;
-所述第二缓存空间中每个查询序列的平均检索次数;
-所述第二缓存空间的大小;
-所述第一缓存空间中每个查询序列的平均检索频次;
-所述第一缓存空间中每个查询序列的平均检索次数;
-所述第一缓存空间的大小。
具体地,在步骤S9中,检索管理设备1根据缓存检索效率信息,如第一缓存空间或第二缓存空间中每个查询序列的平均检索频次,设置或更新所述第一累计检索阈值或所述第一检索频次阈值;在此,该缓存检索效率信息包括但不限于,以下至少任一项:
-所述第二缓存空间中每个查询序列的平均检索频次;
-所述第二缓存空间中每个查询序列的平均检索次数;
-所述第二缓存空间的大小;
-所述第一缓存空间中每个查询序列的平均检索频次;
-所述第一缓存空间中每个查询序列的平均检索次数;
-所述第一缓存空间的大小。
更具体地,若该缓存检索效率信息包括第一缓存空间或第二缓存空间中每个查询序列的平均检索次数,当该平均检索次数增大时,则在步骤S9中,检索管理设备1相应地提高所述第一累计检索阈值;反之,则相应地降低该阈值。例如,第一缓存空间中每个查询序列的平均检索次数是10000次,在步骤S9中,检索管理设备1设置第一累计检索阈值为15000次,当所述平均检索次数增加到15000次时,在步骤S9中,检索管理设备1将该第一累计检索阈值更新为20000次。若该缓存检索效率信息包括第一缓存空间或第二缓存空间中每个查询序列的平均检索频次,当该平均检索频次增大时,则在步骤S9中,检索管理设备1相应地提高所述第一检索频次阈值;反之,则相应地降低该阈值。例如,第一缓存空间中每个查询序列的平均检索频次是1000次/日,在步骤S9中,检索管理设备1设置第一检索频次阈值为1500次/日,当所述平均检索频次增加到1500次/日时,在步骤S9中,检索管理设备1将该第一检索频次阈值更新为2000次/日。若该缓存检索效率信息包括第一缓存空间或第二缓存空间的大小,如果该第二缓存空间的存储空间增大时,利于检索数据从第一缓存空间向第二缓存空间的迁移,则在步骤S9中,检索管理设备1降低触发数据从第一缓存空间向第二缓存空间迁移的检索属性阈值;反之,则提高该检索属性阈值。在此,该缓存检索效率信息可以在步骤S9中,检索管理设备1根据第一缓存空间或第二缓存空间的查询日志信息计算获得,例如第一缓存空间中每个查询序列的平均检索次数可以在步骤S9中,检索管理设备1根据在第一缓存空间的某段时间内的查询日志中获得每个查询序列的检索此后进行累加再求平均值计算得出;也可通过调用设定的应用编程接口(API)从第三方设备直接获得。本领域技术人员应能理解上述缓存检索效率信息仅为举例,其他现有的或今后可能出现的缓存检索效率信息如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
图5示出根据本发明一个优选实施例的用于对检索数据进行缓存管理的方法流程图。在此,图5中所示步骤S1’-S3’与前面参照图4所描述的步骤S1-S3的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,在步骤S4’中,检索管理设备1用于根据所述检索属性,检测是否满足所述检索数据进行数据迁移的第二触发条件。更具体地,在步骤S4’中,检索管理设备1根据在步骤S1’中提供的该查询序列的检索属性,例如通过将该检索属性与预置的检索属性阈值进行比较,检测是否满足第二触发条件,以判断是否对该查询序列所对应的检索数据进行数据迁移。例如,假设第二触发条件包括所述检索属性达到检索属性阈值,在步骤S4’中,检索管理设备1根据在步骤S1’中所提供的该查询序列的检索属性,如累计检索次数为10000次,通过与其对应的检索属性阈值,如第二检索累计阈值20000次,进行比较,确定满足该第二触发条件,即须对该查询序列对应的检索数据进行数据迁移。再如,假设第二触发条件包括所述检索属性达到检索属性阈值,在步骤S4’中,检索管理设备1根据在步骤S1’中所提供的该查询序列的检索属性,如检索频次为300次/日,通过与其对应的检索属性阈值,如第二检索频次阈值200次/日,进行比较,确定不满足该第二触发条件,即无须对该查询序列对应的检索数据进行数据迁移。在此,所举实施例中的检索属性阈值或可存储在检索管理设备1,或者通过约定的通信接口直接从第三方设备读取。本领域技术人员应能理解上述检测第二触发条件的方式仅为举例,其他现有的或今后可能出现的检测第二触发条件的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,在步骤S5’中,检索管理设备1用于当满足所述第二触发条件,将所述检索数据从所述第二缓存空间迁移至所述第一缓存空间。具体地,在步骤S5’中,检索管理设备1根据经检测发现已满足的第二触发条件所对应的查询序列,例如通过地址映射表获取该查询序列所对应的检索数据在第二缓存空间中的存储地址,从第二缓存空间读取该检索数据;然后,将该检索数据直接写入第一缓存空间,或者将该检索数据缓存于检索缓存管理设备1或其他存储装置后,再将该检索数据写入第一缓存空间;最后,更新该查询序列的相关信息,例如更新该查询序列所对应的检索数据在地址映射表中的存储地址。例如,假设在步骤S4’中,检索管理设备1检测发现满足第二触发条件,如查询序列“鲜花 速递”的累计检索次数低于第二累计检索阈值,在步骤S5’中,检索管理设备1根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第二缓存空间的存储地址,从第二缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果;将这些搜索结果作为查询序列“鲜花 速递”的检索数据写入第一缓存空间;并据此更新查询序列“鲜花 速递”在第一缓存空间的存储信息,再如,假设在步骤S4’中,检索管理设备1检测发现满足第二触发条件,如查询序列“鲜花 速递”的检索频次低于第二检索频次阈值,在步骤S5’中,检索管理设备1根据该查询序列,例如通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第二缓存空间的存储地址,从第二缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果;然后,将这些搜索结果缓存于一个第三方设备中,再作为查询序列“鲜花 速递”的检索数据写入第一缓存空间;并据此更新查询序列“鲜花 速递”在第一缓存空间的存储信息。本领域技术人员应能理解上述进行检索数据迁移的方式仅为举例,其他现有的或今后可能出现的检索数据迁移的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述第二触发条件包括以下至少一项:
-所述检索数据位于所述第二缓存空间,且所述检索属性达到第二累计检索阈值;
-所述检索数据位于所述第二缓存空间,且所述检索属性达到第二检索频次阈值。具体地,当所述第二触发条件包括所述检索数据位于所述第二缓存空间、且所述检索属性达到第二累计检索阈值时,若查询序列在第二缓存空间中的累计检索次数低于第二累计检索阈值时,则第二触发条件得到满足,例如将该查询序列视为被低频检索的查询序列。例如,某个查询序列的累计检索次数为10000次,而第二累计检索阈值为20000次,即该查询序列的累计检索次数小于第二累计检索阈值,则检索数据进行数据迁移的第二触发条件得到满足。额外地或可替代地,当所述第二触发条件包括所述检索数据位于所述第二缓存空间,且所述检索属性达到第二检索频次阈值时,若某查询序列在第二缓存空间中的检索频次低于第二检索频次阈值时,则第二触发条件得到满足,例如将该查询序列视为被低频检索的查询序列。例如,查询序列的检索频次为100次/日,而第二检索频次阈值为200次/日,即该查询序列的检索频次小于第二检索频次阈值,则检索数据进行数据迁移的第二触发条件得到满足。本领域技术人员应能理解上述第二触发条件仅为举例,其他现有的或今后可能出现的第二触发条件如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在另一个优选的实施例中(参照图4),在步骤S10(未示出)中,检索管理设备1根据所述查询序列在对应存储空间中的密度,调整所述对应存储空间的大小;其中,该存储空间包括以下至少任一项:
-所述第一缓存空间;
-所述第二缓存空间。具体地,在步骤S10中,检索管理设备1根据所述查询序列在对应存储空间中的密度,例如该查询序列在该对应存储空间中的检索命中率,调整该对应存储空间的大小;在此,该存储空间包括但不限于,以下至少任一项:
-所述第一缓存空间;
-所述第二缓存空间。例如,在步骤S10中,检索管理设备1根据查询序列在第一缓存空间或第二缓存空间的检索命中率,例如若该检索命中率逐渐升高,则在步骤S10中,检索管理设备1将增加第二缓存空间的大小。再如,在步骤S10中,检索管理设备1根据查询序列在第一缓存空间或第二缓存空间的检索命中率,例如若该检索命中率逐渐降低,则在步骤S10中,检索管理设备1将增加第一缓存空间的大小。在此,该密度信息可以由检索管理设备1根据第一缓存空间或第二缓存空间的查询日志信息计算获得,例如将查询序列在第一缓存空间或第二缓存空间命中的次数与利用查询序列进行数据检索的次数相除计算得出,也可通过调用设定的应用编程接口(API)从第三方设备直接获得。本领域技术人员应能理解上述调整存储空间大小的方式仅为举例,其他现有的或今后可能出现的调整存储空间大小的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述密度基于以下至少任一项:
-所述查询序列在所述对应存储空间中的检索命中率;
-所述对应存储空间中每个查询序列的平均检索频次;
-所述对应存储空间中每个查询序列的平均检索次数;
-所述对应存储空间中不同查询序列的数量;
-所述对应存储空间中不同查询序列的数量与所述对应存储空间的检索命中次数的比值。
具体地,若该密度包括该查询序列在对应存储空间中的检索命中率,例如该查询序列在第一缓存空间或第二缓存空间的检索命中率,当该检索命中率逐渐升高时,该密度增大,例如将用户查询视为趋于集中,在步骤S10中,检索管理设备1将相应地增加第二缓存空间的大小。若该密度包括该查询序列在对应存储空间中的每个查询序列的平均检索频次,例如该查询序列在第一缓存空间或第二缓存空间中的每个查询序列的平均检索频次,当该平均检索频次逐渐降低时,该密度减小,例如将用户查询视为趋于分散,在步骤S10中,检索管理设备1将相应地增加第一缓存空间的大小。若该密度包括该查询序列在对应存储空间中的每个查询序列的平均检索次数,例如该查询序列在第一缓存空间或第二缓存空间中的每个查询序列的平均检索次数当该平均检索次数逐渐降低时,该密度减小,例如将用户查询视为趋于分散,在步骤S10中,检索管理设备1将相应地增加第一缓存空间的大小。若该密度包括该查询序列在对应存储空间中不同查询序列的数量,例如该查询序列在第一缓存空间或第二缓存空间中不同查询序列的数量,当该不同查询序列的数量增长加快时,该密度减小,例如将用户查询视为趋于分散,在步骤S10中,检索管理设备1将相应地增加第一缓存空间的大小。若该密度包括该查询序列在对应存储空间中的不同查询序列的数量与该对应存储空间的检索命中次数的比值,例如该查询序列在第一缓存空间或第二缓存空间中的不同查询序列的数量与该第一缓存空间或第二缓存空间的检索命中次数的比值,当该比值减小时,该密度增大,例如将用户查询视为趋于集中,在步骤S10中,检索管理设备1将相应地增加第二缓存空间的大小。本领域技术人员应能理解上述密度判断方式仅为举例,其他现有的或今后可能出现的密度判断方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
图6示出根据本发明另一个优选实施例的用于对检索数据进行缓存管理的方法流程图。在此,图6中所示步骤S1”与前面参照图4所描述的步骤S1的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,在步骤S6”中,检索管理设备1根据用户输入的查询序列,在所述第一缓存空间或第二缓存空间中进行匹配查询,以获取与所述查询序列相对应的检索数据。更具体地,在步骤S6”中,检索管理设备1根据用户输入的查询序列,在所述第一缓存空间或第二缓存空间中进行匹配查询,例如通过地址映射表获取该查询序列所对应的检索数据在第一缓存空间或第二缓存空间中的存储地址,从第一缓存空间或第二缓存空间中读取该检索数据。例如,在步骤S6”中,检索管理设备1根据用户输入的查询序列,如“鲜花 速递”,通过该查询序列从地址映射表中获取该查询序列所对应的检索数据在第一缓存空间或第二缓存空间的存储地址,从第一缓存空间或第二缓存空间中该存储地址读取该检索数据,如与“鲜花 速递”相匹配的多个搜索结果。本领域技术人员应能理解上述匹配查询的方式仅为举例,其他现有的或今后可能出现的匹配查询的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,若匹配查询结果为成功,在步骤S7”中,检索管理设备1更新所述查询序列的检索属性。具体地,如果在步骤S7”中,检索管理设备1根据用户输入的查询序列在第一缓存空间或第二缓存空间获得与该查询序列相对应的检索数据,则在步骤S7”中,检索管理设备1相应地更新该查询序列的检索属性,例如累计检索次数或检索频次。例如,如果在步骤S6”中,检索管理设备1在第一缓存空间或第二缓存空间获得与该查询序列相对应的检索数据,则在步骤S7”中,检索管理设备1相应地更新该查询序列的检索属性,例如累计检索次数或检索频次。例如,某个查询序列,例如“鲜花 速递”,的累计检索次数为20000次,如果在步骤S6”中,检索管理设备1在第一缓存空间获得与该查询序列相对应的检索数据,则在步骤S7”中,检索管理设备1将更新该查询序列的累计检索次数为20001次。在此,所述实施例中的检索属性可存储在检索管理设备1,也可存储在第三方设备中。本领域技术人员应能理解上述更新检索属性的方式仅为举例,其他现有的或今后可能出现的更新检索属性的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S7”中,检索管理设备1若所述匹配查询结果为失败,根据所述查询序列在搜索索引库中匹配查询,以获取所述检索数据;将所述检索数据写入所述第一缓存空间,并设置所述查询序列的检索属性。具体地,如果在步骤S6”中,检索管理设备1根据用户输入的查询序列在第一缓存空间或第二缓存空间中未获得与该查询序列相对应的检索数据,在步骤S7”中,检索管理设备1将根据该查询序列在搜索索引库中匹配查询,以获取与该查询序列相对应的检索数据,然后,将该检索数据直接写入第一缓存空间,或者将该检索数据缓存于检索缓存管理设备1或其他存储装置后,再将该检索数据写入第一缓存空间,并设置该查询序列的检索属性,例如累计检索次数或检索频次。例如,如果在步骤S6”中,检索管理设备1根据用户输入的查询序列,例如“鲜花 速递”,在第一缓存空间或第二缓存空间中未获得与该查询序列相对应的检索数据,则在步骤S7”中,检索管理设备1将根据该查询序列在搜索索引库中匹配查询以获得与该查询序列相对应的检索数据,然后,将该检索数据直接写入第一缓存空间,最后将查询序列的检索属性,例如累计检索次数设置为1次。本领域技术人员应能理解上述获取检索数据的方式仅为举例,其他现有的或今后可能出现的获取检索数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在另一个优选实施例中,所述第一缓存空间或所述第二缓存空间包括以下至少任一项:
-内存存储器;
-闪存;
-磁盘存储器;
-磁盘阵列。
具体地,所述第一缓存空间或第二缓存空间的具体实现包括但不限于内存存储器、闪存、磁盘存储器和磁盘阵列中的任一种。例如,第一缓存空间是磁盘存储器,第二缓存空间是内存存储器。如本领域技术人员所知,内存存储器是一种利用半导体技术做成的电子设备,用来存储数据,其优点在于数据读写速度快,但是其缺点是存储空间有限,且成本高;相比较而言,磁盘存储器是以磁盘为存储介质的存储器,其优点在于存储空间大,且成本低,但是其缺点是数据读写速度慢;通过使用上述两种缓存空间,可以最大限度地保留历史检索数据,这样用户在进行新的数据检索时,能够在缓存空间中获得检索数据的概率会增大;同时,通过在缓存之间设置合理的数据迁移第一触发条件,使高频查询序列所对应的检索数据存储在内存存储器,而低频查询序列所对应的检索数据存储在硬盘存储器中,从而既保证数据检索的执行效率,同时也提高数据检索在缓存中的命中率,并且能够维护合理的成本。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (16)
1.一种计算机实现的基于检索属性对查询序列所对应的检索数据进行缓存管理的方法,其中,该方法包括以下步骤:
a获取查询序列的检索属性;
b根据所述检索属性,检测是否满足所述查询序列相对应的检索数据进行数据迁移的第一触发条件;
c当满足所述第一触发条件,将所述检索数据从第一缓存空间迁移至第二缓存空间;
其中,该方法还包括:
-根据所述查询序列在对应存储空间中的密度,调整所述对应存储空间的大小;
其中,所述存储空间包括以下至少任一项:
-所述第一缓存空间;
-所述第二缓存空间;
其中,所述密度基于以下至少任一项:
-所述查询序列在所述对应存储空间中的检索命中率;
-所述对应存储空间中每个查询序列的平均检索频次;
-所述对应存储空间中每个查询序列的平均检索次数;
-所述对应存储空间中不同查询序列的数量;
-所述对应存储空间中不同查询序列的数量与所述对应存储空间的检索命中次数的比值。
2.根据权利要求1所述的方法,其中,所述第一触发条件包括以下至少任一项:
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一累计检索阈值;
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一检索频次阈值。
3.根据权利要求2所述的方法,其中,该方法还包括:
-根据缓存检索效率信息,设置或更新所述第一累计检索阈值或所述第一检索频次阈值;
其中,所述缓存检索效率信息包括以下至少任一项:
-所述第二缓存空间中每个查询序列的平均检索频次;
-所述第二缓存空间中每个查询序列的平均检索次数;
-所述第二缓存空间的大小;
-所述第一缓存空间中每个查询序列的平均检索频次;
-所述第一缓存空间中每个查询序列的平均检索次数;
-所述第一缓存空间的大小。
4.根据权利要求1至3中任一项所述的方法,其中,该方法还包括以下步骤:
-根据所述检索属性,检测是否满足所述检索数据进行数据迁移的第二触发条件;
-当满足所述第二触发条件,将所述检索数据从所述第二缓存空间迁移至所述第一缓存空间。
5.根据权利要求4所述的方法,其中,所述第二触发条件包括以下至少一项:
-所述检索数据位于所述第二缓存空间,且所述检索属性低于第二累计检索阈值;
-所述检索数据位于所述第二缓存空间,且所述检索属性低于第二检索频次阈值。
6.根据权利要求1至3中任一项所述的方法,其中,该方法还包括:
-根据用户输入的查询序列,在所述第一缓存空间或第二缓存空间中进行匹配查询,以获取与所述查询序列相对应的检索数据;
x若匹配查询结果为成功,更新所述查询序列的检索属性。
7.根据权利要求6所述的方法,其中,所述步骤x还包括:
-若所述匹配查询结果为失败,根据所述查询序列在搜索索引库中匹配查询,以获取所述检索数据;
-将所述检索数据写入所述第一缓存空间,并设置所述查询序列的检索属性。
8.根据权利要求1至3中任一项所述的方法,其中,所述第一缓存空间或所述第二缓存空间包括以下至少任一项:
-内存存储器;
-闪存;
-磁盘存储器;
-磁盘阵列。
9.一种基于检索属性对查询序列所对应的检索数据进行缓存管理的设备,其中,该设备包括:
获取装置,用于获取查询序列的检索属性;
第一检测装置,用于根据所述检索属性,检测是否满足所述查询序列相对应的检索数据进行数据迁移的第一触发条件;
第一迁移装置,用于当满足所述第一触发条件,将所述检索数据从第一缓存空间迁移至第二缓存空间;
其中,该设备还包括:
空间调整装置,用于根据所述查询序列在对应存储空间中的密度,调整所述对应存储空间的大小;
其中,所述存储空间包括以下至少任一项:
-所述第一缓存空间;
-所述第二缓存空间;
其中,所述密度基于以下至少任一项:
-所述查询序列在所述对应存储空间中的检索命中率;
-所述对应存储空间中每个查询序列的平均检索频次;
-所述对应存储空间中每个查询序列的平均检索次数;
-所述对应存储空间中不同查询序列的数量;
-所述对应存储空间中不同查询序列的数量与所述对应存储空间的检索命中次数的比值。
10.根据权利要求9所述的设备,其中,所述第一触发条件包括以下至少任一项:
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一累计检索阈值;
-所述检索数据位于所述第一缓存空间,且所述检索属性达到第一检索频次阈值。
11.根据权利要求10所述的设备,其中,该设备还包括:
第一更新装置,用于根据缓存检索效率信息,设置或更新所述第一累计检索阈值或所述第一检索频次阈值;
其中,所述缓存检索效率信息包括以下至少任一项:
-所述第二缓存空间中每个查询序列的平均检索频次;
-所述第二缓存空间中每个查询序列的平均检索次数;
-所述第二缓存空间的大小;
-所述第一缓存空间中每个查询序列的平均检索频次;
-所述第一缓存空间中每个查询序列的平均检索次数;
-所述第一缓存空间的大小。
12.根据权利要求9至11中任一项所述的设备,其中,该设备还包括:
第二检测装置,用于根据所述检索属性,检测是否满足所述检索数据进行数据迁移的第二触发条件;
第二迁移装置,用于当满足所述第二触发条件,将所述检索数据从所述第二缓存空间迁移至所述第一缓存空间。
13.根据权利要求12所述的设备,其中,所述第二触发条件包括以下至少一项:
-所述检索数据位于所述第二缓存空间,且所述检索属性低于第二累计检索阈值;
-所述检索数据位于所述第二缓存空间,且所述检索属性低于第二检索频次阈值。
14.根据权利要求9至11中任一项所述的设备,其中,该设备还包括:
查询装置,用于根据用户输入的查询序列,在所述第一缓存空间或第二缓存空间中进行匹配查询,以获取与所述查询序列相对应的检索数据;
第二更新装置,用于若匹配查询结果为成功,更新所述查询序列的检索属性。
15.根据权利要求14所述的设备,其中,所述第二更新装置还用于:
-若所述匹配查询结果为失败,根据所述查询序列在搜索索引库中匹配查询,以获取所述检索数据;
-将所述检索数据写入所述第一缓存空间,并设置所述查询序列的检索属性。
16.根据权利要求9至11中任一项所述的设备,其中,所述第一缓存空间或所述第二缓存空间包括以下至少任一项:
-内存存储器;
-闪存;
-磁盘存储器;
-磁盘阵列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110095963.0A CN102737068B (zh) | 2011-04-15 | 2011-04-15 | 一种用于对检索数据进行缓存管理的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110095963.0A CN102737068B (zh) | 2011-04-15 | 2011-04-15 | 一种用于对检索数据进行缓存管理的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102737068A CN102737068A (zh) | 2012-10-17 |
CN102737068B true CN102737068B (zh) | 2018-06-05 |
Family
ID=46992588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110095963.0A Active CN102737068B (zh) | 2011-04-15 | 2011-04-15 | 一种用于对检索数据进行缓存管理的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102737068B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890722B (zh) * | 2012-10-25 | 2015-03-11 | 国家电网公司 | 应用于时序历史数据库的索引方法 |
CN103853671B (zh) * | 2012-12-07 | 2018-03-02 | 北京百度网讯科技有限公司 | 一种数据写入控制方法及装置 |
CN105512129B (zh) * | 2014-09-24 | 2018-12-04 | 中国移动通信集团江苏有限公司 | 一种海量数据检索方法及装置、海量数据存储方法及系统 |
CN105867850B (zh) * | 2016-03-29 | 2019-05-31 | 北京联想核芯科技有限公司 | 一种信息调整方法及电子设备 |
CN106021345A (zh) * | 2016-05-09 | 2016-10-12 | 太仓市爱都网络科技有限公司 | 固定信息查询系统 |
US9857988B1 (en) * | 2016-07-10 | 2018-01-02 | Winbond Electronics Corporaiton | Data management in multiply-writeable flash memories |
CN106547855B (zh) * | 2016-10-19 | 2020-06-05 | 北京交通大学 | 基于电子地图和io驱采信息的数据库自动生成方法及装置 |
CN109359095B (zh) * | 2018-09-11 | 2021-07-16 | 东华大学 | 一种大数据快速读取的dlk方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075241A (zh) * | 2006-12-26 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 缓存处理方法以及缓存处理系统 |
CN101520797A (zh) * | 2009-02-11 | 2009-09-02 | 国电南瑞科技股份有限公司 | 电力系统跨平台大数据文件高速并发存取方法 |
CN101644996A (zh) * | 2009-09-25 | 2010-02-10 | 杭州华三通信技术有限公司 | 索引数据的存储方法和存储控制装置 |
-
2011
- 2011-04-15 CN CN201110095963.0A patent/CN102737068B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075241A (zh) * | 2006-12-26 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 缓存处理方法以及缓存处理系统 |
CN101520797A (zh) * | 2009-02-11 | 2009-09-02 | 国电南瑞科技股份有限公司 | 电力系统跨平台大数据文件高速并发存取方法 |
CN101644996A (zh) * | 2009-09-25 | 2010-02-10 | 杭州华三通信技术有限公司 | 索引数据的存储方法和存储控制装置 |
Non-Patent Citations (1)
Title |
---|
数据分级存储策略;罗敏;《城建档案》;20090915;第46页第3栏 * |
Also Published As
Publication number | Publication date |
---|---|
CN102737068A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102737068B (zh) | 一种用于对检索数据进行缓存管理的方法与设备 | |
US8782324B1 (en) | Techniques for managing placement of extents based on a history of active extents | |
Levandoski et al. | Identifying hot and cold data in main-memory databases | |
CN103577440B (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
CN106202581B (zh) | 一种数据搜索方法及装置 | |
CN107122410A (zh) | 一种缓存更新方法及装置 | |
CN110321325A (zh) | 文件索引节点查找方法、终端、服务器、系统及存储介质 | |
US10061517B2 (en) | Apparatus and method for data arrangement | |
US10656839B2 (en) | Apparatus and method for cache provisioning, configuration for optimal application performance | |
Fares et al. | Performance evaluation of traditional caching policies on a large system with petabytes of data | |
CN104252457B (zh) | 一种用于对数据集合进行管理的方法与设备 | |
CN109800185A (zh) | 一种数据存储系统中的数据缓存方法 | |
US7895247B2 (en) | Tracking space usage in a database | |
CN103365987B (zh) | 一种基于共享磁盘架构的集群数据库系统及数据处理方法 | |
CN109144431A (zh) | 数据块的缓存方法、装置、设备及存储介质 | |
US9851925B2 (en) | Data allocation control apparatus and data allocation control method | |
CN106547484A (zh) | 一种基于raid5的实现内存数据可靠性方法及系统 | |
CN105915595A (zh) | 一种集群存储系统存取数据的方法以及集群存储系统 | |
CN115129618A (zh) | 用于优化数据缓存的方法和设备 | |
CN106933974A (zh) | 一种视频文件索引信息的构建和查询方法及装置 | |
Chandrasekar et al. | Classification based metadata management for HDFS | |
Thakare et al. | A novel adaptive database cache optimization algorithm based on predictive working sets in cloud environment | |
KR102214697B1 (ko) | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 | |
CN113672652A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN106790562A (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 |