JP2008210110A - Business system and its execution request management method - Google Patents

Business system and its execution request management method Download PDF

Info

Publication number
JP2008210110A
JP2008210110A JP2007045622A JP2007045622A JP2008210110A JP 2008210110 A JP2008210110 A JP 2008210110A JP 2007045622 A JP2007045622 A JP 2007045622A JP 2007045622 A JP2007045622 A JP 2007045622A JP 2008210110 A JP2008210110 A JP 2008210110A
Authority
JP
Japan
Prior art keywords
time
execution
execution request
client
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007045622A
Other languages
Japanese (ja)
Inventor
Hideaki Sasakura
秀昭 笹倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007045622A priority Critical patent/JP2008210110A/en
Publication of JP2008210110A publication Critical patent/JP2008210110A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a business system and an execution request management method, for reducing a time when response is performed to an execution request from a client, and not causing a high load state of a server by a second time execution request from the client. <P>SOLUTION: When the execution request is outputted from a queue, the server calculates and holds a latest queue residence time when the execution request is stored in the queue. The server calculates and holds a latest value of an execution time of each operation executed in the past. When receiving the execution request of the operation from the client, addition of the latest queue residence time and the execution time of the operation executed in the past corresponding to the execution request is performed to estimate the execution time of the requested operation. When an estimation value exceeds a preset upper limit value, a response including an error message of execution impossibility is returned to the client of an execution request source of the operation. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明はサーバとクライアントとを備える業務システム及びその実行要求管理方法に関する。   The present invention relates to a business system including a server and a client and an execution request management method thereof.

一般に、種々の産業分野の業務に適したコンピュータシステムは業務システムと呼ばれる。業務システムは、プリンタやモデム等のハードウェア資源及びアプリケーションソフトウェアやデータベース等の情報資源を集中管理するコンピュータ(サーバ)と、サーバが管理している資源を利用するコンピュータである複数のクライアントとによって構成される。   Generally, a computer system suitable for business in various industrial fields is called a business system. A business system is composed of a computer (server) that centrally manages hardware resources such as printers and modems and information resources such as application software and databases, and a plurality of clients that are computers that use resources managed by the server. Is done.

このような業務システムでは、各クライアントからサーバに対して上記ハードウェア資源や情報資源の各種資源を利用した処理(オペレーション)がネットワークを介して要求される。   In such a business system, processing (operation) using various hardware resources and information resources is requested from each client to the server via the network.

サーバは、クライアントからオペレーションの実行要求(リクエスト)を受け付けると、複数のサーバアプリケーションのうち、オペレーションを実行していないアプリケーション(以下、このようなアプリケーションを「空きプロセス」と称す)が生じるまでクライアントからのリクエストをキューで一時的に保管する。そして、空きプロセスが生じた時点で要求されたオペレーションを実行し、クライアントへその結果(応答)を返送する。このとき、サーバが処理負荷の大きい状態(以下、高負荷状態と称す)にあると、クライアントには実行要求に対する応答がなかなか返送されなくなる。また、サーバがストール状態になった場合はクライアントに応答が返送されない。   When the server receives an operation execution request from the client, the client until an application that does not execute the operation (hereinafter referred to as “free process”) among the plurality of server applications occurs. Temporarily store requests in the queue. Then, the requested operation is executed when a free process occurs, and the result (response) is returned to the client. At this time, if the server is in a heavy processing load state (hereinafter referred to as a high load state), a response to the execution request is hardly returned to the client. In addition, when the server is stalled, no response is returned to the client.

このような高負荷状態に対応するため、従来の業務システムでは、予めオペレータの操作によってサーバにクライアントへの応答時間の上限値を設定しておき、オペレーションの実行時間が該上限値を超えた場合は、クライアントに実行不可のエラーメッセージを含む応答を返送することで、クライアントに何らかの応答を必ず返送するようにしている。   In order to cope with such a high load state, in the conventional business system, an upper limit value of the response time to the client is set in the server in advance by an operator's operation, and the execution time of the operation exceeds the upper limit value Sends a response containing a non-executable error message to the client so that some response is always sent back to the client.

しかしながら、このような従来の業務システムでは、クライアントのユーザは、予めサーバに設定された応答時間の上限値を超えるまでサーバからの応答を待たなければならないという問題がある。また、クライントのユーザの操作により、エラーメッセージを含む応答の受信後に同じオペレーションの実行要求を再びサーバに対して送出することで、サーバの処理負荷が増大して高負荷状態を招いてしまうことがある。特にサーバから応答が長時間返送されないと、応答を待ちきれずにクライアントのユーザが実行要求を何度もサーバへ送出することがあるため、サーバの高負荷状態に拍車をかけることになってしまう。さらに、サーバは、実行完了の見込みの無いオペレーションでも、クライントからの要求に応じて実行しようとするため、サーバのリソースを無駄に使用してしまう問題もあった。   However, in such a conventional business system, there is a problem that the client user must wait for a response from the server until the upper limit of the response time preset in the server is exceeded. In addition, when a response including an error message is received by a client user operation, the same operation execution request is sent again to the server, which increases the processing load on the server and leads to a high load state. is there. In particular, if a response is not returned from the server for a long time, the client user may send an execution request to the server many times without waiting for a response, which will spur the high load state of the server. . Furthermore, since the server tries to execute an operation whose execution is not expected to be completed in response to a request from the client, there is a problem that the server resources are wasted.

