iOS面試題:斷點續(xù)傳如何實現(xiàn)的?

斷點續(xù)傳的理解可以分為兩部分:一部分是斷點,一部分是續(xù)傳。斷點的由來是在下載過程中,將一個下載文件分成了多個部分,同時進(jìn)行多個部分一起的下載,當(dāng) 某個時間點,任務(wù)被暫停了,此時下載暫停的位置就是斷點了。續(xù)傳就是當(dāng)一個未完成的下載任務(wù)再次開始時,會從上次的斷點繼續(xù)傳送。

使用多線程斷點續(xù)傳下載的時候,將下載或上傳任務(wù)(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分采用一個線程進(jìn)行上傳或下載,多個線程并發(fā)可以占用服務(wù)器端更多資源,從而加快下載速度。

在下載(或上傳)過程中,如果網(wǎng)絡(luò)故障、電量不足等原因?qū)е孪螺d中斷,這就需要使用到斷點續(xù)傳功能。下次啟動時,可以從記錄位置(已經(jīng)下載的部分)開始,繼續(xù)下載以后未下載的部分,避免重復(fù)部分的下載。斷點續(xù)傳實質(zhì)就是能記錄上一次已下載完成的位置。

斷點續(xù)傳的過程

  • 1.斷點續(xù)傳需要在下載過程中記錄每條線程的下載進(jìn)度;
  • 2.每次下載開始之前先讀取數(shù)據(jù)庫,查詢是否有未完成的記錄,有就繼續(xù)下載,沒有則創(chuàng)建新記錄插入數(shù)據(jù)庫;
  • 3.在每次向文件中寫入數(shù)據(jù)之后,在數(shù)據(jù)庫中更新下載進(jìn)度;
  • 4.下載完成之后刪除數(shù)據(jù)庫中下載記錄。

更多:iOS面試題合集

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容