当前位置: 首页 > 专利查询>河南大学专利>正文

一种面向大数据平台的远程缓存替换方法及装置制造方法及图纸

技术编号:36708864 阅读:27 留言:0更新日期:2023-03-01 09:34
本发明专利技术提供一种面向大数据平台的远程缓存替换方法及装置。该方法包括:在数据库服务器根据用户的数据查询请求进行作业时,监控并采集作业信息;作业信息包括数据库服务器对数据查询请求的数据响应时间、每个待查询数据在设定时间段内的被查询次数和每个待查询数据的数据大小;根据作业信息生成每个待查询数据的原始数据权重;设计时间损失函数,时间损失函数用于量化待查询数据的数据权重与保存时间之间的变化关系;基于时间损失函数,对原始数据权重进行调整得到待查询数据的最终数据权重,并根据最终数据权重生成缓存候选列表;当缓存资源不足时,根据缓存候选列表清理掉当前缓存中的低数据权重的数据,并在缓存中存储高数据权重的数据。高数据权重的数据。高数据权重的数据。

【技术实现步骤摘要】
一种面向大数据平台的远程缓存替换方法及装置


[0001]本专利技术涉及互联网
,尤其涉及一种面向大数据平台的远程缓存替换方法及装置。

技术介绍

[0002]随着互联网的深入发展,互联网上的数据呈现出类型多样化,大小海量化的趋势。为了应对新型数据特点带来的挑战,大数据平台架构设计复杂度与日俱增。现代大数据平台系统常常划分为计算层和数据库存储层。计算层负责建立多主机计算节点,将作业拆分为多个任务并行计算。例如Mapreduce,Spark和Flink等热门分布式计算引擎。数据库存储层常常由多种不同类型的数据库作为存储组件,构建异构存储体系。例如文档型数据放入MongoDB数据库,关系型数据放入MySql数据库,大文件类型放入分布式文件系统HDFS,小文件放入HBase数据库。如图1所示,用户通过访问计算层建立工作任务。在用户访问数据时,通过路由网络向数据库发起查询请求。由于数据库请求带来较大的资源开销,当用户多次访问相同的数据时,查询的数据结果将被存储到应用缓存层,以便后续访问时直接读取。应用缓存层是一块由内存构建的存储区域,常见的缓存架构有本地缓存和远程缓存,本地缓存将数据存储在本地节点服务器,能够极快的响应数据查询请求。但是,本地缓存在不同主机之间无法共享缓存数据,存储资源有限且不具有横向扩展能力。远程缓存将数据存储在缓存服务器上,数据访问通过网络远程访问缓存数据结果,有效扩展缓存容量且实现数据共享能力。Redis、Apach Ignite、Ehcache等分布式缓存解决方案提供了一整套高可用远程访问接口,被许多应用程序当做远程缓存服务组件。然而,这些分布式缓存解决方案缺少面向大数据平台的远程缓存替换策略。
[0003]实践证明,缓存替换优化策略是降低作业执行时间的有效路径。专利技术人从缓存数据权重生成、缓存替换算法方面深入调研,总结得到目前面向大数据平台的远程缓存替换策略研究主要面临以下挑战:
[0004]第一,缓存数据淘汰权重通常以用户访问数据的频率为度量标准,优先将频繁访问的数据保留内存里。然而其他代价,例如查询响应时间、数据大小不同程度地影响着缓存命中率。在大数据场景下,缓存数据出现新的特点,包括中间计算结果数据量大,查询响应时间长,占用缓存空间大。因此,查询响应时间和占用缓存空间成为衡量缓存权重不可缺少的影响因素。
[0005]第二,现代大数据平台出现比以往更为明显的热点集中效应。在一段时间内,近期热点数据的缓存命中率处理高位状态,且随着时间流逝,旧的数据逐渐成为死亡状态。缓存数据的时间损耗特点被提出,需要建立缓存数据时间损耗函数描述权重变化。
[0006]第三,缓存替换算法在缓存空间不足时启动,它清理旧的缓存数据,装入新的缓存数据,提升缓存空间利用率。目前,缓存替换算法研究已经有大量成果,但是现有缓存替换算法权重计算方法很难契合大数据平台的场景,解决大数据平台的缓存替换算法需要采用全新的权重计算方法。

技术实现思路

