(57)【要約】【課題】  従来は、第１のデータ型のデータを第２のデータ型のデータに変換する場合、個々のアプリケーションプログラムで変換を行っていたため、アプリケーションプログラムの処理効率が悪かった。【解決手段】  データ交換計算機１は、第１のデータ型のデータを第１の共通データ型のデータに変換する手順情報Ａと、第２の共通データ型のデータを第２のデータ型のデータに変換する手順情報Ｂと、第１の共通データ型のデータを第２の共通データ型のデータに変換する手順情報Ｃとを管理するデータ型辞書記憶部１１を備える。処理手順生成部１７は、データ型辞書記憶部１１が管理する手順情報Ａ，Ｂ，Ｃとから第１のデータ型のデータを第２のデータ型のデータに変換する手順情報を生成し、生成した手順情報を処理最適化部１８が最適化し、最適化した処理手順情報を処理実行部１９が実行して、データ交換を行う。【選択図】  図１
2005285073.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ型のデータを入力して、入力したデータを上記第１のデータ型とは異なる第２のデータ型のデータにデータ交換して出力するデータ交換計算機において、
上記第１のデータ型と第１のデータ型と互換性のある第１の共通データ型との対応を示す第１の対応情報と、上記第１のデータ型のデータを上記第１の共通データ型のデータに変換する第１の変換手順情報と、上記第２のデータ型と第２のデータ型と互換性のある第２の共通データ型との対応を示す第２の対応情報と、上記第２の共通データ型のデータを上記第２のデータ型のデータに変換する第２の変換手順情報とを記憶する型対応表と、
上記第１の共通データ型のデータを上記第２の共通データ型のデータに変換する共通変換手順情報を記憶する共通変換情報記憶部と、
上記第１のデータ型と第２のデータ型とを入力して、入力した第１のデータ型と第２のデータ型とを用いて上記型対応表を検索して、第１の対応情報と、第１の変換手順情報と、第２の対応情報と、第２の変換手順情報とを取得し、取得した第１の対応情報と第２の対応情報とを用いて上記共通変換情報記憶部を検索して、共通変換手順情報を取得し、第１の変換手順情報と第２の変換手順情報と、共通手順情報とを用いて、第１のデータ型のデータを第２のデータ型のデータに変換する処理の手順情報を生成する処理手順生成部と、
上記処理手順生成部が生成した処理の手順情報を、上記第１の対応情報と第２の対応情報とに基づいて最適化する処理最適化部と、
上記第１のデータ型と上記第１のデータ型のデータとを入力して、上記処理最適化部が最適化した処理の手順情報に従い、上記第１のデータ型のデータを上記第２のデータ型のデータにデータ交換して出力する処理実行部と
を備えたことを特徴とするデータ交換計算機。
【請求項２】
第１のデータ型のデータを入力して、入力したデータを上記第１のデータ型とは異なる第２のデータ型のデータにデータ交換して出力するデータ交換計算機において、
上記第１のデータ型に対応させて、上記第１のデータ型と互換性のある第１の共通データ型の識別子と、第１のデータ型のデータを上記第１の共通データ型に変換する第１の変換手順の識別子と、上記第２のデータ型に対応させて、上記第２のデータ型と互換性のある第２の共通データ型の識別子と、上記第２の共通データ型のデータを上記第２のデータ型のデータに変換する第２の変換手順の識別子と、を記憶する型対応表と、
上記第１の変換手順の識別子と第１の変換手順を示す変換手順情報と、上記第２の変換手順の識別子と第２の変換手順を示す変換手順情報とを記憶する変換手順情報記憶部と、
上記第１の共通データ型のデータを上記第２の共通データ型のデータに変換する共通変換手順情報を記憶する共通手順情報記憶部と、
上記第１のデータ型と第２のデータ型とを入力して、入力した第１のデータ型と第２のデータ型とを用いて、上記型対応表を検索して、上記第１の変換手順の識別子と第１の共通データ型と、上記第２の変換手順の識別子と第２の共通データ型とを取得して、取得した第１の変換手順の識別子と第２の変換手順の識別子とを用いて上記変換手順情報記憶部を検索して、上記第１の変換手順の識別子に対応する変換手順情報と、上記第２の変換手順の識別子に対応する変換手順情報とを取得するとともに、上記取得した第１の共通データ型と第２の共通データ型とを用いて、上記共通手順情報記憶部を検索して、共通変換手順情報を取得して、取得した第１の変換手順の識別子に対応する変換手順情報と、第２の変換手順の識別子に対応する変換手順情報と、共通変換手順情報とを用いて、第１のデータ型のデータを第２のデータ型のデータに変換する処理の手順情報を生成する処理手順生成部と、
上記処理手順生成部が生成した処理の手順情報を、上記第１の共通データ型と上記第２の共通データ型とに基づいて最適化する処理最適化部と、
上記第１のデータ型と上記第１のデータ型のデータとを入力して、上記処理最適化部が最適化した処理の手順情報に従い、上記第１のデータ型のデータを、上記第２のデータ型のデータにデータ交換して出力する処理実行部と
を備えたことを特徴とするデータ交換計算機。
【請求項３】
第１のデータベースシステムから第１のデータ型のデータを入力して、入力したデータを上記第１のデータ型とは異なる第２のデータ型のデータにデータ交換して第２のデータベースシステムに出力するデータ交換計算機を備えるデータ交換システムにおいて、
上記第１のデータベースシステムは、
上記第１のデータ型のデータと第１のデータ型とを記憶する第１のデータ記憶部と、
上記第１のデータ型と第１のデータ型と互換性のある第１の共通データ型との対応を示す第１の対応情報と、上記第１のデータ型のデータを上記第１の共通データ型のデータに変換する第１の変換手順情報とを記憶する第１の型対応表と
を備え、
上記第２のデータベースシステムは、
上記第２のデータ型のデータを記憶する第２のデータ記憶部と、
上記第２のデータ型と互換性のある第２の共通データ型との対応を示す第２の対応情報と、上記第２の共通データ型のデータを上記第２のデータ型のデータに変換する第２の変換手順情報とを記憶する第２の型対応表と
を備え、
上記データ交換計算機は、
上記第１の共通データ型のデータを上記第２の共通データ型のデータに変換する共通変換手順情報を記憶する共通変換情報記憶部と、
上記第１のデータベースシステムの第１の型対応表から第１の対応情報と第１の変換手順情報とを入力し、上記第２のデータベースシステムの第２の型対応表から第２の対応情報と第２の変換手順情報とを入力し、入力した第１の対応情報と第２の対応情報とを用いて上記共通変換情報記憶部を検索して、共通変換手順情報を取得し、第１の変換手順情報と第２の変換手順情報と、共通手順情報とを用いて、第１のデータ型のデータを第２のデータ型のデータに変換する処理の手順情報を生成する処理手順生成部と、
上記処理手順生成部が生成した処理の手順情報を、上記第１の対応情報と第２の対応情報とに基づいて最適化する処理最適化部と、
上記第１のデータベースシステムの第１のデータ記憶部から第１のデータ型と上記第１のデータ型のデータとを入力して、上記処理最適化部が最適化した処理の手順情報に従い、上記第１のデータ型のデータを上記第２のデータ型のデータにデータ交換して、データ交換したデータを上記第２のデータベースシステムの第２のデータ記憶部に出力する処理実行部とを備えた
ことを特徴とするデータ交換システム。
【請求項４】
第１のデータ型のデータを入力して、入力したデータを上記第１のデータ型とは異なる第２のデータ型のデータにデータ交換して出力するデータ交換方法において、
上記第１のデータ型と第１のデータ型と互換性のある第１の共通データ型との対応を示す第１の対応情報と、上記第１のデータ型のデータを上記第１の共通データ型のデータに変換する第１の変換手順情報と、上記第２のデータ型と第２のデータ型と互換性のある第２の共通データ型との対応を示す第２の対応情報と、上記第２の共通データ型のデータを上記第２のデータ型のデータに変換する第２の変換手順情報とを型対応表に記憶する型対応表記憶工程と、
上記第１の共通データ型のデータを上記第２の共通データ型のデータに変換する共通変換手順情報を共通変換情報記憶部に記憶する共通変換情報記憶工程と、
上記第１のデータ型と第２のデータ型とを入力して、入力した第１のデータ型と第２のデータ型とを用いて上記型対応表記憶工程により記憶した型対応表を検索して、第１の対応情報と、第１の変換手順情報と、第２の対応情報と、第２の変換手順情報とを取得し、取得した第１の対応情報と第２の対応情報とを用いて上記共通変換情報記憶工程により記憶した共通変換情報記憶部を検索して、共通変換手順情報を取得し、第１の変換手順情報と第２の変換手順情報と、共通手順情報とを用いて、第１のデータ型のデータを第２のデータ型のデータに変換する処理の手順情報を生成する処理手順生成工程と、
上記処理手順生成工程により生成した処理の手順情報を、上記第１の対応情報と第２の対応情報とに基づいて最適化する処理最適化工程と、
上記第１のデータ型と上記第１のデータ型のデータとを入力して、上記処理最適化工程により最適化した処理の手順情報に従い、上記第１のデータ型のデータを上記第２のデータ型のデータにデータ交換して出力する処理実行工程と
を有することを特徴とするデータ交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定のデータ型を有するデータを、異なるデータ型を有するデータにデータ交換するデータ交換計算機、データ交換システム、及び、データ交換方法に関する。特に、上記所定のデータ型及び上記異なるデータ型に互換性のある共通データ型を用いてデータ交換を行うデータ交換計算機、データ交換システム、及び、データ交換方法に関する。
【背景技術】
【０００２】
複数の異なるシステム間でデータの交換を行う際のデータ変換方式において、従来ではデータを交換するシステムの組合せ毎にデータ変換手順を定義することを回避するため、共通データ型を定義して、データベース毎にそれぞれのデータベースをアクセスする際に固有のデータ型のデータを共通データ型のデータにデータ交換する変換処理部を備えていた。例えば、アプリケーションプログラムの実行中に発生するデータベースへのアクセスを行う際に、データベースに記憶されているデータを変換処理部で共通データ型に変換してから、共通データ型に変換したデータをアプリケーションプログラムに渡していた（例えば、特許文献１）。
【０００３】
また、一度共通データ型に変換することによるオーバーヘッドを軽減するため、データ交換を行う個々のデータの組合せ毎に中間データを定義し、中間データへの変換規則から直接的な変換規則を導出する方法も提案されている（例えば、特許文献２）。
【特許文献１】特開平６−６７８６７号公報
【特許文献２】特開２００１−２０９５６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のデータ交換方式のうち共通データ型変換による方法では、変換元のデータを一度共通データ型に変換してから変換した共通データ型のデータをアプリケーションプログラムに渡していた。このため、アプリケーションプログラムの実行中にデータベースへのアクセスが発生する度にデータ交換を行うことになり、処理効率が悪いという問題点があった。また、データ交換の組合せ毎に中間データを定義する方法では、データ交換処理毎に中間データや変換規則を定義する必要があり、システムの汎用性・拡張性がないという問題点があった。
【０００５】
この発明は上記のような問題点を解決するためになされたもので、異なる複数システム間のデータ交換において、データ変換の処理効率を維持したまま、処理定義や管理を容易にして、汎用性・拡張性のある、効率的なデータ交換計算機、データ交換システム、データ交換方法を実現することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るデータ交換計算機は、第１のデータ型のデータを入力して、入力したデータを上記第１のデータ型とは異なる第２のデータ型のデータにデータ交換して出力するデータ交換計算機において、上記第１のデータ型と第１のデータ型と互換性のある第１の共通データ型との対応を示す第１の対応情報と、上記第１のデータ型のデータを上記第１の共通データ型のデータに変換する第１の変換手順情報と、上記第２のデータ型と第２のデータ型と互換性のある第２の共通データ型との対応を示す第２の対応情報と、上記第２の共通データ型のデータを上記第２のデータ型のデータに変換する第２の変換手順情報とを記憶する型対応表と、上記第１の共通データ型のデータを上記第２の共通データ型のデータに変換する共通変換手順情報を記憶する共通変換情報記憶部と、上記第１のデータ型と第２のデータ型とを入力して、入力した第１のデータ型と第２のデータ型とを用いて上記型対応表を検索して、第１の対応情報と、第１の変換手順情報と、第２の対応情報と、第２の変換手順情報とを取得し、取得した第１の対応情報と第２の対応情報とを用いて上記共通変換情報記憶部を検索して、共通変換手順情報を取得し、第１の変換手順情報と第２の変換手順情報と、共通手順情報とを用いて、第１のデータ型のデータを第２のデータ型のデータに変換する処理の手順情報を生成する処理手順生成部と、上記処理手順生成部が生成した処理の手順情報を、上記第１の対応情報と第２の対応情報とに基づいて最適化する処理最適化部と、上記第１のデータ型と上記第１のデータ型のデータとを入力して、上記処理最適化部が最適化した処理の手順情報に従い、上記第１のデータ型のデータを上記第２のデータ型のデータにデータ交換して出力する処理実行部とを備えたことを特徴とする。
【発明の効果】
【０００７】
この発明のデータ交換計算機は、変換元のデータが有する第１のデータ型を第１の共通データ型のデータに変換する手順情報と、第１の共通データ型のデータを第２の共通データ型のデータに変換する手順情報と、第２の共通データ型のデータを第２のデータ型のデータへ変換する手順情報とを記憶して、これらの手順情報を用いて第１のデータ型のデータを第２のデータ型のデータに変換する。例えば、第２のデータ型のデータを使用できるアプリケーションプログラムを実行する場合、このアプリケーションプログラムを実行する前に、このデータ交換計算機によって第１のデータ型のデータを第２のデータ型のデータにデータ交換して記憶部に記憶させておけば、上記したアプリケーションプログラムは、記憶部に記憶した第２のデータ型のデータをアクセスして、処理を実行できる。このことは、アプリケーションプログラムがデータ交換を行いながら処理を実行する方式に比べて、処理効率がアップする効果がある。
【０００８】
また、データ交換を行う処理手順は最適化されているので、データ交換の処理効率がアップする効果がある。
【０００９】
さらに、データ交換を行うシステムの追加・変更については、第１の共通データ型及び第２の共通データ型を更新することで対応できるため、システムの構成に対する拡張性が得られるという効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
この実施の形態では、データ交換計算機が、型対応表と、変換手順情報記憶部と、共通変換情報記憶部と、処理手順生成部と、処理最適化部と、処理実行部とを備えて、データ交換を行う一例を説明する。
【００１１】
図１は、この実施の形態のデータ交換システムの構成図である。図１において、データ交換システム１００は、データ交換計算機１と、入力装置１０３と、表示装置１０９と、データベースシステム２と、データベースシステム３とを備えている。データベースシステム２とデータベースシステム３とは共に、データ交換計算機１によりアクセス可能なデータベースシステムである。データベースシステム２は、第１のデータ型のデータを記憶するデータ記憶部２１と、第１のデータ型を定義する情報を記憶するデータ型記憶部２２とを備える。データベースシステム３は、第２のデータ型のデータを記憶するデータ記憶部３１と、第２のデータ型を定義する情報を記憶するデータ型記憶部３２とを備える。データ交換計算機１は、登録部１０５、表示部１０７、処理手順生成部１７、処理最適化部１８、処理実行部１９、データ型辞書記憶部１１とを備える。処理手順生成部１７、処理最適化部１８、処理実行部１９は、データ記憶部２１に記憶されたデータを、データ記憶部３１へ受け渡す処理を行うプログラムであり、プログラムは、データ交換計算機１の備えるメモリにロードされて、データ交換計算機１のオペレーティング・システム上で動作する。データ型辞書記憶部１１は、データ型に関する定義情報を管理する。処理手順生成部１７は、データ型辞書記憶部１１に記憶された情報を基に、第１のデータ型のデータを第２のデータ型のデータに変換する処理の手順情報を生成する。処理最適化部１８は、生成された処理の手順情報を最適化する。処理実行部１９は、最適化された処理の手順情報に従って、第１のデータ型のデータを第２のデータ型のデータに変換して出力する。
【００１２】
データ型辞書記憶部１１は、基本的なデータ操作命令が定義された操作命令群テーブル１２と、データ交換計算機１を接続するシステム全体で共通に使用する共通データ型の情報を記憶する共通データ型テーブル１３と、共通データ型間での変換手順情報を定義した共通変換情報記憶部である共通型変換テーブル１４と、データ交換を行う各データベースシステムの固有データ型（第１のデータ型、第２のデータ型）と共通データ型（第１の共通データ型、第２の共通データ型）との対応付けを示す型対応表１５と、固有データ型と共通データ型との間の変換手順情報を定義した変換手順情報記憶部である固有型変換テーブル１６を備える。操作命令群テーブル１２は、処理の基本単位となるデータ操作命令の集合である。共通型変換テーブル１４と固有型変換テーブル１６の変換手順情報は、操作命令群テーブル１２に定義されたデータ操作命令の組合せにより定義され、処理実行部１９はデータ操作命令に従って処理を行う。
【００１３】
入力装置１０３は、データ交換計算機１に接続された例えばキーボードやマウスや電子ペンである。ユーザは、データ型辞書記憶部１１の備えるテーブルや表に登録する情報を、入力装置１０３を用いて入力する。登録部１０５は、入力装置１０３から入力された情報を、データ型辞書記憶部１１の備えるテーブルや表に登録する。
【００１４】
表示装置１０９は、データ交換計算機１に接続された例えばディスプレイ装置である。表示部１０７は、データ型辞書記憶部１１の備えるテーブルや表に登録された情報を取り出して、表示装置１０９に表示する。ユーザは、共通データ型テーブル１３や固有型変換テーブル１６に記憶された情報を表示部１０７によって取り出して、表示装置１０９に表示させて、表示させた情報を確認しながら型対応表１５に設定する情報を作成する。型対応表１５に設定する情報を作成する例については、他の実施の形態で説明する。この実施の形態では、データ型辞書記憶部１１の備えるテーブルや表にすでに情報が設定されているものとして、データ交換計算機の動作を説明する。
【００１５】
図２は、操作命令群テーブル１２に記憶されたデータ内容の一例を示す図である。
図２において、操作命令はデータ交換計算機１によって使用可能なコマンドである。コマンドの組み合わせによって新規に操作命令を追加できる。
【００１６】
図３は、共通データ型テーブル１３に記憶されたデータ内容の一例を示す図である。図３において、内部形式に設定されたデータ型を示す情報が、第１の共通データ型や第２の共通データ型に対応する。共通データ型は複数ある。
【００１７】
図４は、固有型変換テーブル１６に記憶されたデータ内容の一例を示す図である。図４において、変換手順が変換手順情報に対応する。第１のデータ型のデータを第１の共通データ型のデータに変換する手順情報、及び、第２の共通データ型のデータを第２のデータ型のデータに変換する手順情報は、図４の固有型変換テーブル１６に記憶された交換手順から選択される。変換ＩＤは、第１の変換手順の識別子、及び、第２の変換手順の識別子に対応する。
【００１８】
図５は、型対応表１５に記憶されたデータ内容の一例を示す図である。図５において、ＤＢはデータベースシステムを識別する識別子であり、「００２」はデータベースシステム２を示す、「００３」はデータベースシステム３を示す。この実施の形態の型対応表１５は、１つの型対応表に複数のデータベースシステムに関する情報を記憶する。ただし、１つの型対応表に１つのデータベースシステムに関する情報を記憶させ、複数の型対応表を備えるようにしてもかまわない。型対応表１５の名称は、データ型記憶部２２や２３に記憶された第１のデータ型や第２のデータ型を示す情報と対応する。また、データ型記憶部２２や２３に記憶されたデータ型を示す情報の定義順は、データ記憶部２１や３１に記憶されたデータの定義順と対応する。しかし、型対応表１５の名称の設定順は、データ型記憶部２２や３２に記憶されたデータの並びと対応していても、対応していなくてもかまわない。例えば、データ型記憶部２２に「ｖａｒｃｈａｒ，ｉｎｔ３２，ｖａｒｃｈａｒ」と設定されていたら、型対応表１５には「ｖａｒｃｈａｒ，ｉｎｔ３２，ｖａｒｃｈａｒ」の順で設定するか、或いは、重複するデータ型「ｖａｒｃｈａｒ」について２回目以降を省略して「ｖａｒｃｈａｒ，ｉｎｔ３２」と設定する。共通型ＩＤは、名称に設定したデータ型と対応する共通データ型を示す情報を設定する。図５の例では、共通データ型テーブル１３に記憶された共通データ型のＩＤを設定している。しかし、共通型ＩＤに共通データ型の内部形式を示す情報を設定してもかまわない。共通型変換ＩＤは、第１のデータ型のデータを第１の共通データ型のデータに変換する手順情報の識別子を設定する。変換する手順情報は、固有型変換テーブル１６に記憶した変換手順であり、変換手順に対応する変換ＩＤを設定する。しかし、変換手順を設定してもかまわない。固有型変換ＩＤは、第２の共通データ型のデータから第２のデータ型のデータに変換する手順情報の識別子を設定する。変換する手順情報は、固有型変換テーブル１６に記憶した変換手順であり、変換手順に対応する変換ＩＤを設定する。しかし、変換手順を設定してもかまわない。図１に示した例では、データベースシステム２、すなわちＤＢ「００２」は変換元のデータに関する情報であるため、型対応表１５の固有型変換ＩＤには情報を設定していなくてもいいが、所定のデータベースシステムのデータをデータベースシステム２のデータ型に変換することを想定して設定しておく。１度設定を行えば、いつでも使用することが出来る。同じように、型対応表１５のＤＢ「００３」の共通型変換ＩＤにも、データベースシステム３のデータを所定のデータベースシステムのデータ型に変換することを想定して設定しておく。
【００１９】
図６は、共通型変換テーブル１４に記憶されたデータ内容の一例を示す図である。共通型変換テーブル１４に記憶するデータの構成は、固有型変換テーブル１６のデータの構成と基本的に同じである。共通型変換テーブル１４が扱うデータ型が共通データ型である点が異なる。
【００２０】
次に動作について説明するが、説明にあたって、「固有データ型」は「第１のデータ型」及び「第２のデータ型」に該当し、「共通データ型」は「第１の共通データ型」及び「第２の共通データ型」に該当する。
【００２１】
データ交換システム１００におけるデータベースシステム２からデータベースシステム３へのデータの受け渡し処理の流れを図７のフローチャートを用いて説明する。図７は本実施の形態のデータ交換手順を示すフローチャート図である。
【００２２】
まず処理手順生成部１７によりステップ４１からステップ４４までの処理手順生成工程の処理が実行される。ステップ４１で変換元と変換後の固有データ型を指定する情報を入力装置１０３から入力する。ここでは、データベースシステム２を変換元とする指定を入力し、データベースシステム３を変換後とする指定を入力する。すなわち、処理手順生成部１７は、型対応表１５からＤＢが「００２」である情報を入力側とし、ＤＢが「００３」である情報を出力側とすることを認識する。または、入力装置１０３から変換元と変換後の固有データ型を指定する情報を入力するのではなく、例えば、プログラムのパラメータとして指定された変換元と変換後のデータベースシステムを識別する情報を処理手順生成部１７が入力してもかまわない。処理手順生成部１７は、データベースシステム２のデータ型記憶部２２に記憶された固有データ型を示す情報を入力する。この固有データ型を示す情報は、型対応表１５の名称と対応する情報である。処理手順生成部１７は、型対応表１５のＤＢが「００２」であるものの名称を検索して、名称に設定された情報と入力した固有データ型を示す情報とが一致するレコードを取得する。取得したレコードから共通型ＩＤと共通型変換ＩＤとを取得する。取得した共通型変換ＩＤを用いて、固有型変換テーブル１６の変換ＩＤを検索して、変換ＩＤが共通型変換ＩＤと一致するレコードから変換手順を取り出す。この取り出した変換手順は、固有データ型から共通データ型への変換を行う変換手順情報である。
【００２３】
ステップ４２では、処理手順生成部１７は、データベースシステム３のデータ型記憶部３２に記憶された固有データ型を示す情報を入力する。この固有データ型を示す情報は、型対応表１５の名称と対応する情報である。処理手順生成部１７は、型対応表１５のＤＢが「００３」であるものの名称を検索して、名称が入力した固有データ型を示す情報と一致するレコードから共通型ＩＤと固有型変換ＩＤとを取得する。取得した固有型変換ＩＤを用いて、固有型変換テーブル１６の変換ＩＤを検索して、変換ＩＤが共通型変換ＩＤと一致するレコードから変換手順を取り出す。この取り出した変換手順は、共通データ型から固有データ型への変換を行う変換手順情報である。
【００２４】
ステップ４３ではステップ４１で取得した共通型ＩＤと、ステップ４２で取得した共通型ＩＤとを用いて、共通型変換テーブル１４を検索する。ここで検索するのは、共通型変換テーブル１４の入力側共通型ＩＤがステップ４１で取得した共通型ＩＤと一致するとともに、共通型変換テーブル１４の出力側共通型ＩＤがステップ４２で取得した共通型ＩＤと一致するものを検索する。一致するレコードを検索できたら、そのレコードから変換手順を取得する。この取得した変換手順は、第１の共通データ型から第２の共通データ型への変換を行う変換手順情報である。
【００２５】
ステップ４４ではステップ４１、ステップ４２、ステップ４３で取り出した変換処理手順を順に組み合わせる。組み合わせることにより、データ記憶部２１に記憶されたデータをデータ記憶部３１へ記憶するデータにデータの型を変換するデータ変換処理手順を生成する。なお、ステップ４１からステップ４４までの処理は、データ交換するデータの項目の数だけ繰り返す。
【００２６】
次にステップ４５（処理最適化工程）で処理最適化部１８により、ステップ４４で作成したデータ変換処理手順から冗長な処理や無駄な処理を探し出してそれらを取り除き、最適化を行う。そして、ステップ４６（処理実行工程）で処理実行部１９が、データ記憶部２１に記憶されたデータを入力して、ステップ４５で最適化されたデータ変換処理手順に従って、入力した第１のデータ型のデータを第２のデータ型のデータへデータ交換する処理を実行する。このとき、データ記憶部２１に記憶されたデータの構成、例えば、データの格納順は、データ型記憶部２２に記憶されているので、データ型記憶部２２に記憶された情報に従う順序でデータ記憶部２１に記憶されたデータを入力する。また、データ記憶部３１に記憶するデータの構成、例えば、データの格納順は、データ型記憶部３２に記憶されているので、データ型記憶部３２に記憶された情報に従う順序でデータ交換したデータをデータ記憶部３１に記憶する。
【００２７】
ここで、ステップ４５の処理手順の最適化の動作を説明する。上記したように、ステップ４５（処理最適化工程）では、処理最適化部１８によって、ステップ４４で作成したデータ変換処理手順から冗長な処理や無駄な処理を探し出してそれらを取り除き、最適化を行う。ここで、「冗長な処理」について説明する。「冗長な処理」とは、例えば「後の変換処理が前の変換処理を包含するような変換を行う」場合を指し、この場合には、処理最適化部１８は、最適化の処理として、前の変換処理を取り除くことを行う。図８は、冗長な処理を包含する変換処理手順を説明する図である。図８の（１）〜（３）の変換処理手順は、例えば、データベースシステムＡの可変長文字列型（長さ＝１０）をデータベースシステムＢの固定長文字列型（長さ＝２０）に変換するときの変換処理手順を示している。ここで、（２）に注目する。（２）では固定長にするための空白パディングは、（３）でデータ長を拡張するための空白パディングがあるため、実際には処理を行う必要はない。すなわち、（３）の変換処理は（２）の変換処理を包含しているので、処理最適化部１８は、（２）の変換処理を取り除いて、変換処理全体を最適化する。
【００２８】
次に、「無駄な処理」について説明する「無駄な処理」とは、例えば「変換で、互いの操作を打ち消すような処理を行う」場合を指し、この場合には、処理最適化部１８は、最適化の処理として、互いの操作を打ち消すような処理を取り除くことを行う。例えば、共通データ型がｂｉｇ  ｅｎｄｉａｎの４ｂｙｔｅ整数で、データ交換をするデータベースシステムＡ，Ｂは両方ともｌｉｔｔｌｅ  ｅｎｄｉａｎの場合、Ａ→共通型→Ｂを単純に処理すると、ｌｉｔｔｌｅ  ｅｎｄｉａｎ→ｂｉｇ  ｅｎｄｉａｎ→ｌｉｔｔｌｅ  ｅｎｄｉａｎとわざわざ無駄なバイトオーダの変換が発生してしまう。この場合には、処理最適化部１８は、直接Ａ→Ｂの変換処理を行う。
【００２９】
図９は、無駄な処理を最適化する例を示す図であり、図９（ａ）は、最適化前の処理手順を示し、（ｂ）は、最適化後の処理手順を示す。図９（ａ）の１〜４は、データベースシステム２のｉｎｔ３２型のデータを、データベースシステム３のＩＮＴＥＧＥＲ型のデータに変換するステップ４１〜４４で作成される変換処理手順である。図９（ａ）の変換処理手順を処理最適化部１８により最適化を行うと、図９（ａ）の２行目と３行目が互いの操作を打ち消すような無駄な処理であることが判断されて、図９（ａ）の２行目と３行目が取り除かれる。取り除かれた後の変換処理手順は、図９（ｂ）の２行の変換処理手順になる。
【００３０】
図１０は、冗長な処理を最適化する例を示す図であり、図１０（ａ）は、最適化前の処理手順を示し、（ｂ）は、最適化後の処理手順を示す。図１０（ａ）の１〜６は、データベースシステム２のｖａｒｃｈａｒ（１０）型のデータを、データベースシステム３のＣＨＡＲＡＣＴＥＲ（２０）型のデータに変換するステップ４１〜４４で作成される変換処理手順である。図１０（ａ）の変換処理手順を処理最適化部１８により最適化を行うと、図１０（ａ）の３行目の処理が４行目の処理に包含される冗長な処理であることが判断されて、図１０（ａ）の３行目が取り除かれ、さらに図１０（ａ）の４行目の処理手順が、「４：ｖ＝ｌｅｎ（ｖ，１０，２）  共通型→ＣＨＡＲＡＣＴＥＲ変換（長さ）」から図１０（ｂ）の３行目のように「３：ｖ＝ｌｅｎ（ｖ，２０）  共通型→ＣＨＡＲＡＣＴＥＲ変換（長さ）」に変更されて、図１０（ｂ）の変換処理手順になる。
【００３１】
処理最適化部１８による冗長な処理を取り除いたり、無駄な処理を取り除いたりする最適化処理自体は、コンパイラの最適化手法等の公知の技術を適用することで実現する。
【００３２】
上記したデータ交換計算機は、データ交換を行うデータ型の種別が増えた場合にも、共通データ型の情報を追加することで対応できるようにする。このため、扱うデータ型の種別に対する拡張性がある。
【００３３】
さらに、上記したデータ交換計算機は、データ交換を行うデータベースシステムの追加・変更があった場合、追加・変更されたデータベースシステムと互換性のある共通データ型に更新することで対応できるようにする。このため、データベースシステムの構成に対する拡張性がある。
【００３４】
以上のように、この実施の形態で説明したデータ交換計算機、データ交換システム、データ交換方法は、以下の効果を奏する。まず、異なるデータベースシステム間のデータ交換が共通データ型を介して行われるので、交換するデータベースシステムの組合せ毎に変換処理を定義する必要がない。
【００３５】
また、変換処理はデータ交換を行う個々のシステムで実行するのではなく、データ交換システムで一括して行うため、不要な変換や冗長な処理を取り除き、処理の効率化を図れる。
【００３６】
また、データ交換を行うシステム間での直接の変換処理として実行されるため、データ交換を行うシステムの組合せ毎に変換処理を定義した場合と同等の処理の効率化が図れる。そして、共通データ型間でのデータ変換が行えるようになっているため、同一の共通データ型に対応していないデータの間でもデータの交換が行える。
【００３７】
さらに、固有データ型と共通データ型の対応関係を登録するため、同一データベースシステムであれば値の異なるデータが記憶されていても、改めて共通データ型との対応関係を定義する必要がない。そして、固有データ型と共通データ型の対応関係をデータ交換計算機で一元管理するため、データベースシステムをアクセスする個々のアプリケーションシステムでは、データ交換のための処理の仕組み（情報管理など）が必要ない。
【００３８】
実施の形態２．
この実施の形態では、型対応表に情報を登録することについて、動作の一例を説明する。なお、ユーザは、使用するデータベースシステムを想定して操作命令を作成し、作成した操作命令を登録部１０５によって操作命令群テーブル１２（図２）に設定しているものとする。また、ユーザは、データ交換計算機が使用する共通データ型を想定して、共通データ型に関する情報を登録部１０５によって共通データ型テーブル１３（図３）に設定しているものとする。また、ユーザは、第１の共通データ型のデータを第２の共通データ型のデータに変換する処理手順情報を操作命令群テーブル１２に設定した操作命令を参照して作成し、作成した変換処理手順情報を登録部１０５による共通変換情報記憶工程によって共通型変換テーブル１４（図６）に設定しているものとする。また、ユーザは、データ交換計算機が対応するデータベースシステムの固有データ型を想定して、固有データ型から共通データ型への変換処理手順情報と、共通データ型から固有データ型への変換処理手順情報とを、登録部１０５によって固有型変換テーブル１６（図４）に設定しているものとする。
【００３９】
図１１は、型対応表登録工程のフローチャート図である。登録部１０５は、図１１の処理を実行して、型対応表を作成する。図１１において、登録部１０５は固有データ型を入力させる（ステップ１０）。例えば、固有データ型として図１のデータベースシステム２のデータ型記憶部２２に記憶されているデータ型を示す情報（例えば図５の「名称」項目に設定されている「ｖａｒｃｈａｒ」）とデータベースシステムを識別する情報（例えば図５の「ＤＢ」項目に設定されている「００２」）とを入力する。
【００４０】
ステップ１１では、登録部１０５は、表示部１０７により、共通データ型テーブル１３に記憶された情報を取り出して表示装置１０９に表示させて、ユーザに共有データ型の情報を提供して、ステップ１０で入力した固有データ型に対応させる共通データ型をユーザに設定させる。ここで設定させる共有データ型は、図３の「ＩＤ」項目の値であるものとする。
【００４１】
ステップ１２では、登録部１０５は、表示部１０７により、固有型変換テーブル１６に記憶された情報を取り出して表示装置１０９に表示させて、ユーザに変換手順情報を提供して、ステップ１０で入力した固有データ型をステップ１１で設定した共通データ型に変換する変換手順情報をユーザに設定させる。ここで設定させる変換手順情報は、図４の「変換ＩＤ」項目の値であるものとする。
【００４２】
ステップ１３では、登録部１０５は、表示部１０７により、固有型変換テーブル１６に記憶された情報を取り出して表示装置１０９に表示させて、ユーザに変換手順情報を提供して、ステップ１１で設定した共通データ型をステップ１０で入力した固有データ型に変換する変換手順情報をユーザに設定させる。ここで設定させる変換手順情報は、図４の「変換ＩＤ」項目の値であるものとする。データベースシステム２が入力側として使用される場合と、出力側として使用される場合とのいずれに場合にも型対応表が使用できるように、固有データ型→共通データ型と、共通データ型→固有データ型との変換手順情報を設定する。
【００４３】
ステップ１４では、登録部１０５は、ステップ１０〜ステップ１３で設定させた情報を型対応表１５に登録する。
【００４４】
ステップ１５では、型対応表に登録するデータ型全てについて登録処理の終了を確認する。終了していない場合は、ステップ１０から処理を繰り返す。
【００４５】
上記したステップ１２、１３では、変換手順の変換ＩＤを設定していた。しかし、直接変換手順を設定してもかまわない。直接変換手順を設定すると、図７のステップ４１と４２で、変換手順を取得する際の変換ＩＤから固有型変換テーブル１６を検索する処理を省略できる。なお、型対応表１５の「名称」と「共通型ＩＤ」とのそれぞれの項目の値が、対応情報である。
【００４６】
図１１の説明では、データベースシステム２を対象に型対応表を作成したが、データベースシステム３も同様の手順で型対応表を作成できる。また、別のデータベースシステムについても、そのデータベースシステムのデータ型を定義した情報があれば、同様の手順で型対応表を作成できる。また、データ交換を行うデータ種別が増えた場合にも、共通データ型の情報を追加出来る。さらに、データ交換を行うシステムの追加・変更があった場合、追加・変更されたシステムに関する共通データ型との対応情報を更新することで対応できる。
【００４７】
この実施の形態のデータ交換計算機、データ交換システム、データ交換方法は、登録部によってユーザは容易に型対応表を作成できる効果がある。また、表示部によって登録された手順情報や共通型を提供されるので、その中から対応させるものを選択するだけで型対応表を作成できる効果がある。
【００４８】
実施の形態３．
以上の実施の形態１では、固有データ型と共通データ型の対応関係をデータ交換計算機１がデータ型辞書記憶部５１によって管理するようにしたものであるが、この実施の形態では、データ交換を行うシステム毎に固有データ型と共通データ型の対応関係を管理する一例を示す。
【００４９】
図１２は、実施の形態３のデータ交換システムの構成図である。図１２において、データ交換システム１００は、データ交換計算機５と、入力装置１０３と、表示装置１０９と、データベースシステム６と、データベースシステム７とを備えている。データベースシステム６とデータベースシステム７とは共に、データ交換計算機５によりアクセス可能なデータベースシステムである。データベースシステム６は、第１のデータ型のデータを記憶するデータ記憶部６１と、第１のデータ型を定義する情報を記憶するデータ型記憶部６５とを備える記憶部６４を備える。さらに、データベースシステム６は、型対応表６２と型変換テーブル６３とを備える。データベースシステム７は、第２のデータ型のデータを記憶するデータ記憶部７１と、第２のデータ型を定義する情報を記憶するデータ型記憶部７５とを備える記憶部７４を備える。さらに、型対応表７２と型変換テーブル７３とを備える。データ交換計算機５は、登録部１０５、表示部１０７、処理手順生成部５５、処理最適化部５６、処理実行部５７、データ型辞書記憶部５１とを備える。処理手順生成部５５、処理最適化部５６、処理実行部５７は、データ記憶部６１に記憶されたデータを、データ記憶部７１へ受け渡す処理を行うプログラムであり、プログラムは、データ交換計算機５の備えるメモリにロードされて、データ交換計算機５のオペレーティング・システム上で動作する。データ型辞書記憶部５１は、データ型に関する定義情報を管理する。処理手順生成部５５は、データ型辞書記憶部５１に記憶された情報を基に、第１のデータ型のデータを第２のデータ型のデータに変換する処理の手順情報を生成する。処理最適化部５６は、生成された処理の手順情報を最適化する。処理実行部５７は、最適化された処理の手順情報に従って、第１のデータ型のデータを第２のデータ型のデータに変換して出力する。
【００５０】
データベースシステム６は第１のデータ型のデータである入力元データを記憶するデータ記憶部６１と、第１のデータ型と共通データ型の対応付けを示す型対応表６２、第１のデータ型と共通データ型の変換手順を操作命令群テーブル５２のデータ操作命令で定義した型変換テーブル６３を備える。
【００５１】
データベースシステム７は第２のデータ型のデータである出力先データを記憶するデータ記憶部７１と、第２のデータ型と共通データ型の対応付けを示す型対応表７２、第２のデータ型と共通データ型の変換手順を操作命令群テーブル５２のデータ操作命令で定義した型変換テーブル７３を備える。
【００５２】
上記実施の形態１の図１のデータ交換システム１００と図１２のデータ交換システム１００の構成要素の対応関係は、以下の通りである。なお、図１と図１２の同一符号を付した要素については、同じ動作をするものである。処理手順生成部５５は、処理手順生成部１７と基本的には同じ動作をする。異なる動作については、図１３を用いて説明する。処理最適化部５６は、処理最適化部１８と同じ動作をする。処理実行部５７は、処理実行部１９と同じ動作をする。操作命令群テーブル５２は、操作命令群テーブル１２と同様の情報を記憶する。共通データ型テーブル５３は、共通データ型テーブル１３と同様の情報を記憶する。共通型変換テーブル５４は、共通型変換テーブル１４と同様の情報を記憶する。データ記憶部６１は、データ記憶部２１と同様の情報を記憶する。データ型記憶部６５は、データ型記憶部２２と同様の情報を記憶する。すなわち、データベースシステム２とデータベースシステム６とは同一種別のデータ型を扱うデータベースシステムである。したがって、型対応表６２は、型対応表１５に記憶された情報のうち、データベースシステム２に関する情報を記憶する。また、型変換テーブル６３は、固有型変換テーブル１６に記憶した情報と同様の情報を記憶する。データ記憶部７１は、データ記憶部３１に記憶した情報と同様の情報を記憶する。データ型記憶部７５は、データ型記憶部３２に記憶した情報と同様の情報を記憶する。すなわち、データベースシステム７は、データベースシステム３と同じ種別のデータ型を扱うデータベースシステムである。このため、型対応表７２は、型対応表１５に記憶した情報のうち、データベースシステム３に関する情報を記憶する。型変換テーブル７３は、固有型変換テーブル１６に記憶した情報と同様の情報を記憶する。実施の形態１のデータ交換計算機１は、登録部１０５によって、データ型辞書記憶部１１に型対応表１５と固有型変換テーブル１６とを記憶していた。実施の形態３のデータ交換計算機５は、それぞれのデータベースシステム６，７に型対応表と型変換テーブルを記憶する構成とした。このため、登録部１０５は、型対応表を生成する際に該当するデータベースシステムに型対応表を生成する。同様に、型変換テーブルについても、登録部１０５は、該当するデータベースシステムに生成する。型変換テーブル６３と型変換テーブル７３に記憶する変換処理手順情報は、同じ内容であっても、あるいは、自己が備えられているデータベースシステムで扱うデータ型に関係する変換処理手順情報を記憶するようにしてもかまわない。
【００５３】
次に動作について説明する。
【００５４】
データ交換計算機５におけるデータベースシステム６からデータベースシステム７へのデータの受け渡し処理の流れを図１３のフローチャートを用いて説明する。図１３は実施の形態３のデータ交換手順を示すフローチャート図である。
【００５５】
ステップ８１からステップ８６までの動作は、図７のステップ４１からステップ４６までの動作と基本的には同様である。図７と異なる点について、図１３の動作を説明する。ステップ８１では、処理手順生成部５５は、入力側のデータベースシステム６から型対応表６２と型変換テーブル６３とを読み込んで、共通データ型とデータ変換手順情報とを取得する。また、ステップ８２では、処理手順生成部５５は、出力側のデータベースシステム７から型対応表７２と型変換テーブル７３とを読み込んで、共通データ型とデータ変換手順情報とを取得する。この点が図７のステップ４１と４２と異なる処理である。他の処理は図７と同様であるものとする。
【００５６】
以上のように、この実施の形態３では、以下の効果を奏する。まず、異なるシステム間のデータ交換が共通データ型を介して行われるので、交換するシステムの組合せ毎に変換処理を定義する必要がない。
【００５７】
また、変換処理はデータ交換を行う個々のシステムで実行するのではなく、データ交換システムで一括して行うため、不要な変換や冗長な処理を取り除き、処理の効率化を図れる。
【００５８】
さらに、データ交換を行うシステム間での直接の変換処理として実行されるため、データ交換を行うシステムの組合せ毎に変換処理を定義した場合と同等の処理の効率化が図れる。
【００５９】
そして、共通データ型間でのデータ変換が行えるようになっているため、同一の共通データ型に対応していないデータの間でもデータの交換が行える。
【００６０】
さらに、固有データ型と共通データ型の対応関係を登録するため、同一データベースシステムであれば異なるデータ値が記憶されていても、改めて共通データ型との対応関係を定義する必要がない。
【００６１】
そして、固有データ型と共通データ型の対応関係を個々のシステムで管理するため、情報の追加・更新処理が変更のあるシステムに閉じ、他のシステムに影響を与えない。
【００６２】
また、データ交換を行うデータ種別が増えた場合にも、共通データ型の情報を追加することで対応できるため、扱うデータ種別に対する拡張性がある。
【００６３】
さらに、データ交換を行うシステムの追加・変更があった場合、追加・変更されたデータベースシステムと互換性のある共通データ型に更新することで対応できるため、システム構成に対する拡張性がある。
【図面の簡単な説明】
【００６４】
【図１】実施の形態１のデータ交換システムの構成図である。
【図２】操作命令群テーブル１２に記憶されたデータ内容の一例を示す図である。
【図３】共通データ型テーブル１３に記憶されたデータ内容の一例を示す図である。
【図４】固有型変換テーブル１６に記憶されたデータ内容の一例を示す図である。
【図５】型対応表１５に記憶されたデータ内容の一例を示す図である。
【図６】共通型変換テーブル１４に記憶されたデータ内容の一例を示す図である。
【図７】実施の形態１のデータ交換手順を示すフローチャート図である。
【図８】冗長な処理を包含する変換処理手順を説明する図である。
【図９】無駄な処理を最適化する例を示す図であり、（ａ）は最適化前の処理手順を示し、（ｂ）は最適化後の処理手順を示す図である。
【図１０】冗長な処理を最適化する例を示す図であり、（ａ）は最適化前の処理手順を示し、（ｂ）は最適化後の処理手順を示す図である。
【図１１】型対応表登録工程のフローチャート図である。
【図１２】実施の形態３のデータ交換システムの構成図である。
【図１３】実施の形態３のデータ交換手順を示すフローチャート図である。
【符号の説明】
【００６５】
１  データ交換計算機、２  データベースシステム、３  データベースシステム、５  データ交換計算機、６  データベースシステム、７  データベースシステム、１１  データ型辞書記憶部、１２  操作命令群テーブル、１３  共通データ型テーブル、１４  共通型変換テーブル、１５  型対応表、１６  固有型変換テーブル、１７  処理手順生成部、１８  処理最適化部、１９  処理実行部、２１  データ記憶部、２２  データ型記憶部、３１  データ記憶部、３２  データ型記憶部、５１  データ型辞書記憶部、５２  操作命令群テーブル、５３  共通データ型テーブル、５４  共通型変換テーブル、５５  処理手順生成部、５６  処理最適化部、５７  処理実行部、６１  データ記憶部、６２  型対応表、６３  型変換テーブル、６４  記憶部、６５  データ型記憶部、７１  データ記憶部、７２  型対応表、７３  型変換テーブル、７４  記憶部、７５  データ型記憶部、１００  データ交換システム、１０３  入力装置、１０５  登録部、１０７  表示部、１０９  表示装置。
【図１】
2005285073.tif 000003
【図２】
2005285073.tif 000004
【図３】
2005285073.tif 000005
【図４】
2005285073.tif 000006
【図５】
2005285073.tif 000007
【図６】
2005285073.tif 000008
【図７】
2005285073.tif 000009
【図８】
2005285073.tif 000010
【図９】
2005285073.tif 000011
【図１０】
2005285073.tif 000012
【図１１】
2005285073.tif 000013
【図１２】
2005285073.tif 000014
【図１３】
2005285073.tif 000015