JP2007025843A - Data storage device and version management program - Google Patents
Data storage device and version management program Download PDFInfo
- Publication number
- JP2007025843A JP2007025843A JP2005203896A JP2005203896A JP2007025843A JP 2007025843 A JP2007025843 A JP 2007025843A JP 2005203896 A JP2005203896 A JP 2005203896A JP 2005203896 A JP2005203896 A JP 2005203896A JP 2007025843 A JP2007025843 A JP 2007025843A
- Authority
- JP
- Japan
- Prior art keywords
- data
- metadata
- storage device
- latest
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 247
- 238000007726 management method Methods 0.000 description 49
- 230000005540 biological transmission Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 16
- 238000013523 data management Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 238000012217 deletion Methods 0.000 description 14
- 230000037430 deletion Effects 0.000 description 14
- 238000000034 method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データを複数のバージョンに対応付けて記憶し、管理するデータ記憶装置及びバージョン管理プログラムに関する。 The present invention relates to a data storage device and a version management program for storing and managing data in association with a plurality of versions.
一般に、ソフトウェア(プログラム)、コンテンツ(映像データ等)等のデータを作成する場合、データの追加や変更に伴って新規に作成したデータにバージョン(版数)を対応付けて記憶手段(記憶装置)に記憶し、管理する手法が用いられている。このとき、古いバージョンのデータを再利用したり、参照したりするため、複数のバージョンのデータが記憶手段に記憶されている。この場合、データのバージョンが増えるのに伴って、容量の大きい記憶手段が必要となる。 In general, when creating data such as software (program), content (video data, etc.), storage means (storage device) in which a version (version number) is associated with newly created data as data is added or changed The method of storing and managing the information is used. At this time, a plurality of versions of data are stored in the storage means in order to reuse or refer to old versions of data. In this case, storage means with a large capacity is required as the data version increases.
しかし、通常、データの各バージョン間では、重複するデータが多く、データをそのままバージョン毎に記憶手段に記憶するのは、記憶手段の使用効率が悪く、その分、記憶手段にかかるコストが高くなっている。
そこで、従来は、データ全体を記憶手段に記憶するのは、最新バージョンのデータのみとし、その一つ前の古いバージョンのデータは、最新バージョンのデータからの差分のみとしている。これによって、最新データを作成する度に、その前バージョンのデータは、最新データとの差分データとなり、最新バージョンのデータ以外は、すべて差分データとなる(例えば、特許文献1参照)。
However, there is usually a lot of overlapping data between versions of data, and storing the data in the storage means for each version as it is is inefficient in use of the storage means, and the cost for the storage means increases accordingly. ing.
Therefore, conventionally, the entire data is stored in the storage means only in the latest version data, and the previous previous version data is only the difference from the latest version data. Thus, every time the latest data is created, the data of the previous version becomes differential data from the latest data, and all the data other than the latest version data becomes differential data (see, for example, Patent Document 1).
ここで、図13を参照して、従来の差分データにより複数のバージョンのデータを管理する手法について、その概要を説明する。図13は、従来の差分データにより複数のバージョンのデータを管理するバージョン管理手法を模式的に示した図である。
図13に示すように、従来のバージョン管理手法は、データをディレクトリ構造(例えば、Btree〔Balanced Tree(バランス木)〕)を有するディレクトリ情報で管理し、各データ(ここではA,B)を記憶手段30に記憶する。
Here, with reference to FIG. 13, the outline | summary is demonstrated about the method of managing the data of several versions by the conventional difference data. FIG. 13 is a diagram schematically illustrating a version management method for managing a plurality of versions of data using conventional difference data.
As shown in FIG. 13, in the conventional version management method, data is managed with directory information having a directory structure (for example, Btree [Balanced Tree)), and each data (A and B in this case) is stored. Store in
このとき、旧バージョンについては、一つ新しいバージョンと当該旧バージョンのデータとの差分(差分データ)のみが記憶手段30に記憶される。ここでは、最新データAに対して、一世代前の差分データA1、さらに、その前の世代の差分データA2等が記憶手段30に記憶されている。また、同様に、最新データBに対して、一世代前の差分データB1が記憶手段30に記憶されている。
そして、例えば、最新データAに対する一世代前のデータは、データAと差分データA1とから生成することができる。また、最新データAに対する二世代前のデータは、データAと差分データA1と差分データA2とから生成することができる。
At this time, for the old version, only the difference (difference data) between the one new version and the data of the old version is stored in the storage means 30. Here, with respect to the latest data A, the difference data A1 of the previous generation, the difference data A2 of the previous generation, and the like are stored in the storage means 30. Similarly, with respect to the latest data B, the difference data B1 of the previous generation is stored in the storage means 30.
For example, the data one generation before the latest data A can be generated from the data A and the difference data A1. Further, the data two generations before the latest data A can be generated from the data A, the difference data A1, and the difference data A2.
このように、従来のバージョン管理手法は、ディレクトリ情報により管理されている各データのアドレスに基づいて、最新データAを読み出し、さらに、差分データA1等を読み出して合成することで、過去のバージョンのデータを生成する。
これによって、従来のバージョン管理手法は、最新データのみデータ全体をそのまま記憶し、過去のバージョンのデータは、差分データのみとなり、記憶手段30の容量を抑えることができる。
As a result, the conventional version management method stores the entire data as it is only for the latest data, and the past version data is only the difference data, and the capacity of the storage means 30 can be suppressed.
前記したように、従来のバージョン管理手法は、所望のバージョンのデータを読み出す場合、データ及び差分データのアドレスを、同一のディレクトリ情報の中から探索する必要がある。しかし、データのバージョンが増加するほど、生成される差分データの数が増えるため、最新データ及び差分データともにアドレスを探索する時間が長くなり、ひいては所望のデータの読み出し時間が長くなってしまうという問題がある。
また、一般に、データへのアクセスは、バージョンが古くなるほど急激に少なくなる傾向にある。そこで、古いバージョンのデータの読み出し時間が遅くなっても、新しいバージョンのデータの読み出し時間を遅くしたくないという要望がある。
As described above, in the conventional version management method, when reading a desired version of data, it is necessary to search the address of the data and the difference data from the same directory information. However, as the data version increases, the number of difference data to be generated increases, so the time for searching for the address for both the latest data and the difference data becomes longer, and consequently the time for reading the desired data becomes longer. There is.
In general, access to data tends to decrease rapidly as the version gets older. Therefore, there is a demand for not delaying the reading time of the new version data even if the reading time of the old version data is delayed.
本発明は、以上のような問題点に鑑みてなされたものであり、バージョンが増加した場合であっても、最新のバージョンのデータを高速に読み出すことが可能なデータ記憶装置及びバージョン管理プログラムを提供することを目的とする。 The present invention has been made in view of the problems as described above, and provides a data storage device and a version management program capable of reading the latest version of data at high speed even when the version is increased. The purpose is to provide.
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載のデータ記憶装置は、階層構造によって、複数のデータをそれぞれ複数の世代に亘って記憶手段に記憶するデータ記憶装置において、記憶手段と、メタデータ生成手段とを備える構成とした。 The present invention has been created to achieve the above object. First, the data storage device according to claim 1 stores a plurality of data in a storage means for a plurality of generations by a hierarchical structure. In the data storage device, the storage unit and the metadata generation unit are provided.
かかる構成において、データ記憶装置は、記憶手段に複数の世代に亘ってデータを記憶する。このとき、データ記憶装置は、メタデータ生成手段によって、入力された最新データと、当該最新データのバージョンと、当該最新データより一世代前のデータが記憶手段に記憶されているアドレスとを対応付けたメタデータを生成する。なお、このメタデータは、データに付加してデータとともに1つのファイルとすることとしてもよいし、データとは分離して記憶手段に記憶することとしてもよい。ただし、データとメタデータとを分離して記憶する場合は、メタデータと、一世代前のメタデータとを対応付けることとする。
これによって、データ記憶装置は、ディレクトリ情報で管理されたツリー(木)構造の中から、過去のデータを探索する必要がなく、メタデータを参照することで、順次過去のバージョンのデータにアクセスすることが可能となる。
In such a configuration, the data storage device stores data for a plurality of generations in the storage means. At this time, the data storage device associates the latest data input by the metadata generation unit, the version of the latest data, and the address where the data one generation before the latest data is stored in the storage unit. Generate metadata. This metadata may be added to the data to form a single file together with the data, or may be stored in the storage means separately from the data. However, when data and metadata are stored separately, the metadata is associated with the metadata of the previous generation.
Thus, the data storage device does not need to search past data from the tree structure managed by the directory information, and sequentially accesses past versions of data by referring to the metadata. It becomes possible.
また、請求項2に記載のデータ記憶装置は、請求項1に記載のデータ記憶装置において、差分データ生成手段と、データ変更手段とを備える構成とした。 According to a second aspect of the present invention, there is provided the data storage device according to the first aspect, further comprising a difference data generation unit and a data change unit.
かかる構成において、データ記憶装置は、差分データ生成手段によって、最新データと、記憶手段に記憶されている当該最新データより一世代前のデータとの差分である差分データを生成する。この差分データは、一世代前のデータに対して、データが追加された場合はその追加分、データが変更された場合はその変更分、データの一部が削除された場合はその削除分を示すデータである。 In such a configuration, the data storage device generates difference data, which is a difference between the latest data and the data one generation before the latest data stored in the storage unit, by the difference data generation unit. This differential data is the amount of data added to the previous generation when data is added, the amount of change when the data is changed, and the amount of deletion when part of the data is deleted. It is the data shown.
また、データ記憶装置は、データ変更手段によって、メタデータを参照して、最新データの一世代前のデータを、差分データ生成手段で生成された差分データに変更する。これによって、一世代前のデータが、最新データとの差分だけのデータ(差分データ)に変更される。
これによって、最新バージョンのデータのみが、差分データではない原データとして管理されることになり、それより前のバージョンのデータは、最新バージョンのデータからの差分(差分データ)のみとなる。
Further, the data storage device refers to the metadata by the data changing unit, and changes the data one generation before the latest data to the differential data generated by the differential data generating unit. As a result, the data one generation before is changed to data (difference data) having only the difference from the latest data.
As a result, only the latest version of data is managed as original data that is not difference data, and the previous version of data is only the difference (difference data) from the latest version of data.
また、請求項3に記載のデータ記憶装置は、請求項2に記載のデータ記憶装置において、データ生成手段を備える構成とした。 According to a third aspect of the present invention, there is provided the data storage device according to the second aspect, wherein the data storage device according to the second aspect includes data generation means.
かかる構成において、データ記憶装置は、データ生成手段によって、メタデータで特定される一世代以前の差分データを用いて、記憶手段に記憶されている最新バージョンのデータに順次古いバージョンのデータを反映させることによって、指定されたバージョンのデータを生成する。 In such a configuration, the data storage device sequentially reflects the older version data in the latest version data stored in the storage unit by using the difference data of one generation or earlier specified by the metadata by the data generation unit. As a result, the specified version of data is generated.
すなわち、データ生成手段は、最新バージョンのデータに対応するメタデータを参照することで、一世代前のデータである差分データを参照することができる。そこで、データ生成手段は、最新バージョンのデータに一世代前の差分データで示されるデータの追加分を削除したり、変更分を元に戻したり、削除分を追加したりすることで、一世代前のデータを生成する。また、二世代前のデータを生成するには、データ生成手段は、一世代前のデータに対応するメタデータを参照することで得られる二世代前の差分データと、生成された一世代前のデータとにより、二世代前のデータを生成する。このように、データ生成手段は、メタデータで特定される差分データに基づいて、順次過去のバージョンのデータを生成することができる。 That is, the data generation means can refer to the difference data that is the data of the previous generation by referring to the metadata corresponding to the latest version of the data. Therefore, the data generation means deletes the added data indicated by the difference data of the previous generation from the latest version of the data, restores the changed data, or adds the deleted data, Generate previous data. In addition, to generate the data of two generations before, the data generation means, the difference data of two generations obtained by referring to the metadata corresponding to the data of the previous generation, and the generated data of the previous generation The data two generations before is generated from the data. Thus, the data generation means can sequentially generate past versions of data based on the difference data specified by the metadata.
また、請求項4に記載のデータ記憶装置は、請求項2又は請求項3に記載のデータ記憶装置において、アクセス頻度計測手段と、データ移動手段と、メタデータ変更手段とを備える構成とした。 According to a fourth aspect of the present invention, there is provided the data storage device according to the second or third aspect, comprising an access frequency measuring means, a data moving means, and a metadata changing means.
かかる構成において、データ記憶装置は、アクセス頻度計測手段によって、最新バージョンのデータに対する、当該データに対応する過去のバージョンのデータである差分データへのアクセス頻度の割合を計測する。例えば、アクセス頻度計測手段は、最新バージョンのデータへのアクセスの数と、そのデータに対応する過去のデータ(差分データ)へのアクセスの数とをカウントし、最新のバージョンのデータへのアクセスの数を基準とした割合で、差分データへのアクセス頻度の割合を算出する。
このアクセス頻度の割合は、過去のどのバージョン以前のデータのアクセスが減ったかという指標となる。
In such a configuration, the data storage device measures the ratio of the access frequency to the difference data, which is the past version data corresponding to the latest version of the data, by the access frequency measuring means. For example, the access frequency measuring means counts the number of accesses to the latest version of data and the number of accesses to past data (difference data) corresponding to the data, and accesses the latest version of data. The ratio of the access frequency to the difference data is calculated based on the number.
The ratio of the access frequency is an index indicating which version of the previous data access has decreased.
そして、データ記憶装置は、データ移動手段によって、アクセス頻度の割合が、予め定めた割合以下となった差分データを、予め定めた他のデータ記憶装置に送信する。この予め定めた他のデータ記憶装置は、例えば、ネットワーク上で複数存在する場合は、IPアドレスで連続する等、論理的に隣接するデータ記憶装置とする。 Then, the data storage device transmits, to the other predetermined data storage device, the difference data whose access frequency ratio is equal to or lower than the predetermined ratio by the data moving means. For example, when there are a plurality of other predetermined data storage devices on the network, they are assumed to be logically adjacent data storage devices such as consecutive IP addresses.
また、データ記憶装置は、メタデータ変更手段によって、当該差分データに対応するメタデータに記述されているアドレスを、他のデータ記憶装置の記憶手段に記憶された差分データのアドレスに変更する。なお、この場合、アドレスは、記憶手段の物理アドレスに、データ記憶装置を特定する情報(例えばIPアドレス)を付加したものとする。
これによって、アクセス頻度の割合が一定以下となった差分データは、他のデータ記憶装置に分散されることになる。
Further, the data storage device changes the address described in the metadata corresponding to the difference data to the address of the difference data stored in the storage unit of another data storage device by the metadata changing unit. In this case, the address is obtained by adding information (for example, an IP address) for specifying the data storage device to the physical address of the storage means.
As a result, the difference data whose access frequency ratio is below a certain level is distributed to other data storage devices.
さらに、請求項5に記載のデータ記憶装置は、請求項4に記載のデータ記憶装置において、前記データ移動手段が、前記記憶手段に記憶されているデータ容量に対する、前記他のデータ記憶装置の記憶手段に記憶されているデータ容量の割合が所定値以下となった段階で、前記アクセス頻度の割合に基づいて、前記差分データを他のデータ記憶装置に送信することを特徴とする。 Further, the data storage device according to claim 5 is the data storage device according to claim 4, wherein the data moving means stores the data capacity stored in the storage means in the other data storage device. The difference data is transmitted to another data storage device based on the ratio of the access frequency when the ratio of the data capacity stored in the means becomes a predetermined value or less.
かかる構成において、データ記憶装置は、データ移動手段によって、記憶手段に記憶されているデータ容量に対して、予め定めた他のデータ記憶装置の記憶手段に記憶されているデータ容量の割合が所定値以下になった場合に、当該データ記憶装置に記憶されているデータを、他のデータ記憶装置に送信する。
これによって、データ容量の差が所定量以上となった場合に、データが分散されることになる。
In such a configuration, the data storage device has a predetermined ratio of the data capacity stored in the storage means of another data storage device to the data capacity stored in the storage means by the data moving means. In the following cases, the data stored in the data storage device is transmitted to another data storage device.
As a result, data is distributed when the difference in data capacity exceeds a predetermined amount.
また、請求項6に記載のバージョン管理プログラムは、階層構造によって、複数のデータをそれぞれ複数の世代に亘って管理するために、コンピュータを、メタデータ生成手段、差分データ生成手段、データ変更手段、データ生成手段として機能させる構成とした。 According to a sixth aspect of the present invention, there is provided a version management program for managing a plurality of pieces of data for a plurality of generations in a hierarchical structure by using a metadata generation unit, a difference data generation unit, a data change unit, The configuration is made to function as data generation means.
かかる構成において、バージョン管理プログラムは、メタデータ生成手段によって、入力された最新データと、当該最新データのバージョンと、当該最新データより一世代前のデータが記憶手段に記憶されているアドレスとを対応付けたメタデータを生成する。
そして、バージョン管理プログラムは、差分データ生成手段によって、最新データと、記憶手段に記憶されている当該最新データより一世代前のデータとの差分である差分データを生成する。
In such a configuration, the version management program corresponds to the latest data input by the metadata generation means, the version of the latest data, and the address at which the data one generation before the latest data is stored in the storage means. Generate the attached metadata.
Then, the version management program generates difference data, which is a difference between the latest data and data one generation before the latest data stored in the storage unit, by the difference data generation unit.
そして、バージョン管理プログラムは、データ変更手段によって、メタデータを参照して、最新データの一世代前のデータを、差分データ生成手段で生成された差分データに変更する。
これによって、最新バージョンのデータのみが、データ全体で管理されることになり、それより前のバージョンのデータは、最新バージョンのデータからの差分(差分データ)のみとなる。
Then, the version management program refers to the metadata by the data changing means and changes the data one generation before the latest data to the difference data generated by the difference data generating means.
As a result, only the latest version of the data is managed by the entire data, and the previous version of the data is only the difference (difference data) from the latest version of the data.
さらに、バージョン管理プログラムは、データ生成手段によって、メタデータで特定される一世代以前の差分データにより、記憶手段に記憶されている最新バージョンのデータから、指定されたバージョンのデータを生成する。
これによって、差分データで記憶されている過去のバージョンのデータが生成されることになる。
Furthermore, the version management program generates the specified version of data from the latest version of the data stored in the storage unit by using the difference data of one generation or earlier specified by the metadata by the data generation unit.
As a result, the past version data stored as the difference data is generated.
請求項1に記載の発明によれば、過去のバージョンのデータは、一世代後のデータに対応するメタデータに記述されたアドレスによって参照されるため、差分データを、ツリー(木)構造を持つディレクトリ情報で管理する必要がない。これによって、最新バージョンのデータのみがディレクトリ情報としてツリー構造で管理され、ツリー全体で管理するノード数が少なくなるとともに、管理するディレクトリ情報をすべて半導体メモリに記憶して処理することができるため、バージョンが増加した場合であっても、最新バージョンのデータへのアクセス時間を低下させることがない。 According to the first aspect of the present invention, since the past version of the data is referred to by the address described in the metadata corresponding to the data after one generation, the difference data has a tree structure. There is no need to manage with directory information. As a result, only the latest version of the data is managed in a tree structure as directory information, the number of nodes managed in the entire tree is reduced, and all the directory information to be managed can be stored in the semiconductor memory and processed. Even if this increases, the access time to the latest version of data is not reduced.
請求項2又は請求項6に記載の発明によれば、過去のバージョンの差分データは、一世代後のデータに対応するメタデータに記述されたアドレスによって参照されるため、差分データを、ツリー(木)構造を持つディレクトリ情報で管理する必要がない。これによって、最新バージョンのデータのみがディレクトリ情報としてツリー構造で管理され、ツリー全体で管理するノード数が少なくなるとともに、管理するディレクトリ情報をすべて半導体メモリに記憶して処理することができるため、バージョンが増加した場合であっても、最新バージョンのデータへのアクセス時間を低下させることがない。 According to the invention described in claim 2 or claim 6, the difference data of the past version is referred to by the address described in the metadata corresponding to the data after one generation. There is no need to manage directory information with a tree structure. As a result, only the latest version of the data is managed in a tree structure as directory information, the number of nodes managed in the entire tree is reduced, and all the directory information to be managed can be stored in the semiconductor memory and processed. Even if this increases, the access time to the latest version of data is not reduced.
請求項3又は請求項5に記載の発明によれば、最新バージョンのデータから遡って、過去の所望のバージョンのデータを生成することができる。これによって、利用者は、所望のバージョンのデータを要求するだけで、データを取得することができ、個々のデータを読み出して、所望のバージョンのデータを生成する手間を省くことができる。 According to the third or fifth aspect of the invention, it is possible to generate data of a desired version in the past by tracing back from the latest version of data. As a result, the user can acquire the data simply by requesting the desired version of the data, and can save the trouble of reading out the individual data and generating the desired version of the data.
請求項4に記載の発明によれば、アクセス頻度が低下したデータ(差分データ)を他のデータ記憶装置に移動させるため、データを複数のデータ記憶装置に分散させることができる。このように、データを分散させることで、複数のデータ記憶装置において、蓄積容量を分散させることができる。また、アクセス頻度の低いデータの移動先のデータ記憶装置における記憶手段を、例えば、テープデバイス等の低価格なデバイスとすることで、システム全体を低価格に抑えることができる。
さらに、最新データはディレクトリ管理により高速に検索でき、アクセス頻度の高いバージョンの新しい差分データは、同じデータ記憶装置内で最新データから順次古いバージョンの差分データにポインタで特定できるようにしていることから、アクセス頻度の高いバージョンの新しい差分データを高速で取り出すことができる。
According to the fourth aspect of the present invention, since the data (difference data) whose access frequency has decreased is moved to another data storage device, the data can be distributed to a plurality of data storage devices. As described above, by distributing the data, the storage capacity can be distributed in a plurality of data storage devices. Further, by using a low-priced device such as a tape device as the storage means in the data storage device to which data with low access frequency is moved, the entire system can be kept low.
In addition, the latest data can be searched at high speed by directory management, and the new differential data of the frequently accessed version can be identified with the pointer from the latest data to the old version of the differential data sequentially in the same data storage device. New differential data with a frequently accessed version can be retrieved at high speed.
請求項5に記載の発明によれば、データ記憶装置間でデータ容量の差が大きくなった場合に、データが分散されることになり、容量分散に加え、アクセス負荷を分散させることができる。 According to the fifth aspect of the invention, when the difference in data capacity between the data storage devices becomes large, the data is distributed, and the access load can be distributed in addition to the capacity distribution.
以下、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
(データ記憶装置の概要)
最初に、図1を参照して、本発明に係るデータ記憶装置におけるバージョン管理手法について、その概要を説明する。図1は、本発明の第1の実施の形態に係るデータ記憶装置で実現されるバージョン管理手法を模式的に示した図である。
図1に示すように、本発明に係るデータ記憶装置1で実現されるバージョン管理手法は、データをディレクトリ構造(例えば、Btree)を有するディレクトリ情報で管理し、最新のバージョンのデータ(ここではA,B)を記憶手段30に記憶する。
Embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment]
(Outline of data storage device)
First, referring to FIG. 1, the outline of the version management method in the data storage device according to the present invention will be described. FIG. 1 is a diagram schematically showing a version management technique realized by the data storage device according to the first embodiment of the present invention.
As shown in FIG. 1, the version management method implemented in the data storage device 1 according to the present invention manages data with directory information having a directory structure (for example, Btree), and the latest version of data (here, A , B) are stored in the storage means 30.
このとき、旧バージョンのデータは、新バージョンのデータとの差分(差分データ〔ここでは、A1〜A5、B1〕)のみが記憶手段30に記憶される。ここで、本手法と従来の手法との違いは、差分データのアドレス(記憶手段30上のアドレス)が、一世代後のデータ(又は差分データ)からのポインタとして指し示されることである。すなわち、差分データA1のアドレスは、一世代後のデータAに対応付けられた管理情報(メタデータ)にポインタとして記憶される。また、差分データA2のアドレスは、一世代後の差分データA1に対応付けられた管理情報(メタデータ)にポインタとして記憶される。
At this time, only the difference between the old version data and the new version data (difference data [A1 to A5, B1] in this case) is stored in the
このように、古いバージョンの差分データのアドレスを、一世代後のデータ(又は差分データ)からのポインタとして管理することで、差分データのアドレスは、ディレクトリ情報として管理する必要がなくなり、バージョンが増加した場合であっても、最新データのアドレスを探索する時間を短縮することができる。
以下、本手法を実現するためのデータ記憶装置の構成及び動作について順次説明する。
In this way, by managing the address of the difference data of the old version as a pointer from the data (or difference data) after one generation, it is not necessary to manage the address of the difference data as directory information, and the version increases. Even in this case, the time for searching for the address of the latest data can be shortened.
Hereinafter, the configuration and operation of the data storage device for realizing the present method will be sequentially described.
(データ記憶装置の構成)
まず、図2を参照して、本発明の第1の実施の形態に係るデータ記憶装置の構成について説明する。図2は、本発明の第1の実施の形態に係るデータ記憶装置の構成を示すブロック図である。データ記憶装置1は、複数のデータをそれぞれ複数の世代に亘って記憶するものであって、図1で説明したバージョン管理手法を実現するものである。
ここでは、データ記憶装置1は、通信送受信手段10と、システム管理手段20と、記憶手段30とを備えている。
(Configuration of data storage device)
First, the configuration of the data storage device according to the first embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the data storage device according to the first embodiment of the present invention. The data storage device 1 stores a plurality of data for a plurality of generations, and implements the version management method described in FIG.
Here, the data storage device 1 includes a communication transmitting / receiving
通信送受信手段10は、ネットワークNを介して、クライアントコンピュータ(図示せず)等と、データの送受信を行うものである。例えば、通信送受信手段10は、TCP/IP(Transmission Control Protocol/Internet Protocol)の通信プロトコルによってデータの送受信を行う通信ボードである。 The communication transmission / reception means 10 transmits / receives data to / from a client computer (not shown) via the network N. For example, the communication transmitting / receiving means 10 is a communication board that transmits and receives data using a TCP / IP (Transmission Control Protocol / Internet Protocol) communication protocol.
システム管理手段20は、データ記憶装置1全体の制御を行うものである。例えば、システム管理手段20は、CPU(Central Processing Unit)やメモリ等を備えたコンピュータである。ここでは、システム管理手段20は、データ格納・削除手段21と、データ配信手段22と、データ管理手段23と、メタデータ書込・読出手段24と、ディレクトリ情報書込・読出手段25と、制御情報受信手段26と、制御情報送信手段27とを備えている。 The system management means 20 controls the entire data storage device 1. For example, the system management means 20 is a computer provided with a CPU (Central Processing Unit), a memory, and the like. Here, the system management means 20 includes a data storage / deletion means 21, a data distribution means 22, a data management means 23, a metadata writing / reading means 24, a directory information writing / reading means 25, a control. Information receiving means 26 and control information transmitting means 27 are provided.
データ格納・削除手段21は、通信送受信手段10を介して最新データを受信(入力)し記憶手段30に記憶したり、記憶手段30に記憶されているデータを削除したりするものである。ここでは、データ格納・削除手段21は、データ受信手段21aと、差分データ生成手段21bと、データ書込手段21cと、データ削除手段21dとを備えている。
The data storage /
データ受信手段21aは、通信送受信手段10を介して最新データを受信するものである。このデータ受信手段21aは、データ管理手段23から通知される最新データの送信元(例えば、クライアントコンピュータ)から、通信送受信手段10を介して最新データを受信する。このデータ受信手段21aで受信された最新データは、差分データ生成手段21bとデータ書込手段21cとに出力される。
The
差分データ生成手段21bは、データ受信手段21aで受信された最新データと、記憶手段30に記憶されている当該最新データに対する一世代前のデータとの差分をとった差分データを生成するものである。この一世代前のデータは、データ管理手段23から通知されるアドレスに基づいて、データ読出手段22aによって記憶手段30から読み出される。
なお、この差分データ生成手段21bは、最新データと一世代前のデータとの間で、新規に追加されたデータ、削除されたデータ、及び、変更されたデータのみを抽出することで差分データを生成する。
この差分データ生成手段21bで生成された差分データは、データ書込手段21cに出力される。
なお、後記するディレクトリ管理手段23aは、差分データのポインタ(アドレス)をディレクトリ情報から削除する。
The difference
The difference
The difference data generated by the difference data generation means 21b is output to the data writing means 21c.
The
データ書込手段21cは、データ受信手段21aで受信された最新データと、差分データ生成手段21bで生成された差分データとを、データ管理手段23から指示される記憶手段30上の書き込みアドレスに書き込むものである。
The
データ削除手段21dは、データ管理手段23からの指示に基づいて、記憶手段30に記憶されているデータを削除するものである。
このように、データ格納・削除手段21は、最新バージョンのデータを、記憶手段30に記憶し、旧バージョンのデータは、順次、最新バージョンのデータからの差分をとった差分データとして記憶手段30に記憶する。
The
As described above, the data storage /
データ配信手段22は、通信送受信手段10を介して、記憶手段30に記憶されているデータを、そのデータを要求した要求元(例えば、クライアントコンピュータ)に配信するものである。なお、データ配信手段22は、要求されたデータが最新バージョンでない場合は、最新バージョンのデータを用いて順次古いバージョンのデータを反映させることによって、指示されたバージョンのデータを生成し、配信する。ここでは、データ配信手段22は、データ読出手段22aと、データ生成手段22bと、データ送信手段22cとを備えている。
The
データ読出手段22aは、データ生成手段22bと、差分データ生成手段21bからの要求に基づいて、記憶手段30から最新データ又は差分データを読み出すものである。 The data reading means 22a reads the latest data or difference data from the storage means 30 based on requests from the data generation means 22b and the difference data generation means 21b.
データ生成手段22bは、データの読み出し要求があった場合、データ管理手段23から指示されるファイル名とバージョンに基づいて、データ読出手段22aを介して、最新データ及び差分データを読み出し、指示されたバージョンのデータを生成するものである。
例えば、最新データが、一世代前のデータに、あるデータを追加することで生成されたものである場合、差分データは、その追加されたデータのみとなる。この場合、データ生成手段22bは、最新データから差分データで示されるデータを削除することで、一世代前のデータを生成する。
When there is a data read request, the data generation means 22b reads the latest data and difference data via the data read means 22a based on the file name and version specified by the data management means 23, and is instructed. Generates version data.
For example, when the latest data is generated by adding certain data to data one generation before, the difference data is only the added data. In this case, the
なお、指示されたバージョンが最新バージョンである場合、データ生成手段22bは、読み出した最新データをそのままデータ送信手段22cに出力する。また、指示されたバージョンが最新バージョンよりも一世代前のバージョンである場合、データ生成手段22bは、読み出した最新データに対する一世代前の差分データを読み出し、一世代前のデータを生成する。また、指示されたバージョンが最新バージョンよりも二世代前のバージョンである場合、データ生成手段22bは、一世代前のデータと、さらに一世代前の差分データとから二世代前のデータを生成する。指示されたバージョンがさらに古い場合は、順次差分データを読み出し、すでに生成されているデータから、所望のバージョンのデータを生成する。このデータ生成手段22bで生成された旧バージョンのデータは、データ送信手段22cに出力される。
When the instructed version is the latest version, the
データ送信手段22cは、データ生成手段22bから出力される最新バージョンのデータ、又は、旧バージョンのデータを、データ管理手段23から通知される「データ配信要求」の要求元(例えば、クライアントコンピュータ)に、通信送受信手段10を介して送信するものである。
このように、データ配信手段22は、最新バージョンのデータについては、記憶手段30から読み出した最新データをそのまま要求元に送信し、旧バージョンのデータについては、最新バージョンのデータから順次旧バージョンの差分データからデータを生成し、要求元に送信する。
The
As described above, the
データ管理手段23は、制御情報受信手段26で受信した制御情報に基づいて、データを管理するものである。ここでは、データ管理手段23は、ディレクトリ管理手段23aと、メタデータ生成手段23bと、データ変更手段23cと、データ操作制御手段23dとを備えている。
The
ディレクトリ管理手段23aは、記憶手段30に記憶される最新データ及びメタデータを、木構造(例えば、Btree)の階層構造で管理するものである。このディレクトリ管理手段23aは、最上位層のルートノードと、中間層のインデックスノードと、最下位層の葉ノードとによって、データを階層化し、ルートノードとインデックスノードは、下位層のノードへのポインタ(アドレス)を含み、データ等の実データを葉ノードとして管理する。この木構造は、記憶手段30の予め定めた領域にディレクトリ情報として書き込まれる。
The
すなわち、ディレクトリ管理手段23aは、データがデータ記憶装置1に記憶される場合、記憶手段30のディレクトリ情報に葉ノードとして追加し、データがデータ記憶装置1から配信される場合、記憶手段30のディレクトリ情報を用いて、データのポインタ(アドレス)を探索する。
なお、ディレクトリ管理手段23aは、直接差分データのポインタ(アドレス)を管理していない。この差分データのポインタは、最新データに対応するメタデータに記述されているポインタによって、リンクして管理されている。
That is, when data is stored in the data storage device 1, the
The
メタデータ生成手段23bは、制御情報として最新データの格納要求(「データ格納要求」)を受信した場合に、その最新データのバージョンと、当該最新データのアドレスと、一世代前のデータを特定するメタデータのアドレスとを少なくとも記述したメタデータを生成するものである。このメタデータ生成手段23bで生成されたメタデータは、メタデータ書込・読出手段24を介して、記憶手段30に追加記憶される。
When the
ここで、図3を参照(適宜図2参照)して、メタデータの構造について説明する。図3は、メタデータの構造を説明するための図であって、(a)はメタデータの構造の一例を示すデータ構造図、(b)はメタデータとデータとの関係を示す図である。
図3(a)に示すように、ここでは、メタデータMには、ファイル識別子fdと、バージョン番号verと、データサイズsizと、データポインタ(アドレス)dpと、メタデータポインタ(アドレス)mpを記述している。
Here, the metadata structure will be described with reference to FIG. 3 (refer to FIG. 2 as appropriate). 3A and 3B are diagrams for explaining the structure of metadata, where FIG. 3A is a data structure diagram showing an example of the structure of metadata, and FIG. 3B is a diagram showing the relationship between metadata and data. .
As shown in FIG. 3A, here, the metadata M includes a file identifier fd, a version number ver, a data size siz, a data pointer (address) dp, and a metadata pointer (address) mp. It is described.
ファイル識別子fdは、データを識別するための情報であって、ファイル名、数字等データを特定する情報である。
バージョン番号verは、データのバージョンを示す情報であって、例えば、「1.00」、「ver.2」等の英数字の組み合わせによって、データの世代順を特定する情報である。
データサイズsizは、データの長さを示す情報であって、例えば、バイト長である。
データポインタ(アドレス)dpは、当該データが記憶手段30に記憶されているアドレスを示す。
メタデータポインタ(アドレス)mpは、当該データの一世代前のデータを特定するメタデータが記憶手段30に記憶されているアドレスを示す。なお、当該メタデータが最も古いバージョンの場合は、メタデータポインタmpの値を“NULL”とする。
The file identifier fd is information for identifying data, and is information for specifying data such as a file name and a number.
The version number ver is information indicating the version of the data, and is information for specifying the generation order of the data by a combination of alphanumeric characters such as “1.00” and “ver.2”, for example.
The data size siz is information indicating the length of data, and is, for example, a byte length.
The data pointer (address) dp indicates an address at which the data is stored in the
The metadata pointer (address) mp indicates an address at which the metadata for specifying the data one generation before the data is stored in the
このように、メタデータMを構成することで、メタデータMのメタデータポインタmpによって、世代を遡ってデータにアクセスすることが可能となる。例えば、図3(b)の例では、メタデータM3に記述されているデータポインタdp3によって、最新バージョン(ver.3)のデータD3にアクセスが可能となる。そして、メタデータM3に記述されているメタデータポインタmp2によって、一世代前(ver.2)のデータ(差分データ)D2を特定するメタデータM2を参照し、そのメタデータM2に記述されているデータポインタdp2によって、一世代前(ver.2)のデータ(差分データ)D2にアクセスが可能となる。同様に、メタデータM2に記述されているメタデータポインタmp1によって、一世代前(ver.1)のデータ(差分データ)D1を特定するメタデータM1を参照し、そのメタデータM1に記述されているデータポインタdp1によって、一世代前(ver.1)のデータ(差分データ)D1にアクセスが可能となる。
図2に戻って、データ記憶装置1の構成について説明を続ける。
Thus, by configuring the metadata M, it is possible to access the data retroactively by the metadata pointer mp of the metadata M. For example, in the example of FIG. 3B, the data D 3 of the latest version (ver. 3) can be accessed by the data pointer dp3 described in the metadata M 3 . Then, the metadata pointer mp2 described in the metadata M 3, with reference to the metadata M 2 for specifying the data (difference data) D 2 of the previous generation (ver.2), the metadata M 2 With the data pointer dp2 described, it is possible to access the data (difference data) D2 of the previous generation (ver. 2 ). Similarly, the metadata pointer mp1 described in the metadata M 2, with reference to the metadata M 1 for specifying the data (difference data) D 1 of the previous generation (ver.1), the meta data M 1 The data pointer dp1 described in ( 1 ) enables access to data (difference data) D1 of the previous generation (ver. 1 ).
Returning to FIG. 2, the description of the configuration of the data storage device 1 will be continued.
データ変更手段23cは、記憶手段30に記憶されている一世代前のデータを、差分データに変更するものである。すなわち、データ変更手段23cは、差分データ生成手段21bが差分データを生成した段階で、一世代前のデータをデータ削除手段21dにより削除し、一世代前のデータを特定するメタデータのデータポインタdp(図3参照)に差分データの記憶先のアドレスを書き込む。これによって、新規に記憶されたデータの一世代前のデータが差分データに変更されたことになる。
The
データ操作制御手段23dは、制御情報受信手段26で受信した制御情報に基づいて、データの操作を行うものである。
例えば、データ操作制御手段23dは、制御情報である「データ格納要求」を受信したとき、データ格納・削除手段21に対して、最新データの送信元と、ディレクトリ管理手段23aで管理されているアドレス(記憶先)を通知することで、最新データの格納(記憶)を行う。
また、データ操作制御手段23dは、制御情報である「データ配信要求」を受信したとき、データ配信手段22に対して、データの送信先(要求元)、バージョン、記憶手段30に記憶されているアドレス(記憶先)を通知することで、必要に応じてデータを生成し、クライアントコンピュータへ配信する。
The data
For example, when the data
Further, when the data
メタデータ書込・読出手段24は、メタデータを記憶手段30に書き込んだり、記憶手段30からメタデータを読み出したりするものである。
このメタデータ書込・読出手段24は、データ管理手段23のメタデータ生成手段23bで生成されたメタデータを記憶手段30に書き込み、データ変更手段23cやデータ操作制御手段23dがメタデータを参照するために記憶手段30からメタデータを読み出す。
The metadata writing /
The metadata writing /
ディレクトリ情報書込・読出手段25は、記憶手段30に記憶されているディレクトリ情報を書き込んだり、読み出したりするものである。
このディレクトリ情報書込・読出手段25は、データ管理手段23のディレクトリ管理手段23aからの指示に基づいて、ディレクトリ情報を書き込んだり、読み出したりする。
The directory information writing /
The directory information writing / reading means 25 writes or reads directory information based on an instruction from the directory management means 23 a of the data management means 23.
制御情報受信手段26は、通信送受信手段10を介して、クライアントコンピュータ等から、データ以外の情報である制御情報を受信するものである。この制御情報受信手段26で受信した制御情報は、データ管理手段23に出力される。
The control information receiving means 26 receives control information that is information other than data from the client computer or the like via the communication transmitting / receiving means 10. The control information received by the control
制御情報送信手段27は、データ管理手段23から出力される制御情報を、通信送受信手段10を介して、クライアントコンピュータ等に送信するものである。
ここで、制御情報は、データを格納する(書き込む)旨を示す「データ格納要求」、データを配信する(読み出す)旨を示す「データ配信要求」等、あるいはこれらの指示に対する応答等である。
The control
Here, the control information is a “data storage request” indicating that data is stored (written), a “data distribution request” indicating that data is distributed (read), or a response to these instructions.
記憶手段30は、データ(最新データ)や差分データ、当該データや差分データに対応するメタデータを世代数分記憶するものであって、ハードディスク等の一般的な記憶装置である。
なお、記憶手段30は、最新バージョンの全データを記憶し、それより古いバージョンのデータは、一世代後のバージョンのデータとの差分データのみを記憶する。
また、記憶手段30は、ディレクトリ管理手段23aが管理するディレクトリ情報を記憶する。
ここでは、データ(最新データ)及び差分データと、メタデータと、ディレクトリ情報とを同一の記憶手段30に記憶しているが、個々に個別の記憶手段に記憶することとしてもよい。
The storage means 30 stores data (latest data), difference data, and metadata corresponding to the data and difference data for the number of generations, and is a general storage device such as a hard disk.
The storage means 30 stores all the latest version data, and the older version data stores only the difference data from the next generation version data.
The
Here, the data (latest data), the difference data, the metadata, and the directory information are stored in the
以上説明したように、データ記憶装置1を構成することで、ディレクトリ管理手段23aは、最新のメタデータのみを管理することになり、高速に最新データにアクセスすることができる。そして、データ記憶装置1は、メタデータによって参照可能な差分データを順次参照することで、古いバージョンのデータを生成することができる。
なお、ここでは、データ記憶装置1が古いバージョンのデータを生成する機能を付加した構成としたが、この古いバージョンのデータの生成は、最新データと差分データとを取得したクライアントコンピュータ等で行うこととしてもよい。この場合、データ記憶装置1は、構成からデータ生成手段22bを省略する。
As described above, by configuring the data storage device 1, the
Here, the data storage device 1 is configured to have a function of generating an old version of data. However, the generation of the old version of data is performed by a client computer or the like that has acquired the latest data and difference data. It is good. In this case, the data storage device 1 omits the
(データ記憶装置の動作)
次に、図4及び図5を参照して、本発明に係るデータ記憶装置1の動作について説明する。図4は、本発明の第1の実施の形態に係るデータ記憶装置における最新データを格納する動作(データ格納動作)を示すフローチャートである。図5は、本発明の第1の実施の形態に係るデータ記憶装置におけるデータを配信する動作(データ配信動作)を示すフローチャートである。
(Operation of data storage device)
Next, the operation of the data storage device 1 according to the present invention will be described with reference to FIG. 4 and FIG. FIG. 4 is a flowchart showing an operation (data storage operation) for storing the latest data in the data storage device according to the first embodiment of the present invention. FIG. 5 is a flowchart showing an operation of distributing data (data distribution operation) in the data storage device according to the first embodiment of the present invention.
〔データ格納動作〕
最初に、図4を参照(適宜図2参照)して、データ記憶装置1における最新データを格納する動作について説明する。ここでは、クライアントコンピュータ(図示せず)から、ファイル名やバージョンを含んだ「データ格納要求」がデータ記憶装置1に送出され、クライアントコンピュータから、最新データが送信された後の動作について説明する。
[Data storage operation]
First, the operation of storing the latest data in the data storage device 1 will be described with reference to FIG. 4 (refer to FIG. 2 as appropriate). Here, an operation after a “data storage request” including a file name and version is transmitted from the client computer (not shown) to the data storage device 1 and the latest data is transmitted from the client computer will be described.
まず、データ記憶装置1は、データ受信手段21aによって、通信送受信手段10を介して、最新データを受信する(ステップS1)。
そして、データ記憶装置1は、データ読出手段22aによって、ディレクトリ管理手段23aで管理されている、最新データに対する一世代前のデータを記憶手段30から読み出す(ステップS2)。
さらに、データ記憶装置1は、差分データ生成手段21bによって、ステップS1で受信された最新データと、ステップS2で読み出された一世代前のデータとの差分をとった差分データを生成する(ステップS3)。
First, the data storage device 1 receives the latest data by the
Then, the data storage device 1 reads the data one generation before the latest data managed by the
Further, the data storage device 1 generates difference data by taking the difference between the latest data received in step S1 and the previous generation data read in step S2 by the difference
そして、データ記憶装置1は、データ変更手段23cからの指示によって、データ書込手段21cが、ステップS3で生成された差分データを記憶手段30に書き込む(ステップS4)。
そして、データ記憶装置1は、データ変更手段23cによって、一世代前のデータに対応する記憶手段30に記憶されているメタデータに、ステップS3で生成された差分データのアドレスを記述することで、メタデータを変更する(ステップS5)。
In the data storage device 1, the
Then, the data storage device 1 describes the address of the difference data generated in step S3 in the metadata stored in the
さらに、データ記憶装置1は、メタデータ生成手段23bによって、最新データに対応するメタデータを生成する(ステップS6)。すなわち、メタデータ生成手段23bが、「データ格納要求」に含まれるファイル名、バージョン及びデータサイズと、最新データが記憶手段30に記憶されているアドレスと、ステップS5で変更されたメタデータが記憶手段30に記憶されているアドレスとから、最新データに対応するメタデータを生成する。
Furthermore, the data storage device 1 generates metadata corresponding to the latest data by the
そして、データ記憶装置1は、メタデータ書込・読出手段24によって、ステップS6で生成されたメタデータを記憶手段30に書き込む(ステップS7)。
さらに、データ記憶装置1は、データ変更手段23cからの指示によって、データ書込手段21cが、ステップS1で受信された最新データを記憶手段30に書き込む(ステップS8)。なお、この最新データの記憶手段30への書き込みは、差分データを生成する前、例えば、ステップS1の後で行うこととしてもよい。
Then, the data storage device 1 writes the metadata generated in step S6 into the
Further, in the data storage device 1, the
さらに、データ記憶装置1は、データ変更手段23cからの指示によって、データ削除手段21dが、一世代前のデータを記憶手段30から削除する(ステップS9)。なお、このとき、ディレクトリ管理手段23aによって、記憶手段30に記憶されているディレクトリ情報から、一世代前のデータの情報が削除される。
そして、データ記憶装置1は、ディレクトリ管理手段23aによって、ステップS7で記憶手段30に書き込まれたメタデータのアドレスと、ステップS8で記憶手段30に書き込まれたデータのアドレスとにより、ディレクトリ情報を更新する(ステップS10)。
Further, in the data storage device 1, the
Then, the data storage device 1 updates the directory information by the
以上の動作によって、最新データのみが、全データを有し、古いバージョンのデータは差分データのみに変換される。そして、最新データに対応するメタデータが、一世代前のメタデータのアドレスを示すことから、古いバージョンのデータ(差分データ)及びそのメタデータは、ディレクトリ管理手段23aが管理するディレクトリ情報には記憶されず、最新データ及びそのメタデータの情報のみが記憶されることになる。これによって、最新データを高速に探索し読み出すことができる。
By the above operation, only the latest data has all the data, and the old version data is converted to only the difference data. Since the metadata corresponding to the latest data indicates the address of the metadata one generation before, the old version data (difference data) and the metadata are stored in the directory information managed by the
〔データ配信動作〕
次に、図5を参照(適宜図2参照)して、データ記憶装置1におけるデータを配信する動作について説明する。ここでは、クライアントコンピュータ(図示せず)から、ファイル名やバージョンを含んだ「データ配信要求」がデータ記憶装置1に送出された後の動作について説明する。
[Data distribution operation]
Next, the operation of distributing data in the data storage device 1 will be described with reference to FIG. Here, an operation after a “data distribution request” including a file name and version is sent from the client computer (not shown) to the data storage device 1 will be described.
まず、データ記憶装置1は、ディレクトリ管理手段23aによって、記憶手段30に記憶されているディレクトリ情報を参照して、指示されたファイル名を有する最新のメタデータを探索する(ステップS11)。このメタデータは、データ配信手段22に通知される。
そして、データ記憶装置1は、データ配信手段22のデータ読出手段22aによって、記憶手段30からメタデータに記述されているデータポインタに基づいて、最新データを記憶手段30から読み出す(ステップS12)。
First, the data storage device 1 searches the latest metadata having the instructed file name by referring to the directory information stored in the
Then, the data storage device 1 reads the latest data from the
そして、データ記憶装置1は、データ生成手段22bによって、最新データ又は後記するステップS16で生成されたデータのバージョンが、要求のあったバージョンであるかどうかを判定する(ステップS13)。
Then, the data storage device 1 determines whether the latest data or the version of the data generated in step S16 described later is the requested version by the
ここで、最新データ又はステップS16で生成されたデータのバージョンが、要求のあったバージョン(要求バージョン)でない場合、すなわち、要求のあったバージョンが、最新データ又はステップS16で生成されたデータのバージョンよりも古い場合(ステップS13でNo)、データ記憶装置1は、データ生成手段22bによって、最新データ又は直前に生成されたデータに対応するメタデータに記述されているメタデータポインタを参照して、メタデータ書込・読出手段24を介して、一世代前のメタデータを記憶手段30から読み出す(ステップS14)。
そして、データ記憶装置1は、データ生成手段22bによって、一世代前のメタデータに記述されているデータポインタを参照して、データ読出手段22aを介して、一世代前の差分データを記憶手段30から読み出す(ステップS15)。
Here, when the latest data or the version of the data generated in step S16 is not the requested version (requested version), that is, the requested version is the latest data or the version of the data generated in step S16. If it is older (No in step S13), the data storage device 1 refers to the metadata pointer described in the metadata corresponding to the latest data or the data generated immediately before by the data generation means 22b, The previous metadata is read from the storage means 30 via the metadata writing / reading means 24 (step S14).
Then, the data storage device 1 refers to the data pointer described in the previous generation of metadata by the
続けて、データ記憶装置1は、データ生成手段22bによって、最新データ又は直前に生成されたデータとステップS15で読み出された差分データとから、一世代前のデータを生成する(ステップS16)。
そして、データ記憶装置1は、ステップS13に戻って、ステップS16で生成されたデータのバージョンが、要求のあったバージョンであるかどうかを判定する。
Subsequently, the data storage device 1 uses the
Then, the data storage device 1 returns to step S13 and determines whether or not the version of the data generated in step S16 is the requested version.
一方、最新データ又は生成されたデータのバージョンが、要求のあったバージョンである場合(ステップS13でYes)、データ記憶装置1は、データ送信手段22cによって、通信送受信手段10を介して、要求のあったバージョンのデータを「データ配信要求」の要求元に送信する(ステップS17)。
On the other hand, when the latest data or the version of the generated data is the requested version (Yes in step S13), the data storage device 1 uses the data transmitting / receiving
以上の動作によって、ディレクトリ情報とは別管理されているメタデータに記述されているメタデータポインタを遡ることで、要求のあったバージョンのデータを生成することができる。このとき、最新のバージョンのメタデータのみが、ディレクトリ情報で管理されるため、高速に最新データにアクセスすることができる。 Through the above operation, the requested version of data can be generated by tracing back the metadata pointer described in the metadata managed separately from the directory information. At this time, since only the latest version of metadata is managed by the directory information, the latest data can be accessed at high speed.
[第2の実施の形態]
(データ記憶装置の構成)
次に、図6を参照して、本発明の第2の実施の形態に係るデータ記憶装置の構成について説明する。図6は、本発明の第2の実施の形態に係るデータ記憶装置の構成を示すブロック図である。データ記憶装置1Bは、複数のデータをそれぞれ複数の世代に亘って記憶するものであって、データ記憶装置1(図2参照)と同様、図1で説明したファイルバージョン管理手法を実現するものである。
[Second Embodiment]
(Configuration of data storage device)
Next, the configuration of the data storage device according to the second embodiment of the present invention will be described with reference to FIG. FIG. 6 is a block diagram showing the configuration of the data storage device according to the second embodiment of the present invention. The
ここでは、データ記憶装置1Bは、データ記憶装置1のデータ格納・削除手段21にメタデータ付加手段21eを付加し、データ記憶装置1のデータ配信手段22にメタデータ除去手段22dを付加している。
また、データ記憶装置1Bは、データ記憶装置1のメタデータ生成手段23b及びデータ生成手段22bを、機能を変更したメタデータ生成手段23Bb及びデータ生成手段22Bbとし、データ記憶装置1のメタデータ書込・読出手段24を削除している。
Here, the
Further, the
このデータ記憶装置1Bは、データ記憶装置1で説明したメタデータを、データに付加することで、メタデータとデータとを1つのファイルとして扱っていることが、データ記憶装置1と大きく異なっている。
以下、データ記憶装置1と異なる構成について説明する。なお、データ記憶装置1と同一の構成については、同一の符号を付し、説明を省略する。
The
Hereinafter, a configuration different from the data storage device 1 will be described. In addition, about the structure same as the data storage device 1, the same code | symbol is attached | subjected and description is abbreviate | omitted.
メタデータ付加手段21eは、データ受信手段21aで受信された最新データと、差分データ生成手段21bで生成された差分データとのそれぞれに、メタデータ生成手段23Bbで生成されたメタデータを付加するものである。
これによって、最新データにメタデータが付加されたメタデータ付データと、差分データにメタデータが付加されたメタデータ付差分データが生成される。このメタデータ付データ及びメタデータ付差分データは記憶手段30に記憶される。
なお、このとき、ディレクトリ管理手段23aは、メタデータ付差分データのポインタ(アドレス)をディレクトリ情報から削除する。
The
Thereby, metadata-added data in which metadata is added to the latest data and difference data with metadata in which metadata is added to the difference data are generated. The data with metadata and the difference data with metadata are stored in the storage means 30.
At this time, the
データ生成手段22Bbは、データの読み出し要求があった場合、データ管理手段23Bから指示されるファイル名とバージョンに基づいて、データ読出手段22aを介して、メタデータ付データ及びメタデータ付差分データを読み出し、要求されたバージョンのデータを生成するものである。
すなわち、データ生成手段22Bbは、メタデータ付データに含まれているデータと、メタデータ付差分データに含まれている差分データとから、指示されたバージョンのデータを生成する。このデータ生成手段22Bbで生成されたデータは、データ送信手段22cに出力される。
なお、要求されたバージョンが最新バージョンの場合は、最新のメタデータ付データをそのままメタデータ除去手段22dに出力する。
When there is a data read request, the data generation unit 22Bb sends the data with metadata and the difference data with metadata through the data read
That is, the data generation means 22Bb generates the instructed version data from the data included in the data with metadata and the difference data included in the difference data with metadata. The data generated by the data generation unit 22Bb is output to the
If the requested version is the latest version, the latest data with metadata is output to the
メタデータ除去手段22dは、データ読出手段22aで読み出されたメタデータ付データから、メタデータを削除し、データのみを抽出するものである。
このメタデータ除去手段22dで抽出されたデータは、データ送信手段22cに出力される。
The
The data extracted by the
メタデータ生成手段23Bbは、制御情報としてデータの格納要求(「データ格納要求」)を受信した場合に、そのデータのバージョンと、当該データに対応する一世代前の差分データを含んだメタデータ付差分データのアドレスとを少なくとも記述したメタデータを生成するものである。このメタデータ生成手段23Bbで生成されたメタデータは、データ格納・削除手段21Bのメタデータ付加手段21eに通知される。
When the metadata generation means 23Bb receives a data storage request (“data storage request”) as control information, the metadata generation means 23Bb attaches metadata including the version of the data and the difference data of the previous generation corresponding to the data. Metadata that describes at least the address of the difference data is generated. The metadata generated by the metadata generation unit 23Bb is notified to the
ここで、図7を参照(適宜図6参照)して、メタデータ付データの構造について説明する。図7は、メタデータ付データを説明するための図であって、(a)はメタデータ付データ(メタデータ付差分データ)の構造の一例を示すデータ構造図、(b)はメタデータ付データとメタデータ付差分データとの関係を示す図である。
図7(a)に示すように、ここでは、メタデータ付データMDには、ファイル識別子fdと、バージョン番号verと、データサイズsizと、ポインタ(アドレス)pとを記述している。なお、メタデータ付差分データにおけるメタデータは、メタデータ付データMDと同一の構造である。
Here, the structure of the data with metadata will be described with reference to FIG. 7 (refer to FIG. 6 as appropriate). 7A and 7B are diagrams for explaining data with metadata, where FIG. 7A is a data structure diagram illustrating an example of the structure of data with metadata (difference data with metadata), and FIG. 7B is with data. It is a figure which shows the relationship between data and difference data with metadata.
As shown in FIG. 7A, here, in the data-added data MD, a file identifier fd, a version number ver, a data size siz, and a pointer (address) p are described. The metadata in the differential data with metadata has the same structure as the metadata with metadata MD.
ファイル識別子fd、バージョン番号ver及びデータサイズsizは、図3で説明したメタデータMの内容と同一であるので説明を省略する。
ポインタ(アドレス)pは、当該データ又は差分データの一世代前の差分データを含んだメタデータ付差分データが記憶手段30に記憶されているアドレスを示す。なお、当該メタデータ付データが最も古いバージョンの場合は、ポインタpの値を“NULL”とする。
The file identifier fd, version number ver, and data size siz are the same as the contents of the metadata M described in FIG.
The pointer (address) p indicates an address where the difference data with metadata including the difference data of the previous generation of the data or difference data is stored in the
このように、メタデータ付データ(メタデータ付差分データ)MDを構成することで、図7(b)に示すように、メタデータ付データのポインタpによって、世代を遡ってメタデータ付差分データにアクセスすることが可能となる。例えば、図7(b)の例では、最新バージョン(ver.3)のデータを含むメタデータ付データMD3のメタデータに記述されているポインタp2によって、一世代前(ver.2)の差分データを含むメタデータ付差分データMD2にアクセスが可能となる。同様に、メタデータ付差分データMD2のメタデータに記述されているポインタp1によって、一世代前(ver.1)の差分データを含むメタデータ付差分データMD1にアクセスが可能となる。 In this way, by configuring the data with metadata (difference data with metadata) MD, as shown in FIG. 7B, the difference data with metadata is traced back to the generation by the pointer p of the data with metadata. Can be accessed. For example, in the example of FIG. 7B, the difference of the previous generation (ver. 2) is determined by the pointer p2 described in the metadata of the data with metadata MD 3 including the data of the latest version (ver. 3). data can be accessed in the differential data MD 2 with metadata including. Similarly, the pointer p1 that is described in the metadata of the metadata with the differential data MD 2, it is possible to previous generation (ver.1) access metadata with difference data MD 1 including the difference data.
以上説明したように、データ記憶装置1Bを構成することで、ディレクトリ管理手段23aは、最新データ(メタデータ付データ)のみを管理することになり、高速に最新データにアクセスすることができる。そして、データ記憶装置1Bは、メタデータ付データのメタデータによって参照可能なメタデータ付差分データを順次参照することで、古いバージョンのデータを生成することができる。
As described above, by configuring the
(データ記憶装置の動作)
次に、図8及び図9を参照して、本発明に係るデータ記憶装置の動作について説明する。図8は、本発明の第2の実施の形態に係るデータ記憶装置におけるデータを格納する動作(データ格納動作)を示すフローチャートである。図9は、本発明の第2の実施の形態に係るデータ記憶装置におけるデータを配信する動作(データ配信動作)を示すフローチャートである。
(Operation of data storage device)
Next, the operation of the data storage device according to the present invention will be described with reference to FIGS. FIG. 8 is a flowchart showing an operation of storing data (data storage operation) in the data storage device according to the second embodiment of the present invention. FIG. 9 is a flowchart showing an operation of distributing data (data distribution operation) in the data storage device according to the second embodiment of the present invention.
〔データ格納動作〕
最初に、図8を参照(適宜図6参照)して、データ記憶装置1Bにおけるデータを格納する動作について説明する。ここでは、クライアントコンピュータ(図示せず)から、ファイル名やバージョンを含んだ「データ格納要求」がデータ記憶装置1Bに要求され、クライアントコンピュータから、データが送信された後の動作について説明する。
[Data storage operation]
First, an operation of storing data in the
まず、データ記憶装置1Bは、データ受信手段21aによって、通信送受信手段10を介して、最新データを受信する(ステップS21)。
そして、データ記憶装置1Bは、データ読出手段22aによって、ディレクトリ管理手段23aで管理されている、最新データに対する一世代前のデータを含んだメタデータ付データを記憶手段30から読み出す(ステップS22)。
First, the
Then, the
さらに、データ記憶装置1Bは、差分データ生成手段21bによって、ステップS21で受信された最新データと、ステップS22で読み出された一世代前のメタデータ付データに含まれているデータとの差分をとった差分データを生成し、その差分データを含んだメタデータ付差分データを生成する(ステップS23)。
そして、データ記憶装置1Bは、データ変更手段23cからの指示によって、データ書込手段21cが、ステップS23で生成されたメタデータ付差分データを記憶手段30に書き込む(ステップS24)。
Further, the
In the
そして、データ記憶装置1Bは、メタデータ生成手段23Bbによって、最新データ用のメタデータを生成する(ステップS25)。すなわち、メタデータ生成手段23Bbが、「データ格納要求」に含まれるファイル名、バージョン及びデータサイズと、最新のメタデータ付データが記憶手段30に記憶されているアドレスとから、最新データに対応するメタデータを生成する。
そして、データ記憶装置1Bは、メタデータ付加手段21eによって、ステップS21で受信された最新データに、ステップS25で生成されたメタデータを付加し、メタデータ付データを生成する(ステップS26)。
Then, the
Then, the
さらに、データ記憶装置1Bは、データ書込手段21cによって、ステップS26で生成されたメタデータ付データを記憶手段30に書き込む(ステップS27)。
そして、データ記憶装置1Bは、データ変更手段23cからの指示によって、データ削除手段21dが、一世代前のメタデータ付データを記憶手段30から削除する(ステップS28)。なお、このとき、ディレクトリ管理手段23aによって、ディレクトリ情報から、一世代前のメタデータ付データの情報が削除される。
Further, the
In the
そして、データ記憶装置1Bは、ディレクトリ管理手段23aによって、ステップS27で記憶手段30に書き込まれたメタデータ付データのアドレスにより、ディレクトリ情報を更新する(ステップS29)。
以上の動作によって、データ記憶装置1Bは、メタデータに記述されているポインタにより、最新データから、各世代に遡って古いバージョンの差分データが連結される。
Then, the
With the above operation, the
〔データ配信動作〕
次に、図9を参照(適宜図6参照)して、データ記憶装置1Bにおけるデータを配信する動作について説明する。ここでは、クライアントコンピュータ(図示せず)から、ファイル名やバージョンを含んだ「データ配信要求」がデータ記憶装置1Bに送出された後の動作について説明する。
[Data distribution operation]
Next, the operation of distributing data in the
まず、データ記憶装置1Bは、ディレクトリ管理手段23aによって、記憶手段30に記憶されているディレクトリ情報を参照して、指示されたファイル名で最新のバージョンを有するメタデータ付データを探索する(ステップS31)。このメタデータ付データのアドレスは、データ配信手段22に通知される。
そして、データ記憶装置1Bは、データ配信手段22Bのデータ読出手段22aによって、記憶手段30から、最新のメタデータ付データを読み出す(ステップS32)。
そして、データ記憶装置1Bは、データ生成手段22Bbによって、最新データ又は後記するステップS35で生成されたデータのバージョンが、要求のあったバージョンであるかどうかを判定する(ステップS33)。
First, in the
Then, the
Then, the
ここで、最新データ又はステップS35で生成されたデータのバージョンが、要求のあったバージョン(要求バージョン)でない場合、すなわち、要求のあったバージョンが、最新データ又はステップS35で生成されたデータのバージョンよりも古い場合(ステップS33でNo)、データ記憶装置1Bは、データ生成手段22Bbによって、最新データ又は直前に読み出されたデータに対応するメタデータに記述されているポインタを参照して、データ読出手段22aを介して、一世代前のメタデータ付差分データを記憶手段30から読み出す(ステップS34)。
Here, when the latest data or the version of the data generated in step S35 is not the requested version (requested version), that is, the requested version is the latest data or the version of the data generated in step S35. If it is older (No in step S33), the
続けて、データ記憶装置1Bは、データ生成手段22Bbによって、最新データ又は直前に生成されたデータとステップS35で読み出されたメタデータ付差分データ内の差分データとから、一世代前のデータを生成する(ステップS35)。
そして、データ記憶装置1Bは、ステップS33に戻って、ステップS35で生成されたデータのバージョンが、要求のあったバージョンであるかどうかを判定する。
Subsequently, the
Then, the
一方、最新データ又は生成されたデータのバージョンが、要求のあったバージョンである場合(ステップS37でYes)、データ記憶装置1Bは、メタデータ除去手段22dによって、メタデータ付データからメタデータを削除し、データのみを抽出し(ステップS36)、データ送信手段22cによって、通信送受信手段10を介して、要求のあったバージョンのデータを「データ配信要求」の要求元に送信する(ステップS37)。
以上の動作によって、メタデータに記述されているポインタを遡ることで、要求のあったバージョンのデータを生成することができる。このとき、最新のバージョンのメタデータ付データのみが、ディレクトリ情報で管理されるため、高速に最新データ(メタデータ付データ)にアクセスすることができる。
On the other hand, if the version of the latest data or the generated data is the requested version (Yes in step S37), the
Through the above operation, the requested version of data can be generated by tracing back the pointer described in the metadata. At this time, since only the latest version of the data with metadata is managed by the directory information, the latest data (data with metadata) can be accessed at high speed.
以上、第1の実施の形態及び第2の実施の形態により、本発明に係るデータ記憶装置の構成及び動作について説明を行ったが、本発明はこれに限定されるものではない。例えば、第2の実施の形態では、メタデータ付加手段21eやメタデータ除去手段22dを設けてデータのみを送受信するようにしたが、MXF(Material eXchange Format)のように、データとメタデータとをラップして1つのファイルとして扱うフォーマットのファイルを書き込む又は読み出す場合は、メタデータの内容を変更する必要はあるが、メタデータ領域そのものを付加したり削除したりする手段を設ける必要はない。また、複数のデータ記憶装置を複数ネットワークにより連結し、各データ記憶装置間で、データや差分データを分散して記憶することとしてもよい。
また、データ記憶装置1、1Bにおいて、システム管理手段20、20Bは、一般的なコンピュータを、前記した各手段として機能させるバージョン管理プログラムによって動作させることとしてもよい。
The configuration and operation of the data storage device according to the present invention have been described with the first embodiment and the second embodiment, but the present invention is not limited to this. For example, in the second embodiment, only the data is transmitted / received by providing the metadata adding means 21e and the
In the
以下、本発明に係るデータ記憶装置を、データ、差分データ等を分散して記憶する自律ストレージシステムに適用した実施の形態について説明する。なお、自律ストレージシステムは、本願出願人が開示している「データのバックアップ方法及びバックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム」(特開2004−334739号公報)を利用することができる。 Hereinafter, an embodiment in which a data storage device according to the present invention is applied to an autonomous storage system that stores data, difference data, and the like in a distributed manner will be described. Note that the autonomous storage system may use “data backup method and backup data recovery method, network storage device and network storage program” disclosed in the present applicant (Japanese Patent Laid-Open No. 2004-334739). it can.
[第3の実施の形態]
(自律ストレージシステムの概要)
最初に、図10を参照して、本発明に係るデータ記憶装置を自律ストレージシステムに適用した場合のバージョン管理手法について、その概要を説明する。図10は、本発明の第3の実施の形態に係る自律ストレージシステムで実現されるバージョン管理手法を模式的に示した図である。
[Third Embodiment]
(Outline of autonomous storage system)
First, with reference to FIG. 10, an outline of a version management method when the data storage device according to the present invention is applied to an autonomous storage system will be described. FIG. 10 is a diagram schematically showing a version management method realized in the autonomous storage system according to the third embodiment of the present invention.
図10に示すように、自律ストレージシステム2は、ディレクトリ情報を複数のデータ記憶装置1Cで共有管理し、各データ記憶装置1C間でデータを分散して記憶するものである。
ここでは、自律ストレージシステム2は、最新のバージョンのデータA,Bをデータ記憶装置1C1,1C3の記憶手段301,303にそれぞれ記憶している。
そして、旧バージョンのデータは、新バージョンのデータとの差分(差分データ〔ここでは、A1〜A5、B1〕)を各データ記憶装置1C間で分散して記憶している。ここで、最新データ(例えば、A)に対応する過去の差分データ(例えば、A1〜A5)のアドレスは、それぞれポインタにより指し示される。
As shown in FIG. 10, the autonomous storage system 2 shares and manages directory information among a plurality of
Here, the autonomous storage system 2 stores the respective current version of the data A, B in the storage means 30 1, 30 3 of the
The old version data stores the difference (difference data [here, A1 to A5, B1]) with the new version data distributed among the
また、ここでは、自律ストレージシステム2は、データ及び差分データを記憶するデータ記憶配置を、データに対するアクセス頻度の割合によって、決定することとしている。例えば、最新データBに対するアクセスを“1”としたとき、一世代前のデータ(データB+差分データB1)へアクセスが所定の割合(移動境界;例えば、“0.7”)を下回った段階で、差分データB1を、データBとは異なるデータ記憶装置1C(例えば、論理アドレスで隣接するデータ記憶装置1C4)に移動させる。なお、この移動境界はデータ記憶装置1C間で段階的に複数設定してもよい。
Here, the autonomous storage system 2 determines the data storage arrangement for storing the data and the difference data according to the ratio of the access frequency to the data. For example, when the access to the latest data B is “1”, the access to the previous generation of data (data B + difference data B1) falls below a predetermined ratio (movement boundary; for example, “0.7”). , the difference data B1, different
これによって、例えば、頻繁にアクセスが行われる差分データ(ここでは、A1,A2)が、最新データAと同じデータ記憶装置1C1に記憶され、アクセス頻度の割合が低下した差分データA3が他のデータ記憶装置1C2に記憶されることになる。
このように、アクセス頻度の割合が高い差分データを最新データと同一の記憶手段に記憶させることで、アクセス頻度の高いデータ(及び差分データ)を高速に読み出すことが可能となる。また、アクセス頻度の割合が低い差分データを最新データと分離させることで、各データ記憶装置間で記憶されているデータの容量を分散させることができる。
Thereby, for example, (in this case, A1, A2) frequently difference data access is performed, are stored in the same
In this way, by storing the difference data having a high access frequency ratio in the same storage means as the latest data, it is possible to read the data (and the difference data) having a high access frequency at high speed. Further, by separating the difference data having a low access frequency ratio from the latest data, it is possible to distribute the capacity of data stored among the data storage devices.
(データ記憶装置の構成)
次に、図11を参照して、自律ストレージシステムを構成する、本発明の第3の実施の形態に係るデータ記憶装置の構成について説明する。図11は、本発明の第3の実施の形態に係るデータ記憶装置の構成を示すブロック図である。データ記憶装置1Cは、複数のデータをそれぞれ複数の世代に亘って記憶するものであって、図10で説明したバージョン管理手法を実現するものである。
(Configuration of data storage device)
Next, the configuration of the data storage device according to the third embodiment of the present invention, which constitutes the autonomous storage system, will be described with reference to FIG. FIG. 11 is a block diagram showing a configuration of a data storage device according to the third embodiment of the present invention. The
ここでは、データ記憶装置1Cは、図2で説明したデータ記憶装置1のデータ管理手段23に、アクセス頻度計測手段23eと、データ移動手段23fと、メタデータ変更手段23gとを付加している。他の構成については、図2で説明したデータ記憶装置1と同一であるため、同一の符号を付し、説明を省略する。
Here, in the
アクセス頻度計測手段23eは、記憶手段30に記憶されているデータに対する、当該データに対応する差分データへのアクセス頻度の割合を定期的に計測するものである。
すなわち、アクセス頻度計測手段23eは、最新データへの読み出し要求(アクセス)と、古いデータ(差分データ)への読み出し要求(アクセス)の回数とを計測し、最新データに対するアクセスの割合を“1”としたときの、差分データへのアクセス頻度の割合を算出する。このアクセス頻度の割合は、記憶手段30に記憶しておく。なお、このアクセス頻度の割合は、メタデータに付加して記憶することとしてもよい。
The access
That is, the access
データ移動手段23fは、アクセス頻度計測手段23eによって計測されたアクセス頻度の割合に基づいて、差分データを、予め定めた他のデータ記憶装置(例えば、IPアドレス等で論理的に隣接するデータ記憶装置)に移動させるものである。
ここでは、データ移動手段23fは、記憶手段30に記憶されているアクセス頻度の割合が、同じく記憶手段30に記憶されている移動境界の値以下となった段階で、対応する差分データをデータ配信手段22に通知し、他のデータ記憶装置に送信する。ここで、移動境界とは、当該データ記憶装置1Cに残す差分データのアクセス頻度の割合と、移動を行わせる差分データのアクセス頻度の割合との境界を示すものとする。なお、移動境界は、メタデータに付加して記憶し、データ毎に異なる値とすることとしてもよい。
The
Here, the
このように、アクセス頻度の割合に基づいて移動境界を設定する場合、データ移動手段23fは、新しいバージョンのデータが記憶手段30に記憶されたときに、データ記憶装置1Cにおける当該データに対するアクセス頻度の割合に対して、当該データに対応する差分データを記憶した、予め定めた他のデータ記憶装置(論理的に隣接するデータ記憶装置)における差分データに対するアクセス頻度の割合が予め定めた値を下回る場合に、記憶手段30に記憶されている差分データを、他のデータ記憶装置に移動させるかどうかを判定する。
As described above, when the movement boundary is set based on the ratio of the access frequency, the
すなわち、データ移動手段23fは、新しいバージョンを記憶したデータの各バージョンにおいて、仮にそのバージョンよりも古い差分データを他のデータ記憶装置に移動した後の当該差分データへのアクセス頻度の割合が、移動境界以下である場合に、その差分データを、他のデータ記憶装置に移動させるものと判定し、移動を実行する。
これによって、データ記憶装置1Cは、アクセス負荷を分散させることができる。
That is, the
Thus, the
なお、移動境界は、アクセス頻度の割合のみならず、記憶装置30に記憶されているデータの容量と、予め定めた他のデータ記憶装置(論理的に隣接するデータ記憶装置)に記憶されているデータの容量との比に基づいて設定することとしてもよい。
この場合、データ移動手段23fは、新しいバージョンのデータが記憶手段30に記憶されたときに、データ記憶装置1Cにおけるデータ容量と、他のデータ記憶装置におけるデータ容量との比が、予め定めた値を下回る場合に、記憶手段30に記憶されている差分データを、他のデータ記憶装置に移動させるかどうかを判定する。
Note that the movement boundary is stored not only in the rate of access frequency but also in the capacity of data stored in the
In this case, when a new version of data is stored in the
すなわち、データ移動手段23fは、新しいバージョンを記憶したデータの各バージョンにおいて、仮にそのバージョンよりも古い差分データを他のデータ記憶装置に移動した後の当該差分データへのアクセス頻度の割合が、データ容量の比に応じて設定した移動境界以下である場合に、その差分データを、他のデータ記憶装置に移動させるものと判定し、移動を実行する。
これによって、データ記憶装置1Cは、容量分散を行うことができる。
That is, the
As a result, the
このデータ移動手段23fは、差分データを移動させる場合、制御情報送信手段27を介して、差分データを格納する旨の要求である「差分格納要求」を、制御情報として他のデータ記憶装置に送信し、データ配信手段22に差分データを配信する旨の指示を行うことで、差分データを他のデータ記憶装置に送信する。
なお、データ移動手段23fは、他のデータ記憶装置から、制御情報受信手段26を介して「差分格納要求」を受信し、差分データを他のデータ記憶装置から受信した場合は、データ格納・削除手段21に格納要求を通知することで、当該差分データを記憶手段30に記憶する。また、データ移動手段23fは、差分データが記憶手段30に記憶されているアドレスを、「差分格納要求」に対する応答として、制御情報送信手段27を介して、差分データを送信してきたデータ記憶装置に送信する。
When moving the difference data, the
The
メタデータ変更手段23gは、記憶手段30に記憶されているメタデータを更新するものである。ここでは、メタデータ変更手段23gは、データ移動手段23fにより差分データが他のデータ記憶装置に送信された後の、他のデータ記憶装置からの「差分格納要求」に対する応答に含まれている、差分データを記憶したアドレスに基づいて、記憶手段30に記憶されているメタデータのデータポインタdp(図3参照)を変更する。この場合、データポインタdpには、アドレスに、差分データを記憶したデータ記憶装置の識別情報(例えば、IPアドレス)を付加した情報を書き込むこととする。
The
以上説明したように、データ記憶装置1Cを構成することで、アクセス頻度が低下した差分データを他のデータ記憶装置に移動させることで、容量の分散を行うことができる。また、このとき、アクセス頻度の高いバージョンのデータ(差分データ)は、同じデータ記憶装置で管理されるため、データを生成し、配信する時間を低下させることがない。
As described above, by configuring the
[第4の実施の形態]
なお、本発明に係るデータ記憶装置は、図12に示したデータ記憶装置1Dとして構成してもよい。図12は、本発明の第4の実施の形態に係るデータ記憶装置の構成を示すブロック図である。
データ記憶装置1Dは、データ記憶装置1C(図11参照)と同様、図10で説明したバージョン管理手法を実現するものである。
[Fourth Embodiment]
The data storage device according to the present invention may be configured as the
Similar to the
このデータ記憶装置1Dは、データ記憶装置1C(図11参照)におけるメタデータを、データに付加することで、1つのファイルとして扱っている。すなわち、データ記憶装置1Dは、図6で説明したデータ記憶装置1Bに対して、図11で説明したアクセス頻度計測手段23eを付加し、さらに、データ移動手段23Dfと、メタデータ変更手段23Dgとを付加している。
The
以下、データ記憶装置1B及びデータ記憶装置1Dと異なる構成であるデータ移動手段23Dfと、メタデータ変更手段23Dgとについて説明する。他の構成については、データ記憶装置1B及びデータ記憶装置1Dと同一であるため、同一の符号を付すことで、説明を省略する。
Hereinafter, the data moving unit 23Df and the metadata changing unit 23Dg having different configurations from the
データ移動手段23Dfは、アクセス頻度計測手段23eによって計測されたアクセス頻度の割合に基づいて、メタデータ付差分データを、予め定めた他のデータ記憶装置(例えば、IPアドレス等で論理的に隣接するデータ記憶装置)に移動させるものである。すなわち、データ移動手段23Dfは、図11で説明したデータ移動手段23fに比べ、移動させるデータを差分データからメタデータ付差分データに変更しただけであり、他の機能は、データ移動手段23fと同じである。
The data moving unit 23Df logically adjoins the differential data with metadata based on the access frequency ratio measured by the access
メタデータ変更手段23Dgは、記憶手段30に記憶されているメタデータ付差分データに含まれているメタデータを更新するものである。すなわち、メタデータ変更手段23Dgは、データ移動手段23Dfによりメタデータ付差分データが他のデータ記憶装置に送信された後の、他のデータ記憶装置からの「差分格納要求」に対する応答に含まれている、メタデータ付差分データを記憶したアドレスに基づいて、メタデータ付差分データに含まれているメタデータに記述されているポインタp(図7参照)を変更する。
このように、データ記憶装置1Dを構成することで、データ記憶装置1C(図11参照)と同様、アクセス頻度が低下した差分データを他のデータ記憶装置に移動させることで、容量の分散を行うことができるとともに、最新のバージョンのデータに高速にアクセスすることができる。
The metadata changing unit 23Dg updates metadata included in the differential data with metadata stored in the
In this way, by configuring the
1 データ記憶装置
10 通信送受信手段
20 システム管理手段
21 データ格納・削除手段
21a データ受信手段
21b 差分データ生成手段
21c データ書込手段
21d データ削除手段
21e メタデータ付加手段
22 データ配信手段
22a データ読出手段
22b データ生成手段
22c データ送信手段
22d メタデータ削除手段
23 データ管理手段
23a ディレクトリ管理手段
23b メタデータ生成手段
23c データ変更手段
23d データ操作制御手段
23e アクセス頻度計測手段
23f データ移動手段
24g メタデータ変更手段
24 メタデータ書込・読出手段
25 ディレクトリ情報書込・読出手段
26 制御情報受信手段
27 制御情報送信手段
30 記憶手段
DESCRIPTION OF SYMBOLS 1
Claims (6)
前記データを前記世代数分記憶する記憶手段と、
入力された最新データと、当該最新データのバージョンと、当該最新データより一世代前のデータが前記記憶手段に記憶されているアドレスとを対応付けたメタデータを生成するメタデータ生成手段と、
を備えていることを特徴とするデータ記憶装置。 In a data storage device that stores a plurality of data over a plurality of generations by a hierarchical structure,
Storage means for storing the data for the number of generations;
Metadata generation means for generating metadata in which the latest data input, a version of the latest data, and an address in which data one generation before the latest data is stored in the storage means are associated;
A data storage device comprising:
前記メタデータを参照して、前記最新データの一世代前のデータを、前記差分データ生成手段で生成された差分データに変更するデータ変更手段と、
を備えていることを特徴とする請求項1に記載のデータ記憶装置。 Difference data generation means for generating difference data that is a difference between the latest data and data one generation before the latest data stored in the storage means;
Referring to the metadata, data changing means for changing the data one generation before the latest data to differential data generated by the differential data generating means;
The data storage device according to claim 1, further comprising:
このアクセス頻度計測手段によって計測されたアクセス頻度の割合が所定値以下となった差分データを、予め定めた他のデータ記憶装置に送信するデータ移動手段と、
前記他のデータ記憶装置が当該他のデータ記憶装置の記憶手段に記憶した前記差分データのアドレスに基づいて、前記メタデータを変更するメタデータ変更手段と、
を備えていることを特徴とする請求項2又は請求項3に記載のデータ記憶装置。 An access frequency measuring means for measuring a ratio of an access frequency to the difference data corresponding to the data with respect to the data;
Data moving means for transmitting the difference data in which the ratio of the access frequency measured by the access frequency measuring means is equal to or less than a predetermined value to another predetermined data storage device;
Metadata changing means for changing the metadata based on the address of the difference data stored in the storage means of the other data storage device by the other data storage device;
The data storage device according to claim 2, further comprising:
入力された最新データと、当該最新データのバージョンと、当該最新データより一世代前のデータが記憶手段に記憶されているアドレスとを対応付けたメタデータを生成するメタデータ生成手段、
前記最新のデータと、前記記憶手段に記憶されている当該最新データより一世代前のデータとの差分である差分データを生成する差分データ生成手段、
前記メタデータを参照して、前記最新データの一世代前のデータを、前記差分データ生成手段で生成された差分データに変更するデータ変更手段、
前記メタデータで特定される一世代以前の前記差分データに基づいて、前記記憶手段に記憶されている最新バージョンのデータから、指定されたバージョンのデータを生成するデータ生成手段、
として機能させることを特徴とするバージョン管理プログラム。 In order to manage a plurality of data over a plurality of generations by a hierarchical structure,
Metadata generation means for generating metadata in which the latest input data, the version of the latest data, and the address at which the data one generation before the latest data is stored in the storage means are associated with each other;
Differential data generation means for generating difference data that is a difference between the latest data and data one generation before the latest data stored in the storage means;
A data changing unit that refers to the metadata and changes the data one generation before the latest data to the differential data generated by the differential data generating unit;
Data generation means for generating a specified version of data from the latest version of data stored in the storage means based on the difference data of one generation or earlier specified by the metadata;
Version management program characterized by functioning as
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005203896A JP4713257B2 (en) | 2005-07-13 | 2005-07-13 | Data storage device and version management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005203896A JP4713257B2 (en) | 2005-07-13 | 2005-07-13 | Data storage device and version management program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007025843A true JP2007025843A (en) | 2007-02-01 |
JP4713257B2 JP4713257B2 (en) | 2011-06-29 |
Family
ID=37786547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005203896A Active JP4713257B2 (en) | 2005-07-13 | 2005-07-13 | Data storage device and version management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4713257B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008257725A (en) * | 2007-03-30 | 2008-10-23 | Symantec Corp | Read/write for implementation to top of backup data, and multi-version control file system |
JP2009129004A (en) * | 2007-11-20 | 2009-06-11 | Fuji Xerox Co Ltd | Document operation history management system |
JP2009223402A (en) * | 2008-03-13 | 2009-10-01 | Mitsubishi Electric Corp | History management system, computer program, and history management method |
JP2011054156A (en) * | 2009-08-31 | 2011-03-17 | Accenture Global Services Gmbh | Adaptive analysis multidimensional processing system |
JP2011154503A (en) * | 2010-01-27 | 2011-08-11 | Fujitsu Telecom Networks Ltd | Method and device for managing generation of shared file |
US9123052B2 (en) | 2009-07-09 | 2015-09-01 | Accenture Global Services Limited | Marketing model determination system |
JP2017527909A (en) * | 2014-08-29 | 2017-09-21 | ネットアップ,インコーポレイテッド | Method and device for data persistence in non-volatile memory for fast update and instantaneous recovery |
CN111818108A (en) * | 2019-04-10 | 2020-10-23 | 阿里巴巴集团控股有限公司 | Method and device for ensuring data acquisition consistency |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102622183B1 (en) * | 2018-06-08 | 2024-01-08 | 삼성에스디에스 주식회사 | Apparatus and method for managing storage |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143404A (en) * | 1991-11-19 | 1993-06-11 | Nec Corp | Data record storage control system |
JPH08171573A (en) * | 1994-12-20 | 1996-07-02 | Mitsubishi Electric Corp | Distributed arrangement device for drawing data |
JPH08314780A (en) * | 1995-05-23 | 1996-11-29 | Tohoku Nippon Denki Software Kk | File management system |
JPH1049414A (en) * | 1996-08-05 | 1998-02-20 | Toshiba Corp | Device and method for version management |
JPH11259517A (en) * | 1998-03-13 | 1999-09-24 | Hitachi Ltd | Distributed document reading system |
JP2003296149A (en) * | 2002-03-29 | 2003-10-17 | Daiwa Securities Group Inc | File relocation system |
JP2004227099A (en) * | 2003-01-20 | 2004-08-12 | Hitachi Ltd | Control method of storage device controller and storage device controller |
-
2005
- 2005-07-13 JP JP2005203896A patent/JP4713257B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143404A (en) * | 1991-11-19 | 1993-06-11 | Nec Corp | Data record storage control system |
JPH08171573A (en) * | 1994-12-20 | 1996-07-02 | Mitsubishi Electric Corp | Distributed arrangement device for drawing data |
JPH08314780A (en) * | 1995-05-23 | 1996-11-29 | Tohoku Nippon Denki Software Kk | File management system |
JPH1049414A (en) * | 1996-08-05 | 1998-02-20 | Toshiba Corp | Device and method for version management |
JPH11259517A (en) * | 1998-03-13 | 1999-09-24 | Hitachi Ltd | Distributed document reading system |
JP2003296149A (en) * | 2002-03-29 | 2003-10-17 | Daiwa Securities Group Inc | File relocation system |
JP2004227099A (en) * | 2003-01-20 | 2004-08-12 | Hitachi Ltd | Control method of storage device controller and storage device controller |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008257725A (en) * | 2007-03-30 | 2008-10-23 | Symantec Corp | Read/write for implementation to top of backup data, and multi-version control file system |
US8489830B2 (en) | 2007-03-30 | 2013-07-16 | Symantec Corporation | Implementing read/write, multi-versioned file system on top of backup data |
JP2009129004A (en) * | 2007-11-20 | 2009-06-11 | Fuji Xerox Co Ltd | Document operation history management system |
JP2009223402A (en) * | 2008-03-13 | 2009-10-01 | Mitsubishi Electric Corp | History management system, computer program, and history management method |
US9123052B2 (en) | 2009-07-09 | 2015-09-01 | Accenture Global Services Limited | Marketing model determination system |
JP2011054156A (en) * | 2009-08-31 | 2011-03-17 | Accenture Global Services Gmbh | Adaptive analysis multidimensional processing system |
US8600709B2 (en) | 2009-08-31 | 2013-12-03 | Accenture Global Services Limited | Adaptive analytics multidimensional processing system |
JP2011154503A (en) * | 2010-01-27 | 2011-08-11 | Fujitsu Telecom Networks Ltd | Method and device for managing generation of shared file |
JP2017527909A (en) * | 2014-08-29 | 2017-09-21 | ネットアップ,インコーポレイテッド | Method and device for data persistence in non-volatile memory for fast update and instantaneous recovery |
CN111818108A (en) * | 2019-04-10 | 2020-10-23 | 阿里巴巴集团控股有限公司 | Method and device for ensuring data acquisition consistency |
Also Published As
Publication number | Publication date |
---|---|
JP4713257B2 (en) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8190573B2 (en) | File storage service system, file management device, file management method, ID denotative NAS server and file reading method | |
JP4275683B2 (en) | Object state transfer method, object state transfer device, object state transfer program, and recording medium for the program | |
JP4704161B2 (en) | How to build a file system | |
WO2011108021A1 (en) | File level hierarchical storage management system, method, and apparatus | |
JP5638608B2 (en) | Method for accessing file system files according to metadata and apparatus for implementing the method | |
JP2008003847A (en) | Document use management system, document management server, and its program | |
AU2013210018B2 (en) | Location independent files | |
JP2008033912A (en) | Method and device of continuous data protection for nas | |
JP3560758B2 (en) | Data management method and data management device using the same | |
CN104778192B (en) | Represent can content addressed storage system bibliographic structure | |
JP2012256324A (en) | Data management method and hybrid data management system | |
CN109684282A (en) | A kind of method and device constructing metadata cache | |
JP4713257B2 (en) | Data storage device and version management program | |
JP4971717B2 (en) | Directory distributed storage device and data processing request transfer program | |
EP1313033A2 (en) | File system, control method, and program | |
JP4247975B2 (en) | Data management method, data management system, program therefor, and recording medium | |
JP2006031608A (en) | Computer, storage system, file management method which computer performs, and program | |
JP5367470B2 (en) | Storage server device and computer program | |
JP2007287180A (en) | Distributed file system, distributed file system server, and method for accessing distributed file system | |
US20120005162A1 (en) | Managing Copies of Data Structures in File Systems | |
JP4952119B2 (en) | Content management system, method and program using file server | |
JP4343669B2 (en) | File management device, dynamic namespace generation method, and dynamic namespace generation program | |
JP2007317107A (en) | Information processing system, information processor, and control program | |
JP6607044B2 (en) | Server device, distributed file system, distributed file system control method, and program | |
JP2006004024A (en) | Program to be executed by the directory server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20061227 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080312 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101216 |
|
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: 20110222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4713257 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |