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

技术编号:35746226 阅读:20 留言:0更新日期:2022-11-26 18:50
本说明书提供了一种数据处理方法、装置、存储介质及电子设备。在本说明书提供的数据处理方法中,会确定数据写入请求中包含的待写入数据的标识;随后判断目标链表中是否存在与所述待写入数据的标识相同的数据;若是,则删除目标链表中与所述待写入数据的标识相同的数据,并将所述待写入数据写入第一队列;若否,则直接将所述待写入数据写入第一队列;当第二队列满足压缩条件时,将第二队列的数据移动至外部存储器。在采用本说明书提供的数据处理方法处理采用日志结构合并树结构数据库的系统中的数据时,可通过删除重复标识的数据的方式,有效削减需要处理的数据量,避免了由于重复写入相同标识的数据而导致的系统吞吐量降低,性能受到影响。能受到影响。能受到影响。

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


[0001]本说明书涉及计算机
,尤其涉及一种数据处理方法、装置、存储介质及电子设备。

技术介绍

[0002]目前,用户对于隐私数据的重视度越来越高,日志结构合并树(Log

Structured Merge

Tree,LSM树)这一数据结构在非关系型的数据库中被广泛使用。在向使用LSM树结构的数据库中写入数据时,数据首先会存储在位于内存中的内存表(Memory Table,MemTable)中,后续再进行持久化存储到外部存储器中。
[0003]如何保证数据处理效率也变成了数据库领域需要解决的问题之一。其中,如何提高写入时的效率成为需要解决的问题,对此本说明书提供一种数据处理方法。

技术实现思路

[0004]本说明书提供一种数据处理方法及数据处理装置,以部分的解决现有技术存在的上述问题。
[0005]本说明书采用下述技术方案:
[0006]本说明书提供了一种数据处理方法,所述方法应用于采用日志结构合并树的数据库的系统中,所述系统的内存的内存表中设置目标链表,所述目标链表由目标指针划分为第一队列和第二队列,所述方法包括:
[0007]接收数据写入请求,确定待写入数据的标识;
[0008]判断所述目标链表中是否存储有与所述待写入数据的标识相同的历史数据;
[0009]若是,则删除所述历史数据,并在所述第一队列插入所述待写入数据,当所述第一队列内的数据满足转移条件时,调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中;
[0010]若否,则在所述第一队列插入所述待写入数据,当所述第一队列内的数据满足转移条件时,调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中;
[0011]当所述第二队列满足压缩条件时,将所述第二队列的数据移动至外部存储器存储。
[0012]可选地,所述内存表中还包括:废弃链表;
[0013]删除所述历史数据,具体包括:
[0014]将所述历史数据从所述目标链表中移除,并将所述历史数据插入所述废弃链表中;
[0015]当所述第二队列满足压缩条件时,清空所述废弃链表。
[0016]可选地,所述方法还包括:
[0017]接收携带指定标识的回滚请求;
[0018]当所述废弃链表中存在标识与所述指定标识相同的指定数据时,将所述目标链表中标识与所述指定标识相同的数据从所述目标链表中移除,插入所述废弃链表中;
[0019]将所述指定数据从所述废弃链表中移除,并在所述第一队列插入所述指定数据。
[0020]可选地,所述转移条件包括:所述第一队列中存储的数据的数量不小于第一指定阈值;或,所述第一队列中存储的数据的大小不小于第二指定阈值。
[0021]可选地,所述第一队列尾与所述第二队列头相连;
[0022]调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中,具体包括:
[0023]调整所述目标指针在所述目标链表中的位置,使所述第一队列尾的数据在调整后被划分至所述第二队列头。
[0024]可选地,所述压缩条件包括:所述第二队列中存储的数据的数量不小于第三指定阈值;或,所述第二队列中存储的数据的大小不小于第四指定阈值。
[0025]可选地,将所述第二队列的数据移动至外部存储器存储,具体包括:
[0026]对所述第二队列中的数据进行压缩,生成包含所述第二队列中的数据的排序字符串表文件,其中,所述排序字符串表文件中数据的存储顺序与所述第二队列中数据的存储顺序相同;
[0027]清空所述第二队列;
[0028]将所述排序字符串表文件存储至外部存储器中。
[0029]本说明书提供了一种数据处理装置,所述装置应用于采用日志结构合并树的数据库的系统中,所述系统的内存的内存表中设置目标链表,所述目标链表由目标指针划分为第一队列和第二队列,所述装置包括:
[0030]接收模块,接收数据写入请求,确定待写入数据的标识;
[0031]判断模块,判断所述目标链表中是否存储有与所述待写入数据的标识相同的历史数据;
[0032]删除模块,若是,则删除所述历史数据,并在所述第一队列插入所述待写入数据,当所述第一队列内的数据满足转移条件时,调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中;
[0033]默认模块,若否,则在所述第一队列插入所述待写入数据,当所述第一队列内的数据满足转移条件时,调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中;
[0034]转存模块,当所述第二队列满足压缩条件时,将所述第二队列的数据移动至外部存储器存储。
[0035]本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法。
[0036]本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据处理方法。
[0037]本说明书采用的上述至少一个技术方案能够达到以下有益效果:
[0038]在本说明书提供的数据处理方法中,会接收数据写入请求,并确定数据写入请求中包含的待写入数据的标识;随后判断目标链表中是否存在与所述待写入数据的标识相同
的数据;若是,则删除目标链表中与所述待写入数据的标识相同的数据,并将所述待写入数据写入第一队列;若否,则直接将所述待写入数据写入第一队列;当第二队列满足压缩条件时,将第二队列的数据移动至外部存储器。在采用本说明书提供的数据处理方法处理采用日志结构合并树结构数据库的系统中的数据时,可通过删除重复标识的数据的方式,有效削减需要处理的数据量,避免了由于重复写入相同标识的数据而导致的系统吞吐量降低,性能受到影响。
附图说明
[0039]此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
[0040]图1为本说明书中提供的一种数据处理方法的流程示意图;
[0041]图2为本说明书提供的一种数据处理方法的应用示意图;
[0042]图3为本说明书提供的一种第一队列和第二队列在同一目标链表的结构示意图;
[0043]图4为本说明书提供的一种第一队列和第二队列分别为两个独立链表的结构示意图;
[0044]图5为本说明书提供的一种数据处理装置的示意图;
[0045]图6为本说明书提供的一种对应于图1的电子设备示意图。
具体实施方式
[0046]为使本说明书的目的、技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,所述方法应用于采用日志结构合并树的数据库的系统中,所述系统的内存的内存表中设置目标链表,所述目标链表由目标指针划分为第一队列和第二队列,所述方法包括:接收数据写入请求,确定待写入数据的标识;判断所述目标链表中是否存储有与所述待写入数据的标识相同的历史数据;若是,则删除所述历史数据,并在所述第一队列插入所述待写入数据,当所述第一队列内的数据满足转移条件时,调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中;若否,则在所述第一队列插入所述待写入数据,当所述第一队列内的数据满足转移条件时,调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中;当所述第二队列满足压缩条件时,将所述第二队列的数据移动至外部存储器存储。2.如权利要求1所述的方法,所述内存表中还包括:废弃链表;删除所述历史数据,具体包括:将所述历史数据从所述目标链表中移除,并将所述历史数据插入所述废弃链表中;当所述第二队列满足压缩条件时,清空所述废弃链表。3.如权利要求2所述的方法,所述方法还包括:接收携带指定标识的回滚请求;当所述废弃链表中存在标识与所述指定标识相同的指定数据时,将所述目标链表中标识与所述指定标识相同的数据从所述目标链表中移除,插入所述废弃链表中;将所述指定数据从所述废弃链表中移除,并在所述第一队列插入所述指定数据。4.如权利要求1所述的方法,所述转移条件包括:所述第一队列中存储的数据的数量不小于第一指定阈值;或,所述第一队列中存储的数据的大小不小于第二指定阈值。5.如权利要求1所述的方法,所述第一队列尾与所述第二队列头相连;调整所述目标指针在所述目标链表中的位置,将所述第一队列尾的数据划分至所述目标链表的所述第二队列中,具体包括:调整所述目标指针在所述目标链表中的位置,使...

【专利技术属性】
技术研发人员:方伯阳徐泉清聂铁铮王国平申德荣杨传辉寇月
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1