数据删除方法技术

技术编号:39738770 阅读:7 留言:0更新日期:2023-12-17 23:40
本申请公开了一种数据删除方法

【技术实现步骤摘要】
数据删除方法、装置、设备及介质


[0001]本申请属于
kv
数据库
,尤其涉及一种数据删除方法

装置

设备及介质


技术介绍

[0002]CKV
数据库是一种基于内存压缩的
KV
存储数据库,采用路径压缩字典树的实现原理,分别对
key

value
的数据集进行前缀压缩,有着高并发

低延迟

高压缩率的特性

目前,
CKV
数据库在进行数据删除操作时,采用标记删除策略,即对待删除数据标记一个删除标识,然而这种数据删除操作无法物理删除待删除数据,待删除数据仍占用内存,导致内存占用率持续上涨,若要物理删除待删除数据,只能通过数据全量加载解决,而数据的全量加载需要服务重启,系统开销大,会带来系统稳定性的问题

因此,相关技术中
CKV
数据库的数据删除方法存在较大的局限性,灵活性较低


技术实现思路

[0003]本申请实施例提供一种与相关技术不同的实现方案,以解决相关技术中
CKV
数据库的数据删除方法存在较大的局限性,灵活性较低的技术问题

[0004]第一方面,本申请提供一种数据删除方法,包括:
[0005]获取待删除字符串;其中,待删除字符串为键对应的内容;
[0006]查找是否存在待删除字符串对应的键节点的标识以及键节点对应的值节点的标识;
[0007]若存在键节点的标识和值节点的标识,将键节点标识对应的第一删除标识置为用于指示键节点对应的信息可被删除的第一标识;
[0008]控制删除键节点对应的信息;
[0009]确定值节点的标识是否未被其他键节点引用,若是,则将值节点标识对应的第二删除标识置为用于指示值节点对应的信息可被删除的第二标识;
[0010]控制删除值节点对应的信息

[0011]第二方面,本申请提供一种数据删除装置,包括:
[0012]获取单元,用于获取待删除字符串;其中,待删除字符串为键对应的内容;
[0013]查找单元,用于查找是否存在待删除字符串对应的键节点的标识以及键节点对应的值节点的标识;
[0014]设置单元,用于若存在键节点的标识和值节点的标识,将键节点标识对应的第一删除标识置为用于指示键节点对应的信息可被删除的第一标识;
[0015]删除单元,用于控制删除键节点对应的信息;
[0016]确定单元,用于确定值节点的标识是否未被其他键节点引用,若是,则将值节点标识对应的第二删除标识置为用于指示值节点对应的信息可被删除的第二标识;
[0017]删除单元,还用于控制删除值节点对应的信息

[0018]第三方面,本申请提供一种电子设备,包括:
[0019]处理器;以及
[0020]存储器,用于存储处理器的可执行指令;
[0021]其中,处理器配置为经由执行可执行指令来执行第一方面,或第一方面各可能的实施方式中的任一方法

[0022]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面,或第一方面各可能的实施方式中的任一方法

[0023]本申请提供的获取待删除字符串;其中,待删除字符串为键对应的内容;查找是否存在待删除字符串对应的键节点的标识以及键节点对应的值节点的标识;若存在键节点的标识和值节点的标识,将键节点标识对应的第一删除标识置为用于指示键节点对应的信息可被删除的第一标识;控制删除键节点对应的信息;确定值节点的标识是否未被其他键节点引用,若是,则将值节点标识对应的第二删除标识置为用于指示值节点对应的信息可被删除的第二标识;控制删除值节点对应的信息的方案,可利用对节点设置删除标识,实现对节点的删除状态的维护,达到立即释放内存的目的,还可基于值节点是否被其他节点引用,确定值节点是否可被安全删除,从而达到提高
CKV
数据库的数据删除方法的灵活性的技术效果

附图说明
[0024]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

