CN104915145B - 一种降低LSM Tree写放大的方法和装置 - Google Patents
一种降低LSM Tree写放大的方法和装置 Download PDFInfo
- Publication number
- CN104915145B CN104915145B CN201410086913.XA CN201410086913A CN104915145B CN 104915145 B CN104915145 B CN 104915145B CN 201410086913 A CN201410086913 A CN 201410086913A CN 104915145 B CN104915145 B CN 104915145B
- Authority
- CN
- China
- Prior art keywords
- key
- data
- counter
- write
- thermometer
- 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
Landscapes
- Recording Measured Values (AREA)
Abstract
本发明公开了一种降低LSM Tree写放大的方法和装置,涉及数据处理领域,用于解决由于受到内存大小限制,而使得Multi BF的数量有限,无法将热度评分的阈值设置为更高的数值,导致无法筛选更高更新频度的数据,影响了存储设备的使用性能的问题。本发明提供的方法具体包括:通过在有数据写入时,查询所写入的数据的key是否存在于热度表中,当查询结果为否时,将该数据直接写进持久化设备,否则,则将该key的counter加1,并判断该key的counter是否达到热度阈值,当判断结果为是时,将该key对应的数据写入PRAM设备中进行原地更新,否则将该数据直接写入持久化设备中。本发明实施例主要用于数据处理过程中。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种降低LSM Tree写放大的方法和装置。
背景技术
LSM Tree(Log-structured merge-tree,日志结构合并树)是一种广泛应用于数据存储领域的多层树形数据结构。其为解决随机I/O对持久化存储性能影响的问题,设计了相应的方法,具体为将最上层的数据存放于内存中,其他层次的数据存放于HDD(HardDisk,机械硬盘)/SSD(Solid State Disk,固态硬盘)等持久化设备中,并采用数据异地更新的方式写入数据,由系统的后台进程不断地将数据从低层到高层merge(合并),将key相同的K-V结构中的较旧的版本删除,保留排序的新版本,这样,随着merge的进行,数据就由内存转向持久化设备,再从持久化设备的低层向高层移动,避免了随机I/O直接对持久化设备的影响。
但是,仅采用数据异地更新的方式写入数据,就需要频繁地删除本地数据,再存储新的数据,使得在覆盖写较多的场景下,多次写入数据时主控写入的数据量远大于实际写入的数据量,引起严重的写放大,导致存储设备的存储性能严重下降,更缩短了其使用寿命。
针对这一问题,现有技术提供了的方法为,通过建立Multi BF(Multi BloomFilter,多组布隆过滤器),并将各BF设置为固定时间间隔轮流清0,而各BF按照清0时与当前时刻的时间间隔的不同,拥有不同的权重,当数据接口中有数据写入时,使用各BF进行筛选,将第一个被写入数据的key对应的内部标记位为0的BF置1,并找出该key对应的标记为1的BF,将找出的各BF的权重加权得到热度评分,若该热度评分达到预设的阈值,则该key对应的数据被认为是更新频度高的热数据,这样就能够对筛选出的热数据做相应的处理。
发明人在执行上述方法流程时,发现现有技术方案至少存在如下技术问题:
由于受到内存大小限制,所能建立的Multi BF的数量有限,而在有数据写入时,若所有Multi BF中该数据的key对应的标记位都被标记为1时,热度评分可能达到最大值,因而无法再将热度评分的阈值设置为更高的数值,进而无法筛选更高更新频度的数据,影响了存储设备的使用性能。
发明内容
本发明的实施例提供一种降低LSM Tree写放大的方法和装置,用于解决由于受到内存大小限制,而使得Multi BF的数量有限,无法将热度评分的阈值设置为更高的数值,导致无法筛选更高更新频度的数据,影响了存储设备的使用性能的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供了一种降低LSM Tree写放大的方法,包括:
当有数据写入时,查询所述数据的key是否在热度表中;所述key是指key-value存储模式中的数据索引,所述热度表用于记录多个key对应的数据的更新频度;
若所述数据的key不在所述热度表中,则将所述数据直接写入到持久化设备中;
若所述数据的key在所述热度表中,则将所述key的counter加1,并判断所述key的counter是否达到热度阈值;所述counter是指key所对应的数据的更新频度,所述热度阈值用于表示所述key对应的数据的更新频度上限;
若所述key的counter达到热度阈值,将所述key对应的数据写入PRAM设备中进行原地更新;所述原地更新是指在数据存储的位置直接进行更新;
若所述key的counter未达到热度阈值,则将所述数据直接写入到持久化设备中。
结合第一方面,在第一方面的第一种可能的实现方式中,在若所述数据的key不在所述热度表中之后,还包括:
建立多组布隆过滤器Multi BF,并为每个BF设定权重;所述BF用于标记一段时间的写入的数据的key,能够定时对内部的标记位进行清零操作,所述权重用于为需要写入持久化设备的数据的key进行热度评分,与所述BF最近一次清0时刻与当前时刻的时间间隔成正相关关系;
根据所述数据的key,计算所述key在BF中对应的标记位;
轮询各BF,查找第一个所述key对应的标记位为0的BF,并将所述标记位置1;
根据每个BF的权重对所述数据的key进行热度评分,若所述数据的key的热度评分达到阈值,则判定所述数据为热数据,并在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值。
结合第一方面的第一种可能实现的方式,在第二种可能实现的方式中,在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值之外,还包括:
将所述counter设置为预设周期自动减1,并在所述counter减至0时,将所述counter对应的key移出热度表;
结合第一方面的第二种可能的实现方式,在第三种可能实现的方式中,在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值之后,还包括:
若所述key的counter减至热度阈值以下,则告知所述PRAM设备所述key的数据已变为冷数据,以使得所述PRAM设备能够累计所述key对应的数据的大小,并当累计的总量达到总量阈值时,触发compact操作,将所述key对应的数据写入持久化设备中。
第二方面,本发明还提供了一种降低LSM Tree写放大的装置,所述装置包括:
查询模块,用于当有数据写入时,查询所述数据的key是否在热度表中;所述key是指key-value存储模式中的数据索引,所述热度表用于记录多个key对应的数据的更新频度;
控制模块,用于在所述数据的key不在所述热度表中时,将所述数据直接写入到持久化设备中;在所述数据的key在所述热度表中时,将所述key的counter加1,并判断所述key的counter是否达到热度阈值;所述counter是指key所对应的数据的更新频度,所述热度阈值用于表示所述key对应的数据的更新频度上限;在所述key的counter达到热度阈值时,将所述key对应的数据写入PRAM设备中进行原地更新;所述原地更新是指在数据存储的位置直接进行更新;在所述key的counter未达到热度阈值时,将所述数据直接写入到持久化设备中。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括计算模块:
控制模块,还用于建立多组布隆过滤器Multi BF,并为每个BF设定权重;所述BF用于标记一段时间的写入的数据的key,能够定时对内部的标记位进行清零操作,所述权重用于为需要写入持久化设备的数据的key进行热度评分,与所述BF最近一次清0时刻与当前时刻的时间间隔成正相关关系;根据每个BF的权重对所述数据的key进行热度评分,在所述数据的key的热度评分达到阈值时,判定所述数据为热数据,并在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值;
计算模块,用于根据所述数据的key,计算所述key在BF中对应的标记位;
查询模块,还用于轮询各BF,查找第一个所述key对应的标记位为0的BF,并将所述标记位置1。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制模块,还用于将所述counter设置为预设周期自动减1,并在所述counter减至0时,将所述counter对应的key移出热度表。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述控制模块,还用于在所述key的counter减至热度阈值以下时,告知所述PRAM设备所述key的数据已变为冷数据,以使得所述PRAM设备能够累计所述key对应的数据的大小,并当累计的总量达到总量阈值时,触发compact操作,将所述key对应的数据写入持久化设备中。
本发明实施例提供的一种降低LSM Tree写放大的方法和装置,通过在有数据写入时,查询所写入的数据的key是否存在于热度表中,当查询结果为否时,将该数据直接写进持久化设备,否则,则将该key的counter加1,并判断该key的counter是否达到热度阈值,当判断结果为是时,将该key对应的数据写入PRAM设备中进行原地更新,否则将该数据直接写入持久化设备中的方法,通过判断数据的key在在热度表中时,该key所累计的counter是否达到阈值来决定是将数据写入持久化设备中,还是写入PRAM设备中进行原定更新,通过在使用Multi BF进行数据筛选之外,还增加了热度表来继续对数据的热度进行统计,并将筛选出的热度达到阈值的数据写入PRAM设备中进行原地更新,使得数据的热度阈值能够在热度表中进行设置,避免了无法对更新频度较高的数据进行筛选的现象,解决了由于受到内存大小限制,而使得Multi BF的数量有限,无法将热度评分的阈值设置为更高的数值,导致无法筛选更高更新频度的数据,影响了存储设备的使用性能的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种降低LSM Tree写放大的方法流程图;
图2为本发明实施例提供的建立热度表的方法流程图;
图3为本发明实施例提供的一种降低LSM Tree写放大的装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种降低LSM Tree写放大的方法,其方法流程如图1所示,具体包括:
101、当有数据写入时,查询所述数据的key是否在热度表中。
其中,所述key是指key-value存储模式中的数据索引,所述热度表用于记录多个key对应的数据的更新频度,所述更新频度也可以称为热度,表示key对应的数据在一段时间内更新次数大,更新的时间间隔短。
102、若所述数据的key不在所述热度表中,则将所述数据直接写入到持久化设备中。
其中,如果数据的key不在热度表中,则认为该数据的更新频度不大,没有达到筛选的要求,因此可以直接存入持久化设备中,按照常规的方式进行存储和更新,其中,持久化设备包括可能包括HDD、SSD等存储设备。
103、若所述数据的key在所述热度表中,则将所述key的counter加1,并判断所述key的counter是否达到热度阈值。
其中,所述counter是指key所对应的数据的更新频度,所述热度阈值用于表示所述key对应的数据的更新频度上限,其中,可以将所述counter设置为预设周期自动减1,并在所述counter减至0时,将所述counter对应的key移出热度表。当key在热度表中时,表明该数据已经被判别为更新频度较高的数据,而counter则记录了该数据在一段时间内的更新次数。
104、若所述key的counter达到热度阈值,将所述key对应的数据写入PRAM设备中进行原地更新。
其中,所述原地更新是指在数据存储的位置直接进行更新。当某给key的counter达到热度阈值后,则说明该key的更新频度超出了可接受的范围之外,那么可以采用将该数据写入PRAM设备中进行缓存,而不是直接写入持久化设备中,这样,当该数据的更新频度很高时,就可以直接在PRAM设备中进行更新,而不用在持久化设备中进行更新了。
105、若所述key的counter未达到热度阈值,则将所述数据直接写入到持久化设备中。
其中,所述key的counter未达到热度阈值与key不在热度表中为同一种情况,即输入的数据的更新频度在可接受的范围之内,可直接写入到持久化设备当中。
为了更清楚地描述本发明实施例的方法流程,在此针对查询及后续的步骤举例进行说明,具体如下:假定counter的数值表示的是数据更新的次数,热度阈值设置为15,而counter所设置的自减预设周期为0.5s,即0.5s就将counter的数值减1,那么当有数据输入时,查询到该数据的key在热度表中,且该key的counter为10,即表示该key对应的数据在0.5秒的时间内进行了10次更新,另外,counter的数值小于热度阈值15,那么就说明该数据虽然更新的频度比较高,但是还未超过所要求的更新频度上限,即更新频度虽然很高,但仍在可以接受的范围之内,若该数据的key当前的counter的数值为20,则将该数据写入PRAM设备中进行原地更新。
本发明实施例提供的一种降低LSM Tree写放大的方法,通过在有数据写入时,查询所写入的数据的key是否存在于热度表中,当查询结果为否时,将该数据直接写进持久化设备,否则,则将该key的counter加1,并判断该key的counter是否达到热度阈值,当判断结果为是时,将该key对应的数据写入PRAM设备中进行原地更新,否则将该数据直接写入持久化设备中的方法,通过判断数据的key在在热度表中时,该key所累计的counter是否达到阈值来决定是将数据写入持久化设备中,还是写入PRAM设备中进行原定更新,通过在使用Multi BF进行数据筛选之外,还增加了热度表来继续对数据的热度进行统计,并将筛选出的热度达到阈值的数据写入PRAM设备中进行原地更新,使得数据的热度阈值能够在热度表中进行设置,避免了无法对更新频度较高的数据进行筛选的现象,解决了由于受到内存大小限制,而使得Multi BF的数量有限,无法将热度评分的阈值设置为更高的数值,导致无法筛选更高更新频度的数据,影响了存储设备的使用性能的问题。
此外,本法明实施例还提供了一种筛选热数据并记录数据热度的方法,其方法流程如图2所示,具体包括:
201、建立多组布隆过滤器Multi BF,并为每个BF设定权重。
其中,所述BF用于标记一段时间的写入的数据的key,能够定时对内部的标记位进行清零操作,所述权重用于为需要写入持久化设备的数据的key进行热度评分,与所述BF最近一次清0时刻与当前时刻的时间间隔成正相关关系。
202、根据所述数据的key,计算所述key在BF中对应的标记位。
其中,具体根据key计算相应标记位的方法可选择通过HASH函数的方式进行计算,每个key在BF中的标记位固定不变,由于具体计算的方式不在本发明的范围之内,在此不再赘述。
203、轮询各BF,查找第一个所述key对应的标记位为0的BF,并将所述标记位置1。
其中,由于每个key在每个BF中的标记位为固定不变的,因此,在一个自减预设周期内,该BF只能被标记一次,因此,当写入数据时可通过查询该key的固定标记位来查找未被标记的BF,这样,若写入的数据在一段时间内更新的频度很高时,就会有多个BF的标记位被标记。
204、根据每个BF的权重对所述数据的key进行热度评分,若所述数据的key的热度评分达到阈值,则判定所述数据为热数据,并在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值。
其中,在对数据的key进行评分时,可通过每个BF的权重不同对所有BF进行加权评分,若评分达到阈值则将该数据的key和counter作为热度表的element进行存储,其中counter可初始设置为1或者标记位为1的BF的数量。例如,假设3个BF中该数据的key的标记位被标记为1,且第一个BF的当前时刻与最近一次清零的时刻的时间差为0.2,第二个BF的当前时刻与最近一次清零的时刻的时间差为0.3,第三个BF的当前时刻与最近一次清零的时刻的时间差为0.4,那么评分可通过(0.2+0.3+0.4)/3的方式计算得到,当然这只是所例举的一种可实现的方式,本发明在此不做更多的限制。
此外,在所述热度表中记录所述数据的key,并将所述数据的key对应的counter标记为固定数值之后,还包括:
若所述key的counter减至热度阈值以下,则告知所述PRAM设备所述key的数据已变为冷数据,以使得所述PRAM设备能够累计所述key对应的数据的大小,并当累计的总量达到总量阈值时,触发compact操作,将所述key对应的数据写入持久化设备中。
在本发明实施例中,通过建立Multi BF,为每个BF设定权重,根绝数据的key计算该key在BF中对应的标记位,并在轮询各BF后,将查找到的第一个所述key对应的标记位为0的BF中相应的述标记位置1,并根据每个BF的权重对所述数据的key进行热度评分,评分达到阈值的key写入热度表中,并继续用counter记录该key的热度的方式,通过对数据进行两次筛选,并给出热度表的建立方式,使得热度表能够用于记录数据的热度,进而为通过热度表来筛选数据提供了可能性和可实施性。
本发明实施例还提供了一种降低LSM Tree写放大的装置,如图3所示,具体包括:
查询模块31,用于当有数据写入时,查询所述数据的key是否在热度表中;所述key是指key-value存储模式中的数据索引,所述热度表用于记录多个key对应的数据的更新频度。
控制模块32,用于在所述数据的key不在所述热度表中时,将所述数据直接写入到持久化设备中;在所述数据的key在所述热度表中时,将所述key的counter加1,并判断所述key的counter是否达到热度阈值;所述counter是指key所对应的数据的更新频度,所述热度阈值用于表示所述key对应的数据的更新频度上限;在所述key的counter达到热度阈值时,将所述key对应的数据写入PRAM设备中进行原地更新;所述原地更新是指在数据存储的位置直接进行更新;在所述key的counter未达到热度阈值时,将所述数据直接写入到持久化设备中。
此外,所述装置还包括计算模块33。
所述控制模块32,还用于建立多组布隆过滤器Multi BF,并为每个BF设定权重;所述BF用于标记一段时间的写入的数据的key,能够定时对内部的标记位进行清零操作,所述权重用于为需要写入持久化设备的数据的key进行热度评分,与所述BF最近一次清0时刻与当前时刻的时间间隔成正相关关系;根据每个BF的权重对所述数据的key进行热度评分,在所述数据的key的热度评分达到阈值时,判定所述数据为热数据,并在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值。
所述计算模块33,用于根据所述数据的key,计算所述key在BF中对应的标记位。
所述查询模块31,还用于轮询各BF,查找第一个所述key对应的标记位为0的BF,并将所述标记位置1。
此外,所述控制模块32,还用于将所述counter设置为预设周期自动减1,并在所述counter减至0时,将所述counter对应的key移出热度表。
此外,所述控制模块32,还用于在所述key的counter减至热度阈值以下时,告知所述PRAM设备所述key的数据已变为冷数据,以使得所述PRAM设备能够累计所述key对应的数据的大小,并当累计的总量达到总量阈值时,触发compact操作,将所述key对应的数据写入持久化设备中。
本发明实施例提供的一种降低LSM Tree写放大的装置,通过在有数据写入时,查询所写入的数据的key是否存在于热度表中,当查询结果为否时,将该数据直接写进持久化设备,否则,则将该key的counter加1,并判断该key的counter是否达到热度阈值,当判断结果为是时,将该key对应的数据写入PRAM设备中进行原地更新,否则将该数据直接写入持久化设备中的方法,通过判断数据的key在在热度表中时,该key所累计的counter是否达到阈值来决定是将数据写入持久化设备中,还是写入PRAM设备中进行原定更新,通过在使用Multi BF进行数据筛选之外,还增加了热度表来继续对数据的热度进行统计,并将筛选出的热度达到阈值的数据写入PRAM设备中进行原地更新,使得数据的热度阈值能够在热度表中进行设置,避免了无法对更新频度较高的数据进行筛选的现象,解决了由于受到内存大小限制,而使得Multi BF的数量有限,无法将热度评分的阈值设置为更高的数值,导致无法筛选更高更新频度的数据,影响了存储设备的使用性能的问题。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种降低日志结构合并树LSM Tree写放大的方法,其特征在于,所述方法包括:
当有数据写入时,查询所述数据的key是否在热度表中;所述key是指key-value存储模式中的数据索引,所述热度表用于记录多个key对应的数据的更新频度;
若所述数据的key不在所述热度表中,则将所述数据直接写入到持久化设备中;
若所述数据的key在所述热度表中,则将所述key的counter加1,并判断所述key的counter是否达到热度阈值;所述counter是指key所对应的数据的更新频度,所述热度阈值用于表示所述key对应的数据的更新频度上限;
若所述key的counter达到热度阈值,将所述key对应的数据写入PRAM设备中进行原地更新;所述原地更新是指在数据存储的位置直接进行更新;
若所述key的counter未达到热度阈值,则将所述数据直接写入到持久化设备中。
2.根据权利要求1所述的方法,其特征在于,在若所述数据的key不在所述热度表中之后,还包括:
建立多组布隆过滤器BF,并为每个BF设定权重;所述BF用于标记一段时间的写入的数据的key,能够定时对内部的标记位进行清零操作,所述权重用于为需要写入持久化设备的数据的key进行热度评分,与所述BF最近一次清0时刻与当前时刻的时间间隔成正相关关系;
根据所述数据的key,计算所述key在BF中对应的标记位;
轮询各BF,查找第一个所述key对应的标记位为0的BF,并将所述标记位置1;
根据每个BF的权重对所述数据的key进行热度评分,若所述数据的key的热度评分达到热度阈值,则判定所述数据为热数据,并在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值。
3.根据权利要求2所述的方法,其特征在于,在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值之外,还包括:
将所述counter设置为预设周期自动减1,并在所述counter减至0时,将所述counter对应的key移出热度表。
4.根据权利要求2所述的方法,其特征在于,在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值之后,还包括:
若所述key的counter减至热度阈值以下,则告知所述PRAM设备所述key的数据已变为冷数据,以使得所述PRAM设备能够累计所述key对应的数据的大小,并当累计的总量达到总量阈值时,触发compact操作,将所述key对应的数据写入持久化设备中。
5.一种降低日志结构合并树LSM Tree写放大的装置,其特征在于,所述装置包括:
查询模块,用于当有数据写入时,查询所述数据的key是否在热度表中;所述key是指key-value存储模式中的数据索引,所述热度表用于记录多个key对应的数据的更新频度;
控制模块,用于在所述数据的key不在所述热度表中时,将所述数据直接写入到持久化设备中;在所述数据的key在所述热度表中时,将所述key的counter加1,并判断所述key的counter是否达到热度阈值;所述counter是指key所对应的数据的更新频度,所述热度阈值用于表示所述key对应的数据的更新频度上限;在所述key的counter达到热度阈值时,将所述key对应的数据写入PRAM设备中进行原地更新;所述原地更新是指在数据存储的位置直接进行更新;在所述key的counter未达到热度阈值时,将所述数据直接写入到持久化设备中。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括计算模块;
所述控制模块,还用于建立多组布隆过滤器BF,并为每个BF设定权重;所述BF用于标记一段时间的写入的数据的key,能够定时对内部的标记位进行清零操作,所述权重用于为需要写入持久化设备的数据的key进行热度评分,与所述BF最近一次清0时刻与当前时刻的时间间隔成正相关关系;根据每个BF的权重对所述数据的key进行热度评分,在所述数据的key的热度评分达到热度阈值时,判定所述数据为热数据,并在所述热度表中记录所述数据的key,将所述数据的key对应的counter标记为固定数值;
所述计算模块,用于根据所述数据的key,计算所述key在BF中对应的标记位;
所述查询模块,还用于轮询各BF,查找第一个所述key对应的标记位为0的BF,并将所述标记位置1。
7.根据权利要求5所述的装置,其特征在于,所述控制模块,还用于将所述counter设置为预设周期自动减1,并在所述counter减至0时,将所述counter对应的key移出热度表。
8.根据权利要求5所述的装置,其特征在于,所述控制模块,还用于在所述key的counter减至热度阈值以下时,告知所述PRAM设备所述key的数据已变为冷数据,以使得所述PRAM设备能够累计所述key对应的数据的大小,并当累计的总量达到总量阈值时,触发compact操作,将所述key对应的数据写入持久化设备中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086913.XA CN104915145B (zh) | 2014-03-11 | 2014-03-11 | 一种降低LSM Tree写放大的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086913.XA CN104915145B (zh) | 2014-03-11 | 2014-03-11 | 一种降低LSM Tree写放大的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104915145A CN104915145A (zh) | 2015-09-16 |
CN104915145B true CN104915145B (zh) | 2018-05-18 |
Family
ID=54084245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410086913.XA Active CN104915145B (zh) | 2014-03-11 | 2014-03-11 | 一种降低LSM Tree写放大的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104915145B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468298B (zh) * | 2015-11-19 | 2018-11-13 | 中国科学院信息工程研究所 | 一种基于日志结构合并树的键值存储方法 |
CN105487820B (zh) * | 2015-11-30 | 2018-11-16 | 中国科学院信息工程研究所 | 一种基于时间片轮转机制的树状存储结构写放大优化方法 |
CN106681665B (zh) * | 2016-12-29 | 2020-04-24 | 北京奇虎科技有限公司 | 缓存数据的持久化存储方法及装置 |
CN106844650A (zh) * | 2017-01-20 | 2017-06-13 | 中国科学院计算技术研究所 | 一种日志合并树的合并方法及系统 |
CN109213432B (zh) * | 2017-07-04 | 2021-10-26 | 华为技术有限公司 | 利用日志结构合并树将数据写入的存储设备及其方法 |
CN107590023B (zh) * | 2017-08-10 | 2020-10-02 | 深圳壹账通智能科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN109542339B (zh) * | 2018-10-23 | 2021-09-03 | 拉扎斯网络科技(上海)有限公司 | 数据分层访问方法、装置、多层存储设备和存储介质 |
CN110413229A (zh) * | 2019-07-10 | 2019-11-05 | 华中科技大学 | 一种数据写入方法 |
US11151053B2 (en) * | 2019-08-07 | 2021-10-19 | International Business Machines Corporation | Increasing data read and/or write heat tracking resolution in storage devices having cache architecture |
CN112486994B (zh) * | 2020-11-30 | 2024-04-19 | 武汉大学 | 一种基于日志结构合并树的键值存储的数据快速读取方法 |
CN117311645B (zh) * | 2023-11-24 | 2024-02-06 | 武汉纺织大学 | 一种lsm存储元数据读放大的优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364474A (zh) * | 2011-11-17 | 2012-02-29 | 中国科学院计算技术研究所 | 用于机群文件系统的元数据存储系统和管理方法 |
CN102722449A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院计算技术研究所 | 基于SSD的Key-Value型本地存储方法及系统 |
CN103186350A (zh) * | 2011-12-31 | 2013-07-03 | 北京快网科技有限公司 | 混合存储系统及热点数据块的迁移方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9355109B2 (en) * | 2010-06-11 | 2016-05-31 | The Research Foundation For The State University Of New York | Multi-tier caching |
-
2014
- 2014-03-11 CN CN201410086913.XA patent/CN104915145B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364474A (zh) * | 2011-11-17 | 2012-02-29 | 中国科学院计算技术研究所 | 用于机群文件系统的元数据存储系统和管理方法 |
CN103186350A (zh) * | 2011-12-31 | 2013-07-03 | 北京快网科技有限公司 | 混合存储系统及热点数据块的迁移方法 |
CN102722449A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院计算技术研究所 | 基于SSD的Key-Value型本地存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104915145A (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915145B (zh) | 一种降低LSM Tree写放大的方法和装置 | |
CN105447059B (zh) | 一种数据处理方法及装置 | |
CN104115133B (zh) | 用于复合非易失性存储设备的数据迁移的方法、系统和设备 | |
US9189422B2 (en) | Method to throttle rate of data caching for improved I/O performance | |
CN102521269B (zh) | 一种基于索引的计算机连续数据保护方法 | |
CN103577336B (zh) | 一种存储数据处理方法及装置 | |
CN103902473B (zh) | 一种数据处理方法及数据缓存系统 | |
CN108139872B (zh) | 一种缓存管理方法、缓存控制器以及计算机系统 | |
CN103270499B (zh) | 日志存储方法及系统 | |
JP2017188096A5 (ja) | 重複除去dramメモリモジュール及びそのメモリ重複除去方法 | |
CN104571954B (zh) | 一种数据存储方法及装置 | |
CN104794065B (zh) | 一种多分组定长数据循环存取方法 | |
CN104050103B (zh) | 一种用于数据恢复的缓存替换方法与系统 | |
CN102147798A (zh) | 处理哈希查找冲突问题的方法和装置 | |
CN111580754B (zh) | 一种写友好的闪存固态盘缓存管理方法 | |
CN108021514A (zh) | 一种缓存替换的方法和设备 | |
CN104077242A (zh) | 一种缓存管理方法和装置 | |
CN104112011A (zh) | 一种海量数据提取的方法及装置 | |
CN102354301B (zh) | 缓存分区方法 | |
US20150052327A1 (en) | Dynamic memory relocation | |
CN109144431A (zh) | 数据块的缓存方法、装置、设备及存储介质 | |
CN104978278B (zh) | 数据处理方法和装置 | |
CN107180118A (zh) | 一种文件系统缓存数据管理方法及装置 | |
CN113641681A (zh) | 一种空间自适应的海量数据查询方法 | |
CN104166596B (zh) | 一种内存分配方法及节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |