JP2007025843A - Data storage device and version management program - Google Patents

Data storage device and version management program Download PDF

Info

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
Application number
JP2005203896A
Other languages
Japanese (ja)
Other versions
JP4713257B2 (en
Inventor
Toshihiro Uehara
年博 上原
Akira Taguchi
亮 田口
Haruo Yokota
治夫 横田
Mana Nakano
真那 中野
Masaru Kobayashi
大 小林
Akitsugu Watanabe
明嗣 渡邊
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.)
Tokyo Institute of Technology NUC
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Tokyo Institute of Technology NUC
Japan Broadcasting 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 Hoso Kyokai NHK, Tokyo Institute of Technology NUC, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2005203896A priority Critical patent/JP4713257B2/en
Publication of JP2007025843A publication Critical patent/JP2007025843A/en
Application granted granted Critical
Publication of JP4713257B2 publication Critical patent/JP4713257B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data storage device capable of reading, even if versions are increased, data of the latest version at high speed. <P>SOLUTION: The data storage device 1 comprises a meta data generation means 23b generating metadata by associating the latest data inputted, the version of the latest data, and the address of data preceding by one generation to the latest data stored in a memory 30; a differential data generation means 21b generating differential data that corresponds to the difference between the latest data and the data preceding by one generation to the latest data stored in the memory 30; and a data change means 23c changing the differential data generated by the differential data generation means 21b to data preceding by one generation to the latest data in reference to the metadata. <P>COPYRIGHT: (C)2007,JPO&INPIT

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 means 30.

このとき、旧バージョンについては、一つ新しいバージョンと当該旧バージョンのデータとの差分(差分データ)のみが記憶手段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の容量を抑えることができる。
特開2000−200185号公報
As described above, the conventional version management method reads the latest data A based on the address of each data managed by the directory information, and further reads the difference data A1 and the like to synthesize the past versions. Generate data.
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.
Japanese Patent Laid-Open No. 2000-200018

前記したように、従来のバージョン管理手法は、所望のバージョンのデータを読み出す場合、データ及び差分データのアドレスを、同一のディレクトリ情報の中から探索する必要がある。しかし、データのバージョンが増加するほど、生成される差分データの数が増えるため、最新データ及び差分データともにアドレスを探索する時間が長くなり、ひいては所望のデータの読み出し時間が長くなってしまうという問題がある。
また、一般に、データへのアクセスは、バージョンが古くなるほど急激に少なくなる傾向にある。そこで、古いバージョンのデータの読み出し時間が遅くなっても、新しいバージョンのデータの読み出し時間を遅くしたくないという要望がある。
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 storage unit 30. Here, the difference between this method and the conventional method is that the address of the difference data (address on the storage means 30) is indicated as a pointer from the data (or difference data) after one generation. That is, the address of the difference data A1 is stored as a pointer in management information (metadata) associated with the data A after one generation. Further, the address of the difference data A2 is stored as a pointer in management information (metadata) associated with the difference data A1 after one generation.

このように、古いバージョンの差分データのアドレスを、一世代後のデータ(又は差分データ)からのポインタとして管理することで、差分データのアドレスは、ディレクトリ情報として管理する必要がなくなり、バージョンが増加した場合であっても、最新データのアドレスを探索する時間を短縮することができる。
以下、本手法を実現するためのデータ記憶装置の構成及び動作について順次説明する。
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 unit 10, a system management unit 20, and a storage unit 30.

通信送受信手段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 / deletion unit 21 receives (inputs) the latest data via the communication transmission / reception unit 10 and stores the latest data in the storage unit 30 or deletes the data stored in the storage unit 30. Here, the data storage / deletion unit 21 includes a data reception unit 21a, a difference data generation unit 21b, a data writing unit 21c, and a data deletion unit 21d.

データ受信手段21aは、通信送受信手段10を介して最新データを受信するものである。このデータ受信手段21aは、データ管理手段23から通知される最新データの送信元(例えば、クライアントコンピュータ)から、通信送受信手段10を介して最新データを受信する。このデータ受信手段21aで受信された最新データは、差分データ生成手段21bとデータ書込手段21cとに出力される。   The data receiving unit 21 a receives the latest data via the communication transmitting / receiving unit 10. The data receiving unit 21 a receives the latest data from the transmission source (for example, client computer) of the latest data notified from the data management unit 23 via the communication transmitting / receiving unit 10. The latest data received by the data receiving means 21a is output to the difference data generating means 21b and the data writing means 21c.

差分データ生成手段21bは、データ受信手段21aで受信された最新データと、記憶手段30に記憶されている当該最新データに対する一世代前のデータとの差分をとった差分データを生成するものである。この一世代前のデータは、データ管理手段23から通知されるアドレスに基づいて、データ読出手段22aによって記憶手段30から読み出される。
なお、この差分データ生成手段21bは、最新データと一世代前のデータとの間で、新規に追加されたデータ、削除されたデータ、及び、変更されたデータのみを抽出することで差分データを生成する。
この差分データ生成手段21bで生成された差分データは、データ書込手段21cに出力される。
なお、後記するディレクトリ管理手段23aは、差分データのポインタ(アドレス)をディレクトリ情報から削除する。
The difference data generating unit 21b generates difference data obtained by taking a difference between the latest data received by the data receiving unit 21a and the data one generation before the latest data stored in the storage unit 30. . This previous generation of data is read from the storage means 30 by the data reading means 22a based on the address notified from the data management means 23.
The difference data generation unit 21b extracts difference data by extracting only newly added data, deleted data, and changed data between the latest data and the data of the previous generation. Generate.
The difference data generated by the difference data generation means 21b is output to the data writing means 21c.
The directory management unit 23a described later deletes the pointer (address) of the difference data from the directory information.

データ書込手段21cは、データ受信手段21aで受信された最新データと、差分データ生成手段21bで生成された差分データとを、データ管理手段23から指示される記憶手段30上の書き込みアドレスに書き込むものである。   The data writing unit 21c writes the latest data received by the data receiving unit 21a and the difference data generated by the difference data generating unit 21b to the write address on the storage unit 30 instructed by the data management unit 23. Is.

データ削除手段21dは、データ管理手段23からの指示に基づいて、記憶手段30に記憶されているデータを削除するものである。
このように、データ格納・削除手段21は、最新バージョンのデータを、記憶手段30に記憶し、旧バージョンのデータは、順次、最新バージョンのデータからの差分をとった差分データとして記憶手段30に記憶する。
The data deleting unit 21d deletes data stored in the storage unit 30 based on an instruction from the data management unit 23.
As described above, the data storage / deletion unit 21 stores the latest version data in the storage unit 30, and the old version data is sequentially stored in the storage unit 30 as difference data obtained by taking a difference from the latest version data. Remember.

データ配信手段22は、通信送受信手段10を介して、記憶手段30に記憶されているデータを、そのデータを要求した要求元(例えば、クライアントコンピュータ)に配信するものである。なお、データ配信手段22は、要求されたデータが最新バージョンでない場合は、最新バージョンのデータを用いて順次古いバージョンのデータを反映させることによって、指示されたバージョンのデータを生成し、配信する。ここでは、データ配信手段22は、データ読出手段22aと、データ生成手段22bと、データ送信手段22cとを備えている。   The data distribution unit 22 distributes the data stored in the storage unit 30 via the communication transmitting / receiving unit 10 to a request source (for example, a client computer) that has requested the data. Note that if the requested data is not the latest version, the data distribution unit 22 generates and distributes the instructed version data by sequentially reflecting the old version data using the latest version data. Here, the data distribution unit 22 includes a data reading unit 22a, a data generation unit 22b, and a data transmission unit 22c.

データ読出手段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 data generation unit 22b deletes the data indicated by the difference data from the latest data, thereby generating data one generation before.

なお、指示されたバージョンが最新バージョンである場合、データ生成手段22bは、読み出した最新データをそのままデータ送信手段22cに出力する。また、指示されたバージョンが最新バージョンよりも一世代前のバージョンである場合、データ生成手段22bは、読み出した最新データに対する一世代前の差分データを読み出し、一世代前のデータを生成する。また、指示されたバージョンが最新バージョンよりも二世代前のバージョンである場合、データ生成手段22bは、一世代前のデータと、さらに一世代前の差分データとから二世代前のデータを生成する。指示されたバージョンがさらに古い場合は、順次差分データを読み出し、すでに生成されているデータから、所望のバージョンのデータを生成する。このデータ生成手段22bで生成された旧バージョンのデータは、データ送信手段22cに出力される。   When the instructed version is the latest version, the data generation unit 22b outputs the read latest data to the data transmission unit 22c as it is. If the instructed version is a version one generation earlier than the latest version, the data generation unit 22b reads the difference data one generation before the read latest data and generates data one generation before. If the instructed version is a version two generations before the latest version, the data generation unit 22b generates data two generations before from the data one generation before and the difference data one generation before. . If the instructed version is older, differential data is sequentially read out and a desired version of data is generated from already generated data. The old version data generated by the data generation means 22b is output to the data transmission means 22c.

データ送信手段22cは、データ生成手段22bから出力される最新バージョンのデータ、又は、旧バージョンのデータを、データ管理手段23から通知される「データ配信要求」の要求元(例えば、クライアントコンピュータ)に、通信送受信手段10を介して送信するものである。
このように、データ配信手段22は、最新バージョンのデータについては、記憶手段30から読み出した最新データをそのまま要求元に送信し、旧バージョンのデータについては、最新バージョンのデータから順次旧バージョンの差分データからデータを生成し、要求元に送信する。
The data transmission unit 22c sends the latest version data or the old version data output from the data generation unit 22b to the request source (for example, client computer) of the “data distribution request” notified from the data management unit 23. The data is transmitted via the communication transmitting / receiving means 10.
As described above, the data distribution unit 22 transmits the latest data read from the storage unit 30 to the request source as it is for the latest version data, and the old version data is sequentially updated from the latest version data. Generate data from the data and send it to the requester.

データ管理手段23は、制御情報受信手段26で受信した制御情報に基づいて、データを管理するものである。ここでは、データ管理手段23は、ディレクトリ管理手段23aと、メタデータ生成手段23bと、データ変更手段23cと、データ操作制御手段23dとを備えている。   The data management unit 23 manages data based on the control information received by the control information receiving unit 26. Here, the data management unit 23 includes a directory management unit 23a, a metadata generation unit 23b, a data change unit 23c, and a data operation control unit 23d.

ディレクトリ管理手段23aは、記憶手段30に記憶される最新データ及びメタデータを、木構造(例えば、Btree)の階層構造で管理するものである。このディレクトリ管理手段23aは、最上位層のルートノードと、中間層のインデックスノードと、最下位層の葉ノードとによって、データを階層化し、ルートノードとインデックスノードは、下位層のノードへのポインタ(アドレス)を含み、データ等の実データを葉ノードとして管理する。この木構造は、記憶手段30の予め定めた領域にディレクトリ情報として書き込まれる。   The directory management unit 23a manages the latest data and metadata stored in the storage unit 30 in a hierarchical structure of a tree structure (for example, Btree). The directory management means 23a hierarchizes data with the root node of the highest layer, the index node of the intermediate layer, and the leaf node of the lowest layer, and the root node and the index node are pointers to the nodes of the lower layer. (Address) and actual data such as data are managed as leaf nodes. This tree structure is written as directory information in a predetermined area of the storage means 30.

すなわち、ディレクトリ管理手段23aは、データがデータ記憶装置1に記憶される場合、記憶手段30のディレクトリ情報に葉ノードとして追加し、データがデータ記憶装置1から配信される場合、記憶手段30のディレクトリ情報を用いて、データのポインタ(アドレス)を探索する。
なお、ディレクトリ管理手段23aは、直接差分データのポインタ(アドレス)を管理していない。この差分データのポインタは、最新データに対応するメタデータに記述されているポインタによって、リンクして管理されている。
That is, when data is stored in the data storage device 1, the directory management unit 23 a adds it as a leaf node to the directory information in the storage unit 30. When data is distributed from the data storage device 1, the directory management unit 23 a The data pointer (address) is searched using the information.
The directory management unit 23a does not directly manage the pointer (address) of the difference data. The pointer of the difference data is linked and managed by the pointer described in the metadata corresponding to the latest data.

メタデータ生成手段23bは、制御情報として最新データの格納要求(「データ格納要求」)を受信した場合に、その最新データのバージョンと、当該最新データのアドレスと、一世代前のデータを特定するメタデータのアドレスとを少なくとも記述したメタデータを生成するものである。このメタデータ生成手段23bで生成されたメタデータは、メタデータ書込・読出手段24を介して、記憶手段30に追加記憶される。   When the metadata generation unit 23b receives the latest data storage request ("data storage request") as control information, the metadata generation unit 23b specifies the version of the latest data, the address of the latest data, and the data one generation before. Metadata that at least describes the address of the metadata is generated. The metadata generated by the metadata generation unit 23 b is additionally stored in the storage unit 30 via the metadata writing / reading unit 24.

ここで、図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 storage unit 30.
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 storage unit 30. If the metadata is the oldest version, the value of the metadata pointer mp is set to “NULL”.