このような問題に対処するため、例えば特許文献1には、クライアントからのリクエストをリクエストキューで保持し、該リクエストの滞留時間、リクエスト転送頻度(単位時間あたりで処理可能なクライアントからのリクエスト数)をそれぞれ計測し、それらの計測結果と予め設定された転送頻度上限値とに基づき、該リクエストをサーバへ転送するか、またはクライアントに再送を指示することで、無駄な再送要求の発生を抑制すると共に、ユーザの不快な待ち時間の不要な発生を抑制することが記載されている。
特開2006−201970号公報
In order to deal with such a problem, for example, in Patent Document 1, a request from a client is held in a request queue, the request residence time, and the request transfer frequency (the number of requests from a client that can be processed per unit time). Are measured, and based on these measurement results and a preset transfer frequency upper limit value, the request is forwarded to the server, or the client is instructed to retransmit, thereby suppressing generation of useless retransmission requests. In addition, it is described that unnecessary generation of an unpleasant waiting time of the user is suppressed.
JP 2006-201970 A

上述したように従来の業務システムでは、クライアントのユーザは、予めサーバに設定された応答時間の上限値を超えるまで、サーバからの応答を待たなければならないという問題がある。特に、サーバが高負荷状態であると、クライアントのユーザはサーバからの応答を待たされるだけでなく、要求したオペレーションが実行されないこともある。したがって、より早い段階でクライアントに対して何らかの応答を返送する手段が望まれていた。   As described above, the conventional business system has a problem that the client user has to wait for a response from the server until the upper limit of the response time set in the server is exceeded. In particular, when the server is in a high load state, the client user may not only wait for a response from the server, but may not execute the requested operation. Therefore, a means for returning some response to the client at an earlier stage has been desired.

本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、クライアントからの実行要求に対して応答するまでの時間を短縮すると共に、クライアントからの再度の実行要求によってサーバの高負荷状態を招くことが無い業務システム及び実行要求管理方法を提供することを目的とする。   The present invention has been made in order to solve the above-described problems of the prior art, and shortens the time required to respond to an execution request from a client, and also executes an execution request from a client again. An object of the present invention is to provide a business system and an execution request management method that do not cause a high load state of the server.

上記目的を達成するため本発明の業務システムは、オペレーションの実行要求を送信するクライアントと、
前記実行要求を一時的に保管するためのキューを備え、前記キューから前記実行要求が出力されると、該実行要求が前記キューで保管されていた時間である最新のキュー滞留時間を計算して保持し、過去に実行したオペレーションの実行時間の最新の値を前記オペレーション毎に計算して保持し、前記クライアントからオペレーションの実行要求を受信すると、該実行要求に対応する過去に実行したオペレーションの実行時間と前記最新のキュー滞留時間とを加算して該実行要求によるオペレーションの実行時間の予測値を計算し、該予測値が、予め設定された前記クライアントに対する応答時間の上限値を超えるとき、前記オペレーションの実行要求を送信したクライアントに実行不可のエラーメッセージを含む応答を返送する、前記クライアントとネットワークを介して接続されたサーバと、
を有する。
To achieve the above object, the business system of the present invention includes a client that transmits an operation execution request,
A queue for temporarily storing the execution request, and when the execution request is output from the queue, a latest queue residence time that is a time during which the execution request has been stored in the queue is calculated. The latest value of the execution time of the operation executed in the past is calculated and held for each operation, and when an operation execution request is received from the client, the operation executed in the past corresponding to the execution request is executed. Calculate the predicted value of the execution time of the operation according to the execution request by adding the time and the latest queue residence time, and when the predicted value exceeds a preset upper limit value of the response time for the client, The client sends a response including an unexecutable error message to the client that sent the operation execution request. And a server connected through the ant and network,
Have

一方、本発明の実行要求管理方法は、クライアントから送信されるオペレーションの実行要求を管理するための実行要求管理方法であって、
前記実行要求を一時的に保管するためのキューから前記実行要求が出力されると、該実行要求が前記キューで保管されていた時間である最新のキュー滞留時間を計算して保持し、
過去に実行したオペレーションの実行時間の最新の値を前記オペレーション毎に計算して保持し、
前記クライアントからオペレーションの実行要求を受信すると、該実行要求に対応する過去に実行したオペレーションの実行時間と前記最新のキュー滞留時間とを加算して該実行要求によるオペレーションの実行時間の予測値を計算し、
該予測値が、予め設定された前記クライアントに対する応答時間の上限値を超えるとき、前記オペレーションの実行要求を送信したクライアントに実行不可のエラーメッセージを含む応答を返送する方法である。
On the other hand, the execution request management method of the present invention is an execution request management method for managing an execution request of an operation transmitted from a client,
When the execution request is output from the queue for temporarily storing the execution request, the latest queue residence time that is the time that the execution request has been stored in the queue is calculated and held,
Calculate and hold the latest value of the execution time of operations executed in the past for each operation,
When an operation execution request is received from the client, an estimated value of the operation execution time according to the execution request is calculated by adding the execution time of the operation executed in the past corresponding to the execution request and the latest queue residence time. And
When the predicted value exceeds a preset upper limit value of the response time for the client, a response including an unexecutable error message is returned to the client that has transmitted the operation execution request.

上記のような構成及び方法では、サーバによりオペレーションの実行要求を受信してからクライアントへ応答を返送するまでの実行時間を予測し、該実行時間の予測値が予め設定された応答時間の上限値を超える場合、サーバは要求されたオペレーションを実行することなくクライアントへ実行不可のエラーメッセージを含む応答を返送する。したがって、クライアントからの実行要求に対してサーバが応答するまでの時間が短縮される。そのため、クライアントのユーザは、サーバにオペレーションの実行要求を送信してから長時間応答を待つ必要が無くなり、不快な応答待ち時間のストレスから解放される。また、エラーメッセージを含む応答の受信後にクライアントがオペレーションの実行要求を再びサーバに送信しても、該実行要求の実行時間の予測値が上限値を超える場合、サーバは要求されたオペレーションを実行することなくクライアントへエラーメッセージを含む応答を再び返送する。よって、クライアントからの再度の実行要求によってサーバの処理負荷が増大することが無く、またリソースを無駄に使用することもない。   In the configuration and method as described above, the execution time from when the operation execution request is received by the server to when the response is returned to the client is predicted, and the predicted value of the execution time is set to a preset upper limit of the response time. Otherwise, the server returns a response containing an unexecutable error message to the client without performing the requested operation. Therefore, the time until the server responds to the execution request from the client is shortened. Therefore, the client user does not need to wait for a response for a long time after transmitting the operation execution request to the server, and is freed from unpleasant response waiting time stress. In addition, even if the client sends an operation execution request to the server again after receiving a response including an error message, the server executes the requested operation if the predicted execution time of the execution request exceeds the upper limit. Send back the response containing the error message to the client again. Therefore, the processing load on the server does not increase due to a re-execution request from the client, and resources are not wasted.

本発明によれば、クライアントからの実行要求に対してサーバが応答するまでの時間が短縮される。また、クライアントからの再度の実行要求によってサーバの高負荷状態を招くことが無い。   According to the present invention, the time until the server responds to the execution request from the client is shortened. In addition, a high execution state of the server is not caused by a re-execution request from the client.

次に本発明について図面を参照して説明する。   Next, the present invention will be described with reference to the drawings.

本発明の業務システムでは、サーバにより、オペレーションの実行要求を受信してからクライアントへ応答を返送するまでの時間を予測し、該実行時間の予測値が予め設定された応答時間の上限値を超える場合は、要求されたオペレーションを実行することなく要求元のクライアントへ実行不可のエラーメッセージを含む応答を返送する。このようにして、サーバが高負荷状態であってもクライアントのユーザが長時間応答を待たされることがない仕組みを提供する。   In the business system of the present invention, the server predicts the time from when the operation execution request is received until the response is returned to the client, and the predicted value of the execution time exceeds the preset upper limit of the response time. In this case, a response including an unexecutable error message is returned to the requesting client without executing the requested operation. In this way, a mechanism is provided in which the client user does not wait for a long time response even when the server is in a high load state.

図1は本発明の業務システムの一構成例を示すブロック図である。   FIG. 1 is a block diagram showing a configuration example of a business system of the present invention.

図1に示すように、本発明の業務システムは、業務システムを管理するサーバ80と、サーバ80とネットワークを介して接続され、サーバ80に各種のオペレーションの実行要求を送信する複数のクライアント10とを有する構成である。   As shown in FIG. 1, the business system of the present invention includes a server 80 that manages the business system, a plurality of clients 10 that are connected to the server 80 via a network, and that send execution requests for various operations to the server 80. It is the structure which has.

サーバ80は、キュー30、サーバアプリケーション40、キュー滞留時間監視部50、オペレーション実行時間監視部60及び実行時間予測部70を備えている。   The server 80 includes a queue 30, a server application 40, a queue residence time monitoring unit 50, an operation execution time monitoring unit 60, and an execution time prediction unit 70.

キュー30は、クライアント10から送信されたオペレーションの実行要求(リクエスト)を順次格納し、サーバアプリケーション40で空きプロセスが発生する度に、リクエストを受信した順にサーバアプリケーション40へ出力する。   The queue 30 sequentially stores execution requests (requests) transmitted from the client 10, and outputs the requests to the server application 40 in the order in which the requests are received each time a free process occurs in the server application 40.

サーバアプリケーション40は、キュー30から受け取ったリクエストにしたがってオペレーションを実行し、その処理結果を含む応答を要求元のクライアント10へ返送する。   The server application 40 executes the operation according to the request received from the queue 30 and returns a response including the processing result to the requesting client 10.

キュー滞留時間監視部50は、複数のクライアント10から送信されたリクエストのキュー滞留時間を監視する。キュー滞留時間監視部50は、リクエストを受信したオペレーション毎のキューイン時間と、最後にキュー30から出力されたリクエストがキュー30で保管されていた時間であるキュー滞留時間、すなわち最新のキュー滞留時間とをそれぞれ表形式で管理・保持する。キューイン時間の管理例を表1に示し、最新のキュー滞留時間の管理例を表2に示す。   The queue residence time monitoring unit 50 monitors the queue residence times of requests transmitted from the plurality of clients 10. The queue residence time monitoring unit 50 includes a queue-in time for each operation that has received a request, and a queue residence time that is the time that the request output from the queue 30 was last stored in the queue 30, that is, the latest queue residence time. Are managed and maintained in tabular form. A management example of the queue-in time is shown in Table 1, and a management example of the latest queue residence time is shown in Table 2.

Figure 2008210110
Figure 2008210110

Figure 2008210110
Figure 2008210110

キュー滞留時間監視部50は、表2を用いて管理している最新のキュー滞留時間を実行時間予測部70に通知する。また、キュー滞留時間監視部50は、リクエストのキュー滞留数を監視し(表1に示す例では「4」)、リクエストのキュー滞留数が「0」になったときは表2に示した最新のキュー滞留時間を「0」にリセットする。   The queue residence time monitoring unit 50 notifies the execution time prediction unit 70 of the latest queue residence time managed using Table 2. The queue retention time monitoring unit 50 monitors the number of queued requests (“4” in the example shown in Table 1), and when the number of queued requests remains “0”, the latest information shown in Table 2 is displayed. The queue retention time is reset to “0”.

オペレーション実行時間監視部60は、過去に実行したオペレーションの実行開始時刻、実行終了時刻及び実行時間をオペレーション毎に表形式で管理・保持する。各オペレーションの実行開始時刻、実行終了時刻及び実行時間は、同一オペレーションが実行される度に最新の値に更新される。オペレーション実行時間監視部60は、実行開始時刻及び実行終了時刻からオペレーション毎の実行時間を計算し、該計算結果を実行時間予測部70へ通知する。オペレーション毎の実行時間の管理例を表3に示す。   The operation execution time monitoring unit 60 manages and holds the execution start time, execution end time, and execution time of operations executed in the past in a table format for each operation. The execution start time, execution end time, and execution time of each operation are updated to the latest values every time the same operation is executed. The operation execution time monitoring unit 60 calculates an execution time for each operation from the execution start time and the execution end time, and notifies the execution time prediction unit 70 of the calculation result. Table 3 shows an example of managing the execution time for each operation.

Figure 2008210110
Figure 2008210110

実行時間予測部70は、キュー滞留時間監視部50から最新のキュー滞留時間を取得し、オペレーション実行時間監視部60から現在受信しているリクエストに対応するオペレーションの実行時間の最新の値を取得する。そして、それらの値を加算し、現在受信しているリクエストの実行時間の予測値である実行予測時間を計算する。また、実行時間予測部70は、現在受信しているリクエストの実行予測時間と予め設定された応答時間の上限値とを比較し、現在受信しているリクエストの実行予測時間が該上限値を超える場合は、該リクエストの送信元のクライアント10に対して実行不可のエラーメッセージを含む応答を返送する。   The execution time prediction unit 70 obtains the latest queue residence time from the queue residence time monitoring unit 50 and obtains the latest value of the operation execution time corresponding to the currently received request from the operation execution time monitoring unit 60. . Then, these values are added, and an execution prediction time that is a prediction value of the execution time of the currently received request is calculated. In addition, the execution time prediction unit 70 compares the execution prediction time of the currently received request with the preset upper limit value of the response time, and the execution prediction time of the currently received request exceeds the upper limit value. In this case, a response including an unexecutable error message is returned to the client 10 that sent the request.

サーバ80は、例えばコンピュータによって実現され、図2に示すように、プログラムにしたがって所定の処理を実行する処理装置1と、処理装置1に対してコマンドや情報等を入力するための入力装置2と、処理装置1の処理結果をモニタするための出力装置3とを備えている。   The server 80 is realized by, for example, a computer, and as illustrated in FIG. 2, a processing device 1 that executes predetermined processing according to a program, and an input device 2 that inputs commands and information to the processing device 1. And an output device 3 for monitoring the processing result of the processing device 1.

処理装置1は、CPU11と、CPU11の処理に必要な情報を一時的に記憶すると共にキュー30としても用いられる主記憶装置12と、CPU11に後述するサーバ80としての処理を実行させるためのプログラムが記録された記録媒体13と、上記表1〜表3で示したキューイン時間、最新のキュー滞留時間、各オペレーションの実行時間等の情報が格納されるデータ蓄積装置14と、主記憶装置12、記録媒体13及びデータ蓄積装置14とのデータ転送を制御するメモリ制御インタフェース部15と、入力装置2及び出力装置3とのインタフェース装置であるI/Oインタフェース部16と、クライアント10と情報を送受信するためのネットワークとのインタフェースである通信制御装置17とを有する構成である。CPU11と、メモリ制御インタフェース部15、I/Oインタフェース部16及び通信制御装置17とはバス18を介して接続されている。   The processing device 1 includes a CPU 11, a main storage device 12 that temporarily stores information necessary for the processing of the CPU 11 and also used as the queue 30, and a program for causing the CPU 11 to execute processing as a server 80 described later. A recorded recording medium 13, a data storage device 14 for storing information such as the queue-in time, the latest queue residence time, and the execution time of each operation shown in Tables 1 to 3, the main storage device 12, The memory control interface unit 15 that controls data transfer with the recording medium 13 and the data storage device 14, the I / O interface unit 16 that is an interface device with the input device 2 and the output device 3, and the client 10 transmit and receive information. And a communication control device 17 that is an interface with the network for this purpose. The CPU 11, the memory control interface unit 15, the I / O interface unit 16, and the communication control device 17 are connected via a bus 18.

処理装置1は、記録媒体13に記録されたプログラムにしたがってキュー滞留時間監視部50、オペレーション実行時間監視部60.実行時間予測部70及びサーバアプリケーション40の機能をそれぞれ実現する。記録媒体13は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。   The processing apparatus 1 includes a queue residence time monitoring unit 50, an operation execution time monitoring unit 60, and the like according to a program recorded on the recording medium 13. The functions of the execution time prediction unit 70 and the server application 40 are realized. The recording medium 13 may be a magnetic disk, a semiconductor memory, an optical disk, or other recording medium.

なお、サーバ80は、図1に示したキュー30、サーバアプリケーション40、キュー滞留時間監視部50、オペレーション実行時間監視部60及び実行時間予測部70を備え、業務システムを管理することが可能であれば、コンピュータに限定する必要はない。サーバ80は、例えばネットワークとのインタフェースである通信制御装置17に加えて、論理回路等から構成されるLSI(Large Scale Integration)やDSP(Digital Signal Processor)等の半導体集積回路装置及びメモリ等により、上記キュー滞留時間監視部50、オペレーション実行時間監視部60.実行時間予測部70及びサーバアプリケーション40の機能を実現する構成であってもよい。   The server 80 includes the queue 30, the server application 40, the queue residence time monitoring unit 50, the operation execution time monitoring unit 60, and the execution time prediction unit 70 shown in FIG. 1, and can manage the business system. For example, it need not be limited to computers. For example, in addition to the communication control device 17 that is an interface with a network, the server 80 includes a semiconductor integrated circuit device such as an LSI (Large Scale Integration) or a DSP (Digital Signal Processor) configured by a logic circuit, a memory, and the like. The queue residence time monitoring unit 50, the operation execution time monitoring unit 60. The structure which implement | achieves the function of the execution time estimation part 70 and the server application 40 may be sufficient.

クライアント10も、上記記録媒体13に格納されるプログラム及びデータ蓄積装置14に格納されるデータが異なることを除けば、図2に示したサーバ80と同様の構成で実現できる。   The client 10 can also be realized by the same configuration as the server 80 shown in FIG. 2 except that the program stored in the recording medium 13 and the data stored in the data storage device 14 are different.

次に本発明の業務システムの動作について図面を用いて説明する。   Next, the operation of the business system of the present invention will be described with reference to the drawings.

図3は図1に示した実行時間予測部の処理手順を示すフローチャートである。図4は図1に示したキュー滞留時間監視部の処理手順を示すフローチャートであり、図5は図1に示したオペレーション実行時間監視部の処理手順を示すフローチャートである。   FIG. 3 is a flowchart showing a processing procedure of the execution time prediction unit shown in FIG. 4 is a flowchart showing a processing procedure of the queue residence time monitoring unit shown in FIG. 1, and FIG. 5 is a flowchart showing a processing procedure of the operation execution time monitoring unit shown in FIG.

なお、サーバ80には、予めオペレータの操作によってクライアント10からのリクエストに対する応答時間の上限値が所定の記憶装置(例えば、図2に示したデータ蓄積装置14)に格納されているものとする。   In the server 80, it is assumed that the upper limit value of the response time for the request from the client 10 is stored in a predetermined storage device (for example, the data storage device 14 shown in FIG. 2) in advance by an operator's operation.

図3に示すように、サーバ80は、まず、実行時間予測部70により応答時間の上限値を所定の記憶装置から読み出す(ステップA1)。   As shown in FIG. 3, the server 80 first reads the upper limit value of the response time from the predetermined storage device by the execution time prediction unit 70 (step A1).

クライアント10から送信されたリクエストを受信すると(ステップA2)、実行時間予測部70は、キュー滞留時間監視部50から最新のキュー滞留時間を取得する(ステップA3)。   When the request transmitted from the client 10 is received (step A2), the execution time prediction unit 70 acquires the latest queue residence time from the queue residence time monitoring unit 50 (step A3).

図4に示すように、キュー滞留時間監視部50は、クライアント10からリクエストを受信し、該リクエストがキュー30に格納されると(ステップB1)、該リクエストの格納時刻(キューイン時間)を上記表1に記録する(ステップB2)。また、リクエストがキュー30から出力されると(ステップB3)、該リクエストの出力時刻(キューアウト時間)及び該当リクエストのキューイン時間からキュー滞留時間を計算し、上記表2に格納している最新のキュー滞留時間を更新する(ステップB4)。   As shown in FIG. 4, when the queue residence time monitoring unit 50 receives a request from the client 10 and stores the request in the queue 30 (step B1), the queue storage time (queue-in time) is set to the above-described time. Record in Table 1 (step B2). When a request is output from the queue 30 (step B3), the queue residence time is calculated from the output time (queue-out time) of the request and the queue-in time of the request, and the latest stored in Table 2 above. The queue residence time is updated (step B4).

次に、キュー滞留時間監視部50は、キューアウトしたリクエストの情報を上記表1から削除し(ステップB5)、表1で管理しているリクエストのキュー滞留数が「0」であるか否かを判定する(ステップB6)。キュー滞留数が「0」でない場合はステップB1の処理に戻って次のリクエストのキューインを待ち受ける。また、キュー滞留数が「0」である場合は、上記表2に格納している最新のキュー滞留時間を「0」にリセットし(ステップB7)、ステップB1の処理に戻って次のリクエストのキューインを待ち受ける。なお、キュー滞留時間は、図4に示した手順による方法だけでなく、全てのオペレーションの平均実行時間を計算し、その平均実行時間とキュー滞留数の積から計算することも可能である。   Next, the queue residence time monitoring unit 50 deletes the information of the queued request from the table 1 (step B5), and whether or not the queue residence number of the request managed in the table 1 is “0”. Is determined (step B6). If the queue retention number is not “0”, the process returns to step B1 to wait for the next request to be queued. If the queue retention number is “0”, the latest queue retention time stored in Table 2 is reset to “0” (step B7), and the process returns to step B1 to return to the next request. Wait for the queue. Note that the queue residence time is not limited to the method according to the procedure shown in FIG. 4, but can be calculated from the product of the average execution time and the number of queue residences by calculating the average execution time of all operations.

図3に示すように、実行時間予測部70は、ステップA3にてキュー滞留時間監視部50から最新のキュー滞留時間を取得すると、オペレーション実行時間監視部60から該当オペレーションの最新の実行時間を取得する(ステップA4)。   As shown in FIG. 3, when the execution time prediction unit 70 acquires the latest queue residence time from the queue residence time monitoring unit 50 in step A3, the execution time prediction unit 70 obtains the latest execution time of the operation from the operation execution time monitoring unit 60. (Step A4).

