JP2007140821A - データ管理装置、データ管理方法およびデータ管理プログラム - Google Patents
データ管理装置、データ管理方法およびデータ管理プログラム Download PDFInfo
- Publication number
- JP2007140821A JP2007140821A JP2005332648A JP2005332648A JP2007140821A JP 2007140821 A JP2007140821 A JP 2007140821A JP 2005332648 A JP2005332648 A JP 2005332648A JP 2005332648 A JP2005332648 A JP 2005332648A JP 2007140821 A JP2007140821 A JP 2007140821A
- Authority
- JP
- Japan
- Prior art keywords
- range
- data
- group
- control unit
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】データ処理部3は端末装置2からロードする行を入力してバッファメモリ951のサイズでまとめたグループを生成する。データアクセス制御部6はデータ処理部3が生成したグループをバッファメモリ951から更新領域8に追加書き出しする。範囲管理制御部4はデータ処理部3が生成したグループであり更新領域8に記憶された複数のグループを範囲として範囲管理テーブル5に設定して管理する。端末装置2がデータ検索要求時、範囲管理制御部4は検索条件に合う行を含むグループを有する範囲を選択し、データアクセス制御部6は範囲管理制御部4が選択した範囲に属するグループをグループ単位にバッファメモリ951に書き出す。そして、データ処理部3はバッファメモリ951に書き出されたグループに対して検索条件に合う行を検索する。
【選択図】図3
Description
図1は、実施の形態1におけるデータ管理システム900の外観を示す図である。
図1において、データ管理システム900は、システムユニット910、表示装置901、キーボード(K/B)902、マウス903、コンパクトディスク装置(CDD)905、プリンタ装置906、スキャナ装置907を備え、これらはケーブルで接続されている。
さらに、データ管理システム900は、FAX機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク(LAN)942、ウェブサーバ941を介してインターネット940に接続されている。
表示装置901、K/B902およびマウス903は端末装置2を構成する。また、システムユニット910はデータ管理処理を行うデータ管理装置1である。
図2において、データ管理システム900は、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、K/B902、マウス903、FDD(Flexible Disk Drive)904、磁気ディスク装置920、CDD905、プリンタ装置906、スキャナ装置907と接続されている。
表示装置901には液晶ディスプレイ、CRT(Cathode Ray Tube)ディスプレイなどがある。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。
また、磁気ディスク装置920はデータベースにおける各レコードデータを記憶する記憶機器の一例である。また、RAM914は、磁気ディスク装置920よりデータアクセスが高速であり、CPU911と磁気ディスク装置920との間で入出力するデータを記憶して磁気ディスク装置920に記憶されたデータに対するCPU911のアクセス効率を向上するバッファメモリの一例である。
通信ボード915は、FAX機932、電話器931、LAN942等に接続されている。
例えば、通信ボード915、K/B902、スキャナ装置907、FDD904などは、入力機器、入力装置あるいは入力部の一例である。
また、例えば、通信ボード915、表示装置901などは、出力機器、出力装置あるいは出力部の一例である。
端末装置2は利用者が使用する端末であり、利用者に入力機器から処理要求を入力させ、データ管理装置1から入力した処理結果を出力機器に出力(表示、印刷、音声出力など)する。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
ファイル群924には、実施の形態の説明において、「〜情報」、「〜要求」、「〜命令」として説明するデータ、「〜部」として説明する機能を実行時の判定結果や演算結果を示すデータ、「〜部」として説明する機能を実行するプログラム間で受け渡しするデータなどが「〜ファイル」として記憶されている。また、データ管理装置1が記憶管理するデータ(例えば、レコードデータ)やデータ管理処理に使用する管理情報(例えば、後述する範囲管理テーブル5)やバックアップファイル(例えば、後述するアーカイブファイル300)がファイル群924に「〜ファイル」として記憶されている。
また、実施の形態の説明において、フローチャートや構成図の矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk cartridge)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)、その他の記憶媒体に記憶される。あるいは、信号線やその他の伝送媒体により伝送される。
図3において、データ管理システム900はデータ管理装置1と端末装置2とを備える。データのロード、検索、バックアップ/リストア、削除や以下に述べる範囲の追加、削除等の端末装置2からの処理要求はデータ管理装置1がCPU911を用いて処理する。以下、端末装置2からデータ管理装置1にロードされるデータの最小単位を「行」と呼ぶことにする。この「行(任意データの一例)」は、例えば、データベースにおけるレコードに対応する。以下、データ管理装置1をデータベースとして説明する。データ管理システム900は、一度に複数の行を端末装置2からデータ管理装置1のデータベースにロード可能であり、また、必要な行を検索によりデータ管理装置1から抽出することが可能である。
ここで、範囲管理テーブル5は範囲に対する管理情報を有するテーブルである。データ管理装置1のバッファメモリ951のサイズ(以下、バッファサイズとする)に適合する複数の行を1グループとし、更新領域8または参照領域9において連続する領域に記憶された複数のグループが1範囲である。以下、1範囲に対する管理情報(範囲エントリの一例)を「エントリ」と呼ぶ。
データ処理部3は、端末装置2から処理要求を入力し、処理要求に応じて範囲管理制御部4にデータ管理命令を出力する。このとき、データ処理部3は、バッファメモリ951に記憶された行を処理し、処理結果を端末装置2に出力する。
範囲管理制御部4は、データ処理部3からデータ管理命令を入力し、データ管理命令に対応して、範囲管理テーブル5に対するエントリの変更・追加・削除・初期設定などのデータ管理処理を行うと共にデータアクセス制御部6にデータアクセス命令を出力する。
データアクセス制御部6は、範囲管理制御部4からデータアクセス命令を入力し、データアクセス命令に応じたグループの取得・追加・削除などのデータアクセス処理をデータ格納領域部7に対して行う。このとき、データアクセス制御部6は、データ格納領域部7から取得した行をバッファメモリ951に記憶し、または、バッファメモリ951に記憶された行をデータ格納領域部7に追加記憶する。
図4においてデータベース30は3つの範囲30a〜30cを持つ。それぞれの範囲には範囲を区別する番号として範囲ID(範囲識別情報の一例)を割り当てる。データベース30の生成時に1つの範囲を定義し、範囲の追加処理により順番に範囲を追加することができる。
データベース30に追加する行は、最後に追加された最新の範囲である「現在の範囲」にロードする。図4においては範囲30c、図5においては範囲30dが、現在の範囲である。データ管理装置1は、この範囲を単位としてデータのバックアップ/リストア、削除を行うことが可能である。
範囲管理テーブル5はデータベースの生成日付10、データベースへのテーブル最終書込み時刻11、データベースが保持する範囲数12、範囲のキー数13を持つ。また、各エントリにおいて、個々の範囲の属性として、範囲ID14、開始グループ番号15、グループ数16、確定状態17、ロード状態18、確定時刻19、エントリ最終書込み時刻20、最小行番号21(最小番号の一例)、最大行番号22(最大番号の一例)、最小タイムスタンプ23(最小追加時刻の一例)、最大タイムスタンプ24(最大追加時刻の一例)を持つ。図6においては、行番号(最小行番号21、最大行番号22)とタイムスタンプ(最小タイムスタンプ23、最大タイムスタンプ24)が範囲のキーであるが、キーの数、キーにするデータ項目は自由に設定することが可能である。
範囲管理制御部4が範囲管理テーブル5の各範囲管理情報を設定する。特に、各エントリに対して、検索、変更、追加、削除、初期設定などの管理処理を行う。
範囲ID14(範囲識別情報の一例)は、範囲管理制御部4が範囲の追加処理時に追加した範囲に対して設定するユニークな識別情報であり、例えば、1ずつ増やした番号を設定する。
開始グループ番号15(グループ特定情報の一例)は、データ処理部3が1つ以上の行をまとめたデータ単位(グループ)の開始番号である。データ処理部3は1つ以上の行をバッファサイズにまとめて1グループとし、グループに対して生成順に連番を振る。
グループ数16(グループ特定情報の一例)は、開始グループ番号15から連続する番号を持つ当該範囲に属するグループの数である。
開始グループ番号15とグループ数16とは当該エントリが示す範囲に属するグループを特定する情報である。
確定状態17(追加可否情報の一例)は当該範囲に対しグループのロードが可能であるか否かを示す。
ロード状態18(グループ有無情報の一例)は当該範囲が空(グループ無し)であるかロード済みであるかを示す。
確定時刻19(確定範囲時刻の一例)は当該範囲に対しグループのロードが可能でなくなった時刻(当該エントリの確定状態17に“FIXED”を設定した時刻)である。
エントリ最終書込み時刻20(最終追加時刻の一例)は、データベースの生成、ロード、範囲の削除、またはバックアップのリストアが最後に行われた時刻である。
最小行番号21(任意データ特定情報の一例)、最大行番号22(任意データ特定情報の一例)は、それぞれ当該範囲に含まれる行の番号の最小値、最大値である。
最小タイムスタンプ23(任意データ特定情報の一例)、最大タイムスタンプ24(任意データ特定情報の一例)はそれぞれ当該範囲に属する行のタイムスタンプ(行を当該範囲に追加した時刻)の最小値、最大値である。
最小行番号21、最大行番号22、最小タイムスタンプ23および最大タイムスタンプ24は当該エントリが示す範囲に属する行を特定する情報である。当該エントリが示す範囲に属する行を特定できる情報であれば、行番号とタイムスタンプのいずれか一つであってもよいし、行番号およびタイムスタンプでなくてもよい。以下、最小行番号21と最大行番号22とを「範囲のキー#1」とし、最小タイムスタンプ23と最大タイムスタンプ24とを「範囲のキー#2」とする。
範囲の操作処理とは、端末装置2から入力した処理要求に対応してデータ管理装置1が実行する処理であり、ロード、範囲の削除、範囲の追加、範囲指定のバックアップ、リストアを示す。範囲に対する操作の際に、範囲管理制御部4は範囲管理テーブル5の当該エントリの範囲の状態(確定状態17、ロード状態18)を、図中の矢印で示すように、ST1、ST2、ST3、ST4のいずれかの状態に設定する。
例えば、状態ST1(確定状態17:CURRENT,ロード状態18:EMPTY)の範囲に対して、ロードあるいはリストアの操作を実行する際、範囲管理制御部4は当該範囲のエントリに対して状態ST2(確定状態17:CURRENT,ロード状態18:LOADED)に変更する。範囲の追加の操作をさらに実行する際は、範囲管理制御部4は状態ST2であった当該範囲のエントリの状態を状態ST4(確定状態17:FIXED,ロード状態18:LOADED)に変更する。なお、範囲の追加により範囲管理制御部4が新規に作成した範囲のエントリの状態は状態ST1である。状態ST3は確定状態17がFIXEDでロード状態18がEMPTYである。
つまり、データ管理装置1は、空である現在の範囲(状態ST1)に対してバックアップ、リストア、ロード、範囲の追加の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップまたは空の範囲のリストアの際には状態を変更せず、ロードまたは空でない範囲のリストアの際には状態ST2に変更し、範囲の追加の際には状態ST3に変更する。
また、データ管理装置1は、空でない現在の範囲(状態ST2)に対してロード、バックアップ、範囲の追加、範囲の削除の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、ロードまたはバックアップの際には状態を変更せず、範囲の追加の際には状態ST4に変更し、範囲の削除の際には状態ST1に変更する。
また、データ管理装置1は、空でない確定範囲(状態ST4)に対してバックアップ、範囲の削除の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップの際には状態を変更せず、範囲の削除の際には状態ST3に変更する。
また、データ管理装置1は、空である確定範囲(状態ST3)に対してバックアップ、リストアの各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップまたは空の範囲のリストアの際には状態を変更せず、空でない範囲のリストアの際には状態ST4に変更する。
但し、データ管理装置1が各状態において他の処理を実行しても構わない。例えば、ロードされた行の上書きを許可し、ロード状態18がLOADEDの時にもリストア処理を実行してもよい。
データ処理部3は、端末装置2からロード要求として入力された行に対して、任意のデータ処理を実行し、複数の行をまとめたデータの固まりであるグループを作成する。
図8は、データ処理の結果生成されるグループの一例である。
この例では、グループ100は、5つの行101a〜101eによって構成される。グループに含まれる行は1つであっても良い。また、グループ内でのデータ配置は自由である。例えば、行が複数のフィールドから構成されている場合、フィールドごとにまとめたブロックをさらにまとめたてグループとしてもよい。あるいは、グループ内のデータに対して圧縮や暗号化などのデータ処理をしてまとめたものであってもよい。
キー情報とは、例えば、キーの最小値と最大値のことである。なお、キーはデータベースの定義として予め設定され記憶機器に記憶されているものとする。
グループ単位のキー情報は、行においてキー属性が設定されたフィールドと同じでも違っても構わない。
図9は、1つの行が行番号102a、タイムスタンプ102b、カラー102cの3つのフィールドを有する場合のグループ100の例である。
図9において、キーとして定義されているフィールドが行番号102aとタイムスタンプ102bである場合、グループ100のキー情報は、行番号102aが最小値“1”、最大値“5”、タイムスタンプ102bが最小値“2005/10/13 12:01”、最大値“2005/10/20 11:54”である。
データ処理部3が端末装置2からロード要求を入力した際にデータ管理装置1が実行するロード処理について、図10に基づいて以下に説明する。
次に、データ処理部3はロードする行を端末装置2から入力する(ステップS101)。
次に、データ処理部3は行入力の終了の判定を行う(ステップS102)。
判定の結果、行入力の終了でない場合、データ処理部3は、入力した行の行番号とタイムスタンプそれぞれのフィールドの値をキー情報変数の値と比較して、入力した行のフィールドの値がキー情報変数の最小値より小さい場合、キー情報変数の最小値をフィールドの値に置き換え、入力した行のフィールドの値がキー情報変数の最大値より大きい場合、キー情報変数の最大値をフィールドの値に置き換える。なお、個々のフィールドの行内での位置は予めデータベースの定義情報を参照して既知であるものとする(ステップS103)。
次に、データ処理部3は入力した行をグループへ追加する。このとき、データ処理部3は入力したグループをバッファメモリ951に追加記憶する(ステップS104)。
次に、データ処理部3は1つのグループとして更新領域8に追加記憶する条件(以下、グループ条件とする)を満たしているかの判定を行う。グループ条件としては、グループに追加した行数が予め設定した行数を満たしている、あるいは、グループに追加した行の長さの積算値が予め設定したグループのサイズを満たしている、などの設定とする。1グループのサイズはバッファサイズ以内でバッファサイズに近いバッファサイズに適合したサイズが好ましい(ステップS105)。
グループ条件を満たしていない場合、データ処理部3は処理をステップS101に移す。
判定の結果、行入力の終了を検出している場合、データ処理部3はロード処理を終了する。
行入力の終了を検出していない場合、データ処理部3はステップ101に処理を移す。
ステップS102で行の終了と判定した場合、データ処理部3はグループの書き残しがあるかの判定を行う(ステップS109)。
データ処理部3は、グループの書き残しがある場合にはステップS106に処理を移し、グループの書き残しがない場合にはロード処理を終了する。
図11は、データ管理装置1が3つのグループ100a〜100cを更新領域8に格納した例である。
データ処理部3は、端末装置2から範囲の追加要求(範囲追加要求データの一例)を受付け、範囲の追加を命令するデータ管理命令を出力して範囲管理制御部4を呼び出す。範囲管理制御部4は更新領域8内のグループを参照領域9に移動させるデータアクセス命令を出力してデータアクセス制御部6を呼び出す。データアクセス制御部6はデータ格納領域部7の更新領域8にあるグループを参照領域9に移動し、範囲管理制御部4は範囲管理テーブル5を更新する。
データ処理部3が端末装置2から範囲の追加要求を入力した際にデータ管理装置1が実行する範囲の追加処理について、図12に基づいて以下に説明する。
次に、データ処理部3は、処理したグループの数をカウントするための変数であるカウンタNを0に初期化する(ステップS201)。
次に、データ処理部3はカウンタNが範囲管理制御部4から入力したグループ数16より小さいかどうかを判定する(ステップS202)。
カウンタNがグループ数16より小さい場合、データ処理部3は範囲管理制御部4から入力した開始グループ番号15にカウンタNを加えたグループ番号のグループを更新領域8から参照領域9に移動させるデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は入力したデータ管理命令に対応する当該グループの移動を命令するデータアクセス命令をデータアクセス制御部6に出力する。そして、データアクセス制御部6はデータ格納領域部7の更新領域8から当該グループを読み出しバッファメモリ951に書き出す(ステップS203)。
次に、データ処理部3はバッファメモリ951に記憶されたグループをデータ格納領域部7の参照領域9に書き出させるデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はバッファメモリ951に記憶されたグループを参照領域9に書き出し、参照領域9に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS204)。
次に、データ処理部3はカウンタNに1を加える(ステップS205)。
データ管理装置1は以上の処理をカウンタNがグループ数16以上になるまで繰り返す。
ステップS202でカウンタNがグループ数16以上であると判定した場合、データ処理部3は更新領域8にあるグループの削除を命令するデータ管理命令を範囲管理制御部4に出力する。そして、範囲管理制御部4は更新領域8にあるグループの削除を命令するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6は更新領域8に記憶されているグループを削除する(ステップS206)。
図13は、更新領域8にある3つのグループ100a〜100cを参照領域9に移動したイメージを示す。
データ管理装置1は、範囲の削除処理により、対象となる範囲の領域をデータ格納領域部7から開放することができる。
図15は、範囲の削除の概念図であり、範囲30bを削除した場合を示す。
まず、データ処理部3は、端末装置2から範囲ID指定で範囲の削除要求(範囲削除要求データの一例)を受付け、範囲IDに対応する範囲の削除を命令するデータ管理命令を出力して範囲管理制御部4を呼び出す。範囲管理制御部4は、データ管理要求が示す範囲IDに範囲ID14が一致するエントリを検索して選択し、選択したエントリのグループ特定情報(開始グループ番号15、グループ数16)を範囲管理テーブル5から取得する。そして、選択したエントリが示す範囲に属するグループの削除を命令するデータアクセス命令を出力してデータアクセス制御部6を呼び出し、データアクセス制御部6は指定された範囲IDに対応する範囲に属するグループをデータ格納領域部7から削除する。また、範囲管理制御部4は範囲管理テーブル5を更新する。
データ処理部3が端末装置2から範囲ID指定で範囲の削除要求を入力した際にデータ管理装置1が実行する範囲の削除処理について、図16に基づいて以下に説明する。
次に、データ処理部3は、処理したグループの数をカウントするための変数であるカウンタNを0に初期化する(ステップS301)。
次に、データ処理部3はカウンタNが範囲管理制御部4から入力したグループ数16より小さいかどうかを判定する(ステップS302)。
カウンタNがグループ数16より小さい場合、データ処理部3は範囲管理制御部4から入力した開始グループ番号15にカウンタNを加えたグループ番号に対応するグループの削除を命令するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は入力したデータ管理命令に対応する当該グループの削除を命令するデータアクセス命令をデータアクセス制御部6に出力する。そして、データアクセス制御部6はデータ格納領域部7において当該グループが記憶された領域を開放する(ステップS304)。
次に、データ処理部3はカウンタNに1を加える(ステップS305)。
データ管理装置1は以上の処理をカウンタNがグループ数16以上になるまで繰り返す。
ステップS302でカウンタNがグループ数16以上であると判定した場合、データ処理部3はエントリの削除を命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はステップS300で検索したエントリに対して、図7の状態遷移図に従い、ロード状態18をLOADEDからEMPTYに変更する。ただし、ロード状態18がすでにEMPTYの場合にはロード状態18を変えない。また、範囲管理制御部4はテーブル最終書込み時刻11とエントリ最終書込み時刻20とに現在の時刻を設定する(ステップS306)。
データ処理部3は、端末装置2から検索要求を受付け、検索要求を解析し、範囲管理制御部4に要求し検索対象となるグループを取得する。そして、データ処理部3は取得した各グループに含まれる各行に対する照合処理を実行して結果を端末装置2に出力する。範囲管理制御部4はデータ処理部3から検索要求の解析結果として受け取った範囲のキー情報で範囲管理テーブル5を参照して検索対象範囲のエントリを読み出し、当該エントリのグループ特定情報で検索対象のグループを特定する。そして、範囲管理制御部4はデータアクセス制御部6に要求し検索対象の範囲に属する全てのグループをデータ格納領域部7から読み出す。
データ処理部3が端末装置2から検索条件を示す検索要求(検索要求データの一例)を入力した際にデータ管理装置1が実行する検索処理について、図18に基づいて以下に説明する。
次に、データ処理部3は検索問合せ文が示す検索条件から範囲のキーになる条件を抽出する。範囲のキーの情報はデータベース定義時に予め設定されているものとする(ステップS401)。
この範囲のキーを前提とした検索問い合わせ文の例を図19に示す。
図19に示す検索問い合わせ文は、行番号が“3000”より大きく、且つ、タイムスタンプが“2004/04/16 00:00”以上“2004/06/15 23:59”以下で、且つ、カラーが“RED”を検索条件にすることを意味する。ここで、範囲のキーの条件として抽出される情報は、行番号が“3000”より大きく、且つ、タイムスタンプが“2004/04/16 00:00”以上“2004/06/15 23:59”以下という情報である。
範囲のキーになる条件がある場合、データ処理部3は範囲のキーに対応する範囲のグループ特定情報を要求するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は範囲管理テーブル5を検索してロード状態18がLOADEDで、且つ、範囲のキーに行特定情報(最小行番号21、最大行番号22、最小タイムスタンプ23、最大タイムスタンプ24)が対応する範囲のエントリを選択し、選択したエントリのグループ特定情報(開始グループ番号15、グループ数16)をデータ処理部3に出力する。データ処理部3は範囲管理制御部4が出力した開始グループ番号15とグループ数16とを検索対象グループの情報として入力する(ステップS403)。
図6と図19の条件を前提とした場合、範囲ID14が4、5および6の範囲が検索対象範囲であり、検索対象範囲に属するグループが検索対象グループである。
範囲のキーになる条件がない場合、データ処理部3はロード状態18がLOADEDであるエントリのグループ特定情報を要求するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は範囲管理テーブル5を検索してロード状態18がLOADEDである範囲のエントリを選択し、選択したエントリのグループ特定情報(開始グループ番号15、グループ数16)をデータ処理部3に出力する。データ処理部3は範囲管理制御部4が出力した開始グループ番号15とグループ数16とを検索対象グループの情報として入力する(ステップS404)。
読み出し終了である場合、データ処理部3は検索処理を終了する。
読み出し終了でない場合、データ処理部3はバッファメモリ951に記憶されたグループに対して行単位の照合処理を行い検索条件に該当する行の情報を検索結果として端末装置2に出力する。図19を例にした場合、データ処理部3はバッファメモリ951に記憶されたグループに含まれる各行を検索し、行の“カラー”フィールドが“RED”である行を選択する照合処理を行う。また、データ処理部3は、検索結果を端末装置2に出力後、照合処理したグループが記憶されたバッファメモリ951の領域を開放する(ステップS407)。
データ管理装置1では、バックアップの種類として、フルバックアップ、差分バックアップ、増分バックアップに加え、範囲指定によるバックアップを実現する。フルバックアップは全データのバックアップであり、差分バックアップはフルバックアップ後に追加・変更されたデータのバックアップであり、増分バックアップはフルバックアップ以外のバックアップ(差分バックアップまたは増分バックアップ)後に追加・変更されたデータのバックアップである。また、範囲指定バックアップは指定された範囲のバックアップである。
データ処理部3は、端末装置2からバックアップ要求(バックアップ要求データの一例)を受付け、データベースの定義情報やデータ格納領域部7に格納されたデータを範囲管理制御部4を介して取得し、取得したデータをまとめたアーカイブファイル300を生成し記憶機器に記憶する。範囲管理制御部4はデータ処理部3からのバックアップ命令に従い、範囲管理テーブル5の情報を取得すると共にデータアクセス制御部6にバックアップ対象のグループを要求する。
300はアーカイブファイルを示す。
301はバックアップの種類、アーカイブファイル300の生成日付、範囲情報(開始範囲ID、範囲数)などのアーカイブファイル300のヘッダ情報(アーカイブヘッダ情報)である。
302はデータベース定義情報であり、データベースのフィールド情報やキー情報などを含む。
303は範囲管理テーブル5の情報である。
304はデータ格納領域部7からバックアップして生成したアーカイブファイル300に含まれるグループに関する情報(グループデータ情報)である。
グループデータ情報304はグループデータヘッダ情報313とグループ312a〜312dとを備える。
グループデータヘッダ情報313は、開始グループ番号305、グループ数306、更新領域内グループ数307、個別グループ情報308a〜308dを備える。
さらに、個別グループ情報308a〜308dは、それぞれ、アーカイブファイル300内でのグループの位置を示すオフセット309、グループのサイズ310、空のグループか否かを示すフラグ311を備える。
個別グループ情報308aのオフセット309(OFFSET#1)はグループ312a(グループ#1)の位置を示し、個別グループ情報308bのオフセット309(OFFSET#2)はグループ312b(グループ#2)の位置を示し、個別グループ情報308cのオフセット309(OFFSET#3)はグループ312c(グループ#3)の位置を示し、個別グループ情報308dのオフセット309(OFFSET#4)はグループ312d(グループ#4)の位置を示す。
400はバックアップ開始位置テーブルの構造を示す。
401は差分バックアップにおけるバックアップ対象の開始位置を示すグループ番号(差分バックアップ開始グループ番号)である。
402は増分バックアップにおけるバックアップ対象の開始位置を示すグループ番号(増分バックアップ開始グループ番号)である。
差分バックアップ開始グループ番号401には、データ処理部3により、フルバックアップ直後における最後のグループ番号に1を加えた値が設定される。
増分バックアップ開始グループ番号402には、データ処理部3により、差分バックアップ、増分バックアップの直後における最後のグループ番号に1を加えた値が設定される。
データ処理部3が端末装置2からバックアップ要求を入力した際にデータ管理装置1が実行するバックアップ処理について、図22に基づいて以下に説明する。
次に、データ処理部3はアーカイブファイル300に設定する情報を要求するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4は範囲管理テーブル5から取得した情報をデータ処理部3に出力する。このとき、範囲管理制御部4は、アーカイブファイル300のグループデータヘッダ情報313に設定する開始グループ番号305、グループ数306、更新領域内グループ数307と、範囲管理テーブル情報303に設定する情報と、アーカイブヘッダ情報301に設定する開始範囲ID、範囲数とに関する情報を範囲管理テーブル5から取得する(ステップS501)。
次に、データ処理部3は、アーカイブヘッダ情報301、データベース定義情報302、範囲管理テーブル情報303、グループデータヘッダ情報313を作成し、アーカイブファイル300に順番に書き出す。このとき、データ処理部3は、ステップS500で入力したバックアップ要求とステップS501で範囲管理制御部4から取得した範囲管理テーブル5の情報とに基づいてアーカイブヘッダ情報301を生成し、データベース作成時に定義された情報に基づいてデータベース定義情報302を生成し、ステップS501で範囲管理制御部4から取得した範囲管理テーブル5の情報に基づいて範囲管理テーブル情報303を生成する。また、データ処理部3は、ステップS501で範囲管理制御部4から取得した範囲管理テーブル5の情報に基づいてグループデータヘッダ情報313を生成する。データ処理部3は、グループデータヘッダ情報313のうち、個別グループ情報308a〜308dには予め定めた初期値を設定する。範囲管理テーブル情報303には、例えば、ロード状態18(グループ有無情報の一例)などが含まれる(ステップ502)。
次に、データ処理部3はカウンタNがアーカイブファイル300のグループデータヘッダ情報313に設定したグループ数306より小さいかどうかを判定する(ステップS504)。
カウンタNがグループ数306より小さい場合、データ処理部3は、アーカイブファイル300のグループデータヘッダ情報313に設定した開始グループ番号305にカウンタNを加えた値をバックアップ対象グループの番号を示す変数であるグループ番号GNに設定する(ステップS505)。
次に、データ処理部3は、範囲管理テーブル情報303に含まれるロード状態18に基づいて、グループ番号GNが示すグループが空のグループでないか否かの判定を行う。このとき、データ処理部3はロード状態18がEMPTYである場合に当該グループが空であると判定する(ステップS506)。
グループ番号GNのグループが空であると判定した場合、データ処理部3はステップS509に処理を移す。
グループ番号GNのグループが空でないと判定した場合、データ処理部3はグループ番号GNに対応するグループを要求するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令に対応するグループを要求するデータアクセス命令をデータアクセス制御部6に出力する。データアクセス制御部6はグループ番号GNのグループをデータ格納領域部7から読み出してバッファメモリ951に記憶する(ステップS507)。
次に、データ処理部3はバッファメモリ951に記憶されたグループ番号GNに対応するグループをアーカイブファイル300に追加で書き出す。また、データ処理部3はグループ番号GNに対応するグループが記憶されたバッファメモリ951の領域を開放する(ステップS508)。
また、データ処理部3はステップS502でアーカイブファイル300に出力したグループデータヘッダ情報313をグループ番号GNに対応するグループに関して更新する。具体的には、個別グループ情報であるアーカイブファイル300内でのオフセット309、グループのサイズ310、空のグループか否かを示すフラグ311を設定する(ステップS509)。
次に、データ処理部3はカウンタNに1を加える(ステップS510)。
データ管理装置1は以上の処理をカウンタNがグループ数306以上になるまで繰り返す。
ステップS504でカウンタNがグループ数306以上であると判定した場合、データ処理部3はバックアップ開始位置テーブル400を更新しバックアップ処理を終了する。バックアップ開始位置テーブル400を更新する際、データ処理部3は、フルバックアップの場合には、最後にアーカイブファイル300に追加したグループのグループ番号に1を加えた値(グループ番号GN+1)を差分バックアップ開始グループ番号401に設定する。また、データ処理部3は、差分バックアップまたは増分バックアップの場合には、最後にアーカイブファイル300に追加したグループのグループ番号に1を加えた値(グループ番号GN+1)を増分バックアップ開始グループ番号402に設定する(ステップS511)。
まず、データ処理部3はバックアップ要求が示すバックアップの種類を判定する。範囲指定バックアップの要求にはバックアップする範囲を示す範囲IDが含まれる(ステップS600)。
範囲指定バックアップの場合、データ処理部3は、範囲管理制御部4が範囲管理テーブル5を検索して選択した範囲ID14がバックアップ要求に含まれる範囲IDと一致するエントリについて、開始グループ番号15とグループ数16とを取得する。ステップS502において、データ処理部3は、範囲管理テーブル5から取得した開始グループ番号15とグループ数16とを、アーカイブファイル300のグループデータヘッダ情報313の開始グループ番号305とグループ数306とに設定する(ステップS601)。
フルバックアップの場合、データ処理部3は、範囲管理テーブル5の情報に基づいて、全範囲を対象とする開始グループ番号とグループ数とを算出する。ここで算出する開始グループ番号は範囲管理テーブル5の全エントリにおける最小の開始グループ番号15であり、グループ数は全エントリのグループ数16の合計値である。ステップS502において、データ処理部3は算出した開始グループ番号とグループ数とをアーカイブファイル300のグループデータヘッダ情報313の開始グループ番号305とグループ数306とに設定する。データ処理部3は範囲管理テーブル5の情報を範囲管理制御部4を介して取得する(ステップS602)。
差分バックアップの場合、データ処理部3は、バックアップ開始位置テーブル400を参照して差分バックアップ開始グループ番号401を取得し、範囲管理テーブル5の情報に基づいて差分バックアップ開始グループ番号401以降のグループ数を算出する。ここで算出するグループ数は範囲管理テーブル5の全エントリにおける最大の開始グループ番号15に最大の開始グループ番号15を有する当該エントリのグループ数16を加算した値から差分バックアップ開始グループ番号401を減算した値に1加算した値である。ステップS502において、データ処理部3は、アーカイブファイル300に対して、差分バックアップ開始グループ番号401をグループデータヘッダ情報313の開始グループ番号305に設定し、算出したグループ数をグループデータヘッダ情報313のグループ数306に設定する。データ処理部3は範囲管理テーブル5の情報を範囲管理制御部4を介して取得する(ステップS603)。
増分バックアップの場合、データ処理部3は、バックアップ開始位置テーブル400を参照して増分バックアップ開始グループ番号402を取得し、範囲管理テーブル5に基づいて増分バックアップ開始グループ番号402以降のグループ数を算出する。ここで算出するグループ数は範囲管理テーブル5の全エントリにおける最大の開始グループ番号15に最大の開始グループ番号15を有する当該エントリのグループ数16を加算した値から増分バックアップ開始グループ番号402を減算した値に1加算した値である。ステップS502において、データ処理部3は、アーカイブファイル300に対して、増分バックアップ開始グループ番号402をグループデータヘッダ情報313の開始グループ番号305に設定し、算出したグループ数をグループデータヘッダ情報313のグループ数306に設定する。データ処理部3は範囲管理テーブル5の情報を範囲管理制御部4を介して取得する(ステップS604)。
データ管理装置1は、端末装置2からのリストア要求に対して、バックアップ処理時に生成したアーカイブファイル300を入力として範囲管理制御部4およびデータアクセス制御部6を介してリストア処理を実行する。データ処理部3が入力したリストア要求に対応して、範囲管理制御部4は範囲管理テーブル5を更新し、データアクセス制御部6はリストア対象のグループをデータ格納領域部7に書き込む。
データ処理部3が端末装置2からリストア要求を入力した際にデータ管理装置1が実行する範囲の削除処理について、図24に基づいて以下に説明する。
次に、データ処理部3は、データ管理装置1の記憶機器からアーカイブファイル300を取得し、アーカイブヘッダ情報301に含まれるバックアップ種類に従い、リストア条件を満足しているか否かのチェックを行う。チェック条件は、例えば、範囲指定バックアップにより生成されたアーカイブファイル300をリストアする場合、リストア対象の範囲を示すエントリのロード状態18が図7の状態遷移図に従いEMPTYであること、アーカイブファイル300内のデータベース定義情報302と範囲管理テーブル情報303とが現在リストアしようとしているデータベースのデータベース定義情報と範囲管理テーブル情報303とに対して矛盾がないことなどである。なお、上書きモードでアーカイブファイル300のリストアをする場合、リストア対象の範囲を示すエントリのロード状態18がEMPTYである必要はない。データ処理部3は範囲管理制御部4を介して範囲管理テーブル5の情報を取得する(ステップS701)。
リストア条件を満足していないと判定した場合、データ処理部3はリストア処理を終了する。
リストア条件を満足していると判定した場合、データ処理部3は、アーカイブファイル300を参照して、グループ数306から更新領域内グループ数307を引いた値を変数である参照領域内グループ数RNに設定する(ステップS702)。
次に、データ処理部3は処理したグループの数をカウントするため変数であるカウンタNを0に初期化する(ステップS703)。
次に、データ処理部3はカウンタNがグループ数306より小さいかどうかを判定する(ステップS704)。
カウンタNがグループ数306より小さい場合、データ処理部3は、開始グループ番号305にカウンタNを加えた値を変数であるグループ番号GNに設定する(ステップS705)。
次に、データ処理部3は、アーカイブファイル300を参照して、グループ番号GNに対応する個別グループ情報のフラグ311が空を示すかの判断をする(ステップS706)。
当該フラグ311が空を示さないと判定した場合、データ処理部3は、グループ番号GNに対応するグループをアーカイブファイル300から読み出しバッファメモリ951に記憶する(ステップS707)。
当該フラグ311が空を示すと判定した場合、データ処理部3は、個別グループ情報のサイズ310を設定情報として持つ仮想的な空のグループを作成する(ステップS708)。
次に、データ処理部3はカウンタNが参照領域内グループ数RNより小さいか否かを判定する(ステップS709)。
カウンタNが参照領域内グループ数RNより小さい場合、データ処理部3は、リストア対象グループをデータ格納領域部7の参照領域9に書き出させるデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はバッファメモリ951に記憶されたグループを参照領域9に書き出す。また、データアクセス制御部6は参照領域9に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS710)。
カウンタNが参照領域内グループ数RN以上である場合、データ処理部3は、リストア対象グループをデータ格納領域部7の更新領域8に書き出させるデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令にデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はバッファメモリ951に記憶されたグループを更新領域8に書き出す。また、データアクセス制御部6は更新領域8に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS711)。
次に、データ処理部3はカウンタNに1を加えてステップS704に処理を移す。
ステップS704において、カウンタNがグループ数306以上であると判定した場合、データ処理部3は範囲管理テーブル5のリストアを命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4は範囲管理テーブル5を更新し、データ管理装置1はリストア処理を終了する(ステップS713)。
まず、データ処理部3はアーカイブファイル300のアーカイブヘッダ情報301のバックアップ種類を参照し、範囲指定バックアップのリストアか否かを判定する(ステップS800)。
範囲指定バックアップのリストアである場合、データ処理部3は範囲管理テーブル5の1範囲のリストアを命令するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は範囲管理テーブル5においてリストア対象の範囲のエントリのロード状態18を、図7の状態遷移図に従って、LOADEDに変更する(ステップS801)。
範囲指定バックアップのリストアでない場合、データ処理部3は範囲管理テーブル5の全範囲のリストアを命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はアーカイブファイル300の範囲管理テーブル情報303で範囲管理テーブル5の情報を置き換える(ステップS802)。
データベースに代表されるデータ管理装置1ではデータアクセスの高速化が望まれる。そこで、実施の形態におけるデータ管理装置1は、バッファメモリ(またはキャッシュメモリ)を介してCPU911と磁気ディスク装置920との間で個別のデータ(行)を入出力しデータアクセスの効率を向上することでデータアクセスを高速化している。また、行をバッファサイズ(またはキャッシュサイズ)でまとめたデータ(グループ)を単位として管理しグループ単位で行をアクセスしているため、バッファサイズ(またはキャッシュサイズ)に適合するサイズ分の行を入出力することが容易であり、データアクセスの効率をさらに向上している。また、データ管理装置1はグループを任意にまとめたデータ(範囲)を記憶領域(参照領域9または更新領域8)の連続する領域に記憶することで、連続するグループにアクセスする際に磁気ディスク装置920がヘッダおよび磁気ディスクを移動するデータアクセス時間を短縮ている。
このため、実施の形態におけるデータ管理装置1は、追記型のデータベースとして特に有用であり、例えば、時・日・週・月などの時間単位を範囲とすることで任意の時間単位に発生したデータを高速に処理することができる。
また、範囲管理テーブル5に範囲ごとのキー情報(最小値、最大値)を持つことが可能であり、検索においてこのキー情報を利用してデータを読み出す前にアクセス対象の範囲のデータを絞り込むことができ、効率的なデータアクセスが可能となる。
また、範囲管理テーブル5にロード状態18を持ち、空の範囲を検索対象から除外することができ、効率的なデータアクセスが可能となる。
また、データロードにおいては、データの追加が許可された更新領域8に対してグループ単位で連続的に追加していくだけでよく、索引も持たないため、高速なロードが可能である。
また、範囲の追加は、定められた時間単位でなく、ユーザによって任意の時点で可能である。
また、範囲管理テーブル5によりデータ格納領域部7に配置された連続した領域として範囲を管理しているため、一括した処理が可能で範囲の削除に時間がかからない。
また、バックアップにおいては、範囲指定のバックアップの実現に加え、範囲管理テーブル5のロード状態18を参照して空の範囲に対するバックアップ処理をスキップすることで読み出し範囲を限定できるために効率的にバックアップを行うことが可能である。
また、リストアにおいては、範囲指定のリストアの実現に加え、アーカイブファイル300に含まれる範囲管理テーブル5から削除された範囲も削除されたものとして忠実に復元することが可能である。
データベースのデータ格納領域として、データの追加を許可する更新領域とデータの参照だけを許可する参照領域をもち、更新領域のデータは参照領域に追加され、参照領域へ追加されたデータは更新領域から削除されるデータ格納手段(データ格納領域部7)を備えたデータ管理装置1。
上記実施の形態1によるデータ管理装置1は、データ格納領域部7の更新領域8にあるグループを参照領域9に移動することで範囲の追加を行うものであった。
これに対して実施の形態2では、更新領域8にあるグループをマージ処理して生成した新しいグループを参照領域9に移動することを特徴とするデータ管理装置1について説明する。
図26は、データ処理部3が実行するグループのマージ処理により、グループ100a〜100cが新たなグループ1000aに、グループ100d〜100gが新たなグループ1000bになることを示す。
マージ対象とするグループについて、グループのマージ条件をデータ管理装置1の記憶機器にあらかじめ保持し任意に設定できるものとする。なお、以降の説明において、グループをマージ後の新たなグループをマージグループと呼ぶことにする。
実施の形態2によるデータ管理装置1における範囲の追加処理の動作について、図27に基づいて以下に説明する。
次に、データ処理部3は処理したグループの数をカウントする変数であるカウンタNを0に初期化する(ステップS901)。
次に、データ処理部3はマージしたグループの数をカウントする変数であるカウンタMを0に初期化する(ステップS902)。
次に、データ処理部3はカウンタNが範囲管理制御部4から入力したグループ数16より小さいかどうかを判定する(ステップS903)。
カウンタNがグループ数16より小さい場合、データ処理部3は範囲管理制御部4から入力した開始グループ番号15にカウンタNを加えたグループ番号に対応するグループを要求するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力する。データアクセス制御部6はデータアクセス命令に対応する当該グループをデータ格納領域部7の更新領域8から読み出しバッファメモリ951に記憶する(ステップS904)。
次に、データ処理部3は、参照領域9に書き出していないマージグループがある場合、そのマージグループにバッファメモリ951に記憶されたグループをマージして新たなマージグループとする。このとき、データ処理部3はマージグループをマージ用のバッファメモリに記憶する。また、データ処理部3はマージしたグループが記憶されたバッファメモリ951の領域を開放する(ステップS905)。
次に、データ処理部3はカウンタNに1を加える(ステップS906)。
次に、データ処理部3はマージグループがマージ完了条件を満たしているか否かの判定を行う。マージ完了条件は、マージ対象の最大グループ数やマージグループの最大サイズなど任意の条件を予め設定することが可能である。マージグループのサイズがバッファメモリ951に適合するとよい(ステップS907)。
マージ完了条件を満たしていないと判定した場合、データ処理部3はステップS903に処理を移す。
マージ完了条件を満たしていると判定した場合、データ処理部3はマージグループをデータ格納領域部7の参照領域9に書き出させるデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はマージ用バッファメモリに記憶されたマージグループを参照領域9に書き出す。また、データアクセス制御部6は参照領域9に書き出したグループが記憶されたマージ用バッファメモリの領域を開放する(ステップS908)。
次に、データ処理部3はカウンタMに1を加えてステップS903に処理を移す(ステップ909)。
データ管理装置1は以上の処理をカウンタNがグループ数16以上になるまで繰り返す。
ステップS903でカウンタNがグループ数16以上であると判定した場合、データ処理部3はマージグループの書き残しがあるかの判定を行う(ステップS910)。
マージグループの書き残しがあると判定した場合、データ処理部3はステップS908およびステップ909と同様にしてマージグループを参照領域9に書き出し(ステップS911)、カウンタMに1を加算する(ステップS912)。
マージグループの書き残しがないと判定した場合、データ処理部3はステップS913に処理を移す。
次に、データ処理部3は更新領域8にあるグループの削除を命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6は更新領域8に記憶されているグループを削除する(ステップS913)。
以上により、更新領域8にあるグループをマージして参照領域9へ移動したことになる。
これにより、行のロード頻度が低く更新領域8に追加されるグループのサイズが小さくなってアクセス効率を低下させる場合においても、前記マージ処理により入出力効率を向上するのに適切なグループのサイズ(例えば、バッファサイズ)に保つことができ、アクセス効率を向上させることが可能となる。
範囲管理制御手段(範囲管理制御部4)は、範囲の追加において現在の範囲(CURRENT)の状態から確定した範囲の状態(FIXED)に範囲の状態(確定状態17)を変更し、新たに追加した範囲を現在の範囲に設定し、現在の範囲を常に1つだけ持つことを特徴とするデータ管理装置1。
Claims (19)
- 記憶領域を有する第1の記憶機器と、
所定のサイズを有するバッファメモリと、
前記バッファメモリのサイズに適合する複数の任意データを1グループとして中央処理装置を用いてデータ処理するデータ処理部と、
前記第1の記憶機器に対してグループ単位で任意データを入出力する入出力制御部と、
前記第1の記憶機器の連続する記憶領域に記憶された複数のグループを1範囲として当該範囲に属するグループを特定するグループ特定情報と当該範囲に属するグループに含まれる任意データを特定する任意データ特定情報と当該範囲を識別する範囲識別情報とを含む範囲エントリを範囲毎に記憶する第2の記憶機器と、
前記第2の記憶機器に記憶された範囲エントリの管理処理を中央処理装置を用いて行う範囲管理制御部と
を備えたことを特徴とするデータ管理装置。 - 前記第2の記憶機器は任意データを識別する番号であり当該範囲に属する任意データの内での最小番号と最大番号とを前記任意データ特定情報に含む範囲エントリを記憶する
ことを特徴とする請求項1記載のデータ管理装置。 - 前記第2の記憶機器は任意データを当該範囲に追加した時刻であり当該範囲に属する任意データの内での最小追加時刻で最大追加時刻とを前記任意データ特定情報に含む範囲エントリを記憶する
ことを特徴とする請求項1〜請求項2いずれかに記載のデータ管理装置。 - 前記データ処理部は検索対象データの条件を示す検索要求データを入力機器から入力し、
前記範囲管理制御部は前記データ処理部の入力した前記検索要求データが示す検索対象データの条件に任意データ特定情報が対応する範囲エントリを検索して選択し、
前記入出力制御部は前記範囲管理制御部が選択した範囲エントリのグループ特定情報が示すグループを前記第1の記憶機器から取得し、
前記データ処理部は前記入出力制御部が取得したグループに含まれる任意データから前記検索要求データが示す検索対象データの条件に対応する任意データを検索して出力機器に出力する
ことを特徴とする請求項1〜請求項3いずれかに記載のデータ管理装置。 - 前記第2の記憶機器はグループを有さない空範囲を特定するグループ有無情報を前記範囲エントリに含んで記憶し、
前記範囲管理制御部は前記検索要求データが示す検索対象データの条件に任意データ特定情報が対応する範囲エントリであり且つグループ有無情報が空範囲でないことを示す範囲エントリを検索して選択する
ことを特徴とする請求項4記載のデータ管理装置。 - 前記第2の記憶機器はグループを追加中の処理中範囲とグループの追加が終了した確定範囲とを特定する追加可否情報を前記範囲エントリに含んで記憶し、
前記データ処理部は、前記第1の記憶機器に新たに記憶する任意データを入力機器から入力し、入力した任意データを含む新たなグループを生成し、
前記範囲管理制御部は、前記データ処理部が新たなグループを生成した際、前記追加可否情報に基づいて処理中範囲の範囲エントリを検索して選択し、処理中範囲の範囲エントリのグループ特定情報を処理中範囲に属するグループと前記新たなグループとを特定するグループ特定情報に更新すると共に処理中範囲の範囲エントリの任意データ特定情報を処理中範囲に属するグループに含まれる任意データと前記新たなグループに含まれる任意データとを特定する任意データ特定情報に更新し、
前記入出力制御部は、前記データ処理部が生成した前記新たなグループを入力し、処理中範囲に含まれるグループが記憶された記憶領域と連続する記憶領域に前記新たなグループを記憶する
ことを特徴とする請求項1〜請求項5いずれかに記載のデータ管理装置。 - 前記第2の記憶機器はグループを有さない空範囲を特定するグループ有無情報を前記範囲エントリに含んで記憶し、
前記範囲管理制御部は、前記データ処理部が新たなグループを出力した際、前記追加可否情報に基づいて処理中範囲の範囲エントリを検索して選択し、処理中範囲の範囲エントリに空範囲でないことを示すグループ有無情報を設定する
ことを特徴とする請求項6記載のデータ管理装置。 - 前記第2の記憶機器は当該範囲にグループを最後に追加した最終追加時刻を前記範囲エントリに含んで記憶し、
前記範囲管理制御部は前記データ処理部が新たなグループを出力した際の時刻を処理中範囲の範囲エントリの最終追加時刻に設定する
ことを特徴とする請求項6〜請求項7いずれかに記載のデータ管理装置。 - 前記第2の記憶機器はグループを追加中の処理中範囲とグループの追加が終了した確定範囲とを特定する追加可否情報を前記範囲エントリに含んで記憶し、
前記データ処理部は範囲追加要求データを入力機器から入力し、
前記範囲管理制御部は、前記データ処理部が範囲追加要求データを入力した際、前記追加可否情報に基づいて処理中範囲の範囲エントリを検索して選択し、選択した範囲エントリの追加可否情報を確定範囲に変更し、処理中範囲を示す追加可否情報を設定した範囲エントリを新たに追加して前記第2の記憶機器に記憶する
ことを特徴とする請求項1〜請求項8いずれかに記載のデータ管理装置。 - 前記第1の記憶機器は記憶データを更新する更新領域と記憶データを更新しない参照領域とを前記記憶領域として有して前記更新領域に処理中範囲を記憶すると共に前記参照領域に確定範囲を記憶し、
前記入出力制御部は、前記データ処理部が範囲追加要求データを入力した際、前記更新領域に記憶された処理中範囲に属するグループを前記参照領域に追加記憶すると共に処理中範囲に属するグループを前記更新領域から削除する
ことを特徴とする請求項9記載のデータ管理装置。 - 前記データ処理部は、範囲追加要求データを入力した際、前記更新領域に記憶された複数のグループで前記バッファメモリのサイズに適合する1グループを生成し、
前記入出力制御部は前記データ処理部が生成したグループを前記参照領域に追加記憶する
ことを特徴とする請求項10記載のデータ管理装置。 - 前記第2の記憶機器は当該範囲が確定範囲になった確定範囲時刻を前記範囲エントリに含んで記憶し、
前記範囲管理制御部は、前記データ処理部が範囲追加要求データを入力した際の時刻を処理中範囲の範囲エントリの確定範囲時刻に設定する
ことを特徴とする請求項9〜請求項11いずれかに記載のデータ管理装置。 - 前記第2の記憶機器はグループを有さない空範囲を特定するグループ有無情報を前記範囲エントリに含んで記憶し、
前記データ処理部は削除する範囲の識別情報を含む範囲削除要求データを入力機器から入力し、
前記範囲管理制御部は、前記データ処理部が入力した範囲削除要求データに含まれる識別情報に範囲識別情報が対応する範囲エントリを検索して選択し、選択した範囲エントリに空範囲を示すグループ有無情報を設定する
ことを特徴とする請求項1〜請求項12いずれかに記載のデータ管理装置。 - 前記データ管理装置は、さらに、第3の記憶機器を備え、
前記データ処理部はバックアップする範囲の識別情報を含むバックアップ要求データを入力機器から入力し、
前記範囲管理制御部は前記データ処理部が入力したバックアップ要求データに含まれる識別情報に範囲識別情報が対応する範囲エントリを検索して選択し、
前記入出力制御部は前記範囲管理制御部が選択した範囲エントリのグループ特定情報が示すグループを前記第1の記憶機器から取得し、
前記データ処理部は前記入出力制御部が取得したグループを含むバックアップファイルを生成し前記第3の記憶機器に記憶する
ことを特徴とする請求項1〜請求項13いずれかに記載のデータ管理装置。 - 前記第2の記憶機器はグループを有さない空範囲を特定するグループ有無情報を前記範囲エントリに含んで記憶し、
前記データ処理部は前記範囲管理制御部が選択した範囲エントリのグループ有無情報を含めて前記バックアップファイルを生成する
ことを特徴とする請求項14記載のデータ管理装置。 - 前記データ処理部は前記第3の記憶機器に記憶されたバックアップファイルを前記第1の記憶機器にリストアするリストア要求データを入力機器から入力し、
前記範囲管理制御部は、前記データ処理部がリストア要求データを入力した際、バックアップファイルに含まれるグループ有無情報を当該範囲エントリに設定し、
前記入出力制御部は、前記データ処理部がリストア要求データを入力した際、バックアップファイルに含まれるグループを前記第1の記憶機器に記憶する
ことを特徴とする請求項15記載のデータ管理装置。 - 前記データ処理部はバックアップファイルからリストアする範囲の識別情報を含むリストア要求データを入力機器から入力し、
前記範囲管理制御部は前記データ処理部が入力したリストア要求データに含まれる識別情報に範囲識別情報が対応する範囲エントリを検索して選択し、
前記データ処理部と前記範囲管理制御部と前記入出力制御部とは、前記範囲管理制御部が選択した範囲エントリのグループ有無情報が空範囲を示さない場合にリストア処理を行い、前記範囲管理制御部が選択した範囲エントリのグループ有無情報が空範囲を示す場合にリストア処理を行わない
ことを特徴とする請求項15〜請求項16いずれかに記載のデータ管理装置。 - データ処理部がバッファメモリのサイズに適合する複数の任意データを1グループとして中央処理装置を用いてデータ処理を行い、
入出力制御部が第1の記憶機器に対してグループ単位で任意データを入出力する入出力制御処理を行い、
範囲管理制御部が、前記第1の記憶機器の連続する記憶領域に記憶された複数のグループを1範囲として当該範囲に属するグループを特定するグループ特定情報と当該範囲に属するグループに含まれる任意データを特定する任意データ特定情報と当該範囲を識別する範囲識別情報とを含む範囲エントリを範囲毎に第2の記憶機器に記憶し、第2の記憶機器に記憶された範囲エントリの管理処理を中央処理装置を用いて行う
ことを特徴とするデータ管理方法。 - 請求項18記載のデータ管理方法をコンピュータに実行させることを特徴とするデータ管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005332648A JP4813155B2 (ja) | 2005-11-17 | 2005-11-17 | データ管理装置、データ管理装置のデータ管理方法およびデータ管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005332648A JP4813155B2 (ja) | 2005-11-17 | 2005-11-17 | データ管理装置、データ管理装置のデータ管理方法およびデータ管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007140821A true JP2007140821A (ja) | 2007-06-07 |
JP4813155B2 JP4813155B2 (ja) | 2011-11-09 |
Family
ID=38203608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005332648A Active JP4813155B2 (ja) | 2005-11-17 | 2005-11-17 | データ管理装置、データ管理装置のデータ管理方法およびデータ管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4813155B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010204971A (ja) * | 2009-03-04 | 2010-09-16 | Mitsubishi Electric Corp | 情報処理装置及び情報処理方法及びプログラム |
JP7185953B1 (ja) | 2021-07-02 | 2022-12-08 | Eaglys株式会社 | データ管理システム、データ管理方法、及びデータ管理プログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102653845B1 (ko) * | 2018-12-03 | 2024-04-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10260876A (ja) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | データベースのデータ構造及びデータベースのデータ処理方法 |
JP2000066933A (ja) * | 1998-08-18 | 2000-03-03 | Nec Corp | 時系列データ管理方式 |
JP2001142752A (ja) * | 1999-11-15 | 2001-05-25 | Hitachi Ltd | データベース管理方法 |
JP2001331509A (ja) * | 2000-05-22 | 2001-11-30 | Hitachi Ltd | リレーショナルデータベース処理装置、リレーショナルデータベースの処理方法及びリレーショナルデータベースの処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
-
2005
- 2005-11-17 JP JP2005332648A patent/JP4813155B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10260876A (ja) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | データベースのデータ構造及びデータベースのデータ処理方法 |
JP2000066933A (ja) * | 1998-08-18 | 2000-03-03 | Nec Corp | 時系列データ管理方式 |
JP2001142752A (ja) * | 1999-11-15 | 2001-05-25 | Hitachi Ltd | データベース管理方法 |
JP2001331509A (ja) * | 2000-05-22 | 2001-11-30 | Hitachi Ltd | リレーショナルデータベース処理装置、リレーショナルデータベースの処理方法及びリレーショナルデータベースの処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010204971A (ja) * | 2009-03-04 | 2010-09-16 | Mitsubishi Electric Corp | 情報処理装置及び情報処理方法及びプログラム |
JP7185953B1 (ja) | 2021-07-02 | 2022-12-08 | Eaglys株式会社 | データ管理システム、データ管理方法、及びデータ管理プログラム |
JP2023007959A (ja) * | 2021-07-02 | 2023-01-19 | Eaglys株式会社 | データ管理システム、データ管理方法、及びデータ管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4813155B2 (ja) | 2011-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4313323B2 (ja) | サーチ可能なアーカイブ | |
JP4255373B2 (ja) | ネットワークファイルシステムのための管理および同期化アプリケーション | |
JP5233233B2 (ja) | 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム | |
KR101631004B1 (ko) | 위치 독립적 파일 | |
JP5186390B2 (ja) | ノードの番号付けによるファイル・システムのダンプ/復元のための方法、システム、およびデバイス | |
KR100667827B1 (ko) | 컨텐츠 파일 정보 관리 방법, 장치와 그 방법을 수행하는프로그램이 기록된 기록 매체 | |
JPH1153240A (ja) | 計算機のデータバックアップ装置及びデータバックアップ方法並びにデータバックアッププログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN101477516B (zh) | 一种电子数据处理方法和系统 | |
CN105740303A (zh) | 改进的对象存储的方法及装置 | |
KR20160100216A (ko) | 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치 | |
JP5254141B2 (ja) | アーカイブ装置、データ格納プログラムおよびデータ格納方法 | |
JP4813155B2 (ja) | データ管理装置、データ管理装置のデータ管理方法およびデータ管理プログラム | |
JPWO2012114402A1 (ja) | データベース管理装置及びデータベース管理方法 | |
US20210255998A1 (en) | Method for object management using trace identifier, apparatus for the same, computer program for the same, and recording medium storing computer program thereof | |
WO2012081165A1 (ja) | データベース管理装置及びデータベース管理方法 | |
JP2014154971A (ja) | 画像表示装置、画像表示方法及びプログラム | |
JP5063465B2 (ja) | 文書管理装置、文書管理方法、情報処理プログラム及び記録媒体 | |
JPH05113920A (ja) | フアイル管理方法及びその装置 | |
CN111177088A (zh) | 一种数据重删方法、装置及电子设备和存储介质 | |
JP2002140218A (ja) | データ処理方法、コンピュータ読み取り可能な記録媒体及びデータ処理装置 | |
JPH0687225B2 (ja) | フアイル・サービス要求の処理方法及び装置 | |
TWI475419B (zh) | 用於在儲存系統上存取檔案的方法和系統 | |
JP2013118510A (ja) | 画像処理装置及び画像処理方法 | |
CN111831231B (zh) | 分区合并、分区拆分的方法及装置 | |
JP2011070369A (ja) | データベース統合装置およびデータベース統合方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110519 |
|
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: 20110823 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110824 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4813155 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
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 |