このように、メタデータ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 data changing unit 23c changes the previous generation data stored in the storage unit 30 to differential data. That is, the data changing unit 23c deletes the previous generation data by the data deletion unit 21d at the stage when the differential data generation unit 21b generates the difference data, and specifies the data pointer dp of the metadata that identifies the previous generation data. The address of the difference data storage destination is written in (see FIG. 3). As a result, the data one generation before the newly stored data is changed to differential data.

データ操作制御手段23dは、制御情報受信手段26で受信した制御情報に基づいて、データの操作を行うものである。
例えば、データ操作制御手段23dは、制御情報である「データ格納要求」を受信したとき、データ格納・削除手段21に対して、最新データの送信元と、ディレクトリ管理手段23aで管理されているアドレス(記憶先)を通知することで、最新データの格納(記憶)を行う。
また、データ操作制御手段23dは、制御情報である「データ配信要求」を受信したとき、データ配信手段22に対して、データの送信先(要求元)、バージョン、記憶手段30に記憶されているアドレス(記憶先)を通知することで、必要に応じてデータを生成し、クライアントコンピュータへ配信する。
The data operation control unit 23d performs data operation based on the control information received by the control information receiving unit 26.
For example, when the data operation control unit 23d receives the “data storage request” that is control information, the data operation control unit 23d instructs the data storage / deletion unit 21 to transmit the latest data and the address managed by the directory management unit 23a. By notifying (storage destination), the latest data is stored (stored).
Further, when the data operation control unit 23 d receives “data distribution request” which is control information, the data operation control unit 23 d stores the data transmission destination (request source), version, and storage unit 30 with respect to the data distribution unit 22. By notifying the address (storage destination), data is generated as necessary and distributed to the client computer.

メタデータ書込・読出手段24は、メタデータを記憶手段30に書き込んだり、記憶手段30からメタデータを読み出したりするものである。
このメタデータ書込・読出手段24は、データ管理手段23のメタデータ生成手段23bで生成されたメタデータを記憶手段30に書き込み、データ変更手段23cやデータ操作制御手段23dがメタデータを参照するために記憶手段30からメタデータを読み出す。
The metadata writing / reading unit 24 writes metadata to the storage unit 30 and reads metadata from the storage unit 30.
The metadata writing / reading unit 24 writes the metadata generated by the metadata generation unit 23b of the data management unit 23 to the storage unit 30, and the data changing unit 23c and the data operation control unit 23d refer to the metadata. Therefore, the metadata is read from the storage means 30.

ディレクトリ情報書込・読出手段25は、記憶手段30に記憶されているディレクトリ情報を書き込んだり、読み出したりするものである。
このディレクトリ情報書込・読出手段25は、データ管理手段23のディレクトリ管理手段23aからの指示に基づいて、ディレクトリ情報を書き込んだり、読み出したりする。
The directory information writing / reading unit 25 writes or reads the directory information stored in the storage unit 30.
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 information receiving unit 26 is output to the data management unit 23.

制御情報送信手段27は、データ管理手段23から出力される制御情報を、通信送受信手段10を介して、クライアントコンピュータ等に送信するものである。
ここで、制御情報は、データを格納する(書き込む)旨を示す「データ格納要求」、データを配信する(読み出す)旨を示す「データ配信要求」等、あるいはこれらの指示に対する応答等である。
The control information transmission unit 27 transmits the control information output from the data management unit 23 to the client computer or the like via the communication transmission / reception unit 10.
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 storage unit 30 stores directory information managed by the directory management unit 23a.
Here, the data (latest data), the difference data, the metadata, and the directory information are stored in the same storage unit 30, but may be individually stored in individual storage units.

以上説明したように、データ記憶装置1を構成することで、ディレクトリ管理手段23aは、最新のメタデータのみを管理することになり、高速に最新データにアクセスすることができる。そして、データ記憶装置1は、メタデータによって参照可能な差分データを順次参照することで、古いバージョンのデータを生成することができる。
なお、ここでは、データ記憶装置1が古いバージョンのデータを生成する機能を付加した構成としたが、この古いバージョンのデータの生成は、最新データと差分データとを取得したクライアントコンピュータ等で行うこととしてもよい。この場合、データ記憶装置1は、構成からデータ生成手段22bを省略する。
As described above, by configuring the data storage device 1, the directory management unit 23a manages only the latest metadata, and can access the latest data at high speed. The data storage device 1 can generate old version data by sequentially referring to the differential data that can be referred to by the metadata.
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 data generation unit 22b from the configuration.

(データ記憶装置の動作)
次に、図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 data receiving unit 21a via the communication transmitting / receiving unit 10 (step S1).
Then, the data storage device 1 reads the data one generation before the latest data managed by the directory management unit 23a from the storage unit 30 by the data reading unit 22a (step S2).
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 data generation unit 21b (step S1). S3).

そして、データ記憶装置1は、データ変更手段23cからの指示によって、データ書込手段21cが、ステップS3で生成された差分データを記憶手段30に書き込む(ステップS4)。
そして、データ記憶装置1は、データ変更手段23cによって、一世代前のデータに対応する記憶手段30に記憶されているメタデータに、ステップS3で生成された差分データのアドレスを記述することで、メタデータを変更する(ステップS5)。
In the data storage device 1, the data writing unit 21c writes the difference data generated in step S3 in the storage unit 30 in accordance with an instruction from the data changing unit 23c (step S4).
Then, the data storage device 1 describes the address of the difference data generated in step S3 in the metadata stored in the storage unit 30 corresponding to the previous generation data by the data changing unit 23c. The metadata is changed (step S5).

さらに、データ記憶装置1は、メタデータ生成手段23bによって、最新データに対応するメタデータを生成する(ステップS6)。すなわち、メタデータ生成手段23bが、「データ格納要求」に含まれるファイル名、バージョン及びデータサイズと、最新データが記憶手段30に記憶されているアドレスと、ステップS5で変更されたメタデータが記憶手段30に記憶されているアドレスとから、最新データに対応するメタデータを生成する。   Furthermore, the data storage device 1 generates metadata corresponding to the latest data by the metadata generation unit 23b (step S6). That is, the metadata generation unit 23b stores the file name, version, and data size included in the “data storage request”, the address at which the latest data is stored in the storage unit 30, and the metadata changed in step S5. From the address stored in the means 30, metadata corresponding to the latest data is generated.

そして、データ記憶装置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 storage unit 30 by the metadata writing / reading unit 24 (step S7).
Further, in the data storage device 1, the data writing unit 21c writes the latest data received in step S1 in the storage unit 30 in accordance with an instruction from the data changing unit 23c (step S8). The latest data may be written to the storage unit 30 before the difference data is generated, for example, after step S1.

さらに、データ記憶装置1は、データ変更手段23cからの指示によって、データ削除手段21dが、一世代前のデータを記憶手段30から削除する(ステップS9)。なお、このとき、ディレクトリ管理手段23aによって、記憶手段30に記憶されているディレクトリ情報から、一世代前のデータの情報が削除される。
そして、データ記憶装置1は、ディレクトリ管理手段23aによって、ステップS7で記憶手段30に書き込まれたメタデータのアドレスと、ステップS8で記憶手段30に書き込まれたデータのアドレスとにより、ディレクトリ情報を更新する(ステップS10)。
Further, in the data storage device 1, the data deletion unit 21d deletes the data of the previous generation from the storage unit 30 in accordance with an instruction from the data change unit 23c (step S9). At this time, the directory management unit 23a deletes the data information of the previous generation from the directory information stored in the storage unit 30.
Then, the data storage device 1 updates the directory information by the directory management unit 23a using the metadata address written in the storage unit 30 in step S7 and the data address written in the storage unit 30 in step S8. (Step S10).

以上の動作によって、最新データのみが、全データを有し、古いバージョンのデータは差分データのみに変換される。そして、最新データに対応するメタデータが、一世代前のメタデータのアドレスを示すことから、古いバージョンのデータ(差分データ)及びそのメタデータは、ディレクトリ管理手段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 directory management unit 23a. Instead, only the latest data and its metadata information are stored. As a result, the latest data can be searched and read at high speed.

〔データ配信動作〕
次に、図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 storage unit 30 by the directory management unit 23a (step S11). This metadata is notified to the data distribution means 22.
Then, the data storage device 1 reads the latest data from the storage unit 30 based on the data pointer described in the metadata from the storage unit 30 by the data reading unit 22a of the data distribution unit 22 (step S12).

そして、データ記憶装置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 data generation unit 22b (step S13).

ここで、最新データ又はステップ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 data generation unit 22b, and stores the difference data of the previous generation through the data reading unit 22a. (Step S15).

続けて、データ記憶装置1は、データ生成手段22bによって、最新データ又は直前に生成されたデータとステップS15で読み出された差分データとから、一世代前のデータを生成する(ステップS16)。
そして、データ記憶装置1は、ステップS13に戻って、ステップS16で生成されたデータのバージョンが、要求のあったバージョンであるかどうかを判定する。
Subsequently, the data storage device 1 uses the data generation unit 22b to generate data of the previous generation from the latest data or the data generated immediately before and the difference data read in step S15 (step S16).
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 unit 10 to transmit the request by the data transmitting / receiving unit 22c. The version of the data is transmitted to the “data distribution request” request source (step S17).

以上の動作によって、ディレクトリ情報とは別管理されているメタデータに記述されているメタデータポインタを遡ることで、要求のあったバージョンのデータを生成することができる。このとき、最新のバージョンのメタデータのみが、ディレクトリ情報で管理されるため、高速に最新データにアクセスすることができる。   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 data storage device 1B stores a plurality of data for a plurality of generations, and implements the file version management method described with reference to FIG. 1 as with the data storage device 1 (see FIG. 2). is there.

ここでは、データ記憶装置1Bは、データ記憶装置1のデータ格納・削除手段21にメタデータ付加手段21eを付加し、データ記憶装置1のデータ配信手段22にメタデータ除去手段22dを付加している。
また、データ記憶装置1Bは、データ記憶装置1のメタデータ生成手段23b及びデータ生成手段22bを、機能を変更したメタデータ生成手段23Bb及びデータ生成手段22Bbとし、データ記憶装置1のメタデータ書込・読出手段24を削除している。
Here, the data storage device 1B adds metadata adding means 21e to the data storage / deleting means 21 of the data storage device 1, and adds metadata removing means 22d to the data distribution means 22 of the data storage device 1. .
Further, the data storage device 1B uses the metadata generation unit 23b and the data generation unit 22b of the data storage device 1 as the metadata generation unit 23Bb and the data generation unit 22Bb whose functions are changed, and writes the metadata in the data storage device 1 -The reading means 24 is deleted.

このデータ記憶装置1Bは、データ記憶装置1で説明したメタデータを、データに付加することで、メタデータとデータとを1つのファイルとして扱っていることが、データ記憶装置1と大きく異なっている。
以下、データ記憶装置1と異なる構成について説明する。なお、データ記憶装置1と同一の構成については、同一の符号を付し、説明を省略する。
The data storage device 1B is significantly different from the data storage device 1 in that the metadata described in the data storage device 1 is added to the data so that the metadata and the data are handled as one file. .
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 metadata adding means 21e adds the metadata generated by the metadata generating means 23Bb to the latest data received by the data receiving means 21a and the difference data generated by the difference data generating means 21b. It is.
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 directory management unit 23a deletes the pointer (address) of the difference data with metadata from the directory information.

データ生成手段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 unit 22a based on the file name and version specified by the data management unit 23B. Read and generate the requested version of the data.
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 data transmission unit 22c.
If the requested version is the latest version, the latest data with metadata is output to the metadata removing unit 22d as it is.

メタデータ除去手段22dは、データ読出手段22aで読み出されたメタデータ付データから、メタデータを削除し、データのみを抽出するものである。
このメタデータ除去手段22dで抽出されたデータは、データ送信手段22cに出力される。
The metadata removing unit 22d deletes the metadata from the metadata-added data read by the data reading unit 22a and extracts only the data.
The data extracted by the metadata removing unit 22d is output to the data transmitting unit 22c.

メタデータ生成手段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 metadata addition unit 21e of the data storage / deletion unit 21B.

ここで、図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 storage unit 30. If the metadata-added data is the oldest version, the value of the pointer p is set to “NULL”.

このように、メタデータ付データ(メタデータ付差分データ)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 data storage device 1B, the directory management unit 23a manages only the latest data (data with metadata), and can access the latest data at high speed. The data storage device 1B can generate the old version of the data by sequentially referring to the differential data with metadata that can be referred to by the metadata of the data with metadata.

(データ記憶装置の動作)
次に、図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 data storage device 1B will be described with reference to FIG. 8 (refer to FIG. 6 as appropriate). Here, the operation after a client computer (not shown) requests a “data storage request” including a file name and version to the data storage device 1B, and data is transmitted from the client computer will be described.

まず、データ記憶装置1Bは、データ受信手段21aによって、通信送受信手段10を介して、最新データを受信する(ステップS21)。
そして、データ記憶装置1Bは、データ読出手段22aによって、ディレクトリ管理手段23aで管理されている、最新データに対する一世代前のデータを含んだメタデータ付データを記憶手段30から読み出す(ステップS22)。
First, the data storage device 1B receives the latest data through the communication transmitting / receiving means 10 by the data receiving means 21a (step S21).
Then, the data storage device 1B reads the data with metadata including the data one generation before the latest data managed by the directory management unit 23a from the storage unit 30 by the data reading unit 22a (step S22).

