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 PDF

Info

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
Application number
JP2013147828A
Other languages
Japanese (ja)
Other versions
JP5956387B2 (en
Inventor
文彦 澤崎
Fumihiko Sawazaki
文彦 澤崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013147828A priority Critical patent/JP5956387B2/en
Publication of JP2015022353A publication Critical patent/JP2015022353A/en
Application granted granted Critical
Publication of JP5956387B2 publication Critical patent/JP5956387B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To release data locked due to snapshot creation in a short time.SOLUTION: A cluster system 1 includes data management servers 3-1 to 3-3, and a distribution server 2. The distribution server 2 includes a distribution unit 21 and a distribution table 22. Each of the data management server 3 includes: a table management unit 32 which manages a data management table 341; a data management unit 33 which manages data 343; a snapshot creation unit 35 which write-locks the distribution table 22 and the data management table 341 to create a snapshot, releases the locked state, and creates a snapshot without write-locking the data 343; a data write reference processing unit 31; and a storage unit 34 which stores the data 343, the data management table 341, and snapshot data 344.

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.

日立製作所、「TMS−4V/SP:データベース静止化機能」、[online]、[平成25年6月19日検索]インターネット<URL:http://www.hitachi.co.jp/Prod/comp/soft1/4vsp/products/staticizer1.html>Hitachi, "TMS-4V / SP: Database static function", [online], [Search June 19, 2013] Internet <URL: http://www.hitachi.co.jp/Prod/comp/ soft1 / 4vsp / products / staticizer1.html>

データを二重化する一般的な方法は、不揮発性媒体上で二重にデータ管理する方法と、揮発性メモリ上と不揮発性媒体上とで二重にデータ管理する方法である。揮発性メモリ上で二重にデータ管理する方法は、すべてのサーバに多量の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 claim 4 is characterized in that, when the snapshot creation is completed, the snapshot creation unit deletes each pre-update data and sets an unupdated attribute to each post-update data. The server cluster snapshot creation system according to claim 3.

これにより、各データ管理サーバ3は、通常時の空間計算量を削減し、データの管理により多くのリソースを割り当てることができる。   As a result, each data management server 3 can reduce the amount of space calculation during normal times and allocate more resources for data management.

請求項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 reference processing unit 2. The server cluster snapshot creation system according to claim 1, wherein an attribute before update is set in the update data.

このように、データ書込参照処理部は、スナップショット作成中かつ削除対象データの属性が未更新ならば、削除対象のデータを更新前集合に移動させている。これにより、データ管理サーバは、削除対象のデータを、スナップショット作成の対象としたまま、以降の書込更新処理の対象から外すことができる。   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 is a schematic configuration diagram showing a cluster system in a first embodiment. 通常時のデータ処理を示すシーケンス図である。It is a sequence diagram which shows the data processing at the normal time. スナップショット作成処理(その1)を示すシーケンス図である。It is a sequence diagram which shows a snapshot creation process (part 1). スナップショット作成処理(その2)を示すシーケンス図である。It is a sequence diagram which shows a snapshot creation process (part 2). データ管理テーブルと第2データ管理テーブルを示す図である。It is a figure which shows a data management table and a 2nd data management table. スナップショット作成動作とデータ更新動作を示す図である。It is a figure which shows snapshot creation operation | movement and data update operation | movement. データ書込参照処理を示すフローチャートである。It is a flowchart which shows a data writing reference process. データ更新処理を示すフローチャートである。It is a flowchart which shows a data update process. 新規作成処理を示すフローチャートである。It is a flowchart which shows a new creation process. データ削除処理を示すフローチャートである。It is a flowchart which shows a data deletion process. スナップショット作成中処理を示すフローチャートである。It is a flowchart which shows a snapshot creation process. スナップショット作成後処理を示すフローチャートである。It is a flowchart which shows a snapshot creation post-process. スナップショット作成中の各集合と各データとを示す図である。It is a figure which shows each set and each data during snapshot creation. 第2の実施形態におけるデータ管理サーバを示す概略の構成図である。It is a schematic block diagram which shows the data management server in 2nd Embodiment.

次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
(第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 distribution server 2, a plurality of data management servers 3-1 to 3-3, and a snapshot creation management server 4. Hereinafter, when the data management servers 3-1 to 3-3 are not particularly distinguished, the data management server 3 may be simply described. In each figure, the data management server 3-1 is “data management server # 1”, the data management server 3-2 is “data management server # 2”, and the data management server 3-3 is “data management server # 3”. May be indicated.

クラスタシステム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 data management server 3 that manages a large amount of data to the outside. Further, when receiving a snapshot creation request signal from the outside, the cluster system 1 creates a snapshot of the data based on the request.

振分サーバ2は、外部装置(不図示)に対するフロントエンドであり、外部装置(不図示)からデータ書込要求信号やデータ参照要求信号を代理して受け付けて、データ管理サーバ3−1〜3−3のいずれかに振り分けて転送するものである。振分サーバ2は、各要求信号をデータ管理サーバ3−1〜3−3のいずれかに振り分ける振分部21と、各要求信号と、この要求信号の振り分け先との対応を示す振分表22とを含んで構成されている。   The distribution server 2 is a front end for an external device (not shown), accepts a data write request signal or a data reference request signal from the external device (not shown), and receives data management servers 3-1 to 3. -3. The distribution server 2 distributes each request signal to any one of the data management servers 3-1 to 3-3, a distribution table indicating correspondence between each request signal and the distribution destination of the request signal. 22.

データ管理サーバ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 reference processing unit 31, a table management unit 32, a data management unit 33, a storage unit 34, and a snapshot creation unit 35. ing. The data management servers 3-1 to 3-3 perform write processing and reference processing of data to be stored based on the request signals distributed by the distribution server 2.
The data write reference processing unit 31 processes each received data write request signal and data reference request signal. If the data write reference processing unit 31 receives a write request related to the non-updated data after the snapshot creation start from the outside during the snapshot creation, the data write reference processing unit 31 copies the non-updated data related to the write request. Then, a write request is made to the copied data and the updated attribute is set as the updated data. Further, the data write reference processing unit 31 sets the pre-update attribute to the non-updated data related to this write request and sets it as pre-update data.

テーブル管理部32は、後記するデータ管理テーブル341や、第2データ管理テーブル342を管理するものである。データ管理テーブル341や、第2データ管理テーブル342は、各データの収容位置の情報を含んでいる。テーブル管理部32は、各要求信号が含んでいる処理対象データのキー名に基づき、この処理対象データの収容位置を応答する。   The table management unit 32 manages a data management table 341 and a second data management table 342 which will be described later. The data management table 341 and the second data management table 342 include information on the accommodation position of each data. Based on the key name of the processing target data included in each request signal, the table management unit 32 responds with the accommodation position of the processing target data.

データ管理部33は、各データを管理するものである。データ管理部33は、処理対象データの収容位置に基づき、この処理対象データの書込処理や参照処理を行う。
記憶部34は、データ管理テーブル341と、第2データ管理テーブル342と、データ343と、スナップショットデータ344とを記憶している。記憶部34は、揮発性メモリで構成されているので、各データや各テーブルへの書込や参照を短時間に行うことができる。
The data management unit 33 manages each data. The data management unit 33 performs writing processing and reference processing of the processing target data based on the storage location of the processing target data.
The storage unit 34 stores a data management table 341, a second data management table 342, data 343, and snapshot data 344. Since the storage unit 34 is composed of a volatile memory, writing and reference to each data and each table can be performed in a short time.

データ管理テーブル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. Data 343 is each data body to be processed. The snapshot data 344 is a snapshot of the data management table 341 and the data 343 at an arbitrary time.

スナップショット作成部35は、外部から受信したスナップショット作成要求信号に応じて、当該データ管理サーバ3が格納するデータ管理テーブル341とデータ343のスナップショットを作成するものである。スナップショット作成部35は、振分表22とデータ管理テーブル341とを書込ロックしてスナップショットを作成したのちに、この書込ロックを解除し、データ343を書込ロックせずにスナップショットを作成する。   The snapshot creation unit 35 creates a snapshot of the data management table 341 and data 343 stored in the data management server 3 in response to a snapshot creation request signal received from the outside. The snapshot creation unit 35 locks the allocation table 22 and the data management table 341 in writing and creates a snapshot. Then, the snapshot creation unit 35 releases the writing lock and snapshots the data 343 without writing lock. Create

スナップショット作成管理サーバ4は、スナップショット作成統括部41を含んで構成されている。スナップショット作成管理サーバ4は、外部に対するフロントエンドである。スナップショット作成管理サーバ4は、スナップショット作成統括部41により、外部からスナップショット作成要求信号を代理して受け付けて、各データ管理サーバ3−1〜3−3に転送するものである。   The snapshot creation management server 4 includes a snapshot creation management unit 41. The snapshot creation management server 4 is a front end for the outside. The snapshot creation management server 4 receives a snapshot creation request signal from the outside by the snapshot creation management unit 41 and transfers it to the data management servers 3-1 to 3-3.

図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 distribution server 2, the processes shown in sequences Q10 to Q19 are started. In the following sequence diagrams, the data reference request signal is abbreviated as a data reference request, and the data write request signal is abbreviated as a data write request.
In sequence Q10, the distribution unit 21 of the distribution server 2 receives a data reference request signal from an external device (not shown). Further, the allocating unit 21 determines which data management server 3 stores the data stored in the data management servers # 1 to # 3. If the already distributed data is a processing target, the distribution unit 21 specifies the data management server 3 to be distributed based on the distribution table 22.
In sequence Q11, the distribution unit 21 of the distribution server 2 distributes the data reference request signal to any of the data management servers # 1 to # 3. The distributed data reference request signal is received by the data write reference processing unit 31 of the corresponding data management server 3.

シーケンスQ12において、データ書込参照処理部31は、テーブル管理部32に、このデータ参照要求信号が含んだキー値に対応する処理対象データの収容位置を問い合わせる。この問い合わせは、テーブル管理部32に入力される。
シーケンスQ13において、テーブル管理部32は、入力されたキー値に基づいてデータ管理テーブル341を検索し、キー値に対応するデータの収容位置を取得する。
シーケンスQ14において、テーブル管理部32は、データ書込参照処理部31に、このデータ参照要求信号が含んだキー値に対応するデータの収容位置を応答する。この収容位置の応答は、データ書込参照処理部31に入力される。
In sequence Q12, the data write reference processing unit 31 inquires the table management unit 32 about the accommodation position of the processing target data corresponding to the key value included in the data reference request signal. This inquiry is input to the table management unit 32.
In sequence Q13, the table management unit 32 searches the data management table 341 based on the input key value, and acquires the data storage position corresponding to the key value.
In sequence Q14, the table management unit 32 responds to the data write reference processing unit 31 with the data storage position corresponding to the key value included in the data reference request signal. The response of the accommodation position is input to the data writing reference processing unit 31.

シーケンスQ15において、データ書込参照処理部31は、データ管理部33に、このデータ参照要求信号と、処理対象データの収容位置とを通知する。この通知は、データ管理部33に入力される。
シーケンスQ16において、データ管理部33は、処理対象データの収容位置に基づき、処理対象データを参照する。
In sequence Q15, the data write reference processing unit 31 notifies the data management unit 33 of the data reference request signal and the accommodation position of the processing target data. This notification is input to the data management unit 33.
In sequence Q16, the data management unit 33 refers to the processing target data based on the accommodation position of the processing target data.

シーケンスQ17において、データ管理部33は、データ書込参照処理部31に、この処理対象データの参照結果を応答する。この参照結果の応答は、データ書込参照処理部31に入力される。
シーケンスQ18において、データ書込参照処理部31は、振分サーバ2の振分部21に、この処理対象データの参照結果を応答する。この参照結果の応答は、振分部21によって受信される。
シーケンスQ19において、振分サーバ2の振分部21は、データ書込要求信号の送信元である不図示の外部装置に、この処理対象データの参照結果を応答する。これにより、データ参照要求信号に対する処理を終了する。
In sequence Q17, the data management unit 33 responds to the data write reference processing unit 31 with the reference result of the processing target data. The response of the reference result is input to the data write reference processing unit 31.
In sequence Q <b> 18, the data write reference processing unit 31 returns the reference result of the processing target data to the distribution unit 21 of the distribution server 2. The reference result response is received by the distribution unit 21.
In sequence Q19, the allocating unit 21 of the allocating server 2 returns a reference result of the processing target data to an external device (not shown) that is the transmission source of the data write request signal. Thereby, the process for the data reference request signal is completed.

(データ書込要求信号に対する処理)
不図示の外部装置から、振分サーバ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 distribution server 2, the processes shown in sequences Q20 to Q29 are started. The processing of sequences Q20 to Q29 is different from the processing of sequences Q10 to Q19 described above, and the processing type is data writing instead of data reference. Note that data writing is one of three processes: data update, new data creation, and data deletion.
In sequence Q20, the sorting unit 21 of the sorting server 2 receives a data write request signal from an external device (not shown). The allocating unit 21 determines which data management server 3 among the data management servers # 1 to # 3 is to write to the data stored. If the already distributed data is a processing target, the distribution unit 21 specifies the data management server 3 to be distributed based on the distribution table 22. If the data that has not yet been distributed is to be processed, the distribution unit 21 specifies the data management server 3 to be distributed by a hash function, and records the relationship between the specified data management server 3 and the data in the distribution table 22. To do.

シーケンスQ21において、振分サーバ2の振分部21は、データ管理サーバ#1〜#3のうちいずれか該当するものに、データ書込要求信号を振り分ける。振り分けたデータ書込要求信号は、該当するデータ管理サーバ3のデータ書込参照処理部31が受信する。   In sequence Q21, the distribution unit 21 of the distribution server 2 distributes the data write request signal to any one of the data management servers # 1 to # 3. The distributed data write request signal is received by the data write reference processing unit 31 of the corresponding data management server 3.

シーケンスQ22において、データ書込参照処理部31は、テーブル管理部32に、このデータ書込要求信号が含んだキー値に対応する処理対象データの収容位置を問い合わせる。この問い合わせは、テーブル管理部32に入力される。
シーケンスQ23において、テーブル管理部32は、このキー値に基づいてデータ管理テーブル341を検索し、キー値に対応するデータの収容位置を取得する。
シーケンスQ24において、テーブル管理部32は、データ書込参照処理部31に、このデータ書込要求信号が含んだキー値に対応するデータの収容位置を応答する。この収容位置の応答は、データ書込参照処理部31に入力される。
In sequence Q22, the data write reference processing unit 31 inquires of the table management unit 32 about the accommodation position of the processing target data corresponding to the key value included in the data write request signal. This inquiry is input to the table management unit 32.
In sequence Q23, the table management unit 32 searches the data management table 341 based on the key value, and acquires the data storage position corresponding to the key value.
In sequence Q24, the table management unit 32 responds to the data write reference processing unit 31 with the data storage position corresponding to the key value included in the data write request signal. The response of the accommodation position is input to the data writing reference processing unit 31.

シーケンスQ25において、データ書込参照処理部31は、データ管理部33に、このデータ書込要求信号と、処理対象データの収容位置とを通知する。この通知は、データ管理部33に入力される。
シーケンスQ26において、データ管理部33は、処理対象データの収容位置に基づき、処理対象データに書込を行う。
In sequence Q25, the data write reference processing unit 31 notifies the data management unit 33 of the data write request signal and the storage location of the processing target data. This notification is input to the data management unit 33.
In sequence Q26, the data management unit 33 writes the processing target data based on the accommodation position of the processing target data.

シーケンスQ27において、データ管理部33は、データ書込参照処理部31に、この処理対象データの書込結果を応答する。この書込結果の応答は、データ書込参照処理部31に入力される。
シーケンスQ28において、データ書込参照処理部31は、振分サーバ2の振分部21に、この処理対象データの書込結果を応答する。この書込結果の応答は、振分部21によって受信される。
シーケンスQ29において、振分サーバ2の振分部21は、不図示の外部装置に、この処理対象データの書込結果を応答する。この書込結果の応答は、データ書込要求信号の送信元である不図示の外部装置によって受信される。これにより、データ書込要求信号に対する処理は終了する。
In sequence Q27, the data management unit 33 responds to the data write reference processing unit 31 with the result of writing the processing target data. This write result response is input to the data write reference processor 31.
In sequence Q28, the data write reference processing unit 31 responds to the distribution unit 21 of the distribution server 2 with the result of writing the processing target data. The response of the writing result is received by the distribution unit 21.
In sequence Q29, the allocating unit 21 of the allocating server 2 returns a result of writing the processing target data to an external device (not shown). This write result response is received by an external device (not shown) which is the transmission source of the data write request signal. Thereby, the process for the data write request signal is completed.

図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 creation management server 4, the snapshot creation processing shown in sequences Q40 to Q66 starts.

シーケンス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 creation managing unit 41 of the snapshot creation management server 4 receives a snapshot creation request signal from an external terminal (not shown).
In sequence Q <b> 41, the snapshot creation managing unit 41 of the snapshot creation management server 4 transmits a lock instruction for the distribution table 22 to the distribution server 2. The lock instruction of the distribution table 22 is received by the distribution unit 21 of the distribution server 2.
In sequence Q42, the distribution unit 21 locks the writing of the distribution table 22.
In sequence Q43, the allocating unit 21 returns a lock completion response indicating that the writing table 22 has been locked to the snapshot creation management server 4. This lock completion response is received by the snapshot creation management unit 41 of the snapshot creation management server 4.

シーケンスQ44において、スナップショット作成統括部41は、クラスタシステム1を構成する各データ管理サーバ3に、テーブルロック指示を送信する。これらのテーブルロック指示は、各データ管理サーバ3のスナップショット作成部35によって受信される。この処理は、各データ管理サーバ3の台数分だけ繰り返される。   In sequence Q44, the snapshot creation management unit 41 transmits a table lock instruction to each data management server 3 constituting the cluster system 1. These table lock instructions are received by the snapshot creation unit 35 of each data management server 3. This process is repeated for the number of data management servers 3.

シーケンスQ45において、スナップショット作成部35は、テーブル管理部32に、データ管理テーブル341のロック指示を通知する。このロック指示は、各テーブル管理部32に入力される。
シーケンスQ46において、テーブル管理部32は、データ管理テーブル341の書込をロックする。
シーケンスQ47において、テーブル管理部32は、スナップショット作成部35に、データ管理テーブル341のロック完了応答を返す。このロック完了応答は、スナップショット作成部35に返される。なお、このシーケンスQ47は、テーブル管理部32の書込ロックが成功したときのものである。
In sequence Q45, the snapshot creation unit 35 notifies the table management unit 32 of a lock instruction for the data management table 341. This lock instruction is input to each table management unit 32.
In sequence Q46, the table management unit 32 locks the writing of the data management table 341.
In sequence Q47, the table management unit 32 returns a lock completion response of the data management table 341 to the snapshot creation unit 35. This lock completion response is returned to the snapshot creation unit 35. This sequence Q47 is for the case where the write lock of the table management unit 32 is successful.

なお、図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 data management server 3 may perform a partial write lock or read / write lock of the data management table 341. Furthermore, the data management server 3 may select what kind of locking is to be performed according to the parameter of the snapshot creation request signal received from the snapshot creation management server 4.
In sequence Q48, the snapshot creation unit 35 returns a table lock completion response to the snapshot creation management server 4. This process is repeated for the number of data management servers 3. This table lock completion response is received by the snapshot creation control unit 41.
In sequence Q49, the snapshot creation managing unit 41 checks whether a table lock completion response is returned from all the data management servers 3 of the cluster system 1 (response check). If table lock completion responses have been returned from all the data management servers 3, the distribution unit 21 of the distribution server 2 performs the processing of sequence Q50 and subsequent steps.

シーケンスQ50において、スナップショット作成統括部41は、振分サーバ2に、振分表22のコピー指示を送信する。このコピー指示は、振分部21によって受信される。ここで振分表22のコピーとは、振分表22を二重化して静止化することにより、スナップショットを作成することをいう。
シーケンスQ51において、振分部21は、振分表22のコピーを実行してスナップショットを作成する。
シーケンスQ52において、振分部21は、振分表22の書込ロックを解除する。
シーケンスQ53において、振分部21は、スナップショット作成管理サーバ4にコピー完了応答を返す。このコピー完了応答は、スナップショット作成統括部41によって受信される。
In sequence Q <b> 50, the snapshot creation supervision unit 41 transmits a copy instruction for the distribution table 22 to the distribution server 2. This copy instruction is received by the distribution unit 21. Here, copying of the distribution table 22 means creating a snapshot by duplicating the distribution table 22 and making it stationary.
In sequence Q51, the distribution unit 21 creates a snapshot by executing a copy of the distribution table 22.
In sequence Q52, the allocating unit 21 releases the write lock of the allocating table 22.
In sequence Q53, the distribution unit 21 returns a copy completion response to the snapshot creation management server 4. This copy completion response is received by the snapshot creation control unit 41.

シーケンスQ54において、スナップショット作成統括部41は、各データ管理サーバ3に、スナップショット作成指示を送信する。この処理は、各データ管理サーバ3の台数分だけ繰り返される。このスナップショット作成指示は、スナップショット作成部35によって受信される。
シーケンスQ55において、スナップショット作成部35は、テーブル管理部32に、データ管理テーブル341のコピー指示を通知する。このコピー指示は、テーブル管理部32に入力される。
シーケンスQ56において、テーブル管理部32は、データ管理テーブル341をコピーしてスナップショットを作成する。以下のシーケンスは、テーブル管理部32によるコピーが成功した場合のものである。
In sequence Q54, the snapshot creation supervising unit 41 transmits a snapshot creation instruction to each data management server 3. This process is repeated for the number of data management servers 3. This snapshot creation instruction is received by the snapshot creation unit 35.
In sequence Q55, the snapshot creation unit 35 notifies the table management unit 32 of a copy instruction for the data management table 341. This copy instruction is input to the table management unit 32.
In sequence Q56, the table management unit 32 creates a snapshot by copying the data management table 341. The following sequence is for a case where copying by the table management unit 32 is successful.

シーケンスQ57において、テーブル管理部32は、データ管理テーブル341に基づいて第2データ管理テーブル342を作成する。すなわち、テーブル管理部32は、データ管理テーブル341をコピーし、更に属性欄342n(図5(b)参照)を追加することにより、第2データ管理テーブル342を作成する。
シーケンスQ58において、テーブル管理部32は、データ管理テーブル341の書込ロックを解除する。
シーケンスQ59において、テーブル管理部32は、スナップショット作成部35にコピー完了応答を返す。このコピー完了応答は、スナップショット作成部35に入力される。
In sequence Q57, the table management unit 32 creates the second data management table 342 based on the data management table 341. That is, the table management unit 32 creates the second data management table 342 by copying the data management table 341 and adding an attribute column 342n (see FIG. 5B).
In sequence Q58, the table management unit 32 releases the write lock of the data management table 341.
In sequence Q59, the table management unit 32 returns a copy completion response to the snapshot creation unit 35. This copy completion response is input to the snapshot creation unit 35.

シーケンスQ60において、スナップショット作成部35は、スナップショット作成管理サーバ4にコピー指示受信応答を返す。このコピー指示受信応答は、スナップショット作成統括部41によって台数分だけ受信される。このコピー指示受信応答は、一次的な応答であり、各データ管理サーバ3は、継続してスナップショットを作成する。
シーケンスQ61において、スナップショット作成統括部41は、コピー指示受信応答が、すべてのデータ管理サーバ3から返っているがチェックする。シーケンスQ61の処理が終了すると、図4のシーケンスQ62の処理が行われる。
In sequence Q60, the snapshot creation unit 35 returns a copy instruction reception response to the snapshot creation management server 4. This copy instruction reception response is received by the snapshot creation control unit 41 for the number of copies. This copy instruction reception response is a primary response, and each data management server 3 continuously creates snapshots.
In sequence Q61, the snapshot creation management unit 41 checks whether the copy instruction reception responses have been returned from all the data management servers 3. When the process of sequence Q61 ends, the process of sequence Q62 of FIG. 4 is performed.

図4に示すように、シーケンスQ62において、スナップショット作成部35は、テーブル管理部32と連携してスナップショット作成中処理を行い、スナップショットを作成する。スナップショット作成中処理は、後記する図11で詳細に説明する。
シーケンスQ63において、スナップショット作成部35は、テーブル管理部32と連携して、スナップショット作成後処理を行う。スナップショット作成後処理は、後記する図12で詳細に説明する。
As shown in FIG. 4, in sequence Q62, the snapshot creation unit 35 performs a snapshot creation process in cooperation with the table management unit 32, and creates a snapshot. The snapshot creation in-process will be described in detail with reference to FIG.
In sequence Q63, the snapshot creation unit 35 performs post-snapshot creation processing in cooperation with the table management unit 32. The snapshot creation post-process will be described in detail with reference to FIG.

シーケンスQ64において、スナップショット作成部35は、スナップショット作成管理サーバ4にスナップショット作成応答を返す。このスナップショット作成応答は、スナップショット作成統括部41によって、データ管理サーバ3の台数分だけ受信される。
シーケンスQ65において、スナップショット作成統括部41は、クラスタシステム1のすべてのデータ管理サーバ3から、スナップショット作成応答が返っているかチェックする。
シーケンスQ66において、スナップショット作成統括部41は、不図示の外部端末に、スナップショット作成応答を返す。この不図示の外部端末は、シーケンスQ40においてスナップショット作成要求信号を送信したものと同一である。
In sequence Q <b> 64, the snapshot creation unit 35 returns a snapshot creation response to the snapshot creation management server 4. This snapshot creation response is received by the snapshot creation supervision unit 41 for the number of data management servers 3.
In sequence Q65, the snapshot creation management unit 41 checks whether a snapshot creation response is returned from all the data management servers 3 in the cluster system 1.
In sequence Q66, the snapshot creation supervising unit 41 returns a snapshot creation response to an external terminal (not shown). This external terminal (not shown) is the same as the one that has transmitted the snapshot creation request signal in sequence Q40.

これらシーケンス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 data 343 by only locking the distribution table 22 and the data management table 341. it can. Since the data amounts of the distribution table 22 and the data management table 341 are extremely small compared to the data 343, these copies are completed in a short time. Thereby, the cluster system 1 can create a snapshot of a large amount of data with a short-time lock.

図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 key value column 341a, a storage location column 341b, and other columns.

キー値欄341aは、データにアクセスするときのキー値を格納する欄であり、「#A」、「#B」、…のキー値が格納されている。「#A」のキー値により、対応するデータAにアクセスすることができる。データ書込要求信号やデータ参照要求信号には、これらのキー値が格納されており、キー値に対応するデータを処理することを示している。
収容位置欄341bは、データにアクセスするための収容位置を格納する欄であり、各データのアドレスが格納されている。これらの収容位置により、各データ本体にアクセスすることができる。
The key value column 341a is a column for storing key values for accessing data, and stores key values “#A”, “#B”,. The corresponding data A can be accessed by the key value “#A”. These key values are stored in the data write request signal and the data reference request signal, indicating that the data corresponding to the key value is processed.
The accommodation position column 341b is a column for storing the accommodation position for accessing data, and stores the address of each data. Each data body can be accessed by these accommodation positions.

図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 key value column 342a, a storage location column 342b, and other columns similar to those of the data management table 341, and further includes an attribute column 342n. The second data management table 342 is created by copying the data management table 341 at the snapshot creation start time.
The attribute column 342n is a column in which attributes of each data are stored, and attributes of “not updated”, “before update”, and “after update” are stored.

属性欄342nの属性が「未更新」ならば、対応するデータ本体は、スナップショット作成開始時点から更新されていないことを示している。
属性欄342nの属性が「更新前」ならば、対応するデータ本体は、スナップショット作成開始時点のものであり、かつ、当該データに対する更新処理が行われたことを示している。
属性欄342nの属性が「更新後」ならば、対応するデータ本体は、更新後のものであり、対応する更新前のデータが存在することを示している。
このように、データ管理サーバ3は、第2データ管理テーブル342により、スナップショット作成開始時点におけるデータを管理している。よって、データ管理サーバ3は、二重化処理を行うことなく、任意の時刻におけるスナップショットを作成することができる。
If the attribute in the attribute column 342n is “unupdated”, it indicates that the corresponding data body has not been updated since the snapshot creation start time.
If the attribute in the attribute column 342n is “before update”, it indicates that the corresponding data body is the one at the time of starting snapshot creation and that the update process for the data has been performed.
If the attribute in the attribute column 342n is “after update”, it indicates that the corresponding data body is after the update and corresponding pre-update data exists.
As described above, the data management server 3 manages the data at the snapshot creation start time by the second data management table 342. Therefore, the data management server 3 can create a snapshot at an arbitrary time without performing a duplication process.

図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 343 includes “updated data” copied and updated during snapshot creation, “unupdated data” that has not been updated since the start of snapshot creation, It is logically divided into three sets of “pre-update data” that is a copy source related to the post-update data.
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 attribute column 342n (see FIG. 5B) of the second data management table 342. The second data management table 342 is used for a snapshot creation operation by the snapshot creation unit 35. The snapshot creation unit 35 can access each data of the data 343 by the table management unit 32 and the data management unit 33. Dotted arrows extending from the snapshot creation unit 35 to the pre-update data and the non-update data indicate access to the pre-update data and the non-update data related to the snapshot creation operation.

それに対してデータ管理テーブル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 reference processing unit 31. The data write reference processing unit 31 can access each data of the data 343 by the table management unit 32 and the data management unit 33. Dotted arrows extending from the data write reference processing unit 31 to updated data and unupdated data indicate access to the updated data and the unupdated data related to the data reference operation.
As described above, the data write reference processing unit 31 and the snapshot creation unit 35 access each data by referring to different tables. Therefore, in parallel with the data reference by the data write reference processing unit 31, the snapshot creation unit 35 can perform a snapshot creation operation.

図7は、データ書込参照処理を示すフローチャートである。
各データ管理サーバ3のデータ書込参照処理部31が、外部からの要求信号を受信すると、図7に示すデータ書込参照処理が開始する。
ステップS10において、データ書込参照処理部31は、受信した要求信号の処理種別を判断する。
FIG. 7 is a flowchart showing the data writing reference process.
When the data write reference processing unit 31 of each data management server 3 receives an external request signal, the data write reference process shown in FIG. 7 is started.
In step S10, the data write reference processing unit 31 determines the processing type of the received request signal.

データ書込参照処理部31は、処理種別が参照ならば、ステップS11の処理を行う。
ステップS11において、データ書込参照処理部31は、原本であるデータ管理テーブル341に基づいて該当データを参照する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32により該当データの収容位置を取得し、データ管理部33により該当データを参照する。データ書込参照処理部31は、ステップS11の処理が終了すると、図7の処理を終了する。
If the process type is a reference, the data write reference processing unit 31 performs the process of step S11.
In step S11, the data write reference processing unit 31 refers to the corresponding data based on the data management table 341 that is the original. Based on the key value included in the request signal, the data write reference processing unit 31 acquires the accommodation position of the corresponding data by the table management unit 32 and refers to the corresponding data by the data management unit 33. When the process of step S11 ends, the data write reference processing unit 31 ends the process of FIG.

データ管理テーブル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 snapshot creation unit 35 creates a snapshot by referring to the second data management table 342 which is a different table. As a result, the snapshot creation unit 35 can create a snapshot without writing and locking the data 343.

データ書込参照処理部31は、処理種別が更新ならば、ステップS12のデータ更新処理を行い、図7の処理を終了する。データ更新処理は、後記する図8で詳細に説明する。
データ書込参照処理部31は、処理種別が新規作成ならば、ステップS13の新規作成処理を行い、図7の処理を終了する。新規作成処理は、後記する図9で詳細に説明する。
データ書込参照処理部31は、処理種別が削除ならば、ステップS14のデータ削除処理を行い、図7の処理を終了する。データ削除処理は、後記する図10で詳細に説明する。
If the process type is update, the data write reference processing unit 31 performs the data update process of step S12 and ends the process of FIG. The data update process will be described in detail with reference to FIG.
If the process type is a new creation, the data write reference processing unit 31 performs a new creation process in step S13 and ends the process in FIG. The new creation process will be described in detail with reference to FIG.
If the processing type is deletion, the data write reference processing unit 31 performs the data deletion processing in step S14 and ends the processing in FIG. The data deletion process will be described in detail with reference to FIG.

図8は、データ更新処理を示すフローチャートである。
各データ管理サーバ3のデータ書込参照処理部31が外部からのデータ更新要求信号を受信すると、図8に示すデータ更新処理が開始する。
ステップS30において、データ書込参照処理部31は、スナップショット作成中であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS31の処理を行い、当該判断条件が成立したならば(Yes)、ステップS32の処理を行う。
FIG. 8 is a flowchart showing data update processing.
When the data write reference processing unit 31 of each data management server 3 receives an external data update request signal, the data update process shown in FIG. 8 is started.
In step S30, the data write reference processing unit 31 determines whether a snapshot is being created. The data writing reference processing unit 31 performs the process of step S31 if the determination condition is not satisfied (No), and performs the process of step S32 if the determination condition is satisfied (Yes).

ステップS31において、データ書込参照処理部31は、該当データを更新する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32により該当データの収容位置を取得し、データ管理部33により該当データにアクセスする。データ書込参照処理部31は、ステップS31の処理が終了したならば、図8の処理を終了する。   In step S31, the data write reference processing unit 31 updates the corresponding data. Based on the key value included in the request signal, the data write reference processing unit 31 acquires the accommodation position of the corresponding data by the table management unit 32 and accesses the corresponding data by the data management unit 33. The data write reference processing unit 31 ends the process of FIG. 8 when the process of step S31 ends.

ステップS32において、データ書込参照処理部31は、該当データの属性は「未更新」であるか否かを判断する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32により該当データの属性を取得し、「未更新」であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS33の処理を行い、当該判断条件が成立したならば(Yes)、ステップS34の処理を行う。   In step S32, the data writing reference processing unit 31 determines whether or not the attribute of the corresponding data is “unupdated”. Based on the key value included in the request signal, the data write reference processing unit 31 acquires the attribute of the corresponding data by the table management unit 32 and determines whether or not it is “unupdated”. The data write reference processing unit 31 performs the process of step S33 if the determination condition is not satisfied (No), and performs the process of step S34 if the determination condition is satisfied (Yes).

ステップS33において、データ書込参照処理部31は、「更新後」属性の該当データを更新する。データ書込参照処理部31は、要求信号が含むキー値に基づいて、テーブル管理部32によりデータ管理テーブル341を参照して更新後データの収容位置を取得し、データ管理部33により更新後データを更新する。データ書込参照処理部31は、ステップS33の処理が終了したならば、図8の処理を終了する。   In step S <b> 33, the data write reference processing unit 31 updates the corresponding data of the “updated” attribute. Based on the key value included in the request signal, the data write reference processing unit 31 refers to the data management table 341 by the table management unit 32 to obtain the storage location of the updated data, and the data management unit 33 updates the updated data Update. The data write reference processing unit 31 ends the process of FIG. 8 when the process of step S33 ends.

ステップ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 reference processing unit 31 copies the corresponding data. Based on the key value included in the request signal, the data write reference processing unit 31 refers to the data management table 341 by the table management unit 32 to acquire the accommodation position, and the data write reference processing unit 31 further acquires Based on the storage position, the data management unit 33 acquires an area of the corresponding data size in the storage unit 34, and then copies the corresponding data to the acquired area.
In step S35, the data write reference processing unit 31 registers the reference information of the copied data in the second data management table 342. That is, the data write reference processing unit 31 creates a record of the copied data in the second data management table 342 by the table management unit 32. Further, the data write reference processing unit 31 sets the key value column 342a of this record to the key value of the copy source data, and rewrites the storage location column 342b with the address of the copied data.

ステップS36において、データ書込参照処理部31は、コピーしたデータに、「更新後」属性を設定する。データ書込参照処理部31は、テーブル管理部32により、コピーしたデータに係る第2データ管理テーブル342のレコードを参照し、その属性欄342nを「更新後」に設定する。
ステップS37において、データ書込参照処理部31は、データ管理部33により、コピーしたデータを更新する。
In step S <b> 36, the data write reference processing unit 31 sets an “after update” attribute to the copied data. The data write reference processing unit 31 refers to the record of the second data management table 342 related to the copied data by the table management unit 32, and sets the attribute column 342n to “after update”.
In step S <b> 37, the data write reference processing unit 31 updates the copied data by the data management unit 33.

ステップ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 reference processing unit 31 rewrites the accommodation position on the data management table 341 related to the corresponding data to the address of the copied data by the table management unit 32. That is, the data writing reference processing unit 31 refers to the record of the data management table 341 related to the corresponding data by the table management unit 32, and sets the address of the copied data in the accommodation position column 341b.
In step S39, the data write reference processing unit 31 sets the “before update” attribute in the copy source data of the corresponding data. The data writing reference processing unit 31 refers to the record related to the copy source data of the corresponding data in the second data management table 342 by the table management unit 32, and sets the attribute column 342n to “before update”. When the process of step S39 is completed, the data write reference processing unit 31 ends the process of FIG.

このように、データ書込参照処理部31は、スナップショット作成中の「未更新」属性のデータの更新に限り、その処理対象データを更新前データと更新後データとに二重化している。これにより、データ管理サーバ3は、データの二重化に伴う時間計算量と空間計算量とを削減することができる。   As described above, the data write reference processing unit 31 duplicates the data to be processed into pre-update data and post-update data only when updating the data of the “unupdated” attribute during snapshot creation. Thereby, the data management server 3 can reduce the time calculation amount and the space calculation amount due to the duplication of data.

図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 reference processing unit 31 of each data management server 3 receives a new data creation request signal from the outside, a new data creation process shown in FIG. 9 is started.
In step S40, the data write reference processing unit 31 newly creates data. That is, the data write reference processing unit 31 newly creates data and a key value of the data by the data management unit 33.
In step S <b> 41, the data write reference processing unit 31 registers reference information for newly created data in the data management table 341 and the second data management table 342. That is, the data writing reference processing unit 31 creates a record related to newly created data in the data management table 341 and the second data management table 342 by the table management unit 32. The data write reference processing unit 31 sets the newly created key value in the key value column 341a of the record, and sets the address of the newly created data in the accommodation position column 341b of the record.
In step S42, the data write reference processing unit 31 determines whether a snapshot is being created. The data write reference processing unit 31 performs the process of step S43 if the determination condition is not satisfied (No), and performs the process of step S44 if the determination condition is satisfied (Yes).

ステップ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 reference processing unit 31 sets the “unupdated” attribute to the newly created data. That is, the data writing reference processing unit 31 refers to the record of the second data management table 342 related to the newly created data by the table management unit 32 and sets the attribute column 342n to “unupdated”. The data write reference processing unit 31 ends the process of FIG. 9 when the process of step S43 ends.
In step S44, the data writing reference processing unit 31 sets the “after update” attribute to the newly created data. That is, the data write reference processing unit 31 refers to the record of the second data management table 342 related to the newly created data by the table management unit 32, and sets the attribute column 342n to “after update”. The data write reference processing unit 31 ends the process of FIG. 9 when the process of step S44 ends.

このように、データ書込参照処理部31は、スナップショット作成中には、更新後集合にのみ新規作成データを作成し、更新前集合にはデータを作成していない。これにより、データ管理サーバ3は、スナップショット作成中に新規作成されたデータを、このスナップショット作成の対象外とすることができる。   In this way, the data write reference processing unit 31 creates new creation data only in the updated set during snapshot creation, and does not create data in the pre-update set. As a result, the data management server 3 can exclude data newly created during the creation of the snapshot from the scope of this snapshot creation.

図10は、データ削除処理を示すフローチャートである。
各データ管理サーバ3のデータ書込参照処理部31が、外部からのデータ削除要求信号を受信すると、図10に示すデータ削除処理が開始する。
ステップS50において、データ書込参照処理部31は、スナップショット作成中であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS51の処理を行い、当該判断条件が成立したならば(Yes)、ステップS52の処理を行う。
FIG. 10 is a flowchart showing data deletion processing.
When the data write reference processing unit 31 of each data management server 3 receives an external data deletion request signal, the data deletion process shown in FIG. 10 is started.
In step S50, the data write reference processing unit 31 determines whether a snapshot is being created. The data writing reference processing unit 31 performs the process of step S51 if the determination condition is not satisfied (No), and performs the process of step S52 if the determination condition is satisfied (Yes).

ステップS51において、データ書込参照処理部31は、該当データを削除する。データ書込参照処理部31は、データ削除要求信号が含むキー値に基づいて、テーブル管理部32により処理対象データの収容位置を取得し、データ管理部33により処理対象データを削除する。データ書込参照処理部31は、ステップS51の処理が終了したならば、ステップS54の処理を行う。   In step S51, the data write reference processing unit 31 deletes the corresponding data. Based on the key value included in the data deletion request signal, the data write reference processing unit 31 acquires the storage position of the processing target data by the table management unit 32 and deletes the processing target data by the data management unit 33. The data write reference processing unit 31 performs the process of step S54 when the process of step S51 is completed.

ステップS52において、データ書込参照処理部31は、該当データの属性は「未更新」であるか否かを判断する。データ書込参照処理部31は、データ削除要求信号が含むキー値に基づいて、テーブル管理部32により処理対象データの属性を取得し、「未更新」であるか否かを判断する。データ書込参照処理部31は、当該判断条件が成立しなかったならば(No)、ステップS53の処理を行い、当該判断条件が成立したならば(Yes)、ステップS55の処理を行う。   In step S52, the data writing reference processing unit 31 determines whether or not the attribute of the corresponding data is “unupdated”. Based on the key value included in the data deletion request signal, the data write reference processing unit 31 acquires the attribute of the data to be processed by the table management unit 32 and determines whether or not it is “unupdated”. The data write reference processing unit 31 performs the process of step S53 if the determination condition is not satisfied (No), and performs the process of step S55 if the determination condition is satisfied (Yes).

ステップS53において、データ書込参照処理部31は、「更新後」属性の該当データを削除する。データ書込参照処理部31は、テーブル管理部32により、データ管理テーブル341に基づいて更新後データの収容位置を取得し、データ管理部33により処理対象データの格納領域を解放して、この処理対象データを削除する。データ書込参照処理部31は、ステップS53の処理が終了したならば、ステップS54の処理を行う。   In step S <b> 53, the data write reference processing unit 31 deletes the corresponding data with the “after update” attribute. The data writing reference processing unit 31 acquires the storage location of the updated data based on the data management table 341 by the table management unit 32, and releases the storage area of the processing target data by the data management unit 33. Delete the target data. The data write reference processing unit 31 performs the process of step S54 when the process of step S53 is completed.

ステップ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 reference processing unit 31 deletes the reference information (record) of the corresponding data in the second data management table 342. The data write reference processing unit 31 performs the process of step S56 when the process of step S54 is completed.
In step S55, the data writing reference processing unit 31 sets the “before update” attribute to the corresponding data. The data writing reference processing unit 31 uses the table management unit 32 to identify the record related to the corresponding data in the second data management table 342, and sets the “before update” attribute in the attribute column 342n. The data writing reference processing unit 31 performs the process of step S56 when the process of step S55 is completed.
In step S56, the data writing reference processing unit 31 deletes the reference information (record) of the corresponding data in the data management table 341. When the process of step S56 is completed, the data write reference processing unit 31 ends the process of FIG.

このように、データ書込参照処理部31は、スナップショット作成中かつ削除対象データの属性が未更新ならば、削除対象データを更新前集合に移動させ、かつデータ管理テーブル341の削除対象データの参照情報(レコード)を削除する。これにより、データ管理サーバ3は、削除対象データを、スナップショット作成の対象としたまま、以降の書込更新処理の対象から除外することができる。
データ書込参照処理部31は、スナップショット作成中かつ削除対象データの属性が未更新でないならば、削除対象データの更新後データのみを削除し、更新前データを残している。更にデータ書込参照処理部31は、スナップショット作成中には、データ管理テーブル341から削除対象データの参照情報(レコード)を削除している。これにより、データ管理サーバ3は、削除対象データを、以降の書込更新処理の対象から除外することができる。
In this way, the data writing reference processing unit 31 moves the deletion target data to the pre-update set and creates the deletion target data in the data management table 341 if the snapshot is being created and the attribute of the deletion target data is not updated. Delete the reference information (record). Thereby, the data management server 3 can exclude the deletion target data from the target of the subsequent write update processing while keeping the target of snapshot creation.
If the snapshot is being created and the attribute of the deletion target data is not unupdated, the data write reference processing unit 31 deletes only the updated data of the deletion target data and leaves the pre-update data. Further, the data write reference processing unit 31 deletes the reference information (record) of the deletion target data from the data management table 341 during the creation of the snapshot. Thereby, the data management server 3 can exclude the deletion target data from the target of the subsequent write update processing.

図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 table management unit 32, the snapshot creation unit 35 starts a snapshot creation process.
In steps S60 to S63, the snapshot creation unit 35 repeats the process for all the records in the second data management table 342.

ステップS61において、スナップショット作成部35は、テーブル管理部32により、当該レコードの属性欄342nを参照し、「未更新」または「更新前」であるか否かを判断する。スナップショット作成部35は、当該判断条件が成立したならば(Yes)、ステップS62の処理を行い、当該判断条件が成立しなかったならば(No)、ステップS63の処理を行う。   In step S61, the snapshot creation unit 35 refers to the attribute column 342n of the record by the table management unit 32, and determines whether it is “not updated” or “before update”. If the determination condition is satisfied (Yes), the snapshot creation unit 35 performs the process of step S62. If the determination condition is not satisfied (No), the snapshot creation unit 35 performs the process of step S63.

ステップS62において、スナップショット作成部35は、データ管理部33により、当該レコードに係るデータを、スナップショットデータ344に収集する。
ステップS63において、スナップショット作成部35は、第2データ管理テーブル342のすべてのレコードについて処理を繰り返したか否かを判断する。スナップショット作成部35は、当該判断条件が成立しなかったならば、ステップS60の処理に戻り、当該判断条件が成立したならば、図11の処理を終了する。
In step S <b> 62, the snapshot creation unit 35 causes the data management unit 33 to collect data relating to the record in the snapshot data 344.
In step S63, the snapshot creation unit 35 determines whether the processing has been repeated for all the records in the second data management table 342. If the determination condition is not satisfied, the snapshot creation unit 35 returns to the process of step S60, and if the determination condition is satisfied, the process of FIG. 11 ends.

スナップショット作成部35は、第2データ管理テーブル342に係る各データのうち、未更新集合と更新前集合に含まれるデータを取得して、スナップショットデータ344に収集している。未更新集合は、スナップショット作成開始時以降において更新されていないデータの集合である。更新前集合は、スナップショット作成中にコピーされて更新されたデータに係る、コピー元のデータの集合である。
これにより、スナップショット作成部35は、スナップショット作成開始時におけるデータを、すべてバックアップすることができる。
The snapshot creation unit 35 acquires the data included in the unupdated set and the set before update among the data related to the second data management table 342 and collects the data in the snapshot data 344. The unupdated set is a set of data that has not been updated since the snapshot creation start time. The pre-update set is a set of copy source data related to data copied and updated during snapshot creation.
Thereby, the snapshot creation part 35 can back up all the data at the time of a snapshot creation start.

図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 snapshot creation unit 35 starts the post-snapshot creation process.
In steps S70 to S73, the snapshot creation unit 35 repeats the process for all records in the second data management table 342.

ステップS71において、スナップショット作成部35は、当該レコードの属性欄342nを判断する。スナップショット作成部35は、テーブル管理部32により、当該レコードの属性欄342nを参照する。スナップショット作成部35は、属性欄342nが「更新前」ならばステップS72の処理を行い、属性欄342nが「更新後」ならばステップS74の処理を行い、属性欄342nが「未更新」ならばステップS75の処理を行う。
ステップS72において、スナップショット作成部35は、該当データを削除する。スナップショット作成部35は、テーブル管理部32により、当該レコードの収容位置欄342bを参照し、この格納位置に格納されている該当データを削除する。
In step S71, the snapshot creation unit 35 determines the attribute column 342n of the record. The snapshot creation unit 35 refers to the attribute column 342n of the record by the table management unit 32. If the attribute column 342n is “before update”, the snapshot creation unit 35 performs the process of step S72. If the attribute column 342n is “after update”, the snapshot creation unit 35 performs the process of step S74. If the attribute column 342n is “unupdated”. Step S75 is performed.
In step S72, the snapshot creation unit 35 deletes the corresponding data. The snapshot creation unit 35 refers to the storage location column 342b of the record by the table management unit 32 and deletes the corresponding data stored in this storage location.

ステップS73において、スナップショット作成部35は、第2データ管理テーブル342の該当データの参照情報(レコード)を削除する。スナップショット作成部35は、ステップS73の処理が終了すると、ステップS75の処理を行う。
ステップS74において、スナップショット作成部35は、該当データに「未更新」属性を設定する。スナップショット作成部35は、テーブル管理部32により、当該レコードの属性欄342nに「未更新」属性を設定する。
In step S73, the snapshot creation unit 35 deletes the reference information (record) of the corresponding data in the second data management table 342. When the process of step S73 ends, the snapshot creation unit 35 performs the process of step S75.
In step S74, the snapshot creation unit 35 sets an “unupdated” attribute for the corresponding data. The snapshot creation unit 35 uses the table management unit 32 to set an “unupdated” attribute in the attribute column 342n of the record.

ステップS75において、スナップショット作成部35は、第2データ管理テーブル342のすべてのレコードについて処理を繰り返したか否かを判断する。スナップショット作成部35は、当該判断条件が成立しなかったならば、ステップS70の処理に戻り、当該判断条件が成立したならば、図12の処理を終了する。   In step S75, the snapshot creation unit 35 determines whether the processing has been repeated for all the records in the second data management table 342. If the determination condition is not satisfied, the snapshot creating unit 35 returns to the process of step S70, and if the determination condition is satisfied, the process of FIG.

第1の実施形態のスナップショット作成部35は、スナップショット作成後処理において、更新前集合のデータを削除している。これにより、スナップショット作成部35は、更新前データの記憶領域を解放して、通常時の空間計算量を削減することができる。
なお、これに限られず、スナップショット作成部35は、スナップショット作成後処理において、最後に第2データ管理テーブル342を削除してもよい。これにより、各データ管理サーバ3は、第2データ管理テーブル342を格納していた記憶領域を解放し、通常時の空間計算量を更に削減することができる。
The snapshot creation unit 35 of the first embodiment deletes the pre-update set data in the post-snapshot creation process. As a result, the snapshot creation unit 35 can release the storage area for the pre-update data and reduce the amount of normal space calculation.
However, the present invention is not limited to this, and the snapshot creation unit 35 may finally delete the second data management table 342 in the post-snapshot creation process. Thereby, each data management server 3 can release the storage area in which the second data management table 342 was stored, and can further reduce the amount of space calculation at the normal time.

図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 attribute column 342n of the second data management table 342 is “not updated”. The set before update is a set of data in which the attribute column 342n of the second data management table 342 is “before update”. The updated set is a set of data in which the attribute column 342n of the second data management table 342 is “after update”.

図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 snapshot data 344. This shows each data at the start of snapshot creation.
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 snapshot creation unit 35 can collect data at the start of snapshot creation by collecting data of the unupdated set and the set before update.

(発明の効果)
以上説明した第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 snapshot creation unit 35 does not lock the entire data 343 but locks the data management table 341 and releases the lock after creating this snapshot. Thereafter, the data management server 3 collects snapshots on the other hand while continuing to update data on the one hand. Thereby, the data management server 3 can create a snapshot of a large amount of data managed by this table by locking a small amount of table.

(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 reference processing unit 31 copies the data, moves the data to the set before update and the set after update, and updates the data moved to the set after update. Processing is in progress. As a result, the data write reference processing unit 31 is duplexed only for updated data, so the time calculation amount and the space calculation amount for duplexing are reduced, and a snapshot can be created in a short time. Can do.

(C) データ書込参照処理部31は、スナップショット作成中にデータを新規作成する場合、更新後集合にデータを作成する。これにより、データ書込参照処理部31は、スナップショット作成処理に影響することなく、データを新規作成可能である。 (C) The data write reference processing unit 31 creates data in the updated set when creating new data during snapshot creation. Thereby, the data write reference processing unit 31 can newly create data without affecting the snapshot creation processing.

(D) データ書込参照処理部31は、スナップショット作成中にデータを削除する場合、未更新集合のデータならば更新前集合に移動し、更新後集合のデータならば削除している。これにより、データ書込参照処理部31は、スナップショット作成処理への影響無しに、処理対象データを削除することができる。 (D) When deleting data during snapshot creation, the data write reference processing unit 31 moves to the set before update if the data is an unupdated set, and deletes if it is data after the update. Thereby, the data write reference processing unit 31 can delete the processing target data without affecting the snapshot creation processing.

(E) データ書込参照処理部31は、スナップショット作成中のデータの参照要求を、データ更新状況が反映された原本であるデータ管理テーブル341に基づいて行う。スナップショット作成部35は、スナップショット作成開始時点のデータ管理テーブル341をコピーし、未更新集合と更新前集合に含まれるデータを管理する第2データ管理テーブル342に基づいて、スナップショットを作成する。このように、データ書込参照処理部31と、スナップショット作成部35とは、それぞれ別のテーブルに基づいて、データの参照と、スナップショットの作成とを行う。よって、各データ管理サーバ3は、排他制御によりデータやデータ管理テーブル341の整合性を保つ必要がなくなる。 (E) The data write reference processing unit 31 makes a data reference request during the creation of the snapshot based on the data management table 341 that is the original in which the data update status is reflected. The snapshot creation unit 35 copies the data management table 341 at the start of snapshot creation, and creates a snapshot based on the second data management table 342 that manages data included in the unupdated set and the set before update. . As described above, the data write reference processing unit 31 and the snapshot creation unit 35 refer to data and create a snapshot based on different tables. Therefore, each data management server 3 does not need to maintain consistency of data and the data management table 341 by exclusive control.

(F) スナップショット作成部35は、スナップショット作成後に、通常時には不要である更新前集合の各データを削除している。これにより、データ管理サーバ3は、通常時のメモリリソースを充分に確保することができる。 (F) After creating the snapshot, the snapshot creating unit 35 deletes each data in the set before update which is not normally required. As a result, the data management server 3 can secure sufficient memory resources at the normal time.

(G) スナップショット作成部35は、スナップショット作成中に更新後集合と未更新データ集合とに分けて管理していた各データを、スナップショット作成後には、これらを分けずに単一の集合で管理するように変える。これにより、データ管理サーバ3は、通常時の時間計算量を削減することができる。 (G) The snapshot creation unit 35 manages each piece of data managed separately into an updated set and an unupdated data set during the creation of the snapshot, after the snapshot is created. Change to manage. Thereby, the data management server 3 can reduce the time calculation amount at the normal time.

(第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 data management server 3 is configured in the same manner as each data management server 3 of the first embodiment shown in FIG.
Unlike the first embodiment, the data management server 3 transmits a data write request signal, a data reference request signal, and the like from the outside without going through the distribution server 2 (see FIG. 1).
Unlike the first embodiment, the data management server 3 transmits a snapshot creation request signal from an external terminal without going through the snapshot creation management server 4 (see FIG. 1). Other than that, it is configured similarly to each data management server 3 of the first embodiment and operates in the same manner.

このように、複数のデータ管理サーバ3から構成されるクラスタシステム1(図1参照)に限られず、単一のデータ管理サーバ3であっても、スナップショット作成部35は、少量のデータ管理テーブル341のロックにより、多量のデータのスナップショットを作成することができる。   In this way, the snapshot creation unit 35 is not limited to the cluster system 1 (see FIG. 1) configured by a plurality of data management servers 3, and even a single data management server 3 has a small amount of data management table. With the lock 341, a snapshot of a large amount of data can be created.

(変形例)
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能であり、例えば、次の(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 data management server 3 copies the data, moves the data to the set before update and the set after update, and deletes only the data in the set after update. May be.

(b) スナップショット作成部35は、スナップショット作成指示を受けて、テーブル管理部32に、テーブルロックを解除するように処理してもよい。 (B) Upon receiving the snapshot creation instruction, the snapshot creation unit 35 may process the table management unit 32 to release the table lock.

(c) スナップショット作成部35は、データ管理テーブル341の全体ではなく、データ管理テーブル341のバックアップ対象部分をロックして、バックアップを作成したのちにロック解除してもよい。これにより、スナップショット作成部35は、限定されたバックアップ対象部分のスナップショットを作成可能である。 (C) The snapshot creation unit 35 may lock the backup target part of the data management table 341, not the entire data management table 341, and release the lock after creating the backup. As a result, the snapshot creation unit 35 can create a snapshot of the limited backup target portion.

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 Distribution server 21 Distribution unit 22 Distribution table 3, 3-1 to 3-3 Data management server 31 Data write reference processing unit 32 Table management unit 33 Data management unit 34 Storage unit 341 Data management table 342 Second data Management table 343 Data 344 Snapshot data 35 Snapshot creation unit 4 Snapshot creation management server 41 Snapshot creation control unit

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.
前記データ管理部は、前記記憶部に格納された第2データ管理テーブルに基づき、前記各データの属性を管理する、
ことを特徴とする請求項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:
JP2013147828A 2013-07-16 2013-07-16 Data management server snapshot creation system and server cluster snapshot creation system Expired - Fee Related JP5956387B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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