【技术实现步骤摘要】
数据压缩方法和装置
[0001]本申请涉及数据处理
,更具体地,涉及一种数据压缩(Compaction)方法和装置。
技术介绍
[0002]日志结构合并树(Log Structured Merge Tree,LSM
‑
Tree)是一种被广泛采用的数据存储结构。如图1所示,通过对排序字符串表(Sorted Strings Table,SSTable)文件中的数据执行多级压缩(Compaction),可将随机写入转换为顺序写入,从而实现较高的读写性能。然而,在数据的生命周期内,Compaction操作对所述数据的多次读写导致很大的读写放大,这使得主机端的应用性能降低,并且会缩短存储装置(例如,固态驱动器(Solid State Drive,SSD))的寿命。此外,多个Compaction进程执行的频繁索引处理与数据合并会引发CPU竞争,并且频繁在CPU上执行Compaction操作会消耗大量的传输资源,从而可能导致数据传输延迟。
[0003]因此,在执行Compaction期间如何保证主机端的性能并降低数据传输延迟是亟需解决的问题。
技术实现思路
[0004]本专利技术的目的在于提供一种数据压缩(Compaction)方法和装置,所述方法和装置在针对基于LSM存储的数据执行Compaction操作时,能够降低对主机端资源的占用并减小数据处理延迟。
[0005]根据本公开的示例性实施例的一方面,提供了一种数据压缩方法,所述方法由电子装置执行,其中,所述方法可包括:确定 ...
【技术保护点】
【技术特征摘要】
1.一种数据压缩Compaction方法,所述方法由电子装置执行,其中,所述方法包括:确定与所述电子装置连接的存储装置中存储的排序字符串表SSTable文件中的将被执行压缩操作的多个SSTable文件,其中,所述存储装置中存储的SSTable文件中的数据基于日志结构合并树LSM
‑
Tree机制被存储在所述存储装置中;基于从所述存储装置接收的所述多个SSTable文件的数据块中的数据的索引对所述多个SSTable文件的数据块中的数据执行归并排序以获得重建的数据块;将重建的数据块发送到所述存储装置,其中,重建的数据块被所述存储装置用于重建新的SSTable文件,其中,每个SSTable文件包括数据块和索引块,其中,每个索引块中的索引与所述每个索引块对应的数据块中的数据相应。2.如权利要求1所述的方法,基于从所述存储装置接收的所述多个SSTable文件的数据块中的数据的索引对所述多个SSTable文件的数据块中的数据执行归并排序以获得重建的数据块的步骤包括:对所述多个SSTable文件的数据块进行解析以获得所述多个SSTable文件的数据块中的数据;基于所述多个SSTable文件的数据块中的数据的索引对所述多个SSTable的数据块中的数据执行归并排序,并根据数据块的格式将通过归并排序获得的数据重建为数据块。3.如权利要求2所述的方法,其中,所述多个SSTable文件的数据块中的数据的索引是由所述存储装置通过对所述多个SSTable文件的索引块进行解析获得的。4.如权利要求3所述的方法,其中,所述存储装置为SmartSSD,所述SmartSSD包括存储单元和计算单元,所述存储装置中存储的SSTable文件被存储在所述存储单元中,所述多个SSTable文件的数据块中的数据的索引是由所述计算单元通过对所述多个SSTable文件的索引块进行解析获得的。5.如权利要求2所述的方法,还包括:响应于接收到键值对,将所述键值对中的值根据所述键值对中的键的大小存储在所述存储装置的存储单元中,并基于LSM
‑
Tree机制将所述键值对中的键和地址组成的键地址对以SStable文件的形式存储在所述存储装置中,其中,所述地址为所述值在所述存储装置中的存储地址,其中,所述多个SSTable文件的数据块中的每个数据块中的数据为键地址对。6.一种数据压缩Compaction方法,所述方法由存储装置执行,其中,所述方法包括:对所述存储装置中基于日志结构合并树LSM
‑
Tree机制存储的将被执行压缩操作的多个排序字符串表SSTable文件的索引块进行解析以获得所述多个SSTable文件的数据块中的数据的索引;将所述多个SSTable文件的数据块中的数据的索引发送到电子装置,其中,所述多个SSTable文件的数据块中的数据的索引由所述电子装置用于对所述多个SSTable文件的数据块中的数据执行归并排序以获得重建的数据块;对所述重建的数据块中的数据执行索引重建以获得与所述重建的数据块相应的重建的索引块;将所述重建的数据块中的每个重建的数据块和所述重建的索引块中的与所述每个重建的数据块相应的重建的索引块拼接以重建新的SSTable文件。
7.如权利要求6所述的方法,其中,所述存储装置为SmartSSD,所述SmartSSD包括计算单元和存储单元,所述解析步骤、所述索引重建步骤以及所述拼接步骤由所述计算单元执行。8.一种数据压缩Compaction方法,所述方法包括如权利要求1
‑
5中的任意一项所述的步骤以及如权利要求6
‑
7中的任一项所述的步骤。9.一种电子装置,包括:确定单元,被配置为确定与所述电子装置连接的存储装置中存储的排序字符串表SSTable文件中的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。