数据处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39327302 阅读:8 留言:0更新日期:2023-11-12 16:04
本申请提供一种数据处理方法、装置、电子设备及存储介质,应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,方法包括:获取针对日志结构合并树中的目标数据的写操作所产生的过期数据;基于目标关键字从每层数据层所包括的预设数量个磁盘文件中,查找过期数据所在的目标磁盘文件;将目标关键字写入目标磁盘文件所在的数据层所对应的缓存结构中;根据每层数据层所对应的缓存结构中的关键字的数量,对每层数据层所包括的磁盘文件中的过期数据进行回收处理。本申请能够对过期数据进行准确且高效的回收,从而提高分布式数据库的文件存储效率、系统性能和查询效率,减少分布式数据库的空间和资源的浪费。的空间和资源的浪费。的空间和资源的浪费。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及存储介质


[0001]本申请属于计算机
,具体涉及一种数据处理方法、装置、电子设备及存储介质。

技术介绍

[0002]在基于日志结构合并树(Log

Structured Merge Tree,LSM树)的存储系统中,一般需要通过Compaction消除过期数据。其中,Compaction指的是根据一定策略消除存储引擎中的过期数据,以释放磁盘空间。
[0003]相关技术通常在Compaction的过程中遇到了关键字(Key)相同并且版本更大的记录时,才能够将该记录认为是过期数据并被删除。然而两条相同记录能在Compaction过程中遇到的时机是不可控的,一条已经过期的记录可能被Compaction多次(写放大)而继续存在于系统中,浪费了系统的计算资源和磁盘的输入/输出(I/O)资源。其次,一个扫描查询也会将该过期的数据从磁盘上读到内存然后又丢掉,造成读的延迟偏高(读放大)。最后,过期数据长时间存在于数据库系统中,导致磁盘空间不能够得到有效利用(空间放大)。
[0004]可见,相关技术中的过期数据回收方式是一种被动回收机制,在回收时间、空间放大、读写放大等方面都存在很多不可控的因素,使得系统资源无法得到有效利用。

技术实现思路

