CN104598394A - 一种可动态分配的数据缓存方法及系统 - Google Patents

一种可动态分配的数据缓存方法及系统 Download PDF

Info

Publication number
CN104598394A
CN104598394A CN201310533452.1A CN201310533452A CN104598394A CN 104598394 A CN104598394 A CN 104598394A CN 201310533452 A CN201310533452 A CN 201310533452A CN 104598394 A CN104598394 A CN 104598394A
Authority
CN
China
Prior art keywords
data
cache
buffer memory
strategy
size
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
CN201310533452.1A
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.)
China National Petroleum Corp
BGP Inc
Original Assignee
China National Petroleum Corp
BGP Inc
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 China National Petroleum Corp, BGP Inc filed Critical China National Petroleum Corp
Priority to CN201310533452.1A priority Critical patent/CN104598394A/zh
Publication of CN104598394A publication Critical patent/CN104598394A/zh
Pending legal-status Critical Current

Links

Abstract

本发明提供了一种可动态分配的数据缓存方法及系统,通过获取数据访问指令;根据所述数据访问指令中的数据ID,访问应用缓存;当所述应用缓存中没有与所述数据ID相对应的数据时,进行缓存扩展;所述缓存扩展具体为:访问外部数据文件,获得与所述数据ID相对应的数据结果;根据该数据结果的参数及所述应用缓存的存储情况获取相应的缓存策略;根据所述相应的缓存策略删除旧的数据,将所述数据结果存入应用缓存中,并同时在应用缓存中保存该数据结果与所述数据ID的对应关系,将所述数据结果返回,实现了可以在应用程序级别支持多路复用的缓存机制,实现了通用、多路复用的缓存。

Description

一种可动态分配的数据缓存方法及系统
技术领域
本发明涉及数据缓存领域,特别涉及一种可动态分配的数据缓存方法及系统。
背景技术
随着物探技术的进步和发展,地震资料采集与室内处理常常面临处理大数据处理问题,比如海量数据的采集,转换,数据存储,涉及到大量的存储设备读写操作,其性能提升是一个难以逾越的技术瓶颈,如外存大数据与内存空间有限的矛盾始终存在,而且一直比较突出,数据库管理,结构化文件,远程网络通讯等都需要解决不同硬件/软件之间的容量问题、读写速度差异问题,以及数据格式及性能差别。
缓存是解决这一问题的一种非常成熟且应用广泛的技术,在操作系统数据管理、网站管理以及应用程序都大量使用,其基本思想是通过临时设备存储频繁访问的数据,耗时的计算结果,通过调整的内存缓存来减少磁盘IO,从而提高性能。
地震资料采集处理所涉及到的问题,大多有这几种:基于文件系统的缓存,基于数据库的缓存,应用缓存以及浏览器缓存等。目前主流的地震采集处理软件,一般都针对不同类型问题,应用不同的缓存策略与实现技术来解决,缓存机制的实现没有一个通用的、多路复用的解决方案。对于应用程序开发者来说,解决问题难题大,工作量高。
还没有一种可以在应用程序级别支持多路复用的缓存机制,提供一个统一的缓存管理、控制模式,对应用程序来说透明地无缝地工作。
发明内容
本发明的目的是提供一种可动态分配的数据缓存方法及系统,通过二级缓存机制,且目标文件不存在时动态分配缓存策略扩展缓存,以实现在应用程序级别支持多了复用的缓存机制,提高缓存的命中率。
为达到上述目的,本发明提供了一种可动态分配的数据缓存方法,包括:
获取数据访问指令;
根据所述数据访问指令中的数据ID,访问系统缓存;
当所述系统缓存中没有与所述数据ID相对应的数据,且识别出该系统缓存对应配置了应用缓存时,继续访问应用缓存;
当所述应用缓存中没有与所述数据ID相对应的数据时,进行缓存扩展;所述缓存扩展具体为:
访问外部数据文件,获得与所述数据ID相对应的数据结果;
将所述数据结果根据相应的缓存策略,存入应用缓存中,并同时在应用缓存中保存该数据结果与所述数据ID的对应关系;
将所述数据结果返回。
可选的,所述缓存策略包括:
最近最少使用策略(LRU),当缓存的剩余空间小于被请求对象的大小S时,重复将最久未使用的对象移出缓存直到缓存剩余空间增加为S;
对象大小策略(SIZE),当缓存剩余空间不够容纳一个需要调入的对象时,缓存中最大的对象将被替换出缓存,以便容纳更多的小对象;
最少使用频率策略(LFU),保留经常访问的对象,将缓存空间中被访问次数最少的对象换出;
最低关系值策略(LRV),通过时间局部性、成本和对象大小因素计算LRV值,替换该LRV值最小的对象;
混合策略(Hybrid),根据对象大小、访问次数及性能,计算每个对象的保留价值,替换保留价值最小的对象;
多参数贪心策略(Greedy-Dual-Size),对于一定效用(成本)函数来说替换其键值最小的对象;
考虑频率因素的多参数贪心策略(GDS-Frequency),替换所述GDS中键值最小的对象;
对象大小策略(log(Size)+LRU),根据所述对象大小策略,确定对象大小时以log(Size)为标准,替换最近最少使用的对象;
最近最少使用-阈值策略(LRU-Threshold),根据所述最近最少使用策略,当所述数据结果大小超过预定阈值时不予缓存,否则替换最近最少使用的对象;
最低关系值策略(Lowest-Latency-First),替换最小下载延迟的对象。
本发明另外提供了一种可动态分配的数据缓存系统,包括:
指令获取单元,用于获取数据访问指令;
应用缓存访问单元,用于根据所述数据访问指令中的数据ID,访问应用缓存;
缓存扩展单元,用于当所述应用缓存中没有与所述数据ID相对应的数据结果时,进行缓存扩展;该缓存扩展单元包括:
数据寻访子单元,用于访问外部数据文件,获得与所述数据ID相对应的数据结果;
缓存策略获取子单元,用于根据该数据结果的参数及所述应用缓存的存储情况获取相应的缓存策略;
缓存子单元,用于根据所述相应的缓存策略删除旧的数据,将所述数据结果存入应用缓存中,并同时在应用缓存中保存该数据结果与所述数据ID的对应关系,将所述数据结果返回。
可选的,还包括系统缓存访问单元,用于根据所述数据访问指令中的数据ID,访问系统缓存;当所述系统缓存中没有与所述数据ID相对应的数据结果,且识别出该系统缓存对应配置了应用缓存时,进入所述应用缓存访问单元。
可选的,还包括缓存策略存储单元,与所述缓存策略获取子单元相连接,用于存储以下缓存策略:
最近最少使用策略(LRU),当缓存的剩余空间小于被请求对象的大小S时,重复将最久未使用的对象移出缓存直到缓存剩余空间增加为S;
对象大小策略(SIZE),当缓存剩余空间不够容纳一个需要调入的对象时,缓存中最大的对象将被替换出缓存,以便容纳更多的小对象;
最少使用频率策略(LFU),保留经常访问的对象,将缓存空间中被访问次数最少的对象换出;
最低关系值策略(LRV),通过时间局部性、成本和对象大小因素计算LRV值,替换该LRV值最小的对象;
混合策略(Hybrid),根据对象大小、访问次数及性能,计算每个对象的保留价值,替换保留价值最小的对象;
多参数贪心策略(Greedy-Dual-Size),对于一定效用(成本)函数来说替换其键值最小的对象;
考虑频率因素的多参数贪心策略(GDS-Frequency),替换所述GDS中键值最小的对象;
对象大小策略(log(Size)+LRU),根据所述对象大小策略,确定对象大小时以log(Size)为标准,替换最近最少使用的对象;
最近最少使用-阈值策略(LRU-Threshold),根据所述最近最少使用策略,当所述数据结果大小超过预定阈值时不予缓存,否则替换最近最少使用的对象;
最低关系值策略(Lowest-Latency-First),替换最小下载延迟的对象。
可选的,所述数据结果的参数至少包括:
数据结果的大小、数据结果的格式。
可选的,所述应用缓存的存储情况至少包括:
应用缓存中存储的数据对象的个数、每个数据对象的大小、每个数据对象的格式、每个数据对象的访问次数、每个数据对象最近一次的访问时间、该应用缓存中剩余空间大小。
通过上述方案,本发明能在有限的内存使用总量前提之下,很好的支持了多种巨量数据的访问,同时保持了较好的运行速度。
附图说明
图1为本发明两级缓存结构的结构示意图;
图2为本发明一种可动态分配的数据缓存方法的流程图;
图3为本发明一种可动态分配的数据缓存系统的结构图。
具体实施方式
缓存技术是一种重要的计算机实现技术。主要涉及解决数据访问频率、数据空间差异、数据结构与性能差别四个方面,其目在于提高整个系统的性能。其基本思路是在两个差异体之间利用一个中间设备,采用相应的策略与算法,解决两者差异,使之良好匹配、有效协调地工作。
要解决这四个方面问题所能采用的具体技术与实现手段是有差别的,有的甚至完全不同。如数据的访问,在外存、内存与缓存不同的存储设备中,硬件设备不同,读写速度差异很大,为保证数据同步,提高访问命中率,同时透明地提供缓存支持,这就要求缓存要有较高的读写速度,一般情况选用内存作为缓存介质,但如果内存有限,而要存放的数据量非常大时,有时也可能会用硬盘作为缓存介质。因此不同存储介质的缓存实现还要考虑到管理缓存的并发访问和缓存数据的生命周期等不同的情况。
本发明基于一组可变容量的内存空间,预先建立一组可变容量的缓存池,采用系统级、应用级两级进行缓存,提供动态分配的缓存策略注入机制,针对不同应用特点进行有效调度,为多种应用提供缓存利用。
本发明采用两级缓存机制,如图1所示,包括系统缓存和应用缓存:
系统缓存101:
缓存是为了解决CPU速度和内存素材的速度差异问题。
系统缓存即一级缓存,是CPU的一部分,由系统提供的,存在于整个系统的生命周期中,只有当系统关闭时,其所管理的系统缓存才会被清除。这一级缓存由系统内建,在运行期内不能被卸载,只提供一些常规性的系统参数配置。
系统缓存起着控制缓存使用总量、在各个应用缓存之间平衡缓存使用量的作用。
系统缓存采用的是分布式存储系统key-value的映射方式来实现的,主要用于缓存实体对象,每一个对象通过其主关键字ID与key建立映射关系,其key值就是实体对象。
因此,系统缓存以实体对象为单位进行存储的,在访问的时候使用的是主关键字ID。
系统缓存是由系统自动维护的,不提供显式的用户配置管理功能。但可以通过相应的系统方法来手工干预,或者通过系统加载时的运行参数进行配置和调整。其中最主要的配置参数是缓存总量控制,用户可以通过参数配置调整缓存总量。
虽然,对系统缓存使用的是自动维护的功能,没有提供任何配置功能,但是可以通过系统所提供的方法来对系统缓存的管理进行手工干预,如evict用于将某个对象从系统的系统缓存中清除。clear用于将系统缓存中的对象全部清除。
应用缓存102:
应用缓存依据功能和目的的不同可划分为内置缓存和外置缓存。内置缓存中存放映射元数据和预定义信息。映射元数据用于描述数据的元信息,预定义信息一般是可以由映射元数据推导出来。
内置缓存一般是只读的,即应用程序不能修改缓存中的映射元数据和预定义信息,因此存在内置缓存与映射文件的同步问题。
外置缓存存放数据的副本,也可以通过一个可配置的插件来扩展,在默认情况下,系统是不会启用这个插件,但可以通过相应的配置工具提供显式设置。
外置缓存的介质可以是内存或者硬盘。内置缓存与外置缓存可以根据需要完成数据同步。
应用缓存的实现原理与系统缓存是一样的,也是通过以ID为key来建立对象映射,按对象ID来进行缓存。应用缓存的作用范围是针对根据ID获得对象的查询。
本发明对其具体的工作机制进行了改进:
实施例一:
如图2所示,为本实施例一种可动态分配的数据缓存方法的流程图,包括以下步骤:
步骤201,获取数据访问指令;
步骤202,根据所述数据访问指令中的数据ID,访问系统缓存;
步骤203,当所述系统缓存中没有与所述数据ID相对应的数据,且识别出该系统缓存对应配置了应用缓存时,继续访问应用缓存;
步骤204,当所述应用缓存中没有与所述数据ID相对应的数据时,进行缓存扩展;所述缓存扩展具体为:
步骤2041,访问外部数据文件,获得与所述数据ID相对应的数据结果;
步骤2042,将所述数据结果根据相应的缓存策略,存入应用缓存中,并同时在应用缓存中保存该数据结果与所述数据ID的对应关系;
步骤2043,将所述数据结果返回。
其中,缓存策略是可以适时动态变更与调整的。
本发明支持常规的以下策略算法或算法改进。
(1)最近最少使用策略(Last Recently Used,LRU)。该算法在传统的计算机高速缓存LRU算法基础上,稍加改造得出的。即:当缓存的剩余空间小于被请求对象的大小S时.重复将最久未使用的对象移出缓存直到缓存剩余空间增加为S。LRU算法为了使一个较大的对象进入缓存有可能会替换掉许多小对象。
(2)对象大小策略(Size)
SIZE算法的思想是替换最大的对象。当缓存剩余空间不够容纳一个需要调入的对象时.缓存中最大的对象将被替换出缓存,以便容纳更多的小对象。其优点是:因为换出的空间相对大,随后可以容纳很多小对象,所以可能会产生较高的命中率。
(3)最少使用频率策略(Least Frequently Used,LFU)
其基本思想是替换访问次数最少的对象。这个算法保留那些经常访问的对象.将缓存空间中被访问次数最少的对象换出。算法的本质是采用数据的流行度作为替换的依据。
LFU的优点是实现简单。只需对每个缓存副本维持一个计数器。缺点是没有考虑对象的年龄、大小和获取的访问延迟。
(4)最低关系值策略(Lowest Relative Value,LRV)
LRV算法考虑了时间局部性、成本和对象大小因素,通过计算LRV值替换该值最小的对象。
(5)混合策略(Hybrid)
这种算法综合考虑对象大小、访问次数、性能等因素。计算每个对象的保留价值,替换保留价值最小的对象。算法目的在于降低访问总延迟。该算法设计了一个函数用来计算每个对象的保留价值。当计算完所有对象的函数值后,价值最小的对象将被替换出缓存。
(6)Greedy-Dual-Size策略(GDS)
GDS算法考虑了对象可能有不同大小的因素,能够替换效用最低(the lowestutility)的对象。这种策略对于一定效用(成本)函数来说替换其键值最小的对象。
(7)GDS-Frequency策略(CDSF)
引入使用频率因素的GDS策略.它克服了GDS的弱点。使用该策略会有40%的对象命中率。
(8)log(Size)+LRU策略
这种算法的思想与SIZE算法基本上相同.所不同的是在确定对象大小时以log(Size)为标准.找出log(Size)最大的一个或几个对象.并且在所有log(Size)相同的对象中替换最近最少使用的对象,即按LRU方式替换。
(9)最近最少使用-阈值策略(LRU-Threshold)
由最近最少使用策略变化而来,是LRU算法的一种变体。不同的是它不缓存较大的对象,即对于大小超过一个给定阈值的对象不以缓存。或者说这种算法只允许小于某个阈值的对象进入缓存。不论缓存中的剩余空间是否能够容纳这个对象。这种算法能够避免由于一个较大对象进入缓存,导致大量较小对象调出缓存的问题。
(10)Lowest-Latency-First策略(LLF)
通过替换最小下载延迟的对象来最小化平均延迟。
本发明提供的缓存策略支持不限于以上策略,支持用户自定义的策略,可以通过配置简单地注入,同时支持自动动态分配缓存策略。
实施例二:
如图3所示,是本实施例一种可动态分配的数据缓存系统的结构图,包括:
指令获取单元301,用于获取数据访问指令;
系统缓存访问单元302,用于根据所述数据访问指令中的数据ID,访问系统缓存;当所述系统缓存中没有与所述数据ID相对应的数据结果,且识别出该系统缓存对应配置了应用缓存时,进入所述应用缓存访问单元。
应用缓存访问单元303,用于根据所述数据访问指令中的数据ID,访问应用缓存;
缓存扩展单元304,用于当所述应用缓存中没有与所述数据ID相对应的数据结果时,进行缓存扩展;该缓存扩展单元包括:
数据寻访子单元3041,用于访问外部数据文件,获得与所述数据ID相对应的数据结果;
缓存策略获取子单元3042,用于根据该数据结果的参数及所述应用缓存的存储情况获取相应的缓存策略;
数据结果的参数至少包括:数据结果的大小、数据结果的格式。
应用缓存的存储情况至少包括:应用缓存中存储的数据对象的个数、每个数据对象的大小、每个数据对象的格式、每个数据对象的访问次数、每个数据对象最近一次的访问时间、该应用缓存中剩余空间大小。
本发明实施例可支持手动选择缓存策略,也可支持系统自动选择缓存策略。
如手动选择策略,则缓存策略获取单元306将用于展示该数据结果的参数及所述应用缓存的存储情况给用户,并获取用户根据该数据结果的参数及所述应用缓存的存储情况手动选择的缓存策略。
如自动选择缓存策略,则需预先在缓存策略子单元中设置好相应的选择缓存策略的程序,如:
当数据结果的大小值在阈值A以内,且应用缓存中尚有足够的空间时,则直接将该数据结果直接加入应用缓存中;
如数据结果的大小值超过了阈值B,且应用缓存的最大容量仅为B,则不再进行缓存;
该缓存策略的选择程序可支持随时更改,即操作人员可根据现场情况随时更改缓存策略的选择程序,本领域技术人员根据数据结果的参数及应用缓存的情况能够进行的任何选择,都应该落入本申请要求的保护范围之内。
缓存子单元3043,用于根据所述相应的缓存策略删除旧的数据,将所述数据结果存入应用缓存中,并同时在应用缓存中保存该数据结果与所述数据ID的对应关系,将所述数据结果返回。
还包括缓存策略存储单元305,与所述缓存策略获取子单元3042相连接,用于存储以下缓存策略:
最近最少使用策略(LRU),当缓存的剩余空间小于被请求对象的大小S时,重复将最久未使用的对象移出缓存直到缓存剩余空间增加为S;
对象大小策略(SIZE),当缓存剩余空间不够容纳一个需要调入的对象时,缓存中最大的对象将被替换出缓存,以便容纳更多的小对象;
最少使用频率策略(LFU),保留经常访问的对象,将缓存空间中被访问次数最少的对象换出;
最低关系值策略(LRV),通过时间局部性、成本和对象大小因素计算LRV值,替换该LRV值最小的对象;
混合策略(Hybrid),根据对象大小、访问次数及性能,计算每个对象的保留价值,替换保留价值最小的对象;
多参数贪心策略(Greedy-Dual-Size),对于一定效用(成本)函数来说替换其键值最小的对象;
考虑频率因素的多参数贪心策略(GDS-Frequency),替换所述GDS中键值最小的对象;
对象大小策略(log(Size)+LRU),根据所述对象大小策略,确定对象大小时以log(Size)为标准,替换最近最少使用的对象;
最近最少使用-阈值策略(LRU-Threshold),根据所述最近最少使用策略,当所述数据结果大小超过预定阈值时不予缓存,否则替换最近最少使用的对象;
最低关系值策略(Lowest-Latency-First),替换最小下载延迟的对象。
以上只是使用频率较高的缓存策略,本实施例支持用户根据需要自行设定相应的缓存策略,因而,本领域技术人员所能想到的缓存策略都应该落入本申请的保护范围。
通过上述具体实例,本发明能在有限的内存使用总量前提之下,很好的支持了多种巨量数据的访问,同时保持了较好的运行速度。
本领域一般技术人员在此设计思想之下所做任何不具有创造性的改造,均应视为在本发明的保护范围之内。

