【技术实现步骤摘要】
一种存储系统的缓存方法、装置及设备
[0001]本专利技术涉及数据缓存领域,特别是涉及一种存储系统的缓存方法
、
装置及设备
。
技术介绍
[0002]基于
LSM
‑
tree
的存储系统目前使用的都是传统的缓存算法,例如
LevelDB
和
RocksDB
都是使用的
LRU
算法,而传统的缓存方法
(
如
LRU、LFU、FIFO
等
)
存在一些缺点和挑战
。
传统缓存方法难以准确地捕捉到
LSM
‑
tree
中数据的访问模式和热点数据
。
由于
LSM
‑
tree
的多层存储结构以及写入和合并操作的影响,数据的访问频率和热度在不同时间点可能会发生剧烈变化
。
而传统缓存方法主要基于最近最少使用的原则,无法灵活适应这种变化,可能导致缓存不一致,影响查询性能
。
传统缓存方法需要事先指定缓存的大小
。
然而,
LSM
‑
tree
中各个层级的数据大小可能会动态变化,而且不同层级的数据的访问频率和性质不同
。
因此,选择合适的缓存大小变得困难,设置过小可能导致缓存不命中,查询性能下降,设置过大则可能导致内存浪费和缓存不一致
。
缓存方法通常依赖于热点数据 ...
【技术保护点】
【技术特征摘要】
1.
一种存储系统的缓存方法,其特征在于,包括:构建缓存系统;所述缓存系统包括双层的缓存架构以及缓存大小调节器;所述双层的缓存架构包括块缓存和组缓存;所述块缓存使用哈希表作为数据结构,以数据块唯一标识作为键,以数据块本身作为值存储在哈希表中;所述组缓存采用一个哈希表和一个双向链表作为数据结构;哈希表用于快速查找数据,链表用于存储和访问数据;所述缓存大小调节器用于根据采集器采集的内存使用率和系统
io
负载动态调整块缓存和组缓存的缓存空间;利用
XGBOOST
算法构建预取器;所述预取器以用户访问的数据
、
时间以及系统负载为输入,以及预测的要访问的数据键的范围为输出;用户通过存储引擎暴露的接口与存储引擎进行交互;当读流程先到缓存系统中查找数据时,缓存系统利用采集器和缓存大小调节器动态调整块缓存和组缓存的缓存空间;同时预取器根据预测的要访问的数据键的范围从存储引擎中抓取数据,并放入缓存系统;若从缓存系统中命中缓存中的数据,则直接从缓存中返回数据;若从缓存系统中没命中缓存,则直接从存储引擎中获取数据
。2.
一种存储系统的缓存装置,其特征在于,包括:缓存系统构建单元,用于构建缓存系统;所述缓存系统包括双层的缓存架构以及缓存大小调节器;所述双层的缓存架构包括块缓存和组缓存;所述块缓存使用哈希表作为数据结构,以数据块唯一标识作为键,以数据块本身作为值存储在哈希表中;所述组缓存采用一个哈希表和一个双向链表作为数据结构;哈希表用于快速查找数据,链表用于存储和访问数据;所述缓存大小调节器用于根据采集器采集的内存使用率和系统
io
负载动态调整块缓存和组缓存的缓存空间;预取器构建单元,用于利用
XGBOOST
算法构建预取器;所述预取器以用户访问的数据
、
时间以及系统负载为输入,以及预测的要访问的数据键的范围为输出;交互单元,用于用户通过存储引擎暴露的接口与存储引擎进行交互;读取单元,用于当读流程先到缓存系统中查找数据时,缓存系统利用采集器和缓存大小调节器动态调整块缓存和组缓存的缓存空间;同时预取器根据预测的要访问的数据键的范围从存储引擎中抓取数据,并放入缓存系统;返回数据单元,用于若从缓存...
【专利技术属性】
技术研发人员:汪磊,吕黎星,蒋烁淼,程学林,
申请(专利权)人:上海观测未来信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。