CN109144895B - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN109144895B CN109144895B CN201710453734.9A CN201710453734A CN109144895B CN 109144895 B CN109144895 B CN 109144895B CN 201710453734 A CN201710453734 A CN 201710453734A CN 109144895 B CN109144895 B CN 109144895B
- Authority
- CN
- China
- Prior art keywords
- heat
- time slice
- score
- data
- storage device
- 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 20
- 238000013500 data storage Methods 0.000 title claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 8
- 239000007787 solid Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010063659 Aversion Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种数据存储方法及装置,涉及计算机及通讯技术领域,其方法包括:统计当前时间片内存储数据的被访问次数;根据所述被访问次数计算所述存储数据在当前时间片的热度评分,并根据所述热度评分确定所述存储数据在当前时间片的热度级别;根据所述热度级别将所述存储数据存储于对应的存储器件。
Description
技术领域
本发明涉及计算机及通讯技术领域,特别涉及一种数据存储方法及装置。
背景技术
近年来,以闪存为代表的新型存储器件迎来了飞速发展,但是仍然无法撼动已经存在几十年的存储金字塔结构。究其根本原因,高速的存储器件(如闪存、内存)虽然性能高,但价格贵、容量小、寿命短;而低速的存储器件(如磁盘、磁带)虽然容量大、价格低、寿命长,但性能低下,如图1所示。存储金字塔结构正是解决高低速存储器件在性能、容量、寿命、价格等因素上巨大鸿沟的最佳的、折衷的、常规的手段。
在实际的应用业务中,数据(包括但不限于页Page、块Block、文件File、对象Object,在本发明中统称数据)访问热度符合帕累托定律(也叫二八定律),即少数的数据被频繁访问(热数据),因此将热数据存放在高速存储器件中,获得较高的性能;多数的数据被不频繁访问(冷数据),因此将冷数据存放在低速存储器件中,获得较低的成本;当产生新的热数据时,需要将高速存储器件中的冷数据换出到低速存储器件中,从而可以将新的热数据换入到高速存储器件中,这个过程即为缓存替换。不难看出,缓存替换是否合理的关键在于——对热度的判断是否准确。
在上个世纪,典型的存储金字塔结构为:内存作为缓存,磁盘作为存储池,缓存替换算法主要有:FIFO(First Input First Output,先入先出)、LFU(Least FrequentlyUsed最少使用频率)、LRU(Least Recently Used,最近最久未使用)。如图2所示,其中,FIFO算法淘汰最先被访问的数据,仅考虑时间因素和是否被访问,未考虑访问次数。其中,LFU算法淘汰访问次数最少的数据,但未考虑访问时间的远近;其中,LRU算法淘汰最久没有被访问的数据,只记录访问但不区分访问次数。
以上缓存替换存在的主要问题包括:(1)热度判断的主体局限于进入缓存的数据,以上缓存替换算法不仅缺乏对被换出数据的长期跟踪,而且缺乏对全体数据的热度判断,被换出数据的再次被换入时其热度等同于首次进入缓存的数据,但其实热度是不同的。(2)热度判断准确率低下,以上缓存替换算法没有同时考虑访问时间和历史访问频率,导致一些只是近期没有被访问到,但实际上访问频率很高的数据替换出去,热度判断的合理性存在较大提升空间。(3)未能充分发挥硬件性能,受限于当时的CPU计算能力和内存容量,以上缓存替换算法十分节约计算和内存,以链表作为最主要的缓存管理方法。也正是因为问题(3),使得问题(1)和问题(2)更加难以得到解决;也是因为问题(1),使得问题(2)更加难以得到解决。
进入21世纪后,计算机产生了巨大的变化:(1)计算机由单机向分布式集群发展,存储金字塔结构更加复杂(典型的存储金字塔结构为:内存作为一级缓存,闪存作为二级缓存,本地磁盘作为一级存储池,云存储作为二级存储池),涉及到多个存储层级之间的冷热数据的判断与迁移,需要对全体数据进行热度统计与计算。(2)对热度判断的准确性提出了更高的期望,一旦出现缓存命中率低则产生大量的跨网络读写,时延较大。(3)硬件水平迅速发展。CPU(Central Pocessing Unit,中央处理器)、内存等电子器件遵循摩尔定律——性能每隔18个月提高一倍,价格下降一半。以CPU为例,从1980年至2010年,CPU的有效周期时间从1000纳秒降为0.1纳秒,降低了10000倍。硬件水平(计算和内存)不再是制约计算机系统设计的绊脚石。
然而,产生于上世纪的经典缓存替换算法沿用至今,虽然国内外诸多计算机学家针对FIFO、LRU、LFU做了大量的改进,提出了诸如LRV、Hybrid、Lowest-Latency-First、Pitkow、Recker、Hyper-G、Chunkstash、I-CASH等缓存算法,但受制于经典缓存替换算法的惯性思维,这些缓存替换算法仍旧无法全面地考虑全体数据的热度情况;仍旧难以提升热度判断的准确率,难以满足新时代的新期望;仍旧在计算和内存上畏手畏脚,仍旧停留在以链表作为主要的缓存管理方法。
发明内容
根据本发明实施例提供的方案解决的技术问题是不能准确有效得对数据热度进行判断。
根据本发明实施例提供的一种数据存储方法,包括:
统计当前时间片内存储数据的被访问次数;
根据所述被访问次数计算所述存储数据在当前时间片的热度评分,并根据所述热度评分确定所述存储数据在当前时间片的热度级别;
根据所述热度级别将所述存储数据存储于对应的存储器件。
优选地,所述根据所述被访问次数计算所述存储数据在当前时间片的热度评分包括:
根据所述存储数据在上个时间片的热度评分以及在当前时间片内的被访问次数,计算所述存储数据在当前时间片的热度评分。
优选地,根据所述热度评分确定所述存储数据在当前时间片的热度级别包括:
根据热度阈值表中热度评分和热度级别的对应关系,确定所述存储数据在当前时间片的热度级别。
优选地,根据所述热度级别将所述存储数据存储于对应的存储器件包括:
根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件。
优选地,所述根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件包括:
根据所述存储数据在当前时间片的热度级别从所述热度阈值表中查找对应的存储器件;
对所述存储器件的当前存储容量进行检测;
在所述当前存储容量达到存储容量阈值的情况下,通过调整所述热度阈值表中热度评分和热度级别的对应关系,重新确定所述存储数据在当前时间片所对应的存储器件,并将所述存储数据存储于所确定的存储器件。
根据本发明实施例提供的一种数据存储装置,包括:
统计模块,用于统计当前时间片内存储数据的被访问次数;
计算及确定模块,用于根据所述被访问次数计算所述存储数据在当前时间片的热度评分,并根据所述热度评分确定所述存储数据在当前时间片的热度级别;
存储模块,用于根据所述热度级别将所述存储数据存储于对应的存储器件。
优选地,所述计算及确定模块包括计算单元,用于根据每个存储数据在其上个时间片结束时计算的热度评分以及在当前时间片内统计每个存储数据被访问次数,计算当前时间片结束时所述每个存储数据的热度评分。
优选地,所述计算及确定模块包括确定单元,用于根据热度阈值表中热度评分和热度级别对应关系,确定所述存储数据在当前时间片的热度级别。
优选地,所述存储模块具体用于根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件。
优选地,所述存储模块包括:
查找单元,用于根据所述存储数据在当前时间片的热度级别从所述热度阈值表中查找对应的存储器件;
检测单元,用于对所述存储器件的当前存储容量进行检测;
存储单元,用于在所述当前存储容量达到存储容量阈值的情况下,通过调整所述热度阈值表中热度评分和热度级别的对应关系,重新确定所述存储数据在当前时间片所对应的存储器件,并将所述存储数据存储于所确定的存储器件。
根据本发明实施例提供的方案,取得了热度判断的主体全面的进步,达到了热度判断准确率高效果,充分发挥了硬件性能。
附图说明
图1是现有技术提供的旧式存储金字塔结构示意图;
图2是现有技术提供的经典缓存替换方法的原理图;
图3是本发明实施例提供的一种数据存储方法流程图;
图4是本发明实施例提供的一种数据存储装置示意图;
图5是本发明实施例提供的存储金字塔结构示意图;
图6是本发明实施例提供的与经典缓存替换方法LRU的对比示意图;
图7是本发明实施例提供的多级热度缓存替换的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图3是本发明实施例提供的一种数据存储方法流程图,如图3所示,包括:
步骤S301:统计当前时间片内存储数据的被访问次数;
步骤S302:根据所述被访问次数计算所述存储数据在当前时间片的热度评分,并根据所述热度评分确定所述存储数据在当前时间片的热度级别;
步骤S303:根据所述热度级别将所述存储数据存储于对应的存储器件。
其中,所述根据所述被访问次数计算所述存储数据在当前时间片的热度评分包括:根据所述存储数据在上个时间片的热度评分以及在当前时间片内的被访问次数,计算所述存储数据在当前时间片的热度评分。
其中,根据所述热度评分确定所述存储数据在当前时间片的热度级别包括:根据热度阈值表中热度评分和热度级别的对应关系,确定所述存储数据在当前时间片的热度级别。
其中,根据所述热度级别将所述存储数据存储于对应的存储器件包括:根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件。
其中,所述根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件包括:根据所述存储数据在当前时间片的热度级别从所述热度阈值表中查找对应的存储器件;对所述存储器件的当前存储容量进行检测;在所述当前存储容量达到存储容量阈值的情况下,通过调整所述热度阈值表中热度评分和热度级别的对应关系,重新确定所述存储数据在当前时间片所对应的存储器件,并将所述存储数据存储于所确定的存储器件。
图4是本发明实施例提供的一种数据存储装置示意图,如图4所示,包括:统计模块401,用于统计当前时间片内存储数据的被访问次数;计算及确定模块402,用于根据所述被访问次数计算所述存储数据在当前时间片的热度评分,并根据所述热度评分确定所述存储数据在当前时间片的热度级别;存储模块403,用于根据所述热度级别将所述存储数据存储于对应的存储器件。
其中,所述计算及确定模块402包括计算单元,用于根据每个存储数据在其上个时间片结束时计算的热度评分以及在当前时间片内统计每个存储数据被访问次数,计算当前时间片结束时所述每个存储数据的热度评分。
其中,所述计算及确定模块402包括确定单元,用于根据热度阈值表中热度评分和热度级别对应关系,确定所述存储数据在当前时间片的热度级别。
其中,所述存储模块403具体用于根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件。
其中,所述存储模块403包括:查找单元,用于根据所述存储数据在当前时间片的热度级别从所述热度阈值表中查找对应的存储器件;检测单元,用于对所述存储器件的当前存储容量进行检测;存储单元,用于在所述当前存储容量达到存储容量阈值的情况下,通过调整所述热度阈值表中热度评分和热度级别的对应关系,重新确定所述存储数据在当前时间片所对应的存储器件,并将所述存储数据存储于所确定的存储器件。
图5是本发明实施例提供的存储金字塔结构示意图,如图5所示,包括内存、闪存、磁盘以及云存储。
图6是本发明实施例提供的与经典缓存替换方法LRU的对比示意图,如图6所示,其中细线为本发明实施例的热度曲线,粗线为LRU的热度曲线。可以很明显地看到,现有的经典缓存替换算法在热度计算时仅有0和1两种状态,根本无法科学地、全面地判断数据的真实热度,缺乏精确热度量化的能力。
图7是本发明实施例提供的多级热度缓存替换的流程图,如图7所示,包括:
步骤1:系统初始化:设置时间片阈值、热度阈值表,将热度评分数组Score、访问次数数组Visit、热度级别数组Level均归零。
步骤2:时间片t开始。统计该时间片内所有数据的访问次数,数据a在该时间片t的访次数表示为Visit[a][t]。
步骤3:时间片t结束。计算所有数据的热度评分,数据a在时间片t之后的热度表示为Score[a][t]。
步骤4:根据数据的热度评分和热度阈值表,确定数据的热度级别及对应存储器件。
步骤5:是否出现某热度的存储器件容量达到警戒阈值之上,若出现,则调整热度阈值表;若没有出现,进入步骤6。
步骤6:是否存在下一个时间片t+1,若出现,重新进入步骤2,否则结束。
进一步地,步骤1中的热度分级与存储系统的缓存层数有直接关系,可按照经验值设置;热度阈值与存储系统中各缓存层的容量有直接关系,可按照经验值设置。第1个时间片代表了距离当前最远的时间片,第t个时间片代表了距离当前最近的时间片。
表1热度阈值表
进一步地,步骤3中具体的步骤包括:
步骤3.1:遍历所有数据,求热度。
步骤3.2:数据a在时间片t之后的热度评分计算公式为
Score[a][t]=Score[a][t-1]*k+Visit[a][t]
其中k为热度衰减常数,取值范围为k∈[0,1]。典型值如10-3、10-2、10-1。其中k值越大,历史访问对当前热度评分的影响越显著,反之则越不显著。该值可根据经验设置。
步骤3.3:计算下一个数据的热度评分,进入步骤3.2,直至所有数据的热度被计算完毕。
进一步地,步骤4中具体的步骤包括:
步骤4.1:遍历所有数据的热度。
步骤4.2:将数据a的当前热度Score[a][t]与热度阈值表进行比对,确定数据a所属的热度级别Level[a][t]。
步骤4.3:比较Level[a][t]与Level[a][t-1]是否相同,若相同则无需缓存的置换,若不相同则将数据a由热度级别Level[a][t-1]对应的存储器件迁移到热度级别Level[a][t]对应的存储器件中。
进一步地,步骤5中警戒阈值为可设经验值,典型值为95%,目的在于在容量满之前及时调整阈值,提前迁移数据,避免出现因容量已满而导致新换入数据失败的情况。缓存容量达到警戒值说明热度阈值表设置不当,需对其进行调整。调整热度阈值表不限于手动调整或自动调整。手动调整适用于水平较高的用户,自动调整的方法包括但不限于:将该热度的范围下界调低、或将该热度的范围上界调高。
下面以具体的实施方式对本发明实施例的技术方案作进一步的详细描述:
在该实施用例中,存储系统为CephFS分布式文件系统,数据的表现形式是文件,假设有6个文件,文件名分别为a、b、c、d、e、f。数据分级形式为:非易失性内存(32GB*4)作为1级缓存,PCIe(Peripheral Component Interconnect express,总线接口)固态硬盘(512GB*8)作为2级缓存,SATA(Serial Advanced Technology Attachment,串行高级技术附件)固态硬盘(1TB*16)作为3级缓存,SATA磁盘(4TB*32)作为存储池。初始时所有文件均存储于存储池中,处理步骤如下:
步骤101:设置时间片为10分钟,警戒阈值为95%,热度衰减常数k为0.1,热度阈值表为
热度级别 | 热度范围 | 对应存储器件 |
第1热度 | [100,+∞) | 非易失性内存 |
第2热度 | [20,100) | PCIe固态硬盘 |
第3热度 | [1,20) | SATA固态硬盘 |
第4热度 | [0,1) | SATA磁盘 |
步骤102:第1个时间片开始。开启统计该时间片内所有文件的访问次数。在第1个时间片结束。所有文件的访问次数统计结果为:
文件名 | 在第1时间片的访问次数 |
a | 0 |
b | 117 |
c | 18 |
d | 55 |
e | 0 |
f | 210 |
步骤103:计算所有数据的热度评分:
其中,以数据a为例,数据a在第1个时间片的热度评分计算公式为
Score[a][1]=Score[a][1-1]*k+Visit[a][1]
其中k为热度衰减常数,取值为0.1。
文件名 | 在第1时间片后的热度评分 |
a | 0 |
b | 117 |
c | 18 |
d | 55 |
e | 0 |
f | 210 |
步骤104:根据在第1时间片后的热度评分和热度阈值表,得出:
文件名 | 在第1时间片后的对应存储器件 |
a | SATA磁盘 |
b | 非易失性内存 |
c | SATA固态硬盘 |
d | PCIe固态硬盘 |
e | SATA磁盘 |
f | 非易失性内存 |
将文件b、c、d、f从存储池迁移到对应存储器件。
步骤105:第2个时间片。
其中,以数据a为例,数据a在第2个时间片的热度评分计算公式为
Score[a][2]=Score[a][2-1]*k+Visit[a][2]
其中k为热度衰减常数,取值为0.1。
将文件c、d、e、f迁移到对应存储器件。
步骤106:第3个时间片。
其中,以数据a为例,数据a在第3个时间片的热度评分计算公式为
Score[a][3]=Score[a][3-1]*k+Visit[a][3]
其中k为热度衰减常数,取值为0.1。
将文件a、c、e、g、h迁移到对应存储器件。
步骤107:依次类推……
步骤108:在第5526个时间片时,出现非易失性内存容量使用率达到95.1%,超过警戒阈值95%,因此调整热度阈值表
热度级别 | 热度范围 | 对应存储器件 |
第1热度 | [101,+∞) | 非易失性内存 |
第2热度 | [20,101) | PCIe固态硬盘 |
第3热度 | [1,20) | SATA固态硬盘 |
第4热度 | [0,1) | SATA磁盘 |
调整之后,热度为100.3的文件h迁移到对应存储器件。
步骤109:在第52560个时间片时,系统已运行了一年时间,实施重启,本实施用例结束。
根据本发明实施例提供的方案,使得热度判断的主体更加全面,提高了热度判断准确率,且充分发挥了硬件性能。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (8)
1.一种数据存储方法,包括:
统计当前时间片内存储数据的被访问次数;
根据所述被访问次数计算所述存储数据在当前时间片的热度评分,并根据所述热度评分确定所述存储数据在当前时间片的热度级别;
根据所述热度级别将所述存储数据存储于对应的存储器件;
其中,所述根据所述被访问次数计算所述存储数据在当前时间片的热度评分包括:
根据所述存储数据在上个时间片的热度评分以及在当前时间片内的被访问次数,计算所述存储数据在当前时间片的热度评分;
其中,按照公式Score[a][t]=Score[a][t-1]×k+Visit[a][t]计算数据a在时间片t的热度评分;其中,Score[a][t]为数据a在时间片t的热度评分,Score[a][t-1]为数据a在时间片t-1的热度评分,k为热度衰减常数,Visit[a][t]为数据a在时间片t内的被访问次数。
2.根据权利要求1所述的方法,其中,根据所述热度评分确定所述存储数据在当前时间片的热度级别包括:
根据热度阈值表中热度评分和热度级别的对应关系,确定所述存储数据在当前时间片的热度级别。
3.根据权利要求1所述的方法,其中,根据所述热度级别将所述存储数据存储于对应的存储器件包括:
根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件。
4.根据权利要求3所述的方法,其中,所述根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件包括:
根据所述存储数据在当前时间片的热度级别从所述热度阈值表中查找对应的存储器件;
对所述存储器件的当前存储容量进行检测;
在所述当前存储容量达到存储容量阈值的情况下,通过调整所述热度阈值表中热度评分和热度级别的对应关系,重新确定所述存储数据在当前时间片所对应的存储器件,并将所述存储数据存储于所确定的存储器件。
5.一种数据存储装置,包括:
统计模块,用于统计当前时间片内存储数据的被访问次数;
计算及确定模块,用于根据所述被访问次数计算所述存储数据在当前时间片的热度评分,并根据所述热度评分确定所述存储数据在当前时间片的热度级别;
存储模块,用于根据所述热度级别将所述存储数据存储于对应的存储器件;
其中,所述计算及确定模块包括计算单元,用于根据每个存储数据在其上个时间片结束时计算的热度评分以及在当前时间片内统计每个存储数据被访问次数,计算当前时间片结束时所述每个存储数据的热度评分;
其中,所述计算单元具体用于:按照公式Score[a][t]=Score[a][t-1]×k+Visit[a][t]计算数据a在时间片t的热度评分;其中,Score[a][t]为数据a在时间片t的热度评分,Score[a][t-1]为数据a在时间片t-1的热度评分,k为热度衰减常数,Visit[a][t]为数据a在时间片t内的被访问次数。
6.根据权利要求5所述的装置,其中,所述计算及确定模块包括确定单元,用于根据热度阈值表中热度评分和热度级别对应关系,确定所述存储数据在当前时间片的热度级别。
7.根据权利要求6所述的装置,其中,所述存储模块具体用于根据热度阈值表中热度级别与存储器件的对应关系,确定所述存储数据在当前时间片对应的存储器件,并将所述存储数据存储于所确定的存储器件。
8.根据权利要求7所述的装置,其中,所述存储模块包括:
查找单元,用于根据所述存储数据在当前时间片的热度级别从所述热度阈值表中查找对应的存储器件;
检测单元,用于对所述存储器件的当前存储容量进行检测;
存储单元,用于在所述当前存储容量达到存储容量阈值的情况下,通过调整所述热度阈值表中热度评分和热度级别的对应关系,重新确定所述存储数据在当前时间片所对应的存储器件,并将所述存储数据存储于所确定的存储器件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710453734.9A CN109144895B (zh) | 2017-06-15 | 2017-06-15 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710453734.9A CN109144895B (zh) | 2017-06-15 | 2017-06-15 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144895A CN109144895A (zh) | 2019-01-04 |
CN109144895B true CN109144895B (zh) | 2023-11-14 |
Family
ID=64830228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710453734.9A Active CN109144895B (zh) | 2017-06-15 | 2017-06-15 | 一种数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144895B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694849A (zh) * | 2019-03-15 | 2020-09-22 | 上海寒武纪信息科技有限公司 | 存储方法及装置、运算方法及装置 |
CN110162273A (zh) * | 2019-05-28 | 2019-08-23 | 北京计算机技术及应用研究所 | 一种基于分布式存储系统的衰减式分层存储系统及方法 |
CN112948171A (zh) * | 2019-12-11 | 2021-06-11 | 华为技术有限公司 | 数据处理方法、装置、终端设备及计算机可读存储介质 |
CN111614730B (zh) * | 2020-04-28 | 2022-07-19 | 北京金山云网络技术有限公司 | 云存储系统的文件处理方法、装置及电子设备 |
CN113407513B (zh) * | 2020-11-24 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 特征库的调度方法、装置和特征库检索方法、装置 |
CN114840140B (zh) * | 2022-03-28 | 2024-08-20 | 阿里巴巴(中国)有限公司 | 云上数据缓存方法、装置、设备及存储介质 |
CN115878513B (zh) * | 2023-02-21 | 2023-08-15 | 中移动信息技术有限公司 | 数据存储和数据查询方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841931A (zh) * | 2012-08-03 | 2012-12-26 | 中兴通讯股份有限公司 | 分布式文件系统的存储方法及装置 |
CN103106047A (zh) * | 2013-01-29 | 2013-05-15 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象的存储系统及其存储方法 |
CN104424361A (zh) * | 2013-09-04 | 2015-03-18 | 国际商业机器公司 | 自动定义热存储和大工作负载 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9754305B2 (en) * | 2012-09-19 | 2017-09-05 | Dell Products L.P. | Order upsell-options for a configurable product |
-
2017
- 2017-06-15 CN CN201710453734.9A patent/CN109144895B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841931A (zh) * | 2012-08-03 | 2012-12-26 | 中兴通讯股份有限公司 | 分布式文件系统的存储方法及装置 |
CN103106047A (zh) * | 2013-01-29 | 2013-05-15 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象的存储系统及其存储方法 |
CN104424361A (zh) * | 2013-09-04 | 2015-03-18 | 国际商业机器公司 | 自动定义热存储和大工作负载 |
Also Published As
Publication number | Publication date |
---|---|
CN109144895A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144895B (zh) | 一种数据存储方法及装置 | |
CN105653591B (zh) | 一种工业实时数据分级存储及迁移方法 | |
US9189410B2 (en) | Hypervisor-based flash cache space management in a multi-VM environment | |
CN108763110B (zh) | 一种数据缓存方法及装置 | |
CN104115134B (zh) | 用于管理对复合数据存储设备进行访问的方法和系统 | |
Lv et al. | Operation-aware buffer management in flash-based systems | |
Cao et al. | Sliding {Look-Back} Window Assisted Data Chunk Rewriting for Improving Deduplication Restore Performance | |
US9606937B1 (en) | Cache insertion based on threshold access frequency | |
CN107870732B (zh) | 从固态存储设备冲刷页面的方法和设备 | |
US9965389B2 (en) | Adaptive storage management for optimizing multi-tier data storage system | |
CN113515471A (zh) | 用于管理存储系统的方法和装置 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
EP2765522B1 (en) | Method and device for data pre-heating | |
US9235517B2 (en) | Implementing dynamic cache enabling and disabling based upon workload | |
CN104156323B (zh) | 一种高速缓冲存储器的数据块长度自适应读取方法及装置 | |
CN104699424A (zh) | 一种基于页面热度的异构内存管理方法 | |
JP2017204068A (ja) | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム | |
CN110413545B (zh) | 存储管理方法、电子设备和计算机程序产品 | |
CN112199304B (zh) | 数据预取方法及装置 | |
CN105493024A (zh) | 一种数据阈值预测方法与相关装置 | |
KR101686346B1 (ko) | 하이브리드 ssd 기반 하둡 분산파일 시스템의 콜드 데이터 축출방법 | |
CN111124295B (zh) | 一种基于三元影响因子的农业数据存储处理系统及方法 | |
CN111859038A (zh) | 一种分布式存储系统数据热度统计方法、装置 | |
CN105359116B (zh) | 缓存器、共享缓存管理方法及控制器 | |
Fevgas et al. | A spatial index for hybrid storage |
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 |