APP下载

数据压缩在大规模存储中的应用研究

2024-05-16马震赵君吴思琪

中国新通信 2024年4期
关键词:存储研究

马震 赵君 吴思琪

摘要:在当前大规模分布式数据密集型应用需求快速增长的背景下,诸如Ceph等底层存储服务正面临着日益增加的输入/输出(I/O)压力,即使在数据量巨大且高并发的情况下,存储服务也必须具备高吞吐量的I/O性能。为了满足日益扩大的并行数据传输需求,急需进一步提高带宽的利用率。随着云存储的普及,以视频和图像存储为基础的对象存储服务越来越受到资源有限的用户的青睐,特别是中小型企业和个人用户。这类用户的特点是存储读取操作较少,但对存储价格更为敏感。由于这些资源通常按照使用量付费,因此最大限度地减少存储空间占用并提高带宽利用率变得尤为重要。基于此,本文评估了通过数据压缩来节省存储空间和带宽的潜在优势,并提出了基于深度学习的压缩层技术,尽管数据压缩会增加一定的计算开销,但相对于其带来的成本优势而言,这些开销是可以忽略不计的。

关键词:数据压缩、 存储  研究

一、应用背景与意义

随着数据的速度、规模和多样性日益增长,人们迫切需要灵活的应用程序来快速、经济高效地处理大量异构数据,例如网页内容、在线交易记录、访问日志等。这些应用通常属于数据密集型应用,需要不断地获取海量数据集(例如通过网页爬取或分析访问日志),并处理这些不断变化的数据(例如建立最新的搜索索引)。为了实现可扩展性和高性能,数据采集和计算任务需要在由成百上千台机器组成的大规模数据基础设施上进行分布式部署,但是这种大规模基础设施的构建和维护成本较高。而新兴的云存储模式提供了一种新的资源管理模式,备受工业界和学术界的关注,即用户无需购买和管理硬件设备,而是租用虚拟机和存储空间。在这种情况下,数据密集型应用变得极具吸引力,需要处理大量数据的用户可以租用所需资源来运行其应用程序,并且只需支付其消耗的资源费用。

由于数据密集型应用需要处理海量数据,因此需要大量的存储空间。此外,为了以可扩展的方式处理这些大规模数据,必须在参与节点之间进行大规模并行数据传输,因此底层网络基础设施需要具有高带宽利用率。在云计算环境中,存储空间和带宽都是按使用量付费的资源。所以,最大限度地降低数据密集型应用所占用的存储空间和提高带宽利用率是非常重要的,能直接降低整体应用部署成本。

而数据压缩技术在存储中的应用将会带来以下技术优势:

节省存储空间:数据压缩技术可以显著减少所需的存储空间,使得存储设备可以容纳更多的数据,从而提高存储效率,并降低存储成本。

提高数据传输效率:压缩数据可以减少数据传输量,加快数据传输速度,降低网络带宽需求,特别是在需要通过网络进行数据传输的情况下,这一点尤为重要。

加快数据访问速度:压缩的数据可以更快地加载到内存中,并且处理速度更快,这是因为压缩后的数据量更小,减少了磁盘I/O操作次数,提高了数据访问速度。

提高系统性能:通过减少存储和传输的数据量,数据压缩可以降低系统负载,减少资源占用,提高整体系统性能,使得系統更具响应性和效率。

本文对目前主流的用于存储的数据压缩技术进行了系统地研究,评估了数据压缩技术在节省存储空间方面的优势,并提出了基于深度学习的压缩层技术。

二、用于存储的主流数据压缩技术

(一)压缩层技术

Nicola在文献[1]提出了一种基于采样的通用压缩层,它能动态适应异构数据,处理数据密集型应用的部署和执行所产生的高并发访问模式。特别是,作者引入了一个更通用的压缩层,将其建议的适用性扩展到虚拟机映像的管理(以及应用数据的管理),并展示了如何将其集成到云架构中。此外,作者建议在Blob- Seer [3]之上实现压缩层,该系统是一个面向版本的分布式存储系统,专门设计用于在大量访问并发的情况下提供高吞吐量。

其主要实现思路包含以下六个部分:

云中间件:负责管理云上的物理资源,安排新虚拟机的实例化位置,跟踪每个用户的资源消耗情况、执行策略等。云中间件提供控制API,使用户能够执行各种管理任务,如虚拟机部署和终止、监控等。

分布式存储服务:负责在云上组织和存储数据,充当数据共享服务,在云提供商在服务级别协议中规定的服务质量保证(性能、数据可用性等)范围内,为透明访问数据提供便利。

云客户端:使用云中间件的控制 API 与云进行交互,并访问数据存储服务,以便操作虚拟机映像和应用程序数据。

管理程序:是虚拟化中间件,利用计算节点的物理资源为虚拟机提供虚拟操作平台。在这一角色中,它模拟虚拟文件系统,该系统由虚拟机映像备份,而虚拟机映像是一个可从计算节点主机文件系统访问的常规文件。

虚拟机:代表运行客户操作系统和用户应用程序的虚拟环境。虚拟机可以相互通信,并通过分布式存储服务共享应用数据。

压缩层:捕获所有数据访问(包括应用程序数据和虚拟机镜像),并根据数据剥离与大块采样原则进行处理。同时,压缩层在计算节点和云网关上运行,以调节客户端、管理程序和虚拟机与分布式存储服务之间的交互。

实验证明,该压缩层的加入可以将随机文本内容存储的空间占有率降低40%,并节省60%的带宽。但是,其使用的Blob- Seer并不是主流技术,如果在主流的分布式存储例如Ceph上实现压缩层,可以大幅度降低Ceph本身的系统开销。

(二)基于深度学习的图像与视频压缩技术

文献[4]开发并实施了基于深度学习的离散小波变换(DWT)模型,用于水下物联网(IoUT)的图像压缩;卷积神经网络(CNN)用于编码和解码,以纳入高质量图像。文献[4]认为机器学习监督CNN在压缩效率和重建图像质量方面优于超分辨率深度神经网络、JPEG和 JPEG2000等当前方法,该方法有效减少了79.7038%的空间利用。

文献[5]提出一种具有匹配“语义分割编码器-解码器”的新型分层图像压缩架构。在编码器和解码器中,都对上采样图像应用了语义分割网络。然而,从图像中提取的语义分割部分与原始图像并不完全相同。为了补偿与原始图像间的质量差异,文献[5]将一个具有特定结构的神经卷积网络用于拟合其在被移除部分的非线性图上的原始分布。相较于基于 HEVC的编解码器,该方法BD速率降低了35.31%,比特率降低了5%,编码时间节省了24%。

文献[6]提出了一种高效的基于上下文的卷积网络用于图像压缩。通过其特殊的三维之字形扫描和三维分码技术来描述并行熵,实现了对上下文的编码,这些都是通过不变转换CCN卷积滤波器上放置二进制掩码实现的。CCN还展示了其在无损压缩和有损图像压缩中进行熵建模的能力:使用CCN直接计算每个编码的伯努利分布,以进行熵的测量,得到的三个 CCN 近似参数的高斯分布的离散混合就是每个码组的分布。CCN的熵模型和分析/合成变换可以大幅度提高编码速率,并降低失真率。

三、基于深度学习的压缩层技术

根据以上两节的描述可知,随着存储技术与深度学习技术的发展,数据压缩可以大幅度降低数据存储所需空间,提升带宽利用率,并且其带来的额外开销都在可承受范围内。因此,在存储中使用数据压缩技术是非常有必要的。本文提出了基于深度学习的压缩层技术,主要分为离散小波变换层和深度学习层两个部分,其结构如图1所示。

(一)离散小波变换层

本层可以使用离散小波变换图像将分解成不同尺度的频率成分,使得图像的大部分能量都集中在少数高幅值的小波系数中,而大多数小波系数接近于零。因此,可以舍弃或近似这些接近零的小波系数,从而实现数据压缩。

本层同样可以将图像分解成不同尺度的细节部分和粗略部分。对于图像中的细节部分,可以使用较高的频率分辨率来捕捉图像中的细微细节信息;而对于粗略部分,可以使用较低的频率分辨率來捕捉图像的整体结构。这种多分辨率特性可以有效地压缩图像。

本层能够将图像分解成空间上局部的频率信息,实现在压缩过程中对不同局部区域进行不同的处理。对于图像中的局部细节部分,可以保留更多的小波系数以保持细节信息;而对于相对平滑的区域,可以减少保留的系数,以实现更高程度地压缩。

另外,离散小波变化为可逆变换,这意味着图像在经过压缩后可以被精确地恢复。

(二)深度学习层

本层在离散小波变换的基础上,进一步实现了对小波频域信息的编码,其具体实现方式为提取小波频域信息中人眼敏感的部分,以实现对图像信息的进一步压缩。

本层采用了自适应压缩的编码器与解码器组合,具有以下功能:

①分析输入数据的内容特征,例如图像中的纹理、边缘、颜色分布等;能够根据不同内容特征的重要性,选择合适的压缩算法和参数设置;

②根据数据的统计特征来调整压缩方式,例如,在数据具有较高的冗余性时,可以采用更高效的压缩算法来去除冗余信息;

③根据应用场景的需求来调整对压缩误差的容忍度,对于一些对图像质量要求较高的应用,可以降低压缩比以保证图像质量;而对于一些对图像质量要求相对较低的应用,可以提高压缩比以获得更高的压缩率;④根据数据的动态变化来实时调整压缩策略,例如,在视频流中,当场景变化较大或者运动较快时,可以调整压缩策略以适应动态变化的内容。

四、结束语

本文总结了目前主流的用于存储系统的数据压缩方法,并在前人的基础上,提出了基于深度学习的压缩层技术,可以用于大规模分布式系统的数据压缩,进一步降低数据存储系统中的存储空间用量,并提升数据传输速率。

作者单位:马震 赵君 吴思琪 联通在线信息技术有限公司

参考文献

[1]Nicolae B.On the benefits of transparent compression for cost-effective cloud data storage[M]//Transactions on Large-Scale Data-and Knowledge-Centered Systems III:Special Issue on Data and Knowledge Management in Grid and P2P Systems.Berlin,Heidelberg:Springer Berlin Heidelberg,2011:167-184.

[2]Nicolae B,Antoniu G,Bougé L.Enabling high data throughput in desktop grids through decentralized data and metadata management:The blobseer approach[C]//Euro-Par 2009 Parallel Processing:15th International Euro-Par Conference,Delft,The Netherlands,August 25-28,2009.Proceedings 15.Springer Berlin Heidelberg,2009:404-416.

[3]Nicolae B.BlobSeer:Towards efficient data storage management for large-scale,distributed systems[D].Université Rennes 1,2010.

[4]Krishnaraj N,Elhoseny M,Thenmozhi M,et al.Deep learning model for real-time image compression in Internet of Underwater Things (IoUT)[J]. Journal of Real-Time Image Processing, 2020,17:2097-2111.

[5]Hoang T M,Zhou J,Fan Y.Image compression with encoder-decoder matched semantic segmentation[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition workshops.2020:160-161.

[6]Li M,Ma K,You J,et al.Efficient and effective context-based convolutional entropy modeling for image compression[J].IEEE Transactions on Image Processing,2020,29:5900-5911.

马震(1984.11-),男,汉族,江苏徐州,研究生,研究方向:数据挖掘方向。

猜你喜欢

存储研究
FMS与YBT相关性的实证研究
2020年国内翻译研究述评
辽代千人邑研究述论
视错觉在平面设计中的应用与研究
EMA伺服控制系统研究
新版C-NCAP侧面碰撞假人损伤研究
档案管理中电子文件的存储探究
条形码技术在涂装生产中的应用
云计算与虚拟化