(57)【要約】【課題】オンライン処理とバッチ処理との間で有効にリソースの競合を回避してオンライン処理の遅延を抑制する並行処理システムなどを提供する。【解決手段】オンライン処理装置１０とバッチ処理装置２０と共有データベース３０１を有するデータベースサーバ３０とが相互に接続されて構成される並行処理システムで、オンライン処理装置は、共有データベースに対してオンライン処理を実行するオンライン処理部１１１と、オンライン処理部が特定のリソースを利用する可能性のあるＩＮ状態に遷移したらＩＮ通知を発信するオンライン処理状態通知部１１２とを有する。バッチ処理装置は、共有データベースに対してバッチ処理を実行するバッチ処理部２１１と、ＩＮ通知を受信するオンライン処理状態受信部２１３と、ＩＮ通知に反応してその特定のリソースを利用する処理の実行をバッチ処理部に一時停止させるバッチ処理調整部２１２とを有する。【選択図】図１
2010218268.tif 000002
【特許請求の範囲】
【請求項１】
オンライン利用者端末からユーザによる処理要求を受信し、前記処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムであって、
前記オンライン処理装置が、前記共有データベースに対して前記オンライン処理を実行するオンライン処理部と、前記オンライン処理部が前記共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したら前記バッチ処理装置にＩＮ通知を発信するオンライン処理状態通知部とを有し、
前記バッチ処理装置が、前記共有データベースに対して前記バッチ処理を実行するバッチ処理部と、前記ＩＮ通知を受信するオンライン処理状態受信部と、前記ＩＮ通知を受信したことに反応して、前記オンライン処理部が利用する可能性のある前記特定のリソースを利用する処理の実行を前記バッチ処理部に一時停止させるバッチ処理調整部とを有することを特徴とする並行処理システム。
【請求項２】
前記オンライン処理装置の前記オンライン処理状態通知部に、あらかじめ与えられた前記ＩＮ状態に該当する処理状態とこれに対応する前記特定のリソースとの組を定義するオンライン処理定義が付属しており、
前記オンライン処理状態通知部が、前記オンライン処理部の処理状態が前記オンライン処理定義に定義されていれば前記バッチ処理装置にＩＮ通知を発信する機能を有することを特徴とする、請求項１に記載の並行処理システム。
【請求項３】
前記オンライン処理装置の前記オンライン処理状態通知部が、前記オンライン処理部が前記ＩＮ状態ではない状態であるＯＵＴ状態に遷移したら前記バッチ処理装置にＯＵＴ通知を発信する機能を有し、
前記バッチ処理装置の前記バッチ処理調整部が、前記ＯＵＴ通知を受信したことに反応して、一時停止していた前記特定のリソースを利用する処理の実行を前記バッチ処理部に再開させる機能を有することを特徴とする、請求項１に記載の並行処理システム。
【請求項４】
前記オンライン処理装置の前記オンライン処理状態通知部に、時間の経過をカウントするタイマーが付属しており、
前記オンライン処理状態通知部が、前記特定のリソースがＩＮ状態に遷移したら前記タイマーに所定の時間の経過をカウントさせ、前記所定の時間が経過したら前記特定のリソースを強制的に前記ＩＮ状態ではない状態に遷移させる機能を有することを特徴とする、請求項１に記載の並行処理システム。
【請求項５】
前記オンライン処理装置の前記オンライン処理状態通知部に、前記オンライン処理部で発生する各処理状態に与えられるＩＤごとに数値をカウントするカウンタが付属しており、
前記オンライン処理状態通知部が、前記特定のリソースが前記ＩＮ状態となった時に前記ＩＤに対応する前記カウンタに１を加算する機能を有することを特徴とする、請求項１に記載の並行処理システム。
【請求項６】
前記オンライン処理装置の前記オンライン処理状態通知部が、前記特定のリソースが前記ＩＮ状態となった時に前記ＩＤに対応する前記カウンタの数値が０である場合に前記バッチ処理装置にＩＮ通知を発信し、その後に前記カウンタに１を加算する機能を有することを特徴とする、請求項５に記載の並行処理システム。
【請求項７】
前記オンライン処理装置の前記オンライン処理状態通知部が、前記特定のリソースが前記ＩＮ状態ではなくなった時に前記ＩＤに対応する前記カウンタから１を減算し、前記カウンタの数値が０になった場合に前記バッチ処理装置にＯＵＴ通知を発信する機能を有し、
前記バッチ処理装置の前記バッチ処理調整部が、前記ＯＵＴ通知を受信したことに反応して、一時停止していた前記特定のリソースを利用する処理の実行を前記バッチ処理部に再開させる機能を有することを特徴とする、請求項５に記載の並行処理システム。
【請求項８】
前記バッチ処理装置の前記バッチ処理調整部が、前記ＩＮ通知の対象となるリソースの一覧であるオンライン処理実行中リストを作成する実行中リスト作成手段と、前記オンライン処理実行中リストにあるリソースを利用する処理を前記バッチファイルから抽出するリソース抽出手段と、抽出された処理の実行を前記バッチ処理部に一時停止させる処理一時停止手段とを有することを特徴とする、請求項１に記載の並行処理システム。
【請求項９】
前記オンライン処理装置が複数台のコンピュータ装置で構成されると共に、前記複数台のコンピュータ装置に処理要求を分配する負荷分散部を有することを特徴とする、請求項１に記載の並行処理システム。
【請求項１０】
前記オンライン処理装置が、前記オンライン処理のソースコードの内容を解析して前記ＩＮ状態に該当する処理状態とこれに対応する前記特定のリソースとの組を定義するオンライン処理定義を生成するオンライン処理解析部を有し、
前記バッチ処理装置が、前記バッチ処理のソースコードの内容を解析して各処理段階に対応する処理状態とこれに対応する前記特定のリソースとの組を定義するバッチ処理リソース定義を生成するバッチ処理解析部を有することを特徴とする、請求項１に記載の並行処理システム。
【請求項１１】
オンライン利用者端末からユーザによる処理要求を受信して前記処理要求に基づくオンライン処理を行うオンライン処理装置であって、
あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置および前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、
前記共有データベースに対して前記オンライン処理を実行するオンライン処理部と、
前記オンライン処理部が前記共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したら前記バッチ処理装置にＩＮ通知を発信するオンライン処理状態通知部とを有することを特徴とするオンライン処理装置。
【請求項１２】
あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置であって、
オンライン利用者端末からユーザによる処理要求を受信して前記処理要求に基づくオンライン処理を行うオンライン処理装置および前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、
前記共有データベースに対して前記バッチ処理を実行するバッチ処理部と、
前記オンライン処理装置からＩＮ通知を受信するオンライン処理状態受信部と、
前記ＩＮ通知を受信したことに反応して、前記オンライン処理部が利用する可能性のある前記特定のリソースを利用する処理の実行を前記バッチ処理部に一時停止させるバッチ処理調整部とを有することを特徴とするバッチ処理装置。
【請求項１３】
オンライン利用者端末からユーザによる処理要求を受信し、前記処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、前記オンライン処理と前記バッチ処理とを並行して処理する方法であって、
前記オンライン処理装置のオンライン処理部が、前記共有データベースに対して前記オンライン処理を実行し、
前記オンライン処理装置のオンライン処理状態通知部が、前記オンライン処理部が前記共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したか否かを判断し、
前記ＩＮ状態に遷移したら前記オンライン処理状態通知部が前記バッチ処理装置にＩＮ通知を発信し、
前記バッチ処理装置のオンライン処理状態受信部が前記ＩＮ通知を受信し、
前記バッチ処理装置のバッチ処理調整部が前記ＩＮ通知を受信したことに反応して、前記オンライン処理部が利用する可能性のある前記特定のリソースを利用する処理の実行を前記バッチ処理を実行するバッチ処理部に一時停止させることを特徴とする並行処理方法。
【請求項１４】
オンライン利用者端末からユーザによる処理要求を受信し、前記処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、
前記オンライン処理装置が備えるコンピュータに、
前記共有データベースに対して前記オンライン処理を実行する手順と、
前記共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したか否かを判断する手順と、
前記ＩＮ状態に遷移したら前記オンライン処理状態通知部が前記バッチ処理装置にＩＮ通知を発信する手順とを実行させることを特徴とする並行処理プログラム。
【請求項１５】
オンライン利用者端末からユーザによる処理要求を受信し、前記処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、
前記バッチ処理装置が備えるコンピュータに、
前記バッチファイルに定義された内容に基づいて前記バッチ処理を行う手順と、
前記オンライン利用者端末からＩＮ通知を受信する手順と、
前記ＩＮ通知を受信したことに反応して、前記オンライン処理部が利用する可能性のある前記特定のリソースを利用する処理の実行を前記バッチ処理を実行するバッチ処理部に一時停止させる手順とを実行させることを特徴とする並行処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通のデータベースを利用するオンライン処理とバッチ処理とを並行して処理する並行処理システムに関し、特にオンライン処理とバッチ処理との間のリソースの競合の防止に関する。
【背景技術】
【０００２】
販売、物流などに関する各種業務システムは、かつては店舗の営業中である昼間にオンラインで動作し、オンラインで処理できない一括処理を夜間にオンライン処理を停止させてバッチ処理で行っていた。しかしながら、店舗が２４時間営業となり、さらにインターネット販売なども普及したのに伴い、バッチ処理を行うためにオンライン処理を停止させる時間帯を設けることが困難になっている。そこで、オンライン処理とバッチ処理とを並行して動作させることが可能な並行処理システムが求められている。
【０００３】
図１０は、特許文献１〜２に記載された、オンライン処理とバッチ処理とを並行して動作させることが可能な並行処理システム７０１の構成を示す説明図である。並行処理システム７０１は、異なる２台のコンピュータ装置であるオンライン処理装置７１０とバッチ処理装置７２０、およびこれらの装置によって共有される大容量記憶装置であるデータベースサーバ７３０とが相互に接続されて構成される。
【０００４】
オンライン処理装置７１０はさらに、通信回線を通じてユーザが処理要求を送信するオンライン利用者端末７４０と接続されている。バッチ処理装置７２０は、通信回線を通じてバッチファイルを送信するバッチ利用者装置７５０と接続されている。オンライン利用者端末７４０およびバッチ利用者装置７５０は、いずれもコンピュータ装置である。
【０００５】
オンライン処理装置７１０は、コンピュータプログラムを実行する主体であるＣＰＵ（Central Processing Unit）７１１と、通信インターフェイス７１２とを備える。ＣＰＵ７１１では、オンライン処理部７１１ａが、コンピュータプログラムとして実行される。
【０００６】
バッチ処理装置７２０は、コンピュータプログラムを実行する主体であるＣＰＵ７２１と、データを一時的に記憶するＲＡＭ（Random Access Memory）７２２と、通信インターフェイス７２３とを備える。ＣＰＵ７２１では、バッチ処理部７２１ａと、バッチ制御部７２１ｂと、監視部７２１ｃとが、コンピュータプログラムとして実行される。ＲＡＭ７２２には、パラメータ７２２ａが記憶される。
【０００７】
データベースサーバ７３０は、オンライン処理装置７１０とバッチ処理装置７２０とが共通して利用し、処理を行う対象である共有データベース７３１を有する。
【０００８】
監視装置７２１ｃは、オンライン処理部７１１ａの共有データベース７３１に対する動作を監視し、その負荷状況や応答時間によってバッチ制御部７２１ｂに制御情報を送る。バッチ制御部７２１ｂは、静的もしくは動的に決定付けられたパラメータ７２２ａに基づいて、バッチ処理のコミット間隔を調整するなど、バッチ処理部７２１ａの共有データベース７３１に対する動作を制限させるよう制御する。
【０００９】
並行処理システムについて、これ以外には次の技術文献がある。特許文献３には、バッチ処理が開始されたことをオンライン処理装置側に通知し、利用者にオンライン処理を強制的に終了するよう促す画面を表示し、バッチ処理の動作を速やかに開始できるようにするという技術が記載されている。特許文献４には、クライアントからの指示があった際に、先に非同期的に（バッチ処理で）実行した結果があればそれを返すという業務処理システムが記載されている。
【００１０】
特許文献５には、仮想計算機で競合リソースのロック待ち状態になったことを仮想計算機モニタに通知し、優先度の高い処理に該リソースを明け渡すという技術が記載されている。そして特許文献６には、オフライン処理（バッチ処理）を実行可能な時間を調整してオンライン処理との競合を少なくするという技術が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００３−０８５１３３号公報
【特許文献２】特開２００４−２８０４５７号公報
【特許文献３】特開２００１−０１４２７４号公報
【特許文献４】特開２０００−２０７３５８号公報
【特許文献５】特開平０１−２４６６３６号公報
【特許文献６】特開平１０−２４７１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
オンライン処理とバッチ処理とが共通の共有データベースを利用する並行処理システムでは、バッチ処理が共有データベースを更新することに伴って該共有データベースを排他処理すると、オンライン処理が妨げられ、その結果としてオンライン処理のレスポンスの遅延が発生する。
【００１３】
そのため、時間帯に応じてバッチ処理のコミット間隔を調整することが一般的に行われていた。より具体的には、オンライン処理の発生する頻度の高い時間帯にはバッチ処理のコミット間隔を短くして、これによってオンライン処理が待たされる時間を短くしてレスポンス悪化の影響を抑制する。逆に、深夜などオンライン処理の発生する頻度の低い時間帯にはコミット間隔を長くして、バッチ処理を高速に処理することを可能にする。
【００１４】
図１０に記載した（特許文献１〜２に記載の）並行処理システム７０１では、これをさらに進めて、オンライン処理に係る負荷状態を監視してバッチ処理の動作を制限した。しかしながら、これらの技術のように時間帯や負荷状態などに応じてバッチ処理の動作を制限するという手法では、バッチ処理のコミット間隔を短くしたとしても、その間のオンライン処理は確実に待機させられる。このため、突発的に発生するオンライン処理でレスポンスの遅延を回避するには有効ではない。
【００１５】
また、特許文献３に記載の技術では、オンライン処理装置側で利用者にオンライン処理を強制的に終了するよう促すメッセージを出しても、そのことをバッチ処理装置側では利用者が都度確認することはできないので、オンライン処理を優先的に処理させたい場合には有効ではない。特許文献４に記載の技術では、先に非同期的に（バッチ処理で）実行した結果があればそれを返すということであるので、オンライン処理を優先的に処理させるというものではない。その他の特許文献５〜６にも、オンライン処理とバッチ処理との間のリソースの競合に起因する上記の問題について解決しうる技術は記載されていない。
【００１６】
本発明の目的は、オンライン処理とバッチ処理との間で同一リソースへの処理が競合する場合に、オンライン処理の遅延を抑制することを可能とする並行処理システム、オンライン処理装置、バッチ処理装置、並行処理方法、および並行処理プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明に係る並行処理システムは、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムであって、オンライン処理装置が、共有データベースに対してオンライン処理を実行するオンライン処理部と、オンライン処理部が共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したらバッチ処理装置にＩＮ通知を発信するオンライン処理状態通知部とを有し、バッチ処理装置が、共有データベースに対してバッチ処理を実行するバッチ処理部と、ＩＮ通知を受信するオンライン処理状態受信部と、ＩＮ通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理部に一時停止させるバッチ処理調整部とを有することを特徴とする。
【００１８】
上記目的を達成するため、本発明に係るオンライン処理装置は、オンライン利用者端末からユーザによる処理要求を受信して処理要求に基づくオンライン処理を行うオンライン処理装置であって、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置およびオンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、共有データベースに対してオンライン処理を実行するオンライン処理部と、オンライン処理部が共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したらバッチ処理装置にＩＮ通知を発信するオンライン処理状態通知部とを有することを特徴とする。
【００１９】
上記目的を達成するため、本発明に係るバッチ処理装置は、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置であって、オンライン利用者端末からユーザによる処理要求を受信して処理要求に基づくオンライン処理を行うオンライン処理装置およびオンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、共有データベースに対してバッチ処理を実行するバッチ処理部と、オンライン処理装置からＩＮ通知を受信するオンライン処理状態受信部と、ＩＮ通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理部に一時停止させるバッチ処理調整部とを有することを特徴とする。
【００２０】
上記目的を達成するため、本発明に係る並行処理方法は、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、オンライン処理とバッチ処理とを並行して処理する方法であって、オンライン処理装置のオンライン処理部が、共有データベースに対してオンライン処理を実行し、オンライン処理装置のオンライン処理状態通知部が、オンライン処理部が共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したか否かを判断し、ＩＮ状態に遷移したらオンライン処理状態通知部がバッチ処理装置にＩＮ通知を発信し、バッチ処理装置のオンライン処理状態受信部がＩＮ通知を受信し、バッチ処理装置のバッチ処理調整部がＩＮ通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理を実行するバッチ処理部に一時停止させることを特徴とする。
【００２１】
上記目的を達成するため、本発明に係る並行処理プログラムは、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、オンライン処理装置が備えるコンピュータに、共有データベースに対してオンライン処理を実行する手順と、共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したか否かを判断する手順と、ＩＮ状態に遷移したらオンライン処理状態通知部がバッチ処理装置にＩＮ通知を発信する手順とを実行させることを特徴とする。
【００２２】
上記目的を達成するため、本発明に係る他の並行処理プログラムは、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、バッチ処理装置が備えるコンピュータに、バッチファイルに定義された内容に基づいてバッチ処理を行う手順と、オンライン利用者端末からＩＮ通知を受信する手順と、ＩＮ通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理を実行するバッチ処理部に一時停止させる手順とを実行させることを特徴とする。
【発明の効果】
【００２３】
本発明は、上述したように、バッチ処理の中でオンライン処理に使用される可能性のあるリソースを使用する処理の実行を一時停止するように構成したので、同一リソースへの処理が競合する場合にもこの競合を回避することができる。これによって、オンライン処理の遅延を抑制することが可能であるという、優れた特徴を持つ並行処理システム、オンライン処理装置、バッチ処理装置、並行処理方法、および並行処理プログラムを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係る並行処理システムの構成を示す説明図である。
【図２】図１で示したバッチ処理リソース定義の定義内容の一例を示す説明図である。
【図３】図１で示したオンライン処理定義の定義内容の一例を示す説明図である。
【図４】図１で示したオンライン処理実行中リストの記録内容の一例を示す説明図である。
【図５】図１で示したオンライン処理状態通知部が実行する処理を表すフローチャートである。
【図６】図１で示したバッチ処理調整部が実行する処理を表すフローチャートである。
【図７】本発明の第２の実施形態に係る並行処理システムの構成を示す説明図である。
【図８】本発明の第３の実施形態に係る並行処理システムの構成を示す説明図である。
【図９】本発明の第４の実施形態に係る並行処理システムの構成を示す説明図である。
【図１０】特許文献１〜２に記載された、オンライン処理とバッチ処理とを並行して動作させることが可能な並行処理システムの構成を示す説明図である。
【発明を実施するための形態】
【００２５】
（第１の実施形態）
以下、本発明の第１の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る並行処理システム１は、オンライン利用者端末４０からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置１０と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置２０と、オンライン処理およびバッチ処理が行われる対象である共有データベース３０１を有するデータベースサーバ３０とが相互に接続されて構成される並行処理システムである。オンライン処理装置１０は、共有データベースに対してオンライン処理を実行するオンライン処理部１１１と、オンライン処理部が共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したらバッチ処理装置にＩＮ通知を発信するオンライン処理状態通知部１１２とを有する。バッチ処理装置２０は、共有データベースに対してバッチ処理を実行するバッチ処理部２１１と、ＩＮ通知を受信するオンライン処理状態受信部２１３と、ＩＮ通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理部に一時停止させるバッチ処理調整部２１２とを有する。
【００２６】
また、オンライン処理装置１０のオンライン処理状態通知部１１２に、あらかじめ与えられたＩＮ状態に該当する処理状態とこれに対応する特定のリソースとの組を定義するオンライン処理定義１１３が付属しており、オンライン処理状態通知部１１２は、オンライン処理部の処理状態がこのオンライン処理定義に定義されていればバッチ処理装置にＩＮ通知を発信する。
【００２７】
このオンライン処理状態通知部１１２は、オンライン処理部がＩＮ状態ではない状態であるＯＵＴ状態に遷移したらバッチ処理装置にＯＵＴ通知を発信する機能を有し、バッチ処理装置２０のバッチ処理調整部２１２は、このＯＵＴ通知を受信したことに反応して、一時停止していた特定のリソースを利用する処理の実行をバッチ処理部に再開させる。
【００２８】
さらにオンライン処理状態通知部１１２には、時間の経過をカウントするタイマー１１４が付属している。オンライン処理状態通知部１１２は、特定のリソースがＩＮ状態に遷移したらタイマーに所定の時間の経過をカウントさせ、所定の時間が経過したら特定のリソースを強制的にＩＮ状態ではない状態に遷移させる。
【００２９】
また、オンライン処理状態通知部１１２には、オンライン処理部で発生する各処理状態に与えられるＩＤごとに数値をカウントするカウンタ１１５が付属している。オンライン処理状態通知部１１２は、特定のリソースがＩＮ状態となった時にＩＤに対応するカウンタに１を加算する。さらにオンライン処理状態通知部１１２は、特定のリソースがＩＮ状態となった時にＩＤに対応するカウンタの数値が０である場合にバッチ処理装置２０にＩＮ通知を発信し、その後にカウンタに１を加算する。
【００３０】
そしてオンライン処理状態通知部１１２は、特定のリソースがＩＮ状態ではなくなった時にＩＤに対応するカウンタから１を減算し、カウンタの数値が０になった場合にバッチ処理装置にＯＵＴ通知を発信する。バッチ処理装置のバッチ処理調整部２１２は、ＯＵＴ通知を受信したことに反応して、一時停止していた特定のリソースを利用する処理の実行をバッチ処理部２１１に再開させる。
【００３１】
一方、バッチ処理装置２０のバッチ処理調整部２１２は、ＩＮ通知の対象となるリソースの一覧であるオンライン処理実行中リストを作成する実行中リスト作成手段２１２ａと、オンライン処理実行中リストにあるリソースを利用する処理をバッチファイルから抽出するリソース抽出手段２１２ｂと、抽出された処理の実行をバッチ処理部に一時停止させる処理一時停止手段２１２ｃとを有する。
【００３２】
以上の構成を備えることにより、オンライン処理とバッチ処理との間で有効にリソースの競合を回避できる。
以下、これをより詳細に説明する。
【００３３】
図１は、本発明の第１の実施形態に係る並行処理システム１の構成を示す説明図である。並行処理システム１は、異なる２台のコンピュータ装置であるオンライン処理装置１０とバッチ処理装置２０、およびこれらの装置によって共有される大容量記憶装置であるデータベースサーバ３０とが相互に接続されて構成される。
【００３４】
オンライン処理装置１０はさらに、通信回線を通じてユーザが処理要求を送信するオンライン利用者端末４０と接続されている。バッチ処理装置２０は、通信回線を通じてバッチファイルを送信するバッチ利用者装置５０と接続されている。オンライン利用者端末４０およびバッチ利用者装置５０は、いずれもコンピュータ装置であり、またいずれも１台以上何台でもよい。
【００３５】
オンライン処理装置１０は、コンピュータプログラムを実行する主体であるＣＰＵ１０１と、ＣＰＵ１０１が実行するコンピュータプログラムおよび処理する対象であるデータが記憶されているＨＤＤ（Hard Disk Drive）１０２と、ＣＰＵ１０１がＨＤＤ１０２から読み込んだプログラムおよびデータが一時的に記憶されるＲＡＭ１０３と、通信回線を通じて他のコンピュータと通信を行う通信インターフェイス１０４とを備える。
【００３６】
ＣＰＵ１０１では、オンライン処理部１１１と、オンライン処理状態通知部１１２と、タイマー１１４と、カウンタ１１５とが、ＨＤＤ１０２から読み出されてＲＡＭ１０３に記憶され、コンピュータプログラムとして実行される。さらに、予め定められた定義データであるオンライン処理定義１１３も、ＨＤＤ１０２から読み出されてＲＡＭ１０３に記憶され、オンライン処理状態通知部１１２が実行中にこれを参照する。
【００３７】
バッチ処理装置２０も、オンライン処理装置１０と同様に、ＣＰＵ２０１と、ＨＤＤ２０２と、ＲＡＭ２０３と、通信インターフェイス２０４とを備える。これらの各々の機能は、オンライン処理装置１０の同名の各機能部と同一である。
【００３８】
ＣＰＵ２０１では、バッチ処理部２１１と、バッチ処理調整部２１２と、オンライン処理状態受信部２１３とが、ＨＤＤ２０２から読み出されてＲＡＭ２０３に記憶され、コンピュータプログラムとして実行される。さらに、予め定められた定義データであるバッチ処理リソース定義２１４およびバッチファイル２１５も、ＨＤＤ２０２から読み出されてＲＡＭ２０３に記憶され、バッチ処理調整部２１２が実行中にこれを参照する。オンライン処理実行中リスト２１６は、バッチ処理調整部２１２が一時的に作成するデータであるが、これについて詳しくは後述する。
【００３９】
データベースサーバ３０は、オンライン処理装置１０とバッチ処理装置２０とが共通して利用する共有データベース３０１を有する。オンライン処理装置１０のオンライン処理部１１１、およびバッチ処理装置２０のバッチ処理部２１１は、各々通信回線を介して共有データベース３０１にアクセスして、そこに含まれるデータを利用し、各々の処理を行うことができる。
【００４０】
オンライン処理部１１１は、オンライン利用者端末４０から処理要求を受信し、この処理要求に応じて共有データベース３０１にアクセスして処理を行い、その結果をオンライン利用者端末４０に返す。オンライン処理状態通知部１１２は、オンライン処理部１１１の動作状態を監視して、オンライン処理定義１１３に定義された処理が行われたか否かを監視する。定義された処理が行われた場合は、その旨をバッチ処理装置２０のオンライン処理状態受信部２１３に通知する。
【００４１】
タイマー１１４は、オンライン処理状態通知部１１２からの指示によって動作し、指定された時間が経過したらその旨をオンライン処理状態通知部１１２に通知する。カウンタ１１５は、オンライン処理状態通知部１１２からの指示によって動作し、後述の状態ＩＤごとに数値をカウントする。なお、図１ではタイマー１１４およびカウンタ１１５はソフトウェア的に実現されるものとしたが、ハードウェア的に実現されるようにしてもよい。
【００４２】
一方、バッチ利用者装置５０は、端末装置（図示せず）から処理内容を集配してバッチファイル２１５を作成し、このバッチファイル２１５をバッチ処理装置２０に送信する。バッチ処理装置２０は、バッチファイル２１５に定義された内容に従って共有データベース３０１にアクセスして処理を行い、その結果をバッチ利用者装置５０に返す。なお、バッチ処理の要求元および出力先、そしてそれらにデータを集配信する形式については様々なものが存在するが、それらの形式の違いについては本発明では特に問題としない。
【００４３】
バッチ処理部２１１は、バッチ利用者装置５０からバッチファイル２１５を受信してＨＤＤ２０２に保存し、この内容に従ってバッチ処理を行う。オンライン処理状態受信部２１３は、オンライン処理状態通知部１１２からオンライン処理部１１１の動作状態についての通知を受ける。
【００４４】
バッチ処理調整部２１２は、さらに実行中リスト作成手段２１２ａ、リソース抽出手段２１２ｂ、処理一時停止手段２１２ｃといった各機能部を有する。実行中リスト作成手段２１２ａは、オンライン処理状態通知部１１２から実行中であるという旨の通知を受けたリソースの一覧を、オンライン処理実行中リスト２１６として作成し、ＲＡＭ２０３に一時的に記憶する。リソース抽出手段２１２ｂは、バッチファイル２１５の中から、オンライン処理実行中リスト２１６にあるリソースを使用する処理を全て抽出する。
【００４５】
そして処理一時停止手段２１２ｃは、リソース抽出手段２１２ｂが抽出した処理を一時的に停止させ、使わない処理だけをバッチ処理部２１１に実行させる。また、該当するリソースが使用可能になったら、一時停止されていた処理をバッチ処理部２１１に再開させる機能も有する。
【００４６】
図２は、図１で示したバッチ処理リソース定義２１４の定義内容の一例を示す説明図である。バッチ処理リソース定義２１４は、各処理に与えられるＩＤである処理ＩＤ２１４ａと、該処理が利用するリソースである要求リソース２１４ｂとで定義される。
【００４７】
図３は、図１で示したオンライン処理定義１１３の定義内容の一例を示す説明図である。オンライン処理定義１１３は、オンライン処理部１１１で発生する各処理状態に与えられるＩＤである状態ＩＤ１１３ａと、このうちリソース占有要求可能状態になりえる状態遷移（以後ＩＮ遷移という）であるＩＮ遷移１１３ｂと、リソース占有要求不可状態に遷移する状態遷移（以後ＯＵＴ遷移という）であるＯＵＴ遷移１１３ｃと、これに該当するリソースである要求リソース１１３ｄとで定義される。
【００４８】
ここでいうＩＮ状態およびＯＵＴ状態について、さらに説明する。１つのデータベースはデータを格納する１つ以上のテーブルによって構成される。共有データベース３０１に対して行われる処理は、オンライン処理とバッチ処理のいずれにおいても、特定のテーブル、もしくはそのテーブルの中の特定の行もしくは列に対して、そこに格納されたデータを操作することによって行われる。ここでいうリソースとは、データベース内の特定のテーブル、もしくはそのテーブルの中の特定の行、列、セルなどの形で表される。
【００４９】
以後本明細書では、オンライン利用者端末４０のうち１台以上がオンライン処理装置１０上で動作させているクライアントセッションが共有リソース（即ち共有データベース３０１）の占有を要求する可能性がある、言い換えれば共有リソースにアクセスする可能性がある状態をＩＮ状態といい、そうでない状態をＯＵＴ状態という。そしてＯＵＴ状態からＩＮ状態に遷移することをＩＮ遷移、その逆をＯＵＴ遷移という。さらに、共有リソースがＩＮ状態になった旨をオンライン処理状態通知部１１２がオンライン処理状態受信部２１３に通知することをＩＮ通知、ＯＵＴ状態になった旨を通知することをＯＵＴ通知という。
【００５０】
オンライン処理とバッチ処理とで同一のリソースへの処理が競合すると、前述のような不都合が生じるので、オンライン処理状態通知部１１２は共有データベース３０１において特定のリソース（テーブル、行、列、セルなど）がＩＮ状態であるか（ＩＮ遷移したか）否かを監視し、ＩＮ遷移したならオンライン処理状態受信部２１３にＩＮ通知を行う。
【００５１】
図４は、図１で示したオンライン処理実行中リスト２１６の記録内容の一例を示す説明図である。バッチ処理調整部２１２は、オンライン処理状態通知部１１２からＩＮ通知を受けると、このＩＮ通知の対象となった状態ＩＤ１１３ａと要求リソース１１３ｄとをオンライン処理実行中リスト２１６に記録する。
【００５２】
図５は、図１で示したオンライン処理状態通知部１１２が実行する処理を表すフローチャートである。オンライン処理状態通知部１１２は、オンライン処理部１１１の動作状態を監視して、オンライン処理定義１１３に定義されたＩＮ遷移もしくはＯＵＴ遷移に該当する処理が行われたか否かを監視し、それに該当する処理が行われた場合に動作を開始する（ステップＳ２０１）。
【００５３】
動作を開始するとまず、オンライン処理状態通知部１１２はＩＤ、Ｒ、ＣＯＵＮＴの各パラメータを定義する（ステップＳ２０２）。ＩＤは前述の状態ＩＤ１１３ａ、Ｒは要求リソース１１３ｄである。ＣＯＵＮＴはカウンタ１１５によって各ＩＤごとに定義されるカウントであり、その初期値は０である。
【００５４】
続いてオンライン処理状態通知部１１２は、自らの動作開始のきっかけがＩＮ遷移であるかＯＵＴ遷移であるかを判断する（ステップＳ２０３）。ＩＮ遷移であれば、該ＩＤにおいて最初のＩＮ遷移であるか否か、言い換えればＩＤに対応するＣＯＵＮＴが０であるか否かを判断する（ステップＳ２０４）。
【００５５】
該ＩＤにおいて最初のＩＮ遷移であれば（ステップＳ２０４：ＹＥＳ）、Ｒに該当するリソースが占有要求可能状態であるので、該当するＩＤおよびＲがＩＮ遷移したという旨をバッチ処理装置２０のオンライン処理状態受信部２１３に通知して、即ちＩＮ通知をして（ステップＳ２０５）、ＩＤに対応するＣＯＵＮＴに１を加算する（ステップＳ２０６）。ステップＳ２０４で、該ＩＤにおいて最初のＩＮ遷移でなければ（ステップＳ２０４：ＮＯ）、そのままステップＳ２０６に進んでＣＯＵＮＴの１加算を実行する。
【００５６】
同時期にオンライン利用者端末４０から複数のオンライン処理要求が発生したことにより、既にＩＮ遷移しているリソースに対して再びＩＮ通知を行うことは無意味なことであるが、この動作によって無駄なＩＮ通知が発生することを防ぐことができる。
【００５７】
また、オンライン処理において、通常の状態遷移を伴わずに更新処理を中断する場合もありうるので、ステップＳ２０６でＣＯＵＮＴを１を加算した後、オンライン処理状態通知部１１２はタイマー１１４をセットして所定の時間が経過したらＲに該当するリソースを強制的にＯＵＴ遷移させ（ステップＳ２０７〜２０９）、当該リソースをＩＮ状態から強制的に抜けさせて処理を終了する。ここでいう所定の時間とは、たとえば数分〜十数分程度の、一般的にウェブ上の処理などで「タイムアウト」とされる時間である。
【００５８】
自らの動作開始のきっかけがＯＵＴ遷移であれば（ステップＳ２０４：ＮＯ）、オンライン処理状態通知部１１２はＩＤに対応するＣＯＵＮＴに１を減算し（ステップＳ２１０）、これで該ＣＯＵＮＴが０になったか、即ちＩＤに対応するＲに該当するリソースがＯＵＴ状態になったか否かを判断し（ステップＳ２１１）、ＯＵＴ状態になったなら該当するＩＤおよびＲがＯＵＴ状態になったという旨をバッチ処理装置２０のオンライン処理状態受信部２１３に通知して、即ちＯＵＴ通知をして（ステップＳ２１２）処理を終了する。ＯＵＴ状態になっていないなら（ステップＳ２１１：ＮＯ）そのまま処理を終了する。
【００５９】
図５の処理を終了した後も、ＩＤ、Ｒ、ＣＯＵＮＴの各パラメータはリセットされず、各々の値は次回処理まで保持される。
【００６０】
図６は、図１で示したバッチ処理調整部２１２が実行する処理を表すフローチャートである。バッチ処理調整部２１２は、オンライン処理状態通知部１１２からのＩＮ通知もしくはＯＵＴ通知を受けることによって動作を開始する（ステップＳ３０１）。動作を開始するとまず、実行中リスト作成手段２１２ａはＩＤ、Ｒの各パラメータを定義する（ステップＳ３０２）。ＩＤ、Ｒは、いずれもオンライン処理状態通知部１１２から通知された前述のパラメータである。
【００６１】
続いて実行中リスト作成手段２１２ａは、自らの動作開始のきっかけがＩＮ通知であるかＯＵＴ通知であるかを判断し、ＩＮ通知であれば（ステップＳ３０３：ＹＥＳ）該当するＩＤおよびＲをオンライン処理実行中リスト２１６に登録し（ステップＳ３０４）、ＯＵＴ通知であれば（ステップＳ３０３：ＮＯ）該当するＩＤおよびＲをオンライン処理実行中リスト２１６から削除する（ステップＳ３０５）。
【００６２】
ステップＳ３０４およびＳ３０５のオンライン処理実行中リスト２１６に係る処理の後、リソース抽出手段２１２ｂはオンライン処理実行中リスト２１６にある要求リソースを全て抽出する（ステップＳ３０６）。抽出された要求リソースの一覧をＲＬＩＳＴとする。そしてリソース抽出手段２１２ｂは、バッチファイル２１５に記載されているバッチ処理のうち、バッチ処理リソース定義２１４を参照しつつ、ＲＬＩＳＴにあるリソースと競合するバッチ処理のＩＤを特定する（ステップＳ３０７）。
【００６３】
処理一時停止手段２１２ｃは、自らの動作開始のきっかけがＩＮ通知であるかＯＵＴ通知であるかを再び判断し、ＩＮ通知であれば（ステップＳ３０８：ＹＥＳ）ステップＳ３０７で特定された要求リソースと競合する全てのバッチ処理をバッチ処理部２１１に一時停止させ（ステップＳ３０９）、ＯＵＴ通知であれば（ステップＳ３０８：ＮＯ）一時停止していた全てのバッチ処理をバッチ処理部２１１に再開させる（ステップＳ３１０）。
【００６４】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本発明に係るディスクアレイ装置の起動方法は、オンライン利用者端末４０からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置１０と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置２０と、オンライン処理およびバッチ処理が行われる対象である共有データベース３０１を有するデータベースサーバ３０とが相互に接続されて構成される並行処理システムにあって、オンライン処理とバッチ処理とを並行して処理する方法である。まずオンライン処理装置１０のオンライン処理部１１１が、共有データベース３０１に対してオンライン処理を実行し、オンライン処理状態通知部１１２が、オンライン処理部が共有データベースの特定のリソースを利用する可能性のあるＩＮ状態に遷移したか否かを判断する（図５：ステップＳ２０１）。ＩＮ状態に遷移したらオンライン処理状態通知部２１３がバッチ処理装置２０にＩＮ通知を発信し（図５：ステップＳ２０５）、バッチ処理装置２０のオンライン処理状態受信部２１３がＩＮ通知を受信し（図６：ステップＳ３０１）、バッチ処理装置２０のバッチ処理調整部２１２がＩＮ通知を受信したことに反応して、オンライン処理部１１１が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理を実行するバッチ処理部２１１に一時停止させる（図６：ステップＳ３０８）。
【００６５】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行する主体であるオンライン処理装置１０およびバッチ処理装置２０に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
【００６６】
本実施形態では、オンライン処理装置１０が、オンライン処理における画面遷移を監視し、データベース内の情報を更新する可能性がある状態に遷移した場合にそのことをバッチ処理装置２０に通知し、バッチ処理装置２０はその通知を受けてバッチ処理の中でオンライン処理と競合する可能性のある処理を一時停止させる構成とした。このことによって、オンライン処理装置１０は更新処理を待機することなく処理を行えるようになり、リソースの競合によるオンライン処理のレスポンス悪化を回避することができる。しかも、オンライン処理装置１０がデータベースサーバ３０にアクセスするよりも前の段階で処理を行うので、より有効にリソースの競合を回避することができる。
【００６７】
また本実施形態では、バッチ処理装置２０で、バッチ処理のコミット間隔がＮ秒とすると、オンライン処理のリソース占有要求可能状態に遷移してから実際のリソース保持要求が発生するまでの間隔がＮ秒より長い場合にも、バッチ処理が共有リソースを保持することによる影響を受けることなくオンライン処理を実行することができる。
【００６８】
さらに、本実施形態では、オンライン処理装置１０を複数台のコンピュータ装置で構成する場合であっても、該コンピュータ装置の各々にオンライン処理状態通知部１１２を追加するだけでよいので、そのような場合にも容易に対応でき、上記の効果を同様に得ることができる。オンライン処理状態通知部１１２はプログラムであるので、特に新規のハードウェアなどを必要とはしない。
【００６９】
（第２の実施形態）
図７は、本発明の第２の実施形態に係る並行処理システム４０１の構成を示す説明図である。並行処理システム４０１は、原則として第１の実施形態に係る並行処理システム１の構成と同一であるが、図１で示したオンライン処理装置１０と同一のコンピュータ装置１０ａ〜１０ｎが複数台存在するのに加えて、これらの複数台のオンライン処理装置にオンライン利用者端末４０から要求されたオンライン処理を割り振る負荷分散装置４４０が存在する。
【００７０】
負荷分散装置４４０は、図１で示したオンライン処理装置１０と同様のコンピュータ装置であり、ＣＰＵ４０１と、ＨＤＤ４０２と、ＲＡＭ４０３と、通信インターフェイス４０４とを備える。これらの各々の機能は、図１で示したオンライン処理装置１０の同名の各機能部と同一である。
【００７１】
ＣＰＵ４０１では、負荷分散処理部４１１と、オンライン処理状態通知部１１２と、タイマー１１４と、カウンタ１１５とが、ＨＤＤ１０２から読み出されてＲＡＭ１０３に記憶され、コンピュータプログラムとして実行される。さらに、オンライン処理定義１１３も、ＨＤＤ１０２から読み出されてＲＡＭ１０３に記憶される。
【００７２】
負荷分散処理部４１１は、コンピュータ装置１０ａ〜１０ｎにオンライン利用者端末４０から要求されたオンライン処理を割り振る処理を行う。これ以外の各動作部は、図１で示したオンライン処理装置１０の同名・同参照番号の各動作部と同一の動作を行う。
【００７３】
オンライン処理は１台のみのコンピュータ装置ではなく、複数台のコンピュータ装置に処理を分散するという構成になっている場合も多くあるが、そのような場合にはそれら複数台のオンライン処理装置の各々にオンライン処理の状態遷移を監視および通知する機能を持たせなくても、負荷分散装置４４０にその機能を持たせれば、前述の第１の実施形態と同一の動作を行うことができ、また同一の効果を得ることができる。
【００７４】
（第３の実施形態）
図８は、本発明の第３の実施形態に係る並行処理システム５０１の構成を示す説明図である。並行処理システム５０１は、第１の実施形態に係る並行処理システム１の構成で、データベースサーバ３０に替えて外部サービス５５０に接続するようにした以外は、図１に示した並行処理システム１と同一の構成である。
【００７５】
前述した第１の実施形態では、オンライン処理装置１０とバッチ処理装置２０との間でオンライン処理の処理状態を監視して、その処理状態に応じてバッチ処理を調整する構成であるので、データベースサーバ３０には同実施形態のために新たに付加される構成は特にない。そのため、データベースサーバ３０をオンライン処理装置１０およびバッチ処理装置２０とは別の環境やベンダによって提供される外部サービス５５０に置き換えることも可能である。もちろん、これによって得られる効果も前述の第１の実施形態と同一である。
【００７６】
（第４の実施形態）
図９は、本発明の第４の実施形態に係る並行処理システム６０１の構成を示す説明図である。並行処理システム６０１は、前述した第１の実施形態におけるオンライン処理装置１０とバッチ処理装置２０が、各々オンライン処理装置６１０とバッチ処理装置６２０に置き換わっている以外は、図１に示した並行処理システム１と同一の構成である。
【００７７】
オンライン処理装置６１０は、図１に示したオンライン処理装置１０の構成に加えて、新たにオンライン処理解析部６１６がＣＰＵ１０１でコンピュータプログラムとして実行される。バッチ処理装置６２０は、図１に示したバッチ処理装置２０の構成に加えて、新たにバッチ処理解析部６２７がＣＰＵ２０１でコンピュータプログラムとして実行される。この点以外は、オンライン処理装置６１０およびバッチ処理装置６２０は、各々オンライン処理装置１０およびバッチ処理装置２０と同一の構成を有し、同一の動作を行う。
【００７８】
オンライン処理解析部６１６は、オンライン処理部１１１のソースコードもしくはバイナリコードを解析して、オンライン処理定義１１３を生成する。ここでいうソースコードもしくはバイナリコードは、たとえばＪａｖａ（登録商標）、Ｊａｖａサーブレットなど、任意の言語もしくは開発手法に対して適用できる。同様に、バッチ処理解析部６２７は、バッチ処理部２１１のソースコードもしくはバイナリコードを解析して、バッチ処理リソース定義２１４を生成する。
【００７９】
たとえば、バッチ処理部２１１がＪａｖａで作成されている場合、バッチ処理解析部６２７はこのバッチ処理部２１１のバイトコードを解析してバッチアプリケーションで定義されたＳＱＬ文を抽出して文字列解析することによって、バッチ処理で使用されるテーブルなどのリソースを特定し、そこからバッチ処理リソース定義２１４を生成する。
【００８０】
同様に、オンライン処理部１１１がＪａｖａサーブレットで作成されている場合、オンライン処理解析部６１６はこのオンライン処理部１１１のバイトコードを解析して、バッチ処理解析部６２７と同様にオンライン処理で使用されるテーブルなどのリソースを特定するのに加えて、このサーブレットの定義を解析することで画面遷移を特定し、そこからＩＮ遷移およびＯＵＴ遷移を特定し、そこからオンライン処理定義１１３を生成する。
【００８１】
本実施形態によって、前述した第１の実施形態と同一の効果が得られるのに加えて、次の効果を得ることができる。本実施形態では、通常は複数の連続した処理によって構成されるオンライン処理およびバッチ処理から、オンライン処理定義１１３とバッチ処理リソース定義２１４が生成されるように構成したので、これらに定義された内容をより的確なものとすることができるので、オンライン処理とバッチ処理との間でリソースの競合を回避する効果もより的確なものとすることができる。
【００８２】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【００８３】
共通のデータベースを利用するオンライン処理とバッチ処理とを並行して処理する並行処理システムに適用することができる。
【符号の説明】
【００８４】
１、４０１、５０１、６０１  並行処理システム
１０、６１０  オンライン処理装置
２０、６２０  バッチ処理装置
３０  データベースサーバ
４０  オンライン利用者端末
５０  バッチ利用者装置
１０１、２０１、４０１  ＣＰＵ
１０２、２０２、４０２  ＨＤＤ
１０３、２０３、４０３  ＲＡＭ
１０４、２０４、４０４  通信インターフェイス
１１１  オンライン処理部
１１２  オンライン処理状態通知部
１１３  オンライン処理定義
１１４  タイマー
１１５  カウンタ
２１１  バッチ処理部
２１２  バッチ処理調整部
２１２ａ  実行中リスト作成手段
２１２ｂ  リソース抽出手段
２１２ｃ  処理一時停止手段
２１３  オンライン処理状態受信部
２１４  バッチ処理リソース定義
２１５  バッチファイル
２１６  オンライン処理実行中リスト
３０１  共有データベース
４１１  負荷分散処理部
４４０  負荷分散装置
５００  外部サービス
６１６  オンライン処理解析部
６２７  バッチ処理解析部
【図１】
2010218268.tif 000003
【図２】
2010218268.tif 000004
【図３】
2010218268.tif 000005
【図４】
2010218268.tif 000006
【図５】
2010218268.tif 000007
【図６】
2010218268.tif 000008
【図７】
2010218268.tif 000009
【図８】
2010218268.tif 000010
【図９】
2010218268.tif 000011
【図１０】
2010218268.tif 000012