JP5458615B2 - Parallel processing system, online processing device, batch processing device, parallel processing method, and parallel processing program - Google Patents
Parallel processing system, online processing device, batch processing device, parallel processing method, and parallel processing program Download PDFInfo
- Publication number
- JP5458615B2 JP5458615B2 JP2009064870A JP2009064870A JP5458615B2 JP 5458615 B2 JP5458615 B2 JP 5458615B2 JP 2009064870 A JP2009064870 A JP 2009064870A JP 2009064870 A JP2009064870 A JP 2009064870A JP 5458615 B2 JP5458615 B2 JP 5458615B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- online
- batch
- state
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 688
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000000034 method Methods 0.000 claims description 78
- 230000008569 process Effects 0.000 claims description 60
- 230000007704 transition Effects 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 16
- 238000010923 batch production Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 239000000725 suspension Substances 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、共通のデータベースを利用するオンライン処理とバッチ処理とを並行して処理する並行処理システムに関し、特にオンライン処理とバッチ処理との間のリソースの競合の防止に関する。 The present invention relates to a parallel processing system that processes online processing and batch processing using a common database in parallel, and particularly relates to prevention of resource contention between online processing and batch processing.
販売、物流などに関する各種業務システムは、かつては店舗の営業中である昼間にオンラインで動作し、オンラインで処理できない一括処理を夜間にオンライン処理を停止させてバッチ処理で行っていた。しかしながら、店舗が24時間営業となり、さらにインターネット販売なども普及したのに伴い、バッチ処理を行うためにオンライン処理を停止させる時間帯を設けることが困難になっている。そこで、オンライン処理とバッチ処理とを並行して動作させることが可能な並行処理システムが求められている。 Various business systems related to sales, logistics, etc. used to operate online in the daytime when the store is in operation, and batch processing that cannot be processed online is stopped at night and batch processing is performed. However, as stores have been open 24 hours and Internet sales have become widespread, it has become difficult to provide a time slot for stopping online processing in order to perform batch processing. Thus, there is a need for a parallel processing system that can operate online processing and batch processing in parallel.
図10は、特許文献1〜2に記載された、オンライン処理とバッチ処理とを並行して動作させることが可能な並行処理システム701の構成を示す説明図である。並行処理システム701は、異なる2台のコンピュータ装置であるオンライン処理装置710とバッチ処理装置720、およびこれらの装置によって共有される大容量記憶装置であるデータベースサーバ730とが相互に接続されて構成される。
FIG. 10 is an explanatory diagram showing a configuration of a parallel processing system 701 described in
オンライン処理装置710はさらに、通信回線を通じてユーザが処理要求を送信するオンライン利用者端末740と接続されている。バッチ処理装置720は、通信回線を通じてバッチファイルを送信するバッチ利用者装置750と接続されている。オンライン利用者端末740およびバッチ利用者装置750は、いずれもコンピュータ装置である。
The
オンライン処理装置710は、コンピュータプログラムを実行する主体であるCPU(Central Processing Unit)711と、通信インターフェイス712とを備える。CPU711では、オンライン処理部711aが、コンピュータプログラムとして実行される。
The
バッチ処理装置720は、コンピュータプログラムを実行する主体であるCPU721と、データを一時的に記憶するRAM(Random Access Memory)722と、通信インターフェイス723とを備える。CPU721では、バッチ処理部721aと、バッチ制御部721bと、監視部721cとが、コンピュータプログラムとして実行される。RAM722には、パラメータ722aが記憶される。
The
データベースサーバ730は、オンライン処理装置710とバッチ処理装置720とが共通して利用し、処理を行う対象である共有データベース731を有する。
The
監視装置721cは、オンライン処理部711aの共有データベース731に対する動作を監視し、その負荷状況や応答時間によってバッチ制御部721bに制御情報を送る。バッチ制御部721bは、静的もしくは動的に決定付けられたパラメータ722aに基づいて、バッチ処理のコミット間隔を調整するなど、バッチ処理部721aの共有データベース731に対する動作を制限させるよう制御する。
The
並行処理システムについて、これ以外には次の技術文献がある。特許文献3には、バッチ処理が開始されたことをオンライン処理装置側に通知し、利用者にオンライン処理を強制的に終了するよう促す画面を表示し、バッチ処理の動作を速やかに開始できるようにするという技術が記載されている。特許文献4には、クライアントからの指示があった際に、先に非同期的に(バッチ処理で)実行した結果があればそれを返すという業務処理システムが記載されている。 In addition to this, there are the following technical documents on parallel processing systems. Patent Document 3 notifies the online processing device that batch processing has started, displays a screen that prompts the user to forcibly end online processing, and allows batch processing operations to be started quickly. The technology of making is described. Patent Document 4 describes a business processing system in which when there is an instruction from a client, if there is a result executed asynchronously (by batch processing), it is returned.
特許文献5には、仮想計算機で競合リソースのロック待ち状態になったことを仮想計算機モニタに通知し、優先度の高い処理に該リソースを明け渡すという技術が記載されている。そして特許文献6には、オフライン処理(バッチ処理)を実行可能な時間を調整してオンライン処理との競合を少なくするという技術が記載されている。 Patent Document 5 describes a technique in which a virtual computer is notified to a virtual machine monitor that a competing resource has been locked, and the resource is handed over to a process with high priority. Patent Document 6 describes a technique of adjusting the time during which offline processing (batch processing) can be performed to reduce competition with online processing.
オンライン処理とバッチ処理とが共通の共有データベースを利用する並行処理システムでは、バッチ処理が共有データベースを更新することに伴って該共有データベースを排他処理すると、オンライン処理が妨げられ、その結果としてオンライン処理のレスポンスの遅延が発生する。 In a parallel processing system in which online processing and batch processing use a common shared database, when batch processing exclusively processes the shared database as the shared database is updated, online processing is hindered, resulting in online processing. Response delay occurs.
そのため、時間帯に応じてバッチ処理のコミット間隔を調整することが一般的に行われていた。より具体的には、オンライン処理の発生する頻度の高い時間帯にはバッチ処理のコミット間隔を短くして、これによってオンライン処理が待たされる時間を短くしてレスポンス悪化の影響を抑制する。逆に、深夜などオンライン処理の発生する頻度の低い時間帯にはコミット間隔を長くして、バッチ処理を高速に処理することを可能にする。 Therefore, in general, the commit interval of batch processing is adjusted according to the time zone. More specifically, the batch processing commit interval is shortened in a time zone in which online processing occurs frequently, thereby shortening the time for which online processing is waited for, thereby suppressing the influence of response deterioration. Conversely, in a time zone where online processing occurs less frequently, such as late at night, the commit interval is increased to enable batch processing to be performed at high speed.
図10に記載した(特許文献1〜2に記載の)並行処理システム701では、これをさらに進めて、オンライン処理に係る負荷状態を監視してバッチ処理の動作を制限した。しかしながら、これらの技術のように時間帯や負荷状態などに応じてバッチ処理の動作を制限するという手法では、バッチ処理のコミット間隔を短くしたとしても、その間のオンライン処理は確実に待機させられる。このため、突発的に発生するオンライン処理でレスポンスの遅延を回避するには有効ではない。
In the parallel processing system 701 described in FIG. 10 (described in
また、特許文献3に記載の技術では、オンライン処理装置側で利用者にオンライン処理を強制的に終了するよう促すメッセージを出しても、そのことをバッチ処理装置側では利用者が都度確認することはできないので、オンライン処理を優先的に処理させたい場合には有効ではない。特許文献4に記載の技術では、先に非同期的に(バッチ処理で)実行した結果があればそれを返すということであるので、オンライン処理を優先的に処理させるというものではない。その他の特許文献5〜6にも、オンライン処理とバッチ処理との間のリソースの競合に起因する上記の問題について解決しうる技術は記載されていない。 Further, in the technique described in Patent Document 3, even if a message prompting the user to forcibly end online processing is issued on the online processing device side, the user confirms this on the batch processing device side each time. It is not effective when you want to process online processing with priority. In the technique described in Patent Document 4, if there is a result of asynchronous execution (by batch processing), it is returned. Therefore, online processing is not preferentially processed. Other patent documents 5 to 6 do not describe a technique that can solve the above-described problem caused by resource competition between online processing and batch processing.
本発明の目的は、オンライン処理とバッチ処理との間で同一リソースへの処理が競合する場合に、オンライン処理の遅延を抑制することを可能とする並行処理システム、オンライン処理装置、バッチ処理装置、並行処理方法、および並行処理プログラムを提供することにある。 An object of the present invention is to provide a parallel processing system, an online processing device, a batch processing device, and a parallel processing system that can suppress delays in online processing when processing to the same resource competes between online processing and batch processing. To provide a parallel processing method and a parallel processing program.
上記目的を達成するため、本発明に係る並行処理システムは、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムであって、オンライン処理装置が、共有データベースに対してオンライン処理を実行するオンライン処理部と、共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する特定のリソースとの組をあらかじめ定義するオンライン処理定義を記憶している記憶手段と、オンライン処理部の処理状態がオンライン処理定義に定義されたIN状態に遷移したらバッチ処理装置にIN通知を発信するオンライン処理状態通知部とを有し、バッチ処理装置が、共有データベースに対してバッチ処理を実行するバッチ処理部と、IN通知を受信するオンライン処理状態受信部と、IN通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理部に一時停止させるバッチ処理調整部とを有すると共に、バッチ処理装置のバッチ処理調整部が、IN通知の対象となるリソースの一覧であるオンライン処理実行中リストを作成する実行中リスト作成手段と、オンライン処理実行中リストにあるリソースを利用する処理をバッチファイルから抽出するリソース抽出手段と、抽出された処理の実行をバッチ処理部に一時停止させる処理一時停止手段とを有することを特徴とする。 In order to achieve the above object, a parallel processing system according to the present invention receives a processing request from a user from an online user terminal and performs online processing based on the processing request, and a batch file given in advance. A parallel processing system configured by interconnecting a batch processing apparatus that performs batch processing based on defined contents and a database server having a shared database that is a target for online processing and batch processing, An online processing unit that performs online processing on a shared database, a processing state corresponding to an IN state that may use a specific resource of the shared database, and a specific resource corresponding to the processing state Memorize online processing definition that predefines the tuple That storage means, processing state of the line processing unit and a line processing status notification unit for transmitting a IN notification batch processor After transition to the IN state defined on-line processing definition, batch processing apparatus, shared database In response to receiving the IN notification, a specific resource that the online processing unit may use in response to receiving the IN notification, both the and a batch processing arrangement for temporarily stopping the execution of a process utilized to batch processing unit, the batch processing arrangements of a batch processing apparatus, the line processing performed in the list is a listing of the resources of iN notifications From the batch file, create the running list creation means and the process that uses the resources in the online process running list. And having a resource extraction means for exiting the execution of the extracted processed batch processing unit and a processing pause means for pausing.
上記目的を達成するため、本発明に係るオンライン処理装置は、オンライン利用者端末からユーザによる処理要求を受信して処理要求に基づくオンライン処理を行うオンライン処理装置であって、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置およびオンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、共有データベースに対してオンライン処理を実行するオンライン処理部と、共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する特定のリソースとの組をあらかじめ定義するオンライン処理定義を記憶している記憶手段と、オンライン処理部の処理状態がオンライン処理定義に定義されたIN状態に遷移したらバッチ処理装置にIN通知を発信するオンライン処理状態通知部とを有することを特徴とする。 In order to achieve the above object, an online processing apparatus according to the present invention is an online processing apparatus that receives a processing request from a user from an online user terminal and performs online processing based on the processing request, and is a batch file given in advance. A batch processing device that performs batch processing based on the contents defined in the above, a communication interface that is interconnected with a database server that has a shared database that is the target of online processing and batch processing, and a shared database Online processing section that executes online processing for the online processing definition that defines in advance a set of a processing state corresponding to an IN state in which a specific resource of the shared database may be used and a specific resource corresponding thereto Means for storing , And having a line processing status notification unit for processing state of the online processing section originates a IN notification batch processor After transition to the IN state defined on-line process definition.
上記目的を達成するため、本発明に係るバッチ処理装置は、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置であって、オンライン利用者端末からユーザによる処理要求を受信して処理要求に基づくオンライン処理を行うオンライン処理装置およびオンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、共有データベースに対してバッチ処理を実行するバッチ処理部と、オンライン処理装置からIN通知を受信するオンライン処理状態受信部と、IN通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理部に一時停止させるバッチ処理調整部とを有すると共に、バッチ処理調整部が、IN通知の対象となるリソースの一覧であるオンライン処理実行中リストを作成する実行中リスト作成手段と、オンライン処理実行中リストにあるリソースを利用する処理をバッチファイルから抽出するリソース抽出手段と、抽出された処理の実行をバッチ処理部に一時停止させる処理一時停止手段とを有することを特徴とする。 In order to achieve the above object, a batch processing apparatus according to the present invention is a batch processing apparatus that performs batch processing based on contents defined in a batch file given in advance, and a processing request by a user from an online user terminal A communication interface that exchanges data with an online processing device that performs online processing based on a processing request and a database server that has a shared database that is a target for online processing and batch processing, and a shared database A batch processing unit that executes batch processing, an online processing status receiving unit that receives an IN notification from an online processing device, and a specification that the online processing unit may use in response to receiving the IN notification Batch processing unit that executes processing that uses resources Together and a batch processing arrangement for temporarily stopping, batch processing arrangement comprises a running list creating means for creating on-line processing performed in the list is a list of resources to be IN notification, on-line processing executed in the list It is characterized by having resource extraction means for extracting a process that uses a certain resource from a batch file, and process pause means for causing the batch processing section to pause execution of the extracted process .
上記目的を達成するため、本発明に係る並行処理方法は、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、オンライン処理とバッチ処理とを並行して処理する方法であって、オンライン処理装置のオンライン処理部が、共有データベースに対してオンライン処理を実行し、オンライン処理装置のオンライン処理状態通知部が、備えられた記憶手段に記憶されている共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する特定のリソースとの組をあらかじめ定義するオンライン処理定義に定義されたIN状態に、オンライン処理部の処理状態が遷移したか否かを判断し、IN状態に遷移したらオンライン処理状態通知部がバッチ処理装置にIN通知を発信し、バッチ処理装置のオンライン処理状態受信部がIN通知を受信し、バッチ処理装置のバッチ処理調整部がIN通知を受信したことに反応して、予め作成してあるIN通知の対象となるリソースの一覧であるオンライン処理実行中リストにあるリソースを利用する処理をバッチファイルから抽出し、当該抽出された処理の実行をバッチ処理を実行するバッチ処理部に一時停止させることを特徴とする。 In order to achieve the above object, a parallel processing method according to the present invention includes an online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request, and a batch file given in advance. A parallel processing system configured by interconnecting a batch processing apparatus that performs batch processing based on defined contents and a database server having a shared database that is a target of online processing and batch processing, A method of processing online processing and batch processing in parallel, wherein the online processing unit of the online processing device executes online processing on the shared database, and an online processing status notifying unit of the online processing device is provided. Specific resources of the shared database stored in the storage means Scan the IN state defined on-line process definition set to predefine the specific resource corresponding to the processing state corresponding to IN state that might be utilized, the processing status of the line processing unit has transitioned The online processing status notification unit sends an IN notification to the batch processing device when the state transits to the IN state, the online processing status reception unit of the batch processing device receives the IN notification, and the batch processing of the batch processing device In response to the reception of the IN notification by the adjustment unit , a process that uses a resource in the online processing execution list that is a list of resources that are targets of the IN notification that has been created in advance is extracted from the batch file, The execution of the extracted process is temporarily stopped by a batch processing unit that executes the batch process.
上記目的を達成するため、本発明に係る並行処理プログラムは、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、オンライン処理装置が備えるコンピュータに、共有データベースに対してオンライン処理を実行する手順と、備えられた記憶手段に記憶されている共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する特定のリソースとの組をあらかじめ定義するオンライン処理定義に定義されたIN状態に、オンライン処理の処理状態が遷移したか否かを判断する手順と、IN状態に遷移したらオンライン処理状態通知部がバッチ処理装置にIN通知を発信する手順とを実行させることを特徴とする。 In order to achieve the above object, a parallel processing program according to the present invention receives a processing request from a user from an online user terminal and performs online processing based on the processing request, and a batch file given in advance. A parallel processing system configured by interconnecting a batch processing apparatus that performs batch processing based on defined contents and a database server having a shared database that is a target of online processing and batch processing, Procedures for executing online processing on a shared database in a computer provided in the online processing device, and processing corresponding to an IN state that may use a specific resource of the shared database stored in the provided storage means A pair of a state and a specific resource corresponding to this The IN state defined on-line process definition beforehand defined, the procedure processing state of the online process determines whether the transition, online processing status notification unit upon transition to the IN state the IN notifies the batch processing unit And a procedure for transmitting.
上記目的を達成するため、本発明に係る他の並行処理プログラムは、オンライン利用者端末からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置と、オンライン処理およびバッチ処理が行われる対象である共有データベースを有するデータベースサーバとが相互に接続されて構成される並行処理システムにあって、バッチ処理装置が備えるコンピュータに、バッチファイルに定義された内容に基づいてバッチ処理を行う手順と、オンライン利用者端末からIN通知を受信する手順と、IN通知を受信したことに反応して、予め作成してあるIN通知の対象となるリソースの一覧であるオンライン処理実行中リストにあるリソースを利用する処理をバッチファイルから抽出し、当該抽出された処理の実行をバッチ処理を実行するバッチ処理部に一時停止させる手順とを実行させることを特徴とする。 In order to achieve the above object, another parallel processing program according to the present invention includes an online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request, and a batch given in advance. There is a parallel processing system in which a batch processing device that performs batch processing based on the contents defined in a file and a database server that has a shared database on which online processing and batch processing are performed are connected to each other. In response to receiving the IN notification, the procedure for performing the batch processing based on the contents defined in the batch file, the procedure for receiving the IN notification from the online user terminal, , is a list of resources to be iN notification you have created in advance online Extracting process using the resources in the down-progress list from a batch file, characterized in that to execute a step of temporarily stopping the execution of the extracted processed batch processing unit for executing a batch process.
本発明は、上述したように、バッチ処理の中でオンライン処理に使用される可能性のあるリソースを使用する処理の実行を一時停止するように構成したので、同一リソースへの処理が競合する場合にもこの競合を回避することができる。これによって、オンライン処理の遅延を抑制することが可能であるという、優れた特徴を持つ並行処理システム、オンライン処理装置、バッチ処理装置、並行処理方法、および並行処理プログラムを提供することができる。 As described above, the present invention is configured to temporarily stop execution of a process using a resource that may be used for online processing in batch processing, so that processing to the same resource competes Even this conflict can be avoided. Accordingly, it is possible to provide a parallel processing system, an online processing device, a batch processing device, a parallel processing method, and a parallel processing program having an excellent feature that online processing delay can be suppressed.
(第1の実施形態)
以下、本発明の第1の実施形態の構成について添付図1に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る並行処理システム1は、オンライン利用者端末40からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置10と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置20と、オンライン処理およびバッチ処理が行われる対象である共有データベース301を有するデータベースサーバ30とが相互に接続されて構成される並行処理システムである。オンライン処理装置10は、共有データベースに対してオンライン処理を実行するオンライン処理部111と、オンライン処理部が共有データベースの特定のリソースを利用する可能性のあるIN状態に遷移したらバッチ処理装置にIN通知を発信するオンライン処理状態通知部112とを有する。バッチ処理装置20は、共有データベースに対してバッチ処理を実行するバッチ処理部211と、IN通知を受信するオンライン処理状態受信部213と、IN通知を受信したことに反応して、オンライン処理部が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理部に一時停止させるバッチ処理調整部212とを有する。
(First embodiment)
Hereinafter, the structure of the 1st Embodiment of this invention is demonstrated based on attached FIG.
First, the basic content of the present embodiment will be described, and then more specific content will be described.
The
また、オンライン処理装置10のオンライン処理状態通知部112に、あらかじめ与えられたIN状態に該当する処理状態とこれに対応する特定のリソースとの組を定義するオンライン処理定義113が付属しており、オンライン処理状態通知部112は、オンライン処理部の処理状態がこのオンライン処理定義に定義されていればバッチ処理装置にIN通知を発信する。
The online processing
このオンライン処理状態通知部112は、オンライン処理部がIN状態ではない状態であるOUT状態に遷移したらバッチ処理装置にOUT通知を発信する機能を有し、バッチ処理装置20のバッチ処理調整部212は、このOUT通知を受信したことに反応して、一時停止していた特定のリソースを利用する処理の実行をバッチ処理部に再開させる。
The online processing
さらにオンライン処理状態通知部112には、時間の経過をカウントするタイマー114が付属している。オンライン処理状態通知部112は、特定のリソースがIN状態に遷移したらタイマーに所定の時間の経過をカウントさせ、所定の時間が経過したら特定のリソースを強制的にIN状態ではない状態に遷移させる。
Furthermore, a
また、オンライン処理状態通知部112には、オンライン処理部で発生する各処理状態に与えられるIDごとに数値をカウントするカウンタ115が付属している。オンライン処理状態通知部112は、特定のリソースがIN状態となった時にIDに対応するカウンタに1を加算する。さらにオンライン処理状態通知部112は、特定のリソースがIN状態となった時にIDに対応するカウンタの数値が0である場合にバッチ処理装置20にIN通知を発信し、その後にカウンタに1を加算する。
The online processing
そしてオンライン処理状態通知部112は、特定のリソースがIN状態ではなくなった時にIDに対応するカウンタから1を減算し、カウンタの数値が0になった場合にバッチ処理装置にOUT通知を発信する。バッチ処理装置のバッチ処理調整部212は、OUT通知を受信したことに反応して、一時停止していた特定のリソースを利用する処理の実行をバッチ処理部211に再開させる。
The online processing
一方、バッチ処理装置20のバッチ処理調整部212は、IN通知の対象となるリソースの一覧であるオンライン処理実行中リストを作成する実行中リスト作成手段212aと、オンライン処理実行中リストにあるリソースを利用する処理をバッチファイルから抽出するリソース抽出手段212bと、抽出された処理の実行をバッチ処理部に一時停止させる処理一時停止手段212cとを有する。
On the other hand, the batch
以上の構成を備えることにより、オンライン処理とバッチ処理との間で有効にリソースの競合を回避できる。
以下、これをより詳細に説明する。
By providing the above configuration, resource contention can be effectively avoided between online processing and batch processing.
Hereinafter, this will be described in more detail.
図1は、本発明の第1の実施形態に係る並行処理システム1の構成を示す説明図である。並行処理システム1は、異なる2台のコンピュータ装置であるオンライン処理装置10とバッチ処理装置20、およびこれらの装置によって共有される大容量記憶装置であるデータベースサーバ30とが相互に接続されて構成される。
FIG. 1 is an explanatory diagram showing a configuration of a
オンライン処理装置10はさらに、通信回線を通じてユーザが処理要求を送信するオンライン利用者端末40と接続されている。バッチ処理装置20は、通信回線を通じてバッチファイルを送信するバッチ利用者装置50と接続されている。オンライン利用者端末40およびバッチ利用者装置50は、いずれもコンピュータ装置であり、またいずれも1台以上何台でもよい。
The
オンライン処理装置10は、コンピュータプログラムを実行する主体であるCPU101と、CPU101が実行するコンピュータプログラムおよび処理する対象であるデータが記憶されているHDD(Hard Disk Drive)102と、CPU101がHDD102から読み込んだプログラムおよびデータが一時的に記憶されるRAM103と、通信回線を通じて他のコンピュータと通信を行う通信インターフェイス104とを備える。
The
CPU101では、オンライン処理部111と、オンライン処理状態通知部112と、タイマー114と、カウンタ115とが、HDD102から読み出されてRAM103に記憶され、コンピュータプログラムとして実行される。さらに、予め定められた定義データであるオンライン処理定義113も、HDD102から読み出されてRAM103に記憶され、オンライン処理状態通知部112が実行中にこれを参照する。
In the
バッチ処理装置20も、オンライン処理装置10と同様に、CPU201と、HDD202と、RAM203と、通信インターフェイス204とを備える。これらの各々の機能は、オンライン処理装置10の同名の各機能部と同一である。
The
CPU201では、バッチ処理部211と、バッチ処理調整部212と、オンライン処理状態受信部213とが、HDD202から読み出されてRAM203に記憶され、コンピュータプログラムとして実行される。さらに、予め定められた定義データであるバッチ処理リソース定義214およびバッチファイル215も、HDD202から読み出されてRAM203に記憶され、バッチ処理調整部212が実行中にこれを参照する。オンライン処理実行中リスト216は、バッチ処理調整部212が一時的に作成するデータであるが、これについて詳しくは後述する。
In the
データベースサーバ30は、オンライン処理装置10とバッチ処理装置20とが共通して利用する共有データベース301を有する。オンライン処理装置10のオンライン処理部111、およびバッチ処理装置20のバッチ処理部211は、各々通信回線を介して共有データベース301にアクセスして、そこに含まれるデータを利用し、各々の処理を行うことができる。
The
オンライン処理部111は、オンライン利用者端末40から処理要求を受信し、この処理要求に応じて共有データベース301にアクセスして処理を行い、その結果をオンライン利用者端末40に返す。オンライン処理状態通知部112は、オンライン処理部111の動作状態を監視して、オンライン処理定義113に定義された処理が行われたか否かを監視する。定義された処理が行われた場合は、その旨をバッチ処理装置20のオンライン処理状態受信部213に通知する。
The
タイマー114は、オンライン処理状態通知部112からの指示によって動作し、指定された時間が経過したらその旨をオンライン処理状態通知部112に通知する。カウンタ115は、オンライン処理状態通知部112からの指示によって動作し、後述の状態IDごとに数値をカウントする。なお、図1ではタイマー114およびカウンタ115はソフトウェア的に実現されるものとしたが、ハードウェア的に実現されるようにしてもよい。
The
一方、バッチ利用者装置50は、端末装置(図示せず)から処理内容を集配してバッチファイル215を作成し、このバッチファイル215をバッチ処理装置20に送信する。バッチ処理装置20は、バッチファイル215に定義された内容に従って共有データベース301にアクセスして処理を行い、その結果をバッチ利用者装置50に返す。なお、バッチ処理の要求元および出力先、そしてそれらにデータを集配信する形式については様々なものが存在するが、それらの形式の違いについては本発明では特に問題としない。
On the other hand, the
バッチ処理部211は、バッチ利用者装置50からバッチファイル215を受信してHDD202に保存し、この内容に従ってバッチ処理を行う。オンライン処理状態受信部213は、オンライン処理状態通知部112からオンライン処理部111の動作状態についての通知を受ける。
The
バッチ処理調整部212は、さらに実行中リスト作成手段212a、リソース抽出手段212b、処理一時停止手段212cといった各機能部を有する。実行中リスト作成手段212aは、オンライン処理状態通知部112から実行中であるという旨の通知を受けたリソースの一覧を、オンライン処理実行中リスト216として作成し、RAM203に一時的に記憶する。リソース抽出手段212bは、バッチファイル215の中から、オンライン処理実行中リスト216にあるリソースを使用する処理を全て抽出する。
The batch
そして処理一時停止手段212cは、リソース抽出手段212bが抽出した処理を一時的に停止させ、使わない処理だけをバッチ処理部211に実行させる。また、該当するリソースが使用可能になったら、一時停止されていた処理をバッチ処理部211に再開させる機能も有する。
Then, the
図2は、図1で示したバッチ処理リソース定義214の定義内容の一例を示す説明図である。バッチ処理リソース定義214は、各処理に与えられるIDである処理ID214aと、該処理が利用するリソースである要求リソース214bとで定義される。
FIG. 2 is an explanatory diagram showing an example of the definition contents of the batch
図3は、図1で示したオンライン処理定義113の定義内容の一例を示す説明図である。オンライン処理定義113は、オンライン処理部111で発生する各処理状態に与えられるIDである状態ID113aと、このうちリソース占有要求可能状態になりえる状態遷移(以後IN遷移という)であるIN遷移113bと、リソース占有要求不可状態に遷移する状態遷移(以後OUT遷移という)であるOUT遷移113cと、これに該当するリソースである要求リソース113dとで定義される。
FIG. 3 is an explanatory diagram showing an example of the definition contents of the
ここでいうIN状態およびOUT状態について、さらに説明する。1つのデータベースはデータを格納する1つ以上のテーブルによって構成される。共有データベース301に対して行われる処理は、オンライン処理とバッチ処理のいずれにおいても、特定のテーブル、もしくはそのテーブルの中の特定の行もしくは列に対して、そこに格納されたデータを操作することによって行われる。ここでいうリソースとは、データベース内の特定のテーブル、もしくはそのテーブルの中の特定の行、列、セルなどの形で表される。
The IN state and OUT state here will be further described. One database is composed of one or more tables that store data. The processing performed on the shared
以後本明細書では、オンライン利用者端末40のうち1台以上がオンライン処理装置10上で動作させているクライアントセッションが共有リソース(即ち共有データベース301)の占有を要求する可能性がある、言い換えれば共有リソースにアクセスする可能性がある状態をIN状態といい、そうでない状態をOUT状態という。そしてOUT状態からIN状態に遷移することをIN遷移、その逆をOUT遷移という。さらに、共有リソースがIN状態になった旨をオンライン処理状態通知部112がオンライン処理状態受信部213に通知することをIN通知、OUT状態になった旨を通知することをOUT通知という。
Hereinafter, in this specification, a client session in which one or more of the
オンライン処理とバッチ処理とで同一のリソースへの処理が競合すると、前述のような不都合が生じるので、オンライン処理状態通知部112は共有データベース301において特定のリソース(テーブル、行、列、セルなど)がIN状態であるか(IN遷移したか)否かを監視し、IN遷移したならオンライン処理状態受信部213にIN通知を行う。
When online processing and batch processing compete with each other for processing the same resource, the inconvenience as described above occurs. Therefore, the online processing
図4は、図1で示したオンライン処理実行中リスト216の記録内容の一例を示す説明図である。バッチ処理調整部212は、オンライン処理状態通知部112からIN通知を受けると、このIN通知の対象となった状態ID113aと要求リソース113dとをオンライン処理実行中リスト216に記録する。
FIG. 4 is an explanatory diagram showing an example of the recorded contents of the online
図5は、図1で示したオンライン処理状態通知部112が実行する処理を表すフローチャートである。オンライン処理状態通知部112は、オンライン処理部111の動作状態を監視して、オンライン処理定義113に定義されたIN遷移もしくはOUT遷移に該当する処理が行われたか否かを監視し、それに該当する処理が行われた場合に動作を開始する(ステップS201)。
FIG. 5 is a flowchart showing processing executed by the online processing
動作を開始するとまず、オンライン処理状態通知部112はID、R、COUNTの各パラメータを定義する(ステップS202)。IDは前述の状態ID113a、Rは要求リソース113dである。COUNTはカウンタ115によって各IDごとに定義されるカウントであり、その初期値は0である。
When the operation is started, first, the online processing
続いてオンライン処理状態通知部112は、自らの動作開始のきっかけがIN遷移であるかOUT遷移であるかを判断する(ステップS203)。IN遷移であれば、該IDにおいて最初のIN遷移であるか否か、言い換えればIDに対応するCOUNTが0であるか否かを判断する(ステップS204)。
Subsequently, the online processing
該IDにおいて最初のIN遷移であれば(ステップS204:YES)、Rに該当するリソースが占有要求可能状態であるので、該当するIDおよびRがIN遷移したという旨をバッチ処理装置20のオンライン処理状態受信部213に通知して、即ちIN通知をして(ステップS205)、IDに対応するCOUNTに1を加算する(ステップS206)。ステップS204で、該IDにおいて最初のIN遷移でなければ(ステップS204:NO)、そのままステップS206に進んでCOUNTの1加算を実行する。
If the ID is the first IN transition (step S204: YES), since the resource corresponding to R is in the exclusive request enabled state, the online processing of the
同時期にオンライン利用者端末40から複数のオンライン処理要求が発生したことにより、既にIN遷移しているリソースに対して再びIN通知を行うことは無意味なことであるが、この動作によって無駄なIN通知が発生することを防ぐことができる。
Since a plurality of online processing requests are generated from the
また、オンライン処理において、通常の状態遷移を伴わずに更新処理を中断する場合もありうるので、ステップS206でCOUNTを1を加算した後、オンライン処理状態通知部112はタイマー114をセットして所定の時間が経過したらRに該当するリソースを強制的にOUT遷移させ(ステップS207〜209)、当該リソースをIN状態から強制的に抜けさせて処理を終了する。ここでいう所定の時間とは、たとえば数分〜十数分程度の、一般的にウェブ上の処理などで「タイムアウト」とされる時間である。
In online processing, the update processing may be interrupted without causing a normal state transition. Therefore, after adding COUNT to 1 in step S206, the online processing
自らの動作開始のきっかけがOUT遷移であれば(ステップS204:NO)、オンライン処理状態通知部112はIDに対応するCOUNTに1を減算し(ステップS210)、これで該COUNTが0になったか、即ちIDに対応するRに該当するリソースがOUT状態になったか否かを判断し(ステップS211)、OUT状態になったなら該当するIDおよびRがOUT状態になったという旨をバッチ処理装置20のオンライン処理状態受信部213に通知して、即ちOUT通知をして(ステップS212)処理を終了する。OUT状態になっていないなら(ステップS211:NO)そのまま処理を終了する。
If the trigger for starting its own operation is the OUT transition (step S204: NO), the online processing
図5の処理を終了した後も、ID、R、COUNTの各パラメータはリセットされず、各々の値は次回処理まで保持される。 Even after the processing of FIG. 5 is completed, the parameters of ID, R, and COUNT are not reset, and each value is retained until the next processing.
図6は、図1で示したバッチ処理調整部212が実行する処理を表すフローチャートである。バッチ処理調整部212は、オンライン処理状態通知部112からのIN通知もしくはOUT通知を受けることによって動作を開始する(ステップS301)。動作を開始するとまず、実行中リスト作成手段212aはID、Rの各パラメータを定義する(ステップS302)。ID、Rは、いずれもオンライン処理状態通知部112から通知された前述のパラメータである。
FIG. 6 is a flowchart showing processing executed by the batch
続いて実行中リスト作成手段212aは、自らの動作開始のきっかけがIN通知であるかOUT通知であるかを判断し、IN通知であれば(ステップS303:YES)該当するIDおよびRをオンライン処理実行中リスト216に登録し(ステップS304)、OUT通知であれば(ステップS303:NO)該当するIDおよびRをオンライン処理実行中リスト216から削除する(ステップS305)。
Subsequently, the in-execution
ステップS304およびS305のオンライン処理実行中リスト216に係る処理の後、リソース抽出手段212bはオンライン処理実行中リスト216にある要求リソースを全て抽出する(ステップS306)。抽出された要求リソースの一覧をRLISTとする。そしてリソース抽出手段212bは、バッチファイル215に記載されているバッチ処理のうち、バッチ処理リソース定義214を参照しつつ、RLISTにあるリソースと競合するバッチ処理のIDを特定する(ステップS307)。
After the processing related to the online
処理一時停止手段212cは、自らの動作開始のきっかけがIN通知であるかOUT通知であるかを再び判断し、IN通知であれば(ステップS308:YES)ステップS307で特定された要求リソースと競合する全てのバッチ処理をバッチ処理部211に一時停止させ(ステップS309)、OUT通知であれば(ステップS308:NO)一時停止していた全てのバッチ処理をバッチ処理部211に再開させる(ステップS310)。
The
(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。本発明に係るディスクアレイ装置の起動方法は、オンライン利用者端末40からユーザによる処理要求を受信し、処理要求に基づいてオンライン処理を行うオンライン処理装置10と、あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置20と、オンライン処理およびバッチ処理が行われる対象である共有データベース301を有するデータベースサーバ30とが相互に接続されて構成される並行処理システムにあって、オンライン処理とバッチ処理とを並行して処理する方法である。まずオンライン処理装置10のオンライン処理部111が、共有データベース301に対してオンライン処理を実行し、オンライン処理状態通知部112が、オンライン処理部が共有データベースの特定のリソースを利用する可能性のあるIN状態に遷移したか否かを判断する(図5:ステップS201)。IN状態に遷移したらオンライン処理状態通知部213がバッチ処理装置20にIN通知を発信し(図5:ステップS205)、バッチ処理装置20のオンライン処理状態受信部213がIN通知を受信し(図6:ステップS301)、バッチ処理装置20のバッチ処理調整部212がIN通知を受信したことに反応して、オンライン処理部111が利用する可能性のある特定のリソースを利用する処理の実行をバッチ処理を実行するバッチ処理部211に一時停止させる(図6:ステップS308)。
(Overall operation of the first embodiment)
Next, the overall operation of the above embodiment will be described. The disk array apparatus activation method according to the present invention is defined in an
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行する主体であるオンライン処理装置10およびバッチ処理装置20に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
Here, each of the above-described operation steps may be programmed to be executable by a computer, and these may be executed by the
With this configuration and operation, the present embodiment has the following effects.
本実施形態では、オンライン処理装置10が、オンライン処理における画面遷移を監視し、データベース内の情報を更新する可能性がある状態に遷移した場合にそのことをバッチ処理装置20に通知し、バッチ処理装置20はその通知を受けてバッチ処理の中でオンライン処理と競合する可能性のある処理を一時停止させる構成とした。このことによって、オンライン処理装置10は更新処理を待機することなく処理を行えるようになり、リソースの競合によるオンライン処理のレスポンス悪化を回避することができる。しかも、オンライン処理装置10がデータベースサーバ30にアクセスするよりも前の段階で処理を行うので、より有効にリソースの競合を回避することができる。
In the present embodiment, the
また本実施形態では、バッチ処理装置20で、バッチ処理のコミット間隔がN秒とすると、オンライン処理のリソース占有要求可能状態に遷移してから実際のリソース保持要求が発生するまでの間隔がN秒より長い場合にも、バッチ処理が共有リソースを保持することによる影響を受けることなくオンライン処理を実行することができる。
Further, in this embodiment, when the batch processing commit interval of the
さらに、本実施形態では、オンライン処理装置10を複数台のコンピュータ装置で構成する場合であっても、該コンピュータ装置の各々にオンライン処理状態通知部112を追加するだけでよいので、そのような場合にも容易に対応でき、上記の効果を同様に得ることができる。オンライン処理状態通知部112はプログラムであるので、特に新規のハードウェアなどを必要とはしない。
Furthermore, in this embodiment, even when the
(第2の実施形態)
図7は、本発明の第2の実施形態に係る並行処理システム401の構成を示す説明図である。並行処理システム401は、原則として第1の実施形態に係る並行処理システム1の構成と同一であるが、図1で示したオンライン処理装置10と同一のコンピュータ装置10a〜10nが複数台存在するのに加えて、これらの複数台のオンライン処理装置にオンライン利用者端末40から要求されたオンライン処理を割り振る負荷分散装置440が存在する。
(Second Embodiment)
FIG. 7 is an explanatory diagram showing a configuration of a
負荷分散装置440は、図1で示したオンライン処理装置10と同様のコンピュータ装置であり、CPU401と、HDD402と、RAM403と、通信インターフェイス404とを備える。これらの各々の機能は、図1で示したオンライン処理装置10の同名の各機能部と同一である。
The
CPU401では、負荷分散処理部411と、オンライン処理状態通知部112と、タイマー114と、カウンタ115とが、HDD102から読み出されてRAM103に記憶され、コンピュータプログラムとして実行される。さらに、オンライン処理定義113も、HDD102から読み出されてRAM103に記憶される。
In the
負荷分散処理部411は、コンピュータ装置10a〜10nにオンライン利用者端末40から要求されたオンライン処理を割り振る処理を行う。これ以外の各動作部は、図1で示したオンライン処理装置10の同名・同参照番号の各動作部と同一の動作を行う。
The load
オンライン処理は1台のみのコンピュータ装置ではなく、複数台のコンピュータ装置に処理を分散するという構成になっている場合も多くあるが、そのような場合にはそれら複数台のオンライン処理装置の各々にオンライン処理の状態遷移を監視および通知する機能を持たせなくても、負荷分散装置440にその機能を持たせれば、前述の第1の実施形態と同一の動作を行うことができ、また同一の効果を得ることができる。
In many cases, the online processing is configured to distribute the processing to a plurality of computer devices instead of only one computer device. In such a case, each of the plurality of online processing devices is provided. Even if the function of monitoring and notifying the status transition of the online processing is not provided, if the
(第3の実施形態)
図8は、本発明の第3の実施形態に係る並行処理システム501の構成を示す説明図である。並行処理システム501は、第1の実施形態に係る並行処理システム1の構成で、データベースサーバ30に替えて外部サービス550に接続するようにした以外は、図1に示した並行処理システム1と同一の構成である。
(Third embodiment)
FIG. 8 is an explanatory diagram showing the configuration of a parallel processing system 501 according to the third embodiment of the present invention. The parallel processing system 501 is the same as the
前述した第1の実施形態では、オンライン処理装置10とバッチ処理装置20との間でオンライン処理の処理状態を監視して、その処理状態に応じてバッチ処理を調整する構成であるので、データベースサーバ30には同実施形態のために新たに付加される構成は特にない。そのため、データベースサーバ30をオンライン処理装置10およびバッチ処理装置20とは別の環境やベンダによって提供される外部サービス550に置き換えることも可能である。もちろん、これによって得られる効果も前述の第1の実施形態と同一である。
In the first embodiment described above, the processing status of online processing is monitored between the
(第4の実施形態)
図9は、本発明の第4の実施形態に係る並行処理システム601の構成を示す説明図である。並行処理システム601は、前述した第1の実施形態におけるオンライン処理装置10とバッチ処理装置20が、各々オンライン処理装置610とバッチ処理装置620に置き換わっている以外は、図1に示した並行処理システム1と同一の構成である。
(Fourth embodiment)
FIG. 9 is an explanatory diagram showing the configuration of a parallel processing system 601 according to the fourth embodiment of the present invention. The parallel processing system 601 is the same as the parallel processing system shown in FIG. 1 except that the
オンライン処理装置610は、図1に示したオンライン処理装置10の構成に加えて、新たにオンライン処理解析部616がCPU101でコンピュータプログラムとして実行される。バッチ処理装置620は、図1に示したバッチ処理装置20の構成に加えて、新たにバッチ処理解析部627がCPU201でコンピュータプログラムとして実行される。この点以外は、オンライン処理装置610およびバッチ処理装置620は、各々オンライン処理装置10およびバッチ処理装置20と同一の構成を有し、同一の動作を行う。
In the
オンライン処理解析部616は、オンライン処理部111のソースコードもしくはバイナリコードを解析して、オンライン処理定義113を生成する。ここでいうソースコードもしくはバイナリコードは、たとえばJava(登録商標)、Javaサーブレットなど、任意の言語もしくは開発手法に対して適用できる。同様に、バッチ処理解析部627は、バッチ処理部211のソースコードもしくはバイナリコードを解析して、バッチ処理リソース定義214を生成する。
The online
たとえば、バッチ処理部211がJavaで作成されている場合、バッチ処理解析部627はこのバッチ処理部211のバイトコードを解析してバッチアプリケーションで定義されたSQL文を抽出して文字列解析することによって、バッチ処理で使用されるテーブルなどのリソースを特定し、そこからバッチ処理リソース定義214を生成する。
For example, when the
同様に、オンライン処理部111がJavaサーブレットで作成されている場合、オンライン処理解析部616はこのオンライン処理部111のバイトコードを解析して、バッチ処理解析部627と同様にオンライン処理で使用されるテーブルなどのリソースを特定するのに加えて、このサーブレットの定義を解析することで画面遷移を特定し、そこからIN遷移およびOUT遷移を特定し、そこからオンライン処理定義113を生成する。
Similarly, when the
本実施形態によって、前述した第1の実施形態と同一の効果が得られるのに加えて、次の効果を得ることができる。本実施形態では、通常は複数の連続した処理によって構成されるオンライン処理およびバッチ処理から、オンライン処理定義113とバッチ処理リソース定義214が生成されるように構成したので、これらに定義された内容をより的確なものとすることができるので、オンライン処理とバッチ処理との間でリソースの競合を回避する効果もより的確なものとすることができる。
In addition to obtaining the same effects as those of the first embodiment described above, the present embodiment can obtain the following effects. In the present embodiment, since the
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。 The present invention has been described with reference to the specific embodiments shown in the drawings. However, the present invention is not limited to the embodiments shown in the drawings, and any known hitherto provided that the effects of the present invention are achieved. Even if it is a structure, it is employable.
共通のデータベースを利用するオンライン処理とバッチ処理とを並行して処理する並行処理システムに適用することができる。 The present invention can be applied to a parallel processing system that processes online processing and batch processing using a common database in parallel.
1、401、501、601 並行処理システム
10、610 オンライン処理装置
20、620 バッチ処理装置
30 データベースサーバ
40 オンライン利用者端末
50 バッチ利用者装置
101、201、401 CPU
102、202、402 HDD
103、203、403 RAM
104、204、404 通信インターフェイス
111 オンライン処理部
112 オンライン処理状態通知部
113 オンライン処理定義
114 タイマー
115 カウンタ
211 バッチ処理部
212 バッチ処理調整部
212a 実行中リスト作成手段
212b リソース抽出手段
212c 処理一時停止手段
213 オンライン処理状態受信部
214 バッチ処理リソース定義
215 バッチファイル
216 オンライン処理実行中リスト
301 共有データベース
411 負荷分散処理部
440 負荷分散装置
500 外部サービス
616 オンライン処理解析部
627 バッチ処理解析部
1, 401, 501, 601
102, 202, 402 HDD
103, 203, 403 RAM
104, 204, 404
Claims (13)
前記オンライン処理装置が、前記共有データベースに対して前記オンライン処理を実行するオンライン処理部と、前記共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する前記特定のリソースとの組をあらかじめ定義するオンライン処理定義を記憶している記憶手段と、前記オンライン処理部の処理状態が前記オンライン処理定義に定義されたIN状態に遷移したら前記バッチ処理装置にIN通知を発信するオンライン処理状態通知部とを有し、
前記バッチ処理装置が、前記共有データベースに対して前記バッチ処理を実行するバッチ処理部と、前記IN通知を受信するオンライン処理状態受信部と、前記IN通知を受信したことに反応して、前記オンライン処理部が利用する可能性のある前記特定のリソースを利用する処理の実行を前記バッチ処理部に一時停止させるバッチ処理調整部とを有すると共に、
前記バッチ処理装置の前記バッチ処理調整部が、前記IN通知の対象となるリソースの一覧であるオンライン処理実行中リストを作成する実行中リスト作成手段と、前記オンライン処理実行中リストにあるリソースを利用する処理を前記バッチファイルから抽出するリソース抽出手段と、抽出された処理の実行を前記バッチ処理部に一時停止させる処理一時停止手段とを有することを特徴とする並行処理システム。 An online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request; and a batch processing device that performs batch processing based on contents defined in a batch file given in advance; A parallel processing system configured to be connected to each other with a database server having a shared database on which the online processing and the batch processing are performed,
The online processing device performs an online processing on the shared database, a processing state corresponding to an IN state that may use a specific resource of the shared database, and the corresponding state Storage means for storing an online processing definition that predefines a set with a specific resource, and IN notification to the batch processing device when the processing state of the online processing unit transitions to the IN state defined in the online processing definition And an online processing status notification unit for sending
In response to the batch processing device receiving the IN notification, the online processing state receiving unit receiving the IN notification, the online processing state receiving unit receiving the IN notification, the online processing state both the execution of a process by the processing unit utilizes the particular resource that may use having said batch processing arrangement for temporarily stopping the batch processing unit,
The batch processing adjustment unit of the batch processing device uses an on-going list creation means for creating an on-line processing execution list that is a list of resources to be notified of IN, and uses resources on the on-line processing execution list A parallel processing system comprising: resource extracting means for extracting processing to be performed from the batch file; and processing suspending means for causing the batch processing unit to temporarily stop execution of the extracted processing.
前記バッチ処理装置の前記バッチ処理調整部が、前記OUT通知を受信したことに反応して、一時停止していた前記特定のリソースを利用する処理の実行を前記バッチ処理部に再開させる機能を有することを特徴とする、請求項1に記載の並行処理システム。 The online processing status notification unit of the online processing device has a function of sending an OUT notification to the batch processing device when the online processing unit transitions to an OUT state that is not defined in the online processing definition ,
In response to the reception of the OUT notification, the batch processing adjustment unit of the batch processing apparatus has a function of causing the batch processing unit to resume execution of a process that uses the specific resource that has been suspended. The parallel processing system according to claim 1, wherein:
前記オンライン処理状態通知部が、前記オンライン処理部の処理状態がIN状態に遷移したら前記タイマーに所定の時間の経過をカウントさせ、前記所定の時間が経過したら前記特定のリソースを強制的に前記OUT状態に遷移させる機能を有することを特徴とする、請求項2に記載の並行処理システム。 A timer that counts the passage of time is attached to the online processing state notification unit of the online processing device,
The online processing state notifying unit causes the timer to count the elapse of a predetermined time when the processing state of the online processing unit transitions to the IN state, and forcibly moves the specific resource to the OUT when the predetermined time elapses. The parallel processing system according to claim 2 , which has a function of transitioning to a state .
前記オンライン処理状態通知部が、前記特定のリソースが前記IN状態となった時に前記IDに対応する前記カウンタに1を加算する機能を有することを特徴とする、請求項1に記載の並行処理システム。 A counter that counts a numerical value for each ID given to each processing state generated in the online processing unit is attached to the online processing state notification unit of the online processing device,
2. The parallel processing system according to claim 1, wherein the online processing state notification unit has a function of adding 1 to the counter corresponding to the ID when the specific resource is in the IN state. .
前記バッチ処理装置の前記バッチ処理調整部が、前記OUT通知を受信したことに反応して、一時停止していた前記特定のリソースを利用する処理の実行を前記バッチ処理部に再開させる機能を有することを特徴とする、請求項4に記載の並行処理システム。 The online processing status notifier of the online processing device subtracts 1 from the counter corresponding to the ID when the specific resource is no longer in the IN state, and the numerical value of the counter becomes 0 Has a function to send OUT notification to the batch processing device,
In response to the reception of the OUT notification, the batch processing adjustment unit of the batch processing apparatus has a function of causing the batch processing unit to resume execution of a process that uses the specific resource that has been suspended. The parallel processing system according to claim 4 , wherein:
前記バッチ処理装置が、前記バッチ処理のソースコードの内容を解析して各処理段階に対応する処理状態とこれに対応する前記特定のリソースとの組を定義するバッチ処理リソース定義を生成するバッチ処理解析部を有することを特徴とする、請求項1に記載の並行処理システム。 Online processing analysis in which the online processing device analyzes the contents of the source code of the online processing and generates an online processing definition that defines a set of a processing state corresponding to the IN state and the specific resource corresponding thereto Part
Batch processing in which the batch processing device analyzes the contents of the source code of the batch processing and generates a batch processing resource definition that defines a set of processing states corresponding to each processing stage and the specific resource corresponding thereto The parallel processing system according to claim 1, further comprising an analysis unit.
あらかじめ与えられたバッチファイルに定義された内容に基づいてバッチ処理を行うバッチ処理装置および前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、
前記共有データベースに対して前記オンライン処理を実行するオンライン処理部と、
前記共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する前記特定のリソースとの組をあらかじめ定義するオンライン処理定義を記憶している記憶手段と、
前記オンライン処理部の処理状態が前記オンライン処理定義に定義されたIN状態に遷移したら前記バッチ処理装置にIN通知を発信するオンライン処理状態通知部とを有することを特徴とするオンライン処理装置。 An online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request,
A batch processing apparatus that performs batch processing based on the contents defined in a batch file given in advance, and a database server having the shared database that is the target of the online processing and the batch processing are mutually connected to exchange data. Communication interface to do,
An online processing unit for executing the online processing on the shared database;
Storage means for storing an online processing definition that predefines a set of a processing state corresponding to an IN state that may use a specific resource of the shared database and the specific resource corresponding thereto;
An online processing apparatus comprising: an online processing state notifying unit that issues an IN notification to the batch processing device when the processing state of the online processing unit transitions to an IN state defined in the online processing definition .
オンライン利用者端末からユーザによる処理要求を受信して前記処理要求に基づくオンライン処理を行うオンライン処理装置および前記オンライン処理および前記バッチ処理が行われる対象である共有データベースを有するデータベースサーバと相互に接続されてデータ交換を行う通信インターフェイスと、
前記共有データベースに対して前記バッチ処理を実行するバッチ処理部と、
前記オンライン処理装置からIN通知を受信するオンライン処理状態受信部と、
前記IN通知を受信したことに反応して、前記オンライン処理装置が利用する可能性のある特定のリソースを利用する処理の実行を前記バッチ処理部に一時停止させるバッチ処理調整部とを有すると共に、
前記バッチ処理調整部が、前記IN通知の対象となるリソースの一覧であるオンライン処理実行中リストを作成する実行中リスト作成手段と、前記オンライン処理実行中リストにあるリソースを利用する処理を前記バッチファイルから抽出するリソース抽出手段と、抽出された処理の実行を前記バッチ処理部に一時停止させる処理一時停止手段とを有することを特徴とするバッチ処理装置。 A batch processing apparatus that performs batch processing based on contents defined in a batch file given in advance,
Interconnected with an online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request, and a database server having a shared database on which the online processing and batch processing are performed A communication interface for exchanging data,
A batch processing unit that executes the batch processing on the shared database;
An online processing status receiving unit for receiving an IN notification from the online processing device;
In response to receiving the IN notification, and a said batch processing arrangements for online processing apparatus temporarily stops the execution of a process that utilizes Oh Ru specific resource possibility of utilizing the batch processing unit With
The batch processing adjustment unit executes an online list execution means for generating an online process execution list that is a list of resources that are the targets of the IN notification, and a process that uses the resources in the online process execution list. A batch processing apparatus comprising: resource extracting means for extracting from a file; and processing pause means for causing the batch processing unit to temporarily stop execution of the extracted process.
前記オンライン処理装置のオンライン処理部が、前記共有データベースに対して前記オンライン処理を実行し、
前記オンライン処理装置のオンライン処理状態通知部が、備えられた記憶手段に記憶されている前記共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する前記特定のリソースとの組をあらかじめ定義するオンライン処理定義に定義されたIN状態に、前記オンライン処理部の処理状態が遷移したか否かを判断し、
前記IN状態に遷移したら前記オンライン処理状態通知部が前記バッチ処理装置にIN通知を発信し、
前記バッチ処理装置のオンライン処理状態受信部が前記IN通知を受信し、
前記バッチ処理装置のバッチ処理調整部が前記IN通知を受信したことに反応して、予め作成してある前記IN通知の対象となるリソースの一覧であるオンライン処理実行中リストにあるリソースを利用する処理を前記バッチファイルから抽出し、当該抽出された処理の実行を前記バッチ処理を実行するバッチ処理部に一時停止させることを特徴とする並行処理方法。 An online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request; and a batch processing device that performs batch processing based on contents defined in a batch file given in advance; , A parallel processing system configured by interconnecting a database server having a shared database that is an object on which the online processing and the batch processing are performed, and processing the online processing and the batch processing in parallel A way to
An online processing unit of the online processing device executes the online processing on the shared database;
The processing state corresponding to the IN state in which the online processing state notifying unit of the online processing device may use the specific resource of the shared database stored in the storage unit provided, and the identification corresponding to the processing state Determining whether or not the processing state of the online processing unit has transitioned to the IN state defined in the online processing definition that predefines a pair with the resource ,
When the transition to the IN state, the online processing state notification unit sends an IN notification to the batch processing device,
The online processing status receiving unit of the batch processing apparatus receives the IN notification,
In response to the receipt of the IN notification by the batch processing adjustment unit of the batch processing apparatus, the resources in the online processing execution list that is a list of resources that are the targets of the IN notification that are created in advance are used. A parallel processing method, wherein a process is extracted from the batch file , and execution of the extracted process is temporarily stopped by a batch processing unit that executes the batch process.
前記オンライン処理装置が備えるコンピュータに、
前記共有データベースに対して前記オンライン処理を実行する手順と、
備えられた記憶手段に記憶されている前記共有データベースの特定のリソースを利用する可能性のあるIN状態に該当する処理状態とこれに対応する前記特定のリソースとの組をあらかじめ定義するオンライン処理定義に定義されたIN状態に、前記オンライン処理の処理状態が遷移したか否かを判断する手順と、
前記IN状態に遷移したら前記バッチ処理装置にIN通知を発信する手順とを実行させることを特徴とする並行処理プログラム。 An online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request; and a batch processing device that performs batch processing based on contents defined in a batch file given in advance; In a parallel processing system configured to be interconnected with a database server having a shared database that is a target on which the online processing and the batch processing are performed,
A computer included in the online processing device,
Executing the online process on the shared database;
Online process definition for predefining a set of a processing state corresponding to an IN state that may use a specific resource of the shared database stored in a storage unit provided and the specific resource corresponding to the IN state A procedure for determining whether or not the processing state of the online processing has transitioned to the IN state defined in FIG.
Parallel processing program characterized by executing the steps of transmitting an IN notification to transition the al pre Symbol batch processing apparatus to the IN state.
前記バッチ処理装置が備えるコンピュータに、
前記バッチファイルに定義された内容に基づいて前記バッチ処理を行う手順と、
前記オンライン利用者端末からIN通知を受信する手順と、
前記IN通知を受信したことに反応して、予め作成してある前記IN通知の対象となるリソースの一覧であるオンライン処理実行中リストにあるリソースを利用する処理を前記バッチファイルから抽出し、当該抽出された処理の実行を前記バッチ処理を実行するバッチ処理部に一時停止させる手順とを実行させることを特徴とする並行処理プログラム。 An online processing device that receives a processing request from a user from an online user terminal and performs online processing based on the processing request; and a batch processing device that performs batch processing based on contents defined in a batch file given in advance; In a parallel processing system configured to be interconnected with a database server having a shared database that is a target on which the online processing and the batch processing are performed,
A computer provided in the batch processing apparatus,
A procedure for performing the batch processing based on the contents defined in the batch file;
Receiving an IN notification from the online user terminal;
In response to receiving the IN notification, a process that uses a resource in the online processing execution list that is a list of resources that are targets of the IN notification that has been created in advance is extracted from the batch file, and A parallel processing program that causes a batch processing unit that executes the batch processing to temporarily execute execution of the extracted processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009064870A JP5458615B2 (en) | 2009-03-17 | 2009-03-17 | Parallel processing system, online processing device, batch processing device, parallel processing method, and parallel processing program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009064870A JP5458615B2 (en) | 2009-03-17 | 2009-03-17 | Parallel processing system, online processing device, batch processing device, parallel processing method, and parallel processing program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010218268A JP2010218268A (en) | 2010-09-30 |
| JP5458615B2 true JP5458615B2 (en) | 2014-04-02 |
Family
ID=42977046
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009064870A Expired - Fee Related JP5458615B2 (en) | 2009-03-17 | 2009-03-17 | Parallel processing system, online processing device, batch processing device, parallel processing method, and parallel processing program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5458615B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112001732B (en) * | 2020-09-03 | 2024-07-26 | 浙江网商银行股份有限公司 | Service processing system, method and device |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2526501B2 (en) * | 1993-08-17 | 1996-08-21 | 日本電気株式会社 | A traveling control method for large-volume data processing in computer systems. |
| JP3641341B2 (en) * | 1997-03-04 | 2005-04-20 | 日本電気株式会社 | Online exclusive weight avoidance device |
| JP5058416B2 (en) * | 2001-09-07 | 2012-10-24 | 株式会社日本総合研究所 | Batch control system for online combination system, program for batch control of online combination system, and recording medium recording the program |
| JP2004171339A (en) * | 2002-11-21 | 2004-06-17 | Nippon Telegr & Teleph Corp <Ntt> | Real-time request receiving system, real-time request receiving method, program and medium |
| JP4712283B2 (en) * | 2003-03-14 | 2011-06-29 | 株式会社日本総合研究所 | Data management system, batch control system, and batch control program |
-
2009
- 2009-03-17 JP JP2009064870A patent/JP5458615B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010218268A (en) | 2010-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113452774B (en) | Message pushing method, device, equipment and storage medium | |
| US9740761B2 (en) | Management of application state data | |
| US9940598B2 (en) | Apparatus and method for controlling execution workflows | |
| CN108744504B (en) | Game data processing method and device, game server and game system | |
| CN107315761A (en) | A kind of data-updating method, data query method and device | |
| CN101196912A (en) | Method and apparatus for application state synchronization | |
| CN104601696A (en) | Service processing method and service invoking frame, device and architecture | |
| JP2011164704A (en) | Client program, terminal, server device, system, and method | |
| CN115102839A (en) | A master-slave node election method, device, equipment and medium | |
| US10908963B2 (en) | Deterministic real time business application processing in a service-oriented architecture | |
| CN112269622B (en) | Page management method, device, equipment and medium | |
| WO2019242455A1 (en) | Method and apparatus for user request forwarding, reverse proxy and computer readable storage medium | |
| JP2005521945A (en) | Optimal server in common work queue environment | |
| CN108153794B (en) | Page cache data refreshing method, device and system | |
| JP4957765B2 (en) | Software program execution device, software program execution method, and program | |
| US20180131756A1 (en) | Method and system for affinity load balancing | |
| EP3687133B1 (en) | System and method for synchronization of media objects between devices operating in a multiroom system | |
| JP5458615B2 (en) | Parallel processing system, online processing device, batch processing device, parallel processing method, and parallel processing program | |
| EP1546872B1 (en) | A key event controlling apparatus | |
| US20200348840A1 (en) | System and method for event driven storage management | |
| CN112434050B (en) | Data synchronization method, device and business processing system of power grid business processing system | |
| CN106550021B (en) | Push method and device for push message | |
| CN108234481B (en) | A method and distributed system for controlling multi-machine distributed access to external systems | |
| WO2024251107A1 (en) | Container orchestration method, data access method, and electronic device and storage medium | |
| CN115103005B (en) | Request response method, device, electronic device and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120210 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130718 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130730 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130919 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131015 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131128 |
|
| 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: 20131217 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131230 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |