1.一種文件下載方法,其特征在于,所述方法包括下述步驟:
在接收到用戶在應用程序中觸發(fā)的對文件的下載請求時,由所述下載請求獲取所述文件的長度;
依據所述文件的長度和預設線程數計算所述文件的每個下載線程的數據長度和下載起止位置,所述文件對應多個所述下載線程;
在檢測到線程池中存在空閑線程時,將所述文件的每個下載線程分配給所述空閑線程,依據所述計算的每個下載線程的數據長度和下載起止位置將所述應用程序對應的文件的每個下載線程的數據進行并行下載。
2.如權利要求1所述的方法,其特征在于,所述依據所述文件的長度和預設線程數計算所述文件的每個下載線程的數據長度和下載起止位置具體包括:
將所述文件的長度除以所述預設線程數,得到所述文件的每個下載線程的數據長度;
由所述文件的每個下載線程的數據長度計算所述文件的每個線程的下載開始字節(jié)位置和下載結束字節(jié)位置;所述下載起止位置包括:所述下載開始字節(jié)位置和所述下載結束字節(jié)位置;
所述依據所述計算的每個下載線程的數據長度和下載起止位置將所述應用程序對應的文件的每個下載線程的數據進行并行下載具體包括:
依據所述文件的每個下載線程的下載起止位置并行將所述文件的每個下載線程的數據寫入存儲區(qū)。
3.如權利要求1或2所述的方法,其特征在于,所述下載請求包括所述文件的統一資源定位符URL;
所述依據所述文件的長度和預設線程數計算所述文件的每個下載線程的數據長度和下載起止位置具體包括:
若檢測到所述文件的URL在下載列表中,獲取所述文件已下載的數據大小,并根據所述獲取的所述文件已下載的數據的大小更新所述文件的每個線程的下載起止位置。
4.如權利要求2所述的方法,其特征在于,在所述文件的長度小于預設文件長度時,所述預設線程數為預設定值;在所述文件的長度大于預設文件長度時,所述預設線程數為所述文件的長度除以預設線程區(qū)塊長度得到的數值。
5.如權利要求1所述的方法,其特征在于,所述下載請求包括所述應用程序的應用標識;所述下載請求為多個,且為用戶在多個應用程序中觸發(fā)的對應用標識對應的文件的下載請求時,所述文件的每個下載線程分配給所述空閑線程之前,所述方法還包括:
計算所述應用標識對應的下載線程的數量;
計算所述空閑線程的數量;
所述在檢測到線程池中存在空閑線程時,將所述文件的每個下載線程分配給所述空閑線程,依據所述計算的每個下載線程的數據長度和下載起止位置將所述應用程序對應的文件的每個下載線程的數據進行并行下載,包括:
在所述應用標識對應的下載線程的數量小于或等于所述空閑線程的數量時,將所述應用標識對應的全部下載線程的數據進行并行下載;
在所述應用標識對應的下載線程的數量大于所述空閑線程的數量時,依據所述應用標識對應的文件優(yōu)先級將所述應用標識對應的文件的下載線程分配給所述空閑線程并進行并行下載。
6.一種文件下載裝置,其特征在于,所述裝置包括:
獲取單元,用于在接收到用戶在應用程序中觸發(fā)的對文件的下載請求時,由所述下載請求獲取所述文件的長度;
計算單元,用于依據所述文件的長度和預設線程數計算所述文件的每個下載線程的數據長度和下載起止位置,所述文件對應多個所述下載線程;
下載單元,用于在檢測到線程池中存在空閑線程時,將所述文件的每個下載線程分配給所述空閑線程,依據所述計算的每個下載線程的數據長度和下載起止位置將所述應用程序對應的文件的每個下載線程的數據進行并行下載。
7.如權利要求1所述的裝置,其特征在于,所述計算單元包括:
長度計算子單元,用于將所述文件的長度除以所述預設線程數,得到所述文件的每個下載線程的數據長度;
位置計算子單元,用于由所述文件的每個下載線程的數據長度計算所述文件的每個線程的下載開始字節(jié)位置和下載結束字節(jié)位置;所述下載起止位置包括:所述下載開始字節(jié)位置和所述下載結束字節(jié)位置;
所述下載單元具體用于:依據所述文件的每個下載線程的下載起止位置并行將所述文件的每個下載線程的數據寫入存儲區(qū)。
8.如權利要求6或7所述的裝置,其特征在于,所述下載請求包括所述文件的統一資源定位符URL;
所述計算單元具體用于:在檢測到所述文件的URL在下載列表中時,獲取所述文件已下載的數據大小,并根據所述獲取的所述文件已下載的數據的大小更新所述文件的每個線程的下載起止位置。
9.如權利要求7所述的裝置,其特征在于,在所述文件的長度小于預設文件長度時,所述預設線程數為預設定值;在所述文件的長度大于預設文件長度時,所述預設線程數為所述文件的長度除以預設線程區(qū)塊長度得到的數值。
10.如權利要求6所述的裝置,其特征在于,所述下載請求包括所述應用程序的應用標識;所述下載請求為多個,且為用戶在多個應用程序中觸發(fā)的對應用標識對應的文件的下載請求時,所述計算單元包括:
線程數量計算子單元,用于計算所述應用標識對應的下載線程的數量;
所述線程數量計算子單元,還用于計算所述空閑線程的數量;
所述下載單元包括:
第一下載子單元,用于在所述應用標識對應的下載線程的數量小于或等于所述空閑線程的數量時,將所述應用標識對應的全部下載線程的數據進行并行下載;
第二下載子單元,用于在所述應用標識對應的下載線程的數量大于所述空閑線程的數量時,依據所述應用標識對應的文件優(yōu)先級將所述應用標識對應的文件的下載線程分配給所述空閑線程并進行并行下載。