(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサからアクセス可能なメモリと、記憶装置と、入力部と、出力部と、を備えるデータ処理システムにおける、入力データである一次データを基に、データの生成手順が予め定義されたプログラムによって、二次データを生成するデータ処理方法であって、
前記プロセッサは、前記プログラムを実行し、
前記メモリは、前記プログラムを格納し、
前記記憶装置は、前記一次データと、前記二次データと、前記一次データの更新時刻及び前記二次データの更新時刻を含むデータ更新情報とを格納し、
前記プロセッサは、
前記プログラムによって前記二次データを前記一次データとして処理することによって、新たに二次データを生成し、
前記二次データの取得を要求されたときに、前記要求された二次データを生成するために使用する一次データ及び二次データの生成時刻が前記要求された二次データを生成するプログラムの開始時刻以降の場合には、前記要求された二次データを生成するプログラムを実行し、
前記一次データ、前記二次データ及び前記プログラムに対応するノードを含み、前記プログラムからみて二次データを上階層、一次データを下階層とした場合に、上階層のノードから下階層のノードに方向付けられた有向枝によって各ノードを連結した有向グラフを前記出力部に出力することを特徴とするデータ処理方法。
【請求項２】
前記記憶装置は、前記プログラムの開始時刻、終了時刻、通常開始時刻及び処理時間を含むプロセス履歴を格納し、
前記プロセッサは、前記一次データ及び前記二次データが更新されたときには、前記データ更新情報に更新時刻を記録し、前記プログラムが実行されたときには、前記プロセス履歴に開始時刻及び終了時刻を記録し、
前記出力部は、出力要求に応えて前記有向グラフとともに前記データ更新情報及び前記プロセス履歴を出力することを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記プロセッサは、前記要求された二次データが最新であるか否かを判定し、
前記出力部は、前記要求された二次データが最新であるか否かの判定結果を出力することを特徴とする請求項１に記載のデータ処理方法。
【請求項４】
前記出力部は、前記要求された二次データが最新でない場合、前記要求された二次データの更新予定時刻を出力することを特徴とする請求項３に記載のデータ処理方法。
【請求項５】
前記プロセッサは、前記要求された二次データが最新でない場合、最新の二次データに更新するために必要な時間を算出し、
前記出力部は、前記算出された最新の二次データに更新するために必要な時間を出力することを特徴とする請求項３に記載のデータ処理方法。
【請求項６】
前記プロセッサは、前記要求された二次データが最新でない場合、前記要求された二次データを更新するために必要なプログラムを特定し、前記特定されたプログラムを実行することを特徴とする請求項３に記載のデータ処理方法。
【請求項７】
前記出力部は、前記必要なプログラムによって更新される二次データを含む情報を出力することを特徴とする請求項６に記載のデータ処理方法。
【請求項８】
前記プロセッサは、前記要求された二次データが最新でない場合、予め指定されたプログラムを実行し、前記予め指定されたプログラムによって更新された二次データを含む情報を出力することを特徴とする請求項３に記載のデータ処理方法。
【請求項９】
入力データである一次データを基に、データの生成手順が予め定義されたプログラムによって、二次データを生成する二次データ生成システムであって、
前記二次データ生成システムは、
ネットワークによって接続された一次情報クライアント、管理クライアント、管理サーバ、及びプロセスサーバを備え、
前記プログラムによって前記二次データを前記一次データとして処理することによって、新たに二次データを生成し、
前記一次情報クライアントは、前記一次データを入力及び更新する一次データ更新部を備え、
前記管理クライアントは、利用者からの二次データの更新要求を受け付け、前記管理サーバに送信する要求受付部を備え、
前記管理サーバは、前記管理クライアントから送信された前記更新要求を受信し、前記更新要求を受けた二次データを更新するために必要なプログラムを特定し、前記プロセスサーバに前記必要プログラムの実行指示を送信するプロセス分析部を備え、
前記プロセスサーバは、複数の前記プログラムを記憶するプロセス記憶部と、前記プログラムを実行するプロセス実行管理部とを備え、
前記プロセス実行管理部は、前記二次データの取得を要求されたときに、前記要求された二次データを生成するために使用する一次データ及び二次データの生成時刻が前記要求された二次データを生成するプログラムの開始時刻以降の場合には、前記要求された二次データを生成するプログラムを実行し、
前記管理クライアントは、前記一次データ、前記二次データ及び前記プログラムに対応するノードを含み、前記プログラムからみて二次データを上階層、一次データを下階層とした場合に、上階層のノードから下階層のノードに方向付けられた有向枝によって各ノードを連結した有向グラフを出力することを特徴とする二次データ生成システム。
【請求項１０】
前記管理サーバは、
前記プログラムの開始時刻、終了時刻、通常開始時刻及び処理時間を含むプロセス履歴を格納し、
前記一次データ及び前記二次データが更新されたときには、前記データ更新情報に更新時刻を記録し、前記プログラムが実行されたときには、前記プロセス履歴に開始時刻及び終了時刻を記録し、
前記管理クライアントは、出力要求に応えて前記有向グラフとともに前記データ更新情報及び前記プロセス履歴を出力することを特徴とする請求項９に記載の二次データ生成システム。
【請求項１１】
入力データである一次データを基に、データの生成手順が予め定義されたプログラムによって、要求された二次データを生成するプログラムであって、
前記一次データを読み込む手順と、
前記一次データの更新時刻を含む一次データ更新情報を格納する手順と、
前記予め定義されたプログラムによって、前記一次データを処理することによって、前記二次データを生成する手順と、
前記予め定義されたプログラムによって、前記生成された二次データを前記一次データとして処理することによって、新たに二次データを生成する手順と、
前記二次データの更新時刻を含む二次データ更新情報を格納する手順と、
前記二次データの取得要求を受け付ける手順と、
前記二次データの取得要求を受け付けたとき、前記要求された二次データを生成するために必要な前記一次データの前記一次データ更新情報及び前記二次データの前記二次データ更新情報を読み込んで、前記要求された二次データのデータ更新情報との関係を判定する手順と、
前記要求された二次データを生成するために使用する一次データ及び二次データの生成時刻が前記要求された二次データを生成する前記予め定義されたプログラムの開始時刻以降の場合には、前記要求された二次データを生成する前記予め定義されたプログラムを実行する手順と、
前記一次データ、前記二次データ及び前記予め定義されたプログラムに対応するノードを含み、前記予め定義されたプログラムからみて二次データを上階層、一次データを下階層とした場合に、上階層のノードから下階層のノードに方向付けられた有向枝によって各ノードを連結した有向グラフとして出力する手順とを計算機に実行させることを特徴とするデータ処理プログラム。
【請求項１２】
前記プログラムは、
前記予め定義されたプログラムの開始時刻、終了時刻、通常開始時刻及び処理時間を含むプロセス履歴を格納する手順と、
前記一次データ及び前記二次データが更新されたときには、前記データ更新情報に更新時刻を記録し、前記予め定義されたプログラムが実行されたときには、前記プロセス履歴に開始時刻及び終了時刻を記録する手順と、
出力要求に応えて前記有向グラフとともに前記データ更新情報及び前記プロセス履歴を出力する手順と、を前記計算機にさらに実行させることを特徴とする請求項１１に記載のデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力情報等の一次データを加工し、二次データを生成するデータ処理技術にに関する。
【背景技術】
【０００２】
フランチャイズチェーンなどにおける在庫管理システムでは、店舗において商品の販売数量等の情報を端末から入力する。入力された販売数量などの一次データは、データセンター等に集められ、集計される。集められた一次データは、利用者が利用しやすい二次データに変換され、商品の在庫管理等に活用される。
【０００３】
ところで、オンラインで各店舗とデータセンターを接続した場合、リアルタイムに一次データを送信すると、ネットワークのトラフィックを増大させてしまうおそれがある。また、オンライン化自体が困難な場合も考えられる。
【０００４】
そこで、一次データを一時的に蓄積し、定期的にバッチ処理を実行することによって二次データを生成する方法が考えられる。しかし、このようなバッチ処理では、一次データを入力するタイミングと二次データを生成するタイミングとの時間差が発生する問題点があった。そのため、この時間差によってシステムに登録された在庫量と実際の在庫量に差が生じることによって、商品の欠品が生じたり過剰在庫を保有してしまうようなことがないことが望ましい。
【０００５】
これらの課題を改善するために、二次データを参照するときに必要に応じてデータを生成する方法も考えられる。しかし、二次データの生成に膨大な一次データを利用しなければならない場合は、その処理に多くの時間を要する。また、一部の一次データのみを更新した場合でも、二次データの生成に必要なすべてのプログラムが実行しなければならなかった。
【０００６】
そこで、一次データ、二次データ及び二次データの生成に必要なプログラムの関係を導き出すような技術が、特許文献１に開示されている。
【特許文献１】特開２００１−３３１３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に開示された技術では、一次データを更新することによって影響される範囲を取得するのみであった。そのため、参照する二次データは最新であることが望ましい。なお、二次データが最新であることとは、最後に二次データが生成されてから、二次データの生成に必要な一次データが更新されていないことをいう。
【０００８】
本発明は、前述した課題に鑑みてなされたものであり、参照する二次データが最新であるか否かを判断し、最新の状態に更新するために必要なプログラムを抽出し、実行することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な実施の形態では、プロセッサと、前記プロセッサからアクセス可能なメモリと、記憶装置と、入力部と、出力部と、を備えるデータ処理システムにおける、入力データである一次データを基に、データの生成手順が予め定義されたプログラムによって、二次データを生成するデータ処理方法であって、前記プロセッサは、前記プログラムを実行し、前記メモリは、前記プログラムを格納し、前記記憶装置は、前記一次データと、前記二次データと、前記一次データの更新時刻及び前記二次データの更新時刻を含むデータ更新情報とを格納し、前記プロセッサは、前記プログラムによって前記二次データを前記一次データとして処理することによって、新たに二次データを生成し、前記二次データの取得を要求されたときに、前記要求された二次データを生成するために使用する一次データ及び二次データの生成時刻が前記要求された二次データを生成するプログラムの開始時刻以降の場合には、前記要求された二次データを生成するプログラムを実行し、前記一次データ、前記二次データ及び前記プログラムに対応するノードを含み、前記プログラムからみて二次データを上階層、一次データを下階層とした場合に、上階層のノードから下階層のノードに方向付けられた有向枝によって各ノードを連結した有向グラフを前記出力部に出力する。
【発明の効果】
【００１０】
本発明の代表的な実施の形態によれば、二次データを生成するために、必要なプログラムを実行すればよい。したがって、二次データを短時間で最新の状態に更新することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について説明する。
【００１２】
図１Ａは、本実施の形態のデータ処理システムを示す構成図である。
【００１３】
データ処理システムは、一次情報クライアント１１０、プロセスクライアント１２０、プロセスサーバ１３０、一次情報サーバ１４０、二次情報サーバ１５０、管理クライアント１６０及び管理サーバ１７０を備える。一次情報クライアント１１０、プロセスクライアント１２０、プロセスサーバ１３０、一次情報サーバ１４０、二次情報サーバ１５０、管理クライアント１６０及び管理サーバ１７０は、ネットワーク１００によって互いに接続される。
【００１４】
一次情報クライアント１１０は、図１Ｂにて後述するように、利用者が入力したデータを受け付け、一次情報サーバ１４０に送信する。
【００１５】
一次情報サーバ１４０は、一次情報クライアント１１０に入力されたデータを受信する。一次情報サーバ１４０は、図１Ｃにて後述するように、受信したデータを格納する。
【００１６】
プロセスクライアント１２０は、図１Ｄにて後述するように、データの処理手順の入力を受け付ける。入力された処理手順は、ネットワーク１００を通じてプロセスサーバ１３０に送信される。
【００１７】
プロセスサーバ１３０は、プロセスクライアント１２０が送信した処理手順を受信する。プロセスサーバ１３０は、図１Ｅにて後述するように、受信した処理手順を加工して実行可能な形式のプロセスを作成する。プロセスサーバ１３０は、管理サーバ１７０に作成したプロセスの関連情報を送信する。
【００１８】
プロセスとは、一次データを抽出し、予め定義された手順で一次データを加工して二次データを生成し、生成された二次データを格納する一連の処理である。例えば、一次データは商品の販売数量、販売単価及び原価であり、二次データは利益額とする。このとき、プロセスは販売単価と原価との差に販売数量を掛ける処理となる。また、プロセスは、一次データの抽出から二次データの生成及び格納までの処理を実行するプログラムとしてもよい。
【００１９】
二次情報サーバ１５０は、プロセスが生成した二次データを受信する。二次情報サーバ１５０は、図１Ｆにて後述するように、受信した二次データを格納する。
【００２０】
管理クライアント１６０は、図１Ｇにて後述するように、管理サーバ１７０にデータ分析の実行を指示する。また、管理クライアント１６０は、管理サーバ１７０から分析結果をネットワーク１００を通じて受信する。管理クライアント１６０は、受信した分析結果を表示する。
【００２１】
管理サーバ１７０は、図１Ｈにて後述するように、管理クライアント１６０からの指示を受け、データ分析を実行する。データ分析では、利用者が参照する二次データの生成に必要な一次データ及びプロセスを抽出し、一次データの更新時刻とプロセスの実行履歴から参照する二次データが最新であるか否かを判断する。管理サーバ１７０は、参照する二次データが最新でない場合には、データの更新に必要なプロセスを抽出する。さらに、管理サーバ１７０は、データの更新に推定所要時間などを算出する。管理サーバ１７０は、分析結果をネットワーク１００を通じて管理クライアント１６０に送信する。
【００２２】
図１Ｂは、本実施の形態の一次情報クライアント１１０を示す構成図である。
【００２３】
一次情報クライアント１１０は、プロセッサ１１２、メモリ１１３、入力部１１４、出力部１１５及びネットワークインターフェイス１１７を備える。プロセッサ１１２、メモリ１１３、入力部１１４、出力部１１５及びネットワークインターフェイス１１７は、内部バス１１８によって相互に接続される。
【００２４】
入力部１１４は、例えば、キーボード又はマウス等であり、一次情報が入力される。出力部１１５は、例えば、ディスプレイ等であり、入力画面及び入力結果などの情報を出力する。
【００２５】
プロセッサ１１２は、メモリ１１３に記憶されているプログラムを実行することによって、各種処理を行う。
【００２６】
メモリ１１３は、プロセッサ１１２によって実行されるプログラム及びプロセッサ１１２によって必要とされる情報を記憶する。メモリ１１３は、一次データ更新部１１１を格納する。一次データ更新部１１１は、入力部１１４から入力されたデータを一次情報サーバ１４０に送信する。
【００２７】
ネットワークインターフェイス１１７は、ネットワーク１００と接続する。
【００２８】
図１Ｃは、本実施の形態の一次情報サーバ１４０を示す構成図である。
【００２９】
一次情報サーバ１４０は、メモリ１４３、プロセッサ１４５、記憶装置１４６及びネットワークインターフェイス１４７を備える。メモリ１４３、プロセッサ１４５、記憶装置１４６及びネットワークインターフェイス１４７は、内部バス１４８によって相互に接続される。
【００３０】
プロセッサ１４５は、メモリ１４３に記憶されているプログラムを実行することによって、各種処理を行う。
【００３１】
記憶装置１４６は、磁気ディスクドライブを備える。記憶装置１４６は、複数のディスクドライブによってＲＡＩＤを構成してもよい。記憶装置１４６は、外部入力データ１４２を格納する。外部入力データ１４２は、一次情報クライアント１１０からの入力情報である。
【００３２】
メモリ１４３は、プロセッサ１４５によって実行されるプログラム及びプロセッサ１４５によって必要とされる情報を記憶する。メモリ１４３は、一次データ管理部１４１を格納する。
【００３３】
一次データ管理部１４１は、一次情報クライアント１２０から送信された入力データを受信して外部入力データ１４２を更新する。また、一次データ管理部１４１は、外部入力データ１４２を更新した時刻を追加又は更新されたテーブル名とともに管理サーバ１７０に送信する。
【００３４】
ネットワークインターフェイス１４７は、ネットワーク１００と接続する。
【００３５】
図１Ｄは、本実施の形態のプロセスクライアント１２０を示す構成図である。
【００３６】
プロセスクライアント１２０は、プロセッサ１２２、メモリ１２３、入力部１２４、出力部１２５及びネットワークインターフェイス１２７を備える。プロセッサ１２２、メモリ１２３、入力部１２４、出力部１２５及びネットワークインターフェイス１２７は、内部バス１２８によって相互に接続される。
【００３７】
入力部１２４は、例えば、キーボード又はマウス等であり、プロセスの処理内容等が入力される。出力部１２５は、例えば、ディスプレイ等であり、入力画面及び入力結果などの情報を出力する。
【００３８】
プロセッサ１２２は、メモリ１２３に記憶されているプログラムを実行することによって、各種処理を行う。
【００３９】
メモリ１２３は、プロセッサ１２２によって実行されるプログラム及びプロセッサ１２２によって必要とされる情報を記憶する。メモリ１２３は、プロセス編集部１２１を格納する。プロセス編集部１２１は、入力部１２４から入力されたプロセスの処理内容等をプロセスサーバ１３０に送信する。
【００４０】
ネットワークインターフェイス１２７は、ネットワーク１００と接続する。
【００４１】
図１Ｅは、本実施の形態のプロセスサーバ１３０を示す構成図である。
【００４２】
プロセスサーバ１３０は、メモリ１３８Ａ、プロセッサ１３８Ｂ及びネットワークインターフェイス１３９Ａを備える。メモリ１３８Ａ、プロセッサ１３８Ｂ及びネットワークインターフェイス１３９Ａは、内部バス１３９Ｂによって相互に接続される。
【００４３】
プロセッサ１３８Ｂは、メモリ１３８Ａに記憶されているプログラムを実行することによって、各種処理を行う。
【００４４】
メモリ１３８Ａは、プロセッサ１３８Ｂによって実行されるプログラム及びプロセッサ１３８Ｂによって必要とされる情報を記憶する。メモリ１３８Ａは、プロセス作成部１３１、プロセス実行管理部１３２及びプロセス記憶部１３７を格納する。
【００４５】
プロセス作成部１３１は、プロセスクライアント１２０から送信されたプロセスの処理内容等の情報からプロセス１３３を作成する。プロセス作成部１３１は、作成したプロセス１３３をプロセス記憶部１３７に格納し、所定の情報を管理サーバ１７０に送信する。
【００４６】
プロセス実行管理部１３２は、プロセスの実行指示を受信して指定されたプロセスの実行を制御する。また、日次処理のように所定のプロセスを定期的に実行する場合には、プロセス実行管理部１３２がプロセスの実行を制御する。
【００４７】
プロセス記憶部１３７は、複数のプロセス１３３を格納する。プロセス１３３は、プロセスクライアント１２０から受信した処理内容等に基づいてプロセス作成部１３１によって作成される。プロセス１３３は、データ抽出部１３４、データ加工部１３５及びデータ格納部１３６を備える。
【００４８】
データ抽出部１３４は、プロセス１３３の実行に必要なデータを一次情報サーバ１４０の外部入力データ１４２又は二次情報サーバ１５０のプロセス加工データ１５２から抽出する。
【００４９】
データ加工部１３５は、プロセス１３３に定義された手順に従ってデータを加工処理する。
【００５０】
データ格納部１３６は、データ加工部１３５によって加工された二次データを二次情報サーバ１５０のプロセス加工データ１５２に格納する。
【００５１】
ネットワークインターフェイス１３９Ａは、ネットワーク１００と接続する。
【００５２】
図１Ｆは、本実施の形態の二次情報サーバ１５０を示す構成図である。
【００５３】
二次情報サーバ１５０は、メモリ１５３、プロセッサ１５５、記憶装置１５６及びネットワークインターフェイス１５７を備える。メモリ１５３、プロセッサ１５５、記憶装置１５６及びネットワークインターフェイス１５７は、内部バス１５８によって相互に接続される。
【００５４】
プロセッサ１５５は、メモリ１５３に記憶されているプログラムを実行することによって、各種処理を行う。
【００５５】
メモリ１５３は、プロセッサ１５５によって実行されるプログラム及びプロセッサ１５５によって必要とされる情報を記憶する。メモリ１５３は、二次データ管理部１５１を格納する。二次データ管理部１５１は、プロセスサーバ１３０で生成された二次データを受信して記憶装置１５６に格納する。また、二次データ管理部１５１は、二次データを受信した時刻を更新されたテーブル名とともに管理サーバ１７０に送信する。
【００５６】
記憶装置１５６は、磁気ディスクドライブを備える。記憶装置１５６は、複数のディスクドライブによってＲＡＩＤを構成してもよい。記憶装置１５６は、プロセス加工データ１５２を格納する。プロセス加工データ１５２は、前述のようにプロセスサーバ１３０で生成された二次データである。なお、プロセス加工データ１５２は、一次情報サーバ１４０に格納された外部入力データ１４２及びプロセスサーバ１３０のプロセス記憶部１３７に格納されたプロセス１３３によって、再生成することができる。
【００５７】
ネットワークインターフェイス１５７は、ネットワーク１００と接続する。
【００５８】
図１Ｇは、本実施の形態の管理クライアント１６０を示す構成図である。
【００５９】
管理クライアント１６０は、プロセッサ１６２、メモリ１６３、入力部１６４、出力部１６５及びネットワークインターフェイス１６７を備える。プロセッサ１６２、メモリ１６３、入力部１６４、出力部１６５及びネットワークインターフェイス１６７は、内部バス１６８によって相互に接続される。
【００６０】
入力部１６４は、例えば、キーボード又はマウス等であり、参照するテーブルの指定に必要な情報等が入力される。出力部１６５は、例えば、ディスプレイ等であり、入力画面及び取得した二次データ等を出力する。
【００６１】
プロセッサ１６２は、メモリ１６３に記憶されているプログラムを実行することによって、各種処理を行う。
【００６２】
メモリ１６３は、プロセッサ１６２によって実行されるプログラム及びプロセッサ１６２が必要とする情報を記憶する。メモリ１６３は、ユーザー要求受付部１６１及び表示部１６２を格納する。
【００６３】
ユーザー要求受付部１６１は、利用者が参照するテーブルの指定を受け付ける。ユーザー要求受付部１６１は、指定されたテーブルの内容を一次情報サーバ１４０又は二次情報サーバ１５０から取得する。さらに、ユーザー要求受付部１６１は、利用者から更新情報の表示を要求されると、管理サーバ１７０に指定されたテーブル名を送信し、データの分析及び更新情報の取得を依頼する。表示部１６２は、ユーザー要求受付部１６１に指定された二次データ及び更新情報を表示する。
【００６４】
ネットワークインターフェイス１６７は、ネットワーク１００と接続する。
【００６５】
図１Ｈは、本実施の形態の管理サーバ１７０を示す構成図である。
【００６６】
管理サーバ１７０は、プロセッサ１８０、メモリ１８１、記憶装置１８２及びネットワークインターフェイス１８４を備える。プロセッサ１８０、メモリ１８１、記憶装置１８２及びネットワークインターフェイス１８３は、内部バス１８５によって相互に接続される。
【００６７】
プロセッサ１８０は、メモリ１８１に記憶されているプログラムを実行することによって、各種処理を行う。
【００６８】
メモリ１８１は、プロセッサ１８０によって実行されるプログラム及びプロセッサ１８０によって必要とされる情報を記憶する。メモリ１８１は、管理データ分析部１７１、プロセス手順管理部１７２、プロセス履歴管理部１７３及びテーブル管理部１７４を格納する。
【００６９】
記憶装置１８２は、プロセス手順テーブル１７６、プロセス履歴テーブル１７７及びテーブル管理テーブル１７８を格納する。
【００７０】
管理データ分析部１７１は、管理クライアント１６０からの分析指示を受け、データを分析する。管理データ分析部１７１は、プロセス手順取得部１８５、更新情報付加部１８６及びプロセス分析部１８７を含む。
【００７１】
プロセス手順取得部１８５及び更新情報付加部１８６は、プロセスの実行履歴を参照して指定されたテーブルの更新情報を生成する。
【００７２】
プロセス分析部１８７は、取得した更新情報を利用して指定されたテーブルを最新状態に更新するために必要なプロセスを抽出し、推定所要時間を算出する。なお、テーブルが最新状態であることとは、テーブルに格納された二次データが最新であることをいう。
【００７３】
プロセス手順管理部１７２は、プロセスサーバ１３０から送信されたプロセス情報を受信する。プロセス手順管理部１７２は、受信したプロセス情報をプロセス手順テーブル１７６に格納する。プロセス手順とは、プロセスに入力する一次データとプロセスから出力される二次データとの対応関係である。プロセス手順テーブル１７６の詳細は、図２にて説明する。
【００７４】
プロセス履歴管理部１７３は、直前に実行されたプロセス履歴をプロセス履歴テーブル１７７に格納する。プロセス履歴とは、プロセスの開始時刻及び終了時刻などの情報である。なお、プロセス履歴の情報は、プロセスに入力する一次データ及びプロセスから出力される二次データのデータ更新情報とみなすことができる。プロセス履歴テーブル１７７の詳細は、図３Ａにて説明する。
【００７５】
テーブル管理部１７４は、外部入力データ１４２が登録又は更新されたとき、一次情報サーバ１４０から通知を受けてテーブル管理テーブル１７８に更新時刻を記録する。プロセス加工データ１５２についても、二次情報サーバ１５０から通知を受けて更新時刻をテーブル管理テーブル１７８に記録する。これらの記録された更新時刻は、一次データ及び二次データのデータ更新情報に含まれる。テーブル管理テーブル１７８の詳細は、図４にて説明する。
【００７６】
ネットワークインターフェイス１８３は、ネットワーク１００と接続する。
【００７７】
次に、本実施形態に必要なデータを格納するテーブルについて説明する。
【００７８】
図２Ａは、プロセス手順テーブル１７６の初期状態を示す。図２Ｂは、プロセス手順テーブル１７６の初期状態からデータを追加した状態を示す。
【００７９】
プロセス手順テーブル１７６は、プロセスに入力する一次データとプロセスから出力される二次データとの関係を保持する。プロセス手順テーブル１７６は、プロセス名２０１、出力先２０２及び入力元２０３を含む。
【００８０】
プロセス名２０１は、プロセスの名称を格納する。プロセス名２０１は、各プロセスを一意に識別する。
【００８１】
出力先２０２は、プロセスが出力する二次データを保持するテーブル及びカラムを格納する。出力先２０２は、プロセス名２０１との組み合わせでプロセス手順テーブル１７６のレコードを一意に識別する。
【００８２】
入力元２０３は、プロセスに入力される一次データを保持するテーブル及びカラムを格納する。
【００８３】
図２Ｂには、レコード２０４が追加されている。レコード２０４は、「Ｔａｂｌｅ−Ｂ」のカラム「０１」及び「０２」の内容をプロセス「Ｐ１」に入力すると、処理結果を「Ｔａｂｌｅ−Ａ」のカラム「０１」に出力することを示している。
【００８４】
図３Ａは、プロセス履歴テーブル１７７の初期状態を示す。図３Ｂは、プロセス編集終了時の状態を示す。図３Ｃは、プロセス開始時の状態を示す。図３Ｄは、プロセス終了時の状態を示す。
【００８５】
プロセス履歴テーブル１７７は、前述のように、直前に実行されたプロセス履歴が格納される。プロセス履歴テーブル１７７は、図３Ａに示すように、プロセス名３０１、開始時刻３０２、終了時刻３０３、通常開始時刻３０４及び処理時間３０５を含む。
【００８６】
プロセス名３０１は、プロセスの名称が格納される。プロセス名３０１は、各プロセスを一意に識別する。
【００８７】
開始時刻３０２は、最後に実行されたプロセスの開始時刻を格納する。
【００８８】
終了時刻３０３は、最後に実行されたプロセスの終了時刻を格納する。
【００８９】
通常開始時刻３０４は、プロセスが日次バッチなどにより定期的に実行される場合に、予め指定された実行開始日時を格納する。
【００９０】
処理時間３０５は、最後に実行されたプロセスの処理に要した時間を格納する。
【００９１】
図３Ｂに示すように、プロセスクライアント１２０によって新たにプロセスが追加又は更新されたときには、プロセス名３０１及び通常開始時刻３０４のみが登録される。
【００９２】
図３Ｃに示すように、プロセスが開始されると、開始時刻３０２は、管理サーバ１７０のプロセス履歴管理部１７３によって更新される。
【００９３】
図３Ｄに示すように、プロセスが終了すると、終了時刻３０４は、管理サーバ１７０のプロセス履歴管理部１７３によって更新される。さらに、プロセス履歴管理部１７３は、開始時刻と終了時刻から処理時間を算出し、処理時間３０５を更新する。
【００９４】
プロセス履歴テーブル１７７にデータが既に格納されている場合には、開始時刻３０２と終了時刻３０３は、そのまま上書きされる。したがって、開始時刻３０２に格納された時刻が終了時刻３０３に格納された時刻よりも後の時刻であれば、プロセスが実行中であることを意味する。
【００９５】
図４Ａは、テーブル管理テーブル１７８の初期状態を示す。図４Ｂは、テーブルの追加時の状態を示す。図４Ｃは、テーブルの更新時の状態を示す。
【００９６】
テーブル管理テーブル１７８は、テーブルの更新時刻を格納する。テーブル管理テーブル１７８は、図４Ａに示すように、テーブル名４０１及び更新時刻４０２を含む。
【００９７】
テーブル名４０１は、外部入力データ１４２又はプロセス加工データ１５２を格納するテーブルのテーブル名である。テーブル名４０１は、各テーブルを一意に識別する。
【００９８】
更新時刻４０２は、テーブル名４０１により指定されたテーブルが最後に更新された時刻を格納する。
【００９９】
テーブル管理テーブル１７８は、一次情報サーバ１４０又は二次情報サーバ１５０にテーブルが追加されると、図４Ａに示す初期状態から図４Ｂに示すようにレコード４０３が追加される。さらに、「Ｔａｂｌｅ−Ａ」が更新された場合には、更新時刻４０２は、図４Ｃに示すように、更新時刻が上書きされる。
【０１００】
次に、プロセス手順テーブル１７６、プロセス履歴テーブル１７７及びテーブル管理テーブル１７８のデータを格納する方法について、図５〜図７のフローチャートを参照して説明する。
【０１０１】
図５は、プロセスの編集処理のフローチャートである。プロセスの編集とは、プロセスを追加、削除及び修正処理である。図５は、プロセスの追加処理を示す。
【０１０２】
プロセスの追加は、プロセスクライアント１２０から入力されたプロセスの処理内容をプロセスサーバ１３０に格納する。さらに、プロセスの関連情報をプロセス手順テーブル１７６及びプロセス履歴テーブル１７７に格納する。
【０１０３】
プロセス設計者は、プロセスクライアント１２０において、プロセス編集部１２１を起動する。プロセス設計者は、プロセスクライアント１２０の入力部１２４からプロセスを追加するために必要な情報を入力する。情報の入力が完了すると、プロセス編集部１２１は、追加するプロセスの編集内容をプロセスサーバ１３０に送信する（ステップ５０２）。プロセス編集部１２１は、追加するプロセスの送信が完了すると、その後、終了する。
【０１０４】
プロセスサーバ１３０は、プロセスクライアント１２０から追加するプロセスの処理内容を受信する（ステップ５１１）。プロセス作成部１３１は、受信したプロセスの処理内容に基づいてプロセスを作成する（ステップ５１２）。作成されたプロセスは、プロセスサーバ１３０のプロセス記憶部１３７にプロセス１３３として格納される。
【０１０５】
さらに、プロセス作成部１３１は、作成したプロセスの情報を管理サーバ１７０に送信する。プロセス作成部１３１は、プロセス名、出力先カラム、入力元カラム及びプロセスの通常開始時刻を送信する（ステップ５１３）。プロセス作成部１３１は、作成したプロセスの情報の送信が完了すると、その後、終了する。
【０１０６】
管理サーバ１７０は、前述のプロセスの情報を受信する（ステップ５２１）。プロセス手順管理部１７２は、受信した情報を元に新規レコードを生成し、プロセス手順テーブル１７６に追加する（ステップ５２２）。具体的には、プロセス手順管理部１７２は、受信したプロセス名２０１、出力先２０２及び入力元２０３から新規レコードを生成し、プロセス手順テーブル１７６に追加する。図２Ｂは、プロセス手順テーブル１７６にレコードが追加された状態の例である。
【０１０７】
次に、プロセス履歴管理部１７３は、受信した情報を元に新規レコードをプロセス履歴テーブル１７７に追加する（ステップ５２３）。具体的には、プロセス履歴管理部１７３は、受信したプロセス名及び通常開始時刻から新規レコードを生成し、プロセス履歴テーブル１７７に追加する。図３Ｂは、プロセス履歴テーブル１７７にレコードが追加された状態の例である。
【０１０８】
また、プロセスの削除及び修正についても同様の手順で実行する。
【０１０９】
図６は、外部入力データ１４２を更新する処理のフローチャートである。
【０１１０】
外部入力データ１４２の更新処理は、一次情報サーバ１４０に格納された外部入力データ１４２を更新し、更新したテーブルの更新時刻をテーブル管理テーブルに記録する。
【０１１１】
一次情報クライアント１１０の利用者は、一次データ更新部１１１を起動する。利用者は、一次情報クライアント１１０の入力部１１４から更新するデータを入力する。データの入力が完了すると、一次データ更新部１１１は、更新するデータの内容を一次情報サーバ１４０に送信する（ステップ６０２）。一次データ更新部１１１は、入力したデータの送信が完了すると、その後、終了する。
【０１１２】
一次情報サーバ１４０は、更新するデータの内容を受信する（ステップ６１１）。一次データ管理部１４１は、記憶装置１４６に格納された外部入力データ１４２を受信した更新内容に従って更新する（ステップ６１２）。
【０１１３】
外部入力データ１４２の更新が完了すると、一次データ管理部１４１は、管理サーバ１７０にデータを更新したテーブル名と現在時刻を送信する（ステップ６１３）。一次データ管理部１４１は、管理サーバ１７０への送信が完了すると、その後、終了する。
【０１１４】
管理サーバ１７０は、更新された外部入力データ１４２のテーブル名と更新時刻を受信する（ステップ６２１）。テーブル管理部１７４は、受信したテーブル名がテーブル管理テーブル１７８に存在する場合には（ステップ６２２の結果が「ＹＥＳ」）、該当するレコードの更新時刻に受信した更新時刻を上書きする（ステップ６２４）。
【０１１５】
例えば、受信したテーブル名が「Ｔａｂｌｅ−Ａ」及び更新時刻が「２００５／１／３  ５：００」であるとき、テーブル管理テーブル１７８が図４Ｂに示す状態になっているとする。テーブル管理テーブル１７８には、テーブル名が一致するレコードが既に存在しているため、テーブル管理部１７４は、更新時刻を「２００５／１／３  ３：００」から「２００５／１／３  ５：００」に更新する。
【０１１６】
一方、受信したテーブル名がテーブル管理テーブル１７８に存在しない場合には（ステップ６２２の結果が「ＮＯ」）、テーブル管理部１７４は、受信したテーブル名と更新時刻から新規レコードを生成し、テーブル管理テーブル１７８に追加する（ステップ６２３）。
【０１１７】
図７は、プロセスサーバ１３０に格納されたプロセスを実行するフローチャートである。プロセスサーバ１３０のプロセス実行管理部１３２は、格納されたプロセスを定期的に実行する。また、必要に応じて手動でプロセスを実行させることもできる。
【０１１８】
プロセス実行管理部１３２は、所定の実行条件を満たすと、指定されたプロセスの実行を指示する。プロセス実行管理部１３２は、指定されたプロセスを実行すると、管理サーバ１７０に実行したプロセスのプロセス名及び現在時刻を送信する（ステップ７０２）。
【０１１９】
プロセス１３３は、プロセス実行管理部１３２からの実行命令を受けて、データ抽出部１３４が一次データを抽出する（ステップ７０３）。続いて、データ加工部１３５は、抽出した一次データを加工する（ステップ７０４）。さらに、データ格納部１３６は、生成された二次データを二次情報サーバ１５０に送信する（ステップ７０５）。
【０１２０】
一方、管理サーバ１７０は、プロセスサーバ１３０が送信したプロセス名及び開始時刻を受信する（ステップ７１１）。プロセス履歴管理部１７３は、受信したプロセス名からプロセス履歴テーブル１７７の対応するレコードの開始時刻を更新する（ステップ７１２）。図３Ｃは、ステップ７１２が完了した時点のプロセス履歴テーブル１７７の状態を示している。なお、プロセス履歴管理部１７３は、ステップ７１２の処理をプロセスサーバ１３０におけるプロセスと並列して実行する。
【０１２１】
二次情報サーバ１５０は、プロセスサーバ１３０で生成された二次データを受信する（ステップ７２１）。二次データ管理部１５１は、受信した二次データを記憶装置１５６のプロセス加工データ１５２に追加又は更新する（ステップ７２２）。さらに、二次データ管理部１５１は、プロセスサーバ１３０に対して二次データの更新が完了したことを通知する。そして、二次データ管理部１５１は、データを更新したテーブル名と現在時刻を管理サーバ１７０に送信する（ステップ７２３）。
【０１２２】
管理サーバ１７０は、更新された二次データを格納するテーブルのテーブル名と更新時刻を受信する（ステップ７３１）。テーブル管理部１７４は、受信したテーブル名から該当するレコードを抽出し、更新時刻を更新する（ステップ７３２）。
【０１２３】
一方、プロセスサーバ１３０は、プロセスの終了情報を管理サーバ１７０に送信する。プロセス実行管理部１３２は、二次データの更新が完了した旨の通知を受けた後、実行中のプロセス名と現在時刻を１７０に送信する（ステップ７０６）。
【０１２４】
管理サーバ１７０は、プロセス名及び終了時刻を受信する（ステップ７４１）。プロセス履歴管理部１７３は、受信したプロセス名から該当するレコードを抽出し、終了時刻を更新する（ステップ７４２）。さらに、プロセス履歴管理部１７３は、開始時刻と終了時刻から処理時間を算出し、処理時間を更新する（ステップ７４３）。図３Ｄは、ステップ７４３の処理が完了した時点のプロセス履歴テーブル１７７の状態を示している。
【０１２５】
図８は、管理クライアント１６０から、利用者が指定したテーブルを参照するテーブル参照画面８００である。テーブル参照画面８００は、出力部１６５に表示部１６２によって表示される。
【０１２６】
テーブル参照画面８００は、リスト８０１と、グリッド８０２及び更新情報ボタン８０３を含む。また、テーブル参照画面８００は、入力部１６４から参照するテーブルが選択される。
【０１２７】
リスト８０１は、参照するテーブルを選択する。リスト８０１は、選択可能なテーブルの一覧を格納している。リスト８０１は、左側にテーブル名の表示部を、右側にテーブル一覧を表示するボタンを備える。右側のボタンを押下すると、テーブル名の表示部が拡大し、利用者は参照するテーブルを選択できる。
【０１２８】
グリッド８０２は、選択されたテーブルの内容を表示する。
【０１２９】
更新情報ボタン８０３を押下すると、更新情報の内容を示す更新情報表示画面が表示される。更新情報表示画面は、図１６にて後述する。更新情報は、加工プロセス関連情報と加工プロセス分析結果を含む。
【０１３０】
加工プロセス関連情報とは、指定されたテーブルに格納されたデータを生成するために必要な一次データ、二次データ及びプロセスを階層構造としたものである。さらに、一次データ及び二次データは更新時刻が、プロセスは開始時刻、終了時刻、次回開始予定時刻及び処理時間が付加される。
【０１３１】
加工プロセス分析結果は、指定されたテーブルの更新状況、最新状態に更新するために必要なプロセス、必要な処理時間及び次回更新予定時刻を含む。
【０１３２】
図９は、更新情報を取得及び表示する処理のフローチャートである。
【０１３３】
管理クライアント１６０は、図８に示したテーブル参照画面の更新情報ボタン８０３を押下されると、管理サーバ１７０に更新情報の取得を依頼する。管理クライアント１６０は、管理サーバ１７０で取得及び生成された更新情報を受信し、その内容を画面に表示する。利用者は、表示された更新情報を参照して必要に応じて部分更新依頼を実行して指定されたテーブルを最新状態に更新する。
【０１３４】
ここで、更新情報の取得について詳細を説明する。図８に示すテーブル参照画面８００の更新情報ボタン８０３を押下すると、ユーザ要求受付部１６１は、管理サーバ１７０に更新情報の取得の依頼とともに対象となるテーブル名を送信する（ステップ９０２）。
【０１３５】
管理サーバ１７０は、更新情報の取得対象となるテーブルのテーブル名を受信する(ステップ９１１)。
【０１３６】
管理データ分析部１７１は、受信したテーブル名をもとにプロセス手順取得処理を実行する(ステップ９１２)。プロセス手順取得処理は、指定されたテーブルに格納されたデータを生成するために必要なカラム及びプロセスを取得し、その生成順序に従って階層構造を構築する。この階層構造は、更新情報の加工プロセス関連情報に相当する。なお、プロセス手順取得処理の具体的な処理の内容は、図１０及び図１１にて詳細を後述する。
【０１３７】
プロセス手順取得処理で構築された階層構造は、一次データ、二次データ及びプロセスの対応関係のみが構築されている。そこで、管理データ分析部１７１は、この階層構造に対して更新時刻などの情報を付加する(ステップ９１３)。なお、具体的な処理の内容は、図１２及び図１３にて詳細を後述する。
【０１３８】
管理データ分析部１７１は、構築した階層構造からプロセス分析処理を行う(ステップ９１４)。
【０１３９】
プロセス分析処理は、指定されたテーブルが最新状態にあるか否かを判断する。管理データ分析部１７１は、指定されたテーブルが最新状態でないとき、加工プロセス関連情報から指定されたテーブルを最新状態に更新するために必要なプロセスを抽出する。さらに、抽出されたプロセスの処理時間等から指定されたテーブルを更新するために必要な処理時間を算出する。なお、具体的な処理の内容は、図１４及び図１５にて詳細を後述する。
【０１４０】
プロセス分析が終了すると、管理データ分析部１７１は、分析結果となる更新情報を管理クライアント１６０に送信する。
【０１４１】
管理クライアント１６０が更新情報を受信すると（ステップ９０３）、表示部１６２は、受信した更新情報を表示する（ステップ９０４）。さらに、ユーザ要求受付部１６１は、利用者からの部分更新依頼を受け付けると（ステップ９０５の結果が「ＹＥＳ」）、テーブルを最新状態に更新するために必要なプロセスの実行を依頼する（ステップ９０６）。
【０１４２】
プロセスサーバ１３０は、管理クライアント１６０から実行するプロセス名を受信する（ステップ９２１）。プロセス実行管理部１３６は、指定されたプロセスを順次実行する（ステップ９２２）。なお、指定されたプロセスは、前述の図７に示したフローチャートに従って実行される。
【０１４３】
図１０は、指定されたテーブルのデータを生成するために必要なカラム及びプロセスをノードとする階層構造を構築するフローチャートである。図１１は、図１０のフローチャートに従って構築された階層構造である。
【０１４４】
管理データ分析部１７１は、受信したテーブル「Ｔａｂｌｅ−Ａ」を階層構造のルートノードとして管理サーバ１７０のメモリ１８１に記録する（ステップ１００２）。受信したテーブルのすべてのカラムについて、ステップ１００３以降の処理を実行する。
【０１４５】
管理データ分析部１７１は、処理対象となるカラム（対象カラム）を出力先とするプロセス（対象プロセス）をプロセス手順テーブル１７６から抽出する（ステップ１００３）。ここで、図２Ｂに示すように、「Ｔａｂｌｅ−Ａ．０１」は、プロセス「Ｐ１」の出力先となっている。したがって、管理データ分析部１７１は、「Ｔａｂｌｅ−Ａ．０１」を出力先とするプロセス「Ｐ１」をプロセス手順テーブル１７６から抽出する。
【０１４６】
なお、図２Ｂには、理解を容易にするために、「Ｔａｂｌｅ−Ａ」のカラム「０１」のみが表示されているが、実際には複数のカラムが存在する。階層構造のルートノードは、受信したテーブル「Ｔａｂｌｅ−Ａ」のすべてのカラムを含む。
【０１４７】
管理データ分析部１７１は、対象プロセスを抽出すると（ステップ１００４の結果が「Ｙｅｓ」）、対象カラムが親となるように階層構造に対象プロセスを追加し、メモリ１８１に記録する（ステップ１００５）。したがって、図１１に示すように、「Ｔａｂｌｅ−Ａ」に対応するルートノード１２０１には、プロセス「Ｐ１」に対応するノード１２０２が追加される。なお、データ分析部１７１は、対象プロセスが存在しない場合には（ステップ１００４の結果が「Ｎｏ」）、本処理を終了する。
【０１４８】
さらに、管理データ分析部１７１は、対象プロセスの入力元カラムを取得する。そして、対象プロセスが親となるように入力元カラム２０３を階層構造に追加し、メモリ１８１に記録する（ステップ１００６）。プロセス「Ｐ１」の入力元カラムは、図２Ｂに示すように、「Ｔａｂｌｅ−Ｂ．０１」及び「Ｔａｂｌｅ−Ｂ．０２」となっている。そこで、管理データ分析部１７１は、図１１に示すように、ノード１２０２の下階層に「Ｔａｂｌｅ−Ｂ．０１」及び「Ｔａｂｌｅ−Ｂ．０２」に対応するノード１２０３及び１２０４を追加する（ステップ１００６）。
【０１４９】
管理データ分析部１７１は、追加した入力元カラムを対象カラムとして、ステップ１００３〜１００６の処理を対象プロセスが存在しなくなるまで繰り返し実行する。図１１に示す階層構造では、対象カラムを「Ｔａｂｌｅ−Ｂ．０１」及び「Ｔａｂｌｅ−Ｂ．０２」とし、ステップ１００３〜１００６の処理を実行する。
【０１５０】
管理データ分析部１７１は、対象カラムが「Ｔａｂｌｅ−Ｂ．０１」のときには、プロセス「Ｐ２」及びカラム「Ｔａｂｌｅ−Ｃ．０１」を抽出する。また、対象カラムが「Ｔａｂｌｅ−Ｂ．０２」のときには、プロセス「Ｐ２」、カラム「Ｔａｂｌｅ−Ｄ．０１」及び「Ｔａｂｌｅ−Ｅ．０１」を抽出する。このようにして、ノード１２０５〜１２０９が階層構造に追加され、図１１に示す階層構造が完成する。
【０１５１】
階層構造は、出力データが上階層、入力データが下階層となる。また、各ノード間の接続は、データの出力先から入力元に方向付けられた有向枝となる。この段階では、階層構造は、木構造（有向木）となっている。さらに、階層構造のルートノードからリーフノードまでの経路は、テーブル又はカラムと、プロセスとが交互に配置される。また、リーフノードは、必ずカラムに対応する。
【０１５２】
図１２は、階層構造に更新情報を付加するフローチャートである。図１３は、図１１に示した階層構造に図１２のフローチャートに従って更新情報を付加した階層構造である。
【０１５３】
管理データ分析部１７１は、プロセス手順取得処理（ステップ９１２）によって構築された階層構造の各ノードに対して更新時刻等の情報を付加する。ノードがテーブル又はカラムに対応する場合にはテーブルの更新時刻を、プロセスに対応する場合にはプロセス履歴を付加する。
【０１５４】
まず、管理データ分析部１７１は、メモリ１８１に記録された階層構造を取得する（ステップ１１０２）。
【０１５５】
次に、管理データ分析部１７１は、ルートノード１２０１に対して更新情報１２１１を付加する。ルートノードは、管理サーバ１７０が受信した「Ｔａｂｌｅ−Ａ」に対応する。管理データ分析部１７１は、テーブル管理テーブル１７８から「Ｔａｂｌｅ−Ａ」の更新時刻４０２を抽出し、ルートノード１２０１の更新情報１２１１に記録する（ステップ１１０３）。
【０１５６】
管理データ分析部１７１は、基準ノードにルートノード１２０１を設定する（ステップ１１０８Ａ）。基準ノードとは、下階層を探索する基準となるノードである。基準ノードは、更新情報を付加する処理を実行している間、一時的にメモリ１８１に記録される。
【０１５７】
管理データ分析部１７１は、基準ノードの下階層にノードが連結されている場合には（ステップ１１０４の結果が「Ｙｅｓ」）、下階層のノードに対応する情報を取得する（ステップ１１０５）。
【０１５８】
図１３を参照すると、この時点の基準ノードであるルートノード１２０１には、ノード１２０２が連結している。ノード１２０２は、プロセス「Ｐ１」が対応する。さらに、ノード１２０２には、ノード１２０３及びノード１２０４が連結している。ノード１２０３は、プロセス「Ｐ１」の入力元カラム「Ｔａｂｌｅ−Ｂ．０１」が対応する。同じく、ノード１２０４は、プロセス「Ｐ１」の入力元カラム「Ｔａｂｌｅ−Ｂ．０２」が対応する。
【０１５９】
管理データ分析部１７１は、基準ノードの下階層のノードに対応するプロセスのプロセス履歴を記録する（ステップ１１０６）。そこで、管理データ分析部１７１は、プロセス「Ｐ１」のプロセス履歴をプロセス履歴テーブル１７７から取得する。そして、管理データ分析部１７１は、プロセス「Ｐ１」の更新情報１２１２をノード１２０２に記録する。記録する更新情報１２１２は、プロセス「Ｐ１」の開始時刻、終了時刻、通常開始時刻及び処理時間を含む。
【０１６０】
さらに、管理データ分析部１７１は、入力元カラムが含まれるテーブルの更新時刻を、対応するノードに記録する（ステップ１１０７）。テーブルの更新時刻は、テーブル管理テーブル１７８から取得される。したがって、管理データ分析部１７１は、「Ｔａｂｌｅ−Ｂ．０１」及び「Ｔａｂｌｅ−Ｂ．０２」を含むテーブル「Ｔａｂｌｅ−Ｂ」の更新時刻を取得し、更新情報１２１３及び１２１４にそれぞれ記録する。
【０１６１】
その後、管理データ分析部１７１は、基準ノードを入力元カラムとし（ステップ１１０８Ｂ）、ステップ１１０４〜１１０８Ｂの処理を実行する。そして、管理データ分析部１７１は、残りのノード（１２０５〜１２０９）に更新情報（１２１５〜１２１９）を付加するまでステップ１１０４〜１１０８Ｂの処理を繰り返す。すべてのノードに更新情報を付加し、基準ノードの下階層にノードが存在しなくなると（ステップ１１０４の結果が「Ｎｏ」）、本処理を終了する。
【０１６２】
図１４は、図１３の加工プロセス関連情報を分析するフローチャートである。図１５Ａは、二次データを最新するために必要なプロセスによって構成された階層構造を示す。図１５Ｂは、加工プロセス分析結果を示す。
【０１６３】
管理データ分析部１７１は、更新情報取得処理（ステップ９１３）で更新情報の付加された階層構造を元にプロセス分析を実行する。管理データ分析部１７１は、二次データの生成後に更新された一次データを特定する。
【０１６４】
管理データ分析部１７１は、まず、メモリ１８１に記録された階層構造を複製する（ステップ１３０２）。
【０１６５】
次に、管理データ分析部１７１は、各ノードに記録された更新情報を比較する。ここで、出力先カラムの更新時刻は、必ずプロセスの完了時刻以降になる。一方、入力元カラムの更新時刻は、対象となるプロセスの開始時刻以降に別のプロセスによって変更される場合がある。
【０１６６】
そこで、管理データ分析部１７１は、プロセスの開始時刻とプロセスの入力元カラムの更新時刻を比較する（ステップ１３０３）。管理データ分析部１７１は、ルートノード１２０２から順に下階層に向かって各ノードを比較する。
【０１６７】
すべてのプロセスについて、入力元カラムの更新時刻よりもプロセスの開始時刻が新しい場合には、「Ｔａｂｌｅ−Ａ」が最新状態であると判断できる（ステップ１３０３の結果が「Ｙｅｓ」）。このとき、管理データ分析部１７１は、加工プロセス分析結果の更新状況１４１１に「最新データです」と記録する（ステップ１３１０）。そして、管理データ分析部１７１は、図１３の加工プロセス関連情報及び図１５Ｂの加工プロセス分析結果を管理クライアント１６０に送信し（１３１１）、本処理を終了する。
【０１６８】
一方、入力元カラムの更新時刻が開始時刻よりも新しいプロセスが存在する場合には（ステップ１３０３の結果が「Ｎｏ」）、プロセスの実行後に入力元カラムが更新されている。したがって、管理データ分析部１７１は、更新状況１４１１に「最新データではありません」と記録する（ステップ１３０４）。
【０１６９】
ここで、図１３を参照すると、ノード１２０９に対応するカラム「Ｔａｂｌｅ−Ｄ．０１」の更新時刻は、このカラムを入力元とするプロセス「Ｐ３」の開始時刻よりも新しい。したがって、「Ｔａｂｌｅ−Ｄ．０１」の更新結果は、「Ｔａｂｌｅ−Ｂ．０２」に反映されていないことがわかる。さらに、「Ｔａｂｌｅ−Ｂ．０２」に対応するノード１２０４より上階層のノードについても同様に反映されていないことがわかる。
【０１７０】
なお、一次データの更新が反映されているか否かの判定は、各プロセスの入力元カラムが更新されてから出力先カラムが更新されるまでの経過時間と、各プロセス毎に予め定められた経過時間とを比較してもよい。この予め定められた経過時間を各プロセスの標準的な処理時間とすると、入力元カラムが更新されてからこの標準的な処理時間を経過する前に出力先カラムが更新された場合には、プロセス実行後に入力元カラムが更新されたと判断することができる。また、この予め定められた経過時間を「０」に設定することで、利用者が必要に応じて随時更新することにしてもよい。
【０１７１】
管理データ分析部１７１は、一次データの更新が反映されているカラム及び実行する必要のないプロセスを階層構造から削除する（ステップ１３０５）。
【０１７２】
具体的には、プロセス「Ｐ１」の入力元カラム「Ｔａｂｌｅ−Ｂ．０１」は、更新時刻がプロセス「Ｐ１」の開始時刻よりも古い。さらに、「Ｔａｂｌｅ−Ｂ．０１」を出力先カラムとするプロセス「Ｐ２」の開始時刻は、入力元カラム「Ｔａｂｌｅ−Ｃ．０１」の更新時刻よりも新しい。したがって、「Ｔａｂｌｅ−Ｂ．０１」は、最新となっており、更新する必要はない。そこで、図１３に示すように、プロセス「Ｐ１」とカラム「Ｔａｂｌｅ−Ｂ．０１」との連結する枝を切断し、下層のノードを削除する。また、プロセス「Ｐ３」の入力元カラム「Ｔａｂｌｅ−Ｅ．０１」についても、同様にノード１２０９を削除する。
【０１７３】
このようにして、実行が必要なプロセスと入力元カラム及び出力先カラムのみを構成要素とする階層構造が構築される（図１５Ａ）。ここで、同一プロセスを示すノードが複数存在する場合には、これらのノードをマージする（ステップ１３０６）。この結果、階層構造は木構造ではなく循環路を持たない有向グラフとなる。
【０１７４】
図１５Ａは、以上の処理によって構築された分析済の階層構造である。管理データ分析部１７１は、図１５Ａに示された分析済階層構造を元に、加工プロセス分析結果を生成する。
【０１７５】
管理データ分析部１７１は、分析済階層構造に含まれるプロセスを列挙し、最新用プロセス１４１２に記録する（ステップ１３０７）。
【０１７６】
管理データ分析部１７１は、参照するテーブルを最新状態に更新するための所要時間を推定し、部分更新所要時間１４１３に記録する（ステップ１３０８）。具体的には、ルートノード１２０１からリーフノード１２０８までの経路について、通過するノード１２０２、１２０４、１２０６のうちプロセスに対応するノード１２０２、１２０６の処理時間を合計して所要時間を推定する。したがって、プロセス「Ｐ１」の処理時間「０：３０」とプロセス「Ｐ３」の処理時間「２：００」とを合計した時間「２：３０」が、部分更新所要時間１４１３に記録される。
【０１７７】
管理データ分析部１７１は、定期的に実行されるバッチ処理によって参照する二次データを最新に更新する時刻を次回更新予定１４１４に記録する（ステップ１３０９）。次回更新予定時刻は、ルートノード１２０２と連結するプロセスの通常開始時刻に処理時間を加算した時刻となる。ルートノード１２０２と連結するプロセスが複数存在する場合には、該当する各プロセスの通常開始時刻に処理時間を加算した時刻のうち、最も遅い時刻が次回更新予定時刻となる。
【０１７８】
以上の処理が終了すると、管理データ分析部１７１は、図１３の加工プロセス関連情報及び図１５Ｂの加工プロセス分析結果を管理クライアント１６０に送信し（ステップ１３１１）、本処理を終了する。
【０１７９】
図１６は、「Ｔａｂｌｅ−Ａ」の更新情報を表示する画面を示す図である。画面左側には、「Ｔａｂｌｅ−Ａ」の加工プロセス関連情報１５０２が表示される。また、画面右側には、「Ｔａｂｌｅ−Ａ」の加工プロセス分析結果１５０３が表示される。
【０１８０】
管理クライアント１６０の表示部１６２は、管理サーバ１７０の管理データ分析部１７１から加工プロセス関連情報（図１３）と加工プロセス分析結果（図１５Ｂ）を受信し、出力部１６５に出力する。さらに、管理クライアント１６０より現在時刻を取得し、画面右上に現在時刻１５０１を表示する。
【０１８１】
利用者は、加工プロセス関連情報１５０２によって、指定したテーブルに格納されるデータを生成するプロセス及びカラムを参照することができる。このとき、表示部１６２は、加工プロセス関連情報１５０２において、更新対象のカラムと更新対象でないカラムを区別して表示してもよい。こうすることによって、利用者は、指定したテーブルの更新に伴って影響を受ける二次データを認識することができる。
【０１８２】
また、利用者は、加工プロセス分析結果１５０３の更新状況１５１１を参照することによって、指定したテーブルが最新状態であるか否かを確認することができる。表示部１６２は、指定したテーブルが最新状態でない場合には、画面右下に部分更新依頼ボタン１５０４を表示する。
【０１８３】
利用者は、指定したテーブルを最新状態に更新するために実行するプロセス１５１２、部分更新所要時間１５１３及び次回の更新予定時刻１５１４を参照し、部分更新を実行するか否かを判断することができる。
【０１８４】
利用者は、部分更新依頼ボタン１５０４を押下すれば（ステップ９０５の結果が「ＹＥＳ」）、部分更新を実行し、指定したテーブルを最新状態に更新することができる（ステップ９０６）。
【０１８５】
さらに、部分更新は、プロセス分析によって抽出されたプロセスのみを実行するのではなく、予め指定されたプロセスを実行してもよい。予め指定されたプロセスとは、例えば、更新された一次データを基に二次データを生成するプロセスについて、密接に関連するプロセスをグループ化したものとすることができる。このようにプロセスをグループ化して実行することによって、密接に関連する二次データを一括して更新することができる。
【０１８６】
図１６の部分更新依頼ボタン１５０４を押下すると、表示部１６２は、一旦画面を消去し、指定したテーブルの内容を参照するテーブル参照画面８００を表示する。図１７Ａ及び図１７Ｂは、表示されたテーブル参照画面８００を示す図である。
【０１８７】
図１７Ａは、部分更新依頼ボタン１５０４を押下した直後に表示されるテーブル参照画面８００を示す。表示部１６２は、部分更新がなされた旨及び更新完了の予定時刻を領域１７１１に表示する。更新完了の予定時刻は、図１６の現在時刻１５０１に加工プロセス分析結果１５０３の部分更新所要時間１５１３を加算することによって算出される。このとき、バックグラウンドでは、図７に示すフローチャートに従って、指定されたプロセスが順次実行される。
【０１８８】
その後、部分更新が完了してからテーブル参照画面８００を表示させると、図１７Ｂに示すように、更新後の「Ｔａｂｌｅ−Ａ」の内容が表示される。
【０１８９】
図１７Ｃは、「Ｔａｂｌｅ−Ａ」の更新情報を表示する画面である。図１７Ｂの更新情報ボタン８０３を押下すると、管理サーバ１７０において、図９に示すフローチャートに従って処理が実行される。そして、管理クライアント１６０は、管理サーバ１７０から部分更新完了後の更新情報を受信して、図１７Ｃに示す画面を表示する。
【０１９０】
図１７Ｃは、現在時刻１６０１に示すように、部分更新後（時刻１７：３０）の更新情報である。図１６の時点（時刻１５：００）と比較すると、加工プロセス関連情報におけるカラムとプロセスの更新情報（１６１１〜１６１６）及び加工プロセス分析結果の各項目（１６２１〜１６２４）が更新されている。利用者は、更新状況１６２１に示す「最新情報です」との情報から、図１７Ｂで指定したテーブルが最新状態であることがわかる。
【０１９１】
本実施の形態によれば、管理サーバ１６０は、指定したテーブルに格納されるデータを生成するプロセス及びデータの関係を表した階層構造を構築する。管理サーバ１６０は、取得した階層構造を元にプロセス分析を実行し、指定したテーブルの更新状態を確認することができる。さらに、指定したテーブルの次回更新時刻や最新状態に更新するために必要な推定所要時間が表示されるため、利用者はこれらの情報を元に更新を実行するか否かを判断することができる。
【０１９２】
また、プロセス分析９１４によって指定したテーブルを最新状態に更新するために必要なプロセスが明らかにされているため、管理サーバ１６０は、最小限のプロセスをプロセスサーバ１３０に実行させればよい。このようにして、管理サーバ１６０は、指定したテーブルを最新状態に短時間で更新することができる。また、実行するプロセスを最小限に抑えることができるため、サーバのリソース消費量を低減させることができる。さらに、本実施の形態のように、データを格納する装置を分散して配置している場合には、ネットワークのトラフィック量を低減することができる。
【０１９３】
一方、本実施の形態では、参照する二次データから関連するプロセス及び一次データを特定していたが、入力した一次データから関連する二次データを特定することも可能である。
【０１９４】
概要を説明すると、一次データに対応するカラムを入力元カラムとするプロセスをプロセス手順テーブル１７６から取得する。さらに、取得した出力先カラムを入力元カラムとし、同様にプロセスを取得することを繰り返すことによって、一次データをルートノードとした階層構造を構築することができる。
【０１９５】
こうして得られた階層構造を参照すると、一次データを変更することによって影響される二次データを容易に確認できる。
【０１９６】
なお、各ノードの更新情報は、図１２のフローチャートを用いることによって付加することができる。そして、更新情報が付加された階層構造を分析し、ルートノードからリーフノードまでの各経路の所要時間を計算することによって、二次データの更新に必要な時間を取得することができる。
【０１９７】
さらに、本実施の形態では、複数のサーバ及びクライアントによって構成されているが、スタンドアロン環境でも適用することができる。
【０１９８】
また、在庫管理システム以外のシステムにも適用可能である。例えば、工場の生産管理システムにも適用することができる。最終製品は、複数の材料を加工又は組み合わせて中間品を製造し、さらに中間品を組み合わせることによって完成するものとする。このとき、一次データは材料又は中間品、二次データは中間品又は最終製品に対応させることができる。そして、材料原価の変更に伴って最終製品の原価を再計算する場合には、本発明を適用することによって、原価が変更された材料を使用する中間品及び最終製品に対してのみ原価計算のためのプロセスを実行すればよい。
【図面の簡単な説明】
【０１９９】
【図１Ａ】本発明の実施の形態のシステム構成を示す図である。
【図１Ｂ】本実施の形態の一次情報クライアントのシステム構成を示す図である。
【図１Ｃ】本実施の形態の一次情報サーバのシステム構成を示す図である。
【図１Ｄ】本実施の形態のプロセスクライアントのシステム構成を示す図である。
【図１Ｅ】本実施の形態のプロセスサーバのシステム構成を示す図である。
【図１Ｆ】本実施の形態の二次情報サーバのシステム構成を示す図である。
【図１Ｇ】本実施の形態の管理クライアントのシステム構成を示す図である。
【図１Ｈ】本実施の形態の管理サーバのシステム構成図である。
【図２Ａ】本実施の形態のプロセス手順テーブルの初期状態を示す図である。
【図２Ｂ】本実施の形態のプロセス手順テーブルの初期状態からデータを追加した状態を示す図である。
【図３Ａ】本実施の形態のプロセス履歴テーブルの初期状態を示す図である。
【図３Ｂ】本実施の形態のプロセス履歴テーブルのプロセス編集終了時の状態を示す図である。
【図３Ｃ】本実施の形態のプロセス履歴テーブルのプロセス実行開始時の状態を示す図である。
【図３Ｄ】本実施の形態のプロセス履歴テーブルのプロセス実行終了時の状態を示す図である。
【図４Ａ】本実施の形態のテーブル管理テーブルの初期状態を示す図である。
【図４Ｂ】本実施の形態のテーブル管理テーブルのテーブル追加時の状態を示す図である。
【図４Ｃ】本実施の形態のテーブル管理テーブルのテーブルの更新時の状態を示す図である。
【図５】本実施の形態のプロセス編集のフローチャートである。
【図６】本実施の形態の一次データ更新のフローチャートである。
【図７】本実施の形態のプロセス実行のフローチャートである。
【図８】本実施の形態のテーブル参照画面を示す図である。
【図９】本実施の形態のテーブルの更新情報の表示及び部分更新依頼のフローチャートである。
【図１０】本実施の形態のプロセス手順取得処理のフローチャートである。
【図１１】本実施の形態のプロセス手順取得処理完了後のメモリに記憶された階層構造を示す図である。
【図１２】本実施の形態の更新情報取得処理のフローチャートである。
【図１３】本実施の形態の更新情報取得処理完了後のメモリに記憶された階層構造を示す図である。
【図１４】本実施の形態のプロセス分析処理のフローチャートである。
【図１５Ａ】本実施の形態のプロセス分析処理によって構築された階層構造を示す図である。
【図１５Ｂ】本実施の形態のプロセス分析処理の分析結果を示す図である。
【図１６】本実施の形態の更新情報画面を示す図である。
【図１７Ａ】本実施の形態の部分更新依頼処理実行直後のテーブル参照画面を示す図である。
【図１７Ｂ】本実施の形態の部分更新依頼処理完了後のテーブル参照画面を示す図である。
【図１７Ｃ】本実施の形態の部分更新依頼処理完了後の更新情報を示す図である。
【符号の説明】
【０２００】
１１０  一次情報クライアント
１１１  一次データ更新部
１２０  プロセスクライアント
１２１  プロセス編集部
１３０  プロセスサーバ
１３１  プロセス作成部
１３２  プロセス実行管理部
１３３  プロセス
１３４  データ抽出部
１３５  データ加工部
１３６  データ格納部
１３７  プロセス記憶部
１４０  一次情報サーバ
１４１  一次データ管理部
１４２  外部入力データ
１５０  二次情報サーバ
１５１  二次データ管理部
１５２  プロセス加工データ
１６０  管理クライアント
１６１  ユーザ要求受付部
１６２  表示部
１７０  管理サーバ
１７１  管理データ分析部
１７２  プロセス手順管理部
１７３  プロセス履歴管理部
１７４  テーブル管理部
１７６  プロセス手順テーブル
１７７  プロセス履歴テーブル
１７８  テーブル管理テーブル
１８５  プロセス手順取得部
１８６  更新情報付加部
１８７  テーブル管理部
２０１  プロセス手順テーブルのプロセス名カラム
２０２  プロセス手順テーブルの出力先カラム
２０３  プロセス手順テーブルの入力元カラム
３０１  プロセス履歴テーブルのプロセス名カラム
３０２  プロセス履歴テーブルの開始時刻カラム
３０３  プロセス履歴テーブルの終了時刻カラム
３０４  プロセス履歴テーブルの通常開始時刻カラム
３０５  プロセス履歴テーブルの処理時間カラム
４０１  テーブル管理テーブルのテーブル名カラム
４０２  テーブル管理テーブルの更新時刻カラム
【図１Ａ】
0004808524.tif 000002
【図１Ｂ】
0004808524.tif 000003
【図１Ｃ】
0004808524.tif 000004
【図１Ｄ】
0004808524.tif 000005
【図１Ｅ】
0004808524.tif 000006
【図１Ｆ】
0004808524.tif 000007
【図１Ｇ】
0004808524.tif 000008
【図１Ｈ】
0004808524.tif 000009
【図２Ａ】
0004808524.tif 000010
【図２Ｂ】
0004808524.tif 000011
【図３Ａ】
0004808524.tif 000012
【図３Ｂ】
0004808524.tif 000013
【図３Ｃ】
0004808524.tif 000014
【図３Ｄ】
0004808524.tif 000015
【図４Ａ】
0004808524.tif 000016
【図４Ｂ】
0004808524.tif 000017
【図４Ｃ】
0004808524.tif 000018
【図５】
0004808524.tif 000019
【図６】
0004808524.tif 000020
【図７】
0004808524.tif 000021
【図８】
0004808524.tif 000022
【図９】
0004808524.tif 000023
【図１０】
0004808524.tif 000024
【図１１】
0004808524.tif 000025
【図１２】
0004808524.tif 000026
【図１３】
0004808524.tif 000027
【図１４】
0004808524.tif 000028
【図１５Ａ】
0004808524.tif 000029
【図１５Ｂ】
0004808524.tif 000030
【図１６】
0004808524.tif 000031
【図１７Ａ】
0004808524.tif 000032
【図１７Ｂ】
0004808524.tif 000033
【図１７Ｃ】
0004808524.tif 000034