在附图中:
[0025]图1为本申请一实施例提供的数据删除方法的流程示意图;
[0026]图
2a
为本申请一实施例提供的一棵
key

Trie
的逻辑存储结构示意图;
[0027]图
2b
为本申请一实施例提供的一种第二存储区
HashTire
的结构示意图;
[0028]图
2c
为本申请一实施例提供的
key

Trie
的第一存储区的结构示意图;
[0029]图3为本申请一实施例提供的数据删除方法的另一流程示意图;
[0030]图4为本申请一实施例提供的对节点进行递归删除操作的流程示意图;
[0031]图5为本申请一实施例提供的数据删除装置的结构示意图;
[0032]图6为本申请实施例提供的一种电子设备的结构示意图

具体实施方式
[0033]下面详细描述本申请的实施例,所述实施例的示例在附图中示出

下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制

[0034]本申请实施例的说明书

权利要求书及附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序

应该理解这样使用的数据在适当情况下可以互换,以便本方案除了本申请中图示或描述的顺序之外,以其他的顺序实施

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程

方法

系统

产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程

方法

产品或设备固有的其它步骤或单


[0035]目前,
CKV
数据库在进行数据删除操作时,采用标记删除策略,即对待删除数据标记一个删除标识,然而这种数据删除操作无法物理删除待删除数据,待删除数据仍占用内存,导致内存占用率持续上涨,若要物理删除待删除数据,只能通过数据全量加载解决,而数据的全量加载需要本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据删除方法,其特征在于,包括:获取待删除字符串;其中,所述待删除字符串为键对应的内容;查找是否存在所述待删除字符串对应的键节点的标识以及所述键节点对应的值节点的标识;若存在所述键节点的标识和所述值节点的标识,将所述键节点标识对应的第一删除标识置为用于指示所述键节点对应的信息可被删除的第一标识;控制删除所述键节点对应的信息;确定所述值节点的标识是否未被其他键节点引用,若是,则将所述值节点标识对应的第二删除标识置为用于指示所述值节点对应的信息可被删除的第二标识;控制删除所述值节点对应的信息
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:查询所述值节点标识被引用的次数;控制所述次数减一;确定所述次数是否为0,若是,则确定所述值节点的标识未被其他键节点引用,若否,确定所述值节点的标识被其他键节点引用
。3.
根据权利要求1所述的方法,其特征在于,所述键节点对应的信息包括所述键节点对应的子字符串,以及所述键节点与所述键节点的第一父节点之间的第一关联关系信息,控制删除所述键节点对应的信息,包括:确定所述键节点是否为叶子节点以及判断所述子字符串被所述键节点的子节点引用的最大长度是否为0;在所述键节点为叶子节点,或所述键节点不为叶子节点,但所述子字符串被所述键节点的子节点引用的最大长度为0时,则控制删除所述键节点对应的第一存储区内存储的所述子字符串

将所述第一存储区内的存在标识设置为用于指示所述键节点已不存在的第三标识,以及将所述键节点对应的第二存储区内存储的覆盖标识设置为用于指示所述第一关联关系信息可被覆盖的第四标识;确定所述键节点是否具有父节点,若具有,确定所述父节点对应的第三删除标识是否为所述第一标识,若是,则将所述父节点作为新的键节点,返回执行确定所述键节点是否为叶子节点以及判断所述子字符串被所述键节点的子节点引用的最大长度是否为0的步骤
。4.
根据权利要求3所述的方法,其特征在于,所述方法还包括:获取待存储字符串;基于所述待存储字符串确定对应的第二键节点的标识;确定所述第二键节点在所述第二存储区内的存储信息,所述存储信息包括:所述第二键节点与所述第二键节点的父节点之间的第二关联关系信息;基于预设规则确定所述存储信息的存储位置;若所述存储位置对应的目标覆盖标识为所述第...

【专利技术属性】
技术研发人员:史承毅宁维宇杨凯
申请(专利权)人:度小满科技北京有限公司
类型:发明
国别省市:

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

1