【最佳實踐】OSS開源工具ossutil-大文件斷點續傳

常常碰到內部同窗或者外部客戶問ossutil關於大文件斷點續傳的問題。本文簡單描述下原理並舉例說明。html

用戶可從這裏獲取ossutil。git

官網:https://help.aliyun.com/document_detail/50452.html
代碼:https://github.com/aliyun/ossutilgithub

OSS斷點續傳

應用場景

當調用OSS的PutObject來上傳較大的文件時,若是上傳過程當中出現錯誤,好比網絡錯誤,那麼這次上傳失敗。重試時必須從文件起始位置上傳。網絡

針對這種狀況,OSS提供了分片上傳(Multipart Upload)來達到斷點續傳的效果。分片上傳就是將要上傳的文件分紅多個數據塊(OSS裏又稱之爲Part)來分別上傳,上傳完成以後再調用OSS的接口將這些Part組合成一個Object。spa

所以,OSS斷點續傳適用於如下場合。htm

  • 惡劣的網絡環境:如手機端,當出現上傳失敗的時候,能夠對失敗的Part進行獨立的重試,而不須要從新上傳其餘的Part。
  • 斷點續傳:中途暫停以後,能夠從上次上傳完成的Part的位置繼續上傳。

詳細信息,請參考https://help.aliyun.com/document_detail/31850.html接口

實現原理

在分片上傳的過程當中,已經上傳的Part的生命週期是永久的,所以很容易能夠實現斷點續傳的功能。生命週期

相關文章
相關標籤/搜索