CN116467353B - 一种基于lru差异化的自适应调节的缓存方法及系统 - Google Patents
一种基于lru差异化的自适应调节的缓存方法及系统 Download PDFInfo
- Publication number
- CN116467353B CN116467353B CN202310685592.4A CN202310685592A CN116467353B CN 116467353 B CN116467353 B CN 116467353B CN 202310685592 A CN202310685592 A CN 202310685592A CN 116467353 B CN116467353 B CN 116467353B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- target
- determining
- hit rate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000004069 differentiation Effects 0.000 title claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 55
- 238000012216 screening Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims description 21
- 230000003044 adaptive effect Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012913 prioritisation Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 6
- 230000001105 regulatory effect Effects 0.000 description 6
- 238000012163 sequencing technique Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- WGZDBVOTUVNQFP-UHFFFAOYSA-N N-(1-phthalazinylamino)carbamic acid ethyl ester Chemical compound C1=CC=C2C(NNC(=O)OCC)=NN=CC2=C1 WGZDBVOTUVNQFP-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供一种基于LRU差异化的自适应调节的缓存方法及系统,所述方法包括:在缓存队列中配置基础准入阈值,并对基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;当接收到目标数据后,基于映射关系确定目标调整阈值,通过目标调整阈值对目标数据进行筛选确定目标缓存数据;确定目标数据的选择结果及优先级排序结果,得到优先缓存数据;获取优先缓存数据中的元数据进行筛选,确定最终缓存数据,将最终缓存数据排入缓存队列。这样能够通用执行代码完成自动化测试,降低了自动化的工作量和重复性,灵活的对缓存队列根据差异化的场景进行自适应调整,满足用户需求。
Description
技术领域
本发明涉及数据存储的数据缓存技术领域,尤其涉及一种基于LRU差异化的自适应调节的缓存方法及系统。
背景技术
当前缓存常用的算法LRU(Least Recently User),通过根据数据的历史访问记录来进行淘汰数据,其处理核心是“如果数据最近被访问过,那么将来被访问的几率也更高”。当前使用LRU等驱逐算法来缓存所有数据的访问,以将最热门的数据保存在缓存中,并且逐出最旧的未使用数据。
目前,当缓存队列中存在热点数据时,LRU的效率很好,但进行偶发性的、周期性的批量数据操作时会导致LRU命中率急剧下降,缓存污染情况比较严重,会导致性能下降程度比较高,针对这种情况,有时会在缓存队列中增加准入策略,但目前LRU的策略比较简单,没有灵活的配置功能,不能自适应调剂缓存的准入策略,也缺少对特定场景的优化以及更精细的粒度数据处理。
发明内容
针对现有技术中存在的问题,本发明实施例提供一种基于LRU差异化的自适应调节的缓存方法及系统。
本发明实施例提供一种基于LRU差异化的自适应调节的缓存方法,包括:
在缓存队列中配置基础准入阈值,并在通过所述基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,所述缓存数据的数据命中率,并对所述基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;
重复迭代调整过程,并在所述迭代调整过程中调整所述输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,所述标准准入阈值与调整命中率确定映射关系;
当接收到目标数据后,获取所述目标数据的数据属性,并基于所述目标数据的数据属性对应的目标映射关系,搜索所述目标映射关系中所述调整命中率最大时对应的目标调整阈值,通过所述目标调整阈值对目标数据进行筛选确定目标缓存数据;
获取所述目标数据对应的数据分类及数据场景,并根据所述数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于所述选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;
获取所述优先缓存数据中的元数据,统计所述元数据对应的吞吐量,基于所述吞吐量对所述优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将所述最终缓存数据排入缓存队列。
在其中一个实施例中,所述方法还包括:
基于所述目标数据的数据属性获取对应的历史数据,并检测所述历史数据的数据请求频率对应的历史数据类型及对应的历史数据场景;
获取所述历史数据中数据的调用顺序记录;
基于所述历史数据类型及历史数据场景确定目标数据的选择结果,所述调用顺序记录确定优先级排序结果。
在其中一个实施例中,所述方法还包括:
获取所述数据请求命中所述输入数据中的缓存数据的请求命中率,并确定所述数据请求对应的平均请求速率;
基于所述请求命中率及平均请求速率计算所述缓存数据的数据命中率。
在其中一个实施例中,所述方法还包括:
通过索引节点对所述元数据进行跟踪,并托管XFS文件系统找到所述索引节点在磁盘上的对应文件,并基于所述索引节点的个数确定对应的吞吐量。
在其中一个实施例中,所述方法还包括:
接收到针对所述缓存队列的目标数据请求时,当目标数据请求中针对单个数据的请求次数小于预设阈值时,不对所述缓存队列中的最终缓存数据的数据排序进行调整。
在其中一个实施例中,所述数据命中率的计算公式,包括:
其中,为数据命中与数据请求的比例,i为数据请求的对象,ri为前一阶段的数据请求与下一次数据请求件的时间间隔中对象i的上移率。
本发明实施例提供一种基于LRU差异化的自适应调节的缓存系统,包括:
迭代调整模块,用于在缓存队列中配置基础准入阈值,并在通过所述基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,所述缓存数据的数据命中率,并对所述基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;
映射模块,用于重复迭代调整过程,并在所述迭代调整过程中调整所述输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,所述标准准入阈值与调整命中率确定映射关系;
筛选模块,用于当接收到目标数据后,获取所述目标数据的数据属性,并基于所述目标数据的数据属性对应的目标映射关系,搜索所述目标映射关系中所述调整命中率最大时对应的目标调整阈值,通过所述目标调整阈值对目标数据进行筛选确定目标缓存数据;
优先级模块,用于获取所述目标数据对应的数据分类及数据场景,并根据所述数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于所述选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;
元数据模块,用于获取所述优先缓存数据中的元数据,统计所述元数据对应的吞吐量,基于所述吞吐量对所述优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将所述最终缓存数据排入缓存队列。
在其中一个实施例中,所述系统还包括:
检测模块,用于基于所述目标数据的数据属性获取对应的历史数据,并检测所述历史数据的数据请求频率对应的历史数据类型及对应的历史数据场景;
获取模块,用于获取所述历史数据中数据的调用顺序记录;
确定模块,用于基于所述历史数据类型及历史数据场景确定目标数据的选择结果,所述调用顺序记录确定优先级排序结果。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于LRU差异化的自适应调节的缓存方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述基于LRU差异化的自适应调节的缓存方法的步骤。
本发明实施例提供的一种基于LRU差异化的自适应调节的缓存方法及系统,在缓存队列中配置基础准入阈值,并在通过基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,缓存数据的数据命中率,并对基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;重复迭代调整过程,并在迭代调整过程中调整输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,标准准入阈值与调整命中率确定映射关系;当接收到目标数据后,获取目标数据的数据属性,并基于目标数据的数据属性对应的目标映射关系,搜索目标映射关系中调整命中率最大时对应的目标调整阈值,通过目标调整阈值对目标数据进行筛选确定目标缓存数据;获取目标数据对应的数据分类及数据场景,并根据数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;获取优先缓存数据中的元数据,统计元数据对应的吞吐量,基于吞吐量对优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将最终缓存数据排入缓存队列。这样能够自动确定输入数据的最佳缓存阈值,优化对象命中率,提升应用程序执行速度,并且通过优先级排序和选择性分配,可对能提升性能的存储元素进行识别和高速缓存,对于元数据分类缓存,提升特定场景的性能,从而灵活的对缓存队列根据差异化的场景进行自适应调整,满足用户需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于LRU差异化的自适应调节的缓存方法的流程图;
图2为本发明实施例中一种基于LRU差异化的自适应调节的缓存系统的结构图;
图3为本发明实施例中电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种基于LRU差异化的自适应调节的缓存方法的流程示意图,如图1所示,本发明实施例提供了一种基于LRU差异化的自适应调节的缓存方法:
步骤S101,在缓存队列中配置基础准入阈值,并在通过所述基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,所述缓存数据的数据命中率,并对所述基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系。
具体地,在缓存队列中配置基础准入阈值,其中,基础准入阈值为基于对象大小的准入阈值,可以为目前现有技术中设定的经验阈值,可以由相关工作人员根据本领域的工作经验进行预设,基础准入阈值能够筛选缓存队列中的缓存数据,当缓存数据的对象大小大于基础准入阈值时,为了保证缓存队列的数据个数,不会将对应的缓存数据保存至缓存队列,只将小于基础准入阈值的缓存数据保存至缓存队列,通过基础准入阈值对输入的数据进行筛选确定缓存数据后,基于目前的缓存数据接收用户的数据请求,检测用户的数据请求命中缓存数据的数据命中率,即用户请求的数据为缓存数据的概率,其中,数据命中率的计算可以通过获取数据请求命中输入数据中的缓存数据的请求命中率,并确定数据请求对应的平均请求速率,然后基于请求命中率及平均请求速率计算缓存数据的数据命中率得到,数据命中率的计算公式如下,通过观察对象i的预期命中次数等于i(i的平均请求速率)乘以i在缓存中的长期概率来产生OHR(“请求命中率” object hit ratio)。然后,阈值参数c预测的OHR仅仅是预期命中与请求的比率:
在通过公式计算时,还包括对缓存队列中的数据的上移率及下推率进行计算,包括:对象i向上移动到LRU列表顶部的速率。通过在前一阶段收集对象i的聚合统计数据来获得下请求时间间隔的“上移”率ri。第二个参数是对象i在LRU列表中向下推的平均速率。“下推”速率c取决于任何对象移动到LRU列表顶部的速率。
在计算得到数据命中率后,对缓存队列的基础准入阈值进行迭代调整,计算在调整准入阈值后,对应的数据请求的调整命中率,然后确定对基础准入阈值调整后的标准准入阈值与调整命中率之间的映射关系,即不同的标准准入阈值与对应的调整命中率之间的映射关系。
步骤S102,重复迭代调整过程,并在所述迭代调整过程中调整所述输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,所述标准准入阈值与调整命中率确定映射关系。
具体地,重复上述步骤中的迭代调整过程,并在迭代过程中调整输入数据的数据属性,比如数据对应的数据领域,数据大小分布,数据数量等等,结合马尔科夫模型,同时在不同的数据属性下,对基础准入阈值调整后的标准准入阈值与调整命中率之间的映射关系,即不同的标准准入阈值与对应的调整命中率之间的映射关系。
另外,对于不同的数据属性可以针对缓存进行启用/禁用,并通过一个用户可编辑的配置文件获得自己的缓存数据筛选优先级。同时,提供了缓存的配置的方法,用户可以根据实际应用场景来选择缓存的方式。
步骤S103,当接收到目标数据后,获取所述目标数据的数据属性,并基于所述目标数据的数据属性对应的目标映射关系,搜索所述目标映射关系中所述调整命中率最大时对应的目标调整阈值,通过所述目标调整阈值对目标数据进行筛选确定目标缓存数据。
具体地,当接收到输入的目标数据后,需要对输入的目标数据进行缓存,即获取目标数据的数据属性,根据目标数据的数据属性,结合马尔科夫模型,确定上述步骤中的目标数据之间的目标映射关系,并且在确定目标映射关系后,根据目标映射关系对应的目标映射关系集合或目标映射关系曲线进行搜索,搜索其中调整命中率最大时对应的目标调整阈值,即为最符合用户要求的目标调整阈值,基于目标调整阈值对目标数据进行初步的数据大小筛选,确定数据大小筛选后的目标缓存数据。
步骤S104,获取所述目标数据对应的数据分类及数据场景,并根据所述数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于所述选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据。
具体地,在确定目标缓存数据后,确定目标数据对应的数据分类及数据应用的数据场景,其中,数据分类的依据可以包括元数据、数据大小、数据写入方式等依据进行分类,分类的具体情况可以比如:A是自适应调节缓存配置,B是将元数据进行分类,C是根据写入的I/O大小进行分类, D是I/O的写入方式, E是优先级配置,F是默认,默认表示按照当前的缓存策略,对应的应用场景可以包括输入数据本身在应用时对应的应用场景,然后选择结果对目标缓存数据进行数据选择,其中,数据选择为对目标数据进行选择性分配,比如可以对元数据、数据大小、数据写入方式选择两种或几种进行分配,选择的依据可以包括数据场景的前后关系,或者是人工选择的元数据、数据大小、数据写入方式类型,并在数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,优先级排序的结果同样可以参考数据场景的前后关系,或者是人工选择的元数据、数据大小、数据写入方式类型,确定根据优先级排序后的优先缓存数据。
另外,还可以基于目标数据的数据属性获取对应的历史数据,并检测历史数据的数据请求频率对应的历史数据类型及对应的历史数据场景,然后获取历史数据中数据的调用顺序记录,根据调用的顺序记录确定历史数据的游戏那几,然后基于历史数据类型及历史数据场景确定目标数据的选择结果,调用顺序记录确定优先级排序结果。
步骤S105,获取所述优先缓存数据中的元数据,统计所述元数据对应的吞吐量,基于所述吞吐量对所述优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将所述最终缓存数据排入缓存队列。
具体地,获取优先缓存数据中剩余的元数据,元数据为描述对象数据的数据,统计元数据对应的关于描述对象数据的吞吐量,其中,关于吞吐量的计算步骤,以CEPH为例,使用对象存储,将XFS作为基本文件系统并使用8+3擦除编码(EC 8+3),通过这些来存储文件。单个Ceph 存储节点的文件系统通常包含数亿个小文件。检索这些文件之中的一个文件需要收集8+3擦除编码片段,将它们重组成原始对象。为了获取每个片段,必须首先通过XFSinode进行跟踪,在托管相应XFS文件系统的磁盘上找到该文件。由于磁盘上有数亿个文件,所以在加载小(少量块文件)文件之前,必须通过4-6个inode 块进行跟踪,这会直接导致比加载小文件本身长6倍的时延以及相当于整体潜力六分之一的吞吐量。在计算得到元数据对应的吞吐量,基于吞吐量对优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将最终缓存数据根据优先级的排序结果排入缓存队列。
另外,在确定缓存队列之后,接收到针对所述缓存队列的目标数据请求时,当目标数据请求中针对单个数据的请求次数小于预设阈值时,说明对于目前缓存队列中的数据的优先级并不产生影响,则不对缓存队列中的最终缓存数据的数据排序进行调整,使缓存队列保持原样,能最大限度的满足目标数据的缓存需求。
本发明实施例提供的一种基于LRU差异化的自适应调节的缓存方法,在缓存队列中配置基础准入阈值,并在通过基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,缓存数据的数据命中率,并对基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;重复迭代调整过程,并在迭代调整过程中调整输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,标准准入阈值与调整命中率确定映射关系;当接收到目标数据后,获取目标数据的数据属性,并基于目标数据的数据属性对应的目标映射关系,搜索目标映射关系中调整命中率最大时对应的目标调整阈值,通过目标调整阈值对目标数据进行筛选确定目标缓存数据;获取目标数据对应的数据分类及数据场景,并根据数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;获取优先缓存数据中的元数据,统计元数据对应的吞吐量,基于吞吐量对优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将最终缓存数据排入缓存队列。这样能够自动确定活动数据的最佳缓存级别,优化对象命中率,提升应用程序执行速度,并且通过优先级排序和选择性分配,可对能提升性能的存储元素进行识别和高速缓存,对于元数据分类缓存,提升特定场景的性能,从而灵活的对缓存队列根据差异化的场景进行自适应调整,满足用户需求。
图2为本发明实施例提供的一种基于LRU差异化的自适应调节的缓存系统,包括:迭代调整模块S201、映射模块S202、筛选模块S203、优先级模块S204、元数据模块S205,其中:
迭代调整模块S201,用于在缓存队列中配置基础准入阈值,并在通过所述基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,所述缓存数据的数据命中率,并对所述基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系。
映射模块S202,用于重复迭代调整过程,并在所述迭代调整过程中调整所述输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,所述标准准入阈值与调整命中率确定映射关系。
筛选模块S203,用于当接收到目标数据后,获取目标数据的数据属性,并基于目标数据的数据属性对应的目标映射关系,搜索目标映射关系中调整命中率最大时对应的目标调整阈值,通过目标调整阈值对目标数据进行筛选确定目标缓存数据。
优先级模块S204,用于获取所述目标数据对应的数据分类及数据场景,并根据所述数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于所述选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据。
元数据模块S205,用于获取所述优先缓存数据中的元数据,统计所述元数据对应的吞吐量,基于所述吞吐量对所述优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将所述最终缓存数据排入缓存队列。
在其中一个实施例中,所述系统还包括:
检测模块,用于基于所述目标数据的数据属性获取对应的历史数据,并检测所述历史数据的数据请求频率对应的历史数据类型及对应的历史数据场景。
获取模块,用于获取所述历史数据中数据的调用顺序记录。
确定模块,用于基于所述历史数据类型及历史数据场景确定目标数据的选择结果,所述调用顺序记录确定优先级排序结果。
在其中一个实施例中,所述系统还包括:
第二获取模块,用于获取所述数据请求命中所述输入数据中的缓存数据的请求命中率,并确定所述数据请求对应的平均请求速率。
计算模块,用于基于所述请求命中率及平均请求速率计算所述缓存数据的数据命中率。
关于基于LRU差异化的自适应调节的缓存系统的具体限定可以参见上文中对于基于LRU差异化的自适应调节的缓存方法的限定,在此不再赘述。上述基于LRU差异化的自适应调节的缓存系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、存储器(memory)302、通信接口(Communications Interface)303和通信总线304,其中,处理器301,存储器302,通信接口303通过通信总线304完成相互间的通信。处理器301可以调用存储器302中的逻辑指令,以执行如下方法:在缓存队列中配置基础准入阈值,并在通过基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,缓存数据的数据命中率,并对基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;重复迭代调整过程,并在迭代调整过程中调整输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,标准准入阈值与调整命中率确定映射关系;当接收到目标数据后,获取目标数据的数据属性,并基于目标数据的数据属性对应的目标映射关系,搜索目标映射关系中调整命中率最大时对应的目标调整阈值,通过目标调整阈值对目标数据进行筛选确定目标缓存数据;获取目标数据对应的数据分类及数据场景,并根据数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;获取优先缓存数据中的元数据,统计元数据对应的吞吐量,基于吞吐量对优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将最终缓存数据排入缓存队列。
此外,上述的存储器302中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:在缓存队列中配置基础准入阈值,并在通过基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,缓存数据的数据命中率,并对基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;重复迭代调整过程,并在迭代调整过程中调整输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,标准准入阈值与调整命中率确定映射关系;当接收到目标数据后,获取目标数据的数据属性,并基于目标数据的数据属性对应的目标映射关系,搜索目标映射关系中调整命中率最大时对应的目标调整阈值,通过目标调整阈值对目标数据进行筛选确定目标缓存数据;获取目标数据对应的数据分类及数据场景,并根据数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;获取优先缓存数据中的元数据,统计元数据对应的吞吐量,基于吞吐量对优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将最终缓存数据排入缓存队列。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于LRU差异化的自适应调节的缓存方法,其特征在于,包括:
在缓存队列中配置基础准入阈值,并在通过所述基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,所述缓存数据的数据命中率,并对所述基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;
重复迭代调整过程,并在所述迭代调整过程中调整所述输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,所述标准准入阈值与调整命中率确定映射关系;
当接收到目标数据后,获取所述目标数据的数据属性,并基于所述目标数据的数据属性对应的目标映射关系,搜索所述目标映射关系中所述调整命中率最大时对应的目标调整阈值,通过所述目标调整阈值对目标数据进行筛选确定目标缓存数据;
获取所述目标数据对应的数据分类及数据场景,并根据所述数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于所述选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;
获取所述优先缓存数据中的元数据,统计所述元数据对应的吞吐量,基于所述吞吐量对所述优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将所述最终缓存数据排入缓存队列。
2.根据权利要求1所述的基于LRU差异化的自适应调节的缓存方法,其特征在于,所述根据所述数据分类及数据场景确定目标数据的选择结果及优先级排序结果,包括:
基于所述目标数据的数据属性获取对应的历史数据,并检测所述历史数据的数据请求频率对应的历史数据类型及对应的历史数据场景;
获取所述历史数据中数据的调用顺序记录;
基于所述历史数据类型及历史数据场景确定目标数据的选择结果,所述调用顺序记录确定优先级排序结果。
3.根据权利要求1所述的基于LRU差异化的自适应调节的缓存方法,其特征在于,所述计算接收到数据请求时,所述缓存数据的数据命中率,包括:
获取所述数据请求命中所述输入数据中的缓存数据的请求命中率,并确定所述数据请求对应的平均请求速率;
基于所述请求命中率及平均请求速率计算所述缓存数据的数据命中率。
4.根据权利要求1所述的基于LRU差异化的自适应调节的缓存方法,其特征在于,所述统计所述元数据对应的吞吐量,包括:
通过索引节点对所述元数据进行跟踪,并托管XFS文件系统找到所述索引节点在磁盘上的对应文件,并基于所述索引节点的个数确定对应的吞吐量。
5.根据权利要求1所述的基于LRU差异化的自适应调节的缓存方法,其特征在于,所述将所述最终缓存数据排入缓存队列之后,还包括:
接收到针对所述缓存队列的目标数据请求时,当目标数据请求中针对单个数据的请求次数小于预设阈值时,不对所述缓存队列中的最终缓存数据的数据排序进行调整。
6.根据权利要求1所述的基于LRU差异化的自适应调节的缓存方法,其特征在于,所述数据命中率的计算公式,包括:
其中,OHR(c)为数据命中与数据请求的比例,i为数据请求的对象,ri为前一阶段的数据请求与下一次数据请求件的时间间隔中对象i的上移率,c为基础准入阈值的阈值参数,N为数据请求次数,为请求命中率。
7.一种基于LRU差异化的自适应调节的缓存系统,其特征在于,所述系统包括:
迭代调整模块,用于在缓存队列中配置基础准入阈值,并在通过所述基础准入阈值对输入数据进行筛选确定缓存数据后,计算接收到数据请求时,所述缓存数据的数据命中率,并对所述基础准入阈值进行迭代调整,计算调整后的调整命中率,基于调整后的标准准入阈值与调整命中率确定映射关系;
映射模块,用于重复迭代调整过程,并在所述迭代调整过程中调整所述输入数据的数据属性,结合马尔科夫模型,统计不同数据属性下,所述标准准入阈值与调整命中率确定映射关系;
筛选模块,用于当接收到目标数据后,获取所述目标数据的数据属性,并基于所述目标数据的数据属性对应的目标映射关系,搜索所述目标映射关系中所述调整命中率最大时对应的目标调整阈值,通过所述目标调整阈值对目标数据进行筛选确定目标缓存数据;
优先级模块,用于获取所述目标数据对应的数据分类及数据场景,并根据所述数据分类及数据场景确定目标数据的选择结果及优先级排序结果,并基于所述选择结果对目标缓存数据进行数据选择,并对数据选择后的目标缓存数据根据优先级排序结果进行优先级排序,确定优先级排序后的优先缓存数据;
元数据模块,用于获取所述优先缓存数据中的元数据,统计所述元数据对应的吞吐量,基于所述吞吐量对所述优先缓存数据中的元数据进行筛选,确定筛选后的最终缓存数据,将所述最终缓存数据排入缓存队列。
8.根据权利要求7所述的基于LRU差异化的自适应调节的缓存系统,其特征在于,所述系统还包括:
检测模块,用于基于所述目标数据的数据属性获取对应的历史数据,并检测所述历史数据的数据请求频率对应的历史数据类型及对应的历史数据场景;
获取模块,用于获取所述历史数据中数据的调用顺序记录;
确定模块,用于基于所述历史数据类型及历史数据场景确定目标数据的选择结果,所述调用顺序记录确定优先级排序结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于LRU差异化的自适应调节的缓存方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述基于LRU差异化的自适应调节的缓存方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685592.4A CN116467353B (zh) | 2023-06-12 | 2023-06-12 | 一种基于lru差异化的自适应调节的缓存方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685592.4A CN116467353B (zh) | 2023-06-12 | 2023-06-12 | 一种基于lru差异化的自适应调节的缓存方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116467353A CN116467353A (zh) | 2023-07-21 |
CN116467353B true CN116467353B (zh) | 2023-10-10 |
Family
ID=87181047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310685592.4A Active CN116467353B (zh) | 2023-06-12 | 2023-06-12 | 一种基于lru差异化的自适应调节的缓存方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467353B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368741A (zh) * | 2011-12-05 | 2012-03-07 | 盛科网络(苏州)有限公司 | 支持层次化队列调度和流量整形的方法及装置 |
CN112214420A (zh) * | 2015-12-01 | 2021-01-12 | 华为技术有限公司 | 数据缓存方法、存储控制装置、及存储设备 |
CN114443722A (zh) * | 2022-02-09 | 2022-05-06 | 网易(杭州)网络有限公司 | 缓存管理方法、装置、存储介质及电子设备 |
CN115562592A (zh) * | 2022-11-03 | 2023-01-03 | 华东师范大学 | 一种基于云对象存储的内存和磁盘混合缓存方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4483535B2 (ja) * | 2004-11-05 | 2010-06-16 | 株式会社日立製作所 | ネットワーク装置 |
US9767032B2 (en) * | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
-
2023
- 2023-06-12 CN CN202310685592.4A patent/CN116467353B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368741A (zh) * | 2011-12-05 | 2012-03-07 | 盛科网络(苏州)有限公司 | 支持层次化队列调度和流量整形的方法及装置 |
CN112214420A (zh) * | 2015-12-01 | 2021-01-12 | 华为技术有限公司 | 数据缓存方法、存储控制装置、及存储设备 |
CN114443722A (zh) * | 2022-02-09 | 2022-05-06 | 网易(杭州)网络有限公司 | 缓存管理方法、装置、存储介质及电子设备 |
CN115562592A (zh) * | 2022-11-03 | 2023-01-03 | 华东师范大学 | 一种基于云对象存储的内存和磁盘混合缓存方法 |
Non-Patent Citations (1)
Title |
---|
一种面向应用服务器的分布式缓存机制;郭唐宝;张延园;林奕;;科学技术与工程(第36期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116467353A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763110B (zh) | 一种数据缓存方法及装置 | |
US6901484B2 (en) | Storage-assisted quality of service (QoS) | |
EP3229142B1 (en) | Read cache management method and device based on solid state drive | |
EP3388935B1 (en) | Cache management method, cache controller and computer system | |
US20170371807A1 (en) | Cache data determining method and apparatus | |
CN104156323B (zh) | 一种高速缓冲存储器的数据块长度自适应读取方法及装置 | |
CN108984130A (zh) | 一种分布式存储的缓存读取方法及其装置 | |
CN110413545B (zh) | 存储管理方法、电子设备和计算机程序产品 | |
CN104077242A (zh) | 一种缓存管理方法和装置 | |
CN113094392A (zh) | 数据缓存的方法和装置 | |
CN115757203B (zh) | 访存策略管理方法及装置、处理器和计算设备 | |
CN111858403A (zh) | 基于概率对访问频率计数的缓存数据热度管理方法及系统 | |
CN112199304B (zh) | 数据预取方法及装置 | |
CN116955213A (zh) | 一种基于Caffeine优化的缓存方法及装置 | |
CN112925472A (zh) | 请求处理方法、装置、电子设备及计算机存储介质 | |
CN116467353B (zh) | 一种基于lru差异化的自适应调节的缓存方法及系统 | |
US20230342300A1 (en) | Data eviction method and apparatus, cache node, and cache system | |
WO2023165543A1 (zh) | 共享缓存的管理方法、装置及存储介质 | |
CN114253458A (zh) | 内存缺页异常的处理方法、装置、设备及存储介质 | |
Sun et al. | DAC: A dynamic active and collaborative cache management scheme for solid state disks | |
CN114153760B (zh) | 基于权重的健值存储缓存淘汰方法、系统及存储介质 | |
CN116028389A (zh) | 热点数据缓存方法、装置、设备及介质 | |
CN116662219A (zh) | 从存储装置中动态预取数据 | |
CN115203072A (zh) | 一种基于访问热度的文件预读缓存分配方法及装置 | |
CN114296635A (zh) | 缓存数据的缓存淘汰方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |