馬震 趙君 吳思琪

摘要:在當前大規模分布式數據密集型應用需求快速增長的背景下,諸如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-),男,漢族,江蘇徐州,研究生,研究方向:數據挖掘方向。