JP2004152216A - バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム - Google Patents

バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム Download PDF

Info

Publication number
JP2004152216A
JP2004152216A JP2002319530A JP2002319530A JP2004152216A JP 2004152216 A JP2004152216 A JP 2004152216A JP 2002319530 A JP2002319530 A JP 2002319530A JP 2002319530 A JP2002319530 A JP 2002319530A JP 2004152216 A JP2004152216 A JP 2004152216A
Authority
JP
Japan
Prior art keywords
data
metadata
output
input
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.)
Granted
Application number
JP2002319530A
Other languages
English (en)
Other versions
JP4301431B2 (ja
Inventor
Yoshifumi Kobayashi
佳文 小林
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.)
Intelligent Model Ltd
Original Assignee
Intelligent Model Ltd
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 Intelligent Model Ltd filed Critical Intelligent Model Ltd
Priority to JP2002319530A priority Critical patent/JP4301431B2/ja
Publication of JP2004152216A publication Critical patent/JP2004152216A/ja
Application granted granted Critical
Publication of JP4301431B2 publication Critical patent/JP4301431B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】システム設計者やシステム管理者及びシステムを操作するオペレータの負担を大幅に軽減するとともに、開発コストの大幅な削減を図ることができるバッチ処理の手法を提案する。
【解決手段】バッチ処理装置は、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定のリポジトリに予め記憶されて登録されている情報であるメタデータを、リポジトリから取得し、この取得したメタデータの宣言処理に基づいて、入力データを入力し、入力データを加工して出力データを作成し、この出力データを出力する。この際、バッチ処理装置は、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、任意の入力データに基づいて所望の出力データを作成するバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムに関する。
【0002】
【従来の技術】
近年、コンピュータ装置等の情報処理装置の普及及び高度化にともない、情報処理装置を利用した各種情報処理システムが開発されている。このような各種情報処理システムの1つとしては、いわゆるバッチ処理を行うものがある。
【0003】
一般に、バッチ処理とは、1つ又は複数のプロセスからなる処理について予め一連の手順を設計しておき、ソースとなる入力データに対して自動的に連続処理を行うことによって所望の出力データを作成するものであり、例えば企業における売上データの集計処理といった大量のデータを収集して処理を行う場合に有効な処理方式である。このバッチ処理は、実行するにあたって1つ又は複数のプロセスを要し、各プロセスにおいては、当該プロセスを実現するプログラム内に記述された入力情報、加工処理内容、出力情報にしたがった処理が行われる。したがって、バッチ処理を行う情報処理システムを構築するにあたっては、まず、各プロセス間の相互関係を考慮したプロセスフローを設計した上で、各プロセスに対する入出力データの形式等を明確化し、入出力データ間の加工処理内容を設計することになる。そして、バッチ処理を行う情報処理システムを構築するにあたっては、加工処理内容を実現する機能を充足するプログラムを開発することになる。
【0004】
このようなバッチ処理を行う情報処理システムとしては、プロセスフローを設計し、各プロセスの入出力データを明確化した上で、いわゆる構造化問い合わせ言語(Structured Query Language;SQL)等を用いて所定の加工処理を実現するプログラムを自動的に作成するものがある。
【0005】
また、情報処理システムとしては、汎用的なプロセスを構築するために、プログラム内の一部に固定的な情報を有さず、当該一部を外部パラメータとして与えることにより、より汎用的なプログラムを作成するものもある。
【0006】
なお、情報処理システムの具体例としては、例えば、特許文献1及び特許文献2等がある。
【0007】
【特許文献1】
特開2001−60150号公報
【特許文献2】
特開平11−175327号公報
【0008】
【発明が解決しようとする課題】
ところで、所定の加工処理を実現するプログラムを作成する上述した従来の情報処理システムにおいては、1つのプロセスによって実現される加工処理内容が限定されることによってその機能を充足するプログラム自体が作成できない場合があった。また、このような従来の情報処理システムにおいては、加工処理内容を実現する機能を充足するために多くのプロセスの経由が必要である場合があるが、このような場合には、単一プロセス内や各プロセス間で授受される中間データが増大することにより、開発ボリュームの増大、開発後のシステムリスクの増大、処理時間の増大といった問題を招来していた。したがって、従来の情報処理システムにおいては、個々のアプリケーションに応じた独自のプログラム開発が必要とされているのが実情であった。
【0009】
また、プログラム内の一部に固定的な情報を有さず、当該一部を外部パラメータとして与える上述した従来の情報処理システムにおいては、外部パラメータが単一プロセス毎に独自に与えられるものであった。したがって、このような従来の情報処理システムにおいては、データ項目や加工処理内容等を変更した場合には、それに関係する全てのプロセスへ当該変更の内容が伝播するわけではなく、全ての出力データが自動的に変更されるものではなかった。
【0010】
このように、従来の情報処理システムは、個々のアプリケーションに応じた独自のプログラム開発が必要とされているのが実情であり、また、データ項目や加工処理内容等の変更に応じて、全ての出力データが自動的に変更されるものではなかった。
【0011】
また、バッチ処理を行うにあたっては、近年の情報化社会における情報処理システムの規模の肥大化や複雑化にともない、以下のような問題点が生じている。
【0012】
まず、第1の問題点としては、妥当なプロセスフローの設計指針が構築されないために、プロセスフローの多量複雑化とともに、プロセス上の入出力データの多量複雑化、換言すれば、いわゆるプロセスジャングル及びデータジャングルを招来することが挙げられる。
【0013】
また、第2の問題点としては、中間的に直積データを作成する方法が用いられている場合には、大規模容量且つ高速の情報処理装置を必要とすることが挙げられる。
【0014】
さらに、第3の問題点としては、取り扱う必要があるデータ項目が多くなるのにともない、類義項目及び同義項目が多量に発生し、いずれの処理にどのデータが用いられるのかを判別するのが困難となることが挙げられる。
【0015】
さらにまた、第4の問題点としては、これらの要因により、プログラムの増大及び変更に際するシステム設計者やシステム管理者及びシステムを操作するオペレータの負荷が著しく増大することが挙げられる。
【0016】
バッチ処理を行うにあたっては、これらの各種問題を要因として、開発コスト及び保守コストの増加、並びに品質の低下が顕著になりつつあることが懸念されている。
【0017】
本発明は、このような実情に鑑みてなされたものであり、何ら煩雑な手間をかけることなく、低いコストのもとに任意の入力データに基づいて所望の出力データを作成することができるバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムを提供することを目的とする。
【0018】
【課題を解決するための手段】
上述した目的を達成する本発明にかかるバッチ処理装置は、任意の入力データに基づいて所望の出力データを作成するバッチ処理装置であって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、記憶手段から取得するメタデータ取得手段と、このメタデータ取得手段を介して取得したメタデータの宣言処理に基づいて、入力データを入力するデータ入力手段と、メタデータ取得手段を介して取得したメタデータの宣言処理に基づいて、データ入力手段を介して入力した入力データを加工して出力データを作成する加工処理手段と、メタデータ取得手段を介して取得したメタデータの宣言処理に基づいて、加工処理手段によって作成された出力データを出力するデータ出力手段とを備え、加工処理手段は、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成することを特徴としている。
【0019】
また、上述した目的を達成する本発明にかかるバッチ処理方法は、任意の入力データに基づいて所望の出力データを作成するバッチ処理方法であって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、記憶手段から取得するメタデータ取得工程と、このメタデータ取得工程にて取得したメタデータの宣言処理に基づいて、入力データを入力するデータ入力工程と、メタデータ取得工程にて取得したメタデータの宣言処理に基づいて、データ入力工程にて入力した入力データを加工して出力データを作成する加工処理工程と、メタデータ取得工程にて取得したメタデータの宣言処理に基づいて、加工処理工程にて作成された出力データを出力するデータ出力工程とを備え、加工処理工程では、メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されることを特徴としている。
【0020】
さらに、上述した目的を達成する本発明にかかるバッチ処理プログラムは、任意の入力データに基づいて所望の出力データを作成するコンピュータ実行可能なバッチ処理プログラムであって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、記憶手段から取得するメタデータ取得処理と、このメタデータ取得処理にて取得したメタデータの宣言処理に基づいて、入力データを入力するデータ入力処理と、メタデータ取得処理にて取得したメタデータの宣言処理に基づいて、データ入力処理にて入力した入力データを加工して出力データを作成する加工処理と、メタデータ取得処理にて取得したメタデータの宣言処理に基づいて、加工処理にて作成された出力データを出力するデータ出力処理とを備え、加工処理では、メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されることを特徴としている。
【0021】
さらにまた、上述した目的を達成する本発明にかかるバッチ処理システムは、任意の入力データに基づいて所望の出力データを作成するバッチ処理システムであって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であるメタデータを予め記憶して登録する記憶装置と、所定の仕様に基づいてメタデータを生成し、生成したメタデータを記憶装置に対して登録する第1の操作装置と、メタデータを記憶装置から取得し、取得したメタデータの宣言処理に基づいて、入力データを入力し、入力した入力データを加工して出力データを作成し、出力データを出力する処理装置と、処理装置に対して少なくともバッチ処理の起動指示を与える第2の操作装置とを備え、処理装置は、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成することを特徴としている。
【0022】
このような本発明にかかるバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムは、それぞれ、予め登録されている情報であるメタデータの宣言処理に基づいて、入力データを加工して出力データを作成する際に、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成する。
【0023】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0024】
この実施の形態は、任意の入力データに基づいて所望の出力データを作成するバッチ処理装置である。このバッチ処理装置は、少なくとも、”データ項目名称は何か”、”入力は何か”、”加工処理内容は何か”、及び”出力は何か”といった情報をメタデータとして所定のリポジトリに予め記憶させて登録しておき、このメタデータの宣言によるバッチ処理を行うものであり、登録されたメタデータの宣言処理に基づいて、入力データを加工して出力データを作成するものである。
【0025】
特に、バッチ処理装置は、メタデータの宣言処理によるノンプログラミング手法を確立するとともに、メタデータの変更に応じて当該メタデータに関係する全ての出力データを自動的に変更する処理を確立するものである。また、バッチ処理装置は、このような処理を行うために、必要なメタデータの登録機能とその一元管理機能とを有し、さらに、そのメタデータの登録内容に基づいて、目的の出力データを作成するための必要なプロセスフローと各プロセスで作成される中間データの内容とを、プロセス実行上のメタデータとして新たに生成し、これを登録することにより、必要なメタデータの登録のみで、ソースとなる入力データに基づいて、目的の出力データの作成を実現するものである。
【0026】
まず、本発明の実施の形態として示すバッチ処理装置において登録されるメタデータの概念について説明する。
【0027】
バッチ処理においては、例えばいわゆるRDBMS(Relational DataBase Management System)等のリレーショナルデータモデルによって管理されるテーブル形式で表現された階層構造を有するデータに対して、各種集合演算等の所定の加工処理を施し、出力データを得るのが通常である。
【0028】
この目的を達成するために、本発明の実施の形態として示すバッチ処理装置においては、図1に示すように、少なくとも、”データ項目名称は何か”、”入力は何か”、”加工処理内容は何か”、及び”出力は何か”といった情報をメタデータとして所定のリポジトリに予め登録する。
【0029】
ここで、”データ項目名称は何か”を示すメタデータは、データ項目名称やデータ項目がコード(カテゴリ)を有する場合にはそのカテゴリ名称を定義するものである。また、”入力は何か”を示すメタデータは、入力データ、すなわち、管理対象を定義するものであり、入力データのフォーマットを示す他、データ項目がコードを有する場合には、当該各コード等を示すものである。さらに、”加工処理内容は何か”を示すメタデータは、処理対象に合致する入力データを抽出するための抽出条件式や入力データのデータ項目によって導出される出力データを表現する導出演算式等を定義するものであり、各データ項目、すなわち、列間の演算の他、複数のレコード間、すなわち、行間の演算をも定義するものである。さらにまた、”出力は何か”を示すメタデータは、出力データを定義するものであり、出力データのデータ項目やそのフォーマット等を示すものである。なお、これらのメタデータの具体例については、後述するものとする。
【0030】
バッチ処理装置は、これらの各種メタデータをリポジトリから取得することにより、メタデータに応じた各種処理を行うことになる。
【0031】
また、バッチ処理装置においては、リポジトリに予め登録されている上述した各種メタデータに基づいて、バッチ処理のプロセスフローを示す情報、各プロセスで作成される中間データのフォーマットといった中間データの内容、各プロセスにおける入力データと出力データとの間のリンク情報等がメタデータとして新たに生成され、リポジトリに登録される。
【0032】
これにより、バッチ処理装置は、リポジトリに登録されたこれらのメタデータによって定義されている実行するプロセスとその起動タイミング、及び実行するプロセスの順序にしたがって各プロセスを実行する。このとき、バッチ処理装置は、前のプロセスが終了したら後続するプロセスを起動するといったように、プロセスフローにしたがって各プロセスを順次起動し、目的の出力データを作成することになる。
【0033】
さて、以下では、このようなメタデータの宣言によるバッチ処理装置について具体的に説明する。
【0034】
バッチ処理装置は、図2に示すように、ユーザ仕様を入力する表示及び操作部10と、この表示及び操作部10を介して作成されたユーザ仕様に基づいてメタデータを生成してリポジトリ30に登録するメタデータ入力部20と、メタデータを記憶するリポジトリ30と、このリポジトリ30に記憶されて登録されたメタデータに基づいて各種演算プロセスを実行する演算プロセス部40と、プロセス運用を管理するために使用する表示及び操作部50と、プロセス運用を管理するプロセス運用管理部60とを備える。なお、同図においては、表示及び操作部10,50を、それぞれ、別個の部位として示しているが、バッチ処理装置を例えば1台のコンピュータ装置等によって構成する場合には、共通の部位として構成してもよい。
【0035】
表示及び操作部10は、例えばLCD(Liquid Crystal Display)といった表示装置や、キーボード及びマウスといった操作装置等のユーザ・インターフェースとして構成される。バッチ処理装置においては、システム設計者やシステム管理者が、この表示及び操作部10を介して入力データや出力データの仕様や加工内容等の仕様といったユーザ仕様の登録及び変更を行う。この表示及び操作部10を介して入力された情報は、メタデータ入力部20に供給される。
【0036】
メタデータ入力部20は、表示及び操作部10を介して入力されたユーザ仕様に基づいてメタデータを生成するとともに、生成したメタデータをリポジトリ30に記憶させて登録するためのインターフェースとして機能する。メタデータは、このメタデータ入力部20を介してリポジトリ30に供給される。また、メタデータ入力部20は、リポジトリ30に記憶されているメタデータに基づいて、バッチ処理のプロセスフローを示す情報、各プロセスで作成される中間データのフォーマットといった中間データの内容、各プロセスにおける入力データと出力データとの間のリンク情報等をメタ−データとして新たに生成し、リポジトリに登録する。
【0037】
リポジトリ30は、例えば、ハードディスクや、これらのハードディスクを複数台用いていわゆるRAID(Redundant Arrays of Independent (Inexpensive) Disks)構成とした装置といった所定の外部記憶装置上に作成されるものである。リポジトリ30は、メタデータ入力部20から供給されたメタデータを記憶することによって登録する。このリポジトリ30に登録されたメタデータは、プロセス運用管理部60の制御のもとに読み出され、演算プロセス部40に供給される。また、リポジトリ30に登録されたメタデータは、メタデータ入力部20によっても読み出される。
【0038】
演算プロセス部40は、後に詳述するが、複数のプロセス部からなる。演算プロセス部40は、プロセス運用管理部60からバッチ処理の起動指示を示す制御信号が供給されると、リポジトリ30からメタデータを取得し、このメタデータの宣言処理に基づいて、図示しない所定の外部記憶装置等に記憶されている1つ又は複数の入力データを入力し、プロセス運用管理部60の制御のもとに各種演算プロセスを実行して加工処理を施し、1つ又は複数の出力ファイルからなる出力データとして出力する。なお、ここでの入力データとは、ソースとなるデータが含まれるのは勿論であるが、後述するように、ある一の演算プロセスで作成された中間データを他の演算プロセスに対する入力として用いる場合には、当該他の演算プロセスについては当該中間データも含まれる概念である。また、出力データについても同様に、最終的に出力するデータが含まれるのは勿論であるが、後述するように、ある一の演算プロセスで作成された中間データを他の演算プロセスに対する入力として用いる場合には、当該一の演算プロセスについては当該中間データも含まれる概念である。演算プロセス部40は、中間データや出力データを作成すると、これらのデータを図示しない所定の外部記憶装置等に書き込み、必要に応じて、外部記憶装置等に書き込んだデータを読み出す。
【0039】
表示及び操作部50は、表示及び操作部10と同様に、例えばLCDといった表示装置や、キーボード及びマウスといった操作装置等のユーザ・インターフェースとして構成される。バッチ処理装置においては、システムを操作するオペレータが、当該バッチ処理装置を用いてバッチ処理を行う際に、この表示及び操作部50を介してバッチ処理の起動指示等を与えるといったプロセス運用を管理するための操作を行う。また、表示及び操作部50には、最終的に出力される出力データを表示することもできる。すなわち、表示及び操作部50は、オペレータが操作してバッチ処理の起動指示や監視を行うものである。この表示及び操作部50を介して入力されたバッチ処理の起動指示等を示す情報は、プロセス運用管理部60に供給される。
【0040】
プロセス運用管理部60は、表示及び操作部50を介して行われた指示に応じたプロセス運用を管理する。プロセス運用管理部60は、表示及び操作部50を介して指示が与えられると、対応するメタデータがリポジトリ30から読み出されるように当該リポジトリ30に対して制御信号を供給するとともに、演算プロセス部40に対応する処理を行わせるための制御信号を供給する。
【0041】
このようなバッチ処理装置は、具体的には図3に示すようなハードウェアによって実装される。なお、同図においては、表示及び操作部10,50については図示していない。すなわち、バッチ処理装置は、メタデータ入力部20、演算プロセス部40、及びプロセス運用管理部60の機能を、メモリ100上で展開されるプログラムにしたがって制御されるCPU(Central Processing Unit)110によって実現することができる。また、バッチ処理装置においては、演算プロセス部40として機能するCPU110による演算プロセスの実行前に、メタデータ入力部20として機能するCPU110により、リポジトリ30が外部記憶装置120上に予め作成される。さらに、バッチ処理装置においては、ソースとなる入力データが外部記憶装置120に予め記憶されるとともに、出力データが作成されると、この出力データが外部記憶装置120に記憶される。
【0042】
このように、バッチ処理装置は、メタデータ及び処理するデータをメモリ100に展開する構成とすることにより、処理の高速化を図ることができる。
【0043】
さて、このようなバッチ処理装置は、演算プロセス部40によって各種演算プロセスを実行することにより、所定の加工処理を入力データに対して施す。ここで、演算プロセス部40によって実現すべき機能を考えるために、バッチ処理に必要とされる機能について考える。
【0044】
まず、バッチ処理に必要な機能としては、データの入出力機能が挙げられる。すなわち、バッチ処理においては、データの入出力機能として、リレーション制御をともなう複数の対象テーブルの入力機能と、対象テーブルへの出力機能とを必要とする。
【0045】
また、バッチ処理に必要な機能としては、データ構造変換機能が挙げられる。すなわち、バッチ処理においては、データ構造変換機能として、出力のデータ構造に変換する機能を必要とする。
【0046】
さらに、バッチ処理に必要な機能としては、1つのレコード上のデータ項目間、すなわち、列間の演算機能が挙げられる。すなわち、バッチ処理においては、データ項目間の演算機能として、処理対象に合致する入力データを抽出するための抽出条件機能、入力データのデータ項目がコードを有する場合に当該コードを出力データのコードに変換するコード変換機能、及び四則演算や各種関数演算といった条件付きの導出演算機能を必要とする。
【0047】
さらにまた、バッチ処理に必要な機能としては、レコード間、すなわち、行間の演算機能が挙げられる。すなわち、バッチ処理においては、レコード間の演算機能として、例えば店舗や顧客といったデータ項目を要素として出力データの出力単位を表現するための管理単位毎に集約して出力するための管理単位演算機能を必要とする。また、バッチ処理においては、レコード間の演算機能として、例えば農業や漁業といった業種を一次産業という一の業種コードにまとめて演算を行うことを可能とするためのカテゴリ階層の演算機能とを必要とする。さらに、バッチ処理においては、レコード間の演算機能として、入力データ上に存在する親子関係の合計処理といったグループ演算を行うグループ演算機能を必要とする。さらにまた、バッチ処理においては、レコード間の演算機能として、例えば取引番号毎に演算を行い、顧客単位毎に集約するといった場合のように、演算単位と集約単位とを用いた四則演算や各種関数演算等の条件発行付きの導出演算機能を必要とする。
【0048】
また、バッチ処理に必要な機能としては、時系列更新及び演算機能が挙げられる。すなわち、バッチ処理においては、時系列更新機能、過去計数設定機能、対比演算機能、及び過去訂正機能等を必要とする。
【0049】
ここで、バッチ処理装置は、上述したように、メタデータ及び処理するデータをメモリ100に展開する構成とすることにより、処理の高速化を図ることができる。しかしながら、バッチ処理装置においては、管理単位の1つのインスタンス内のデータ処理については、データ量が限定されるためにメモリ100に展開して処理を行うことが可能であるが、上述したグループ演算及び時系列演算のように、管理単位の複数のインスタンスに跨るデータ間の演算処理を行う場合には、データ量が大きいためにメモリ100に展開することが困難な場合が生じる。
【0050】
そこで、バッチ処理装置は、メモリ100に展開して処理を行うにもかかわらず、上述した各種機能を全て満足するために、演算プロセス部40として、図4に示すように、3つのプロセス部、すなわち、上述したグループ演算及び時系列演算を除く通常演算を行う通常演算プロセス部150、入力データ上に存在する親子関係におけるグループ集計であるグループ演算プロセスを行うグループ演算プロセス部160、及び時系列データに対する更新を行う時系列演算プロセスを行う時系列演算プロセス部170を設け、さらに、グループ演算プロセス及び時系列演算プロセスの間に中間的にデータを作成するように構成される。また、バッチ処理装置においては、通常演算プロセス部150が、ここでは図示しないが、サマリーデータを作成する場合に生成されるサマリー演算プロセスを行うサマリー演算プロセス部と、明細データを作成する場合に生成される明細演算プロセスを行う明細演算プロセス部とに大別される。
【0051】
なお、サマリーデータとは、例えば図5に示すように、支店番号、支店名、支店住所、サービス店舗表示といった情報からなる支店テーブルと、顧客番号、氏名、住所、業種コード、支店番号、契約日といった情報からなる顧客テーブルと、取引番号、顧客番号、商品コード、取引コード、取引金額といった情報からなる取引テーブルとをソースとなる入力データとし、この入力データに基づいて出力データ(ユーザビュー)として作成される支店別サマリーのクロス集計表等である。なお、ユーザビューは、表示画面上に出力表示する際の設計仕様であるが、実際にデータとして出力する出力データのフォーマットとは同一であってもよく、一部異なるものであってもよい。このユーザビューと出力データとの関係については、後に例を取り上げて説明する。
【0052】
また、明細データとは、例えば図6に示すように、支店番号、支店名、支店住所、支店種類、地区コードといった情報からなる支店テーブルと、顧客番号、氏名、住所、業種コード、支店番号、残高といった情報からなる顧客テーブルと、取引番号、勘定日、勘定区分、取引金額、顧客番号といった情報からなる取引テーブルとをソースとなる入力データとし、この入力データに基づいて出力データ(ユーザビュー)として作成される顧客別明細票等である。
【0053】
バッチ処理装置においては、これらの通常演算プロセス部150、グループ演算プロセス部160、及び時系列演算プロセス部170が、図7に示すように、互いに直列のプロセスフローを形成する。なお、演算プロセス部40においては、3つのプロセス部のうち、グループ演算プロセス部160及び時系列演算プロセス部170については、メタデータMDとして生成されるプロセスフローに存在していた場合にのみ実行される。
【0054】
ここで、図4に示した入力データは、図7におけるソースファイル又は中間ファイルに対応し、図4に示した出力データは、図7における中間ファイル又は出力ファイルに対応する。すなわち、バッチ処理装置においては、ある一の直列のプロセスフロー上の出力データは、他の直列のプロセスフロー上の入力データとして、メタデータ上に定義することができ、これにより、プロセスのネットワークを構成することができる。
【0055】
具体的には、図7に示すように、通常演算プロセス部150は、メタデータMDを取得するメタデータ取得部151と、入力データとしてのソースファイルSFを入力する入力部152と、通常演算を行う通常演算部153と、出力データとしての中間ファイルMFを出力する出力部154とからなる。また、グループ演算プロセス部160は、メタデータMDを取得するメタデータ取得部161と、入力データとしての中間ファイルMFを入力する入力部162と、グループ演算を行うグループ演算部163と、出力データとしての中間ファイルMFを出力する出力部164とからなる。さらに、時系列演算プロセス部170は、メタデータMDを取得するメタデータ取得部171と、入力データとしての中間ファイルMFを入力する入力部172と、時系列演算を行う時系列演算部173と、出力データとしての出力ファイルOFを出力する出力部174とからなる。
【0056】
このような3つのプロセス部からなる演算プロセス部40においては、通常演算プロセスによって作成された出力データを、グループ演算プロセスにて用い、さらに、グループ演算プロセスによって作成された出力データを、時系列演算プロセスにて用いる場合には、以下のように、各演算プロセス間でデータの授受が行われる。
【0057】
すなわち、演算プロセス部40においては、メタデータMDが通常演算プロセス部150におけるメタデータ取得部151に入力されるとともに、入力データとしての1つ又は複数のソースファイルSFが入力部152に入力されると、通常演算部153によってメタデータMDに基づく所定の通常演算が行われ、出力データとしての1つの中間ファイルMFが出力部154から出力される。
【0058】
続いて、演算プロセス部40においては、メタデータMDがグループ演算プロセス部160におけるメタデータ取得部161に入力されるとともに、通常演算プロセス部150における出力部154から出力された1つの中間ファイルMFや図示しないがグループ情報が設定されているソースファイルが入力データとして入力部162に入力されると、グループ演算部163によってメタデータMDに基づく所定のグループ演算が行われ、出力データとしての1つの中間ファイルMFが出力部164から出力される。
【0059】
そして、演算プロセス部40においては、メタデータMDが時系列演算プロセス部170におけるメタデータ取得部171に入力されるとともに、グループ演算プロセス部160における出力部164から出力された1つの中間ファイルMFや図示しないが通常プロセス部150における出力部154から出力された中間ファイルが入力データとして入力部172に入力されると、時系列演算部173によってメタデータMDに基づく所定の時系列演算が行われ、出力データとしての1つ又は複数の出力ファイルOFが出力部174から出力される。
【0060】
このように、バッチ処理装置においては、通常演算プロセスによって作成された出力データを、グループ演算プロセスにて用い、さらに、グループ演算プロセスによって作成された出力データを、時系列演算プロセスにて用いるように、プロセスのネットワークが構成される。また、バッチ処理装置においては、通常演算プロセスしか行う必要がない場合には、中間データを出力することなく1つ又は複数の出力データを作成して出力する。一方、バッチ処理装置においては、他のプロセスに移行する場合には、中間データを作成するが、この中間データは、最終的に複数の出力データを作成する場合であっても、1つのみ作成すればよい。すなわち、バッチ処理装置においては、最終的に複数の出力データを作成する場合であっても、これら複数の出力データに対応して中間データを別個に作成する必要はなく、複数の出力データを作成するに至るために必要な情報を1つの中間データとして作成することができる。
【0061】
また、バッチ処理装置においては、例えば、メタデータ上に定義される任意の業務単位、日次や月次等の処理タイミング(処理サイクル)、店舗や顧客等の出力データの出力単位を特定する管理単位、及び明細データを作成するのかサマリーデータを作成するのかの区分毎にプロセスフローが生成され、これらのプロセスフロー上の出力データが、上述したように、他のプロセスフロー上の入力データとして用いられるように、メタデータを定義することができる。
【0062】
例えば、バッチ処理装置においては、”○○業務についての日次の取引別明細”、”○○業務についての日次の支店別サマリー”、”○○業務についての月次の支店別サマリー”、”△△業務についての月次の顧客別明細”、”◇◇業務についての日次の顧客別明細”、及び”◇◇業務についての日次の顧客別サマリー”を作成したい場合には、図8に示すようなプロセスフローを生成するように、メタデータを定義する。
【0063】
すなわち、バッチ処理装置においては、”○○業務についての日次の取引別明細”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図8中1段目に示すように、明細演算プロセスと、この明細演算プロセスによって作成された出力データを入力データとするグループ演算プロセスとを生成する。
【0064】
また、バッチ処理装置においては、”○○業務についての日次の支店別サマリー”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図8中2段目に示すように、サマリー演算プロセスと、このサマリー演算プロセスによって作成された出力データを入力データとするグループ演算プロセスと、このグループ演算プロセスによって作成された出力データを入力データとする時系列演算プロセスとを生成する。このとき、バッチ処理装置においては、サマリー演算プロセスに対する入力データとして、”○○業務についての日次の取引別明細”を作成する際に行われた明細演算プロセスによって作成された出力データを用いるように、メタデータを定義する。
【0065】
さらに、バッチ処理装置においては、”○○業務についての月次の支店別サマリー”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図8中3段目に示すように、サマリー演算プロセスと、このサマリー演算プロセスによって作成された出力データを入力データとする時系列演算プロセスとを生成する。
【0066】
さらにまた、バッチ処理装置においては、”△△業務についての月次の顧客別明細”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図8中4段目に示すように、明細演算プロセスと、この明細演算プロセスによって作成された出力データを入力データとするグループ演算プロセスと、このグループ演算プロセスによって作成された出力データを入力データとする時系列演算プロセスとを生成する。
【0067】
また、バッチ処理装置においては、”◇◇業務についての日次の顧客別明細”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図8中5段目に示すように、明細演算プロセスを生成する。
【0068】
さらに、バッチ処理装置においては、”◇◇業務についての日次の顧客別サマリー”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図8中6段目に示すように、サマリー演算プロセスを生成する。
【0069】
このように、バッチ処理装置においては、管理単位及びサイクル毎にプロセスフローが生成され、これらのプロセスフロー上の出力データが、他のプロセスフロー上の入力データとして用いられるように、メタデータを定義することにより、様々なプロセスのネットワークを構成することができる。
【0070】
つぎに、以上のような処理概念からなるバッチ処理装置における各演算プロセス毎に生成されるメタデータの内容について具体的に説明するとともに、各演算プロセスの処理内容についてさらに詳述する。
【0071】
まず、サマリー演算プロセスの場合について説明する。
【0072】
バッチ処理装置においては、サマリー演算プロセスを実現するために、図9に示す構成からなるサマリー演算プロセスを行うサマリー演算プロセス部150に対して、リポジトリ30から各種メタデータが与えられる。
【0073】
ここで、先に図7に示した通常演算プロセス部150における通常演算部153に対応するサマリー演算部153は、図9に示すように、抽出条件を判定する抽出条件判定部201と、コード変換を行うコード変換部202と、四則演算や各種関数演算等の条件付きの導出演算を行う導出演算部203と、多次元多階層のサマリーデータを作成する場合にメタデータで定義されるカテゴリ間の階層に基づくカテゴリ演算を行うカテゴリ演算部204と、さらに多次元多階層のサマリーデータを作成するためにカテゴリ演算部204によるカテゴリ演算後に導出演算を行うカテゴリ演算後導出演算部205と、出力データの構造に変換するデータ構造変換部206とを有する。
【0074】
また、バッチ処理装置においては、サマリー演算プロセスを行うために必要となるメタデータとして、後述する各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、入力データのデータ項目を要素として表現される抽出条件式を示す抽出条件メタデータと、入力データのデータ項目の値を出力データのコードに変換するコード変換の内容とその変換方法を示すコード変換メタデータと、入力データのデータ項目によって導出される出力データを表現する導出演算式を示す導出演算メタデータと、多次元多階層のサマリーデータを作成する場合にカテゴリ間の階層に基づくカテゴリ演算を示すカテゴリ演算メタデータと、さらに多次元多階層のサマリーデータを作成する場合にカテゴリ間の階層に基づくカテゴリ演算後の導出演算式を示すカテゴリ演算後導出演算メタデータと、後述する集計結果を保持するためのエリアである集計バッファを示す集計エリアメタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ30に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部151を介して各部に供給される。
【0075】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部151を介して入力部152、サマリー演算部153、及び出力部154に供給され、このインターフェースメタデータに基づいて各種バッファやこれらバッファ間のリンク関係が明示される。
【0076】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部151を介して入力部152及び出力部154に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や、管理単位や複数のデータ間のリレーション関係が明示される。
【0077】
さらに、バッチ処理装置においては、抽出条件メタデータが、メタデータ取得部151を介して抽出条件判定部201に供給され、この抽出条件メタデータに基づいて抽出条件の判定が行われる。
【0078】
さらにまた、バッチ処理装置においては、コード変換メタデータが、メタデータ取得部151を介してコード変換部202に供給され、このコード変換メタデータに基づいてコード変換が行われる。
【0079】
また、バッチ処理装置においては、導出演算メタデータが、メタデータ取得部151を介して導出演算部203に供給され、この導出演算メタデータに基づいて導出演算が行われる。
【0080】
また、バッチ処理装置においては、カテゴリ演算メタデータが、メタデータ取得部151を介してカテゴリ演算部204に供給され、このカテゴリ演算メタデータに基づいてカテゴリ演算が行われる。
【0081】
さらに、バッチ処理装置においては、集計エリアメタデータが、メタデータ取得部151を介してカテゴリ演算部204に供給され、このカテゴリ演算メタデータに基づいて集計バッファが明示される。
【0082】
さらにまた、バッチ処理装置においては、カテゴリ演算後導出演算メタデータが、メタデータ取得部151を介してカテゴリ演算後導出演算部205に供給され、このカテゴリ演算後導出演算メタデータに基づいてカテゴリ演算後の導出演算が行われる。
【0083】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部151を介してデータ構造変換部206に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【0084】
このような各種メタデータに基づく処理を行うサマリー演算プロセス部150は、図10に示す一連の工程を経ることにより、サマリー演算プロセスを実現する。
【0085】
まず、サマリー演算プロセス部150は、同図に示すように、ステップS1において、各種メタデータをリポジトリ30から取得し、先に図3に示したメモリ100に展開すると、ステップS2において、入力データを保持するための入力バッファ、処理のための中間バッファ、出力データを保持するための出力バッファ、及び集計結果を保持するための集計バッファを、インターフェースメタデータに基づいてメモリ100に展開する。
【0086】
続いて、サマリー演算プロセス部150は、ステップS3において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ100に展開された入力バッファに設定する。なお、サマリー演算プロセス部150は、複数の入力データを入力する場合には、複数の入力バッファをメモリ100に展開し、複数の入力データを各入力バッファに設定する。
【0087】
続いて、サマリー演算プロセス部150は、ステップS4において、全ての入力データについて処理を行ったか否かを判定する。ここで、サマリー演算プロセス部150は、全ての入力データについて処理を行っていないものと判定した場合には、ステップS5へと処理を移行する。一方、サマリー演算プロセス部150は、全ての入力データについて処理を行ったものと判定した場合には、ステップS12へと処理を移行する。
【0088】
サマリー演算プロセス部150は、ステップS4にて全ての入力データについて処理を行っていないものと判定した場合には、ステップS5において、抽出条件判定部201によって抽出条件メタデータに基づいて抽出条件を判定する。
【0089】
そして、サマリー演算プロセス部150は、ステップS6において、抽出条件を満たしていないものと判定した場合には、当該入力データについては処理を行わず、ステップS3からの処理を繰り返す。
【0090】
一方、サマリー演算プロセス部150は、ステップS6において、抽出条件を満たしているものと判定した場合には、ステップS7において、管理単位の値が変化したか否かを判定する。
【0091】
ここで、サマリー演算プロセス部150は、ステップS7にて管理単位の値が変化したものと判定した場合には、ステップS12へと処理を移行し、カテゴリ演算後導出演算部205によってカテゴリ演算後導出演算メタデータに基づいてカテゴリ演算後の導出演算を行い、その結果をメモリ100に展開された集計バッファに設定する。
【0092】
続いて、サマリー演算プロセス部150は、ステップS13において、集計バッファの内容をメモリ100に展開された出力バッファに設定し、ステップS14において、出力バッファの内容をデータベースに出力する。なお、サマリー演算プロセス部150は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部206によってデータ構造変換メタデータに基づいて集計バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。そして、サマリー演算プロセス部150は、ステップS8へと処理を移行する。
【0093】
一方、サマリー演算プロセス部150は、ステップS7にて管理単位の値が変化していないものと判定した場合には、ステップS8へと処理を移行する。サマリー演算プロセス部150は、ステップS8において、入力バッファの内容をメモリ100に展開された中間バッファに設定し、ステップS9において、コード変換部202によってコード変換メタデータに基づいてコード変換を行い、その結果を中間バッファに設定する。
【0094】
続いて、サマリー演算プロセス部150は、ステップS10において、導出演算部203によって導出演算メタデータに基づいて導出演算を行い、その結果を中間バッファにさらに加算更新する。
【0095】
そして、サマリー演算プロセス部150は、ステップS11において、カテゴリ演算部204によってカテゴリ演算メタデータ及び集計エリアメタデータに基づいてカテゴリ演算を行い、その結果を集計バッファにさらに加算更新し、ステップS3からの処理を繰り返す。
【0096】
サマリー演算プロセス部150は、以上のような工程を繰り返し行い、ステップS4にて全ての入力データについて処理を行ったものと判定した場合には、ステップS12において、カテゴリ演算後導出演算部205によってカテゴリ演算後の導出演算を行い、その結果をメモリ100に展開された集計バッファに加算更新する。
【0097】
そして、サマリー演算プロセス部150は、ステップS13において、集計バッファの内容を出力バッファに設定した後、ステップS14において、出力バッファの内容を最終的な出力データとしてデータベースに出力し、一連の処理を終了する。なお、サマリー演算プロセス部150は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部206によってデータ構造変換メタデータに基づいて集計バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0098】
サマリー演算プロセス部150は、このような一連の工程を経ることにより、サマリー演算プロセスを実現することができる。
【0099】
すなわち、サマリー演算プロセス部150は、表示及び操作部50によってバッチ処理の起動指示が入力され、プロセス運用管理部60の制御のもとに当該サマリー演算プロセスが起動されるか又はプロセス運用管理部60の制御のもとに次に起動すべきプロセスとして当該サマリー演算プロセスが起動されると、リポジトリ30から各種メタデータを取得してメモリ100に展開する。そして、サマリー演算プロセス部150は、管理単位の取得命令に応じて、入出力情報メタデータに基づく管理単位を取得し、処理の対象となるデータの入力命令に応じて、入出力情報メタデータと抽出条件メタデータとに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、サマリー演算プロセス部150は、コード変換命令に応じて、コード変換メタデータに基づいてコード変換を行うと、その結果を中間バッファに設定し、さらに、導出演算命令に応じて、導出演算メタデータに基づいて導出演算を行い、その結果を管理単位が変化するまで中間バッファに加算更新する。さらに、サマリー演算プロセス部150は、カテゴリ演算命令に応じて、カテゴリ演算メタデータ及び集計エリアメタデータに基づいてカテゴリ演算を行い、その結果を管理単位が変化するまで集計バッファとしての中間バッファに加算更新し、さらに、管理単位が変化した後のカテゴリ演算後の導出演算命令に応じて、カテゴリ演算後導出演算メタデータに基づいてカテゴリ演算後の導出演算を行い、その結果を集計バッファに設定する。
【0100】
そして、サマリー演算プロセス部150は、管理単位が変化する毎に出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて集計バッファの内容を出力バッファに設定し、データの出力命令に応じて、入出力情報メタデータに基づいて管理単位が変化する毎に出力バッファの内容を中間データ又は複数の目的別の出力データに書き込む。
【0101】
このように、サマリー演算プロセス部150は、各種メタデータに基づくサマリー演算プロセスを実行し、多次元多階層のサマリーデータを作成することができる。
【0102】
つぎに、明細演算プロセスの場合について説明する。
【0103】
バッチ処理装置においては、明細演算プロセスを実現するために、図11に示す構成からなる明細演算プロセスを行う明細演算プロセス部150に対して、リポジトリ30から各種メタデータが与えられる。
【0104】
ここで、先に図7に示した通常演算プロセス部150における通常演算部153に対応する明細演算部153は、図11に示すように、抽出条件を判定する抽出条件判定部251と、コード変換を行うコード変換部252と、四則演算や各種関数演算等の条件付きの導出演算を行う導出演算部253と、出力データの構造に変換するデータ構造変換部254とを有する。
【0105】
また、バッチ処理装置においては、明細演算プロセスを行うために必要となるメタデータとして、各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、入力データのデータ項目を要素として表現される抽出条件式を示す抽出条件メタデータと、入力データのデータ項目の値を出力データのコードに変換するコード変換の内容とその変換方法を示すコード変換メタデータと、入力データのデータ項目によって導出される出力データを表現する導出演算式を示す導出演算メタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ30に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部151を介して各部に供給される。
【0106】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部151を介して入力部151、明細演算部153、及び出力部154に供給され、このインターフェースメタデータに基づいて各種バッファ間のリンク関係が明示される。
【0107】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部151を介して入力部152及び出力部154に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や、管理単位や複数のデータ間のリレーション関係が明示される。
【0108】
さらに、バッチ処理装置においては、抽出条件メタデータが、メタデータ取得部151を介して抽出条件判定部251に供給され、この抽出条件メタデータに基づいて抽出条件の判定が行われる。
【0109】
さらに、バッチ処理装置においては、コード変換メタデータが、メタデータ取得部151を介してコード変換部252に供給され、このコード変換メタデータに基づいてコード変換が行われる。
【0110】
さらにまた、バッチ処理装置においては、導出演算メタデータが、メタデータ取得部151を介して導出演算部253に供給され、この導出演算メタデータに基づいて導出演算が行われる。
【0111】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部151を介してデータ構造変換部254に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【0112】
このような各種メタデータに基づく処理を行う明細演算プロセス部150は、図12に示す一連の工程を経ることにより、明細演算プロセスを実現する。
【0113】
まず、明細演算プロセス部150は、同図に示すように、ステップS21において、各種メタデータをリポジトリ30から取得し、メモリ100に展開すると、ステップS22において、入力データを保持するための入力バッファ、処理のための中間バッファ、及び出力データを保持するための出力バッファを、インターフェースメタデータに基づいてメモリ100に展開する。
【0114】
続いて、明細演算プロセス部150は、ステップS23において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ100に展開された入力バッファに設定する。なお、明細演算プロセス部150は、複数の入力データを入力する場合には、複数の入力バッファをメモリ100に展開し、複数の入力データを各入力バッファに設定する。
【0115】
続いて、明細演算プロセス部150は、ステップS24において、全ての入力データについて処理を行ったか否かを判定する。ここで、明細演算プロセス部150は、全ての入力データについて処理を行っていないものと判定した場合には、ステップS25へと処理を移行する。一方、明細演算プロセス部150は、全ての入力データについて処理を行ったものと判定した場合には、ステップS31へと処理を移行する。
【0116】
明細演算プロセス部150は、ステップS24にて全ての入力データについて処理を行っていないものと判定した場合には、ステップS25において、抽出条件判定部251によって抽出条件メタデータに基づいて抽出条件を判定する。
【0117】
そして、明細演算プロセス部150は、ステップS26において、抽出条件を満たしていないものと判定した場合には、当該入力データについては処理を行わず、ステップS23からの処理を繰り返す。
【0118】
一方、明細演算プロセス部150は、ステップS26において、抽出条件を満たしているものと判定した場合には、ステップS27において、管理単位の値が変化したか否かを判定する。
【0119】
ここで、明細演算プロセス部150は、ステップS27にて管理単位の値が変化したものと判定した場合には、ステップS31へと処理を移行し、メモリ100に展開された中間バッファの内容を同じくメモリ100に展開された出力バッファに設定し、ステップS32において、出力バッファの内容をデータベースに出力する。そして、明細演算プロセス部150は、ステップS28へと処理を移行する。なお、明細演算プロセス部150は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部254によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0120】
一方、明細演算プロセス部150は、ステップS27にて管理単位の値が変化していないものと判定した場合には、ステップS28へと処理を移行する。明細演算プロセス部150は、ステップS28において、入力バッファの内容を中間バッファに設定し、ステップS29において、コード変換部252によってコード変換メタデータに基づいてコード変換を行い、その結果を中間バッファに設定する。
【0121】
続いて、明細演算プロセス部150は、ステップS30において、導出演算部253によって導出演算メタデータに基づいて導出演算を行い、その結果を中間バッファにさらに加算更新し、ステップS23からの処理を繰り返す。
【0122】
明細演算プロセス部150は、以上のような工程を繰り返し行い、ステップS24にて全ての入力データについて処理を行ったものと判定した場合には、ステップS31において、中間バッファの内容を出力バッファに設定した後、ステップS32において、出力バッファの内容を最終的な出力データとしてデータベースに出力し、一連の処理を終了する。なお、明細演算プロセス部150は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部254によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0123】
明細演算プロセス部150は、このような一連の工程を経ることにより、明細演算プロセスを実現することができる。
【0124】
すなわち、明細演算プロセス部150は、表示及び操作部50によってバッチ処理の起動指示が入力され、プロセス運用管理部60の制御のもとに当該明細演算プロセスが起動されるか又はプロセス運用管理部60の制御のもとに次に起動すべきプロセスとして当該明細演算プロセスが起動されると、リポジトリ30から各種メタデータを取得してメモリ100に展開する。そして、明細演算プロセス部150は、管理単位の取得命令に応じて、入出力情報メタデータに基づく管理単位を取得し、処理の対象となるデータの入力命令に応じて、入出力情報メタデータと抽出条件メタデータとに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、明細演算プロセス部150は、コード変換命令に応じて、コード変換メタデータに基づいてコード変換を行うと、その結果を中間バッファに設定し、さらに、導出演算命令に応じて、導出演算メタデータに基づいて導出演算を行い、その結果を管理単位が変化するまで中間バッファに加算更新する。
【0125】
そして、明細演算プロセス部150は、管理単位が変化する毎に出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて中間バッファの内容を出力バッファに設定し、データの出力命令に応じて、入出力情報メタデータに基づいて管理単位が変化する毎に出力バッファの内容を中間データ又は複数の目的別の出力データに書き込む。
【0126】
このように、明細演算プロセス部150は、各種メタデータに基づく明細演算プロセスを実行し、明細データを作成することができる。
【0127】
つぎに、グループ演算プロセスの場合について説明する。
【0128】
バッチ処理装置においては、グループ演算プロセスを実現するために、図13に示す構成からなるグループ演算プロセス部160に対して、リポジトリ30から各種メタデータが与えられる。
【0129】
ここで、上述したグループ演算部163は、同図に示すように、入力データ上に存在する親子関係の合計処理に際するグループ演算を行うグループ演算部301と、このグループ演算部301によるグループ演算後に導出演算を行うグループ演算後導出演算部302と、出力データの構造に変換するデータ構造変換部303とを有する。
【0130】
また、バッチ処理装置においては、グループ演算プロセスを行うために必要となるメタデータとして、各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、グループ演算の内容を示すグループ演算メタデータと、グループ演算後の導出演算を示すグループ演算後導出演算メタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ30に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部161を介して各部に供給される。
【0131】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部161を介して入力部162、グループ演算部163、及び出力部164に供給され、このインターフェースメタデータに基づいて各種バッファ間のリンク関係が明示される。
【0132】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部161を介して入力部162及び出力部164に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や複数のデータ間のリレーション関係が明示される。
【0133】
さらに、バッチ処理装置においては、グループ演算メタデータが、メタデータ取得部161を介してグループ演算部301に供給され、このグループ演算メタデータに基づいてグループ演算が行われる。
【0134】
さらにまた、バッチ処理装置においては、グループ演算後導出演算メタデータが、メタデータ取得部161を介してグループ演算後導出演算部302に供給され、このグループ演算後導出演算メタデータに基づいてグループ演算後の導出演算が行われる。
【0135】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部161を介してデータ構造変換部303に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【0136】
このような各種メタデータに基づく処理を行うグループ演算プロセス部160は、図14に示す一連の工程を経ることにより、グループ演算プロセスを実現する。
【0137】
まず、グループ演算プロセス部160は、同図に示すように、ステップS41において、各種メタデータをリポジトリ30から取得し、メモリ100に展開すると、ステップS42において、入力データを保持するための入力バッファ、処理のための中間バッファ、及び出力データを保持するための出力バッファを、インターフェースメタデータに基づいてメモリ100に展開する。
【0138】
続いて、グループ演算プロセス部160は、ステップS43において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ100に展開された入力バッファに設定する。なお、グループ演算プロセス部160は、複数の入力データを入力する場合には、複数の入力バッファをメモリ100に展開し、複数の入力データを各入力バッファに設定する。
【0139】
続いて、グループ演算プロセス部160は、ステップS44において、全ての入力データについて処理を行ったか否かを判定する。ここで、グループ演算プロセス部160は、全ての入力データについて処理を行っていないものと判定した場合には、ステップS45へと処理を移行する。一方、グループ演算プロセス部160は、全ての入力データについて処理を行ったものと判定した場合には、そのまま一連の処理を終了する。
【0140】
グループ演算プロセス部160は、ステップS44にて全ての入力データについて処理を行っていないものと判定した場合には、ステップS45において、グループ演算メタデータから親子関係におけるグループ集計のために当該親子関係を特定する入力データのデータ項目と集計方法を取得し、ステップS46において、取得した情報に基づいて、親子関係があるか否かを判定する。
【0141】
ここで、グループ演算プロセス部160は、ステップS46にて親子関係がないものと判定した場合には、ステップS54へと処理を移行し、入力バッファの内容をメモリ100に展開された出力バッファに設定した後、ステップS55において、グループ演算後導出演算部302によってグループ演算後導出演算メタデータに基づいて導出演算を行い、その結果を出力バッファに設定する。なお、グループ演算プロセス部160は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部303によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0142】
そして、グループ演算プロセス部160は、ステップS56において、出力バッファの内容をデータベースに出力し、ステップS43からの処理を繰り返す。
【0143】
一方、グループ演算プロセス部160は、ステップS46にて親子関係があるものと判定した場合には、ステップS47へと処理を移行し、出力データのグループ合計レコードを読み込み、ステップS48において、グループ合計レコードがあるか否かを判定する。
【0144】
ここで、グループ演算プロセス部160は、ステップS48にてグループ合計レコードがないものと判定した場合には、ステップS49へと処理を移行し、入力バッファの内容をメモリ100に展開された中間バッファに設定した後、ステップS50において、グループ演算部301によってグループ演算メタデータに基づいてグループ演算を行い、その結果を中間バッファに設定し、ステップS53へと処理を移行する。
【0145】
一方、グループ演算プロセス部160は、ステップS48にてグループ合計レコードがあるものと判定した場合には、ステップS51へと処理を移行する。グループ演算プロセス部160は、ステップS51において、グループ合計レコードの内容を中間バッファに設定し、ステップS52において、入力データの値を中間バッファにさらに加算更新した後、ステップS50において、グループ演算部301によってグループ演算メタデータに基づいてグループ演算を行い、その結果を中間バッファに設定し、ステップS53へと処理を移行する。
【0146】
グループ演算プロセス部160は、ステップS53において、作成した中間バッファの内容をデータベースに出力し、ステップS54において、入力バッファの内容を出力バッファに設定する。なお、グループ演算プロセス部160は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部303によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0147】
そして、グループ演算プロセス部160は、ステップS55において、グループ演算後導出演算部302によってグループ演算後の導出演算を行い、ステップS56において、出力バッファの内容をデータベースに出力し、ステップS43からの処理を繰り返す。
【0148】
グループ演算プロセス部160は、このような一連の工程を経ることにより、グループ演算プロセスを実現することができる。
【0149】
すなわち、グループ演算プロセス部160は、表示及び操作部50によってバッチ処理の起動指示が入力され、プロセス運用管理部60の制御のもとに次に起動すべきプロセスとして当該グループ演算プロセスが起動されると、リポジトリ30から各種メタデータを取得してメモリ100に展開する。そして、グループ演算プロセス部160は、処理の対象となるデータの入力命令に応じて、入出力情報メタデータに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、グループ演算プロセス部160は、グループ演算命令に応じて、グループ演算メタデータに基づいてグループ演算を行うと、その結果を中間バッファに設定し、さらに、グループ演算後の導出演算命令に応じて、グループ演算後導出演算メタデータに基づいてグループ演算後の導出演算を行い、その結果を中間バッファに設定する。
【0150】
そして、グループ演算プロセス部160は、出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて入力バッファ又は中間バッファの内容を出力バッファに設定し、データの出力命令に応じて、入出力情報メタデータに基づいて出力バッファの内容を中間データ又は複数の目的別の出力データに書き込む。
【0151】
このように、グループ演算プロセス部160は、各種メタデータに基づくグループ演算プロセスを実行することができる。
【0152】
最後に、時系列演算プロセスの場合について説明する。
【0153】
バッチ処理装置においては、時系列演算プロセスを実現するために、図15に示す構成からなる時系列演算プロセス部170に対して、リポジトリ30から各種メタデータが与えられる。
【0154】
ここで、上述した時系列演算部173は、同図に示すように、時系列演算を行う時系列演算部351と、出力データの構造に変換するデータ構造変換部352とを有する。
【0155】
また、バッチ処理装置においては、時系列演算プロセスを行うために必要となるメタデータとして、各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、時系列演算の内容を示す時系列演算メタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ30に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部171を介して各部に供給される。
【0156】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部171を介して入力部172、時系列演算部173、及び出力部174に供給され、このインターフェースメタデータに基づいて各種バッファ間のリンク関係が明示される。
【0157】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部171を介して入力部172及び出力部174に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や複数のデータ間のリレーション関係が明示される。
【0158】
さらに、バッチ処理装置においては、時系列演算メタデータが、メタデータ取得部171を介して時系列演算部173に供給され、この時系列演算メタデータに基づいて時系列演算が行われる。
【0159】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部171を介してデータ構造変換部352に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【0160】
このような各種メタデータに基づく処理を行う時系列演算プロセス部170は、図16に示す一連の工程を経ることにより、時系列演算プロセスを実現する。
【0161】
まず、時系列演算プロセス部170は、同図に示すように、ステップS61において、各種メタデータをリポジトリ30から取得し、メモリ100に展開すると、ステップS62において、入力データを保持するための入力バッファ、処理のための中間バッファ、及び出力データを保持するための出力バッファを、インターフェースメタデータに基づいてメモリ100に展開する。
【0162】
続いて、時系列演算プロセス部170は、ステップS63において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ100に展開された入力バッファに設定する。なお、時系列演算プロセス部170は、複数の入力データを入力する場合には、複数の入力バッファをメモリ100に展開し、複数の入力データを各入力バッファに設定する。
【0163】
続いて、時系列演算プロセス部170は、ステップS64において、全ての入力データについて処理を行ったか否かを判定する。ここで、時系列演算プロセス部170は、全ての入力データについて処理を行っていないものと判定した場合には、ステップS65へと処理を移行する。一方、時系列演算プロセス部170は、全ての入力データについて処理を行ったものと判定した場合には、そのまま一連の処理を終了する。
【0164】
時系列演算プロセス部170は、ステップS64にて全ての入力データについて処理を行っていないものと判定した場合には、ステップS65において、時系列演算部351により、時系列演算メタデータから、取得する過去訂正データを示す情報を取得し、入力データが過去訂正を行うための過去訂正データであるか否かを判定する。
【0165】
ここで、時系列演算プロセス部170は、ステップS65にて入力データが過去訂正データであるものと判定した場合には、ステップS66へと処理を移行する。時系列演算プロセス部170は、ステップS66において、時系列演算部351によって時系列演算メタデータに基づいて、過去訂正を行うために対象となる出力データの該当過去日付のレコードを読み込み、このレコードをメモリ100に展開された中間バッファに設定する。
【0166】
続いて、時系列演算プロセス部170は、ステップS67において、時系列演算部351により、中間バッファに設定したレコードの値に対して、時系列演算メタデータによって示された過去訂正データの訂正数値を用いて加減算を行い、訂正した数値を中間バッファに設定し、ステップS68において、中間バッファの内容をメモリ100に展開された出力バッファに設定し、ステップS69において、出力バッファの内容をデータベースに出力する。なお、時系列演算プロセス部170は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部352によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0167】
そして、時系列演算プロセス部170は、ステップS70において、ステップS66乃至ステップS69の処理を直近日付までのレコードに対して行い、ステップS63からの処理を繰り返す。
【0168】
一方、時系列演算プロセス部170は、ステップS65にて入力データが過去訂正データでないものと判定した場合には、ステップS71へと処理を移行し、時系列演算部351によって時系列演算メタデータに基づいて対比演算や過去データ設定が必要であるか否かを判定する。
【0169】
ここで、時系列演算プロセス部170は、ステップS71にて対比演算や過去データ設定が必要でないものと判定した場合には、ステップS72へと処理を移行し、入力バッファの内容を出力バッファに設定した後、ステップS77において、出力バッファの内容をデータベースに出力し、ステップS63からの処理を繰り返す。なお、時系列演算プロセス部170は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部352によってデータ構造変換メタデータに基づいて、中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0170】
一方、時系列演算プロセス部170は、ステップS71にて対比演算や過去データ設定が必要であるものと判定した場合には、ステップS73へと処理を移行する。時系列演算プロセス部170は、ステップS73において、入力バッファの内容を中間バッファに設定した後、時系列演算部351によって時系列演算メタデータに基づいて対比演算及び/又は過去データ設定を行う。
【0171】
すなわち、時系列演算プロセス部170は、対比演算を行う場合には、ステップS74において、時系列演算部351によって入力データの値と過去データの値との差分である対比計数を算出し、この対比計数を中間バッファに設定する。一方、時系列演算プロセス部170は、過去データ設定を行う場合には、ステップS75において、時系列演算部351によって過去データの値を取得し、この値を中間バッファに設定する。
【0172】
そして、時系列演算プロセス部170は、ステップS76において、中間バッファの内容を出力バッファに設定した後、ステップS77において、出力バッファの内容をデータベースに出力し、ステップS63からの処理を繰り返す。なお、時系列演算プロセス部170は、複数の出力データを出力する場合には、複数の出力バッファをメモリ100に展開し、データ構造変換部352によってデータ構造変換メタデータに基づいて、中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【0173】
時系列演算プロセス部170は、このような一連の工程を経ることにより、時系列演算プロセスを実現することができる。
【0174】
すなわち、時系列演算プロセス部170は、表示及び操作部50によってバッチ処理の起動指示が入力され、プロセス運用管理部60の制御のもとに次に起動すべきプロセスとして当該時系列演算プロセスが起動されると、リポジトリ30から各種メタデータを取得してメモリ100に展開する。そして、時系列演算プロセス部170は、処理の対象となるデータの入力命令に応じて、入出力情報メタデータに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、時系列演算プロセス部170は、過去データ設定命令に応じて、時系列演算メタデータによって示された設定する過去時点と計数のデータ項目名称とに基づいて過去データ設定を行うと、その結果を中間バッファに設定し、さらに、対比演算命令に応じて、時系列演算メタデータによって示された対比する計数のデータ項目名称に基づいて対比演算を行うと、その結果を中間バッファに設定し、さらに、過去データ訂正命令に応じて、時系列演算メタデータによって示された訂正する過去時点と計数のデータ項目名称とに基づいて過去データ訂正を行うと、その結果を中間バッファに設定する。
【0175】
そして、時系列演算プロセス部170は、出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて中間バッファの内容を出力バッファに設定し、データの出力命令に応じて、時系列演算メタデータによって示された時系列データとして保有すべき期間である時系列保有期間と入出力情報メタデータとに基づいて、管理単位が変化する毎に出力バッファの内容を中間データ又は複数の目的別の出力データに書き込んで更新するとともに、時系列保有期間を超過したレコードを削除する。
【0176】
このように、時系列演算プロセス部170は、各種メタデータに基づく時系列演算プロセスを実行することができる。
【0177】
バッチ処理装置においては、以上のように各演算プロセス毎に必要な各種メタデータが生成され、これらの各種メタデータに基づいて各演算プロセスを柔軟に実行することができる。
【0178】
なお、バッチ処理装置においては、特に図示しないが、上述した各プロセスを実行するのに先だって、上述した各種メタデータにおけるデータ項目名称を管理するデータ辞書メタデータや、出力のユーザビューを管理するユーザビュー情報メタデータが生成され、リポジトリ30に登録されている。これにより、バッチ処理装置においては、各種メタデータの生成が可能となり、ユーザビューに応じた出力データを作成することが可能となる。
【0179】
さて、最後に、以上のようなバッチ処理装置における処理イメージの明確化を図るために、具体的な処理例として、上述したサマリーデータを作成する場合を取り上げて説明する。ここでは、まず、取り上げるユーザ仕様について説明した後、このユーザ仕様に応じて必要とされるメタデータの具体例について説明する。
【0180】
まず、入力データは、図17に示す仕様であるものとする。
【0181】
すなわち、入力データは、同図(A)に示すように、支店番号、支店名、支店住所、支店種類、東日本表示、西日本表示といった情報からなる支店テーブルと、同図(B)に示すように、顧客番号、支店番号、氏名、住所、地区コード、業種コード、企業規模コード、契約日といった情報からなる顧客テーブルと、同図(C)に示すように、取引番号、顧客番号、商品コード、取引コード、取引金額、勘定日といった情報からなる取引テーブルとから構成されるものとする。これらのうち、支店テーブルと顧客テーブルとは、支店番号で関連付けられ、顧客テーブルと取引テーブルとは、顧客番号で関連付けられる。
【0182】
つぎに、ユーザビューは、図18及び図19に示す2つの仕様からなる”A業務についての日次の支店別サマリー”であるものとし、これらのサマリーデータをファイルとして出力するものとする。
【0183】
すなわち、後述するユーザビュー番号が”1”とされる第1のユーザビューは、図18に示すように、製造業、一次産業、二次産業、三次産業、東京都・大企業、中小企業、及び総合計を列項目とし、取引金額、a〜c取引の取引金額、d〜e取引の取引金額、A型商品の取引金額、及びB型商品の手数料を行項目とするクロス集計表であるものとする。また、この第1のユーザビューは、見出しとして、日付、支店番号、及び支店名が設けられるものとする。そして、この第1のユーザビューは、支店別に出力されるものとする。また、この第1のユーザビューにおいては、算計項目として、”手数料=取引金額×0.05”の演算を行うものとし、出力する支店の条件として、支店種類がサービス店舗であるもの抽出するものとする。さらに、この第1のユーザビューのデータは、時系列データとして30日分保有されるものとする。すなわち、第1のユーザビューにおいては、上述した時系列保有期間が30日であるものとする。
【0184】
また、第2のユーザビューは、図19に示すように、商品1、商品2、商品3、商品4、商品5、中小企業、及び総合計を列項目とし、0円から500万円までの取引金額、500万円から1000万円までの取引金額、1000万円以上の取引金額、前日取引金額、及び前日取引金額の前月末比を行項目とするクロス集計表であるものとする。また、この第2のユーザビューは、見出しとして、日付、支店番号、及び支店名が設けられるものとする。そして、この第2のユーザビューは、支店別に出力されるものとする。また、この第2のユーザビューにおいては、出力する支店の条件として、支店種類がサービス店舗であるもの抽出するものとする。さらに、この第2のユーザビューにおいては、時系列保有期間が30日であるものとする。
【0185】
つぎに、各コード(カテゴリ)とカテゴリ階層との関係は、図20乃至図25に示す仕様であるものとする。
【0186】
まず、業種コードについては、図20に示すような仕様であるものとする。すなわち、業種コードとして、農業、林業、漁業水産業、養殖、一般機械製造業、精密機械製造業、○○製造業、食品、××××、銀行、金融サービス、及び△△△からなる各カテゴリが設けられるものとし、これらのうち、漁業水産業及び養殖を水産業というカテゴリ階層に属させ、一般機械製造業、精密機械製造業及び○○製造業を製造業というカテゴリ階層に属させ、さらに、農業、林業、漁業水産業、及び養殖を一次産業というカテゴリ階層に属させ、一般機械製造業、精密機械製造業、○○製造業、食品、及び××××を二次産業というカテゴリ階層に属させ、銀行、金融サービス、及び△△△を三次産業というカテゴリ階層に属させるものとする。
【0187】
また、地区コードについては、図21に示すような仕様であるものとする。すなわち、地区コードとして、北海道、・・・、埼玉県、千葉県、東京都、神奈川県、・・・、沖縄県からなる各カテゴリが設けられるものとし、これらのうち、東京都のみを東京都というカテゴリ階層に属させるものとする。
【0188】
さらに、商品コードについては、図22に示すような仕様であるものとする。すなわち、商品コードとして、商品1、商品2、商品3、商品4、及び商品5が設けられるものとし、これらのうち、商品1、商品2、商品3、及び商品4をA型商品というカテゴリ階層に属させ、商品4及び商品5をB型商品というカテゴリ階層に属させるものとする。
【0189】
さらにまた、取引コードについては、図23に示すような仕様であるものとする。すなわち、取引コードとして、取引a、取引b、取引c、取引d、及び取引eが設けられるものとし、これらのうち、取引a、取引b、及び取引cを”a〜c取引”というカテゴリ階層に属させ、取引d及び取引eを”d〜e取引”というカテゴリ階層に属させるものとする。
【0190】
また、企業規模コードについては、図24に示すような仕様であるものとする。すなわち、企業規模コードとして、大企業、中企業、及び小企業が設けられるものとし、これらのうち、大企業を大企業というカテゴリ階層に属させ、中企業及び小企業を中小企業というカテゴリ階層に属させるものとする。
【0191】
さらに、金額階層コードについては、図25に示すような仕様であるものとする。すなわち、金額階層コードとして、0円から500万円、500万円から1000万円、及び1000万円以上からなる各カテゴリが設けられるものとし、これらのうち、0円から500万円を0円から500万円というカテゴリ階層に属させ、500万円から1000万円を500万円から1000万円というカテゴリ階層に属させ、1000万円以上を1000万円以上というカテゴリ階層に属させるものとする。なお、この金額階層コードは、取引金額に基づいて判断されて作成されるものである。
【0192】
つぎに、親子表示を行うための店舗テーブルは、図26に示す仕様であるものとする。
【0193】
すなわち、店舗テーブルは、支店番号001,002,003,004,005を、それぞれ、札幌支店、仙台支店、東京支店、大阪支店、福岡支店とし、これらのうち、東日本表示を行う支店として、札幌支店、仙台支店、及び東京支店が該当し、西日本表示を行う支店として、大阪支店及び福岡支店が該当する旨を示すフラグがたてられるものとする。ユーザビューとしては、これらの各支店の計数の他に、図示しないが、地域表示として東日本表示又は西日本表示が判断され、東日本表示の合計を示す数値を、支店番号100として出力するとともに、西日本表示の合計を示す数値を、支店番号101として出力するものとする。
【0194】
さらに、これらの各仕様の他に、保有する時系列データに対する過去訂正の取扱いに関する仕様が必要となる。時系列保有の仕様としては、特に図示しないが、取引明細上の取引に、取引金額の過去訂正があった場合、すなわち、勘定日が過去日付であるものがあった場合には、これに応じて時系列データを訂正するものとする。
【0195】
さて、このような仕様に応じて上述したメタデータ入力部20によって生成されてリポジトリ30に登録されるメタデータは、以下のような構成からなるものとなる。
【0196】
まず、上述した”データ項目名称は何か”を示すメタデータについて説明する。なお、このメタデータは、上述したデータ辞書メタデータに該当するものである。
【0197】
このメタデータとしては、具体的には図27に示すように、一般属性の情報、分類属性の情報、カテゴリの情報、及びカテゴリ階層の情報がリポジトリ30に登録される。
【0198】
一般属性の情報としては、同図(A)に示すように、支店番号や顧客氏名といったコード値を保有しないデータ項目を表すデータ項目名称と、これらデータ項目名称の読み仮名と、その他各種情報とが設定される。また、分類属性の情報としては、同図(B)に示すように、商品コードや業種コードといったコード値を保有するデータ項目を表すデータ項目名称と、これらデータ項目名称の読み仮名と、その他各種情報とが設定される。さらに、カテゴリの情報としては、同図(C)に示すように、商品コードや業種コードといったコード値を表す分類属性名称と、これら分類属性名称のそれぞれを商品1,商品2,農業,製造業といったカテゴリ毎に区分するためのカテゴリ名称と、これらカテゴリ名称の読み仮名と、カテゴリ名称のコード値と、その他各種情報とが設定される。さらにまた、カテゴリ階層の情報としては、分類属性名称と、カテゴリ名称と、これらカテゴリ名称のそれぞれをA型商品、一次産業といった階層毎に区分するためのカテゴリ階層名称と、その他各種情報とが設定される。
【0199】
バッチ処理装置においては、”データ項目名称は何か”を示すメタデータとして、このような内容からなるものがメタデータ入力部20によって生成され、リポジトリ30に登録される。
【0200】
つぎに、上述した”入力は何か”及び”出力は何か”を示すメタデータについて説明する。なお、これらのメタデータは、上述した入出力情報メタデータに該当するものである。
【0201】
これらのメタデータとしては、具体的には図28に示すように、ファイルの一覧、ファイルに関するスキーマ、管理単位、処理毎の使用ファイルの一覧、処理毎の使用ファイルのリレーション一覧がリポジトリ30に登録される。
【0202】
ファイルの一覧としては、同図(A)に示すように、例えばA業務といった予め設定されている業務の区分を表す業務区分と、支店テーブル、顧客テーブル、及び取引テーブルといった入力データとしてのファイルであるテーブルの名称を表すテーブル名称と、ファイルが格納される媒体の種別を表す媒体種別とが設定され、その他図示しないが、リレーショナルデータベースを制御するために必要なその他各種のDDL(Data Definition Language)情報等が設定される。また、ファイルに関するスキーマとしては、同図(B)に示すように、業務区分と、テーブル名称と、データ項目名称と、例えば支店番号といったカラム(列)の名称を表すカラム名称と、データの属性を表すデータ属性と、データ長を表すレングスと、その他各種情報とが設定される。さらに、管理単位としては、同図(C)に示すように、業務区分と、例えば支店といった予め設定されている管理単位の名称を表す管理単位名称と、この管理単位が該当する支店テーブルといったファイルを表す該当ファイルと、プライマリキー(PK)としての複数のカラム名称と、その他各種情報とが設定される。さらにまた、処理毎の使用ファイルの一覧としては、同図(D)に示すように、業務区分と、例えば日次といった予め設定されているサイクル区分を表すサイクルと、管理単位と、明細データを作成するのかサマリーデータを作成するのかの区分を表す明細/サマリーと、支店テーブル、顧客テーブル、及び取引テーブルといった入力データとしてのファイルを表す入力ファイルと、その他各種情報とが設定される。また、処理毎の使用ファイルのリレーション一覧としては、同図(E)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、使用するファイルを表すファイルと、プライマリキーとしての複数のカラム名称と、フォーリンキー(FK)としての複数のカラム名称とが設定される。
【0203】
バッチ処理装置においては、”入力は何か”及び”出力は何か”を示すメタデータとして、先に図27に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部20によって生成され、リポジトリ30に登録される。ここで、内部的に用いられる中間ファイルや最終目的のユーザビューの出力ファイルについての入出力情報メタデータは、既に定義した入力ファイルについての他の入出力情報メタデータやユーザビュー情報メタデータ等に基づいて、後に詳述するインターフェースメタデータ、集計エリアメタデータ、及びデータ構造変換メタデータが生成されるのと同時に生成される。なお、先に図18及び図19に示した2種類のユーザビューが、”A業務についての日次の支店別サマリー”であることから、図28においては、業務区分として”A業務”、サイクルとして”日次”、管理単位として”支店”、明細/サマリーとして”サマリー”としている。
【0204】
つぎに、上述した”出力は何か”を示すメタデータの1つである”出力目的のユーザビューは何か”について説明する。なお、このメタデータは、上述したユーザビュー情報メタデータに該当するものである。
【0205】
このメタデータとしては、具体的には図29に示すように、ユーザビューのデータ構造、すなわち、実際にデータとして出力する出力データの構造がリポジトリ30に登録される。より具体的には、”出力目的のユーザビューは何か”を示すメタデータとしては、ユーザビューの名称、ユーザビューの見出し項目、ユーザビューの行項目、ユーザビューの列項目がリポジトリ30に登録される。
【0206】
ユーザビューの名称としては、同図(A)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、ユーザビュー名称と、ユーザビュー番号と、時系列保有期間と、その他各種情報とが設定される。また、ユーザビューの見出し項目としては、同図(B)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、ユーザビュー番号と、例えば日付、支店番号、支店名といった属性を表す属性名称と、その他各種情報とが設定される。さらに、ユーザビューの行項目としては、同図(C)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、ユーザビュー番号と、例えば取引金額といった計数を表す一般属性名称と、分類属性名称と、カテゴリ名称と、その他各種情報とが設定される。さらにまた、ユーザビューの列項目としては、同図(D)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、ユーザビュー番号と、分類属性名称と、カテゴリ名称と、その他各種情報とが設定される。
【0207】
バッチ処理装置においては、”出力目的のユーザビューは何か”を示すメタデータとして、先に図27に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部20によって生成され、リポジトリ30に登録される。これにより、バッチ処理装置においては、所望の構造からなる出力データを作成して出力することが可能となる。
【0208】
つぎに、上述した”加工処理内容は何か”を示すメタデータについて説明する。
【0209】
このメタデータとしては、具体的には図30乃至図34に示すようなものがリポジトリ30に登録される。
【0210】
まず、”加工処理内容は何か”を示すメタデータとしては、先に図18及び図19に示した2種類のユーザビューの仕様に対応するために、図30に示すように、抽出条件メタデータ、コード変換メタデータ、及び導出演算メタデータ(カテゴリ演算後導出演算メタデータ及びグループ演算後導出演算メタデータを含む。)がリポジトリ30に登録される。
【0211】
具体的には、抽出条件メタデータとしては、同図(A)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、所定の抽出条件式と、その他各種情報とが設定される。これらのうち、抽出条件式としては、支店種類がサービス店舗であるものを抽出するために、”支店種類=サービス店舗表示”といった条件式が設定される。
【0212】
また、コード変換メタデータとしては、同図(B)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、一般属性名称と、変換元の分類属性及び/又は変換元のコード値を表す変換元分類属性/コードと、変換後の分類属性及び/又は変換後のコード値を表す変換後分類属性/コードと、コード値を所定のレンジに変換するためのレンジ変換と、その他各種情報とが設定される。これらのうち、変換後分類属性/コードとしては、金額階層コードが”0円から500万円”、”500万円から1000万円”、及び”1000万円以上”として設定され、これに対応して、レンジ変換としては、”0<,<500”、”500<,<1000”、及び”<1000”といったように数値の不等号表示が設定される。
【0213】
さらに、導出演算メタデータとしては、同図(C)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、演算単位を表す演算単位項目と、集約単位を表す集約単位項目と、所定の条件式と、所定の導出演算式と、その他各種情報とが設定される。これらのうち、導出演算式としては、”手数料=取引金額×0.05”といった演算式が設定される。
【0214】
バッチ処理装置においては、”加工処理内容は何か”を示すメタデータとして、先に図27に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部20によって生成され、リポジトリ30に登録される。これにより、バッチ処理装置においては、所定の抽出条件に基づいて所望の入力データを抽出し、所望のコード変換及び導出演算を行うことが可能となる。
【0215】
また、”加工処理内容は何か”を示すメタデータとしては、先に図26に示した店舗テーブル上に設定されている仕様に対応するために、図31に示すような分類表示対応のグループ演算メタデータがリポジトリ30に登録される。すなわち、この分類表示対応のグループ演算メタデータは、図26に示した店舗テーブル上に設定されている東日本表示及び西日本表示により、東日本に属する支店の合計値と、西日本に属する支店の合計値とを算出し、各結果を、支店番号が”100”とされる東日本店、支店番号が”101”とされる西日本店として出力するために設けられるものである。
【0216】
具体的には、グループ演算メタデータとしては、同図に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、例えば東日本表示、西日本表示といった表示データ項目を表す表示データ項目名称と、例えば支店番号といった設定データ項目を表す設定データ項目名称と、この設定データ項目名称に対応する値を表す設定値と、設定された具体的な内容を表す設定内容と、その他各種情報とが設定される。
【0217】
バッチ処理装置においては、グループ演算を行うために、”加工処理内容は何か”を示すメタデータとして、先に図27に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部20によって生成され、リポジトリ30に登録される。これにより、バッチ処理装置においては、グループ演算を行うことが可能となる。
【0218】
なお、ここで、上述した仕様例によるグループ演算とは異なる例として、入力データ上に親子関係の情報がある場合について補足説明する。すなわち、入力データは、図32(A)に示すように、顧客番号、氏名、親顧客番号、グループ番号、金額といった情報からなる顧客テーブルと、同図(B)に示すように、代表顧客番号、グループ番号といった情報からなるグループ代表顧客テーブルとから構成されるものとする。また、出力データは、同図(C)に示すように、顧客番号、親子区分、金額等からなる顧客別サマリーであるものとする。なお、出力データにおける親子区分は、各顧客単独の計数のレコードを”0”とし、顧客番号の親子関係による合計計数レコードを”1”とし、グループ番号による合計計数レコードを”2”とするものとする。
【0219】
この場合、”加工処理内容は何か”を示すメタデータとしては、図33に示すような親子対応のグループ演算メタデータがリポジトリ30に登録される。すなわち、この親子対応のグループ演算メタデータは、入力データ上に親子関係の情報があった場合に、その情報に基づいて顧客別サマリーを出力するために設けられるものであり、入力データとしての顧客テーブルに存在する親顧客番号に基づく第1のグループ演算を行うとともに、顧客テーブルに存在するグループ番号に基づく第2のグループ演算を行うために設けられるものである。
【0220】
具体的には、グループ演算メタデータとしては、同図に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、例えば親顧客番号といった親項目を表す親項目名称と、例えば顧客番号といった子項目を表す子項目名称と、例えばグループ番号といったグループ項目を表すグループ項目名称と、親子区分項目名称と、その他各種情報とが設定される。ここで、親子区分項目名称には、上述したように、親子区分として、単独の計数のレコードの場合には”0”が設定され、親子関係による合計計数レコードの場合には”1”が設定され、グループ番号による合計計数レコードの場合には”2”が設定される。
【0221】
バッチ処理装置においては、入力データ上に親子関係の情報がある場合には、グループ演算を行うために、”加工処理内容は何か”を示すメタデータとして、先に図27に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部20によって生成され、リポジトリ30に登録される。これにより、バッチ処理装置においては、入力データ上に親子関係の情報がある場合にグループ演算を行うことが可能となる。
【0222】
さらに、”加工処理内容は何か”を示すメタデータとしては、先に図19に示したユーザビューの仕様に対応するために、図34に示すように、前日取引金額及び前日取引金額前月末比を算出するための時系列演算メタデータがリポジトリ30に登録される。この時系列演算メタデータとしては、データを取得する時点や計数項目といった取得する過去訂正データを示す過去データ取得情報と、出力データのデータ項目名の要素として表現される時点と対比とを表す用語、すなわち、対比する計数の演算を示す対比計数演算情報と、入力データが過去訂正データである場合に過去時系列データへの訂正方法を示す過去データ訂正情報と、時系列保有期間を示す時系列保有期間情報とが用意される。
【0223】
具体的には、時系列演算メタデータにおける過去データ取得情報としては、同図(A)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、取得するデータの範囲である時点を表す時点区分と、計数を表す計数項目名称と、その他各種情報とが設定される。これらのうち、時点区分としては、前日までのデータを取得するために”前日”といった時点が設定され、計数項目名称としては、”取引金額”といった計数が設定される。
【0224】
また、時系列演算メタデータにおける対比計数演算情報としては、同図(B)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、時点区分と、対比対象を表す対比区分と、計数項目名称と、その他各種情報とが設定される。これらのうち、対比区分としては、前月末との対比を行うために”前月末比”といった計数が設定される。
【0225】
さらに、時系列演算メタデータにおける過去データ訂正情報としては、同図(C)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、訂正方法を表す訂正区分と、計数項目名称と、その他各種情報とが設定される。これらのうち、訂正区分としては、過去に遡及して訂正を行うために”遡及訂正”といった訂正方法が設定される。
【0226】
さらにまた、時系列演算メタデータにおける時系列保有期間情報としては、同図(D)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、時系列保有期間を表す保有期間と、その他各種情報とが設定される。これらのうち、保有期間としては、時系列データとして30日分保有するために”30日”といった期間が設定される。
【0227】
バッチ処理装置においては、時系列演算を行うために、”加工処理内容は何か”を示すメタデータとして、このような内容からなるものがメタデータ入力部20によって生成され、リポジトリ30に登録される。これにより、バッチ処理装置においては、先に図29(A)に示した30日とされる時系列保有期間の分だけ時系列データを保有し、取引金額の過去訂正データに対して、保有している過去の時系列データへの反映を行うことが可能となる。
【0228】
つぎに、図28、図29、図30、図31、及び図34に示した各種メタデータに基づいて生成されるメタデータの具体例を図35及び図36に示す。
【0229】
このような処理過程で生成されるメタデータとしては、具体的には同図に示すように、各処理におけるデータが一時的に格納される入力バッファ、中間バッファ、及び出力バッファのレイアウトを表すインターフェースメタデータ、サマリープロセス演算部150によって使用される集計バッファの分類属性情報及び計数項目情報を表す集計エリアメタデータ、集計バッファと出力バッファとのリンク関係を表すデータ構造変換メタデータが生成され、リポジトリ30に登録される。
【0230】
具体的には、インターフェースメタデータとしては、図35(A)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、実行するタスクの内容を表すタスク内容と、このタスクにおいて実行する具体的な処理の内容を表す処理内容と、データ項目名称と、その他各種情報とが設定される。これらのうち、タスク内容としては、”カテゴリ演算(サマリー演算)”、”グループ演算”、又は”時系列演算”といった内容が設定され、処理内容としては、”入力”又は”条件判定”といった内容が設定される。
【0231】
また、集計バッファの分類属性情報を表す集計エリアメタデータとしては、同図(B)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、分類属性名称と、カテゴリ名称と、出力する集計バッファの行番号を表すセット番号と、後述する集計バッファの計数項目情報を表す集計エリアメタデータにおける列番号を表す計数項目番号と、その他各種情報とが設定される。
【0232】
さらに、集計バッファの計数項目情報を表す集計エリアメタデータとしては、図36(A)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、計数項目番号と、計数項目名称と、その他各種情報とが設定される。
【0233】
さらにまた、データ構造変換メタデータとしては、図36(B)に示すように、業務区分と、サイクルと、管理単位と、明細/サマリーと、セット番号と、計数項目番号と、ユーザビュー番号と、列番号と、行場号と、その他各種情報とが設定される。
【0234】
バッチ処理装置においては、リポジトリ30に予め登録されている各種メタデータに基づいて、このような内容からなるメタデータが処理過程でメタデータ入力部20による生成指示によって生成され、リポジトリ30に登録される。また、バッチ処理装置においては、上述したように、このメタデータの生成と同時に、内部的に用いられる中間ファイルや最終目的のユーザビューの出力ファイルについての入出力情報メタデータがメタデータ入力部20によって生成され、リポジトリ30に登録される。
【0235】
さて、バッチ処理装置においては、図27乃至図36に示した各種メタデータがリポジトリ30に登録され、これら各種メタデータに基づいて、カテゴリ演算(サマリー演算)、グループ演算、及び時系列演算のそれぞれについてのプロセスが生成され、任意のプロセスの起動順序を示すプロセスのネットワークが構成される。バッチ処理装置においては、プロセス運用管理部60を介してバッチ処理の起動指示が与えられることにより、各プロセスが順次実行され、目的の出力データを作成する。
【0236】
具体的には、バッチ処理装置においては、図37にプロセスフローを示すように、先に図17に示した支店テーブル、顧客テーブル、及び取引テーブルを入力データとして入力すると、サマリー演算プロセス部150によってカテゴリ演算(サマリー演算プロセス)を実行し、中間データとして1つの第1の中間テーブルを作成する。
【0237】
この第1の中間テーブルは、具体的には図38に示すように、日付、支店番号、業種コード、地区コード、企業規模コード、取引コード、商品コード、金額階層コード、取引金額、及び手数料といった情報から構成される。
【0238】
続いて、バッチ処理装置においては、図37に示すように、図38に示した第1の中間テーブルを入力データとし、グループ演算プロセス部160によってグループ演算を実行し、中間データとして1つの第2の中間テーブルを作成する。
【0239】
この第2の中間テーブルは、具体的には図39に示すように、第1の中間テーブルと同一の項目について、グループ演算の結果が反映された情報から構成される。
【0240】
そして、バッチ処理装置においては、図37に示すように、図39に示した第2の中間テーブルを入力データとし、時系列演算プロセス部170によって時系列演算を実行し、先に図18及び図19に示した2つのユーザビューの仕様に合致した目的の出力データとして、第1の出力テーブル及び第2の出力テーブルを作成する。
【0241】
第1の出力テーブルは、具体的には図40に示すように、日付、支店番号、業種コード、地区コード、企業規模コード、取引金額、a〜c取引金額、d〜e取引金額、A型商品取引金額、及びB型商品手数料といった情報から構成される。すなわち、第1の出力テーブルは、先に図18に第1のユーザビューとして示したクロス集計表を支店別の業種コード、地区コード及び企業規模コード毎に1つのレコードとして作成し、これら複数のレコードを1つのテーブルとしてまとめたものである。なお、この第1の出力テーブルにおいては、第1のユーザビューにおける見出しである日付、支店番号、及び支店名も各レコードに設定している。
【0242】
また、第2の出力テーブルは、具体的には図41に示すように、日付、支店番号、支店名、商品コード、企業規模コード、0円〜500万円取引金額、500万円〜1000万円取引金額、1000万円以上取引金額、前日取引金額、及び前日取引金額前月末比といった情報から構成される。すなわち、第2の出力テーブルは、先に図19に第2のユーザビューとして示したクロス集計表を支店別の商品コード及び企業規模コード毎に1つのレコードとして作成し、これら複数のレコードを1つのテーブルとしてまとめたものである。なお、この第2の出力テーブルにおいても、第2のユーザビューにおける見出しである日付、支店番号、及び支店名も各レコードに設定している。
【0243】
このように、バッチ処理装置においては、図17乃至図26に示した仕様に応じて、図27乃至図34に示した各種メタデータをメタデータ入力部20によって生成し、リポジトリ30に登録することにより、図40及び図41に示した2つの出力テーブルを作成して出力することができる。特に、バッチ処理装置においては、メタデータに基づいて処理を行うことから、出力データに異なる複数の仕様が求められる場合であっても容易に対応することができ、上述したように、異なる複数の仕様からなる出力データを同時に作成することができる。
【0244】
なお、以上説明した仕様は、”A業務についての日次の支店別サマリー”を作成するものであったが、バッチ処理装置においては、これ以外の仕様に基づく明細データの作成についても、当該仕様に応じたメタデータを生成し、このメタデータに基づいて各プロセスを実行することに変わりはない。
【0245】
以上説明したように、本発明の実施の形態として示すバッチ処理装置は、必要な各種メタデータを登録しておき、これら各種メタデータの宣言処理に基づいて入力データを加工して出力データを作成することにより、メタデータが一元管理され、出力データの構成がメタデータの組み合わせによって決定されることから、メタデータの変更の影響を当該メタデータに関係する全ての出力データに適切に伝播させることが可能となり、メタデータの変更のみで当該メタデータに関係する全ての出力データを自動的に変更することが可能となる。
【0246】
したがって、バッチ処理装置においては、生産効率の向上と品質保持とを図ることが可能となる。また、バッチ処理装置においては、ノンプログラミングアプローチやメタデータアプローチにより、システム設計やプログラム開発、文書管理、ライブラリ管理といった一定の運用管理等が一切不要となることから、システム設計者やシステム管理者及びシステムを操作するオペレータの負担が大幅に軽減され、将来にわたる開発コストの大幅な削減を図ることが可能となる。
【0247】
また、バッチ処理装置は、業務仕様を定義することによって稼働するシステムであることから、新たにプログラム開発を行うことに起因するトラブルがなく、品質を維持することができ、メタデータによって稼働することから、出力名称と出力データ等の整合性を常に保つことができる。
【0248】
さらに、バッチ処理装置においては、当該バッチ処理装置を用いた処理に携わる人々の知識を共有することができ、属人化知識を排除することができ、また、同時に全社的な知識の共有が可能となり、主体や時期を問わず知識内容を容易に閲覧することが可能となる。また、バッチ処理装置においては、エンドユーザによるプログラミングが一掃されることから、人員コストや事務コストを削減することが可能となる。
【0249】
さらにまた、バッチ処理装置においては、ユーザニーズに即時に応えることが可能となるのみではなく、新たな業務ニーズにおいて必要な出力情報をどうするか、といったケースにおいても、本番のシステム上でシミュレーションが即時且つスパイラルに可能であることから、ビジネス企画段階における生産性の向上や新たな発見を図ることができる。
【0250】
また、バッチ処理装置においては、プロセスフローや中間データを自動的に生成することができることから、いわゆるプロセスジャングルやデータジャングルを回避することができる。
【0251】
このように、バッチ処理装置は、システム設計者やシステム管理者及びオペレータに対して極めて優れた利便を提供することができるものである。
【0252】
なお、本発明は、上述した実施の形態に限定されるものではなく、例えば、上述した実施の形態では、バッチ処理装置を恰も1台のコンピュータ装置等によって構成するものとして説明したが、本発明は、複数のコンピュータ装置等をネットワーク等を介して接続したバッチ処理システムとして構築する場合にも適用することができる。
【0253】
すなわち、バッチ処理システムとしては、システム設計者やシステム管理者サイドとオペレータサイドとを分け、ユーザ仕様を入力するための表示及び操作部10及び/又はメタデータ入力部20を1台のコンピュータ装置等によって構成し、これをリポジトリ30と接続するとともに、演算プロセス部40を1台のコンピュータ装置等によってバッチ処理装置として構成し、これをリポジトリ30と接続するようにしてもよい。そして、バッチ処理システムとしては、表示及び操作部50及びプロセス運用管理部60を1台のコンピュータ装置等によって構成し、これをネットワーク等を介して演算プロセス部40としてのコンピュータ装置等と接続するようにしてもよい。このように、本発明は、いわゆる分散環境型のシステムとすることにより、利便を向上させた様々なサービスを提供することができる。
【0254】
このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0255】
【発明の効果】
以上詳細に説明したように、本発明にかかるバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムは、それぞれ、予め登録されている情報であるメタデータの宣言処理に基づいて、入力データを加工して出力データを作成する際に、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成することにより、システム設計者やシステム管理者及びシステムを操作するオペレータの負担を大幅に軽減することができ、開発コストの大幅な削減を図ることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態として示すバッチ処理装置において登録されるメタデータについて説明するための図である。
【図2】同バッチ処理装置の構成を説明するブロック図である。
【図3】同バッチ処理装置の具体的なハードウェア構成を説明するブロック図である。
【図4】同バッチ処理装置が備える演算プロセス部の構成を説明するブロック図である。
【図5】サマリーデータの例について説明する図である。
【図6】明細データの例について説明する図である。
【図7】同バッチ処理装置におけるプロセスフローと同演算プロセス部の構成とを説明する図である。
【図8】同バッチ処理装置におけるプロセスフローの例について説明する図である。
【図9】同演算プロセス部が有するサマリー演算プロセス部の構成とメタデータの内容とを説明する図である。
【図10】同サマリー演算プロセス部によってサマリー演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図11】同演算プロセス部が有する明細演算プロセス部の構成とメタデータの内容とを説明する図である。
【図12】同明細演算プロセス部によって明細演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図13】同演算プロセス部が有するグループ演算プロセス部の構成とメタデータの内容とを説明する図である。
【図14】同グループ演算プロセス部によってグループ演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図15】同演算プロセス部が有する時系列演算プロセス部の構成とメタデータの内容とを説明する図である。
【図16】同時系列演算プロセス部によって時系列演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図17】入力データの仕様例を示す図であり、(A)は、支店テーブルの内容を示し、(B)は、顧客テーブルの内容を示し、(C)は、取引テーブルの内容を示す図である。
【図18】第1のユーザビューの仕様例を示す図である。
【図19】第2のユーザビューの仕様例を示す図である。
【図20】業種コードの仕様例を示す図である。
【図21】地区コードの仕様例を示す図である。
【図22】商品コードの仕様例を示す図である。
【図23】取引コードの仕様例を示す図である。
【図24】企業規模コードの仕様例を示す図である。
【図25】金額階層コードの仕様例を示す図である。
【図26】親子表示を行うための店舗テーブルの仕様例を示す図である。
【図27】データ項目名称は何かを示すメタデータとしてのデータ辞書メタデータの具体例を示す図であり、(A)は、一般属性の情報の内容を示し、(B)は、分類属性の情報の内容を示し、(C)は、カテゴリの情報の内容を示し、(D)は、カテゴリ階層の情報の内容を示す図である。
【図28】入力は何か及び出力は何かを示すメタデータとしての入出力情報メタデータの具体例を示す図であり、(A)は、ファイルの一覧の内容を示し、(B)は、ファイルに関するスキーマの内容を示し、(C)は、管理単位の内容を示し、(D)は、処理毎の使用ファイルの一覧の内容を示し、(E)は、処理毎の使用ファイルのリレーション一覧の内容を示す図である。
【図29】出力目的のユーザビューは何かを示すメタデータとしてのユーザビュー情報メタデータの具体例を示す図であり、(A)は、ユーザビューの名称の内容を示し、(B)は、ユーザビューの見出し項目の内容を示し、(C)は、ユーザビューの行項目の内容を示し、(D)は、ユーザビューの列項目の内容を示す図である。
【図30】加工処理内容は何かを示すメタデータとしての抽出条件メタデータ、コード変換メタデータ、及び導出演算メタデータの具体例を示す図であり、(A)は、抽出条件メタデータの内容を示し、(B)は、コード変換メタデータの内容を示し、(C)は、導出演算メタデータの内容を示す図である。
【図31】加工処理内容は何かを示すメタデータとしての分類表示対応のグループ演算メタデータの具体例を示す図である。
【図32】図17に示す入力データとは異なる入力データ、並びに図18及び図19とは異なる出力データの仕様例を示す図であり、(A)は、顧客テーブルの内容を示し、(B)は、グループ代表顧客テーブルの内容を示し、(C)は、出力データの内容を示す図である。
【図33】加工処理内容は何かを示すメタデータとしての親子対応のグループ演算メタデータの具体例を示す図である。
【図34】加工処理内容は何かを示すメタデータとしての時系列演算メタデータの具体例を示す図であり、(A)は、過去データ取得情報の内容を示し、(B)は、対比計数演算情報の内容を示し、(C)は、過去データ訂正情報の内容を示し、(D)は、時系列保有期間情報の内容を示す図である。
【図35】図28、図29、図30、図31、及び図34に示す各種メタデータに基づいて生成されるメタデータの具体例を示す図であり、(A)は、インターフェースメタデータの内容を示し、(B)は、集計バッファの分類属性情報を表す集計エリアメタデータの内容を示す図である。
【図36】図28、図29、図30、図31、及び図34に示す各種メタデータに基づいて生成されるメタデータの具体例を示す図であり、(A)は、計数項目情報を表す集計エリアメタデータの内容を示し、(B)は、データ構造変換メタデータの内容を示す図である。
【図37】図17乃至図26に示す仕様に応じたプロセスフローについて説明する図である。
【図38】第1の中間テーブルの具体例を示す図である。
【図39】第2の中間テーブルの具体例を示す図である。
【図40】出力データとしての第1の出力テーブルの具体例を示す図である。
【図41】出力データとしての第2の出力テーブルの具体例を示す図である。
【符号の説明】
10,50 表示及び操作部、 20 メタデータ入力部、 30 リポジトリ、 40 演算プロセス部、 60 プロセス運用管理部、 100 メモリ、 110 CPU、 120 外部記憶装置、 150 通常演算プロセス部、 151,161,171 メタデータ取得部、 152,162,172 入力部、 153 通常演算部、 154,164,174 出力部、 160グループ演算プロセス部、 163,301 グループ演算部、 170 時系列演算プロセス部、 173,351 時系列演算部、 201,251 抽出条件判定部、 202,252 コード変換部、 203,253 導出演算部、 204 カテゴリ演算部、 205 カテゴリ演算後導出演算部、 206,254,303,352 データ構造変換部、 302 グループ演算後導出演算部