[0007]在大数据场景下,针对大数据平台更为明显的热点集中效应,为了能够降低远程缓存的查询响应时间和/或在一定程度上有效减少缓存占用空间,本专利技术提供一种面向大数据平台的远程缓存替换方法及装置。
[0008]一方面,本专利技术提供一种面向大数据平台的远程缓存替换方法,包括:
[0009]步骤1:在数据库服务器根据用户的数据查询请求进行作业时,监控并采集作业信息;所述作业信息包括数据库服务器对数据查询请求的数据响应时间、每个待查询数据在设定时间段内的被查询次数和每个待查询数据的数据大小;
[0010]步骤2:根据所述作业信息生成每个待查询数据的原始数据权重;
[0011]步骤3:设计时间损失函数,所述时间损失函数用于量化待查询数据的数据权重与保存时间之间的变化关系;
[0012]步骤4:基于所述时间损失函数,对所述原始数据权重进行调整得到待查询数据的最终数据权重,并根据所述最终数据权重生成缓存候选列表;
[0013]步骤5:当缓存资源不足时,根据所述缓存候选列表清理掉当前缓存中的低数据权重的数据,并在缓存中存储高数据权重的数据。
[0014]进一步地,在步骤1之前还包括:
[0015]根据用户的输入信息生成并向数据库服务器发送数据查询请求。
[0016]进一步地,步骤1中,具体包括:
[0017]采集所有数据库服务器对所述数据查询请求的数据响应时间,将其中最大的数据响应时间作为最终的数据响应时间,记作T
Query

[0018]T
Query
=Max(T
SubReq 1
,T
SubReq 2
,...,T
SubReqk
)
ꢀꢀ
(1)
[0019]其中,T
SubReq 1
,T
SubReq 2
,...,T
SubReqk
分别表示数据库服务器1,2,

,k对数据查询请求的数据响应时间。
[0020]进一步地,步骤2中,根据所述作业信息生成每个待查询数据的原始数据权重,具体包括:
[0021]按照公式(2)计算用户访问待查询数据的总时间代价T
cost

[0022]T
cost
=NumQ
×
T
Query
ꢀꢀ
(2)
[0023]其中,NumQ表示待查询数据在设定时间段内的被查询次数;
[0024]按照公式(3)计算原始数据权重weight_ori:
[0025][0026]其中,size表示数据大小。
[0027]进一步地,步骤4具体包括:基于所述时间损失函数T
loss
,按照公式(4)对所述原始数据权重进行调整得到待查询数据的数据权重F:
[0028]F=weight_ori
×
T
loss
ꢀꢀ
(4)。
[0029]其中,weight_ori为原始数据权重。
[0030]进一步地,所述时间损失函数如公式(5)所示:
[0031][0032]其中,y表示控制时间损失影响的调节系数,t
start
表示待查询数据保存在缓存中的
时间,t
last
表示最后一次命中缓存的时间,T
recent
表示当前的作业运行时长。
[0033]进一步地,步骤5具体包括:
[0034]步骤5.1:从当前缓存中删除数据权重最小的数据,并更新得到当前可用缓存资源;
[0035]步骤5.2:在不超过当前可用缓存资源的条件下,将缓存候选列表中数据权重最大的数据存储至缓存中;
[0036]步骤5.3:重复步骤5.1至步骤5.2,直至缓存候选列表为空。
[0037]另一方面,本专利技术提供一种面向大数据平台的远程缓存替换本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向大数据平台的远程缓存替换方法,其特征在于,包括:步骤1:在数据库服务器根据用户的数据查询请求进行作业时,监控并采集作业信息;所述作业信息包括数据库服务器对数据查询请求的数据响应时间、每个待查询数据在设定时间段内的被查询次数和每个待查询数据的数据大小;步骤2:根据所述作业信息生成每个待查询数据的原始数据权重;步骤3:设计时间损失函数,所述时间损失函数用于量化待查询数据的数据权重与保存时间之间的变化关系;步骤4:基于所述时间损失函数,对所述原始数据权重进行调整得到待查询数据的最终数据权重,并根据所述最终数据权重生成缓存候选列表;步骤5:当缓存资源不足时,根据所述缓存候选列表清理掉当前缓存中的低数据权重的数据,并在缓存中存储高数据权重的数据。2.根据权利要求1所述的一种面向大数据平台的远程缓存替换方法,其特征在于,在步骤1之前还包括:根据用户的输入信息生成并向数据库服务器发送数据查询请求。3.根据权利要求1所述的一种面向大数据平台的远程缓存替换方法,其特征在于,步骤1中,具体包括:采集所有数据库服务器对所述数据查询请求的数据响应时间,将其中最大的数据响应时间作为最终的数据响应时间,记作T
Query
:T
Query
=Max(T
SubReq 1
,T
SubReq 2
,...,T
SubReqk
)
ꢀꢀꢀꢀ
(1)其中,T
SubReq 1
,T
SubReq 2
,...,T
SubReqk
分别表示数据库服务器1,2,

,k对数据查询请求的数据响应时间。4.根据权利要求1所述的一种面向大数据平台的远程缓存替换方法,其特征在于,步骤2中,根据所述作业信息生成每个待查询数据的原始数据权重,具体包括:按照公式(2)计算用户访问待查询数据的总时间代价T
cost
:T
cost
=NumQ
×
T
Query
ꢀꢀꢀꢀ
(2)其中,NumQ表示待查询数据在设定时间段内的被查询次数;按照公式(3)计...

【专利技术属性】
技术研发人员:于俊洋宋一鑫潘顺杰李绍华赵子明王锦江李勃翰
申请(专利权)人:河南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1