JP6211708B2 - ファイルバックアップ、及びファイルバックアップ装置、プログラム及び記録媒体 - Google Patents

ファイルバックアップ、及びファイルバックアップ装置、プログラム及び記録媒体 Download PDF

Info

Publication number
JP6211708B2
JP6211708B2 JP2016544718A JP2016544718A JP6211708B2 JP 6211708 B2 JP6211708 B2 JP 6211708B2 JP 2016544718 A JP2016544718 A JP 2016544718A JP 2016544718 A JP2016544718 A JP 2016544718A JP 6211708 B2 JP6211708 B2 JP 6211708B2
Authority
JP
Japan
Prior art keywords
file
hash value
backup
uploaded
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016544718A
Other languages
English (en)
Other versions
JP2016537752A (ja
Inventor
春雨 李
春雨 李
益冬 王
益冬 王
先▲東▼ 胡
先▲東▼ 胡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Publication of JP2016537752A publication Critical patent/JP2016537752A/ja
Application granted granted Critical
Publication of JP6211708B2 publication Critical patent/JP6211708B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Description

相互参照
本願は、出願番号がCN201410429701.7であり、出願日が2014年8月27日である中国特許出願に基づき提出し、該中国特許出願の優先権を主張する。ここで、該中国特許出願の全ての内容は、本願に組み込まれて参考とする。
本開示は、記憶の技術分野に関するものであり、特にファイルバックアップ及びファイルバックアップ装置、プログラム及び記録媒体に関するものである。
モバイルデバイスが広く使用及び普及したことにつれ、人々は、モバイルデバイス上のファイルを自動的にバックアップするニーズがより高くなりつつある。モバイルデバイスのローカル記憶空間が通常不足しているため、モバイルデバイスのローカルのファイルを、例えば、ローカルサーバー或はインテリジェントルータ、より大きい記憶空間を有するデバイス上に自動的にバックアップすることが望まれる。
しかしながら、実際の応用において、異なるファイルパスの複数のファイルが同一のファイルである状況がよくあるため、モバイルデバイスのローカルのファイルをローカルサーバー或はインテリジェントルータ上に自動的にバックアップする際、同一のファイルが重複してバックアップされてしまう。
本開示は、関連技術に存在した問題を克服するために、以下のファイルバックアップ方法及び装置、プログラム及び記録媒体を提供した。
本開示の実施例の第一の局面によれば、
予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定し、
確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索し、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしないことを含むファイルバックアップ方法を提供した。
前記予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定することは、
前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断し、
前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得し、
前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行ってハッシュ値を取得することを含むことが好ましい。
前記ファイルから複数個のファイルセグメントを抽出することは、
前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出することを含み、
前記予め設定した大きさのファイルセグメントが占有するバイト数は、前記予め設定した閾値より小さいことが好ましい。
前記方法は、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されていないことを検知した場合、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードし、
前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、前記ハッシュ値をローカル・バックアップ・データベースに記憶することを更に含むことが好ましい。
前記方法は、
前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークすることを更に含むことが好ましい。
前記バックアップサーバーへ前記ファイルをバックアップしない前に、前記方法は、
ローカル・バックアップ・データベースにおいて前記ハッシュ値がアップロード済み状態にマークされたか否かを照会し、
前記ハッシュ値がアップロード済み状態にマークされたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしないことにし、
前記ハッシュ値がアップロード済み状態にマークされていないことを検知した場合、バックアップサーバーに対して前記ハッシュ値に対応するファイルがアップロード成功されたか否かを照会し、
前記ハッシュ値に対応するファイルがアップロード成功されたことを検知した場合、ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークしてバックアップサーバーへ該ファイルをバックアップしないが、前記ハッシュ値に対応するファイルがアップロード成功されていないことを検知した場合、バックアップサーバーへ該ファイルをバックアップすることを更に含むことが好ましい。
前記方法は、
前記ローカル・バックアップ・データベースにおいて、最後の更新時間及びファイルの大きさを含むファイルの属性情報を記録し、
前記ファイルの属性情報が前記ローカル・バックアップ・データベースに記録された属性情報とは異なる場合、前記ローカル・バックアップ・データベースに記録された該ファイルのハッシュ値及び属性情報を更新することを更に含むことが好ましい。
本開示の実施例の第二の局面によれば、
端末からアップロードした、ハッシュ値が保持されている検索請求を受信し、
ローカル・バックアップ・データベースにおいて前記ハッシュ値を検索し、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、該ハッシュ値に対応するファイルがアップロード成功されたことを前記端末に通告することを含むファイルバックアップ方法を提供した。
前記方法は、
予め設定したアルゴリズムに基づいて、端末からアップロードしたファイルのハッシュ値を確定し、
前記ファイルがローカルにバックアップ成功された後、確定されたハッシュ値をローカル・バックアップ・データベースに記憶することを更に含むことが好ましい。
前記予め設定したアルゴリズムに基づいて、端末からアップロードしたファイルのハッシュ値を確定することは、
前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断し、
前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得し、
前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行ってハッシュ値を取得することを含むことが好ましい。
前記ファイルから複数個のファイルセグメントを抽出することは、
前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出することを含み、
前記予め設定した大きさのファイルセグメントが占有するバイト数は、前記予め設定した閾値より小さいことが好ましい。
本開示の実施例の第三の局面によれば、
予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定する第一の確定モジュールと、
確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索する第一の検索モジュールと、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしない処理モジュールとを備えるファイルバックアップ装置を提供した。
前記第一の確定モジュールは、
前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断する第一の判断サブモジュールと、
前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得する第一の確定サブモジュールと、
前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行ってハッシュ値を取得する第二の確定サブモジュールとを備えることが好ましい。
前記第一の確定サブモジュールは、
前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出する第一の抽出サブモジュールを備え、
前記予め設定した大きさのファイルセグメントが占有するバイト数は、前記予め設定した閾値より小さいことが好ましい。
前記装置は、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されていないことを検知した時、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードするアップロードモジュールと、
前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、ローカル・バックアップ・データベースに前記ハッシュ値を記憶する第一の記憶モジュールとを更に備えることが好ましい。
前記装置は、
前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークするマークモジュールを更に備えることが好ましい。
前記処理モジュールは、
ローカル・バックアップ・データベースにおいて前記ハッシュ値がアップロード済み状態にマークされたか否かを照会する第一の照会サブモジュールと、
前記ハッシュ値がアップロード済み状態にマークされたことを検知した時、バックアップサーバーへ前記ファイルをバックアップしない処理サブモジュールと、
前記ハッシュ値がアップロード済み状態にマークされていないことを検知した場合、バックアップサーバーに対して前記ハッシュ値に対応するファイルがアップロード成功されたか否かを照会する第二の照会サブモジュールと、
前記ハッシュ値に対応するファイルがアップロード成功されたことを検知した場合、ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークして、バックアップサーバーへ該ファイルをバックアップしない第一のマークサブモジュールと、
前記ハッシュ値に対応するファイルがアップロード成功されていないことを検知した場合、バックアップサーバーへ該ファイルをバックアップするバックアップサブモジュールとを備えることが好ましい。
前記装置は、
前記ローカル・バックアップ・データベースにおいて、最後の更新時間及びファイルの大きさを含むファイルの属性情報を記録する記録モジュールと、
前記ファイルの属性情報が前記ローカル・バックアップ・データベースに記録された属性情報とは異なる時、前記ローカル・バックアップ・データベースに記録された該ファイルのハッシュ値及び属性情報を更新する更新モジュールとを更に備えることが好ましい。
本開示の実施例の第四の局面によれば、
端末からアップロードした、ハッシュ値が保持されている検索請求を受信する受信モジュールと、
ローカル・バックアップ・データベースにおいて前記ハッシュ値を検索する第二の検索モジュールと、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、該ハッシュ値に対応するファイルがアップロード成功されたことを前記端末に通告する通告モジュールとを備えるファイルバックアップ装置を提供した。
前記装置は、
予め設定したアルゴリズムに基づいて、端末からアップロードしたファイルのハッシュ値を確定する第二の確定モジュールと、
前記ファイルがローカルにバックアップ成功された後、確定されたハッシュ値をローカル・バックアップ・データベースに記憶する第二の記憶モジュールとを更に備えることが好ましい。
前記第二の確定モジュールは、
前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断する第二の判断サブモジュールと、
前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得する第三の確定サブモジュールと、
前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行ってハッシュ値を取得する第四の確定サブモジュールとを備えることが好ましい。
前記第三の確定サブモジュールは、
前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出する第二の抽出サブモジュールを備え、
前記予め設定した大きさのファイルセグメントが占有するバイト数は、前記予め設定した閾値より小さいことが好ましい。
本開示の実施例の第五の局面によれば、
プロセッサと、
プロセッサが実行可能なコマンドを記憶するメモリとを備え、
前記プロセッサは、
予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定し、
ローカル・バックアップ・データベースにおいて、確定されたハッシュ値を検索し、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしないように構成されているファイルバックアップ装置を提供した。
本開示の実施例の第六の局面によれば、
プロセッサと、
プロセッサが実行可能なコマンドを記憶するメモリとを備え、
前記プロセッサは、
端末からアップロードした、ハッシュ値が保持されている検索請求を受信し、
ローカル・バックアップ・データベースにおいて前記ハッシュ値を検索し、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、該ハッシュ値に対応するファイルがアップロード成功されたことを前記端末に通告するように構成されているファイルバックアップ装置を提供した。
本開示のその他の方面は、
プロセッサに実行されることにより、前記方法を実現することを特徴とするプログラムを提供する。
本開示のその他の方面は、
前記プログラムが記録された記録媒体を提供する。
本開示の実施例が提供した技術案は、以下の有益な効果を奏することができる。
本開示の以上の実施例において、予め設定したアルゴリズムに基づいて前記ファイルに対してハッシュ値の確定を行い、確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索し、ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した時、バックアップサーバーへ該ファイルをバックアップすることを停止させることによって、異なるファイルパスで同一のファイルを重複してバックアップすることを回避できる。
本開示の以上の実施例において、予め設定したアルゴリズムに基づいて前記ファイルのハッシュ値を確定する時、前記ファイルに対して閾値化の処理を行い、前記ファイルの大きさが予め設定した閾値より大きい時、該ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得することにより、前記ファイルが大きすぎる時、該ファイルハッシュ値の確定時の計算量を有効的に減少させ、デバイスの電気消費量を低下させることができる。
本開示の以上の実施例において、前記ファイルから均等的に分布され、且つ予め設定した大きさが前記予め設定した閾値より小さいファイルセグメントを抽出することによって、ハッシュ値の確定時の計算量を減少させると共に、前記各ファイルセグメントに対するハッシュ値の確定結果が前記ファイルに対するハッシュ値の確定結果とできるだけ一致にさせることができる。
本開示の以上の実施例において、ローカル・バックアップ・データベースにおいて前記ハッシュ値が検知されていない場合、前記ハッシュ値に対応するファイルがバックアップサーバーにアップロードし、該ハッシュ値をローカル・バックアップ・データベースに記憶することによって、異なるパスの同一のファイルを再びバックアップする時、ローカル・バックアップ・データベースにおいて、確定されたハッシュ値を検知できる。これにより、同一のファイルを重複してバックアップすることを回避できる。
本開示の以上の実施例において、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後、前記ハッシュ値をローカル・バックアップ・データベースにおいてアップロード済み状態にマークすることによって、ローカル・バックアップ・データベースにおいてハッシュ値の検索を行う時、ファイルのアップロード状態を知ることができる。
本開示の以上の実施例において、バックアップサーバーへの前記ファイルのバックアップを停止させる前に、ローカル・バックアップ・データベースにおいて前記ハッシュ値がアップロード済み状態にマークされたか否かを照会し、アップロード済み状態にマークされた場合、バックアップサーバーへ該ファイルをバックアップすることを停止させ、アップロード済み状態にマークされていない場合、更にバックアップサーバーに該ファイルがアップロード成功されたか否かを確定し、該ファイルがアップロード成功されたことを確定した場合、バックアップサーバーへ該ファイルをバックアップすることを停止させ、該ファイルがアップロード成功されていないことを確定した場合、バックアップサーバーへ該ファイルをバックアップする。該技術案によれば、ファイルアップロード成功していないことで生じた誤操作を有効的に回避できる。
本開示の以上の実施例において、ローカルデータベースにおいてファイルの最後の更新時間及びファイルの大きさ等の属性情報を記録し、前記ファイルの属性情報がローカルに記録された属性情報とは異なる時、ローカル・バックアップ・データベースの属性情報及び記録された該ファイルのハッシュ値を更新することにより、ファイルをバックアップ時の誤判断操作を有効的に回避できる。
本開示の以上の実施例において、ローカル・バックアップ・データベースにおいて端末から受信した検索請求に保持されたハッシュ値を検索し、ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録された場合、端末に該ファイルに対応のファイルがアップロード成功されたことを通告することにより、端末がファイルアップロード成功していないことで生じた誤操作のため、異なるファイルパスの同一のファイルをバックアップサーバーに重複してバックアップすることを有効的に回避できる。
本開示の以上の実施例において、予め設定したアルゴリズムに基づいて端末からアップロードしたファイルのハッシュ値を確定し、該ファイルがローカルにバックアップ成功された後、ローカル・バックアップ・データベースに確定されたハッシュ値を記憶することにより、バックアップサーバーがローカル・バックアップ・データベースにおいて再び該ハッシュ値を検知した時、該ハッシュ値に対応するファイルのアップロード済み状態を対応の端末に通告することができる。
本開示の以上の実施例において、予め設定したアルゴリズムに基づいて前記ファイルのハッシュ値を確定する時、前記ファイルに対して閾値化の処理を行い、前記ファイルの大きさが予め設定した閾値より大きい時、該ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得することにより、前記ファイルが大きすぎる時、該ファイルハッシュ値の確定時の計算量を有効的に減少させ、デバイスの電気消費量を低下させることができる。
本開示の以上の実施例において、前記ファイルから均等的に分布され、且つ予め設定した大きさが前記予め設定した閾値より小さいファイルセグメントを抽出することにより、ハッシュ値の確定量を減少させると共に、前記各ファイルセグメントに対するハッシュ値の確定結果が前記ファイルに対するハッシュ値の確定結果と一致にさせることができる。
以上の一般的な記述及び以下の詳細な記述は、例示のものに過ぎず、本開示を限定するものではないと理解すべきである。
ここでの図面は明細書に組み込まれて明細書の一部を構成し、本開示に適合する実施例を示し、明細書と共に本開示の原理の解釈に用いられる。
例示的な実施例で示すファイルバックアップ方法のフローの模式図である。 例示的な実施例で示すもう一つのファイルバックアップ方法のフローの模式図である。 例示的な実施例で示すもう一つのファイルバックアップ方法のフローの模式図である。 例示的な実施例で示す、ビデオファイルから抽出されたファイルセグメントの模式図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。 例示的な実施例で示す、ファイルバックアップ装置に用いられる構成の模式図である。 例示的な実施例で示す、ファイルバックアップ装置に用いられるもう一つの構成の模式図である。
ここで、図面に示された例示的な実施例を詳細に説明する。以下の記載において、図面を言及するとき、特に説明しない限り、異なる図面における同じ番号が同一または同等の要素を示す。以下の例示的な実施例に記載の実施の形態は、本開示と一致するあらゆる実施の形態を代表するわけではない。逆に、それらは、添付された特許請求の範囲に詳細に記載される、本開示の一部の局面と一致する装置及び方法の例にすぎない。
本明細書に使用の用語は、特定の実施例を描写する目的で記載したものであり、本開示を限定するものではない。本明細書及び付加の特許請求の範囲において使用された単数形態の“一種”、“前記”及び“該”も、上下文脈には明白にその意味を表示した以外、複数の形態を含んでいる。本文において、使用の用語“及び/又は”は、一つまたは複数の関連した項目の何れか一つ及び全ての組み合わせを含んでいることを理解すべきである。
本明細書において用語の「第一の」、「第二の」、「第三の」等を用いてそれぞれの部材を記載したが、これらの部材は、これらの用語に限定されないことを理解すべきである。これらの用語は、同一の類型の部材を区別するために用いられるものである。例えば、本開示の保護範囲内であれば、第一の部材が第二の部材と称することもできる。同様に、第二の部材が第一の部材と称することもできる。また、言語の場所によって決まるが、例えば、ここで使用した言葉「…すると」は、「……である時」或は「……になった時」或は「…であれば」と解釈されて良い。
図1に示すように、図1は、例示的な実施例で示すファイルバックアップ方法を示す。該ファイルバックアップ方法は、端末に用いられ、以下のステップを含む。
ステップ101において、予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定する。
本実施例において、前記予め設定したアルゴリズムは、該ファイルに対してハッシュ値の確定を行う前に、該ファイルに対して閾値化の処理を行って閾値化の処理結果に基づいて、異なるハッシュ値の確定方法をそれぞれ用いるものであっても良い。
例えば、先ず該ファイルの大きさが予め設定した閾値より大きいか否かの判断を行う。該ファイルの大きさが予め設定した閾値より大きくない場合、該ファイルに対してハッシュ値の確定を直接に行う。該ファイルの大きさが予め設定した閾値より大きい場合、この時、該ファイルに対してハッシュ値の計算を直接に行うと、計算量があまりに大きくなってしまう。計算量があまりに大きい場合、デバイスの電気消費量が増加になってしまう。そのため、予め設定した閾値より大きいファイルに対して、該ファイルから複数個の、予め設定した大きさのファイルセグメントを抽出し、抽出された複数個のファイルセグメントに対してハッシュ値の確定を行って該ファイルのハッシュ値を取得することにしても良い。例えば、該ファイルからファイルセグメントを抽出する時、該ファイルを、予め設定した大きさの複数個のファイルブロックに分割して、分割し得たファイルブロックから複数個のファイルブロックを前記ファイルセグメントとして抽出しても良い。
ここで、前記予め設定した大きさが前記予め設定した閾値より小さいことについて、前記予め設定した閾値は、実際の状況に基づいて設定されて良いし、或は工程の経験値を前記予め設定した閾値として選択して良いので、本開示は、これに対して特別な限定をしない。例えば、本開示は、ビデオ画像ファイルをバックアップする時、前記予め設定した閾値を、工程の経験値4Mにして良い。
前記ファイルからファイルセグメントを抽出する時、ランダムに抽出して良いし、均等的に抽出しても良い。ランダムに抽出されたファイルセグメントは、前記ファイルにおいて均等的に分布していない可能性があるため、前記ファイルにおいて、均等的に分布していないファイルセグメントに対してハッシュ値の確定を行う時に確定されたハッシュ値は、前記ファイルに対するハッシュ値の確定結果とは誤差が存在する恐れがある。従って、前記各ファイルセグメントに対するハッシュ値の確定結果を、前記ファイルに対するハッシュ値の確定結果に出来るだけ一致させるために、前記ファイルから均等的にファイルセグメントを抽出しても良い。例えば、一定の間隔でファイルセグメントを抽出して良い。これにより、抽出されたファイルセグメントが前記ファイルにおいて均等的に分布されていることを保証できる。
また、以下のことを説明すべきである。即ち、前記ファイルからファイルセグメントを抽出する時、抽出されたファイルセグメントの個数は、多すぎても少なすぎでも良くない。抽出されたファイルセグメントの個数が多すぎると、ハッシュ値の確定を行う時、アルゴリズムが頻繁に呼び出されることにより、無駄にシステムのリソースを占有することになる。抽出されたファイルセグメントの個数が少なすぎる時、最終のハッシュ値の確定結果の正確度に影響を与えてしまう。そのため、実際の応用において、当業者は、二者のことを同時に考慮する上で、合理的に抽出のファイルセグメントの個数を設定しても良いし、或は、工程の経験値を採用して良い。本開示において、これに対して特別な限定をしない。
該技術案によれば、該ファイルのハッシュ値の確定時の計算量を有効的に減少させ、デバイスの電気消費量を低下させることができる。
ステップ102において、確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索する。
本実施例において、ローカル・バックアップ・データベースにおいて該ハッシュ値が記録されていないことを検知した場合、該ハッシュ値に対応するファイルをバックアップサーバーにアップロードする。前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、確定された前記ハッシュ値をローカル・バックアップ・データベースにおいて記憶する。
ステップ103において、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへの前記ファイルのバックアップを停止させる。
本実施例において、ローカル・バックアップ・データベースにおいて該ハッシュ値が記録されたことを検知した場合、該ファイルが既にバックアップサーバーへアップロードされたことを表明するので、バックアップサーバーへ該ファイルをバックアップしない。ことによって、同一ファイルを重複してバックアップすることを回避できる。
ここで、バックアップサーバーへファイルをアップロードする時、アップロードの失敗で生じた誤操作を防止するために、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後、ローカル・バックアップ・データベースにおいて該ハッシュ値をアップロード済み状態にマークして良い。ローカル・バックアップ・データベースにおいて該ハッシュ値を検知した場合、該ハッシュ値に対応するファイルをバックアップサーバーにバックアップする前に、ローカル・バックアップ・データベースにおいて該ハッシュ値がアップロード済み状態にマークされたか否かを更に照会することによって、該ファイルがアップロード成功されたか否かを確定することができる。該ハッシュ値はアップロード済み状態にマークされた場合、該ハッシュ値に対応するファイルがアップロード成功されたことを表明しているので、バックアップサーバーへ該ファイルを継続してバックアップすることを停止させる。逆に、該ハッシュ値はアップロード済み状態にマークされていない場合、該ファイルがアップロード成功されていない可能性が高く、バックアップサーバーに該ファイルがアップロード成功されたか否かを照会する。バックアップサーバーから該ハッシュ値に対応するファイルがアップロード成功されたことを通告した場合、バックアップサーバーへ該ファイルを継続してバックアップすることを停止させる。同じ理由で、バックアップサーバーから該ハッシュ値に対応するファイルがアップロード成功されていないことを通告した場合、改めてバックアップサーバーへ該ファイルをバックアップする。
上述の実施例から分かるように、端末は、予め設定したアルゴリズムでファイルに対してハッシュ値の確定を行い、確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索する。ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した時、バックアップサーバーへの該ファイルのバックアップを停止させることにより、異なるファイルパスで同一のファイルを重複してバックアップすることを回避できる。
図2に示すように、図2は、例示的な実施例で示すもう一つのファイルバックアップ方法のフローチャートである。該ファイルバックアップ方法は、バックアップサーバーに用いられ、以下のステップを含む。
ステップ201において、端末からアップロードした検索請求を受信する。前記検索請求中にはハッシュ値が保持されている。
ステップ202において、ローカル・バックアップ・データベースにおいて前記ハッシュ値を検索する。
本実施例において、バックアップサーバーは、端末からアップロードしたファイルを受信した後、予め設定したアルゴリズムに基づいて、端末からアップロードしたファイルのハッシュ値を確定し、該ファイルがローカルにバックアップ成功された後、前記端末に通告すると同時に、確定されたハッシュ値をローカル・バックアップ・データベースに記憶する。これによって、端末が検索を行うことが便利になる。
ここで、バックアップサーバー上に採用された前記予め設定したアルゴリズムは、端末上に採用された予め設定したアルゴリズムと同一にする。該ファイルに対してハッシュ値の確定を行う前に、該ファイルの大きさが予め設定した閾値より大きいか否かの判断を行っても良い。該ファイルの大きさが予め設定した閾値より大きくない場合、該ファイルに対してハッシュ値の確定を直接に行う。該ファイルの大きさが予め設定した閾値より大きい場合、この時、該ファイルに対してハッシュ値の確定を直接に行うと、計算量があまりに大きくなってしまう。計算量があまりに大きい場合、デバイスの電気消費量が増加になってしまう。そのため、予め設定した閾値より大きいファイルに対して、該ファイルから複数個の、予め設定した大きさのファイルセグメントを抽出し、抽出された複数個のファイルセグメントに対してハッシュ値の確定を行って該ファイルのハッシュ値を取得することにしても良い。例えば、該ファイルからファイルセグメントを抽出する時、該ファイルを、予め設定した大きさの複数個のファイルブロックに分割して、分割し得たファイルブロックから複数個のファイルブロックを前記ファイルセグメントとして抽出しても良い。
ここで、前記予め設定した大きさが前記予め設定した閾値より小さいことについて、前記予め設定した閾値は、実際の状況に基づいて設定されて良いし、或は工程の経験値を前記予め設定した閾値として選択して良いので、本開示は、これに対して特別な限定をしない。例えば、本開示は、ビデオ画像ファイルをバックアップする時、前記予め設定した閾値を工程の経験値4Mにして良い。
前記ファイルからファイルセグメントを抽出する時、ランダムに抽出して良いし、均等的に抽出しても良い。ランダムに抽出されたファイルセグメントは、前記ファイルにおいて均等的に分布していない可能性があるため、前記ファイルにおいて均等的に分布していないファイルセグメントに対してハッシュ値の確定を行う時、確定されたハッシュ値は、前記ファイルに対するハッシュ値の確定結果とは誤差が存在する恐れがある。従って、前記各ファイルセグメントに対するハッシュ値の確定結果を、前記ファイルに対するハッシュ値の確定結果に出来るだけ一致させるために、前記ファイルから均等的にファイルセグメントを抽出しても良い。例えば、一定の間隔でファイルセグメントを抽出して良い。これにより、抽出されたファイルセグメントが前記ファイルにおいて均等的に分布していることを保証できる。
また、以下のことを説明すべきである。即ち、前記ファイルからファイルセグメントを抽出する時、抽出されたファイルセグメントの個数は、多すぎても少なすぎでも良くない。抽出されたファイルセグメントの個数が多すぎると、ハッシュ値の確定を行う際、アルゴリズムが頻繁に呼び出されることにより、無駄にシステムのリソースを占有することになる。抽出されたファイルセグメントの個数が少なすぎると、最終のハッシュ値の確定結果の正確度に影響を与えてしまう。そのため、実際の応用において、当業者は、二者のことを同時に考慮する上で、抽出しようとするファイルセグメントの個数を合理的に設定しても良いし、或は、工程の経験値を採用して良い。本開示において、これに対して特別な限定をしない。
該技術案によれば、該ファイルのハッシュ値の確定時の計算量を有効的に減少させ、デバイスの電気消費量を低下させることができる。
ステップ203において、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、該ハッシュ値に対応するファイルがアップロード成功されたことを前記端末に通告することになる。
本実施例において、ローカル・バックアップ・データベースにおいて確定されたハッシュ値が記録したことを検知した場合、端末が今回バックアップサーバーへ検索するファイルは、この前にローカルにアップロード成功されたファイルであることを表明したので、バックアップサーバーは、端末へ通告メッセージを送り、端末に該ファイルがアップロード成功されたことを通告する。これによって、端末が該通告メッセージを受信した後、該ファイルをバックアップサーバーに継続してバックアップすることを停止させることができる。同じ理由で、ローカルバックアップデータにおいて確定されたハッシュ値が記録されていないことを検知した場合、バックアップサーバーから依然として端末に通告メッセージを送り、端末に該ファイルがアップロード成功されていないことを通告する。これによって、端末が該通告メッセージを受信した後、該ファイルをバックアップサーバーへ改めてバックアップさせることができる。
上述の実施例から分かるように、バックアップサーバーは、ローカル・バックアップ・データベースにおいて、端末から受信した検索請求に保持されたハッシュ値を検索し、ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録された時、端末に該ファイルに対応のファイルがアップロード成功されたことを通告する。これによって、端末がファイルアップロード成功していないから生じた誤操作で、異なるファイルパスで同一のファイルをバックアップサーバーに重複してバックアップしてしまうことを有効的に回避できる。
図3に示すように、図3は、例示的な実施例で示すもう一つのファイルバックアップ方法のフローチャートである。該方法は、以下のステップを含む。
ステップ301において、端末が予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定する。
本実施例において、前記予め設定したアルゴリズムは、該ファイルに対してハッシュ値の確定を行う前、先ず該ファイルの大きさが予め設定した閾値より大きいか否かの判断を行う。
該ファイルの大きさが予め設定した閾値より大きくない場合、該ファイルに対してハッシュ値の確定を直接に行う。該ファイルの大きさが予め設定した閾値より大きい場合、この時、該ファイルに対してハッシュ値の確定を直接に行うと、計算量があまりに大きくなってしまう。計算量があまりに大きい場合、デバイスの電気消費量が増加になってしまう。そのため、予め設定した閾値より大きいファイルに対して、該ファイルから複数個の、予め設定した大きさのファイルセグメントを抽出し、抽出された複数個のファイルセグメントに対してハッシュ値の確定を行い、該ファイルのハッシュ値を取得することにしても良い。例えば、該ファイルからファイルセグメントを抽出する時、該ファイルを、予め設定した大きさの複数個のファイルブロックに分割して、分割し得たファイルブロックから複数個のファイルブロックを抽出して前記ファイルセグメントとしても良い。
ここで、前記予め設定した大きさが前記予め設定した閾値より小さいことについて、前記予め設定した閾値は、実際の状況に基づいて設定されて良いし、或は工程の経験値を選択して前記予め設定した閾値として良い。このため、本開示は、これに対して特別な限定をしない。例えば、本開示は、ビデオ画像ファイルをバックアップする時、前記予め設定した閾値を工程の経験値4Mにして良い。
前記ファイルからファイルセグメントを抽出する時、ランダムに抽出して良いし、均等的に抽出しても良い。ランダムに抽出されたファイルセグメントは、前記ファイルにおいて均等的に分布していない可能性があるため、前記ファイルにおいて、均等的に分布していないファイルセグメントに対してハッシュ値の確定を行う時に確定されたハッシュ値は、前記ファイルに対するハッシュ値の確定結果とは誤差が存在する恐れがある。従って、前記各ファイルセグメントに対するハッシュ値の確定結果を、前記ファイルに対するハッシュ値の確定結果に出来るだけ一致させるために、前記ファイルから均等的にファイルセグメントを抽出しても良い。例えば、一定の間隔でファイルセグメントを抽出して良い。これにより、抽出されたファイルセグメントが前記ファイルにおいて均等的に分布していることを保証できる。
また、以下のことを説明すべきである。即ち、前記ファイルからファイルセグメントを抽出する時、抽出されたファイルセグメントの個数は、多すぎても少なすぎでも良くない。抽出されたファイルセグメントの個数が多すぎると、ハッシュ値の確定を行う時、アルゴリズムが頻繁に呼び出されることにより、無駄にシステムのリソースを占有することになる。抽出されたファイルセグメントの個数が少なすぎる時、最終のハッシュ値の確定結果の正確度に影響を与えてしまう。そのため、実際の応用において、当業者は、二者のことを同時に考慮する上で、抽出しようとするファイルセグメントの個数を合理的に設定しても良いし、或は、工程の経験値を採用して良い。本開示において、これに対して特別な限定をしない。
例えば、端末がローカルにある10Mの大きさのビデオファイルをバックアップしようとし、前記予め設定した閾値Tは、工程の経験値4Mとしていることを仮定する。この時、該ビデオファイルの大きさは、前記予め設定した閾値より大きいため、該ビデオファイルにおいて、同様に、工程の経験値に従って4段の予め設定した大きさが1Mであるファイルセグメントを抽出しても良い。
更に、まず該ビデオファイルを4つのファイル区間に分割して、各ファイル区間は2.5Mであり、各ファイル区間から1Mの大きさのファイルセグメントを抽出する。同時に、ファイルセグメントが該ビデオファイルにおいて均等的に分布していることを保証するために、ファイルセグメントの間に一定の間隔を設置して良い。例えば、以下の区間関数に従って、ファイルセグメントを抽出して良い。
[KP,KP+1]
上述の区間関数において、Pは、各ファイル区間の大きさであり、Kの取得値は、(0,1,…,T−1)、Tは、前記予め設定した閾値である。本実施例において、P値は2.5、Kの取得値は、(0,1,2,3)であり、上述の区間関数に従って、図4に示すように、該ビデオファイルから[0、1M]、[2.5M、3.5M]、[5M、6M]、[7.5M、8.5M]の一定間隔が1.5Mであり、大きさが1Mである四つのファイルセグメントを抽出することができる。
該技術案によれば、該ファイルのハッシュ値の確定時の計算量を有効的に減少させ、デバイスの電気消費量を低下させることができる。
ステップ302において、端末が確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索する。
本実施例において、端末がローカル・バックアップ・データベースにおいて該ハッシュ値が記録されていないことを検知した場合、該ハッシュ値に対応するファイルをバックアップサーバーにアップロードする。前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、確定し得た前記ハッシュ値をローカル・バックアップ・データベースに記憶する。同時に、端末は前記ハッシュ値に対応するファイルがバックアップサーバーにアップロード成功されたことを取得した後、前記ハッシュ値をローカル・バックアップ・データベースにおいてアップロード済み状態にマークする。ここで、端末は、前記ハッシュ値に対応するファイルがバックアップサーバーにアップロード成功されたか否かは、該ファイルがバックアップサーバーにアップロード成功された後に、バックアップサーバーから端末へ送信する通告メッセージを受信することによって取得しても良い。
ステップ303において、端末がローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、続いてローカル・バックアップ・データベースにおいて該ハッシュ値がアップロード済み状態にマークされたか否かをサーチする。
ステップ304において、端末は、前記ハッシュ値がアップロード済み状態にマークされていないことを検知した場合、バックアップサーバーに前記ハッシュ値に対応するファイルがアップロード成功されたか否かを照会する。
本実施例において、端末が前記ハッシュ値がアップロード済み状態にマークされたことを検知した場合、バックアップサーバーへ該ファイルを継続してバックアップすることを停止させる。ここで、端末がバックアップサーバーに対して前記ハッシュ値に対応するファイルがアップロード成功されたか否かを照会することは、バックアップサーバーに該ハッシュ値を保持している検索請求によって実現される。
ステップ305において、バックアップサーバーは、ローカル・バックアップ・データベースにおいて前記ハッシュ値を検索する。
本実施例において、バックアップサーバーは、端末からアップロードしたファイルを受信した時、まず予め設定したアルゴリズムに基づいて該ファイルのハッシュ値を確定し、該ファイルがローカルにバックアップ成功された後、確定されたハッシュ値をローカル・バックアップ・データベースに記憶する。これによって、端末が検索を行うことが便利になる。ここで、バックアップサーバーがファイルのハッシュ値を確定時に採用の予め設定したアルゴリズムは、端末がファイルのハッシュ値を確定時に採用のアルゴリズムに一致になっている。本実施例にはその説明を省略する。
ステップ306において、バックアップサーバーがローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、該ハッシュ値に対応するファイルがアップロード成功されたことを前記端末に通告する。
本実施例において、バックアップサーバーが、ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、端末に通告メッセージを送信して端末に通告する。
ステップ307において、端末が、ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークして、バックアップサーバーへの該ファイルのバックアップを停止する。
本実施例において、端末は、バックアップサーバーから送った通告メッセージを受信することによって該前記ハッシュ値に対応するファイルがアップロード成功されたことを取得した後、前記ハッシュ値をアップロード済み状態にマークして、バックアップサーバーへ該ファイルを継続してバックアップすることを停止することになる。同様に、端末がバックアップサーバーから前記ハッシュ値に対応するファイルがアップロード成功されていないことを検知した時、バックアップサーバーへ該ファイルをバックアップし、該ファイルをバックアップサーバーにアップロード成功した後、ローカル・バックアップ・データベースにおいて該ファイルに対応するハッシュ値をアップロード済み状態にマークする。
上述の実施例から分かるように、本開示は、予め設定したアルゴリズムに基づいて前記ファイルに対してハッシュ値の確定を行い、確定されたハッシュ値を端末のローカル・バックアップ・データベースにおいて検索する。ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した時、バックアップサーバーへの該ファイルのバックアップを停止させることにより、異なるファイルパスで同一のファイルを重複してバックアップすることを回避できる。同時に、本開示は、従来技術のハッシュ値確定のアルゴリズムに対して改善し、目標のファイルから複数個の、均等的に分布され、且つ比較的に小さいファイルセグメントを抽出して、抽出された複数個のファイルセグメントに対してハッシュ値の確定を行う。これにより、該ファイルのハッシュ値の確定時の計算量を有効的に減少させることができる。これにより、デバイスの電気消費量を低下させることができる。
本開示のもう一つの好ましい実施例において、上述の図1または図3に示した実施例の元で、端末のローカルデータベースにおいてファイルの属性情報の記録を行って良い。例えば、前記属性情報は、最後の更新時間及びファイルの大きさ等を含んでも良い。ローカルデータベースにおいて記録されたファイルの属性情報は、ファイルの実際の属性情報と異なる時、該ファイルが修正されたか或は新たな内容が書き込まれたかを表明するので、該ファイルのハッシュ値を改めて確定し、ローカルデータベースにおいて記録されたハッシュ値の更新を行うと共に、該ファイルの属性情報の更新を行うことが必要となる。当然ながら、ローカルデータベースにおいて記録されたファイルの属性情報は、ファイルの実際の属性情報と同じである場合、ローカル・バックアップ・データベースを更新する必要がなく、ローカル・バックアップ・データベース中のバッファ値を直接使用して良い。
以上の実施例において、ローカルデータベースにおいてファイルの最後の更新時間及びファイルの大きさ等の属性情報を記録し、且つ前記ファイルの属性情報がローカル記録の属性情報と異なる時に、ローカル・バックアップ・データベースの属性情報及び記録された該ファイルのハッシュ値の更新を行う。これによって、ファイルに対するバックアップ時の誤判断操作を有効的に回避できる。
本開示は、前述のファイルバックアップ方法の実施例に対応して、ファイルバックアップ装置の実施例を提供した。
図5は、例示的な実施例で示すファイルバックアップ装置の模式的なブロック図である。該装置は、端末に応用される。
図5に示すように、例示的な実施例で示すファイルバックアップ装置500は、第一の確定モジュール501と、第一の検索モジュール502と、処理モジュール503とを備える。
前記第一の確定モジュール501は、予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定するように構成される。
前記第一の検索モジュール502は、確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索するように構成される。
前記処理モジュール503は、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへの前記ファイルのバックアップを行わないように構成される。
上述の実施例において、予め設定したアルゴリズムに基づいて前記ファイルに対してハッシュ値の確定を行い、確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索する。ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した時、バックアップサーバーへの該ファイルのバックアップを停止させることによって、異なるファイルパスで同一のファイルを重複してバックアップすることを回避できる。
図6を参照する。図6は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図5に示した実施例の上で、前記第一の確定モジュール501は、第一の判断サブモジュール501Aと、第一の確定サブモジュール501Bと、第二の確定サブモジュール501Cとを備えて良い。
前記第一の判断サブモジュール501Aは、前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断するように構成される。
前記第一の確定サブモジュール501Bは、前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得するように構成される。
前記第二の確定サブモジュール502Bは、前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行ってハッシュ値を取得するように構成される。
上述の実施例において、予め設定したアルゴリズムに基づいて前記ファイルのハッシュ値を確定する時、前記ファイルに対して閾値化の処理を行い、前記ファイルの大きさが予め設定した閾値より大きい時、該ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得する。これによって、前記ファイルが大きすぎる時、該ファイルのハッシュ値の確定時の確定量を有効的に減少させ、デバイスの電気消費量を低下させることができる。
図7を参照する。図7は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図6に示した実施例を基礎に、前記第一の確定サブモジュール501Bが第一の抽出サブモジュール501B1を更に備えて良い。
前記第一の抽出サブモジュール501B1は、前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出するように構成される。ここで、前記予め設定した大きさのファイルセグメントが占有するバイト数は、前記予め設定した閾値より小さい。
上述の実施例において、前記ファイルから、均等的に分布され、予め設定した大きさが前記予め設定した閾値より小さいファイルセグメントを抽出することによって、ハッシュ値の確定時の計算量を減少させると共に、前記各ファイルセグメントに対するハッシュ値の確定結果を、前記ファイルに対するハッシュ値の確定結果にできるだけ一致させることができる。
図8を参照する。図8は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図5に示した実施例を基礎に、前記装置500は、アップロードモジュール504と、第一の記憶モジュール505とを更に備えて良い。
前記アップロードモジュール504は、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されていないことを検知した時、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードするように構成される。
前記第一の記憶モジュール505は、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、ローカル・バックアップ・データベースに前記ハッシュ値を記憶するように構成される。
上述の実施例において、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後に、前記ハッシュ値をローカル・バックアップ・データベースにおいてアップロード済み状態にマークすることによって、ローカル・バックアップ・データベースにおいてハッシュ値の検索を行う時、ファイルのアップロード状態を知ることができる。
説明すべきことは、上述の図8に示した装置の実施例において示されたアップロードモジュール504と第一の記憶モジュール505の構成は、前述の図6〜図7の装置の実施例に備われて良い。本開示は、これに対して限定しない。
図9を参照する。図9は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図8に示した実施例を基礎に、前記装置500は、マークモジュール506を更に備えても良い。
前記マークモジュール506は、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後に、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークするように構成される。
上述の実施例において、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後、前記ハッシュ値をローカル・バックアップ・データベースにおいてアップロード済み状態にマークする。これによって、ローカル・バックアップ・データベースにおいてハッシュ値の検索を行う時、ファイルのアップロード状態を知ることができる。
説明すべきことは、上述の図9に示した装置の実施例において示されたアップロードモジュール504と第一の記憶モジュール505の構成は、前述の図6〜図8の装置の実施例に備われても良い。本開示は、これに対して限定しない。
図10を参照する。図10は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図5に示した実施例を基礎に、前記処理モジュールは、第一の照会サブモジュール503Aと、処理サブモジュール503Bと、第二の照会サブモジュール503Cと、第一のマークサブモジュール503Dと、バックアップサブモジュール503Eとを更に備えて良い。
前記第一の照会サブモジュール503Aは、バックアップサーバーへの前記ファイルのバックアップを停止させる前に、ローカル・バックアップ・データベースにおいて前記ハッシュ値がアップロード済み状態にマークされたか否かを照会するように構成される。
前記処理サブモジュール503Bは、前記ハッシュ値がアップロード済み状態にマークされたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしないように構成される。
前記第二の照会サブモジュール503Cは、前記ハッシュ値がアップロード済み状態にマークされていないことを検知した場合、バックアップサーバーに対して前記ハッシュ値に対応するファイルがアップロード成功されたか否かを照会するように構成される。
前記第一のマークサブモジュール503Dは、前記ハッシュ値に対応するファイルがアップロード成功されたことを検知した場合、ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークして、バックアップサーバーへ該ファイルのバックアップをしないように構成される。
前記バックアップサブモジュール503Eは、前記ハッシュ値に対応するファイルがアップロード成功されていないことを検知した場合、バックアップサーバーへ該ファイルをバックアップするように構成される。
上述の実施例において、バックアップサーバーへの前記ファイルのバックアップを停止させる前に、ローカル・バックアップ・データベースにおいて前記ハッシュ値がアップロード済み状態にマークされたか否かを照会し、アップロード済み状態にマークされた場合、バックアップサーバーへの該ファイルのバックアップを停止させるが、アップロード済み状態にマークされていない場合、更にバックアップサーバーへ該ファイルがアップロード成功されたか否かを確定し、該ファイルがアップロード成功されたことを確定した時、バックアップサーバーへの該ファイルのバックアップを停止させ、該ファイルがアップロード成功されていないことを確定した時、バックアップサーバーへ該ファイルをバックアップする。該技術案によれば、ファイルアップロード成功していないことで生じた誤操作を有効的に回避できる。
説明すべきことは、上述の図10に示した装置の実施例において示された第一の照会サブモジュール503A、処理サブモジュール503B、第二の照会サブモジュール503C、第一のマークサブモジュール503D、バックアップサブモジュール503Eの構成は、前述の図6〜図9の装置の実施例に備われて良い。本開示は、これに対して限定しない。
図11を参照する。図11は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図5に示した実施例を基礎に、前記装置500は、記録モジュール506と更新モジュール507とを更に備える。
前記記録モジュール506は、前記ローカル・バックアップ・データベースにおいて前記ファイルの属性情報を記録するように構成される。前記属性情報は、最後の更新時間及びファイルの大きさを含む。
前記更新モジュール507は、前記ファイルの属性情報が前記ローカル・バックアップ・データベースに記録された属性情報と異なる時、前記ローカル・バックアップ・データベースに記録された該ファイルのハッシュ値及び属性情報を更新するように構成される。
上述の実施例において、ローカルデータベースにおいてファイルの最後の更新時間及びファイルの大きさ等の属性情報を記録し、前記ファイルの属性情報がローカルに記録された属性情報と異なった時、ローカル・バックアップ・データベースの属性情報及び記録された該ファイルのハッシュ値を更新する。これによって、ファイルのバックアップ時の誤判断操作を有効的に回避できる。
説明すべきことは、上述の図11に示した装置の実施例において示された記録モジュール506、更新モジュール507の構成は、前述の図6〜図10の装置の実施例に備われて良い。本開示は、これに対して限定しない。
図12は、例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該装置は、バックアップサーバーに応用される。
図12に示すように、例示的な実施例で示すもう一つのファイルバックアップ装置1200は、受信モジュール1201と、第二の検索モジュール1202と、通告モジュール1203とを備える。
前記受信モジュール1201は、端末からアップロードした検索請求を受信するように構成される。前記検索請求にはハッシュ値が保持されている。
前記第二の検索モジュール1202は、ローカル・バックアップ・データベースにおいて前記ハッシュ値を検索するように構成される。
前記通告モジュール1203は、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、該ハッシュ値に対応するファイルがアップロード成功されたことを前記端末に通告するように構成される。
上述の実施例において、ローカル・バックアップ・データベースにおいて端末から受信した検索請求に保持されているハッシュ値を検索し、ローカル・バックアップ・データベースに前記ハッシュ値が記録された時、端末へ該ファイルに対応するファイルがアップロード成功されたことを通告する。これによって、ファイルアップロード成功していないことで生じた誤操作で、端末が異なるファイルパスで同一のファイルをバックアップサーバーに重複してバックアップすることを有効的に回避できる。
図13を参照する。図13は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図12に示した実施例を基礎に、前記装置1200は、第二の確定モジュール1204と第二の記憶モジュール1205とを更に備える。
前記第二の確定モジュール1204は、予め設定したアルゴリズムに基づいて端末からアップロードしたファイルのハッシュ値を確定するように構成される。
前記第二の記憶モジュール1205は、前記ファイルがローカルにバックアップ成功された後、確定されたハッシュ値をローカル・バックアップ・データベースに記憶するように構成される。
上述の実施例において、予め設定したアルゴリズムに基づいて端末からアップロードしたファイルのハッシュ値を確定し、該ファイルがローカルにバックアップ成功された後、確定されたハッシュ値をローカル・バックアップ・データベースに記憶することによって、バックアップサーバーがローカル・バックアップ・データベースにおいて該ハッシュ値を再び検知した時、該ハッシュ値に対応するファイルのアップロード済み状態を、対応の端末に通告することができる。
図14を参照する。図14は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図12に示した実施例を基礎に、前記第二の確定モジュール1204が第二の判断サブモジュール1204Aと、第三の確定サブモジュール1204Bと第四の確定サブモジュール1204Cとを備える。
前記第二の判断サブモジュール1204Aは、前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断するように構成される。
前記第三の確定サブモジュール1204Bは、前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得するように構成される。
前記第四の確定サブモジュール1204Cは、前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行ってハッシュ値を取得するように構成される。
上述の実施例において、予め設定したアルゴリズムで前記ファイルのハッシュ値を確定する時、前記ファイルに対して閾値化の処理を行い、前記ファイルの大きさが予め設定した閾値より大きい時、該ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルのハッシュ値を取得する。これによって、前記ファイルが大きすぎる時、該ファイルのハッシュ値の確定時の計算量を有効的に減少させ、デバイスの電気消費量を低下させることができる。同時に、前記ファイルから均等的に分布され、且つ予め設定した大きさが前記予め設定した閾値より小さいファイルセグメントを抽出することによって、ハッシュ値の確定量を減少させると共に、前記各ファイルセグメントに対するハッシュ値の確定結果が前記ファイルに対するハッシュ値の確定結果に一致させることができる。
図15を参照する。図15は、本開示の例示的な実施例で示すもう一つのファイルバックアップ装置の模式的なブロック図である。該実施例は、前述の図14に示した実施例を基礎に、前記第三の確定サブモジュール1204Bが第二の抽出サブモジュール1204B1を備えて良い。
前記第二の抽出サブモジュール1204B1は、前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出するように構成される。ここで、前記予め設定した大きさのファイルセグメントが占有するバイト数が前記予め設定した閾値より小さい。
上述の実施例において、前記ファイルから均等的に分布され、且つ予め設定した大きさが前記予め設定した閾値より小さいファイルセグメントを抽出することによって、ハッシュ値の確定時の計算量を減少させると共に、前記各ファイルセグメントに対するハッシュ値の確定結果が前記ファイルに対するハッシュ値の確定結果にできるだけ一致させることができる。
対応的に、本開示は、ファイルバックアップ装置を更に提供した。前記装置は、メモリと、一つ或は一つ以上のプログラムを備え、一つ或は一つ以上のプログラムは、メモリに記憶され、一つ或は一つ以上のプロセッサで実行する前記一つ或は一つ以上のプログラムは、以下の操作を行えるコマンドを含んでいる。
即ち、予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定し、
確定されたハッシュ値をローカル・バックアップ・データベースにおいて検索し、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしない操作を行うコマンドが含まれている。
図16は、例示的な実施例で示すファイルバックアップ装置の構成の模式図である。
図16に示すように、例示的な実施例で示すファイルバックアップ装置1600は、携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信デバイス、ゲーム制御台、タブレットデバイス、医療デバイス、ヘルスデバイス、パーソナルデジタルアシスタント等であっても良い。
図16を参照する。装置1600は、プロセッサアセンブリ1601、メモリ1602、電源アセンブリ1603、マルチメディアアセンブリ1604、オーディオアセンブリ1605、入力/出力(I/ O)のインターフェース1606、センサーアセンブリ1607、及び通信アセンブリ1608の一つまたは複数のアセンブリを備えて良い。
プロセッサアセンブリ1601は、一般的に装置1600の全体の操作を制御するものであり、例えば、表示、電話呼び出し、データ通信、カメラ操作、及び記録操作と関連する操作を制御する。プロセッサアセンブリ1601は、一つまたは複数のプロセッサ1609を含み、これらによって命令を実行することにより、上記の方法の全部、或は一部のステップを実現することができる。なお、プロセッサアセンブリ1601は、一つまたは複数のモジュールを含み、これらによってプロセッサアセンブリ1601と他のアセンブリの間のインタラクションを容易にするようにしてもよい。例えば、プロセッサアセンブリ1601は、マルチメディアモジュールを含み、これらによってマルチメディアアセンブリ1604とプロセッサアセンブリ1601の間のインタラクションを容易にするようにしてもよい。
メモリ1602は、各種類のデータを記憶することにより装置1600の操作を支援するように構成される。これらのデータの例は、装置1600において操作されるいずれのアプリケーションプログラム又は方法のコマンド、連絡対象データ、電話帳データ、メッセージ、画像、ビデオ等を含む。メモリ1602は、いずれの種類の揮発性メモリ、不揮発性メモリ記憶デバイスまたはそれらの組み合わせによって実現されてもよく、例えば、SRAM(Static Random Access Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)、PROM(Programmable ROM)、ROM(Read Only Memory)、磁気メモリ、フラッシュメモリ、磁気ディスク、或いは光ディスクである。
電源アセンブリ1603は、装置1600の多様なアセンブリに電力を供給する。電源アセンブリ1603は、電源管理システム、一つまたは複数の電源、及び装置1600のための電力の生成、管理及び割り当てに関連する他のアセンブリを含んでもよい。
マルチメディアアセンブリ1604は、前記装置1600とユーザの間に一つの出力インターフェイスを提供するスクリーンを含む。上記の実施例において、スクリーンは液晶モニター(LCD)とタッチパネル(TP)を含んでもよい。スクリーンがタッチパネルを含むことにより、スクリーンはタッチスクリーンを実現することができ、ユーザからの入力信号を受信することができる。タッチパネルは一つまたは複数のタッチセンサーを含んでおり、タッチ、スライド、及びタッチパネル上のジェスチャを検出することができる。前記タッチセンサーは、タッチ、或はスライドの動作の境界だけでなく、前記のタッチ、或はスライド操作に係る継続時間及び圧力も検出できる。上記の実施例において、マルチメディアアセンブリ1604は、一つのフロントカメラ、及び/又はリアーカメラを含む。装置1600が、例えば撮影モード、或はビデオモード等の操作モードにある場合、フロントカメラ、及び/又はリアーカメラは外部からマルチメディアデータを受信できる。フロントカメラとリアーカメラのそれぞれは、一つの固定型の光レンズ系、或は可変な焦点距離と光学ズーム機能を有するものであってもよい。
オーディオアセンブリ1605は、オーディオ信号を入力/出力するように構成される。例えば、オーディオアセンブリ1605は、一つのマイク(MIC)を含み、装置1600、例えば呼出しモード、記録モード、及び音声認識モード等の操作モードにある場合、マイクは外部のオーディオ信号を受信することができる。受信されたオーディオ信号は、さらにメモリ1602に記憶されたり、通信アセンブリ1608を介して送信されたりされる。上記の実施例において、オーディオアセンブリ1605は、オーディオ信号を出力するための一つのスピーカーをさらに含む。
I/Oインターフェイス1602は、プロセッサアセンブリ1102と周辺インターフェイスモジュールの間にインターフェイスを提供するものであり、上記周辺インターフェイスモジュールは、キーボード、クリックホイール、ボタン等であってもよい。これらのボタンは、ホームボタン、ボリュームボタン、起動ボタン、ロッキングボタンを含んでもよいが、これらに限定されない。
センサアセンブリ1607は、装置1600に各方面の状態に対する評価を提供するための一つ以上のセンサを含む。例えば、センサアセンブリ1607は、装置1600のON/OFF状態、装置1600のディスプレイとキーパッドのようなアセンブリの相対的な位置決めを検出できる。また、センサアセンブリ1607は、装置1600、或は装置1600の一つのアセンブリの位置変更、ユーザと装置1600とが接触しているか否か、装置1600の方位、又は加速/減速、装置1600の温度の変化を検出できる。センサアセンブリ1607は、何れの物理的接触がない状態にて付近の物体の存在を検出するための近接センサを含んでもよい。センサアセンブリ1607は、撮影アプリケーションに適用するため、CMOS、又はCCD画像センサのような光センサを含んでもよい。上記の実施例において、当該センサアセンブリ1607は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、及び温度センサをさらに含んでもよい。
通信アセンブリ1608は、装置1600と他の機器の間に有線、又は無線形態の通信を提供する。装置1600は、例えばWiFi、2G、3G、或はこれらの組み合わせのような、通信規格に基づいた無線ネットワークに接続されてもよい。一つの例示的な実施例において、通信アセンブリ1608は、放送チャンネルを介して外部の放送管理システムからの放送信号、又は放送に関連する情報を受信する。一つの例示的な実施例において、前記通信アセンブリ1608は、近距離無線通信(NFC)モジュールをさらに含むことにより、近距離通信を促進するようにする。例えば、NFCモジュールは、RFID(Radio Frequency IDentification)技術、IrDA(Infrared Data Association)技術、UWB(Ultra Wide Band)技術、BT(Bluetooth)技術、他の技術に基づいて実現できる。
例示的な実施例において、装置1600は、一つ以上のASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、DSPD(Digital Signal Processing Device)、PLD(Programmable Logic Device)、FPGA(Field−Programmable Gate Array)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子部品によって実現されるものであり、上記方法を実行する。
例示的な実施例において、さらに、コマンドを含む非一時的なコンピュータで読み取り可能な記憶媒体、例えばコマンドを含むメモリ1602を提供しており、装置1600のプロセッサ1609により上記コマンドを実行して上記方法を実現する。例えば、前記非一時的なコンピュータで読み取り可能な記憶媒体は、ROM、RAM(Random−Access Memory)、CD−ROM(Compact Disc ROM)、磁気テープ、フロッピーディスク、光データ記憶デバイス等である。
非揮発的なコンピュータで読み取り可能な記憶媒体は、当該記録媒体のコマンドが端末デバイスのプロセッサによって実行される際に、端末にファイルバックアップ方法を実行させることができる。前記方法は、
予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定し、
ローカル・バックアップ・データベースにおいて確定されたハッシュ値を検索し、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへの前記ファイルのバックアップを停止させることを含む。
対応的に、本開示は、ファイルバックアップ装置を更に提供した。前記装置は、メモリと、一つ或は一つ以上のプログラムを備え、一つ或は一つ以上のプログラムは、メモリに記憶され、一つ或は一つ以上のプロセッサで実行される前記一つ或は一つ以上のプログラムは、以下の操作を行うコマンドを含んでいる。
即ち、端末からアップロードした、ハッシュ値が保持されている検索請求を受信し、
ローカル・バックアップ・データベースにおいて前記ハッシュ値を検索し、
前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、該ハッシュ値に対応するファイルがアップロード成功されたことを前記端末に通告する操作を行うコマンドを含んでいる。
図17は、例示的な実施例で示すファイルバックアップの装置1700のブロック図である。例えば、装置1700は、サーバーであっても良い。図17を参照する。装置1700は1つ又は複数のプロセッサを含むプロセッサアセンブリ1722と、メモリ1732が代表となり、例えばアプリケーションなどのプロセッサアセンブリ1722により実行可能な各種コマンドを記憶する記憶媒体ソースと、を備える。メモリ1732内に記憶されたアプリケーションは、1つ又は1つ以上のモジュールを含み、当該1つ又は1つ以上のモジュールは、それぞれ1組のコマンドに対応する。また、プロセッサアセンブリ1722は、コマンドを実行するように構成され、これにより、上記ファイルバックアップ方法を実行する。
装置1700は、さらに、装置1700の給電管理を行うための電源アセンブリ1726と、装置1700とネットワークと接続するための有線又は無線のネットワークインターフェース1750と、入力/出力(I/O)インターフェース1758とを備える。装置1700は、例えば、Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTMなどの、メモリ1732に記憶された操作システムにおいて操作を行うことができる。
当業者は、本明細書に開示された発明の詳細を考慮し、実施することにより、本開示の他の実施案を容易に想定することができる。本出願は、本開示のいかなる変形、用途、又は適応的な変化を含むことを目的としており、いかなる変形、用途、又は適応的な変化は、本開示の一般原理に基づいて、且つ本開示において公開されていない本技術分野においての公知常識又は慣用技術手段を含む。明細書及び実施例は、例示的なものを開示しており、本開示の保護範囲と主旨は、特許請求の範囲に記述される。
本開示は、上記において開示された構成又は図面に示した構造に限定されるものではなく、本開示の範囲内であれば、様々な補正又は変更を行うことができる。本開示の範囲は、特許請求の範囲により制限される。

Claims (13)

  1. 端末が予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定し、
    前記端末が確定された前記ハッシュ値をローカル・バックアップ・データベースにおいて検索し、
    前記端末が前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されていないことを検知した場合、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードし、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、前記ハッシュ値をローカル・バックアップ・データベースに記憶し、前記端末が前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップせず
    前記予め設定したアルゴリズムに基づいてファイルの前記ハッシュ値を確定することは、
    前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断し、
    前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルの前記ハッシュ値を取得し、
    前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行って前記ハッシュ値を取得することを含むことを特徴とする端末で用いられるファイルバックアップ方法。
  2. 前記ファイルから複数個のファイルセグメントを抽出することは、
    前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出することを含み、
    前記予め設定した大きさのファイルセグメントが占有するバイト数は、前記予め設定した閾値より小さいことを特徴とする請求項1に記載のファイルバックアップ方法。
  3. 前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークすることを更に含むことを特徴とする請求項1に記載のファイルバックアップ方法。
  4. 前記端末が前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した後、ローカル・バックアップ・データベースにおいて前記ハッシュ値がアップロード済み状態にマークされたか否かを照会し、
    前記端末が前記ハッシュ値がアップロード済み状態にマークされたことを検知した後、バックアップサーバーへ前記ファイルをバックアップしないことにし、
    前記端末が前記ハッシュ値がアップロード済み状態にマークされていないことを検知した後、バックアップサーバーに対して前記ハッシュ値に対応するファイルがアップロード成功されたか否かを照会し、前記ハッシュ値に対応するファイルがアップロード成功されたことを検知した後、ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークしてバックアップサーバーへ該ファイルをバックアップしないが、前記ハッシュ値に対応するファイルがアップロード成功されていないことを検知した後、バックアップサーバーへ該ファイルをバックアップすることを更に含むことを特徴とする請求項1に記載のファイルバックアップ方法。
  5. 前記ローカル・バックアップ・データベースにおいて、最後の更新時間及びファイルの大きさを含むファイルの属性情報を記録し、
    前記ファイルの属性情報が前記ローカル・バックアップ・データベースに記録された属性情報とは異なる場合、前記ローカル・バックアップ・データベースに記録された該ファイルの前記ハッシュ値及び属性情報を更新することを更に含むことを特徴とする請求項1に記載のファイルバックアップ方法。
  6. 予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定する第一の確定モジュールと、
    確定された前記ハッシュ値をローカル・バックアップ・データベースにおいて検索する第一の検索モジュールと、
    前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されていないことを検知した時、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードするアップロードモジュールと、
    前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、ローカル・バックアップ・データベースに前記ハッシュ値を記憶する第一の記憶モジュールと、
    前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしない処理モジュールとを備え、
    前記第一の確定モジュールは、
    前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断する第一の判断サブモジュールと、
    前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルの前記ハッシュ値を取得する第一の確定サブモジュールと、
    前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行って前記ハッシュ値を取得する第二の確定サブモジュールとを備えることを特徴とするファイルバックアップ装置。
  7. 前記第一の確定サブモジュールは、
    前記ファイルから複数個の、予め設定した大きさのファイルセグメントを均等的に抽出する第一の抽出サブモジュールを備え、
    前記予め設定した大きさのファイルセグメントが占有するバイト数は、前記予め設定し
    た閾値より小さいことを特徴とする請求項に記載のファイルバックアップ装置。
  8. 前記ハッシュ値に対応するファイルをバックアップサーバーにアップロード成功した後、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークするマークモジュールを更に備えることを特徴とする請求項に記載のファイルバックアップ装置。
  9. 前記処理モジュールは、
    ローカル・バックアップ・データベースにおいて前記ハッシュ値がアップロード済み状態にマークされたか否かを照会する第一の照会サブモジュールと、
    前記ハッシュ値がアップロード済み状態にマークされたことを検知した後、バックアップサーバーへ前記ファイルをバックアップしない処理サブモジュールと、
    前記ハッシュ値がアップロード済み状態にマークされていないことを検知した後、バックアップサーバーに対して前記ハッシュ値に対応するファイルがアップロード成功されたか否かを照会する第二の照会サブモジュールと、
    前記ハッシュ値に対応するファイルがアップロード成功されたことを検知した後、ローカル・バックアップ・データベースにおいて前記ハッシュ値をアップロード済み状態にマークして、バックアップサーバーへ該ファイルをバックアップしない第一のマークサブモジュールと、
    前記ハッシュ値に対応するファイルがアップロード成功されていないことを検知した後、バックアップサーバーへ該ファイルをバックアップするバックアップサブモジュールとを備えることを特徴とする請求項に記載のファイルバックアップ装置。
  10. 前記ローカル・バックアップ・データベースにおいて、最後の更新時間及びファイルの大きさを含むファイルの属性情報を記録する記録モジュールと、
    前記ファイルの属性情報が前記ローカル・バックアップ・データベースに記録された属性情報とは異なる時、前記ローカル・バックアップ・データベースに記録された該ファイルの前記ハッシュ値及び属性情報を更新する更新モジュールとを更に備えることを特徴とする請求項に記載のファイルバックアップ装置。
  11. プロセッサと、
    プロセッサが実行可能なコマンドを記憶するメモリとを備え、
    前記プロセッサは、
    予め設定したアルゴリズムに基づいてファイルのハッシュ値を確定し、
    ローカル・バックアップ・データベースにおいて、確定された前記ハッシュ値を検索し、
    前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されていないことを検知した場合、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードし、前記ハッシュ値に対応するファイルをバックアップサーバーにアップロードした後、前記ハッシュ値をローカル・バックアップ・データベースに記憶し、前記ローカル・バックアップ・データベースにおいて前記ハッシュ値が記録されたことを検知した場合、バックアップサーバーへ前記ファイルをバックアップしないように構成されており、
    前記予め設定したアルゴリズムは、前記ファイルの大きさが予め設定した閾値の以上であるか否かを判断し、
    前記ファイルの大きさが前記予め設定した閾値の以上であると判断した時、前記ファイルから複数個のファイルセグメントを抽出して、前記複数個のファイルセグメントに対してハッシュ値の確定を行って前記ファイルの前記ハッシュ値を取得し、
    前記ファイルの大きさが前記予め設定した閾値より小さいと判断した時、前記ファイルに対してハッシュ値の確定を行って前記ハッシュ値を取得することを特徴とするファイルバックアップ装置。
  12. プロセッサに実行されることにより、請求項1から請求項のいずれかに記載の方法を実現することを特徴とするプログラム。
  13. 請求項12に記載のプログラムが記録された記録媒体。
JP2016544718A 2014-08-27 2015-01-30 ファイルバックアップ、及びファイルバックアップ装置、プログラム及び記録媒体 Active JP6211708B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410429701.7A CN104156284A (zh) 2014-08-27 2014-08-27 文件备份方法和装置
CN201410429701.7 2014-08-27
PCT/CN2015/071870 WO2016029648A1 (zh) 2014-08-27 2015-01-30 文件备份方法和装置

Publications (2)

Publication Number Publication Date
JP2016537752A JP2016537752A (ja) 2016-12-01
JP6211708B2 true JP6211708B2 (ja) 2017-10-11

Family

ID=51881789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016544718A Active JP6211708B2 (ja) 2014-08-27 2015-01-30 ファイルバックアップ、及びファイルバックアップ装置、プログラム及び記録媒体

Country Status (9)

Country Link
US (1) US20160062843A1 (ja)
EP (1) EP2990949B1 (ja)
JP (1) JP6211708B2 (ja)
KR (1) KR101656633B1 (ja)
CN (1) CN104156284A (ja)
BR (1) BR112015008299A2 (ja)
MX (1) MX349663B (ja)
RU (1) RU2613028C2 (ja)
WO (1) WO2016029648A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156284A (zh) * 2014-08-27 2014-11-19 小米科技有限责任公司 文件备份方法和装置
CN105554137B (zh) * 2015-12-23 2019-11-26 北京奇虎科技有限公司 一种备份系统及方法
CN106326048A (zh) * 2016-08-11 2017-01-11 广东欧珀移动通信有限公司 外部存储设备的检测方法和装置
CN106572177A (zh) * 2016-11-07 2017-04-19 广东欧珀移动通信有限公司 一种数据传输方法及移动终端
CN106708658B (zh) * 2016-11-29 2018-12-04 维沃移动通信有限公司 一种数据备份方法、移动终端及存储服务器
KR102130304B1 (ko) * 2019-06-14 2020-07-08 주식회사 코튼캔디 파일 백업 방법 및 장치
US11675739B1 (en) * 2019-09-23 2023-06-13 Datex Inc. Distributed data storage using hierarchically arranged metadata
CN110795285A (zh) * 2019-10-25 2020-02-14 维沃移动通信有限公司 一种备份标记的显示方法和电子设备
CN111290882B (zh) * 2020-02-11 2024-02-09 北京小米松果电子有限公司 数据文件备份方法、数据文件备份装置及电子设备
CN113448768B (zh) * 2020-03-25 2024-07-19 花瓣云科技有限公司 Db文件的备份方法、装置和电子设备
CN113961149B (zh) * 2021-10-29 2024-01-26 国网江苏省电力有限公司营销服务中心 一种电力信息系统多态数据存储系统及存储方法
CN115086298A (zh) * 2022-05-30 2022-09-20 中银金融科技有限公司 文件传输方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4254178B2 (ja) * 2002-09-11 2009-04-15 富士ゼロックス株式会社 分散格納制御装置及び方法
RU2406118C2 (ru) * 2004-09-22 2010-12-10 Майкрософт Корпорейшн Способ и система для синтетического резервного копирования и восстановления данных
US8082231B1 (en) * 2006-09-22 2011-12-20 Emc Corporation Techniques using identifiers and signatures with data operations
US7797323B1 (en) * 2006-10-11 2010-09-14 Hewlett-Packard Development Company, L.P. Producing representative hashes for segments of a file
KR20090003405A (ko) * 2007-06-08 2009-01-12 엔에이치엔(주) 파일 업로드 시스템 및 방법
WO2010036889A1 (en) * 2008-09-25 2010-04-01 Bakbone Software, Inc. Remote backup and restore
KR20100072992A (ko) * 2008-12-22 2010-07-01 (주)씨엔에스 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법
JP5339432B2 (ja) * 2009-02-25 2013-11-13 日本電気株式会社 ストレージシステム
US20110218973A1 (en) * 2010-03-02 2011-09-08 Renew Data Corp. System and method for creating a de-duplicated data set and preserving metadata for processing the de-duplicated data set
US8935487B2 (en) * 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
JP5623239B2 (ja) * 2010-10-28 2014-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 書込みレコードの重複を排除する記憶装置、及びその書込み方法
AU2011382479B2 (en) * 2010-12-29 2015-07-30 Amazon Technologies, Inc. Receiver-side data deduplication in data systems
JP5708107B2 (ja) * 2011-03-23 2015-04-30 日本電気株式会社 重複ファイル検出装置
US8732140B2 (en) * 2011-05-24 2014-05-20 Red Lambda, Inc. Methods for storing files in a distributed environment
CN102799598A (zh) * 2011-05-25 2012-11-28 英业达股份有限公司 重复数据删除的数据复原方法
CN103457973B (zh) * 2012-06-01 2016-04-27 深圳市腾讯计算机系统有限公司 一种图片上传方法、系统、图片上传客户端及网络服务器
CN103873503A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 数据块备份系统及方法
US9015122B2 (en) * 2012-12-21 2015-04-21 Zetta, Inc. Systems and methods for minimizing network bandwidth for replication/back up
CN103108033B (zh) * 2013-01-09 2015-11-18 广东一一五科技有限公司 文件上传方法及系统
CN103248711B (zh) * 2013-05-23 2016-08-24 华为技术有限公司 一种文件上传的方法和服务器
CN103324552B (zh) * 2013-06-06 2016-01-13 西安交通大学 两阶段单实例去重数据备份方法
CN103561100B (zh) * 2013-11-06 2017-02-01 乐视云计算有限公司 一种云上传方法及系统、调度设备、客户端
CN104156284A (zh) * 2014-08-27 2014-11-19 小米科技有限责任公司 文件备份方法和装置

Also Published As

Publication number Publication date
RU2613028C2 (ru) 2017-03-14
RU2015114086A (ru) 2016-11-10
JP2016537752A (ja) 2016-12-01
KR101656633B1 (ko) 2016-09-09
EP2990949B1 (en) 2017-08-02
BR112015008299A2 (pt) 2017-07-04
MX349663B (es) 2017-08-08
US20160062843A1 (en) 2016-03-03
MX2015004789A (es) 2016-07-18
WO2016029648A1 (zh) 2016-03-03
EP2990949A1 (en) 2016-03-02
KR20160034839A (ko) 2016-03-30
CN104156284A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
JP6211708B2 (ja) ファイルバックアップ、及びファイルバックアップ装置、プログラム及び記録媒体
JP6389014B2 (ja) スマート機器の音声制御方法、装置、プログラム、記録媒体、制御機器およびスマート機器
EP3937426A1 (en) Master-slave server switching method and apparatus, electronic device and storage medium
KR101777070B1 (ko) 어플리케이션 전환 방법, 장치 및 설비
JP6259122B2 (ja) ファームウェアアップグレード方法、装置、プログラム及び記録媒体
JP6096992B2 (ja) 記憶空間を節約するための方法、装置、プログラム及び記憶媒体
WO2016155233A1 (zh) 智能场景删除方法和装置
EP2840558B1 (en) Electronic device communicating with external cameras
JP6420916B2 (ja) システムパーティションファイルを監視する方法及び装置
JP6144428B2 (ja) 無線lan自動接続方法、無線lan自動接続装置、プログラム、及び記録媒体
EP3099042A1 (en) Methods and devices for sending cloud card
JP6250867B2 (ja) ネットワーク接続方法、装置、プログラム及び記録媒体
KR20160039141A (ko) 업그레이드 방법, 장치, 디바이스, 프로그램 및 기록매체
CN106095465B (zh) 设置身份图像的方法及装置
CN104469741A (zh) 终端配置方法和装置
JP2016532187A (ja) アプリケーション削除通知方法、アプリケーション削除通知装置、プログラム及び記録媒体
US9491576B2 (en) Location based automated meeting attendance
CN105516944A (zh) 短信清理方法及装置
CN104767857A (zh) 基于云名片的电话呼叫方法及装置
CN104503786B (zh) 固件刷新方法及装置
KR20170120707A (ko) 터치 스크린의 포인트 보고를 처리하는 방법, 장치, 프로그램 및 기록매체
CN106126382B (zh) 识别文件系统错误的方法及装置
JP2017520877A5 (ja)
CN106339470B (zh) 文件处理方法及装置
CN105550069A (zh) 终端校准数据的保存方法和装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170802

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170825

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170913

R150 Certificate of patent or registration of utility model

Ref document number: 6211708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250