[0005]为了解决上述技术问题,本申请提供一种数据处理方法、装置、电子设备及存储介质。
[0006]一方面,本申请提出了一种数据处理方法,所述方法包括:获取针对日志结构合并树中的目标数据的写操作所产生的过期数据;所述日志结构合并树包括至少两层数据层,每层所述数据层包括预设数量个磁盘文件,且每层所述数据层对应有一个缓存结构,每层所述数据层对应的缓存结构用于存储每层所述数据层中的过期数据的元信息;确定所述目标数据的关键字为所述过期数据的目标关键字,并基于所述目标关键字从每层所述数据层所包括的预设数量个磁盘文件中,查找所述过期数据所在的目标磁盘文件;将所述目标关键字写入所述目标磁盘文件所在的数据层所对应的缓存结构中;所述目标关键字用于标识所述目标磁盘文件中的过期数据的元信息;根据每层所述数据层所对应的缓存结构中的关键字的数量,对每层所述数据层所包括的磁盘文件中的过期数据进行回收处理。
[0007]另一方面,本申请提出了一种数据处理装置,所述装置包括:过期数据获取模块,用于获取针对日志结构合并树中的目标数据的写操作所产生的过期数据;所述日志结构合并树包括至少两层数据层,每层所述数据层包括预设数量个磁盘文件,且每层所述数据层对应有一个缓存结构,每层所述数据层对应的缓存结构用于
存储每层所述数据层中的过期数据的元信息;目标磁盘文件查找模块,用于确定所述目标数据的关键字为所述过期数据的目标关键字,并基于所述目标关键字从每层所述数据层所包括的预设数量个磁盘文件中,查找所述过期数据所在的目标磁盘文件;关键字写入模块,用于将所述目标关键字写入所述目标磁盘文件所在的数据层所对应的缓存结构中;所述目标关键字用于标识所述目标磁盘文件中的过期数据的元信息;回收模块,用于根据每层所述数据层所对应的缓存结构中的关键字的数量,对每层所述数据层所包括的磁盘文件中的过期数据进行回收处理。
[0008]另一方面,本申请提出了一种数据处理的电子设备,所述电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述所述的数据处理方法。
[0009]另一方面,本申请提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述所述的数据处理方法。
[0010]另一方面,本申请提出了一种计算机程序产品,包括计算机程序,所述计算机程被处理器执行时实现如上述所述的数据处理方法。
[0011]本申请实施例提出的数据处理方法、装置、电子设备及存储介质,在每层数据层单独维护一个缓存结构,每层数据层对应的缓存结构用于存储每层数据层中的过期数据的元信息,在获取针对日志结构合并树中的目标数据的写操作所产生的过期数据时,可以根据过期数据的目标关键字从每层数据层所包括的预设数量个磁盘文件中,查找过期数据所在的目标磁盘文件,将目标关键字写入目标磁盘文件所在的数据层所对应的缓存结构中,并根据每层数据层所对应的缓存结构中的关键字的数量,对每层数据层所包括的磁盘文件中的过期数据进行回收处理,由此将对过期数据的被动识别转换为主动识别,能够快速定位到过期数据具体落在哪个磁盘文件中,且将对应的关键字写入对应的缓存结构中,能够通过缓存结构中存储的关键字的数量精确且高效地预估出每个磁盘文件中的过期数据的数量,进而根据每个磁盘文件中的过期数据的数量,对每个磁盘文件中的过期数据进行准确且高效的回收,从而提高分布式数据库的存储效率、系统性能和查询效率,减少分布式数据库的空间和资源的浪费。
附图说明
[0012]为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0013]图1是根据一示例性实施例示出的一种数据处理方法的实施环境示意图。
[0014]图2是根据一示例性实施例示出的一种数据处理方法的流程示意图一。
[0015]图3是根据一示例性实施例示出的一种缓存结构的示意图。
[0016]图4是根据一示例性实施例示出的一种数据处理方法的流程示意图二。
[0017]图5是根据一示例性实施例示出的一种数据处理方法的流程示意图三。
[0018]图6是根据一示例性实施例示出的一种数据处理方法的流程示意图四。
[0019]图7是根据一示例性实施例示出的一种TDSQL分布式数据库系统的整体框架图。
[0020]图8是根据一示例性实施例示出的一种单个存储节点的存储框架图。
[0021]图9是根据一示例性实施例示出的一种数据处理装置的框图。
[0022]图10是根据一示例性实施例提供的一种服务器的硬件结构框图。
具体实施方式
[0023]人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0024]人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取针对日志结构合并树中的目标数据的写操作所产生的过期数据;所述日志结构合并树包括至少两层数据层,每层所述数据层包括预设数量个磁盘文件,且每层所述数据层对应有一个缓存结构,每层所述数据层对应的缓存结构用于存储每层所述数据层中的过期数据的元信息;确定所述目标数据的关键字为所述过期数据的目标关键字,并基于所述目标关键字从每层所述数据层所包括的预设数量个磁盘文件中,查找所述过期数据所在的目标磁盘文件;将所述目标关键字写入所述目标磁盘文件所在的数据层所对应的缓存结构中;所述目标关键字用于标识所述目标磁盘文件中的过期数据的元信息;根据每层所述数据层所对应的缓存结构中的关键字的数量,对每层所述数据层所包括的磁盘文件中的过期数据进行回收处理。2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述目标关键字从每层所述数据层所包括的预设数量个磁盘文件中,查找所述过期数据所在的目标磁盘文件,包括:基于所述目标关键字和每层所述数据层所包括的预设数量个磁盘文件在每层所述数据层中的排序位置信息,确定所述过期数据对应的初始磁盘文件;在基于所述初始磁盘文件的布隆过滤器信息确定所述过期数据存在于所述初始磁盘文件中的情况下,确定所述初始磁盘文件为所述目标磁盘文件。3.根据权利要求2所述的数据处理方法,其特征在于,每层候选数据层中的预设数量个磁盘文件按序排列,所述候选数据层为所述至少两层数据层中除第一层数据层之外的数据层;所述基于所述目标关键字和每层所述数据层所包括的预设数量个磁盘文件在每层所述数据层中的排序位置信息,确定所述过期数据对应的初始磁盘文件,包括:比较所述目标关键字和每层所述候选数据层中处于中间位置的磁盘文件的第一候选关键字;在所述目标关键字等于所述第一候选关键字的情况下,确定所述初始磁盘文件为每层所述候选数据层中处于中间位置的磁盘文件;在所述目标关键字小于所述第一候选关键字的情况下,从位于所述处于中间位置的磁盘文件之前的磁盘文件中,查找关键字与所述目标关键字相同的磁盘文件,得到所述初始磁盘文件;在所述目标关键字大于所述第一候选关键字的情况下,从位于所述处于中间位置的磁盘文件之后的磁盘文件中,查找关键字与所述目标关键字相同的磁盘文件,得到所述初始磁盘文件。4.根据权利要求2所述的数据处理方法,其特征在于,所述初始磁盘文件的布隆过滤器信息为长度为预设比特的位数组与预设数量个哈希函数组成的数据结构;所述在基于所述初始磁盘文件的布隆过滤器信息确定所述过期数据存在于所述初始磁盘文件中的情况下,确定所述初始磁盘文件为所述目标磁盘文件,包括:通过所述预设数量个哈希函数对所述目标关键字进行哈希处理,得到预设数量个哈希值;
将所述目标关键字通过所述预设数量个哈希值映射至所述位数组,得到预设数量个映射结果;在所述预设数量个映射结果均为1的情况下,确定所述过期数据存在于所述初始磁盘文件中,并确定所述初始磁盘文件为所述目标磁盘文件。5.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:在所述预设数量个映射结果中的任意一个映射结果为0的情况下,确定所述过期数据不存在于所述初始磁盘文件中,并确定所述初始磁盘文件不为所述目标磁盘文件。6.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述目标关键字从每层所述数据层所包括的预设数量个磁盘文件中,查找所述过期数据所在的目标磁盘文件,包括:确定所述日志结构合并树的最后一层为当前数据层;所述当前数据层中的预设数量个磁盘文件按序排列;基于所述目标关键字和所述当前数据层中的预设数量个磁盘文件在所述当前数据层的排序位置信息,确定所述过期数据在所述当前数据层中所对应的初始磁盘文件;在基于所述对应的初始磁盘文件的布隆过滤器信息,确定所述过期数据不存在于所述对应的初始磁盘文件的情况下,重新确定当前数据层的上一层数据层为所述当前数据层;重复所述基于所述目标关键字和所述当前数据层中的预设数量个磁盘文件在所述当前数据层的排序位置信息,至所述重新确定当前数据层的上一层数据层为所述当前数据层的操作,直至当前数据层为所述日志结构合并树的第一层数据层;确...

【专利技术属性】
技术研发人员:贺小龙潘安群雷海林朱翀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1