図5に示すように、オペレーション実行時間監視部60は、オペレーションが実行開始されると(ステップC1)、上記表3に格納された該当オペレーションの実行開始時刻を更新する(ステップC2)。   As shown in FIG. 5, when the operation is started (step C1), the operation execution time monitoring unit 60 updates the execution start time of the corresponding operation stored in Table 3 (step C2).

次に、オペレーション実行時間監視部60は、オペレーションが正常に終了したか否かを判定し(ステップC3)、オペレーションが正常に終了した場合は、上記表3に格納された該当オペレーションの実行終了時刻を更新する(ステップC4)。また、更新したオペレーションの実行開始時刻及び実行終了時刻から該当オペレーションの実行時間を計算し、上記表3に格納された該当オペレーションの実行時間を更新する(ステップC5)。実行時間の更新が終了すると、ステップC1の処理に戻ってオペレーションの実行開始を待ち受ける。ステップC3の処理にてオペレーションが正常に終了していない場合、オペレーション実行時間監視部60は、上記表3に格納した該当オペレーションのオペレーション実行開始時刻をクリアし(ステップC6)、ステップC1の処理に戻ってオペレーションの実行開始を待ち受ける。   Next, the operation execution time monitoring unit 60 determines whether or not the operation has ended normally (step C3). If the operation has ended normally, the execution end time of the corresponding operation stored in Table 3 above is determined. Is updated (step C4). Further, the execution time of the corresponding operation is calculated from the execution start time and execution end time of the updated operation, and the execution time of the corresponding operation stored in Table 3 is updated (step C5). When the update of the execution time is completed, the process returns to step C1 and waits for the start of operation execution. When the operation is not normally completed in the process of Step C3, the operation execution time monitoring unit 60 clears the operation execution start time of the corresponding operation stored in Table 3 (Step C6), and performs the process of Step C1. Return and wait for the operation to start.

図3に示すように、実行時間予測部70は、ステップA4にてオペレーション実行時間監視部60から該当オペレーションの最新の実行時間を取得すると、キュー滞留時間監視部50から取得したキュー滞留時間とオペレーション実行時間監視部60から取得したオペレーションの実行時間とを加算し、現在受信しているリクエストによるオペレーションの実行予測時間を計算する(ステップA5)。   As shown in FIG. 3, when the execution time prediction unit 70 acquires the latest execution time of the corresponding operation from the operation execution time monitoring unit 60 in step A4, the execution time prediction unit 70 acquires the queue residence time and the operation acquired from the queue residence time monitoring unit 50. The operation execution time acquired from the execution time monitoring unit 60 is added to calculate the operation execution prediction time for the currently received request (step A5).

次に、実行時間予測部70は、計算した実行予測時間とステップA1で読み出した応答時間の上限値とを比較し(ステップA6)、実行予測時間が上限値を超えない場合は現在受信しているリクエストをキュー30に格納する。該リクエストによるオペレーションは、所要のキュー滞留時間の経過後に実行される(ステップA7)。また、実行予測時間が上限値を超えている場合は、該リクエストの送信元のクライアント10へ実行不可のエラーメッセージを含む応答を返送する(ステップA8)。   Next, the execution time prediction unit 70 compares the calculated execution prediction time with the upper limit value of the response time read in step A1 (step A6). If the execution prediction time does not exceed the upper limit value, the execution time prediction unit 70 The request is stored in the queue 30. The operation according to the request is executed after the elapse of a required queue residence time (step A7). If the predicted execution time exceeds the upper limit value, a response including an unexecutable error message is returned to the client 10 that sent the request (step A8).

なお、サーバ80は、キュー滞留時間監視部50で計算したキュー滞留時間やオペレーション実行時間監視部60で計算したオペレーション毎の実行時間をクライアント10からの要求に応じて返送してもよい。その場合、クライアント10のユーザは、オペレーションの実行要求をサーバ80に送信する前にサーバ80の処理負荷を確認できるため、速やかに実行可能なオペレーションや所望のオペレーションの実行終了までに要する時間等を知ることができる。   The server 80 may return the queue residence time calculated by the queue residence time monitoring unit 50 or the execution time for each operation calculated by the operation execution time monitoring unit 60 in response to a request from the client 10. In this case, since the user of the client 10 can check the processing load of the server 80 before sending the operation execution request to the server 80, the time required for the operation that can be executed quickly, the end of execution of the desired operation, etc. I can know.

本発明の業務システムによれば、サーバ80によりオペレーションの実行要求を受信してからクライアント10へ応答を返送するまでの実行時間を予測し、該実行時間の予測値が予め設定された応答時間の上限値を超える場合、サーバ80は要求されたオペレーションを実行することなくクライアント10へ実行不可のエラーメッセージを含む応答を返送する。したがって、クライアント10からの実行要求に対してサーバ80が応答するまでの時間が短縮される。そのため、クライアント10のユーザは、サーバ80にオペレーションの実行要求を送信してから長時間応答を待つ必要が無くなり、不快な応答待ち時間のストレスから解放される。また、エラーメッセージを含む応答の受信後にクライアント10がオペレーションの実行要求を再びサーバ80に送信しても、該実行要求の実行時間の予測値が上限値を超える場合、サーバ80は要求されたオペレーションを実行することなくクライアント10へエラーメッセージを含む応答を再び返送する。よって、クライアント10からの再度の実行要求によってサーバ80の処理負荷が増大することが無く、またリソースを無駄に使用することもない。   According to the business system of the present invention, the execution time from when the operation execution request is received by the server 80 until the response is returned to the client 10 is predicted, and the predicted value of the execution time is set to a preset response time. When the upper limit value is exceeded, the server 80 returns a response including an unexecutable error message to the client 10 without executing the requested operation. Therefore, the time until the server 80 responds to the execution request from the client 10 is shortened. Therefore, the user of the client 10 does not have to wait for a response for a long time after transmitting an operation execution request to the server 80, and is freed from stress of unpleasant response waiting time. Further, even if the client 10 transmits an operation execution request again to the server 80 after receiving a response including an error message, if the predicted value of the execution time of the execution request exceeds the upper limit value, the server 80 requests the requested operation. The response including the error message is sent back to the client 10 again without executing. Therefore, the processing load on the server 80 does not increase due to a re-execution request from the client 10, and resources are not wasted.

本発明の業務システムの一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the business system of this invention. 図1に示したサーバの実現例を示すブロック図である。It is a block diagram which shows the implementation example of the server shown in FIG. 図1に示した実行時間予測部の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the execution time estimation part shown in FIG. 図1に示したキュー滞留時間監視部の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the queue residence time monitoring part shown in FIG. 図1に示したオペレーション実行時間監視部の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the operation execution time monitoring part shown in FIG.

符号の説明Explanation of symbols

1 処理装置
2 入力装置
3 出力装置
11 CPU
12 主記憶装置
13 記録媒体
14 データ蓄積装置
15 メモリ制御インタフェース部
16 I/Oインタフェース部
17 通信制御装置
18 バス
10 クライアント
30 キュー
40 サーバアプリケーション
50 キュー滞留時間監視部
60 オペレーション実行時間監視部
70 実行時間予測部
80 サーバ
1 Processing Device 2 Input Device 3 Output Device 11 CPU
12 main storage device 13 recording medium 14 data storage device 15 memory control interface unit 16 I / O interface unit 17 communication control unit 18 bus 10 client 30 queue 40 server application 50 queue residence time monitoring unit 60 operation execution time monitoring unit 70 execution time Prediction unit 80 server

Claims (4)

オペレーションの実行要求を送信するクライアントと、
前記実行要求を一時的に保管するためのキューを備え、前記キューから前記実行要求が出力されると、該実行要求が前記キューで保管されていた時間である最新のキュー滞留時間を計算して保持し、過去に実行したオペレーションの実行時間の最新の値を前記オペレーション毎に計算して保持し、前記クライアントからオペレーションの実行要求を受信すると、該実行要求に対応する過去に実行したオペレーションの実行時間と前記最新のキュー滞留時間とを加算して該実行要求によるオペレーションの実行時間の予測値を計算し、該予測値が、予め設定された前記クライアントに対する応答時間の上限値を超えるとき、前記オペレーションの実行要求を送信したクライアントに実行不可のエラーメッセージを含む応答を返送する、前記クライアントとネットワークを介して接続されたサーバと、
を有する業務システム。
A client sending an operation execution request;
A queue for temporarily storing the execution request, and when the execution request is output from the queue, a latest queue residence time that is a time during which the execution request has been stored in the queue is calculated. The latest value of the execution time of the operation executed in the past is calculated and held for each operation, and when an operation execution request is received from the client, the operation executed in the past corresponding to the execution request is executed. Calculate the predicted value of the execution time of the operation according to the execution request by adding the time and the latest queue residence time, and when the predicted value exceeds a preset upper limit value of the response time for the client, The client sends a response including an unexecutable error message to the client that sent the operation execution request. And a server connected through the ant and network,
Having a business system.
クライアントから送信されるオペレーションの実行要求を受信するサーバであって、
前記実行要求を一時的に保管するためのキューと、
前記キューから前記実行要求が出力されると、該実行要求が前記キューで保管されていた時間である最新のキュー滞留時間を計算して保持し、過去に実行したオペレーションの実行時間の最新の値を前記オペレーション毎に計算して保持し、前記クライアントからオペレーションの実行要求を受信すると、該実行要求に対応する過去に実行したオペレーションの実行時間と前記最新のキュー滞留時間とを加算して該実行要求によるオペレーションの実行時間の予測値を計算し、該予測値が、予め設定された前記クライアントに対する応答時間の上限値を超えるとき、前記オペレーションの実行要求を送信したクライアントに実行不可のエラーメッセージを含む応答を返送する処理装置と、
を有するサーバ。
A server that receives an operation execution request sent from a client;
A queue for temporarily storing the execution request;
When the execution request is output from the queue, the latest queue residence time, which is the time that the execution request has been stored in the queue, is calculated and held, and the latest value of the execution time of operations executed in the past Is calculated and held for each operation, and when an operation execution request is received from the client, the execution time of the operation executed in the past corresponding to the execution request and the latest queue residence time are added to perform the execution. A predicted value of the execution time of the operation according to the request is calculated, and when the predicted value exceeds a preset upper limit value of the response time for the client, an error message indicating that the operation is not executed is sent to the client that has transmitted the operation execution request. A processing device for returning a response including:
Server with.
クライアントから送信されるオペレーションの実行要求を管理するための実行要求管理方法であって、
前記実行要求を一時的に保管するためのキューから前記実行要求が出力されると、該実行要求が前記キューで保管されていた時間である最新のキュー滞留時間を計算して保持し、
過去に実行したオペレーションの実行時間の最新の値を前記オペレーション毎に計算して保持し、
前記クライアントからオペレーションの実行要求を受信すると、該実行要求に対応する過去に実行したオペレーションの実行時間と前記最新のキュー滞留時間とを加算して該実行要求によるオペレーションの実行時間の予測値を計算し、
該予測値が、予め設定された前記クライアントに対する応答時間の上限値を超えるとき、前記オペレーションの実行要求を送信したクライアントに実行不可のエラーメッセージを含む応答を返送する実行要求管理方法。
An execution request management method for managing an execution request of an operation transmitted from a client,
When the execution request is output from the queue for temporarily storing the execution request, the latest queue residence time that is the time that the execution request has been stored in the queue is calculated and held,
Calculate and hold the latest value of the execution time of operations executed in the past for each operation,
When an operation execution request is received from the client, an estimated value of the operation execution time according to the execution request is calculated by adding the execution time of the operation executed in the past corresponding to the execution request and the latest queue residence time. And
An execution request management method for returning a response including an unexecutable error message to a client that has transmitted the operation execution request when the predicted value exceeds a preset upper limit value of the response time for the client.
クライアントから送信されるオペレーションの実行要求を受信するコンピュータに実行させるためのプログラムであって、
前記実行要求を一時的に保管するためのキューから前記実行要求が出力されると、該実行要求が前記キューで保管されていた時間である最新のキュー滞留時間を計算して保持し、
過去に実行したオペレーションの実行時間の最新の値を前記オペレーション毎に計算して保持し、
前記クライアントからオペレーションの実行要求を受信すると、該実行要求に対応する過去に実行したオペレーションの実行時間と前記最新のキュー滞留時間とを加算して該実行要求によるオペレーションの実行時間の予測値を計算し、
該予測値が、予め設定された前記クライアントに対する応答時間の上限値を超えるとき、前記オペレーションの実行要求を送信したクライアントに実行不可のエラーメッセージを含む応答を返送する処理をコンピュータに実行させるためのプログラム。
A program for causing a computer to receive an operation execution request transmitted from a client,
When the execution request is output from the queue for temporarily storing the execution request, the latest queue residence time that is the time that the execution request has been stored in the queue is calculated and held,
Calculate and hold the latest value of the execution time of operations executed in the past for each operation,
When an operation execution request is received from the client, an estimated value of the operation execution time according to the execution request is calculated by adding the execution time of the operation executed in the past corresponding to the execution request and the latest queue residence time. And
When the predicted value exceeds a preset upper limit value of the response time for the client, the computer is caused to execute a process of returning a response including an unexecutable error message to the client that has transmitted the operation execution request. program.
JP2007045622A 2007-02-26 2007-02-26 Business system and its execution request management method Pending JP2008210110A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007045622A JP2008210110A (en) 2007-02-26 2007-02-26 Business system and its execution request management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007045622A JP2008210110A (en) 2007-02-26 2007-02-26 Business system and its execution request management method