Claims (7)

  1. 任意の入力データに基づいて所望の出力データを作成するバッチ処理装置であって、
    少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、上記記憶手段から取得するメタデータ取得手段と、
    上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記入力データを入力するデータ入力手段と、
    上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記データ入力手段を介して入力した上記入力データを加工して上記出力データを作成する加工処理手段と、
    上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記加工処理手段によって作成された上記出力データを出力するデータ出力手段とを備え、
    上記加工処理手段は、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成すること
    を特徴とするバッチ処理装置。
  2. 上記加工処理手段は、
    サマリーデータを作成する場合に生成されるサマリー演算プロセスを行うサマリー演算プロセス手段と、
    明細データを作成する場合に生成される明細演算プロセスを行う明細演算プロセス手段と、
    上記入力データ上に存在する親子関係におけるグループ集計であるグループ演算プロセスを行うグループ演算プロセス手段と、
    時系列データに対する更新を行う時系列演算プロセスを行う時系列演算プロセス手段とを有すること
    を特徴とする請求項1記載のバッチ処理装置。
  3. 上記メタデータは、上記入力データのデータ項目、上記入力データのフォーマット、上記データ項目がコードを有する場合には当該各コードで表されるカテゴリ、上記カテゴリの組み合わせから構成されるカテゴリ階層、上記出力データのデータ項目、上記出力データのフォーマット、データ項目を要素として上記出力データの出力単位を表現するための管理単位、上記入力データのデータ項目を要素として表現される抽出条件式、上記入力データのデータ項目によって導出される上記出力データを表現する導出演算式、上記入力データのデータ項目の値を上記出力データのコードに変換するコード変換内容と変換方法、親子関係におけるグループ演算のために当該親子関係を特定する上記入力データのデータ項目と集計方法、時系列演算によって出力される上記出力データのデータ項目名称の要素として表現される時点と対比とを表す用語、及び/又は、上記入力データが過去訂正データである場合に過去時系列データへの訂正方法を示すものであること
    を特徴とする請求項1又は請求項2記載のバッチ処理装置。
  4. 上記メタデータは、バッチ処理のプロセスフロー、各プロセスで作成される中間データの内容、及び/又は、各プロセスにおける入力データと出力データとの間のリンクを示すものであること
    を特徴とする請求項1又は請求項2記載のバッチ処理装置。
  5. 任意の入力データに基づいて所望の出力データを作成するバッチ処理方法であって、
    少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、上記記憶手段から取得するメタデータ取得工程と、
    上記メタデータ取得工程にて取得した上記メタデータの宣言処理に基づいて、上記入力データを入力するデータ入力工程と、
    上記メタデータ取得工程にて取得した上記メタデータの宣言処理に基づいて、上記データ入力工程にて入力した上記入力データを加工して上記出力データを作成する加工処理工程と、
    上記メタデータ取得工程にて取得した上記メタデータの宣言処理に基づいて、上記加工処理工程にて作成された上記出力データを出力するデータ出力工程とを備え、
    上記加工処理工程では、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されること
    を特徴とするバッチ処理方法。
  6. 任意の入力データに基づいて所望の出力データを作成するコンピュータ実行可能なバッチ処理プログラムであって、
    少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、上記記憶手段から取得するメタデータ取得処理と、
    上記メタデータ取得処理にて取得した上記メタデータの宣言処理に基づいて、上記入力データを入力するデータ入力処理と、
    上記メタデータ取得処理にて取得した上記メタデータの宣言処理に基づいて、上記データ入力処理にて入力した上記入力データを加工して上記出力データを作成する加工処理と、
    上記メタデータ取得処理にて取得した上記メタデータの宣言処理に基づいて、上記加工処理にて作成された上記出力データを出力するデータ出力処理とを備え、
    上記加工処理では、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されること
    を特徴とするバッチ処理プログラム。
  7. 任意の入力データに基づいて所望の出力データを作成するバッチ処理システムであって、
    少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であるメタデータを予め記憶して登録する記憶装置と、
    所定の仕様に基づいて上記メタデータを生成し、生成した上記メタデータを上記記憶装置に対して登録する第1の操作装置と、
    上記メタデータを上記記憶装置から取得し、取得した上記メタデータの宣言処理に基づいて、上記入力データを入力し、入力した上記入力データを加工して上記出力データを作成し、上記出力データを出力する処理装置と、
    上記処理装置に対して少なくともバッチ処理の起動指示を与える第2の操作装置とを備え、
    上記処理装置は、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成すること
    を特徴とするバッチ処理システム。
