JP2015022353A - Snapshot creation system of data management server, and snapshot creation system of server cluster - Google Patents
Snapshot creation system of data management server, and snapshot creation system of server cluster Download PDFInfo
- Publication number
- JP2015022353A JP2015022353A JP2013147828A JP2013147828A JP2015022353A JP 2015022353 A JP2015022353 A JP 2015022353A JP 2013147828 A JP2013147828 A JP 2013147828A JP 2013147828 A JP2013147828 A JP 2013147828A JP 2015022353 A JP2015022353 A JP 2015022353A
- Authority
- JP
- Japan
- Prior art keywords
- data
- snapshot
- unit
- snapshot creation
- data management
- 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.)
- Granted
Links
- 238000013523 data management Methods 0.000 title claims abstract description 251
- 238000012545 processing Methods 0.000 claims abstract description 192
- 238000007726 management method Methods 0.000 claims abstract description 80
- 238000012217 deletion Methods 0.000 claims description 21
- 230000037430 deletion Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 description 100
- 230000008569 process Effects 0.000 description 91
- 230000004044 response Effects 0.000 description 32
- 230000004308 accommodation Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Abstract
Description
本発明は、データを保持管理することを目的としたデータ管理サーバまたは複数のデータ管理サーバを含んだサーバクラスタにおいて、同一時点でのスナップショットを作成するシステムに関する。 The present invention relates to a system for creating a snapshot at the same time in a data management server or a server cluster including a plurality of data management servers for the purpose of holding and managing data.
公衆向けサービスで扱うデータの量や、企業や大学などの特定組織内で扱うデータの量は、年を追うごとに増加している。かつては、1台のサーバにデータを集約管理するケースや、複数のサーバが個々にデータを管理するケースが多かった。管理されるデータに信頼性が必要な場合には、管理されるデータが二重化されているケースが多かった。
しかし、2000年代後半になると、複数のデータ管理サーバのクラスタと、1台または複数台の振分サーバとで構成したクラスタシステムが登場して使われるようになっている。このクラスタシステムは、外部のクライアントには多量のデータを管理する単一のデータ管理サーバのように振る舞い、内部的には多量のデータを分割して管理する複数のデータ管理サーバとして構成される。
The amount of data handled by public services and the amount of data handled by specific organizations such as companies and universities are increasing year by year. In the past, there were many cases where data was centrally managed on a single server, and multiple servers individually managed data. When the data to be managed needs reliability, there are many cases where the data to be managed is duplicated.
However, in the second half of the 2000s, a cluster system composed of a cluster of a plurality of data management servers and one or a plurality of distribution servers has been introduced and used. This cluster system behaves like a single data management server that manages a large amount of data for external clients, and is internally configured as a plurality of data management servers that divide and manage a large amount of data.
このクラスタシステムにおいて、振分サーバが、クライアントへのフロントエンドとなっている。振分サーバは、クライアントが送信したデータ書込要求やデータ参照要求を代理して受け付けて、然るべきデータ管理サーバに転送する。この仕組みにより、クラスタシステムは、クライアントには単一のデータ管理サーバのように振る舞う。このクラスタシステムは、データ管理サーバのいずれかが壊れた場合でも、個々のデータを複製して複数のデータ管理サーバに保持する技術により、そのデータの損失を防ぐことができる。 In this cluster system, the distribution server is a front end to the client. The distribution server accepts the data write request and data reference request transmitted by the client on behalf of the client and transfers them to the appropriate data management server. With this mechanism, the cluster system behaves like a single data management server for clients. Even if one of the data management servers is broken, this cluster system can prevent the loss of the data by a technique of copying individual data and holding it in a plurality of data management servers.
振り分けサーバとデータ管理サーバで構成されるデータベースでは、各データのキーとなる情報と、各データそのものである情報(バリュー)とに分けた管理方法が用いられる場合が多い。これらのデータベースは、キー値のハッシュとバリュー値の格納位置とを直接に結びつけることや、キー値のハッシュとバリュー値の格納位置とを結びつけるテーブルを管理することで、スケーラビリティを実現している。 In a database composed of a distribution server and a data management server, a management method divided into information that is a key of each data and information (value) that is each data itself is often used. These databases realize scalability by directly connecting the hash of the key value and the storage position of the value value, and managing a table that connects the hash of the key value and the storage position of the value value.
これらデータ管理サーバは、各データをハードディスクのような不揮発性媒体で管理する場合が多い。また、データ管理サーバは、レスポンスを重視するような場合には、各データをRAM(Random Access Memory)のような揮発性メモリで管理することが一般的である。このような場合、データ管理サーバは、揮発性メモリ上のデータを不揮発性媒体にバックアップする場合がある。 These data management servers often manage each data with a non-volatile medium such as a hard disk. In addition, the data management server generally manages each data with a volatile memory such as a RAM (Random Access Memory) when the response is important. In such a case, the data management server may back up the data on the volatile memory to a nonvolatile medium.
クラスタシステムは、扱うデータの量の増加に併せて、データ管理サーバを増やすことが可能である。クラスタシステムは、データ管理サーバを増やす際に、各データ管理サーバの負荷の平準化のため、新しいデータ管理サーバにデータを移動可能であることが望ましい。このように高いデータ流動性が要求される場合、クラスタシステムは、揮発性メモリ上のデータを不揮発性媒体にバックアップしない場合もある。このようなクラスタシステムでは、複製されたデータが複数のサーバに格納されるため、1台のデータ管理サーバだけが壊れた場合には、データの損失が発生しない。しかし、このクラスタシステムでは、激甚災害などで複数のデータ管理サーバが一度に壊れる場合、データの損失が発生する。よって、クラスタシステムでは、データの損失を避けるため、データのバックアップは必要である。
クラスタシステムにおいて、データのバックアップは、任意のタイミングにおけるデータのスナップショットを作成することで行われる。
The cluster system can increase the number of data management servers as the amount of data handled increases. When the cluster system increases the number of data management servers, it is desirable that data can be moved to a new data management server in order to level the load on each data management server. When such high data fluidity is required, the cluster system may not back up the data on the volatile memory to a nonvolatile medium. In such a cluster system, replicated data is stored in a plurality of servers, and therefore, if only one data management server is broken, no data loss occurs. However, in this cluster system, data loss occurs when a plurality of data management servers are broken at a time due to a catastrophic disaster or the like. Therefore, in the cluster system, data backup is necessary to avoid data loss.
In a cluster system, data backup is performed by creating a snapshot of data at an arbitrary timing.
非特許文献1は、クラスタシステムのスナップショット作成を行うものである。非特許文献1には、「データベース静止化機能は、日次・月次などのバッチ処理や、データベースのバックアップ取得などの処理を、オンラインと並行して実行するための機能です。任意の時刻の静的(トランザクション処理の完結した矛盾のない状態)なデータベースを創出することにより、オンラインシステムの24時間連続運転を支援します。」と記載されている。 Non-Patent Document 1 is for creating a snapshot of a cluster system. Non-Patent Document 1 states that “The database staticization function is a function for executing batch processing such as daily / monthly and database backup acquisition in parallel with online processing. By creating a static (consistent state with complete transaction processing) database, the online system will be supported 24 hours a day. "
非特許文献1に記載のTMS−4V/SPは、各データを、ペア装置による二重書きによって二重化して管理する。スナップショットを作成する際、TMS−4V/SPは、一時的にデータ更新要求を受け付けないようにしてデータの変更を止め、二重化を解除して一重化運転を行うことにより、データを静止化する。静止化後、TMS−4V/SPは、二重化された一方のデータで運用を続け、他方のデータでスナップショットを生成する。これにより、TMS−4V/SPは、任意の時刻のデータをバックアップすることができる。 TMS-4V / SP described in Non-Patent Document 1 manages each data by duplicating the data by duplex writing by a pair device. When creating a snapshot, TMS-4V / SP temporarily stops receiving data update requests, stops changing the data, cancels duplication, and performs a single operation to staticize the data. . After the quiescence, TMS-4V / SP continues to operate with one of the duplicated data and generates a snapshot with the other data. Thereby, TMS-4V / SP can back up the data of arbitrary time.
データを二重化する一般的な方法は、不揮発性媒体上で二重にデータ管理する方法と、揮発性メモリ上と不揮発性媒体上とで二重にデータ管理する方法である。揮発性メモリ上で二重にデータ管理する方法は、すべてのサーバに多量のRAMを必要とし、コストが掛かるため一般的ではない。
データの流動性の高いシステムでは、単体サーバで見た場合、各データは揮発性メモリ上の一重化されているもののみである。このシステムでは、各データが二重化されていないため、スナップショットを作成するために、各データの静止化を行うことは困難である。
A general method of duplicating data is a method of managing data twice on a nonvolatile medium and a method of managing data twice on a volatile memory and a nonvolatile medium. The method of double data management on the volatile memory is not common because all servers require a large amount of RAM and are expensive.
In a system with high data fluidity, when viewed from a single server, each data is only a single data on a volatile memory. In this system, since each data is not duplicated, it is difficult to staticize each data in order to create a snapshot.
一重化で管理されたデータは、これらを更新できないようにロックすることで、スナップショットを収集可能である。しかし、この方法によれば、サーバは、すべてのデータのスナップショットを収集する間、データ更新をロックしなければならない。データのスナップショット収集には長時間を要する。よって、この方法は、随時データの更新が必要なシステムや、リアルタイム性が高くデータの更新を停止できないシステムに適用することはできない。 The data managed by unification can be collected by taking a snapshot by locking them so that they cannot be updated. However, according to this method, the server must lock data updates while collecting snapshots of all data. Data snapshot collection takes a long time. Therefore, this method cannot be applied to a system that needs to update data at any time or a system that has high real-time characteristics and cannot stop updating data.
本発明は、前記した問題を解決し、スナップショット作成のためのデータのロックを短時間で解除することが可能なデータ管理サーバのスナップショット作成システム、および、サーバクラスタのスナップショット作成システムを提供することを課題とする。 The present invention provides a snapshot creation system for a data management server and a snapshot creation system for a server cluster capable of solving the above-described problems and releasing the lock of data for creating a snapshot in a short time. The task is to do.
前記課題を解決するため、請求項1に記載の発明では、サーバクラスタのスナップショット作成システムは、複数台のデータ管理サーバと、振分サーバとを備えている。前記振分サーバは、外部からの要求を前記データ管理サーバに振り分ける振分部と、外部からの要求と前記データ管理サーバとの対応を示す振分表と、を備えている。前記データ管理サーバは、それぞれ、各データの収容位置を含むデータ管理テーブルを管理するテーブル管理部と、前記各データを管理するデータ管理部と、前記振分表と前記データ管理テーブルとを書込ロックしてスナップショットを作成したのちにロックを解除し、前記各データを書込ロックせずにスナップショットを作成するスナップショット作成部と、外部からの要求に基づいてデータの書込または参照を行うものであるデータ書込参照処理部と、前記各データ、前記データ管理テーブル、および、前記スナップショット作成部が作成したスナップショットデータを記憶する記憶部とを備える。
前記データ書込参照処理部は、前記スナップショット作成部のスナップショット作成中に、スナップショット作成開始時以降の未更新データに係る書込要求を外部から受信したならば、当該書込要求に係る未更新データをコピーする。前記データ書込参照処理部は更に、コピーしたデータに当該書込要求を行って更新後の属性を設定して更新後データとすると共に、当該書込要求に係る未更新データに更新前の属性を設定して更新前データとする。
In order to solve the above-mentioned problem, in the invention according to claim 1, the server cluster snapshot creation system includes a plurality of data management servers and a distribution server. The distribution server includes a distribution unit that distributes external requests to the data management server, and a distribution table that indicates correspondence between external requests and the data management server. Each of the data management servers writes a table management unit that manages a data management table including an accommodation position of each data, a data management unit that manages each data, the distribution table, and the data management table After creating a snapshot by locking, the lock is released, and the snapshot creation unit that creates a snapshot without writing and locking each data, and writing or referencing data based on an external request A data writing reference processing unit to be performed; and a storage unit for storing each data, the data management table, and snapshot data created by the snapshot creation unit.
If the data write reference processing unit receives a write request related to non-updated data after the start of snapshot creation during the snapshot creation of the snapshot creation unit, the data write reference processing unit relates to the write request. Copy unupdated data. The data write reference processing unit further makes a write request for the copied data and sets the updated attribute to be the updated data, and the unupdated attribute related to the write request is the attribute before the update. Is set as pre-update data.
このようにすることで、本発明によれば、スナップショット作成のためのデータのロックを短時間で解除することができる。 In this way, according to the present invention, data lock for creating a snapshot can be released in a short time.
請求項2に記載の発明では、前記データ書込参照処理部は、前記スナップショット作成部のスナップショット作成中に、外部からデータの参照要求を受信したならば、前記データ管理テーブルに基づいて、各データを参照する、ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システムとした。 In the second aspect of the present invention, if the data write reference processing unit receives a data reference request from outside during the snapshot creation of the snapshot creation unit, based on the data management table, 2. The server cluster snapshot creation system according to claim 1, wherein each data is referred to.
このように、データ書込参照処理部は、スナップショット作成中であっても、通常時と同様にデータ管理テーブルを参照することで、各データを参照できる。これにより、スナップショット作成に伴う時間計算量のオーバーヘッドを無くすことができる。 As described above, the data write reference processing unit can refer to each data by referring to the data management table in the same manner as in the normal time even during the creation of the snapshot. Thereby, the overhead of the time calculation amount accompanying snapshot creation can be eliminated.
請求項3に記載の発明では、前記スナップショット作成部は、スナップショット作成開始時以降の各未更新データおよび各更新前データを収集してスナップショットを作成する、ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システムとした。 According to a third aspect of the present invention, the snapshot creation unit collects each non-updated data and each pre-update data after the snapshot creation start time to create a snapshot. The server cluster snapshot creation system described in 1.
これにより、スナップショット作成部は、スナップショット作成開始時における各データを、すべてバックアップすることができる。 Thereby, the snapshot creation part can back up all the data at the time of starting snapshot creation.
請求項4に記載の発明では、前記スナップショット作成部は、スナップショット作成が終了したならば、前記各更新前データを削除し、各更新後データに未更新の属性を設定する、ことを特徴とする請求項3に記載のサーバクラスタのスナップショット作成システムとした。
The invention according to
これにより、各データ管理サーバ3は、通常時の空間計算量を削減し、データの管理により多くのリソースを割り当てることができる。
As a result, each
請求項5に記載の発明では、前記データ書込参照処理部は、前記スナップショット作成部のスナップショット作成中に、外部から未更新データの削除要求を受信したならば、当該削除要求に係る未更新データに更新前の属性を設定する、ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システムとした。
In the invention according to claim 5, if the data write reference processing unit receives a request for deleting unupdated data from the outside during the snapshot creation by the snapshot creation unit, the data write
このように、データ書込参照処理部は、スナップショット作成中かつ削除対象データの属性が未更新ならば、削除対象のデータを更新前集合に移動させている。これにより、データ管理サーバは、削除対象のデータを、スナップショット作成の対象としたまま、以降の書込更新処理の対象から外すことができる。 As described above, the data write reference processing unit moves the data to be deleted to the pre-update set when the snapshot is being created and the attribute of the data to be deleted is not updated. As a result, the data management server can remove the data to be deleted from the target of the subsequent write update processing while keeping the target of snapshot creation.
請求項6に記載の発明では、前記データ書込参照処理部は、前記スナップショット作成部のスナップショット作成中に、外部からデータの新規作成要求を受信したならば、当該新規作成要求に係るデータに更新後の属性を設定する、ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システムとした。 In the invention according to claim 6, if the data writing reference processing unit receives a new data creation request from the outside during the snapshot creation of the snapshot creation unit, the data related to the new creation request The server cluster snapshot creation system according to claim 1, wherein the updated attribute is set in.
このように、データ書込参照処理部は、スナップショット作成中には更新後集合にのみ新規作成データを作成し、更新前集合にはデータを作成していない。これにより、データ管理サーバは、スナップショット作成中に新規作成されたデータを、このスナップショット作成の対象外とすることができる。 As described above, the data write reference processing unit creates newly created data only in the updated set during snapshot creation, and does not create data in the pre-update set. Thereby, the data management server can exclude the data newly created during the creation of the snapshot from the target of the creation of the snapshot.
請求項7に記載の発明では、前記データ管理部は、前記記憶部に格納された第2データ管理テーブルに基づき、前記各データの属性を管理する、ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システムとした。 The invention according to claim 7, wherein the data management unit manages attributes of the data based on a second data management table stored in the storage unit. Server cluster snapshot creation system.
このように、データ管理サーバは、第2データ管理テーブルにより、スナップショット作成開始時点におけるデータを管理している。よって、データ管理サーバは、データ全体の二重化処理を行わず、更新されたデータのみを二重化するだけで、任意のタイミングのスナップショットを作成することができる。 As described above, the data management server manages the data at the snapshot creation start time by the second data management table. Therefore, the data management server can create a snapshot at an arbitrary timing by only duplicating updated data without duplicating the entire data.
請求項8に記載の発明では、スナップショット作成システムであるデータ管理サーバは、各データの収容位置を含むデータ管理テーブルを管理するテーブル管理部と、前記各データを管理するデータ管理部と、前記データ管理テーブルを書込ロックしてスナップショットを作成したのちにロックを解除し、前記各データを書込ロックせずにスナップショットを作成するスナップショット作成部と、外部からの要求に基づいてデータの書込または参照を行うものであるデータ書込参照処理部と、前記各データ、前記データ管理テーブル、および前記スナップショット作成部が作成したスナップショットデータを記憶する記憶部とを備える。
前記データ書込参照処理部は、前記スナップショット作成部のスナップショット作成中に、スナップショット作成開始時以降の未更新データに係る書込要求を外部から受信したならば、当該書込要求に係る未更新データをコピーする。前記データ書込参照処理部は更に、コピーしたデータに当該書込要求を行って更新後の属性を設定して更新後データとすると共に、当該書込要求に係る未更新データに更新前の属性を設定して更新前データとする。
In the invention according to claim 8, a data management server that is a snapshot creation system includes a table management unit that manages a data management table including an accommodation position of each data, a data management unit that manages each data, The data management table is write-locked to create a snapshot, then the lock is released, and the snapshot creation unit creates a snapshot without writing-locking each of the data, and data based on an external request A data writing reference processing unit for writing or referencing, and a storage unit for storing the respective data, the data management table, and snapshot data created by the snapshot creating unit.
If the data write reference processing unit receives a write request related to non-updated data after the start of snapshot creation during the snapshot creation of the snapshot creation unit, the data write reference processing unit relates to the write request. Copy unupdated data. The data write reference processing unit further makes a write request for the copied data and sets the updated attribute to be the updated data, and the unupdated attribute related to the write request is the attribute before the update. Is set as pre-update data.
このようにすることで、本発明によれば、スナップショット作成のためのデータのロックを短時間で解除することができる。 In this way, according to the present invention, data lock for creating a snapshot can be released in a short time.
本発明によれば、スナップショット作成のためのデータの更新ロックを短時間で解除することが可能なデータ管理サーバのスナップショット作成システム、および、サーバクラスタのスナップショット作成システムを提供可能である。 ADVANTAGE OF THE INVENTION According to this invention, the snapshot creation system of the data management server which can cancel | release the update lock of the data for snapshot creation in a short time, and the snapshot creation system of a server cluster can be provided.
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態におけるクラスタシステム1を示す概略の構成図である。
このクラスタシステム1は、振分サーバ2と、複数台のデータ管理サーバ3−1〜3−3と、スナップショット作成管理サーバ4とを含んで構成されるサーバクラスタのスナップショット作成システムである。以下、データ管理サーバ3−1〜3−3を特に区別しないときには、単にデータ管理サーバ3と記載している場合がある。また、各図では、データ管理サーバ3−1を「データ管理サーバ#1」、データ管理サーバ3−2を「データ管理サーバ#2」、データ管理サーバ3−3を「データ管理サーバ#3」と示している場合がある。
Next, modes for carrying out the present invention (referred to as “embodiments”) will be described in detail with reference to the drawings as appropriate.
(First embodiment)
FIG. 1 is a schematic configuration diagram showing a cluster system 1 in the first embodiment.
The cluster system 1 is a server cluster snapshot creation system including a
クラスタシステム1は、外部からデータ書込要求信号やデータ参照要求信号を受信すると、その要求に基づいて、データの書込処理やデータの参照処理を行うものである。クラスタシステム1は、外部に対しては、多量のデータを管理する単一のデータ管理サーバ3のように振る舞う。クラスタシステム1は更に、外部からスナップショット作成要求信号を受信すると、その要求に基づいて、データのスナップショットを作成する。
When the cluster system 1 receives a data write request signal or a data reference request signal from the outside, the cluster system 1 performs data write processing or data reference processing based on the request. The cluster system 1 behaves like a single
振分サーバ2は、外部装置(不図示)に対するフロントエンドであり、外部装置(不図示)からデータ書込要求信号やデータ参照要求信号を代理して受け付けて、データ管理サーバ3−1〜3−3のいずれかに振り分けて転送するものである。振分サーバ2は、各要求信号をデータ管理サーバ3−1〜3−3のいずれかに振り分ける振分部21と、各要求信号と、この要求信号の振り分け先との対応を示す振分表22とを含んで構成されている。
The
データ管理サーバ3−1〜3−3は、それぞれデータ書込参照処理部31と、テーブル管理部32と、データ管理部33と、記憶部34と、スナップショット作成部35とを含んで構成されている。データ管理サーバ3−1〜3−3は、振分サーバ2により振り分けられた各要求信号に基づいて、格納するデータの書込処理や参照処理を行うものである。
データ書込参照処理部31は、受信した各データ書込要求信号やデータ参照要求信号を処理するものである。データ書込参照処理部31は、スナップショット作成中に、スナップショット作成開始時以降の未更新データに係る書込要求を外部から受信したならば、この書込要求に係る未更新データをコピーし、コピーしたデータに書込要求を行って更新後の属性を設定して更新後データとする。データ書込参照処理部31は、更に、この書込要求に係る未更新データに更新前の属性を設定して更新前データとする。
The data management servers 3-1 to 3-3 each include a data write
The data write
テーブル管理部32は、後記するデータ管理テーブル341や、第2データ管理テーブル342を管理するものである。データ管理テーブル341や、第2データ管理テーブル342は、各データの収容位置の情報を含んでいる。テーブル管理部32は、各要求信号が含んでいる処理対象データのキー名に基づき、この処理対象データの収容位置を応答する。
The
データ管理部33は、各データを管理するものである。データ管理部33は、処理対象データの収容位置に基づき、この処理対象データの書込処理や参照処理を行う。
記憶部34は、データ管理テーブル341と、第2データ管理テーブル342と、データ343と、スナップショットデータ344とを記憶している。記憶部34は、揮発性メモリで構成されているので、各データや各テーブルへの書込や参照を短時間に行うことができる。
The
The storage unit 34 stores a data management table 341, a second data management table 342,
データ管理テーブル341は、各データのキー値と、各データの収容位置などの情報との関係を格納するものである。第2データ管理テーブル342は、データ管理テーブル341と同様の情報に加えて、各データの属性の情報を格納するものである。データ343は、処理対象の各データ本体である。スナップショットデータ344は、任意の時刻におけるデータ管理テーブル341とデータ343のスナップショットである。
The data management table 341 stores the relationship between the key value of each data and information such as the accommodation position of each data. The second data management table 342 stores attribute information of each data in addition to the same information as the data management table 341.
スナップショット作成部35は、外部から受信したスナップショット作成要求信号に応じて、当該データ管理サーバ3が格納するデータ管理テーブル341とデータ343のスナップショットを作成するものである。スナップショット作成部35は、振分表22とデータ管理テーブル341とを書込ロックしてスナップショットを作成したのちに、この書込ロックを解除し、データ343を書込ロックせずにスナップショットを作成する。
The
スナップショット作成管理サーバ4は、スナップショット作成統括部41を含んで構成されている。スナップショット作成管理サーバ4は、外部に対するフロントエンドである。スナップショット作成管理サーバ4は、スナップショット作成統括部41により、外部からスナップショット作成要求信号を代理して受け付けて、各データ管理サーバ3−1〜3−3に転送するものである。
The snapshot
図2は、通常時のデータ処理を示すシーケンス図である。
(データ参照要求信号に対する処理)
不図示の外部装置から、振分サーバ2にデータ参照要求信号が送信されたならば、シーケンスQ10〜Q19に示す処理が開始する。なお、以下のシーケンス図では、データ参照要求信号のことをデータ参照要求と略し、データ書込要求信号のことをデータ書込要求と略している。
シーケンスQ10において、振分サーバ2の振分部21は、不図示の外部装置から、データ参照要求信号を受信する。更に振分部21は、データ管理サーバ#1〜#3のうち、どのデータ管理サーバ3が格納するデータへの参照かを判断する。振分部21は、既に振り分けたデータが処理対象ならば、振分表22に基づいて、振分対象のデータ管理サーバ3を特定する。
シーケンスQ11において、振分サーバ2の振分部21は、データ管理サーバ#1〜#3のうちいずれか該当するものに、データ参照要求信号を振り分ける。振り分けたデータ参照要求信号は、該当するデータ管理サーバ3のデータ書込参照処理部31が受信する。
FIG. 2 is a sequence diagram showing normal data processing.
(Processing for data reference request signal)
If a data reference request signal is transmitted from the external device (not shown) to the
In sequence Q10, the
In sequence Q11, the
シーケンスQ12において、データ書込参照処理部31は、テーブル管理部32に、このデータ参照要求信号が含んだキー値に対応する処理対象データの収容位置を問い合わせる。この問い合わせは、テーブル管理部32に入力される。
シーケンスQ13において、テーブル管理部32は、入力されたキー値に基づいてデータ管理テーブル341を検索し、キー値に対応するデータの収容位置を取得する。
シーケンスQ14において、テーブル管理部32は、データ書込参照処理部31に、このデータ参照要求信号が含んだキー値に対応するデータの収容位置を応答する。この収容位置の応答は、データ書込参照処理部31に入力される。
In sequence Q12, the data write
In sequence Q13, the
In sequence Q14, the
シーケンスQ15において、データ書込参照処理部31は、データ管理部33に、このデータ参照要求信号と、処理対象データの収容位置とを通知する。この通知は、データ管理部33に入力される。
シーケンスQ16において、データ管理部33は、処理対象データの収容位置に基づき、処理対象データを参照する。
In sequence Q15, the data write
In sequence Q16, the
シーケンスQ17において、データ管理部33は、データ書込参照処理部31に、この処理対象データの参照結果を応答する。この参照結果の応答は、データ書込参照処理部31に入力される。
シーケンスQ18において、データ書込参照処理部31は、振分サーバ2の振分部21に、この処理対象データの参照結果を応答する。この参照結果の応答は、振分部21によって受信される。
シーケンスQ19において、振分サーバ2の振分部21は、データ書込要求信号の送信元である不図示の外部装置に、この処理対象データの参照結果を応答する。これにより、データ参照要求信号に対する処理を終了する。
In sequence Q17, the
In sequence Q <b> 18, the data write
In sequence Q19, the allocating
(データ書込要求信号に対する処理)
不図示の外部装置から、振分サーバ2にデータ書込要求信号が送信されたならば、シーケンスQ20〜Q29に示す処理が開始する。シーケンスQ20〜Q29の処理は、前記したシーケンスQ10〜Q19の処理とは異なり、処理種別がデータ参照ではなくデータ書込である。なお、データの書込とは、データの更新、データの新規作成、データの削除の3通りの処理のいずれかである。
シーケンスQ20において、振分サーバ2の振分部21は、不図示の外部装置から、データ書込要求信号を受信する。振分部21は、データ管理サーバ#1〜#3のうち、どのデータ管理サーバ3が格納するデータへの書込みかを判断する。振分部21は、既に振り分けたデータが処理対象ならば、振分表22に基づいて、振分対象のデータ管理サーバ3を特定する。振分部21は、未だ振り分けていないデータが処理対象ならば、ハッシュ関数によって振分対象のデータ管理サーバ3を特定し、特定したデータ管理サーバ3とデータとの関係を振分表22に記録する。
(Processing for data write request signal)
When a data write request signal is transmitted from the external device (not shown) to
In sequence Q20, the sorting
シーケンスQ21において、振分サーバ2の振分部21は、データ管理サーバ#1〜#3のうちいずれか該当するものに、データ書込要求信号を振り分ける。振り分けたデータ書込要求信号は、該当するデータ管理サーバ3のデータ書込参照処理部31が受信する。
In sequence Q21, the
シーケンスQ22において、データ書込参照処理部31は、テーブル管理部32に、このデータ書込要求信号が含んだキー値に対応する処理対象データの収容位置を問い合わせる。この問い合わせは、テーブル管理部32に入力される。
シーケンスQ23において、テーブル管理部32は、このキー値に基づいてデータ管理テーブル341を検索し、キー値に対応するデータの収容位置を取得する。
シーケンスQ24において、テーブル管理部32は、データ書込参照処理部31に、このデータ書込要求信号が含んだキー値に対応するデータの収容位置を応答する。この収容位置の応答は、データ書込参照処理部31に入力される。
In sequence Q22, the data write
In sequence Q23, the
In sequence Q24, the
シーケンスQ25において、データ書込参照処理部31は、データ管理部33に、このデータ書込要求信号と、処理対象データの収容位置とを通知する。この通知は、データ管理部33に入力される。
シーケンスQ26において、データ管理部33は、処理対象データの収容位置に基づき、処理対象データに書込を行う。
In sequence Q25, the data write
In sequence Q26, the
シーケンスQ27において、データ管理部33は、データ書込参照処理部31に、この処理対象データの書込結果を応答する。この書込結果の応答は、データ書込参照処理部31に入力される。
シーケンスQ28において、データ書込参照処理部31は、振分サーバ2の振分部21に、この処理対象データの書込結果を応答する。この書込結果の応答は、振分部21によって受信される。
シーケンスQ29において、振分サーバ2の振分部21は、不図示の外部装置に、この処理対象データの書込結果を応答する。この書込結果の応答は、データ書込要求信号の送信元である不図示の外部装置によって受信される。これにより、データ書込要求信号に対する処理は終了する。
In sequence Q27, the
In sequence Q28, the data write
In sequence Q29, the allocating
図3と図4とは、スナップショット作成処理を示すシーケンス図である。図3は、スナップショット作成処理のシーケンスQ40〜Q61を示している。図4は、図3に続いてスナップショット作成処理のシーケンスQ62〜Q66を示している。
不図示の外部端末から、スナップショット作成管理サーバ4にスナップショット作成要求信号が送信されたならば、シーケンスQ40〜Q66に示すスナップショット作成処理が開始する。
3 and 4 are sequence diagrams showing snapshot creation processing. FIG. 3 shows a sequence Q40 to Q61 of the snapshot creation process. FIG. 4 shows a sequence Q62 to Q66 of snapshot creation processing following FIG.
If a snapshot creation request signal is transmitted from an external terminal (not shown) to the snapshot
シーケンスQ40において、スナップショット作成管理サーバ4のスナップショット作成統括部41は、不図示の外部端末から、スナップショット作成要求信号を受信する。
シーケンスQ41において、スナップショット作成管理サーバ4のスナップショット作成統括部41は、振分サーバ2に、振分表22のロック指示を送信する。この振分表22のロック指示は、振分サーバ2の振分部21によって受信される。
シーケンスQ42において、振分部21は、振分表22の書込をロックする。
シーケンスQ43において、振分部21は、スナップショット作成管理サーバ4に、振分表22の書込のロックが完了したことを示すロック完了応答を返信する。このロック完了応答は、スナップショット作成管理サーバ4のスナップショット作成統括部41によって受信される。
In sequence Q40, the snapshot
In sequence Q <b> 41, the snapshot
In sequence Q42, the
In sequence Q43, the allocating
シーケンスQ44において、スナップショット作成統括部41は、クラスタシステム1を構成する各データ管理サーバ3に、テーブルロック指示を送信する。これらのテーブルロック指示は、各データ管理サーバ3のスナップショット作成部35によって受信される。この処理は、各データ管理サーバ3の台数分だけ繰り返される。
In sequence Q44, the snapshot
シーケンスQ45において、スナップショット作成部35は、テーブル管理部32に、データ管理テーブル341のロック指示を通知する。このロック指示は、各テーブル管理部32に入力される。
シーケンスQ46において、テーブル管理部32は、データ管理テーブル341の書込をロックする。
シーケンスQ47において、テーブル管理部32は、スナップショット作成部35に、データ管理テーブル341のロック完了応答を返す。このロック完了応答は、スナップショット作成部35に返される。なお、このシーケンスQ47は、テーブル管理部32の書込ロックが成功したときのものである。
In sequence Q45, the
In sequence Q46, the
In sequence Q47, the
なお、図3と図4とに示す動作例は、データ管理テーブル341全体の書込ロックを行うものである。しかし、これに限られず、データ管理サーバ3は、データ管理テーブル341の一部の書込ロック、あるいは読取・書込ロックなどを行ってもよい。更にデータ管理サーバ3は、スナップショット作成管理サーバ4から受信したスナップショット作成要求信号のパラメータにより、どのようなロックを行うかを選択してもよい。
シーケンスQ48において、スナップショット作成部35は、スナップショット作成管理サーバ4に、テーブルロック完了応答を返す。この処理は、各データ管理サーバ3の台数分だけ繰り返される。このテーブルロック完了応答は、スナップショット作成統括部41によって受信される。
シーケンスQ49において、スナップショット作成統括部41は、クラスタシステム1のすべてのデータ管理サーバ3から、テーブルロック完了応答が返っているかチェックする(応答チェック)。すべてのデータ管理サーバ3からテーブルロック完了応答が返っていたならば、振分サーバ2の振分部21は、シーケンスQ50以下の処理を行う。
In the operation example shown in FIGS. 3 and 4, the entire data management table 341 is write-locked. However, the present invention is not limited to this, and the
In sequence Q48, the
In sequence Q49, the snapshot
シーケンスQ50において、スナップショット作成統括部41は、振分サーバ2に、振分表22のコピー指示を送信する。このコピー指示は、振分部21によって受信される。ここで振分表22のコピーとは、振分表22を二重化して静止化することにより、スナップショットを作成することをいう。
シーケンスQ51において、振分部21は、振分表22のコピーを実行してスナップショットを作成する。
シーケンスQ52において、振分部21は、振分表22の書込ロックを解除する。
シーケンスQ53において、振分部21は、スナップショット作成管理サーバ4にコピー完了応答を返す。このコピー完了応答は、スナップショット作成統括部41によって受信される。
In sequence Q <b> 50, the snapshot
In sequence Q51, the
In sequence Q52, the allocating
In sequence Q53, the
シーケンスQ54において、スナップショット作成統括部41は、各データ管理サーバ3に、スナップショット作成指示を送信する。この処理は、各データ管理サーバ3の台数分だけ繰り返される。このスナップショット作成指示は、スナップショット作成部35によって受信される。
シーケンスQ55において、スナップショット作成部35は、テーブル管理部32に、データ管理テーブル341のコピー指示を通知する。このコピー指示は、テーブル管理部32に入力される。
シーケンスQ56において、テーブル管理部32は、データ管理テーブル341をコピーしてスナップショットを作成する。以下のシーケンスは、テーブル管理部32によるコピーが成功した場合のものである。
In sequence Q54, the snapshot
In sequence Q55, the
In sequence Q56, the
シーケンスQ57において、テーブル管理部32は、データ管理テーブル341に基づいて第2データ管理テーブル342を作成する。すなわち、テーブル管理部32は、データ管理テーブル341をコピーし、更に属性欄342n(図5(b)参照)を追加することにより、第2データ管理テーブル342を作成する。
シーケンスQ58において、テーブル管理部32は、データ管理テーブル341の書込ロックを解除する。
シーケンスQ59において、テーブル管理部32は、スナップショット作成部35にコピー完了応答を返す。このコピー完了応答は、スナップショット作成部35に入力される。
In sequence Q57, the
In sequence Q58, the
In sequence Q59, the
シーケンスQ60において、スナップショット作成部35は、スナップショット作成管理サーバ4にコピー指示受信応答を返す。このコピー指示受信応答は、スナップショット作成統括部41によって台数分だけ受信される。このコピー指示受信応答は、一次的な応答であり、各データ管理サーバ3は、継続してスナップショットを作成する。
シーケンスQ61において、スナップショット作成統括部41は、コピー指示受信応答が、すべてのデータ管理サーバ3から返っているがチェックする。シーケンスQ61の処理が終了すると、図4のシーケンスQ62の処理が行われる。
In sequence Q60, the
In sequence Q61, the snapshot
図4に示すように、シーケンスQ62において、スナップショット作成部35は、テーブル管理部32と連携してスナップショット作成中処理を行い、スナップショットを作成する。スナップショット作成中処理は、後記する図11で詳細に説明する。
シーケンスQ63において、スナップショット作成部35は、テーブル管理部32と連携して、スナップショット作成後処理を行う。スナップショット作成後処理は、後記する図12で詳細に説明する。
As shown in FIG. 4, in sequence Q62, the
In sequence Q63, the
シーケンスQ64において、スナップショット作成部35は、スナップショット作成管理サーバ4にスナップショット作成応答を返す。このスナップショット作成応答は、スナップショット作成統括部41によって、データ管理サーバ3の台数分だけ受信される。
シーケンスQ65において、スナップショット作成統括部41は、クラスタシステム1のすべてのデータ管理サーバ3から、スナップショット作成応答が返っているかチェックする。
シーケンスQ66において、スナップショット作成統括部41は、不図示の外部端末に、スナップショット作成応答を返す。この不図示の外部端末は、シーケンスQ40においてスナップショット作成要求信号を送信したものと同一である。
In sequence Q <b> 64, the
In sequence Q65, the snapshot
In sequence Q66, the snapshot
これらシーケンスQ40〜Q66の処理により、クラスタシステム1は、振分表22のロックとデータ管理テーブル341のロックのみで、振分表22とデータ管理テーブル341とデータ343のスナップショットを作成することができる。振分表22とデータ管理テーブル341のデータ量は、データ343と比べると極めて小さいので、これらのコピーは短時間で終了する。これにより、クラスタシステム1は、短時間のロックにより多量のデータのスナップショットを作成することができる。
Through the processing of these sequences Q40 to Q66, the cluster system 1 can create a snapshot of the distribution table 22, the data management table 341, and the
図5(a),(b)は、データ管理テーブル341と第2データ管理テーブル342を示す図である。
図5(a)は、データ管理テーブル341を示している。
データ管理テーブル341は、キー値欄341aと、収容位置欄341bと、それ以外の欄とを含んでいる。
5A and 5B are diagrams showing the data management table 341 and the second data management table 342. FIG.
FIG. 5A shows the data management table 341.
The data management table 341 includes a
キー値欄341aは、データにアクセスするときのキー値を格納する欄であり、「#A」、「#B」、…のキー値が格納されている。「#A」のキー値により、対応するデータAにアクセスすることができる。データ書込要求信号やデータ参照要求信号には、これらのキー値が格納されており、キー値に対応するデータを処理することを示している。
収容位置欄341bは、データにアクセスするための収容位置を格納する欄であり、各データのアドレスが格納されている。これらの収容位置により、各データ本体にアクセスすることができる。
The
The
図5(b)は、第2データ管理テーブル342を示している。
第2データ管理テーブル342は、データ管理テーブル341と同様なキー値欄342aと、収容位置欄342bと、それ以外の欄とを含み、更に属性欄342nを含んでいる。この第2データ管理テーブル342は、スナップショット作成開始時点におけるデータ管理テーブル341をコピーして作成される。
属性欄342nは、各データの属性が格納される欄であり、「未更新」と「更新前」と「更新後」の属性が格納されている。
FIG. 5B shows the second data management table 342.
The second data management table 342 includes a
The
属性欄342nの属性が「未更新」ならば、対応するデータ本体は、スナップショット作成開始時点から更新されていないことを示している。
属性欄342nの属性が「更新前」ならば、対応するデータ本体は、スナップショット作成開始時点のものであり、かつ、当該データに対する更新処理が行われたことを示している。
属性欄342nの属性が「更新後」ならば、対応するデータ本体は、更新後のものであり、対応する更新前のデータが存在することを示している。
このように、データ管理サーバ3は、第2データ管理テーブル342により、スナップショット作成開始時点におけるデータを管理している。よって、データ管理サーバ3は、二重化処理を行うことなく、任意の時刻におけるスナップショットを作成することができる。
If the attribute in the
If the attribute in the
If the attribute in the
As described above, the
図6は、スナップショット作成動作とデータ更新動作とを示す図である。
図6に示すように、データ343の各データは、スナップショット作成中にコピーされれて更新された「更新後データ」と、スナップショット作成開始時から更新されていない「未更新データ」と、更新後データに係るコピー元である「更新前データ」の3つの集合に、論理的に分けられている。
データA,C,Eは、スナップショット作成開始時から更新されていない「未更新データ」である。データB,Dは、スナップショット作成中に外部から書込要求を受けたもののうち、スナップショット作成開始時における元データかつ「更新前データ」である。データB2,D2は、「更新後データ」であり、スナップショット作成開始時におけるデータB,Dをそれぞれ更新したものである。
FIG. 6 is a diagram illustrating a snapshot creation operation and a data update operation.
As shown in FIG. 6, each piece of
Data A, C, and E are “unupdated data” that has not been updated since the start of snapshot creation. The data B and D are the original data and “pre-update data” at the start of the snapshot creation among the data received from the outside during the snapshot creation. Data B2 and D2 are “updated data”, which are data B and D updated at the start of snapshot creation.
各データA,B,C,…は、第2データ管理テーブル342の属性欄342n(図5(b)参照)によって管理される。この第2データ管理テーブル342は、スナップショット作成部35によるスナップショット作成動作に用いられる。スナップショット作成部35は、テーブル管理部32およびデータ管理部33により、データ343の各データにアクセスすることができる。スナップショット作成部35から更新前データと未更新データとに伸びる一点鎖線の矢印は、スナップショット作成動作に係る更新前データと未更新データへのアクセスを示している。
Each data A, B, C,... Is managed by the
それに対してデータ管理テーブル341は、データ書込参照処理部31によるデータ参照動作に用いられる。データ書込参照処理部31は、テーブル管理部32およびデータ管理部33により、データ343の各データにアクセスすることができる。データ書込参照処理部31から更新後データと未更新データとに伸びる一点鎖線の矢印は、データ参照動作に係る更新後データと未更新データへのアクセスを示している。
このように、データ書込参照処理部31とスナップショット作成部35とは、それぞれ別のテーブルを参照して各データにアクセスしている。よって、データ書込参照処理部31によるデータ参照と並行して、スナップショット作成部35は、スナップショット作成動作を行うことができる。
On the other hand, the data management table 341 is used for a data reference operation by the data write
As described above, the data write
図7は、データ書込参照処理を示すフローチャートである。
各データ管理サーバ3のデータ書込参照処理部31が、外部からの要求信号を受信すると、図7に示すデータ書込参照処理が開始する。
ステップS10において、データ書込参照処理部31は、受信した要求信号の処理種別を判断する。
FIG. 7 is a flowchart showing the data writing reference process.
When the data write
In step S10, the data write
データ書込参照処理部31は、処理種別が参照ならば、ステップS11の処理を行う。
ステップS11において、データ書込参照処理部31は、原本であるデータ管理テーブル341に基づいて該当データを参照する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32により該当データの収容位置を取得し、データ管理部33により該当データを参照する。データ書込参照処理部31は、ステップS11の処理が終了すると、図7の処理を終了する。
If the process type is a reference, the data write
In step S11, the data write
データ管理テーブル341で管理されているのは、更新前集合と更新後集合に含まれるデータである。よって、外部からの参照要求が含むキー値に基づき、データ管理テーブル341を参照することにより該当データの収容位置を取得可能である。また、スナップショット作成部35は、これとは別のテーブルである第2データ管理テーブル342を参照することにより、スナップショットを作成している。これにより、スナップショット作成部35は、データ343を書込ロックすることなく、スナップショットを作成することができる。
What is managed by the data management table 341 is data included in the pre-update set and the post-update set. Accordingly, the accommodation position of the corresponding data can be acquired by referring to the data management table 341 based on the key value included in the reference request from the outside. The
データ書込参照処理部31は、処理種別が更新ならば、ステップS12のデータ更新処理を行い、図7の処理を終了する。データ更新処理は、後記する図8で詳細に説明する。
データ書込参照処理部31は、処理種別が新規作成ならば、ステップS13の新規作成処理を行い、図7の処理を終了する。新規作成処理は、後記する図9で詳細に説明する。
データ書込参照処理部31は、処理種別が削除ならば、ステップS14のデータ削除処理を行い、図7の処理を終了する。データ削除処理は、後記する図10で詳細に説明する。
If the process type is update, the data write
If the process type is a new creation, the data write
If the processing type is deletion, the data write
図8は、データ更新処理を示すフローチャートである。
各データ管理サーバ3のデータ書込参照処理部31が外部からのデータ更新要求信号を受信すると、図8に示すデータ更新処理が開始する。
ステップS30において、データ書込参照処理部31は、スナップショット作成中であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS31の処理を行い、当該判断条件が成立したならば(Yes)、ステップS32の処理を行う。
FIG. 8 is a flowchart showing data update processing.
When the data write
In step S30, the data write
ステップS31において、データ書込参照処理部31は、該当データを更新する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32により該当データの収容位置を取得し、データ管理部33により該当データにアクセスする。データ書込参照処理部31は、ステップS31の処理が終了したならば、図8の処理を終了する。
In step S31, the data write
ステップS32において、データ書込参照処理部31は、該当データの属性は「未更新」であるか否かを判断する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32により該当データの属性を取得し、「未更新」であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS33の処理を行い、当該判断条件が成立したならば(Yes)、ステップS34の処理を行う。
In step S32, the data writing
ステップS33において、データ書込参照処理部31は、「更新後」属性の該当データを更新する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32によりデータ管理テーブル341を参照して更新後データの収容位置を取得し、データ管理部33により更新後データを更新する。データ書込参照処理部31は、ステップS33の処理が終了したならば、図8の処理を終了する。
In step S <b> 33, the data write
ステップS34〜S39の処理は、スナップショット作成中かつ該当データの属性が未更新の場合の処理である。
ステップS34において、データ書込参照処理部31は、該当データをコピーする。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32によりデータ管理テーブル341を参照して収容位置を取得し、データ書込参照処理部31は更に、取得した収容位置に基づき、データ管理部33により記憶部34に該当データサイズの領域を取得したのち、取得した領域に該当データをコピーする。
ステップS35において、データ書込参照処理部31は、第2データ管理テーブル342にコピーしたデータの参照情報を登録する。すなわち、データ書込参照処理部31は、テーブル管理部32により、コピーしたデータのレコードを第2データ管理テーブル342に作成する。データ書込参照処理部31は更に、このレコードのキー値欄342aをコピー元データのキー値に設定し、その収容位置欄342bをコピーしたデータのアドレスに書き換える。
The processing in steps S34 to S39 is processing when a snapshot is being created and the attribute of the corresponding data is not updated.
In step S34, the data write
In step S35, the data write
ステップS36において、データ書込参照処理部31は、コピーしたデータに、「更新後」属性を設定する。データ書込参照処理部31は、テーブル管理部32により、コピーしたデータに係る第2データ管理テーブル342のレコードを参照し、その属性欄342nを「更新後」に設定する。
ステップS37において、データ書込参照処理部31は、データ管理部33により、コピーしたデータを更新する。
In step S <b> 36, the data write
In step S <b> 37, the data write
ステップS38において、データ書込参照処理部31は、テーブル管理部32により、該当データに係るデータ管理テーブル341の上の収容位置を、コピーしたデータのアドレスに書き換える。すなわち、データ書込参照処理部31は、テーブル管理部32により、該当データに係るデータ管理テーブル341のレコードを参照し、その収容位置欄341bに、コピーしたデータのアドレスを設定する。
ステップS39において、データ書込参照処理部31は、該当データのコピー元データに「更新前」属性を設定する。データ書込参照処理部31は、テーブル管理部32により、第2データ管理テーブル342の該当データのコピー元データに係るレコードを参照し、その属性欄342nを「更新前」に設定する。データ書込参照処理部31は、ステップS39の処理が終了したならば、図8の処理を終了する。
In step S <b> 38, the data write
In step S39, the data write
このように、データ書込参照処理部31は、スナップショット作成中の「未更新」属性のデータの更新に限り、その処理対象データを更新前データと更新後データとに二重化している。これにより、データ管理サーバ3は、データの二重化に伴う時間計算量と空間計算量とを削減することができる。
As described above, the data write
図9は、データの新規作成処理を示すフローチャートである。
各データ管理サーバ3のデータ書込参照処理部31が、外部からのデータ新規作成要求信号を受信すると、図9に示すデータの新規作成処理が開始する。
ステップS40において、データ書込参照処理部31は、データを新規に作成する。すなわち、データ書込参照処理部31は、データ管理部33によりデータと、データのキー値とを新規に作成する。
ステップS41において、データ書込参照処理部31は、データ管理テーブル341と第2データ管理テーブル342に新規作成データの参照情報を登録する。すなわち、データ書込参照処理部31は、テーブル管理部32により、データ管理テーブル341と第2データ管理テーブル342に新規作成データに係るレコードを作成する。データ書込参照処理部31は、そのレコードのキー値欄341aに新規に作成したキー値を設定し、そのレコードの収容位置欄341bに新規作成データのアドレスを設定する。
ステップS42において、データ書込参照処理部31は、スナップショット作成中であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS43の処理を行い、当該判断条件が成立したならば(Yes)、ステップS44の処理を行う。
FIG. 9 is a flowchart showing a new data creation process.
When the data writing
In step S40, the data write
In step S <b> 41, the data write
In step S42, the data write
ステップS43において、データ書込参照処理部31は、新規作成データに「未更新」属性を設定する。すなわち、データ書込参照処理部31は、テーブル管理部32により、新規作成データに係る第2データ管理テーブル342のレコードを参照し、その属性欄342nを「未更新」に設定する。データ書込参照処理部31は、ステップS43の処理が終了したならば、図9の処理を終了する。
ステップS44において、データ書込参照処理部31は、新規作成データに「更新後」属性を設定する。すなわち、データ書込参照処理部31は、テーブル管理部32により、新規作成データに係る第2データ管理テーブル342のレコードを参照し、その属性欄342nを「更新後」に設定する。データ書込参照処理部31は、ステップS44の処理が終了したならば、図9の処理を終了する。
In step S43, the data write
In step S44, the data writing
このように、データ書込参照処理部31は、スナップショット作成中には、更新後集合にのみ新規作成データを作成し、更新前集合にはデータを作成していない。これにより、データ管理サーバ3は、スナップショット作成中に新規作成されたデータを、このスナップショット作成の対象外とすることができる。
In this way, the data write
図10は、データ削除処理を示すフローチャートである。
各データ管理サーバ3のデータ書込参照処理部31が、外部からのデータ削除要求信号を受信すると、図10に示すデータ削除処理が開始する。
ステップS50において、データ書込参照処理部31は、スナップショット作成中であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS51の処理を行い、当該判断条件が成立したならば(Yes)、ステップS52の処理を行う。
FIG. 10 is a flowchart showing data deletion processing.
When the data write
In step S50, the data write
ステップS51において、データ書込参照処理部31は、該当データを削除する。データ書込参照処理部31は、データ削除要求信号が含むキー値に基づいて、テーブル管理部32により処理対象データの収容位置を取得し、データ管理部33により処理対象データを削除する。データ書込参照処理部31は、ステップS51の処理が終了したならば、ステップS54の処理を行う。
In step S51, the data write
ステップS52において、データ書込参照処理部31は、該当データの属性は「未更新」であるか否かを判断する。データ書込参照処理部31は、データ削除要求信号が含むキー値に基づいて、テーブル管理部32により処理対象データの属性を取得し、「未更新」であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS53の処理を行い、当該判断条件が成立したならば(Yes)、ステップS55の処理を行う。
In step S52, the data writing
ステップS53において、データ書込参照処理部31は、「更新後」属性の該当データを削除する。データ書込参照処理部31は、テーブル管理部32により、データ管理テーブル341に基づいて更新後データの収容位置を取得し、データ管理部33により処理対象データの格納領域を解放して、この処理対象データを削除する。データ書込参照処理部31は、ステップS53の処理が終了したならば、ステップS54の処理を行う。
In step S <b> 53, the data write
ステップS54において、データ書込参照処理部31は、第2データ管理テーブル342の該当データの参照情報(レコード)を削除する。データ書込参照処理部31は、ステップS54の処理が終了したならば、ステップS56の処理を行う。
ステップS55において、データ書込参照処理部31は、該当データに「更新前」属性を設定する。データ書込参照処理部31は、テーブル管理部32により、第2データ管理テーブル342の該当データに係るレコードを特定し、その属性欄342nに「更新前」属性を設定する。データ書込参照処理部31は、ステップS55の処理が終了したならば、ステップS56の処理を行う。
ステップS56において、データ書込参照処理部31は、データ管理テーブル341の該当データの参照情報(レコード)を削除する。データ書込参照処理部31は、ステップS56の処理が終了したならば、図10の処理を終了する。
In step S54, the data write
In step S55, the data writing
In step S56, the data writing
このように、データ書込参照処理部31は、スナップショット作成中かつ削除対象データの属性が未更新ならば、削除対象データを更新前集合に移動させ、かつデータ管理テーブル341の削除対象データの参照情報(レコード)を削除する。これにより、データ管理サーバ3は、削除対象データを、スナップショット作成の対象としたまま、以降の書込更新処理の対象から除外することができる。
データ書込参照処理部31は、スナップショット作成中かつ削除対象データの属性が未更新でないならば、削除対象データの更新後データのみを削除し、更新前データを残している。更にデータ書込参照処理部31は、スナップショット作成中には、データ管理テーブル341から削除対象データの参照情報(レコード)を削除している。これにより、データ管理サーバ3は、削除対象データを、以降の書込更新処理の対象から除外することができる。
In this way, the data writing
If the snapshot is being created and the attribute of the deletion target data is not unupdated, the data write
図11は、スナップショット作成中処理を示すフローチャートである。
スナップショット作成部35は、テーブル管理部32からコピー完了応答が入力されたならば、スナップショット作成中処理を開始する。
ステップS60〜S63において、スナップショット作成部35は、第2データ管理テーブル342のすべてのレコードについて処理を繰り返す。
FIG. 11 is a flowchart showing a snapshot creation process.
When a copy completion response is input from the
In steps S60 to S63, the
ステップS61において、スナップショット作成部35は、テーブル管理部32により、当該レコードの属性欄342nを参照し、「未更新」または「更新前」であるか否かを判断する。スナップショット作成部35は、当該判断条件が成立したならば(Yes)、ステップS62の処理を行い、当該判断条件が成立しなかったならば(No)、ステップS63の処理を行う。
In step S61, the
ステップS62において、スナップショット作成部35は、データ管理部33により、当該レコードに係るデータを、スナップショットデータ344に収集する。
ステップS63において、スナップショット作成部35は、第2データ管理テーブル342のすべてのレコードについて処理を繰り返したか否かを判断する。スナップショット作成部35は、当該判断条件が成立しなかったならば、ステップS60の処理に戻り、当該判断条件が成立したならば、図11の処理を終了する。
In step S <b> 62, the
In step S63, the
スナップショット作成部35は、第2データ管理テーブル342に係る各データのうち、未更新集合と更新前集合に含まれるデータを取得して、スナップショットデータ344に収集している。未更新集合は、スナップショット作成開始時以降において更新されていないデータの集合である。更新前集合は、スナップショット作成中にコピーされて更新されたデータに係る、コピー元のデータの集合である。
これにより、スナップショット作成部35は、スナップショット作成開始時におけるデータを、すべてバックアップすることができる。
The
Thereby, the
図12は、スナップショット作成後処理を示すフローチャートである。
スナップショット作成部35は、図11に示すスナップショット作成中処理が終了したならば、スナップショット作成後処理を開始する。
ステップS70〜S73において、スナップショット作成部35は、第2データ管理テーブル342のすべてのレコードについて処理を繰り返す。
FIG. 12 is a flowchart showing post-snapshot creation processing.
When the snapshot creation process shown in FIG. 11 is completed, the
In steps S70 to S73, the
ステップS71において、スナップショット作成部35は、当該レコードの属性欄342nを判断する。スナップショット作成部35は、テーブル管理部32により、当該レコードの属性欄342nを参照する。スナップショット作成部35は、属性欄342nが「更新前」ならばステップS72の処理を行い、属性欄342nが「更新後」ならばステップS74の処理を行い、属性欄342nが「未更新」ならばステップS75の処理を行う。
ステップS72において、スナップショット作成部35は、該当データを削除する。スナップショット作成部35は、テーブル管理部32により、当該レコードの収容位置欄342bを参照し、この格納位置に格納されている該当データを削除する。
In step S71, the
In step S72, the
ステップS73において、スナップショット作成部35は、第2データ管理テーブル342の該当データの参照情報(レコード)を削除する。スナップショット作成部35は、ステップS73の処理が終了すると、ステップS75の処理を行う。
ステップS74において、スナップショット作成部35は、該当データに「未更新」属性を設定する。スナップショット作成部35は、テーブル管理部32により、当該レコードの属性欄342nに「未更新」属性を設定する。
In step S73, the
In step S74, the
ステップS75において、スナップショット作成部35は、第2データ管理テーブル342のすべてのレコードについて処理を繰り返したか否かを判断する。スナップショット作成部35は、当該判断条件が成立しなかったならば、ステップS70の処理に戻り、当該判断条件が成立したならば、図12の処理を終了する。
In step S75, the
第1の実施形態のスナップショット作成部35は、スナップショット作成後処理において、更新前集合のデータを削除している。これにより、スナップショット作成部35は、更新前データの記憶領域を解放して、通常時の空間計算量を削減することができる。
なお、これに限られず、スナップショット作成部35は、スナップショット作成後処理において、最後に第2データ管理テーブル342を削除してもよい。これにより、各データ管理サーバ3は、第2データ管理テーブル342を格納していた記憶領域を解放し、通常時の空間計算量を更に削減することができる。
The
However, the present invention is not limited to this, and the
図13(a)〜(g)は、スナップショット作成中の各集合と各データとを示す図である。
図13(a)から図13(g)まで時系列順に、外部からの書込更新処理が行われた結果を示している。未更新集合は、第2データ管理テーブル342の属性欄342nが「未更新」のデータの集合である。更新前集合は、第2データ管理テーブル342の属性欄342nが「更新前」のデータの集合である。更新後集合は、第2データ管理テーブル342の属性欄342nが「更新後」のデータの集合である。
FIGS. 13A to 13G are diagrams showing each set and each data during snapshot creation.
FIG. 13 (a) to FIG. 13 (g) show the results of external write update processing performed in time series order. The unupdated set is a set of data in which the
図13(a)は、データ管理テーブル341がスナップショットデータ344にコピーされたときの、各集合と各データとを示している。これは、スナップショット作成開始における各データを示している。
未更新集合は、データA〜Eをすべて含んでいる。即ち、データA〜Eは、スナップショット作成開始の時点と同一であり、更新されていないことを示している。更新前集合と更新後集合は、データを含まない。
FIG. 13A shows each set and each data when the data management table 341 is copied to the
The unupdated set includes all data A to E. That is, the data A to E are the same as the snapshot creation start time and indicate that they have not been updated. The set before update and the set after update do not include data.
図13(b)は、#Bをキー値とするデータBが更新されたときの、各集合と各データとを示している。
データB(図13(a)参照)は、更新前集合に移動している。ここでは、データの移動を実線矢印で示している。データB(図13(a)参照)は、コピーされて更新されることでデータB2となり、更新後集合に移動している。ここでは、データの更新と移動とを破線矢印で示している。
FIG. 13B shows each set and each data when data B having #B as a key value is updated.
Data B (see FIG. 13A) has moved to the pre-update set. Here, the movement of data is indicated by solid arrows. Data B (see FIG. 13A) is copied and updated to become data B2, and is moved to the updated set. Here, update and movement of data are indicated by broken-line arrows.
図13(c)は、#Dをキー値とするデータDが更新されたときの、各集合と各データとを示している。
データD(図13(b)参照)は、更新前集合に移動している。更にデータD(図13(b)参照)は、コピーされて更新されることでデータD2となり、更新後集合に移動している。
FIG. 13C shows each set and each data when the data D having #D as a key value is updated.
Data D (see FIG. 13B) has moved to the pre-update set. Further, the data D (see FIG. 13B) is copied and updated to become data D2, and is moved to the updated set.
図13(d)は、#Bをキー値とするデータB2が再更新されたときの、各集合と各データとを示している。
更新後集合のデータB2(図13(c)参照)は、再更新されデータB3となり、同様に更新後集合に含まれている。
FIG. 13D shows each set and each data when data B2 having #B as a key value is re-updated.
The updated set data B2 (see FIG. 13C) is re-updated to become data B3, and is also included in the updated set.
図13(e)は、#Dをキー値とするデータD2が削除されたときの、各集合と各データとを示している。
更新後集合のデータD2(図13(d)参照)は削除され、更新後集合から消滅している。
FIG. 13E shows each set and each data when data D2 having #D as a key value is deleted.
The updated set data D2 (see FIG. 13D) is deleted and disappears from the updated set.
図13(f)は、#Eをキー値とするデータEが削除されたときの、各集合と各データとを示している。
未更新集合のデータE(図13(d)参照)は、更新前集合に移動している。
FIG. 13 (f) shows each set and each data when data E having #E as a key value is deleted.
The data E of the unupdated set (see FIG. 13D) has moved to the pre-update set.
図13(g)は、スナップショット作成後処理を実行したのちの、各集合と各データとを示している。
更新後集合のデータB3(図13(f)参照)は、未更新集合に移動している。これにより、未更新集合には、データA,B3,Cのみが含まれるようになる。すなわち、この未更新集合には、データD,Eの削除と、データBの2回の更新とが反映される。
FIG. 13G shows each set and each data after the post-snapshot creation process is executed.
The updated set data B3 (see FIG. 13F) has moved to the unupdated set. Thereby, only the data A, B3, and C are included in the unupdated set. That is, this unupdated set reflects the deletion of the data D and E and the two updates of the data B.
図13(a)〜(f)のすべての期間において、未更新集合と更新前集合との論理和はデータA〜Eであり、スナップショット作成開始時におけるデータA〜Eと一致している。よって、スナップショット作成部35は、未更新集合と更新前集合のデータを収集することにより、スナップショット作成開始時におけるデータを収集することができる。
In all the periods shown in FIGS. 13A to 13F, the logical sum of the unupdated set and the set before update is data A to E, which matches the data A to E at the start of snapshot creation. Therefore, the
(発明の効果)
以上説明した第1の実施形態では、次の(A)〜(G)のような効果がある。
(Effect of the invention)
The first embodiment described above has the following effects (A) to (G).
(A) スナップショット作成部35は、データ343の全体をロックせず、データ管理テーブル341をロックして、このスナップショットを作成したのちにロック解除している。その後、データ管理サーバ3は、一方でデータ更新を継続しながら、他方でスナップショットを収集している。これにより、データ管理サーバ3は、少量のテーブルのロックにより、このテーブルで管理された多量のデータのスナップショットを作成できる。
(A) The
(B) スナップショット作成中のバックアップ対象データは、更新後集合と、未更新集合と、更新前集合とに分けて管理される。データ書込参照処理部31は、未更新集合のデータを更新する場合、そのデータをコピーし、それぞれ更新前集合と更新後集合とにデータを移動し、更新後集合に移動したデータに、更新処理を行っている。これにより、データ書込参照処理部31は、更新されたデータに限定して二重化しているので、二重化のための時間計算量と空間計算量とを減らし、短時間でスナップショットを作成することができる。
(B) The data to be backed up during the creation of the snapshot is managed separately into an updated set, an unupdated set, and a pre-update set. When updating the data in the unupdated set, the data write
(C) データ書込参照処理部31は、スナップショット作成中にデータを新規作成する場合、更新後集合にデータを作成する。これにより、データ書込参照処理部31は、スナップショット作成処理に影響することなく、データを新規作成可能である。
(C) The data write
(D) データ書込参照処理部31は、スナップショット作成中にデータを削除する場合、未更新集合のデータならば更新前集合に移動し、更新後集合のデータならば削除している。これにより、データ書込参照処理部31は、スナップショット作成処理への影響無しに、処理対象データを削除することができる。
(D) When deleting data during snapshot creation, the data write
(E) データ書込参照処理部31は、スナップショット作成中のデータの参照要求を、データ更新状況が反映された原本であるデータ管理テーブル341に基づいて行う。スナップショット作成部35は、スナップショット作成開始時点のデータ管理テーブル341をコピーし、未更新集合と更新前集合に含まれるデータを管理する第2データ管理テーブル342に基づいて、スナップショットを作成する。このように、データ書込参照処理部31と、スナップショット作成部35とは、それぞれ別のテーブルに基づいて、データの参照と、スナップショットの作成とを行う。よって、各データ管理サーバ3は、排他制御によりデータやデータ管理テーブル341の整合性を保つ必要がなくなる。
(E) The data write
(F) スナップショット作成部35は、スナップショット作成後に、通常時には不要である更新前集合の各データを削除している。これにより、データ管理サーバ3は、通常時のメモリリソースを充分に確保することができる。
(F) After creating the snapshot, the
(G) スナップショット作成部35は、スナップショット作成中に更新後集合と未更新データ集合とに分けて管理していた各データを、スナップショット作成後には、これらを分けずに単一の集合で管理するように変える。これにより、データ管理サーバ3は、通常時の時間計算量を削減することができる。
(G) The
(第2の実施形態)
図14は、第2の実施形態におけるデータ管理サーバを示す概略の構成図である。
データ管理サーバ3は、図1に示す第1の実施形態の各データ管理サーバ3と同様に構成されている。
データ管理サーバ3は、第1の実施形態とは異なり、外部から振分サーバ2(図1参照)を介さずにデータ書込要求信号やデータ参照要求信号などが送信される。
データ管理サーバ3は、第1の実施形態とは異なり、外部端末からスナップショット作成管理サーバ4(図1参照)を介さずに、スナップショット作成要求信号が送信される。それ以外は、第1の実施形態の各データ管理サーバ3と同様に構成され、同様に動作する。
(Second Embodiment)
FIG. 14 is a schematic configuration diagram illustrating a data management server according to the second embodiment.
The
Unlike the first embodiment, the
Unlike the first embodiment, the
このように、複数のデータ管理サーバ3から構成されるクラスタシステム1(図1参照)に限られず、単一のデータ管理サーバ3であっても、スナップショット作成部35は、少量のデータ管理テーブル341のロックにより、多量のデータのスナップショットを作成することができる。
In this way, the
(変形例)
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能であり、例えば、次の(a)〜(c)のようなものがある。
(Modification)
The present invention is not limited to the above-described embodiment, and can be modified without departing from the spirit of the present invention. For example, there are the following (a) to (c).
(a) データ管理サーバ3は、スナップショット作成中に、データを削除する場合、データをコピーして、それぞれ更新前集合と更新後集合にデータを移動し、更新後集合のデータのみを削除してもよい。
(A) When deleting data during snapshot creation, the
(b) スナップショット作成部35は、スナップショット作成指示を受けて、テーブル管理部32に、テーブルロックを解除するように処理してもよい。
(B) Upon receiving the snapshot creation instruction, the
(c) スナップショット作成部35は、データ管理テーブル341の全体ではなく、データ管理テーブル341のバックアップ対象部分をロックして、バックアップを作成したのちにロック解除してもよい。これにより、スナップショット作成部35は、限定されたバックアップ対象部分のスナップショットを作成可能である。
(C) The
1 クラスタシステム (サーバクラスタのスナップショット作成システム)
2 振分サーバ
21 振分部
22 振分表
3,3−1〜3−3 データ管理サーバ
31 データ書込参照処理部
32 テーブル管理部
33 データ管理部
34 記憶部
341 データ管理テーブル
342 第2データ管理テーブル
343 データ
344 スナップショットデータ
35 スナップショット作成部
4 スナップショット作成管理サーバ
41 スナップショット作成統括部
1 Cluster system (Server cluster snapshot creation system)
2
Claims (8)
振分サーバと、
を備え、
前記振分サーバは、
外部からの要求を前記データ管理サーバに振り分ける振分部と、
外部からの要求と前記データ管理サーバとの対応を示す振分表と、
を備え、
前記データ管理サーバは、それぞれ、
各データの収容位置を含むデータ管理テーブルを管理するテーブル管理部と、
前記各データを管理するデータ管理部と、
前記振分表と前記データ管理テーブルとを書込ロックしてスナップショットを作成したのちにロックを解除し、前記各データを書込ロックせずにスナップショットを作成するスナップショット作成部と、
外部からの要求に基づいてデータの書込または参照を行うものであり、前記スナップショット作成部のスナップショット作成中に、スナップショット作成開始時以降の未更新データに係る書込要求を外部から受信したならば、当該書込要求に係る未更新データをコピーし、コピーしたデータに当該書込要求を行って更新後の属性を設定して更新後データとすると共に、当該書込要求に係る未更新データに更新前の属性を設定して更新前データとするデータ書込参照処理部と、
前記各データ、前記データ管理テーブル、および、前記スナップショット作成部が作成したスナップショットデータを記憶する記憶部と、
を備えることを特徴とするサーバクラスタのスナップショット作成システム。 Multiple data management servers in a cluster configuration,
A distribution server;
With
The distribution server
A distribution unit that distributes external requests to the data management server;
A distribution table showing correspondence between external requests and the data management server;
With
The data management servers are respectively
A table management unit for managing a data management table including a storage position of each data;
A data management unit for managing the data;
A snapshot creation unit that creates a snapshot without creating a snapshot after creating a snapshot by writing and locking the allocation table and the data management table; and
Data is written or referenced based on an external request, and during the snapshot creation of the snapshot creation unit, a write request for unupdated data after the start of snapshot creation is received from the outside If not, the unupdated data related to the write request is copied, the write request is made to the copied data, the updated attribute is set to the updated data, and the unupdated data related to the write request is set. A data writing reference processing unit that sets the pre-update attribute to the update data and sets the pre-update data;
A storage unit for storing each data, the data management table, and snapshot data created by the snapshot creation unit;
A server cluster snapshot creation system comprising:
前記スナップショット作成部のスナップショット作成中に、外部からデータの参照要求を受信したならば、前記データ管理テーブルに基づいて、各データを参照する、
ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システム。 The data write reference processing unit
If a data reference request is received from outside during snapshot creation by the snapshot creation unit, each data is referenced based on the data management table.
The server cluster snapshot creation system according to claim 1.
スナップショット作成開始時以降の各未更新データおよび各更新前データを収集してスナップショットを作成する、
ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システム。 The snapshot creation unit
Create a snapshot by collecting each unupdated data and each pre-update data after the snapshot creation start,
The server cluster snapshot creation system according to claim 1.
スナップショット作成が終了したならば、前記各更新前データを削除し、各更新後データに未更新の属性を設定する、
ことを特徴とする請求項3に記載のサーバクラスタのスナップショット作成システム。 The snapshot creation unit
When the snapshot creation is completed, delete each pre-update data and set an unupdated attribute to each post-update data.
The server cluster snapshot creation system according to claim 3.
前記スナップショット作成部のスナップショット作成中に、外部から未更新データの削除要求を受信したならば、当該削除要求に係る未更新データに更新前の属性を設定する、
ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システム。 The data write reference processing unit
If an unupdated data deletion request is received from the outside during snapshot creation by the snapshot creation unit, an attribute before update is set in the unupdated data related to the deletion request.
The server cluster snapshot creation system according to claim 1.
前記スナップショット作成部のスナップショット作成中に、外部からデータの新規作成要求を受信したならば、当該新規作成要求に係るデータに更新後の属性を設定する、
ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システム。 The data write reference processing unit
If a new data creation request is received from the outside during the snapshot creation by the snapshot creation unit, an updated attribute is set in the data related to the new creation request.
The server cluster snapshot creation system according to claim 1.
ことを特徴とする請求項1に記載のサーバクラスタのスナップショット作成システム。 The data management unit manages attributes of each data based on a second data management table stored in the storage unit;
The server cluster snapshot creation system according to claim 1.
前記各データを管理するデータ管理部と、
前記データ管理テーブルを書込ロックしてスナップショットを作成したのちにロックを解除し、前記各データを書込ロックせずにスナップショットを作成するスナップショット作成部と、
外部からの要求に基づいてデータの書込または参照を行うものであり、前記スナップショット作成部のスナップショット作成中に、スナップショット作成開始時以降の未更新データに係る書込要求を外部から受信したならば、当該書込要求に係る未更新データをコピーし、コピーしたデータに当該書込要求を行って更新後の属性を設定して更新後データとすると共に、当該書込要求に係る未更新データに更新前の属性を設定して更新前データとするデータ書込参照処理部と、
前記各データ、前記データ管理テーブル、および前記スナップショット作成部が作成したスナップショットデータを記憶する記憶部と、
を備えることを特徴とするデータ管理サーバのスナップショット作成システム。 A table management unit for managing a data management table including a storage position of each data;
A data management unit for managing the data;
A snapshot creation unit that creates a snapshot without creating a snapshot after creating a snapshot by writing-locking the data management table;
Data is written or referenced based on an external request, and during the snapshot creation of the snapshot creation unit, a write request for unupdated data after the start of snapshot creation is received from the outside If not, the unupdated data related to the write request is copied, the write request is made to the copied data, the updated attribute is set to the updated data, and the unupdated data related to the write request is set. A data writing reference processing unit that sets the pre-update attribute to the update data and sets the pre-update data;
A storage unit for storing each data, the data management table, and snapshot data created by the snapshot creation unit;
A snapshot creation system for a data management server, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013147828A JP5956387B2 (en) | 2013-07-16 | 2013-07-16 | Data management server snapshot creation system and server cluster snapshot creation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013147828A JP5956387B2 (en) | 2013-07-16 | 2013-07-16 | Data management server snapshot creation system and server cluster snapshot creation system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015022353A true JP2015022353A (en) | 2015-02-02 |
JP5956387B2 JP5956387B2 (en) | 2016-07-27 |
Family
ID=52486790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013147828A Expired - Fee Related JP5956387B2 (en) | 2013-07-16 | 2013-07-16 | Data management server snapshot creation system and server cluster snapshot creation system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5956387B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019505040A (en) * | 2015-12-28 | 2019-02-21 | ベリタス テクノロジーズ エルエルシー | System and method for backing up a large-scale distributed scale-out data system |
CN111949407A (en) * | 2020-08-13 | 2020-11-17 | 北京字节跳动网络技术有限公司 | Resource allocation method and device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619765A (en) * | 1992-05-21 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | Method and system for file management in computer system |
JP2001290713A (en) * | 2000-04-10 | 2001-10-19 | Hitachi Ltd | Storage device system and method for acquiring its backup |
JP2004362076A (en) * | 2003-06-02 | 2004-12-24 | Fuji Xerox Co Ltd | Data registering device and method therefor |
US20090327355A1 (en) * | 2008-06-30 | 2009-12-31 | Sun Microsystems, Inc. | System and method for coordinating a point-in-time copy among multiple data providers |
WO2012020482A1 (en) * | 2010-08-11 | 2012-02-16 | 富士通株式会社 | Backup method, information processing device, and program |
-
2013
- 2013-07-16 JP JP2013147828A patent/JP5956387B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619765A (en) * | 1992-05-21 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | Method and system for file management in computer system |
JP2001290713A (en) * | 2000-04-10 | 2001-10-19 | Hitachi Ltd | Storage device system and method for acquiring its backup |
JP2004362076A (en) * | 2003-06-02 | 2004-12-24 | Fuji Xerox Co Ltd | Data registering device and method therefor |
US20090327355A1 (en) * | 2008-06-30 | 2009-12-31 | Sun Microsystems, Inc. | System and method for coordinating a point-in-time copy among multiple data providers |
WO2012020482A1 (en) * | 2010-08-11 | 2012-02-16 | 富士通株式会社 | Backup method, information processing device, and program |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019505040A (en) * | 2015-12-28 | 2019-02-21 | ベリタス テクノロジーズ エルエルシー | System and method for backing up a large-scale distributed scale-out data system |
CN111949407A (en) * | 2020-08-13 | 2020-11-17 | 北京字节跳动网络技术有限公司 | Resource allocation method and device |
CN111949407B (en) * | 2020-08-13 | 2024-04-12 | 抖音视界有限公司 | Resource allocation method and device |
Also Published As
Publication number | Publication date |
---|---|
JP5956387B2 (en) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936547B2 (en) | Filesystem replication using a minimal filesystem metadata changelog | |
CN107122360B (en) | Data migration system and method | |
CN107122355B (en) | Data migration system and method | |
CN107122361B (en) | Data migration system and method | |
US8756196B2 (en) | Propagating tables while preserving cyclic foreign key relationships | |
US20120059799A1 (en) | Managing objects for a data file | |
US20090112789A1 (en) | Policy based file management | |
US20090112921A1 (en) | Managing files using layout storage objects | |
US20060167895A1 (en) | Database system and method for adapting a main database components in a main memory thereof | |
JP2019519025A (en) | Division and movement of ranges in distributed systems | |
US11687595B2 (en) | System and method for searching backups | |
JP2007041859A (en) | File management program, file management apparatus and file management method | |
CN110209653B (en) | HBase data migration method and device | |
WO2020019995A1 (en) | Asynchronous cache coherency for mvcc based database systems | |
KR102121157B1 (en) | Use of nonce table to solve concurrent blockchain transaction failure | |
CN109684270A (en) | Database filing method, apparatus, system, equipment and readable storage medium storing program for executing | |
US10318330B2 (en) | Data-persisting temporary virtual machine environments | |
US8082230B1 (en) | System and method for mounting a file system on multiple host computers | |
JP5956387B2 (en) | Data management server snapshot creation system and server cluster snapshot creation system | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
US10671482B2 (en) | Providing consistency in a distributed data store | |
US11683161B2 (en) | Managing encryption keys under group-level encryption | |
US11880495B2 (en) | Processing log entries under group-level encryption | |
US7949632B2 (en) | Database-rearranging program, database-rearranging method, and database-rearranging apparatus | |
US11907162B2 (en) | Minimizing data volume growth under encryption changes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150717 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160524 |
|
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: 20160614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160616 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5956387 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |