(57)【要約】  複数のＸＭＬデータの内容をデータ量を削減し速やかに利用できる形態で保存する。  圧縮データをパターンテーブルセットと個別圧縮データセットより構成する。ＸＭＬデータを変換したテーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列（ｂ）と一致する配列が、パターンデータセットに含まれているトポロジパターンテーブル（ａ）に登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリの順位をTPNoとして個別圧縮データに登録する（ｂ）。フィールド"ノードネーム"についても同様の処理を行い個別圧縮データにNNPNoを個別圧縮データに登録する。他のフィールドについては、そのフィールドの列を個別圧縮データに登録する。そして、個別圧縮データを個別圧縮データセットに追加登録する。
2018096998.tif 000002
【特許請求の範囲】
【請求項１】
複数のＸＭＬデータを圧縮するデータ圧縮装置であって、
１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
ＸＭＬデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成手段と、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを有し、
前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表しており、
前記テーブル生成手段は、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、対応するノードに対応するタグの名称が登録された第２のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第３のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成し、
前記パターンテーブルセットは、前記第１のフィールドに対応するパターンテーブルと、前記第２のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。
【請求項２】
請求項１記載のデータ圧縮装置であって、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリが存在しない場合には、当該フィールドに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。
【請求項３】
複数のＸＭＬデータを圧縮するデータ圧縮装置であって、
１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
ＸＭＬデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成手段と、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを有し、
前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表しており、
ＸＭＬデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであって、
前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第２のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第３のフィールドを備え、
前記圧縮テーブルデータ生成手段は、前記テーブルの各レコードの第２のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第２のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第２のフィールドの値を示すデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成手段は、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。
【請求項４】
請求項３記載のデータ圧縮装置であって、
前記個別圧縮データ作成手段は、前記圧縮テーブルデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリが存在しない場合には、当該値リストに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、当該値リストの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。
【請求項５】
請求項１、２、３または４記載のデータ圧縮装置であって、
前記パターンテーブルのエントリの識別情報は、当該エントリの前記パターンテーブル中の順位を表す値であることを特徴とするデータ圧縮装置。
【請求項６】
コンピュータによって読み取られ実行されるコンピュータプログラムであって、
当該コンピュータプログラムは、前記コンピュータを、
１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存した圧縮データセット保存手段と、
ＸＭＬデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成手段と、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段として機能させ、
前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表しており、
前記テーブル生成手段は、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、対応するノードに対応するタグの名称が登録された第２のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第３のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成し、
前記パターンテーブルセットは、前記第１のフィールドに対応するパターンテーブルと、前記第２のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。
【請求項７】
請求項６記載のコンピュータプログラムであって、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリが存在しない場合には、当該フィールドに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。
【請求項８】
コンピュータによって読み取られ実行されるコンピュータプログラムであって、
当該コンピュータプログラムは、前記コンピュータを、
１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存した圧縮データセット保存手段と、
ＸＭＬデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成手段と、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段として機能させ、
前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表しており、
ＸＭＬデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであって、
前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第２のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第３のフィールドを備え、
前記圧縮テーブルデータ生成手段は、前記テーブルの各レコードの第２のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第２のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第２のフィールドの値を示すデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成手段は、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。
【請求項９】
請求項８記載のコンピュータプログラムであって、
前記個別圧縮データ作成手段は、前記圧縮テーブルデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリが存在しない場合には、当該値リストに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、当該値リストの値を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。
【請求項１０】
複数のＸＭＬデータを、１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットに圧縮するデータ圧縮方法であって、
ＸＭＬデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成ステップと、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成ステップとを有し、
前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表しており、
前記テーブル生成ステップにおいて、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、対応するノードに対応するタグの名称が登録された第２のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第３のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成し、
前記パターンテーブルセットは、前記第１のフィールドに対応するパターンテーブルと、前記第２のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成ステップにおいて、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮方法。
【請求項１１】
複数のＸＭＬデータを、１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットに圧縮するデータ圧縮方法であって、
ＸＭＬデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成ステップと、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成ステップとを有し、
前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表しており、
ＸＭＬデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであって、
前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第２のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第３のフィールドを備え、
前記圧縮テーブルデータ生成ステップにおいて、前記テーブルの各レコードの第２のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第２のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第２のフィールドの値を示すデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成ステップにおいて、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮方法。
【請求項１２】
複数のテーブルを圧縮するデータ圧縮装置であって、
前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであり、
当該データ圧縮装置は、
パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
テーブルの各レコードの各フィールドの値を示す圧縮テーブルデータを生成する圧縮テーブルデータ生成手段と、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを有し、
前記圧縮テーブルデータ生成手段は、少なくとも一つのフィールドについて、前記テーブルの各レコードの当該フィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードのフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの当該フィールドの値を示すインデックスデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記各インデックスデータの値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成手段は、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる各インデックスデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、当該インデックスデータの値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの当該インデックスデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。
【請求項１３】
複数のテーブルを圧縮するデータ圧縮装置であって、
前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであり、
当該データ圧縮装置は、
パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成部を有し、
前記パターンテーブルセットは、前記複数のフィールドのうちの少なくとも一つのフィールドに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主としてＸＭＬデータを圧縮する技術に関するものである。
【背景技術】
【０００２】
ＸＭＬ(Extensible Markup Language)で記述されたＸＭＬデータを圧縮する技術としては、ＸＭＬデータをテーブルに圧縮する技術が知られている（特許文献１）。
この技術では、たとえば、図８ａに示すＸＭＬデータのテーブルへの圧縮は次のように行われる。
いま、図８ａに示すＸＭＬデータは、図８ｂに示すノードを節点とするツリーを表している。
図８ｂの四角が各々ノードであり、ノードはＸＭＬデータのタグ（開始タグと終了タグ）で囲まれた要素に各々該当し、対応する要素のタグのタグ名をノードネームとして持つ。また、ノードに対応するタグが付されたテキストが存在する場合、ノードは当該テキストを値として持つ。ここで、タグが付されたテキストとは、そのタグの開始タグと終了タグで囲まれたテキストを指し、たとえば、<title>ROAD</title>であれば、タグ"title"が付されたテキストは" ROAD"となる。【０００３】
図８ｃは、図８ａのＸＭＬデータをテーブル化したテーブルを表しており、当該テーブルはノードと１対１に対応するノード数と等しいレコードよりなる。また、レコードは、"トポロジ"、"ノードネーム"、"値"のフィールドを持つ。【０００４】
そして、各レコードは、以下のようにノードに対応づけられる。
すなわち、図８ｄに示すようにノードを深さ優先探索アルゴリズムによって全てのノードを辿る順序に従って、各レコードは順番にノードに対応づけられる。
そして、各レコードのフィールド"トポロジ"には、当該レコードに対応するノードの親ノードのレコードのレコード番号を登録する。但し、ルートのノードには親ノードが存在しないので、-1を登録する。【０００５】
また、各レコードのフィールド"ノードネーム"には、対応するノードのノードネームを登録し、各レコードのフィールド"値"には、対応するノードが値を持つ場合、当該値を登録する。【０００６】
ここで、図８ｃ示すようなテーブルは、図８ｂのノードのツリー構造と、各ノードのノードネームと値を完全に表している。
なお、この技術では、図８ｄの深さ優先探索アルゴリズムによる順序でノードを辿るのではなく、図８ｆに示す幅優先探索アルゴリズムによって全てのノードを辿る順序に従って、各レコードを順番にノードに対応づけることも許容している。【０００７】
図８ｅは、図８ｆに示した順序でノードを辿った場合のテーブルを示しており、図示する通り、この場合も、ノードを辿る順序に従って、各レコードは順番にノードに対応づけられ、レコードのフィールド"トポロジ"には、当該レコードに対応するノードの親ノードのレコードのレコード番号が登録され、各レコードのフィールド"ノードネーム"には、対応するノードのノードネームが登録し、各レコードのフィールド"値"には、対応するノードが値を持つ場合、当該値が登録される。【０００８】
また、この技術では、図９に示すようにＸＭＬデータから作成したテーブルを、さらに圧縮することも許容している。
この圧縮によれば、図９ｂに示すノードのツリーを表す図９ａに示すＸＭＬデータから図９ｃに示すテーブルが作成された場合、このテーブルを圧縮した図９ｄに示す圧縮テーブルデータが作成される。【０００９】
図９ｄに示す圧縮テーブルデータは、図９ｃに示すテーブルの、フィールド"ノードネーム"の列を、インデックス（ノードネーム）に置換したものとなっている。すなわち、圧縮テーブルデータは、フィールド"トポロジ"の列とフィールド"値"の列を持つテーブルと、インデックス（ノードネーム）とを含むものとなる。【００１０】
そして、インデックス（ノードネーム）は、VNoと VLとを含んでいる。
VLには、各レコードのフィールド"ノードネーム"の値として用いられている値（ユニーク値）が所定の順序（たとえば、値の昇順）で登録される。
また、VNoは、テーブルのレコード数と同数のエントリを有し、VNoの順位ｎのエントリには、対応するテーブルのレコード番号nのレコードのフィールド"ノードネーム"の値が登録されているVLのエントリのVL中の順位を示す値が登録される。【００１１】
ここで、このようなインデックス（ノードネーム）によれば、レコードのフィールド"ノードネーム"の値は、VNoの当該レコードのレコード番号に対応する順位のエントリの値を取得し、VLの取得した値と同じ順位のエントリに登録されている値として求まる。【００１２】
よって、このような圧縮テーブルデータによっても、図９ｂのノードのツリー構造と、各ノードのノードネームと値が完全に表されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】国際公開第２００９／０９５９８１号
【発明の概要】
【発明が解決しようとする課題】
【００１４】
さて、多数のＸＭＬデータを保存する必要がある場合がある。
たとえば、WebページのアクセスのアクセスログをＸＭＬデータとして作成し、作成したアクセスログを保存する場合、Webページのアクセスが発生する度にＸＭＬデータが発生するので、保存されるＸＭＬデータの数は膨大な数となる。【００１５】
なお、アクセスログとしては、たとえば、アクセス元のIPアドレス、アクセス元のドメイン名、アクセスされた日付と時刻、アクセスされたファイル名、リンク元のページのURL、アクセス元のWebブラウザ名やOS名、処理にかかった時間、受信バイト数、送信バイト数、サービス状態コードなどが保存される。【００１６】
そして、このように膨大な数のＸＭＬデータを保存する場合、ＸＭＬデータを上述のようにテーブルに変換して保存しても、保存に要する記憶資源の量も莫大な量となる。
一方で、個々のテーブルを圧縮符号化して保存すれば保存に要する記憶資源量は減少するが、このようにすると保存した各テーブルを速やかに利用することが困難となる。
そこで、本発明は、複数のＸＭＬデータの内容を、データ量を削減しつつ、各ＸＭＬデータが表す内容を速やかに利用できる形態で保存することを課題とする。
【課題を解決するための手段】
【００１７】
前記課題達成のために、本発明は、複数のＸＭＬデータを圧縮するデータ圧縮装置に、１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、ＸＭＬデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成手段と、前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを備えたものである。ここで、前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表している。そして、前記テーブル生成手段は、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、対応するノードに対応するタグの名称が登録された第２のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第３のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成する。また、前記パターンテーブルセットは、前記第１のフィールドに対応するパターンテーブルと、前記第２のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含んでいる。そして、前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含める。【００１８】
ここで、このようなデータ圧縮装置は、前記個別圧縮データ作成手段において、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリが存在しない場合には、当該フィールドに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めるように構成してもよい。【００１９】
このようなデータ処理装置によれば、ＸＭＬデータが表すツリーの構成や、当該ツリーの構成上のノードの順列に従った各ノードに対応するタグの名称は、ＸＭＬデータが表すツリーの構成のパターンを示す情報や、当該ツリーの構成上のノードの順列に従った各ノードに対応するタグの名称の順列のパターンを示す情報として個別圧縮データに含められて、圧縮データセットの個別圧縮データ列に含められる。【００２０】
ここで、各ＸＭＬデータが、同じ種別の情報を表すＸＭＬデータである場合、各ＸＭＬデータの当該パターンの共通性は高いことが期待できる。よって、以上のデータ圧縮装置によれば、同じ種別の情報を表す複数のＸＭＬデータの内容を、データ量を削減して保存することができる。また、圧縮データセットのパターンデータと個別圧縮データから、ＸＭＬデータの内容を表すテーブルを容易に復元することができるので、各ＸＭＬデータが表す内容は、これを速やかに利用することができる。【００２１】
また、前記課題達成のために、本発明は、複数のＸＭＬデータを圧縮するデータ圧縮装置に、１または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、ＸＭＬデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成手段と、前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを備えたものである。ここで、前記ＸＭＬデータは、各々ＸＭＬデータに記述されているタグに対応するノードを節点とするツリーを表している。また、ＸＭＬデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであり、前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第１のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第２のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第３のフィールドを備えている。そして、前記圧縮テーブルデータ生成手段は、前記テーブルの各レコードの第２のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第２のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第２のフィールドの値を示すデータとして圧縮テーブルデータに含める。また、前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含んでいる。そして、前記個別圧縮データ作成手段は、前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含める。【００２２】
ここで、このようなデータ圧縮装置は、前記個別圧縮データ作成手段において、前記圧縮テーブルデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリが存在しない場合には、当該値リストに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、当該値リストの値を示すデータとして、前記個別圧縮データに含めるように構成してもよい。【００２３】
このようなデータ処理装置によれば、ＸＭＬデータに含まれるタグの名称の情報のうち、ＸＭＬデータにどのような名称のタグが含まれているかの情報は、ＸＭＬデータに含まれているタグの名称のユニーク値のパターンを示す情報として個別圧縮データに含められて、圧縮データセットの個別圧縮データ列に含められる。【００２４】
ここで、各ＸＭＬデータが、同じ種別の情報を表すＸＭＬデータである場合、各ＸＭＬデータについての当該パターンの共通性は高いことが期待できる。よって、以上のデータ圧縮装置によれば、同じ種別の情報を表す複数のＸＭＬデータの内容を、データ量を削減して保存することができる。また、圧縮データセットのパターンデータと個別圧縮データから、ＸＭＬデータの内容を表すテーブルを容易に復元することができるので、各ＸＭＬデータが表す内容は、これを速やかに利用することができる。【００２５】
なお、以上のデータ圧縮装置において、前記パターンテーブルのエントリの識別情報としては、たとえば、当該エントリの前記パターンテーブル中の順位を表す値を用いることができる。【００２６】
また、併せて、本発明は、前記課題達成のために、複数のテーブルを圧縮するデータ圧縮装置とであって、前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであるデータ圧縮装置を提供する。ここで、当該データ圧縮装置には、パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、テーブルの各レコードの各フィールドの値を示す圧縮テーブルデータを生成する圧縮テーブルデータ生成手段と、前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを備える。また、前記圧縮テーブルデータ生成手段は、少なくとも一つのフィールドについて、前記テーブルの各レコードの当該フィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードのフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの当該フィールドの値を示すインデックスデータとして圧縮テーブルデータに含めるものであり、前記パターンテーブルセットは、前記各インデックスデータの値リストに対応するパターンテーブルを含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含むものである。そして、前記個別圧縮データ作成手段は、前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる各インデックスデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、当該インデックスデータの値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの当該インデックスデータの値リストの部分を示すデータとして、前記個別圧縮データに含めるものである。【００２７】
このようなデータ圧縮装置によれば、各テーブル間で同じフィールドのユニーク値の集合の共通性が高い場合、データ量を削減して複数のテーブルを保存することができる。また、圧縮データセットのパターンデータと個別圧縮データから、圧縮テーブルデータを介してテーブルを容易に復元することができるので、各テーブルが表す内容は、これを速やかに利用することができる。【００２８】
また、前記課題達成のために、併せて、本発明は、複数のテーブルを圧縮するデータ圧縮装置であって、前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであるデータ圧縮装置を提供する。ここで、当該データ圧縮装置には、パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成部を備える。また、前記パターンテーブルセットは、前記複数のフィールドのうちの少なくとも一つのフィールドに対応するパターンテーブルを含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを１または複数含み、前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めるものである。【００２９】
このようなデータ圧縮装置によれば、各テーブル間で同じフィールドの値の順列の共通性が高い場合、データ量を削減して複数のテーブルを保存することができる。また、圧縮データセットのパターンデータと個別圧縮データからテーブルを容易に復元することができるので、各テーブルが表す内容は、これを速やかに利用することができる。
【発明の効果】
【００３０】
以上のように、本発明によれば、複数のＸＭＬデータの内容を、データ量を削減しつつ、各ＸＭＬデータが表す内容を速やかに利用できる形態で保存することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係るデータ処理システムの構成を示すブロック図である。
【図２】本発明の実施形態において処理するＸＭＬデータの例を示す図である。
【図３】本発明の実施形態に係る圧縮データセットの作成手順を示す図である。
【図４】本発明の実施形態に係る圧縮データセットの作成手順を示す図である。
【図５】本発明の実施形態に係る圧縮データセットの作成手順を示す図である。
【図６】本発明の実施形態に係る圧縮データセットの他の作成手順を示す図である。
【図７】本発明の実施形態に係る圧縮データセットの他の作成手順を示す図である。
【図８】従来のＸＭＬデータの圧縮例を示す図である。
【図９】従来のＸＭＬデータの圧縮例を示す図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態について説明する。
まず、本発明の第１の実施形態について説明する。
図１に、本第１の実施形態に係るデータ処理装置の構成を示す。
図示するように、データ処理装置は、ストレージ１とプロセッサ２と入力装置３と表示装置４等を備えている。また、プロセッサ２はデータ圧縮部１１と、データ操作部１２（リレーショナルデータベースマネジメントシステム１２）とを備えている。なお、データ圧縮部１１、データ操作部１２は、プロセッサ２が所定のコンピュータプログラムを実行することにより実現される機能部である。
【００３３】
このような構成において、ストレージ１に新たに保存すべきＸＭＬデータの集合であるＸＭＬデータ列が格納されると、プロセッサ２のデータ圧縮部１１は、格納されたＸＭＬデータ列のＸＭＬデータを圧縮して、ストレージ１に格納している圧縮データセットに追加保存する。
【００３４】
以下、このようなプロセッサ２のデータ圧縮部１１のＸＭＬデータ列のＸＭＬデータを圧縮して圧縮データセットに追加保存する動作について説明する。
まず、図２に、圧縮して圧縮データセットに追加保存するＸＭＬデータの集合であるＸＭＬデータ列を示す。
図示するように、ＸＭＬデータ列は１または複数のＸＭＬデータを含み、各ＸＭＬデータは、上述のようにタグを用いて、ノードネームを持ち、値をもつことのできるノードのツリーを規定しているデータである。
【００３５】
プロセッサ２のデータ圧縮部１１は、このようなＸＭＬデータ列がストレージ１に格納されたならば、図３に示すように、ＸＭＬデータ列の各ＸＭＬデータから、先に図８を用いて説明したようにテーブルを作成し、作成したテーブルの集合であるテーブル列を生成する。ここで、上述のように各テーブルは、"トポロジ"、"ノードネーム"、"値"のフィールドを持つレコードを配列したテーブルである。
【００３６】
ここで、図４ａにストレージ１に保存される圧縮データセットの構成を示す。
図示するように、圧縮データセットは、パターンテーブルセットと、個別圧縮データセットを含んでいる。
また、パターンテーブルセットは、トポロジパターンテーブルとノードネームパターンテーブルを含んでいる。なお、トポロジパターンテーブルとノードネームパターンテーブルの内容については後述する。
【００３７】
また、個別圧縮データセットには個別圧縮データを複数登録することができる。
さて、上述のようにテーブル列を作成したプロセッサ２のデータ圧縮部１１は、次に、図４ｂに示すように、テーブル列の各テーブルから個別圧縮データを作成し、圧縮データセットの個別圧縮データセットに追加登録する。
【００３８】
ここで、プロセッサ２のデータ圧縮部１１は、テーブルから個別圧縮データを以下のように作成する。
まず、圧縮データセットのパターンテーブルセットの、トポロジパターンテーブルとノードネームパターンテーブルの内容について説明する。
図５ａに示すように、トポロジパターンテーブルは複数のエントリを持つことができ、トポロジパターンテーブルの各エントリには、今後、ＸＭＬデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に並べた配列として表れることが期待できる配列が登録される。
【００３９】
図示した例では、トポロジパターンテーブルの順位０のエントリには、配列"-1"、"0"、"0"、"2"、"2"、"0"が登録されており、順位１のエントリには、配列"-1"、"0"、"0"、"0"、"0"、" 0"が登録されている。
【００４０】
また、ノードネームパターンテーブルは複数のエントリを持つことができ、ノードネームパターンテーブルの各エントリには、今後、ＸＭＬデータから作成するテーブルのフィールド"ノードネーム"の値をレコード番号順に並べた配列として表れることが期待できる配列が登録される。
【００４１】
図示した例では、ノードネームパターンテーブルの順位０のエントリには、配列" book"、"title"、"auther"、"last"、"first"、"price"が登録されており、順位１のエントリには、配列"book"、"title"、"auther"、"auther"、"auther"、"price"が登録されている。
【００４２】
ここで、ＸＭＬデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に並べた配列として表れる１または複数の配列が予め分かっている場合には、当該予め分かっている１または複数の配列を各々登録したエントリを予めトポロジパターンテーブルに作成しておくようにしてよい。
【００４３】
また、同様に、ＸＭＬデータから作成するテーブルのフィールド"ノードネーム"の値をレコード番号順に並べた配列として表れる１または複数の配列が予め分かっている場合には、当該予め分かっている１または複数の配列を各々登録したエントリを予めノードネームパターンテーブルに作成しておくようにしてよい。
【００４４】
次に、テーブルからの個別圧縮データの作成は、図５ｂ、ｃ、ｄに示すように行う。
すなわち、まず、テーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、トポロジパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのトポロジパターンテーブルにおける順位をヒット順位として取得する。そして、個別圧縮データに、ヒット順位をTPNoとして登録する。
【００４５】
すなわち、たとえば、図５ｂのテーブルの場合、フィールド"トポロジ"の値をレコード番号順に配列した配列は、"-1"、"0"、"0"、"2"、"2"、"0"となり、この配列は、トポロジパターンテーブルの順位０のエントリに登録されている配列と一致するので、個別圧縮データのTPNoには"0"を登録する。
【００４６】
一方、求めた配列と一致する配列が、トポロジパターンテーブルのいずれのエントリにも登録されていない場合には、トポロジパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのトポロジパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データに、ヒット順位をTPNoとして登録する。
【００４７】
次に、テーブルのフィールド"ノードネーム"の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、ノードネームパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのノードネームパターンテーブルにおける順位をヒット順位として取得する。そして、個別圧縮データに、ヒット順位をNNPNoとして登録する。
【００４８】
すなわち、たとえば、図５ｂのテーブルの場合、フィールド"ノードネーム"の値をレコード番号順に配列した配列は、" book"、"title"、"auther"、"last"、"first"、"price"となり、この配列は、ノードネームパターンテーブルの順位０のエントリに登録されている配列と一致するので、個別圧縮データのNNPNoには"0"を登録する。
【００４９】
一方、求めた配列と一致する配列が、ノードネームパターンテーブルのいずれのエントリにも登録されていない場合には、ノードネームパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのノードネームパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データに、ヒット順位をNNPNoとして登録する。
【００５０】
そして、テーブルのフィールド"値"の列を個別圧縮データに、フィールド"値"の列のみを持つテーブルとして保存する。
以上、プロセッサ２のデータ圧縮部１１のＸＭＬデータ列のＸＭＬデータを圧縮して圧縮データセットに追加保存する動作について説明した。
ここで、以上のようにＸＭＬデータ列から作成した圧縮データセットを保存した場合と、ＸＭＬデータ列の各ＸＭＬデータを変換したテーブルをそのまま保存した場合とを比べると、圧縮データセットの個別圧縮データセットの個別圧縮データは、テーブルのデータ量よりも、各レコードのフィールド"トポロジ"の列とフィールド"ノードネーム"の列のデータ量と、個別圧縮データのTPNoとNNPNoのデータ量の差分だけ小さくなる。また、圧縮データセットとして保存するＸＭＬデータの集合に含まれる各ＸＭＬデータが表すノードのツリーの共通性が高い場合には、圧縮データセットのパターンテーブルセットのデータ量は、さほど大きくならない。そして、圧縮データセットして保存するＸＭＬデータの集合が、たとえば、上述したアクセスログを表すＸＭＬデータの集合などの、同じ種別の情報を表すＸＭＬデータの集合である場合、各ＸＭＬデータが表すノードのツリー構造の共通性は高い。
【００５１】
よって、このような場合には、圧縮データセットによって、多数のＸＭＬデータの内容を、データ量を削減して保存することができる。
また、以上のように、複数のテーブルを個別圧縮データセットに圧縮しても、個別圧縮データからテーブルを容易に復元できる。すなわち、個別圧縮データのTPNoが表す順位のトポロジパターンテーブルのエントリの配列中の各値を、当該配列中の順序に従って、順次、レコード番号順に、テーブルのレコードのフィールド"トポロジ"の値とすればテーブルのフィールド" トポロジ"の列は復元される。
【００５２】
また、同様に、個別圧縮データのNNPNoが表す順位のノードネームパターンテーブルのエントリの配列中の各値を、当該配列中の順序に従って、順次、レコード番号順に、テーブルのレコードのフィールド"ノードネーム"の値とすればテーブルのフィールド"ノードネーム"の列は復元される。
【００５３】
そして、テーブルのフィールド"値"の列は、圧縮データ中の"値"テーブルとして、そのまま求まる。
よって、このような圧縮データセットからテーブルの復元は容易である。そして、このことより、このような圧縮データセットを用いて、複数のＸＭＬデータの内容を速やかに利用することができるようになる。
【００５４】
以上、本発明の第１の実施形態について説明した。
なお、以上の第１の実施形態では、テーブルのフィールド"トポロジ"、"ノードネーム"、"値"のうち、"トポロジ"、"ノードネーム"をパターンテーブルセットを用いてTPNoとNNPNoに圧縮したが、これは、フィールド"トポロジ"、"ノードネーム"、"値"の３つのフィールドのうちの、１以上の任意数のフィールドについて、当該任意数のフィールドについてのパターンテーブルを設けて、以上に示した"トポロジ"、"ノードネーム"のフィールドの圧縮と同様にパターンテーブルセットを用いて圧縮するようにしてもよい。
【００５５】
以下、本発明の第２の実施形態について説明する。
本第２の実施形態は、図１に示したデータ処理装置において、ストレージ１に格納されたＸＭＬデータ列から、次のように圧縮データセットを作成しストレージ１に保存するようにしたものである。
【００５６】
すなわち、本第２の実施形態では、プロセッサ２のデータ圧縮部１１は、図６に示すように、ＸＭＬデータ列がストレージ１に格納されたならば、ＸＭＬデータ列の各ＸＭＬデータから、先に図８を用いて説明したようにテーブルを作成し、作成したテーブルの集合であるテーブル列を生成する。そして、次に、テーブル列の各テーブルから、先に図９を用いて説明したように圧縮テーブルデータを作成し、作成した圧縮テーブルデータの集合である圧縮テーブルデータ列を生成する。
【００５７】
そして、圧縮テーブルデータ列の各圧縮テーブルデータから個別圧縮データを作成し、圧縮データセットの個別圧縮データセットに追加登録する。
ここで、図示するように、圧縮データセットは、パターンテーブルセットと、個別圧縮データセットを含んでいる。
また、パターンテーブルセットは、トポロジパターンテーブルとVLパターンテーブルを含んでいる。なお、トポロジパターンテーブルとVLパターンテーブルの内容については後述する。
【００５８】
そして、プロセッサ２のデータ圧縮部１１は、圧縮テーブルデータから個別圧縮データを以下のように作成する。
まず、個別圧縮データセットの、トポロジパターンテーブルとVLパターンテーブルの内容について説明する。
図７ａに示すように、トポロジパターンテーブルは第１実施形態のトポロジパターンテーブルと同様のテーブルであり、トポロジパターンテーブルは複数のエントリを持つことができる。そして、トポロジパターンテーブルの各エントリには、今後、ＸＭＬデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列として表れることが期待できる配列が登録される。
【００５９】
また、VLパターンテーブルは複数のエントリを持つことができ、VLパターンテーブルの各エントリには、今後、ＸＭＬデータから作成する圧縮テーブルデータのフィールド"ノードネーム"のインデックスであるインデックス（ノードネーム）のVLの値をエントリ順に配列した配列として表れることが期待できる配列が登録される。
【００６０】
図示した例では、VLパターンテーブルの順位０のエントリには、配列"auther"、"book" 、"price" 、"title"が登録されており、順位１のエントリには、配列" auther" 、"book" 、"first" 、"last" 、"price" 、"title"が登録されている。
【００６１】
ここで、ＸＭＬデータから作成する圧縮テーブルデータのフィールド"トポロジ"の値をレコード番号順に並べた配列として表れる配列が１または複数既知である場合には、当該既知である１または複数の配列を登録したエントリを予めトポロジパターンテーブルに作成しておくようにしてよい。
【００６２】
また、同様に、ＸＭＬデータから作成する圧縮テーブルデータのインデックス（ノードネーム）のVLの値をエントリ順に配列した配列として表れる配列が１または複数既知である場合には、当該既知である１または複数の配列を登録したエントリを予めノードネームパターンテーブルに作成しておくようにしてよい。
【００６３】
次に、圧縮テーブルデータからの個別圧縮データの作成は、以下のように行う。
すなわち、図７ｂに示す圧縮テーブルデータのフィールド"トポロジ"とフィールド"値"のテーブルから、フィールド"トポロジ"の列の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、トポロジパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのトポロジパターンテーブルにおける順位をヒット順位として取得する。そして、図７ｃに示すように個別圧縮データに、ヒット順位をTPNoとして登録する。
【００６４】
一方、求めた配列と一致する配列が、トポロジパターンテーブルのいずれのエントリにも登録されていない場合には、トポロジパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのトポロジパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データに、ヒット順位をTPNoとして登録する。
【００６５】
次に、図７ｂに示す圧縮テーブルデータのインデックス（ノードネーム）のVLの値をエントリ順に配列した配列を求め、求めた配列と一致する配列が、VLパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのVLパターンテーブルにおける順位をヒット順位として取得する。そして、図７ｃに示すように、個別圧縮データの圧縮インデックスデータ（ノードネーム）に、ヒット順位をVLPNoとして登録する。
【００６６】
一方、求めた配列と一致する配列が、VLパターンテーブルのいずれのエントリにも登録されていない場合には、VLパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのVLパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データの圧縮インデックスデータ（ノードネーム）に、ヒット順位をVLPNoとして登録する。
【００６７】
また、圧縮テーブルデータのインデックス（ノードネーム）のVNoを個別圧縮データの圧縮インデックスデータ（ノードネーム）に保存する。
そして、圧縮テーブルデータのフィールド"トポロジ"とフィールド"値"のテーブルのフィールド"値"の列を、個別圧縮データに、フィールド"値"の列のみを持つテーブルとして保存する。
【００６８】
以上、第２の実施形態における、プロセッサ２のデータ圧縮部１１のＸＭＬデータ列のＸＭＬデータを圧縮して圧縮データセットに追加保存する動作について説明した。
なお、以上の第２の実施形態では、テーブルのフィールド"トポロジ"、テーブルのフィールド"値"、インデックス（ノードネーム）のVNo、インデックス（ノードネーム）のVLのうち、"トポロジ"、フィールド"トポロジ"と、VLをパターンテーブルセットを用いてTPNoとVLPNoに圧縮したが、これは、フィールド"トポロジ"、フィールド"値"、VNo、VLのフィールドまたは配列うちの、"VL"と任意数のフィールドまたは配列について、当該任意数のフィールドまたは配列についてのパターンテーブルを設けて、上述した"トポロジ"、"VL"の圧縮と同様に、パターンテーブルセットを用いて圧縮するようにしてもよい。
【００６９】
このような第２の実施形態に係る圧縮データセットによっても、圧縮データセットからテーブルを容易に復元することができるので、圧縮データセットを用いて、複数のＸＭＬデータの内容を速やかに利用することができるようになる。
また、上述した第１の実施形態と同様に、圧縮データセットによって、多数のＸＭＬデータの内容を、データ量を削減して保存することができる。
【００７０】
ここで、各圧縮テーブルデータのインデックス（ノードネーム）のVLの値は値順にソートされて登録されているので、各ＸＭＬデータで用いられているタグ名（ノードネーム）が共通している場合、各ＸＭＬデータにおけるタグの表れる順序や数が異なっていても、各ＸＭＬデータにおけるVLは共通することとなる。したがって、用いられているタグ名（ノードネーム）が共通している各ＸＭＬデータのVLは、VLパターンテーブルの一つのエントリで表すことができる。
【００７１】
したがって、各ＸＭＬデータで用いられているタグ名（ノードネーム）の共通性が高い場合には、VLパターンテーブルのデータ量（エントリ数）は小さくてすむ。そして、このことより、各ＸＭＬデータで用いられているタグ名（ノードネーム）の共通性が高く、タグの表れる順序や数が異なっている場合には、第１の実施形態よりも圧縮データセットのデータ量を小さくできることが期待できる。
【００７２】
ところで、ＸＭＬデータでは、当該ＸＭＬデータが表すツリーの各ノードに属性を定義することができる。そこで、上記第１の実施形態、第２の実施形態において、ノードに属性を定義されているＸＭＬデータを取り扱う場合には、当該属性を表すデータを別途圧縮データセットに含めるようにする。
【符号の説明】
【００７３】
１…ストレージ、２…プロセッサ、３…入力装置、４…表示装置、１１…データ圧縮部、１２…データ操作部。
【図１】
2018096998.tif 000003
【図２】
2018096998.tif 000004
【図３】
2018096998.tif 000005
【図４】
2018096998.tif 000006
【図５】
2018096998.tif 000007
【図６】
2018096998.tif 000008
【図７】
2018096998.tif 000009
【図８】
2018096998.tif 000010
【図９】
2018096998.tif 000011
【国際調査報告】
2018096998.tif 000012
2018096998.tif 000013
2018096998.tif 000014
2018096998.tif 000015