JP2002319530A 2002-11-01 2002-11-01 バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム Expired - Lifetime JP4301431B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002319530A JP4301431B2 (ja) 2002-11-01 2002-11-01 バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002319530A JP4301431B2 (ja) 2002-11-01 2002-11-01 バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006276994A Division JP2007058874A (ja) 2006-10-10 2006-10-10 バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム

Publications (2)

Publication Number Publication Date
JP2004152216A true JP2004152216A (ja) 2004-05-27
JP4301431B2 JP4301431B2 (ja) 2009-07-22

Family

ID=32462349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002319530A Expired - Lifetime JP4301431B2 (ja) 2002-11-01 2002-11-01 バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム

Country Status (1)

Country Link
JP (1) JP4301431B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020095364A1 (ja) * 2018-11-06 2021-09-02 Ykk株式会社 スライドファスナー用の止め具

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020095364A1 (ja) * 2018-11-06 2021-09-02 Ykk株式会社 スライドファスナー用の止め具

Also Published As

Publication number Publication date
JP4301431B2 (ja) 2009-07-22

Similar Documents

Publication Publication Date Title
US7865529B2 (en) Batch processing apparatus
JP6857689B2 (ja) データ検索装置、プログラム、及び記録媒体
US10885112B2 (en) System and method for non-programmers to dynamically manage multiple sets of XML document data
US11460977B2 (en) Data preparation user interface with conglomerate heterogeneous process flow elements
US7370271B2 (en) Methods and apparatus for generating a spreadsheet report template
US8176002B2 (en) Method and system for user alteration of the configuration of a data warehouse
US8190992B2 (en) Grouping and display of logically defined reports
US20170132300A1 (en) System and methods for integrated performance measurement environment
US8090677B2 (en) Method and system for altering the configuration of a data warehouse
US8126750B2 (en) Consolidating data source queries for multidimensional scorecards
US20070239660A1 (en) Definition and instantiation of metric based business logic reports
CN101089846A (zh) 数据分析方法、设备以及数据分析辅助方法
JP6623754B2 (ja) 表形式データ処理プログラム、方法及び装置
JP4301431B2 (ja) バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム
JP2007058874A (ja) バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム
JP4461111B2 (ja) バッチ系のシステム設計図自動生成方式
US11809698B1 (en) Phrase builder for data analytic natural language interface
JP4663526B2 (ja) 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム
WO2021205823A1 (ja) 生産知識管理システム、生産知識管理方法及び生産知識管理プログラム
Marques PRESENTING BUSINESS INSIGHTS ON ADVANCED PRICING AGREEMENTS USING A BUSINESS INTELLIGENCE FRAMEWORK
JP2007257387A (ja) バッチ系のシステムリソース管理方式
JP4181330B2 (ja) 要約作成プログラム及びシステム並びにコンピュータによる要約作成方法
KŘÍŽ Business Intelligence řešení pro společnost 1188

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061121

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061215

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

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

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4301431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140501

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term