CN117194502B - 一种基于长短期记忆网络的数据库内容缓存替换方法 - Google Patents
一种基于长短期记忆网络的数据库内容缓存替换方法 Download PDFInfo
- Publication number
- CN117194502B CN117194502B CN202311444981.4A CN202311444981A CN117194502B CN 117194502 B CN117194502 B CN 117194502B CN 202311444981 A CN202311444981 A CN 202311444981A CN 117194502 B CN117194502 B CN 117194502B
- Authority
- CN
- China
- Prior art keywords
- cache
- long
- data
- memory network
- short
- 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 55
- 230000007787 long-term memory Effects 0.000 title claims abstract description 45
- 230000006403 short-term memory Effects 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 29
- 230000015654 memory Effects 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 15
- 230000004083 survival effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000001965 increasing effect Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000002708 enhancing effect Effects 0.000 claims description 2
- 239000000203 mixture Substances 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000012216 screening Methods 0.000 claims description 2
- 230000001413 cellular effect Effects 0.000 claims 1
- 210000005036 nerve Anatomy 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 abstract description 7
- 230000006399 behavior Effects 0.000 abstract description 4
- 238000005457 optimization Methods 0.000 abstract description 4
- 238000013528 artificial neural network Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种基于长短期记忆网络的数据库内容缓存替换方法,属于计算机数据库技术领域。本方法使用长短期记忆网络预测缓存替换最优解,按照先主后次、先急后缓的策略进行缓存队列更新,降低神经网络预测不确定性对整体性能的影响。通过对算法逻辑的优化,不直接将长短期记忆网络的预测结果作为最终的替换结果,而是将其视为缓存替换的重要参考项,结合当前缓存队列中现有的缓存行,决定缓存数据块的去留。本发明包括训练数据集的获取、替换缓存的具体逻辑与方式,能够灵活适应不同用户的行为模式,保证了数据访问请求指令频繁时缓存替换算法性能的下限,使计算资源的调动更加灵活,互不干扰,缓存替换过程简洁高效。
Description
技术领域
本发明涉及一种基于长短期记忆网络的数据库内容缓存替换方法,属于计算机数据库技术领域。
背景技术
计算机缓存机制是减少动态随机存取存储器访问延迟的重要机制。当访问请求指向相同的数据块时,缓存的存在避免了处理器以较高的时间成本访问内存。
缓存替换,又称缓存管理策略,是在有限的缓存空间中,选择合适的数据块替换出去,以便为新的数据块腾出空间,对于提高数据活力,实现缓存队列的更新,以及提高数据活力,提高计算机运算速度有着重要意义。
缓存替换方法就是在重复考虑数据块被保留或是被舍弃,并根据当前缓存队列的结构和存储状态,决定被保留或被舍弃的数据块移动的位置。现有的缓存替换方法可以划分为启发式的缓存替换方法与最优策略缓存替换方法。其中,启发式的缓存替换方法基于一种简单的直觉:例如,基于时间的替换方法按照数据块进入缓存队列的时间先后选择需要被替换的数据块;基于访问行为的替换方法依据数据块被访问的频率来保留访问次数多的数据块,选择访问次数少的数据块作为被驱逐的数据块。但这种行为并非最优解,最优策略缓存替换方法则根据未来访问序列选择最佳的替换对象,使接下来一段时间内,处理器发出的缓存请求总是命中。最佳算法属于此类算法,但由于其需要预知未来访问序列,实际中很难找到能够发挥作用的场合。
近年来,一些经典的机器学习技术,例如决策树、随机森林等算法被用于优化缓存替换方法。这些技术可以根据缓存空间的数据特征、访问模式,以及其他相关因素,例如缓存空间的大小、数据交换的频率等进行预测。然而,这种预测方法需要耗费大量计算资源,并且需要进行合适的特征工程和模型选择,以获得最佳效果。并且这类预测算法的性能受到缓存系统的特点、数据分布和访问模式的影响较大。深度学习技术的发展,在很大程度上改善了机器学习算法的弊端。相比机器学习算法,深度学习模型无需手动进行特征提取,能够处理大规模数据;它可以在预训练模型上进行迁移学习,从而节省计算资源;其具备高表现力和灵活性,能够拟合非线性关系;此外,它还能够实现端到端的任务,无需中间步骤的优化与繁琐的参数调优过程。
长短期记忆网络是一种循环神经网络模型,它在处理序列数据上具备优势。它能够自动提取序列数据中的长期与短期依赖关系,并通过记忆单元的保留与更新,将序列数据的特征表示传递至每一个中间变量。缓存队列中的数据缓存行本质上是按照时间顺序排列的一组序列数据,这使得它成为长短期记忆网络的绝佳处理对象。
但是,使用长短期记忆网络辅助缓存替换方法发挥作用的难点在于:其本质上属于最优策略缓存替换方法,然而不能保证数据请求指令完全符合长短期记忆网络的预测结果,也就无法实现理论上的缓存替换最优解。目前,尚未有将长短期记忆网络与缓存替换方法相结合的技术公开。
发明内容
本发明的目的是针对现有技术存在的缺陷和不足,提出一种基于长短期记忆网络的数据库内容缓存替换方法。本方法使用长短期记忆网络预测缓存替换最优解,按照先主后次、先急后缓的策略进行缓存队列更新,降低神经网络预测不确定性对整体性能的影响。
本发明的创新点包括:提出了一种将长短期记忆网络与缓存管理相结合的缓存替换方法,通过对算法逻辑的优化,不直接将长短期记忆网络的预测结果作为最终的缓存替换结果,而是将其视为缓存替换的重要参考项,结合当前缓存队列中现有的缓存行,决定缓存数据块的去留。
对算法逻辑的优化具体体现在两个方面。首先,采取了双队列缓存的框架,分割缓存队列为主级缓存队列与次级缓存队列。主级缓存队列具有较高的优先级,两者遵循不同的缓存替换策略更新缓存。长短期记忆网络的预测结果对缓存管理的干预仅发生在次级缓存队列中,这样做的益处是保证了缓存替换方法性能的下限,其最差性能为主级缓存队列采取的缓存替换方法的性能。同时,整个缓存队列都能够享受到长短期记忆网络主动式预测带来的性能提升,当发生由于算力资源不足导致的长短期记忆网络无法正常工作时,双缓存队列的存在保证了缓存替换算法仍然能高效发挥作用。其次,长短期记忆网络对次级缓存队列的干预并不是绝对的,次级缓存队列并不直接根据长短期记忆网络的预测结果进行更新,而是将其作为重要的考量,以决定是否采取下一步的行动。
本发明涵盖了缓存替换方法的训练阶段与使用阶段的完整过程,包括训练数据集的获取、长短期记忆网络的训练、缓存替换的具体逻辑。
为达到以上目的,本发明采取以下的技术方案实现。
一种基于长短期记忆网络的数据库内容缓存替换方法,包括以下步骤:
步骤1:构建用于训练长短期记忆网络的数据集。
首先从用户处采集真实的数据访问请求序列Q。然后使用一个长度为L的滑动窗口在该序列上移动,步长为1,得到数据访问请求子序列。
其中,L为计算机缓存空间所能容纳数据块平均数量的一半。得到子序列的个数为Q-L+1,该Q-L+1个子序列构成了训练长短期记忆网络的数据集。
步骤2:对长短期记忆网络进行训练。
首先对数据集各个子序列中出现的数据块进行编码。编码按照不重复、不遗漏的原则,目的是使相同数据块拥有相同的标识,不同的数据块间能够区分。
然后,将每一个子序列中最后一个数据块分离,作为训练的目标,称为真实值。将前L-1个数据块作为长短期记忆网络的输入。
将每一个子序列中前L-1个数据块对应的编码输入长短期记忆网络,损失函数为长短期记忆网络的输出与真实值的交叉熵损失函数。由于长短期记忆网络支持端到端的训练,其训练的实质是通过迭代自身参数,使输出结果逐渐靠近真实值。在预测阶段,给定的输入为当前缓存队列中数据块的信息,长短期记忆网络输出下一个时刻到来的数据块。
神经网络各层根据损失函数回传的损失值进行参数修改,完成训练迭代。
步骤3:利用训练好的长短期记忆网络预测下一时刻到来的数据块,辅助进行缓存替换。
首先,将缓存队列分为主级缓存队列与次级缓存队列。
当次级缓存队列发生变动时,长短期记忆网络根据当前次级缓存队列中数据块的分布,预测出下一时刻即将到来的数据块。
该预测结果并非为下一时刻用户实际发出的数据访问请求指令,其作为缓存替换方法的参考项,从两个方面发生作用。一方面,该预测结果作为是否发生缓存替换的信号。当其预测的缓存数据块在缓存队列中已经存在时,不进行操作。当预测结果不存在于缓存队列中时,计算需要被驱逐的缓存数据块。另一方面,当实际发生缓存替换时,长短期记忆网络的预测结果作为替换进来的数据块,存入被驱逐数据块的位置,完成缓存替换。
有益效果
本发明,与现有技术相比,具有以下优点:
1.长短期记忆网络的训练数据集收集自历史数据访问请求序列,代表着用户习惯或者用户在当前界面或应用下呈现的使用偏好,预测结果为下一时刻用户发出的数据请求,能够灵活适应不同用户的行为模式。
2.缓存队列被分成了两个子序列,分别赋予其不同的优先级,长短期记忆网络的预测结果仅影响次级缓存队列,大大降低了其预测不稳定性造成的负面影响。两个子缓存队列采取不同的缓存更新策略。主级缓存队列按照用户实际发出的数据访问请求工作,次级缓存队列按照长短期记忆网络的预测结果工作,充分保证了数据访问请求指令频繁时缓存替换算法性能的下限,使计算资源的调动更加灵活,互不干扰。
3.次级缓存队列发生数据替换时,求解被替换的数据块充分尊重了最优策略的思想:一个在过去产生缓存命中的数据块在后续都更加容易产生缓存命中,以最小的替换代价实现最佳的性能。
4.对数据集进行预处理,使得进入网络训练的样本具有代表性,样本间数量具有平衡性,训练出来的模型泛化能力更强。利用长短期记忆网络处理序列,在网络内部增加序列的维度,提取序列值间蕴含的关联信息,在网络末端缩减维度以便输出预测值。
5.通过对替换算法逻辑的设计,当决定替换哪些数据块时,该数据块总是在次级缓存队列中找到,这是双队列替换算法设计自然的结果,它总是将命中频率最低的数据块驱逐到次级队列中,从而保证了缓存替换的稳定性,使缓存替换过程简洁高效。
附图说明
图1是本发明方法的流程示意图。
图2是本发明涉及的长短期记忆网络结构图。
图3是双缓存队列作用细节示意图。
图4是求解缓存替换最优解的示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
如图1所示,一种基于长短期记忆网络的数据库内容缓存替换方法,包括以下步骤:
步骤1:构建数据集。
步骤1.1:收集历史数据请求指令序列。
处理器与数据库数据交流时产生大量的数据请求指令序列,用于驱动缓存管理器依次序产生缓存替换,称为历史数据请求指令序列,反映数据的使用情况、频率、使用习惯等。可以从操作系统日志中来获取历史数据请求指令序列Q。
步骤1.2:数据预处理。
使用长度为L的滑动窗口在历史数据请求指令序列上Q上移动,每次移动步长为1,得到滑动窗口子序列的集合,该集合内元素为原始数据请求指令序列的子序列。该集合内子序列的数量个数为Q-L+1。
记L中所有数据访问请求对应的数据块组成的集合为,对于/>,若则/>。编码后的数据访问请求子序列记作/>。
对有数据请求指令子序列组成的集合进行数据筛选、增强操作,其中,对该集合中的元素计算余弦相似度,具体如下:
(1)
当相似度的绝对值大于0.8,则认为两个序列高度相似,剔除其中一个序列。
步骤1.3:划分数据集。
对于每一个数据访问请求子序列,选取最后一个元素为,作为长短期记忆网络训练的目标,前L-1个为X,作为长短期记忆网络的输入。
然后,将按照9:1的比例划分为训练集与工作集,训练集用于训练长短期记忆网络,工作集用于验证长短期记忆网络的训练效果。
步骤2:对长短期记忆网络进行训练。
长短期记忆网络的结构图如图2所示,由L-1个相同的细胞单元组成,每个细胞单元都能够接收一个输入变量,整个长短期记忆网络的输入为数据访问请求子序列的前L-1个变量/>。选取长短期记忆网络最后一个细胞单元的输出作为预测值Y,即根据当前缓存队列中的数据块,预测出下一个时刻到来的数据访问请求。
长短期记忆网络细胞状态更新如下:
(2)
其中,为当前细胞状态,/>为上一时刻细胞状态,/>为遗忘门输出,/>为记忆门输出,/>为细胞状态的更新量。
记忆门、遗忘门/>以及细胞状态更新量/>的计算公式如下:
(3)
(4)
(5)
其中,表示Sigmod激活函数,/>,将函数值限制在(0,1)之间;/>表示/>激活函数,/>,将函数值限制在(-1,1)之间;/>表示自然底数;与/>表示记忆门的权重与偏置;/>与/>表示计算短期记忆所需的权重与偏置;/>与/>为遗忘门的权重与偏置;/>表示输入变量;/>由上一时刻的/>与当前时刻的细胞状态/>计算而来。计算式如下:
(6)
其中,和/>为输出门的权重与偏置。
步骤3:利用训练好的长短期记忆网络预测缓存替换最优解,辅助进行缓存替换。
步骤3.1:主级缓存队列更新。
如图3所示,缓存队列分为主级缓存队列与次级缓存队列,主级缓存队列具有较高的优先级。主级缓存队列的更新包括两种情况:
第一种情况:收到来自数据库的新数据块,此种情况是缓存未命中导致,或者来自操作系统的强制命令。无论怎样,该新添加数据块都将加入到主级缓存队列的队首,主级缓存队列最末尾的数据块变为淘汰数据块,进入次级缓存队列的队首。
第二种情况:当主级缓存队列发生缓存命中现象,被命中的数据块被认为是频繁使用的,它将被提前至主级缓存队列的队首,使其更不容易被淘汰。主级缓存队列的此种缓存更新方式,保证了本发明的缓存替换方法的基础性能不低于启发式的缓存替换方法。
步骤3.2:求解次级缓存队列缓存替换最优解。
任何时候,次级缓存队列中都存在一个缓存替换的最优解,即将此数据块驱逐出缓存队列后,缓存队列并不会由于缺少此数据块而使得缓存命中率下降。求解此缓存替换最优解的假设是,所有在历史上产生过缓存命中的数据块在未来也更容易产生缓存命中,所有从未产生过缓存命中的数据块在未来也不容易产生缓存命中。即缓存队列中的所有的数据块都蕴藏着一个属性,命中率高的数据块被认为是具有更高质量的,此类数据块更加受到缓存替换方法青睐;相反,从未产生过缓存命中的数据块被认为是低质量的,占有了缓存队列中有限的资源,应当被缓存替换方法驱逐。
具体地,求解缓存队列中缓存替换最优解的步骤如下:
第1步:计算缓存队列中数据块的使用间隔和存活间隔。
计算使用间隔和存活间隔是求解缓存数据块驱逐最优解的前提。存活间隔定义为数据块从进入缓存队列到被驱逐的时间间隔,使用间隔定义为数据块被反复命中的间隔。
第2步:创建占有量向量V。
建立一个占有量向量V来记录所有时刻中已经使用的缓存容量。该向量中的每个元素代表特定时间内重叠的使用间隔的数量。
第3步:更新缓存行对应的占有量向量。
当数据块X被加载时,根据其是否是第一次被加载,对应的占有量向量将被更新。如果是第一次加载,则占有量向量不会发生变化。如果不是第一次加载,则数据块X的上一次加载距此次加载之间必然有其它数据块加载,判断其中被重复加载的数据块的数量是否小于缓存容量。如果小于缓存容量,数据块X将被放入缓存中,对应的存活间隔的位置将增加1。否则,数据块X将被认为是缺失的。
第4步:选出最优解。
统计各缓存行在最优解解析中的命中率,命中率最低的缓存行即为替换最优解。
例如,如图4所示,当缓存队列中的数据块分布为Q={A,B,B,C,D,E,A,F,D,E,F,C}时,求解缓存替换最优解的过程如下(缓存容量为2):
T=0,数据块A第一次加载,V[0]=0;
T=1,数据块B第一次加载,V[1]=0。
T=2,数据块B再次被访问,V[1]增加为1。
T=3,数据块C第一次加载,V[3]=0。
T=4,数据块D第一次加载,V[4]=0。
T=5,数据块E第一次加载,V[5]=0。
T=6,数据块A再次被访问,其存活间隔中重叠的使用间隔数量为1(V[1]=1,这是由于T=2时数据块B访问引起的),小于缓存的容量,V[0-5]增加为1。
T=7,数据块F第一次加载,V[7]=0。
T=8,数据块D再次被访问,其存活间隔中重叠的使用间隔数量为1(V[4-5]=1,这是由于T=6时数据块A访问引起的),小于缓存的容量,V[4-7]增加为1。
T=9,数据块 E再次被访问,其存活间隔中重叠的使用间隔数量为2(V[5]=2。这是由于T=6时数据块A和T=8时数据块D访问引起的,V[6-7]=1,这是由于T=8时数据块D访问引起的),等于缓存的容量,V[5]为2,E缺失。
T=10,数据块F再次被访问,其存活间隔中重叠的使用间隔数量为1(V[7]=1,这是由于T=8时数据块D访问引起的),小于缓存的容量,V[7-9]增加为1。
T=11,数据块E再次被访问,其存活间隔中重叠的使用间隔数量为2(V[3]=1,这是由于T=6时数据块A访问引起的,V[4-5]=2,这是由于T=6时数据块A和T=8时数据块D访问引起的,V[6]=1,这是由于T=8时数据块D访问引起的,V[7]=2,这是由于T=8时数据块D、T=10时数据块F访问引起的,V[8-9]=1,这是由于T=10时数据块F访问引起的),等于缓存的容量,E缓存缺失。
由此可得,数据块C、E命中率最低,为缓存替换最优解。
步骤3.3:次级缓存队列更新。
如图3所示,以下两种情况,次级缓存队列发生缓存更新。
情况1:次级缓存队列接收来自主级缓存队列的淘汰数据。步骤3.1中主级缓存队列产生的淘汰数据块并不会立即舍弃,它仍被视作具有较高价值的。该淘汰数据块进入次级缓存队列的队首,而次级缓存队列被淘汰的数据块为步骤3.2求解的缓存替换最优解。
情况2:当操作系统发出主动更新缓存队列的命令后,训练好的长短期记忆网络根据用户产生的历史数据访问请求序列,按照步骤1中的顺序,将其处理为可以输入长短期记忆网络的形式。长短期记忆网络根据此输入,输出下一时刻即将发生的数据请求预测值。将该预测值加入次级缓存队列,加入的位置为步骤3.2求解的缓存替换最优解的位置。次级缓存队列完成数据更新。
Claims (4)
1.一种基于长短期记忆网络的数据库内容缓存替换方法,其特征在于,包括以下步骤:
步骤1:构建用于训练长短期记忆网络的数据集;
首先从用户处采集真实的数据访问请求序列Q;
然后使用一个长度为L的滑动窗口在该序列上移动,步长为1,得到数据访问请求子序列;
其中,L为计算机缓存空间所能容纳数据块平均数量的一半;得到子序列的个数为Q-L+1,该Q-L+1个子序列构成训练长短期记忆网络的数据集;
步骤2:对长短期记忆网络进行训练;
首先对数据集各个子序列中出现的数据块进行编码;其中,编码按照不重复、不遗漏的原则,使相同数据块拥有相同的标识,以便与其它不同的数据块区分;
然后,将每一个子序列中最后一个数据块分离,作为训练的目标;将前L-1个数据块作为长短期记忆网络的输入;
将每一个子序列中前L-1个数据块对应的编码输入长短期记忆网络,损失函数为长短期记忆网络的输出与真实值的交叉熵损失函数;
各神经模型层根据损失函数回传的损失值进行参数修改,完成训练迭代;
步骤3:利用训练好的长短期记忆网络预测缓存替换最优解,辅助进行缓存替换;
缓存队列分为主级缓存队列与次级缓存队列;
主级缓存队列响应用户的数据访问请求,将新添加的数据块加入队首,并将队伍末尾的数据块淘汰,被淘汰的数据块进入次级缓存队列的队首,次级缓存队列基于缓存替换最优解的计算结果进行数据块的驱逐;
当操作系统发出主动更新缓存队列的命令后,训练好的长短期记忆网络根据用户产生的历史数据访问请求序列输出数据请求预测值,次级缓存队列基于缓存替换最优解的计算结果进行数据块的驱逐,并将所述预测值加入所述缓存替换最优解的位置,完成数据更新;
所述缓存替换最优解的求解,包括如下步骤:
第1步:计算缓存队列中数据块的使用间隔和存活间隔;
存活间隔定义为数据块从进入缓存队列到被驱逐的时间间隔,使用间隔定义为数据块被反复命中的间隔;
第2步:创建占有量向量V;
建立一个占有量向量V来记录所有时刻中已经使用的缓存容量;该向量中的每个元素代表特定时间内重叠的使用间隔的数量;
第3步:更新缓存行对应的占有量向量;
当缓存行X被加载时,根据其是否是第一次被加载,对应的占有量向量将被更新;如果是第一次加载,则向量不会发生变化;如果不是第一次加载,则最优解解析时,将检查占有量向量中的使用间隔数量是否小于缓存容量;如果小于缓存容量,缓存行X将被放入缓存中,对应的存活间隔的位置将被标记增加;否则,缓存行X将被认为是缺失;
第4步:选出最优解;
统计各缓存行在最优解解析中的命中率,命中率最低的缓存行即为替换最优解。
2.如权利要求1所述的一种基于长短期记忆网络的数据库内容缓存替换方法,其特征在于,步骤1中,从操作系统日志中获取历史数据请求指令序列。
3.如权利要求1所述的一种基于长短期记忆网络的数据库内容缓存替换方法,其特征在于,步骤1中,进行数据预处理时,记Q中所有数据访问请求对应的数据块组成的集合为,对于/>,若/>,则/>;对有数据请求指令子序列组成的集合进行数据筛选、增强操作,其中,对该集合中的元素计算余弦相似度,具体如下:
(1)
当相似度的绝对值大于0.8,则认为两个序列高度相似,剔除后一个序列;
对于每一个数据访问请求子序列,选取最后一个元素为Y,作为长短期记忆网络训练的目标函数,前L-1个为X,作为长短期记忆网络的输入;
然后,将所有序列按照9:1的比例划分为训练集与工作集,训练集用于训练长短期记忆网络,工作集用于验证长短期记忆网络预测的准确性。
4.如权利要求1所述的一种基于长短期记忆网络的数据库内容缓存替换方法,其特征在于,步骤2中,长短期记忆网络由L-1个相同的细胞单元组成,每个细胞单元都能够接收一个输入变量X,整个长短期记忆网络的输入为数据访问请求子序列;
选取长短期记忆网络最后一个细胞单元的输出作为预测值Y,即根据当前缓存队列中的数据块,预测出下一个时刻到来的数据访问请求;
长短期记忆网络细胞状态更新如下:
(2)
其中,为当前细胞状态,/>为上一时刻细胞状态,/>为遗忘门输出,/>为记忆门输出,为细胞状态的更新量;
其中,记忆门遗忘门/>以及细胞状态更新量/>的计算公式如下:
(3)
(4)
(5)
其中,表示Sigmod激活函数,/>,将函数值限制在(0,1)之间;tanh表示Tanh激活函数,/>,将函数值限制在(-1,1)之间;/>表示自然底数;/>与/>为遗忘门的权重与偏置,/>与/>表示记忆门的权重与偏置,/>与/>表示计算短期记忆所需的权重与偏置,它们均通过梯度下降进行优化;/>表示输入变量;/>与细胞状态/>相对应;细胞状态/>又称为长期记忆,/>称为短期记忆;
由上一时刻的短期记忆/>与当前时刻的长期记忆/>计算而来,如下:
(6)
其中,和/>为输出门的权重与偏置,通过梯度下降优化参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311444981.4A CN117194502B (zh) | 2023-11-02 | 2023-11-02 | 一种基于长短期记忆网络的数据库内容缓存替换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311444981.4A CN117194502B (zh) | 2023-11-02 | 2023-11-02 | 一种基于长短期记忆网络的数据库内容缓存替换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117194502A CN117194502A (zh) | 2023-12-08 |
CN117194502B true CN117194502B (zh) | 2024-01-23 |
Family
ID=88985341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311444981.4A Active CN117194502B (zh) | 2023-11-02 | 2023-11-02 | 一种基于长短期记忆网络的数据库内容缓存替换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194502B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117453751B (zh) * | 2023-12-22 | 2024-03-26 | 中国海洋大学 | 海洋大数据缓存加载系统、运行方法、装置和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305389A (en) * | 1991-08-30 | 1994-04-19 | Digital Equipment Corporation | Predictive cache system |
CN111143243A (zh) * | 2019-12-19 | 2020-05-12 | 上海交通大学 | 一种基于nvm混合内存的缓存预取方法及系统 |
CN111582455A (zh) * | 2020-05-08 | 2020-08-25 | 西安交通大学 | 一种基于长短期记忆网络的缓存替换系统及方法 |
CN115237825A (zh) * | 2022-05-31 | 2022-10-25 | 杭州祺鲸科技有限公司 | 一种基于机器学习的智能缓存替换方法 |
-
2023
- 2023-11-02 CN CN202311444981.4A patent/CN117194502B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305389A (en) * | 1991-08-30 | 1994-04-19 | Digital Equipment Corporation | Predictive cache system |
CN111143243A (zh) * | 2019-12-19 | 2020-05-12 | 上海交通大学 | 一种基于nvm混合内存的缓存预取方法及系统 |
CN111582455A (zh) * | 2020-05-08 | 2020-08-25 | 西安交通大学 | 一种基于长短期记忆网络的缓存替换系统及方法 |
CN115237825A (zh) * | 2022-05-31 | 2022-10-25 | 杭州祺鲸科技有限公司 | 一种基于机器学习的智能缓存替换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117194502A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021143883A1 (zh) | 神经网络的自适应搜索方法及装置 | |
CN117194502B (zh) | 一种基于长短期记忆网络的数据库内容缓存替换方法 | |
US8402223B2 (en) | Cache eviction using memory entry value | |
CN111143243B (zh) | 一种基于nvm混合内存的缓存预取方法及系统 | |
US20220036216A1 (en) | Predicted Variables in Programming | |
Chen et al. | moDNN: Memory optimal DNN training on GPUs | |
Herodotou | AutoCache: Employing machine learning to automate caching in distributed file systems | |
CN112667528A (zh) | 一种数据预取的方法及相关设备 | |
CN104657286A (zh) | 一种分级存储方法及装置 | |
CN116112563A (zh) | 一种基于流行度预测的双策略自适应缓存替换方法 | |
CN104021226B (zh) | 预取规则的更新方法及装置 | |
CN111858469B (zh) | 一种基于时间滑动窗口的自适应分级存储的方法 | |
CN107370807B (zh) | 基于透明服务平台数据访问的服务端及其缓存优化方法 | |
CN116107754A (zh) | 一种面向深度神经网络的内存管理方法及系统 | |
CN116614394A (zh) | 一种基于多目标深度强化学习的服务功能链放置方法 | |
CN117235088B (zh) | 一种存储系统的缓存更新方法、装置、设备、介质及平台 | |
Zhou et al. | An end-to-end automatic cache replacement policy using deep reinforcement learning | |
CN117472167B (zh) | 服务器能耗的调节方法、装置、计算机设备及存储介质 | |
CN117539648A (zh) | 一种电子政务云平台的服务质量管理方法及装置 | |
CN117520956A (zh) | 一种基于强化学习和元学习的两阶段自动化特征工程方法 | |
CN117370058A (zh) | 一种业务处理方法、装置、电子设备及计算机可读介质 | |
CN116931838A (zh) | 一种固态盘缓存管理方法、系统、电子设备及存储介质 | |
CN114995751B (zh) | 一种通用缓存替换方法及系统 | |
CN110297630A (zh) | 一种图形化编程的缓存方法与系统 | |
CN116737607B (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 |