JP5494123B2 - Differential backup system, management server and client, differential backup method and program - Google Patents
Differential backup system, management server and client, differential backup method and program Download PDFInfo
- Publication number
- JP5494123B2 JP5494123B2 JP2010078162A JP2010078162A JP5494123B2 JP 5494123 B2 JP5494123 B2 JP 5494123B2 JP 2010078162 A JP2010078162 A JP 2010078162A JP 2010078162 A JP2010078162 A JP 2010078162A JP 5494123 B2 JP5494123 B2 JP 5494123B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- backup
- block
- hash
- client
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は差分バックアップシステム、管理サーバおよびクライアント、差分バックアップ方法およびプログラムに関し、特に差分バックアップのブロックサイズを最適化し、短時間に差分バックアップを完了させることを可能とする差分バックアップシステム等に関する。 The present invention relates to a differential backup system, a management server and a client, a differential backup method, and a program, and more particularly to a differential backup system and the like that can optimize a differential backup block size and complete a differential backup in a short time.
コンピュータ、あるいはコンピュータが相互に接続されるネットワークが企業や社会の根幹として重要なインフラとなっている現代では、データの喪失はそれだけで社会的に重要な損失である。そのため、データのバックアップの重要性はますます高まっている。業務サービスを動作させるサーバや業務端末は通常、不慮の事故に備えて重要なデータもしくはディスク全体をバックアップするという運用が行われる。 In today's world, when computers or networks where computers are connected to each other are an important infrastructure as a foundation for companies and society, data loss is a socially important loss. Therefore, data backup is becoming increasingly important. Servers and business terminals that operate business services are usually operated to back up important data or the entire disk in preparation for an unexpected accident.
その際、そのコンピュータの動作を停止させないこと、あるいは停止するとしても可能な限り短時間の停止で動作を再開することが求められているので、バックアップの動作は可能な限り短時間で完了させる必要がある。また、各々のコンピュータで扱うデータの容量は膨大になる一方であるので、保存するバックアップデータの容量は可能な限り小さくする必要がある。そのコンピュータが何らかの業務サービスを動作させている場合には、特にその必要性が高くなる。 At that time, it is required not to stop the operation of the computer, or even if it stops, it is required to restart the operation with the shortest possible stop, so the backup operation must be completed in the shortest possible time There is. Further, since the volume of data handled by each computer is becoming enormous, the volume of backup data to be stored needs to be as small as possible. This necessity is particularly high when the computer is operating some kind of business service.
バックアップにかかる時間を短縮し、かつ保存すべきデータの容量を小さくするため、バックアップ対象データ全体に対してフルバックアップを行った後、そのフルバックアップが行われた時点からの変更のあったファイルや領域のみをバックアップする差分バックアップが行われることも多い。 To reduce the time required for backup and reduce the amount of data to be saved, after performing a full backup of the entire data to be backed up, files and files that have changed since the full backup was performed In many cases, a differential backup that backs up only the area is performed.
たとえばフルバックアップを週に1回行い、このフルバックアップデータに対する差分バックアップを毎日の終業時点で行うことによって、毎日の終業時点でのデータを再現することを可能にしつつ、毎日フルバックアップを取るよりも保存データの容量を大幅に小さくすることが可能となる。 For example, by performing a full backup once a week and performing a differential backup for this full backup data at the end of each day, it is possible to reproduce the data at the end of each day, rather than taking a full backup every day. The capacity of stored data can be significantly reduced.
データのバックアップ、特に差分バックアップに関連して、次の各々の技術文献がある。その中でも特許文献1には、バックアップ対象であるクライアント側で差分データを抽出し、その差分データだけをサーバに送信することで差分バックアップを行うという技術が記載されている。特許文献2には、差分バックアップのデータ転送量の変異を予測し、それによってバックアップ作業の失敗を検出および警告するという技術が記載されている。
There are the following technical documents related to data backup, particularly differential backup. Among them,
特許文献3には、通信経路を介したデータのコピーで、複製前後のデータをブロックに区切ってブロックごとのハッシュ値を比較し、相違しているブロックだけをコピーするという技術が記載されている。特許文献4には、データをコピーする場合にコピー時間を見積もって、その結果によって効率的なデータコピー方式(差分データコピーまたは全データコピー)を選択する技術が記載されている。特許文献5には、コピーするブロックサイズをもとに効率的なバックアップ方式(ファイルバックアップまたはボリュームバックアップ)を選択するという技術が記載されている。 Patent Document 3 describes a technique of copying data via a communication path, dividing data before and after duplication into blocks, comparing hash values for each block, and copying only the blocks that are different. . Patent Document 4 describes a technique for estimating a copy time when copying data and selecting an efficient data copy method (differential data copy or all data copy) according to the result. Patent Document 5 describes a technique of selecting an efficient backup method (file backup or volume backup) based on the block size to be copied.
差分バックアップは、フルバックアップデータとバックアップ対象データとを同一アドレスで所定のブロックサイズのブロックに区切り、両者の間でブロックごとにデータを比較し、相違しているブロックのみを差分データとして保存する。このため、ブロックサイズを変更すれば、その差分バックアップの処理の所要時間が異なることがある。前述のように、バックアップにかかる時間は可能な限り短くすることが望ましいので、そのようにブロックサイズを調整することは有用である。 In differential backup, full backup data and backup target data are divided into blocks having a predetermined block size at the same address, the data is compared between the blocks for each block, and only the different blocks are stored as differential data. For this reason, if the block size is changed, the time required for the differential backup process may differ. As described above, it is desirable to make the time required for backup as short as possible, so it is useful to adjust the block size in this way.
しかしながら、前述の特許文献1〜5には、ブロックサイズの調整に着目した技術は記載されていない。当然、これらの技術でブロックサイズを調整して最適化することによって、差分バックアップの所要時間やデータ容量を小さくすることはできない。
However,
特に、バックアップ管理サーバがネットワークで接続されている複数台のクライアントコンピュータのバックアップ対象データを一括してバックアップするという環境、さらにそのネットワークの中に複数種類のハードウェアもしくはソフトウェアが混在しているオープンなネットワーク環境では、バックアップ処理の所要時間を正確に見積もり、その所要時間を短縮するということ自体が困難である。この問題を前述の特許文献1〜5で解決することはできない。 In particular, an environment where the backup management server backs up data to be backed up from multiple client computers connected via a network, and an open environment where multiple types of hardware or software exist in the network. In a network environment, it is difficult to accurately estimate the time required for backup processing and shorten the time required. This problem cannot be solved by the aforementioned Patent Documents 1-5.
本発明の目的は、差分バックアップの処理でブロックサイズを的確に調整して、その所要時間を短縮することを可能とする差分バックアップシステム、管理サーバおよびクライアント、差分バックアップ方法およびプログラムを提供することにある。 An object of the present invention is to provide a differential backup system, a management server and a client, a differential backup method, and a program capable of accurately adjusting a block size in a differential backup process and reducing the required time. is there.
上記目的を達成するため、本発明に係る差分バックアップシステムは、バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムであって、バックアップ管理サーバが、フルバックアップデータを記憶する第1の固定記憶手段と、ネットワークを経由してクライアントとデータ通信を行う第1のデータ送受信部と、予め与えられた第1ないし第3のブロックサイズの各々でフルバックアップデータをブロックに区切ってこれら各ブロックのデータに予め与えられた関数を適用して第1のハッシュデータを算出する第1のハッシュデータ計算部と、第1ないし第3のブロックサイズの各々の場合の第1のハッシュデータをフルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割して試験用領域についてのハッシュデータをクライアントに送信する最適化処理用データ作成部とを有し、クライアントが、バックアップ管理サーバとデータ通信を行う第2のデータ送受信部と、バックアップ対象データを記憶する第2の固定記憶手段と、第1〜第3のブロックサイズの各々の場合についてバックアップ対象データをブロックに区切ってこれら各ブロックのデータに関数を適用して第2のハッシュデータを算出する第2のハッシュデータ計算部と、算出された第2のハッシュデータをブロックごとにバックアップ管理サーバから受信した第1のハッシュデータと比較するハッシュデータ比較部と、ブロックごとの第1および第2のハッシュデータの比較結果が異なっている場合にバックアップ対象データの該ブロックを差分バックアップする差分バックアップ部と、第1ないし第3のブロックサイズの各々の場合について、試験用領域についての第1のハッシュデータを利用してバックアップ対象データの試験用領域について差分バックアップ部に試験的差分バックアップを行わせると共に、第1〜第3のブロックサイズで行った試験的差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する最適サイズ計算部と、決定された最適サイズの場合の残領域についての第1のハッシュデータをバックアップ管理サーバに要求すると共に、送られてきたこの残領域についての第1のハッシュデータを利用して差分バックアップ部に最適サイズでバックアップ対象データの残領域の差分バックアップを行わせる差分バックアップ最適化部とを有することを特徴とする。 In order to achieve the above object, a differential backup system according to the present invention includes a client, which is one or a plurality of computer devices that hold backup target data, and backup management that holds full backup data that is a complete backup of each backup target data. A differential backup system in which servers are connected to each other, wherein a backup management server performs first data transmission / reception with a first fixed storage means for storing full backup data and data communication with a client via a network And first hash data is calculated by dividing the full backup data into blocks at each of the first to third block sizes given in advance and applying a function given in advance to the data of each block. 1 hash data total And the first hash data in each of the first to third block sizes are divided into a test area that is a part of the full backup data and a remaining area other than the test area. A data generation unit for optimization processing that transmits hash data for the storage area to the client, the second data transmitting / receiving unit that performs data communication with the backup management server, and a second data that stores the backup target data And the second hash for calculating the second hash data by dividing the backup target data into blocks and applying a function to the data of each block for each of the first to third block sizes The data calculation unit and the first received the calculated second hash data from the backup management server for each block A hash data comparison unit for comparing with the hash data, a differential backup unit for performing differential backup of the block of the backup target data when the comparison result of the first and second hash data for each block is different, and the first to first For each of the three block sizes, the differential backup unit performs a test differential backup for the test area of the backup target data using the first hash data for the test area, and the first to third The optimal size calculation unit that determines the block size with the shortest required time in the experimental differential backup performed at the block size as the optimal size, and the first hash data for the remaining area in the case of the determined optimal size are backed up Requests to the management server and sent And a differential backup optimizing unit that makes the differential backup unit perform differential backup of the remaining area of the backup target data with the optimum size using the first hash data for the remaining area.
上記目的を達成するため、本発明に係るバックアップ管理サーバは、バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと相互に接続され、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバであって、フルバックアップデータを記憶する固定記憶手段と、ネットワークを経由してクライアントとデータ通信を行うデータ送受信部と、予め与えられた第1ないし第3のブロックサイズの各々でフルバックアップデータをブロックに区切ってこれら各ブロックのデータに予め与えられた関数を適用してハッシュデータを算出するハッシュデータ計算部と、第1ないし第3のブロックサイズの各々の場合のハッシュデータをフルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割して試験用領域についてのハッシュデータをクライアントに送信する最適化処理用データ作成部とを有することを特徴とする。 In order to achieve the above object, a backup management server according to the present invention is connected to a client, which is one or a plurality of computer devices that hold backup target data, and performs full backup data that is a complete backup of each backup target data. A backup management server for holding a fixed storage means for storing full backup data, a data transmission / reception unit for performing data communication with a client via a network, and first to third block sizes given in advance. And a hash data calculator for calculating hash data by dividing the full backup data into blocks and applying a function given in advance to the data of each block, and hash data in each of the first to third block sizes Full back-up It has an optimization processing data creation unit that divides the data into a test area that is a part of the data and a remaining area other than that and transmits hash data about the test area to the client And
上記目的を達成するため、本発明に係るクライアントは、バックアップ対象データを保持し、バックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバと相互に接続されたコンピュータ装置であるクライアントであって、バックアップ管理サーバとデータ通信を行うデータ送受信部と、バックアップ対象データを記憶する固定記憶手段と、第1〜第3のブロックサイズの各々の場合についてバックアップ対象データをブロックに区切ってこれら各ブロックのデータに関数を適用して第2のハッシュデータを算出するハッシュデータ計算部と、算出された第2のハッシュデータをブロックごとにバックアップ管理サーバから受信した第1のハッシュデータと比較するハッシュデータ比較部と、ブロックごとの第1および第2のハッシュデータの比較結果が異なっている場合にバックアップ対象データの該ブロックを差分バックアップする差分バックアップ部と、第1ないし第3のブロックサイズの各々の場合について、バックアップ対象データの一部である試験用領域についての第1のハッシュデータを利用してバックアップ対象データの試験用領域について差分バックアップ部に試験的差分バックアップを行わせると共に、第1〜第3のブロックサイズで行った試験的差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する最適サイズ計算部と、決定された最適サイズの場合の試験用領域以外の残領域についての第1のハッシュデータをバックアップ管理サーバに要求すると共に、送られてきたこの残領域についての第1のハッシュデータを利用して差分バックアップ部に最適サイズでバックアップ対象データの残領域の差分バックアップを行わせる差分バックアップ最適化部とを有することを特徴とする。
In order to achieve the above object, a client according to the present invention is a client that is a computer device interconnected with a backup management server that holds backup target data and holds full backup data that is a complete backup of the backup target data. The data transmission / reception unit that performs data communication with the backup management server, the fixed storage unit that stores the data to be backed up, and each of these blocks by dividing the data to be backed up into blocks for each of the first to third block sizes A hash data calculation unit that calculates a second hash data by applying a function to the data of the hash data, and a hash data that compares the calculated second hash data with the first hash data received from the backup management server for each block A comparison unit; A differential backup unit that differentially backs up the block of the data to be backed up when the comparison results of the first and second hash data for each lock are different, and a backup for each of the first to third block sizes Using the first hash data for the test area that is part of the target data, the differential backup unit performs a test differential backup for the test area of the backup target data, and the first to third block sizes An optimal size calculation unit that determines the block size with the shortest required time in the experimental differential backup performed in
上記目的を達成するため、本発明に係る差分バックアップ方法は、バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムにあって、予め与えられた第1ないし第3のブロックサイズの各々でバックアップ管理サーバの第1のハッシュデータ計算部がフルバックアップデータをブロックに区切り、各ブロックのデータに予め与えられた関数を適用してバックアップ管理サーバの第1のハッシュデータ計算部が第1のハッシュデータを算出し、第1ないし第3のブロックサイズの各々の場合について第1のハッシュデータをバックアップ管理サーバの最適化処理用データ作成部がフルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割し、試験用領域についてのハッシュデータをバックアップ管理サーバの最適化処理用データ作成部がクライアントに送信し、第1〜第3のブロックサイズの各々の場合についてクライアントの第2のハッシュデータ計算部がバックアップ対象データを当該ブロックサイズのブロックに区切り、各ブロックのデータに関数を適用してクライアントの第2のハッシュデータ計算部が第2のハッシュデータを算出し、ブロックごとに算出された第2のハッシュデータとバックアップ管理サーバから受信した第1のハッシュデータとをクライアントのハッシュデータ比較部が比較し、ブロックごとに第1および第2のハッシュデータの比較結果が異なっている場合にバックアップ対象データの該ブロックをクライアントの差分バックアップ部が差分バックアップし、第1〜第3のブロックサイズで行った試験用領域についての差分バックアップで最も所要時間の少なかったブロックサイズをクライアントの最適サイズ計算部が最適サイズとして決定し、決定された最適サイズの場合の残領域についての第1のハッシュデータをクライアントの差分バックアップ最適化部がバックアップ管理サーバに要求し、要求された残領域についての第1のハッシュデータをバックアップ管理サーバのデータ送受信部がクライアントに送信し、この残領域についての第1のハッシュデータを利用してクライアントの差分バックアップ最適化部が差分バックアップ部にバックアップ対象データの残領域の差分バックアップを行わせることを特徴とする。 In order to achieve the above object, a differential backup method according to the present invention includes a client, which is one or a plurality of computer devices that hold backup target data, and backup management that holds full backup data that is a complete backup of each backup target data. In the differential backup system interconnected with the server, the first hash data calculation unit of the backup management server divides the full backup data into blocks at each of the first to third block sizes given in advance, The first hash data calculation unit of the backup management server calculates the first hash data by applying a function given in advance to the data of each block, and the first for each of the first to third block sizes. Backup of hash data The optimization processing data creation unit of the logical server divides the data into the test area that is part of the full backup data and the remaining area, and the hash data for the test area is stored in the backup management server. The optimization processing data creation unit transmits to the client, and for each of the first to third block sizes, the second hash data calculation unit of the client divides the backup target data into blocks of the block size, The second hash data calculation unit of the client calculates the second hash data by applying the function to the data of the second hash data calculated for each block and the first hash data received from the backup management server Are compared by the client hash data comparison unit, and the first and When the comparison result of the second hash data is different, the differential backup unit of the client differentially backs up the block of the backup target data, and the differential backup for the test area performed with the first to third block sizes. The optimal size calculation unit of the client determines the block size with the shortest required time as the optimal size, and the differential backup optimization unit of the client performs backup management of the first hash data for the remaining area in the case of the determined optimal size. The request is sent to the server, and the data transmission / reception unit of the backup management server sends the first hash data for the requested remaining area to the client, and the client uses the first hash data for the remaining area to optimize the differential backup of the client. Is the differential backup unit A differential backup of the remaining area of the backup target data is performed.
上記目的を達成するため、本発明に係る差分バックアッププログラムは、バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムにあって、バックアップ管理サーバが備えるコンピュータに、予め与えられた第1ないし第3のブロックサイズの各々でフルバックアップデータをブロックに区切る手順、各ブロックのデータに予め与えられた関数を適用してハッシュデータを算出する手順、第1ないし第3のブロックサイズの各々の場合についてハッシュデータをフルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割する手順、試験用領域についてのハッシュデータをクライアントに送信する手順、およびクライアントから要求された残領域についての第1のハッシュデータを当該クライアントに送信する手順を実行させることを特徴とする。 In order to achieve the above object, a differential backup program according to the present invention includes a client, which is one or a plurality of computer devices that hold backup target data, and backup management that holds full backup data that is a complete backup of each backup target data. In a differential backup system connected to a server, a procedure for dividing full backup data into blocks in each of first to third block sizes given in advance to a computer provided in the backup management server, Procedure for calculating hash data by applying a function given in advance to the data, and for each of the first to third block sizes, the hash data is for the test area that is part of the full backup data and Less than Of the remaining area, the procedure for transmitting the hash data for the test area to the client, and the procedure for transmitting the first hash data for the remaining area requested by the client to the client. It is characterized by that.
上記目的を達成するため、本発明に係る他の差分バックアッププログラムは、バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムにあって、クライアントが備えるコンピュータに、第1〜第3のブロックサイズの各々の場合についてバックアップ対象データを当該ブロックサイズのブロックに区切る手順、各ブロックのデータに関数を適用して第2のハッシュデータを算出する手順、ブロックごとに算出された第2のハッシュデータをバックアップ管理サーバから受信した第1のハッシュデータと比較する手順、ブロックごとの第1および第2のハッシュデータの比較結果が異なっている場合にバックアップ対象データの該ブロックを差分バックアップする手順、第1〜第3のブロックサイズで行ったバックアップ対象データの一部である試験用領域についての差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する手順、決定された最適サイズの場合の試験用領域以外の残領域についての第1のハッシュデータをバックアップ管理サーバに要求する手順、および送られてきたこの残領域についての第1のハッシュデータを利用してバックアップ対象データの残領域の差分バックアップを行う手順を実行させることを特徴とする。 In order to achieve the above object, another differential backup program according to the present invention holds a client, which is one or a plurality of computer devices that hold backup target data, and full backup data that is a complete backup of each backup target data. In the differential backup system interconnected with the backup management server, a procedure for dividing the backup target data into blocks of the block size for each of the first to third block sizes in the computer provided in the client, A procedure for calculating the second hash data by applying a function to the block data, a procedure for comparing the second hash data calculated for each block with the first hash data received from the backup management server, and for each block First A procedure for differentially backing up the block of the backup target data when the comparison results of the second hash data are different, and a test area that is a part of the backup target data performed in the first to third block sizes Of determining the block size with the shortest required time in the differential backup of the first as the optimum size, and requesting the backup management server for the first hash data for the remaining area other than the test area in the case of the determined optimum size And a procedure for performing a differential backup of the remaining area of the backup target data using the first hash data for the remaining area that has been sent.
本発明は、上述したように第1〜第3のブロックサイズで試験用領域をブロックに区切って差分バックアップを行い、その中で所要時間が最短だったブロックサイズで残領域をブロックに区切って差分バックアップを行うように構成したので、所要時間を短くできるようにブロックサイズを的確に調整して、これによって差分バックアップの所要時間を短縮することが可能である差分バックアップシステム、管理サーバおよびクライアント、差分バックアップ方法およびプログラムを提供することができる。 As described above, the present invention performs differential backup by dividing the test area into blocks with the first to third block sizes, and divides the remaining area into blocks with the block size having the shortest required time. Since it is configured to perform backup, the differential backup system, management server and client, and differential that can reduce the time required for differential backup by adjusting the block size accurately so that the required time can be shortened A backup method and program can be provided.
(第1の実施形態)
以下、本発明の第1の実施形態の構成について添付図1〜7に基づいて説明する。 最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る差分バックアップシステム1は、バックアップ対象データ221を保持する単数もしくは複数のコンピュータ装置であるクライアント21と、各々のバックアップ対象データを完全バックアップしたフルバックアップデータ121を保持するバックアップ管理サーバ10とが相互に接続された差分バックアップシステムである。バックアップ管理サーバ10は、フルバックアップデータ121を記憶する第1の固定記憶手段103と、ネットワーク30を経由してクライアント21とデータ通信を行う第1のデータ送受信部112と、予め与えられた第1ないし第3のブロックサイズの各々でフルバックアップデータ121をブロックに区切ってこれら各ブロックのデータに予め与えられた関数を適用して第1のハッシュデータ160を算出する第1のハッシュデータ計算部114と、第1ないし第3のブロックサイズの各々の場合の第1のハッシュデータをフルバックアップデータ121の一部である試験用領域についてのものとそれ以外の領域のものとに分割して試験用領域についてのハッシュデータ164〜166をクライアントに送信する最適化処理用データ作成部111とを有する。一方のクライアント21は、バックアップ管理サーバ10とデータ通信を行う第2のデータ送受信部211と、バックアップ対象データ221を記憶する第2の固定記憶手段203と、第1〜第3のブロックサイズの各々の場合についてバックアップ対象データ221をブロックに区切ってこれら各ブロックのデータに関数を適用して第2のハッシュデータを算出する第2のハッシュデータ計算部215と、算出された第2のハッシュデータをブロックごとにバックアップ管理サーバから受信した第1のハッシュデータ164〜166と比較するハッシュデータ比較部216と、ブロックごとの第1および第2のハッシュデータの比較結果が異なっている場合にバックアップ対象データの該ブロックを差分バックアップする差分バックアップ部214と、第1ないし第3のブロックサイズの各々の場合について、試験用領域についての第1のハッシュデータ164〜166を利用してバックアップ対象データの試験用領域について差分バックアップ部に試験的差分バックアップを行わせると共に、第1〜第3のブロックサイズで行った試験的差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する最適サイズ計算部213と、決定された最適サイズの場合の残領域についての第1のハッシュデータをバックアップ管理サーバに要求すると共に、送られてきたこの残領域についての第1のハッシュデータを利用して差分バックアップ部に最適サイズでバックアップ対象データの残領域の差分バックアップを行わせる差分バックアップ最適化部212とを有する。
(First embodiment)
Hereinafter, the structure of the 1st Embodiment of this invention is demonstrated based on attached FIGS. First, the basic content of the present embodiment will be described, and then more specific content will be described.
The
ここで、第2のブロックサイズが第1のブロックサイズより大きく、かつ第3のブロックサイズが第1のブロックサイズより小さく、バックアップ管理サーバ10の最適化処理用データ作成部111が、残領域についての第1のハッシュデータをクライアントに返信する際に受信した最適サイズを次回同一処理時の第1のブロックサイズとして記憶する。
Here, the second block size is larger than the first block size, the third block size is smaller than the first block size, and the optimization processing
また、クライアント21の最適サイズ計算部213が、第2のブロックサイズで行った試験的差分バックアップの所要時間が第1のブロックサイズで行った試験的差分バックアップの所要時間より短ければ、その時点で第2のブロックサイズを最適サイズとして決定する。
Further, if the time required for the experimental differential backup performed with the second block size is shorter than the time required for the experimental differential backup performed with the first block size, the optimum
そしてバックアップ管理サーバ10が、クライアントの備えるプロセッサを第2のデータ送受信部、第2のハッシュデータ計算部、ハッシュデータ比較部、差分バックアップ部、最適サイズ計算部、および差分バックアップ最適化部として機能させるプログラムであるブートイメージ141を第1の固定記憶手段103に記憶するブートイメージ格納部117と、このブートイメージをクライアントに送信して動作させるブートイメージ送信部113を有する。
The
この構成を備えることにより、この差分バックアップシステム1はブロックサイズを的確に調整して、これによって差分バックアップの所要時間を短縮することが可能となる。
以下、これをより詳細に説明する。
By providing this configuration, the
Hereinafter, this will be described in more detail.
図2は、本実施形態に係る差分バックアップシステム1の構成を示す説明図である。差分バックアップシステム1は、バックアップ管理サーバ10と複数台のクライアント21、22、…とがネットワーク30を介して相互に接続されて構成される。バックアップ管理サーバ10は、ネットワーク30を経由して、クライアント21、22、…のデータをバックアップするソフトウェアを搭載したコンピュータ装置である。
FIG. 2 is an explanatory diagram showing the configuration of the
クライアント21、22、…はバックアップ管理サーバ10によってデータをバックアップされるためのソフトウェアを搭載したコンピュータ装置である。以後、これらのクライアントの中の任意の1台を、代表してクライアント21という。1台のバックアップ管理サーバ10に対してクライアント21は1台以上何台でもよい。ネットワーク30は、バックアップ管理サーバ10とクライアント21、22、…とを相互に接続するためのLAN(Local Area Network)もしくはWAN(Wide Area Network)などである。
The
図1は、図2で示したバックアップ管理サーバ10のより詳しい構成を示す説明図である。バックアップ管理サーバ10は、プロセッサ101、一時記憶手段102、固定記憶手段103、および通信手段104を備えるコンピュータ装置である。一時記憶手段102はプロセッサ101が作業中のデータを記憶するRAM(Random Access Memory)などのような記憶装置であり、固定記憶手段103は大容量のデータを保存するハードディスクなどのような記憶装置である。
FIG. 1 is an explanatory diagram showing a more detailed configuration of the
プロセッサ101では、最適化処理用データ作成部111、データ送受信部112、ブートイメージ送信部113、ハッシュデータ計算部114、フルバックアップデータ格納部115、差分データ格納部116、およびブートイメージ格納部117が、コンピュータプログラムとして実行される。最適化処理用データ作成部111は、後述の処理でクライアント21が差分バックアップの最適化のために利用するハッシュデータを作成する。データ送受信部112は、通信手段104を制御してクライアント21とのデータ通信を行わせる。ブートイメージ送信部113は、ブートイメージをクライアント21に送信して動作させる。ハッシュデータ計算部114は、フルバックアップデータを任意のサイズで区切ったブロックの各々に対してハッシュ値を計算する。
In the
また、固定記憶手段103上には、フルバックアップデータ格納領域120、差分データ格納領域130、およびブートイメージ格納領域140という領域が確保され、フルバックアップデータ格納領域120にはフルバックアップデータ格納部115がフルバックアップデータ121を、差分データ格納領域130には差分データ格納部116が差分データ131を各々記憶する。ブートイメージ格納領域140にはブートイメージ格納部117がブートイメージ141を記憶する。ここでフルバックアップデータ格納部115、差分データ格納部116、およびブートイメージ格納部117は、大量のデータを格納して管理するDBMS(Database Management System)を利用することができる。
In addition, a full backup
通信手段104は、ネットワーク30を介してクライアント21とのデータ通信を行う。一時記憶手段102には、最適化処理用データ作成部111が作業中のデータを一時的に記憶する領域であるワーキングエリア150が確保されている。ワーキングエリア150には、後述するハッシュデータ160と、カレントサイズ設定値151が記憶されるが、これについては後述する。
The
図3は、図1で示したフルバックアップデータ121および差分データ131の概念について示す説明図である。図3(a)がフルバックアップデータ121について、図3(b)が差分データ131について各々示している。図3(a)に示すフルバックアップデータ121は、バックアップ対象データ221、即ちクライアント21のディスク領域の全コピーに相当し、アドレス0からディスクの最大アドレスNまでのデータのフルコピーをいう。
FIG. 3 is an explanatory diagram showing the concept of the full
それに対して、図3(b)に示す差分データ131は、クライアント21のディスク領域の中で、前回採取分のフルバックアップデータ121と今回のバックアップ対象データ221とを比較し、その中で相違点のある部分だけをコピーするものである。
On the other hand, the
フルバックアップデータ121全体のサイズをNとすると、前回採取分のフルバックアップデータ121と今回のバックアップ対象データ221の両者を同一のブロックサイズnにてブロックに分割し、各ブロックでデータが完全に一致すれば「差分なし」、相違すれば「差分あり」とし、「差分あり」となったブロックの先頭アドレスを後述の一時リスト260に記憶する。そして、一時リスト260に先頭アドレスの記憶されたブロックだけを、「差分データ」としてバックアップする。
Assuming that the size of the entire
図3(b)にあるように、差分データ131は、分割するブロックサイズに相当するサイズ131a、ブロックの先頭アドレスに相当するアドレス131b、実際のブロックデータに相当するデータ131cといった各データから構成される。図3(b)では、「差分なし」のブロックは空欄、「差分あり」のブロックは斜線パターンで示されている。そして先頭のブロックを0番目とすると、1番目とa番目(aは自然数、かつ2≦a<k−1、k=N/n)の2ブロックが「差分あり」となって差分データ131としてバックアップされたという例を示している。
As shown in FIG. 3B, the
ここで、最適化処理用データ作成部111は、各ブロックのハッシュデータ160を計算してワーキングエリア150に記憶する。図4は、図3に示した差分データ131のハッシュデータ160のデータ構成について示す説明図である。ハッシュデータ160は、バックアップ対象データをブロックサイズnで分割したブロックごとのハッシュ値を集めたデータである。ハッシュデータ160は、分割するブロックサイズnに相当するブロックサイズ160a、各ブロックの先頭アドレス160bとそのブロックのハッシュ値160cを格納した表である。
Here, the optimization processing
ここでいうハッシュ値とは、任意のデータを要約して得られる固定長の値をいう。たとえばC#言語でいうGetHashCode関数などのように、任意のデータに対してその要約として一意に決定される関数をそのデータに適用して得られる値である。その関数をハッシュ関数という。本実施形態では、図3(b)に示した各ブロックごとのデータの比較は、該ブロックデータ自体を直接比較するのではなく、該ブロックデータのハッシュ値を比較することによって相違の有無を判定している。 The hash value here means a fixed-length value obtained by summarizing arbitrary data. For example, a value obtained by applying a function uniquely determined as a summary to arbitrary data, such as the GetHashCode function in the C # language, to the data. This function is called a hash function. In the present embodiment, the comparison of the data for each block shown in FIG. 3B does not directly compare the block data itself, but determines whether or not there is a difference by comparing the hash values of the block data. doing.
なお、本実施形態では後述するように、ブロックサイズ「カレント」「結合」「分割」、ハッシュ値の計算対象を「全領域」「試験用領域」「残領域」の各々に対して図4に示したデータが作成されるので、ハッシュデータ160はそれらの総称としていい、各々のブロックサイズおよび計算対象についてはハッシュデータ161〜169という。
In this embodiment, as will be described later, the block size “current”, “combine”, “partition”, and hash value calculation targets are “all areas”, “test areas”, and “remaining areas” in FIG. Since the data shown is created, the
最適化処理用データ作成部111およびハッシュデータ計算部114は、バックアップデータ格納領域120を参照しながら、差分バックアップの準備処理としてハッシュデータ160を計算する。データ送受信部112は、クライアント21へのハッシュデータ160の送信およびクライアント21からの差分データの受信を行う。これらの処理の詳細については後述する。
The optimization processing
図5は、図1で示したバックアップ管理サーバ10のワーキングエリア150に記憶される各データの内容を示す説明図である。ワーキングエリア150には、最適化処理用データ作成部111およびハッシュデータ計算部114が作成した(図4に示した)ハッシュデータ160(161〜169)と、カレントサイズ設定値151とが記憶されている。
FIG. 5 is an explanatory diagram showing the contents of each data stored in the working
図6は、図1で示したクライアント21およびブートイメージ141の構成について示す説明図である。バックアップ管理サーバ10のブートイメージ送信部113は、クライアント21の差分バックアップを実行するため、クライアント21にブートイメージ141を送信する。ブートイメージ141をクライアント21に送信し、クライアント21を再起動することによって、クライアント21のプロセッサ201で各種プログラムが動作して差分バックアップが実行される。
FIG. 6 is an explanatory diagram showing the configuration of the
クライアント21は、バックアップ管理サーバ10と同様に、プロセッサ201、一時記憶手段202、固定記憶手段203、および通信手段204を備えるコンピュータ装置である。プロセッサ201では、データ送受信部211、差分バックアップ最適化部212、最適サイズ計算部213、差分バックアップ部214、ハッシュデータ計算部215、ハッシュデータ比較部216の各々が動作する。ブートイメージ141は、プロセッサ201をこれらの動作部として機能させるためのコンピュータプログラムである。
Similar to the
ブートイメージ141は、たとえばRFC(Request For Comments)4578で規定されているPXE(Preboot eXecution Environment)プロトコルに従ったサーバプログラムでもよいし、クライアント21上で動作するいわゆるクライアントプログラムにプッシュ方式でブートイメージを送り込むものであってもよい。ブートイメージ141をクライアント21に送信し、そのブートイメージでクライアント21を再起動させることは既知の技術であるので、特に詳しく説明しない。
The
固定記憶手段203には、バックアップ対象データ記憶領域220が確保され、その中にバックアップ対象データ221が記憶されている。一時記憶手段202には、差分バックアップ最適化部212が作業中のデータを一時的に記憶する領域であるワーキングエリア250が確保されている。ワーキングエリア250には、差分バックアップ処理に必要となるハッシュデータ、処理時間、最適サイズが格納される。この詳細については後述する。
The fixed
データ送受信部211は、バックアップ管理サーバ10からのハッシュデータ164〜166の受信、および、クライアント21上で作成した差分データのバックアップ管理サーバ10への送信を行う。差分バックアップ最適化部212は、差分バックアップの処理時間が最も小さくなるブロックサイズの計算、および、そのブロックサイズでの差分バックアップ処理を行う。最適サイズ計算部213は、バックアップ対象データ221の試験用領域に対して差分バックアップを試行する。差分バックアップ部214は、実際の差分バックアップ処理を行う。ハッシュデータ計算部215は、バックアップ対象データ221に対してハッシュデータの計算を行う。ハッシュデータ比較部216は、算出されたハッシュデータをバックアップ管理サーバ10から受信したものと比較する。以上の各々の処理について、詳しくは後述する。
The data transmission /
図7は、図6に示したクライアント21のワーキングエリア250に記憶されるデータについて示す説明図である。ワーキングエリア250には、バックアップ管理サーバ10から受信した「試験用領域」のハッシュデータ164〜166と、その各々のブロックサイズ「カレント」「結合」「分割」で「試験用領域」に対して行った試験用バックアップ所要時間251〜253、そこから最適サイズ計算部213が決定した最適ブロックサイズ254、さらに(図3(b)に示した)バックアップの作業中に使用される一時リスト260が記憶される。
FIG. 7 is an explanatory diagram showing data stored in the working
また、ワーキングエリア250には、ブロックサイズ「カレント」「結合」「分割」のうち後述の処理で「最適サイズ」として決定されたブロックサイズの「残領域」のハッシュデータ167〜169のうちいずれか1つも、「残領域」のバックアップの動作のために記憶される。
In the working
図8〜9は、本実施形態に係る差分バックアップ処理の概要を示す説明図である。この差分バックアップ処理は、ステップ1〜4の4つの工程からなる。図8〜9は、紙面の都合上、2枚の図に分けて示している。その中で第1番目の工程である「ステップ1」を示す図8(a)には、バックアップ管理サーバ10内のフルバックアップデータ121と、クライアント21のバックアップ対象データ221とが示されている。フルバックアップデータ121の中で特定の領域および容量を試験用領域121aとし、それ以外の領域を残領域121bとする。これに対応して、バックアップ対象データ221の同じ領域を試験用領域221aおよび残領域221bとする。
8-9 is explanatory drawing which shows the outline | summary of the differential backup process which concerns on this embodiment. This differential backup process consists of four steps of
その中で、フルバックアップデータ121全体について、ブロックサイズnで分割してブロックごとのハッシュ値を計算するが、その際のブロックサイズnを「カレントサイズ(以後単にカレントという)」「カレント×2」「カレント/2」の3通りを用意し、それら各々の場合でハッシュデータ計算部114がハッシュ値を計算して「全領域」に対するハッシュデータ161〜163を作成する。
Among them, the entire
カレントは任意に決定できるが、本実施例では512キロバイトをカレントサイズ設定値151、即ちカレントのデフォルト値とする。以下、それらの各々のブロックサイズを「カレント」「結合」「分割」といい、またそのハッシュ値の計算対象を「全領域」「試験用領域」「残領域」という。
Although the current can be determined arbitrarily, in this embodiment, 512 kilobytes is set as the current
第2番目の工程である「ステップ2」を示す図8(b)では、フルバックアップデータ121およびバックアップ対象データ221の中で特定の領域および容量を試験用領域とし、それ以外の領域を残領域とする。そして最適化処理用データ作成部111が、ステップ1で計算されたハッシュデータ161〜163を試験用領域121a上のハッシュデータ164〜166と残領域121b上のハッシュデータ167〜169に分割する。
In FIG. 8B showing “step 2” as the second process, a specific area and capacity are set as test areas in the full
試験用領域のサイズは、任意に決定できる。本実施例では先頭から2048キロバイトを試験用領域、それ以後を残領域としている。そして試験用領域用のハッシュデータ164〜166をクライアント21に送信する。
The size of the test area can be arbitrarily determined. In this embodiment, 2048 kilobytes from the beginning are used as test areas, and the remaining areas are used as remaining areas. Then, the
第3番目の工程である「ステップ3」を示す図9(c)では、試験用領域221aに対して「カレント」「結合」「分割」の各ブロックサイズの場合で、最適サイズ計算部213の制御によって、ハッシュデータ比較部216が各ブロックのハッシュ値を比較しつつ差分バックアップ部214が差分バックアップを実行し、各々の場合で実際の処理にかかった所要時間を算出し、最適サイズ計算部213がいずれの場合が所要時間が最短であるかについて判断する。
In FIG. 9C showing “step 3” as the third process, the optimum
第4番目の工程である「ステップ4」を示す図9(d)では、ステップ3で所要時間が最短となったブロックサイズの残領域221b用のハッシュデータ167〜169のうちいずれか1つをバックアップ管理サーバ10からクライアント21に送信する。そして差分バックアップ最適化部212の制御によって、ハッシュデータ比較部216が各ブロックのハッシュ値を比較しつつ差分バックアップ部214が残領域に対する差分バックアップを実行し、バックアップ対象データ221全体に対する差分バックアップを完了する。
In FIG. 9D showing the fourth step “Step 4”, any one of the
図10〜11は、図8〜9に示した各工程で作成されるハッシュデータ160について示す説明図である。ハッシュデータ160は、ブロックサイズ160aが「カレント」「結合」「分割」の各ブロックサイズについて、そしてその各々の「全領域」についてのものと「試験用領域」「残領域」の各々についてのものという9通りについて、各ブロックの先頭アドレス160bとそのブロックのハッシュ値160cを格納するものである。
FIGS. 10-11 is explanatory drawing shown about the
図10(a)はブロックサイズ「カレント(512キロバイト)」の「全領域」に対するハッシュデータ161、図10(b)はブロックサイズ「結合(1024キロバイト)」の「全領域」に対するハッシュデータ162、図10(c)はブロックサイズ「分割(256キロバイト)」の「全領域」に対するハッシュデータ163、図10(d)はブロックサイズ「カレント」の「試験用領域」に対するハッシュデータ164、図10(e)はブロックサイズ「結合」の「試験用領域」に対するハッシュデータ165、図10(f)はブロックサイズ「分割」の「試験用領域」に対するハッシュデータ166、図11(g)はブロックサイズ「カレント」の「残領域」に対するハッシュデータ167、図11(h)はブロックサイズ「結合」の「残領域」に対するハッシュデータ168、図11(i)はブロックサイズ「分割」の「残領域」に対するハッシュデータ169、を各々示す。
FIG. 10A shows
(最適化用ハッシュデータ計算処理)
図12は、バックアップ管理サーバ10で図1に示した最適化処理用データ作成部111が差分バックアップの準備処理として行う、最適化用ハッシュデータ計算処理について示すフローチャートである。最適化処理用データ作成部111はまず、カレントサイズ設定値151が未設定の場合、システム内の初期値を設定する(ステップS301)。ここで、システム内の初期値は、適用する領域などに応じてシステムごとに適切な値が設定されるべきものであるため、本発明では規定しない。
(Optimization hash data calculation processing)
FIG. 12 is a flowchart showing optimization hash data calculation processing performed as the differential backup preparation processing by the optimization processing
ワーキングエリア150内にカレントが設定されていると、計算対象データとして「フルバックアップデータ121」、ブロックサイズとして「カレント」を入力としてハッシュデータ計算部114を呼び出して後述の図13に示すハッシュデータ計算処理を実行し(ステップS302)、その出力結果をブロックサイズ「カレント」の「全領域」についてのハッシュデータ161としてワーキングエリア150に記憶する(ステップS303)。
When the current is set in the working
続いて、計算対象データとして「フルバックアップデータ121」、ブロックサイズとして「カレント×2(結合)」を入力としてハッシュデータ計算部114を呼び出して図13に示すハッシュデータ計算処理を実行し(ステップS304)、その出力結果をブロックサイズ「結合」の「全領域」についてのハッシュデータ162としてワーキングエリア150に記憶する(ステップS305)。
Subsequently, the hash data calculation process shown in FIG. 13 is executed by calling the hash
同様に、計算対象データとして「フルバックアップデータ121」、ブロックサイズとして「カレント/2(分割)」を入力としてハッシュデータ計算部114を呼び出して図13に示すハッシュデータ計算処理を実行し(ステップS306)、その出力結果をブロックサイズ「分割」の「全領域」についてのハッシュデータ163としてワーキングエリア150に記憶する(ステップS307)。
Similarly, the hash data calculation process shown in FIG. 13 is executed by calling the hash
以上で求められたハッシュデータ160の各々を、最適化処理用データ作成部111が図10〜11に示したように試験用領域のものと残領域のものに分割して(ステップS308)、準備処理は終了する。なお、この準備処理は、任意のタイミングで行うことができる。即ち、差分バックアップを実行する直前であってもよいし、差分バックアップを実行した後に次回差分バックアップのために行ってもよい。
Each of the
図13は、図12のステップS302、304、306として示したハッシュデータ計算部114が行うハッシュデータ計算処理について示すフローチャートである。ハッシュデータ計算部114は、最適化処理用データ作成部111から計算対象データとブロックサイズを指定されて起動され、それに基づいてまず計算対象データをそのブロックサイズに分割して(ステップS351)、分割された各ブロックについてハッシュ値を計算し(ステップS352)、ブロックサイズ160a、先頭アドレス160b、ハッシュ値160cを合わせたハッシュデータ160を出力する(ステップS353)。
FIG. 13 is a flowchart showing hash data calculation processing performed by the hash
図12の準備処理が行われた状態で、バックアップ管理サーバ10がユーザの操作などによって差分バックアップが指示されると、図2のブートイメージ送信部113は、クライアント21にブートイメージ141を送信し、その後にそのクライアント21を再起動させる。再起動されたクライアント21は、図6に示したブートイメージ141によって動作し、最適化差分バックアップ処理を開始する。
When the
(最適化差分バックアップ処理)
図14は、クライアント21で図6に示した差分バックアップ最適化部212が行う最適化差分バックアップの処理について示すフローチャートである。差分バックアップ最適化部212は、最適サイズ計算部213を呼び出して最適サイズ計算処理を実行させる(ステップS401)。
(Optimized differential backup processing)
FIG. 14 is a flowchart illustrating optimized differential backup processing performed by the differential
図15〜16(紙面の都合で2枚に分けて示す)は、図14のステップS401として示した、最適サイズ計算部213が行う最適サイズ計算処理について示すフローチャートである。最適サイズ計算部213はまず、データ送受信部211を介してバックアップ管理サーバ10に試験用領域の各ブロックサイズ(カレント、結合、分割)についてのハッシュデータ164〜166を要求してこれを受信する(ステップS451)。
FIGS. 15 to 16 (shown divided into two for convenience of paper) are flowcharts showing the optimum size calculation processing performed by the
これを受けて最適サイズ計算部213は、ブロックサイズ「カレント」、対象「試験用領域」を入力として差分バックアップ部214に差分バックアップ処理を実行させ(ステップS452)、その処理時間を「カレント」「試験用領域」の試験用バックアップ所要時間251としてワーキングエリア250に記憶する(ステップS453)。
In response to this, the optimum
続いて最適サイズ計算部213は、ブロックサイズとして「結合」、対象として「試験用領域」を入力として差分バックアップ部214に差分バックアップ処理を実行させ(ステップS454)、その処理時間を「結合」「試験用領域」の試験用バックアップ所要時間252としてワーキングエリア250に記憶する(ステップS455)。
Subsequently, the optimum
ここで、「カレント」「試験用領域」の試験用バックアップ所要時間251と「結合」「試験用領域」の試験用バックアップ所要時間252とを比較し(ステップS456)、後者の方が短ければ「結合」が最適なブロックサイズであると判断して、これをワーキングエリア250内に最適ブロックサイズ254として格納して(ステップS462)最適サイズ計算処理を終了する。
Here, the
一方、ステップS456で「カレント」「試験用領域」の試験用バックアップ所要時間251が「結合」「試験用領域」の試験用バックアップ所要時間252よりも短ければ、今度はブロックサイズとして「分割」、対象として「試験用領域」を入力として差分バックアップ部214に差分バックアップ処理を実行させ(ステップS457)、その処理時間を「分割」「試験用領域」の試験用バックアップ所要時間253としてワーキングエリア250に記憶する(ステップS458)。
On the other hand, if the required
そして「カレント」「試験用領域」の試験用バックアップ所要時間251と「分割」「試験用領域」の試験用バックアップ所要時間253とを比較し(ステップS459)、後者の方が短ければ「分割」が最適なブロックサイズであると判断して、これをワーキングエリア250内に最適ブロックサイズ254として格納する(ステップS461)。前者の方が短ければ「カレント」が最適なブロックサイズであると判断して、これをワーキングエリア250内に最適サイズとして格納する(ステップS460)。その後、最適サイズ計算処理を終了する。
Then, the
本実施形態で示したような、バックアップ管理サーバがネットワークで接続されている複数台のクライアントコンピュータのバックアップ対象データを一括してバックアップするという環境では、ネットワーク上でのデータ転送速度が差分バックアップの所要時間にとって最も大きく影響する。 In an environment where the backup target data of multiple client computers connected via a network is backed up collectively as shown in this embodiment, the data transfer speed on the network requires differential backup. It has the greatest impact on time.
もしネットワーク上でのデータ転送速度が極めて早く、そのデータ転送速度による処理時間に対する影響が無視できるなら、バックアップ処理においてオーバーヘッドとなる差分データ計算(ハッシュデータの算出および比較など)の処理を可能な限り少なくする方が、差分バックアップの所要時間の短縮になる。従って、ブロックサイズは可能な限り大きくする方が望ましい。バックアップ対象データ全体を1ブロックとすることが最も理想的ではある。 If the data transfer speed on the network is extremely fast and the effect on the processing time due to the data transfer speed can be ignored, differential data calculation (such as calculation and comparison of hash data) that is an overhead in backup processing should be performed as much as possible. Decreasing the number will shorten the time required for differential backup. Therefore, it is desirable to increase the block size as much as possible. It is most ideal to make the entire backup target data one block.
しかしながら、現実的にはネットワーク上でのデータ転送速度がバックアップ作業の上で障害となることが多い。そのため本実施形態では、図15〜16に示したように、データ転送速度による影響が無視できる範囲で、可能な限りブロックサイズを大きくするというアルゴリズムの構成となっている。 However, in reality, the data transfer speed on the network often becomes an obstacle to backup work. Therefore, in this embodiment, as shown in FIGS. 15 to 16, the algorithm is configured to increase the block size as much as possible within a range where the influence of the data transfer rate can be ignored.
前述のステップS456で、「カレント」「試験用領域」の試験用バックアップ所要時間251より「結合」「試験用領域」の試験用バックアップ所要時間252が短ければ「結合」を最適ブロックサイズ254としたのは、この考え方に基づいている。この場合は、まだデータ転送速度が障害になる範囲ではないと判断できるから、ブロックサイズ「分割」に対する試験用バックアップは行わない。
If the required
図14に戻って、差分バックアップ最適化部212は最適サイズ計算部213による最適なブロックサイズの計算結果、即ち最適ブロックサイズ254について判断し(ステップS402〜403)、これが「カレント」であれば(ステップS402:YES)、データ送受信部211はバックアップ管理サーバ10に残領域のブロックサイズ「カレント」についてのハッシュデータ167を要求してこれを受信し、これを入力として差分バックアップ部214を呼び出して残領域の差分バックアップ処理を実行する(ステップS406)。
Returning to FIG. 14, the differential
最適ブロックサイズ254が「結合」であれば(ステップS402:NO、ステップS403:YES)、データ送受信部211はバックアップ管理サーバ10に残領域のブロックサイズ「結合」についてのハッシュデータ168を要求してこれを受信し、これを入力として差分バックアップ部214を呼び出して残領域の差分バックアップ処理を実行する(ステップS405)。
If the
最適ブロックサイズ254が「カレント」でも「結合」でもなく「分割」である場合(ステップS402:NO、ステップS403:NO)、データ送受信部211はバックアップ管理サーバ10に残領域のブロックサイズ「分割」についてのハッシュデータ169を要求してこれを受信し、これを入力として差分バックアップ部214を呼び出して残領域の差分バックアップ処理を実行する(ステップS404)。
When the
差分バックアップ処理完了後、最適ブロックサイズ254を次回処理でカレントサイズとして使用するようバックアップ管理サーバ10に送信して(ステップS407)、以上で最適化差分バックアップ処理を終了する。なお、この最適化差分バックアップ処理の後に差分データ131をフルバックアップデータ121にマージするという処理があるが、このマージ処理については既知の技術で実現可能であり、本発明の範囲ではないので、詳しくは説明しない。
After the differential backup process is completed, the
図17は、図15のステップS452、454、457、および図14のS404、405、406として示した、差分バックアップ部214およびハッシュデータ比較部216による差分バックアップ処理について示すフローチャートである。差分バックアップ部214は、差分バックアップ最適化部212もしくは最適サイズ計算部213からブロックサイズとバックアップ対象領域とを指定し、その領域のハッシュデータ160を入力されて起動される。
FIG. 17 is a flowchart showing the differential backup processing by the
起動された差分バックアップ部214は、i=1を初期値として、i番目の領域のバックアップ対象データ221を読み取り(ステップS502)、その領域のハッシュ値251cを計算し(ステップS503)、ハッシュデータ比較部216にこれとハッシュデータ160で入力されたi番目の領域のハッシュ値160cとを比較させ(ステップS504)、異なっていればハッシュ値160cおよび251cが異なるブロックの先頭アドレス160bを図3(b)に示した一時リスト260として出力する(ステップS505)。
The activated
以上のステップS502〜505の処理を、iの値を1ずつ増加させて、iがN/nに到達するまで(Nは全ブロックサイズ、nはブロックサイズ)、即ちバックアップ対象データ221の全てのブロックに対して行う(ステップS506〜507)。そして、全ブロックに対してハッシュ値160cおよび251cの比較が完了したら、一時リスト260として出力された先頭アドレス160bに対応するブロックのデータを、差分データとしてバックアップ管理サーバ10に送信する(ステップS508)。
The processes in steps S502 to S505 are repeated until the value of i is incremented by 1 until i reaches N / n (N is the total block size, n is the block size), that is, all the
図18は、図14〜16に示したクライアント21での処理に対応するバックアップ管理サーバ10での処理について示すフローチャートである。まずは図15のステップS451の処理で試験用領域のハッシュデータ164〜166を要求されたバックアップ管理サーバ10は、データ送受信部112がこれを受けて、それらのハッシュデータ164〜166をクライアント21に送信する(ステップS601)。
FIG. 18 is a flowchart showing processing in the
そして、それらを利用して行われた差分バックアップデータを、クライアント21からデータ送受信部112が受信し、これを差分データ格納部116が差分データ131として保存する(ステップS602)。
Then, the data transmission / reception unit 112 receives the differential backup data performed using them from the
クライアント21では、これに引き続いて最適サイズが決定され、図14のステップS404〜406の処理でその最適サイズで残領域のハッシュデータ167〜169を要求される(ステップS603)ので、これを受信したバックアップ管理サーバ10は、データ送受信部112がこれを受けて、その要求に対応するハッシュデータ167〜169をクライアント21に送信する(ステップS604)。
Subsequently, the
そして、ステップS601で送信した残領域のハッシュデータ167〜169で行われた差分バックアップデータを、クライアント21からデータ送受信部112が受信し、これを差分データ格納部116が差分データ131として保存する(ステップS605)。
Then, the differential backup data performed with the remaining
そしてその後、ステップS603の処理で受信した最適サイズ以外の試験用差分データを差分データ格納部116が破棄し(ステップS606)、受信した最適サイズを最適化処理用データ作成部111がカレントサイズ設定値151としてワーキングエリア150に記憶する(ステップS607)。
Thereafter, the differential
(具体的な処理の例)
以上の動作について、より具体的な動作例を挙げて説明する。バックアップ対象データ221は、0〜16384キロバイトをその対象領域のアドレス範囲とする。そして、カレントサイズ設定値151として「512キロバイト」、試験用領域サイズとして「2048キロバイト」の各々のブロックサイズが設定されているものとする。
(Example of specific processing)
The above operation will be described with a more specific operation example. The
バックアップ対象データ221全体がフルバックアップデータ121としてバックアップ管理サーバ10の固定記憶手段103に保存されている。これに対してクライアント21の固定記憶手段203にあるバックアップ対象データ221の差分バックアップを取る動作を、これから具体的に説明する。
The entire
まず差分バックアップの準備処理として、バックアップ管理サーバ10の最適化処理用データ作成部111は、図12に示した最適化用ハッシュデータ計算処理を行う。その計算対象データは図16に示した「フルバックアップデータ121」である。カレントサイズ設定値151として「512キロバイト」が設定されているので、ハッシュデータ計算部114がステップS302および図13に示したハッシュデータ計算処理を行い、その結果として得られる図10(a)に示したブロックサイズ「カレント(512キロバイト)」の「全領域」に対するハッシュデータ161をワーキングエリア150に記憶する(図12・ステップS303)。
First, as a differential backup preparation process, the optimization processing
続いてハッシュデータ計算部114は、ブロックサイズ「結合(1024キロバイト)」およびブロックサイズ「分割(256キロバイト)」についても同じように処理を行い、各々のブロックサイズの「全領域」に対するハッシュデータ162および163をワーキングエリア150に記憶する(図12・ステップS305、307)。
Subsequently, the hash
図10(a)〜(c)の各ハッシュデータ160を計算後、最適化処理用データ作成部111はあらかじめシステム内に設定されている試験用領域のサイズ(2048キロバイト)をもとに、ハッシュデータを分割し(ステップS308)、その結果として図10(d)〜図11(i)に示した各々のハッシュデータ164〜169がワーキングエリア150に記憶される。
After calculating the
ユーザからの操作、もしくは設定時刻の到来などによって差分バックアップが開始されると、ブートイメージ送信部113はクライアント21にブートイメージ141を送信し、そしてクライアント21を再起動させる。再起動されたクライアント21はブートイメージ141を起動し、プロセッサ201が図6に示した各動作部として機能する。そして差分バックアップ最適化部212が、図14に示した最適化差分バックアップ処理を開始する。
When differential backup is started by an operation from the user or the arrival of a set time, the boot image transmission unit 113 transmits the
最適化差分バックアップ処理が開始されると、差分バックアップ最適化部212は、最適サイズ計算部213を呼び出して図15〜16に示した最適サイズ計算処理を実行させる(ステップS401)。最適サイズ計算処理が開始されると、最適サイズ計算部213は、バックアップ管理サーバ10から試験用領域の各ブロックサイズ(カレント、結合、分割)についてのハッシュデータ164〜166を受信し(図15・ステップS451)、まずはブロックサイズ「カレント」、対象「試験用領域」を入力として差分バックアップ部214を呼び出して差分バックアップ処理を実行させる(図15・ステップS452)。
When the optimized differential backup process is started, the differential
この差分バックアップの処理時間として500msが得られた。最適サイズ計算部213は、その処理時間を「カレント」「試験用領域」の試験用バックアップ所要時間251としてワーキングエリア250に記憶する(図15・ステップS453)。
The differential backup processing time was 500 ms. The optimum
続いて最適サイズ計算部213は、ブロックサイズとして「結合」、対象として「試験用領域」を入力として差分バックアップ部214に差分バックアップ処理を実行さる(図15・ステップS454)。この差分バックアップの処理時間として250msが得られた。その処理時間を「結合」「試験用領域」の試験用バックアップ所要時間252としてワーキングエリア250に記憶する(図15・ステップS455)。
Subsequently, the optimum
ここで「カレント」「試験用領域」の試験用バックアップ所要時間251と「結合」「試験用領域」の試験用バックアップ所要時間252とを比較すると(図15・ステップS456)、前者が500ms、後者が250msで、後者の方が短かった。従って「結合」が最適なブロックサイズであると判断して、これをワーキングエリア250内に最適ブロックサイズ254として格納する(図15・ステップS462)。
Here, when the required
これに続いてデータ送受信部211は、バックアップ管理サーバ10から残領域のブロックサイズ「結合」についてのハッシュデータ168を受信し、これを入力として差分バックアップ部214を呼び出して残領域の差分バックアップ処理を実行する(図14・ステップS405、図18・ステップS603〜604)。ここで取得されてクライアント21からバックアップ管理サーバ10に送信された差分バックアップデータを、データ送受信部112が受信し、これを差分データ格納部116が差分データ131として保存する(図18・ステップS605)。
Subsequently, the data transmission /
そしてこの差分バックアップ処理が完了すると、データ送受信部211が最適サイズ「1024キロバイト」を次回処理のカレントサイズとしてバックアップ管理サーバ10に送信する(図14・ステップS405)。バックアップ管理サーバ10では、最適化処理用データ作成部111がこれをカレントサイズ設定値151としてワーキングエリア150に記憶する(図18・ステップS607)。
When this differential backup processing is completed, the data transmitting / receiving
(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係る差分バックアップ方法は、バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアント21と、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバ10とが相互に接続された差分バックアップシステム1にあって、予め与えられた第1ないし第3のブロックサイズの各々でバックアップ管理サーバの第1のハッシュデータ計算部がフルバックアップデータをブロックに区切り、各ブロックのデータに予め与えられた関数を適用してバックアップ管理サーバの第1のハッシュデータ計算部が第1のハッシュデータを算出し(図12・ステップS302〜307)、第1ないし第3のブロックサイズの各々の場合について第1のハッシュデータをバックアップ管理サーバの最適化処理用データ作成部がフルバックアップデータの一部である試験用領域についてのものとそれ以外の領域のものとに分割し(図12・ステップS308)、試験用領域についてのハッシュデータをバックアップ管理サーバの最適化処理用データ作成部がクライアントに送信し(図18・ステップS601)、第1〜第3のブロックサイズの各々の場合についてクライアントの第2のハッシュデータ計算部がバックアップ対象データを当該ブロックサイズのブロックに区切り、各ブロックのデータに関数を適用してクライアントの第2のハッシュデータ計算部が第2のハッシュデータを算出し(図17・ステップS503)、ブロックごとに算出された第2のハッシュデータとバックアップ管理サーバから受信した第1のハッシュデータとをクライアントのハッシュデータ比較部が比較し(図17・ステップS504)、ブロックごとに第1および第2のハッシュデータの比較結果が異なっている場合にバックアップ対象データの該ブロックをクライアントの差分バックアップ部が差分バックアップし(図17・ステップS508)、第1〜第3のブロックサイズで行った試験用領域についての差分バックアップで最も所要時間の少なかったブロックサイズをクライアントの最適サイズ計算部が最適サイズとして決定し(図15・ステップS456、図16・ステップS459)、決定された最適サイズの場合の残領域についての第1のハッシュデータをクライアントの差分バックアップ最適化部がバックアップ管理サーバに要求し(図18・ステップS603)、要求された残領域についての第1のハッシュデータをバックアップ管理サーバのデータ送受信部がクライアントに送信し(図18・ステップS604)、最適サイズでバックアップ対象データの残領域をブロックに区切ってクライアントの差分バックアップ最適化部が差分バックアップ部に差分バックアップを行わせる(図14・ステップS402〜406)。
(Overall operation of the first embodiment)
Next, the overall operation of the above embodiment will be described. In the differential backup method according to the present embodiment, the
またここで、第2のブロックサイズが第1のブロックサイズより大きく、かつ第3のブロックサイズが第1のブロックサイズより小さい。そして残領域についての第1のハッシュデータをクライアントに返信する際に受信した最適サイズを次回同一処理時の第1のブロックサイズとしてバックアップ管理サーバの最適化処理用データ作成部が記憶する(図18・ステップS607)。 Here, the second block size is larger than the first block size, and the third block size is smaller than the first block size. Then, the optimization processing data creation unit of the backup management server stores the optimum size received when the first hash data for the remaining area is returned to the client as the first block size at the next same processing (FIG. 18). Step S607).
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータであるバックアップ管理サーバ10およびクライアント21に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
Here, each of the above-described operation steps may be programmed to be executable by a computer, and may be executed by the
With this configuration and operation, the present embodiment has the following effects.
本実施形態は、3種類のブロックサイズで試験用領域についての差分バックアップを行い、その結果として所要時間が最短となったブロックサイズによって残領域について差分バックアップを行うので、単なる「見積もり」ではなく、実際のデータおよび処理の内容に即した形で最適なブロックサイズを得て、これによって差分バックアップにかかる時間を短縮することができる。 In this embodiment, the differential backup for the test area is performed with three types of block sizes, and as a result, the differential backup is performed for the remaining area with the block size having the shortest required time. An optimum block size can be obtained in conformity with actual data and processing contents, thereby reducing the time required for differential backup.
しかも、その処理で得られた最適なブロックサイズは、次回処理時に「カレントサイズ」として記憶されるので、同一の差分バックアップ処理を何度も繰り返すうちにますます最適化された数値となる。もちろんこの処理は、クライアント21、22、…の各々で行われるので、各々のクライアントにとって最適なブロックサイズによって差分バックアップを行うことができる。
In addition, since the optimum block size obtained by the processing is stored as the “current size” at the next processing, the numerical value becomes more and more optimized as the same differential backup processing is repeated many times. Of course, since this processing is performed in each of the
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。 The present invention has been described with reference to the specific embodiments shown in the drawings. However, the present invention is not limited to the embodiments shown in the drawings, and any known hitherto provided that the effects of the present invention are achieved. Even if it is a structure, it is employable.
上述した各々の実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。 About each embodiment mentioned above, it is as follows when the summary of the novel technical content is put together. In addition, although part or all of the said embodiment is summarized as follows as a novel technique, this invention is not necessarily limited to this.
(付記1) バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムであって、
前記バックアップ管理サーバが、
前記フルバックアップデータを記憶する第1の固定記憶手段と、
ネットワークを経由して前記クライアントとデータ通信を行う第1のデータ送受信部と、
予め与えられた第1ないし第3のブロックサイズの各々で前記フルバックアップデータをブロックに区切ってこれら各ブロックのデータに予め与えられた関数を適用して第1のハッシュデータを算出する第1のハッシュデータ計算部と、
前記第1ないし第3のブロックサイズの各々の場合の前記第1のハッシュデータを前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割して前記試験用領域についてのハッシュデータを前記クライアントに送信する最適化処理用データ作成部と
を有し、
前記クライアントが、
前記バックアップ管理サーバとデータ通信を行う第2のデータ送受信部と、
前記バックアップ対象データを記憶する第2の固定記憶手段と、
前記第1〜第3のブロックサイズの各々の場合について前記バックアップ対象データをブロックに区切ってこれら各ブロックのデータに前記関数を適用して第2のハッシュデータを算出する第2のハッシュデータ計算部と、
算出された前記第2のハッシュデータを前記ブロックごとに前記バックアップ管理サーバから受信した前記第1のハッシュデータと比較するハッシュデータ比較部と、
前記ブロックごとの前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを差分バックアップする差分バックアップ部と、
前記第1ないし第3のブロックサイズの各々の場合について、前記試験用領域についての第1のハッシュデータを利用して前記バックアップ対象データの前記試験用領域について前記差分バックアップ部に試験的差分バックアップを行わせると共に、前記第1〜第3のブロックサイズで行った前記試験的差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する最適サイズ計算部と、
決定された前記最適サイズの場合の前記残領域についての第1のハッシュデータを前記バックアップ管理サーバに要求すると共に、送られてきたこの残領域についての第1のハッシュデータを利用して前記差分バックアップ部に前記最適サイズで前記バックアップ対象データの残領域の差分バックアップを行わせる差分バックアップ最適化部と
を有することを特徴とする差分バックアップシステム。
(Supplementary note 1) In a differential backup system in which a client, which is a computer device or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data that is a complete backup of each backup target data are interconnected There,
The backup management server is
First fixed storage means for storing the full backup data;
A first data transmitting / receiving unit that performs data communication with the client via a network;
A first hash data is calculated by dividing the full backup data into blocks at each of first to third block sizes given in advance and applying a given function to the data of each block. A hash data calculator,
The first hash data in each of the first to third block sizes is divided into a test area that is a part of the full backup data and a remaining area other than the test area. An optimization processing data creation unit that transmits hash data about the test area to the client;
The client
A second data transmitting / receiving unit that performs data communication with the backup management server;
Second fixed storage means for storing the backup target data;
A second hash data calculation unit that calculates the second hash data by dividing the backup target data into blocks and applying the function to the data of each block for each of the first to third block sizes When,
A hash data comparison unit that compares the calculated second hash data with the first hash data received from the backup management server for each block;
A differential backup unit that differentially backs up the block of the backup target data when the comparison result of the first and second hash data for each block is different;
For each of the first to third block sizes, a trial differential backup is performed on the differential backup unit for the test area of the backup target data using the first hash data for the test area. An optimal size calculation unit that determines the block size with the shortest required time in the experimental differential backup performed with the first to third block sizes as an optimal size,
Requesting the backup management server for the first hash data for the remaining area in the case of the determined optimum size, and using the first hash data for the remaining area sent thereto, the differential backup A differential backup system, comprising: a differential backup optimization unit that causes a differential backup of the remaining area of the backup target data to be performed at the optimal size.
(付記2) 前記第2のブロックサイズが前記第1のブロックサイズより大きく、かつ前記第3のブロックサイズが前記第1のブロックサイズより小さく、
前記バックアップ管理サーバの前記最適化処理用データ作成部が、前記残領域についての第1のハッシュデータを前記クライアントに返信する際に受信した前記最適サイズを次回同一処理時の前記第1のブロックサイズとして記憶する機能を有することを特徴とする、付記1に記載の差分バックアップシステム。
(Supplementary Note 2) The second block size is larger than the first block size, and the third block size is smaller than the first block size,
The optimization processing data creation unit of the backup management server returns the first block size at the time of the same processing next time to the optimum size received when returning the first hash data for the remaining area to the client. The differential backup system according to
(付記3) 前記クライアントの前記最適サイズ計算部が、前記第2のブロックサイズで行った前記試験的差分バックアップの所要時間が前記第1のブロックサイズで行った前記試験的差分バックアップの所要時間より短ければ、その時点で前記第2のブロックサイズを前記最適サイズとして決定する機能を有することを特徴とする、付記2に記載の差分バックアップシステム。 (Supplementary Note 3) The time required for the experimental differential backup performed with the second block size by the optimum size calculation unit of the client is greater than the time required for the experimental differential backup performed with the first block size. 3. The differential backup system according to appendix 2, characterized in that if it is shorter, it has a function of determining the second block size as the optimum size at that time.
(付記4) 前記バックアップ管理サーバが、前記クライアントの備えるプロセッサを前記第2のデータ送受信部、前記第2のハッシュデータ計算部、前記ハッシュデータ比較部、前記差分バックアップ部、前記最適サイズ計算部、および前記差分バックアップ最適化部として機能させるプログラムであるブートイメージを前記第1の固定記憶手段に記憶するブートイメージ格納部と、
前記ブートイメージを前記クライアントに送信して動作させるブートイメージ送信部とを有することを特徴とする、付記1に記載の差分バックアップシステム。
(Supplementary Note 4) The backup management server includes a processor included in the client as the second data transmission / reception unit, the second hash data calculation unit, the hash data comparison unit, the differential backup unit, the optimum size calculation unit, A boot image storage unit that stores a boot image that is a program that functions as the differential backup optimization unit in the first fixed storage unit;
The differential backup system according to
(付記5) バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと相互に接続され、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバであって、
前記フルバックアップデータを記憶する固定記憶手段と、
ネットワークを経由して前記クライアントとデータ通信を行うデータ送受信部と、
予め与えられた第1ないし第3のブロックサイズの各々で前記フルバックアップデータをブロックに区切ってこれら各ブロックのデータに予め与えられた関数を適用してハッシュデータを算出するハッシュデータ計算部と、
前記第1ないし第3のブロックサイズの各々の場合の前記ハッシュデータを前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割して前記試験用領域についてのハッシュデータを前記クライアントに送信する最適化処理用データ作成部と
を有することを特徴とするバックアップ管理サーバ。
(Supplementary Note 5) A backup management server that is connected to a client, which is one or a plurality of computer devices that hold backup target data, and that holds full backup data that is a complete backup of each backup target data,
Fixed storage means for storing the full backup data;
A data transmitting / receiving unit for performing data communication with the client via a network;
A hash data calculation unit for calculating hash data by dividing the full backup data into blocks at each of first to third block sizes given in advance and applying a function given in advance to the data of each block;
The test area is divided by dividing the hash data in each of the first to third block sizes into a test area that is a part of the full backup data and a remaining area other than the test area. A backup management server, comprising: an optimization processing data creation unit that transmits hash data for the client to the client.
(付記6) バックアップ対象データを保持し、前記バックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバと相互に接続されたコンピュータ装置であるクライアントであって、
前記バックアップ管理サーバとデータ通信を行うデータ送受信部と、
前記バックアップ対象データを記憶する固定記憶手段と、
前記第1〜第3のブロックサイズの各々の場合について前記バックアップ対象データをブロックに区切ってこれら各ブロックのデータに前記関数を適用して第2のハッシュデータを算出するハッシュデータ計算部と、
算出された前記第2のハッシュデータを前記ブロックごとに前記バックアップ管理サーバから受信した前記第1のハッシュデータと比較するハッシュデータ比較部と、
前記ブロックごとの前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを差分バックアップする差分バックアップ部と、
前記第1ないし第3のブロックサイズの各々の場合について、前記バックアップ対象データの一部である試験用領域についての第1のハッシュデータを利用して前記バックアップ対象データの前記試験用領域について前記差分バックアップ部に試験的差分バックアップを行わせると共に、前記第1〜第3のブロックサイズで行った前記試験的差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する最適サイズ計算部と、
決定された前記最適サイズの場合の前記試験用領域以外の残領域についての第1のハッシュデータを前記バックアップ管理サーバに要求すると共に、送られてきたこの残領域についての第1のハッシュデータを利用して前記差分バックアップ部に前記最適サイズで前記バックアップ対象データの残領域の差分バックアップを行わせる差分バックアップ最適化部と
を有することを特徴とするクライアント。
(Additional remark 6) It is a client which is a computer apparatus which hold | maintains backup object data, and is mutually connected with the backup management server which hold | maintains the full backup data which carried out full backup of the said backup object data,
A data transmission / reception unit for performing data communication with the backup management server;
Fixed storage means for storing the backup target data;
A hash data calculation unit that calculates the second hash data by dividing the backup target data into blocks for each case of the first to third block sizes and applying the function to the data of each block;
A hash data comparison unit that compares the calculated second hash data with the first hash data received from the backup management server for each block;
A differential backup unit that differentially backs up the block of the backup target data when the comparison result of the first and second hash data for each block is different;
For each of the first to third block sizes, the difference for the test area of the backup target data using the first hash data for the test area that is part of the backup target data. An optimal size calculation unit for making the backup unit perform a test differential backup, and determining a block size having the shortest required time in the test differential backup performed in the first to third block sizes as an optimal size;
The first hash data for the remaining area other than the test area in the case of the determined optimum size is requested to the backup management server, and the sent first hash data for the remaining area is used. And a differential backup optimizing unit that causes the differential backup unit to perform differential backup of the remaining area of the backup target data with the optimal size.
(付記7) バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムにあって、
予め与えられた第1ないし第3のブロックサイズの各々で前記バックアップ管理サーバの第1のハッシュデータ計算部が前記フルバックアップデータをブロックに区切り、
前記各ブロックのデータに予め与えられた関数を適用して前記バックアップ管理サーバの前記第1のハッシュデータ計算部が第1のハッシュデータを算出し、
前記第1ないし第3のブロックサイズの各々の場合について前記第1のハッシュデータを前記バックアップ管理サーバの最適化処理用データ作成部が前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割し、
前記試験用領域についてのハッシュデータを前記バックアップ管理サーバの前記最適化処理用データ作成部が前記クライアントに送信し、
前記第1〜第3のブロックサイズの各々の場合について前記クライアントの第2のハッシュデータ計算部が前記バックアップ対象データを当該ブロックサイズのブロックに区切り、
前記各ブロックのデータに前記関数を適用して前記クライアントの前記第2のハッシュデータ計算部が第2のハッシュデータを算出し、
前記ブロックごとに算出された前記第2のハッシュデータと前記バックアップ管理サーバから受信した前記第1のハッシュデータとを前記クライアントのハッシュデータ比較部が比較し、
前記ブロックごとに前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを前記クライアントの差分バックアップ部が差分バックアップし、
前記第1〜第3のブロックサイズで行った前記試験用領域についての差分バックアップで最も所要時間の少なかったブロックサイズを前記クライアントの最適サイズ計算部が最適サイズとして決定し、
決定された前記最適サイズの場合の前記残領域についての第1のハッシュデータを前記クライアントの差分バックアップ最適化部が前記バックアップ管理サーバに要求し、
要求された前記残領域についての第1のハッシュデータを前記バックアップ管理サーバのデータ送受信部が前記クライアントに送信し、
この残領域についての第1のハッシュデータを利用して前記クライアントの差分バックアップ最適化部が前記差分バックアップ部に前記バックアップ対象データの残領域の差分バックアップを行わせる
ことを特徴とする差分バックアップ方法。
(Supplementary note 7) A differential backup system in which a client, which is one or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data that is a complete backup of each backup target data are interconnected There,
The first hash data calculation unit of the backup management server divides the full backup data into blocks at each of the first to third block sizes given in advance,
The first hash data calculation unit of the backup management server calculates the first hash data by applying a function given in advance to the data of each block,
For each of the first to third block sizes, the first hash data is used for the test area in which the optimization processing data creation unit of the backup management server is part of the full backup data. Divide it into other remaining areas,
Hash data about the test area is transmitted to the client by the optimization processing data creation unit of the backup management server,
For each case of the first to third block sizes, the second hash data calculation unit of the client divides the backup target data into blocks of the block size,
The second hash data calculation unit of the client calculates second hash data by applying the function to the data of each block,
The hash data comparison unit of the client compares the second hash data calculated for each block and the first hash data received from the backup management server,
When the comparison result of the first and second hash data is different for each block, the differential backup unit of the client differentially backs up the block of the backup target data,
The optimal size calculation unit of the client determines the block size that required the least amount of time in the differential backup for the test area performed with the first to third block sizes as the optimal size,
The differential backup optimization unit of the client requests the backup management server for the first hash data for the remaining area in the case of the determined optimum size,
The data transmission / reception unit of the backup management server transmits the first hash data for the remaining area requested to the client,
A differential backup method, wherein the differential backup optimization unit of the client uses the first hash data for the remaining area to cause the differential backup unit to perform differential backup of the remaining area of the backup target data.
(付記8) 前記第2のブロックサイズが前記第1のブロックサイズより大きく、かつ前記第3のブロックサイズが前記第1のブロックサイズより小さく、
前記残領域についての第1のハッシュデータを前記クライアントに返信する際に受信した前記最適サイズを次回同一処理時の前記第1のブロックサイズとして前記バックアップ管理サーバの前記最適化処理用データ作成部が記憶する
ことを特徴とする、付記7に記載の差分バックアップ方法。
(Supplementary Note 8) The second block size is larger than the first block size, and the third block size is smaller than the first block size,
The optimization processing data creation unit of the backup management server sets the optimum size received when returning the first hash data for the remaining area to the client as the first block size at the same time next time. The differential backup method according to appendix 7, wherein the differential backup method is stored.
(付記9) バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムにあって、
前記バックアップ管理サーバが備えるコンピュータに、
予め与えられた第1ないし第3のブロックサイズの各々で前記フルバックアップデータをブロックに区切る手順、
前記各ブロックのデータに予め与えられた関数を適用してハッシュデータを算出する手順、
前記第1ないし第3のブロックサイズの各々の場合について前記ハッシュデータを前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割する手順、
前記試験用領域についてのハッシュデータを前記クライアントに送信する手順、
および前記クライアントから要求された前記残領域についての第1のハッシュデータを当該クライアントに送信する手順
を実行させることを特徴とする差分バックアッププログラム。
(Supplementary Note 9) A differential backup system in which a client, which is one or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data that is a complete backup of each backup target data are interconnected There,
In the computer provided in the backup management server,
A procedure for dividing the full backup data into blocks in each of first to third block sizes given in advance;
A procedure for calculating hash data by applying a function given in advance to the data of each block,
A procedure for dividing the hash data for each of the first to third block sizes into a test area that is a part of the full backup data and a remaining area other than the test area;
A procedure for transmitting hash data about the test area to the client;
And a differential backup program for causing the client to execute a procedure of transmitting the first hash data for the remaining area requested by the client to the client.
(付記10) バックアップ対象データを保持する単数もしくは複数のコンピュータ装置であるクライアントと、各々のバックアップ対象データを完全バックアップしたフルバックアップデータを保持するバックアップ管理サーバとが相互に接続された差分バックアップシステムにあって、
前記クライアントが備えるコンピュータに、
前記第1〜第3のブロックサイズの各々の場合について前記バックアップ対象データを当該ブロックサイズのブロックに区切る手順、
前記各ブロックのデータに前記関数を適用して第2のハッシュデータを算出する手順、
前記ブロックごとに算出された前記第2のハッシュデータを前記バックアップ管理サーバから受信した前記第1のハッシュデータと比較する手順、
前記ブロックごとの前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを差分バックアップする手順、
前記第1〜第3のブロックサイズで行った前記バックアップ対象データの一部である試験用領域についての差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する手順、
決定された前記最適サイズの場合の前記試験用領域以外の残領域についての第1のハッシュデータを前記バックアップ管理サーバに要求する手順、
および送られてきたこの残領域についての第1のハッシュデータを利用して前記バックアップ対象データの残領域の差分バックアップを行う手順
を実行させることを特徴とする差分バックアッププログラム。
(Supplementary Note 10) In a differential backup system in which a client, which is one or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data that is a complete backup of each backup target data are interconnected There,
A computer included in the client;
A procedure for dividing the backup target data into blocks of the block size for each of the first to third block sizes;
A procedure for calculating the second hash data by applying the function to the data of each block,
Comparing the second hash data calculated for each block with the first hash data received from the backup management server;
A procedure for differentially backing up the block of the backup target data when the comparison result of the first and second hash data for each block is different;
A procedure for determining, as an optimum size, a block size that requires the least amount of time in a differential backup for a test area that is a part of the backup target data performed in the first to third block sizes;
Requesting the backup management server for first hash data for the remaining area other than the test area in the case of the determined optimum size;
And a differential backup program for executing a procedure for performing differential backup of the remaining area of the backup target data by using the first hash data of the remaining area sent thereto.
本発明は、バックアップシステムに適用できる。特に、複数のクライアントコンピュータについてのバックアップをバックアップ管理サーバによって一括して行うという形のバックアップシステムに適している。 The present invention can be applied to a backup system. Particularly, it is suitable for a backup system in which backups for a plurality of client computers are collectively performed by a backup management server.
1 差分バックアップシステム
10 バックアップ管理サーバ
21 クライアント
30 ネットワーク
101、201 プロセッサ
102、202 一時記憶手段
103、203 固定記憶手段
104、204 通信手段
111 最適化処理用データ作成部
112 データ送受信部
113 ブートイメージ送信部
114 ハッシュデータ計算部
115 フルバックアップデータ格納部
116 差分データ格納部
117 ブートイメージ格納部
120 バックアップデータ格納領域
121 フルバックアップデータ
121a、221a 試験用領域
121b、221b 残領域
130 差分データ格納領域
131 差分データ
140 ブートイメージ格納領域
141 ブートイメージ
150、250 ワーキングエリア
151 カレントサイズ設定値
160〜169 ハッシュデータ
211 データ送受信部
212 差分バックアップ最適化部
213 最適サイズ計算部
214 差分バックアップ部
215 ハッシュデータ計算部
216 ハッシュデータ比較部
220 バックアップ対象データ記憶領域
221 バックアップ対象データ
DESCRIPTION OF
Claims (10)
前記バックアップ管理サーバが、
前記フルバックアップデータを記憶する第1の固定記憶手段と、
ネットワークを経由して前記クライアントとデータ通信を行う第1のデータ送受信部と、
予め与えられた第1ないし第3のブロックサイズの各々で前記フルバックアップデータをブロックに区切ってこれら各ブロックのデータに予め与えられた関数を適用して第1のハッシュデータを算出する第1のハッシュデータ計算部と、
前記第1ないし第3のブロックサイズの各々の場合の前記第1のハッシュデータを前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割して前記試験用領域についてのハッシュデータを前記クライアントに送信する最適化処理用データ作成部と
を有し、
前記クライアントが、
前記バックアップ管理サーバとデータ通信を行う第2のデータ送受信部と、
前記バックアップ対象データを記憶する第2の固定記憶手段と、
前記第1〜第3のブロックサイズの各々の場合について前記バックアップ対象データをブロックに区切ってこれら各ブロックのデータに前記関数を適用して第2のハッシュデータを算出する第2のハッシュデータ計算部と、
算出された前記第2のハッシュデータを前記ブロックごとに前記バックアップ管理サーバから受信した前記第1のハッシュデータと比較するハッシュデータ比較部と、
前記ブロックごとの前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを差分バックアップする差分バックアップ部と、
前記第1ないし第3のブロックサイズの各々の場合について、前記試験用領域についての第1のハッシュデータを利用して前記バックアップ対象データの前記試験用領域について前記差分バックアップ部に試験的差分バックアップを行わせると共に、前記第1〜第3のブロックサイズで行った前記試験的差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する最適サイズ計算部と、
決定された前記最適サイズの場合の前記残領域についての第1のハッシュデータを前記バックアップ管理サーバに要求すると共に、送られてきたこの残領域についての第1のハッシュデータを利用して前記差分バックアップ部に前記最適サイズで前記バックアップ対象データの残領域の差分バックアップを行わせる差分バックアップ最適化部と
を有することを特徴とする差分バックアップシステム。 A differential backup system in which a client, which is one or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data in which each backup target data is completely backed up are mutually connected,
The backup management server is
First fixed storage means for storing the full backup data;
A first data transmitting / receiving unit that performs data communication with the client via a network;
A first hash data is calculated by dividing the full backup data into blocks at each of first to third block sizes given in advance and applying a given function to the data of each block. A hash data calculator,
The first hash data in each of the first to third block sizes is divided into a test area that is a part of the full backup data and a remaining area other than the test area. An optimization processing data creation unit that transmits hash data about the test area to the client;
The client
A second data transmitting / receiving unit that performs data communication with the backup management server;
Second fixed storage means for storing the backup target data;
A second hash data calculation unit that calculates the second hash data by dividing the backup target data into blocks and applying the function to the data of each block for each of the first to third block sizes When,
A hash data comparison unit that compares the calculated second hash data with the first hash data received from the backup management server for each block;
A differential backup unit that differentially backs up the block of the backup target data when the comparison result of the first and second hash data for each block is different;
For each of the first to third block sizes, a trial differential backup is performed on the differential backup unit for the test area of the backup target data using the first hash data for the test area. An optimal size calculation unit that determines the block size with the shortest required time in the experimental differential backup performed with the first to third block sizes as an optimal size,
Requesting the backup management server for the first hash data for the remaining area in the case of the determined optimum size, and using the first hash data for the remaining area sent thereto, the differential backup A differential backup system, comprising: a differential backup optimization unit that causes a differential backup of the remaining area of the backup target data to be performed at the optimal size.
前記バックアップ管理サーバの前記最適化処理用データ作成部が、前記残領域についての第1のハッシュデータを前記クライアントに返信する際に受信した前記最適サイズを次回同一処理時の前記第1のブロックサイズとして記憶する機能を有することを特徴とする、請求項1に記載の差分バックアップシステム。 The second block size is larger than the first block size and the third block size is smaller than the first block size;
The optimization processing data creation unit of the backup management server returns the first block size at the time of the same processing next time to the optimum size received when returning the first hash data for the remaining area to the client. The differential backup system according to claim 1, wherein the differential backup system has a function of storing as:
前記クライアントの備えるプロセッサを前記第2のデータ送受信部、前記第2のハッシュデータ計算部、前記ハッシュデータ比較部、前記差分バックアップ部、前記最適サイズ計算部、および前記差分バックアップ最適化部として機能させるプログラムであるブートイメージを前記第1の固定記憶手段に記憶するブートイメージ格納部と、
前記ブートイメージを前記クライアントに送信して動作させるブートイメージ送信部とを有することを特徴とする、請求項1に記載の差分バックアップシステム。 The backup management server is
The processor included in the client functions as the second data transmission / reception unit, the second hash data calculation unit, the hash data comparison unit, the differential backup unit, the optimal size calculation unit, and the differential backup optimization unit. A boot image storage unit for storing a boot image as a program in the first fixed storage unit;
The differential backup system according to claim 1, further comprising: a boot image transmission unit configured to transmit the boot image to the client for operation.
前記フルバックアップデータを記憶する固定記憶手段と、
ネットワークを経由して前記クライアントとデータ通信を行うデータ送受信部と、
予め与えられた第1ないし第3のブロックサイズの各々で前記フルバックアップデータをブロックに区切ってこれら各ブロックのデータに予め与えられた関数を適用してハッシュデータを算出するハッシュデータ計算部と、
前記第1ないし第3のブロックサイズの各々の場合の前記ハッシュデータを前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割して前記試験用領域についてのハッシュデータを前記クライアントに送信する最適化処理用データ作成部と
を有することを特徴とするバックアップ管理サーバ。 A backup management server that is connected to a client, which is one or more computer devices that hold backup target data, and that holds full backup data that is a complete backup of each backup target data,
Fixed storage means for storing the full backup data;
A data transmitting / receiving unit for performing data communication with the client via a network;
A hash data calculation unit for calculating hash data by dividing the full backup data into blocks at each of first to third block sizes given in advance and applying a function given in advance to the data of each block;
The test area is divided by dividing the hash data in each of the first to third block sizes into a test area that is a part of the full backup data and a remaining area other than the test area. A backup management server, comprising: an optimization processing data creation unit that transmits hash data for the client to the client.
前記バックアップ管理サーバとデータ通信を行うデータ送受信部と、
前記バックアップ対象データを記憶する固定記憶手段と、
前記第1〜第3のブロックサイズの各々の場合について前記バックアップ対象データをブロックに区切ってこれら各ブロックのデータに前記関数を適用して第2のハッシュデータを算出するハッシュデータ計算部と、
算出された前記第2のハッシュデータを前記ブロックごとに前記バックアップ管理サーバから受信した前記第1のハッシュデータと比較するハッシュデータ比較部と、
前記ブロックごとの前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを差分バックアップする差分バックアップ部と、
前記第1ないし第3のブロックサイズの各々の場合について、前記バックアップ対象データの一部である試験用領域についての第1のハッシュデータを利用して前記バックアップ対象データの前記試験用領域について前記差分バックアップ部に試験的差分バックアップを行わせると共に、前記第1〜第3のブロックサイズで行った前記試験的差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する最適サイズ計算部と、
決定された前記最適サイズの場合の前記試験用領域以外の残領域についての第1のハッシュデータを前記バックアップ管理サーバに要求すると共に、送られてきたこの残領域についての第1のハッシュデータを利用して前記差分バックアップ部に前記最適サイズで前記バックアップ対象データの残領域の差分バックアップを行わせる差分バックアップ最適化部と
を有することを特徴とするクライアント。 A client that is a computer device that holds backup target data and is interconnected with a backup management server that holds full backup data that is a complete backup of the backup target data,
A data transmission / reception unit for performing data communication with the backup management server;
Fixed storage means for storing the backup target data;
A hash data calculation unit that calculates the second hash data by dividing the backup target data into blocks for each case of the first to third block sizes and applying the function to the data of each block;
A hash data comparison unit that compares the calculated second hash data with the first hash data received from the backup management server for each block;
A differential backup unit that differentially backs up the block of the backup target data when the comparison result of the first and second hash data for each block is different;
For each of the first to third block sizes, the difference for the test area of the backup target data using the first hash data for the test area that is part of the backup target data. An optimal size calculation unit for making the backup unit perform a test differential backup, and determining a block size having the shortest required time in the test differential backup performed in the first to third block sizes as an optimal size;
The first hash data for the remaining area other than the test area in the case of the determined optimum size is requested to the backup management server, and the sent first hash data for the remaining area is used. And a differential backup optimizing unit that causes the differential backup unit to perform differential backup of the remaining area of the backup target data with the optimal size.
予め与えられた第1ないし第3のブロックサイズの各々で前記バックアップ管理サーバの第1のハッシュデータ計算部が前記フルバックアップデータをブロックに区切り、
前記各ブロックのデータに予め与えられた関数を適用して前記バックアップ管理サーバの前記第1のハッシュデータ計算部が第1のハッシュデータを算出し、
前記第1ないし第3のブロックサイズの各々の場合について前記第1のハッシュデータを前記バックアップ管理サーバの最適化処理用データ作成部が前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割し、
前記試験用領域についてのハッシュデータを前記バックアップ管理サーバの前記最適化処理用データ作成部が前記クライアントに送信し、
前記第1〜第3のブロックサイズの各々の場合について前記クライアントの第2のハッシュデータ計算部が前記バックアップ対象データを当該ブロックサイズのブロックに区切り、
前記各ブロックのデータに前記関数を適用して前記クライアントの前記第2のハッシュデータ計算部が第2のハッシュデータを算出し、
前記ブロックごとに算出された前記第2のハッシュデータと前記バックアップ管理サーバから受信した前記第1のハッシュデータとを前記クライアントのハッシュデータ比較部が比較し、
前記ブロックごとに前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを前記クライアントの差分バックアップ部が差分バックアップし、
前記第1〜第3のブロックサイズで行った前記試験用領域についての差分バックアップで最も所要時間の少なかったブロックサイズを前記クライアントの最適サイズ計算部が最適サイズとして決定し、
決定された前記最適サイズの場合の前記残領域についての第1のハッシュデータを前記クライアントの差分バックアップ最適化部が前記バックアップ管理サーバに要求し、
要求された前記残領域についての第1のハッシュデータを前記バックアップ管理サーバのデータ送受信部が前記クライアントに送信し、
この残領域についての第1のハッシュデータを利用して前記クライアントの差分バックアップ最適化部が前記差分バックアップ部に前記バックアップ対象データの残領域の差分バックアップを行わせる
ことを特徴とする差分バックアップ方法。 In a differential backup system in which a client, which is one or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data in which each backup target data is completely backed up are mutually connected,
The first hash data calculation unit of the backup management server divides the full backup data into blocks at each of the first to third block sizes given in advance,
The first hash data calculation unit of the backup management server calculates the first hash data by applying a function given in advance to the data of each block,
For each of the first to third block sizes, the first hash data is used for the test area in which the optimization processing data creation unit of the backup management server is part of the full backup data. Divide it into other remaining areas,
Hash data about the test area is transmitted to the client by the optimization processing data creation unit of the backup management server,
For each case of the first to third block sizes, the second hash data calculation unit of the client divides the backup target data into blocks of the block size,
The second hash data calculation unit of the client calculates second hash data by applying the function to the data of each block,
The hash data comparison unit of the client compares the second hash data calculated for each block and the first hash data received from the backup management server,
When the comparison result of the first and second hash data is different for each block, the differential backup unit of the client differentially backs up the block of the backup target data,
The optimal size calculation unit of the client determines the block size that required the least amount of time in the differential backup for the test area performed with the first to third block sizes as the optimal size,
The differential backup optimization unit of the client requests the backup management server for the first hash data for the remaining area in the case of the determined optimum size,
The data transmission / reception unit of the backup management server transmits the first hash data for the remaining area requested to the client,
A differential backup method, wherein the differential backup optimization unit of the client uses the first hash data for the remaining area to cause the differential backup unit to perform differential backup of the remaining area of the backup target data.
前記残領域についての第1のハッシュデータを前記クライアントに返信する際に受信した前記最適サイズを次回同一処理時の前記第1のブロックサイズとして前記バックアップ管理サーバの前記最適化処理用データ作成部が記憶する
ことを特徴とする、請求項7に記載の差分バックアップ方法。 The second block size is larger than the first block size and the third block size is smaller than the first block size;
The optimization processing data creation unit of the backup management server sets the optimum size received when returning the first hash data for the remaining area to the client as the first block size at the same time next time. The differential backup method according to claim 7, wherein the differential backup method is stored.
前記バックアップ管理サーバが備えるコンピュータに、
予め与えられた第1ないし第3のブロックサイズの各々で前記フルバックアップデータをブロックに区切る手順、
前記各ブロックのデータに予め与えられた関数を適用してハッシュデータを算出する手順、
前記第1ないし第3のブロックサイズの各々の場合について前記ハッシュデータを前記フルバックアップデータの一部である試験用領域についてのものとそれ以外の残領域のものとに分割する手順、
前記試験用領域についてのハッシュデータを前記クライアントに送信する手順、
および前記クライアントから要求された前記残領域についての第1のハッシュデータを当該クライアントに送信する手順
を実行させることを特徴とする差分バックアッププログラム。 In a differential backup system in which a client, which is one or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data in which each backup target data is completely backed up are mutually connected,
In the computer provided in the backup management server,
A procedure for dividing the full backup data into blocks in each of first to third block sizes given in advance;
A procedure for calculating hash data by applying a function given in advance to the data of each block,
A procedure for dividing the hash data for each of the first to third block sizes into a test area that is a part of the full backup data and a remaining area other than the test area;
A procedure for transmitting hash data about the test area to the client;
And a differential backup program for causing the client to execute a procedure of transmitting the first hash data for the remaining area requested by the client to the client.
前記クライアントが備えるコンピュータに、
前記第1〜第3のブロックサイズの各々の場合について前記バックアップ対象データを当該ブロックサイズのブロックに区切る手順、
前記各ブロックのデータに前記関数を適用して第2のハッシュデータを算出する手順、
前記ブロックごとに算出された前記第2のハッシュデータを前記バックアップ管理サーバから受信した前記第1のハッシュデータと比較する手順、
前記ブロックごとの前記第1および第2のハッシュデータの比較結果が異なっている場合に前記バックアップ対象データの該ブロックを差分バックアップする手順、
前記第1〜第3のブロックサイズで行った前記バックアップ対象データの一部である試験用領域についての差分バックアップで最も所要時間の少なかったブロックサイズを最適サイズとして決定する手順、
決定された前記最適サイズの場合の前記試験用領域以外の残領域についての第1のハッシュデータを前記バックアップ管理サーバに要求する手順、
および送られてきたこの残領域についての第1のハッシュデータを利用して前記バックアップ対象データの残領域の差分バックアップを行う手順
を実行させることを特徴とする差分バックアッププログラム。 In a differential backup system in which a client, which is one or a plurality of computer devices that hold backup target data, and a backup management server that holds full backup data in which each backup target data is completely backed up are mutually connected,
A computer included in the client;
A procedure for dividing the backup target data into blocks of the block size for each of the first to third block sizes;
A procedure for calculating the second hash data by applying the function to the data of each block,
Comparing the second hash data calculated for each block with the first hash data received from the backup management server;
A procedure for differentially backing up the block of the backup target data when the comparison result of the first and second hash data for each block is different;
A procedure for determining, as an optimum size, a block size that requires the least amount of time in a differential backup for a test area that is a part of the backup target data performed in the first to third block sizes;
Requesting the backup management server for first hash data for the remaining area other than the test area in the case of the determined optimum size;
And a differential backup program for executing a procedure for performing differential backup of the remaining area of the backup target data by using the first hash data of the remaining area sent thereto.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010078162A JP5494123B2 (en) | 2010-03-30 | 2010-03-30 | Differential backup system, management server and client, differential backup method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010078162A JP5494123B2 (en) | 2010-03-30 | 2010-03-30 | Differential backup system, management server and client, differential backup method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011210068A JP2011210068A (en) | 2011-10-20 |
JP5494123B2 true JP5494123B2 (en) | 2014-05-14 |
Family
ID=44941042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010078162A Expired - Fee Related JP5494123B2 (en) | 2010-03-30 | 2010-03-30 | Differential backup system, management server and client, differential backup method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5494123B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005100007A (en) * | 2003-09-24 | 2005-04-14 | Matsushita Electric Ind Co Ltd | Data file saving system and allocation method |
JP2006039598A (en) * | 2004-06-24 | 2006-02-09 | Katsuya Ishihara | Data linkage method and data linkage device for computer system |
JP5237661B2 (en) * | 2008-03-24 | 2013-07-17 | 日本放送協会 | File synchronization apparatus, file synchronization method, and file synchronization program |
-
2010
- 2010-03-30 JP JP2010078162A patent/JP5494123B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011210068A (en) | 2011-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2834759B1 (en) | Telemetry system for a cloud synchronization system | |
CN111182067B (en) | Data writing method and device based on interplanetary file system IPFS | |
EP3564835B1 (en) | Data redistribution method and apparatus, and database cluster | |
EP3400542B1 (en) | Techniques for performing data reconciliation in distributed data store systems | |
JPH09244936A (en) | Management method and system for shared data file | |
CN108322533A (en) | Configuration and synchronization method between distributed type assemblies node based on operation log | |
EP3364310A1 (en) | Data processing method and device | |
WO2014023000A1 (en) | Distributed data processing method and apparatus | |
CN104468651B (en) | Distributed more copy data storage methods and device | |
WO2020253634A1 (en) | Data processing method, system and device | |
US20150134672A1 (en) | Data Copy Management Apparatus and Data Copy Method Thereof | |
US20200293220A1 (en) | Log processing method, and related device and system | |
JP5287366B2 (en) | Management server, backup method, backup method, and program | |
CN116680256A (en) | Database node upgrading method and device and computer equipment | |
JPWO2014142217A1 (en) | Information processing system and application transfer method | |
CN106855869B (en) | Method, device and system for realizing high availability of database | |
CN110958139B (en) | Network control method, orchestrator, controller, and computer-readable storage medium | |
JP5494123B2 (en) | Differential backup system, management server and client, differential backup method and program | |
CN106462421B (en) | Telecommunication device and method for updating software in a telecommunication device | |
CN113821362B (en) | Data copying method and device | |
WO2022121387A1 (en) | Data storage method and apparatus, server, and medium | |
CN114138475A (en) | Data transmission load balancing method, device, equipment and storage medium | |
US11381642B2 (en) | Distributed storage system suitable for sensor data | |
CN107710165A (en) | Method and apparatus for the request of memory node synchronous service | |
CN111125001A (en) | Snap copy method, electronic device, and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140129 |
|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5494123 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |