JP4473026B2 - データ交換計算機 - Google Patents

データ交換計算機 Download PDF

Info

Publication number
JP4473026B2
JP4473026B2 JP2004102321A JP2004102321A JP4473026B2 JP 4473026 B2 JP4473026 B2 JP 4473026B2 JP 2004102321 A JP2004102321 A JP 2004102321A JP 2004102321 A JP2004102321 A JP 2004102321A JP 4473026 B2 JP4473026 B2 JP 4473026B2
Authority
JP
Japan
Prior art keywords
data
data type
type
conversion
common
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.)
Expired - Lifetime
Application number
JP2004102321A
Other languages
English (en)
Other versions
JP2005285073A (ja
Inventor
修一 森川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004102321A priority Critical patent/JP4473026B2/ja
Publication of JP2005285073A publication Critical patent/JP2005285073A/ja
Application granted granted Critical
Publication of JP4473026B2 publication Critical patent/JP4473026B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、所定のデータ型を有するデータを、異なるデータ型を有するデータにデータ交換するデータ交換計算機、データ交換システム、及び、データ交換方法に関する。特に、上記所定のデータ型及び上記異なるデータ型に互換性のある共通データ型を用いてデータ交換を行うデータ交換計算機、データ交換システム、及び、データ交換方法に関する。
複数の異なるシステム間でデータの交換を行う際のデータ変換方式において、従来ではデータを交換するシステムの組合せ毎にデータ変換手順を定義することを回避するため、共通データ型を定義して、データベース毎にそれぞれのデータベースをアクセスする際に固有のデータ型のデータを共通データ型のデータにデータ交換する変換処理部を備えていた。例えば、アプリケーションプログラムの実行中に発生するデータベースへのアクセスを行う際に、データベースに記憶されているデータを変換処理部で共通データ型に変換してから、共通データ型に変換したデータをアプリケーションプログラムに渡していた(例えば、特許文献1)。
また、一度共通データ型に変換することによるオーバーヘッドを軽減するため、データ交換を行う個々のデータの組合せ毎に中間データを定義し、中間データへの変換規則から直接的な変換規則を導出する方法も提案されている(例えば、特許文献2)。
特開平6−67867号公報 特開2001−209562号公報
従来のデータ交換方式のうち共通データ型変換による方法では、変換元のデータを一度共通データ型に変換してから変換した共通データ型のデータをアプリケーションプログラムに渡していた。このため、アプリケーションプログラムの実行中にデータベースへのアクセスが発生する度にデータ交換を行うことになり、処理効率が悪いという問題点があった。また、データ交換の組合せ毎に中間データを定義する方法では、データ交換処理毎に中間データや変換規則を定義する必要があり、システムの汎用性・拡張性がないという問題点があった。
この発明は上記のような問題点を解決するためになされたもので、異なる複数システム間のデータ交換において、データ変換の処理効率を維持したまま、処理定義や管理を容易にして、汎用性・拡張性のある、効率的なデータ交換計算機、データ交換システム、データ交換方法を実現することを目的とする。
この発明に係るデータ交換計算機は、第1のデータ型のデータを入力して、入力したデータを上記第1のデータ型とは異なる第2のデータ型のデータにデータ交換して出力するデータ交換計算機において、上記第1のデータ型と第1のデータ型と互換性のある第1の共通データ型との対応を示す第1の対応情報と、上記第1のデータ型のデータを上記第1の共通データ型のデータに変換する第1の変換手順情報と、上記第2のデータ型と第2のデータ型と互換性のある第2の共通データ型との対応を示す第2の対応情報と、上記第2の共通データ型のデータを上記第2のデータ型のデータに変換する第2の変換手順情報とを記憶する型対応表と、上記第1の共通データ型のデータを上記第2の共通データ型のデータに変換する共通変換手順情報を記憶する共通変換情報記憶部と、上記第1のデータ型と第2のデータ型とを入力して、入力した第1のデータ型と第2のデータ型とを用いて上記型対応表を検索して、第1の対応情報と、第1の変換手順情報と、第2の対応情報と、第2の変換手順情報とを取得し、取得した第1の対応情報と第2の対応情報とを用いて上記共通変換情報記憶部を検索して、共通変換手順情報を取得し、第1の変換手順情報と第2の変換手順情報と、共通手順情報とを用いて、第1のデータ型のデータを第2のデータ型のデータに変換する処理の手順情報を生成する処理手順生成部と、上記処理手順生成部が生成した処理の手順情報を、上記第1の対応情報と第2の対応情報とに基づいて最適化する処理最適化部と、上記第1のデータ型と上記第1のデータ型のデータとを入力して、上記処理最適化部が最適化した処理の手順情報に従い、上記第1のデータ型のデータを上記第2のデータ型のデータにデータ交換して出力する処理実行部とを備えたことを特徴とする。
この発明のデータ交換計算機は、変換元のデータが有する第1のデータ型を第1の共通データ型のデータに変換する手順情報と、第1の共通データ型のデータを第2の共通データ型のデータに変換する手順情報と、第2の共通データ型のデータを第2のデータ型のデータへ変換する手順情報とを記憶して、これらの手順情報を用いて第1のデータ型のデータを第2のデータ型のデータに変換する。例えば、第2のデータ型のデータを使用できるアプリケーションプログラムを実行する場合、このアプリケーションプログラムを実行する前に、このデータ交換計算機によって第1のデータ型のデータを第2のデータ型のデータにデータ交換して記憶部に記憶させておけば、上記したアプリケーションプログラムは、記憶部に記憶した第2のデータ型のデータをアクセスして、処理を実行できる。このことは、アプリケーションプログラムがデータ交換を行いながら処理を実行する方式に比べて、処理効率がアップする効果がある。
また、データ交換を行う処理手順は最適化されているので、データ交換の処理効率がアップする効果がある。
さらに、データ交換を行うシステムの追加・変更については、第1の共通データ型及び第2の共通データ型を更新することで対応できるため、システムの構成に対する拡張性が得られるという効果がある。
実施の形態1.
この実施の形態では、データ交換計算機が、型対応表と、変換手順情報記憶部と、共通変換情報記憶部と、処理手順生成部と、処理最適化部と、処理実行部とを備えて、データ交換を行う一例を説明する。
図1は、この実施の形態のデータ交換システムの構成図である。図1において、データ交換システム100は、データ交換計算機1と、入力装置103と、表示装置109と、データベースシステム2と、データベースシステム3とを備えている。データベースシステム2とデータベースシステム3とは共に、データ交換計算機1によりアクセス可能なデータベースシステムである。データベースシステム2は、第1のデータ型のデータを記憶するデータ記憶部21と、第1のデータ型を定義する情報を記憶するデータ型記憶部22とを備える。データベースシステム3は、第2のデータ型のデータを記憶するデータ記憶部31と、第2のデータ型を定義する情報を記憶するデータ型記憶部32とを備える。データ交換計算機1は、登録部105、表示部107、処理手順生成部17、処理最適化部18、処理実行部19、データ型辞書記憶部11とを備える。処理手順生成部17、処理最適化部18、処理実行部19は、データ記憶部21に記憶されたデータを、データ記憶部31へ受け渡す処理を行うプログラムであり、プログラムは、データ交換計算機1の備えるメモリにロードされて、データ交換計算機1のオペレーティング・システム上で動作する。データ型辞書記憶部11は、データ型に関する定義情報を管理する。処理手順生成部17は、データ型辞書記憶部11に記憶された情報を基に、第1のデータ型のデータを第2のデータ型のデータに変換する処理の手順情報を生成する。処理最適化部18は、生成された処理の手順情報を最適化する。処理実行部19は、最適化された処理の手順情報に従って、第1のデータ型のデータを第2のデータ型のデータに変換して出力する。
データ型辞書記憶部11は、基本的なデータ操作命令が定義された操作命令群テーブル12と、データ交換計算機1を接続するシステム全体で共通に使用する共通データ型の情報を記憶する共通データ型テーブル13と、共通データ型間での変換手順情報を定義した共通変換情報記憶部である共通型変換テーブル14と、データ交換を行う各データベースシステムの固有データ型(第1のデータ型、第2のデータ型)と共通データ型(第1の共通データ型、第2の共通データ型)との対応付けを示す型対応表15と、固有データ型と共通データ型との間の変換手順情報を定義した変換手順情報記憶部である固有型変換テーブル16を備える。操作命令群テーブル12は、処理の基本単位となるデータ操作命令の集合である。共通型変換テーブル14と固有型変換テーブル16の変換手順情報は、操作命令群テーブル12に定義されたデータ操作命令の組合せにより定義され、処理実行部19はデータ操作命令に従って処理を行う。
入力装置103は、データ交換計算機1に接続された例えばキーボードやマウスや電子ペンである。ユーザは、データ型辞書記憶部11の備えるテーブルや表に登録する情報を、入力装置103を用いて入力する。登録部105は、入力装置103から入力された情報を、データ型辞書記憶部11の備えるテーブルや表に登録する。
表示装置109は、データ交換計算機1に接続された例えばディスプレイ装置である。表示部107は、データ型辞書記憶部11の備えるテーブルや表に登録された情報を取り出して、表示装置109に表示する。ユーザは、共通データ型テーブル13や固有型変換テーブル16に記憶された情報を表示部107によって取り出して、表示装置109に表示させて、表示させた情報を確認しながら型対応表15に設定する情報を作成する。型対応表15に設定する情報を作成する例については、他の実施の形態で説明する。この実施の形態では、データ型辞書記憶部11の備えるテーブルや表にすでに情報が設定されているものとして、データ交換計算機の動作を説明する。
図2は、操作命令群テーブル12に記憶されたデータ内容の一例を示す図である。
図2において、操作命令はデータ交換計算機1によって使用可能なコマンドである。コマンドの組み合わせによって新規に操作命令を追加できる。
図3は、共通データ型テーブル13に記憶されたデータ内容の一例を示す図である。図3において、内部形式に設定されたデータ型を示す情報が、第1の共通データ型や第2の共通データ型に対応する。共通データ型は複数ある。
図4は、固有型変換テーブル16に記憶されたデータ内容の一例を示す図である。図4において、変換手順が変換手順情報に対応する。第1のデータ型のデータを第1の共通データ型のデータに変換する手順情報、及び、第2の共通データ型のデータを第2のデータ型のデータに変換する手順情報は、図4の固有型変換テーブル16に記憶された交換手順から選択される。変換IDは、第1の変換手順の識別子、及び、第2の変換手順の識別子に対応する。
図5は、型対応表15に記憶されたデータ内容の一例を示す図である。図5において、DBはデータベースシステムを識別する識別子であり、「002」はデータベースシステム2を示す、「003」はデータベースシステム3を示す。この実施の形態の型対応表15は、1つの型対応表に複数のデータベースシステムに関する情報を記憶する。ただし、1つの型対応表に1つのデータベースシステムに関する情報を記憶させ、複数の型対応表を備えるようにしてもかまわない。型対応表15の名称は、データ型記憶部22や23に記憶された第1のデータ型や第2のデータ型を示す情報と対応する。また、データ型記憶部22や23に記憶されたデータ型を示す情報の定義順は、データ記憶部21や31に記憶されたデータの定義順と対応する。しかし、型対応表15の名称の設定順は、データ型記憶部22や32に記憶されたデータの並びと対応していても、対応していなくてもかまわない。例えば、データ型記憶部22に「varchar,int32,varchar」と設定されていたら、型対応表15には「varchar,int32,varchar」の順で設定するか、或いは、重複するデータ型「varchar」について2回目以降を省略して「varchar,int32」と設定する。共通型IDは、名称に設定したデータ型と対応する共通データ型を示す情報を設定する。図5の例では、共通データ型テーブル13に記憶された共通データ型のIDを設定している。しかし、共通型IDに共通データ型の内部形式を示す情報を設定してもかまわない。共通型変換IDは、第1のデータ型のデータを第1の共通データ型のデータに変換する手順情報の識別子を設定する。変換する手順情報は、固有型変換テーブル16に記憶した変換手順であり、変換手順に対応する変換IDを設定する。しかし、変換手順を設定してもかまわない。固有型変換IDは、第2の共通データ型のデータから第2のデータ型のデータに変換する手順情報の識別子を設定する。変換する手順情報は、固有型変換テーブル16に記憶した変換手順であり、変換手順に対応する変換IDを設定する。しかし、変換手順を設定してもかまわない。図1に示した例では、データベースシステム2、すなわちDB「002」は変換元のデータに関する情報であるため、型対応表15の固有型変換IDには情報を設定していなくてもいいが、所定のデータベースシステムのデータをデータベースシステム2のデータ型に変換することを想定して設定しておく。1度設定を行えば、いつでも使用することが出来る。同じように、型対応表15のDB「003」の共通型変換IDにも、データベースシステム3のデータを所定のデータベースシステムのデータ型に変換することを想定して設定しておく。
図6は、共通型変換テーブル14に記憶されたデータ内容の一例を示す図である。共通型変換テーブル14に記憶するデータの構成は、固有型変換テーブル16のデータの構成と基本的に同じである。共通型変換テーブル14が扱うデータ型が共通データ型である点が異なる。
次に動作について説明するが、説明にあたって、「固有データ型」は「第1のデータ型」及び「第2のデータ型」に該当し、「共通データ型」は「第1の共通データ型」及び「第2の共通データ型」に該当する。
データ交換システム100におけるデータベースシステム2からデータベースシステム3へのデータの受け渡し処理の流れを図7のフローチャートを用いて説明する。図7は本実施の形態のデータ交換手順を示すフローチャート図である。
まず処理手順生成部17によりステップ41からステップ44までの処理手順生成工程の処理が実行される。ステップ41で変換元と変換後の固有データ型を指定する情報を入力装置103から入力する。ここでは、データベースシステム2を変換元とする指定を入力し、データベースシステム3を変換後とする指定を入力する。すなわち、処理手順生成部17は、型対応表15からDBが「002」である情報を入力側とし、DBが「003」である情報を出力側とすることを認識する。または、入力装置103から変換元と変換後の固有データ型を指定する情報を入力するのではなく、例えば、プログラムのパラメータとして指定された変換元と変換後のデータベースシステムを識別する情報を処理手順生成部17が入力してもかまわない。処理手順生成部17は、データベースシステム2のデータ型記憶部22に記憶された固有データ型を示す情報を入力する。この固有データ型を示す情報は、型対応表15の名称と対応する情報である。処理手順生成部17は、型対応表15のDBが「002」であるものの名称を検索して、名称に設定された情報と入力した固有データ型を示す情報とが一致するレコードを取得する。取得したレコードから共通型IDと共通型変換IDとを取得する。取得した共通型変換IDを用いて、固有型変換テーブル16の変換IDを検索して、変換IDが共通型変換IDと一致するレコードから変換手順を取り出す。この取り出した変換手順は、固有データ型から共通データ型への変換を行う変換手順情報である。
ステップ42では、処理手順生成部17は、データベースシステム3のデータ型記憶部32に記憶された固有データ型を示す情報を入力する。この固有データ型を示す情報は、型対応表15の名称と対応する情報である。処理手順生成部17は、型対応表15のDBが「003」であるものの名称を検索して、名称が入力した固有データ型を示す情報と一致するレコードから共通型IDと固有型変換IDとを取得する。取得した固有型変換IDを用いて、固有型変換テーブル16の変換IDを検索して、変換IDが共通型変換IDと一致するレコードから変換手順を取り出す。この取り出した変換手順は、共通データ型から固有データ型への変換を行う変換手順情報である。
ステップ43ではステップ41で取得した共通型IDと、ステップ42で取得した共通型IDとを用いて、共通型変換テーブル14を検索する。ここで検索するのは、共通型変換テーブル14の入力側共通型IDがステップ41で取得した共通型IDと一致するとともに、共通型変換テーブル14の出力側共通型IDがステップ42で取得した共通型IDと一致するものを検索する。一致するレコードを検索できたら、そのレコードから変換手順を取得する。この取得した変換手順は、第1の共通データ型から第2の共通データ型への変換を行う変換手順情報である。
ステップ44ではステップ41、ステップ42、ステップ43で取り出した変換処理手順を順に組み合わせる。組み合わせることにより、データ記憶部21に記憶されたデータをデータ記憶部31へ記憶するデータにデータの型を変換するデータ変換処理手順を生成する。なお、ステップ41からステップ44までの処理は、データ交換するデータの項目の数だけ繰り返す。
次にステップ45(処理最適化工程)で処理最適化部18により、ステップ44で作成したデータ変換処理手順から冗長な処理や無駄な処理を探し出してそれらを取り除き、最適化を行う。そして、ステップ46(処理実行工程)で処理実行部19が、データ記憶部21に記憶されたデータを入力して、ステップ45で最適化されたデータ変換処理手順に従って、入力した第1のデータ型のデータを第2のデータ型のデータへデータ交換する処理を実行する。このとき、データ記憶部21に記憶されたデータの構成、例えば、データの格納順は、データ型記憶部22に記憶されているので、データ型記憶部22に記憶された情報に従う順序でデータ記憶部21に記憶されたデータを入力する。また、データ記憶部31に記憶するデータの構成、例えば、データの格納順は、データ型記憶部32に記憶されているので、データ型記憶部32に記憶された情報に従う順序でデータ交換したデータをデータ記憶部31に記憶する。
ここで、ステップ45の処理手順の最適化の動作を説明する。上記したように、ステップ45(処理最適化工程)では、処理最適化部18によって、ステップ44で作成したデータ変換処理手順から冗長な処理や無駄な処理を探し出してそれらを取り除き、最適化を行う。ここで、「冗長な処理」について説明する。「冗長な処理」とは、例えば「後の変換処理が前の変換処理を包含するような変換を行う」場合を指し、この場合には、処理最適化部18は、最適化の処理として、前の変換処理を取り除くことを行う。図8は、冗長な処理を包含する変換処理手順を説明する図である。図8の(1)〜(3)の変換処理手順は、例えば、データベースシステムAの可変長文字列型(長さ=10)をデータベースシステムBの固定長文字列型(長さ=20)に変換するときの変換処理手順を示している。ここで、(2)に注目する。(2)では固定長にするための空白パディングは、(3)でデータ長を拡張するための空白パディングがあるため、実際には処理を行う必要はない。すなわち、(3)の変換処理は(2)の変換処理を包含しているので、処理最適化部18は、(2)の変換処理を取り除いて、変換処理全体を最適化する。
次に、「無駄な処理」について説明する「無駄な処理」とは、例えば「変換で、互いの操作を打ち消すような処理を行う」場合を指し、この場合には、処理最適化部18は、最適化の処理として、互いの操作を打ち消すような処理を取り除くことを行う。例えば、共通データ型がbig endianの4byte整数で、データ交換をするデータベースシステムA,Bは両方ともlittle endianの場合、A→共通型→Bを単純に処理すると、little endian→big endian→little endianとわざわざ無駄なバイトオーダの変換が発生してしまう。この場合には、処理最適化部18は、直接A→Bの変換処理を行う。
図9は、無駄な処理を最適化する例を示す図であり、図9(a)は、最適化前の処理手順を示し、(b)は、最適化後の処理手順を示す。図9(a)の1〜4は、データベースシステム2のint32型のデータを、データベースシステム3のINTEGER型のデータに変換するステップ41〜44で作成される変換処理手順である。図9(a)の変換処理手順を処理最適化部18により最適化を行うと、図9(a)の2行目と3行目が互いの操作を打ち消すような無駄な処理であることが判断されて、図9(a)の2行目と3行目が取り除かれる。取り除かれた後の変換処理手順は、図9(b)の2行の変換処理手順になる。
図10は、冗長な処理を最適化する例を示す図であり、図10(a)は、最適化前の処理手順を示し、(b)は、最適化後の処理手順を示す。図10(a)の1〜6は、データベースシステム2のvarchar(10)型のデータを、データベースシステム3のCHARACTER(20)型のデータに変換するステップ41〜44で作成される変換処理手順である。図10(a)の変換処理手順を処理最適化部18により最適化を行うと、図10(a)の3行目の処理が4行目の処理に包含される冗長な処理であることが判断されて、図10(a)の3行目が取り除かれ、さらに図10(a)の4行目の処理手順が、「4:v=len(v,10,2) 共通型→CHARACTER変換(長さ)」から図10(b)の3行目のように「3:v=len(v,20) 共通型→CHARACTER変換(長さ)」に変更されて、図10(b)の変換処理手順になる。
処理最適化部18による冗長な処理を取り除いたり、無駄な処理を取り除いたりする最適化処理自体は、コンパイラの最適化手法等の公知の技術を適用することで実現する。
上記したデータ交換計算機は、データ交換を行うデータ型の種別が増えた場合にも、共通データ型の情報を追加することで対応できるようにする。このため、扱うデータ型の種別に対する拡張性がある。
さらに、上記したデータ交換計算機は、データ交換を行うデータベースシステムの追加・変更があった場合、追加・変更されたデータベースシステムと互換性のある共通データ型に更新することで対応できるようにする。このため、データベースシステムの構成に対する拡張性がある。
以上のように、この実施の形態で説明したデータ交換計算機、データ交換システム、データ交換方法は、以下の効果を奏する。まず、異なるデータベースシステム間のデータ交換が共通データ型を介して行われるので、交換するデータベースシステムの組合せ毎に変換処理を定義する必要がない。
また、変換処理はデータ交換を行う個々のシステムで実行するのではなく、データ交換システムで一括して行うため、不要な変換や冗長な処理を取り除き、処理の効率化を図れる。
また、データ交換を行うシステム間での直接の変換処理として実行されるため、データ交換を行うシステムの組合せ毎に変換処理を定義した場合と同等の処理の効率化が図れる。そして、共通データ型間でのデータ変換が行えるようになっているため、同一の共通データ型に対応していないデータの間でもデータの交換が行える。
さらに、固有データ型と共通データ型の対応関係を登録するため、同一データベースシステムであれば値の異なるデータが記憶されていても、改めて共通データ型との対応関係を定義する必要がない。そして、固有データ型と共通データ型の対応関係をデータ交換計算機で一元管理するため、データベースシステムをアクセスする個々のアプリケーションシステムでは、データ交換のための処理の仕組み(情報管理など)が必要ない。
実施の形態2.
この実施の形態では、型対応表に情報を登録することについて、動作の一例を説明する。なお、ユーザは、使用するデータベースシステムを想定して操作命令を作成し、作成した操作命令を登録部105によって操作命令群テーブル12(図2)に設定しているものとする。また、ユーザは、データ交換計算機が使用する共通データ型を想定して、共通データ型に関する情報を登録部105によって共通データ型テーブル13(図3)に設定しているものとする。また、ユーザは、第1の共通データ型のデータを第2の共通データ型のデータに変換する処理手順情報を操作命令群テーブル12に設定した操作命令を参照して作成し、作成した変換処理手順情報を登録部105による共通変換情報記憶工程によって共通型変換テーブル14(図6)に設定しているものとする。また、ユーザは、データ交換計算機が対応するデータベースシステムの固有データ型を想定して、固有データ型から共通データ型への変換処理手順情報と、共通データ型から固有データ型への変換処理手順情報とを、登録部105によって固有型変換テーブル16(図4)に設定しているものとする。
図11は、型対応表登録工程のフローチャート図である。登録部105は、図11の処理を実行して、型対応表を作成する。図11において、登録部105は固有データ型を入力させる(ステップ10)。例えば、固有データ型として図1のデータベースシステム2のデータ型記憶部22に記憶されているデータ型を示す情報(例えば図5の「名称」項目に設定されている「varchar」)とデータベースシステムを識別する情報(例えば図5の「DB」項目に設定されている「002」)とを入力する。
ステップ11では、登録部105は、表示部107により、共通データ型テーブル13に記憶された情報を取り出して表示装置109に表示させて、ユーザに共有データ型の情報を提供して、ステップ10で入力した固有データ型に対応させる共通データ型をユーザに設定させる。ここで設定させる共有データ型は、図3の「ID」項目の値であるものとする。
ステップ12では、登録部105は、表示部107により、固有型変換テーブル16に記憶された情報を取り出して表示装置109に表示させて、ユーザに変換手順情報を提供して、ステップ10で入力した固有データ型をステップ11で設定した共通データ型に変換する変換手順情報をユーザに設定させる。ここで設定させる変換手順情報は、図4の「変換ID」項目の値であるものとする。
ステップ13では、登録部105は、表示部107により、固有型変換テーブル16に記憶された情報を取り出して表示装置109に表示させて、ユーザに変換手順情報を提供して、ステップ11で設定した共通データ型をステップ10で入力した固有データ型に変換する変換手順情報をユーザに設定させる。ここで設定させる変換手順情報は、図4の「変換ID」項目の値であるものとする。データベースシステム2が入力側として使用される場合と、出力側として使用される場合とのいずれに場合にも型対応表が使用できるように、固有データ型→共通データ型と、共通データ型→固有データ型との変換手順情報を設定する。
ステップ14では、登録部105は、ステップ10〜ステップ13で設定させた情報を型対応表15に登録する。
ステップ15では、型対応表に登録するデータ型全てについて登録処理の終了を確認する。終了していない場合は、ステップ10から処理を繰り返す。
上記したステップ12、13では、変換手順の変換IDを設定していた。しかし、直接変換手順を設定してもかまわない。直接変換手順を設定すると、図7のステップ41と42で、変換手順を取得する際の変換IDから固有型変換テーブル16を検索する処理を省略できる。なお、型対応表15の「名称」と「共通型ID」とのそれぞれの項目の値が、対応情報である。
図11の説明では、データベースシステム2を対象に型対応表を作成したが、データベースシステム3も同様の手順で型対応表を作成できる。また、別のデータベースシステムについても、そのデータベースシステムのデータ型を定義した情報があれば、同様の手順で型対応表を作成できる。また、データ交換を行うデータ種別が増えた場合にも、共通データ型の情報を追加出来る。さらに、データ交換を行うシステムの追加・変更があった場合、追加・変更されたシステムに関する共通データ型との対応情報を更新することで対応できる。
この実施の形態のデータ交換計算機、データ交換システム、データ交換方法は、登録部によってユーザは容易に型対応表を作成できる効果がある。また、表示部によって登録された手順情報や共通型を提供されるので、その中から対応させるものを選択するだけで型対応表を作成できる効果がある。
実施の形態3.
以上の実施の形態1では、固有データ型と共通データ型の対応関係をデータ交換計算機1がデータ型辞書記憶部51によって管理するようにしたものであるが、この実施の形態では、データ交換を行うシステム毎に固有データ型と共通データ型の対応関係を管理する一例を示す。
図12は、実施の形態3のデータ交換システムの構成図である。図12において、データ交換システム100は、データ交換計算機5と、入力装置103と、表示装置109と、データベースシステム6と、データベースシステム7とを備えている。データベースシステム6とデータベースシステム7とは共に、データ交換計算機5によりアクセス可能なデータベースシステムである。データベースシステム6は、第1のデータ型のデータを記憶するデータ記憶部61と、第1のデータ型を定義する情報を記憶するデータ型記憶部65とを備える記憶部64を備える。さらに、データベースシステム6は、型対応表62と型変換テーブル63とを備える。データベースシステム7は、第2のデータ型のデータを記憶するデータ記憶部71と、第2のデータ型を定義する情報を記憶するデータ型記憶部75とを備える記憶部74を備える。さらに、型対応表72と型変換テーブル73とを備える。データ交換計算機5は、登録部105、表示部107、処理手順生成部55、処理最適化部56、処理実行部57、データ型辞書記憶部51とを備える。処理手順生成部55、処理最適化部56、処理実行部57は、データ記憶部61に記憶されたデータを、データ記憶部71へ受け渡す処理を行うプログラムであり、プログラムは、データ交換計算機5の備えるメモリにロードされて、データ交換計算機5のオペレーティング・システム上で動作する。データ型辞書記憶部51は、データ型に関する定義情報を管理する。処理手順生成部55は、データ型辞書記憶部51に記憶された情報を基に、第1のデータ型のデータを第2のデータ型のデータに変換する処理の手順情報を生成する。処理最適化部56は、生成された処理の手順情報を最適化する。処理実行部57は、最適化された処理の手順情報に従って、第1のデータ型のデータを第2のデータ型のデータに変換して出力する。
データベースシステム6は第1のデータ型のデータである入力元データを記憶するデータ記憶部61と、第1のデータ型と共通データ型の対応付けを示す型対応表62、第1のデータ型と共通データ型の変換手順を操作命令群テーブル52のデータ操作命令で定義した型変換テーブル63を備える。
データベースシステム7は第2のデータ型のデータである出力先データを記憶するデータ記憶部71と、第2のデータ型と共通データ型の対応付けを示す型対応表72、第2のデータ型と共通データ型の変換手順を操作命令群テーブル52のデータ操作命令で定義した型変換テーブル73を備える。
上記実施の形態1の図1のデータ交換システム100と図12のデータ交換システム100の構成要素の対応関係は、以下の通りである。なお、図1と図12の同一符号を付した要素については、同じ動作をするものである。処理手順生成部55は、処理手順生成部17と基本的には同じ動作をする。異なる動作については、図13を用いて説明する。処理最適化部56は、処理最適化部18と同じ動作をする。処理実行部57は、処理実行部19と同じ動作をする。操作命令群テーブル52は、操作命令群テーブル12と同様の情報を記憶する。共通データ型テーブル53は、共通データ型テーブル13と同様の情報を記憶する。共通型変換テーブル54は、共通型変換テーブル14と同様の情報を記憶する。データ記憶部61は、データ記憶部21と同様の情報を記憶する。データ型記憶部65は、データ型記憶部22と同様の情報を記憶する。すなわち、データベースシステム2とデータベースシステム6とは同一種別のデータ型を扱うデータベースシステムである。したがって、型対応表62は、型対応表15に記憶された情報のうち、データベースシステム2に関する情報を記憶する。また、型変換テーブル63は、固有型変換テーブル16に記憶した情報と同様の情報を記憶する。データ記憶部71は、データ記憶部31に記憶した情報と同様の情報を記憶する。データ型記憶部75は、データ型記憶部32に記憶した情報と同様の情報を記憶する。すなわち、データベースシステム7は、データベースシステム3と同じ種別のデータ型を扱うデータベースシステムである。このため、型対応表72は、型対応表15に記憶した情報のうち、データベースシステム3に関する情報を記憶する。型変換テーブル73は、固有型変換テーブル16に記憶した情報と同様の情報を記憶する。実施の形態1のデータ交換計算機1は、登録部105によって、データ型辞書記憶部11に型対応表15と固有型変換テーブル16とを記憶していた。実施の形態3のデータ交換計算機5は、それぞれのデータベースシステム6,7に型対応表と型変換テーブルを記憶する構成とした。このため、登録部105は、型対応表を生成する際に該当するデータベースシステムに型対応表を生成する。同様に、型変換テーブルについても、登録部105は、該当するデータベースシステムに生成する。型変換テーブル63と型変換テーブル73に記憶する変換処理手順情報は、同じ内容であっても、あるいは、自己が備えられているデータベースシステムで扱うデータ型に関係する変換処理手順情報を記憶するようにしてもかまわない。
次に動作について説明する。
データ交換計算機5におけるデータベースシステム6からデータベースシステム7へのデータの受け渡し処理の流れを図13のフローチャートを用いて説明する。図13は実施の形態3のデータ交換手順を示すフローチャート図である。
ステップ81からステップ86までの動作は、図7のステップ41からステップ46までの動作と基本的には同様である。図7と異なる点について、図13の動作を説明する。ステップ81では、処理手順生成部55は、入力側のデータベースシステム6から型対応表62と型変換テーブル63とを読み込んで、共通データ型とデータ変換手順情報とを取得する。また、ステップ82では、処理手順生成部55は、出力側のデータベースシステム7から型対応表72と型変換テーブル73とを読み込んで、共通データ型とデータ変換手順情報とを取得する。この点が図7のステップ41と42と異なる処理である。他の処理は図7と同様であるものとする。
以上のように、この実施の形態3では、以下の効果を奏する。まず、異なるシステム間のデータ交換が共通データ型を介して行われるので、交換するシステムの組合せ毎に変換処理を定義する必要がない。
また、変換処理はデータ交換を行う個々のシステムで実行するのではなく、データ交換システムで一括して行うため、不要な変換や冗長な処理を取り除き、処理の効率化を図れる。
さらに、データ交換を行うシステム間での直接の変換処理として実行されるため、データ交換を行うシステムの組合せ毎に変換処理を定義した場合と同等の処理の効率化が図れる。
そして、共通データ型間でのデータ変換が行えるようになっているため、同一の共通データ型に対応していないデータの間でもデータの交換が行える。
さらに、固有データ型と共通データ型の対応関係を登録するため、同一データベースシステムであれば異なるデータ値が記憶されていても、改めて共通データ型との対応関係を定義する必要がない。
そして、固有データ型と共通データ型の対応関係を個々のシステムで管理するため、情報の追加・更新処理が変更のあるシステムに閉じ、他のシステムに影響を与えない。
また、データ交換を行うデータ種別が増えた場合にも、共通データ型の情報を追加することで対応できるため、扱うデータ種別に対する拡張性がある。
さらに、データ交換を行うシステムの追加・変更があった場合、追加・変更されたデータベースシステムと互換性のある共通データ型に更新することで対応できるため、システム構成に対する拡張性がある。
実施の形態1のデータ交換システムの構成図である。 操作命令群テーブル12に記憶されたデータ内容の一例を示す図である。 共通データ型テーブル13に記憶されたデータ内容の一例を示す図である。 固有型変換テーブル16に記憶されたデータ内容の一例を示す図である。 型対応表15に記憶されたデータ内容の一例を示す図である。 共通型変換テーブル14に記憶されたデータ内容の一例を示す図である。 実施の形態1のデータ交換手順を示すフローチャート図である。 冗長な処理を包含する変換処理手順を説明する図である。 無駄な処理を最適化する例を示す図であり、(a)は最適化前の処理手順を示し、(b)は最適化後の処理手順を示す図である。 冗長な処理を最適化する例を示す図であり、(a)は最適化前の処理手順を示し、(b)は最適化後の処理手順を示す図である。 型対応表登録工程のフローチャート図である。 実施の形態3のデータ交換システムの構成図である。 実施の形態3のデータ交換手順を示すフローチャート図である。
符号の説明
1 データ交換計算機、2 データベースシステム、3 データベースシステム、5 データ交換計算機、6 データベースシステム、7 データベースシステム、11 データ型辞書記憶部、12 操作命令群テーブル、13 共通データ型テーブル、14 共通型変換テーブル、15 型対応表、16 固有型変換テーブル、17 処理手順生成部、18 処理最適化部、19 処理実行部、21 データ記憶部、22 データ型記憶部、31 データ記憶部、32 データ型記憶部、51 データ型辞書記憶部、52 操作命令群テーブル、53 共通データ型テーブル、54 共通型変換テーブル、55 処理手順生成部、56 処理最適化部、57 処理実行部、61 データ記憶部、62 型対応表、63 型変換テーブル、64 記憶部、65 データ型記憶部、71 データ記憶部、72 型対応表、73 型変換テーブル、74 記憶部、75 データ型記憶部、100 データ交換システム、103 入力装置、105 登録部、107 表示部、109 表示装置。

Claims (2)

  1. 第1のデータ型のデータを入力して、入力したデータを上記第1のデータ型とは異なる第2のデータ型のデータにデータ交換して出力するデータ交換計算機において、
    1のデータ型に対応させて、上記第1のデータ型と互換性のある第1の共通データ型の識別子と、第1のデータ型のデータを上記第1の共通データ型に変換する第1の変換手順の識別子と、2のデータ型に対応させて、上記第2のデータ型と互換性のある第2の共通データ型の識別子と、上記第2の共通データ型のデータを上記第2のデータ型のデータに変換する第2の変換手順の識別子と、を記憶する型対応表と、
    上記第1の変換手順の識別子と第1の変換手順を示す変換手順情報とを対応させて記憶するとともに、上記第2の変換手順の識別子と第2の変換手順を示す変換手順情報とを対応させて記憶する変換手順情報記憶部と、
    上記第1の共通データ型のデータを上記第2の共通データ型のデータに変換する共通変換手順情報を第1の共通データ型の識別子と第2の共通データ型の識別子とに対応させて記憶する共通手順情報記憶部と、
    上記第1のデータ型を示す情報と第2のデータ型を示す情報とを入力して、入力した第1のデータ型を示す情報と一致する第1のデータ型を上記型対応表を検索して取得し、取得した第1のデータ型に対応する上記第1の変換手順の識別子と第1の共通データ型の識別子とを上記型対応表から取得し、入力した第2のデータ型を示す情報と一致する第2のデータ型を上記型対応表を検索して取得し、取得した第2のデータ型に対応する上記第2の変換手順の識別子と第2の共通データ型の識別子とを上記型対応表から取得して、取得した第1の変換手順の識別子と第2の変換手順の識別子とを用いて上記変換手順情報記憶部を検索して、上記第1の変換手順の識別子に対応する変換手順情報と、上記第2の変換手順の識別子に対応する変換手順情報とを取得するとともに、上記取得した第1の共通データ型の識別子と第2の共通データ型の識別子とに対応する共通変換手順情報を、上記共通手順情報記憶部を検索し取得して、取得した第1の変換手順の識別子に対応する変換手順情報と、第2の変換手順の識別子に対応する変換手順情報と、共通変換手順情報とを用いて、第1のデータ型のデータを第1の共通データ型のデータに変換し、第1の共通データ型のデータを第2の共通データ型のデータに変換し、第2の共通データ型のデータを第2のデータ型のデータに変換することを順に行うことにより第1のデータ型のデータを第2のデータ型のデータに変換する処理の手順情報を生成する処理手順生成部と
    上記第1のデータ型と上記第1のデータ型のデータとを入力して、上記処理手順生成部が生成した処理の手順情報に従い、上記第1のデータ型のデータを、上記第2のデータ型のデータにデータ交換して出力する処理実行部とを備え
    上記型対応表は、
    上記第1の共通データ型の識別子として、上記第2のデータ型と互換性のない第1の共通データ型の識別子を記憶するとともに、
    上記第2の共通データ型の識別子として、上記第1のデータ型と互換性のない第2の共通データ型の識別子を記憶することを特徴とするデータ交換計算機。
  2. 上記処理手順生成部は、上記処理の手順情報として、処理を行う順番に複数の手順情報を有する処理の手順情報を生成し、
    上記処理手順生成部が生成した複数の手順情報のうち後に行う手順情報が先に行う手順情報を包含している場合には、上記複数の手順情報において先に行う手順情報を取り除くことと、上記処理手順生成部が生成した複数の手順情報のうち先に行う手順情報を実行した結果が後に行う手順情報を実行することにより打ち消される場合には、上記複数の手順情報から先に行う手順情報と後に行う手順情報とを取り除くこととの、少なくともいずれかを行い上記処理の手順情報を最適化する処理最適化部を備え、
    上記処理実行部は、上記処理最適化部が最適化した処理の手順情報に従い、上記第1のデータ型のデータを、上記第2のデータ型のデータにデータ交換して出力する
    ことを特徴とする請求項1記載のデータ交換計算機。
JP2004102321A 2004-03-31 2004-03-31 データ交換計算機 Expired - Lifetime JP4473026B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004102321A JP4473026B2 (ja) 2004-03-31 2004-03-31 データ交換計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004102321A JP4473026B2 (ja) 2004-03-31 2004-03-31 データ交換計算機

Publications (2)

Publication Number Publication Date
JP2005285073A JP2005285073A (ja) 2005-10-13
JP4473026B2 true JP4473026B2 (ja) 2010-06-02

Family

ID=35183339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004102321A Expired - Lifetime JP4473026B2 (ja) 2004-03-31 2004-03-31 データ交換計算機

Country Status (1)

Country Link
JP (1) JP4473026B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201874B2 (en) 2008-02-25 2015-12-01 Microsoft Technology Licensing, Llc Efficiently correlating nominally incompatible types
JP5375413B2 (ja) * 2009-07-30 2013-12-25 富士通株式会社 データ変換装置、データ変換方法、およびデータ変換プログラム
US8799299B2 (en) * 2010-05-27 2014-08-05 Microsoft Corporation Schema contracts for data integration

Also Published As

Publication number Publication date
JP2005285073A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
US9558239B2 (en) Relational query planning for non-relational data sources
JP2001209562A (ja) 変換規則導出システム
US7480661B2 (en) Query services for database system
JPWO2008102426A1 (ja) プログラマブルコントローラの周辺装置、置換方法およびプログラム
JPWO2013191275A1 (ja) 制御装置
JP4473026B2 (ja) データ交換計算機
JP2012164148A (ja) リバースエンジニアリング支援装置、リバースエンジニアリング支援方法及びそのプログラム
JP5794568B2 (ja) データ編集装置およびデータ編集方法
JP5275087B2 (ja) プログラム生成装置およびブロック線図生成装置
JP2021068365A (ja) 計算機システム及びデータの管理方法
JP2003186670A (ja) データベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラム
WO2015030016A1 (ja) 非構造化データ処理システム、非構造化データ処理方法および記録媒体
JP2003036269A (ja) 情報処理装置および情報処理方法並びにこの情報処理のプログラムが記録された記録媒体
JP2013143114A (ja) プログラム、情報処理装置およびアクセス支援方法
JP4693807B2 (ja) プログラム開発支援システム、方法及びプログラム
JP2001273178A (ja) データベース制御装置およびシステム
JP4120879B2 (ja) プログラム生成システム及び方法とそのプログラム
JP3637606B2 (ja) データ処理装置
JP2004334767A (ja) 情報処理方法、情報処理装置及び情報処理プログラム
WO2020230346A1 (ja) 文書処理プログラム及び情報処理装置
JPH06231181A (ja) 分散データベース制御方式
JP2003177923A (ja) ポーティング支援システムにおける予約語変換方法
JP5131585B2 (ja) データベース格納装置、データベース格納方法、データベース格納プログラム、データベース検索装置、データベース検索方法及びデータベース検索プログラム
JP3337717B2 (ja) データベース処理装置およびデータベース処理方法
JP2000357080A (ja) 版数管理装置、版数管理方法、プログラムを記録した記録媒体、情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091217

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: 20100302

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: 20100304

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150