(57)【特許請求の範囲】
【請求項１】
使用者が送信したダウンロード対象ファイルをダウンロードする指令を受信することにより、ダウンロード対象ファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、
ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記ダウンロード対象ファイルのサイズを獲得するステップと、
ダウンロードに用いられている現在のネットワークの速度を測定するステップと、
現在のネットワークの速度と前記ダウンロード対象ファイルのサイズにより前記ダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップと、
複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップとを含み、
前記複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップは、複数個のダウンロード待ち分割ファイルにそれぞれ対応する分割ダウンロードスレッドを形成し、複数個の分割ダウンロードスレッドは各分割ダウンロードスレッドに対応する各ダウンロード待ち分割ファイルをダウンロードすることを同時実行するステップを含むファイルダウンロード方法であって、
前記ファイルダウンロード方法は、少なくとも１つの分割ダウンロードスレッドが所定のダウンロード待ち分割ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在するかを確定するステップと、
所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在する場合、前記スレッドをファイルダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１個の分割子任務を確定するステップと、
前記ファイルダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分割ファイルの分割ダウンロードスレッドとにより前記少なくとも１個の分割子任務が定めたファイルをダウンロードするステップとを更に含む
ことを特徴とするファイルダウンロード方法。
【請求項２】
現在の前記ネットワークの速度と前記ダウンロード対象ファイルのサイズにより前記ダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップは、
予め設定分割方法によりダウンロード対象ファイルの第一分割の数量を確定するステップと、
予め設定分割調節方法において、現在のネットワークの速度により第一分割の数量を調節することにより第二分割の数量を獲得するステップと、
前記第二分割の数量により前記ダウンロード対象ファイルを分割することにより少なくとも１つのダウンロード待ち分割ファイルを獲得するステップとを含むことを特徴とする請求項１に記載のファイルダウンロード方法。
【請求項３】
前記ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記ダウンロード対象ファイルのサイズを獲得するステップは、
前記ダウンロード対象ファイルのサイズを獲得するためサーバーと接続する接続請求をサーバーに送信するステップと、
サーバーから送信された前記ダウンロード対象ファイルのサイズに関する情報を受信し、その情報によりダウンロード対象ファイルのサイズを獲得するステップとを含むことを特徴とする請求項１に記載のファイルダウンロード方法。
【請求項４】
複数個のダウンロード待ち分割ファイルにそれぞれ対応する分割ダウンロードスレッドを形成し、複数個の分割ダウンロードスレッドは各分割ダウンロードスレッドに対応する各ダウンロード待ち分割ファイルをダウンロードすることを同時実行するステップは、１つ目のダウンロード待ち分割ファイルに対応する分割ダウンロードスレッドは前記接続請求において用いられる接続を再び用いるステップを含むことを特徴とする請求項３に記載のファイルダウンロード方法。
【請求項５】
前記ファイルダウンロード方法は、ダウンロード対象ファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシング（Caching）されかつ前記ダウンロード対象ファイルを先に分割することにより少なくとも１つのダウンロード待ち分割ファイルのダウンロード状態情報を獲得するステップと、
各ダウンロード待ち分割ファイルにおいて、前記ダウンロード待ち分割ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分割ファイルに対応するデータをダウンロードするステップとを更に含み、
各ダウンロード待ち分割ファイルのダウンロード状態情報は、前記ダウンロード待ち分割ファイルの最初バイト、末端バイトに対応する前記ダウンロード対象ファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分割ファイルに対応するバイトの長さおよびダウンロードオフセットを含み、前記ダウンロードオフセットは前記ダウンロード待ち分割ファイルに対応しかつダウンロードされたバイト数量を指すことを特徴とする請求項１に記載のファイルダウンロード方法。
【請求項６】
ファイルダウンロード装置であって、そのファイルダウンロード装置は、
少なくとも１個の処理装置と、
１個または複数個のプログラムが記憶されている記憶装置とを含み、
少なくとも１個の処理装置が前記記憶装置に記憶されている一個または複数個のプログラムを実行することにより少なくとも１個の処理装置は所定の方法を実施し、その方法は、
使用者が送信したダウンロード対象ファイルをダウンロードする指令を受信することにより、ダウンロード対象ファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、
ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記ダウンロード対象ファイルのサイズを獲得するステップと、
ダウンロードに用いられている現在のネットワークの速度を測定するステップと、
現在のネットワークの速度と前記ダウンロード対象ファイルのサイズにより前記ダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップと、
複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップとを含み、
前記複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップは、複数個のダウンロード待ち分割ファイルにそれぞれ対応する分割ダウンロードスレッドを形成し、複数個の分割ダウンロードスレッドは各分割ダウンロードスレッドに対応する各ダウンロード待ち分割ファイルをダウンロードすることを同時実行するステップを含み、
前記方法は、少なくとも１つの分割ダウンロードスレッドが所定のダウンロード待ち分割ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在するかを確定するステップと、
所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在する場合、前記スレッドをファイルダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１個の分割子任務を確定するステップと、
前記ファイルダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分割ファイルの分割ダウンロードスレッドとにより前記少なくとも１個の分割子任務が定めたファイルをダウンロードするステップとを更に含む
ことを特徴とするファイルダウンロード装置。
【請求項７】
前記現在のネットワークの速度と前記ダウンロード対象ファイルのサイズにより前記ダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップは、
予め設定分割方法によりダウンロード対象ファイルの第一分割の数量を確定するステップと、
予め設定分割調節方法において現在のネットワークの速度により第一分割の数量を調節することにより第二分割の数量を獲得するステップと、
前記第二分割の数量により前記ダウンロード対象ファイルを分割することにより少なくとも１つのダウンロード待ち分割ファイルを獲得するステップとを含むことを特徴とする請求項６に記載のファイルダウンロード装置。
【請求項８】
ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記ダウンロード対象ファイルのサイズを獲得するステップは、
前記ダウンロード対象ファイルのサイズを獲得するためサーバーと接続する接続請求をサーバーに送信するステップと、
サーバーから送信された前記ダウンロード対象ファイルのサイズに関する情報を受信し、その情報により前記ダウンロード対象ファイルのサイズを獲得するステップとを含むことを特徴とする請求項６に記載のファイルダウンロード装置。
【請求項９】
複数個のダウンロード待ち分割ファイルにそれぞれ対応する分割ダウンロードスレッドを形成し、複数個の分割ダウンロードスレッドは各分割ダウンロードスレッドに対応する各ダウンロード待ち分割ファイルをダウンロードすることを同時実行するステップは、
１つ目のダウンロード待ち分割ファイルに対応する分割ダウンロードスレッドが前記接続請求において用いられる接続を再び用いるステップを含むことを特徴とする請求項８に記載のファイルダウンロード装置。
【請求項１０】
前記方法は、ダウンロード対象ファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシングされかつ前記ダウンロード対象ファイルを先に分割することにより少なくとも１つのダウンロード待ち分割ファイルのダウンロード状態情報を獲得するステップと、
各ダウンロード待ち分割ファイルにおいて、前記ダウンロード待ち分割ファイルのダウンロード状態情報に対応するダウンロードオフセットにより、前記ダウンロード待ち分割ファイルに対応するデータをダウンロードするステップとを更に含み、
各ダウンロード待ち分割ファイルのダウンロード状態情報は、前記ダウンロード待ち分割ファイルの最初バイト、末端バイトに対応する前記ダウンロード対象ファイルの最初バイトのスタートオフセット、フィニッシュオフセット、前記ダウンロード待ち分割ファイルに対応するバイトの長さおよびダウンロードオフセットを含み、前記ダウンロードオフセットは前記ダウンロード待ち分割ファイルに対応しかつダウンロードされたバイト数量を指すことを特徴とする請求項６に記載のファイルダウンロード装置。
【請求項１１】
プログラムが記憶されているコンピュータ読取り可能な媒体であって、前記プログラムが処理装置により実行されることにより所定の方法を実施し、その方法は、
使用者が送信したダウンロード対象ファイルをダウンロードする指令を受信することにより、ダウンロード対象ファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、
ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記ダウンロード対象ファイルのサイズを獲得するステップと、
ダウンロードに用いられている現在のネットワークの速度を測定するステップと、
現在のネットワークの速度と前記ダウンロード対象ファイルのサイズにより前記ダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップと、
複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップとを含み、
前記複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップは、複数個のダウンロード待ち分割ファイルにそれぞれ対応する分割ダウンロードスレッドを形成し、複数個の分割ダウンロードスレッドは各分割ダウンロードスレッドに対応する各ダウンロード待ち分割ファイルをダウンロードすることを同時実行するステップを含み、
前記方法は、少なくとも１つの分割ダウンロードスレッドが所定のダウンロード待ち分割ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在するかを確定するステップと、
所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在する場合、前記スレッドをファイルダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１個の分割子任務を確定するステップと、
前記ファイルダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分割ファイルの分割ダウンロードスレッドとにより前記少なくとも１個の分割子任務が定めたファイルをダウンロードするステップとを更に含む
ことを特徴とするコンピュータ読取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、出願日が２０１８年１２月６日であり、出願番号が２０１８１１４８５１２８．６である中国特許出願の優先権を主張し、その中国特許出願の全内容を本願に採用する。
【０００２】
本発明は、インターネット技術に関し、特に、ファイルダウンロード方法、装置およびコンピュータ読取り可能な媒体に関するものである。
【背景技術】
【０００３】
端末によりファイルをダウンロードするとき、従来のダウンロード方法においてシングルチャンネル接続によりファイルをダウンロードしてきたが、外部の影響等によりシングルチャンネル接続はダウンロードの速度に影響をあたえるおそれがあるので、従来の技術において、分割ダウンロード方法によりファイルをダウンロードするマルチチャンネル接続を形成し、所定のネットワークの環境においてシングルチャンネル接続がファイルのダウンロードに影響を与えることを防止することができる。
【０００４】
従来の技術において、分割ダウンロード方法は、固定されている比例によりダウンロード対象ファイルに対応するデータを複数の部分に分け、マルチチャンネル接続により前記複数の部分のデータをダウンロードし、ダウンロードが終わった後、複数の部分のデータを一体に接続させる。しかしながら、使用者がファイルをダウンロードするとき、ネットワークの速度は異なっているので、変化しない分割方法によりダウンロード対象ファイルをダウンロードするとき、ダウンロードにかかる時間が長くなり、使用者の体験に影響を与えるおそれがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例においてファイルダウンロード方法、装置およびコンピュータ読取り可能な媒体を提供することにより、ダウンロード対象ファイルをダウンロードする速度を向上させ、使用者の使用上の体験を改善することができる。
【課題を解決するための手段】
【０００６】
本発明の実施例において、ファイルダウンロード方法を提供する。その方法は、使用者が送信したダウンロード対象ファイルをダウンロードする指令を受信することにより、ダウンロード対象ファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記ダウンロード対象ファイルのサイズを獲得するステップと、ダウンロードに用いられている現在のネットワークの速度を測定するステップと、現在のネットワークの速度と前記ダウンロード対象ファイルのサイズにより前記ダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップと、複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップとを含む。
【０００７】
好ましくは、複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップは、複数個のダウンロード待ち分割ファイルにそれぞれ対応する分割ダウンロードスレッドを形成し、複数個の分割ダウンロードスレッドは各分割ダウンロードスレッドに対応する各ダウンロード待ち分割ファイルをダウンロードすることを同時実行するステップを含む。
【０００８】
好ましくは、現在の前記ネットワークの速度と前記ダウンロード対象ファイルのサイズにより前記ダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップは、予め設定分割方法によりダウンロード対象ファイルの第一分割の数量を確定するステップと、予め設定分割調節方法において、現在のネットワークの速度により第一分割の数量を調節することにより第二分割の数量を獲得するステップと、前記第二分割の数量により前記ダウンロード対象ファイルを分割することにより少なくとも１つのダウンロード待ち分割ファイルを獲得するステップとを含む。
【０００９】
好ましくは、前記ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、前記ダウンロード対象ファイルのサイズを獲得するステップは、前記ダウンロード対象ファイルのサイズを獲得するためサーバーと接続する接続請求をサーバーに送信するステップと、サーバーから送信された前記ダウンロード対象ファイルのサイズに関する情報を受信し、その情報によりダウンロード対象ファイルのサイズを獲得するステップとを含む。
【００１０】
好ましくは、複数個のダウンロード待ち分割ファイルにそれぞれ対応する分割ダウンロードスレッドを形成し、複数個の分割ダウンロードスレッドは各分割ダウンロードスレッドに対応する各ダウンロード待ち分割ファイルをダウンロードすることを同時実行するステップは、１つ目のダウンロード待ち分割ファイルに対応する分割ダウンロードスレッドは前記接続請求において用いた接続を再び用いるステップを含む。
【００１１】
好ましくは、前記ファイルダウンロード方法は、少なくとも１つの分割ダウンロードスレッドが所定のダウンロード待ち分割ファイルをダウンロードするダウンロード任務を完成させ、所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在するかを確定するステップと、所定のダウンロード待ち任務の未完成部分のサイズが予め設定任務閾値より大きい分割ダウンロードスレッドが存在する場合、前記スレッドをファイルダウンロードスレッドにし、かつ前記未完成部分に対応する少なくとも１個の分割子任務を確定するステップと、前記ファイルダウンロードスレッドとダウンロードされたことに対応するダウンロード待ち分割ファイルの分割ダウンロードスレッドとにより前記少なくとも１個の分割子任務が定めたファイルをダウンロードするステップとを更に含む。
【００１２】
好ましくは、前記ファイルダウンロード方法は、ダウンロード対象ファイルをダウンロードするダウンロード任務が前記任務一覧に含まれている場合、ローカルストレージにキャッシング（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）、光メモリ装置、磁気メモリ装置またはそれらの任意の組合せであることができる。
【０１１３】
前記コンピュータ読取り可能な媒体には１個または複数個のプログラムが記憶され、１個または複数個のプログラムが前記装置により実行されることにより、使用者が送信したダウンロード対象ファイルをダウンロードする指令を受信することにより、ダウンロード対象ファイルをダウンロードするダウンロード任務が任務一覧に含まれているかを確定するステップと、ダウンロード対象ファイルをダウンロードする任務がダウンロード任務一覧に含まれていない場合、ダウンロード対象ファイルのサイズを獲得するステップと、ダウンロードに用いられている現在のネットワークの速度を測定するステップと、現在のネットワークの速度とダウンロード対象ファイルのサイズによりダウンロード対象ファイルを分割することにより、少なくとも１つのダウンロード待ち分割ファイルを獲得するステップと、複数個のダウンロード待ち分割ファイルに対してダウンロードを同時実行するステップとを実行することができる。
【０１１４】
以上、これらの発明の実施例を図面により詳述してきたが、実施例はこの発明の例示にしか過ぎないものであるため、この発明は実施例の構成にのみ限定されるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれることは勿論である。また、例えば、各実施例に複数の構成が含まれている場合には、特に記載がなくとも、これらの構成の可能な組合せが含まれることは勿論である。また、複数の実施例や変形例が示されている場合には、特に記載がなくとも、これらに跨がった構成の組合せのうちの可能なものが含まれることは勿論である。
【図１】
0006918909.tif 000002
【図２】
0006918909.tif 000003
【図３】
0006918909.tif 000004
【図４】
0006918909.tif 000005
【図５】
0006918909.tif 000006
【図６】
0006918909.tif 000007