一种键值对数据库的空间回收方法技术

技术编号:43369010 阅读:21 留言:0更新日期:2024-11-19 17:50
本发明专利技术公开了一种键值对数据库的空间回收方法,包括步骤:遍历起始扇区中的所有键值对条目;判断所述键值对条目是否有效;若是,在起始扇区之外的其他扇区中创建迁移键值对条目,所述键值对条目的数据拷贝至所述迁移键值对条目中,与所述键值对条目相匹配的索引字符串的叶子节点的地址字段更新为指向所述迁移键值对条目的存储地址,所述键值对条目的状态标记为删除状态;若否,判断是否所述起始扇区的所述键值对条目遍历完成;若否,开始遍历所述起始扇区中的下一条所述键值对条目;若是,擦除起始扇区,并以所述起始扇区的下一个扇区作为新的起始扇区。本发明专利技术提供的这种空间回收方法可以回收键值对数据库中初始扇区中所有无效键值对条目的空间。

【技术实现步骤摘要】

本专利技术涉及数据库,尤其涉及一种键值对数据库的空间回收方法


技术介绍

1、目前flash(闪存)存储广泛应用于手机、平板电脑、ssd等电子设备之中,flash数据库将日志存入闪存数据库中扇区中,以实现对日志的高效存储。现有的flash存储方法对于参数、配置信息、动态数据等数据的存储主要采用结构体记录,首先需要对每个模块分配一个或者多个扇区,并在每个扇区中存储不同类型的数据;在运行期间,当扇区中的其中一个参数变化时,就需要先将该扇区的数据读到ram(随机存取存储器)中,并将该扇区的数据擦除,最后将ram内的参数进行变更后再全部写入该扇区。

2、现有的数据库的存储方法在改变参数的顺序或者增加参数的数量时,需要考虑对之前已经存入的参数数据是否产生影响,而键值对数据库利用字典树对数据库中的键值对条目起到索引作用,在实际应用时仅需尽可能分配较多的扇区给数据库,以使数据库具有较大的存储区域,并且在使用flash的过程中,仅需对键值对条目进行增加或者删除,而无需对整个扇区进行擦写。在键值对数据库运行过程中扇区的部分键值对条目被删除后会占用扇区的存储空间,本文档来自技高网...

【技术保护点】

1.一种键值对数据库的空间回收方法,其特征在于,包括步骤:

2.根据权利要求1所述的空间回收方法,其特征在于,所述步骤S1之前包括步骤:判断剩余空间是否小于预设阈值;若是,进入步骤S1;若否,不回收起始扇区。

3.根据权利要求2所述的空间回收方法,其特征在于,所述预设阈值包括第一预设阈值和第二预设阈值,第一预设阈值小于第二预设阈;其中,第一预设阈值用于创建新的键值对条目时判断是否触发回收起始扇区,第二预设阈值用于空闲时判断是否触发回收起始扇区值。

4.根据权利要求1所述的空间回收方法,其特征在于,所述键值对条目包括:第二标志位、第二魔数信息、数据总长度...

【技术特征摘要】

1.一种键值对数据库的空间回收方法,其特征在于,包括步骤:

2.根据权利要求1所述的空间回收方法,其特征在于,所述步骤s1之前包括步骤:判断剩余空间是否小于预设阈值;若是,进入步骤s1;若否,不回收起始扇区。

3.根据权利要求2所述的空间回收方法,其特征在于,所述预设阈值包括第一预设阈值和第二预设阈值,第一预设阈值小于第二预设阈;其中,第一预设阈值用于创建新的键值对条目时判断是否触发回收起始扇区,第二预设阈值用于空闲时判断是否触发回收起始扇区值。

4.根据权利要求1所述的空间回收方法,其特征在于,所述键值对条目包括:第二标志位、第二魔数信息、数据总长度信息、循环冗余校验码、字符串长度、数据长度、键名和键值数据。

5.根据权利要求1所述的空间回收...

【专利技术属性】
技术研发人员:林锐薛文辉郑其荣
申请(专利权)人:福建时代星云科技有限公司
类型:发明
国别省市:

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

1