JP2016057970A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2016057970A
JP2016057970A JP2014185330A JP2014185330A JP2016057970A JP 2016057970 A JP2016057970 A JP 2016057970A JP 2014185330 A JP2014185330 A JP 2014185330A JP 2014185330 A JP2014185330 A JP 2014185330A JP 2016057970 A JP2016057970 A JP 2016057970A
Authority
JP
Japan
Prior art keywords
header
data
information
configuration
identification information
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.)
Pending
Application number
JP2014185330A
Other languages
English (en)
Inventor
細川 晃
Akira Hosokawa
晃 細川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014185330A priority Critical patent/JP2016057970A/ja
Priority to PCT/JP2015/074972 priority patent/WO2016039238A1/ja
Publication of JP2016057970A publication Critical patent/JP2016057970A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】、ヘッダとインスタンスとを含むテキスト形式のデータの容量を減らす。
【解決手段】一の実施形態によれば、情報処理装置は、テキスト形式のデータに含まれるヘッダを用いて、前記データが記述する対象が分類されたクラスを識別するクラス識別情報と、前記クラスを特徴づける属性の組み合わせとその順番を規定する属性規定情報との組に対して、前記組を識別するデータ構成識別情報を割り当てるデータ構成符号化部を備える。情報処理装置は、前記データを用いて、前記ヘッダの個々の行に記載された見出しであるインストラクションの組み合わせとその順番を規定するヘッダ構成情報に対して、前記ヘッダ構成情報を識別するヘッダ構成識別情報を割り当てるヘッダ構成符号化部を備える。情報処理装置は、前記データ構成識別情報と前記ヘッダ構成識別情報と前記データに含まれるインスタンスとを含む圧縮データを生成する圧縮データ生成部を備える。
【選択図】図4

Description

本発明の実施形態は、情報処理装置、情報処理方法及びプログラムに関する。
近年、産業のグローバル化や自由化に伴い、異種システム間の相互運用性が重要になってきている。この異種システム間の相互運用性を実現する上で、各分野の機器の性能や特徴及びサービスを電子的に記述して交換し登録する際の標準仕様として、標準オントロジーの開発が進められている。この標準オントロジースの登録及び交換に関して、IEC62656(パーセル規格と呼ばれる)が知られている。
このIEC62656は、スプレッドシートによるデータ交換形式を定める規格である。この規格によるスプレッドシートは、ヘッダセクションとデータセクションの2つの部位で構成される。ヘッダセクションは、データセクションでのインスタンスの記述のための意味的及び構造的情報を与えるものである。ヘッダセクションは、更にシート全体の情報を記述するクラスヘッダセクションと、インスタンスを記述するためのプロパティの情報を個々の列に記述するスキーマヘッダセクションの2つで構成される。データセクションでは、一つのインスタンスは一つの行に記述され、個々のセルには対応するプロパティの値が記述される。以下では、このスプレッドシートを書式として記述されるデータを、IEC62656の通称である「パーセル」という語を用いてパーセルデータと呼ぶ。
パーセルデータは、表形式という構造から、ヘッダセクションの各列でメタデータを一度記載すれば、それぞれのセルの値がどのプロパティの値かを識別することができる。これは、データ容量の観点から、一つ一つの値をタグで区切って構造化する必要があるXMLなどの他のデータ書式に比べた利点の一つである。
特開2009−77141号公報 特開2007−214627号公報
http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-08
しかし、データセクションに記載されるインスタンスが1行又は数行程度の場合、データ本体に比べて、ヘッダセクションに記載されるヘッダのデータ容量が大きくなるという欠点がある。例えば、プロパティのIDが6文字の英数字で構成されるデータについて、20個のプロパティがある場合、ヘッダだけで120文字を消費する。このため、二次元コードのように、記憶できるデータ容量に制限がある場合には、全てのデータが収まらないという問題がある。
そこで本発明の実施形態が解決しようとする課題は、ヘッダとインスタンスとを含むテキスト形式のデータの容量を減らすことが可能な情報処理装置、情報処理方法及びプログラムを提供することである。
一の実施形態によれば、情報処理装置は、テキスト形式のデータに含まれるヘッダを用いて、前記データが記述する対象が分類されたクラスを識別するクラス識別情報と、前記クラスを特徴づける属性の組み合わせとその順番を規定する属性規定情報との組に対して、前記組を識別するデータ構成識別情報を割り当てるデータ構成符号化部を備える。情報処理装置は、前記データを用いて、前記ヘッダの個々の行に記載された見出しであるインストラクションの組み合わせとその順番を規定するヘッダ構成情報に対して、前記ヘッダ構成情報を識別するヘッダ構成識別情報を割り当てるヘッダ構成符号化部を備える。情報処理装置は、前記データ構成識別情報と前記ヘッダ構成識別情報と前記データに含まれるインスタンスとを含む圧縮データを生成する圧縮データ生成部を備える。
本実施形態に係る情報処理システム1の構成を示す図。 パーセルデータの表示形態及びそのテキスト表現を例示する図。 本実施形態に係る圧縮データ生成装置300の構成を示す図。 本実施形態に係る圧縮データ生成装置300の機能ブロック図。 本実施形態に係るデータ管理装置330の構成を示す図。 本実施形態に係るデータ管理装置330の機能ブロック図。 リモートDB332で記憶されるストラクチャテーブルT1の構造を例示する図。 リモートDB332で記憶されるエイリアステーブルT2の構造を例示する図。 リモートDB332で記憶されるセルカラムテーブルT3の構造を例示する図。 リモートDB332で記憶されるヘッダテーブルT4の構造を例示する図。 圧縮データ生成装置300のデータ構成符号化部302の処理の流れの一例を示すフローチャート。 図2のパーセルデータにデータ構成符号化部302の処理を適用した場合を例示する図。 圧縮データ生成装置300のヘッダ構成符号化部303の処理の流れの一例を示すフローチャート。 図10のステップS702におけるクラスヘッダセクションの処理の流れの一例を示すフローチャート。 図11のステップS900におけるインストラクションの処理の流れの一例を示すフローチャート。 図10のステップS703におけるスキーマヘッダセクションの処理の流れの一例を示すフローチャート。 図2のパーセルデータにヘッダ構成符号化部303の処理を適用した場合を例示する図である。 図2のパーセルデータのヘッダ情報がデータ管理装置330のリモートDB332に登録された状態で、別のパーセルデータの処理を行った場合の例を表した図。 圧縮データ生成装置300の圧縮データ生成部305の処理の流れの一例を示すフローチャート。 図2のパーセルデータを入力として、本実施形態における圧縮データ生成装置300の一連の処理で出力された圧縮パーセルデータの例を示す図。 本実施形態に係る圧縮データ生成装置300の構成を示す図。 本実施形態に係るデータ復元装置360の機能ブロック図。 データ復元装置360の判定部362の処理の流れの一例を示すフローチャート。 データ復元装置360のヘッダ情報取得部363の処理の流れの一例を示すフローチャート。 データ復元装置360の復元部367の処理の流れの一例を示すフローチャート。
以下、図面を参照しながら、本発明の実施形態について説明する。
本実施形態で扱うデータは、ヘッダとインスタンスとを含み、ヘッダがマトリックス状に構成されるスプレッドシートで表すことが可能なテキスト形式のデータである。本実施形態では、その一例として、IEC62656に準拠したデータ(以下、パーセルデータという)を用いて説明する。
まず、本実施形態に係る情報処理システム1の構成について説明する。図1は、本実施形態に係る情報処理システム1の構成を示す図である。図1に示すように、情報処理システム1は、圧縮データ生成装置(情報処理装置)300、データ管理装置330、及びデータ復元装置(情報処理装置)360を備える。圧縮データ生成装置300、データ管理装置330、及びデータ復元装置360は、互いにネットワーク150を介して接続されており、互いに通信可能である。
圧縮データ生成装置300は、テキスト形式の元データ(一例として、元のパーセルデータ)を取得し、取得した元データを圧縮することにより、圧縮データ(一例として、圧縮パーセルデータ)を生成する。圧縮データ生成装置300は、例えば、端末装置である。
データ管理装置330は、圧縮データを元データに復元するためのヘッダ情報を記憶する。データ管理装置330は、例えば、ヘッダ情報を記憶するサーバである。
データ復元装置360は、データ管理装置330が記憶するヘッダ情報を用いて、圧縮データ(一例として、圧縮パーセルデータ)から元データ(一例として、元のパーセルデータ)を復元する。データ復元装置360は、例えば、端末装置である。
続いて、図2を用いて本実施形態に係るパーセルデータの構造について説明する。本実施形態に係るパーセルデータはスプレッドシートによる製品オントロジーの登録と交換に関する国際規格IEC62656で規定される形式のスプレッドシートで表現される。図2は、パーセルデータの表示形態及びそのテキスト表現を例示する図である。
図2の上側の表D1に示すように、パーセルデータは、行の方向にはヘッダセクションとデータセクションの2つの部位がデータの先頭から順に展開される。一方、列の方向にはインストラクションカラムとセルカラムの順で展開される。ヘッダセクションは更に、パーセルデータ全体に関する情報を記述するためのクラスヘッダセクションと、データセクション内のインスタンスを記述するためのプロパティとその値の組を有するスキーマヘッダセクションの2つの部位で構成される。ここで、一つのインスタンスは、データセクションの一つの行に記述される。図2の例では、一つのインスタンスのみが記述されているため、太枠で囲まれた領域に含まれる値の組が一つのインスタンスを示すが、二つ以上のインスタンスが記述される場合、その数に等しい行がデータセクションに展開され、個々の行に個々のインスタンスが記述される。
インストラクションカラムは、パーセルデータの1列目であり、ヘッダセクションに対しては、コンピュータ及びユーザに対して、各行のヘッダが何を表しているかを指示するインストラクションが記載される。ヘッダセクションのインストラクションは、#(パウンド)記号に続けてIEC62656の中で予め定義された命令語、又はユーザが独自に定義した命令語が記述される。
クラスヘッダセクションの各行はインストラクションカラムのみを持ち、#記号及び命令語に続けて、「:=」を挟んでその命令語に対応する値が記述される。たとえば、図2の表の1行目の先頭セルに記載されている#CLASS_ID:=AAX001のうち「#CLASS_ID」は、クラスヘッダセクションのインストラクションの1つであり、このパーセルデータがAAX001で指定されるクラスのインスタンスを記述するためのシートであることを示している。このAAX001は、データが記述する対象の物品やサービスが分類されたクラスを識別するクラス識別情報の一例である。例えば、上位のクラスが電気製品である場合、この電気製品のクラスの下位に、例えば、モータ、パソコン、フラッシュメモリなどの個々のクラスがあって、これらの個々のクラスがクラス識別情報によって識別される。
セルカラムは、プロパティとその値を記述するための列である。パーセルデータは1つ以上のセルカラムを持ち、セルカラムは、インストラクションカラムに続いて2列目以降に順に展開される。スキーマヘッダセクションの各行には、個々のセルカラムに割り当てられたプロパティのID、名称、データ型、単位などが、同じ行のインストラクションカラムに記載された命令語に基づいて記載される。
例えば、図2の表の4行目の先頭セルには、この行のセルカラムにプロパティを識別するプロパティIDが展開されていることを示す#PROPERTY_IDが記載されており、2列目以降のセルカラムに個々のプロパティIDが順に表示されている。スキーマヘッダセクションの他の行には、それぞれのインストラクション列に記載された命令語に従って、プロパティのIDの表示順序と同じ順序で、名称やデータ型、単位などのプロパティの情報が表示されている。
次に、データセクションには、1つ以上のインスタンスが行方向に表示される。ここで、インスタンスは、プロパティとそのプロパティの値の組の集合で表されるものであり、1つのインスタンスに含まれる各プロパティの値は1つの行に表示される。なお、データセクションのインストラクションカラムに#記号を書いた場合、その行はコメント行として扱われ、システムからは無視される。
このような構造を持つパーセルデータにおいて、ヘッダセクションとデータセクションの境目をコンピュータ及びユーザが識別するには、インストラクションカラムを先頭行から順に走査し、セルの値が#記号で始まらない最初の行を特定することで、特定した行をデータセクションの最初の行とし、その1つ前の行までをヘッダセクションとする。
次に、図2の下側のテキストD2は、図2の上側の表D1をCSV(Comma Separated Values)形式で表したものである。ここで、CSV形式は非特許文献RFC4180で仕様が公開されているものであり、スプレッドシートを解釈可能な多くのアプリケーションで、スプレッドシートデータの交換の標準的な方法の1つとして実装されている。なお、本実施形態では、CSV形式を例としているが、テキスト形式でスプレッドシートデータを表現する他の形式であってもよい。例えば、カンマの代わりにタブをセルの区切り文字に使うTSB(Tab Separated Values)であってもよい。
続いて、図3を用いて本実施形態に係る圧縮データ生成装置300の構成について説明する。図3は、本実施形態に係る圧縮データ生成装置300の構成を示す図である。図3に示すように、圧縮データ生成装置300は、CPU(Central Processing Unit)101、ROM102、RAM103、記憶装置104、媒体読取装置106、バスコントローラ107、表示装置108、入力装置109、及び通信部304を備える。図3に示すように、圧縮データ生成装置300の各構成要素は、バスコントローラ107を介して接続されており、互いにデータのやり取りが可能である。
CPU101は、圧縮データ生成装置300全体を制御する。
ROM102は、各種データ、及びCPU101が読み出して実行する各種プログラムを記憶する。
RAM103は、情報を一次記憶する記憶装置であり、CPU101が読み出した各種プログラムを一次記憶する。
記憶装置104は、各種データ、及びCPU101が読み出して実行する各種プログラムを記憶する。記憶装置104は、例えば、ハードディスクドライブ(Hard Disk Drive:HDD)である。
媒体読取装置106は、コンピュータ読み取り可能な記憶媒体(例えば、CD(Compact Diskなど)に記録されたデータを読み取るためのドライブ装置である。なお、本実施形態に係るCPU101の各処理を実行するためのプログラムがコンピュータ読み取り可能な記録媒体に記録されていてもよい。
表示装置108は、CPU101による制御に従って情報を表示する。
入力装置109は、ユーザによる、指示入力または操作を受け付ける。入力装置109は、例えばキーボードやマウスである。
通信部304は、ネットワーク150を介して、後述する記憶装置114を有するデータ管理装置330と通信する。この通信は、有線であっても無線であってもよい。
続いて、図4を用いて本実施形態に係る圧縮データ生成装置300の機能的構成について説明する。図4は、本実施形態に係る圧縮データ生成装置300の機能ブロック図である。CPU101は、ROM102、または記憶装置104からプログラムをRAM103に読み出して実行するか、または媒体読取装置106がコンピュータ読み取り可能な記憶媒体からRAM103に読み出したプログラムを実行する。このプログラムの実行により、RAM103上に、ヘッダ取得部301、データ構成符号化部302、ヘッダ構成符号化部303、圧縮データ生成部305が生成される。
圧縮データ生成装置300における圧縮データ生成処理は、ユーザが表示装置108に表示される画面を見ながら入力装置109を介してパーセルデータ308を選択する圧縮データ生成操作を行うことで開始される。
ヘッダ取得部301は、入力装置109から、ユーザによる圧縮データ生成操作を受け付けると、ユーザが選択したパーセルデータ308をRAM103に読み込み、パーセルデータに含まれるヘッダセクションの情報(以下、ヘッダという)を抽出する。このように、ヘッダ取得部301は、パーセルデータ308に含まれるヘッダを取得する。そして、ヘッダ取得部301は、この取得したヘッダをテキスト形式のデータに変換し、このテキスト形式のデータ及びパーセルデータ308をデータ構成符号化部302に渡す。
データ構成符号化部302は、テキスト形式のデータに含まれるヘッダを用いて、このデータが記述する対象の物品やサービスが分類されたクラスを識別するクラス識別情報(例えば、後述するクラスID)と、このクラスを特徴づけるプロパティ(属性)の組み合わせとその順番を規定する属性規定情報(例えば、後述するセルカラムテキスト)との組に対して、この組を識別するデータ構成識別情報(例えば、後述するストラクチャID)を割り当てる。これにより、クラス識別情報と属性規定情報との組毎に、異なるデータ構成識別情報が割り当てられる。その結果、データ構成識別情報は、データの構成を識別する情報として機能する。
具体的には例えば、データ構成符号化部302は、データ構成符号化部302が取得したヘッダから、インストラクション#CLASS_IDの値であるクラスIDと、インストラクション#PROPERTY_IDの行のセルカラムの値(以下、セルカラムテキストという)を抽出する。そして、データ構成符号化部302は、抽出したクラスIDとセルカラムテキストとの組をテキスト符号化してストラクチャIDを生成する。このように、データ構成符号化部302は、一例として、クラス識別情報と属性規定情報との組に対してテキスト符号化を行うことにより、データ構成識別情報を生成する。このテキスト符号化は、例えば、ハッシュ関数を用いたハッシュ値の計算である。
そして、クラスIDとセルカラムテキストとストラクチャIDとの組をデータ管理装置330のリモートDB332に登録するため、データ構成符号化部302は、クラスIDとセルカラムテキストとストラクチャIDとの組をヘッダ登録要求とともに、通信部304からデータ管理装置330へ送信する。すなわち、データ構成符号化部302は、記憶装置114に記憶させるデータを通信部304からデータ管理装置330へ送信させ、当該記憶させるデータをデータ管理装置330に記憶させるようにする。更に、データ構成符号化部302は、クラスIDとセルカラムテキストとストラクチャIDとの組をヘッダ構成符号化部303に渡す。データ構成符号化部302の動作の詳細は後述する。
ヘッダ構成符号化部303は、上記パーセルデータ308を用いて、上記ヘッダの個々の行に記載された見出しであるインストラクションの組み合わせとその順番を規定するヘッダ構成情報(例えば、後述するヘッダテキスト)に対して、ヘッダ構成情報を識別するヘッダ構成識別情報(例えば、後述するヘッダID)を割り当てる。
具体的には例えば、ヘッダ構成符号化部303は、パーセルデータ308のヘッダセクションのクラスヘッダセクション及びスキーマヘッダセクションのそれぞれに対し処理を行い、パーセルデータのヘッダセクションの構成を表すテキストデータであるヘッダテキストを生成する。そして、ヘッダ構成符号化部303は、このヘッダテキストをテキスト符号化してヘッダIDを生成する。このように、ヘッダ構成符号化部303は、一例として、ヘッダ構成情報に対してテキスト符号化を行うことにより、ヘッダ構成識別情報を生成する。このテキスト符号化は、例えば、ハッシュ関数を用いたハッシュ値の計算である。
そして、ヘッダ構成符号化部303は、このヘッダテキストとヘッダIDの組をデータ管理装置330のリモートDB332に登録するため、このヘッダテキストとヘッダIDの組をヘッダ登録要求とともに、通信部304を介してデータ管理装置330へ送信する。すなわち、ヘッダ構成符号化部303は、記憶装置114に記憶させるデータを通信部304からデータ管理装置330へ送信させ、当該記憶させるデータをデータ管理装置330に記憶させるようにする。更に、このヘッダテキストとヘッダIDの組を圧縮データ生成部305に渡す。ヘッダ構成符号化部303の動作の詳細は後述する。
上述したように、通信部304は、データ構成符号化部302及びヘッダ構成符号化部303からそれぞれ渡されたデータを、ネットワーク150を介してデータ管理装置330へ送信する。
圧縮データ生成部305は、データ構成識別情報(例えば、ストラクチャID)とヘッダ構成識別情報(例えば、ヘッダID)と上記パーセルデータ308に含まれるインスタンスとを含む圧縮データを生成する。具体的には例えば、圧縮データ生成部305は、データ構成符号化部302で生成したストラクチャIDをインストラクション#CLASS_IDの値として持ち、更にヘッダ構成符号化部303で生成したヘッダIDを所定のインストラクション(例えば、#HEADER)の値として持つヘッダを生成する。そして、圧縮データ生成部305は、生成したヘッダとパーセルデータ308のデータセクションのデータを結合した圧縮パーセルデータ309を圧縮データの一例として生成する。そして、圧縮データ生成部305は、この圧縮パーセルデータ309を当該圧縮データ生成装置300の外部へ出力する。圧縮データ生成部305の動作の詳細は後述する。
続いて、図5を用いて本実施形態に係るデータ管理装置330の構成について説明する。図5は、本実施形態に係るデータ管理装置330の構成を示す図である。図5に示すように、データ管理装置330は、CPU(Central Processing Unit)111、ROM112、RAM113、記憶装置114、媒体読取装置116、バスコントローラ117、表示装置118、入力装置119、及び通信部333を備える。図5に示すように、データ管理装置330の各構成要素は、バスコントローラ117を介して接続しており、互いにデータのやり取りが可能である。
CPU111は、データ管理装置330全体を制御する。
ROM112は、各種データ、及びCPU111が読み出して実行する各種プログラムを記憶する。
RAM113は、情報を一次記憶する記憶装置であり、CPU111が読み出した各種プログラムを一次記憶する。
記憶装置114は、各種のデータを記憶する。記憶装置114は、例えば、ハードディスクドライブ(Hard Disk Drive:HDD)である。
媒体読取装置116は、コンピュータ読み取り可能な記憶媒体(例えば、CD(Compact Diskなど)に記録されたデータを読み取るためのドライブ装置である。なお、本実施形態に係るCPU111の各処理を実行するためのプログラムがコンピュータ読み取り可能な記録媒体に記録されていてもよい。
表示装置118は、CPU111による制御に従って情報を表示する。
入力装置119は、データ管理装置330を使用するユーザによる、指示入力または操作を受け付ける。入力装置119は、例えばキーボードやマウスである。
通信部333は、ネットワーク150を介して、圧縮データ生成装置300と通信する。この通信は、有線であっても無線であってもよい。
続いて、図6を用いて本実施形態に係るデータ管理装置330の機能的構成について説明する。図6は、本実施形態に係るデータ管理装置330の機能ブロック図である。CPU111は、ROM112からプログラムをRAM113に読み出して実行するか、または媒体読取装置116がコンピュータ読み取り可能な記憶媒体からRAM113に読み出したプログラムを実行する。このプログラムの実行により、RAM113上に、データ管理部331が生成される。また、記憶装置114は、リモートDB332を記憶する。
データ管理部331は、圧縮データ生成装置300から通信部333を介して受け取ったヘッダ登録要求を解釈し、圧縮データ生成装置300から通信部333を介して受け取ったデータをヘッダ情報として、リモートDB332に登録する。このように、リモートDB332は、圧縮データ生成装置300の処理の結果生成されるヘッダ情報を記憶する。また、圧縮データ生成装置300及びデータ復元装置360から通信部333を介して受け取ったヘッダ情報の問合せ要求を解釈し、リモートDB332からヘッダ情報を抽出し、通信部333を介してヘッダ情報を送信する。
リモートDB332は、データ構成符号化部302の処理で生成されるデータを記憶するストラクチャテーブル(structure table)T1、エイリアステーブル(alias table)T2及びセルカラムテーブル(cell columns table)T3と、ヘッダ構成符号化部303の処理で生成されるデータを記憶するヘッダテーブル(header table)T4の4つのテーブルを有する。
図7Aは、リモートDB332で記憶されるストラクチャテーブルT1の構造を例示する図である。ストラクチャテーブルT1は、データ構成符号化部302の処理で生成したストラクチャIDを記憶するstructure_idフィールドと、インストラクション#CLASS_IDの値であるクラスIDを該ストラクチャIDに紐付けて記憶するclass_idフィールドと、インストラクション#PROPERTY行のセルカラムに記載された内容を区切り文字を用いて連結したテキストを記憶するcell_column_textフィールドを有し、それらの組をレコードとして記憶する。
図7Bは、リモートDB332で記憶されるエイリアステーブルT2の構造を例示する図である。エイリアステーブルT2は、ヘッダ構成符号化部303の処理でインストラクションの別名(以下、エイリアスという)を作成した場合に用いられ、エイリアスを利用するヘッダIDを記憶するheader_idフィールドと、インストラクションのエイリアスを記憶するaliasフィールドと、元のインストラクションを記憶するoriginalフィールドを有し、それらの組をレコードとして記憶する。
図7Cは、リモートDB332で記憶されるセルカラムテーブルT3の構造を例示する図である。セルカラムテーブルT3は、structure_tableのstructure_idフィールドを外部参照するstructure_idフィールドと、ストラクチャIDに関連づけられたインストラクションを記憶するinstructionフィールドと、インストラクションに関連づけられた値を記憶するinstruction_valueフィールドを有し、それらの組をレコードとして記憶する。
図7Dは、リモートDB332で記憶されるヘッダテーブルT4の構造を例示する図である。ヘッダテーブルT4は、ヘッダ構成符号化部303の処理で生成したヘッダIDを記憶するheader_idフィールドと、このヘッダIDに関連づけられたヘッダテキストを記憶するheader_textフィールドを有し、それらの組をレコードとして記憶する。
ここで、インストラクションがクラスヘッダセクションのものの場合、すなわち、ヘッダが1列で構成され、インストラクションとその値が文字列「:=」で区切られている場合、instructionフィールドにはインストラクションと文字列「:=」が記憶され、instruction_valueフィールドにはその値が記憶される。
一方、インストラクションがスキーマヘッダセクションのものの場合、instructionフィールドにはインストラクションそのものが記憶され、instruction_valueフィールドにはセルカラムを区切り文字で結合して作成したテキストが記憶される。
なお、上記の説明では、リレーショナルデータベースによるデータの記憶を想定したが、同様の情報を記憶できさえすれば、XMLデータベースなど他の形式のデータベースを使用してもよい。また、同様の情報を記憶できればテーブル名やフィールド名、テーブルの構成は上記に限らない。例えば、他の処理のためにカラムを追加したり、他のテーブルを追加したりしてもよい。
続いて、圧縮データ生成装置300の各処理の詳細を、それぞれフローチャートを用いて説明する。まず、図8を用いて圧縮データ生成装置300のデータ構成符号化部302の動作について説明する。図8は、圧縮データ生成装置300のデータ構成符号化部302の処理の流れの一例を示すフローチャートである。
(ステップS501)まず、データ構成符号化部302は、ヘッダ取得部301からヘッダセクションのテキストデータを取得する。
(ステップS502)次に、データ構成符号化部302は、このテキストデータのインストラクション#CLASS_IDの値からクラスIDを抽出する。
(ステップS503)次に、データ構成符号化部302は、このテキストデータのインストラクション#PROPERTY_IDの行からセルカラムのデータ、すなわちセルカラムテキストを抽出する。
(ステップS504)次に、データ構成符号化部302は、抽出したクラスID及びセルカラムテキストの組をキーとして、クラスID及びセルカラムテキストの組を含むレコードがストラクチャテーブルT1に既に登録されているか、データ管理装置330に問い合わせる。
(ステップS505)次に、データ構成符号化部302は、ステップS504での問い合わせ結果を用いて、クラスID及びセルカラムテキストの組を含むレコードがリモートDB332のストラクチャテーブルT1に既に登録されているか否か判定する。
(ステップS506)クラスID及びセルカラムテキストの組を含むレコードがリモートDB332のストラクチャテーブルT1に既に登録されている場合(ステップS505 YES)、データ構成符号化部302は、リモートDB332のストラクチャテーブルT1からそのストラクチャIDを取得する。その後、処理がステップS509に進む。
(ステップS507)一方、クラスID及びセルカラムテキストの組を含むレコードがリモートDB332のストラクチャテーブルT1に未だ登録されていない場合(ステップS5050 NO)、データ構成符号化部302は、抽出したクラスID及びセルカラムテキストの組をテキスト符号化し、ストラクチャIDを生成する。
(ステップS508)そして、データ構成符号化部302は、ストラクチャID、クラスID及びセルカラムテキストの組を、通信部304を介してデータ管理装置330のリモートDB332のストラクチャテーブルT1に登録する。このように、データ構成符号化部302は、パーセルデータ308からクラス識別情報を抽出し、このパーセルデータ308から属性規定情報を生成し、このクラス識別情報とこの属性規定情報との組に対してデータ構成識別情報を割り当て、データ構成識別情報とクラス識別情報と属性規定情報とを関連付けて記憶装置114に記憶させる。そして、処理がステップS509に進む。
(ステップS509)最後に、データ構成符号化部302は、ストラクチャID、ヘッダセクションのテキストデータ及びパーセルデータ308をヘッダ構成符号化部303に渡して、処理を終了する。
図9は、図2のパーセルデータにデータ構成符号化部302の処理を適用した場合を例示する図である。図9に示すように、データ構成符号化部302の処理により、インストラクション#CLASS_IDの値と#PROPERTY_IDのセルカラムテキストが抽出され、テキスト符号化によってストラクチャIDであるCCL001が生成される。このように、属性規定情報の一例であるセルカラムテキストは、属性を識別する属性識別情報#PROPERTY_IDにヘッダ内で関連付けられた値を、前記ヘッダ内での出現順に並べた情報である。
なお、ストラクチャIDは、クラスID及びセルカラムテキストを連結したテキストを入力としてハッシュ関数などのテキスト符号化関数を利用して、データ構成符号化部302により生成されてもよい。
あるいは、このような関数を利用せずに、データ構成符号化部302は、ユーザが指定した文字列をストラクチャIDとしてもよい。このように、データ構成符号化部302は、データ構成情報(例えば、ストラクチャID)に対して、入力装置109がユーザから受け付けた文字列を割り当ててもよい。
あるいは、データ構成符号化部302がシーケンシャルな英数字を管理し、データ構成符号化部302が、管理している英数字から、次の順番の英数字をストラクチャIDとして取得してもよい。
続いて、図10を用いて圧縮データ生成装置300のヘッダ構成符号化部303の動作について説明する。図10は、圧縮データ生成装置300のヘッダ構成符号化部303の処理の流れの一例を示すフローチャートである。
(ステップS701)まず、ヘッダ構成符号化部303は、データ構成符号化部302からストラクチャID、ヘッダセクションのテキストデータ及びパーセルデータ308を取得する。
(ステップS702)次に、ヘッダ構成符号化部303は、ヘッダ構成符号化のため、ヘッダセクションのテキストデータに含まれるクラスヘッダセクションの各行について処理を行う。この処理の詳細は、後述する図11で説明する。
(ステップS703)次に、ヘッダ構成符号化部303はクラスヘッダセクションの処理を終了すると、ヘッダセクションのテキストデータに含まれるスキーマヘッダセクションの各行について処理を行う。この処理の詳細は、後述する図13で説明する。
(ステップS704)次に、ヘッダ構成符号化部303は、クラスヘッダセクション及びスキーマヘッダセクションのインストラクションの処理を終えると、ヘッダセクションのインストラクションカラムの先頭から順にインストラクションを読み出し、読み出したインストラクションを区切り文字で連結したヘッダテキストを生成する。このように、ヘッダ構成情報の一例であるヘッダテキストは、ヘッダに含まれるインストラクションを前記ヘッダ内における出現順に並べた情報である。
(ステップS705)次に、ヘッダ構成符号化部303は、データ管理装置330のリモートDB332のヘッダテーブルT4に、ステップS704で生成したヘッダテキストを含むレコードが登録されているかデータ管理装置330に問い合わせる。
(ステップS706)次に、ヘッダ構成符号化部303は、問い合わせ結果を用いて、ヘッダテーブルT4にステップS704で生成したヘッダテキストを含むレコードが登録されているか否か判定する。
(ステップS707)ヘッダテーブルT4にステップS704で生成したヘッダテキストを含むレコードが登録されている場合(ステップS706 YES)、ヘッダ構成符号化部303は、通信部304を介して、リモートDB332のヘッダテーブルT4から、このヘッダテキストに対応するヘッダIDを取得する。その後、処理がステップS712に進む。
(ステップS708)一方、ヘッダテーブルT4にステップS704で生成したヘッダテキストを含むレコードが登録されていない場合(ステップS706 NO)、ヘッダ構成符号化部303は、ステップS704で生成したヘッダテキストをテキスト符号化してヘッダIDを生成する。
(ステップS709)次に、ヘッダ構成符号化部303は、ステップS708で生成したヘッダID及びステップS704で生成したヘッダテキストの組を、通信部304を介して、リモートDB332のヘッダテーブルT4に登録する。
このように、ヘッダ構成符号化部303は、データから、ヘッダ構成情報(例えば、ヘッダテキスト)を生成し、生成したヘッダ構成情報に対してヘッダ構成識別情報(例えば、ヘッダID)を割り当て、ヘッダ構成識別情報とヘッダ構成情報とを関連付けて記憶装置114に記憶させる。
(ステップS710)次に、ヘッダ構成符号化部303は、ステップS702のクラスヘッダセクションの処理、またはステップS703のスキーマヘッダセクションの処理でインストラクションのエイリアスを作成したか否か判定する。
(ステップS711)ステップS710においてインストラクションのエイリアスを作成したと判定された場合(ステップS710 YES)、ヘッダ構成符号化部303は、ステップS708で生成したヘッダIDとその作成したエイリアスと当該エイリアスを設定したインストラクションとの組を、通信部304を介して、リモートDB332のエイリアステーブルT2に登録する。その後、処理がステップS712に進む。一方、ステップS710においてインストラクションのエイリアスを作成していないと判定された場合(ステップS710 NO)、処理がステップS712に進む。
(ステップS712)上記の処理でストラクチャID及びヘッダIDが得られると、ヘッダ構成符号化部303は、これらのストラクチャID及びヘッダIDとパーセルデータ308を圧縮データ生成部305に渡し、処理を終了する。
続いて、図10のステップS702におけるクラスヘッダセクションの処理の詳細について、図11を用いて説明する。図11は、図10のステップS702におけるクラスヘッダセクションの処理の流れの一例を示すフローチャートである。
(ステップS801)まず、ヘッダ構成符号化部303は、クラスヘッダセクションの先頭行から順に、各行に対して以下のステップS802とステップS900の処理を行う
(ステップS802)次に、ヘッダ構成符号化部303は、処理対象の行に対し、インストラクションカラムから、対象のインストラクションとその値(以下、インストラクション値という)の組を取得する。
(ステップS900)ヘッダ構成符号化部303は、ステップS802で取得した組に対して、後述する図12のインストラクションの処理を実行する。
(ステップS803)クラスヘッダセクションに次の行が有る場合、処理がステップS801に戻る。クラスヘッダセクションに次の行がない場合、クラスヘッダセクションの処理を終了する。
続いて、図11のステップS900におけるインストラクションの処理の詳細について、図12を用いて説明する。図12は、図11のステップS900におけるインストラクションの処理の流れの一例を示すフローチャートである。なお、この処理は、クラスヘッダセクションの処理内で行われるだけでなく、後述の図13のスキーマヘッダセクションの処理内でも行われる。
(ステップS901)まず、ヘッダ構成符号化部303は、データ構成符号化部302で取得したストラクチャIDとインストラクションの組み合わせをキーとして、データ管理装置330のリモートDB332のセルカラムテーブルT3からこれらの組み合わせに関連づけられたインストラクション値を取得する。
(ステップS902)対象のインストラクション値とステップS901で取得したインストラクション値が同じが、異なるか、あるいは対象のインストラクション値を含むレコードがリモートDB332のセルカラムテーブルT3に登録されてないか判定する。対象のインストラクション値とステップS901で取得したインストラクション値が同じ場合(ステップS902 SAME)、ヘッダ構成符号化部303は、インストラクションの処理を終了する。
(ステップS903)一方、対象のインストラクション値とステップS901で取得したインストラクション値が異なる場合(ステップS902 DIFFERENT)、ヘッダ構成符号化部303は、対象のインストラクションのエイリアスを生成する。
(ステップS904)そして、ヘッダ構成符号化部303は、ヘッダセクションの対象のインストラクションをエイリアスで置き換える。そして、処理がステップS905に進む。
(ステップS905)対象のインストラクション値を含むレコードがリモートDB332のセルカラムテーブルT3に登録されていない場合(S902 NO RECORD)、ヘッダ構成符号化部303は、データ構成符号化部302で生成したストラクチャID、対象のインストラクション及び対象のインストラクション値の組を、通信部304を介してデータ管理装置330のリモートDB332のセルカラムテーブルT3に登録して、インストラクションの処理を終了する。
このように、ヘッダ構成符号化部303は、データから、インストラクションとインストラクション値の組を読み出し、データ構成識別情報とインストラクションとインストラクション値とを関連づけて記憶装置114に記憶させる。
一方、処理がステップS904からステップS905に進んだ場合、ヘッダ構成符号化部303は、データ構成符号化部302で生成したストラクチャID、ステップS904で置き換えたエイリアス及び対象のインストラクション値の組を、通信部304を介してデータ管理装置330のリモートDB332のセルカラムテーブルT3に登録して、インストラクションの処理を終了する。
このように、ヘッダ構成符号化部302は、パーセルデータ308から、ヘッダに含まれるインストラクションとインストラクション値の組を取得し(ステップS802)、取得したインストラクション値と、記憶装置114においてデータの構成を識別するデータ構成識別情報とインストションとに関連付けられたインストラクション値とを比較する(ステップS902)。ヘッダ構成符号化部302は、比較の結果、値が異なる場合、前記インストラクションに対して別名を生成する(ステップS903)。
そして、ヘッダ構成符号化部302は、データ構成識別情報と別名と読み出したインストラクション値とを関連付けて記憶装置114に記憶させる(ステップS905)。ヘッダ構成符号化部302は、ヘッダ構成識別情報(例えば、ヘッダID)と、ヘッダ構成情報に含まれるインストラクションが別名に置換されたヘッダ構成情報(例えば、ヘッダテキスト)とを関連付けて記憶装置114に記憶させる(ステップS709)。また、ヘッダ構成符号化部302は、インストラクション構成識別情報(例えば、ヘッダID)と別名とこの別名が生成されたインストクションとを関連づけて記憶装置114に記憶させる(ステップS711)。
続いて、図10のステップS703におけるスキーマヘッダセクションの処理の詳細について、図13を用いて説明する。図13は、図10のステップS703におけるスキーマヘッダセクションの処理の流れの一例を示すフローチャートである。
(ステップS1011)まず、ヘッダ構成符号化部303は、スキーマヘッダセクションの先頭行から順に、各行に対して、以下のステップS1012とステップS900の処理を行う。
(ステップS1012)次に、ヘッダ構成符号化部303は、処理対象の行に対し、対象のインストラクションと、対象のインストラクション値を取得する。
(ステップS900)次に、ヘッダ構成符号化部303は、図12のインストラクションの処理を行う。
(ステップS1013)ステップS900のインストラクションの処理が終わり、スキーマヘッダセクションに次の行がある場合、ヘッダ構成符号化部303は、次の行を対象としてステップS1012及びステップS900の処理を行う。スキーマヘッダセクションに次の行がない場合、ヘッダ構成符号化部303は、スキーマヘッダセクションの処理を終了する。
(ヘッダ構成符号化部303の処理で生成されるヘッダIDの例)
図14は、図2のパーセルデータにヘッダ構成符号化部303の処理を適用した場合を例示する図である。ヘッダ構成符号化部303により、インストラクション列の先頭行から順に取得したインストラクションを区切り文字を使用して連結し、ヘッダテキストが生成される。ヘッダ構成符号化部303により、このヘッダテキストがテキスト符号化されることで、このヘッダテキストのヘッダIDであるHDR001が生成される。
なお、ヘッダIDは、ヘッダテキストを入力としてハッシュ関数などのテキスト符号化関数を利用して、ヘッダ構成符号化部303により生成されてもよい。
あるいは、このような関数を利用せずに、ユーザが指定した文字列をヘッダIDとしてもよい。このように、ヘッダ構成符号化部303は、ヘッダ構成情報(例えば、ヘッダテキスト)に対して、入力装置109がユーザから受け付けた文字列を割り当ててもよい。
あるいは、ヘッダ構成符号化部303がシーケンシャルな英数字を管理し、自動的に英数字を生成してヘッダIDとしてもよい。
<ヘッダ構成符号化部303の処理で生成されるインストラクションのエイリアスの例>
図15は、図2のパーセルデータのヘッダ情報がデータ管理装置330のリモートDB332に登録された状態で、別のパーセルデータの処理を行った場合の例を表した図である。図15の上段の表はパーセルデータであり、その下のテキストデータはこのパーセルデータをテキスト形式で表現したものである。
図2のパーセルデータと比較すると、#CLASS_IDで指定されたクラスIDが等しく、更に#PROPERTY_IDの行のセルカラムの構成が等しいため、データ構成符号化部302の処理でストラクチャIDは生成されず、データ管理装置330のリモートDB332に登録されたストラクチャIDのCCL001がストラクチャIDとして適用される。
一方、図15のパーセルデータはインストラクション#DATABASE:=がなく、インストラクション#MEMOのセルカラムに記載された情報が異なり、更にインストラクション列のインストラクションの順序が異なる。したがって、ヘッダ構成符号化部303によりヘッダテキストが生成される。
その際に、ヘッダ構成符号化部303により、インストラクション#MEMOに対するエイリアス#MEMO-001が作成される。このエイリアスでインストラクションが置き換えられるため、ヘッダ構成符号化部303で生成されるヘッダテキストには、#MEMOではなく#MEMO-001が現れる。ヘッダ構成符号化部303の処理により、最終的に図15のパーセルデータのヘッダセクションのヘッダテキストに対応するヘッダIDとしてHDR002が割り当てられ、図2のパーセルデータのものとは別に、データ管理装置330のリモートDB332に登録される。
<圧縮データ生成部305の処理のフローチャート>
続いて、図16を用いて圧縮データ生成部305の処理について説明する。図16は、圧縮データ生成装置300の圧縮データ生成部305の処理の流れの一例を示すフローチャートである。
(ステップS1301)まず、圧縮データ生成部305は、ヘッダ構成符号化部303から、ストラクチャID、ヘッダID及びパーセルデータ308を取得する。
(ステップS1302)次に、圧縮データ生成部305は、空のヘッダセクションを作成する。
(ステップS1303)次に、圧縮データ生成部305は、インストラクション#CLASS_IDの値が、ステップS1301で取得したストラクチャIDであるという情報を、ステップS1302で作成されたヘッダセクションに出力する。例えば、ストラクチャIDが図17に示すようにCCL001の場合、圧縮データ生成部305は、#CLASS_ID:=CCL001を、ステップS1302で作成されたヘッダセクションに追記する。
(ステップS1304)次に、圧縮データ生成部305は、インストラクション#HEADERの値が、ステップS1301で取得したヘッダIDであるという情報を、ステップS1302で作成されたヘッダセクションに追記する。例えば、ストラクチャIDが図17に示すようにHDR001の場合、圧縮データ生成部305は、#HEADER:=HDR001を、ステップS1302で作成されたヘッダセクションに追記する。
(ステップS1305)次に、圧縮データ生成部305は、このように生成したヘッダセクションに、パーセルデータ308のデータセクションを結合させる。
<圧縮データ生成部305で生成される圧縮パーセルデータの例>
図17は、図2のパーセルデータを入力として、本実施形態における圧縮データ生成装置300の一連の処理で出力された圧縮パーセルデータの例を示す図である。図17のヘッダセクションには、インストラクション#CLASS_IDの値としてデータ構成符号化部302で生成したストラクチャIDが含まれ、インストラクション#HEADERの値としてヘッダ構成符号化部303で生成したヘッダIDが含まれている。これにより、図2のパーセルデータと比較して、ヘッダセクションのデータ容量が削減された圧縮パーセルデータが生成されていることが分かる。
なお、この図17の例では、ヘッダIDを記載する所定のインストラクションを#HEADERとしているが、システムが解釈できれば他のインストラクションを設定して利用しても良い。
(ステップS1306)次に、圧縮データ生成部305は、ステップS1305で生成したデータを圧縮パーセルデータ309として出力し、処理を終了する。
以上、本実施形態における圧縮データ生成装置300において、データ構成符号化部302は、テキスト形式のデータに含まれるヘッダを用いて、前記データが記述する対象の物品やサービスが分類されたクラスを識別するクラス識別情報と、前記クラスを特徴づけるプロパティ(属性)の組み合わせとその順番を規定する属性規定情報との組に対して、この組を識別するデータ構成識別情報(例えば、ストラクチャID)を割り当てる。
そして、ヘッダ構成符号化部303は、前記データを用いて、前記ヘッダの個々の行に記載された見出しであるインストラクションの組み合わせとその順番を規定するヘッダ構成情報(例えば、ヘッダテキスト)に対して、前記ヘッダ構成情報を識別するヘッダ構成識別情報(例えば、ヘッダID)を割り当てる。そして、圧縮データ生成部305は、前記データ構成識別情報(例えば、ストラクチャID)と前記ヘッダ構成識別情報(例えば、ヘッダID)と前記データに含まれるインスタンスとを含む圧縮データを生成する。
これにより、ヘッダがデータ構成識別情報とヘッダ構成識別情報を含むデータに置き換わることによりヘッダの容量が減るので、元のデータに比べて圧縮データの容量を減らすことができる。
本実施形態では、その一例として、テキスト形式で表現されたパーセルデータのヘッダの構成に基づいて、データ容量を削減した可逆の圧縮ヘッダを生成し、この圧縮ヘッダを元のパーセルデータのヘッダと置き換えることを説明した。これにより、データ容量が削減された圧縮パーセルデータを生成することができる。また、テキスト形式のまま、ヘッダの容量を削減した圧縮パーセルデータを作成でき、記憶できるデータ容量に制限がある環境下でも、圧縮パーセルデータの記憶が可能になる。
また、本実施形態で作成される圧縮パーセルデータは、パーセル規格に準拠した書式で表現されることから、パーセルデータを扱うアプリケーションに対して特別な機能の追加実装をすることなく、これらのアプリケーションで読み書きができる。
また、本実施形態によれば、同じクラスのデータを記述するためのシートでありプロパティの順序が同じパーセルデータに対して、これらの圧縮パーセルデータを効率よく生成することができる。
なお、本実施形態では、圧縮データ生成装置300は、データ管理装置330が有する記憶装置114にリモートDB332を記憶させたが、これに限ったものではない。圧縮データ生成装置300は、自装置内の記憶装置104にリモートDB332を記憶させてもよい。また、圧縮データ生成装置300とデータ管理装置330とが一体の情報処理装置として構成してもよい。
続いて、図18を用いて本実施形態に係るデータ復元装置360の構成について説明する。図18は、本実施形態に係るデータ復元装置360の構成を示す図である。図18に示すように、データ復元装置360は、CPU(Central Processing Unit)121、ROM122、RAM123、記憶装置124、媒体読取装置126、バスコントローラ127、表示装置128、入力装置129、及び通信部364を備える。図18に示すように、データ復元装置360の各構成要素は、バスコントローラ127を介して接続されており、互いにデータのやり取りが可能である。
CPU121は、圧縮データ生成装置300全体を制御する。
ROM122は、各種データ、及びCPU121が読み出して実行する各種プログラムを記憶する。
RAM123は、情報を一次記憶する記憶装置であり、CPU121が読み出した各種プログラムを一次記憶する。
記憶装置124は、各種データ、及びCPU121が読み出して実行する各種プログラムを記憶する。記憶装置124は、例えば、ハードディスクドライブ(Hard Disk Drive:HDD)である。
媒体読取装置126は、コンピュータ読み取り可能な記憶媒体(例えば、CD(Compact Diskなど)に記録されたデータを読み取るためのドライブ装置である。なお、本実施形態に係るCPU121の各処理を実行するためのプログラムがコンピュータ読み取り可能な記録媒体に記録されていてもよい。
表示装置128は、CPU121による制御に従って情報を表示する。
入力装置129は、ユーザによる、指示入力または操作を受け付ける。入力装置129は、例えばキーボードやマウスである。
通信部364は、ネットワーク150を介して、データ管理装置330と通信する。この通信は、有線であっても無線であってもよい。
続いて、図19を用いて本実施形態に係るデータ復元装置360の機能的構成について説明する。図19は、本実施形態に係るデータ復元装置360の機能ブロック図である。CPU121は、ROM122、または記憶装置124からプログラムをRAM123に読み出して実行するか、または媒体読取装置126がコンピュータ読み取り可能な記憶媒体からRAM123に読み出したプログラムを実行する。このプログラムの実行により、RAM123上に、取得部361、判定部362、ヘッダ情報取得部363、データ登録部365、復元部367、パーセルデータ処理部368、事前取得部369が生成される。また、記憶装置124には、ローカルDB366が記憶されている。
データ復元装置360におけるパーセルデータ復元処理は、ユーザが表示装置128に表示される画面を見ながら入力装置129に対して、パーセルデータ372を読み取るよう指示するパーセルデータ取得操作を行うことで開始される。
取得部361は、入力装置129がパーセルデータ取得操作を受け付けた場合、データ372を取得する。ここで、データ372は、パーセルデータ308またはヘッダセクションが圧縮された圧縮パーセルデータ309のいずれかである。取得部361は、パーセルデータ372をメモリにロードして、判定部362に渡す。
判定部362は、テキスト形式のデータ372に含まれるヘッダに基づいて、データ372のヘッダが圧縮されているか否かを判定する。具体的には例えば、判定部362は、データ372のヘッダ情報を解析し、ヘッダの復元が必要な場合、ヘッダ情報取得部363にデータ372を渡す。一方、ヘッダの復元が不要又は不可の場合、パーセルデータ処理部368にデータ372を渡す。判定部362の動作の詳細は後述する。
ここで、上述したように、データ管理装置330の記憶装置124には、データ構成識別情報と元データが記述する対象の物品やサービスが分類されたクラスを識別するクラス識別情報とクラスを特徴づけるプロパティ(属性)の組み合わせとその順番を規定する属性規定情報とが関連付けて記憶されている。更に、記憶装置124には、ヘッダ構成識別情報と元のヘッダの構成を規定するヘッダ構成情報とが関連付けて記憶されている。
ヘッダ情報取得部363は、判定部362によってデータ372のヘッダが圧縮されていると判定された場合、データ372のヘッダからデータ構成識別情報(例えば、ストラクチャID)とヘッダ構成識別情報(例えば、ヘッダID)とを抽出し、抽出したヘッダ構成識別情報とデータ構成識別情報のいずれかに関連づけられた情報を含むヘッダ情報を記憶装置124から取得する。
具体的には例えば、ヘッダ情報取得部363は、判定部362から受け取ったパーセルデータ372のヘッダセクションのインストラクション#CLASS_IDの値からストラクチャIDを取得し、更にインストラクション#HEADER_IDで指定されたヘッダIDを抽出する。そして、ヘッダ情報取得部363は、ローカルDB366、または通信部364を介してデータ管理装置330から、これらに関連づけられたヘッダ情報を取得する。ここで、データ管理装置330からヘッダ情報を取得した場合、ローカルDB366で記憶するため、このヘッダ情報をデータ登録部365に渡す。その後、このヘッダ情報とパーセルデータ372を復元部367に送る。ヘッダ情報取得部363の動作の詳細は後述する。
通信部364は、記憶装置124を有するデータ管理装置330と通信する。具体的には、通信部364は、ヘッダ情報取得部363からの問い合わせをネットワーク150を介してデータ管理装置330へ送信する。そして、通信部364は、この問い合わせに応じてデータ管理装置330から送信されたヘッダ情報を、ネットワーク150を介して受信し、受信したヘッダ情報をヘッダ情報取得部363に渡す。
データ登録部365は、ヘッダ情報取得部363が取得したヘッダ情報を記憶装置124に記憶させる。具体的には、データ登録部365は、ヘッダ情報取得部363から渡されたヘッダ情報を記憶装置124内のローカルDB366に記憶させる。また、データ登録部365は、事前取得部369が取得したヘッダ情報を記憶装置366に記憶させる。
記憶装置(第2の記憶装置)124は、ローカルDB366を含むデータを記憶する。ローカルDB366は、ヘッダ情報取得部363または事前取得部369が取得したヘッダ情報を記憶する。ローカルDB366で記憶する情報の構成はデータ管理装置330のリモートDB332と同様であり、図7A〜図7Dに示す通りである。すなわち、ローカルDB366には、データ管理装置330のリモートDB332の情報の一部又は全部が記憶される。このように、データ復元装置360内でヘッダ情報を記憶することで、圧縮パーセルデータから元のパーセルデータを復元する際の通信量を削減し、処理速度を向上させることができる。
復元部367は、ヘッダ情報取得部363により取得されたヘッダ情報を用いて、元データ(例えば、元のパーセルデータ)を復元する。あるいは、復元部367は、記憶装置124に記憶されたヘッダ情報を用いて、元データを復元する。
より詳細には、復元部367は、ヘッダ情報に含まれる、ヘッダ構成識別情報(例えば、ヘッダID)に関連付けられたヘッダ構成情報(例えば、ヘッダテキスト)から、ヘッダの個々の行に記載された見出しであるインストラクションの一覧を抽出する。そして、復元部367は、抽出したインストラクション毎に、当該インストラクションとデータ構成識別情報(例えば、ストラクチャID)とに関連付けられたインストラクション値を取得し、インストラクションとインストラクション値の組と、圧縮データに含まれるインスタンスとを含むデータを元データとして生成する。
具体的には例えば、復元部367は、ヘッダ情報取得部363から渡されたヘッダ情報を用いて、ヘッダ情報取得部363から渡されたデータ372のヘッダセクションを、元のパーセルデータのヘッダセクションに復元することにより、元のパーセルデータを復元する。復元部367は、復元した元のパーセルデータを、パーセルデータ処理部368に渡す。復元部367の動作の詳細は後述する。
パーセルデータ処理部368は、判定部362から渡されたデータ372、または復元部367から渡された元のパーセルデータに対して、各種処理を行う。
事前取得部369における処理は、ユーザが表示装置128に表示される画面を見ながら入力装置129を介してヘッダ情報の事前取得操作を行うことで開始される。
事前取得部369は、データ372内のヘッダを圧縮前のヘッダに復元するためのヘッダ情報を記憶装置114から通信部364を介して事前に取得する。具体的には例えば、事前取得部369は、データ管理装置330から事前に必要なヘッダ情報を取得し、ローカルDB366に登録する。これは、データ復元装置が処理する圧縮パーセルデータが予め明らかな場合に有効であり、事前に登録することで、データ復元装置がオフラインの環境でも、データ372を元のパーセルデータに復元することができる。
なお、ヘッダ事前取得操作を契機に事前取得部369における処理を開始したが、これに限らず、事前取得部369が処理を自動的に実行しても良い。例えば、事前取得部369は、建物の入り口に配置されているセンサからの情報に基づいて、この建物内の機器等に割り当てられた圧縮パーセルデータが使用するヘッダIDの一覧を取得し、自動的にヘッダ情報を取得してもよい。
続いて、図20〜図22を用いて、上述した構成を有するデータ復元装置360の各処理の詳細について、それぞれフローチャートを用いて説明する。
<判定部362の処理のフローチャート>
図20は、データ復元装置360の判定部362の処理の流れの一例を示すフローチャートである。
(ステップS1501)まず、判定部362は、取得部361からデータ372を取得する。
(ステップS1502)次に、判定部362は、データ372のヘッダセクションを解析する。
(ステップS1503)次に、判定部362は、データ372のヘッダセクションが圧縮されているか判定する。具体的には例えば、判定部362は、データ372のインストラクション#CLASS_IDの値をデータ管理装置330に問い合わせ、これがヘッダ情報としてローカルDB366又はデータ管理装置330のリモートDB332に登録されている場合、このデータ372のヘッダセクションが圧縮されていると判定する。一方、それ以外の場合、判定部362は、このデータ372のヘッダセクションが圧縮されていないと判定する。
(ステップS1504)ステップS1503でデータ372のヘッダセクションが圧縮されていると判定された場合(ステップS1503 YES)、判定部362は、ヘッダ情報取得部363にこのデータ372を渡して、処理を終了する。
(ステップS1505)一方、ステップS1503でデータ372のヘッダセクションが圧縮されていないと判定された場合(ステップS1503 NO)、復元処理を行う必要がないため、判定部362は、パーセルデータ処理部368にデータ372を渡して、処理を終了する。
<ヘッダ情報取得部363の処理のフローチャート>
続いて、図21を用いてヘッダ情報取得部363の処理について説明する。図21は、データ復元装置360のヘッダ情報取得部363の処理の流れの一例を示すフローチャートである。
(ステップS1601)まず、ヘッダ情報取得部363は、判定部362からデータ372を取得する。
(ステップS1602)次に、ヘッダ情報取得部363は、取得したデータ372のヘッダセクションから、インストラクション#CLASS_IDに関連づけられたストラクチャID及びインストラクション#HEADERに関連づけられたヘッダIDを抽出する。
(ステップS1603)次に、ヘッダ情報取得部363は、ステップS1602で抽出したストラクチャID及びヘッダIDの組をキーとして、このストラクチャID及びこのヘッダIDの組を含むレコードがあるか否かローカルDB366に問い合わせる。
(ステップS1604)次に、ヘッダ情報取得部363は、ステップS1603で問い合わせた結果を用いて、ローカルDB366に該当レコードがあるか否か判定する。
(ステップS1605)ステップ1604でローカルDB366に該当レコードがあると判定された場合(ステップS1604 YES)、ヘッダ情報取得部363は、ローカルDB366からヘッダ情報を取得する。
(ステップS1606)一方、ステップ1604でローカルDB366に該当レコードがないと判定された場合(S1604 NO)、ヘッダ情報取得部363は、ステップS1602で抽出したストラクチャID及びヘッダIDの組をキーとして、通信部364を介してデータ管理装置330のリモートDB322からヘッダ情報を取得する。
(ステップS1607)次に、ヘッダ情報取得部363は、ステップS1606で取得したヘッダ情報をローカルDB366に登録する。
(ステップS1608)ステップS1605またはS1607の処理によりヘッダ情報を取得すると、ヘッダ情報取得部363は、取得したヘッダ情報、データ372、ストラクチャID及びヘッダIDを復元部367に渡し、処理を終了する。
<復元部367の処理のフローチャート>
続いて、図22を用いて復元部367の処理について説明する。図22は、データ復元装置360の復元部367の処理の流れの一例を示すフローチャートである。
(ステップS1701)まず、復元部367は、ヘッダ情報取得部363からヘッダ情報、データ372、ストラクチャID及びヘッダIDを取得する。
(ステップS1702)次に、復元部367は、圧縮前のヘッダセクションを復元するための空のヘッダセクションを生成する。
(ステップS1703)次に、復元部367は、ステップS1701で取得したヘッダ情報に含まれるヘッダテーブルから、ステップS1701で取得したヘッダIDに関連づけられたヘッダテキストを取得する。そして、復元部367は、ヘッダテキストから区切り文字で区切られた各インストラクションを抽出することにより、インストラクションのリストを取得する。以下、このようにして得られたインストラクションのリストの先頭のインストラクションから順に復元の処理を行う。
(ステップS1704)まず、処理対象のインストラクションがクラスヘッダセクションのインストラクションの場合、すなわちインストラクションの末尾が「:=」で終わっている場合、以下に示すステップS1705〜ステップS1707の処理を実行する。
(ステップS1705)復元部367は、ヘッダ情報に含まれるセルカラムテキストから、ストラクチャID及び処理対象のインストラクションの組に関連づけられたインストラクション値を取得する。
(ステップS1706)ステップS1701で取得したストラクチャIDと処理対象のインストラクションとを含むレコードが、ヘッダ情報に含まれるエイリアステーブルに含まれる場合、すなわち処理対象のインストラクションがエイリアスである場合、復元部367は、ヘッダ情報に含まれるエイリアステーブルにおいて、当該ストラクチャIDと処理対象のインストラクションとの組に関連づけられたオリジナルの値を元のインストラクションとして取得する。
(ステップS1707)復元部367は、ステップS1705及びステップS1706の処理を経て得られたインストラクション及びインストラクション値を用いて、クラスヘッダセクションのテキストデータを生成し、ヘッダセクションに追記する。
ヘッダ情報には、データ構成識別情報(例えば、ストラクチャID)と元のインストラクションと元のインストラクションの別名とが関連付けられている。そして、復元部367は、前記ヘッダ情報中に、データ構成識別情報(例えば、ストラクチャID)と処理対象のインストラクションとの組に関連付けられた元のインストションが含まれる場合、元データに、元のインストションと、ヘッダ情報で処理対象のインストラクションに関連付けられたインストラクション値との組を含ませる。
(ステップS1708)インストラクションリストの次のインストラクションがクラスヘッダセクションのインストラクションの場合、次のインストラクションを処理対象としてステップS1705〜ステップS1707の処理を行う。ステップS1704〜ステップS1708のループを抜けた場合、当該インストラクションリストの次の処理対象のインストラクションはスキーマヘッダセクションのインストラクションになる。
(ステップS1709)当該インストラクションリストの処理対象のインストラクションがスキーマヘッダセクションのインストラクションの場合、以下に示すステップS1710〜ステップS1712の処理を実行する。
(ステップS1710)復元部367は、ヘッダ情報に含まれるセルカラムテーブルから、ステップS1701で取得したストラクチャID及び処理対象のインストラクションの組に関連づけられたインストラクション値を取得する。
(ステップS1711)ステップS1701で取得したストラクチャIDと処理対象のインストラクションとを含むレコードが、ヘッダ情報に含まれるエイリアステーブルに含まれる場合、すなわち処理対象のインストラクションがエイリアスである場合、復元部367は、ヘッダ情報に含まれるエイリアステーブルにおいて、当該ストラクチャIDと処理対象のインストラクションとの組に関連づけられたオリジナルの値をインストラクションとして取得することによって、インストラクションを復元する。
(ステップS1712)復元部367は、ステップS1710及びS1711の処理を経て得られたインストラクション及びインストラクション値からスキーマヘッダセクションのテキストデータを生成し、ヘッダセクションに追記する。
(ステップS1713)インストラクションリストの次のインストラクションがある場合、次のインストラクションを処理対象としてステップS1710〜ステップS1712の処理を行う。
(ステップS1714)ステップS1709〜ステップS1713のループを抜けた場合、復元部367は、これらの処理で得られたヘッダセクションに、データ372のデータセクションを結合することにより、ヘッダセクションを圧縮する前のパーセルデータを復元する。
(ステップS1715)次に、復元部367は、復元したパーセルデータをパーセルデータ処理部368に渡して、処理を終了する。
以上、本実施形態に係るデータ復元装置360において、判定部362は、テキスト形式のデータ372に含まれるヘッダに基づいて、データ372のヘッダが圧縮されているか否かを判定する。ヘッダ情報取得部363は、判定部362によってデータ372のヘッダが圧縮されていると判定された場合、データ372のヘッダからデータ構成識別情報(例えば、ストラクチャID)とヘッダ構成識別情報(例えば、ヘッダID)とを抽出し、抽出したヘッダ構成識別情報とデータ構成識別情報のいずれかに関連づけられた情報を含むヘッダ情報を記憶装置114から取得する。復元部367は、ヘッダ情報取得部363により取得されたヘッダ情報を用いて、元データを復元する。
このように、本実施形態に係るデータ復元装置360は、データに含まれるヘッダを圧縮する前のヘッダに復元することにより、元データを復元することができる。また、本実施形態によれば、インストラクションの表示順序が個々に異なる場合でも、完全に元のパーセルデータを復元できる。
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1 情報処理システム
150 ネットワーク
300 圧縮データ生成装置(情報処理装置)
330 データ管理装置
360 データ復元装置(情報処理装置)
101、111、121 CPU(Central Processing Unit)
102、112、122 ROM
103、113、122 RAM
104、114、124 記憶装置
106、116、126 媒体読取装置
107、117、127 バスコントローラ
108、118、128 表示装置
109、119、129 入力装置
304、333、364 通信部
301 ヘッダ取得部
302 データ構成符号化部
303 ヘッダ構成符号化部
305 圧縮データ生成部
331 データ管理部
361 取得部
362 判定部
363 ヘッダ情報取得部
365 データ登録部
367 復元部
368 パーセルデータ処理部
369 事前取得部

Claims (20)

  1. テキスト形式のデータに含まれるヘッダを用いて、前記データが記述する対象が分類されたクラスを識別するクラス識別情報と、前記クラスを特徴づける属性の組み合わせとその順番を規定する属性規定情報との組に対して、前記組を識別するデータ構成識別情報を割り当てるデータ構成符号化部と、
    前記データを用いて、前記ヘッダの個々の行に記載された見出しであるインストラクションの組み合わせとその順番を規定するヘッダ構成情報に対して、前記ヘッダ構成情報を識別するヘッダ構成識別情報を割り当てるヘッダ構成符号化部と、
    前記データ構成識別情報と前記ヘッダ構成識別情報と前記データに含まれるインスタンスとを含む圧縮データを生成する圧縮データ生成部と、
    を備える情報処理装置。
  2. 前記データ構成符号化部は、前記データから前記クラス識別情報を抽出し、前記データから前記属性規定情報を生成し、前記クラス識別情報と前記属性規定情報との組に対して前記データ構成識別情報を割り当て、前記データ構成識別情報と前記クラス識別情報と前記属性規定情報とを関連付けて記憶装置に記憶させ、
    前記ヘッダ構成符号化部は、前記データから、前記ヘッダ構成情報を生成し、前記生成したヘッダ構成情報に対して前記ヘッダ構成識別情報を割り当て、前記ヘッダ構成識別情報とヘッダ構成情報とを関連付けて前記記憶装置に記憶させ、前記データから、前記インストラクションと前記インストラクションの値の組を読み出し、前記データ構成識別情報とインストラクションと前記インストラクションの値とを関連づけて前記記憶装置に記憶させる
    請求項1に記載の情報処理装置。
  3. 前記ヘッダ構成符号化部は、前記データから、前記ヘッダに含まれるインストラクションと前記インストラクションの値の組を取得し、前記取得したインストラクションの値と、前記記憶装置において前記データの構成を識別するデータ構成識別情報と前記インストションとに関連付けられたインストラクションの値とを比較し、比較の結果、値が異なる場合、前記インストラクションに対して別名を生成し、
    前記データ構成識別情報と前記別名と前記読み出したインストラクションの値とを関連付けて前記記憶装置に記憶させ、
    前記ヘッダ構成識別情報と、前記ヘッダ構成情報に含まれる前記インストラクションが前記別名に置換されたヘッダ構成情報とを関連付けて前記記憶装置に記憶させ、
    前記インストラクション構成識別情報と前記別名と前記インストクションとを関連づけて前記記憶装置に記憶させる
    請求項1または2に記載の情報処理装置。
  4. 前記記憶装置を有するデータ管理装置と通信する通信部を更に備え、
    前記データ構成符号化部は、前記記憶装置に記憶させるデータを前記通信部から前記データ管理装置へ送信させ、当該記憶させるデータを前記データ管理装置に記憶させるようにし、
    前記ヘッダ構成符号化部は、前記記憶装置に記憶させるデータを前記通信部から前記データ管理装置へ送信させ、当該記憶させるデータを前記データ管理装置に記憶させるようにする
    請求項2または3に記載の情報処理装置。
  5. 前記データ構成符号化部は、前記クラス識別情報と前記属性規定情報との組に対してテキスト符号化を行うことにより、前記データ構成識別情報を生成する
    請求項1から4のいずれか一項に記載の情報処理装置。
  6. 前記ヘッダ構成符号化部は、前記ヘッダ構成情報に対してテキスト符号化を行うことにより、前記ヘッダ構成識別情報を生成する
    請求項1から5のいずれか一項に記載の情報処理装置。
  7. 前記テキスト符号化は、ハッシュ関数を用いたハッシュ値の計算である
    請求項5または6に記載の情報処理装置。
  8. ユーザの入力を受付ける入力装置を更に備え、
    前記データ構成符号化部は、前記データ構成情報に対して、前記入力装置がユーザから受け付けた文字列を割り当て、
    前記ヘッダ構成符号化部は、前記ヘッダ構成情報に対して、前記入力装置がユーザから受け付けた文字列を割り当てる
    請求項1から4のいずれか一項に記載の情報処理装置。
  9. 前記属性規定情報は、前記属性を識別する属性識別情報に前記ヘッダ内で関連付けられた値を、前記ヘッダ内での出現順に並べた情報である
    請求項1から8のいずれか一項に記載の情報処理装置。
  10. 前記ヘッダ構成情報は、前記ヘッダに含まれるインストラクションを前記ヘッダ内における出現順に並べた情報である
    請求項1から9のいずれか一項に記載の情報処理装置。
  11. (復号装置を規定)
    テキスト形式のデータに含まれるヘッダに基づいて、前記データのヘッダが圧縮されているか否かを判定する判定部と、
    前記判定部によって前記データのヘッダが圧縮されていると判定された場合、前記データのヘッダからデータ構成識別情報とヘッダ構成識別情報とを抽出し、抽出したヘッダ構成識別情報とデータ構成識別情報のいずれかに関連づけられた情報を含むヘッダ情報を記憶装置から取得するヘッダ情報取得部と、
    前記ヘッダ情報取得部により取得されたヘッダ情報を用いて、元データを復元する復元部と、
    を備え、
    前記記憶装置には、前記データ構成識別情報と前記元データが記述する対象が分類されたクラスを識別するクラス識別情報と前記クラスを特徴づける属性の組み合わせとその順番を規定する前記属性規定情報とが関連付けて記憶され、前記ヘッダ構成識別情報と前記元のヘッダの構成を規定するヘッダ構成情報とが関連付けて記憶されている
    情報処理装置。
  12. 前記復元部は、前記ヘッダ情報に含まれる、ヘッダ構成識別情報に関連付けられたヘッダ構成情報から、ヘッダの個々の行に記載された見出しであるインストラクションの一覧を抽出し、抽出したインストラクション毎に、当該インストラクションと前記データ構成識別情報とに関連付けられたインストラクションの値を取得し、インストラクションとインストラクションの値の組と、圧縮データに含まれるインスタンスとを含むデータを前記元データとして生成する
    請求項11に記載の情報処理装置。
  13. 前記ヘッダ情報には、前記データ構成識別情報と元のインストラクションと前記元のインストラクションの別名とが関連付けられており、
    前記復元部は、前記ヘッダ情報中に、前記データ構成識別情報と処理対象のインストラクションの組に関連付けられた元のインストションが含まれる場合、前記元データに、前記元のインストションと、前記ヘッダ情報で前記処理対象のインストラクションに関連付けられたインストラクションの値との組を含ませる
    請求項12に記載の情報処理装置。
  14. データを記憶する第2の記憶装置と、
    前記ヘッダ情報取得部が取得したヘッダ情報を前記記憶装置に記憶させるデータ登録部と、
    を更に備える請求項11から13のいずれか一項に記載の情報処理装置。
  15. 前記復元部は、前記第2の記憶装置に記憶されたヘッダ情報を用いて、前記元データを復元する請求項14に記載の情報処理装置。
  16. 前記記憶装置を有するデータ管理装置と通信する通信部と、
    前記データ内のヘッダを圧縮前のヘッダに復元するためのヘッダ情報を前記通信部を介して前記記憶装置から事前に取得する事前取得部と、
    前記事前取得部が取得したヘッダ情報を前記第2の記憶装置に記憶させるデータ登録部と、
    を更に備える請求項14または15に記載の情報処理装置。
  17. データ構成符号化部が、テキスト形式のデータに含まれるヘッダを用いて、前記データが記述する対象が分類されたクラスを識別するクラス識別情報と、前記クラスを特徴づける属性の組み合わせとその順番を規定する属性規定情報との組に対して、前記組を識別するデータ構成識別情報を割り当てるステップと、
    ヘッダ構成符号化部が、前記データを用いて、前記ヘッダの個々の行に記載された見出しであるインストラクションの組み合わせとその順番を規定するヘッダ構成情報に対して、前記ヘッダ構成情報を識別するヘッダ構成識別情報を割り当てるステップと、
    圧縮データ生成部が、前記データ構成識別情報と前記ヘッダ構成識別情報と前記データに含まれるインスタンスとを含む圧縮データを生成するステップと、
    を有する情報処理方法。
  18. テキスト形式のデータに含まれるヘッダを用いて、前記データが記述する対象が分類されたクラスを識別するクラス識別情報と、前記クラスを特徴づける属性の組み合わせとその順番を規定する属性規定情報との組に対して、前記組を識別するデータ構成識別情報を割り当てるデータ構成符号化部、
    前記データを用いて、前記ヘッダの個々の行に記載された見出しであるインストラクションの組み合わせとその順番を規定するヘッダ構成情報に対して、前記ヘッダ構成情報を識別するヘッダ構成識別情報を割り当てるヘッダ構成符号化部、
    前記データ構成識別情報と前記ヘッダ構成識別情報と前記データに含まれるインスタンスとを含む圧縮データを生成する圧縮データ生成部、
    として機能させるためのプログラム。
  19. 判定部が、テキスト形式のデータに含まれるヘッダに基づいて、前記データのヘッダが圧縮されているか否かを判定するステップと、
    ヘッダ情報取得部が、前記判定部によって前記データのヘッダが圧縮されていると判定された場合、前記データのヘッダからデータ構成識別情報とヘッダ構成識別情報とを抽出し、抽出したヘッダ構成識別情報とデータ構成識別情報のいずれかに関連づけられた情報を含むヘッダ情報を記憶装置から取得するステップと、
    復元部が、前記ヘッダ情報取得部により取得されたヘッダ情報を用いて、元データを復元するステップと、
    を有し、
    前記記憶装置には、前記データ構成識別情報と前記元データが記述する対象が分類されたクラスを識別するクラス識別情報と前記クラスを特徴づける属性の組み合わせとその順番を規定する前記属性規定情報とが関連付けて記憶され、前記ヘッダ構成識別情報と前記元のヘッダの構成を規定するヘッダ構成情報とが関連付けて記憶されている情報処理方法。
  20. テキスト形式のデータに含まれるヘッダに基づいて、前記データのヘッダが圧縮されているか否かを判定する判定部、
    前記判定部によって前記データのヘッダが圧縮されていると判定された場合、前記データのヘッダからデータ構成識別情報とヘッダ構成識別情報とを抽出し、抽出したヘッダ構成識別情報とデータ構成識別情報のいずれかに関連づけられた情報を含むヘッダ情報を記憶装置から取得するヘッダ情報取得部、
    前記ヘッダ情報取得部により取得されたヘッダ情報を用いて、元データを復元する復元部、
    として機能させるためのプログラムであって、
    前記記憶装置には、前記データ構成識別情報と前記元データが記述する対象が分類されたクラスを識別するクラス識別情報と前記クラスを特徴づける属性の組み合わせとその順番を規定する前記属性規定情報とが関連付けて記憶され、前記ヘッダ構成識別情報と前記元のヘッダの構成を規定するヘッダ構成情報とが関連付けて記憶されているプログラム。
JP2014185330A 2014-09-11 2014-09-11 情報処理装置、情報処理方法及びプログラム Pending JP2016057970A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014185330A JP2016057970A (ja) 2014-09-11 2014-09-11 情報処理装置、情報処理方法及びプログラム
PCT/JP2015/074972 WO2016039238A1 (ja) 2014-09-11 2015-09-02 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014185330A JP2016057970A (ja) 2014-09-11 2014-09-11 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2016057970A true JP2016057970A (ja) 2016-04-21

Family

ID=55458987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014185330A Pending JP2016057970A (ja) 2014-09-11 2014-09-11 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
JP (1) JP2016057970A (ja)
WO (1) WO2016039238A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4887726B2 (ja) * 2005-10-19 2012-02-29 富士通株式会社 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置
JP4930305B2 (ja) * 2007-09-20 2012-05-16 日本電気株式会社 データ通信システム、端末、カタログサーバ、データ通信方法、および通信プログラム

Also Published As

Publication number Publication date
WO2016039238A1 (ja) 2016-03-17

Similar Documents

Publication Publication Date Title
CN101288095B (zh) 使用多维xbrl引擎的企业软件系统
US10366154B2 (en) Information processing device, information processing method, and computer program product
US7574446B2 (en) Converting arbitrary strings into numeric representations to facilitate complex comparisons
JP5755823B1 (ja) 類似度算出システム、類似度算出方法およびプログラム
JP7184386B2 (ja) 対話装置、制御装置、対話システム、対話方法、制御方法、およびプログラム
TWI619033B (zh) 執行以時間序列資料與分析資料當中的至少一部分作為輸入資料之分析處理的分析系統及分析方法
CN110602049A (zh) 数据传输方法、服务器及存储介质
JP5379372B2 (ja) データ圧縮装置、データ伸長装置およびデータ圧縮方法
JP6775366B2 (ja) 選択装置、および選択方法
WO2016039238A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN105095225A (zh) 文件数据的获取方法和装置
JP5936892B2 (ja) テストデータ作成システム、およびテストデータ作成装置
CN105843812B (zh) 一种数据呈现方法、装置及系统
EP3561673B1 (en) Data processing system and method
JP5718256B2 (ja) システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラム
US10360243B2 (en) Storage medium, information presentation method, and information presentation apparatus
JP2020140614A (ja) 情報処理装置及びプログラム
KR101661646B1 (ko) 이미지 코드를 이용한 웹페이지 서비스 시스템 및 방법
US9501491B1 (en) File format article of manufacture
CN103019665A (zh) 一种单据打开方法及装置
JP2005275929A (ja) Csvデータ提供システム
JP6982444B2 (ja) 学習装置、生成装置、学習方法、生成方法、学習プログラム、及び生成プログラム
US8840012B2 (en) System and method for acquiring and sharing scheduling data
KR20220079057A (ko) 멀티미디어 변환 콘텐츠 제작 서비스 제공 장치의 리소스 데이터 베이스 구축방법
WO2018185921A1 (ja) インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法