JP2008158637A - 情報処理装置、プログラム及び情報処理方法 - Google Patents
情報処理装置、プログラム及び情報処理方法 Download PDFInfo
- Publication number
- JP2008158637A JP2008158637A JP2006344314A JP2006344314A JP2008158637A JP 2008158637 A JP2008158637 A JP 2008158637A JP 2006344314 A JP2006344314 A JP 2006344314A JP 2006344314 A JP2006344314 A JP 2006344314A JP 2008158637 A JP2008158637 A JP 2008158637A
- Authority
- JP
- Japan
- Prior art keywords
- batch
- data
- stored
- information processing
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】締め時間経過後のバッチ処理時間を短縮することのできる技術を提供すること。
【解決手段】DB120の入力元データ格納領域121に格納されているデータを、逐次バッチ実行管理部134は、当該入力元データ格納領域121にデータが格納される毎に逐次バッチ処理を行い、一括バッチ実行管理部135は、締め時刻管理情報記憶領域116に記憶されている締め時刻の経過後に、当該入力元データ格納領域121に格納されているデータに対して一括バッチ処理を行う。
【選択図】図1
【解決手段】DB120の入力元データ格納領域121に格納されているデータを、逐次バッチ実行管理部134は、当該入力元データ格納領域121にデータが格納される毎に逐次バッチ処理を行い、一括バッチ実行管理部135は、締め時刻管理情報記憶領域116に記憶されている締め時刻の経過後に、当該入力元データ格納領域121に格納されているデータに対して一括バッチ処理を行う。
【選択図】図1
Description
本発明は、データをバッチ処理する技術に関する。
ネットワークに接続されているオンライン装置から送信されてくる情報を処理する情報処理装置では、オンライン処理の単位終了時間(締め時間)の経過後にバッチ処理を実行するように構成することができる。このようなバッチ処理は、オンライン装置から送信されてくる情報の処理を停止して行うため、可能な限り速やかにバッチ処理の結果を得ることが望まれる。
この点、特許文献1に記載の技術では、ネットワークに接続する情報処理装置を二重化しておき、締め時間を経過すると一方の情報処理装置をネットワークから切り離し、バッチ処理を実行すると同時に他方の情報処理装置で更新を記憶し、一方の情報処理装置でバッチ処理が完了すると、他方の情報処理装置で行われた更新を一方の情報処理装置に反映するようにすることで、バッチ処理における情報の処理が停止してしまう不都合を解消するようにしている。
特許文献1に記載の技術では、情報処理装置を二重化してはいるが、締め時間経過後のバッチ処理には多くの時間を要しており、さらに、バッチ処理中に他の情報処理装置で行われた更新についても反映しなければならないため、当該一方の情報処理装置を使用可能にするためには多くの時間が必要となる。
そこで、本発明では、締め時間経過後のバッチ処理時間を短縮することのできる技術を提供することを目的とする。
以上の課題を解決するため、本発明は、バッチ処理を逐次的に行うことのできる処理と、一括で行わなければならない処理と、に分けて、逐次的に行うことのできる処理を締め時間前から順次行う技術を提供する。
例えば、本発明は、ネットワークを介してデータを受信する受信部と、当該データを記憶する記憶部と、当該データに対して複数のバッチ処理を行う制御部と、を備える情報処理装置であって、前記制御部は、前記複数のバッチ処理を、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理と、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理と、に分けて行うこと、を特徴とする。
以上のように、本発明によれば、バッチ処理を逐次的に行うことのできる処理と、一括で行わなければならない処理と、に分けて、逐次的に行うことのできる処理を締め時間前から順次行っているので、締め時間経過後のバッチ処理負担が軽減され、締め時間経過後のバッチ処理時間を短縮することができる。
図1は、本発明の一実施形態である情報処理装置100の概略図である。
図示するように、情報処理装置100は、記憶部110と、データベース(以下、DBという)120と、制御部130と、IF部140と、入力部150と、を備えている。
そして、例えば、図2(情報処理システム160の概略図)に示されているように、情報処理装置100は、ネットワーク161に接続されているオンライン装置162から送られてくるデータを蓄積して処理するものである。
図1に戻り、記憶部110は、バッチ定義記憶領域111と、逐次バッチ定義記憶領域112と、一括バッチ定義記憶領域113と、一括逐次バッチ定義記憶領域114と、バッチ管理情報記憶領域115と、締め時刻管理情報記憶領域116と、入出力管理情報記憶領域117と、一括バッチ管理情報記憶領域118と、を有する。
バッチ定義記憶領域111には、情報処理装置100で行うバッチ処理を特定する情報が記憶される。
例えば、本実施形態では、図3(バッチ定義テーブル111aの概略図)に示されているようなバッチ定義テーブル111aがバッチ定義記憶領域111に記憶される。
バッチ定義テーブル111aは、実行順フィールド111bと、バッチ番号フィールド111cと、並列実行可否フィールド111dと、処理内容フィールド111eと、を有する。
実行順フィールド111bには、各レコードで特定されるバッチ処理を実行する順序を特定するための情報が格納される。本実施形態においては、本フィールド111bに実行順序として「1」から順に自然数が格納されるが、このような態様に限定されるわけではない。
バッチ番号フィールド111cには、各レコードで特定される各々のバッチ処理を一意に識別するための情報が格納される。本実施形態においては、本フィールド111cに「1」から順に割り振られた自然数が格納される。
並列実行可否フィールド111dには、各レコードで特定されるバッチ処理について、並列実行が可能か否かを特定する情報が格納される。本実施形態においては、本フィールド111dに、各々のレコードで特定されるバッチ処理において並列実行が可能である場合には「可」の文字が格納され、配列実行が可能ではない場合には「否」の文字が格納されるが、このような態様に限定されるわけではない。
なお、並列実行可能か否かについては、逐次的な処理であるか否かで判断すればよい。
処理内容フィールド111eには、各レコードで特定されるバッチ処理で行う処理を特定する情報が格納される。本実施形態においては、本フィールド111eに、各レコードで特定されるバッチ処理の名称が格納されるが、このような態様に限定されるわけではない。
図1に戻り、逐次バッチ定義記憶領域112には、逐次実行するバッチ処理を特定する情報が格納される。
例えば、本実施形態では、図4(逐次バッチ定義テーブル112aの概略図)に示されているような逐次バッチ定義テーブル112aが逐次バッチ定義記憶領域112に記憶される。
逐次バッチ定義テーブル112aは、実行順フィールド112bと、バッチ番号フィールド112cと、並列実行可否フィールド112dと、処理内容フィールド112eと、を有する。
ここで、逐次バッチ定義テーブル112aは、バッチ定義テーブル111aに格納されているレコードのうち、逐次的に実行することのできるものを抽出して格納したものであるため、各フィールドはバッチ定義テーブル111aと同様であり説明を省略する。
図1に戻り、一括バッチ定義記憶領域113には、一括して実行するバッチ処理を特定する情報が格納される。
例えば、本実施形態では、図5(一括バッチ定義テーブル113aの概略図)に示されているような一括バッチ定義テーブル113aが一括バッチ定義記憶領域113に記憶される。
一括バッチ定義テーブル113aは、実行順フィールド113bと、バッチ番号フィールド113cと、並列実行可否フィールド113dと、処理内容フィールド113eと、を有する。
ここで、一括バッチ定義テーブル113aは、バッチ定義テーブル111aに格納されているレコードのうち、一括して実行するものを抽出して格納したものであるため、各フィールドはバッチ定義テーブル111aと同様であり説明を省略する。
図1に戻り、一括逐次バッチ定義記憶領域114には、逐次的に実行するバッチ処理について、処理するデータ量が予め定められた閾値を超えている場合に、一括して実行するバッチ処理を特定する情報が格納される。
例えば、本実施形態では、図6(一括逐次バッチ定義テーブル114aの概略図)に示されているような一括逐次バッチ定義テーブル114aが一括逐次バッチ定義記憶領域114に記憶される。
一括逐次バッチ定義テーブル114aは、実行順フィールド114bと、バッチ番号フィールド114cと、並列実行可否フィールド114dと、処理内容フィールド114eと、を有する。
ここで、一括逐次バッチ定義テーブル114aは、バッチ定義テーブル111aに格納されているレコードのうち、順次行うべきものを抽出して格納したものであるため、各フィールドはバッチ定義テーブル111aと同様であり説明を省略する。
バッチ管理情報記憶領域115には、バッチ処理の履歴に関する情報が格納される。
例えば、本実施形態では、図7(バッチ管理テーブル115aの概略図)に示すようなバッチ管理テーブル115aがバッチ管理情報記憶領域115に記憶される。
バッチ管理テーブル115aは、レコード種別フィールド115bと、バッチ番号/通番フィールド115cと、データ入力元フィールド115dと、開始日時フィールド115eと、終了日時フィールド115fと、ステータスフィールド115gと、データ出力先フィールド115hと、締め実施日時フィールド115iと、を有する。
レコード種別フィールド115bには、各レコードに格納する情報の種別を特定する情報が格納される。
ここで、本実施形態においては、各レコードに格納する履歴が、バッチ処理に関するものである場合には「バッチ履歴」の文字が格納され、締め処理に関するものである場合には「締め」の文字が格納されるが、このような態様に限定されるわけではない。
バッチ番号/通番フィールド115cには、各レコードに履歴が格納される処理を識別する情報と、当該処理の順序を特定する情報と、が格納される。
ここで、本実施形態においては、各レコードに履歴が格納される処理が逐次バッチテーブル112aの各レコードで特定される処理である場合には、「逐次」の文字と、当該逐次バッチテーブル112aのバッチ番号フィールド112cで特定されているバッチ番号と、を連結し、さらに、当該逐次バッチテーブル112aの実行順フィールド112bで特定されている実行順を括弧の中に入れたものを連結した文字列が格納されるが、このような態様に限定されるわけではない。
また、本実施形態においては、各レコードに履歴が格納される処理が一括バッチテーブル113aの各レコードで特定される処理である場合には、「一括」の文字と、当該一括バッチテーブル113aのバッチ番号フィールド113cで特定されているバッチ番号と、を連結し、さらに、当該一括バッチテーブル113aの実行順フィールド113bで特定されている実行順を括弧の中に入れたものを連結した文字列が格納されるが、このような態様に限定されるわけではない。
さらに、本実施形態においては、各レコードに履歴が格納される処理が一括逐次バッチテーブル114aの各レコードで特定される処理である場合には、「一括逐次」の文字と、当該一括逐次バッチテーブル114aのバッチ番号フィールド114cで特定されているバッチ番号と、を連結し、さらに、当該一括バッチテーブル114aの実行順フィールド114bで特定されている実行順を括弧の中に入れたものを連結した文字列が格納されるが、このような態様に限定されるわけではない。
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合には、本フィールド115cは空欄にされる。
データ入力元フィールド115dには、各レコードに履歴が格納される処理を行うデータの入力元を特定する情報が格納される。
例えば、本実施形態においては、オンライン装置162から送られてきたデータを後述するDB120の入力元データ格納領域121に特定の期限(締め時刻)毎に格納するようにしているため、本フィールド115dには、入力元データ格納領域121においてデータを格納する領域を特定する情報が格納される。
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合には、本フィールド115dは空欄にされる。
開始日時フィールド115eには、各レコードに履歴が格納される処理を開始した日時を特定する情報が格納される。
ここで、本実施形態においては、各レコードに履歴が格納される処理を開始した「年/月/日 時間」の文字列が本フィールド115eに格納されるが、このような態様に限定されるわけではない。
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合及びまだ処理が開始されていない場合には、本フィールド115eは空欄にされる。
終了日時フィールド115fと、各レコードに履歴が格納される処理を終了した日時を特定する情報が格納される。
ここで、本実施形態においては、各レコードに履歴が格納される処理を終了した「年/月/日 時間」の文字列が本フィールド115fに格納されるが、このような態様に限定されるわけではない。
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合及びまだ処理が終了していない場合には、本フィールド115fは空欄にされる。
ステータスフィールド115gには、各レコードに履歴が格納される処理の現在の状況を特定する情報が格納される。
ここで、本実施形態においては、各レコードに履歴が格納される処理の開始前は「起動前」の文字列が、開始後は当該処理の進行状況が全体の処理に対するパーセンテージで格納されるが、このような態様に限定されるわけではない。
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合には、本フィールド115gは空欄にされる。
データ出力先フィールド115hには、各レコードに履歴が格納される処理を行った際のデータの出力先を特定する情報が格納される。
例えば、本実施形態においては、各バッチ処理の結果を後述するDB120の出力先データ格納領域122の出力先1格納領域又は出力先2格納領域のいずれか一方に格納するようにしているため、本フィールド115dには、出力先が出力先1格納領域である場合には、「1」の文字が、出力先が出力先2格納領域である場合には、「2」の文字が、格納されるが、このような態様に限定されるわけではない。
なお、本実施形態においては、各レコードに履歴が格納される処理が締め処理である場合又はまだ処理を開始していない場合には、本フィールド115hは空欄にされる。
締め実施日時フィールド115iには、各レコードに履歴が格納される処理が締め処理である場合に、当該締め処理の実施日時を特定する情報が格納される。
ここで、本実施形態においては、締め処理を実施した「年/月/日 時間」の文字列が本フィールド115iに格納されるが、このような態様に限定されるわけではない。
なお、本実施形態においては、各レコードに履歴が格納される処理がバッチ処理である場合及びまだ処理を実施していない場合には、本フィールド115iは空欄にされる。
締め時刻管理情報記憶領域116には、締め時刻を特定する情報が格納される。
例えば、本実施形態では、図8(締め時刻管理テーブル116aの概略図)に示されているような締め時刻管理テーブル116aが締め時刻管理情報記憶領域116に記憶される。
ここで、締め時刻管理テーブル116aには、締め処理を実行する時刻(本実施形態では、「00:00」)を特定する文字列が格納されるが、このような態様に限定されるわけではない。
入出力管理情報記憶領域117には、バッチ処理をするデータの入力元と、バッチ処理後のデータの出力先と、を特定する情報が格納される。
例えば、本実施形態では、図9(入出力管理テーブル117aの概略図)に示されているような入出力管理テーブル117aが格納される。
ここで、入出力管理テーブル117aは、入力元フィールド117bと、出力先フィールド117cと、を有する。
入力元フィールド117bには、バッチ処理をするデータの入力元を特定する情報が格納される。ここで、本実施形態では、オンライン装置162から送られてきたデータを後述するDB120の入力元データ格納領域121に特定の期限(締め時刻)毎に格納するようにしているため、本フィールド115dには、入力元データ格納領域121においてデータを格納する領域を特定する情報が格納される。ここで、本実施形態においては、データを入力する領域につき、「1」から順に自然数を割り振ることにより当該領域を識別することができるようにしているが、このような態様に限定されるわけではない。
出力先フィールド117cには、バッチ処理を行ったデータの出力先を特定する情報が格納される。ここで、本実施形態では、各バッチ処理の結果を後述するDB120の出力先データ格納領域122の出力先1格納領域又は出力先2格納領域のいずれか一方に交互に格納するようにしているため、本フィールド115dには、出力先が出力先1格納領域である場合には、「1」の文字が、出力先が出力先2格納領域である場合には、「2」の文字が、格納されるが、このような態様に限定されるわけではない。
一括バッチ管理情報記憶領域118には、一括して行うバッチ処理の実行日時を特定する情報が記憶される。
例えば、本実施形態においては、図10(一括バッチ管理テーブル118aの概略図)に示す一括バッチ管理テーブル118aが格納される。
ここで、本実施形態においては、一括バッチ管理テーブル118aには、一括バッチテーブル113aの各レコードで特定される処理を実行した「年/月/日 時間」の文字列が格納されるが、このような態様に限定されるわけではない。
図1に戻り、DB120は、入力元データ格納領域121と、出力先データ格納領域122と、を備えている。
入力元データ格納領域121には、ネットワーク161を介してオンライン装置162から送信されてくるデータを格納する。
ここで、本実施形態においては、締め時刻から締め時刻までの間にネットワーク161を介してオンライン装置162から送信されてくるデータを格納する領域を新たに生成して、締め時刻から締め時刻までの間毎にデータを入力する領域が異なるようにしている。
なお、本実施形態では、入力元データ格納領域121に新たに生成する領域については、「1」から順に自然数の識別情報を付与することで、各々の領域を識別することができるようにしているが、このような態様に限定されるわけではない。
出力先データ格納領域122には、バッチ処理後のデータを記憶する。
ここで、本実施形態においては、出力先データ格納領域122に出力先1格納領域と出力先2格納領域という二つの格納領域が生成されており、ある締め時刻におけるバッチ処理後のデータは出力先1に格納し、次の締め時刻におけるバッチ処理後のデータは出力先2に格納するというように、出力先が交互に変更されるようにされているが、このような態様に限定されるわけではない。
制御部130は、バッチ定義処理部131と、バッチ定義分割処理部132と、データ到着確認処理部133と、逐次バッチ実行管理部134と、一括バッチ実行管理部135と、締め処理部136と、入力データ管理部137と、時刻計測部138と、を有する。
バッチ定義処理部131は、入力部150を介して情報処理装置100のオペレータからの指示を受け付け、バッチ定義テーブル111aを生成し、バッチ定義記憶領域111に記憶する処理を制御する。
バッチ定義分割処理部132は、バッチ定義記憶領域111に記憶されているバッチ定義テーブル111aに格納されているレコードに格納されている情報を検査して、当該レコードに記憶されている情報を、逐次バッチ定義記憶領域112に記憶されている逐次バッチ定義テーブル112a、一括バッチ定義記憶領域113に記憶されている一括バッチ定義テーブル113a、または、一括逐次バッチ定義記憶領域114の一括逐次バッチ定義テーブル114a、に割り振る処理を制御する。
データ到着確認処理部133は、逐次バッチ実行管理部134からの逐次バッチ完了イベントの報告を受け、一括バッチ処理を実行するか否かを判断し、一括バッチ処理を行うと判断した場合には、一括バッチ実行管理部135に実行するよう指示を出す処理を制御する。
逐次バッチ実行管理部134は、逐次バッチ処理を実行し、バッチ管理情報記憶領域115に記憶されているバッチ管理テーブル115aに必要な情報を格納する処理を制御する。
一括バッチ実行管理部135は、一括バッチ処理を実行し、バッチ管理情報記憶領域115に記憶されているバッチ管理テーブル115aに必要な情報を格納する処理を制御する。
締め処理部136は、締め処理を実行し、締め処理の履歴をバッチ管理情報記憶領域115に記憶されているバッチ管理テーブル115aに記憶する処理を制御する。
入力データ管理部137は、IF部140を介して受信したデータを入力元データ格納領域121に格納する処理を制御する。
また、入力データ管理部137は、IF部140を介してデータを受信する毎に、逐次バッチ処理を行うか否か、および、締め処理を行うか否かを判断する処理を制御する。
時刻計測部138は、現在の年月日及び時刻を計測する。
IF部140は、ネットワーク161を介して情報の送受信を行うためのインターフェースである。
入力部150は、情報処理装置100のオペレータから情報の入力を受け付ける装置である。
以上に記載した情報処理装置100は、例えば、図11(コンピュータ200の概略図)に示すような、CPU201と、メモリ202と、HDD等の外部記憶装置203と、CD-ROMやDVD-ROM等の可搬性を有する記憶媒体204から情報を読み出す読取装置205と、ディスプレイなどの出力装置206と、キーボードやマウスなどの入力装置207と、通信ネットワークに接続するための通信装置208と、を備えた一般的なコンピュータ200において、CPU201がメモリ202上にロードされた所定のプログラムを実行することで実現できる。
この所定のプログラムは、読取装置205を介して記憶媒体204から、あるいは、通信装置208を介してネットワークから、外部記憶装置203にダウンロードされ、それから、メモリ202上にロードされてCPU201により実行されるようにしてもよい。また、読取装置205を介して記憶媒体204から、あるいは、通信装置208を介してネットワークから、メモリ202上に直接ロードされ、CPU201により実行されるようにしてもよい。
なお、この場合において、制御部130にはCPU201やメモリ202が利用され、記憶部110及びDB120には、メモリ202や外部記憶装置203や記憶媒体204が利用され、入力部150は、入力装置207や出力装置208が利用され、IF部140は通信装置208が利用される。
図12は、バッチ定義分割処理部132での処理を示すフローチャートである。
まず、バッチ定義分割処理部132は、情報処理装置100のオペレータの指示等に応じて、バッチ定義記憶領域111に記憶されているバッチ定義テーブル111aを取得する(S10)。
次に、バッチ定義分割処理部132は、バッチ定義テーブル111aの全てのレコードをチェックしたか否かを確認し(S11)、全てのレコードをチェックしている場合には、処理を終了する。
一方、ステップS11で全てのレコードをチェックしていない場合には、バッチ定義分割処理部132は、未チェックのレコードの中から実行順序の最も早いものを特定する(S12)。
次に、バッチ定義分割処理部132は、ステップS12で特定したレコードの並列実行可否フィールド111dと処理内容フィールド111eをチェックして、並列実行が可能で、かつ、非加算的処理を含んでいない場合には、ステップS14に進み、並行実行が不可又は処理内容に非加算的処理を含んでいる場合には、ステップS15に進む。
ここで、バッチ定義分割処理部132は、並列実行可否フィールド111dにおいて「可」となっている場合には並列実行が可能と判断し、「否」となっている場合には並列実行が不可と判断する。
また、バッチ定義分割処理部132は、処理内容フィールド111eで特定されるバッチ処理の名称に対応する処理を行うためのプログラムが、例えば、加算処理又は減算処理である場合には、非加算的処理を含んでいないものと判断し、これらの処理以外のものについては、非加算的処理を含んでいるものと判断することができる。
さらに、バッチ定義分割処理部132は、処理内容フィールド111eで特定されるバッチ処理の名称に対応する処理を行うためのプログラムを検索し、予め定められている関数が当該プログラムに含まれている場合には、非加算的処理を含んでいると判断することもできる。なお、このような判断によらず、例えば、予め非加算的処理を含んでいるバッチ処理の名称を予め定めておき、このような名称が処理内容フィールド111eに格納されている場合には、非加算的処理を含んでいるものと判断することも可能である。
そして、ステップS14では、バッチ定義分割処理部132は、ステップS12で特定したレコードに格納されている情報を逐次バッチ定義記憶領域112に記憶されている逐次バッチ定義テーブル112aに格納する。
また、ステップS15では、バッチ定義分割処理部132は、ステップS12で特定したレコード以降のレコードの内容を一括バッチ定義記憶領域113に記憶されている一括バッチ定義テーブル113aに格納し、ステップS12で特定したレコードよりも前に逐次バッチ定義テーブル112aに格納したレコードの内容を一括逐次バッチ定義記憶領域114に記憶されている一括逐次バッチ定義テーブル114aに格納する。
図13は、入力データ管理部137での処理を示すフローチャートである。
まず、入力データ管理部137は、IF部140を介してオンライン装置162からのデータを受信した場合には(S20)、時刻計測部138から現在の年月日及び時刻を取得する(S21)。
次に、入力データ管理部137は、締め時刻管理情報記憶領域116に記憶されている締め時刻管理テーブル116aから、締め処理を行う時刻を取得する(S22)。
次に、入力データ管理部137は、バッチ管理情報記憶領域115に記憶されているバッチ管理テーブル115aを参照して、ステップS22で取得した締め時刻から現在の時刻までの間に、現在の日付における締めレコードがあるか否かを確認する(S23)。
そして、バッチ管理テーブル115aにそのようなレコードがない場合には、締め処理部136に締め処理を行うように指令を出し(S24)、ステップS26に進む。
そして、ステップS23においてそのようなレコードがある場合には、入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの入力元フィールド117bで指定された入力元に、IF部140を介して取得したデータを格納する(S25)。
そして、ステップS26において、入力データ管理部137は、入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの入力元フィールド117bで指定された入力元を引数として、逐次バッチ処理を実行するよう逐次バッチ実行管理部134に指示を出し(S26)、ステップS20に戻り、次のデータを受信するまで待機する。
なお、ステップS26で、逐次バッチを実行するよう指示を受けた逐次バッチ実行管理部134は、逐次バッチ定義記憶領域112に記憶されている逐次バッチ定義テーブル112aから逐次バッチ実行プロセスを生成して逐次バッチを実行するとともに、バッチ管理テーブル115aに必要な情報を格納する。
図14は、締め処理部136での処理を示すフローチャートである。
まず、締め処理部136は、DB120の入力元データ格納領域121にデータが記憶されているか否かを確認し(S30)、データが記憶されていない場合には処理を終了する。
そして、締め処理部136は、入力元データ格納領域121にデータが記憶されている場合には、IF部140を介して受信したデータの所定のフィールド(日時フィールド)を参照して、当該フィールドの値により特定される時刻が締め時刻よりも前か否かを確認する(S31)。
そして、締め処理部136は、ステップS31で、当該データの時刻が締め時刻よりも前である場合には、当該データを入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの入力元フィールド117bで指定された入力元に格納する(S32)。
一方、締め処理部136は、ステップS31で、当該データの時刻が締め時刻よりも前ではない場合には、当該データを入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの入力元フィールド117bで指定された格納領域の次の格納領域に格納する(S33)。例えば、入力元フィールド117bで指定された入力元の格納領域が「1」の場合には、入力元「2」の格納領域に当該データを格納する。
次に、締め処理部136は、入出力管理テーブル117aの入力元フィールド117bで指定された入力元に記憶されているデータのデータ量が予め定められた閾値よりも大きいか否かを確認し(S34)、大きい場合にはステップS35に進み、大きくない場合にはステップS37に進む。
ステップS35では、締め処理部136は、まだ開始していない逐次バッチ処理の実行を停止する。
そして、締め処理部136は、一括バッチ実行管理部135に、入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの入力元フィールド117bで指定された入力元を引数として、一括逐次バッチ処理を実行するよう指示を出す(S36)。このような指示を受けた一括バッチ実行管理部135は、一括逐次バッチ定義記憶領域114に記憶されている一括逐次バッチテーブル114aから一括逐次バッチ実行プロセスを生成して、一括逐次バッチ処理を実行する。
一方、ステップS37では、締め処理部136は、逐次バッチ実行管理部134に、入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの入力元フィールド117bで指定された入力元を引数として、逐次バッチ処理を実行するよう指示を出す(S37)。このような指示を受けた逐次バッチ実行管理部134は、逐次バッチ定義記憶領域112に記憶されている逐次バッチ定義テーブル112aから逐次バッチ実行プロセスを生成し、逐次バッチ処理を実行する。
そして、締め処理部136は、入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの入力元フィールド117bの値をインクリメントすることで更新する(S38)。
そして、締め処理部136は、バッチ管理情報記憶領域115に記憶されているバッチ管理テーブル115aに締めレコードを追加して、現在の年月日及び時間を締め実施日時フィールド115iに格納することで更新する(S39)。
なお、逐次バッチ処理又は一括逐次バッチ処理が終了した場合には、データ到達確認処理部133に逐次バッチの完了を通知する。
図15は、データ到達確認処理部133での処理を示すフローチャートである。
まず、データ到達確認処理部133は、逐次バッチ実行管理部134又は一括バッチ実行管理部135からの逐次バッチの完了イベントを受けると(S40)、時刻計測部138から現在の年月日及び時刻を取得する(S41)。
次に、データ到達確認処理部133は、バッチ管理情報記憶領域115に記憶されているバッチ管理テーブル115aから、最新の締めレコード(最も日付の新しい締めレコード)を取得して、その実施年月日及び時刻を取得する(S42)。
次に、データ到達確認処理部133は、一括バッチ管理情報記憶領域118に記憶されている一括バッチ管理テーブル118aから最新の(最も日付の新しい)起動時刻を取得する(S43)。
そして、データ到達確認処理部133は、ステップS42で取得した締め時刻よりもステップS43で取得した起動時刻の方が前か否かを確認する(S44)。
ここで、締め時刻よりも一括バッチの起動時刻の方が前ではない場合には、ステップS40に戻って、逐次バッチの完了イベントの到達を待つ。
一方、締め時刻よりも一括バッチの起動時刻の方が前の場合には、ステップS42で取得した締め時刻よりも前に開始された逐次バッチ処理が全て終了しているか否かをバッチ管理テーブル115aで確認し(S45)、終了していない場合には、ステップS40に戻って、逐次バッチ処理の完了イベントの到達を待つ。
ステップS45において、ステップS42で取得した締め時刻よりも前に開始された逐次バッチ処理が全て終了している場合には、入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの出力先フィールド117cに格納されている値を指定して、一括バッチ実行管理部135に一括バッチ処理の実行を指示し、一括バッチ管理テーブル118aからに新たなレコードを追加して、ステップS41で取得した年月日及び時間を起動日時として格納する(S46)。
なお、このような一括バッチ処理の実行指示を受けた一括バッチ実行管理部135は、一括バッチ定義記憶領域113に記憶されている一括バッチテーブル113aから一括バッチ実行プロセスを生成して、一括バッチ処理を実行するとともに、必要な情報をバッチ管理テーブル115aに格納する。
次に、データ到達確認処理部133は、入出力管理情報記憶領域117に記憶されている入出力管理テーブル117aの出力先フィールド117cに格納されている値を他方の値に変更することで、入出力管理テーブル117aを更新する(S47)。
以上のように構成される情報処理装置100での処理は、分散処理が可能である。例えば、バッチ定義記憶領域111に記憶するバッチ定義テーブル111aを他の装置で作成して、ネットワーク161又は可搬性の情報記憶媒体を介して情報処理装置100に記憶するようにしてもよい。
以上に記載した実施形態においては、バッチ処理を、並列実行が可能か否か、および、非加算的処理を含んでいるか否か、で逐次バッチ処理又は一括バッチ処理のいずれか一方に割り振るようにしているが、このような態様に限定されず、例えば、並列実行が可能か否か、または、非加算的処理を含んでいるか否か、の少なくともいずれか一方で判断するようにしてもよい。
また、以上に記載した実施形態においては、受信したデータの格納先としてDB120を用いているが、このような態様に限定されず、例えば、フラットファイルなどを用いたファイルシステム等の任意の記憶媒体に格納することが可能である。
100 情報処理装置
110 記憶部
111 バッチ定義テーブル記憶領域
112 逐次バッチ定義記憶領域
113 一括バッチ定義記憶領域
114 一括逐次バッチ定義記憶領域
115 バッチ管理情報記憶領域
116 締め時刻管理情報記憶領域
117 入出力管理情報記憶領域
118 一括バッチ管理情報記憶領域
120 データベース
121 入力元データ格納領域
122 出力先データ格納領域
130 制御部
131 バッチ定義処理部
132 バッチ定義分割処理部
133 データ到着確認処理部
134 逐次バッチ実行管理部
135 一括バッチ実行管理部
136 締め処理部
137 入力データ管理部
138 時刻計測部
140 IF部
150 入力部
110 記憶部
111 バッチ定義テーブル記憶領域
112 逐次バッチ定義記憶領域
113 一括バッチ定義記憶領域
114 一括逐次バッチ定義記憶領域
115 バッチ管理情報記憶領域
116 締め時刻管理情報記憶領域
117 入出力管理情報記憶領域
118 一括バッチ管理情報記憶領域
120 データベース
121 入力元データ格納領域
122 出力先データ格納領域
130 制御部
131 バッチ定義処理部
132 バッチ定義分割処理部
133 データ到着確認処理部
134 逐次バッチ実行管理部
135 一括バッチ実行管理部
136 締め処理部
137 入力データ管理部
138 時刻計測部
140 IF部
150 入力部
Claims (13)
- ネットワークを介してデータを受信する受信部と、当該データを記憶する記憶部と、当該データに対して複数のバッチ処理を行う制御部と、を備える情報処理装置であって、
前記制御部は、前記複数のバッチ処理を、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理と、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理と、に分けて行うこと、
を特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、加算処理又は減算処理については前記第一のバッチ処理とし、他の処理については前記第二のバッチ処理とすること、
を特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、予め定められた関数が含まれているバッチ処理については前記第二のバッチ処理とし、当該関数が含まれていないバッチ処理については前記第一のバッチ処理とすること、
を特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、並列して実行することのできるものについては前記第一のバッチ処理とし、並列して実行することのできないものについては前記第二のバッチ処理とすること、
を特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記制御部は、
前記予め定められた期限の経過後に、前記第一のバッチ処理が終了した後に、前記第二のバッチ処理を行うこと、
を特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記受信部で受信したデータを前記記憶部に記憶し、前記記憶部に記憶したデータについて第一のバッチ処理及び第二のバッチ処理を行うようにされており、
前記制御部は、前記記憶部に記憶したデータ量が予め定められた閾値を超えた場合には、前記第一のバッチ処理を一括して行うこと、
を特徴とする情報処理装置。 - コンピュータを、ネットワークを介してデータを受信する受信部、当該データを記憶する記憶部、当該データに対して複数のバッチ処理を行う制御部、として機能させるプログラムであって、
前記制御部は、前記複数のバッチ処理を、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理と、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理と、に分けて行うこと、
を特徴とするプログラム。 - 請求項7に記載のプログラムであって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、加算処理又は減算処理については前記第一のバッチ処理とし、他の処理については前記第二のバッチ処理とすること、
を特徴とするプログラム。 - 請求項7に記載のプログラムであって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、予め定められた関数が含まれているバッチ処理については前記第二のバッチ処理とし、当該関数が含まれていないバッチ処理については前記第一のバッチ処理とすること、
を特徴とするプログラム。 - 請求項7に記載のプログラムであって、
前記記憶部には、前記複数のバッチ処理を定義したバッチ定義情報が記憶されており、
前記制御部は、前記バッチ定義情報で定義されている前記複数のバッチ処理のうち、並列して実行することのできるものについては前記第一のバッチ処理とし、並列して実行することのできないものについては前記第二のバッチ処理とすること、
を特徴とするプログラム。 - 請求項7に記載のプログラムであって、
前記制御部は、
前記予め定められた期限の経過後に、前記第一のバッチ処理が終了した後に、前記第二のバッチ処理を行うこと、
を特徴とするプログラム。 - 請求項7に記載のプログラムであって、
前記受信部で受信したデータを前記記憶部に記憶し、前記記憶部に記憶したデータについて第一のバッチ処理及び第二のバッチ処理を行うようにされており、
前記制御部は、前記記憶部に記憶したデータ量が予め定められた閾値を超えた場合には、前記第一のバッチ処理を一括して行うこと、
を特徴とするプログラム。 - ネットワークを介してデータを受信する受信部と、当該データを記憶する記憶部と、当該データに対して複数のバッチ処理を行う制御部と、を備える情報処理装置で行う情報処理方法であって、
前記制御部が、前記複数のバッチ処理のうち、前記受信部において前記データを受信する毎に逐次的に行う第一のバッチ処理過程と、
前記制御部が、前記複数のバッチ処理のうち、前記受信部において受信した前記データを前記億部に記憶し予め定められた期限毎に行う第二のバッチ処理過程と、
を備えること特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006344314A JP2008158637A (ja) | 2006-12-21 | 2006-12-21 | 情報処理装置、プログラム及び情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006344314A JP2008158637A (ja) | 2006-12-21 | 2006-12-21 | 情報処理装置、プログラム及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008158637A true JP2008158637A (ja) | 2008-07-10 |
Family
ID=39659498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006344314A Pending JP2008158637A (ja) | 2006-12-21 | 2006-12-21 | 情報処理装置、プログラム及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008158637A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015501479A (ja) * | 2011-10-11 | 2015-01-15 | マイクロソフト コーポレーション | ローカルサーバーを通じたローカルクライアントアプリケーションのためのイベントサービス |
US10542122B2 (en) | 2011-10-11 | 2020-01-21 | Microsoft Technology Licensing, Llc | Event service for local client applications through local server |
US10579442B2 (en) | 2012-12-14 | 2020-03-03 | Microsoft Technology Licensing, Llc | Inversion-of-control component service models for virtual environments |
-
2006
- 2006-12-21 JP JP2006344314A patent/JP2008158637A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015501479A (ja) * | 2011-10-11 | 2015-01-15 | マイクロソフト コーポレーション | ローカルサーバーを通じたローカルクライアントアプリケーションのためのイベントサービス |
US10542122B2 (en) | 2011-10-11 | 2020-01-21 | Microsoft Technology Licensing, Llc | Event service for local client applications through local server |
US10579442B2 (en) | 2012-12-14 | 2020-03-03 | Microsoft Technology Licensing, Llc | Inversion-of-control component service models for virtual environments |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775977A (zh) | 任务调度方法、装置及系统 | |
CN101790721A (zh) | 执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置 | |
CN104346433A (zh) | 用于数据库查询操作的可缩放加速的方法和系统 | |
JP2011053995A (ja) | データ処理制御方法および計算機システム | |
JP5825261B2 (ja) | 情報処理装置、その方法及びそのプログラム | |
JPH08286932A (ja) | ジョブの並列実行制御方法 | |
JP2008158637A (ja) | 情報処理装置、プログラム及び情報処理方法 | |
US20200241988A1 (en) | Information processing apparatus, method, and computer program product | |
JP5437556B2 (ja) | 情報処理装置およびプロセッサ機能変更方法 | |
RU2013143837A (ru) | Система параллельной обработки данных и способ работы системы параллельной обработки данных | |
US9652304B2 (en) | Electronic apparatus that uses program from another program working on different platforms, and method | |
CN104360898B (zh) | 运行任务的方法和装置 | |
JP2005092544A (ja) | ワークフロー世代管理処理方法,ワークフロー処理システムおよびワークフロー制御プログラム | |
JP2008090485A (ja) | ジョブ管理装置、システムおよびプログラム | |
JP6555908B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US10643162B2 (en) | Method, apparatus, and storage medium | |
JP5446620B2 (ja) | ジョブフロー実行装置、ジョブフロー実行方法およびジョブフロー実行プログラム | |
JP5277847B2 (ja) | 作業管理装置、作業管理プログラム | |
JPS59206947A (ja) | マイクロプログラム制御装置 | |
JP6519180B2 (ja) | 管理システム、制御方法、および制御プログラム | |
JP2009169787A (ja) | ワークフロー監視制御システム、監視制御方法および監視制御プログラム | |
JP2008009715A (ja) | プログラム配付方法及び計算機システム | |
JP2017120492A (ja) | 情報処理システム、及びその制御方法、プログラム | |
JP6199793B2 (ja) | ジョブ実行管理システム、ジョブ再実行方法およびジョブ再実行プログラム | |
JP6303724B2 (ja) | ログ制御方法、ログ制御プログラムおよびログ制御装置 |