(57)【要約】  【課題】締め時間経過後のバッチ処理時間を短縮することのできる技術を提供すること。  【解決手段】ＤＢ１２０の入力元データ格納領域１２１に格納されているデータを、逐次バッチ実行管理部１３４は、当該入力元データ格納領域１２１にデータが格納される毎に逐次バッチ処理を行い、一括バッチ実行管理部１３５は、締め時刻管理情報記憶領域１１６に記憶されている締め時刻の経過後に、当該入力元データ格納領域１２１に格納されているデータに対して一括バッチ処理を行う。【選択図】図１
2008158637.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してデータを受信する受信部と、当該データを記憶する記憶部と、当該データに対して複数のバッチ処理を行う制御部と、を備える情報処理装置であって、
前記制御部は、前記複数のバッチ処理を、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理と、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理と、に分けて行うこと、
を特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、加算処理又は減算処理については前記第一のバッチ処理とし、他の処理については前記第二のバッチ処理とすること、
を特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、予め定められた関数が含まれているバッチ処理については前記第二のバッチ処理とし、当該関数が含まれていないバッチ処理については前記第一のバッチ処理とすること、
を特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置であって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、並列して実行することのできるものについては前記第一のバッチ処理とし、並列して実行することのできないものについては前記第二のバッチ処理とすること、
を特徴とする情報処理装置。
【請求項５】
請求項１に記載の情報処理装置であって、
前記制御部は、
前記予め定められた期限の経過後に、前記第一のバッチ処理が終了した後に、前記第二のバッチ処理を行うこと、
を特徴とする情報処理装置。
【請求項６】
請求項１に記載の情報処理装置であって、
前記受信部で受信したデータを前記記憶部に記憶し、前記記憶部に記憶したデータについて第一のバッチ処理及び第二のバッチ処理を行うようにされており、
前記制御部は、前記記憶部に記憶したデータ量が予め定められた閾値を超えた場合には、前記第一のバッチ処理を一括して行うこと、
を特徴とする情報処理装置。
【請求項７】
コンピュータを、ネットワークを介してデータを受信する受信部、当該データを記憶する記憶部、当該データに対して複数のバッチ処理を行う制御部、として機能させるプログラムであって、
前記制御部は、前記複数のバッチ処理を、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理と、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理と、に分けて行うこと、
を特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムであって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、加算処理又は減算処理については前記第一のバッチ処理とし、他の処理については前記第二のバッチ処理とすること、
を特徴とするプログラム。
【請求項９】
請求項７に記載のプログラムであって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、予め定められた関数が含まれているバッチ処理については前記第二のバッチ処理とし、当該関数が含まれていないバッチ処理については前記第一のバッチ処理とすること、
を特徴とするプログラム。
【請求項１０】
請求項７に記載のプログラムであって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、並列して実行することのできるものについては前記第一のバッチ処理とし、並列して実行することのできないものについては前記第二のバッチ処理とすること、
を特徴とするプログラム。
【請求項１１】
請求項７に記載のプログラムであって、
前記制御部は、
前記予め定められた期限の経過後に、前記第一のバッチ処理が終了した後に、前記第二のバッチ処理を行うこと、
を特徴とするプログラム。
【請求項１２】
請求項７に記載のプログラムであって、
前記受信部で受信したデータを前記記憶部に記憶し、前記記憶部に記憶したデータについて第一のバッチ処理及び第二のバッチ処理を行うようにされており、
前記制御部は、前記記憶部に記憶したデータ量が予め定められた閾値を超えた場合には、前記第一のバッチ処理を一括して行うこと、
を特徴とするプログラム。
【請求項１３】
ネットワークを介してデータを受信する受信部と、当該データを記憶する記憶部と、当該データに対して複数のバッチ処理を行う制御部と、を備える情報処理装置で行う情報処理方法であって、
前記制御部が、前記複数のバッチ処理のうち、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理過程と、
前記制御部が、前記複数のバッチ処理のうち、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理過程と、
を備えること特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データをバッチ処理する技術に関する。
【背景技術】
【０００２】
ネットワークに接続されているオンライン装置から送信されてくる情報を処理する情報処理装置では、オンライン処理の単位終了時間（締め時間）の経過後にバッチ処理を実行するように構成することができる。このようなバッチ処理は、オンライン装置から送信されてくる情報の処理を停止して行うため、可能な限り速やかにバッチ処理の結果を得ることが望まれる。
【０００３】
この点、特許文献１に記載の技術では、ネットワークに接続する情報処理装置を二重化しておき、締め時間を経過すると一方の情報処理装置をネットワークから切り離し、バッチ処理を実行すると同時に他方の情報処理装置で更新を記憶し、一方の情報処理装置でバッチ処理が完了すると、他方の情報処理装置で行われた更新を一方の情報処理装置に反映するようにすることで、バッチ処理における情報の処理が停止してしまう不都合を解消するようにしている。
【０００４】
【特許文献１】特開平２−１２４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、情報処理装置を二重化してはいるが、締め時間経過後のバッチ処理には多くの時間を要しており、さらに、バッチ処理中に他の情報処理装置で行われた更新についても反映しなければならないため、当該一方の情報処理装置を使用可能にするためには多くの時間が必要となる。
【０００６】
そこで、本発明では、締め時間経過後のバッチ処理時間を短縮することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明は、バッチ処理を逐次的に行うことのできる処理と、一括で行わなければならない処理と、に分けて、逐次的に行うことのできる処理を締め時間前から順次行う技術を提供する。
【０００８】
例えば、本発明は、ネットワークを介してデータを受信する受信部と、当該データを記憶する記憶部と、当該データに対して複数のバッチ処理を行う制御部と、を備える情報処理装置であって、前記制御部は、前記複数のバッチ処理を、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理と、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理と、に分けて行うこと、を特徴とする。
【発明の効果】
【０００９】
以上のように、本発明によれば、バッチ処理を逐次的に行うことのできる処理と、一括で行わなければならない処理と、に分けて、逐次的に行うことのできる処理を締め時間前から順次行っているので、締め時間経過後のバッチ処理負担が軽減され、締め時間経過後のバッチ処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の一実施形態である情報処理装置１００の概略図である。
【００１１】
図示するように、情報処理装置１００は、記憶部１１０と、データベース（以下、ＤＢという）１２０と、制御部１３０と、ＩＦ部１４０と、入力部１５０と、を備えている。
【００１２】
そして、例えば、図２（情報処理システム１６０の概略図）に示されているように、情報処理装置１００は、ネットワーク１６１に接続されているオンライン装置１６２から送られてくるデータを蓄積して処理するものである。
【００１３】
図１に戻り、記憶部１１０は、バッチ定義記憶領域１１１と、逐次バッチ定義記憶領域１１２と、一括バッチ定義記憶領域１１３と、一括逐次バッチ定義記憶領域１１４と、バッチ管理情報記憶領域１１５と、締め時刻管理情報記憶領域１１６と、入出力管理情報記憶領域１１７と、一括バッチ管理情報記憶領域１１８と、を有する。
【００１４】
バッチ定義記憶領域１１１には、情報処理装置１００で行うバッチ処理を特定する情報が記憶される。
【００１５】
例えば、本実施形態では、図３（バッチ定義テーブル１１１ａの概略図）に示されているようなバッチ定義テーブル１１１ａがバッチ定義記憶領域１１１に記憶される。
【００１６】
バッチ定義テーブル１１１ａは、実行順フィールド１１１ｂと、バッチ番号フィールド１１１ｃと、並列実行可否フィールド１１１ｄと、処理内容フィールド１１１ｅと、を有する。
【００１７】
実行順フィールド１１１ｂには、各レコードで特定されるバッチ処理を実行する順序を特定するための情報が格納される。本実施形態においては、本フィールド１１１ｂに実行順序として「１」から順に自然数が格納されるが、このような態様に限定されるわけではない。
【００１８】
バッチ番号フィールド１１１ｃには、各レコードで特定される各々のバッチ処理を一意に識別するための情報が格納される。本実施形態においては、本フィールド１１１ｃに「１」から順に割り振られた自然数が格納される。
【００１９】
並列実行可否フィールド１１１ｄには、各レコードで特定されるバッチ処理について、並列実行が可能か否かを特定する情報が格納される。本実施形態においては、本フィールド１１１ｄに、各々のレコードで特定されるバッチ処理において並列実行が可能である場合には「可」の文字が格納され、配列実行が可能ではない場合には「否」の文字が格納されるが、このような態様に限定されるわけではない。
【００２０】
なお、並列実行可能か否かについては、逐次的な処理であるか否かで判断すればよい。
【００２１】
処理内容フィールド１１１ｅには、各レコードで特定されるバッチ処理で行う処理を特定する情報が格納される。本実施形態においては、本フィールド１１１ｅに、各レコードで特定されるバッチ処理の名称が格納されるが、このような態様に限定されるわけではない。
【００２２】
図１に戻り、逐次バッチ定義記憶領域１１２には、逐次実行するバッチ処理を特定する情報が格納される。
【００２３】
例えば、本実施形態では、図４（逐次バッチ定義テーブル１１２ａの概略図）に示されているような逐次バッチ定義テーブル１１２ａが逐次バッチ定義記憶領域１１２に記憶される。
【００２４】
逐次バッチ定義テーブル１１２ａは、実行順フィールド１１２ｂと、バッチ番号フィールド１１２ｃと、並列実行可否フィールド１１２ｄと、処理内容フィールド１１２ｅと、を有する。
【００２５】
ここで、逐次バッチ定義テーブル１１２ａは、バッチ定義テーブル１１１ａに格納されているレコードのうち、逐次的に実行することのできるものを抽出して格納したものであるため、各フィールドはバッチ定義テーブル１１１ａと同様であり説明を省略する。
【００２６】
図１に戻り、一括バッチ定義記憶領域１１３には、一括して実行するバッチ処理を特定する情報が格納される。
【００２７】
例えば、本実施形態では、図５（一括バッチ定義テーブル１１３ａの概略図）に示されているような一括バッチ定義テーブル１１３ａが一括バッチ定義記憶領域１１３に記憶される。
【００２８】
一括バッチ定義テーブル１１３ａは、実行順フィールド１１３ｂと、バッチ番号フィールド１１３ｃと、並列実行可否フィールド１１３ｄと、処理内容フィールド１１３ｅと、を有する。
【００２９】
ここで、一括バッチ定義テーブル１１３ａは、バッチ定義テーブル１１１ａに格納されているレコードのうち、一括して実行するものを抽出して格納したものであるため、各フィールドはバッチ定義テーブル１１１ａと同様であり説明を省略する。
【００３０】
図１に戻り、一括逐次バッチ定義記憶領域１１４には、逐次的に実行するバッチ処理について、処理するデータ量が予め定められた閾値を超えている場合に、一括して実行するバッチ処理を特定する情報が格納される。
【００３１】
例えば、本実施形態では、図６（一括逐次バッチ定義テーブル１１４ａの概略図）に示されているような一括逐次バッチ定義テーブル１１４ａが一括逐次バッチ定義記憶領域１１４に記憶される。
【００３２】
一括逐次バッチ定義テーブル１１４ａは、実行順フィールド１１４ｂと、バッチ番号フィールド１１４ｃと、並列実行可否フィールド１１４ｄと、処理内容フィールド１１４ｅと、を有する。
【００３３】
ここで、一括逐次バッチ定義テーブル１１４ａは、バッチ定義テーブル１１１ａに格納されているレコードのうち、順次行うべきものを抽出して格納したものであるため、各フィールドはバッチ定義テーブル１１１ａと同様であり説明を省略する。
【００３４】
バッチ管理情報記憶領域１１５には、バッチ処理の履歴に関する情報が格納される。
【００３５】
例えば、本実施形態では、図７（バッチ管理テーブル１１５ａの概略図）に示すようなバッチ管理テーブル１１５ａがバッチ管理情報記憶領域１１５に記憶される。
【００３６】
バッチ管理テーブル１１５ａは、レコード種別フィールド１１５ｂと、バッチ番号／通番フィールド１１５ｃと、データ入力元フィールド１１５ｄと、開始日時フィールド１１５ｅと、終了日時フィールド１１５ｆと、ステータスフィールド１１５ｇと、データ出力先フィールド１１５ｈと、締め実施日時フィールド１１５ｉと、を有する。
【００３７】
レコード種別フィールド１１５ｂには、各レコードに格納する情報の種別を特定する情報が格納される。
【００３８】
ここで、本実施形態においては、各レコードに格納する履歴が、バッチ処理に関するものである場合には「バッチ履歴」の文字が格納され、締め処理に関するものである場合には「締め」の文字が格納されるが、このような態様に限定されるわけではない。
【００３９】
バッチ番号／通番フィールド１１５ｃには、各レコードに履歴が格納される処理を識別する情報と、当該処理の順序を特定する情報と、が格納される。
【００４０】
ここで、本実施形態においては、各レコードに履歴が格納される処理が逐次バッチテーブル１１２ａの各レコードで特定される処理である場合には、「逐次」の文字と、当該逐次バッチテーブル１１２ａのバッチ番号フィールド１１２ｃで特定されているバッチ番号と、を連結し、さらに、当該逐次バッチテーブル１１２ａの実行順フィールド１１２ｂで特定されている実行順を括弧の中に入れたものを連結した文字列が格納されるが、このような態様に限定されるわけではない。
【００４１】
また、本実施形態においては、各レコードに履歴が格納される処理が一括バッチテーブル１１３ａの各レコードで特定される処理である場合には、「一括」の文字と、当該一括バッチテーブル１１３ａのバッチ番号フィールド１１３ｃで特定されているバッチ番号と、を連結し、さらに、当該一括バッチテーブル１１３ａの実行順フィールド１１３ｂで特定されている実行順を括弧の中に入れたものを連結した文字列が格納されるが、このような態様に限定されるわけではない。
【００４２】
さらに、本実施形態においては、各レコードに履歴が格納される処理が一括逐次バッチテーブル１１４ａの各レコードで特定される処理である場合には、「一括逐次」の文字と、当該一括逐次バッチテーブル１１４ａのバッチ番号フィールド１１４ｃで特定されているバッチ番号と、を連結し、さらに、当該一括バッチテーブル１１４ａの実行順フィールド１１４ｂで特定されている実行順を括弧の中に入れたものを連結した文字列が格納されるが、このような態様に限定されるわけではない。
【００４３】
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合には、本フィールド１１５ｃは空欄にされる。
【００４４】
データ入力元フィールド１１５ｄには、各レコードに履歴が格納される処理を行うデータの入力元を特定する情報が格納される。
【００４５】
例えば、本実施形態においては、オンライン装置１６２から送られてきたデータを後述するＤＢ１２０の入力元データ格納領域１２１に特定の期限（締め時刻）毎に格納するようにしているため、本フィールド１１５ｄには、入力元データ格納領域１２１においてデータを格納する領域を特定する情報が格納される。
【００４６】
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合には、本フィールド１１５ｄは空欄にされる。
【００４７】
開始日時フィールド１１５ｅには、各レコードに履歴が格納される処理を開始した日時を特定する情報が格納される。
【００４８】
ここで、本実施形態においては、各レコードに履歴が格納される処理を開始した「年／月／日  時間」の文字列が本フィールド１１５ｅに格納されるが、このような態様に限定されるわけではない。
【００４９】
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合及びまだ処理が開始されていない場合には、本フィールド１１５ｅは空欄にされる。
【００５０】
終了日時フィールド１１５ｆと、各レコードに履歴が格納される処理を終了した日時を特定する情報が格納される。
【００５１】
ここで、本実施形態においては、各レコードに履歴が格納される処理を終了した「年／月／日  時間」の文字列が本フィールド１１５ｆに格納されるが、このような態様に限定されるわけではない。
【００５２】
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合及びまだ処理が終了していない場合には、本フィールド１１５ｆは空欄にされる。
【００５３】
ステータスフィールド１１５ｇには、各レコードに履歴が格納される処理の現在の状況を特定する情報が格納される。
【００５４】
ここで、本実施形態においては、各レコードに履歴が格納される処理の開始前は「起動前」の文字列が、開始後は当該処理の進行状況が全体の処理に対するパーセンテージで格納されるが、このような態様に限定されるわけではない。
【００５５】
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合には、本フィールド１１５ｇは空欄にされる。
【００５６】
データ出力先フィールド１１５ｈには、各レコードに履歴が格納される処理を行った際のデータの出力先を特定する情報が格納される。
【００５７】
例えば、本実施形態においては、各バッチ処理の結果を後述するＤＢ１２０の出力先データ格納領域１２２の出力先１格納領域又は出力先２格納領域のいずれか一方に格納するようにしているため、本フィールド１１５ｄには、出力先が出力先１格納領域である場合には、「１」の文字が、出力先が出力先２格納領域である場合には、「２」の文字が、格納されるが、このような態様に限定されるわけではない。
【００５８】
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合又はまだ処理を開始していない場合には、本フィールド１１５ｈは空欄にされる。
【００５９】
締め実施日時フィールド１１５ｉには、各レコードに履歴が格納される処理が締め処理である場合に、当該締め処理の実施日時を特定する情報が格納される。
【００６０】
ここで、本実施形態においては、締め処理を実施した「年／月／日  時間」の文字列が本フィールド１１５ｉに格納されるが、このような態様に限定されるわけではない。
【００６１】
なお、本実施形態においては、各レコードに履歴が格納される処理がバッチ処理である場合及びまだ処理を実施していない場合には、本フィールド１１５ｉは空欄にされる。
【００６２】
締め時刻管理情報記憶領域１１６には、締め時刻を特定する情報が格納される。
【００６３】
例えば、本実施形態では、図８（締め時刻管理テーブル１１６ａの概略図）に示されているような締め時刻管理テーブル１１６ａが締め時刻管理情報記憶領域１１６に記憶される。
【００６４】
ここで、締め時刻管理テーブル１１６ａには、締め処理を実行する時刻（本実施形態では、「００：００」）を特定する文字列が格納されるが、このような態様に限定されるわけではない。
【００６５】
入出力管理情報記憶領域１１７には、バッチ処理をするデータの入力元と、バッチ処理後のデータの出力先と、を特定する情報が格納される。
【００６６】
例えば、本実施形態では、図９（入出力管理テーブル１１７ａの概略図）に示されているような入出力管理テーブル１１７ａが格納される。
【００６７】
ここで、入出力管理テーブル１１７ａは、入力元フィールド１１７ｂと、出力先フィールド１１７ｃと、を有する。
【００６８】
入力元フィールド１１７ｂには、バッチ処理をするデータの入力元を特定する情報が格納される。ここで、本実施形態では、オンライン装置１６２から送られてきたデータを後述するＤＢ１２０の入力元データ格納領域１２１に特定の期限（締め時刻）毎に格納するようにしているため、本フィールド１１５ｄには、入力元データ格納領域１２１においてデータを格納する領域を特定する情報が格納される。ここで、本実施形態においては、データを入力する領域につき、「１」から順に自然数を割り振ることにより当該領域を識別することができるようにしているが、このような態様に限定されるわけではない。
【００６９】
出力先フィールド１１７ｃには、バッチ処理を行ったデータの出力先を特定する情報が格納される。ここで、本実施形態では、各バッチ処理の結果を後述するＤＢ１２０の出力先データ格納領域１２２の出力先１格納領域又は出力先２格納領域のいずれか一方に交互に格納するようにしているため、本フィールド１１５ｄには、出力先が出力先１格納領域である場合には、「１」の文字が、出力先が出力先２格納領域である場合には、「２」の文字が、格納されるが、このような態様に限定されるわけではない。
【００７０】
一括バッチ管理情報記憶領域１１８には、一括して行うバッチ処理の実行日時を特定する情報が記憶される。
【００７１】
例えば、本実施形態においては、図１０（一括バッチ管理テーブル１１８ａの概略図）に示す一括バッチ管理テーブル１１８ａが格納される。
【００７２】
ここで、本実施形態においては、一括バッチ管理テーブル１１８ａには、一括バッチテーブル１１３ａの各レコードで特定される処理を実行した「年／月／日  時間」の文字列が格納されるが、このような態様に限定されるわけではない。
【００７３】
図１に戻り、ＤＢ１２０は、入力元データ格納領域１２１と、出力先データ格納領域１２２と、を備えている。
【００７４】
入力元データ格納領域１２１には、ネットワーク１６１を介してオンライン装置１６２から送信されてくるデータを格納する。
【００７５】
ここで、本実施形態においては、締め時刻から締め時刻までの間にネットワーク１６１を介してオンライン装置１６２から送信されてくるデータを格納する領域を新たに生成して、締め時刻から締め時刻までの間毎にデータを入力する領域が異なるようにしている。
【００７６】
なお、本実施形態では、入力元データ格納領域１２１に新たに生成する領域については、「１」から順に自然数の識別情報を付与することで、各々の領域を識別することができるようにしているが、このような態様に限定されるわけではない。
【００７７】
出力先データ格納領域１２２には、バッチ処理後のデータを記憶する。
【００７８】
ここで、本実施形態においては、出力先データ格納領域１２２に出力先１格納領域と出力先２格納領域という二つの格納領域が生成されており、ある締め時刻におけるバッチ処理後のデータは出力先１に格納し、次の締め時刻におけるバッチ処理後のデータは出力先２に格納するというように、出力先が交互に変更されるようにされているが、このような態様に限定されるわけではない。
【００７９】
制御部１３０は、バッチ定義処理部１３１と、バッチ定義分割処理部１３２と、データ到着確認処理部１３３と、逐次バッチ実行管理部１３４と、一括バッチ実行管理部１３５と、締め処理部１３６と、入力データ管理部１３７と、時刻計測部１３８と、を有する。
【００８０】
バッチ定義処理部１３１は、入力部１５０を介して情報処理装置１００のオペレータからの指示を受け付け、バッチ定義テーブル１１１ａを生成し、バッチ定義記憶領域１１１に記憶する処理を制御する。
【００８１】
バッチ定義分割処理部１３２は、バッチ定義記憶領域１１１に記憶されているバッチ定義テーブル１１１ａに格納されているレコードに格納されている情報を検査して、当該レコードに記憶されている情報を、逐次バッチ定義記憶領域１１２に記憶されている逐次バッチ定義テーブル１１２ａ、一括バッチ定義記憶領域１１３に記憶されている一括バッチ定義テーブル１１３ａ、または、一括逐次バッチ定義記憶領域１１４の一括逐次バッチ定義テーブル１１４ａ、に割り振る処理を制御する。
【００８２】
データ到着確認処理部１３３は、逐次バッチ実行管理部１３４からの逐次バッチ完了イベントの報告を受け、一括バッチ処理を実行するか否かを判断し、一括バッチ処理を行うと判断した場合には、一括バッチ実行管理部１３５に実行するよう指示を出す処理を制御する。
【００８３】
逐次バッチ実行管理部１３４は、逐次バッチ処理を実行し、バッチ管理情報記憶領域１１５に記憶されているバッチ管理テーブル１１５ａに必要な情報を格納する処理を制御する。
【００８４】
一括バッチ実行管理部１３５は、一括バッチ処理を実行し、バッチ管理情報記憶領域１１５に記憶されているバッチ管理テーブル１１５ａに必要な情報を格納する処理を制御する。
【００８５】
締め処理部１３６は、締め処理を実行し、締め処理の履歴をバッチ管理情報記憶領域１１５に記憶されているバッチ管理テーブル１１５ａに記憶する処理を制御する。
【００８６】
入力データ管理部１３７は、ＩＦ部１４０を介して受信したデータを入力元データ格納領域１２１に格納する処理を制御する。
【００８７】
また、入力データ管理部１３７は、ＩＦ部１４０を介してデータを受信する毎に、逐次バッチ処理を行うか否か、および、締め処理を行うか否かを判断する処理を制御する。
【００８８】
時刻計測部１３８は、現在の年月日及び時刻を計測する。
【００８９】
ＩＦ部１４０は、ネットワーク１６１を介して情報の送受信を行うためのインターフェースである。
【００９０】
入力部１５０は、情報処理装置１００のオペレータから情報の入力を受け付ける装置である。
【００９１】
以上に記載した情報処理装置１００は、例えば、図１１（コンピュータ２００の概略図）に示すような、ＣＰＵ２０１と、メモリ２０２と、ＨＤＤ等の外部記憶装置２０３と、ＣＤ-ＲＯＭやＤＶＤ-ＲＯＭ等の可搬性を有する記憶媒体２０４から情報を読み出す読取装置２０５と、ディスプレイなどの出力装置２０６と、キーボードやマウスなどの入力装置２０７と、通信ネットワークに接続するための通信装置２０８と、を備えた一般的なコンピュータ２００において、ＣＰＵ２０１がメモリ２０２上にロードされた所定のプログラムを実行することで実現できる。
【００９２】
この所定のプログラムは、読取装置２０５を介して記憶媒体２０４から、あるいは、通信装置２０８を介してネットワークから、外部記憶装置２０３にダウンロードされ、それから、メモリ２０２上にロードされてＣＰＵ２０１により実行されるようにしてもよい。また、読取装置２０５を介して記憶媒体２０４から、あるいは、通信装置２０８を介してネットワークから、メモリ２０２上に直接ロードされ、ＣＰＵ２０１により実行されるようにしてもよい。
【００９３】
なお、この場合において、制御部１３０にはＣＰＵ２０１やメモリ２０２が利用され、記憶部１１０及びＤＢ１２０には、メモリ２０２や外部記憶装置２０３や記憶媒体２０４が利用され、入力部１５０は、入力装置２０７や出力装置２０８が利用され、ＩＦ部１４０は通信装置２０８が利用される。
【００９４】
図１２は、バッチ定義分割処理部１３２での処理を示すフローチャートである。
【００９５】
まず、バッチ定義分割処理部１３２は、情報処理装置１００のオペレータの指示等に応じて、バッチ定義記憶領域１１１に記憶されているバッチ定義テーブル１１１ａを取得する（Ｓ１０）。
【００９６】
次に、バッチ定義分割処理部１３２は、バッチ定義テーブル１１１ａの全てのレコードをチェックしたか否かを確認し（Ｓ１１）、全てのレコードをチェックしている場合には、処理を終了する。
【００９７】
一方、ステップＳ１１で全てのレコードをチェックしていない場合には、バッチ定義分割処理部１３２は、未チェックのレコードの中から実行順序の最も早いものを特定する（Ｓ１２）。
【００９８】
次に、バッチ定義分割処理部１３２は、ステップＳ１２で特定したレコードの並列実行可否フィールド１１１ｄと処理内容フィールド１１１ｅをチェックして、並列実行が可能で、かつ、非加算的処理を含んでいない場合には、ステップＳ１４に進み、並行実行が不可又は処理内容に非加算的処理を含んでいる場合には、ステップＳ１５に進む。
【００９９】
ここで、バッチ定義分割処理部１３２は、並列実行可否フィールド１１１ｄにおいて「可」となっている場合には並列実行が可能と判断し、「否」となっている場合には並列実行が不可と判断する。
【０１００】
また、バッチ定義分割処理部１３２は、処理内容フィールド１１１ｅで特定されるバッチ処理の名称に対応する処理を行うためのプログラムが、例えば、加算処理又は減算処理である場合には、非加算的処理を含んでいないものと判断し、これらの処理以外のものについては、非加算的処理を含んでいるものと判断することができる。
【０１０１】
さらに、バッチ定義分割処理部１３２は、処理内容フィールド１１１ｅで特定されるバッチ処理の名称に対応する処理を行うためのプログラムを検索し、予め定められている関数が当該プログラムに含まれている場合には、非加算的処理を含んでいると判断することもできる。なお、このような判断によらず、例えば、予め非加算的処理を含んでいるバッチ処理の名称を予め定めておき、このような名称が処理内容フィールド１１１ｅに格納されている場合には、非加算的処理を含んでいるものと判断することも可能である。
【０１０２】
そして、ステップＳ１４では、バッチ定義分割処理部１３２は、ステップＳ１２で特定したレコードに格納されている情報を逐次バッチ定義記憶領域１１２に記憶されている逐次バッチ定義テーブル１１２ａに格納する。
【０１０３】
また、ステップＳ１５では、バッチ定義分割処理部１３２は、ステップＳ１２で特定したレコード以降のレコードの内容を一括バッチ定義記憶領域１１３に記憶されている一括バッチ定義テーブル１１３ａに格納し、ステップＳ１２で特定したレコードよりも前に逐次バッチ定義テーブル１１２ａに格納したレコードの内容を一括逐次バッチ定義記憶領域１１４に記憶されている一括逐次バッチ定義テーブル１１４ａに格納する。
【０１０４】
図１３は、入力データ管理部１３７での処理を示すフローチャートである。
【０１０５】
まず、入力データ管理部１３７は、ＩＦ部１４０を介してオンライン装置１６２からのデータを受信した場合には（Ｓ２０）、時刻計測部１３８から現在の年月日及び時刻を取得する（Ｓ２１）。
【０１０６】
次に、入力データ管理部１３７は、締め時刻管理情報記憶領域１１６に記憶されている締め時刻管理テーブル１１６ａから、締め処理を行う時刻を取得する（Ｓ２２）。
【０１０７】
次に、入力データ管理部１３７は、バッチ管理情報記憶領域１１５に記憶されているバッチ管理テーブル１１５ａを参照して、ステップＳ２２で取得した締め時刻から現在の時刻までの間に、現在の日付における締めレコードがあるか否かを確認する（Ｓ２３）。
【０１０８】
そして、バッチ管理テーブル１１５ａにそのようなレコードがない場合には、締め処理部１３６に締め処理を行うように指令を出し（Ｓ２４）、ステップＳ２６に進む。
【０１０９】
そして、ステップＳ２３においてそのようなレコードがある場合には、入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの入力元フィールド１１７ｂで指定された入力元に、ＩＦ部１４０を介して取得したデータを格納する（Ｓ２５）。
【０１１０】
そして、ステップＳ２６において、入力データ管理部１３７は、入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの入力元フィールド１１７ｂで指定された入力元を引数として、逐次バッチ処理を実行するよう逐次バッチ実行管理部１３４に指示を出し（Ｓ２６）、ステップＳ２０に戻り、次のデータを受信するまで待機する。
【０１１１】
なお、ステップＳ２６で、逐次バッチを実行するよう指示を受けた逐次バッチ実行管理部１３４は、逐次バッチ定義記憶領域１１２に記憶されている逐次バッチ定義テーブル１１２ａから逐次バッチ実行プロセスを生成して逐次バッチを実行するとともに、バッチ管理テーブル１１５ａに必要な情報を格納する。
【０１１２】
図１４は、締め処理部１３６での処理を示すフローチャートである。
【０１１３】
まず、締め処理部１３６は、ＤＢ１２０の入力元データ格納領域１２１にデータが記憶されているか否かを確認し（Ｓ３０）、データが記憶されていない場合には処理を終了する。
【０１１４】
そして、締め処理部１３６は、入力元データ格納領域１２１にデータが記憶されている場合には、ＩＦ部１４０を介して受信したデータの所定のフィールド（日時フィールド）を参照して、当該フィールドの値により特定される時刻が締め時刻よりも前か否かを確認する（Ｓ３１）。
【０１１５】
そして、締め処理部１３６は、ステップＳ３１で、当該データの時刻が締め時刻よりも前である場合には、当該データを入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの入力元フィールド１１７ｂで指定された入力元に格納する（Ｓ３２）。
【０１１６】
一方、締め処理部１３６は、ステップＳ３１で、当該データの時刻が締め時刻よりも前ではない場合には、当該データを入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの入力元フィールド１１７ｂで指定された格納領域の次の格納領域に格納する（Ｓ３３）。例えば、入力元フィールド１１７ｂで指定された入力元の格納領域が「１」の場合には、入力元「２」の格納領域に当該データを格納する。
【０１１７】
次に、締め処理部１３６は、入出力管理テーブル１１７ａの入力元フィールド１１７ｂで指定された入力元に記憶されているデータのデータ量が予め定められた閾値よりも大きいか否かを確認し（Ｓ３４）、大きい場合にはステップＳ３５に進み、大きくない場合にはステップＳ３７に進む。
【０１１８】
ステップＳ３５では、締め処理部１３６は、まだ開始していない逐次バッチ処理の実行を停止する。
【０１１９】
そして、締め処理部１３６は、一括バッチ実行管理部１３５に、入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの入力元フィールド１１７ｂで指定された入力元を引数として、一括逐次バッチ処理を実行するよう指示を出す（Ｓ３６）。このような指示を受けた一括バッチ実行管理部１３５は、一括逐次バッチ定義記憶領域１１４に記憶されている一括逐次バッチテーブル１１４ａから一括逐次バッチ実行プロセスを生成して、一括逐次バッチ処理を実行する。
【０１２０】
一方、ステップＳ３７では、締め処理部１３６は、逐次バッチ実行管理部１３４に、入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの入力元フィールド１１７ｂで指定された入力元を引数として、逐次バッチ処理を実行するよう指示を出す（Ｓ３７）。このような指示を受けた逐次バッチ実行管理部１３４は、逐次バッチ定義記憶領域１１２に記憶されている逐次バッチ定義テーブル１１２ａから逐次バッチ実行プロセスを生成し、逐次バッチ処理を実行する。
【０１２１】
そして、締め処理部１３６は、入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの入力元フィールド１１７ｂの値をインクリメントすることで更新する（Ｓ３８）。
【０１２２】
そして、締め処理部１３６は、バッチ管理情報記憶領域１１５に記憶されているバッチ管理テーブル１１５ａに締めレコードを追加して、現在の年月日及び時間を締め実施日時フィールド１１５ｉに格納することで更新する（Ｓ３９）。
【０１２３】
なお、逐次バッチ処理又は一括逐次バッチ処理が終了した場合には、データ到達確認処理部１３３に逐次バッチの完了を通知する。
【０１２４】
図１５は、データ到達確認処理部１３３での処理を示すフローチャートである。
【０１２５】
まず、データ到達確認処理部１３３は、逐次バッチ実行管理部１３４又は一括バッチ実行管理部１３５からの逐次バッチの完了イベントを受けると（Ｓ４０）、時刻計測部１３８から現在の年月日及び時刻を取得する（Ｓ４１）。
【０１２６】
次に、データ到達確認処理部１３３は、バッチ管理情報記憶領域１１５に記憶されているバッチ管理テーブル１１５ａから、最新の締めレコード（最も日付の新しい締めレコード）を取得して、その実施年月日及び時刻を取得する（Ｓ４２）。
【０１２７】
次に、データ到達確認処理部１３３は、一括バッチ管理情報記憶領域１１８に記憶されている一括バッチ管理テーブル１１８ａから最新の（最も日付の新しい）起動時刻を取得する（Ｓ４３）。
【０１２８】
そして、データ到達確認処理部１３３は、ステップＳ４２で取得した締め時刻よりもステップＳ４３で取得した起動時刻の方が前か否かを確認する（Ｓ４４）。
【０１２９】
ここで、締め時刻よりも一括バッチの起動時刻の方が前ではない場合には、ステップＳ４０に戻って、逐次バッチの完了イベントの到達を待つ。
【０１３０】
一方、締め時刻よりも一括バッチの起動時刻の方が前の場合には、ステップＳ４２で取得した締め時刻よりも前に開始された逐次バッチ処理が全て終了しているか否かをバッチ管理テーブル１１５ａで確認し（Ｓ４５）、終了していない場合には、ステップＳ４０に戻って、逐次バッチ処理の完了イベントの到達を待つ。
【０１３１】
ステップＳ４５において、ステップＳ４２で取得した締め時刻よりも前に開始された逐次バッチ処理が全て終了している場合には、入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの出力先フィールド１１７ｃに格納されている値を指定して、一括バッチ実行管理部１３５に一括バッチ処理の実行を指示し、一括バッチ管理テーブル１１８ａからに新たなレコードを追加して、ステップＳ４１で取得した年月日及び時間を起動日時として格納する（Ｓ４６）。
【０１３２】
なお、このような一括バッチ処理の実行指示を受けた一括バッチ実行管理部１３５は、一括バッチ定義記憶領域１１３に記憶されている一括バッチテーブル１１３ａから一括バッチ実行プロセスを生成して、一括バッチ処理を実行するとともに、必要な情報をバッチ管理テーブル１１５ａに格納する。
【０１３３】
次に、データ到達確認処理部１３３は、入出力管理情報記憶領域１１７に記憶されている入出力管理テーブル１１７ａの出力先フィールド１１７ｃに格納されている値を他方の値に変更することで、入出力管理テーブル１１７ａを更新する（Ｓ４７）。
【０１３４】
以上のように構成される情報処理装置１００での処理は、分散処理が可能である。例えば、バッチ定義記憶領域１１１に記憶するバッチ定義テーブル１１１ａを他の装置で作成して、ネットワーク１６１又は可搬性の情報記憶媒体を介して情報処理装置１００に記憶するようにしてもよい。
【０１３５】
以上に記載した実施形態においては、バッチ処理を、並列実行が可能か否か、および、非加算的処理を含んでいるか否か、で逐次バッチ処理又は一括バッチ処理のいずれか一方に割り振るようにしているが、このような態様に限定されず、例えば、並列実行が可能か否か、または、非加算的処理を含んでいるか否か、の少なくともいずれか一方で判断するようにしてもよい。
【０１３６】
また、以上に記載した実施形態においては、受信したデータの格納先としてＤＢ１２０を用いているが、このような態様に限定されず、例えば、フラットファイルなどを用いたファイルシステム等の任意の記憶媒体に格納することが可能である。
【図面の簡単な説明】
【０１３７】
【図１】情報処理装置の概略図。
【図２】情報処理システムの概略図。
【図３】バッチ定義テーブルの概略図。
【図４】逐次バッチ定義テーブルの概略図。
【図５】一括バッチ定義テーブルの概略図。
【図６】一括逐次バッチ定義テーブルの概略図。
【図７】バッチ管理テーブルの概略図。
【図８】締め時刻管理テーブルの概略図。
【図９】入出力管理テーブルの概略図。
【図１０】一括バッチ管理テーブルの概略図。
【図１１】コンピュータの概略図。
【図１２】バッチ定義分割処理部での処理を示すフローチャート。
【図１３】入力データ管理部での処理を示すフローチャート。
【図１４】締め処理部での処理を示すフローチャート。
【図１５】データ到達確認処理部での処理を示すフローチャート。
【符号の説明】
【０１３８】
１００  情報処理装置
１１０  記憶部
１１１  バッチ定義テーブル記憶領域
１１２  逐次バッチ定義記憶領域
１１３  一括バッチ定義記憶領域
１１４  一括逐次バッチ定義記憶領域
１１５  バッチ管理情報記憶領域
１１６  締め時刻管理情報記憶領域
１１７  入出力管理情報記憶領域
１１８  一括バッチ管理情報記憶領域
１２０  データベース
１２１  入力元データ格納領域
１２２  出力先データ格納領域
１３０  制御部
１３１  バッチ定義処理部
１３２  バッチ定義分割処理部
１３３  データ到着確認処理部
１３４  逐次バッチ実行管理部
１３５  一括バッチ実行管理部
１３６  締め処理部
１３７  入力データ管理部
１３８  時刻計測部
１４０  ＩＦ部
１５０  入力部
【図１】
2008158637.tif 000003
【図２】
2008158637.tif 000004
【図３】
2008158637.tif 000005
【図４】
2008158637.tif 000006
【図５】
2008158637.tif 000007
【図６】
2008158637.tif 000008
【図７】
2008158637.tif 000009
【図８】
2008158637.tif 000010
【図９】
2008158637.tif 000011
【図１０】
2008158637.tif 000012
【図１１】
2008158637.tif 000013
【図１２】
2008158637.tif 000014
【図１３】
2008158637.tif 000015
【図１４】
2008158637.tif 000016
【図１５】
2008158637.tif 000017