[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5567444B2 - Program, application server device control method, application server device - Google Patents

Program, application server device control method, application server device Download PDF

Info

Publication number
JP5567444B2
JP5567444B2 JP2010227505A JP2010227505A JP5567444B2 JP 5567444 B2 JP5567444 B2 JP 5567444B2 JP 2010227505 A JP2010227505 A JP 2010227505A JP 2010227505 A JP2010227505 A JP 2010227505A JP 5567444 B2 JP5567444 B2 JP 5567444B2
Authority
JP
Japan
Prior art keywords
monitoring
time
sql
query
issued
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
JP2010227505A
Other languages
Japanese (ja)
Other versions
JP2012083841A (en
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.)
Fujitsu Advanced Engineering Ltd
Original Assignee
Fujitsu Advanced Engineering Ltd
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 Fujitsu Advanced Engineering Ltd filed Critical Fujitsu Advanced Engineering Ltd
Priority to JP2010227505A priority Critical patent/JP5567444B2/en
Publication of JP2012083841A publication Critical patent/JP2012083841A/en
Application granted granted Critical
Publication of JP5567444B2 publication Critical patent/JP5567444B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、プログラム、アプリケーションサーバ装置の制御方法、アプリケーションサーバ装置に関する。   The present invention relates to a program, a control method for an application server device, and an application server device.

クライアントがアプリケーションサーバを介してデータベースサーバに問合せ、例えばSQLコマンドを発行した場合において、SQLコマンドが所定の時間内に完了しない場合がある。SQLコマンドが所定の時間内に完了しないと、クライアントにおいてアプリケーションプログラムの実行に障害となる。そこで、アプリケーションサーバは、SQLコマンドが所定の時間内に完了しない場合、クライアントにエラー通知処理を行う等、種々の障害処理を実行する。   When the client makes an inquiry to the database server via the application server, for example, issues an SQL command, the SQL command may not be completed within a predetermined time. If the SQL command is not completed within a predetermined time, the execution of the application program becomes an obstacle in the client. Therefore, when the SQL command is not completed within a predetermined time, the application server performs various failure processes such as performing an error notification process for the client.

例えば、サーバ処理装置において、サービススレッドが、クライアントからのリクエストを受信すると、要求された処理のタイムアウト時間と自分のスレッドIDをタイムアウト表に書込み、リクエストの処理を終了すると、タイムアウト表内のタイムアウト時間及びスレッドIDを消去し、監視スレッドが、定期的にタイムアウト表からタイムアウト時間を読み出して、現在の時刻と比較することにより、設定されたタイムアウト時間までに処理を終了していないサービススレッドを検出し、タイムアウトしたサービススレッドを発見した場合には、該サービススレッドを強制的に終了させて、クライアントにエラーを通知することが提案されている。   For example, in the server processing apparatus, when the service thread receives a request from the client, the timeout time of the requested process and its own thread ID are written in the timeout table, and when the processing of the request ends, the timeout time in the timeout table And the thread ID is deleted, and the monitoring thread periodically reads the timeout time from the timeout table and compares it with the current time to detect the service thread that has not finished processing by the set timeout time. It has been proposed that when a service thread that has timed out is found, the service thread is forcibly terminated to notify the client of an error.

また、商品販売データ処理システムにおいて、定期的にデータベースサーバーに関与して各アプリケーションプロセスが当該データベースサーバーに接続要求した回数を取得可能かつ取得した接続要求回数と設定回数とを比較して取得接続要求回数が設定回数以上になったことを条件にデータベースサーバーに障害が発生する蓋然性が強いと判別可能に形成し、障害が発生する蓋然性が強いと判別された場合にシステムの一部または全部を再起動可能に形成することが提案されている。   In the product sales data processing system, it is possible to acquire the number of times that each application process has requested to connect to the database server periodically, and the acquired connection request number is compared with the set number of connection requests. If the number of times exceeds the set number, the database server is formed so that it is possible to determine that there is a strong probability that a failure will occur in the database server. It has been proposed to make it bootable.

特開平8−263325号公報JP-A-8-263325 特開2000−122971号公報JP 2000-122971 A

データベースサーバへの問合せ、例えばSQLコマンドが所定の時間内に完了しない場合、アプリケーションサーバは、例えばデータベースサーバに対してSQLコマンドのキャンセルを発行する。SQLコマンドのキャンセルが成功した場合には、SQLコマンドを強制的に終了させることができる。   If an inquiry to the database server, for example, an SQL command is not completed within a predetermined time, the application server issues a cancellation of the SQL command to the database server, for example. If the cancellation of the SQL command is successful, the SQL command can be forcibly terminated.

しかし、アプリケーションサーバにおいて何らかの異常がある場合には、SQLコマンドのキャンセルが失敗する場合がある。SQLコマンドのキャンセルが失敗した場合には、SQLコマンドを強制的に終了させることができず、また、その後に発行されるSQLコマンドが実行されない可能性がある。   However, if there is any abnormality in the application server, the cancellation of the SQL command may fail. When the cancellation of the SQL command fails, the SQL command cannot be forcibly terminated, and the SQL command issued thereafter may not be executed.

本発明は、データベースサーバへの問合せが実行されない場合にデータベースサーバを再起動するアプリケーションサーバのプログラムを提供することを目的とする。   An object of this invention is to provide the program of the application server which restarts a database server when the inquiry to a database server is not performed.

開示されるプログラムは、コンピュータをアプリケーションサーバとして動作させるプログラムである。前記プログラムは、コンピュータに、データベースサーバへの問合せを発行する問合せステップと、問合せステップにおいて発行された問合せをデータベースサーバに対して実行する実行ステップと、問合せステップにおいて発行された問合せを監視対象として、問合せが予め定められた期間に実行ステップにおいて実行されない状態であるタイムアウトを監視し、問合せステップにおいて発行された問合せを監視する時間を定める時間である全体監視時間内に、予め定められた数の問合せがタイムアウトした場合に、データベースサーバを再起動する監視ステップとを実行させる。
The disclosed program is a program that causes a computer to operate as an application server. The program includes a query step for issuing a query to a database server to a computer, an execution step for executing the query issued in the query step for the database server, and a query issued in the query step as monitoring targets. A predetermined number of queries are monitored within the overall monitoring time, which is the time for monitoring the time-out in which the query is not executed in the execution step in a predetermined period and the time for monitoring the query issued in the query step The monitoring step of restarting the database server when the server times out.

開示されるプログラムによれば、アプリケーションサーバ等における何らかの異常に起因して、SQLコマンドのようなデータベースサーバへの問合せが実行されない場合に、データベースサーバを再起動することができる。   According to the disclosed program, the database server can be restarted when an inquiry to the database server such as an SQL command is not executed due to some abnormality in the application server or the like.

アプリケーションサーバシステムの構成の一例を示す図である。It is a figure which shows an example of a structure of an application server system. 監視テーブルの一例を示す図である。It is a figure which shows an example of the monitoring table. 監視情報の一例を示す図である。It is a figure which shows an example of monitoring information. アプリケーションサーバ装置の構成の一例を示す図である。It is a figure which shows an example of a structure of an application server apparatus. SQL監視処理の説明図である。It is explanatory drawing of a SQL monitoring process. SQL監視処理の説明図である。It is explanatory drawing of a SQL monitoring process. SQL監視処理の説明図である。It is explanatory drawing of a SQL monitoring process. SQL監視処理の説明図である。It is explanatory drawing of a SQL monitoring process. SQL処理フローチャートである。It is a SQL process flowchart. SQL登録処理フローチャートである。It is a SQL registration process flowchart. SQL登録解除処理フローチャートである。It is a SQL registration cancellation process flowchart. SQL監視処理フローチャートである。It is a SQL monitoring process flowchart. データベース監視処理フローチャートである。It is a database monitoring process flowchart. タイムアウト監視処理フローチャートである。It is a timeout monitoring process flowchart. 本発明者が検討したSQL監視処理の説明図である。It is explanatory drawing of the SQL monitoring process which this inventor examined.

図15は、本発明者が検討したSQL監視処理の説明図であり、アプリケーションサーバがSQLコマンドのキャンセルに失敗する場合についての説明図である。   FIG. 15 is an explanatory diagram of the SQL monitoring process examined by the present inventors, and is an explanatory diagram for a case where the application server fails to cancel the SQL command.

アプリケーション処理スレッド201が、監視処理への登録をアプリケーションタイムアウトスレッド203に依頼し(P#101)、その後、SQLコマンドの実行をSQLコマンド実行部204に依頼する(P#102)。SQLコマンド実行部204は、依頼されたSQLコマンドの実行をデータベースサーバ205へ依頼する。   The application processing thread 201 requests the application timeout thread 203 to register for the monitoring process (P # 101), and then requests the SQL command execution unit 204 to execute the SQL command (P # 102). The SQL command execution unit 204 requests the database server 205 to execute the requested SQL command.

この後、アプリケーション処理スレッド202が、SQLコマンドの実行をSQLコマンド実行部204に依頼する(P#102’)。SQLコマンド実行部204は、実行を依頼されたSQLコマンドをデータベースサーバ205に対して実行する。なお、P#102’における依頼に先立って、アプリケーション処理スレッド202は、監視処理への登録をアプリケーションタイムアウトスレッド203に依頼している。   Thereafter, the application processing thread 202 requests the SQL command execution unit 204 to execute the SQL command (P # 102 '). The SQL command execution unit 204 executes the SQL command requested to be executed on the database server 205. Prior to the request in P # 102 ', the application processing thread 202 requests the application timeout thread 203 to register for monitoring processing.

この時、SQLコマンドの実行が終了しないので、アプリケーション処理スレッド201は、終了しないSQLコマンドのキャンセルを、アプリケーションタイムアウトスレッド203へ依頼する。これに応じて、アプリケーションタイムアウトスレッド203は、キャンセル処理を実行するサブルーチンであるキャンセル処理実行部を呼び出し、呼び出されたキャンセル処理実行部は、SQLコマンド実行部204に対してSQLコマンドのキャンセルを実行しようとする(P#103)。   At this time, since the execution of the SQL command does not end, the application processing thread 201 requests the application timeout thread 203 to cancel the SQL command that does not end. In response to this, the application timeout thread 203 calls a cancel processing execution unit that is a subroutine for executing the cancel processing, and the called cancellation processing execution unit attempts to cancel the SQL command to the SQL command execution unit 204. (P # 103).

しかし、SQLコマンド実行部204は、P#102’における依頼に応じて他のアプリケーション処理スレッド202からのSQLコマンドを実行中であるので、P#103におけるSQLコマンドのキャンセルを実行することができない。   However, since the SQL command execution unit 204 is executing the SQL command from the other application processing thread 202 in response to the request in P # 102 ', the SQL command in P # 103 cannot be canceled.

また、データベースサーバ205が正常でない場合には、SQLコマンド実行部204は、データベースサーバ205へ実行を依頼したSQLコマンドをキャンセルすることができない。   If the database server 205 is not normal, the SQL command execution unit 204 cannot cancel the SQL command requested to be executed by the database server 205.

このように、SQLコマンドのキャンセルが失敗した場合には、SQLコマンドを強制的に終了させることができない。また、その後にSQLコマンドを再度実行しようとしても、実行されない可能性がある。従って、SQLコマンドの実行のリトライが無駄になる可能性がある。   Thus, when the cancellation of the SQL command fails, the SQL command cannot be forcibly terminated. Further, if an attempt is made again to execute the SQL command after that, there is a possibility that the SQL command is not executed. Therefore, there is a possibility that the retry of executing the SQL command is wasted.

開示のプログラム、アプリケーションサーバ装置の制御方法、アプリケーションサーバ装置は、データベースサーバへの問合せ、例えばSQLコマンドのタイムアウトを監視し、タイムアウトが予め定められた状態となった場合に、データベースサーバを再起動する。   The disclosed program, the control method of the application server apparatus, and the application server apparatus monitor the inquiry to the database server, for example, the timeout of the SQL command, and restart the database server when the timeout becomes a predetermined state .

図1は、アプリケーションサーバシステムの構成の一例を示す図である。   FIG. 1 is a diagram illustrating an example of a configuration of an application server system.

アプリケーションサーバシステムは、アプリケーションサーバ1と、データベースサーバ2と、予備のデータベースサーバ2’と、複数のクライアント3とを含む。データベースサーバ2はデータベース(DB)21を含み、予備のデータベースサーバ2’は予備のデータベース(DB)21’を含む。予備のデータベース21’は、データベース21と同じデータを格納するデータベースである。アプリケーションサーバ1は、ネットワーク4を介して、データベースサーバ2に接続される。また、アプリケーションサーバ1は、ネットワーク5を介して、複数のクライアント3の各々に接続される。ネットワーク4はネットワーク5と同一であっても良い。また、アプリケーションサーバ1とデータベースサーバ2とが1個のサーバ装置として設けられるようにしても良い。   The application server system includes an application server 1, a database server 2, a spare database server 2 ′, and a plurality of clients 3. The database server 2 includes a database (DB) 21, and the spare database server 2 ′ includes a spare database (DB) 21 ′. The spare database 21 ′ is a database that stores the same data as the database 21. The application server 1 is connected to the database server 2 via the network 4. The application server 1 is connected to each of the plurality of clients 3 via the network 5. The network 4 may be the same as the network 5. Further, the application server 1 and the database server 2 may be provided as one server device.

各々のクライアント3、換言すれば、クライアント装置は、データベースサーバ2へ問合せを行うコンピュータである。具体的には、各々のクライアント3は、データベースサーバ2への問合せ要求をアプリケーションサーバ1へ送信する。   Each client 3, in other words, the client device is a computer that makes an inquiry to the database server 2. Specifically, each client 3 transmits an inquiry request to the database server 2 to the application server 1.

アプリケーションサーバ1は、複数のアプリケーション処理部11、実行処理部12、監視処理部13、監視情報格納部14と、監視テーブル格納部15を含む。   The application server 1 includes a plurality of application processing units 11, an execution processing unit 12, a monitoring processing unit 13, a monitoring information storage unit 14, and a monitoring table storage unit 15.

複数のアプリケーション処理部11は、アプリケーションサーバ1に接続された複数のクライアント3に応じて設けられる。実際には、アプリケーション処理部11は、アプリケーションサーバ1の制御プログラムにより、クライアント3毎に生成されるスレッドである。アプリケーション処理部11は、クライアント3から受信したデータベースサーバ2への種々の要求に応じて、データベースサーバ2への種々の問合せを発行する。例えば、アプリケーション処理部11は、データベースサーバ2へのSQLコマンドを実行処理部12へ発行する。   The plurality of application processing units 11 are provided according to the plurality of clients 3 connected to the application server 1. Actually, the application processing unit 11 is a thread generated for each client 3 by the control program of the application server 1. The application processing unit 11 issues various queries to the database server 2 in response to various requests to the database server 2 received from the client 3. For example, the application processing unit 11 issues an SQL command to the database server 2 to the execution processing unit 12.

以下においては、データベースサーバ2への問合せがSQLコマンドである場合について説明する。データベースサーバ2への問合せは、SQLコマンド以外のコマンド等であっても良い。   In the following, a case where the query to the database server 2 is an SQL command will be described. The query to the database server 2 may be a command other than the SQL command.

実行処理部12は、複数のアプリケーション処理部11により発行されたデータベースサーバ2へのSQLコマンドをデータベースサーバ2に対して実行する。実際には、実行処理部12は、ネットワーク4を介して、SQLコマンドをデータベースサーバ2へ送信する。データベースサーバ2は、受信したSQLコマンドを実行して、受信したSQLコマンドに対する応答を実行処理部12に返信する。具体的には、データベースサーバ2は、受信したSQLコマンドに基づいてデータベース21を検索して、検索した結果を受信したSQLコマンドに対する回答として、実行処理部12に送信する。   The execution processing unit 12 executes an SQL command for the database server 2 issued by the plurality of application processing units 11 to the database server 2. Actually, the execution processing unit 12 transmits an SQL command to the database server 2 via the network 4. The database server 2 executes the received SQL command and returns a response to the received SQL command to the execution processing unit 12. Specifically, the database server 2 searches the database 21 based on the received SQL command, and transmits the search result to the execution processing unit 12 as an answer to the received SQL command.

監視処理部13は、複数のアプリケーション処理部11により発行されたSQLコマンドを監視対象とする。監視対象であるSQLコマンドは、監視テーブル格納部15に格納された監視テーブル151に登録されたSQLコマンドである。監視テーブル151については、図2を参照して後述する。   The monitoring processing unit 13 monitors the SQL commands issued by the plurality of application processing units 11. The SQL command to be monitored is an SQL command registered in the monitoring table 151 stored in the monitoring table storage unit 15. The monitoring table 151 will be described later with reference to FIG.

監視処理部13は、SQLコマンドのタイムアウトを監視する。実際には、監視処理部13は、アプリケーションサーバ1の制御プログラムにより生成されるスレッドである。SQLコマンドのタイムアウトは、SQLコマンドが予め定められた期間に実行処理部12で実行されない状態である。前記期間は、監視処理部13がSQLコマンドの実行を監視する時間であり、経験的に定めることができ、予め定められる。   The monitoring processor 13 monitors the timeout of the SQL command. Actually, the monitoring processing unit 13 is a thread generated by the control program of the application server 1. The timeout of the SQL command is a state in which the SQL command is not executed by the execution processing unit 12 during a predetermined period. The period is a time during which the monitoring processing unit 13 monitors the execution of the SQL command, and can be determined empirically and is determined in advance.

監視処理部13は、予め定められた数のSQLコマンドがタイムアウトした場合に、データベースサーバ2を再起動する。具体的には、監視処理部13は、再起動コマンドをデータベースサーバ2へ送信する。データベースサーバ2は、受信した再起動コマンドを実行する。これにより、データベースサーバ2の種々の制御プログラムが一旦停止され、データベースサーバ2のOS(オペレーティングシステム)が再起動され、OSの再起動に伴ってデータベースサーバ2の種々の制御プログラムが再起動される。   The monitoring processing unit 13 restarts the database server 2 when a predetermined number of SQL commands time out. Specifically, the monitoring processing unit 13 transmits a restart command to the database server 2. The database server 2 executes the received restart command. Thereby, the various control programs of the database server 2 are temporarily stopped, the OS (operating system) of the database server 2 is restarted, and the various control programs of the database server 2 are restarted when the OS is restarted. .

データベースサーバ2の再起動の間、例えば数分の間、クライアント3は、データベースサーバ2へアクセスすることができない。換言すれば、実行処理部12は、SQLコマンドを実行することができない。なお、実際には、再起動されるデータベースサーバ2の予備のデータベースサーバ2’が設けられ、データベースサーバ2の再起動が完了するまでの間、クライアント3から予備のデータベースサーバ2’へのアクセスが可能とされる。予備のデータベース21’はデータベース21と同じ内容を格納するので、クライアント3は、実際には、データベースサーバ2の再起動を意識する必要がない。   During the restart of the database server 2, for example for several minutes, the client 3 cannot access the database server 2. In other words, the execution processing unit 12 cannot execute the SQL command. In practice, a spare database server 2 ′ of the database server 2 to be restarted is provided, and the client 3 can access the spare database server 2 ′ until the restart of the database server 2 is completed. It is possible. Since the spare database 21 ′ stores the same contents as the database 21, the client 3 does not actually need to be aware of the restart of the database server 2.

データベースサーバ2は、予め定められた数、換言すれば、再起動に必要な数のSQLコマンドがタイムアウトした場合に、再起動される。再起動に必要な数は、経験的に定めることができ、予め定められる。   The database server 2 is restarted when a predetermined number, in other words, the number of SQL commands necessary for restarting time out. The number required for restart can be determined empirically and is predetermined.

監視処理部13は、後述するように、監視情報格納部14に、監視処理におけるパラメータとして全体監視時間を備える。監視情報格納部14については、図3を参照して後述する。全体監視時間は、複数のアプリケーション処理部11により発行されたSQLコマンドを監視する時間を定める。監視処理部13は、複数のアプリケーション処理部11のいずれかにより発行されたSQLコマンドが最初にタイムアウトした場合に、全体監視時間のカウントを開始させる。監視処理部13は、全体監視時間内に予め定められた数、換言すれば、再起動に必要な数のSQLコマンドがタイムアウトした場合に、データベースサーバ2を再起動する。   As will be described later, the monitoring processing unit 13 includes an overall monitoring time as a parameter in the monitoring processing in the monitoring information storage unit 14. The monitoring information storage unit 14 will be described later with reference to FIG. The overall monitoring time determines the time for monitoring the SQL commands issued by the plurality of application processing units 11. When the SQL command issued by any of the plurality of application processing units 11 times out first, the monitoring processing unit 13 starts counting the total monitoring time. The monitoring processing unit 13 restarts the database server 2 when a predetermined number, in other words, the number of SQL commands necessary for restarting time out within the entire monitoring time.

「再起動に必要な数」は、例えば、全体監視時間内に発行可能なSQLコマンドの総数とされる。全体監視時間内に発行可能なSQLコマンドの総数は、全体監視時間と下限SQL発行間隔とに基づいて定まる。この場合、全体監視時間内に発行可能なSQLコマンドの全てがタイムアウトした場合に、データベースサーバ2が再起動されることになる。これにより、後述するように、データベースサーバ2の再起動が頻繁に実行されることを防止することができる。   The “number necessary for restart” is, for example, the total number of SQL commands that can be issued within the overall monitoring time. The total number of SQL commands that can be issued within the overall monitoring time is determined based on the overall monitoring time and the lower limit SQL issue interval. In this case, the database server 2 is restarted when all of the SQL commands that can be issued within the entire monitoring time have timed out. Thereby, as described later, it is possible to prevent the database server 2 from being frequently restarted.

「再起動に必要な数」は、全体監視時間内に発行可能なSQLコマンドの総数に限られず、これ以外の数であっても良い。例えば、全体監視時間内に発行可能なSQLコマンドの総数に基づいて算出した数、換言すれば、前記総数に所定の割合を乗じて算出した値を、再起動に必要な数とするようにしても良い。また、全体監視時間内に発行可能なSQLコマンドの総数とは無関係に定めた数を、再起動に必要な数とするようにしても良い。   The “number required for restart” is not limited to the total number of SQL commands that can be issued within the overall monitoring time, but may be other numbers. For example, the number calculated based on the total number of SQL commands that can be issued within the overall monitoring time, in other words, the value calculated by multiplying the total number by a predetermined ratio is set as the number necessary for restarting. Also good. Further, the number determined regardless of the total number of SQL commands that can be issued within the overall monitoring time may be set as the number necessary for restarting.

図2は、監視テーブルの一例を示す図である。   FIG. 2 is a diagram illustrating an example of the monitoring table.

監視テーブル格納部15は監視テーブル151を格納する。監視テーブル151は、基本的には、アプリケーション処理部11からのSQL登録処理の依頼に基づいて、登録を依頼されたSQLコマンドを登録することにより、監視処理部13により作成される。監視テーブル151は、SQLコマンド毎に、スレッドID、DBコマンド、開始時刻、キャンセル時刻を格納する。   The monitoring table storage unit 15 stores a monitoring table 151. The monitoring table 151 is basically created by the monitoring processing unit 13 by registering the SQL command requested to be registered based on the SQL registration processing request from the application processing unit 11. The monitoring table 151 stores a thread ID, a DB command, a start time, and a cancel time for each SQL command.

SQLコマンドは、「SQL#1」等のコマンドIDにより表される。コマンドIDは、SQLコマンドを一意に特定する識別情報である。スレッドIDは、対応するSQLコマンドを発行したアプリケーション処理部11、換言すれば、アプリケーション処理スレッドを一意に特定する識別情報である。DBコマンドは、対応するSQLコマンドの内容、換言すれば、SELECT文等の記述内容である。SQLコマンド、スレッドID及びDBコマンドは、アプリケーション処理部11からのSQL登録処理の依頼に基づいて、登録を依頼された時点で、監視テーブル151に格納される。   The SQL command is represented by a command ID such as “SQL # 1”. The command ID is identification information that uniquely identifies the SQL command. The thread ID is identification information that uniquely identifies the application processing unit 11 that has issued the corresponding SQL command, in other words, the application processing thread. The DB command is the content of the corresponding SQL command, in other words, the description content of a SELECT statement or the like. The SQL command, thread ID, and DB command are stored in the monitoring table 151 when registration is requested based on the SQL registration processing request from the application processing unit 11.

開始時刻は、対応するSQLコマンドの実行が開始された時刻であり、実際には、対応するSQLコマンドが監視テーブル151に登録された時刻である。開始時刻は、アプリケーションサーバ1の備えるタイマから取得される。開始時刻は、アプリケーション処理部11からSQLコマンドの登録を依頼された時点で、監視テーブル151に格納される。   The start time is the time when execution of the corresponding SQL command is started, and is actually the time when the corresponding SQL command is registered in the monitoring table 151. The start time is acquired from a timer provided in the application server 1. The start time is stored in the monitoring table 151 when the application processing unit 11 requests registration of the SQL command.

キャンセル時刻は、対応するSQLコマンドの実行がキャンセルされた時刻である。キャンセル時刻は、アプリケーションサーバ1の備えるタイマから取得される。キャンセル時刻は、監視処理部13から実行処理部12へキャンセル処理を依頼し、実行処理部12から前記キャンセル処理の依頼への応答が監視処理部13へ返信された時点で、監視処理部13により監視テーブル151に格納される。   The cancel time is the time when execution of the corresponding SQL command is cancelled. The cancellation time is acquired from a timer provided in the application server 1. The cancel processing time is requested by the monitoring processing unit 13 when the monitoring processing unit 13 requests the execution processing unit 12 to cancel the process, and when the response to the request for cancellation processing is returned from the execution processing unit 12 to the monitoring processing unit 13. Stored in the monitoring table 151.

図3は、監視情報の一例を示す図である。   FIG. 3 is a diagram illustrating an example of monitoring information.

監視情報格納部14は、SQL監視処理における種々のパラメータを格納する。監視情報格納部14は、全体監視時間領域141、監視間隔領域142、下限SQL監視間隔領域143、下限SQL発行件数領域144、下限SQL発行間隔領域145、全体監視開始時刻領域146、SQLタイムアウト件数領域147、前回SQL実行時刻領域148、SQL発行件数領域149を含む。これらの領域141〜149に格納される情報が、SQL監視処理におけるパラメータである。   The monitoring information storage unit 14 stores various parameters in the SQL monitoring process. The monitoring information storage unit 14 includes an overall monitoring time area 141, a monitoring interval area 142, a lower limit SQL monitoring interval area 143, a lower limit SQL issue count area 144, a lower limit SQL issue interval area 145, an overall monitoring start time area 146, and an SQL timeout count area. 147, a previous SQL execution time area 148, and an SQL issue number area 149. Information stored in these areas 141 to 149 is a parameter in the SQL monitoring process.

全体監視時間領域141は全体監視時間を格納する。全体監視時間は、経験的に求めることができ、予め定められる。全体監視時間は、SQLコマンドの監視処理において、複数のアプリケーション処理部11により発行された全てのSQLコマンド、換言すれば、監視テーブル151に登録されたSQLコマンドを監視する時間である。   The overall monitoring time area 141 stores the overall monitoring time. The overall monitoring time can be determined empirically and is predetermined. The total monitoring time is a time for monitoring all the SQL commands issued by the plurality of application processing units 11, in other words, the SQL commands registered in the monitoring table 151 in the SQL command monitoring process.

監視間隔領域142は監視間隔を格納する。監視間隔は、経験的に求めることができ、予め定められる。監視間隔は、SQLコマンドの監視処理において、監視処理部13がSQLコマンドの監視を実行する間隔である。   The monitoring interval area 142 stores the monitoring interval. The monitoring interval can be determined empirically and is determined in advance. The monitoring interval is an interval at which the monitoring processing unit 13 executes monitoring of the SQL command in the monitoring processing of the SQL command.

下限SQL監視間隔領域143は下限SQL監視間隔を格納する。下限SQL監視間隔は、経験的に求めることができ、予め定められる。下限SQL監視間隔は、SQLコマンドの監視処理において、予め定められた数のSQLコマンドがタイムアウトした場合であってもデータベースサーバ2の再起動に寄与しない条件、換言すれば、再起動の例外条件を定める。具体的には、SQLコマンドの監視間隔が下限SQL監視間隔よりも小さい場合には、その時点でタイムアウトしたSQLコマンド又はその時点までにタイムアウトしたSQLコマンドが、データベースサーバ2の再起動に必要な数としてカウントされない。又は、予め定められた数のSQLコマンドがタイムアウトした場合であっても、SQLコマンドの監視間隔が下限SQL監視間隔よりも小さい場合には、データベースサーバ2は再起動されない。   The lower limit SQL monitoring interval area 143 stores the lower limit SQL monitoring interval. The lower limit SQL monitoring interval can be obtained empirically and is determined in advance. The lower limit SQL monitoring interval is a condition that does not contribute to restart of the database server 2 even if a predetermined number of SQL commands time out in the monitoring process of the SQL command, in other words, an exception condition for restart. Determine. Specifically, when the monitoring interval of the SQL command is smaller than the lower limit SQL monitoring interval, the number of SQL commands timed out at that time or SQL commands timed out until that time are necessary for restarting the database server 2 Not counted as. Alternatively, even when a predetermined number of SQL commands time out, the database server 2 is not restarted if the monitoring interval of the SQL commands is smaller than the lower limit SQL monitoring interval.

下限SQL発行件数領域144は下限SQL発行件数を格納する。下限SQL発行件数は、経験的に求めることができ、予め定められる。下限SQL発行件数は、SQLコマンドの監視処理において、再起動の例外条件を定める。具体的には、SQLコマンドの発行件数が下限SQL発行件数よりも小さい場合には、その時点でタイムアウトしたSQLコマンド又はその時点までにタイムアウトしたSQLコマンドが、データベースサーバ2の再起動に必要な数としてカウントされない。又は、予め定められた数のSQLコマンドがタイムアウトした場合であっても、SQLコマンドの発行件数が下限SQL発行件数よりも小さい場合には、データベースサーバ2は再起動されない。   The lower limit SQL issue number area 144 stores the lower limit SQL issue number. The lower limit SQL issuance number can be obtained empirically and is determined in advance. The lower limit SQL issuance number defines an exception condition for restart in the monitoring process of the SQL command. Specifically, when the number of issued SQL commands is smaller than the lower limit number of issued SQL commands, the number of SQL commands timed out at that time or SQL commands timed out until that time are required for restarting the database server 2 Not counted as. Alternatively, even when a predetermined number of SQL commands have timed out, the database server 2 is not restarted if the number of issued SQL commands is smaller than the lower limit number of issued SQL commands.

下限SQL発行間隔領域145は下限SQL発行間隔を格納する。下限SQL発行間隔は、経験的に求めることができ、予め定められる。下限SQL発行間隔は、後述するように、再起動可能時刻を算出するために用いられる。   The lower limit SQL issue interval area 145 stores the lower limit SQL issue interval. The lower limit SQL issue interval can be determined empirically and is determined in advance. The lower limit SQL issue interval is used to calculate the restartable time, as will be described later.

全体監視開始時刻領域146は全体監視開始時刻を格納する。全体監視開始時刻は、SQLコマンドの監視処理において、監視処理部13がSQLコマンドの監視を開始した時刻、換言すれば、複数のアプリケーション処理部11のいずれかにより発行されたSQLコマンドが最初にタイムアウトした時刻である。更に言えば、全体監視開始時刻は、複数のアプリケーション処理部11のいずれかにより発行されたSQLコマンドについて、最初にキャンセル処理を実行するサブルーチンであるキャンセル処理実行部が呼び出された時刻である。全体監視開始時刻は、後述するように、監視テーブル151のキャンセル時刻から取得される。全体監視開始時刻は、監視処理部13がSQLコマンドの監視を開始した時点で、監視処理部13により全体監視開始時刻領域146に格納される。   The overall monitoring start time area 146 stores the overall monitoring start time. The total monitoring start time is the time at which the monitoring processing unit 13 starts monitoring the SQL command in the SQL command monitoring processing, in other words, the SQL command issued by one of the plurality of application processing units 11 first times out. It is time. Furthermore, the overall monitoring start time is the time when the cancel processing execution unit, which is a subroutine that first executes the cancel processing, is called for the SQL command issued by any of the plurality of application processing units 11. The overall monitoring start time is acquired from the cancel time of the monitoring table 151 as will be described later. The overall monitoring start time is stored in the overall monitoring start time area 146 by the monitoring processing unit 13 when the monitoring processing unit 13 starts monitoring the SQL command.

SQLタイムアウト件数領域147はSQLタイムアウト件数を格納する。SQLタイムアウト件数は、SQLコマンドの監視処理において、タイムアウトしたSQLコマンドの件数である。SQLタイムアウト件数は、監視処理部13により、SQLコマンドがタイムアウトする都度にカウントされ、SQLタイムアウト件数領域147に格納される。   The SQL timeout number area 147 stores the SQL timeout number. The number of SQL timeouts is the number of SQL commands that timed out in the SQL command monitoring process. The number of SQL timeouts is counted every time the SQL command times out by the monitoring processing unit 13 and stored in the SQL timeout number area 147.

前回SQL実行時刻領域148は前回SQL実行時刻を格納する。前回SQL実行時刻は、SQLコマンドの監視処理において、前回発行された、換言すれば、最新のSQLコマンドの直前に発行されたSQLコマンドの発行時刻である。前回SQL実行時刻は、監視処理部13が最新のSQLコマンドを監視テーブル151に登録した時点で、監視処理部13により、監視テーブル151において、最新のSQLコマンドの直前に発行されたSQLコマンドの発行時刻を参照して、前回SQL実行時刻領域148に格納される。   The previous SQL execution time area 148 stores the previous SQL execution time. The previous SQL execution time is the issue time of the SQL command issued last time in the SQL command monitoring process, in other words, immediately before the latest SQL command. The previous SQL execution time is the issuance of the SQL command issued immediately before the latest SQL command in the monitoring table 151 by the monitoring processing unit 13 when the monitoring processing unit 13 registers the latest SQL command in the monitoring table 151. With reference to the time, it is stored in the previous SQL execution time area 148.

SQL発行件数領域149はSQL発行件数を格納する。SQL発行件数は、SQLコマンドの監視処理において、複数のアプリケーション処理部11から発行されたSQLコマンドの件数である。SQL発行件数は、監視処理部13により、SQLコマンドが発行される都度にカウントされ、SQL発行件数領域149に格納される。   The SQL issue number area 149 stores the SQL issue number. The number of SQL issuances is the number of SQL commands issued from a plurality of application processing units 11 in the SQL command monitoring process. The number of SQL issuances is counted each time an SQL command is issued by the monitoring processing unit 13 and stored in the SQL issuance number area 149.

図4は、アプリケーションサーバのハードウェア構成の一例を示す図である。   FIG. 4 is a diagram illustrating an example of a hardware configuration of the application server.

CPU101は、ROM103に格納された制御プログラムに従って、アプリケーションサーバ1を制御する。CPU101は、例えば主メモリであるRAM102上のアプリケーション処理プログラム、実行処理プログラム、監視処理プログラムを実行する。これにより、アプリケーション処理部11、実行処理部12、監視処理部13が実現される。アプリケーション処理プログラム、実行処理プログラム、監視処理プログラムは、例えば、CD−ROMやDVD等の記録媒体107に格納され、記録媒体107からハードディスク106に入力され、ハードディスク106からRAM102にロードされる。監視情報格納部14、監視テーブル格納部15は、例えばRAM102に設けられる。   The CPU 101 controls the application server 1 according to a control program stored in the ROM 103. For example, the CPU 101 executes an application processing program, an execution processing program, and a monitoring processing program on the RAM 102 which is a main memory. Thereby, the application processing unit 11, the execution processing unit 12, and the monitoring processing unit 13 are realized. The application processing program, the execution processing program, and the monitoring processing program are stored in the recording medium 107 such as a CD-ROM or DVD, input from the recording medium 107 to the hard disk 106, and loaded from the hard disk 106 to the RAM 102. The monitoring information storage unit 14 and the monitoring table storage unit 15 are provided in the RAM 102, for example.

入力装置104は、例えばキーボードであり、マウス等を含んでも良い。出力装置105は、例えばディスプレイであり、プリンタ等の出力装置を含んでも良い。CPU101、RAM102、ROM103、入力装置104、出力装置105、及び、ハードディスク106は、バス100を介して、相互に接続される。   The input device 104 is a keyboard, for example, and may include a mouse or the like. The output device 105 is a display, for example, and may include an output device such as a printer. The CPU 101, the RAM 102, the ROM 103, the input device 104, the output device 105, and the hard disk 106 are connected to each other via the bus 100.

図5は、アプリケーションサーバにおけるSQL監視処理の説明図である。   FIG. 5 is an explanatory diagram of the SQL monitoring process in the application server.

図5において、アプリケーション処理部11として、複数のアプリケーション処理スレッド31が生成されている。また、監視処理部13として、アプリケーションタイムアウトスレッド131が生成されている。また、実行処理部12をSQLコマンド実行部121と言うこととする。   In FIG. 5, a plurality of application processing threads 31 are generated as the application processing unit 11. An application timeout thread 131 is generated as the monitoring processing unit 13. The execution processing unit 12 is referred to as an SQL command execution unit 121.

アプリケーション処理スレッド31は、対応するクライアント3からデータベースサーバ2への問合せ要求を受信する。これに応じて、アプリケーション処理スレッド31は、SQL監視処理への登録、換言すれば、監視テーブル151への登録をアプリケーションタイムアウトスレッド131に依頼し(P#1)、その後、SQLコマンドの実行をSQLコマンド実行部121に依頼する(P#2)。SQLコマンド実行部121は、実行を依頼されたSQLコマンドの実行をデータベースサーバ2へ依頼する。   The application processing thread 31 receives an inquiry request from the corresponding client 3 to the database server 2. In response to this, the application processing thread 31 requests the application timeout thread 131 to register to the SQL monitoring process, in other words, registration to the monitoring table 151 (P # 1), and then execute the SQL command. The command execution unit 121 is requested (P # 2). The SQL command execution unit 121 requests the database server 2 to execute the SQL command requested to be executed.

この後、アプリケーション処理スレッド32は、対応するクライアント3からデータベースサーバ2への問合せ要求を受信する。これに応じて、アプリケーション処理スレッド32は、SQL監視処理への登録をアプリケーションタイムアウトスレッド131に依頼し(P#1’)、その後、SQLコマンドの実行をSQLコマンド実行部121に依頼する(P#2’)。SQLコマンド実行部121は、実行を依頼されたSQLコマンドをデータベースサーバ2に対して実行する。   Thereafter, the application processing thread 32 receives an inquiry request from the corresponding client 3 to the database server 2. In response to this, the application processing thread 32 requests the application timeout thread 131 to register for the SQL monitoring process (P # 1 ′), and then requests the SQL command execution unit 121 to execute the SQL command (P #). 2 '). The SQL command execution unit 121 executes the SQL command requested to be executed on the database server 2.

アプリケーションタイムアウトスレッド131は、アプリケーション処理スレッド31及びアプリケーション処理スレッド32からSQL監視処理への登録を依頼されたSQLコマンドの全体ついての実行を周期的に監視する(P#3)。SQL監視処理への登録を依頼されたSQLコマンドを、監視対象SQLコマンドと言うこととする。監視対象SQLコマンドは、監視テーブル151に登録されたSQLコマンドである。   The application timeout thread 131 periodically monitors the execution of the entire SQL command requested to be registered in the SQL monitoring process by the application processing thread 31 and the application processing thread 32 (P # 3). The SQL command requested to be registered in the SQL monitoring process is referred to as a monitoring target SQL command. The monitoring target SQL command is an SQL command registered in the monitoring table 151.

アプリケーションタイムアウトスレッド131は、監視対象SQLコマンドの実行が予め定められた期間内に終了しない場合、換言すれば、監視対象SQLコマンドがタイムアウトした場合、キャンセル処理を実行するサブルーチンであるキャンセル処理実行部を呼び出す(P#4)。呼び出されたキャンセル処理実行部は、SQLコマンド実行部121に対してSQLコマンドのキャンセルを実行する。   When the execution of the monitoring target SQL command does not end within a predetermined period, in other words, when the monitoring target SQL command times out, the application timeout thread 131 includes a cancel process execution unit that is a subroutine for executing a cancel process. Call (P # 4). The called cancellation process execution unit executes the SQL command cancellation to the SQL command execution unit 121.

P#4の処理において、アプリケーションタイムアウトスレッド131は、監視テーブル151において、タイムアウトしたSQLコマンドについてキャンセル時刻を格納する。キャンセル時刻は、アプリケーションサーバ1の備えるタイマから取得される。また、アプリケーションタイムアウトスレッド131は、タイムアウトしたSQLコマンドについて監視テーブル151に格納したキャンセル時刻に基づいて、全体監視開始時刻領域146に全体監視開始日時を設定する。   In the process of P # 4, the application timeout thread 131 stores the cancel time for the timed-out SQL command in the monitoring table 151. The cancellation time is acquired from a timer provided in the application server 1. The application timeout thread 131 sets the overall monitoring start date and time in the overall monitoring start time area 146 based on the cancel time stored in the monitoring table 151 for the timed-out SQL command.

例えば、実行処理部12が他のアプリケーション処理スレッド32からのSQLコマンドを実行中でない場合には、SQLコマンド実行部121は、データベースサーバ2へ実行を依頼したSQLコマンドをキャンセルすることができる。また、データベースサーバ2が正常である場合には、実行処理部12は、データベースサーバ2へ実行を依頼したSQLコマンドをキャンセルすることができる。監視処理部13は、複数のアプリケーション処理部11により発行されたSQLコマンドがキャンセルされた場合であっても、キャンセルされたSQLコマンドを監視対象SQLコマンドとする。   For example, when the execution processing unit 12 is not executing an SQL command from another application processing thread 32, the SQL command execution unit 121 can cancel the SQL command requested to be executed by the database server 2. When the database server 2 is normal, the execution processing unit 12 can cancel the SQL command requested to be executed by the database server 2. Even if the SQL command issued by the plurality of application processing units 11 is canceled, the monitoring processing unit 13 sets the canceled SQL command as the monitoring target SQL command.

一方、実行処理部12が他のアプリケーション処理スレッド32からのSQLコマンドを実行中である場合には、SQLコマンド実行部121は、データベースサーバ2へ実行を依頼したSQLコマンドをキャンセルすることができない。また、データベースサーバ2が正常でない場合には、SQLコマンド実行部121は、データベースサーバ2へ実行を依頼したSQLコマンドをキャンセルすることができない。   On the other hand, when the execution processing unit 12 is executing an SQL command from another application processing thread 32, the SQL command execution unit 121 cannot cancel the SQL command requested to be executed by the database server 2. When the database server 2 is not normal, the SQL command execution unit 121 cannot cancel the SQL command requested to be executed by the database server 2.

以上のように、キャンセルが成功するか失敗するかに拘わりなく、キャンセル処理を実行するキャンセル処理実行部が呼び出されたSQLコマンドが、タイムアウトしたSQLコマンドとしてカウントされる。以上の結果として、データベースサーバ2において、SQLコマンドがタイムアウトする原因が存在する場合、以下の図6に示すように、監視対象SQLが、連続してタイムアウトする。   As described above, regardless of whether the cancellation is successful or unsuccessful, the SQL command for which the cancel processing execution unit that executes the cancel processing is called is counted as a time-out SQL command. As a result of the above, when there is a cause for the SQL command to time out in the database server 2, as shown in FIG. 6 below, the monitoring target SQL is timed out continuously.

図6は、アプリケーションサーバにおけるSQL監視処理の説明図である。   FIG. 6 is an explanatory diagram of the SQL monitoring process in the application server.

例えば、時刻t11に1番目のSQLコマンドであるSQL#1が発行される。しかし、SQL#1は実行されずに、時刻t12にSQL#1のタイムアウトが発生する。これにより、全体監視時間のカウントがスタートし、全てのSQLが監視対象とされる。このために、監視処理部13は、全体監視時間カウンタを含む。   For example, SQL # 1, which is the first SQL command, is issued at time t11. However, SQL # 1 is not executed, and a timeout of SQL # 1 occurs at time t12. As a result, counting of the entire monitoring time starts, and all SQLs are monitored. For this purpose, the monitoring processing unit 13 includes an overall monitoring time counter.

この後、時刻t13に2番目のSQLコマンドであるSQL#2が発行される。しかし、SQL#2は実行されずに、時刻t14にSQL#2のタイムアウトが発生する。この後、更に、複数のSQLコマンドが発行される。しかし、発行された全てのSQLコマンドが実行されず、発行された全てのSQLコマンドのタイムアウトが発生する。   Thereafter, SQL # 2, which is the second SQL command, is issued at time t13. However, SQL # 2 is not executed, and a timeout of SQL # 2 occurs at time t14. Thereafter, a plurality of SQL commands are issued. However, all issued SQL commands are not executed, and a timeout occurs for all issued SQL commands.

ここで、SQL#1及び#2を含めて、全体で100個のSQLコマンドが発行されたとする。また、100個のSQLの中で、最後に、時刻t15に100番目のSQLコマンドであるSQL#100が発行され、実行されず、時刻t16にSQL#100のタイムアウトが発生するものとする。   Here, it is assumed that 100 SQL commands are issued in total including SQL # 1 and # 2. In addition, in 100 SQLs, SQL # 100, which is the 100th SQL command, is finally issued at time t15 and is not executed, and a timeout of SQL # 100 occurs at time t16.

例えば、時刻t12からカウントを開始した全体監視時間が、時刻t17に予め定められた時間、例えば600秒に達したとする。従って、全体監視時間が経過した時刻t17までに、発行された全てのSQLコマンドのタイムアウトが発生している。換言すれば、全体監視時間が経過し、かつ、発行された全てのSQLコマンドのタイムアウトが発生している。そこで、時刻t17に、データベースサーバ2が再起動される。これにより、SQLコマンドのリトライが無駄に繰り返されることを回避することができる。   For example, it is assumed that the overall monitoring time when counting is started from time t12 reaches a predetermined time, for example, 600 seconds at time t17. Therefore, the time-out of all issued SQL commands has occurred until time t17 when the overall monitoring time has elapsed. In other words, the entire monitoring time has elapsed, and timeouts of all issued SQL commands have occurred. Therefore, the database server 2 is restarted at time t17. Thereby, it can be avoided that the retry of the SQL command is repeated in vain.

この後、時刻t18にSQL#101が発行され、時刻t19に101番目のSQLコマンドであるSQL#101が正常に実行され終了する。更に、時刻t110に102番目のSQLコマンドであるSQL#102が発行され、SQL発行件数がカウントされる。しかし、SQL#102は実行されずに、時刻t111にSQL#102のタイムアウトが発生する。これにより、全体監視時間のカウントがスタートし、全てのSQLが監視対象とされる。   Thereafter, SQL # 101 is issued at time t18, and SQL # 101, the 101st SQL command, is normally executed and terminated at time t19. Furthermore, at time t110, the 102nd SQL command SQL # 102 is issued, and the number of SQL issuances is counted. However, SQL # 102 is not executed, and a timeout of SQL # 102 occurs at time t111. As a result, counting of the entire monitoring time starts, and all SQLs are monitored.

この後、時刻t112に103番目のSQLコマンドであるSQL#103が発行され、正常に実行され、時刻t113に終了する。これにより、全体監視時間のカウントがストップし、全てのSQLについての監視がストップされる。   Thereafter, SQL # 103, which is the 103rd SQL command, is issued at time t112, is normally executed, and ends at time t113. Thereby, the count of the entire monitoring time is stopped, and monitoring for all SQL is stopped.

図6に対して、前述したように、データベースサーバ2の再起動の例外が設けられる。監視処理部13は、監視情報格納部14に格納された再起動の例外条件を用いて、タイムアウトしたSQLコマンドをデータベースサーバ2の再起動に必要な数としてカウントしないようにするか、又は、予め定められた数のSQLコマンドがタイムアウトした場合であってもデータベースサーバ2を再起動しないようにする。   As shown in FIG. 6, an exception for restarting the database server 2 is provided. The monitoring processing unit 13 uses the restart exception condition stored in the monitoring information storage unit 14 so as not to count the timed-out SQL command as the number necessary for restarting the database server 2, or in advance Even when a predetermined number of SQL commands time out, the database server 2 is not restarted.

図7は、アプリケーションサーバにおけるSQL監視処理の説明図である。   FIG. 7 is an explanatory diagram of the SQL monitoring process in the application server.

例えば、監視処理部13は、前述したように、データベースサーバ2を再起動する場合から除外する例外条件として、下限SQL発行件数を備える。下限SQL発行件数は、複数のアプリケーション処理部11により発行されたSQLコマンドの発行件数を定める。   For example, as described above, the monitoring processing unit 13 includes a lower limit SQL issue number as an exception condition to be excluded from the case of restarting the database server 2. The lower limit number of issued SQL statements determines the number of issued SQL commands issued by a plurality of application processing units 11.

監視処理部13は、図7に示すように、全体監視時間内に予め定められた数のSQLコマンドがタイムアウトした場合において、タイムアウトしたSQLコマンドの件数が下限SQL発行件数より少ない場合には、予め定められた数のSQLコマンドがタイムアウトした場合を、データベースサーバ2を再起動する場合から除外する。   As shown in FIG. 7, when the predetermined number of SQL commands time out within the overall monitoring time, the monitoring processing unit 13 determines in advance that the number of SQL commands that timed out is less than the lower limit SQL issuance number. The case where a predetermined number of SQL commands time out is excluded from the case where the database server 2 is restarted.

図7において、例えば、時刻t21にSQL#1が発行され、SQL発行件数がカウントされる。しかし、SQL#1は実行されずに、時刻t22にSQL#1のタイムアウトが発生する。これにより、全体監視時間のカウントがスタートし、全てのSQLが監視対象とされる。   In FIG. 7, for example, SQL # 1 is issued at time t21, and the number of SQL issuances is counted. However, SQL # 1 is not executed, and a timeout of SQL # 1 occurs at time t22. As a result, counting of the entire monitoring time starts, and all SQLs are monitored.

この後、時刻t23にSQL#2が発行され、SQL発行件数がカウントされる。しかし、SQL#2は実行されずに、時刻t24にSQL#2のタイムアウトが発生する。この後、更に、複数のSQLコマンドが発行され、その都度SQL発行件数がカウントされる。しかし、発行された全てのSQLコマンドが実行されず、発行された全てのSQLコマンドのタイムアウトが発生する。   Thereafter, SQL # 2 is issued at time t23, and the number of SQL issued items is counted. However, SQL # 2 is not executed, and a timeout of SQL # 2 occurs at time t24. After this, a plurality of SQL commands are issued, and the number of SQL issuances is counted each time. However, all issued SQL commands are not executed, and a timeout occurs for all issued SQL commands.

ここで、SQL#1及び#2を含めて、全体で50個のSQLコマンドが発行されたとする。また、50個のSQLの中で、最後に、時刻t25に50番目のSQLコマンドであるSQL#50が発行され、実行されず、時刻t26にSQL#50のタイムアウトが発生するものとする。SQL#50のタイムアウトが発生した時点におけるSQL発行件数は「50」である。   Here, it is assumed that 50 SQL commands are issued in total including SQL # 1 and # 2. In addition, among the 50 SQLs, SQL # 50, which is the 50th SQL command, is finally issued at time t25 and is not executed, and a timeout of SQL # 50 occurs at time t26. The number of SQL issuances when SQL # 50 timeout occurs is “50”.

例えば、時刻t22からカウントを開始した全体監視時間が、時刻t27に予め定められた時間、例えば600秒に達したとする。従って、全体監視時間が経過した時刻t27までに、発行された全てのSQLコマンドのタイムアウトが発生している。換言すれば、全体監視時間が経過し、かつ、発行された全てのSQLコマンドのタイムアウトが発生している。   For example, it is assumed that the overall monitoring time when counting is started from time t22 reaches a predetermined time, for example, 600 seconds at time t27. Therefore, the time-out of all issued SQL commands has occurred by time t27 when the overall monitoring time has elapsed. In other words, the entire monitoring time has elapsed, and timeouts of all issued SQL commands have occurred.

しかし、この場合、全体監視時間が経過し、かつ、発行された全てのSQLコマンドのタイムアウトが発生しているにも拘らず、データベースサーバ2は再起動されない。これは、全体監視時間が経過した時点におけるSQLの発行件数が、「50」であり、下限SQL発行件数「60」より小さいためである。   However, in this case, the database server 2 is not restarted even though the overall monitoring time has elapsed and all the issued SQL commands have timed out. This is because the number of SQL issuances when the overall monitoring time has elapsed is “50”, which is smaller than the lower limit number of SQL issuances “60”.

この結果、全体監視時間が経過した時点におけるSQLの発行件数が少ない場合には、これらのタイムアウトが、データベースサーバ2の再起動の原因とならない。これにより、データベースサーバ2の再起動が頻繁に実行されることを防止することができる。   As a result, when the number of SQL issuances is small when the overall monitoring time has elapsed, these timeouts do not cause the database server 2 to restart. Thereby, it is possible to prevent the restart of the database server 2 from being frequently executed.

図8は、アプリケーションサーバにおけるSQL監視処理の説明図である。   FIG. 8 is an explanatory diagram of the SQL monitoring process in the application server.

例えば、監視処理部13は、下限SQL発行間隔を備える。下限SQL発行間隔は、データベースサーバ2を再起動する場合から除外する例外条件として、複数のアプリケーション処理部11により発行されるSQLコマンドの発行の時間間隔を定める。   For example, the monitoring processing unit 13 includes a lower limit SQL issue interval. The lower limit SQL issuance interval defines a time interval for issuing SQL commands issued by a plurality of application processing units 11 as an exception condition excluded from the case of restarting the database server 2.

監視処理部13は、図8に示すように、複数のアプリケーション処理部11により発行されたSQLコマンドの発行の時間間隔が下限SQL発行間隔よりも長い場合には、その時点までに発行されたSQLコマンドを監視対象から除外し、その時点における全体監視時間のカウントをリセットしてその時点から再スタートさせる。   As shown in FIG. 8, when the time interval for issuing the SQL commands issued by the plurality of application processing units 11 is longer than the lower limit SQL issuing interval, the monitoring processing unit 13 uses the SQL issued up to that point. The command is excluded from the monitoring target, the total monitoring time count at that time is reset, and the restart is performed from that time.

図8において、例えば、時刻t31にSQL#1が発行され、現在時刻t31を前回SQL実行時刻とする。しかし、SQL#1は実行されずに、時刻t32にSQL#1のタイムアウトが発生する。これにより、全体監視時間のカウントがスタートし、全てのSQLが監視対象とされる。   In FIG. 8, for example, SQL # 1 is issued at time t31, and the current time t31 is set as the previous SQL execution time. However, SQL # 1 is not executed, and a timeout of SQL # 1 occurs at time t32. As a result, counting of the entire monitoring time starts, and all SQLs are monitored.

この後、時刻t33にSQL#2が発行され、現在時刻t33が前回SQL実行時刻とされる。しかし、SQL#2は実行されずに、時刻t34にSQL#2のタイムアウトが発生する。   Thereafter, SQL # 2 is issued at time t33, and the current time t33 is set as the previous SQL execution time. However, SQL # 2 is not executed, and a timeout of SQL # 2 occurs at time t34.

この後、前回SQL実行時刻t33から例えば70秒経過した後において、時刻t35にSQL#3が発行される。   Thereafter, after 70 seconds elapse from the previous SQL execution time t33, SQL # 3 is issued at time t35.

この時、SQLの発行の時間間隔に基づいて、時刻t32からスタートした全体監視時間のカウントが中止される。これは、最新のSQL#3の発行時刻t35において、前回SQL実行時刻t33から現在時刻t35までの時間が、「70秒」であり、下限SQL発行間隔「60秒」より大きいためである。なお、全体監視時間のカウントの中止の後、現在時刻t35が新たな前回SQL実行時刻とされる。   At this time, counting of the entire monitoring time started from time t32 is stopped based on the time interval for issuing SQL. This is because the time from the previous SQL execution time t33 to the current time t35 is “70 seconds” at the latest SQL # 3 issuance time t35, which is larger than the lower limit SQL issuance interval “60 seconds”. Note that the current time t35 is set as a new previous SQL execution time after the count of the entire monitoring time is stopped.

この結果、時刻t32におけるSQL#1のタイムアウト及び時刻t34におけるSQL#2のタイムアウトが、データベースサーバ2の再起動の原因とならない。これにより、データベースサーバ2の再起動が頻繁に実行されることを防止することができる。   As a result, the SQL # 1 timeout at time t32 and the SQL # 2 timeout at time t34 do not cause the database server 2 to restart. Thereby, it is possible to prevent the restart of the database server 2 from being frequently executed.

図9は、アプリケーションサーバにおけるSQL処理フローチャートである。   FIG. 9 is an SQL process flowchart in the application server.

アプリケーション処理部11は、前述したように、監視処理部13にSQLコマンドの監視、換言すれば、監視テーブル151へのSQLコマンドの登録を依頼する。これに応じて、監視処理部13は、SQLコマンドを監視テーブル151に登録するSQL登録処理を実行する(ステップS11)。SQL登録処理については、図10を参照して後述する。   As described above, the application processing unit 11 requests the monitoring processing unit 13 to monitor the SQL command, in other words, to register the SQL command in the monitoring table 151. In response to this, the monitoring processing unit 13 executes an SQL registration process for registering the SQL command in the monitoring table 151 (step S11). The SQL registration process will be described later with reference to FIG.

この後、アプリケーション処理部11は、前述したように、実行処理部12にSQLコマンドの実行を依頼する。これに応じて、実行処理部12は、登録されたSQLコマンドを実行する(ステップS12)。   Thereafter, the application processing unit 11 requests the execution processing unit 12 to execute the SQL command as described above. In response to this, the execution processing unit 12 executes the registered SQL command (step S12).

この後、監視処理部13は、実行されたSQLコマンドを監視テーブル151から削除するSQL登録解除処理を実行する(ステップS13)。SQL登録解除処理については、図11を参照して後述する。   Thereafter, the monitoring processing unit 13 executes an SQL deregistration process for deleting the executed SQL command from the monitoring table 151 (step S13). The SQL registration cancellation process will be described later with reference to FIG.

図10は、SQL登録処理フローチャートである。   FIG. 10 is an SQL registration process flowchart.

監視処理部13は、監視テーブル151を排他状態とした上で(ステップS21)、監視テーブル151に、スレッド、DBコマンド、開始時刻を登録する(ステップS22)。監視処理部13は、SQL発行件数領域149に格納されているSQL発行件数を「SQL発行件数+1」とする(ステップS23)。この後、監視処理部13は、監視テーブル151を排他解除状態とする(ステップS24)。   The monitoring processing unit 13 sets the monitoring table 151 to the exclusive state (step S21), and registers the thread, DB command, and start time in the monitoring table 151 (step S22). The monitoring processing unit 13 sets the number of SQL issuances stored in the SQL issuance number area 149 to “SQL issuance number + 1” (step S23). Thereafter, the monitoring processing unit 13 sets the monitoring table 151 to the exclusive release state (step S24).

図11は、SQL登録解除処理フローチャートである。   FIG. 11 is an SQL registration release processing flowchart.

監視処理部13は、監視テーブル151を排他状態とした上で(ステップS31)、監視テーブル151から、実行されたSQLについての情報であるSQL情報を削除する(ステップS32)。監視処理部13は、SQL発行件数領域149に格納されているSQL発行件数を「SQL発行件数−1」とする(ステップS33)。この後、監視処理部13は、監視テーブル151を排他解除状態とする(ステップS34)。   The monitoring processing unit 13 makes the monitoring table 151 in an exclusive state (step S31), and deletes SQL information that is information about the executed SQL from the monitoring table 151 (step S32). The monitoring processing unit 13 sets the number of SQL issuances stored in the SQL issuance number area 149 to be “the number of SQL issuances−1” (Step S33). Thereafter, the monitoring processing unit 13 sets the monitoring table 151 to the exclusive release state (step S34).

図12は、SQL監視処理フローチャートである。   FIG. 12 is an SQL monitoring process flowchart.

監視処理部13は、監視テーブル151を排他状態とした上で(ステップS41)、データベース監視処理を実行し(ステップS42)、更に、タイムアウト監視処理を実行する(ステップS43)。データベース監視処理については、図13を参照して後述する。タイムアウト監視処理については、図14を参照して後述する。この後、監視処理部13は、監視テーブル151を排他解除状態とした上で(ステップS44)、スリープ状態となり(ステップS45)、監視間隔領域142に格納された監視間隔が経過するのを待って、ステップS41を繰り返す。   The monitoring processing unit 13 sets the monitoring table 151 in an exclusive state (step S41), executes database monitoring processing (step S42), and further executes timeout monitoring processing (step S43). The database monitoring process will be described later with reference to FIG. The timeout monitoring process will be described later with reference to FIG. Thereafter, the monitoring processing unit 13 sets the monitoring table 151 to the exclusive release state (step S44), enters the sleep state (step S45), and waits for the monitoring interval stored in the monitoring interval area 142 to elapse. Step S41 is repeated.

図13は、データベース監視処理フローチャートである。   FIG. 13 is a flowchart of the database monitoring process.

監視処理部13は、全体監視開始時刻領域146に全体監視開始日時が設定されているか否かを判断する(ステップS51)。全体監視開始日時が設定されていない場合、監視処理部13は、処理を終了する。   The monitoring processing unit 13 determines whether or not the overall monitoring start date / time is set in the overall monitoring start time area 146 (step S51). If the overall monitoring start date / time is not set, the monitoring processing unit 13 ends the process.

全体監視開始日時が設定されている場合、監視処理部13は、全体監視開始時刻に全体監視時間を加算することにより監視終了時刻を算出する(ステップS52)。この後、監視処理部13は、算出した監視終了時刻が現在時刻に到達しているか否かを判断する(ステップS53)。現在時刻が監視終了時刻に到達していない場合、監視処理部13は、処理を終了する。   When the overall monitoring start date and time is set, the monitoring processing unit 13 calculates the monitoring end time by adding the overall monitoring time to the overall monitoring start time (step S52). Thereafter, the monitoring processing unit 13 determines whether or not the calculated monitoring end time has reached the current time (step S53). If the current time has not reached the monitoring end time, the monitoring processing unit 13 ends the process.

現在時刻が監視終了時刻に到達している場合、監視処理部13は、更に、SQL発行件数が下限SQL発行件数領域144に格納された下限SQL発行件数以上であるか否かを判断する(ステップS54)。SQL発行件数が下限SQL発行件数以上でない場合、監視処理部13は、処理を終了する。   If the current time has reached the monitoring end time, the monitoring processing unit 13 further determines whether or not the number of SQL issuances is equal to or greater than the lower limit number of SQL issuances stored in the lower limit SQL issuance number area 144 (step) S54). If the number of SQL issuances is not greater than or equal to the lower limit number of SQL issuances, the monitoring processor 13 ends the process.

SQL発行件数が下限SQL発行件数以上である場合、監視処理部13は、前回SQL実行時刻領域148に格納された前回SQL実行時刻に、下限SQL発行間隔領域145に格納された下限SQL発行間隔を加算することにより、再起動可能時刻を算出する(ステップS55)。この後、監視処理部13は、算出した再起動可能時刻が現在時刻に到達しているか否かを判断する(ステップS56)。現在時刻が再起動可能時刻に到達していない場合、監視処理部13は、次のステップS57を実行することなく、処理を終了する。   When the number of SQL issuances is equal to or greater than the lower limit number of SQL issuances, the monitoring processing unit 13 sets the lower limit SQL issuance interval stored in the lower limit SQL issuance interval area 145 at the previous SQL execution time stored in the previous SQL execution time area 148. The restartable time is calculated by adding (step S55). Thereafter, the monitoring processing unit 13 determines whether or not the calculated restartable time has reached the current time (step S56). If the current time has not reached the restartable time, the monitoring processing unit 13 ends the process without executing the next step S57.

現在時刻が再起動可能時刻に到達している場合、監視処理部13は、再起動スクリプトを呼び出し(ステップS57)、処理を終了する。   If the current time has reached the restartable time, the monitoring processing unit 13 calls the restart script (step S57) and ends the process.

ステップS54において、SQL発行件数が下限SQL発行件数領域144に格納された下限SQL発行件数より小さい場合、監視処理部13は、全体監視開始時刻領域146の全体監視開始日時を「NULL」に設定して(ステップS58)、処理を終了する。   In step S54, when the number of SQL issuances is smaller than the lower limit number of SQL issuances stored in the lower limit SQL issuance number area 144, the monitoring processing unit 13 sets the overall monitoring start date and time in the overall monitoring start time area 146 to “NULL”. (Step S58), the process is terminated.

図14は、タイムアウト監視処理フローチャートである。   FIG. 14 is a flowchart of timeout monitoring processing.

監視処理部13は、監視テーブル151から発行順に1個のSQLコマンドを取り出す(ステップS61)。取り出されたSQLコマンドを「SQLn」と言うこととする。監視処理部13は、SQLn開始時刻に下限SQL時間を加算することにより終了日時を算出する(ステップS62)。この後、監視処理部13は、算出した終了日時がSQLn現在時刻に到達しているか否かを判断する(ステップS63)。終了日時がSQLn現在時刻に到達していない場合、監視処理部13は、後述するステップS611を実行する。   The monitoring processing unit 13 extracts one SQL command from the monitoring table 151 in the order of issue (step S61). The extracted SQL command is referred to as “SQLn”. The monitoring processor 13 calculates the end date and time by adding the lower limit SQL time to the SQLn start time (step S62). Thereafter, the monitoring processing unit 13 determines whether or not the calculated end date / time has reached the current SQLn time (step S63). If the end date / time has not reached the current SQLn time, the monitoring processing unit 13 executes step S611 described later.

終了日時がSQLn現在時刻に到達している場合、監視処理部13は、更に、監視テーブル151に、「SQLn」のキャンセル時刻であるSQLnキャンセル時刻が設定されているか否かを判断する(ステップS64)。SQLnキャンセル時刻が設定されている場合、監視処理部13は、後述するステップS611を実行する。   When the end date / time has reached the current SQLn time, the monitoring processing unit 13 further determines whether or not the SQLn cancellation time that is the cancellation time of “SQLn” is set in the monitoring table 151 (step S64). ). When the SQLn cancel time is set, the monitoring processing unit 13 executes step S611 described later.

SQLnキャンセル時刻が設定されていない場合、監視処理部13は、現在時刻をSQLnキャンセル時刻に設定し(ステップS65)、キャンセル処理実行部を呼び出す(ステップS66)。   When the SQLn cancel time is not set, the monitoring processing unit 13 sets the current time as the SQLn cancel time (step S65) and calls the cancel processing execution unit (step S66).

この後、監視処理部13は、全体監視開始時刻領域146に全体監視開始時刻が設定されているか否かを判断する(ステップS67)。全体監視開始時刻が設定されていない場合、監視処理部13は、現在日時を全体監視開始時刻領域146の全体監視開始時刻に設定し(ステップS68)、SQL発行件数領域149のSQL発行件数を「1」とする(ステップS69)。全体監視開始日時が設定されている場合、監視処理部13は、SQL発行件数領域149のSQL発行件数を「SQL発行件数+1」とする(ステップS610)。   Thereafter, the monitoring processing unit 13 determines whether or not the overall monitoring start time is set in the overall monitoring start time area 146 (step S67). If the overall monitoring start time is not set, the monitoring processing unit 13 sets the current date and time as the overall monitoring start time in the overall monitoring start time area 146 (step S68), and sets the number of SQL issuances in the SQL issuance number area 149 to “ 1 "(step S69). When the entire monitoring start date and time is set, the monitoring processing unit 13 sets the number of SQL issuances in the SQL issuance number area 149 to “SQL issuance number + 1” (step S610).

この後、監視処理部13は、SQLnが最後のSQLであるか否かを判断する(ステップS611)。SQLnが最後のSQLでない場合、監視処理部13は、ステップS61を繰り返す。SQLnが最後のSQLである場合、監視処理部13は、処理を終了する。   Thereafter, the monitoring processing unit 13 determines whether or not SQLn is the last SQL (step S611). If SQLn is not the last SQL, the monitoring processing unit 13 repeats Step S61. When SQLn is the last SQL, the monitoring processing unit 13 ends the process.

1 アプリケーションサーバ
2 データベースサーバ
3 クライアント
4、5 ネットワーク
11 アプリケーション処理部
12 実行処理部
13 監視処理部
14 監視情報格納部
15 監視テーブル格納部
DESCRIPTION OF SYMBOLS 1 Application server 2 Database server 3 Client 4, 5 Network 11 Application processing part 12 Execution processing part 13 Monitoring processing part 14 Monitoring information storage part 15 Monitoring table storage part

Claims (8)

コンピュータをアプリケーションサーバとして動作させるプログラムであって、
前記プログラムは、コンピュータに、
データベースサーバへの問合せを発行する問合せステップと、
前記問合せステップにおいて発行された前記問合せを前記データベースサーバに対して実行する実行ステップと、
前記問合せステップにおいて発行された前記問合せを監視対象として、前記問合せが予め定められた期間に前記実行ステップにおいて実行されない状態であるタイムアウトを監視し、前記問合せステップにおいて発行された前記問合せを監視する時間を定める時間である全体監視時間内に、予め定められた数の前記問合せがタイムアウトした場合に、前記データベースサーバを再起動する監視ステップとを実行させる
ことを特徴とするプログラム。
A program for operating a computer as an application server,
The program is stored in a computer.
A query step for issuing a query to the database server;
An execution step of executing the query issued in the query step with respect to the database server;
Time to monitor the query issued in the query step, monitoring the timeout that is not executed in the execution step in a predetermined period with the query issued in the query step being monitored And a monitoring step of restarting the database server when a predetermined number of inquiries have timed out within an overall monitoring time that is a predetermined time.
前記監視ステップにおいて、前記問合せステップにおいて発行された前記問合せが最初にタイムアウトした場合に、前記全体監視時間のカウントを開始させる
ことを特徴とする請求項1に記載のプログラム。
2. The program according to claim 1, wherein in the monitoring step, counting of the total monitoring time is started when the inquiry issued in the inquiry step first times out.
前記監視ステップにおいて、前記問合せステップにおいて発行された前記問合せの発行の時間間隔が、前記問合せステップにおいて発行される前記問合せの発行の時間間隔を定める下限問合せ発行間隔よりも長い場合には、その時点までに発行された前記問合せを前記監視対象から除外し、その時点における前記全体監視時間のカウントをリセットしてその時点から再スタートさせる
ことを特徴とする請求項2に記載のプログラム。
In the monitoring step, when a time interval of issuing the query issued in the query step is longer than a lower limit query issuing interval that defines a time interval of issuing the query issued in the query step, the time point 3. The program according to claim 2, wherein the query issued until then is excluded from the monitoring target, the count of the total monitoring time at that time is reset, and restarted from that time.
前記監視ステップにおいて、前記全体監視時間内に前記予め定められた数の前記問合せがタイムアウトした場合において、タイムアウトした前記問合せの件数が、前記問合せステップにおいて発行された前記問合せの発行件数を定める下限問合せ発行件数より少ない場合には、前記全体監視時間内に前記予め定められた数の前記問合せがタイムアウトした場合を、前記データベースサーバを再起動する場合から除外する
ことを特徴とする請求項1に記載のプログラム。
In the monitoring step, when the predetermined number of the queries timed out within the overall monitoring time, the number of the queries that timed out determines the lower limit query that determines the number of the queries issued in the querying step. The case where the number of issued cases is smaller than a case where the predetermined number of the queries time out within the overall monitoring time is excluded from a case where the database server is restarted. Program.
前記監視ステップにおいて、前記問合せステップにおいて発行された前記問合せがキャンセルされた場合であっても、キャンセルされた前記問合せを前記監視対象とする
ことを特徴とする請求項1に記載のプログラム。
The program according to claim 1, wherein, in the monitoring step, even if the inquiry issued in the inquiry step is canceled, the canceled inquiry is the monitoring target.
前記問合せステップにおいて、前記アプリケーションサーバに接続された複数のクライアントの各々に応じて生成されたスレッドが、対応する前記クライアントから受信した前記データベースサーバへの問合せ要求に応じて、前記問合せを発行する
ことを特徴とする請求項1に記載のプログラム。
In the inquiry step, a thread generated according to each of a plurality of clients connected to the application server issues the inquiry in response to an inquiry request to the database server received from the corresponding client. The program according to claim 1.
データベースサーバへの問合せを発行するステップと、
発行された前記問合せを前記データベースサーバに対して実行するステップと、
発行された前記問合せを監視対象として、前記問合せが予め定められた期間に実行されない状態であるタイムアウトを監視するステップと、
発行された前記問合せを監視する時間を定める時間である全体監視時間内に、予め定められた数の前記問合せがタイムアウトした場合に、前記データベースサーバを再起動するステップとを含む
ことを特徴とするアプリケーションサーバ装置の制御方法。
Issuing a query to the database server;
Executing the issued query against the database server;
Monitoring the time-out in which the query is not executed in a predetermined period, with the issued query as a monitoring target;
Restarting the database server when a predetermined number of the queries time out within an overall monitoring time, which is a time for determining a time for monitoring the issued queries. Control method of application server device.
データベースサーバへの問合せを発行する複数のアプリケーション処理部と、
前記複数のアプリケーション処理部により発行された前記問合せを前記データベースサーバに対して実行する実行処理部と、
前記複数のアプリケーション処理部により発行された前記問合せを監視対象として、前記問合せが予め定められた期間に前記実行処理部で実行されない状態であるタイムアウトを監視し、発行された前記問合せを監視する時間を定める時間である全体監視時間内に、予め定められた数の前記問合せがタイムアウトした場合に、前記データベースサーバを再起動する監視処理部とを含む
ことを特徴とするアプリケーションサーバ装置。
Multiple application processing units that issue queries to the database server;
An execution processing unit that executes the query issued by the plurality of application processing units to the database server;
As a monitoring target issued the query by the plurality of application processing unit, the query monitors the timeout is a state that is not executed by the execution unit in a predetermined period, monitoring the query is issued An application server device comprising: a monitoring processing unit that restarts the database server when a predetermined number of the queries time out within an overall monitoring time that is a time for determining a time.
JP2010227505A 2010-10-07 2010-10-07 Program, application server device control method, application server device Expired - Fee Related JP5567444B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010227505A JP5567444B2 (en) 2010-10-07 2010-10-07 Program, application server device control method, application server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010227505A JP5567444B2 (en) 2010-10-07 2010-10-07 Program, application server device control method, application server device

Publications (2)

Publication Number Publication Date
JP2012083841A JP2012083841A (en) 2012-04-26
JP5567444B2 true JP5567444B2 (en) 2014-08-06

Family

ID=46242664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010227505A Expired - Fee Related JP5567444B2 (en) 2010-10-07 2010-10-07 Program, application server device control method, application server device

Country Status (1)

Country Link
JP (1) JP5567444B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736161B2 (en) * 1984-01-23 1995-04-19 日新電機株式会社 CPU abnormality detection device
JP2000163655A (en) * 1998-11-26 2000-06-16 Toshiba Tec Corp Commodity sales data processing system
JP2004213122A (en) * 2002-12-27 2004-07-29 Idemitsu Kosan Co Ltd Stable operation method of control system by client/server and program therefor
JP4756001B2 (en) * 2007-02-16 2011-08-24 楽天株式会社 Information providing apparatus, appropriate determination information generation method, and appropriate determination information generation processing program
JP2009157662A (en) * 2007-12-26 2009-07-16 Nec Corp Database management apparatus, database management method, and database management program

Also Published As

Publication number Publication date
JP2012083841A (en) 2012-04-26

Similar Documents

Publication Publication Date Title
EP3008592B1 (en) Pre-fetching content for service-connected applications
CN111767184A (en) Fault diagnosis method and device, electronic equipment and storage medium
US9665391B2 (en) Automated transaction tuning in application servers
US20100131952A1 (en) Assistance In Performing Action Responsive To Detected Event
US20160140164A1 (en) Complex event processing apparatus and complex event processing method
US20110228668A1 (en) Method and system for automatic failover of distributed query processing using distributed shared memory
US11789751B2 (en) System and method for estimation of time to completion for heterogeneous application upgrades in a customer environment
CN111352797B (en) System and method for monitoring software application processes
JP2019502202A (en) Method and apparatus for upgrading a distributed storage system
US20140337303A1 (en) Bandwidth optimized two-phase commit protocol for distributed transactions
US20230185558A1 (en) System and method for managing a model for solving issues using a set of actions performed on the client environment
JPH1063523A (en) Method and device for controlling activation of server in multithread environment
US20160357623A1 (en) Abnormality detection method and information processing apparatus
EP2524302A2 (en) Persistent application activation and timer notifications
CN112508191A (en) Method and device for training deep learning model, electronic equipment and storage medium
CN113238815A (en) Interface access control method, device, equipment and storage medium
JP5567444B2 (en) Program, application server device control method, application server device
CN109446034B (en) Method and device for reporting crash event, computer equipment and storage medium
US11934820B2 (en) System and method for managing a model for solving issues relating to application upgrades in a customer environment
CN111552637A (en) Database state detection method and device, electronic equipment and storage medium thereof
CN114328083B (en) WDT monitoring method, device and medium
JP2020119018A (en) Information processing system, information processing device and program
US20100121827A1 (en) Cim data quarantine
WO2021000656A1 (en) Control method, apparatus and communication device for deadlock detection, and computer storage medium
US10083086B2 (en) Systems and methods for automatically resuming commissioning of a partition image after a halt in the commissioning process

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140619

R150 Certificate of patent or registration of utility model

Ref document number: 5567444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees