JP2009169798A - データ処理システム、データ変換方法およびこの方法のプログラム - Google Patents
データ処理システム、データ変換方法およびこの方法のプログラム Download PDFInfo
- Publication number
- JP2009169798A JP2009169798A JP2008008844A JP2008008844A JP2009169798A JP 2009169798 A JP2009169798 A JP 2009169798A JP 2008008844 A JP2008008844 A JP 2008008844A JP 2008008844 A JP2008008844 A JP 2008008844A JP 2009169798 A JP2009169798 A JP 2009169798A
- Authority
- JP
- Japan
- Prior art keywords
- data
- format
- binary
- terminal device
- application 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とによるシステム構築を容易にする。
【解決手段】複数形式のバイナリデータを出力する端末機器1と、標準データ形式でデータ処理するアプリケーション部2とを備えたデータ処理システムにおいて、端末機器からシリアル伝送される複数形式のバイナリデータを、データパーサ3は再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換してアプリケーション部に出力する。
データパーサのフォーマット定義は、バイナリデータのスタートマーク、エンドマーク、エスケープ、データの位置と名前、データ構造を表すための切り替え、ビットデータ、繰返しに対応できる。
【選択図】図1
【解決手段】複数形式のバイナリデータを出力する端末機器1と、標準データ形式でデータ処理するアプリケーション部2とを備えたデータ処理システムにおいて、端末機器からシリアル伝送される複数形式のバイナリデータを、データパーサ3は再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換してアプリケーション部に出力する。
データパーサのフォーマット定義は、バイナリデータのスタートマーク、エンドマーク、エスケープ、データの位置と名前、データ構造を表すための切り替え、ビットデータ、繰返しに対応できる。
【選択図】図1
Description
本発明は、センサーなどの端末機器が出力する任意形式のバイナリデータを標準データ形式に変換してデータ処理するためのデータ処理システム、データ変換方法に関する。
図6に示すように、監視制御端末やセンサーネットなどのデータ処理システムは、それに組み込まれる端末機器1が各種のデータをアプリケーション部2に伝送し、アプリケーション部2でこれらデータを使用して各種のデータ処理を実行するシステムにおいて、端末機器1は複数のデータをまとめてバイナリデータとしてシリアル(RS232Cなど)で出力する場合が多い。
この場合のデータ形式は、サイズを小さくするためにバイト列やビット列としてその都度独自に定めたものであるのが大半である。そのため、アプリケーション部2ではこれらのデータ形式の違いに対応できるプログラムをそれぞれ搭載している。
他の手法として、端末機器固有のファイルフォーマットを定義スキーマによりXMLデータに変換するものがある(例えば、特許文献1参照)。この文献では、変換の詳細は記載されていないため不明であるが、定義スキーマには処理モジュールのインタフェースの規定や処理手順が与えられている。
特開2007−122283号公報
端末機器が出力するバイナリデータは、データサイズを小さくするため、アプリケーション毎に独自のフォーマットを定めている。そのため、これを読込んで利用するアプリケーション部のプログラムもアプリケーション毎に作成されている。
フォーマットが単純(バイト値の単なる並び)であれば簡単な定義(名前とバイト位置を指定する)でデータを抽出することができるが、複雑な構造を持つ場合、例えばデータ出力内容が変化する、バイト列内にビット単位で複数のデータを格納する、繰返し構造がある場合、これらを個々に定義化して読込むのは難しいため、アプリケーション毎に読込むプログラムを作成しなければならない。
特許文献1の手法では、データフォーマットに関する定義は与えられておらず、複雑な構造を持つデータには対応していない。また、データ処理モジュールは機器データ毎に作成する必要がある。アプリケーション部側にはXMLデータベースを使用する必要があり、プログラムサイズが大きくなる恐れがある。
本発明の目的は、複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とによるシステム構築を容易にしたデータ処理システム、データ変換方法およびこの方法のプログラムを提供することにある。
本発明は、前記の課題を解決するため、複数形式のバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式(XMLやJSONなど)に変換するようにしたもので、以下のデータ処理システム、データ変換方法およびプログラムを特徴とする。
(システムの発明)
(1)複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とを備えたデータ処理システムにおいて、
前記端末機器からのバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換して前記アプリケーション部に出力するデータパーサを備えたことを特徴とする。
(1)複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とを備えたデータ処理システムにおいて、
前記端末機器からのバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換して前記アプリケーション部に出力するデータパーサを備えたことを特徴とする。
(2)前記データパーサのフォーマット定義は、バイナリデータのスタートマーク、エンドマーク、エスケープ、データの位置と名前、データ構造を表すための切り替え、ビットデータ、繰返しに対応できる手段を備えたことを特徴とする。
(3)前記端末機器はバイナリデータをネットワークを介して前記アプリケーション部に送り、該アプリケーション部はバイナリデータの受信部に搭載する前記データパーサでデータ変換するシステム構成を特徴とする。
(4)前記端末機器はバイナリデータをアプリケーション側のファイルシステムにファイルとして格納し、前記データパーサは前記ファイルシステムのバイナリデータを標準データ形式ファイルに変換し、前記アプリケーション部は前記ファイルシステムから標準データ形式ファイルを読むシステム構成を特徴とする。
(5)前記端末機器はバイナリデータをネットワークまたはファイルを介して前記データパーサに渡し、該データパーサは標準データ形式に変換した後にデータベースに格納し、前記アプリケーション部は必要なときに前記データベースから標準データ形式のデータを読むシステム構成を特徴とする。
(方法の発明)
(6)複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とを備えたデータ処理システムにおけるデータ変換方法であって、
前記端末機器とアプリケーション部との間に介挿するデータパーサは、前記端末機器からのバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換して前記アプリケーション部に出力する手順を有することを特徴とする。
(6)複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とを備えたデータ処理システムにおけるデータ変換方法であって、
前記端末機器とアプリケーション部との間に介挿するデータパーサは、前記端末機器からのバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換して前記アプリケーション部に出力する手順を有することを特徴とする。
(7)前記データパーサのフォーマット定義は、バイナリデータのスタートマーク、エンドマーク、エスケープ、データの位置と名前、データ構造を表すための切り替え、ビットデータ、繰返しに対応できる手順を有することを特徴とする。
(プログラムの発明)
(8)上記(6)、(7)に記載のデータ変換方法における処理手順をコンピュータで実行可能に構成したことを特徴とする。
(8)上記(6)、(7)に記載のデータ変換方法における処理手順をコンピュータで実行可能に構成したことを特徴とする。
以上のとおり、本発明によれば、複数形式のバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式(XMLやJSONなど)に変換するようにしたため、複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とによるシステム構築を容易にしたデータ処理システム、データ変換方法になる。
具体的には、
(1)バイナリデータのフォーマット構造をフォーマット定義で与え、これに従いパーシングしてデータを抽出するため、バイナリデータをパーシングするプログラムを個別に作らなくても、フォーマット定義を与えるだけでさまざまな機器の出力データに対応させることができる。
(1)バイナリデータのフォーマット構造をフォーマット定義で与え、これに従いパーシングしてデータを抽出するため、バイナリデータをパーシングするプログラムを個別に作らなくても、フォーマット定義を与えるだけでさまざまな機器の出力データに対応させることができる。
(2)複雑な構造(切り替え、ビットデータ、繰返しなど)を持つデータ列も、再帰的構造を持つフォーマット定義とそれに対応したアルゴリズムにより、パーシングし、標準な形式(XMLやJSONなど)のデータに変換することができる。
(3)ネットワーク経由で受信したバイナリデータを直接標準データ形式に変換することにより、データを受信する度にアプリケーションが標準データ形式で処理することができる。
(4)機器が出力するデータをファイルシステム経由でバイナリデータファイルとして保存し、アプリケーションがファイルを読んで変換または変換したファイルを作成してそれを読むことにより、アプリケーションは必要なときに標準データ形式で処理することができる。
(5)機器が出力するデータを標準データ形式に変換し、データベースに保管することにより、アプリケーションは必要なときに標準データ形式のデータを標準的なインタフェースで処理することができる。
図1は、本発明の実施形態を示すシステム構成図である。端末機器1から出力するバイナリデータをアプリケーション2が取得して処理を実行するシステムにおいて、端末機器1からシリアル伝送されるバイナリデータを解析し、その中から必要なデータを抽出してXMLやJSON(Java(登録商標) Script Object Notation)などの標準データ形式に変換し、アプリケーション部2に出力するデータパーサ3を設ける。
データパーサ3は、端末機器1が出力するバイナリデータのフォーマット定義をXMLで与えて、これに従いデータをパーシングし、このパーシングした結果をXMLなどとして出力し、アプリケーションが利用しやすい形とする。このフォーマット定義としては、スタートマーク、エンドマーク、エスケープ(マークと同じデータ値を埋め込むための記法)、データの位置と名前の他に、データ構造を表すための切り替え(ある値によって使用する定義を切り替える)、ビットデータ(バイト列の塊をビット列で区切って複数のデータを埋め込む)、繰返し(あるバイト数毎に繰り返すデータ構造と繰返し数による、連続する繰り返すパターン)、によりほとんどのパターンに対応できる。
この構造は一般的なプログラム構造などと同等であり、木構造で表すことができるため、XMLを使用することにより表現することができる。バイナリデータをパーシングする処理では再帰的な手法を用いることによって木構造を効率的に処理することができる。
実際のデータをパーシングする部分では絶対位置やパーシング中の位置からの相対位置(ビットデータの場合はバイト群の中でのビット位置)と、バイト数(ビットデータの場合はビット数)、及びデータの名前を指定する。
与えられた名前をタグ名とするXMLデータとして出力する。切り替えの場合はその名前を指定し、それをタグ名とするタグで囲む。繰返しの場合は、繰返し単位の名前を指定し、それをタグ名とするタグで囲む。
これにより、定義に従ってバイナリデータをパーシングし、XMLやJSONなどの標準的なデータ構造に変換し、アプリケーション部においてデータを読む部分を共通的なものとして構築することができる。
図2はデータパーサ3の変換処理フローを示す。フォーマット定義は再帰的構造をもつXMLで与える。初めに開始マークと終了マークがバイト値で指定され、開始マークを受信したら続く終了マークまでのデータを有効とする。データにマークを使用したい場合は通常エスケープマークと続くデータ(元の値をXORなど何らかの加工をしたもの、または元の値毎に指定した値)で表現される。これによりあらかじめ開始マーク、終了マークを取り除き、エスケープ記法を展開して元のデータにしたものを扱うデータ列とし、このデータ列を解析してXML化し、出力にXMLを追加する(S1〜S5)。
データ列を解析してXML化する処理(S4)の詳細は(S11〜S28)になる。これら処理において、図1中に示すフォーマット定義での<data>要素がデータをパーシングする部分で、pos属性でバイト位置を、byte属性でバイト数を、テキスト要素でタグ名を指定している。pos属性が省略された場合は以前に読込んだ位置の次のバイトが指定される。
タグ名に<switch>要素がある場合、pos属性とbyte属性で切替えるためのデータを指定し、その値によって<case>子要素のvalue属性が等しい<case>要素の中が定義として使用される。<case>のdescription属性で指定した名前をタグ名とするタグで出力されるXMLを囲み、選択された定義を明確にすることもできる。<switch>要素に続く要素も定義として使用される。
<data>要素内に<subdata>要素がある場合(S13)は、<data>要素で指定されたバイト群を1つのビット列とみなして、<subdata>要素のbitpos属性で指定したビット位置からbit属性で指定したビット数分をデータとして抽出し(S17)、<subdata〉のテキスト要素でタグ名を指定する。
ここで定義として使用しているタグ名や属性名はこれに限る必要はなく、区別できれば何でも良い。
(具体例1)
図3にシステム構成例を示すように、機器1がバイナリデータをシリアルやTCPなどのネットワークを介してアプリケーション部2側に送る際に、アプリケーション側の受信部にデータパーサ3をフォーマット定義と共に搭載することにより、XMLやJSONなどの標準データ形式に変換してアプリケーションに渡す。この場合、アプリケーションは標準データ形式のデータを読めば済むため、フォーマットに依存しない。
図3にシステム構成例を示すように、機器1がバイナリデータをシリアルやTCPなどのネットワークを介してアプリケーション部2側に送る際に、アプリケーション側の受信部にデータパーサ3をフォーマット定義と共に搭載することにより、XMLやJSONなどの標準データ形式に変換してアプリケーションに渡す。この場合、アプリケーションは標準データ形式のデータを読めば済むため、フォーマットに依存しない。
(具体例2)
図4にシステム構成例を示すように、機器1がバイナリデータをアプリケーション側のファイルシステム4にファイルとして格納し、アプリケーション2がそのファイルを読む際に、アプリケーションのファイル読み込み部にデータパーサ3をフォーマット定義と共に搭載することにより、XMLやJSONなどの標準データ形式ファイルに変換してアプリケーションがそのファイルを読む。または、アプリケーション2がバイナリファイルを読み、標準データに変換して利用する。この場合、アプリケーション部は標準データ形式を読めば済むため、フォーマットに依存しない。
図4にシステム構成例を示すように、機器1がバイナリデータをアプリケーション側のファイルシステム4にファイルとして格納し、アプリケーション2がそのファイルを読む際に、アプリケーションのファイル読み込み部にデータパーサ3をフォーマット定義と共に搭載することにより、XMLやJSONなどの標準データ形式ファイルに変換してアプリケーションがそのファイルを読む。または、アプリケーション2がバイナリファイルを読み、標準データに変換して利用する。この場合、アプリケーション部は標準データ形式を読めば済むため、フォーマットに依存しない。
(具体例3)
図5にシステム構成例を示すように、機器1がバイナリデータをネットワークやファイルを介してデータパーサ3に渡し、データパーサ3が標準データ形式に変換した後に外部記憶装置としてのデータベース5に格納する。格納形式はXMLをXMLデータベースに格納したり、JSONをテキストとして関係データベースに格納したりできる。この場合、アプリケーション部は必要なときにデータベースから標準データ形式を読めば済むため、フォーマットに依存しない。
図5にシステム構成例を示すように、機器1がバイナリデータをネットワークやファイルを介してデータパーサ3に渡し、データパーサ3が標準データ形式に変換した後に外部記憶装置としてのデータベース5に格納する。格納形式はXMLをXMLデータベースに格納したり、JSONをテキストとして関係データベースに格納したりできる。この場合、アプリケーション部は必要なときにデータベースから標準データ形式を読めば済むため、フォーマットに依存しない。
なお、本発明は、図1、2等に示した方法の一部又は全部の処理機能をプログラムとして構成してコンピュータで実行可能にできる。
1 端末機器
2 アプリケーション部
3 データパーサ
4 ファイルシステム
5 データベース
2 アプリケーション部
3 データパーサ
4 ファイルシステム
5 データベース
Claims (8)
- 複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とを備えたデータ処理システムにおいて、
前記端末機器からのバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換して前記アプリケーション部に出力するデータパーサを備えたことを特徴とするデータ処理システム。 - 前記データパーサのフォーマット定義は、バイナリデータのスタートマーク、エンドマーク、エスケープ、データの位置と名前、データ構造を表すための切り替え、ビットデータ、繰返しに対応できる手段を備えたことを特徴とする請求項1に記載のデータ処理システム。
- 前記端末機器はバイナリデータをネットワークを介して前記アプリケーション部に送り、該アプリケーション部はバイナリデータの受信部に搭載する前記データパーサでデータ変換するシステム構成を特徴とする請求項1または2に記載のデータ処理システム。
- 前記端末機器はバイナリデータをアプリケーション側のファイルシステムにファイルとして格納し、前記データパーサは前記ファイルシステムのバイナリデータを標準データ形式ファイルに変換し、前記アプリケーション部は前記ファイルシステムから標準データ形式ファイルを読むシステム構成を特徴とする請求項1または2に記載のデータ処理システム。
- 前記端末機器はバイナリデータをネットワークまたはファイルを介して前記データパーサに渡し、該データパーサは標準データ形式に変換した後にデータベースに格納し、前記アプリケーション部は必要なときに前記データベースから標準データ形式のデータを読むシステム構成を特徴とする請求項1または2に記載のデータ処理システム。
- 複数形式のバイナリデータを出力する端末機器と、標準データ形式でデータ処理するアプリケーション部とを備えたデータ処理システムにおけるデータ変換方法であって、
前記端末機器とアプリケーション部との間に介挿するデータパーサは、前記端末機器からのバイナリデータを、再帰的構造を持つフォーマット定義を使用してパーシングし、名前を付けた標準データ形式に変換して前記アプリケーション部に出力する手順を有することを特徴とするデータ変換方法。 - 前記データパーサのフォーマット定義は、バイナリデータのスタートマーク、エンドマーク、エスケープ、データの位置と名前、データ構造を表すための切り替え、ビットデータ、繰返しに対応できる手順を有することを特徴とする請求項6に記載のデータ変換方法。
- 請求項6または7に記載のデータ変換方法における処理手順をコンピュータで実行可能に構成したことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008008844A JP2009169798A (ja) | 2008-01-18 | 2008-01-18 | データ処理システム、データ変換方法およびこの方法のプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008008844A JP2009169798A (ja) | 2008-01-18 | 2008-01-18 | データ処理システム、データ変換方法およびこの方法のプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009169798A true JP2009169798A (ja) | 2009-07-30 |
Family
ID=40970868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008008844A Pending JP2009169798A (ja) | 2008-01-18 | 2008-01-18 | データ処理システム、データ変換方法およびこの方法のプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009169798A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016190680A1 (ko) * | 2015-05-28 | 2016-12-01 | 현대중공업 주식회사 | 선박 데이터 통합 관리 방법 및 장치 |
CN110309007A (zh) * | 2019-07-02 | 2019-10-08 | 深圳市友华通信技术有限公司 | D-Bus的显示输出方法和装置 |
-
2008
- 2008-01-18 JP JP2008008844A patent/JP2009169798A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016190680A1 (ko) * | 2015-05-28 | 2016-12-01 | 현대중공업 주식회사 | 선박 데이터 통합 관리 방법 및 장치 |
KR20180004182A (ko) * | 2015-05-28 | 2018-01-10 | 현대중공업 주식회사 | 선박 데이터 통합 관리 방법 및 장치 |
CN107848617A (zh) * | 2015-05-28 | 2018-03-27 | 现代重工业株式会社 | 船舶数据综合管理方法和船舶数据综合管理设备 |
US11072403B2 (en) | 2015-05-28 | 2021-07-27 | Korea Shipbuilding & Offshore Engineering Co., Ltd. | Ship data consolidated management method and device |
KR102601511B1 (ko) * | 2015-05-28 | 2023-11-14 | 에이치디한국조선해양 주식회사 | 선박 데이터 통합 관리 방법 및 장치 |
CN110309007A (zh) * | 2019-07-02 | 2019-10-08 | 深圳市友华通信技术有限公司 | D-Bus的显示输出方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2419846C2 (ru) | Кодирование данных языка разметки | |
AU2002234715B2 (en) | Method for compressing/decompressing a structured document | |
US7954051B2 (en) | Methods and apparatus for converting markup language data to an intermediate representation | |
JP6191297B2 (ja) | Exiスキーマ・ドキュメント・エンコーディング | |
US20070112810A1 (en) | Method for compressing markup languages files, by replacing a long word with a shorter word | |
CN105354236B (zh) | 一种对账信息生成方法及系统 | |
CN103761095B (zh) | 一种生成通用的升级文件头部数据信息的方法 | |
US20080313291A1 (en) | Method and apparatus for encoding data | |
JP5325921B2 (ja) | デコーダコンパイラ、プログラムおよび通信機器 | |
US20080077601A1 (en) | Method, Apparatus and System for Transforming, Converting and Processing Messages Between Multiple Systems | |
JP2009169798A (ja) | データ処理システム、データ変換方法およびこの方法のプログラム | |
CN108153896B (zh) | 针对输入数据、输出数据的处理方法及装置 | |
JP2007128123A (ja) | 影響範囲抽出システム | |
US20070239818A1 (en) | Method, apparatus and system for transforming, converting and processing messages between multiple systems | |
JP2010067103A (ja) | プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム | |
US7769896B2 (en) | Method, apparatus and system for dispatching messages within a system | |
CN105793842B (zh) | 序列化消息之间的转换方法和装置 | |
US7925783B2 (en) | Transparent envelope for XML messages | |
CN116010147A (zh) | 异常处理表的生成方法、系统、电子设备及存储介质 | |
JP3985944B2 (ja) | ネットワーク装置およびプログラム | |
JP2007265197A (ja) | データ変換装置、データ変換方法、および、データ変換プログラム | |
JP2010282248A (ja) | プログラム言語解析実行プログラム | |
JP2004234405A (ja) | プロトコル符号化/復号化装置 | |
Carfizzi | Proposal of improvements for the digital covid-19 certificate | |
JP4830558B2 (ja) | 構造化文書符号化装置および構造化文書復号化装置 |