Claims (10)

1.一种可动态分配的数据缓存方法,其特征在于,包括:
获取数据访问指令;
根据所述数据访问指令中的数据ID,访问应用缓存;
当所述应用缓存中没有与所述数据ID相对应的数据结果时,进行缓存扩展;所述缓存扩展具体为:
访问外部数据文件,获得与所述数据ID相对应的数据结果;
根据该数据结果的参数及所述应用缓存的存储情况获取相应的缓存策略;
根据所述相应的缓存策略删除旧的数据,将所述数据结果存入应用缓存中,并同时在应用缓存中保存该数据结果与所述数据ID的对应关系,将所述数据结果返回。
2.如权利要求1所述的方法,其特征在于,所述访问应用缓存之前还包括:
根据所述数据访问指令中的数据ID访问系统缓存;
当所述系统缓存中没有与所述数据ID相对应的数据结果,且识别出该系统缓存对应配置了应用缓存时,继续访问应用缓存。
3.如权利要求1所述的方法,其特征在于,所述缓存策略包括:
最近最少使用策略,当缓存的剩余空间小于被请求对象的大小S时,重复将最久未使用的对象移出缓存直到缓存剩余空间增加为S;
对象大小策略,当缓存剩余空间不够容纳一个需要调入的对象时,缓存中最大的对象将被替换出缓存,以便容纳更多的小对象;
最少使用频率策略,保留经常访问的对象,将缓存空间中被访问次数最少的对象换出;
最低关系值策略,通过时间局部性、成本和对象大小因素计算LRV值,替换该LRV值最小的对象;
混合策略,根据对象大小、访问次数及性能,计算每个对象的保留价值,替换保留价值最小的对象;
多参数贪心策略,对于一定效用函数来说替换其键值最小的对象;
考虑频率因素的多参数贪心策略,替换所述多参数贪心策略中键值最小的对象;
对象大小策略,根据所述对象大小策略,确定对象大小时以log(Size)为标准,替换最近最少使用的对象;
最近最少使用-阈值策略,根据所述最近最少使用策略,当所述数据结果大小超过预定阈值时不予缓存,否则替换最近最少使用的对象;
最低关系值策略,替换最小下载延迟的对象。
4.如权利要求1所述的方法,其特征在于,所述数据结果的参数至少包括:数据结果的大小、数据结果的格式。
5.如权利要求1所述的方法,其特征在于,所述应用缓存的存储情况至少包括:
应用缓存中存储的数据对象的个数、每个数据对象的大小、每个数据对象的格式、每个数据对象的访问次数、每个数据对象最近一次的访问时间、该应用缓存中剩余空间大小。
6.一种可动态分配的数据缓存系统,其特征在于,包括:
指令获取单元,用于获取数据访问指令;
应用缓存访问单元,用于根据所述数据访问指令中的数据ID,访问应用缓存;
缓存扩展单元,用于当所述应用缓存中没有与所述数据ID相对应的数据结果时,进行缓存扩展;该缓存扩展单元包括:
数据寻访子单元,用于访问外部数据文件,获得与所述数据ID相对应的数据结果;
缓存策略获取子单元,用于根据该数据结果的参数及所述应用缓存的存储情况获取相应的缓存策略;
缓存子单元,用于根据所述相应的缓存策略删除旧的数据,将所述数据结果存入应用缓存中,并同时在应用缓存中保存该数据结果与所述数据ID的对应关系,将所述数据结果返回。
7.如权利要求6所述的系统,其特征在于,还包括系统缓存访问单元,用于根据所述数据访问指令中的数据ID,访问系统缓存;当所述系统缓存中没有与所述数据ID相对应的数据结果,且识别出该系统缓存对应配置了应用缓存时,进入所述应用缓存访问单元。
8.如权利要求6所述的系统,其特征在于,还包括缓存策略存储单元,与所述缓存策略获取子单元相连接,用于存储以下缓存策略:
最近最少使用策略,当缓存的剩余空间小于被请求对象的大小S时,重复将最久未使用的对象移出缓存直到缓存剩余空间增加为S;
对象大小策略,当缓存剩余空间不够容纳一个需要调入的对象时,缓存中最大的对象将被替换出缓存,以便容纳更多的小对象;
最少使用频率策略,保留经常访问的对象,将缓存空间中被访问次数最少的对象换出;
最低关系值策略,通过时间局部性、成本和对象大小因素计算LRV值,替换该LRV值最小的对象;
混合策略,根据对象大小、访问次数及性能,计算每个对象的保留价值,替换保留价值最小的对象;
多参数贪心策略,对于一定效用(成本)函数来说替换其键值最小的对象;
考虑频率因素的多参数贪心策略,替换所述多参数贪心策略中键值最小的对象;
对象大小策略,根据所述对象大小策略,确定对象大小时以log(Size)为标准,替换最近最少使用的对象;
最近最少使用-阈值策略,根据所述最近最少使用策略,当所述数据结果大小超过预定阈值时不予缓存,否则替换最近最少使用的对象;
最低关系值策略,替换最小下载延迟的对象。
9.如权利要求6所述的系统,其特征在于,所述数据结果的参数至少包括:数据结果的大小、数据结果的格式。
10.如权利要求6所述的系统,其特征在于,所述应用缓存的存储情况至少包括:
应用缓存中存储的数据对象的个数、每个数据对象的大小、每个数据对象的格式、每个数据对象的访问次数、每个数据对象最近一次的访问时间、该应用缓存中剩余空间大小。
CN201310533452.1A 2013-10-31 2013-10-31 一种可动态分配的数据缓存方法及系统 Pending CN104598394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310533452.1A CN104598394A (zh) 2013-10-31 2013-10-31 一种可动态分配的数据缓存方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310533452.1A CN104598394A (zh) 2013-10-31 2013-10-31 一种可动态分配的数据缓存方法及系统

Publications (1)

Publication Number Publication Date
CN104598394A true CN104598394A (zh) 2015-05-06

Family

ID=53124202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310533452.1A Pending CN104598394A (zh) 2013-10-31 2013-10-31 一种可动态分配的数据缓存方法及系统

Country Status (1)

Country Link
CN (1) CN104598394A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227665A (zh) * 2015-07-20 2016-01-06 中国科学院计算技术研究所 一种用于缓存节点的缓存置换方法
CN105530303A (zh) * 2015-12-15 2016-04-27 南京信息工程大学 一种网络缓存线性替换方法
CN105608197A (zh) * 2015-12-25 2016-05-25 Tcl集团股份有限公司 一种高并发下Memcache数据的获取方法及系统
CN105915619A (zh) * 2016-04-29 2016-08-31 中国地质大学(武汉) 顾及访问热度的网络空间信息服务高性能内存缓存方法
CN106776378A (zh) * 2016-12-05 2017-05-31 宇龙计算机通信科技(深圳)有限公司 一种清理缓存数据的方法及装置
WO2017124972A1 (zh) * 2016-01-22 2017-07-27 阿里巴巴集团控股有限公司 一种资源缓存管理方法及系统和装置
CN107968804A (zh) * 2016-10-20 2018-04-27 创盛视联数码科技(北京)有限公司 分布式缓存调度系统及方法
CN109634874A (zh) * 2018-12-07 2019-04-16 联想(北京)有限公司 一种数据处理方法、装置、电子设备及存储系统
CN110362769A (zh) * 2019-06-25 2019-10-22 苏州浪潮智能科技有限公司 一种数据处理方法及装置
CN113392042A (zh) * 2020-03-12 2021-09-14 伊姆西Ip控股有限责任公司 用于管理缓存的方法、电子设备和计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060418A (zh) * 2007-05-24 2007-10-24 上海清鹤数码科技有限公司 适用于带时移iptv直播服务器的专用磁盘读写系统
CN101155294A (zh) * 2006-09-28 2008-04-02 中兴通讯股份有限公司 一种网络电视服务请求的定向方法
CN101236530A (zh) * 2008-01-30 2008-08-06 清华大学 高速缓存替换策略的动态选择方法
US20120265776A1 (en) * 2009-12-31 2012-10-18 Zuo Wang Method and System for Creating Linked List, Method and System for Searching Data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155294A (zh) * 2006-09-28 2008-04-02 中兴通讯股份有限公司 一种网络电视服务请求的定向方法
CN101060418A (zh) * 2007-05-24 2007-10-24 上海清鹤数码科技有限公司 适用于带时移iptv直播服务器的专用磁盘读写系统
CN101236530A (zh) * 2008-01-30 2008-08-06 清华大学 高速缓存替换策略的动态选择方法
US20120265776A1 (en) * 2009-12-31 2012-10-18 Zuo Wang Method and System for Creating Linked List, Method and System for Searching Data

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227665A (zh) * 2015-07-20 2016-01-06 中国科学院计算技术研究所 一种用于缓存节点的缓存置换方法
CN105227665B (zh) * 2015-07-20 2018-11-30 中国科学院计算技术研究所 一种用于缓存节点的缓存置换方法
CN105530303A (zh) * 2015-12-15 2016-04-27 南京信息工程大学 一种网络缓存线性替换方法
CN105530303B (zh) * 2015-12-15 2018-09-25 南京信息工程大学 一种网络缓存线性替换方法
CN105608197B (zh) * 2015-12-25 2019-09-10 Tcl集团股份有限公司 一种高并发下Memcache数据的获取方法及系统
CN105608197A (zh) * 2015-12-25 2016-05-25 Tcl集团股份有限公司 一种高并发下Memcache数据的获取方法及系统
WO2017124972A1 (zh) * 2016-01-22 2017-07-27 阿里巴巴集团控股有限公司 一种资源缓存管理方法及系统和装置
US10862992B2 (en) 2016-01-22 2020-12-08 Alibaba Group Holding Limited Resource cache management method and system and apparatus
CN105915619A (zh) * 2016-04-29 2016-08-31 中国地质大学(武汉) 顾及访问热度的网络空间信息服务高性能内存缓存方法
CN105915619B (zh) * 2016-04-29 2019-07-05 中国地质大学(武汉) 顾及访问热度的网络空间信息服务高性能内存缓存方法
CN107968804A (zh) * 2016-10-20 2018-04-27 创盛视联数码科技(北京)有限公司 分布式缓存调度系统及方法
CN106776378A (zh) * 2016-12-05 2017-05-31 宇龙计算机通信科技(深圳)有限公司 一种清理缓存数据的方法及装置
CN109634874A (zh) * 2018-12-07 2019-04-16 联想(北京)有限公司 一种数据处理方法、装置、电子设备及存储系统
CN110362769A (zh) * 2019-06-25 2019-10-22 苏州浪潮智能科技有限公司 一种数据处理方法及装置
CN113392042A (zh) * 2020-03-12 2021-09-14 伊姆西Ip控股有限责任公司 用于管理缓存的方法、电子设备和计算机程序产品
CN113392042B (zh) * 2020-03-12 2024-04-09 伊姆西Ip控股有限责任公司 用于管理缓存的方法、电子设备和计算机程序产品

Similar Documents

Publication Publication Date Title
CN104598394A (zh) 一种可动态分配的数据缓存方法及系统
CN102331986B (zh) 一种数据库缓存管理方法及一种数据库服务器
US20080263114A1 (en) Efficient access of flash databases
CN109582593B (zh) 一种基于计算的ftl地址映射读、写方法
KR101297442B1 (ko) 공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템
EP2454691A2 (en) Database storage architecture
US7870122B2 (en) Self-tuning index for flash-based databases
Lee et al. An efficient index buffer management scheme for implementing a B-tree on NAND flash memory
Na et al. Dynamic In-Page Logging for B⁺-tree Index
CN106055679A (zh) 一种多层次缓存感知型索引方法
CN107562806B (zh) 混合内存文件系统的自适应感知加速方法及系统
Ahn et al. μ*-Tree: An ordered index structure for NAND flash memory with adaptive page layout scheme
Carniel et al. A generic and efficient framework for flash-aware spatial indexing
CN109002400B (zh) 一种内容感知型计算机缓存管理系统及方法
CN113821477A (zh) 一种元数据缓存方法、系统、设备以及介质
Chen et al. A unified framework for designing high performance in-memory and hybrid memory file systems
CN113253926A (zh) 提升新型存储器的查询和存储性能的存储内索引构建方法
Jin et al. Lazy-split B+-tree: a novel B+-tree index scheme for flash-based database systems
Kim et al. Clustered page-level mapping for flash memory-based storage devices
Lee et al. Exploiting sequential and temporal localities to improve performance of NAND flash-based SSDs
Jin et al. FlashB-tree: a novel B-tree index scheme for solid state drives
CN105740167B (zh) 一种文件系统缓存删除的方法及系统
US11775433B2 (en) Cache management for search optimization
US11556470B2 (en) Cache management for search optimization
US11734185B2 (en) Cache management for search optimization

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: 20150506

RJ01 Rejection of invention patent application after publication