Publications (1)

Publication Number Publication Date
JP2008210110A true JP2008210110A (en) 2008-09-11

Family

ID=39786361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007045622A Pending JP2008210110A (en) 2007-02-26 2007-02-26 Business system and its execution request management method

Country Status (1)

Country Link
JP (1) JP2008210110A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191682A (en) * 2009-02-18 2010-09-02 Toshiba Corp Apparatus, method and program for processing information controlling computing system
JP2013069283A (en) * 2011-09-20 2013-04-18 Toshiba Corp Document management device
KR101975880B1 (en) * 2017-11-30 2019-08-28 부경대학교 산학협력단 Real time collaborative editing method for memory saving

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191682A (en) * 2009-02-18 2010-09-02 Toshiba Corp Apparatus, method and program for processing information controlling computing system
JP2013069283A (en) * 2011-09-20 2013-04-18 Toshiba Corp Document management device
KR101975880B1 (en) * 2017-11-30 2019-08-28 부경대학교 산학협력단 Real time collaborative editing method for memory saving

Similar Documents

Publication Publication Date Title
US10819648B2 (en) Retry handling in messaging queues
KR20150001146A (en) Storage system and Operating method thereof
JP6129976B2 (en) Method and apparatus using high efficiency atomic operations
JP2005521945A (en) Optimal server in common work queue environment
JP2015156071A (en) Data storing method, data storage system, program and storage device
JP5891881B2 (en) Information processing apparatus and information processing program
CN111831503B (en) Monitoring method based on monitoring agent and monitoring agent device
CN115150464A (en) Application proxy method, device, equipment and medium
JP2008210110A (en) Business system and its execution request management method
JP4607999B2 (en) How to handle lock-related inconsistencies
JP2008124977A (en) Method, apparatus, and program of message delivery
US9367361B2 (en) Information processing device, method for processing information, and non-transitory computer-readable recording medium having stored therein information processing program
JP5884566B2 (en) Batch processing system, progress confirmation device, progress confirmation method, and program
US10616317B2 (en) Method and system for affinity load balancing
JP2017062540A (en) Uni-directional inter-operating-system communication system, and program
US20050265362A1 (en) Message relay program and message relay device
US9270742B2 (en) Computer system and control method of computer system
EP4066117B1 (en) Managing provenance information for data processing pipelines
JP2018041190A (en) Information processing device, control method and program
CN107632893A (en) Message queue processing method and processing device
US20080307190A1 (en) System and Method for Improved Virtual Real Memory
JP5445177B2 (en) Deterministic clock determination program and method, and node device
JP6226666B2 (en) Batch processing control program, batch processing system
US11941432B2 (en) Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program
US20230061892A1 (en) Non-transitory computer-readable medium, service management device, and service management method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100127