Способ, устройство и терминал для загрузки файлов

1. Способ загрузки файлов, содержащий этапы, на которых:
- на основании информации о целевом файле для целевого файла, запускают множество потоков загрузки сегментов для загрузки множества сегментных файлов целевого файла;
- когда один из множества потоков загрузки сегментов выполнил свою задачу загрузки, идентифицируют в качестве ассистируемого потока загрузки сегмента тот поток загрузки сегмента, который все еще имеет незагруженный контент;
- отрезают концевую часть незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, согласно предварительно заданной пропорции; и
- запускают поток загрузки сегмента, выполнивший свою задачу загрузки, снова для загрузки концевой части незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента.
2. Способ по п. 1, причем в качестве ассистируемого потока загрузки сегмента идентифицируют один из множества потоков загрузки сегментов, имеющий незагруженный контент наибольшего размера.
3. Способ по п. 1, причем в качестве ассистируемого потока загрузки сегмента идентифицируют один из множества потоков загрузки сегментов, имеющий наибольшее ожидаемое оставшееся время загрузки.
4. Способ по п. 1, причем этап, на котором, на основании информации о целевом файле для целевого файла, запускают множество потоков загрузки сегментов для загрузки множества сегментных файлов целевого файла, включает в себя:
- получение размера файла для целевого файла на основании информации о целевом файле;
- осуществление процесса сегментации целевого файла для получения множества сегментных файлов целевого файла;
- распределение множества потоков загрузки сегментов на основании общего количества сегментных файлов множества; и
- запуск множества потоков загрузки сегментов для загрузки множества сегментных файлов целевого файла, соответственно.
5. Способ по п. 1, перед отрезанием концевой части незагруженного контента дополнительно включающий в себя:
- определение, является ли объем данных незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, меньшим, чем предварительно заданное пороговое значение;
- когда определено, что объем данных незагруженного контента меньше предварительно заданного порогового значения, использование ассистируемого потока загрузки сегмента для прямой загрузки незагруженного контента; и
- когда определено, что объем данных незагруженного контента не меньше предварительно заданного порогового значения, отрезание концевой части незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, согласно предварительно заданной пропорции,.
6. Способ по п. 1, дополнительно содержащий этапы, на которых:
- осуществляют мониторинг статуса загрузки множества потоков загрузки сегментов и изменения размера незагруженных частей множества сегментных файлов во время процесса загрузки;
- определяют, выполнил ли какой поток загрузки сегмента свою задачу загрузки;
- когда определено, что один поток загрузки сегмента выполнил свою задачу загрузки, определяют, выполнили ли все потоки загрузки сегментов свои задачи загрузки;
- когда определено, что не все потоки загрузки сегментов выполнили свои задачи загрузки, идентифицируют один поток загрузки сегмента в качестве ассистируемого потока загрузки сегмента; и
- когда определено, что ни один из потоков загрузки сегментов не выполнил свою задачу загрузки, осуществляют непрерывный мониторинг статуса загрузки множества потоков загрузки сегментов и изменения размера незагруженных частей множества сегментных файлов во время процесса загрузки.
7. Способ по п. 1, причем этап, на котором отрезают концевую часть незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, согласно предварительно заданной пропорции, включает в себя:
- нарезку незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, на переднюю часть и концевую часть в соответствии с дихотомическим способом; и
- привязку концевой части незагруженного контента к потоку загрузки сегмента, выполнившему свою задачу загрузки.
8. Способ по п. 4, причем процесс сегментации равным образом делит целевой файл на множество сегментных файлов целевого файла.
9. Способ по п. 4, причем общее количество множества сегментных файлов целевого файла меньше или равно предварительно заданному пороговому значению; и предварительно заданное пороговое значение установлено пользователем для ограничения количества множества потоков загрузки сегментов.
10. Способ по п. 4, после отрезания концевой части незагруженного контента дополнительно включающий в себя добавление новой записи сегментного файла в таблицу данных о загрузке файлов, соответствующую целевому файлу.
11. Устройство для загрузки файлов, содержащее:
- первый пусковой модуль, выполненный с возможностью, на основании информации о целевом файле, запуска множества потоков загрузки сегментов для загрузки множества сегментных файлов целевого файла;
- получающий модуль, выполненный с возможностью, когда один из множества потоков загрузки файла выполнил свою задачу загрузки, идентификации в качестве ассистируемого потока загрузки сегмента того потока загрузки сегмента, который все еще имеет незагруженный контент;
- отрезающий модуль, выполненный с возможностью отрезания концевой части незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, согласно предварительно заданной пропорции; и
- второй пусковой модуль, выполненный с возможностью запуска потока загрузки сегмента, который выполнил свою задачу загрузки, снова для загрузки концевой части незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента.
12. Устройство по п. 11, причем в качестве ассистируемого потока загрузки сегмента идентифицируется один из множества потоков загрузки сегментов, имеющий незагруженный контент наибольшего размера.
13. Устройство по п. 11, причем в качестве ассистируемого потока загрузки сегмента идентифицируется один из множества потоков загрузки сегментов, имеющий наибольшее ожидаемое оставшееся время загрузки.
14. Устройство по п. 11, причем первый пусковой модуль содержит:
- блок получения информации, выполненный с возможностью получения размера файла для целевого файла на основании информации о целевом файле;
- блок сегментации, выполненный с возможностью осуществления процесса сегментации целевого файла для получения множества сегментных файлов целевого файла;
- блок распределения потоков, выполненный с возможностью распределения множества потоков загрузки сегментов на основании количества сегментных файлов множества; и
- блок запуска потоков, выполненный с возможностью запуска множества потоков загрузки сегментов для загрузки множества сегментных файлов целевого файла, соответственно.
15. Устройство по п. 11, дополнительно содержащее:
- определяющий модуль, выполненный с возможностью:
- определения, меньше ли объем данных незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, предварительно заданного порогового значения;
- когда определено, что объем данных незагруженного контента меньше предварительно заданного порогового значения, управления поддерживаемым потоком загрузки сегмента для прямой загрузки незагруженного контента; и
- когда определено, что объем данных незагруженного контента не меньше предварительно заданного порогового значения, управления отрезающим модулем для отрезания концевой части незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, согласно предварительно заданной пропорции.
16. Устройство по п. 11, причем получающий модуль дополнительно выполнен с возможностью:
- мониторинга статуса загрузки множества потоков загрузки сегментов и изменений размера незагруженных частей множества сегментных файлов во время процесса загрузки;
- определения, выполнил ли какой поток загрузки сегмента свою задачу загрузки;
- когда определено, что один поток загрузки сегмента выполнил свою задачу загрузки, определения, выполнили ли все потоки загрузки сегментов свои задачи загрузки;
- когда определено, что не все потоки загрузки сегментов выполнили свои задачи загрузки, идентификации одного из потоков загрузки сегментов в качестве ассистируемого потока загрузки сегмента; и
- когда определено, что ни один из потоков загрузки сегмента не выполнил свою задачу загрузки, осуществление непрерывного мониторинга статуса загрузки множества потоков загрузки сегментов и изменений размера незагруженных частей множества сегментных файлов во время процесса загрузки.
17. Устройство по п. 11, причем отрезающий модуль дополнительно выполнен с возможностью:
- нарезки незагруженного контента, соответствующего ассистируемому потоку загрузки сегмента, на переднюю часть и концевую часть в соответствии с дихотомическим способом; и
- привязки концевой части незагруженного контента к потоку загрузки сегмента, выполнившему свою задачу загрузки.
18. Устройство по п. 14, причем процесс сегментации равным образом делит целевой файл на множество сегментных файлов целевого файла.
19. Устройство по п. 14, причем общее количество множества сегментных файлов целевого файла меньше или равно предварительно заданному пороговому значению; и предварительно заданное пороговое значение установлено пользователем для ограничения количества множества потоков загрузки сегментов.
20. Устройство по п. 14, причем второй пусковой модуль дополнительно выполнен с возможностью добавления новой записи сегментного файла в таблицу данных о загрузке файлов, соответствующую целевому файлу.