(57)【要約】【課題】データベースのデータ変換にあたって、データ変換サーバの負荷を軽減し、かつ、データ変換ジョブの設計者にデータ変換ジョブを容易に設計できるようにする。【解決手段】データ変換のためのデータ変換ジョブを、データ変換サーバ上で変換処理を実行するためのデータ変換サーバジョブと、ストレージ装置上でテーブルの複製を指示するストレージジョブとに分離する。そして、ストレージジョブを実行して、ストレージ装置に対してテーブルの複製を指示し、必要なフィールドに対してのみ、データ変換サーバジョブを実行して、その複製された一方のテーブルに対してデータ変換をおこなうようにする。【選択図】        図１
2004185561.tif 000002
【特許請求の範囲】
【請求項１】
データベースのテーブルのデータを変換するためのデータ変換方法において、
データ変換のためのデータ変換ジョブを、データ変換サーバ上で変換処理を実行するためのデータ変換サーバジョブと、ストレージ上でテーブルの複製を指示するストレージジョブとに分離するステップと、
前記ストレージジョブを実行して、ストレージに対してテーブルの複製を指示するステップと、
前記データ変換サーバジョブを実行して、その複製された一方のテーブルに対してデータ変換をおこなうステップとを有することを特徴とするデータ変換方法。
【請求項２】
前記データ変換ジョブを、前記データ変換サーバジョブと前記ストレージジョブとに分離するステップで、
前記データベースのテーブルに対して、それが格納されているストレージ情報を結びつけるテーブルボリュームマッピング情報を参照して、前記テーブルの格納されているストレージ情報を前記ストレージジョブに関する情報に含めることを特徴とする請求項１記載のデータ変換方法。
【請求項３】
前記データ変換サーバジョブは、
変換するテーブルに対して、変換の必要のあるフィールドのみを抽出し、変換をおこなうことを特徴とする請求項１記載のデータ変換方法。
【請求項４】
前記データ変換サーバジョブは、
前記データベースのテーブルに対して、それが格納されているストレージ情報を結びつけるテーブルボリュームマッピング情報を参照することを特徴とする請求項１記載のデータ変換方法。
【請求項５】
データベースのテーブルを変換するためのデータベース変換サーバと、データベースを格納するストレージとを備える計算機システムにおいて、
前記データベース変換サーバは、前記データベースのテーブルに対して、それが格納されているストレージ情報を結びつけるテーブルボリュームマッピング情報を有し、
前記テーブルボリュームマッピング情報を参照して、データ変換のためのデータ変換ジョブを、データ変換サーバ上で変換処理を実行するためのデータ変換サーバジョブと、ストレージ上でテーブルの複製を指示するストレージジョブとに分離して、
前記ストレージジョブを実行し、テーブルの含まれるボリュームの複製を指示し、
前記データ変換サーバジョブを実行して、その複製された一方のテーブルに対してデータ変換をおこなうことを特徴とする計算機システム。
【請求項６】
データベースのテーブルを変換するためのデータベース変換サーバにおいて、
このデータベース変換サーバは、
データベースを格納するストレージと接続され、
データ変換のためのデータ変換ジョブ定義を、データ変換サーバ上で変換処理を実行するためのデータ変換サーバジョブ定義と、ストレージ上でテーブルの複製を指示するストレージジョブ定義とに分離して、
前記ストレージジョブ定義を、ジョブ実行エンジンに実行させることにより、前記ストレージに対してテーブルの複製を指示し、
前記データ変換サーバジョブ定義を、ジョブ実行エンジンに実行させることにより、その複製された一方のテーブルに対して、変換の必要のあるフィールドのみを抽出し、変換をおこなうことを特徴とするデータベース変換サーバ。
【請求項７】
前記データ変換ジョブ定義を、前記データ変換サーバジョブ定義と前記ストレージジョブ定義とに分離するときに、
前記データベースのテーブルに対して、それが格納されているストレージ情報を結びつけるテーブルボリュームマッピング情報を参照して、前記ストレージジョブ定義に、複製元のテーブルの格納されたボリュームと、複製先のテーブルの格納されたボリュームとを書き込むことを特徴とする請求項６記載のデータ変換サーバ。
【請求項８】
前記データ変換サーバジョブ定義に、前記データ変換サーバジョブ定義は、変換するテーブルに対して、変換の必要のあるフィールドを記述してあり、
そのフィールドの記述によって、前記複製された一方のテーブルに対して、変換の必要のあるフィールドのみを抽出し、変換をおこなうことを特徴とする請求項６記載のデータ変換サーバ。
【請求項９】
前記データ変換サーバジョブ定義を、ジョブ実行エンジンに実行させるときに、複製元のテーブルと複製先のテーブルを、前記データベースのテーブルに対して、それが格納されているストレージ情報を結びつけるテーブルボリュームマッピング情報を参照して、アクセスすることを特徴とする特徴とする請求項６記載のデータベース変換サーバ。
【請求項１０】
データベースのテーブルのデータを変換するためのデータ変換プログラムにおいて、
データ変換のためのデータ変換ジョブ定義を、データ変換サーバ上で変換処理を実行するためのデータ変換サーバジョブ定義と、ストレージ上でテーブルの複製を指示するストレージジョブ定義とに分離する機能と、
前記ストレージジョブ定義を、ジョブ実行エンジンに実行させることにより、ストレージに対してテーブルの複製を指示する機能と、
前記データ変換サーバジョブ定義を、ジョブ実行エンジンに実行させることにより、その複製された一方のテーブルに対してデータ変換をおこなう機能を実現させることを特徴とするデータ変換プログラム。
【請求項１１】
前記ストレージジョブ定義は、複製元のテーブルの格納されたボリュームと、複製先のテーブルの格納されたボリュームとが記述してあることを特徴とする請求項１０記載のデータ変換プログラム。
【請求項１２】
前記データ変換サーバジョブ定義は、変換するテーブルに対して、変換の必要のあるフィールドを記述してあることを特徴とする請求項１０記載のデータ変換プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ変換方法に係り、特に、大規模データベースに用いて好適であって、データ変換をおこなうサーバの負荷を軽減して、変換のためのプログラムの設計も容易なデータ変換方法に関する。
【０００２】
【従来の技術】
近年、データベースシステムは、ますます発展してきており、企業活動になくてはならないシステムになってきている。データベースシステムは、一つの計算機システムのみで使われるのみならず、しばしば、他の計算機システムに移植したり、そのテーブルの一部のデータを変換して用いられることがある。特に、大規模なデータベースシステムになるほど、このようなデータ変換が必要になることが多くなる。
【０００３】
このような場合には、あるテーブルデータを様々な用途に供するために、元となるテーブルを加工し、複数の用途別のテーブルを作成し、それぞれのシステムで用いる必要があり、それらテーブルを作成するデータ変換をおこなうプログラムが必要とされる。データ変換プログラムは、入力とテーブルデータを、データが格納されているストレージ装置から取得し、システムの用途に必要なデータ変換を実行し、変換後のデータを出力となるテーブルデータとして、ストレージ装置に書き込む。例えば、特許文献１には、表形式のデータファイルを製品情報データベースに変換する技術が開示されている。
【０００４】
このとき、入力となるデータが格納されているテーブルのフィールドの値は、書き換える必要があるフィールドデータと、書き換える必要のないフィールドデータの二種類に分別できる。書き換える必要があるフィールドデータは、そのシステムの用途によって異なるため、その異なる用途に供するために書き換える必要があるフィールドデータであり、書き換える必要のないフィールドデータとは、元のテーブルとで共通しているため、用途によって書き換える必要のないフィールドデータである。これらの種別は、テーブルの出力先のシステムの用途で異なり、また用途によって区別も流動的である。
【０００５】
そこで、従来のデータ変換プラグラムのデータ変換ジョブでは、データ変換をおこなう対象となるテーブルデータを、テーブル内のこれらフィールドの種別によらずデータ変換プログラムが動作するデータ変換サーバにすべて取り込んで、データ変換のため書き換えると指定されているフィールドデータに対して変換をおこなっていた。そして、取得したテーブルの指定されたフィールドにデータ変換を実行した後、出力となるテーブルデータとして書き込む処理をおこなっていた。あるいは、別のデータ変換ジョブのデータ変換方法によれば、入力となるテーブルを複製して、複製後のテーブルの必要なフィールドデータにのみ変換をおこなっていた。
【０００６】
ここで、データ変換ジョブは、入出力データのモデルや取得方法や変換方法やデータの由来や処理などについて記述したジョブ定義として記述され、そのジョブ定義は、ジョブ実行エンジンによって解釈実行される。
【０００７】
【特許文献１】
特開２００１−２２７６４号
【０００８】
【発明が解決しようとする課題】
上記従来技術に係るデータ変換方法では、変換をおこなうテーブルのデータすべてを、いったんデータ変換プログラムの動作するデータ変換サーバに取り込んでいた。そのため、データ変換サーバのＩ／Ｏ負荷とデータは、いったんＣＰＵの処理を要するため、これに関するＣＰＵ負荷が変換をおこなわないデータに対してもかかることになり、オーバヘッドによる処理性能が問題となっていた。また、必要なデータにのみ変換をおこなうデータ変換ジョブを設計する方法では、データ変換ジョブの設計者に、テーブルデータが格納されているストレージ装置に関する知識・フィールドデータの判別・処理順の把握といった、余分なスキルを要求していた。
【０００９】
このように、従来の方法では、データ変換サーバに負荷がかかることによる処理性能の問題、または、データ変換ジョブの設計者に高いスキルが要求されるという問題点があった。
【００１０】
本発明は、上記問題点を解決するためになされたもので、その目的は、データベースのデータ変換にあたって、データ変換サーバの負荷を軽減し、かつ、データ変換ジョブの設計者にデータ変換ジョブを容易に設計する方法を提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、データベースのテーブルのデータを変換するためのデータ変換方法てでは、先ず、データ変換をおこなうためのデータ変換ジョブ定義を、ＤＢのテーブルのボリュームの格納位置を記載したテーブルボリュームマッピング情報１５０を参照して、データ変換サーバ上で必要なフィールドのみ変換をおこなうデータ変換サーバジョブ定義と、変換元となるテーブルデータを複製する処理の指示をストレージ装置に与えるストレージジョブ定義に分離する。
【００１２】
データ変換ジョブ定義は、変換をおこなう必要なフィールドのみが抜き出されて記述されている。ストレージジョブ定義には、テーブルボリュームマッピング情報から持ってきた複製元のボリュームと複製先のボリュームが記述されている。
【００１３】
そして、ストレージジョブ定義をジョブ実行エンジンにより実行させて、ストレージに指示を与え、テーブルの含まれるボリュームを複製する。
【００１４】
次に、データ変換サーバジョブ定義をョブ実行エンジンにより実行させて、テーブルボリュームマッピング情報を参照してテーブルをアクセスに行き、必要なフィールドのみ変換して、変換後のフィールドデータを複製後のテーブルデータに書き出す処理をおこなう。
【００１５】
【発明の実施の形態】
以下、本発明に係る一実施形態を、図１ないし図１１を用いて説明する。
【００１６】
本実施形態では、データベースのテーブルとして、商品マスタデータをデータ変換し、商品元帳を作成する場合のデータ変換方法について説明する。例えば、商品マスタデータからＡ社の商品元帳であるＡ社商品元帳を作成する場合を考える。
【００１７】
〔データ変換のための計算機システムの構成〕
先ず、図１を用いて本発明に係るデータ変換のための計算機システムについて説明する。
図１は、本発明のデータ変換のための計算機システムの概要を示す構成図である。
【００１８】
本発明に係るデータ変換のための計算機システムは、データ変換サーバ００と、ストレージ１３０から構成される。データ変換サーバ００では、データ変換プログラム１００と、ジョブ実行エンジン１０９が、プログラムとして実行される。
【００１９】
データ変換プログラム１００は、データ変換ジョブ分離ステップ１０３とジョブ実行依頼ステップに大別される。
【００２０】
データ変換ジョブ分離ステップ１０３は、データ変換ジョブ定義１０１と、テーブルボリュームマッピング情報１５０を読込み、ストレージジョブ定義１０５と、データ変換サーバジョブ定義１０７の二つのジョブ定義に分離して、ディスク装置などに格納する。
【００２１】
テーブルボリュームマッピング情報１５０は、変換のためのテーブルの情報とそれを格納するためのボリューム情報を結びつけたものであり、詳細については後に説明する。ジョブ定義は、ジョブ実行エンジンで実行するためのジョブを定義するためのデータであり、処理とその処理に関連するデータを定義する部分に分かれる。
【００２２】
データ変換ジョブ定義ツール１８０は、データ変換ジョブ定義１０１を編集するめたのツールである。マッピング情報定義ツール１７０は、テーブルボリュームマッピング情報１５０を定義するためのツールである。これらのツールは、単なるエディタでもよいし、対話型でデータを作成できるようにしてもよい。
【００２３】
データ変換プログラム１００で、データ変換ジョブ分離ステップ１０３が実行されると、次に、ジョブ実行依頼ステップ１０４が実行される。
【００２４】
ジョブ実行依頼ステップ１０４は、分離されたストレージジョブ定義１０５と、データ変換サーバジョブ１０７をジョブ実行エンジン１０９に実行させることを依頼する。
【００２５】
ジョブ実行エンジン１０９は、ストレージ実行部１１１と、ＤＢアクセス部１１３の二つの機能により、これらのジョブを実行する。
【００２６】
ストレージ命令実行部１１１は、ストレージ１３０に対して、ストレージを構成しているボリュームのコピーを命令する。
【００２７】
ＤＢアクセス部１１３は、データベースをアクセスするための機能であり、ジョブ実行エンジン１０９から、データベースのアクセスライブラリとして、コールされる。
【００２８】
ストレージ１３０には、あるボリュームに商品マスタ１３３が格納されており、これを複製処理部１３１が、データ変換サーバ００のストレージ命令実行部の命令を受けて、そのボリュームごとコピーする。そして、コピーしたボリュームの商品マスタは、データ変換されてＡ社商品元帳１３５やＢ社商品元帳１３７になる。
【００２９】
ジョブ実行エンジン１０９で実行されるデータ変換サーバジョブは、指定されたフィールドのデータのみを変換するジョブであり、ストレージジョブは、ストレージ命令実行部１１１により、ストレージに対して、ボリュームを指定して、そのコピーを命令するジョブである。なお、これらのジョブについては、後に詳細に説明する。
【００３０】
図１において、データ変換プログラム１００は処理分離ステップ１０３、データ変換処理実行ステップ１０９、ストレージ命令実行部１１１、ＤＢアクセス部１１３から構成され、データ変換ジョブ１０１、テーブルボリュームマッピング情報１５０を格納する。
【００３１】
次に、図２を用いて本発明に係るデータ変換のための計算機システムのハードウェア構成について説明する。
図２は、本発明に係るデータ変換のための計算機システムのハードウェア構成図である。
【００３２】
本発明の計算機システムのハードウェア構成としては、サーバ計算機２００と、クライアント計算機２１０と、ストレージ装置２２０からなっている。
【００３３】
サーバ計算機２００と、クライアント計算機２１０は、ＬＡＮ  Ｉ／Ｆ２０５と、ＬＡＮ  Ｉ／Ｆ２１３により、ＬＡＮハブ・スイッチ２３０を介して、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）により接続されている。
【００３４】
また、サーバ計算機２００と、ストレージ装置２２０は、ＳＡＮ  Ｉ／Ｆ２０４と、ＳＡＮ  Ｉ／Ｆ２２１により、ＳＡＮハブ・スイッチ２４０を介して、ストレージ専用のネットワークであるＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）により接続されている。
【００３５】
サーバ計算機２００は、図１で説明したデータ変換サーバ００として動作するものであり、ＣＰＵ２０１、主記憶２０２、ＣＤ−ＲＯＭ装置２０３、ＳＡＮ  Ｉ／Ｆ２０４、ＬＡＮ  Ｉ／Ｆ２０５、ディスク装置２０６がコントローラによって接続された構成になっている。
【００３６】
図１で説明したデータ変換プログラム１００、ジョブ実行エンジン１０９などのプログラム、また、データ変換ジョブ定義１０１、テーブルボリュームマッピング情報１５０などのデータは、ディスク装置２０６に格納されており、実行時に主記憶２０２にロードされ、ＣＰＵ２０１によりプログラムが実行される。
【００３７】
なお、これらのプログラムとデータは、ストレージ装置２２０のディスク装置２２４〜２２７に格納することにしてもよい。
【００３８】
クライアント計算機２１０は、ユーザが操作し、サーバに指示を与えるための計算機であり、ＣＰＵ２１１、主記憶２１２、ＣＤ−ＲＯＭ装置２１３、  ＬＡＮ  Ｉ／Ｆ２１３、ディスク装置２１４がコントローラによって接続された構成になっている。
【００３９】
クライアント計算機２１０のディスク装置２１４には、データ変換ジョブ定義ツール１６０と、マッピング情報定義ツール１７０とが格納されており、これらをプログラムとして実行することにより、データ変換ジョブ定義１０１とテーブルボリュームマッピング情報１５０を作成することができる。
【００４０】
ストレージ装置は、ＳＡＮ  Ｉ／Ｆ２２１、ストレージ制御プロセッサ２２２、ディスク装置２２４〜２２７がコントローラによって接続された構成になっている。
【００４１】
ディスク装置２２４〜２２７は、サーバ計算機２００からは、ボリュームという論理的な単位でアクセスされる。また、図１に示した複製処理部１３１は、ストレージ制御プロセッサ２２２により、サーバ計算機２００の指示を受けて実行される機能である。
【００４２】
なお、本実施形態は、サーバ計算機２００とクライアント計算機２１０と言う構成であったが、これを一台の計算機でおこなうようにしてもよい。また、サーバ計算機２００とクライアント計算機２１０は、それぞれ複数から構成されていてもよい。また、本実施形態では、ストレージ計算機２２０は、一台であったが、これが複数接続されていてもよい。
【００４３】
〔データ変換のためのデータ構造〕
次に、図３ないし図９を用いて本発明に係るデータ変換のためのデータ構造について説明する。
【００４４】
本実施形態は、図１で説明したように、商品マスタ１３３をＡ社商品元帳１３５に変換する例を説明するものであった。
【００４５】
そのために、図３および図４を用いてデータ変換の入力となる商品マスタ１３３とＡ社商品元帳１３５の構成について説明する。
図３は、商品マスタ１３３のテーブルを示す模式図である。
図４は、Ａ社商品元帳１３５のテーブルを示す模式図である。
【００４６】
商品マスタ１３３は、図３に示されるように、商品コード６１０、商品名６２０、分類コード１：６３０、分類コード２：６４０、バーコード６５０、登録日６６０のフィールドからなる。
【００４７】
本実施形態では、図３のようなレコード６８１、レコード６８２を値として持っているものとする。
【００４８】
Ａ社商品コード６１０、商品名６２０、分類コードＡ６３０、分類コードＢ６４０、バーコード６５０、登録日６６０からなる。
【００４９】
Ａ社商品元帳１３５は、図４に示されるように、商品マスタ１３３と同じフィールドを持っており、商品コード７１０、商品名７２０、分類コードＡ７３０、分類コードＢ７４０、バーコード７５０、登録日７６０のフィールドからなる。この各々のフィールドは、商品マスタ１３３の同名のフィールドから作られるものであるが、注意を要するのは、商品コード７１０と、分類コードＡ７３０のフィールドである。この二つのフィールドは、データ変換がなされて格納され、その他のフィールドは、商品マスタ１３３の対応するフィールドのデータがそのまま格納される。
【００５０】
本実施形態では、図４に示されるように、商品マスタ１３３のレコード６８１、レコード６８２が、それぞれ、Ａ社商品元帳１３５のレコード７８１、レコード７８２に対応して格納されている。
【００５１】
次に、図５を用いてテーブルボリュームマッピング情報１５０について説明する。
図５は、テーブルボリュームマッピング情報１５０を示す模式図である。
【００５２】
テーブルボリュームマッピング情報１５０は、データ変換に係るテーブルの論理的構成と、格納されるボリュームを関連付けるためのテーブルである。
【００５３】
テーブルボリュームマッピング情報１５０は、図５に示されるように、ＤＢＭＳ識別子３１０、ＤＢテーブル名３２０、テーブルフィールド名３３０、格納記憶装置ボリューム３４０のフィールドからなる。
【００５４】
ＤＢＭＳ識別子３１０のフィールドは、取り扱うＤＢＭＳ（Ｄａｔａ  Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）を識別する値が格納されるフィールドである。
【００５５】
ＤＢテーブル名３２０は、ＤＢＭＳ識別子３１０により示されるＤＢＭＳに格納されているＤＢテーブル名が格納されるフィールドである。
【００５６】
テーブルフィールド名３３０は、ＤＢテーブル名３２０により示されるテーブルのフィールド名が格納されるフィールドである。
【００５７】
格納記憶装置ボリューム３４０は、テーブルフィールド名３３０の値に示されるフィールドが格納されているストレージ装置１３０上のボリューム識別子を、格納されるフィールドである。
【００５８】
格納記憶装置ボリューム３４０は、本発明のデータ変換を実行するためのコピー元になるテーブルと、コピー後のテーブルの情報について、予めユーザが記述しておく必要がある。図５に示した例では、コピー元のテーブル情報として、ＤＢテーブル名３２０が「商品マスタ」であるレコード３５１〜３５６が格納されている。また、コピー先のテーブル情報については、ＤＢテーブル名３２０が「Ａ社商品元帳」であるレコード３５１〜３５６である。
【００５９】
ただし、コピー先のボリュームについては、ボリュームのコピーを実行時するときに、決めてもよい。それを指定するときには、図５のレコード３６６のように格納記憶装置ボリューム３４０に「実行時決定」と記述すればよい。そして、コピーが終わったときには、コピー先のボリュームをレコード３６６の格納記憶装置ボリューム３４０に書き込んでおくようにする。
【００６０】
なお、図５に示されたテーブルボリュームマッピング情報１５０の例では、各フィールドは、一つだけであるが、複数持たせるようにしてもよい。
【００６１】
この図５に示したテーブルボリュームマッピング情報１５０の例では、レコード３５１、３５２、３５３、３５４、３５５、３５６は、商品マスタ１３３についてＤＢＭＳ識別子３１０、ＤＢテーブル名３２０、テーブルフィールド名３２０および格納記憶装置ボリューム３４０を示すレコードであり、レコード３６１、３６２、３６３、３６４、３６５、３６６はＡ社商品元帳１３５についてＤＢＭＳ識別子３１０、ＤＢテーブル名３２０、テーブルフィールド名３２０および格納記憶装置ボリューム３４０を示すレコードである。
【００６２】
図５に示された例においては、例えば、レコード３５１では、ＤＢＭＳ識別子が「ＤＢＭＳ１」の中にある「商品マスタ」の「商品コード」のフィールドのデータは、「Ｖｏｌ１」というボリュームに格納されることを示している。
【００６３】
次に、図６ないし図９を用いてジョブ定義とそのパラメタテーブルについて説明する。
図６は、本発明に関係するジョブ定義を示す模式図である。
図７は、データ変換ジョブ定義のパラメタテーブル１０１Ｔを示す模式図である。
図８は、データ変換サーバジョブ定義のパラメタテーブル１０５Ｔを示す模式図である。
図９は、ストレージジョブ定義のパラメタテーブル１０７Ｔを示す模式図である。
【００６４】
ジョブ定義は、図６に示されるような記述であり、ＰＲＯＧ＝の右辺には、ジョブ実行のモジュール名を指定し、ＰＡＲＭ＝の右辺には、パラメタテーブルを指定する。パラメタテーブルは、次に、説明するが、ジョブ実行のモジュールに渡すパラメタを定義するためのテーブルである。
【００６５】
ここで、図６（ａ）は、データ変換ジョブのジョブ定義であるデータ変換ジョブ定義１０１の記述例であり、図６（ｂ）は、データ変換サーバジョブのジョブ定義であるデータ変換サーバジョブ定義１０７の記述例、図６（ｃ）は、ストレージジョブのジョブ定義であるストレージジョブ定義１０５の記述例である。
【００６６】
従来では、データ変換ジョブ定義１０１をジョブ実行エンジン１０９に実行させていたが、本発明では、図１に示したデータ変換ジョブ分離ステップで、図６（ａ）のジョブ定義を、図６（ｂ）  のデータ変換サーバジョブ定義１０７と図６（ｃ）のストレージジョブ定義１０５に分離して、それらをジョブ実行エンジン１０９で実行させることにより、データ変換ジョブを分離して実行させるものである。
【００６７】
なお、それぞれのジョブ実行に伴う具体的な処理については、後に詳細に説明する。
【００６８】
データ変換ジョブ定義１０１のパラメタテーブル１０１Ｔは、図７に示されるように、入力テーブル名１００１、入力フィールド名１００２、出力テーブル名１００３、出力フィールド名１００４、変換内容１００５のフィールドから構成される。前の四つのフィールドは、変換のために入力するテーブル名とフィールド名、変換されたテーブル名とフィールド名を記述する。
【００６９】
変換内容１００５は、入力されるフィールドのデータの変換の仕方を記述するためのフィールドであり、入力フィールド名をそのまま記述したときには、変換せずに、そのまま、出力することを意味し、ある一定の規則に従って、変換するときには、変換のために用いる変換記述と入力フィールド名の両者を記述することと約束する。「変換記述」とは、図には示さなかったが、変換の方法を定義したコードである。
【００７０】
例えば、レコード１０２１において、「商品マスタ」のフィールド「商品コード」が、「Ａ社マスタ変換」という変換記述にしたがって、変換され、「Ａ社商品元帳」のフィールド「商品コード」に出力される。
【００７１】
これにより、例えば、図３に示したレコード６８１の商品コード６１０のデータ「Ａ０００１」が、図４に示したレコード７８１の商品コード７１０のデータ「＆８１＆０１」に変換される。
【００７２】
同様に、レコード１０２４では、「商品マスタ」のフィールド「分類コード１」が、「Ａ社分類Ａ」という変換記述にしたがって、変換され、「Ａ社商品元帳」のフィールド「分類コードＡ」に出力される。
【００７３】
これにより、例えば、図３に示したレコード６８１の分類コード１：６３０のデータ「６６０」が、図４に示したレコード７８１の分類コードＡ７３０のデータ「６６０−Ａ１ＰＳ」に変換される。
【００７４】
一方、レコード１０２２においては、「商品マスタ」のフィールド「商品名」が、変換されずに、そのまま「Ａ社商品元帳」のフィールド「商品名」に出力される。
【００７５】
ここで、図７の例では、変換記述が定義されているレコードは、レコード１０２１、レコード１０２３、１０２４であることを注意しておく。
【００７６】
データ変換サーバジョブ定義１０７のパラメタテーブル１０７Ｔは、図８に示されるように、データ変換ジョブ定義１０１のパラメタテーブル１０１Ｔと同様に、入力テーブル名、入力フィールド名、出力テーブル名、出力フィールド名、変換内容のフィールドから構成される。
【００７７】
そのレコードの内容は、データ変換ジョブ定義１０１のパラメタテーブル１０１Ｔのレコードで、変換内容１００５の中で、変換をおこなうことになっているレコードのみを抜き出したものである。
【００７８】
ストレージジョブ定義１０５のパラメタテーブル１０５Ｔは、図９に示されるように、コピー元ボリューム１２０１、コピー先ボリューム１２０２から構成される。
【００７９】
パラメタテーブル１０５Ｔの各レコードは、データ変換ジョブ分離ステップ１０３において、テーブルボリュームマッピング情報１５０を参照して、図７に示したデータ変換ジョブ定義１０１のパラメタテーブル１０１Ｔのレコードに対応して作られる。
【００８０】
コピー元ボリューム１２０４は、パラメタテーブル１０１Ｔのコピー元のテーブルに関する情報である入力テーブル名１００１と入力フィールド名１００３と、テーブルボリュームマッピング情報１５０の格納記憶位置ボリューム３４０の内容をマッチングさせることにより得られる。
【００８１】
また、コピー先ＤＢテーブル名１２０２は、パラメタテーブル１０１Ｔのコピー先のテーブルに関する情報である出力テーブル名１００３と出力フィールド名１００４と、テーブルボリュームマッピング情報１５０の格納記憶位置ボリューム３４０の内容をマッチングさせることにより得られる。
【００８２】
例えば、レコード１０２１の入力テーブル名１００１「商品マスタ」の入力フィールド名１００２「商品コード」を参照して、テーブルボリュームマッピング情報１５０のレコード３５１により、「Ｖｏｌ１」を取り出し、レコード１２２１のコピー元ボリューム１２０１のフィールドに格納する。
【００８３】
また、レコード１０２１の出力テーブル名１００３「Ａ社商品元帳」の出力フィールド名１００４「商品コード」を参照して、テーブルボリュームマッピング情報１５０のレコード３５１により、「Ｖｏｌ１」を取り出し、レコード１２２１のコピー元ボリューム１２０２のフィールドに格納する。
【００８４】
このストレージジョブのジョブ定義のパラメタテーブル１０５Ｔが、ストレージジョブを実行することにより、ストレージ１３０に渡される。ストレージ１３０は、ボリュームの複製機能により、与えられた指定に従って、ボリュームをコピーする。
【００８５】
なお、レコード１２２６のコピー先ボリューム１２０５は、「実行時決定」と記述されており、これは、ストレージジョブ定義１０５の作成時には、コピー先のボリュームを決定せずにおき、ストレージジョブの実行時にボリュームを割り当ててコピーすることを意味している。
【００８６】
また、本実施形態の例では、すべてのボリュームをコピーするような構成になっているが、ジョブ分離の段階では、パラメタテーブル１０５Ｔのレコードとして、変換のおこなわないフィールドに関係するレコード１２２２、１２２５、１２２６のみ生成し、それに関係するボリュームのみをコピーするようにし、変換をおこなうフィールドについては、格納するためのボリュームを追加作成し、新たなデータとしてそこに格納するようにしてもよい。
【００８７】
〔データ変換の処理〕
次に、図１０ないし図１３を用いて本発明に係るデータ変換方法の処理の詳細について説明する。
図１０は、データ変換プログラムの処理を説明するフローチャートである。
図１１は、データ変換ジョブ分離プログラムの処理を説明するフローチャートである。
図１２は、ストレージジョブの実行時の処理を説明するフローチャートである。
図１３は、データ変換サーバジョブの実行時の処理を説明するフローチャートである。
【００８８】
先ず、データ変換プログラムの処理について、図１０のフローチャートを追いながら説明する。
【００８９】
このシステムで、データ変換をおこなうときには、データ変換プログラムを起動する。
【００９０】
データ変換プログラムは、先ず、データ変換ジョブ分離ステップを実行する（Ｓ１０００）。このデータ変換ジョブ分離ステップでは、データ変換ジョブ定義１０１を、データ変換サーバジョブ定義１０７とストレージジョブ定義１０５とに分離する。
【００９１】
次に、ジョブ実行依頼ステップでは、ストレージジョブとデータ変換サーバジョブの実行をジョブ実行エンジン１０９に依頼する（Ｓ１０１０）。
【００９２】
次に、データ変化ジョブ分離ステップの詳細について、図１１のフローチャートを追いながら説明する。
【００９３】
先ず、図６（ａ）のデータ変換ジョブ定義１０１、図７のパラメタテーブル１０１Ｔを読み込み（Ｓ１１００）、パラメタテーブル１０１Ｔの変換内容１００５を参照して、データ変換されるレコード１０２１、１０２３、１０２４を抽出する（Ｓ１１１０）。図７に示したように、変換内容１００５の中に、変換記述を持つレコードの入力フィールドが変換されるフィールドである。
【００９４】
次に、図６（ｂ）のデータ変換サーバジョブ定義１０５を生成し、Ｓ９１０で抽出されたレコードを基にして、図８のパラメタテーブル１０７Ｔを生成する（Ｓ１１２０）。これにより、図８に示されたように、レコード１０２１、１０２３、１０２４に対応して、レコード１０２１ａ、１０２３ａ、１０２４ａが生成される。
【００９５】
次に、データ変換ジョブ定義１０１のパラメタテーブル１０１Ｔとテーブルボリュームマッピング情報１５０を参照して、テーブルボリュームマッピング情報１５０の格納記憶装置ボリューム３４０から、コピー元ボリュームとコピー先ボリュームのデータを抽出する（Ｓ１１３０）。
【００９６】
次に、図６（ｃ）のストレージジョブ定義１０５を生成し、Ｓ１１３０により求めたコピー元ボリュームを基にして、図９のパラメタテーブル１０５Ｔを生成する（Ｓ１１４０）。
【００９７】
例えば、レコード１０２１の入力テーブル名１００１と、入力フィールド名１００２とテーブルボリュームマッピング情報１５０のＤＢテーブル名３２０とテーブルフィールド名３３０と一致するレコードを検索する。レコード３５１が一致する該当するレコードなので、そのレコード３５１からテーブルボリュームマッピング情報１５０の格納記憶装置ボリューム３４０の「Ｖｏｌ１」を求めて、コピー元ボリューム１２０５に格納する。また、レコード１０２１の出力テーブル名１００３と、出力フィールド名１００４とＤＢテーブル名３２０とテーブルフィールド名３３０と一致するレコードを検索する。レコード３６１が一致する該当するレコードなので、そのレコード３６１からテーブルボリュームマッピング情報１５０の格納記憶装置ボリューム３４０の「Ｖｏｌ１１」を求めて、コピー先ボリューム１２０５に格納する。
【００９８】
なお、格納記憶装置ボリューム３４０の値がレコード３６６のように、「実行時決定」となっているときは、レコード１２２６のようにその値が直接格納される。
【００９９】
このようにして、図７のパラメタテーブル１０１Ｔの各レコード１０２１〜１０２６のそれぞれに対応して、図９のパラメタテーブル１０５Ｔの各レコード１２２１〜１２２６が作成される。
【０１００】
次に、ストレージジョブの実行時の処理について、図１２を用いて説明する。
【０１０１】
ストレージジョブは、ストレージジョブの実行依頼が、ジョブ実行エンジン１０９になされることにより起動される。
【０１０２】
ストレージジョブの実行依頼がなされると、先ず、パラメタテーブル１０５Ｔを読み込み（Ｓ１２００）、パラメタテーブル１０５Ｔをストレージ命令実行部１１１に渡す（Ｓ１２１０）。
【０１０３】
ストレージ命令実行部１１１は、ストレージ１３０の複製処理部１３１に対して、コピー元ボリュームとコピー先ボリュームを指定してコピーを実行させる（Ｓ１２０２０）。
【０１０４】
例えば、パラメタテーブル１０５Ｔのレコード１２２１の記述によって、コピー元ボリュームのパラメタとして「Ｖｏｌ１」が、コピー先ボリュームのパラメタとして「Ｖｏｌ１１」が、ストレージ１３０の複製処理部１３１に渡される。
【０１０５】
複製処理部１３１は、これを受けて「Ｖｏｌ１」の内容を「Ｖｏｌ１１」にコピーする。
【０１０６】
また、図１２には示さなかったが、図９のレコード１２２６のように、コピー先のボリューム１２０２が「実行時決定」となっているときには、実行時に決定されたコピー先ボリュームの値を、テーブルボリュームマッピング情報１５０の格納記憶装置ボリューム３４０に書き込むようにする。
【０１０７】
本実施形態の例では、レコード３６６に、テーブルボリュームマッピング情報１５０の格納記憶装置ボリューム３４０には、例えば、「Ｖｏｌ１１」という値が書き込まれる。
【０１０８】
次に、データ変換サーバジョブの実行時の処理について、図１３を用いて説明する。
【０１０９】
データ変換サーバジョブは、データ変換サーバジョブの実行依頼が、ジョブ実行エンジン１０９になされることにより起動される。
【０１１０】
データ変換サーバジョブの実行依頼がなされると、先ず、パラメタテーブル１０７Ｔを読み込む（Ｓ１３００）。
【０１１１】
そして、ＤＢアクセス部１１３により、テーブルボリュームマッピング情報１５０を参照して、商品マスタ１３３を取得し（Ｓ１３１０）、商品マスタ１３３のフィールドデータを、レコード１０２１、１０２３、１０２４の変換内容１００５の記述にしたがって、データ変換をおこなう（Ｓ１３２０）。
【０１１２】
最後に、データ変換をおこなったデータを、ＤＢアクセス部１１３により、テーブルボリュームマッピング情報１５０を参照して、Ａ社商品元帳１３５の該当するフィールドに上書きする（Ｓ１３３０）。
【０１１３】
これにより、例えば、図８のパラメタテーブル１０７Ｔのレコード１０２１の変換内容の変換記述「Ａ社マスタ変換」により、図３の商品マスタ１３３の商品コード６１０のデータ「Ａ０００１」、「Ａ０００２」が、図４のＡ社商品元帳１３５の商品コード７１０「＆８１＆０１」、「＆８１＆０２」に示したように変換されて、格納される。
【０１１４】
Ａ社商品元帳１３５のフィールドのデータは、図８のパラメタテーブル１０７Ｔに記述された商品コード７１０、分類コード７３０、分類コード７４０のみ、データ変換されたデータが上書きされ、その他のフィールドは、商品マスタ１３３からコピーされたデータがそのまま維持される。
【０１１５】
【発明の効果】
本発明によれば、データベースのデータ変換にあたって、データ変換サーバの負荷を軽減し、かつ、データ変換ジョブの設計者にデータ変換ジョブを容易に設計する方法を提供することができる。
【図面の簡単な説明】
【図１】本発明のデータ変換のための計算機システムの概要を示す構成図である。
【図２】本発明に係るデータ変換のための計算機システムのハードウェア構成図である。
【図３】商品マスタ１３３のテーブルを示す模式図である。
【図４】Ａ社商品元帳１３５のテーブルを示す模式図である。
【図５】テーブルボリュームマッピング情報１５０を示す模式図である。
【図６】本発明に関係するジョブ定義を示す模式図である。
【図７】データ変換ジョブ定義のパラメタテーブル１０１Ｔを示す模式図である。
【図８】データ変換サーバジョブ定義のパラメタテーブル１０５Ｔを示す模式図である。
【図９】ストレージジョブ定義のパラメタテーブル１０７Ｔを示す模式図である。
【図１０】データ変換プログラムの処理を説明するフローチャートである。
【図１１】データ変換ジョブ分離プログラムの処理を説明するフローチャートである。
【図１２】ストレージジョブの実行時の処理を説明するフローチャートである。
【図１３】データ変換サーバジョブの実行時の処理を説明するフローチャートである。
【符号の説明】
１００…データ変換プログラム
１０１…データ変換ジョブ定義
１０３…データ変換処理分離ステップ
１０４…ジョブ実行依頼ステップ
１０５…ストレージジョブ定義
１０７…データ変換サーバジョブ定義
１０９…ジョブ実行エンジン
１１１…ストレージ命令実行部
１１３…ＤＢアクセス部
１３０…ストレージ
１３１…複製処理部
１３３…商品マスタ
１３５…Ａ社商品元帳
１３７…Ｂ社商品元帳
１５０…テーブルボリュームマッピング情報
１６０…データ変換ジョブ定義ツール
１７０…テーブルボリュームマッピング情報定義ツール
【図１】
2004185561.tif 000003
【図２】
2004185561.tif 000004
【図３】
2004185561.tif 000005
【図４】
2004185561.tif 000006
【図５】
2004185561.tif 000007
【図６】
2004185561.tif 000008
【図７】
2004185561.tif 000009
【図８】
2004185561.tif 000010
【図９】
2004185561.tif 000011
【図１０】
2004185561.tif 000012
【図１１】
2004185561.tif 000013
【図１２】
2004185561.tif 000014
【図１３】
2004185561.tif 000015