(57)【要約】      （修正有）【課題】オブジェクトファイルのダウンロード速度を向上し、使用上の体験を改善するファイルダウンロード方法、装置およびコンピュータ読取り可能な媒体を提供する。【解決手段】ファイルダウンロード方法は、使用者が送信したオブジェクトファイルをダウンロードする指令を受信してダウンロード任務が任務一覧に含まれているかを確定し、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧中の未完成ダウンロード任務でない場合、オブジェクトファイルのサイズを獲得する請求をサーバーに送信し、ダウンロードに用いられるネットワークの速度を獲得する。ネットワークの速度とオブジェクトファイルのサイズによりオブジェクトファイルを分類することで、少なくとも１つのダウンロード待ち分類ファイルと各ダウンロード待ち分類ファイルに対応する分類情報を獲得し、複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行する。【選択図】図１
2020091870.tif 000002
【特許請求の範囲】
【請求項１】
使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップと、
ダウンロードに用いられている現在のネットワークの速度を測定するステップと、
現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、
複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを含むことを特徴とするファイルダウンロード方法。
【請求項２】
前記複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップは、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップを含むことを特徴とする請求項１に記載のファイルダウンロード方法。
【請求項３】
現在の前記ネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップは、
予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定するステップと、
予め設定分類調節方法において、現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得するステップと、
前記第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとを含むことを特徴とする請求項１に記載のファイルダウンロード方法。
【請求項４】
前記オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップは、
前記オブジェクトファイルのサイズを獲得するためサーバーと接続する請求をサーバーに送信するステップと、
サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報によりオブジェクトファイルのサイズを獲得するステップとを含むことを特徴とする請求項２に記載のファイルダウンロード方法。
【請求項５】
複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードチャイルドスレッドを形成し、複数個の分類ダウンロードチャイルドスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップは、１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドは前記接続請求において用いられる接続を再び用いるステップを含むことを特徴とする請求項４に記載のファイルダウンロード方法。
【請求項６】
前記ファイルダウンロード方法は、少なくとも１つの分類ダウンロードスレッドが所定のダウンロード待ち分類ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在するかを確定するステップと、
所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在する場合、前記スレッドをオブジェクトダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１個の分類子任務を確定するステップと、
前記オブジェクトダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドとにより前記少なくとも１個の分類子任務をダウンロードするステップとを更に含むことを特徴とする請求項２に記載のファイルダウンロード方法。
【請求項７】
前記ファイルダウンロード方法は、オブジェクトファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシング（Caching）されかつ前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルのダウンロード状態情報を獲得するステップと、
各ダウンロード待ち分類ファイルにおいて、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分類ファイルに対応するデータをダウンロードするステップとを更に含み、
各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含み、前記ダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指すことを特徴とする請求項１に記載のファイルダウンロード方法。
【請求項８】
ファイルダウンロード装置であって、そのファイルダウンロード装置は、
少なくとも１個の処理装置と、
１個または複数個のプログラムが記憶されている記憶装置とを含み、
少なくとも１個の処理装置が前記記憶装置に記憶されている一個または複数個のプログラムを実行することにより少なくとも１個の処理装置は所定のステップを実施し、そのステップは、
使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップと、
ダウンロードに用いられている現在のネットワークの速度を測定するステップと、
現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、
複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを含むことを特徴とするファイルダウンロード装置。
【請求項９】
複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップは、
複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップを含むことを特徴とする請求項８に記載のファイルダウンロード装置。
【請求項１０】
前記現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップは、
予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定するステップと、
予め設定分類調節方法において現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得するステップと、
前記第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとを含むことを特徴とする請求項８に記載のファイルダウンロード装置。
【請求項１１】
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップは、
前記オブジェクトファイルのサイズを獲得するためサーバーと接続する接続請求をサーバーに送信するステップと、
サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報により前記オブジェクトファイルのサイズを獲得するステップとを含むことを特徴とする請求項９に記載のファイルダウンロード装置。
【請求項１２】
複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップは、
１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドが前記接続請求において用いられる接続を再び用いるステップを含むことを特徴とする請求項１１に記載のファイルダウンロード装置。
【請求項１３】
前記ステップは、少なくとも１つの分類ダウンロードスレッドが所定のダウンロード待ち分類ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在するかを確定するステップと、
所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在する場合、前記スレッドをオブジェクトダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１つの分類子任務を確定するステップと、
前記オブジェクトダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドとにより前記少なくとも１つの分類子任務をダウンロードするステップとを更に含むことを特徴とする請求項９に記載のファイルダウンロード装置。
【請求項１４】
前記ステップは、オブジェクトファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシングされかつ前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルのダウンロード状態情報を獲得するステップと、
各ダウンロード待ち分類ファイルにおいて、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分類ファイルに対応するデータをダウンロードするステップとを更に含み、
各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含む。前記ダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指すことを特徴とする請求項８に記載のファイルダウンロード装置。
【請求項１５】
プログラムが記憶されているコンピュータ読取り可能な媒体であって、前記プログラムが処理装置により実行されることにより所定のステップを実施し、そのステップは、
使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップと、
ダウンロードに用いられている現在のネットワークの速度を測定するステップと、
現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、
複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを含むことを特徴とするコンピュータ読取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、出願日が２０１８年１２月６日であり、出願番号が２０１８１１４８５１２８．６である中国特許出願の優先権を主張し、その中国特許出願の全内容を本願に採用する。
【０００２】
本発明は、インターネット技術に関し、特に、ファイルダウンロード方法、装置およびコンピュータ読取り可能な媒体に関するものである。
【背景技術】
【０００３】
端末によりファイルをダウンロードするとき、従来のダウンロード方法においてシングルチャンネル接続によりファイルをダウンロードしてきたが、外部の影響等によりシングルチャンネル接続はダウンロードの速度に影響をあたえるおそれがあるので、従来の技術において、分類ダウンロード方法によりファイルをダウンロードするマルチチャンネル接続を形成し、所定のネットワークの環境においてシングルチャンネル接続がファイルのダウンロードに影響を与えることを防止することができる。
【０００４】
従来の技術において、分類ダウンロード方法は、固定されている比例によりオブジェクトファイルに対応するデータを複数の部分に分け、マルチチャンネル接続により前記複数の部分のデータをダウンロードし、ダウンロードが終わった後、複数の部分のデータを一体に接続させる。しかしながら、使用者がファイルをダウンロードするとき、ネットワークの速度は異なっているので、固定の分類方法によりオブジェクトファイルをダウンロードするとき、ダウンロードにかかる時間が長くなり、使用者の体験に影響を与えるおそれがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例においてファイルダウンロード方法、装置およびコンピュータ読取り可能な媒体を提供することにより、オブジェクトファイル（object  file）をダウンロードする速度を向上させ、使用者の使用上の体験を改善することができる。
【課題を解決するための手段】
【０００６】
本発明の実施例において、ファイルダウンロード方法を提供する。その方法は、使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップと、ダウンロードに用いられている現在のネットワークの速度を測定するステップと、現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを含む。
【０００７】
好ましくは、複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップは、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップを含む。
【０００８】
好ましくは、現在の前記ネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップは、予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定するステップと、予め設定分類調節方法において、現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得するステップと、前記第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとを含む。
【０００９】
好ましくは、前記オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップは、前記オブジェクトファイルのサイズを獲得するためサーバーと接続する請求をサーバーに送信するステップと、サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報によりオブジェクトファイルのサイズを獲得するステップとを含む。
【００１０】
好ましくは、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードチャイルドスレッドを形成し、複数個の分類ダウンロードチャイルドスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップは、１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドは前記接続請求において用いた接続を再び用いるステップを含む。
【００１１】
好ましくは、前記ファイルダウンロード方法は、少なくとも１つの分類ダウンロードスレッドが所定のダウンロード待ち分類ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在するかを確定するステップと、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在する場合、前記スレッドをオブジェクトダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１個の分類子任務を確定するステップと、前記オブジェクトダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドとにより前記少なくとも１個の分類子任務をダウンロードするステップとを更に含む。
【００１２】
好ましくは、前記ファイルダウンロード方法は、オブジェクトファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシング（Caching）されかつ前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルのダウンロード状態情報を獲得するステップと、各ダウンロード待ち分類ファイルにおいて、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分類ファイルに対応するデータをダウンロードするステップとを更に含む。各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含む。前記ダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指す。
【００１３】
好ましくは、ダウンロードに用いられている現在のネットワークの速度を測定するステップは、現在のネットワークの速度を測定する時間内において複数個の測定時間を選択し、複数個の測定時間の測定値を獲得することにより、ネットワーク速度の変化の平均値を確定し、そのネットワーク速度の変化の平均値を現在のネットワークの速度とするステップを含む。
【００１４】
本発明の実施例においてファイルダウンロード装置を提供する。その装置は、  少なくとも１個の処理装置と、  １個または複数個のプログラムが記憶されている記憶装置とを含み、  少なくとも１個の処理装置が前記記憶装置に記憶されている一個または複数個のプログラムを実行することにより少なくとも１個の処理装置は所定のステップを実施し、そのステップは、  使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、  オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップと、  ダウンロードに用いられている現在のネットワークの速度を測定するステップと、  現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、  複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを含むことを特徴とするファイルダウンロード装置。
【００１５】
複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップは、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップを更に実行するように配置されることができる。
【００１６】
前記現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップは、予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定するステップと、予め設定分類調節方法において現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得するステップと、前記第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとを更に実行するように配置されることができる。
【００１７】
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップは、前記オブジェクトファイルのサイズを獲得するためサーバーと接続する接続請求をサーバーに送信するステップと、サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報により前記オブジェクトファイルのサイズを獲得するステップとを更に実行するように配置されることができる。
【００１８】
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップは、１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドが前記接続請求において用いられる接続を再び用いるステップを更に実行するように配置されることができる。
【００１９】
前記ステップは、少なくとも１つの分類ダウンロードスレッドが所定のダウンロード待ち分類ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在するかを確定するステップと、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在する場合、前記スレッドをオブジェクトダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１つの分類子任務を確定するステップと、前記オブジェクトダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドとにより前記少なくとも１つの分類子任務をダウンロードするステップとを更に実行するように配置されることができる。
【００２０】
前記ステップは、オブジェクトファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシングされかつ前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルのダウンロード状態情報を獲得するステップと、各ダウンロード待ち分類ファイルにおいて、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分類ファイルに対応するデータをダウンロードするステップとを更に実行するように配置されることができる。各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含む。前記ダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指す。
【００２１】
好ましくは、ダウンロードに用いられている現在のネットワークの速度を測定するステップは、現在のネットワークの速度を測定する時間内において複数個の測定時間を選択し、複数個の測定時間の測定値を獲得することにより、ネットワーク速度の変化の平均値を確定し、そのネットワーク速度の変化の平均値を現在のネットワークの速度にするステップを更に実行するように配置されることができる。
【００２２】
本発明の実施例においてコンピュータ読取り可能な媒体を提供する。前記プログラムが処理装置により実行されることにより所定のステップを実施し、そのステップは、  使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、  オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップと、  ダウンロードに用いられている現在のネットワークの速度を測定するステップと、  現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、  複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを含むことを特徴とするコンピュータ読取り可能な媒体。
【発明の効果】
【００２３】
本発明の実施例においてファイルダウンロード方法、装置およびコンピュータ読取り可能な媒体を提供する。本発明の実施例において、まず、使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定する。次に、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得する。次に、ダウンロードに用いられている現在のネットワークの速度を測定する。次に、現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルと各ダウンロード待ち分類ファイルに対応する分類情報を獲得する。最後に、各ダウンロード待ち分類ファイルに対応する分類情報により複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行する。ダウンロードに用いられている現在のネットワークの速度に適合する分類方法により前記オブジェクトファイルを分類し、分類により獲得した各ダウンロード待ち分類ファイルを同時ダウンロードする。それによりオブジェクトファイルをダウンロードする速度を向上させ、オブジェクトファイルのダウンロードにかかる時間を短縮し、かつ使用者の使用の体験を改善することができる。
【図面の簡単な説明】
【００２４】
次の図面により本発明をより詳細に理解してもらうことができるが、次の図面により本発明を限定する意図は全くない。
【図１】本発明のファイルダウンロード方法の実施例を示す流れ図である。
【図２】本発明のファイルダウンロード方法の他の実施例を示す流れ図である。
【図３】本発明のファイルダウンロード装置の実施例を示す構造図である。
【図４】本発明のファイルダウンロード装置の具体的な構造を示す図である。
【図５】本発明の実施例が例示のシステムに応用されることを示す概略図である。
【図６】本発明の実施例に係る電子装置の基本構造を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明の好適な実施例を説明する。本発明の実施例に記載されている内容により本発明の技術的事項を詳細に理解してもらうことができる。次の実施例は本発明の例示にしか過ぎないものであるため、本発明は次の実施例の構成にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても本発明に含まれることは勿論である。
【００２６】
注意されたいことは、本発明は複数の実施例を含み、各実施例は複数の特徴を含むことができ、本発明の複数の実施例および各実施例の特徴を組み合わせて矛盾がない場合、本発明の複数の実施例および各実施例の特徴を自由に組み合わせることができる。
【００２７】
図１を参照すると、図１には本発明のファイルダウンロード方法の実施例を示す流れ図が示されている。図１に示されるとおり、前記ファイルダウンロード方法は次のステップを含む。
ステップ１０１において、使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧（task  list）に含まれているかを確定する。
【００２８】
本実施例において、使用者はオブジェクトファイルをダウンロードする指令を端末装置に送信することができる。前記オブジェクトファイルは端末装置が使用者に推薦するものであるか或いは使用者が検索して得たものであることができる。
【００２９】
本実施例において、前記端末装置に予め設定アプリケーションを設置することができる。
【００３０】
本発明の応用例において、前記オブジェクトファイルは使用者が予め設定アプリケーションで検索をして得たものであることができる。
【００３１】
本発明の他の応用例において、前記オブジェクトファイルはサーバーが使用者の使用情報により獲得したものであり、ウェブページまたは予め設定アプリケーションの画面を介してそれを使用者に送信することができる。
【００３２】
使用者はオブジェクトファイルを選択した後ダウンロード項目を選択することにより、オブジェクトファイルをダウンロードする指令を端末装置に送信することができる。
【００３３】
使用者が送信したオブジェクトファイルをダウンロードする指令を受信したが、予め設定アプリケーションが非実行状態になっていると、前記予め設定アプリケーションを実行する。
【００３４】
オブジェクトファイルをダウンロードするダウンロード任務は任務一覧に含まれているかを確定する。すなわち、オブジェクトファイルをダウンロードするダウンロード任務は予め設定アプリケーションのダウンロード任務一覧中の未完成ダウンロード任務であるかを確定する。
【００３５】
予め設定アプリケーションにダウンロード任務一覧を設置することができる。ダウンロード任務一覧は未完成ダウンロード任務一覧を含むことができる。オブジェクトファイルの標識により未完成ダウンロード任務一覧中に前記オブジェクトファイルの標識が含まれているかを確定する。前記オブジェクトファイルの標識が含まれている場合、前記オブジェクトファイルは予め設定アプリケーションのダウンロード任務一覧中の未完成ダウンロード任務であることを意味する。前記オブジェクトファイルの標識が含まれていない場合、オブジェクトファイルはダウンロード任務一覧中の未完成ダウンロード任務であることを意味する。
【００３６】
ステップ１０２において、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、オブジェクトファイルのサイズを獲得する。
【００３７】
本実施例において、通信インタフェース（communication  interface）が予め設置されていることによりオブジェクトファイルのサイズを獲得する請求をサーバーに送信し、それによりサーバーはオブジェクトファイルのサイズを獲得することができる。前記オブジェクトファイルのサイズは例えば前記オブジェクトファイルに含まれるバイト（byte）数量であることができる。
【００３８】
本発明の実施例において、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得する前記ステップは、オブジェクトファイルのサイズを獲得するためサーバーと接続する請求をサーバーに送信するステップと、サーバーと接続された後サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報によりオブジェクトファイルのサイズを獲得するステップとを含むことができる。
【００３９】
各ダウンロード任務においてダウンロードを始めるとき、そのダウンロード任務にダウンロードスレッド（thread）をアロケーション（allocation）する。そのダウンロードスレッドはまず、いろいろなチェック（例えば、状態合法性のチェック、バッファ（buffer）完全性のチェック、ネットワークの可用性のチェック、ディスク容量のチェック、ブロークン・ポイント・コンティニュアスリィ・トランスファリング（broken-point  continuingly-transferring）の実行可能性のチェック等）をする。そのチェックをした後、ダウンロードスレッドは、１つ目のhttp請求の頭部のrangeフィールド（field）をサーバーに送信する。そのhttp請求はファイルがダウンロードするバイトの範囲を検出するためのものである。オブジェクトファイルが新しいダウンロード任務であるとき、rangeフィールドの値は０であることができる。オブジェクトファイルが未完成ダウンロード任務であるとき、rangeフィールドの値はキャッシュデータ（cache  data）により算出された請求データのスタートオフセット（StartOffset）であることができる。例えば、未完成ダウンロード任務を完成させる前、既に４００バイトをダウンロードした場合、前記スタートオフセットは４００であることができる。すなわち、前記接続請求は前記オブジェクトファイルの第一バイトから４００バイト以降のすべてのバイトを返却するようにサーバーに請求を送信する。
【００４０】
サーバーは前記オブジェクトファイルのサイズを獲得する請求を受信すると、ローカルストレージ（local  storage）に記憶されているオブジェクトファイルに関する情報において、オブジェクトファイルに含まれているバイト数量を検出する。その後、オブジェクトファイルに含まれているバイト数量をオブジェクトファイルのサイズとして端末装置にフィードバックする。
【００４１】
具体的に、前記オブジェクトファイルのサイズを獲得する請求は端末装置の標識を更に含むことができる。端末装置の標識によりネットワーク中のいろいろな端末装置を区分することができる。端末装置の標識は、例えば、数字、符号または数字と符号の組合せ等を含むことができる。ネットワークにおいて各端末装置の標識は唯一性を有している。
【００４２】
サーバーは、１つの端末装置が送信したオブジェクトファイルのサイズを獲得する請求を受信すると、請求中の端末装置の標識によりオブジェクトファイルのサイズを前記端末装置にフィードバックすることができる。
【００４３】
サーバーがフィードバックした応答データの頭部にはcontent-lengthフィールドが付いていおり、そのフィールドによりダウンロードされていないオブジェクトファイルのサイズを獲得することができる。オブジェクトファイルが新しいダウンロード任務であるとき、サーバーはオブジェクトファイルのサイズをフィードバックする。すなわちオブジェクトファイルに含まれているバイト数量をフィードバックする。
【００４４】
ステップ１０３において、ダウンロードに用いられている現在のネットワークの速度を測定する。
【００４５】
従来のネットワーク速度測定方法により、ダウンロードに用いられている現在のネットワークの速度を測定することができる。例えば、サーバーから前記オブジェクトファイルを予めダウンロードするステップを実施することができる。その場合、アップロードされるバイト数量とダウンロードされるバイト数量によりダウンロードに用いられている現在のネットワークの速度を測定することができる。
【００４６】
本発明の実施例において、ダウンロードに用いられている現在のネットワークの速度を測定するステップは、現在のネットワークの速度を測定する時間内において複数個の測定時間を選択し、複数個の測定時間の測定値を獲得することにより、ネットワーク速度の変化の平均値を確定し、そのネットワーク速度の変化の平均値を現在のネットワークの速度とするステップを含む。
【００４７】
本実施例において、現在のネットワークの速度を測定する時間内において複数個の測定時間を選択し、複数個の測定時間に対応する測定値を獲得することにより、ネットワーク速度の変化の平均値を確定し、そのネットワーク速度の変化の平均値を現在のネットワークの速度とすることができる。
【００４８】
本実施例において、ネットワーク速度の変化の平均値によりダウンロードに用いられる現在のネットワークの速度を測定することができる。その方法により獲得したネットワーク速度は実際のネットワーク速度に類似しているので、オブジェクトファイルの分類する後続のステップをより適合に実施することができる。
【００４９】
ステップ１０４において、現在のネットワークの速度とオブジェクトファイルのサイズによりオブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得する。
【００５０】
本実施例において、ステップ１０３において獲得した現在のネットワークの速度とオブジェクトファイルのサイズによりオブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得する。前記ステップ１０４は次のステップを更に含むことができる。
まず、予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定する。前記予め設定分類方法において、例えばオブジェクトファイルのサイズによりオブジェクトファイルの分類の数量を確定することができる。具体的に、オブジェクトファイルのサイズが第一予め設定閾値より大きい場合、オブジェクトファイルに対応する分類の数量はＮ１であり、オブジェクトファイルのサイズが第二予め設定閾値より小さい場合、オブジェクトファイルに対応する分類の数量はＮ２であり、オブジェクトファイルのサイズが第二予め設定閾値より大きくかつ第一予め設定閾値より小さい場合、オブジェクトファイルに対応する分類の数量はＮ３である。Ｎ２＜Ｎ３＜Ｎ１であり、Ｎ１、Ｎ２およびＮ３はいずれも１より大きいか或いは１と等しい整数である。
【００５１】
次に、予め設定分類調節方法において、現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得する。
具体的に、予め設定分類調節方法は、現在のネットワークの速度が第一予め設定ネットワーク速度閾値より大きい場合、第一分類の数量にオブジェクトファイルの分類の数量を加えることにより数値が第一分類の数量より大きい第二分類の数量を獲得するステップと、現在のネットワークの速度が第二予め設定ネットワーク速度閾値より大きくかつ第一予め設定ネットワーク速度閾値より小さい場合、第一分類の数量を維持することにより数値が第一分類の数量と等しい第二分類の数量を獲得するステップと、現在のネットワークの速度が第二予め設定ネットワーク速度閾値より大きい場合、第一分類の数量からオブジェクトファイルの分類の数量を減らすことにより数値が第一分類の数量より小さい第二分類の数量を獲得するステップとを含む。
【００５２】
前記第一予め設定ネットワーク速度閾値は１バイト／秒より速い任意のネットワーク速度であることができる。第二予め設定ネットワーク速度閾値は１バイト／秒より速い任意のネットワーク速度であることができる。第一予め設定ネットワーク速度閾値は第二予め設定ネットワーク速度閾値より大きい。第一予め設定ネットワーク速度閾値が第二予め設定ネットワーク速度閾値より大きい具体的な数値は実際の応用により決めることができ、ここではそれを具体的に限定しない。
【００５３】
次に、第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得する。
【００５４】
オブジェクトファイルを分類するとき各ダウンロード待ち分類ファイルに対応する分類情報を形成する。各ダウンロード待ち分類ファイルの分類情報は、ダウンロード待ち分類ファイルの標識情報、索引、最初バイトのオフセット、末端バイトのオフセット、バイトの長さをふくむことができる。
【００５５】
本発明の実施例において、オブジェクトファイルを分類するとき、分類されていないオブジェクトファイルの分類の数量によりオブジェクトファイルのサイズを均等に分けることができる。以下、オブジェクトファイルは１０００バイトを含み、オブジェクトファイルは４個のダウンロード待ち分類ファイルに分けられることを例として説明する。１０００バイトが含まれているオブジェクトファイルを４個のダウンロード待ち分類ファイルに均等に分けることができる。各ダウンロード待ち分類ファイルは２５０バイトを含むことができる。第一ダウンロード待ち分類ファイルは例えばオブジェクトファイルの第１個目のバイトから第２５０個目のバイトを含み、第二ダウンロード待ち分類ファイルは例えばオブジェクトファイルの第２５１個目のバイトから第５００個目のバイトを含み、第三ダウンロード待ち分類ファイルは例えばオブジェクトファイルの第５０１個目のバイトから第７５０個目のバイトを含み、第四ダウンロード待ち分類ファイルは例えばオブジェクトファイルの第７５１個目のバイトから第１０００個目のバイトを含むことができる。
【００５６】
前記第一ダウンロード待ち分類ファイルの最初バイトに対応するスタートオフセットは０であり、末端バイトに対応するフィニッシュオフセットは２４９である。前記第二ダウンロード待ち分類ファイルの最初バイトに対応するスタートオフセットは２５０であり、末端バイトに対応するフィニッシュオフセットは４９９である。前記第三ダウンロード待ち分類ファイルの最初バイトに対応するスタートオフセットは５００であり、末端バイトに対応するフィニッシュオフセットは７４９である。前記第四ダウンロード待ち分類ファイルの最初バイトに対応するスタートオフセットは７５０であり、末端バイトに対応するフィニッシュオフセットは９９９である。前記第一ダウンロード待ち分類ファイル、第二ダウンロード待ち分類ファイル、第三ダウンロード待ち分類ファイルおよび第四ダウンロード待ち分類ファイルに対応するバイトの長さはそれぞれ、２５０バイトである。
【００５７】
ステップ１０５において、複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行する。
【００５８】
ステップ１０４において、オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得した後、各ダウンロード待ち分類ファイルに対応する分類情報により各ダウンロード待ち分類ファイルに対してダウンロードを同時実行する。
【００５９】
本発明の前記実施例の方法において、まず、使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定する。次に、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得する。次に、ダウンロードに用いられている現在のネットワークの速度を測定する。次に、現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得する。最後に、複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行する。それによりオブジェクトファイルをダウンロードする速度を向上させ、かつ使用者の使用の体験を改善することができる。
【００６０】
本発明の実施例の方法において、前記ファイルダウンロード方法は、オブジェクトファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシング（Caching）されかつ前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルのダウンロード状態情報を獲得するステップと、各ダウンロード待ち分類ファイルにおいて、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分類ファイルに対応するデータをダウンロードするステップとを含む。各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含む。ダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指す。
【００６１】
本実施例において、オブジェクトファイルをダウンロードするとき、ネットワークが中断されるか或いは使用者がダウンロードを停止させることによりダウンロードは停止することができる。ダウンロードは停止するとき、既にダウンロードされたダウンロード待ち分類ファイル中の一部分のファイルを、オブジェクトファイルを記憶させる記憶区域に記憶させることができる。各ダウンロード待ち分類ファイルに対応するダウンロード状態情報をキャッシングする。内部メモリに記憶させるとともに端末装置のデータベースに記憶させる。
【００６２】
前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとは、その前に前記オブジェクトファイルに対してダウンロードをするとき、現在のネットワークの速度によりオブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得することを指す。
【００６３】
各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含む。そのダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指す。
【００６４】
オブジェクトファイルの各ダウンロード待ち分類ファイルは、ネットワークが修理されるか或いは使用者がオブジェクトファイルのダウンロードを再び実行させるとき、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより前記ダウンロード待ち分類ファイルに対応するデータを再びダウンロードすることができる。前記ダウンロードオフセットの次のバイトは今回のダウンロードの最初バイトになり、前記ダウンロード待ち分類ファイルを再びダウンロードする請求をサーバーに送信することができる。
【００６５】
本実施例において、ダウンロードが中断された後、ダウンロードを再びするとき、各ダウンロード待ち分類ファイルに対してブロークン・ポイント・コンティニュアスリィ・トランスファリングをすることができる。それにより、オブジェクトファイルをダウンロードすることが中断され、オブジェクトファイルを再びダウンロードするとき、オブジェクトファイルの最初バイトからダウンロードしなければならないことを避けることができる。
【００６６】
図２を参照すると、その図面には本発明のファイルダウンロード方法の他の実施例の流れ図が示されている。図２に示すとおり、前記ファイルダウンロード方法は次のステップを含む。
ステップ２０１において、使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定する。
ステップ２０１は図１に示されている実施例のステップ１０１と同じであるので、ここでは再び説明しない。
ステップ２０２において、オブジェクトファイルのサイズを獲得するためサーバーと接続する請求をサーバーに送信する。
ステップ２０２の詳細な説明は図１に示されている実施例のステップ１０２の説明を参照することができるので、ここでは再び説明しない。
ステップ２０３において、サーバーと接続された後サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報によりオブジェクトファイルのサイズを獲得する。
ステップ２０３の詳細な説明は図１に示されている実施例のステップ１０２の説明を参照することができるので、ここでは再び説明しない。
ステップ２０４において、ダウンロードに用いられている現在のネットワークの速度を測定する。
ステップ２０４は図１のステップ１０３と同じであるので、ここでは再び説明しない。
ステップ２０５において、現在のネットワークの速度とオブジェクトファイルのサイズによりオブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得する。
ステップ２０５は図１のステップ１０４と同じであるので、ここでは再び説明しない。
ステップ２０６において、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行する。１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドは前記接続請求において用いられる接続を再び用いる。
【００６７】
本発明の応用例において、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行する。
【００６８】
各分類ダウンロードスレッドはhttp請求をサーバーに送信することにより前記分類ダウンロードスレッドに対応するダウンロード待ち分類ファイルをダウンロードする。前記ダウンロード請求は前記ダウンロード待ち分類ファイルの最初バイトのスタートオフセットを１つ目のダウンロードバイトにし、前記ダウンロード待ち分類ファイルの末端バイトのフィニッシュオフセットを最後のダウンロードバイトにする。各ダウンロード待ち分類ファイルの分類情報によりダウンロード請求をサーバーに送信することによりダウンロードを実行することができる。
【００６９】
本実施例において、ステップ２０２の接続請求において用いた接続は、１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドがダウンロード請求をサーバーに送信する接続として用いることができる。すなわち１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドは前記接続請求において用いた接続を再び用いる。
【００７０】
図２に示すとおり、図１の実施例と比較してみると、本実施例のファイルダウンロード方法のステップ２００の特徴は、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行することにある。１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドは前記接続請求において用いられる接続を再び用いることにより、http請求を再び用い、ダウンロードスレッドを低減し、サーバーを接続させることにかかる時間を短縮し、オブジェクトファイルのダウンロードにかかる時間を短縮することができる。
【００７１】
本発明の実施例において、図２に示されるファイルダウンロード方法は次のステップを更に含むことができる。
第一、少なくとも１つの分類ダウンロードスレッドが所定のダウンロード待ち分類ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在するかを確定する。
【００７２】
第二、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在する場合、前記スレッドをオブジェクトダウンロードスレッドにし、かつ前記未完成部分に対応する分類子任務を確定する。
【００７３】
具体的に、１つ目のダウンロードされたことに対応するダウンロード待ち分類ファイルのダウンロード任務の分類ダウンロードスレッドが形成されるとき、予め設定された分類規則により前記分類ダウンロードスレッドに対応する未完成部分を分類することにより少なくとも２個の分類子任務を形成する。本発明の応用例において、前記分類子任務の数量は前記オブジェクトダウンロードスレッドの分類により形成されるダウンロード待ち分類ファイルの数量と等しいことができる。
【００７４】
１つ目のダウンロードされたことに対応するダウンロード待ち分類ファイルのダウンロード任務の分類ダウンロードスレッドでない場合、前記分類ダウンロードスレッドにより前記ダウンロード任務を完成させるとき、オブジェクトダウンロードスレッドに対応するダウンロード待ち分類任務は分類ダウンロードスレッドがアロケーションされない分類子任務になる。
【００７５】
第三、オブジェクトダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドとにより前記分類子任務をダウンロードする。
【００７６】
具体的に、１つ目の分類子任務は依然としてオブジェクトダウンロードスレッドによりダウンロードされる。他の分類子任務はダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドにより実行されることができる。例えば、２つ目の分類子任務は１つ目のダウンロードされたことに対応するダウンロード待ち分類ファイルのダウンロード任務の分類ダウンロードスレッドにアロケーションされ、３つ目の分類子任務は２つ目のダウンロードされたことに対応するダウンロード待ち分類ファイルのダウンロード任務の分類ダウンロードスレッドにアロケーションされる。
【００７７】
本実施例において、複数個のダウンロードスレッドによりオブジェクトファイルの各ダウンロード待ち分類ファイルをダウンロードするとき、ダウンロード待ち分類ファイルが先にダウンロードされ、他のダウンロード待ち分類ファイルのダウンロードには遅れが出るおそれがある。
【００７８】
そのような現象において、１個または２個以上のダウンロードスレッドのダウンロード任務が完成されたが、他のダウンロードスレッドはダウンロード任務をまだ完成させない場合がある。その場合、ダウンロード任務が完成されたダウンロードスレッドとまだダウンロードされていない他のダウンロードスレッドとにより、完成されていないダウンロード任務を実行し、分類ダウンロードスレッドを再び用いることができる。それにより処理装置の任務のアロケーション、スレッドの形成、スレッドを取り替える頻繁度を低減し、ダウンロードの速度を向上させ、オブジェクトファイルのダウンロードにかかる時間を短縮することができる。
【００７９】
図３を参照すると、前記図面に記載されている方法を実行するため本発明においてファイルダウンロード装置の実施例を提供する。そのファイルダウンロード装置の実施例は図１に示されている方法の実施例に対応し、そのファイルダウンロード装置をいろいろな電子装置に応用させることができる。
【００８０】
図３に示すとおり、本実施例のファイルダウンロード装置は、第一確定ユニット３０１、獲得ユニット３０２、第二確定ユニット３０３、分類ユニット３０４およびダウンロードユニット３０５を含む。第一確定ユニット３０１は、使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定する。獲得ユニット３０２は、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得する。第二確定ユニット３０３はダウンロードに用いられている現在のネットワークの速度を測定する。分類ユニット３０４は、現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得する。ダウンロードユニット３０５は複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行する。
【００８１】
本実施例において、ファイルダウンロード装置の第一確定ユニット３０１、獲得ユニット３０２、第二確定ユニット３０３、分類ユニット３０４およびダウンロードユニット３０５の説明は、図１の実施例中のステップ１０１、ステップ１０２、ステップ１０３、ステップ１０４およびステップ１０５の説明を参照することができるので、ここでは再び説明しない。
【００８２】
本発明の実施例において、前記ダウンロードユニット３０５は、複数個のダウンロード待ち分類ファイルにそれぞれ対応する分類ダウンロードスレッドを形成し、複数個の分類ダウンロードスレッドは各分類ダウンロードスレッドに対応する各ダウンロード待ち分類ファイルをダウンロードすることを同時実行するステップを更に実行するように配置されることができる。
【００８３】
本発明の実施例において、前記分類ユニット３０４は、予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定するステップと、予め設定分類調節方法において現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得するステップと、前記第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとを更に実行するように配置されることができる。
【００８４】
本発明の実施例において、前記獲得ユニット３０２は、前記オブジェクトファイルのサイズを獲得するためサーバーと接続する接続請求をサーバーに送信するステップと、サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報により前記オブジェクトファイルのサイズを獲得するステップとを更に実行するように配置されることができる。
【００８５】
本発明の実施例において、前記ダウンロードユニット３０５は、１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドは前記接続請求において用いられる接続を再び用いるステップを更に実行するように配置されることができる。
【００８６】
本発明の実施例において、前記ダウンロードユニットは、少なくとも１つの分類ダウンロードスレッドが所定のダウンロード待ち分類ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在するかを確定するステップと、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在する場合、前記スレッドをオブジェクトダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１つの分類子任務を確定するステップと、前記オブジェクトダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドとにより前記少なくとも１つの分類子任務をダウンロードするステップとを更に実行するように配置されることができる。
【００８７】
本発明の実施例において、ファイルダウンロード装置３００はブロークン・ポイント・コンティニュアスリィ・トランスファリング・ユニット（図示せず）を更に含むことができる。ブロークン・ポイント・コンティニュアスリィ・トランスファリング・ユニットは、オブジェクトファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシングされかつ前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルのダウンロード状態情報を獲得するステップと、各ダウンロード待ち分類ファイルにおいて、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分類ファイルに対応するデータをダウンロードするステップとを更に実行するように配置されることができる。各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含む。前記ダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指す。
【００８８】
本発明の実施例において、前記第二確定ユニット３０３は、現在のネットワークの速度を測定する時間内において複数個の測定時間を選択し、複数個の測定時間の測定値を獲得することにより、ネットワーク速度の変化の平均値を確定し、そのネットワーク速度の変化の平均値を現在のネットワークの速度にするステップを更に実行するように配置されることができる。
【００８９】
図４を参照すると、図４は本発明のファイルダウンロード装置の具体的な構造を示す図である。
【００９０】
図４に示すとおり、ファイルダウンロード装置は、インタフェース層４０１、モジュール層４０２およびネットワークサービス層４０３を含む。
【００９１】
インタフェース層４０１は、拡大初期化、一時停止、取消し、再スタート、ダウンロード状態の獲得、データ等のインタフェースを提供することができる。ダウンロード協議４０１１によりインタフェースの隔離と拡大をし、かつマルチスレッドダウンロードのインタフェースになることができる。
【００９２】
モジュール層４０２は、ダウンロードサービス管理モジュール４０２１、ダウンロードエンジンモジュール４０２２、状態処理装置４０２３、ダウンロード通知管理モジュール４０２４、スレッドプール（Thread  pool）４０２５、データバッファ区域４０２６、応答処理装置４０２７および分類対策モジュール４０２８を含む。ダウンロードサービス管理モジュール４０２１は、使用者がインタフェース層により入力した指令、例えば、ダウンロード、ダウンロードの一時停止、ダウンロードの取消し、ダウンロードのスタート、ダウンロードの再スタート等を受信し、かつ前記指令によりダウンロード任務を管理することができる。ダウンロードサービス管理モジュール４０２１は複数個のダウンロード任務をダウンロードエンジンモジュール４０２２に伝送することができる。ダウンロードエンジンモジュール４０２２は、ダウンロード任務を分配し、かつ状態処理装置４０２３、ダウンロード通知管理モジュール４０２４、スレッドプール４０２５、データバッファ区域４０２６、応答処理装置４０２７および分類対策モジュール４０２８と協力することによりダウンロード任務を完成させる。状態処理装置４０２３は、すべてのダウンロード状態を管理するとともに任務を分配する。データバッファ区域４０２６はダウンロード任務に関する各状態のデータをキャッシングするとともに復帰させる。ダウンロード通知管理モジュール４０２４はダウンロードの通知を担当するので、使用者はダウンロードに関する通知と更新を管理する必要がない。応答処理装置４０２７はネットワークの応答と分類データの処理を担当する。分類対策モジュール４０２８はダウンロード分類の方法を提供する。
【００９３】
ネットワークサービス層４０３は拡大可能なネットワークのインタフェースになり、黙認のokhttp3を実行することによりダウンロードに用いられるネックワークを提供することができる。
【００９４】
スレッドプールがアロケーションした接続スレッドにより接続請求はネットワークサービス層４０３を介してサーバーに送信されるので、サーバーはダウンロード任務に対応するオブジェクトファイルのサイズを獲得する。分類対策モジュール４０２８は現在のネットワークの速度によりオブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得する。
【００９５】
図５を参照すると、図５には本発明のファイルダウンロード方法またはファイルダウンロード装置の実施例の例示的システムの構造が示されている。
【００９６】
図５に示すとおり、システムは、端末装置５０１、５０２、５０３、ネットワーク５０４およびサーバー５０５を含む。ネットワーク５０４は端末装置５０１、５０２、５０３とサーバー５０５を通信可能に接続させる媒体である。ネットワーク５０４は、いろいろな種類、例えば有線、無線通信線路または光ファイバー等を含むことができる。
【００９７】
端末装置５０１、５０２、５０３はネットワーク５０４によりサーバー５０５に接続されるので、情報等を受信するか或いは送信することができる。端末装置５０１、５０２、５０３にはいろいろなアプリケーション例えば、ダウンロード類アプリケーションまたは検索類アプリケーション等がインストールされている。
【００９８】
端末装置５０１、５０２、５０３はハードウェアまたはソフトウェアであることができる。端末装置５０１、５０２、５０３がハードウェアであるとき、その端末装置は表示パネルを具備しかつファイルをダウンロードすることができるいろいろな電子装置であることができる。例えば、スマートフォン、タブレット、ノートパソコン、卓上パソコン、電子ブック等であることができるが、それらにのみ限定されるものでない。端末装置５０１、５０２、５０３がソフトウェアであるとき、そのソフトウェアを前記電子装置にインストールすることができる。それにより複数個のソフトウェアまたはソフトウェアモジュール（例えば、分類サービスを提供するソフトウェアまたはソフトウェアモジュール）を獲得することができる。
【００９９】
端末装置５０１、５０２、５０３は、使用者が入力したオブジェクトファイルをダウンロードする指令を受信し、サーバー５０５が送信したオブジェクトファイルのサイズを獲得し、オブジェクトファイルに対して分類ダウンロードをする。
【０１００】
サーバー５０５はいろいろなサービスを提供することができる。例えば、オブジェクトファイルのソースドキュメント（source  document）を提供することにより端末装置がダウンロードをするようにすることができる。
【０１０１】
注意されたいことは、本発明の実施例に係るファイルダウンロード方法は通常、端末装置５０１、５０２、５０３により実行されるので、ファイルダウンロード装置は通常、端末装置５０１、５０２、５０３に取り付けられる。
【０１０２】
注意されたいことは、図５に示される装置、ネックワークおよびサーバーの数量は本発明の例示にしか過ぎないものであるため、実際の需要により装置、ネックワークおよびサーバーの数量を適当に選択することができる。
【０１０３】
図６を参照すると、図６には本発明の実施例に係る装置の基本構造が示されている。図６に示される装置は本発明の例示に過ぎないものであり、本発明の実施例に係る機能および使用の範囲を限定する意図はない。
【０１０４】
図６に示されるとおり、装置は一個または複数個の処理装置６０１と記憶装置６０２を含む。記憶装置６０２は一個または複数個のプログラムを記憶することに用いられる。一個または複数個の処理装置６０１は記憶装置６０２に記憶されている一個または複数個のプログラムを実行することができる。一個または複数個のプログラムを実行することにより、一個または複数個の処理装置は所定のステップを実施し、そのステップは、  使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、  オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップと、  ダウンロードに用いられている現在のネットワークの速度を測定するステップと、  現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、  複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを含むことを特徴とするファイルダウンロード装置。
【０１０５】
前記現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップは、予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定するステップと、予め設定分類調節方法において現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得するステップと、前記第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとを更に実行するように配置されることができる。
【０１０６】
前記現在のネットワークの速度と前記オブジェクトファイルのサイズにより前記オブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップは、予め設定分類方法によりオブジェクトファイルの第一分類の数量を確定するステップと、予め設定分類調節方法において現在のネットワークの速度により第一分類の数量を調節することにより第二分類の数量を獲得するステップと、前記第二分類の数量により前記オブジェクトファイルを分類することにより少なくとも１つのダウンロード待ち分類ファイルを獲得するステップとを更に実行するように配置されることができる。
【０１０７】
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップは、前記オブジェクトファイルのサイズを獲得するためサーバーと接続する接続請求をサーバーに送信するステップと、サーバーから送信された前記オブジェクトファイルのサイズに関する情報を受信し、その情報により前記オブジェクトファイルのサイズを獲得するステップとを更に実行するように配置されることができる。
【０１０８】
オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記オブジェクトファイルのサイズを獲得するステップは、１つ目のダウンロード待ち分類ファイルに対応する分類ダウンロードスレッドが前記接続請求において用いられる接続を再び用いるステップを更に実行するように配置されることができる。
【０１０９】
前記ステップは、少なくとも１つの分類ダウンロードスレッドが所定のダウンロード待ち分類ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在するかを確定するステップと、所定のダウンロード待ち任務の未完成部分に予め設定任務閾値より大きいスレッドが存在する場合、前記スレッドをオブジェクトダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１つの分類子任務を確定するステップと、前記オブジェクトダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分類ファイルの分類ダウンロードスレッドとにより前記少なくとも１つの分類子任務をダウンロードするステップとを更に実行するように配置されることができる。
【０１１０】
前記ステップは、オブジェクトファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシングされかつ前記オブジェクトファイルを先に分類することにより少なくとも１つのダウンロード待ち分類ファイルのダウンロード状態情報を獲得するステップと、各ダウンロード待ち分類ファイルにおいて、前記ダウンロード待ち分類ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分類ファイルに対応するデータをダウンロードするステップとを更に実行するように配置されることができる。各ダウンロード待ち分類ファイルのダウンロード状態情報は、前記ダウンロード待ち分類ファイルの最初バイト、末端バイトに対応する前記オブジェクトファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分類ファイルに対応するバイトの長さおよびダウンロードオフセットを含む。前記ダウンロードオフセットは前記ダウンロード待ち分類ファイルに対応しかつダウンロードされたバイト数量を指す。
【０１１１】
本発明の実施例に係るモジュールはソフトウェアより実行されるか或いはハードウェアにより実行されることができる。前記モジュールを処理装置に含ませることもできる。例えば、処理装置は、第一確定ユニット、獲得ユニット、第二確定ユニット、分類ユニットおよびダウンロードユニットを含むことができる。前記モジュールの名称はモジュールの本体を限定するものでない。例えば、第一確定ユニットという名称を「使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定する」という事項に変化させることができる。
【０１１２】
本発明の実施例においてコンピュータ読取り可能な媒体を提供する。前記コンピュータ読取り可能な媒体は前記実施例中の装置に含まれるか或いは前記実施例中の装置に取り付けられずに前記実施例中の装置とそれぞれ存在することができる。本発明のコンピュータ読取り可能な媒体は、コンピュータ読取り可能な信号の媒体、コンピュータ読取り可能な記憶媒体またはその２つの組合せであることができる。コンピュータ読取り可能な媒体は、例えば、電気、磁性、光線、電気磁性、赤外線の形式の媒体であるか或いはシステム、装置または部品であるか或いはそれらの任意の組合せであることができるが、本発明はそれらにのみ限定されるものでない。コンピュータ読取り可能な媒体の具体的な実施例は、１個または複数個の導線を具備する電気接続、携帯型ディスク、ハードディスクドライブ（Hard  Disk  Drive）、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memoryまたはフラッシュメモリ）、光ファイバー、ＣＤ−ＲＯＭ（Compact  Disc  Read  only  memory）、光メモリ装置、磁気メモリ装置またはそれらの任意の組合せであることができる。
【０１１３】
前記コンピュータ読取り可能な媒体には１個または複数個のプログラムが記憶され、１個または複数個のプログラムが前記装置により実行されることにより、使用者が送信したオブジェクトファイルをダウンロードする指令を受信することにより、オブジェクトファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、オブジェクトファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、オブジェクトファイルのサイズを獲得するステップと、ダウンロードに用いられている現在のネットワークの速度を測定するステップと、現在のネットワークの速度とオブジェクトファイルのサイズによりオブジェクトファイルを分類することにより、少なくとも１つのダウンロード待ち分類ファイルを獲得するステップと、複数個のダウンロード待ち分類ファイルに対してダウンロードを同時実行するステップとを実行することができる。
【０１１４】
以上、これらの発明の実施例を図面により詳述してきたが、実施例はこの発明の例示にしか過ぎないものであるため、この発明は実施例の構成にのみ限定されるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれることは勿論である。また、例えば、各実施例に複数の構成が含まれている場合には、特に記載がなくとも、これらの構成の可能な組合せが含まれることは勿論である。また、複数の実施例や変形例が示されている場合には、特に記載がなくとも、これらに跨がった構成の組合せのうちの可能なものが含まれることは勿論である。
【図１】
2020091870.tif 000003
【図２】
2020091870.tif 000004
【図３】
2020091870.tif 000005
【図４】
2020091870.tif 000006
【図５】
2020091870.tif 000007
【図６】
2020091870.tif 000008