さらに、データ記憶装置1Bは、差分データ生成手段21bによって、ステップS21で受信された最新データと、ステップS22で読み出された一世代前のメタデータ付データに含まれているデータとの差分をとった差分データを生成し、その差分データを含んだメタデータ付差分データを生成する(ステップS23)。
そして、データ記憶装置1Bは、データ変更手段23cからの指示によって、データ書込手段21cが、ステップS23で生成されたメタデータ付差分データを記憶手段30に書き込む(ステップS24)。
Further, the data storage device 1B uses the difference data generation means 21b to calculate the difference between the latest data received in step S21 and the data included in the data with metadata one generation before read in step S22. The taken difference data is generated, and difference data with metadata including the difference data is generated (step S23).
In the data storage device 1B, in response to an instruction from the data changing unit 23c, the data writing unit 21c writes the differential data with metadata generated in step S23 into the storage unit 30 (step S24).

そして、データ記憶装置1Bは、メタデータ生成手段23Bbによって、最新データ用のメタデータを生成する(ステップS25)。すなわち、メタデータ生成手段23Bbが、「データ格納要求」に含まれるファイル名、バージョン及びデータサイズと、最新のメタデータ付データが記憶手段30に記憶されているアドレスとから、最新データに対応するメタデータを生成する。
そして、データ記憶装置1Bは、メタデータ付加手段21eによって、ステップS21で受信された最新データに、ステップS25で生成されたメタデータを付加し、メタデータ付データを生成する(ステップS26)。
Then, the data storage device 1B generates metadata for the latest data by the metadata generation unit 23Bb (step S25). That is, the metadata generation unit 23Bb corresponds to the latest data from the file name, version, and data size included in the “data storage request” and the address at which the latest metadata-added data is stored in the storage unit 30. Generate metadata.
Then, the data storage device 1B adds the metadata generated in step S25 to the latest data received in step S21 by the metadata adding unit 21e to generate data with metadata (step S26).

さらに、データ記憶装置1Bは、データ書込手段21cによって、ステップS26で生成されたメタデータ付データを記憶手段30に書き込む(ステップS27)。
そして、データ記憶装置1Bは、データ変更手段23cからの指示によって、データ削除手段21dが、一世代前のメタデータ付データを記憶手段30から削除する(ステップS28)。なお、このとき、ディレクトリ管理手段23aによって、ディレクトリ情報から、一世代前のメタデータ付データの情報が削除される。
Further, the data storage device 1B writes the data with metadata generated in step S26 into the storage unit 30 by the data writing unit 21c (step S27).
In the data storage device 1B, the data deletion unit 21d deletes the data with the previous generation metadata from the storage unit 30 in accordance with an instruction from the data change unit 23c (step S28). At this time, the information of the data with metadata one generation before is deleted from the directory information by the directory management unit 23a.

そして、データ記憶装置1Bは、ディレクトリ管理手段23aによって、ステップS27で記憶手段30に書き込まれたメタデータ付データのアドレスにより、ディレクトリ情報を更新する(ステップS29)。
以上の動作によって、データ記憶装置1Bは、メタデータに記述されているポインタにより、最新データから、各世代に遡って古いバージョンの差分データが連結される。
Then, the data storage device 1B updates the directory information with the address of the metadata-added data written in the storage unit 30 in step S27 by the directory management unit 23a (step S29).
With the above operation, the data storage device 1B connects the old version of the difference data from the latest data to each generation by using the pointer described in the metadata.

〔データ配信動作〕
次に、図9を参照(適宜図6参照)して、データ記憶装置1Bにおけるデータを配信する動作について説明する。ここでは、クライアントコンピュータ(図示せず)から、ファイル名やバージョンを含んだ「データ配信要求」がデータ記憶装置1Bに送出された後の動作について説明する。
[Data distribution operation]
Next, the operation of distributing data in the data storage device 1B will be described with reference to FIG. 9 (refer to FIG. 6 as appropriate). 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 1B will be described.

まず、データ記憶装置1Bは、ディレクトリ管理手段23aによって、記憶手段30に記憶されているディレクトリ情報を参照して、指示されたファイル名で最新のバージョンを有するメタデータ付データを探索する(ステップS31)。このメタデータ付データのアドレスは、データ配信手段22に通知される。
そして、データ記憶装置1Bは、データ配信手段22Bのデータ読出手段22aによって、記憶手段30から、最新のメタデータ付データを読み出す(ステップS32)。
そして、データ記憶装置1Bは、データ生成手段22Bbによって、最新データ又は後記するステップS35で生成されたデータのバージョンが、要求のあったバージョンであるかどうかを判定する(ステップS33)。
First, in the data storage device 1B, the directory management unit 23a refers to the directory information stored in the storage unit 30 and searches for data with metadata having the latest version with the specified file name (step S31). ). The address of the data with metadata is notified to the data distribution means 22.
Then, the data storage device 1B reads the latest data with metadata from the storage unit 30 by the data reading unit 22a of the data distribution unit 22B (step S32).
Then, the data storage device 1B determines whether the version of the latest data or the data generated in step S35 described later is the requested version by the data generation unit 22Bb (step S33).

ここで、最新データ又はステップ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 data storage device 1B refers to the pointer described in the metadata corresponding to the latest data or the data read immediately before by the data generation means 22Bb, The difference data with metadata one generation before is read from the storage means 30 via the reading means 22a (step S34).

続けて、データ記憶装置1Bは、データ生成手段22Bbによって、最新データ又は直前に生成されたデータとステップS35で読み出されたメタデータ付差分データ内の差分データとから、一世代前のデータを生成する(ステップS35)。
そして、データ記憶装置1Bは、ステップS33に戻って、ステップS35で生成されたデータのバージョンが、要求のあったバージョンであるかどうかを判定する。
Subsequently, the data storage device 1B uses the data generation unit 22Bb to obtain the previous generation data from the latest data or the data generated immediately before and the difference data in the difference data with metadata read in step S35. Generate (step S35).
Then, the data storage device 1B returns to step S33, and determines whether or not the version of the data generated in step S35 is the requested version.

一方、最新データ又は生成されたデータのバージョンが、要求のあったバージョンである場合(ステップ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 data storage device 1B deletes the metadata from the data with metadata by the metadata removing unit 22d. Then, only the data is extracted (step S36), and the data transmission means 22c transmits the requested version of the data to the request source of the “data distribution request” via the communication transmission / reception means 10 (step S37).
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 metadata removing means 22d, but the data and metadata are exchanged as in MXF (Material eXchange Format). When writing or reading a file in a format that is wrapped and handled as one file, it is necessary to change the contents of the metadata, but it is not necessary to provide means for adding or deleting the metadata area itself. In addition, a plurality of data storage devices may be connected by a plurality of networks, and data and difference data may be distributed and stored among the data storage devices.
In the data storage devices 1 and 1B, the system management means 20 and 20B may be operated by a version management program that causes a general computer to function as each of the means described above.

以下、本発明に係るデータ記憶装置を、データ、差分データ等を分散して記憶する自律ストレージシステムに適用した実施の形態について説明する。なお、自律ストレージシステムは、本願出願人が開示している「データのバックアップ方法及びバックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム」(特開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 data storage devices 1C, and stores data distributed among the data storage devices 1C.
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 data storage device 1C 1, 1C 3.
The old version data stores the difference (difference data [here, A1 to A5, B1]) with the new version data distributed among the data storage devices 1C. Here, the addresses of past difference data (for example, A1 to A5) corresponding to the latest data (for example, A) are each indicated by a pointer.

また、ここでは、自律ストレージシステム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 data storage device 1C and the data B (e.g., adjacent data storage device 1C 4 at logical address) is moved. Note that a plurality of moving boundaries may be set step by step between the data storage devices 1C.

これによって、例えば、頻繁にアクセスが行われる差分データ(ここでは、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 data storage device 1C 1 latest data A, the difference data A3 percentage of access frequency is reduced in other It will be stored in the data storage device 1C 2.
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 data storage device 1C stores a plurality of data for a plurality of generations, and implements the version management method described with reference to FIG.

ここでは、データ記憶装置1Cは、図2で説明したデータ記憶装置1のデータ管理手段23に、アクセス頻度計測手段23eと、データ移動手段23fと、メタデータ変更手段23gとを付加している。他の構成については、図2で説明したデータ記憶装置1と同一であるため、同一の符号を付し、説明を省略する。   Here, in the data storage device 1C, an access frequency measurement unit 23e, a data movement unit 23f, and a metadata change unit 23g are added to the data management unit 23 of the data storage device 1 described in FIG. Other configurations are the same as those of the data storage device 1 described with reference to FIG.

アクセス頻度計測手段23eは、記憶手段30に記憶されているデータに対する、当該データに対応する差分データへのアクセス頻度の割合を定期的に計測するものである。
すなわち、アクセス頻度計測手段23eは、最新データへの読み出し要求(アクセス)と、古いデータ(差分データ)への読み出し要求(アクセス)の回数とを計測し、最新データに対するアクセスの割合を“1”としたときの、差分データへのアクセス頻度の割合を算出する。このアクセス頻度の割合は、記憶手段30に記憶しておく。なお、このアクセス頻度の割合は、メタデータに付加して記憶することとしてもよい。
The access frequency measuring unit 23e periodically measures the ratio of the access frequency to the difference data corresponding to the data stored in the storage unit 30.
That is, the access frequency measuring unit 23e measures the number of read requests (access) to the latest data and the number of read requests (access) to the old data (difference data), and sets the access ratio to the latest data to “1”. The ratio of the access frequency to the difference data is calculated. The ratio of the access frequency is stored in the storage unit 30. Note that the ratio of the access frequency may be stored in addition to the metadata.

データ移動手段23fは、アクセス頻度計測手段23eによって計測されたアクセス頻度の割合に基づいて、差分データを、予め定めた他のデータ記憶装置(例えば、IPアドレス等で論理的に隣接するデータ記憶装置)に移動させるものである。
ここでは、データ移動手段23fは、記憶手段30に記憶されているアクセス頻度の割合が、同じく記憶手段30に記憶されている移動境界の値以下となった段階で、対応する差分データをデータ配信手段22に通知し、他のデータ記憶装置に送信する。ここで、移動境界とは、当該データ記憶装置1Cに残す差分データのアクセス頻度の割合と、移動を行わせる差分データのアクセス頻度の割合との境界を示すものとする。なお、移動境界は、メタデータに付加して記憶し、データ毎に異なる値とすることとしてもよい。
The data moving unit 23f is configured to transfer the difference data to another predetermined data storage device (for example, a data storage device logically adjacent by an IP address or the like) based on the access frequency ratio measured by the access frequency measurement unit 23e. ).
Here, the data moving unit 23f distributes the corresponding difference data to the data distribution when the ratio of the access frequency stored in the storage unit 30 becomes equal to or less than the value of the movement boundary stored in the storage unit 30. The means 22 is notified and transmitted to another data storage device. Here, the movement boundary indicates a boundary between the ratio of the access frequency of the difference data to be left in the data storage device 1C and the ratio of the access frequency of the difference data to be moved. Note that the movement boundary may be added to the metadata and stored, and may have a different value for each data.

このように、アクセス頻度の割合に基づいて移動境界を設定する場合、データ移動手段23fは、新しいバージョンのデータが記憶手段30に記憶されたときに、データ記憶装置1Cにおける当該データに対するアクセス頻度の割合に対して、当該データに対応する差分データを記憶した、予め定めた他のデータ記憶装置(論理的に隣接するデータ記憶装置)における差分データに対するアクセス頻度の割合が予め定めた値を下回る場合に、記憶手段30に記憶されている差分データを、他のデータ記憶装置に移動させるかどうかを判定する。   As described above, when the movement boundary is set based on the ratio of the access frequency, the data movement unit 23f determines the access frequency of the data in the data storage device 1C when the new version of data is stored in the storage unit 30. When the ratio of the access frequency to the difference data in another predetermined data storage device (logically adjacent data storage device) that stores the difference data corresponding to the data with respect to the ratio is lower than the predetermined value Then, it is determined whether or not to move the difference data stored in the storage means 30 to another data storage device.

すなわち、データ移動手段23fは、新しいバージョンを記憶したデータの各バージョンにおいて、仮にそのバージョンよりも古い差分データを他のデータ記憶装置に移動した後の当該差分データへのアクセス頻度の割合が、移動境界以下である場合に、その差分データを、他のデータ記憶装置に移動させるものと判定し、移動を実行する。
これによって、データ記憶装置1Cは、アクセス負荷を分散させることができる。
That is, the data moving means 23f indicates that, in each version of data storing a new version, the ratio of the access frequency to the differential data after moving the differential data older than that version to another data storage device If it is below the boundary, it is determined that the difference data is to be moved to another data storage device, and the movement is executed.
Thus, the data storage device 1C can distribute the access load.

なお、移動境界は、アクセス頻度の割合のみならず、記憶装置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 storage device 30 and other predetermined data storage devices (logically adjacent data storage devices). It is good also as setting based on ratio with the capacity | capacitance of data.
In this case, when a new version of data is stored in the storage unit 30, the data moving unit 23f has a predetermined ratio between the data capacity of the data storage device 1C and the data capacity of the other data storage device. If the difference data is less than the threshold value, it is determined whether or not the difference data stored in the storage unit 30 is moved to another data storage device.

すなわち、データ移動手段23fは、新しいバージョンを記憶したデータの各バージョンにおいて、仮にそのバージョンよりも古い差分データを他のデータ記憶装置に移動した後の当該差分データへのアクセス頻度の割合が、データ容量の比に応じて設定した移動境界以下である場合に、その差分データを、他のデータ記憶装置に移動させるものと判定し、移動を実行する。
これによって、データ記憶装置1Cは、容量分散を行うことができる。
That is, the data moving means 23f indicates that, in each version of the data storing the new version, the ratio of the access frequency to the differential data after moving the differential data older than that version to another data storage device When it is below the movement boundary set according to the capacity ratio, it is determined that the difference data is to be moved to another data storage device, and the movement is executed.
As a result, the data storage device 1C can perform capacity distribution.

このデータ移動手段23fは、差分データを移動させる場合、制御情報送信手段27を介して、差分データを格納する旨の要求である「差分格納要求」を、制御情報として他のデータ記憶装置に送信し、データ配信手段22に差分データを配信する旨の指示を行うことで、差分データを他のデータ記憶装置に送信する。
なお、データ移動手段23fは、他のデータ記憶装置から、制御情報受信手段26を介して「差分格納要求」を受信し、差分データを他のデータ記憶装置から受信した場合は、データ格納・削除手段21に格納要求を通知することで、当該差分データを記憶手段30に記憶する。また、データ移動手段23fは、差分データが記憶手段30に記憶されているアドレスを、「差分格納要求」に対する応答として、制御情報送信手段27を介して、差分データを送信してきたデータ記憶装置に送信する。
When moving the difference data, the data moving unit 23 f transmits a “difference storage request”, which is a request for storing the difference data, to the other data storage device as control information via the control information transmitting unit 27. Then, by instructing the data distribution means 22 to distribute the difference data, the difference data is transmitted to another data storage device.
The data moving unit 23f receives the “difference storage request” from the other data storage device via the control information receiving unit 26, and when the difference data is received from the other data storage device, stores and deletes the data. By notifying the means 21 of the storage request, the difference data is stored in the storage means 30. Further, the data moving unit 23f sends the address where the differential data is stored in the storage unit 30 to the data storage device that has transmitted the differential data via the control information transmitting unit 27 as a response to the “difference storage request”. Send.

メタデータ変更手段23gは、記憶手段30に記憶されているメタデータを更新するものである。ここでは、メタデータ変更手段23gは、データ移動手段23fにより差分データが他のデータ記憶装置に送信された後の、他のデータ記憶装置からの「差分格納要求」に対する応答に含まれている、差分データを記憶したアドレスに基づいて、記憶手段30に記憶されているメタデータのデータポインタdp(図3参照)を変更する。この場合、データポインタdpには、アドレスに、差分データを記憶したデータ記憶装置の識別情報(例えば、IPアドレス)を付加した情報を書き込むこととする。   The metadata changing unit 23g updates the metadata stored in the storage unit 30. Here, the metadata changing unit 23g is included in the response to the “difference storage request” from the other data storage device after the difference data is transmitted to the other data storage device by the data moving unit 23f. Based on the address where the difference data is stored, the data pointer dp (see FIG. 3) of the metadata stored in the storage unit 30 is changed. In this case, information in which the identification information (for example, IP address) of the data storage device storing the difference data is added to the address is written in the data pointer dp.

以上説明したように、データ記憶装置1Cを構成することで、アクセス頻度が低下した差分データを他のデータ記憶装置に移動させることで、容量の分散を行うことができる。また、このとき、アクセス頻度の高いバージョンのデータ(差分データ)は、同じデータ記憶装置で管理されるため、データを生成し、配信する時間を低下させることがない。   As described above, by configuring the data storage device 1C, it is possible to distribute the capacity by moving the difference data whose access frequency has decreased to another data storage device. At this time, the version of data (difference data) with high access frequency is managed by the same data storage device, so that the time for generating and distributing the data is not reduced.

[第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 data storage device 1D shown in FIG. FIG. 12 is a block diagram showing the configuration of the data storage device according to the fourth embodiment of the present invention.
Similar to the data storage device 1C (see FIG. 11), the data storage device 1D implements the version management method described in FIG.

このデータ記憶装置1Dは、データ記憶装置1C(図11参照)におけるメタデータを、データに付加することで、1つのファイルとして扱っている。すなわち、データ記憶装置1Dは、図6で説明したデータ記憶装置1Bに対して、図11で説明したアクセス頻度計測手段23eを付加し、さらに、データ移動手段23Dfと、メタデータ変更手段23Dgとを付加している。   The data storage device 1D treats the metadata in the data storage device 1C (see FIG. 11) as one file by adding it to the data. That is, the data storage device 1D adds the access frequency measuring unit 23e described in FIG. 11 to the data storage device 1B described in FIG. 6, and further includes a data moving unit 23Df and a metadata changing unit 23Dg. It is added.

以下、データ記憶装置1B及びデータ記憶装置1Dと異なる構成であるデータ移動手段23Dfと、メタデータ変更手段23Dgとについて説明する。他の構成については、データ記憶装置1B及びデータ記憶装置1Dと同一であるため、同一の符号を付すことで、説明を省略する。   Hereinafter, the data moving unit 23Df and the metadata changing unit 23Dg having different configurations from the data storage device 1B and the data storage device 1D will be described. Since other configurations are the same as those of the data storage device 1B and the data storage device 1D, the description thereof is omitted by giving the same reference numerals.

データ移動手段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 frequency measuring unit 23e by another predetermined data storage device (for example, an IP address or the like). Data storage device). That is, the data moving unit 23Df only changes the data to be moved from the difference data to the differential data with metadata, compared to the data moving unit 23f described in FIG. 11, and the other functions are the same as the data moving unit 23f. It is.

メタデータ変更手段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 storage unit 30. That is, the metadata changing unit 23Dg is included in the response to the “difference storage request” from the other data storage device after the difference data with metadata is transmitted to the other data storage device by the data moving unit 23Df. The pointer p (see FIG. 7) described in the metadata included in the difference data with metadata is changed based on the address where the difference data with metadata is stored.
In this way, by configuring the data storage device 1D, similarly to the data storage device 1C (see FIG. 11), the difference data whose access frequency has decreased is moved to another data storage device, thereby distributing the capacity. In addition, the latest version of data can be accessed at high speed.

本発明の第1の実施の形態に係るデータ記憶装置で実現されるバージョン管理手法を模式的に示した図である。It is the figure which showed typically the version management technique implement | achieved with the data storage device which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るデータ記憶装置の構成を示すブロック図である。1 is a block diagram showing a configuration of a data storage device according to a first embodiment of the present invention. メタデータの構造を説明するための図であって、(a)はメタデータの構造の一例を示すデータ構造図、(b)はメタデータとデータとの関係を示す図である。It is a figure for demonstrating the structure of metadata, Comprising: (a) is a data structure figure which shows an example of the structure of metadata, (b) is a figure which shows the relationship between metadata and data. 本発明の第1の実施の形態に係るデータ記憶装置におけるデータを格納する動作を示すフローチャートである。It is a flowchart which shows the operation | movement which stores the data in the data storage device which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るデータ記憶装置におけるデータを配信する動作を示すフローチャートである。It is a flowchart which shows the operation | movement which distributes the data in the data storage device which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係るデータ記憶装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data storage device based on the 2nd Embodiment of this invention. メタデータ付データを説明するための図であって、(a)はメタデータ付データ(メタデータ付差分データ)の構造の一例を示すデータ構造図、(b)はメタデータ付データとメタデータ付差分データとの関係を示す図である。It is a figure for demonstrating data with metadata, Comprising: (a) is a data structure figure which shows an example of a structure of data with metadata (difference data with metadata), (b) is data with metadata and metadata. It is a figure which shows the relationship with attached difference data. 本発明の第2の実施の形態に係るデータ記憶装置におけるデータを格納する動作を示すフローチャートである。It is a flowchart which shows the operation | movement which stores the data in the data storage device which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るデータ記憶装置におけるデータを配信する動作を示すフローチャートである。It is a flowchart which shows the operation | movement which distributes the data in the data storage device which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係る自律ストレージシステムで実現されるバージョン管理手法を模式的に示した図である。It is the figure which showed typically the version management method implement | achieved by the autonomous storage system which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係るデータ記憶装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data storage device which concerns on the 3rd Embodiment of this invention. 本発明の第4の実施の形態に係るデータ記憶装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data storage device based on the 4th Embodiment of this invention. 従来の差分データにより複数のバージョンのデータを管理するバージョン管理手法を模式的に示した図である。It is the figure which showed typically the version management method which manages the data of several versions by the conventional difference data.

符号の説明Explanation of symbols

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 Data storage device 10 Communication transmission / reception means 20 System management means 21 Data storage / deletion means 21a Data reception means 21b Differential data generation means 21c Data writing means 21d Data deletion means 21e Metadata addition means 22 Data distribution means 22a Data reading means 22b Data generation means 22c Data transmission means 22d Metadata deletion means 23 Data management means 23a Directory management means 23b Metadata generation means 23c Data change means 23d Data operation control means 23e Access frequency measurement means 23f Data movement means 24g Metadata change means 24 Meta Data writing / reading means 25 Directory information writing / reading means 26 Control information receiving means 27 Control information transmitting means 30 Storage means

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に記載のデータ記憶装置。   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. The data storage device according to claim 2, wherein the data storage device is a data storage device. 前記データに対する、当該データに対応する前記差分データへのアクセス頻度の割合を計測するアクセス頻度計測手段と、
このアクセス頻度計測手段によって計測されたアクセス頻度の割合が所定値以下となった差分データを、予め定めた他のデータ記憶装置に送信するデータ移動手段と、
前記他のデータ記憶装置が当該他のデータ記憶装置の記憶手段に記憶した前記差分データのアドレスに基づいて、前記メタデータを変更するメタデータ変更手段と、
を備えていることを特徴とする請求項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:
前記データ移動手段は、前記記憶手段に記憶されているデータ容量に対する、前記他のデータ記憶装置の記憶手段に記憶されているデータ容量の割合が所定値以下となった段階で、前記アクセス頻度の割合に基づいて、前記差分データを他のデータ記憶装置に送信することを特徴とする請求項4に記載のデータ記憶装置。   The data movement means is configured to change the access frequency when the ratio of the data capacity stored in the storage means of the other data storage device to the data capacity stored in the storage means becomes a predetermined value or less. 5. The data storage device according to claim 4, wherein the difference data is transmitted to another data storage device based on a ratio. 階層構造によって、複数のデータをそれぞれ複数の世代に亘って管理するために、コンピュータを、
入力された最新データと、当該最新データのバージョンと、当該最新データより一世代前のデータが記憶手段に記憶されているアドレスとを対応付けたメタデータを生成するメタデータ生成手段、
前記最新のデータと、前記記憶手段に記憶されている当該最新データより一世代前のデータとの差分である差分データを生成する差分データ生成手段、
前記メタデータを参照して、前記最新データの一世代前のデータを、前記差分データ生成手段で生成された差分データに変更するデータ変更手段、
前記メタデータで特定される一世代以前の前記差分データに基づいて、前記記憶手段に記憶されている最新バージョンのデータから、指定されたバージョンのデータを生成するデータ生成手段、
として機能させることを特徴とするバージョン管理プログラム。
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
JP2005203896A 2005-07-13 2005-07-13 Data storage device and version management program Active JP4713257B2 (en)

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)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102622183B1 (en) * 2018-06-08 2024-01-08 삼성에스디에스 주식회사 Apparatus and method for managing storage

Citations (7)

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

Patent Citations (7)

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

* Cited by examiner, † Cited by third party
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
JP4713257B2 (en) Data storage device and version management program
US8190573B2 (en) File storage service system, file management device, file management method, ID denotative NAS server and file reading method
JP4816281B2 (en) Document use management system, document management server and program thereof
JP5514903B2 (en) File level hierarchical storage management system, method, and apparatus
JP4704161B2 (en) How to build a file system
JP4275683B2 (en) Object state transfer method, object state transfer device, object state transfer program, and recording medium for the program
AU2013210018B2 (en) Location independent files
CN104778192B (en) Represent can content addressed storage system bibliographic structure
JP5638608B2 (en) Method for accessing file system files according to metadata and apparatus for implementing the method
JP2008033912A (en) Method and device of continuous data protection for nas
JP2008003846A (en) Document use management system and method, document management server and program therefor
JP2012256324A (en) Data management method and hybrid data management system
JP4971717B2 (en) Directory distributed storage device and data processing request transfer program
EP1313033A2 (en) File system, control method, and program
JP4327869B2 (en) Distributed file system, distributed file system server, and access method to distributed file system
JP5367470B2 (en) Storage server device and computer program
JP2005063374A (en) Data management method, data management device, program for the same, and recording medium
JP2006031608A (en) Computer, storage system, file management method which computer performs, and program
US20120005162A1 (en) Managing Copies of Data Structures in File Systems
JP4343669B2 (en) File management device, dynamic namespace generation method, and dynamic namespace generation program
JP6607044B2 (en) Server device, distributed file system, distributed file system control method, and program
JP2007317107A (en) Information processing system, information processor, and control program
JP2008040602A (en) Content management system and method and program using file server
JP2006004024A (en) Program for execution by directory server
JP4005102B2 (en) Gateway device

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