分塊 (計算機)

計算機編程中分塊具有多種含義。

在內存管理方面

編輯

典型的現代軟件系統從稱為堆的結構中動態分配內存。調用堆管理例程用來分配和釋放內存。堆管理引入了一些計算時間,可能是一個性能問題。分塊是指通過使用特殊的情況知識來匯總相關的內存分配請求從而提高性能的策略。例如,如果知道某種對象通常需要8個為一組使用,那麼與其單獨分配和釋放每個對象,對堆管理器進行16次調用,不如分配和釋放由8個對象組成的數組,從而將調用次數減少到2次。

在HTTP消息傳輸方面

編輯

分塊HTTP1.1協議[1]的一個特殊功能。這裡,其含義與內存管理中的含義相反。它指的是一種能力,允許將不方便的大消息分解成更便於使用的小「塊」。

在重複數據刪除、數據同步和遠程數據壓縮等方面

編輯

重複數據刪除、數據同步和遠端數據壓縮中,分塊是通過分塊算法將文件分割成更小塊的過程。它可以幫助消除存儲上重複數據的重複拷貝,或者通過只選擇被更改的塊來減少通過網絡上發送的數據量。諸如旋轉哈希及其變種的基於內容分塊算法(英語:Content-Defined Chunking,CDC)在過去15年中一直是最流行的數據重複刪除算法[2]

參見

編輯

參考文獻

編輯
  1. ^ HTTP/1.1: Protocol Parameters. [2019-12-10]. (原始內容存檔於2020-12-12) (英語). 
  2. ^ FastCDC: a Fast and Efficient Content-Defined Chunking Approach for Data Deduplication (PDF). USENIX ATC 』16. 2016 [2019-12-10]. (原始內容存檔 (PDF)於2020-11-12) (英語).