JP4127273B2 - 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム - Google Patents

並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム Download PDF

Info

Publication number
JP4127273B2
JP4127273B2 JP2005074661A JP2005074661A JP4127273B2 JP 4127273 B2 JP4127273 B2 JP 4127273B2 JP 2005074661 A JP2005074661 A JP 2005074661A JP 2005074661 A JP2005074661 A JP 2005074661A JP 4127273 B2 JP4127273 B2 JP 4127273B2
Authority
JP
Japan
Prior art keywords
processing
thread
input data
distribution
data file
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.)
Expired - Fee Related
Application number
JP2005074661A
Other languages
English (en)
Other versions
JP2006259981A (ja
Inventor
一洋 上島
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005074661A priority Critical patent/JP4127273B2/ja
Publication of JP2006259981A publication Critical patent/JP2006259981A/ja
Application granted granted Critical
Publication of JP4127273B2 publication Critical patent/JP4127273B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラムに関し、特に、振り分け処理とAP処理とを並列に実行する並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラムに関する。
従来の電文一括処理システムの一例が、特許文献1に記載されている。この従来の電文一括処理システムは、トランザクション処理の実行を制御するトランザクション処理基盤部と、トランザクションを種別に応じて処理する各アプリケーションプログラムと、各アプリケーションプログラムの各各がアクセスするファイルを格納する各データベースと、電文を一括記録している元データファイルと、元データファイルから電文を読み出し、電文データに含まれるファイル名に基づいて、各BTDファイルの各各に振り分けて格納する元データ振り分け部と、各BTDファイルから電文をそれぞれ読み出し、電文に対応する各アプリケーションプログラムに電文を処理をさせる各アフリケーションプログラム実行手段と、電文一括処理コマンドを受理し、各アプリケーションプログラム実行部を起動するアプリケーションプログラム制御部とを備え、以下のように動作する。
すなわち、端末14から元データ振り分けコマンドが入力されると、元データ振り分け部は、元データファイルの電文を読み込み、電文データ内の電文種別に対応するBTDファイル名を取得し、BTDファイル名に対応する各BTDファイルにそれぞれの電文を格納する。次に、端末15から電文ファイル名を含む電文一括処理コマンドが入力されると、トランザクション処理基盤部は、アプリケーションプログラム制御部にファイル名を送付する。そして、アプリケーション制御部は各アプリケーションプログラム実行部を起動し、ファイル名を送付する。更に、各アプリケーションプログラム実行部は、ファイル名のBTDファイルから電文をそれぞれ取得し、対応する各アプリケーションプログラムに送付する。そして、各アプリケーションプログラムは電文のトランザクション処理をそれぞれ実行する。
特開平6−348740号公報
しかしながら、上述した電文一括処理システムには、以下のような問題点がある。
すなわち、元データ振り分け部による元データファイルの電文の振り分け処理と各アプリケーションプログラムにおける電文のトランザクション処理とを並列に実行することができないことである。
その理由は、元データ振り分け部による元データファイルの電文の振り分け処理が終了した後に、各アプリケーションプログラムが電文のトランザクション処理をそれぞれ実行するからである。
本発明の目的は、上述した従来の課題を解決する並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラムを提供することにある。
本願第の発明の並列バッチ処理方式は、サーバ装置と複数のクライアント端末とを備え、前記サーバ装置が前記クライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方式であって、前記クライアント端末は、前記クライアント端末に1対1に対応づけられた入力データファイル群中の入力データファイルに入力データを格納するデータ格納手段と、前記サーバ装置に処理要求を行う処理要求手段とを含み、前記サーバ装置は、最大処理件数と最大振り分けスレッド数とを含む動作情報ファイルと、前記入力データファイルを処理する内容の種類(処理種類)を登録している処理種類情報ファイルとを備え、前記サーバ装置内での処理を並列に実行することができ、その並列実行の実行単位であるリーダースレッド,前記最大振り分けスレッド数と同数の振り分けスレッド,および前記処理種類と同数のAP処理スレッドを含み、前記リーダースレッドに、前記クライアント端末からの処理要求を受け付ける要求受付手段と、前記振り分けスレッドを起動する振り分けスレッド起動手段と、1つの前記入力データファイル1つの前記振り分けスレッドとを対応付ける手段と、前記AP処理スレッドを起動するAP処理スレッド起動手段と、前記振り分けスレッドから通知される振り分けデータ件数を合計した値が前記最大処理件数を超えたとき、或いは振り分け手段から全ての前記入力データファイルの振り分けが終了したことが通知されたとき、前記AP処理スレッドに処理を要求する手段と、前記振り分けスレッドから対応付けられた全ての前記入力データファイルの振り分けが終了したことが通知されたとき、振り分けスレッドが対応付けられていない前記入力データファイルに振り分けスレッドを対応付ける手段とを含み、前記振り分けスレッドに、対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分ける振り分け手段を含み、前記AP処理スレッドに、前記データキューから入力データを入力してAP処理を行うAP処理手段を含む、ことを特徴とする。
本願第の発明の並列バッチ処理方式は、第の発明において前記サーバ装置は、前記AP処理スレッドが参照するデータベースを前記AP処理スレッドに1対1に対応付けて備える、ことを特徴とする。
本願第の発明の並列バッチ処理方法は、サーバ装置と複数のクライアント端末とを備え、前記サーバ装置が前記クライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方法であって、前記クライアント端末は、前記クライアント端末に1対1に対応づけられた入力データファイル群中の入力データファイルに入力データを格納し、前記サーバ装置のリーダースレッドに処理要求を行い、前記リーダースレッドは、前記クライアント端末からの処理要求を受け付け、動作情報ファイルに登録されている最大振り分けスレッド数と同数の振り分けスレッドを起動し、処理種類情報ファイルに登録されている入力データファイルの処理の種類と同数のAP処理スレッドを起動し、1つの前記入力データファイル1つの前記振り分けスレッドとを対応付け、前記振り分けスレッドに振り分け処理を要求し、前記振り分けスレッドは、対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分け、振り分けたデータ件数を前記リーダースレッドに通知し、前記リーダースレッドは、前記振り分けスレッドから通知された振り分けデータ件数を合計した値が動作情報ファイルに登録されている最大処理件数を超えたとき前記AP処理スレッドに処理を要求し、前記AP処理スレッドは、前記データキューから入力データを入力してAP処理を行い、前記AP処理スレッドが行うAP処理の実行と並列に、前記リーダースレッドは、前記振り分けスレッドに未処理の前記入力データファイルを対応付け、前記振り分けスレッドに振り分け処理を要求し、前記振り分けスレッドは、前記入力データファイルを参照して入力データをデータキューへ振り分けを行う、ことを特徴とする。
本願第の発明の並列バッチ処理方法は、第の発明において前記AP処理スレッドは、前記AP処理スレッドに1対1に対応付けられたデータベースを参照する、ことを特徴とする。
本願第の発明のサーバ装置は、サーバ装置がクライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方式のサーバ装置であって、最大処理件数と最大振り分けスレッド数とを含む動作情報ファイルと、前記クライアント端末が前記クライアント端末に1対1に対応づけられた入力データファイル群中の、入力データを格納した入力データファイルを処理する内容の種類(処理種類)を登録している処理種類情報ファイルとを備え、前記サーバ装置内での処理を並列に実行することができ、その並列実行の実行単位であるリーダースレッド,前記最大振り分けスレッド数と同数の振り分けスレッド,および前記処理種類と同数のAP処理スレッドを含み、前記リーダースレッドに、前記クライアント端末からの処理要求を受け付ける要求受付手段と、前記振り分けスレッドを起動する振り分けスレッド起動手段と、1つの前記入力データファイル1つの前記振り分けスレッドとを対応付ける手段と、前記AP処理スレッドを起動するAP処理スレッド起動手段と、前記振り分けスレッドから通知される振り分けデータ件数を合計した値が前記最大処理件数を超えたとき、或いは振り分け手段から全ての前記入力データファイルの振り分けが終了したことが通知されたとき、前記AP処理スレッドに処理を要求する手段と、前記振り分けスレッドから対応付けられた全ての前記入力データファイルの振り分けが終了したことが通知されたとき、振り分けスレッドが対応付けられていない前記入力データファイルに振り分けスレッドを対応付ける手段とを含み、前記振り分けスレッドに、対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分ける振り分け手段を含み、前記AP処理スレッドに、前記データキューから入力データを入力してAP処理を行うAP処理手段を含む、ことを特徴とする。
本願第の発明のサーバ装置は、第の発明において前記AP処理スレッドが参照するデータベースを前記AP処理スレッドに1対1に対応付けて備える、ことを特徴とする。
本願第の発明のプログラムは、サーバ装置がクライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方式におけるサーバ装置のプログラムであって、サーバ装置に、リーダースレッドが、前記クライアント端末からの処理要求を受け付ける機能、動作情報ファイルに登録されている最大振り分けスレッド数と同数の振り分けスレッドを起動する機能、前記クライアント端末に1対1に対応づけられた入力データファイル群と振り分けスレッドとを対応付ける機能、1つの前記入力データファイル群と1つの前記振り分けスレッドとを対応付ける機能、処理種類情報ファイルに登録されている入力データファイルの処理の種類と同数のAP処理スレッドを起動する機能、振り分けスレッドから通知される振り分けデータ件数を合計した値が動作情報ファイルに登録されている最大処理件数を超えたとき或いは振り分けスレッドから全ての前記入力データファイルの振り分けが終了したことが通知されたときAP処理スレッドに処理を要求する機能、振り分けスレッドから対応付けられた全ての前記入力データファイルの振り分けが終了したことが通知されたとき振り分けスレッドが対応付けられていない前記入力データファイルに振り分けスレッドを対応付ける機能、振り分けスレッドが、対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分ける機能、AP処理スレッドが、前記データキューから入力データを入力してAP処理を行う機能、前記リーダースレッド,前記振り分けスレッド,および前記AP処理スレッドを並列に実行する機能、を実現させる。
本願第の発明のプログラムは、第の発明において前記AP処理スレッドが前記AP処理スレッドに1対1に対応付けられているデータベースを参照する機能、を実現させる。


本発明は、処理効率が向上するという効果を有している。その理由は、入力データの振り分け処理とAP処理とを並列に実行させるようにしたためである。
最初に、本発明の特徴について説明する。
本発明は、クライアントAP(アプリケーション)が、各クライアントAPに1対1に対応した入力データファイル群に入力データを追加し、AP処理プロセスに処理要求を行う。AP処理プロセスでは、動作情報ファイルで指定された最大振り分けスレッド数に従って、入力データファイル群を参照する振り分けスレッドを作動させる。そして、処理時間のかかる入力データファイル群の参照の分散と、入力データファイル群の参照の待ち時間に別スレッドによるデータファイルの処理を行い、振り分けとAP処理とを並列に実行する。データファイルの処理を行うAP処理スレッドを複数持ち、AP処理スレッドに1対1で対応するDB(データベース)をAP処理スレッドの数分用意することで、DB参照時に排他制御による待ち時間が発生するのを防ぐ。入力するデータは複数のデータをまとめたデータファイルとして扱い、バッチ的処理による一回の大量データ処理を行う。
このようにして、複数の入力元から大量の入力データファイルの追加が行われた場合に、入力データファイル群の参照と処理の要求と処理及びAPスレッドのDBへの参照が排他を行わずに並行に行え、排他制御による処理時間の遅延を防ぎ、複数の入力元からの大量のデータファイルの処理を効率よくオンラインで処理することが可能となる。
次に、本発明を実施するための最良の形態について、図面を用いて詳細に説明する。
図1は本発明の構成を説明する図である。
図2は本発明の全体の構成を示す図である。
図3は入力データファイルの形式例を示す図である。
図4は処理種類情報ファイルの例を示す図である。
図5は振り分けスレッドと入力データファイル群の対応付け例を示す図である。
図6はデータキューとAP処理スレッドの対応付け例を示す図である。
図1および図2を参照すると、本発明の並列バッチ処理方式の実施例は、クライアント端末10/11/12と、サーバ装置2と、ネットワーク3とを備えている。クライアント端末10/11/12とサーバ装置2とはインターネット等のネットワーク3で接続されている。
クライアント端末10は、プログラム制御で動作する情報処理装置である。クライアント端末10は、クライアントAP110と、入力データファイル群130とを有する。入力データファイル群130は、入力データファイル130aと、入力データファイル130bとを含む。
クライアント端末11は、プログラム制御で動作する情報処理装置である。クライアント端末11は、クライアントAP111と、入力データファイル群131とを有する。入力データファイル群131は、入力データファイル131aと、入力データファイル131bとを含む。
クライアント端末12は、プログラム制御で動作する情報処理装置である。クライアント端末12は、クライアントAP112と、入力データファイル群132とを有する。入力データファイル群132は、入力データファイル132aと、入力データファイル132bとを含む。
クライアントAP110/111/112は、入力データを作成して各クライアントAPに1対1に対応付けられた入力データファイル群130/131/132にデータを追加格納するデータ格納手段と、AP処理プロセス20へ処理要求を行う処理要求手段とを含む。入力データファイル群130/131/132のデータはAP処理プロセス20により処理される。
入力データファイル130a/130b/131a/131b/132a/132b/は同じ形式である。図3に例示する入力データファイルは、登録されているデータが3件で、処理(処理種類)が”a”であることを示している。
サーバ装置2は、プログラム制御で動作する情報処理装置である。サーバ装置2は、AP処理プロセス20と、動作情報ファイル22と、DB261と、DB262と、出力データファイル群40と、出力データファイル群41とを有する。また、サーバ装置2は、処理種類情報ファイル(図示せず)を有する。処理種類情報ファイルには、入力データファイルを処理する内容の種類が予め登録されている。図4に例示する処理種類情報ファイルには、AP処理aとAP処理bの2つの処理種類が登録されている。サーバ装置2がパワーオンされと、OS(オペレーティングシステム)が立ち上がり、その後にAP処理プロセス20が立ち上がりメモリ(図示せず)に常駐する。OSとAP処理プロセス20は、磁気ディスク装置等の補助記憶装置(図示せず)に格納されている。
AP処理プロセス20は、リーダースレッド21と、振り分けスレッド231/232と、AP処理スレッド241/242と、データキュー251/252とを含む。リーダースレッド21と、振り分けスレッド231/232と、AP処理スレッド241/242とは、並列実行の実行単位であり、各々を並列に実行することができる。スレッドを並列に実行することはOSの機能により提供される。AP処理プロセス20は立ち上がると、リーダースレッド21を起動する。
リーダースレッド21は、以下の手段を含んでいる。
(1)クライアントAP110/111/112からの処理要求を受け付ける要求受付手段。
(2)動作情報ファイル22の最大振り分けスレッド数222に従い振り分けスレッドを起動する振り分けスレッド起動手段。
(3)振り分けスレッドに入力データファイル群を対応づけてテーブルに登録し管理する手段。図5に振り分けスレッドと入力データファイル群の対応付けの例を示す。
(4)対応付けた入力データファイル群の振り分けを振り分けスレッドに要求する手段。
(5)処理種類情報ファイルに登録されている処理の種類に従いAP処理スレッドを起動するAP処理スレッド起動手段。
(6)振り分けスレッドから通知された振り分けデータ件数を合計した値が最大処理件数を超えたときに、或いは全ての入力データファイル群に未処理データファイルが存在しなくなったときに、AP処理スレッドにAP処理を要求する手段。
(7)データキュー領域を確保しAP処理スレッドに対応付けてテーブルに登録し管理する手段。図6にデータキューとAP処理スレッドの対応付けの例を示す。
(8)振り分けスレッドから対応付けられた全ての入力データファイルの振り分けが終了したことが通知されたとき、振り分けスレッドが対応付けられていない入力データファイルに振り分けスレッドを対応付ける手段。
振り分けスレッド231/232は、リーダースレッド21によって対応付けられた入力データファイル群を参照し、処理の種類に対応したデータキューへ入力データを振り分けて追加する振り分け手段を含む。振り分け手段は、振り分けたデータ件数をリーダースレッド21に通知する。
AP処理スレッド241/242は、AP処理手段を含む。すなわち、AP処理スレッド241はAP処理a手段を含み、AP処理a手段はデータキュー251から入力データを入力し、DB261を参照してAP処理aを行い、処理結果を出力データファイル群40へ記録する。AP処理スレッド242はAP処理b手段を含み、AP処理b手段はデータキュー252から入力データを入力し、DB262を参照してAP処理bを行い、処理結果を出力データファイル群41へ記録する。なお、AP処理aおよびAP処理bの処理内容については特に規定しない。例えば、通信料金の計算処理などである。
データキュー251/252は、振り分けスレッド231/232により振り分けられた入力データが格納される。本例では、データキュー251には処理種類”a”の入力データが振り分けられて格納され、データキュー252には処理種類”b”の入力データが振り分けられて格納される。データキューの領域として、AP処理スレッドと同数のデータキューの領域が予め準備されている。リーダースレッド21がデータキューの領域を確保するようにしてもよい。データキューの領域は、例えばメモリ上に確保される。また、データキュー251/252は、AP処理スレッドと1対1に対応している。本例では、データキュー251はAP処理スレッド241に、データキュー252はAP処理スレッド242に対応付けられている。
動作情報ファイル22は、最大処理件数221と、最大振り分けスレッド数222とを含む。最大処理件数221には処理するデータの最大件数が予め設定されている。また、最大振り分けスレッド数222には起動される振り分けスレッドの最大数が予め設定されている。
DB261/262は、AP処理スレッドと1対1に対応し、AP処理スレッドの処理を行うのに必要な情報が格納される。例えば、料金計算を行うAP処理に対応するDBには料金割引率などの情報が格納される。DBは、AP処理スレッドと同数が予め準備されている。本例では、DB261はAP処理スレッド241に、DB262はAP処理スレッド242に対応付けられている。
出力データファイル群40/41は、AP処理スレッド241/242の処理結果が記録される。
ここで、図1を参照して、AP処理プロセス20の動作の概略を説明する。
リーダースレッド21は、クライアントAP110/111/112から処理要求を受けた場合、入力データファイル群130/131/132を参照し未処理のデータを含む入力データファイル群の存在を調査する。
リーダースレッド21は、未処理の入力データファイルを含む入力データファイル群を発見した場合、振り分けスレッド231/232に入力データファイルの振り分けを要求する。
1つの振り分けスレッドは1つの入力データファイル群に対応付けられる。振り分けスレッド231/232は入力ファイルを参照して、処理の種類に応じたAP処理スレッドに対し処理に1対1に対応したデータキューへ入力データを追加する。
振り分けスレッド231/232は、リーダースレッド21に振り分けを行ったデータ件数を応答として通知する。
振り分けスレッド231/232は、対応付けられた入力データファイル群に未処理のデータファイルがなくなった場合に、振り分けスレッドが対応付けられていない入力データファイル群に対応付けられる。
振り分けスレッド231/232からのデータ件数の応答が最大処理件数221を超えた或いは入力データファイル群に未処理のデータファイルが存在しなくなった場合に、リーダースレッド21は、AP処理スレッド241/242に処理を要求する。
AP処理スレッド241/242は、データキュー251/252を参照し、未処理の入力データの処理を行い、処理を完了後、処理結果を出力データファイル群40/41へ記録する。
次に、本発明を実施するための最良の形態の動作について、図1〜図8を用いて詳細に説明する。
図7は本発明の動作の流れ(その1)を示す図である。
図8は本発明の動作の流れ(その2)を示す図である。
図7〜図8を参照し本実施例の全体の動作について詳細に説明する。
まず、リーダースレッド21が動作情報ファイル22を参照する。リーダースレッド21は、動作情報ファイル22より最大処理件数221が示す数値”15”と最大振り分けスレッド数222が示す数値”2”を取得する(ステップS1)。
リーダースレッド21は、最大振り分けスレッド数222に従い、振り分けスレッド231/232を起動する(ステップS2)。
リーダースレッド21は、処理種類情報ファイルに登録されている処理の種類に応じてAP処理スレッドを起動する。本例では、AP処理スレッド241/242を起動する(ステップS3)。
リーダースレッド21は、AP処理スレッドと同数のデータキュー251/252を作成する(ステップS4)。データキュー251/252は、AP処理スレッド241/242と1対1に対応付けられる。
リーダースレッド21は、振り分けスレッド231/232およびAP処理スレッド241/242を起動後、クライアントAP110/111/112より処理要求が行われるのを待つ(ステップS5)。
クライアントAP110/111/112は、AP処理プロセス20に処理を要求する入力元の数だけ存在する。入力データファイル群130/131/132はクライアントAP110/111/112と1対1で対応付けられて、1つのクライアントAPは1つの入力データファイル群に新規の入力データファイルを追加する。本例では、クライアントAP110は入力データファイル群130に入力データファイル130a/130bを追加する。クライアントAP111は入力データファイル群131に入力データファイル131a/131bを追加する。クライアントAP112は入力データファイル群132に入力データファイル132a/132bを追加する。そして、クライアントAP110/111/112はリーダースレッド21へ処理を要求する(ステップS6)。
リーダースレッド21は、処理の要求を受けると入力データファイル群130/131/132を参照し、入力データファイル群130/131/132に未処理の入力データファイルが存在すること確認する。そして、振り分けスレッド231に入力データファイル群130の参照と振り分けを、振り分けスレッド232に入力データファイル群131の参照と振り分けを要求する。そして、振り分けスレッド231/232からの応答を待つ(ステップS7)。振り分けを要求された振り分けスレッド231と振り分けスレッド232は並列に動作する。
振り分けスレッド231は、入力データファイル群130を参照し、入力データファイル130aで示される件数”3”と処理”a”を取得する。振り分けスレッド231は入力データファイル130aで示される処理”a”の値に従って入力データファイル130aの入力データをデータキュー251に登録し、入力データファイル130aで示される件数”3”をリーダースレッド21に返却する(ステップS8)。
振り分けスレッド232は、入力データファイル群131を参照し、入力データファイル131aで示される件数”3”と処理”a”を取得する。振り分けスレッド232は入力データファイル131aで示される処理”a”の値に従って入力データファイル131aの入力データをデータキュー251に登録し、入力データファイル131aで示される件数”3”をリーダースレッド21に返却する(ステップS9)。
振り分けスレッド231は、入力データファイル群30を参照し、入力データファイル130bで示される件数”3”と処理”b”を取得する。振り分けスレッド231は入力データファイル130bで示される処理”b”の値に従って入力データファイル130bの入力データをデータキュー252に登録し、入力データファイル130bで示される件数”3”をリーダースレッド21に返却し、入力データファイル群130に未処理データファイルが存在しないことをリーダースレッド21に応答する(ステップS10)。
リーダースレッド21は、振り分けスレッド231に入力データファイル群132の参照と振り分けを要求する(ステップS11)。
振り分けスレッド232は、入力データファイル群131を参照し、入力データファイル131bで示される件数”3”と処理”b”を取得する。振り分けスレッド232は入力データファイル131bで示される処理”b”の値に従って入力データファイル131bの入力データをデータキュー252に登録し、入力データファイル131bで示される件数”3”をリーダースレッド21に返却し、入力データファイル群131に未処理データファイルが存在しないことをリーダースレッド21に応答する(ステップS12)。
リーダースレッド21は、振り分けスレッド232に停止を要求する(ステップS13)。
振り分けスレッド231は、入力データファイル群32を参照し、入力データファイル132aで示される件数”3”と処理”a”を取得する。振り分けスレッド231は入力データファイル132aで示される処理”a”の値に従って入力データファイル132aの入力データをデータキュー251に登録し、入力データファイル132aで示される件数”3”をリーダースレッド21に返却する(ステップS14)。
リーダースレッド21は、データ件数の合計が最大処理件数221が示す値”15”に到達したので、AP処理スレッド241/242に処理を要求する。リーダースレッド21は、保持しているデータ件数の合計の値を0にリセットする(ステップS15)。
AP処理スレッド241/242は、要求された処理を開始する(ステップS16)。
振り分けスレッド231は、入力データファイル群132を参照し、入力データファイル132bで示される件数”3”と処理”b”を取得する。このとき、振り分けスレッド231は、ステップS16で処理を開始したAP処理スレッド241/242と並列に動作する。振り分けスレッド231は入力データファイル132bで示される処理”b”の値に従って入力データファイル132bの入力データをデータキュー252に登録し、入力データファイル132bで示される件数”3”をリーダースレッド21に返却し、入力データファイル群30に未処理データファイルが存在しないことをリーダースレッド21に応答する(ステップS17)。
AP処理スレッド241/242は、要求された処理が終了したことをリーダースレッド21に通知する(ステップS18)。
リーダースレッド21は、入力データファイル群130/131/132に未処理データファイルが存在しないことを受けて、AP処理スレッド241/242に処理を要求し、振り分けスレッド231に停止を要求する。リーダースレッド21は、保持しているデータ件数の合計の値を0にリセットする(ステップS19)。
AP処理スレッド241/242は、要求された処理を開始する(ステップS20)。
AP処理スレッド241/242は、リーダースレッド21より処理要求を受けた後、対応するデータキュー251/252を参照し、データキュー251/252に登録されているデータの処理を行い、処理結果を出力データファイル群40に出力する(ステップS21)。
データキュー251/252に未処理データがなくなった場合、AP処理スレッド241/242は動作を停止し、リーダースレッド21からの処理要求を待つ(ステップS22)。
上記説明したように、本発明は、振り分けスレッドとAP処理スレッドを並列に実行させるので、処理効率が向上するという効果を有している。
また、参照するDBをAP処理スレッドに1対1で対応させているので、DB参照/更新時の排他制御による時間の遅延を防止するという効果を有する。
本発明による上述した実施の形態において、サーバ装置の処理動作を実行するためのプログラム等を、データとしてサーバ装置の磁気ディスクやROM等の記録媒体(図示せず)に記録するようにし、記録されたデータを読み出してサーバ装置を動作させるために用いる。このように、本発明によるサーバ装置を動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることによりサーバ装置の機能が実現できるようになる。
本発明の構成を説明する図 本発明の全体の構成を示す図 入力データファイルの形式例を示す図 処理種類情報ファイルの例を示す図 振り分けスレッドと入力データファイル群の対応付け例を示す図 データキューとAP処理スレッドの対応付け例を示す図 本発明の動作の流れ(その1)を示す図 本発明の動作の流れ(その2)を示す図
符号の説明
2 サーバ装置
3 ネットワーク
10 クライアント端末
11 クライアント端末
12 クライアント端末
20 AP処理プロセス
21 リーダースレッド
22 動作情報ファイル
40 出力データファイル群
41 出力データファイル群
110 クライアントAP
111 クライアントAP
112 クライアントAP
221 最大処理件数
222 最大振り分けスレッド数
231 振り分けスレッド
232 振り分けスレッド
241 AP処理スレッド
242 AP処理スレッド
251 データキュー
252 データキュー
261 DB
262 DB
130 入力データファイル群
131 入力データファイル群
132 入力データファイル群
130a 入力データファイル
130b 入力データファイル
131a 入力データファイル
131b 入力データファイル
132a 入力データファイル
132b 入力データファイル

Claims (8)

  1. サーバ装置と複数のクライアント端末とを備え、前記サーバ装置が前記クライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方式であって、
    前記クライアント端末は、
    前記クライアント端末に1対1に対応づけられた入力データファイル群中の入力データファイルに入力データを格納するデータ格納手段と、
    前記サーバ装置に処理要求を行う処理要求手段とを含み、
    前記サーバ装置は、
    最大処理件数と最大振り分けスレッド数とを含む動作情報ファイルと、
    前記入力データファイルを処理する内容の種類(処理種類)を登録している処理種類情報ファイルとを備え、
    前記サーバ装置内での処理を並列に実行することができ、その並列実行の実行単位であるリーダースレッド,前記最大振り分けスレッド数と同数の振り分けスレッド,および前記処理種類と同数のAP処理スレッドを含み、
    前記リーダースレッドに、
    前記クライアント端末からの処理要求を受け付ける要求受付手段と、
    前記振り分けスレッドを起動する振り分けスレッド起動手段と、
    1つの前記入力データファイル1つの前記振り分けスレッドとを対応付ける手段と、
    前記AP処理スレッドを起動するAP処理スレッド起動手段と、
    前記振り分けスレッドから通知される振り分けデータ件数を合計した値が前記最大処理件数を超えたとき、或いは振り分け手段から全ての前記入力データファイルの振り分けが終了したことが通知されたとき、前記AP処理スレッドに処理を要求する手段と、
    前記振り分けスレッドから対応付けられた全ての前記入力データファイルの振り分けが終了したことが通知されたとき、振り分けスレッドが対応付けられていない前記入力データファイルに振り分けスレッドを対応付ける手段とを含み、
    前記振り分けスレッドに、
    対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分ける振り分け手段を含み、
    前記AP処理スレッドに、
    前記データキューから入力データを入力してAP処理を行うAP処理手段を含む、
    ことを特徴とする並列バッチ処理方式。
  2. 前記サーバ装置は、
    前記AP処理スレッドが参照するデータベースを前記AP処理スレッドに1対1に対応付けて備える、
    ことを特徴とする請求項記載の並列バッチ処理方式。
  3. サーバ装置と複数のクライアント端末とを備え、前記サーバ装置が前記クライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方法であって、
    前記クライアント端末は、
    前記クライアント端末に1対1に対応づけられた入力データファイル群中の入力データファイルに入力データを格納し、
    前記サーバ装置のリーダースレッドに処理要求を行い、
    前記リーダースレッドは、
    前記クライアント端末からの処理要求を受け付け、
    動作情報ファイルに登録されている最大振り分けスレッド数と同数の振り分けスレッドを起動し、
    処理種類情報ファイルに登録されている入力データファイルの処理の種類と同数のAP処理スレッドを起動し、
    1つの前記入力データファイル1つの前記振り分けスレッドとを対応付け、
    前記振り分けスレッドに振り分け処理を要求し、
    前記振り分けスレッドは、
    対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分け、
    振り分けたデータ件数を前記リーダースレッドに通知し、
    前記リーダースレッドは、
    前記振り分けスレッドから通知された振り分けデータ件数を合計した値が動作情報ファイルに登録されている最大処理件数を超えたとき前記AP処理スレッドに処理を要求し、
    前記AP処理スレッドは、
    前記データキューから入力データを入力してAP処理を行い、
    前記AP処理スレッドが行うAP処理の実行と並列に、
    前記リーダースレッドは、
    前記振り分けスレッドに未処理の前記入力データファイルを対応付け、
    前記振り分けスレッドに振り分け処理を要求し、
    前記振り分けスレッドは、
    前記入力データファイルを参照して入力データをデータキューへ振り分けを行う、
    ことを特徴とする並列バッチ処理方法。
  4. 前記AP処理スレッドは、
    前記AP処理スレッドに1対1に対応付けられたデータベースを参照する、
    ことを特徴とする請求項記載の並列バッチ処理方法。
  5. サーバ装置がクライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方式のサーバ装置であって、
    最大処理件数と最大振り分けスレッド数とを含む動作情報ファイルと、
    前記クライアント端末が前記クライアント端末に1対1に対応づけられた入力データファイル群中の、入力データを格納した入力データファイルを処理する内容の種類(処理種類)を登録している処理種類情報ファイルとを備え、
    前記サーバ装置内での処理を並列に実行することができ、その並列実行の実行単位であるリーダースレッド,前記最大振り分けスレッド数と同数の振り分けスレッド,および前記処理種類と同数のAP処理スレッドを含み、
    前記リーダースレッドに、
    前記クライアント端末からの処理要求を受け付ける要求受付手段と、
    前記振り分けスレッドを起動する振り分けスレッド起動手段と、
    1つの前記入力データファイル1つの前記振り分けスレッドとを対応付ける手段と、
    前記AP処理スレッドを起動するAP処理スレッド起動手段と、
    前記振り分けスレッドから通知される振り分けデータ件数を合計した値が前記最大処理件数を超えたとき、或いは振り分け手段から全ての前記入力データファイルの振り分けが終了したことが通知されたとき、前記AP処理スレッドに処理を要求する手段と、
    前記振り分けスレッドから対応付けられた全ての前記入力データファイルの振り分けが終了したことが通知されたとき、振り分けスレッドが対応付けられていない前記入力データファイルに振り分けスレッドを対応付ける手段とを含み、
    前記振り分けスレッドに、
    対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分ける振り分け手段を含み、
    前記AP処理スレッドに、
    前記データキューから入力データを入力してAP処理を行うAP処理手段を含む、
    ことを特徴とするサーバ装置。
  6. 前記AP処理スレッドが参照するデータベースを前記AP処理スレッドに1対1に対応付けて備える、
    ことを特徴とする請求項記載のサーバ装置。
  7. サーバ装置がクライアンント端末からの処理要求を受け付けて処理を実行する並列バッチ処理方式におけるサーバ装置のプログラムであって、
    サーバ装置に、
    リーダースレッドが、前記クライアント端末からの処理要求を受け付ける機能、動作情報ファイルに登録されている最大振り分けスレッド数と同数の振り分けスレッドを起動する機能、前記クライアント端末に1対1に対応づけられた入力データファイル群と振り分けスレッドとを対応付ける機能、1つの前記入力データファイル群と1つの前記振り分けスレッドとを対応付ける機能、処理種類情報ファイルに登録されている入力データファイルの処理の種類と同数のAP処理スレッドを起動する機能、振り分けスレッドから通知される振り分けデータ件数を合計した値が動作情報ファイルに登録されている最大処理件数を超えたとき或いは振り分けスレッドから全ての前記入力データファイルの振り分けが終了したことが通知されたときAP処理スレッドに処理を要求する機能、振り分けスレッドから対応付けられた全ての前記入力データファイルの振り分けが終了したことが通知されたとき振り分けスレッドが対応付けられていない前記入力データファイルに振り分けスレッドを対応付ける機能、
    振り分けスレッドが、対応付けられた前記入力データファイルを参照して入力データをデータキューへ振り分ける機能、
    AP処理スレッドが、前記データキューから入力データを入力してAP処理を行う機能、
    前記リーダースレッド,前記振り分けスレッド,および前記AP処理スレッドを並列に実行する機能、
    を実現させるためのプログラム。
  8. 前記AP処理スレッドが前記AP処理スレッドに1対1に対応付けられているデータベー
    スを参照する機能、
    を実現させるための請求項記載のプログラム。
JP2005074661A 2005-03-16 2005-03-16 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム Expired - Fee Related JP4127273B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005074661A JP4127273B2 (ja) 2005-03-16 2005-03-16 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005074661A JP4127273B2 (ja) 2005-03-16 2005-03-16 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2006259981A JP2006259981A (ja) 2006-09-28
JP4127273B2 true JP4127273B2 (ja) 2008-07-30

Family

ID=37099187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005074661A Expired - Fee Related JP4127273B2 (ja) 2005-03-16 2005-03-16 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム

Country Status (1)

Country Link
JP (1) JP4127273B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262355A (ja) 2009-04-30 2010-11-18 Nec Corp 多段オンライントランザクションシステム、サーバ、トランザクションデータの入出力方法とそのプログラム
JP5494021B2 (ja) * 2010-03-04 2014-05-14 日本電気株式会社 サーバ装置、情報処理方法、及び、プログラム
US10459778B1 (en) * 2018-07-16 2019-10-29 Microsoft Technology Licensing, Llc Sending messages between threads

Also Published As

Publication number Publication date
JP2006259981A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
US20240040006A1 (en) Provisioning multiple network resources
US6886084B2 (en) Storage controlling device and control method for a storage controlling device
JP5512215B2 (ja) ジョブ処理システム及びその方法、そのプログラム
CN112835714B (zh) 云边环境中面向cpu异构集群的容器编排方法、系统及介质
US20210406102A1 (en) Method and apparatus for providing asynchronicity to microservice application programming interfaces
US9262241B2 (en) Computer system, computer-implemented method and computer program product for sequencing incoming messages for processing at an application
US20230153136A1 (en) Robotic process automation system with device user impersonation
US20160132357A1 (en) Data staging management system
WO2020034194A1 (zh) 分布式数据处理方法、装置及系统和机器可读介质
CN110532106A (zh) 进程间的通讯方法、装置、设备和存储介质
JP4127273B2 (ja) 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム
CN112087520A (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN114897511A (zh) 基于rpa技术的业务流程调度处理方法及系统
JP6069503B2 (ja) 系列データ並列分析基盤およびその並列分散処理方法
CN113177179A (zh) 数据请求连接管理方法、装置、设备及存储介质
CN112328392A (zh) 一种数据处理方法及相关设备
CN111353766A (zh) 分布式业务系统的业务流程处理系统及方法
CN116226178A (zh) 一种数据查询方法、装置、存储介质及电子装置
JP2001229058A (ja) データベースサーバ処理方法
CN109213586A (zh) 一种任务的调度方法及装置
CN111813575B (zh) 一种基于容器服务的定制化清理方法及系统
CN110764903B (zh) 弹性执行热容器方法、装置、设备和存储介质
US20150331828A1 (en) Computer-implemented gateway
JPH08235112A (ja) 計算機システムの分散ジョブ管理方式
CN113159621A (zh) 一种企业外包服务资源管理平台

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080422

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

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4127273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees