CN116991902A - 基于数据缓存的本地资源调用方法 - Google Patents
基于数据缓存的本地资源调用方法 Download PDFInfo
- Publication number
- CN116991902A CN116991902A CN202311243893.8A CN202311243893A CN116991902A CN 116991902 A CN116991902 A CN 116991902A CN 202311243893 A CN202311243893 A CN 202311243893A CN 116991902 A CN116991902 A CN 116991902A
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- log data
- moment
- history
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 239000011159 matrix material Substances 0.000 claims description 70
- 230000000694 effects Effects 0.000 claims description 15
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 3
- 230000002354 daily effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及数据处理技术领域,具体涉及基于数据缓存的本地资源调用方法,包括:采集本地资源历史缓存日志数据;根据本地资源历史缓存日志数据获取历史缓存日志数据操作序列;根据不同时刻相同历史缓存日志数据操作序列获取各个时刻下各种历史缓存日志数据之间的周期性;根据相同时刻下不同历史缓存日志数据操作序列获取各时刻下不同历史缓存日志数据之间的关联性;根据各个时刻下各种历史缓存日志数据之间的周期性以及各时刻下不同历史缓存日志数据之间的关联性,获取缓存对象。本发明通过缓存数据的周期性和缓存数据之间的关联性,得到缓存数据的调取概率,以此为基础获取被调用的数据,提高系统运行效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及基于数据缓存的本地资源调用方法。
背景技术
在大数据时代,高效的数据处理和存储变得越来越重要。随着数据的增长,我们的计算需求也日益增长,对本地资源的需求也相应增加。然而,当我们尝试从本地资源加载大量数据时,我们经常会遇到性能瓶颈。这是因为在大多数系统中,数据的读取和写入都需要进行磁盘I/O操作,这通常是一个耗时的过程。
为了优化这个过程,人们提出了各种历史缓存日志数据缓存的方法。数据缓存是一种存储方法,它将经常访问的数据或值存储在快速访问的硬件中,以减少对慢速访问的硬件的访问次数。通过使用数据缓存,可以显著提高数据读取和写入的速度,从而提高系统的整体性能。
尽管数据缓存在大多数情况下都能提高性能,但在某些特定的使用场景下,其表现可能并不理想。例如,当本地资源请求的数据量过大,超出了缓存的容量时,就会引发所谓的“缓存失效”,这将导致系统不得不频繁地从慢速的硬件中加载数据,从而抵消了使用数据缓存的优势。
发明内容
本发明提供基于数据缓存的本地资源调用方法,以解决现有的问题:当本地资源请求的数据量过大,超出了缓存的容量时,就会引发缓存失效;导致系统不得不频繁地从慢速的硬件中加载数据。
本发明的基于数据缓存的本地资源调用方法采用如下技术方案:
本发明一个实施例提供了基于数据缓存的本地资源调用方法,该方法包括以下步骤:
采集本地资源历史缓存日志数据;
根据本地资源历史缓存日志数据获取历史缓存日志数据操作序列;根据不同时刻相同历史缓存日志数据操作序列获取一级差异序列;根据一级差异序列获取差异序列;根据差异序列获取差异矩阵;根据差异矩阵获取各个时刻下各种历史缓存日志数据之间的周期性;
根据相同时刻下不同历史缓存日志数据操作序列获取一级对比序列;根据一级对比序列获取对比序列;根据对比序列获取对比矩阵;根据对比矩阵获取各时刻下不同历史缓存日志数据之间的关联性;
根据各个时刻下各种历史缓存日志数据之间的周期性以及各时刻下不同历史缓存日志数据之间的关联性,获取各时刻下各种历史缓存日志数据调用概率,根据各时刻下各种历史缓存日志数据调用概率获取缓存对象。
优选的,所述采集本地资源历史缓存日志数据,包括的具体方法为:
通过在缓存系统中的日志数据获取API接口,根据API接口获取缓存系统每天的每种历史缓存日志数据,所述缓存系统每天的每种历史缓存日志数据包含各缓存对象对应的缓存键值、对缓存键值的操作以及对缓存键值的操作时间。
优选的,所述根据本地资源历史缓存日志数据获取历史缓存日志数据操作序列;根据不同时刻相同历史缓存日志数据操作序列获取一级差异序列;根据一级差异序列获取差异序列,包括的具体方法为:
对于第天的第/>种历史缓存日志数据,按照时间的先后顺序将第/>天的第/>种历史缓存日志数据中的缓存键值对应的所有操作进行排列,得到第/>天的第/>种历史缓存日志数据的操作序列/>;获取第/>天的第/>种历史缓存日志数据的操作序列/>;
然后将中的第一个值与/>中的第一个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第一个值;
将中的第二个值与/>中的第二个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第二个值;
将中的第三个值与/>中的第三个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第三个值;
以此类推,直至将中的最后一个值与/>中的最后一个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的最后一个值;得到/>与/>的一级差异序列;
获取一级差异序列中所有为0的元素记为第一0元素,获取每个第一0元素对应的两个操作,当第一0元素对应的两个操作均为0时,则将第一0元素用1元素替换,当第一0元素对应的两个操作不为0时,将第一0元素保持不变,得到第种历史缓存日志数据在第/>天的差异序列。
优选的,所述根据差异序列获取差异矩阵,包括的具体方法为:
对于第种历史缓存日志数据,预设一个空的差异矩阵以及时间长度/>,将/>天内第一天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第一列;将/>天内第二天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第二列;将/>天内第三天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第三列;
以此类推,设置每个差异序列在差异矩阵中的位置,得到差异矩阵。
优选的,所述各个时刻下各种历史缓存日志数据之间的周期性,包括的具体计算公式为:
根据4邻域规则,获取差异矩阵中值为0的数据点组成的连通域记为目标连通域;然后将目标连通域最右侧的所有数据点中的最上侧的数据点、最右侧的所有数据点中的最下侧的数据点以及最左侧的所有数据点中的最上侧的数据点分别记为:目标连通域中的右上数据点、右下数据点以及左上数据点;然后计算目标连通域中的右上数据点与右下数据点之间的欧氏距离记为,再计算目标连通域中的右上数据点与左上数据点之间的欧氏距离记为/>;再统计目标连通域内数据点的数量记为/>;最后根据/>,/>以及/>得到目标连通域的周期性,其具体的计算公式为:
式中,表示目标连通域中右上数据点与右下数据点之间的欧氏距离;/>表示目标连通域中右上数据点与左上数据点之间的欧氏距离;/>表示目标连通域内数据点的数量;表示目标连通域的周期性,同时也表示目标连通域内每个数据点的周期性。
优选的,所述根据相同时刻下不同历史缓存日志数据操作序列获取一级对比序列;根据一级对比序列获取对比序列,包括的具体方法为:
第天的第/>种历史缓存日志数据的操作序列/>;
将中的第一个值与/>中的第一个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第一个值;
将中的第二个值与/>中的第二个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第二个值;
将中的第三个值与/>中的第三个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第一个值;
以此类推,直至将中的最后一个值与/>中的最后一个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的最后一个值,得到/>与/>之间的一级对比序列;
获取一级对比序列中所有为0的元素,记为第二0元素,获取每个第二0元素对应的操作值,当第二0元素对应的操作值均为0时,将第二0元素利用1元素替换,当第二0元素对应的操作值不为0时,将第二0元素保持不变,得到第天的第/>种数据与第/>种数据的对比序列。
优选的,所述根据对比序列获取对比矩阵,包括的具体方法为:
对于第种历史缓存日志数据以及第/>种历史缓存日志数据,预设一个空的对比矩阵以及时间长度/>,将/>天内第一天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第一列;将/>天内第二天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第二列;将/>天内第三天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第三列;
以此类推,设置每个对比序列在对比矩阵中的位置,得到第种历史缓存日志数据与第/>种历史缓存日志数据的对比矩阵。
优选的,所述根据对比矩阵获取各时刻下不同历史缓存日志数据之间的关联性,包括的具体计算公式为:
对于第种历史缓存日志数据与第/>种历史缓存日志数据的对比矩阵,根据4邻域规则,获取差异矩阵中值为0的数据点组成的连通域记为对比连通域;然后将对比连通域最右侧的所有数据点中的最上侧的数据点、最右侧的所有数据点中的最下侧的数据点以及最左侧的所有数据点中的最上侧的数据点分别记为:对比连通域中的右上数据点、右下数据点以及左上数据点;然后计算对比连通域中的右上数据点与右下数据点之间的欧氏距离记为/>,再计算对比连通域中的右上数据点与左上数据点之间的欧氏距离记为/>;再统计对比连通域内数据点的数量记为/>;最后根据/>,/>以及/>得到对比连通域的关联性,其具体的计算公式为:
式中,表示对比连通域中的右上数据点与右下数据点之间的欧氏距离;/>表示对比连通域中的右上数据点与左上数据点之间的欧氏距离;/>表示对比连通域内数据点的数量;/>表示对比连通域的关联性,即各时刻下不同数据之间的关联性。
优选的,所述获取各时刻下各种历史缓存日志数据调用概率,包括的具体计算公式为:
式中,表示在第/>时刻下第/>种历史缓存日志数据与第/>种历史缓存日志数据之间的关联性;/>表示在第/>时刻下第/>种历史缓存日志数据的周期性;/>表示历史缓存日志数据种类的数量;/>表示在第/>时刻下第/>种历史缓存日志数据的调用概率。
优选的,所述根据各时刻下各种历史缓存日志数据调用概率获取缓存对象,包括的具体方法为:
对于第时刻下的各种历史缓存日志数据,依照所有历史缓存日志数据调用概率对第/>时刻下的各种历史缓存日志数据进行降序排列,得到第/>时刻下的调用序列;获取所有时刻下的调用序列;
对于第时刻下的调用序列中第/>个数据,首先统计第/>时刻下的调用序列中前/>个数据的数量记为/>,然后统计第/>时刻下的调用序列中前/>个数据内在当前日期中被调用数据的数量记为/>;最后通过/>以及/>获取调用序列中第/>个数据作为分界点的调用效果,具体的计算公式如下:
式中,表示第/>时刻下的调用序列中以第/>个数据作为分界点的调用效果;
得到第时刻下的调用序列中,以每个数据作为分界点的调用效果;选取其中调用效果最大的数据作为第/>时刻下的调用序列中的最佳分界数据;
得到所有时刻下的调用序列中的最佳分界数据;
将每个时刻的调用序列中的最佳分界数据记为每个时刻的最佳调用分界点,将每个时刻的调用序列中处于最佳分界数据左侧的数据,记为每个时刻的最佳分界数据的左侧数据,将每个时刻的最佳分界数据的所有左侧数据的调用概率的均值作为每个时刻的最佳分界数据的权值,将每个时刻及最佳分界数据构成每个时刻的拟合点;以每个时刻的最佳分界数据的权值为每个时刻的最佳分界数据的拟合权值,利用最小二乘法对所有时刻的最佳分界数据进行拟合处理得到最佳分界数据估计函数,将当前时刻输入到最佳分界数据估计函数得到当前时刻的拟合点,获取当前时刻拟合点的最佳分界数据;
最后将当前时刻代入拟合曲线中,得到当前时刻下的调用序列中的最佳分界数据,将当前时刻拟合点的最佳分界数据左侧的数据,作为缓存对象放入缓存中。
本发明的技术方案的有益效果是:当本地资源请求的数据量过大,超出了缓存的容量时,就会引发缓存失效;导致系统不得不频繁地从慢速的硬件中加载数据。所以本发明通过对数据进行周期性预测的方法,提高对本地资源调用时的缓存调用概率,以降低从其他硬件中索引数据的次数,提高系统运行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于数据缓存的本地资源调用方法的步骤流程图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于数据缓存的本地资源调用方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的基于数据缓存的本地资源调用方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的基于数据缓存的本地资源调用方法的步骤流程图,该方法包括以下步骤:
步骤S001:采集本地资源历史缓存日志数据。
需要说明的是,本实施例作为一种基于数据缓存的本地资源调用方法,首先需要采集本地资源历史缓存日志数据。
具体的,通过在缓存系统中的日志数据获取API接口,根据API接口获取缓存系统每天的每种历史缓存日志数据,所述缓存系统每天的每种历史缓存日志数据包含各缓存对象对应的缓存键值、对缓存键值的操作以及对缓存键值的操作时间。
进而可以得到第种历史缓存日志数据/>,其中/>表示第/>种历史缓存日志数据中的键值,在本实施例中选用数字作为键值,/>表示对第/>种历史缓存日志数据中的键值所对应数据对应的操作,其中/>表示无操作,/>表示增加操作,/>表示删除操作。/>表示第/>种历史缓存日志数据中的时刻。
至此,通过得到历史缓存日志数据。
步骤S002:根据本地资源历史缓存日志数据获取历史缓存日志数据操作序列;根据不同时刻相同历史缓存日志数据操作序列获取一级差异序列;根据一级差异序列获取差异序列;根据差异序列获取差异矩阵;根据差异矩阵获取各个时刻下各种历史缓存日志数据之间的周期性。
需要说明的是,在大多数系统中,本地资源访问通常存在一定的周期性,即一些数据可能在工作日的上午访问频率较高,而在其他时间访问频率较低。故可以根据这种周期性,更好地预测未来的数据访问需求。
具体的,对于第种历史缓存日志数据,获取每天第/>种历史缓存日志数据,将第/>天的第/>种历史缓存日志数据记为/>,其中/>表示第/>天的第/>种历史缓存日志数据中的键值,/>表示对第/>天的第/>种历史缓存日志数据中的键值对应的操作,/>表示第/>天的第/>种历史缓存日志数据中的时刻。
需要说明的是,如果用户在对某种历史缓存日志数据的操作使用中具有使用周期性,则对于某种历史缓存日志数据在相邻的日期中具有局部一致性;即可以根据某种历史缓存日志数据在相邻的日期的局部一致性,获取用户在对某种历史缓存日志数据的操作使用的周期性。
具体的,对于第天的第/>种历史缓存日志数据,按照时间的先后顺序将第/>天的第种历史缓存日志数据中的缓存键值对应的所有操作进行排列,得到第/>天的第/>种历史缓存日志数据的操作序列/>;获取第/>天的第/>种历史缓存日志数据的操作序列/>;
然后将中的第一个值与/>中的第一个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第一个值;
将中的第二个值与/>中的第二个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第二个值;
将中的第三个值与/>中的第三个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第三个值;
以此类推,直至将中的最后一个值与/>中的最后一个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的最后一个值;得到/>与/>的一级差异序列。
需要注意的是,在操作序列中等于0的值表示无操作,所以如果一级差异序列中的0是由操作序列中的0与操作序列/>中的0得到的话,则无法判断是否由操作一致导致的零值,所有需要将通过操作序列/>中的0与操作序列/>中的0得到的一级差异序列中的0剔除。
具体的,获取一级差异序列中所有为0的元素记为第一0元素,获取每个第一0元素对应的两个操作,当第一0元素对应的两个操作均为0时,则将第一0元素用1元素替换,当第一0元素对应的两个操作不为0时,将第一0元素保持不变,得到第种历史缓存日志数据在第/>天的差异序列。
值得一提的是,在差异序列中值为0的部分,表示在相邻两天的同一时刻下的用户对同一缓存对象的操作越一致,则在差异序列中值为0的部分越长。进而可以根据多条差异序列获取用户在对数据的操作周期性。
具体的,对于第种历史缓存日志数据,预设时间长度/>天,/>的具体大小可结合实际情景设置,本实施例不做硬性要求,在本实施例中以/>进行叙述,得到最近/>天内用户对第/>种历史缓存日志数据所有的差异序列。
再通过天内用户对第/>种历史缓存日志数据所有的差异序列,构建差异矩阵。
具体的,对于第种历史缓存日志数据,预设一个空的差异矩阵以及时间长度/>,将天内第一天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第一列;将/>天内第二天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第二列;将/>天内第三天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第三列;
以此类推,设置每个差异序列在差异矩阵中的位置,得到差异矩阵。
需要进一步说明的是,在差异矩阵中由0所组成的部分的连通域越与矩形相似,则在该连通域所处的时间段中用户在对数据的操作周期性越大。
具体的,根据4邻域规则,获取差异矩阵中值为0的数据点组成的连通域记为目标连通域;然后将目标连通域最右侧的所有数据点中的最上侧的数据点、最右侧的所有数据点中的最下侧的数据点以及最左侧的所有数据点中的最上侧的数据点分别记为:目标连通域中的右上数据点、右下数据点以及左上数据点;然后计算目标连通域中的右上数据点与右下数据点之间的欧氏距离记为,再计算目标连通域中的右上数据点与左上数据点之间的欧氏距离记为/>;再统计目标连通域内数据点的数量记为/>;最后根据/>,/>以及/>得到目标连通域的周期性,其具体的计算公式为:
式中,表示目标连通域中右上数据点与右下数据点之间的欧氏距离;/>表示目标连通域中右上数据点与左上数据点之间的欧氏距离;/>表示目标连通域内数据点的数量;表示目标连通域的周期性,同时也表示目标连通域内每个数据点的周期性。
需要进一步说明的是,目标连通域的周期性越大,目标连通域在差异矩阵中就越具有矩形的特征,则的值就与/>越接近,即/>就会越小;所以/>的值越大,目标连通域的周期性越大。
至此,通过上述方法得到各个时刻下目标连通域的周期性。
需要注意的是,当差异矩阵中某个时刻下不存在由0组成的连通域时,即此时连通域的周期性为0。
步骤S003:根据相同时刻下不同历史缓存日志数据操作序列获取一级对比序列;根据一级对比序列获取对比序列;根据对比序列获取对比矩阵;根据对比矩阵获取各时刻下不同历史缓存日志数据之间的关联性。
需要说明的是,由于人为习惯不是一个稳定的状态,所以历史缓存日志数据在不同时间的周期性会存在差异,但是有部分日志数据对应的数据对象之间的操作是具有关联性的,即部分缓存数据对象用于同一个任务,当任务结束时都会被从缓存中删除,当打开该任务时,都会被加载在缓存中,故可以根据这种关联性,更好地预测未来的数据访问需求。
具体的,对于第天的第/>种历史缓存日志数据以及对于第/>天的第/>种历史缓存日志数据,依照步骤S002获取第/>天的第/>种历史缓存日志数据的操作序列/>以及第/>第/>天的第/>种历史缓存日志数据的操作序列/>。
将中的第一个值与/>中的第一个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第一个值;
将中的第二个值与/>中的第二个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第二个值;
将中的第三个值与/>中的第三个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第一个值;
以此类推,直至将中的最后一个值与/>中的最后一个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的最后一个值,得到/>与/>之间的一级对比序列。
需要注意的是,在操作序列中等于0的值表示无操作,所以如果一级对比序列中的0是由操作序列中的0与操作序列/>中的0得到的话,则无法判断是否由操作一致导致的零值,所有需要将通过操作序列/>中的0与操作序列/>中的0得到的一级对比序列中的0剔除。
具体的,获取一级对比序列中所有为0的元素,记为第二0元素,获取每个第二0元素对应的操作值,当第二0元素对应的操作值均为0时,将第二0元素利用1元素替换,当第二0元素对应的操作值不为0时,将第二0元素保持不变,得到第天的第/>种数据与第/>种数据的对比序列。
值得一提的是,在对比序列中值为0的部分,表示在同一时刻下不同种历史缓存日志数据的操作相同,而用户对同一缓存对象的操作越一致,则在差异序列中值为0的部分越长。进而可以根据多种对比序列获取不同数据之间的关联性。
具体的,对于第种历史缓存日志数据以及第/>种历史缓存日志数据,首先获取/>天内每天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列,/>为预设的时间长度,/>的具体大小可结合实际情景设置,本实施例不做硬性要求,在本实施例中以进行叙述,得到最近/>天内每天的第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列。
再通过天内每天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列,构建对比矩阵。
具体的,对于第种历史缓存日志数据以及第/>种历史缓存日志数据,预设一个空的对比矩阵,将/>天内第一天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第一列;将/>天内第二天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第二列;将/>天内第三天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第三列;
以此类推,设置每个对比序列在对比矩阵中的位置,得到第种历史缓存日志数据与第/>种历史缓存日志数据的对比矩阵。
需要进一步说明的是,在对比矩阵中由0组成的连通域越与矩形相似,则在该连通域所处的时间段中第种历史缓存日志数据与第/>种历史缓存日志数据的关联性越强,同时由于在对比矩阵中越右侧的数据距离当前时刻越近,所以选取对比矩阵中最右侧的由0组成的连通域进行分析。
具体的,对于第种历史缓存日志数据与第/>种历史缓存日志数据的对比矩阵,根据4邻域规则,获取差异矩阵中值为0的数据点组成的连通域记为对比连通域;然后将对比连通域最右侧的所有数据点中的最上侧的数据点、最右侧的所有数据点中的最下侧的数据点以及最左侧的所有数据点中的最上侧的数据点分别记为:对比连通域中的右上数据点、右下数据点以及左上数据点;然后计算对比连通域中的右上数据点与右下数据点之间的欧氏距离记为/>,再计算对比连通域中的右上数据点与左上数据点之间的欧氏距离记为/>;再统计对比连通域内数据点的数量记为/>;最后根据/>,/>以及/>得到对比连通域的关联性,其具体的计算公式为:
式中,表示对比连通域中的右上数据点与右下数据点之间的欧氏距离;/>表示对比连通域中的右上数据点与左上数据点之间的欧氏距离;/>表示对比连通域内数据点的数量;/>表示对比连通域的关联性,即各时刻下不同数据之间的关联性。
需要进一步说明的是,对比连通域的周期性越大,对比连通域在对比矩阵中就越具有矩形的特征,则的值就与/>越接近,即/>就会越小;所以/>的值越大,对比连通域的关联性越大。
至此,得到个时刻下各种历史缓存日志数据之间的关联性。
需要注意的是,当对比矩阵中某个时刻下不存在由0组成的连通域时,即此时数据的关联性为0。
步骤S004:根据各个时刻下各种历史缓存日志数据之间的周期性以及各时刻下不同历史缓存日志数据之间的关联性,获取各时刻下各种历史缓存日志数据调用概率,根据各时刻下各种历史缓存日志数据调用概率获取缓存对象。
需要说明的是,本实施例是根据每天数据操作的周期性以及数据与数据之间的关联性进行分析,获取各时刻下各种历史缓存日志数据调用概率。
具体的,获取各时刻下各种历史缓存日志数据调用概率的具体计算公式为:
式中,表示在第/>时刻下第/>种历史缓存日志数据与第/>种历史缓存日志数据之间的关联性;/>表示在第/>时刻下第/>种历史缓存日志数据的周期性;/>表示历史缓存日志数据种类的数量;/>表示在第/>时刻下第/>种历史缓存日志数据的调用概率。
需要说明的是,越大说明在第/>时刻下第/>种历史缓存日志数据的调用概率越大。
至此,得到在第时刻下第/>种历史缓存日志数据的调用概率,同理得到各时刻下各种历史缓存日志数据调用概率。
需要说明的是,若直接采用将调用概率最大的数据作为被调用的数据,可能会导致小部分数据调度失败,进而只能从磁盘中读取数据,影响系统运行效率;为了进一步提高系统运行效率,需要各时刻下各种历史缓存日志数据调用概率进行分析。
具体的,对于第时刻下的各种历史缓存日志数据,依照所有历史缓存日志数据调用概率对第/>时刻下的各种历史缓存日志数据进行降序排列,得到第/>时刻下的调用序列;同理获取所有时刻下的调用序列;
对于第时刻下的调用序列中第/>个数据,首先统计第/>时刻下的调用序列中前/>个数据的数量记为/>,然后统计第/>时刻下的调用序列中前/>个数据内在当前日期中被调用数据的数量记为/>;所述当前日期中被调用数据的数量指的是当前日期中的第/>时刻下被调用的数据,而调用序列中的调用数据则是指;最后通过/>以及/>获取调用序列中第/>个数据作为分界点的调用效果,具体的计算公式如下:
式中,表示第/>时刻下的调用序列中以第/>个数据作为分界点的调用效果;/>表示第/>时刻下的调用序列中前/>个数据的数量,/>表示第/>时刻下的调用序列中前/>个数据内在当前日期中被调用数据的数量。
需要说明的是,得值越大则说明在第/>时刻下的调用序列中,以第/>个数据作为分界点的调用效果越好。
同理得到第时刻下的调用序列中,以每个数据作为分界点的调用效果;选取其中调用效果最大的数据作为第/>时刻下的调用序列中的最佳分界数据。
同理得到所有时刻下的调用序列中的最佳分界数据。
然后将每个时刻的调用序列中的最佳分界数据记为每个时刻的最佳调用分界点,将每个时刻的调用序列中处于最佳分界数据左侧的数据,记为每个时刻的最佳分界数据的左侧数据,将每个时刻的最佳分界数据的所有左侧数据的调用概率的均值作为每个时刻的最佳分界数据的权值,将每个时刻及最佳分界数据构成每个时刻的拟合点;以每个时刻的最佳分界数据的权值为每个时刻的最佳分界数据的拟合权值,利用最小二乘法对所有时刻的最佳分界数据进行拟合处理得到最佳分界数据估计函数,将当前时刻输入到最佳分界数据估计函数得到当前时刻的拟合点,获取当前时刻拟合点的最佳分界数据;
最后将当前时刻代入拟合曲线中,得到当前时刻下的调用序列中的最佳分界数据,将当前时刻拟合点的最佳分界数据左侧的数据,作为缓存对象放入缓存中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.基于数据缓存的本地资源调用方法,其特征在于,该方法包括以下步骤:
采集本地资源历史缓存日志数据;
根据本地资源历史缓存日志数据获取历史缓存日志数据操作序列;根据不同时刻相同历史缓存日志数据操作序列获取一级差异序列;根据一级差异序列获取差异序列;根据差异序列获取差异矩阵;根据差异矩阵获取各个时刻下各种历史缓存日志数据之间的周期性;
根据相同时刻下不同历史缓存日志数据操作序列获取一级对比序列;根据一级对比序列获取对比序列;根据对比序列获取对比矩阵;根据对比矩阵获取各时刻下不同历史缓存日志数据之间的关联性;
根据各个时刻下各种历史缓存日志数据之间的周期性以及各时刻下不同历史缓存日志数据之间的关联性,获取各时刻下各种历史缓存日志数据调用概率,根据各时刻下各种历史缓存日志数据调用概率获取缓存对象。
2.根据权利要求1所述基于数据缓存的本地资源调用方法,其特征在于,所述采集本地资源历史缓存日志数据,包括的具体方法为:
通过在缓存系统中的日志数据获取API接口,根据API接口获取缓存系统每天的每种历史缓存日志数据,所述缓存系统每天的每种历史缓存日志数据包含各缓存对象对应的缓存键值、对缓存键值的操作以及对缓存键值的操作时间。
3.根据权利要求2所述基于数据缓存的本地资源调用方法,其特征在于,所述根据本地资源历史缓存日志数据获取历史缓存日志数据操作序列;根据不同时刻相同历史缓存日志数据操作序列获取一级差异序列;根据一级差异序列获取差异序列,包括的具体方法为:
对于第天的第/>种历史缓存日志数据,按照时间的先后顺序将第/>天的第/>种历史缓存日志数据中的缓存键值对应的所有操作进行排列,得到第/>天的第/>种历史缓存日志数据的操作序列/>;获取第/>天的第/>种历史缓存日志数据的操作序列/>;
然后将中的第一个值与/>中的第一个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第一个值;
将中的第二个值与/>中的第二个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第二个值;
将中的第三个值与/>中的第三个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的第三个值;
以此类推,直至将中的最后一个值与/>中的最后一个值之间差的绝对值,作为第/>种数据在第/>天的一级差异序列中的最后一个值;得到/>与/>的一级差异序列;
获取一级差异序列中所有为0的元素记为第一0元素,获取每个第一0元素对应的两个操作,当第一0元素对应的两个操作均为0时,则将第一0元素用1元素替换,当第一0元素对应的两个操作不为0时,将第一0元素保持不变,得到第种历史缓存日志数据在第/>天的差异序列。
4.根据权利要求1所述基于数据缓存的本地资源调用方法,其特征在于,所述根据差异序列获取差异矩阵,包括的具体方法为:
对于第种历史缓存日志数据,预设一个空的差异矩阵以及时间长度/>,将/>天内第一天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第一列;将/>天内第二天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第二列;将/>天内第三天的第/>种历史缓存日志数据的差异序列置于差异矩阵的第三列;
以此类推,设置每个差异序列在差异矩阵中的位置,得到差异矩阵。
5.根据权利要求1所述基于数据缓存的本地资源调用方法,其特征在于,所述各个时刻下各种历史缓存日志数据之间的周期性,包括的具体计算公式为:
根据4邻域规则,获取差异矩阵中值为0的数据点组成的连通域记为目标连通域;然后将目标连通域最右侧的所有数据点中的最上侧的数据点、最右侧的所有数据点中的最下侧的数据点以及最左侧的所有数据点中的最上侧的数据点分别记为:目标连通域中的右上数据点、右下数据点以及左上数据点;然后计算目标连通域中的右上数据点与右下数据点之间的欧氏距离记为,再计算目标连通域中的右上数据点与左上数据点之间的欧氏距离记为/>;再统计目标连通域内数据点的数量记为/>;最后根据/>,/>以及/>得到目标连通域的周期性,其具体的计算公式为:
式中,表示目标连通域中右上数据点与右下数据点之间的欧氏距离;/>表示目标连通域中右上数据点与左上数据点之间的欧氏距离;/>表示目标连通域内数据点的数量;/>表示目标连通域的周期性,同时也表示目标连通域内每个数据点的周期性。
6.根据权利要求3所述基于数据缓存的本地资源调用方法,其特征在于,所述根据相同时刻下不同历史缓存日志数据操作序列获取一级对比序列;根据一级对比序列获取对比序列,包括的具体方法为:
第天的第/>种历史缓存日志数据的操作序列/>;
将中的第一个值与/>中的第一个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第一个值;
将中的第二个值与/>中的第二个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第二个值;
将中的第三个值与/>中的第三个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的第一个值;
以此类推,直至将中的最后一个值与/>中的最后一个值之间差的绝对值,作为第/>天的第/>种数据与第/>种数据的一级对比序列中的最后一个值,得到/>与/>之间的一级对比序列;
获取一级对比序列中所有为0的元素,记为第二0元素,获取每个第二0元素对应的操作值,当第二0元素对应的操作值均为0时,将第二0元素利用1元素替换,当第二0元素对应的操作值不为0时,将第二0元素保持不变,得到第天的第/>种数据与第/>种数据的对比序列。
7.根据权利要求1所述基于数据缓存的本地资源调用方法,其特征在于,所述根据对比序列获取对比矩阵,包括的具体方法为:
对于第种历史缓存日志数据以及第/>种历史缓存日志数据,预设一个空的对比矩阵以及时间长度/>,将/>天内第一天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第一列;将/>天内第二天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第二列;将/>天内第三天第/>种历史缓存日志数据与第/>种历史缓存日志数据的对比序列置于对比矩阵的第三列;
以此类推,设置每个对比序列在对比矩阵中的位置,得到第种历史缓存日志数据与第种历史缓存日志数据的对比矩阵。
8.根据权利要求1所述基于数据缓存的本地资源调用方法,其特征在于,所述根据对比矩阵获取各时刻下不同历史缓存日志数据之间的关联性,包括的具体计算公式为:
对于第种历史缓存日志数据与第/>种历史缓存日志数据的对比矩阵,根据4邻域规则,获取差异矩阵中值为0的数据点组成的连通域记为对比连通域;然后将对比连通域最右侧的所有数据点中的最上侧的数据点、最右侧的所有数据点中的最下侧的数据点以及最左侧的所有数据点中的最上侧的数据点分别记为:对比连通域中的右上数据点、右下数据点以及左上数据点;然后计算对比连通域中的右上数据点与右下数据点之间的欧氏距离记为/>,再计算对比连通域中的右上数据点与左上数据点之间的欧氏距离记为/>;再统计对比连通域内数据点的数量记为/>;最后根据/>,/>以及/>得到对比连通域的关联性,其具体的计算公式为:
式中,表示对比连通域中的右上数据点与右下数据点之间的欧氏距离;/>表示对比连通域中的右上数据点与左上数据点之间的欧氏距离;/>表示对比连通域内数据点的数量;表示对比连通域的关联性,即各时刻下不同数据之间的关联性。
9.根据权利要求1所述基于数据缓存的本地资源调用方法,其特征在于,所述获取各时刻下各种历史缓存日志数据调用概率,包括的具体计算公式为:
式中,表示在第/>时刻下第/>种历史缓存日志数据与第/>种历史缓存日志数据之间的关联性;/>表示在第/>时刻下第/>种历史缓存日志数据的周期性;/>表示历史缓存日志数据种类的数量;/>表示在第/>时刻下第/>种历史缓存日志数据的调用概率。
10.根据权利要求1所述基于数据缓存的本地资源调用方法,其特征在于,所述根据各时刻下各种历史缓存日志数据调用概率获取缓存对象,包括的具体方法为:
对于第时刻下的各种历史缓存日志数据,依照所有历史缓存日志数据调用概率对第/>时刻下的各种历史缓存日志数据进行降序排列,得到第/>时刻下的调用序列;获取所有时刻下的调用序列;
对于第时刻下的调用序列中第/>个数据,首先统计第/>时刻下的调用序列中前/>个数据的数量记为/>,然后统计第/>时刻下的调用序列中前/>个数据内在当前日期中被调用数据的数量记为/>;最后通过/>以及/>获取调用序列中第/>个数据作为分界点的调用效果,具体的计算公式如下:
式中,表示第/>时刻下的调用序列中以第/>个数据作为分界点的调用效果;
得到第时刻下的调用序列中,以每个数据作为分界点的调用效果;选取其中调用效果最大的数据作为第/>时刻下的调用序列中的最佳分界数据;
得到所有时刻下的调用序列中的最佳分界数据;
将每个时刻的调用序列中的最佳分界数据记为每个时刻的最佳调用分界点,将每个时刻的调用序列中处于最佳分界数据左侧的数据,记为每个时刻的最佳分界数据的左侧数据,将每个时刻的最佳分界数据的所有左侧数据的调用概率的均值作为每个时刻的最佳分界数据的权值,将每个时刻及最佳分界数据构成每个时刻的拟合点;以每个时刻的最佳分界数据的权值为每个时刻的最佳分界数据的拟合权值,利用最小二乘法对所有时刻的最佳分界数据进行拟合处理得到最佳分界数据估计函数,将当前时刻输入到最佳分界数据估计函数得到当前时刻的拟合点,获取当前时刻拟合点的最佳分界数据;
最后将当前时刻代入拟合曲线中,得到当前时刻下的调用序列中的最佳分界数据,将当前时刻拟合点的最佳分界数据左侧的数据,作为缓存对象放入缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311243893.8A CN116991902B (zh) | 2023-09-26 | 2023-09-26 | 基于数据缓存的本地资源调用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311243893.8A CN116991902B (zh) | 2023-09-26 | 2023-09-26 | 基于数据缓存的本地资源调用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991902A true CN116991902A (zh) | 2023-11-03 |
CN116991902B CN116991902B (zh) | 2023-12-08 |
Family
ID=88521614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311243893.8A Active CN116991902B (zh) | 2023-09-26 | 2023-09-26 | 基于数据缓存的本地资源调用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991902B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012141885A (ja) * | 2011-01-05 | 2012-07-26 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュシステム及びキャッシュ配置方法及びキャッシュ制御装置及びキャッシュ制御プログラム |
JP2018170715A (ja) * | 2017-03-30 | 2018-11-01 | 日本電気株式会社 | クラウド管理装置、クラウド管理方法、及びプログラム |
CN114218134A (zh) * | 2021-12-09 | 2022-03-22 | 微梦创科网络科技(中国)有限公司 | 一种缓存用户的方法和装置 |
CN114785858A (zh) * | 2022-06-20 | 2022-07-22 | 武汉格蓝若智能技术有限公司 | 应用于互感器在线监测系统的资源主动缓存方法及装置 |
-
2023
- 2023-09-26 CN CN202311243893.8A patent/CN116991902B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012141885A (ja) * | 2011-01-05 | 2012-07-26 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュシステム及びキャッシュ配置方法及びキャッシュ制御装置及びキャッシュ制御プログラム |
JP2018170715A (ja) * | 2017-03-30 | 2018-11-01 | 日本電気株式会社 | クラウド管理装置、クラウド管理方法、及びプログラム |
CN114218134A (zh) * | 2021-12-09 | 2022-03-22 | 微梦创科网络科技(中国)有限公司 | 一种缓存用户的方法和装置 |
CN114785858A (zh) * | 2022-06-20 | 2022-07-22 | 武汉格蓝若智能技术有限公司 | 应用于互感器在线监测系统的资源主动缓存方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116991902B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3254210B1 (en) | Big data statistics at data-block level | |
US7711916B2 (en) | Storing information on storage devices having different performance capabilities with a storage system | |
US10007691B2 (en) | Prioritizing repopulation of in-memory compression units | |
CN100395750C (zh) | 一种缓存管理方法 | |
US8615635B2 (en) | Database management methodology | |
US9996404B2 (en) | Message cache management for message queues | |
CN106776967A (zh) | 基于时序聚合算法的海量小文件实时存储方法及装置 | |
EP2541423A1 (en) | Replacement policy for resource container | |
CN116861041B (zh) | 一种电子公文处理方法及系统 | |
CA2515968C (en) | An apparatus and methods for managing data used by a mobile device | |
CN101217449B (zh) | 远程调用管理方法 | |
CN115858510A (zh) | 一种评测数据温度并进行动态存储管理的方法及存储介质 | |
CN109522273A (zh) | 一种实现数据写入的方法及装置 | |
CN117194907B (zh) | 数据中台的低价值数据主题识别方法 | |
CN116578409A (zh) | 内存热页识别与迁移的方法、系统及介质 | |
CN114896281A (zh) | 一种数据处理的方法、系统以及电子设备 | |
CN116991902B (zh) | 基于数据缓存的本地资源调用方法 | |
CN111427920B (zh) | 数据采集方法、装置、系统、计算机设备及存储介质 | |
CN110874360A (zh) | 一种基于固定容量的有序队列缓存方法及装置 | |
CN110727405A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN114841806A (zh) | 一种实时转账链路下的模式匹配系统 | |
CN111159232A (zh) | 一种数据缓存方法及系统 | |
Ai et al. | RUE: A caching method for identifying and managing hot data by leveraging resource utilization efficiency | |
CN105740167B (zh) | 一种文件系统缓存删除的方法及系统 | |
WO2022156452A1 (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 |