(57)【要約】【課題】  データ統合システムにおいて、データの保持／再利用／管理を行う蓄積ファイル機構を用いた効率的なリカバリ技術を提供する。【解決手段】  供給元システムからデータを収集して蓄積ファイルに保存し、該収集データにレコード識別番号を付加し、変換エラーが発生時、エラーレコードを除いてデータ保持ポイントまで全てのレコードの変換処理を続行させ、利用者によるエラーの修正レコードのみをリカバリ処理したデータを加えて集約し、全ての変換が正常完了した時点で、該識別番号を切離し配付データとして出力することを特徴とする。【選択図】図１
2010262587.tif 000002
【特許請求の範囲】
【請求項１】
データを保持するファイル蓄積手段にアクセス可能なコンピュータに供給元システムから収集したデータを変換して供給先システムに供給処理を実行させるデータ変換プログラムであって、
前記コンピュータに、
前記ファイル蓄積手段から対象となるデータを抽出し、該データにレコード識別番号を付加するレコード情報付加ステップと、
前記レコード識別番号が付加されたデータに対しレコード毎に複数の変換処理を行うデータ変換ステップと、
前記変換処理においてエラーが発生した場合、エラーレコードを除き、その他のレコードを予め定義された待合せポイントまで継続処理する変換継続ステップと、
前記エラーレコードに対し利用者が修正した修正レコードを取得し、当該修正レコードに対する変換の再処理を行う変換再処理ステップと、
前記データ内の全レコードの変換が正常完了した時点で、前記データから前記レコード識別番号を切り取り、配付データとして出力する配布データ出力ステップを実行させるデータ変換プログラム。
【請求項２】
前記待合せポイントは、前記複数の変換処理の内、全データが揃った時点で一括処理する必要のある変換処理部に設定されることを特徴とする請求項１に記載のデータ変換プログラム。
【請求項３】
エラー発生時における前記変換継続ステップは、後続の変換処理に対する影響の有無を判別し、影響がない場合、前記待合せポイントを無視してフロー終了直前まで処理続行することを特徴とする請求項１または２に記載のデータ変換プログラム。
【請求項４】
データを保持するファイル蓄積手段にアクセス可能なコンピュータが供給元システムから収集したデータを変換して供給先システムに供給処理を実行するデータ変換方法であって、
前記コンピュータが、
前記ファイル蓄積手段から対象となるデータを抽出し、該データにレコード識別番号を付加するレコード情報付加ステップと、
前記レコード識別番号が付加されたデータに対しレコード毎に複数の変換処理を行うデータ変換ステップと、
前記変換処理においてエラーが発生した場合、エラーレコードを除き、その他のレコードを予め定義された待合せポイントまで継続処理する変換継続ステップと、
前記エラーレコードに対し利用者が修正した修正レコードを取得し、当該修正レコードに対する変換の再処理を行う変換再処理ステップと、
前記データ内の全レコードの変換が正常完了した時点で、前記データから前記レコード識別番号を切り取り、配付データとして出力する配布データ出力ステップを実行することを特徴とするデータ変換方法。
【請求項５】
供給元システムから収集したデータを変換して供給先システムに供給するデータ変換装置であって、
前記収集データを保持するファイル蓄積手段と、
前記ファイル蓄積手段から対象となるデータを抽出し、該データにレコード識別番号を付加するレコード情報付加手段と、
前記レコード識別番号が付加されたデータに対しレコード毎に複数の変換処理を行うデータ変換手段と、
前記変換処理においてエラーが発生した場合、エラーレコードを除き、その他のレコードを予め定義された待合せポイントまで継続処理する変換継続手段と、
前記エラーレコードに対し利用者が修正した修正レコードを取得し、当該修正レコードに対する変換の再処理を行う変換再処理手段と、
前記データ内の全レコードの変換が正常完了した時点で、前記データから前記レコード識別番号を切り取り、配付データとして出力する配布データ出力手段を有することを特徴とするデータ変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ変換システムにおける変換エラー発生時のリカバリ技術に関する。
【背景技術】
【０００２】
データ供給元システムからデータを収集して、変換・加工を行い、データ供給先システムにデータを配布するデータ変換システムが一般に普及しつつある。データ変換システムは、図２３に示すように、データ供給元システム（Ａ、Ｂ）からデータを収集し、該収集データを複数のデータ変換（変換１、２、３）を行い、その加工したデータをデータ供給先システム（Ｃ、Ｄ）に配布するものである。
【０００３】
データ供給元システムからのデータ収集には、業務システムの種類により、汎用機のプログラムがデータ変換システム側にファイルを転送する場合と、オープン系のリレーショナル・データベースに格納されたデータをＳＱＬ（Structured Query Language ：構造化問い合わせ言語）で直接抽出する場合とがある。
【０００４】
従来、複数の変換処理（文字等のコード変換、クレンジングなど）の何れかにおいて、データ不正や無効データによる異常が発生した場合、（１）途中の変換処理における中間データを利用者に修正してもらい、エラー発生以降の変換処理を行う、（２）収集した全データ内から異常レコードを利用者に修正してもらい、全データを再入力して、先頭の変換処理から全データに対する変換処理を行う、（３）変換エラー発生時に、異常発生レコードの処理をスキップして、正常レコードの処理を続行させる、などのエラーリカバリの方式が採られてきた（例えば、特許文献１参照）。
【０００５】
上記従来の方式において、エラー発生時点のデータを修正してリカバリする際に、利用者は、収集時点のデータではなくて、変換処理中の中間データを確認／修正することになる。中間データは、収集データからのレコード順入れ替わりや複数の変換を経ているため、利用者によるエラー原因の見極めやデータの修正を難しくしている。
【０００６】
また、異常発生レコードの変換処理をスキップして、正常レコードを継続させる方式の場合、エラーの数や種類が大量であるため、エラー個所やエラー内容の見極めは一層複雑となる。また、変換エラー毎にリカバリを開始するポイントが異なり、利用者のリカバリ操作が煩雑となる。
【０００７】
さらに、データ変換フローで変換異常データが含まれる場合、そのデータ（レコード）をスキップし、その他のデータの変換処理を続行させたいケースがあるが、後続の変換処理によっては、ソート、集計で全データが揃わずに不正な変換結果となるなどの問題がある。この場合のリカバリとして、修正データを含む全データによるデータ変換フロー先頭からの再実行が必要となり、データ量が大量でリカバリに時間を要する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述してきた問題を解決するため、本発明では、データ変換システムにおいて、収集データ追跡の仕組みや、収集データや中間データを一定期間蓄積して管理する蓄積ファイル機構（データの保持／再利用／管理）を用いたリカバリの仕組みを組合せた、効率的なデータ変換のエラーリカバリ装置、方法、およびプログラムを提供する。
【課題を解決するための手段】
【００１０】
本発明の一態様は、供給元システムから収集したデータを変換して供給先システムに供給するデータ変換装置におけるデータ変換プログラムに関し、コンピュータに、前記収集データを蓄積ファイルに保持して管理する蓄積ファイル管理ステップと、前記蓄積ファイルから対象となるデータを抽出し、該データにレコード識別番号を付加するレコード情報付加ステップと、前記レコード識別番号が付加されたデータに対しレコード毎に複数の変換処理を行うデータ変換ステップと、前記変換処理においてエラーが発生した場合、エラーレコードを除き、その他のレコードを予め定義された待合せポイントまで継続処理する変換継続ステップと、前記エラーレコードに対し利用者が修正した修正レコードを取得し、当該修正レコードに対する変換の再処理を行う変換再処理ステップと、前記データ内の全レコードの変換が正常完了した時点で、前記データから前記レコード識別番号を切り取り、配付データとして出力する配布データ出力ステップを実行させる構成とすることによって、データ変換に異常が生じた場合に、エラー個所やエラー内容、収集データからのレコード順入れ替わりに影響を受けないでリカバリを実行することが可能となる。
【発明の効果】
【００１１】
以上、本発明によれば、データ変換フローで変換異常が発生した場合、収集時点の異常レコードのみ抽出可能とすることによって、変換エラー個所やエラー内容、収集データからのレコード順入れ替わりに影響を受けず、また大量エラー発生時のリカバリ対象データの特定が不要となる。
【００１２】
また、データ変換フローのリカバリ実行においては、変換処理（ソート、集計）によっては全データを揃わせる必要があるが、全データを揃わせる変換処理直前の修正データ（レコード）のみで処理を行うため、リカバリ時間が短縮できる。
【００１３】
さらに、全データを揃わせる変換処理までをデータ変換フロー中断ポイントとして判別して保持し、異常データ（レコード）が取り除かれるまで待ち合わせ制御を行うことで、データ変換フローの出力データを確定させない状態を保ちながら、修正データのみのリカバリ操作を繰り返し行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態になるデータ変換システムの一基本構成を示す。
【図２】本発明の実施の形態になるデータ変換のフロー実行管理テーブルのデータ構造例を示す。
【図３】本発明の実施の形態になる蓄積ファイル管理テーブルのデータ構造例を示す。
【図４】本発明の実施の形態になる蓄積ファイルのレコード管理情報を示す。
【図５】本発明の実施の形態になるエラー発生時におけるデータ変換の流れを説明する図（実施例１）である。
【図６】本発明の実施の形態になるデータ変換エラー時の利用者による変換エラーデータの修正手順を説明する図（実施例１）である。
【図７】本発明の実施の形態になるデータ変換フローのリカバリ実行操作と資源再利用によるリカバリ処理の構成（実施例１）を示す。
【図８】本発明の実施の形態になるデータ変換システムにおけるデータ変換の全体フロー( 実施例１）を示す。
【図９】本発明の実施の形態になる正常データ保持ポイントの判別処理フロー（実施例１）を示す。
【図１０】本発明の実施の形態になるレコード識別情報付加の処理フローを示す。
【図１１】本発明の実施の形態になるデータ変換フロー実行の処理フロー（実施例１）を示す。
【図１２】本発明の実施の形態になる異常レコード情報出力の処理フローを示す。
【図１３】本発明の実施の形態になる異常データ抽出／格納の処理フローを示す。
【図１４】本発明の実施の形態になるデータ変換のリカバリ実行処理フローを示す。
【図１５】本発明の実施の形態になる中断再開の処理フローを示す。
【図１６】本発明の実施の形態になるエラー発生時におけるデータ変換の流れを説明する図（実施例２）を示す。
【図１７】本発明の実施の形態になるデータ変換エラー時の利用者による変換エラーデータの修正手順を説明する図( 実施例２）を示す。
【図１８】本発明の実施の形態になるデータ変換フローのリカバリ実行操作と資源再利用によるリカバリ処理の構成（実施例２）を示す。
【図１９】本発明の実施の形態になるデータ変換システムにおけるデータ変換の全体フロー( 実施例２）を示す。
【図２０】本発明の実施の形態になる正常データ保持ポイントの判別処理フロー（実施例２）を示す。
【図２１】本発明の実施の形態になるデータ変換フロー実行の処理フロー（実施例２）を示す。
【図２２】本発明の実施の形態になるデータ変換フロー実行の処理フロー続き（実施例２）を示す。
【図２３】従来のデータ変換システムの構成を示す。
【発明を実施するための形態】
【００１５】
以下、図面にもとづいて本発明の実施形態を説明する。収集データ追跡の仕組みと、収集データや中間データを一定期間蓄積して管理する蓄積ファイル機構（データの保持／再利用／管理）を用いたリカバリの仕組みと、を組合せて行うデータ変換システムに関し、以下２つの実施例について説明する。
【００１６】
実施例１では、データ変換フローにおいて変換エラーが発生した場合、エラーレコードを除き、その他のデータ（レコード）はデータ保持ポイントまで全てのレコードの変換処理を続行させ、リカバリ時に、修正レコードのみ処理を行い、データ保持ポイント到達時に全データの変換処理を行う手法を扱う。
【００１７】
また、実施例２では、実施例１のデータ保持ポイントの待ち合わせ処理において、後続の変換処理の影響を判別し、影響がなければフロー終了直前まで処理続行することによりリカバリ時間の短縮化を行う手法を扱う。
（実施例１）
図１は、本発明の実施の形態になるデータ変換システムの一基本構成を示す。本データ変換システムは、互いにＬＡＮ（Local Area Network）などのネットワークに接続するデータ変換装置１、データ供給元システム２（システム１、２）、およびデータ供給先システム３（システム３、４）から構成される。
【００１８】
データ変換装置１は、データ供給元システム２からデータ収集して、蓄積ファイル機構を用い、データ収集蓄積部１０と蓄積ファイル１００によって収集したデータの保持／管理を行い、つぎのデータ変換フロー処理部４において、レコード情報付加部１１で収集データを取り出し、該データに装置内で一意となるレコード識別番号を付加する。
【００１９】
その後、複数の変換部１２ａ、１２ｂ・・・にてレコード識別番号を付加したまま変換処理を行う。そして、全ての変換が正常完了した時点で、レコード識別情報切取部１３においてデータからレコード識別番号が切り離され、配付データとして蓄積ファイルに格納される。
【００２０】
データ変換フローにおいて、変換エラーが発生した場合は、エラーレコードを除き、その他のデータ（レコード）は処理を継続して、フロー実行管理テーブル２００で管理しているデータ保持ポイント（待合せポイント）まで全てのレコードの変換処理を続行させる。データ保持ポイントでは、データ変換フロー開始時にフロー定義内容を参照して、全レコードの一括処理が必要な変換処理（ソート、集計）の有無と配置が判定される。
【００２１】
全レコードの一括処理が含まれない変換処理のみの場合は、データ変換フロー完了直前をデータ保持ポイントとし、全レコードの一括処理が含まれる場合は、その直前をデータ保持ポイントとして管理することとなる。
【００２２】
リカバリ操作においては、利用者のリカバリデータ取り出し操作に対して、格納抽出処理部１５で異常レコード情報を参照しながら収集データ上の異常レコードのみを抽出し、利用者に修正レコード（未修正レコード含む）を再格納させる。
【００２３】
リカバリ実行においては、エラー個所やエラー内容を問わず、利用者のデータ変換フロー再実行の操作にしたがって、修正レコードのみに対しデータ変換フローの再処理を行う。処理がデータ保持ポイントに到達すると、リカバリ処理部１４において、変換処理途中の正常レコードとデータ集約を行い、異常レコード情報がなくなるか否かでリカバリ操作が終わったことを判別して、それを契機に全データの変換処理を行う。
【００２４】
ここで、データ変換装置１は、図示していないがＣＰＵ（Central Processing Unit ）、メモリを備えたコンピュータであり、上述したデータ変換処理を行うプログラムは、データ変換装置１に備わる補助記憶装置（図にない）に格納され、電源投入時にメモリにロードされ、ＣＰＵによって実行されるものとなっている。また、該プログラムは、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、フレキシブルディスク、ＭＯ（Magneto Optical Disk）等の記憶媒体に格納し、各媒体のドライブ装置によって、データ変換装置１にロードさせるように構成してもよい。
【００２５】
図２は、本発明の実施の形態になるデータ変換のフロー実行管理テーブルのデータ構造例を示す。フロー実行管理テーブル２００は、データ変換フローを管理するもので、「実行ＩＤ（Identification）」、「処理状態」、「正常データ保持ポイント」、および「処理続行」の項目から構成されている。
「実行ＩＤ」は、データ変換フロー実行毎の通番、「処理状態」は、データ変換フローの処理状態（実行中、中断、再開中）、「正常データ保持ポイント」は、リカバリ用の正常変換データの保持ポイント、および「処理続行」は、データ保持ポイントが存在しても最終変換処理まで処理を続行するかのフラグ、をそれぞれ示している。
【００２６】
図３は、本発明の実施の形態になる蓄積ファイル管理テーブルのデータ構造例を示す。蓄積ファイル管理テーブル１０１は、蓄積ファイル１００の状態を管理するもので、「蓄積ファイルＩＤ」、「データボックス名」、「収集元システムＮｏ．」、「変換フローＩＤ」、「データ状態」、および「蓄積ファイルレコード管理情報」の項目から構成されている。
【００２７】
「蓄積ファイルＩＤ」は、蓄積ファイルの管理レコードＩＤ（収集ファイル／格納ファイル単位の一意の通番）、「データボックス名」は、蓄積ファイルのデータ型毎の任意の名前、「収集元システムＮｏ．」は、収集元システム番号、「変換フローＩＤ」は、データ変換フロー実行毎の通番、「データ状態」は、蓄積ファイルＩＤ単位のデータ処理状態（格納済：データ格納完了、抽出中：データ抽出中（抽出処理中／中断状態）、抽出済：データ抽出完了）、「蓄積ファイルレコード管理情報」は、変換フローＩＤにリンクする異常発生レコード管理／エラー情報出力ファイル、をそれぞれ示している。
【００２８】
図４は、本発明の実施の形態になる蓄積ファイルのレコード管理情報を示す。蓄積ファイルレコード管理情報１０１ａは、ａ：蓄積ファイルＩＤ−蓄積ファイルＩＤ毎の通番／ｂ：無効レコードフラグ（ＩＮＧ：無効レコードＯＮ）／ｃ：収集元システム番号／ｄ：変換エラー発生の変換処理番号／ｅ：エラー項目番号／ｆ：異常レコードの収集データレコード長／ｇ：変換エラー種別（コード、クレンジング等）／ｈ：シスログ（システムログ）異常メッセージ（変換内容、エラー項目、エラー内容）など、複数のＣＳＶ（Comma Separated Value ）形式の情報レコードから構成されている。
【００２９】
図５は、本発明の実施の形態になるエラー発生時におけるデータ変換の流れを説明する図（実施例１）を示す。本例は、データ変換フロー実行で変換異常が発生した場合の、リカバリ効率化に向けた準備処理の手順を説明したものである。
【００３０】
データ供給元システムからのデータ収集が行われた場合に、データ収集時点のデータ再利用に備えて蓄積ファイル１００を用いてデータを保持する。なお、蓄積ファイル１００の情報管理は、蓄積ファイル管理テーブル１０１にて行う。
【００３１】
利用者によるデータ変換フロー実行（ＩＤ＝４２）の指示によって、データ変換フロー実行が開始されると、ソート、集計の変換処理では、全てのレコードを揃えて処理する必要があり、リカバリ用の正常データ保持ポイント判別部２０が、その待合せポイント（正常データ保持ポイント）を変換フロー定義より判別して、データ変換のフロー実行管理テーブル２００に保持する。
【００３２】
また、正常データ保持ポイント判別部２０は、第１番目に現れる全データ一括変換処理（ソート／集計等の変換種別）を検知して、正常データ保持ポイントをフロー実行管理テーブル２００に保持する。
【００３３】
データ変換フローのデータ処理を開始すると、データ抽出部２１が、蓄積ファイル１００より対象となるデータの抽出を行い、レコード情報付加部１１が、抽出データへのレコード情報を付加する。具体的には、収集ファイル単位に管理する蓄積ファイルＩＤにレコード番号を追加し、データにレコード単位のＩＤが付加される。以降、異常発生時の異常レコードのみを対象としたレコード毎の管理がなされる。
【００３４】
データの1 レコード毎のＩＤ（識別子）として蓄積ファイルＩＤ及び蓄積ファイルＩＤ単位のレコード番号が埋込まれることによって、変換フローにおける変換エラーレコードの追跡が可能となる。
【００３５】
但し、本仕組みにおいて、データの管理情報は、収集ファイル単位で保持し、アクセス数削減による性能向上と管理情報数削減による容量削減を行っている。
【００３６】
つぎに、変換１２ａ、１２ｂを実行する。このとき、データ変換異常（レコード2 がコード変換エラー、レコード4 がクレンジングエラー）が発生すると、蓄積ファイルレコード管理情報１０１ａに異常レコード情報が書き込まれ、異常発生レコードのみレコード毎の情報管理がなされる。一方、変換１２ａ、１２ｂにおける正常レコードは、待合せ１６を制御する正常データ保持ポイントまで処理を続行し、蓄積ファイル１００に保持して蓄積ファイル管理テーブル１０１の”データ状態”を”格納済”とし、データ変換フロー処理を中断させる（リカバリ待ちの状態）。
【００３７】
図６は、本発明の実施の形態になるデータ変換エラー時の利用者による変換エラーデータの修正手順を説明する図（実施例１）を示す。
【００３８】
図５から続く利用者のデータ修正に伴うデータ抽出から格納までの処理の手順を示したものである。利用者が蓄積ファイル１００からデータ変換フロー実行ＩＤ＝４２を指定してデータ抽出操作０１をすると、リカバリデータ格納抽出部１５は、抽出処理（リカバリ）１５ａにて、蓄積ファイル管理テーブル１０１のフロー実行ＩＤにリンクする蓄積ファイルレコード管理情報１０１ａを取得する。蓄積ファイル１００から異常レコードＩＤを取得し、そのＩＤ（蓄積ファイルＩＤ＋レコード番号）を元に、蓄積ファイル１００から異常レコードのオフセット（位置）を特定して、抽出データファイル１００’にレコードＩＤを付加して抽出する（利用者には抽出データ情報が分かるよう蓄積ファイルレコード管理情報も出力する）。本抽出処理によって、変換エラーの個所やエラー内容に影響を受けずに、データ収集時点のレコードから異常レコードのみを収集して抽出することが可能となる。
【００３９】
つぎに、利用者がデータ修正０３（レコード２のみ修正してレコード４は無効レコードとして破棄）して、データ変換フロー実行ＩＤを指定して格納データファイルをデータ格納処理すると、付加されたレコードＩＤより修正レコードの蓄積ファイル１００におけるオフセット（位置）を特定してレコードは置換される。
【００４０】
格納データに含まれないレコードは、以降のリカバリで無効レコードとして扱うため、蓄積ファイルレコード管理情報１０１ａ（ファイルＡ）に無効レコードのフラグを立てる。データ抽出／格納操作においては、収集レコードの特定と再利用を行えることで、繰り返しリカバリ操作が可能，かつ，一部の異常レコードのみ修正してリカバリ実行することも可能であり、段階的な変換エラーのリカバリが可能となる。
【００４１】
図７は、本発明の実施の形態になるデータ変換フローのリカバリ実行操作と資源再利用によるリカバリ処理の構成（実施例１）を示す。本例は、図６から続くリカバリ実行処理の手順を示している。
【００４２】
利用者のリカバリ実行操作において、変換異常の発生個所が散在した場合や異常原因が異なる場合も（データ誤り／無効データ）、収集時点の異常レコードの特定や再利用／置き換えを可能とすることによって、データ変換フロー再実行と同一手順でリカバリ操作ができる。
【００４３】
リカバリ実行処理（実行ＩＤ＝４２）では、蓄積ファイル１００からのデータ抽出部２１において、蓄積ファイルレコード管理情報１０１ａを参照して、異常レコードに該当する修正レコード（未修正レコード含む）を全て抽出する（無効レコードは抽出抑止）。
【００４４】
抽出データに対するレコード情報付加部１１では、蓄積ファイルレコード管理情報１０１ａを参照して、修正レコードに対応する異常レコードのレコードＩＤを付加する。
【００４５】
変換部１２ａ、１２ｂは、修正レコードのみ変換処理を行い、データ変換フロー実行管理テーブル２００で管理する正常データ保持ポイントまでの変換処理を行う。中断再開処理２２の待ち合わせ処理においては、蓄積ファイルレコード管理情報１０１ａ内の異常レコードが全てなくなることを判別できたときに、該当レコードを削除し、後続の処理を行う。
【００４６】
リカバリ処理（中断再開処理２２）のマージ処理においては、修正レコードと蓄積ファイル１００に保持の正常処理済データをマージし、フロー開始時点のレコードＩＤ（蓄積ファイル＋通番）順にソート処理を行い、全データをフロー開始時点のレコード順に戻す。なお、本ソート処理は、正常レコードがソート済と同等のため処理オーバヘッドは極めて少ない。
【００４７】
以降は、全データによる変換３（集計) を行った後、レコード情報切取処理部１３でレコードＩＤを切り取ってデータ変換フローを完了させる。
【００４８】
以下、図８〜図１５を用いて、データ変換システムにおける各変換処理のフローを説明する。
【００４９】
図８は、本発明の実施の形態になるデータ変換システムにおけるデータ変換の全体フロー( 実施例１）を示す。各ステップ（Ｓ１１〜Ｓ２３）の処理は以下の通り。
Ｓ１１：データ変換装置１は、データ供給元システム２からデータを収集し、収集したデータを蓄積ファイル１００に保持し、蓄積ファイル管理テーブル１０１によって該データを管理する。
Ｓ１２：利用者による入力操作によって、データ変換処理フローが開始される。
Ｓ１３：データ変換フローにおける正常データ保持ポイントを判別（詳細は図９）。
Ｓ１４：蓄積ファイル１００からデータを抽出し、レコード毎にシステム内で識別可能なＩＤを付与するレコード識別情報付加処理を行う（詳細は図１０）。
Ｓ１５：データ変換フロー実行処理を行う（詳細は図１１）。
Ｓ１６：各データ変換処理に異常がなかったかを判定する。
Ｓ１７：異常があれば、利用者によるデータ修正を含めた異常データの抽出／格納処理を行う（詳細は図１３) 。
Ｓ１８：リカバリ用のデータ変換フロー処理を行う（詳細は図１４) 。
Ｓ１９：レコード識別情報切取部１３は、全データによる変換３（集計) を行った後、ステップＳ１４において付加されたレコード単位の識別情報を切り取る。
Ｓ２０：以上の処理結果を配布ファイル３００として出力し、データ変換フローを完了させる。
Ｓ２１：供給先システム３へ配布データを配付する。
【００５０】
図９は、本発明の実施の形態になる正常データ保持ポイントの判別処理フロー（実施例１）を示す。
Ｓ３１：データ変換フローの各変換定義内容および変換処理順序を読み込む。
Ｓ３２：変換フローに全レコードの待ち合わせが必要な変換（ソート／集計）があるか否かを判断する。
Ｓ３３：データ変換フローの第１番目に現れる全レコードの待ち合わせが必要な変換処理を検索する。
Ｓ３４：検索した変換処理の１つ前の変換処理を終えた直後に、正常データ保持ポイントと判別してデータ変換のフロー実行管理テーブル２００に設定する。
Ｓ３５：ステップＳ３２において、全レコードの待合せを必要とする変換がない場合には、データ変換フローの最終の変換処理直後に正常データ保持ポイントを設定する（データ変換フロー実行毎の管理情報に設定）。
【００５１】
図１０は、本発明の実施の形態になるレコード識別情報付加の処理フローを示す。
Ｓ４１：初回のデータ変換フローで処理対象とするデータを蓄積ファイル１００から一時ファイルにデータを抽出する。
Ｓ４２：一時ファイルから１レコード単位毎に切り出しを行う。
Ｓ４３：蓄積ファイル管理情報１０１ａに、蓄積ファイルＩＤ（収集ファイル毎のＩＤ）単位の管理レコードにデータ変換フローＩＤ（実行毎に採番) を書込む。
Ｓ４４：レコードの先頭に１項目を追加して、蓄積ファイルＩＤ（上位８ビット）＋蓄積ファイルＩＤ単位のレコード番号（下位８ビット) を設定し、後続の変換処理用の入力ファイルに書き込む。これによって、収集ファイル単位の蓄積ファイル情報の各レコードがレコード番号で管理される。
Ｓ４５：抽出データに対する最終レコードへの識別情報付加処理は終わったかを判断し、終わっていない場合には、ステップＳ４２に戻り、以降の処理を繰り返す。
【００５２】
図１１は、本発明の実施の形態になるデータ変換フロー実行の処理フロー（実施例１）を示す。
Ｓ５１：変換処理直後が正常データ保持ポイントかを判断する。
Ｓ５２：変換処理直後が正常データ保持ポイントである場合、変換処理の出力先に蓄積ファイルを割り当てる。
Ｓ５３：蓄積ファイル管理情報に新たなデータファイルの管理レコードを追加する。
Ｓ５４：ステップＳ５１において、正常データ保持ポイントでない場合、各変換処理の出力先をメモリまたは一時作業ファイルとする。
Ｓ５５：変換処理を１レコード毎実行する。
Ｓ５６：正常に処理されたか否かを判断する。
Ｓ５７：ステップＳ５６において、変換に異常があった場合に、異常レコードは変換せずに、異常レコード情報出力処理を行う（詳細は図１２）。
Ｓ５８：変換処理内の最終レコードかを判断する。最終レコードになければ、ステップＳ５５に戻り、以降の処理を繰り返す。
Ｓ５９：最終レコードであれば、正常データ保持ポイント以降、またはデータ変換フローの最終変換処理にあるかを判断する。最終でなければ、ステップＳ５１に戻り、以降の処理を繰り返す。
Ｓ６０：最終であれば、蓄積ファイルレコード管理情報内に異常レコードが残存するか否かを判断する。
Ｓ６１：異常レコードが残存していれば、蓄積ファイル管理情報の蓄積ファイルを格納済にして、データ変換フロー処理を中断する。
Ｓ６２：異常レコードが残存していなければ、リカバリフロー実行中か否かを判断する。リカバリフローが実行中でなければ、本フローは終了する。
Ｓ６３：リカバリフロー実行中の場合、中断再開処理を行う（詳細は図１５）。
Ｓ６４：データ変換処理は最終であるかを判断し、最終処理でない場合には、ステップＳ５１に戻って、以降の処理を繰り返す。
【００５３】
また、リカバリ時には、ステップＳ５６に続けて、（Ａ）のフローを走らせる。
Ｓ６５：リカバリ中か否かを判定し、リカバリ中でなければ、（Ａ）のフローは終了する。
Ｓ６６：リカバリ中ならば、蓄積ファイル管理情報に該当異常レコード情報があり、かつ、エラー発生以降の変換処理である場合、その異常レコード情報を削除する。
【００５４】
図１２は、本発明の実施の形態になる異常レコード情報出力の処理フローを示す。
Ｓ７１：シスログ（システムログ）へレコードＩＤ（蓄積ファイルＩＤ＋通番）、エラー変換番号、エラー内容等を埋め込んでエラーメッセージ出力する。
Ｓ７２：蓄積ファイル管理情報内の該当フローＩＤにリンクする蓄積ファイルレコード管理情報があるかを判断する。
Ｓ７３：蓄積ファイルレコード管理情報がある場合に、蓄積ファイルレコード管理情報に以下のＣＳＶ形式の情報レコードを追加（１レコード追加) する。
【００５５】
レコードＩＤ（蓄積ファイルＩＤ＋通番）、無効レコードフラグ、収集元システム、レコード長、エラー変換番号、エラー項目番号、レコード長、・・・等。
Ｓ７４：蓄積ファイルレコード管理情報がない場合に、蓄積ファイルレコード管理情報を生成して、蓄積ファイル管理情報内の該当フローＩＤの管理レコードに、生成ファイル名を設定する。
【００５６】
図１３は、本発明の実施の形態になる異常データ抽出／格納の処理フローを示す。
Ｓ８１：利用者が、エラー発生のデータ変換フローＩＤ（実行毎のＩＤ）を指定して、データ抽出を行う。
Ｓ８２：蓄積ファイル管理情報の該当フロー実行ＩＤの管理レコードより、蓄積ファイルレコード管理情報を特定する。
Ｓ８３：蓄積ファイルレコード管理情報から１レコード情報（ＣＳＶ形式）を読み込み、異常となったレコードＩＤを特定する。
Ｓ８４：レコードＩＤに対応する蓄積ファイルＩＤと通番（レコード番号) より、蓄積ファイルで管理の収集データから配置オフセットを特定する。
Ｓ８５：抽出データファイルにレコードＩＤを付加した該当レコードを追加する。
Ｓ８６：蓄積ファイルレコード管理情報の最終レコードかを判定する。最終レコードでなければ、ステップＳ８３に戻り、以降の処理を繰り返す。
Ｓ８７：最終レコードであれば、蓄積ファイルレコード管理情報をコピーして出力する。
Ｓ８８：利用者に異常レコード修正させる（付加されているレコードＩＤは残す）。
Ｓ８９：利用者が、格納データファイル（修正レコードファイル）を、エラー発生のデータ変換フローＩＤ（実行毎のＩＤ）を指定して格納する。
Ｓ９０：格納データファイルからレコードＩＤを読み込む。
Ｓ９１：レコードＩＤに対応する蓄積ファイルＩＤと通番（レコード番号) より、蓄積ファイルで管理の収集データから配置オフセットを特定する。
Ｓ９２：レコードＩＤを切り取って、特定したオフセットで蓄積ファイルで管理の収集データを修正レコードで上書きする。
Ｓ９３：蓄積ファイルレコード管理情報内のレコードＩＤと格納データファイル内のレコードＩＤとの比較結果を保持する。
Ｓ９４：蓄積ファイルレコード管理情報の全レコードの比較が終了かを判定する。比較が終了していなければ、ステップＳ９０に戻り、以降の処理を繰り返す。
Ｓ９４：比較が終了していれば、蓄積ファイルレコード管理情報内のレコードＩＤが格納データファイル内のレコードＩＤに対して余っていた場合、無効レコードフラグ（ＩＧＮ）を設定する。
【００５７】
図１４は、本発明の実施の形態になるデータ変換のリカバリ実行処理フローを示す。
Ｓ１０１：利用者が、エラー発生のデータ変換フローＩＤ（実行毎のＩＤ）を指定して、データ変換フローを再実行させる。
Ｓ１０２：蓄積ファイルレコード管理情報から、異常レコードＩＤを特定（無効レコードは無視）する。
Ｓ１０３：レコードＩＤに対応する蓄積ファイルＩＤと通番（レコード番号）より、蓄積ファイルで管理の収集データから配置オフセットを特定する。
Ｓ１０４：レコード識別情報付加処理を行う（詳細は図１０）。
Ｓ１０５：データ変換フロー実行の処理（詳細は図１１）及び中断再開処理を行う（詳細は図１５）。
【００５８】
図１５は、本発明の実施の形態になる中断再開の処理フローを示す。
Ｓ１１２：レコード退避時の蓄積ファイル割り当てＩＤから、退避データを特定して、データ出力先ファイルにコピーする（後続のリカバリ変換処理の出力レコードは追加書き）。
Ｓ１１３：レコードＩＤをキーにソートして、フロー開始時点の順に戻す．
（実施例２）
以下、図１６から図２２を用いて、変換エラー時に後続の変換処理影響を判別してフロー終了直前まで処理続行する方式につき、実施例１と異にする部分を中心に説明する。
【００５９】
図１６は、本発明の実施の形態になるエラー発生時におけるデータ変換の流れを説明する図（実施例２）である。
【００６０】
まず、正常データ保持ポイント判別部２０は、正常データ保持ポイントまでエラー続行の指定があるか否かをフロー実行管理テーブル２００を参照して判断する。エラー続行が指定されていれば、ソート／集計の変換処理の前に変換エラーが発生したときの待合せ処理１６において、エラー発生項目と以降に処理するソート／集計処理のキー項目（例えば、レコードデータ部のキー項目３）との関係の有無をチェックし（データ変換フローの項目関係情報を検索）、無関係であれば、待合せを行わずにその後の処理を続行させる。
【００６１】
このとき、異常レコードはエラー項目以外の項目データを処理しながら、データ変換フローの最終の変換処理まで続行する。
【００６２】
図１６の例では、データ変換フローの項目関係情報を検索して、後続変換処理の続行可否を判断し、後続のソート処理のキー項目３に影響しない項目でのエラーとなっているため待合せ処理が無視される。そして、変換３において、項目３のソート処理を行い、その処理結果を蓄積ファイル１００にデータＢとして出力する。また、蓄積ファイル１００の別領域に異常レコードを格納する。
【００６３】
また、リカバリを行う手順として、実施例１と同様に、利用者による異常レコードの修正とリカバリ操作を行うが、リカバリ実行処理においては、再度のソート／集計処理を行わずに、蓄積ファイル１００に保持された異常レコードを修正レコードに置換することによって変換処理を完了させる。
【００６４】
以上の本発明によって、変換エラー発生後に全てのレコードを揃えて処理する変換処理（ソート／集計）が現れても、待合せ処理において、それらの処理続行の可否（影響有無）を判断し、可能な場合に、変換処理を続行する構成とすることによって、リカバリ処理においては、データ変換フローの途中から全レコードを処理することがなくなり、実施例１と比較してリカバリ時間の更なる短縮を図ることが可能となる。
【００６５】
図１７は、本発明の実施の形態になるデータ変換エラー時の利用者による変換エラーデータの修正手順を説明する図( 実施例２）である。
【００６６】
変換エラー時に後続の変換処理影響を判別してフロー終了直前まで処理続行する本実施例において、利用者による変換エラーデータの修正処理の構成は、図６と同一の構成となる。例では、抽出処理１５ａによって、蓄積ファイルＩＤ＝８５２のエラーレコード４が抽出され、格納処理１５ｂによって、利用者が修正入力したレコード４ｘに置換されて再格納されることを示している。
【００６７】
図１８は、本発明の実施の形態になるデータ変換フローのリカバリ実行操作と資源再利用によるリカバリ処理の構成（実施例２）を示す。
【００６８】
蓄積ファイル１００内の異常レコードは、利用者による修正レコード（レコード４ｘ）によって置換され、ソートや集計のように、本来、全レコードの待合せが必要な変換処理が存在する場合であっても、修正レコードのみについてリカバリ処理を行うことによってリカバリ時間の更なる短縮が可能となる。
【００６９】
図１９は、本発明の実施の形態になるデータ変換システムにおけるデータ変換の全体フロー（実施例２）を示す。全体フローでは、ステップＳ２０３の正常データ保持ポイント判別処理（詳細は図２０) と、ステップＳ２０５のデータ変換フロー実行処理（詳細は図２１）を異にするが、後の処理は上述してきた図８の実施例１と同一である。ステップＳ２０３、Ｓ２０５の処理は、以下、それぞれ図２０、２１において詳述する。
【００７０】
図２０は、本発明の実施の形態になる正常データ保持ポイントの判別処理フロー（実施例２）を示す。ステップＳ２２１〜Ｓ２２５は、先に述べた図９の実施例１と同一の処理であるので、以下の説明は割愛する。
Ｓ２２６：データ変換フローの定義内容としてのエラー続行指定があるかを判断する。
Ｓ２２７：エラー続行指定があれば、データ変換フロー実行毎の管理情報としてフロー実行管理テーブル２００の「処理続行」項目に「有り」のフラグをたてる。これによって、データ変換フローは最終の変換処理直後まで処理が続行されることとなる。
【００７１】
図２１は、本発明の実施の形態になるデータ変換フロー実行の処理フロー（実施例２）を示す。以下では、図１１の実施例１と異にするデータ変換フロー実行処理の部分について説明する。
【００７２】
変換処理を１レコード毎実行した後、ステップＳ２３６において、正常に処理されたか否かを判断する。
Ｓ２４３：処理に異常があった場合に、図１２のフローにしたがって異常レコード情報をレコード管理情報１０１ａとしてエラー変換番号と項目番号を出力する。
Ｓ２４４：フロー実行テーブル２００を参照し、処理続行の指定があるか否かを判断する。
Ｓ２４５：処理続行指定がない場合、異常レコードについての変換処理は行わない。
Ｓ２４６：処理続行指定がある場合、異常項目以外のデータを変換処理結果レコードとして出力する一方、異常項目にはデータなし（空白または０）を設定した後、最終レコードとなるまで、次のレコードの処理を行う。
【００７３】
また、蓄積ファイルレコード管理情報内に異常レコードが残存するか否かを判断するステップＳ２４７において、残存する場合には、以下の処理を行う。
Ｓ２４７：（処理続行指定あり）で、かつ（データ変換フローの最終変換処理以外) か否かを判断する。最終変換処理以外であれば、以下の処理を行う。
Ｓ２４８：各変換項目の定義情報を検索し、後続の変換種別が「ソート」または「集計」となるキー項目情報を取得する。
Ｓ２４９：各変換の項目定義情報間のマッピング情報（項目リンク情報）から、キー項目とリンクする項目リストを抽出（各変換毎に該当する項目）する。
Ｓ２５０：キー項目が変換エラー項目にリンクする項目か否かを判断する。変換エラー項目にリンクする項目であれば、ステップＳ２５１において、蓄積ファイル管理情報の蓄積ファイルを格納済にし、データ変換フロー処理を中断して、本フローを終了させる。
【００７４】
また、キー項目が変換エラー項目にリンクする項目でないならば、ステップＳ２３１に戻って以降の処理を繰り返す。
【００７５】
なお、ステップＳ２５０の判断処理は、エラーレコード分繰り返し行われる。
【００７６】
一方、ステップＳ２４７において、データ変換フローが最終処理であれば、ステップＳ２５１において、蓄積ファイル管理情報の蓄積ファイルを格納済にして、データ変換フロー処理を中断する。
【００７７】
図２２は、本発明の実施の形態になるデータ変換フロー実行の処理フロー続き（実施例２）を示す。本例では、図２１のステップＳ２３６において、変換処理に異常がなかった場合、Ｓ２３６−Ｓ２４７間で、リカバリ時に走らせる処理フロー（Ｂ）を示す。
Ｓ２６１：本処理がリカバリ実行中であるか否かを判断する。リカバリ中でないなら、（Ｂ）の処理の適用はなく、リカバリ中であれば、以下の処理を行う。
Ｓ２６２：蓄積ファイル管理情報に、該当異常レコード情報有り、かつエラー発生以降の変換処理の場合、その異常レコード情報を削除する。
Ｓ２６３：（処理続行指定有り）かつ（最終の変換処理）かを判断する。最終処理でないなら、（Ｂ）のフローは終了とし、最終処理であれば、
Ｓ２６４：退避した蓄積ファイルデータからレコードＩＤを検索して、該当の異常レコードのオフセットを特定する。
Ｓ２６５：正常の変換レコードによって異常レコードを置換する。
【産業上の利用可能性】
【００７８】
複数のシステム間のデータを収集／加工／配布するデータ活用分野
【符号の説明】
【００７９】
１  データ変換装置
２  供給元システム
３  供給先システム
４  データ変換フロー処理部
１０  データ収集蓄積部
１１  レコード識別情報付加部
１２  変換部
１３  レコード識別情報切取部
１４  リカバリ処理部
１５  リカバリデータ格納抽出部
２０  正常データ保持ポイント
２１  データ抽出部
５０  リカバリ実行
１００  蓄積ファイル
１０１  蓄積ファイル管理テーブル
１０１ａ  レコード管理情報
１０２  蓄積データ（正常処理データ）
１０３  異常レコード
２００  フロー実行管理テーブル
３００  出力ファイル
【図１】
2010262587.tif 000003
【図２】
2010262587.tif 000004
【図３】
2010262587.tif 000005
【図４】
2010262587.tif 000006
【図５】
2010262587.tif 000007
【図６】
2010262587.tif 000008
【図７】
2010262587.tif 000009
【図８】
2010262587.tif 000010
【図９】
2010262587.tif 000011
【図１０】
2010262587.tif 000012
【図１１】
2010262587.tif 000013
【図１２】
2010262587.tif 000014
【図１３】
2010262587.tif 000015
【図１４】
2010262587.tif 000016
【図１５】
2010262587.tif 000017
【図１６】
2010262587.tif 000018
【図１７】
2010262587.tif 000019
【図１８】
2010262587.tif 000020
【図１９】
2010262587.tif 000021
【図２０】
2010262587.tif 000022
【図２１】
2010262587.tif 000023
【図２２】
2010262587.tif 000024
【図２３】
2010262587.tif 000025